본문 바로가기

Programming

(7)
[번역] 백그라운드에서 액티비티 시작을 제한합니다. (Restrictions on starting activities from the background) 안드로이드10을 대응하면서 숙지해야 하는 사항 중 하나인 백그라운드 제한에 관한 문서를 번역했습니다. 오역 및 의역이 있을 수 있으며 발견하신 오역이 있으시면 댓글로 남겨주시면 반영하여 수정하겠습니다. 원본글 : https://developer.android.com/guide/components/activities/background-starts Restrictions on starting activities from the background Android 10 (API level 29) and higher place restrictions on when apps can start activities when the app is running in the background. These restrict..
[Android/Kotlin] isNotEmpty(), isNotBlank(), isNullOrEmpty(), isNullOrBlank() 차이점 isNotEmpty(), isNotBlank(), isNullOrEmpty(), isNullOrBlank()차이점 코틀린을 사용하면서 뜻이 헷갈려 매번 되짚으면서 생각하게 되는 것들을 정리해보았다.😵 테스트에 사용한 string 예시들 val emptyString = "" val blankString1 = " " val blankString2 = " \n" val withBlankString = " hi" val nullString: String? = null val normalString = "normal" isEmpty CharSequence가 아무 값도 포함하고 있지 않을 때 true를 리턴한다. emptyString.isEmpty() : true blankString1.isEmpty() : fal..
[번역] 'var' on function parameter is not allowed - Kotlin에서 함수 파라미터로 var을 허용하지 않는 이유 * 코틀린 공식 블로그 사이트에서 발췌 및 번역하였습니다. Parameters는 Immutable하다. mutable parameter 지원을 제거하기로 한 이유는 다음과 같다. 가장 주된 이유로는 혼란을 일으키기 때문이다. 우리는 지원하지 않지만 (런타임에서 소모가 크다) 사람들이 파라미터가 참조값으로서 전달된다고 생각했기 때문이다. 또 사람들이 혼란스러워했던 이유는 primary constructors에 있다. 생성자 선언(Constructor declatration)에서의 val이나 var은 function 선언에서의 ‘val’이나 ‘var’과 다르다. (즉, 생성자 선언은 property를 생성한다.) 더불어, 모두 알다시피 파마리터 값을 수정이 가능하게(mutable로) 사용하는 것은 좋은 코드..
안드로이드 APK 파일 이름 설정하기 안드로이드 APK 파일 이름 설정하기 다른 포지션의 팀원들과 효율적인 APK 공유를 위한 네이밍하기 다른 사람들과 협업을 하면서 내가 가장 중요하게 생각하는 것은 '소통 비용(Communication Cost)'를 얼마나 줄일 수 있는가이다. 그렇기 때문에 개발 환경을 다른 팀과 협업하기 좋을 상태로 세팅 하는 것을 정말 좋아한다. 소소한 것부터...! 해외 출시 프로젝트를 한국계 한국인인 내가 혼자... 쓸쓸히... 진행하면서 편리하게 이용했던 소소한 설정에 관해서 작성하고자 한다. 그 중에 오늘은 다른 팀과의 협업을 위해 설정을 해두면 아주아주 좋은 APK 파일 이름 설정에 관한 포스팅이다. (분명 나중에 프로젝트 할 때 또 '아.. 그거 어떻게 했었지' 하면서 구글링 할 게 분명...) apk 파일..
Builder Pattern 사용하기 (Kotlin/Java) 💭 서론 (a.k.a. 사담) 드디어 내가 다시 '코틀린 개발자'라는 타이틀을 되찾았다 😭 자바에서 다시 코틀린으로 돌아오기까지 너무 오래 걸렸다... 그래서 잊어버린 게 너무나도 많기 때문에 이걸 올려? 싶은 것도 올릴 것이다. 😤 😤 😤 😤 Builder Pattern이란? 참조를 할 책이 없으므로 당당하게 위키 백과를 첨부해 본다. 빌더 패턴 - 위키백과, 우리 모두의 백과사전 Builder Pattern을 사용하는 이유와 예 Builder Pattern은 주로 파라미터에 많은 값을 넘겨줘야 할 경우(가독성이 떨어짐)나 필수가 아닌 값들을 선택해서 초기화 해줘야 할 경우 유용하게 사용한다. 안드로이드 프로그래밍에서 Builder Pattern은 다이얼로그를 구현할 때 많이 사용한다. 예를 들어 팝업..
Glide 여러 작업 원하는 순서대로 apply() 하기 - Glide의 MultiTransformation (부제 : 아니 CenterCrop을 하고 Radius 적용해 달라고!!!!!) 슬픈 서론... 나 : 글라이드 최고최고! 옵션만 주면 알아서 모서리 깎아줌 ㅋ QA : 결함 - 어떤 이미지 뷰는 라운드 처리 되었으나 또 어떤 이미지 뷰는 라운드 처리 되지 않음. 나 : 아니, 절대 그럴 리가 없어. QA : (사진 첨부) 나 : 사람은 누구나 실수를 하지. 🙂 며칠 전 QA 결과를 보고 이런 자잘한 실수를 했을 리가 없다고 현실 부정을 했지만 캡쳐본에는... 어떤 것은 덜 깎여있고, 어떤 것은 안 깎여있는 그런 이미지가 바인딩 되어 있었다. ImageView의 scaleType을 정확하게 줬다고!!!!! 진짜로!!!!!😫 라고 하지 말고 제대로 살펴보자. 재현 되었던 환경 나는 해당 ImageView ..
fork 뜬 jekyll-github page 블로그 Jekyll 로컬 환경 세팅하기 이 글은 나중에 또 랩탑을 싹 밀고 새로 세팅하고 싶어질 변덕스러운 미래의 나에게 바치는 헌정글이다. OS : MacOS Mojave 10.14.4 사용한 Tool : Terminal 깃허브 페이지 블로그를 세팅하면서 많이 마주쳤던 이야기는 '포크만 떠서 환경설정만 바꿔 주면 아주 편해요.'였다. 포크 떠서 원샷원킬로 블로그를 포스팅할 사람들에게는 아주 적합한 조언이다. 하지만 나처럼 기분에 따라 테마를 마음껏 바꾸고 그때그때 글이 실제 페이지에서 어떻게 보일지 확인하고 싶은 사람이라면...? 커밋과 푸시를 수시로 해서 블로그가 퍼블리싱 될 때마다 확인을 해줘야 한다. 그렇기 때문에 우리는 로컬호스트에서 꼭 확인할 수있도록 환경 설정을 할 필요가 있다. 일단 포크는 떠서 _config.yml까지는 설정이..