분류 전체보기
-
[Android] Android Stack 관리 / 확인하기Android 2020. 2. 16. 01:40
안드로이드 앱은 여러 개의 Activity로 관리된다. 오늘은 여러 개의 Activity를 관리/확인 하는 법에 대해 알아보자. # Activity Stack 여러 Activity 는 Stack 형태로 관리된다. OneActivity에서 TwoActivity를 부르면 위에 쌓이고, TwoActivity에서 ThreeActivity를 부르면 위에 쌓이고 모두 Stack 형태로 아래와 같이 만들어진다. 후입 선출 구조(LIFO)로 가장 나중에 들어온 (top)의 위치한다. 가장 top에 있는 액티비티에서 백버튼을 누르면 top 부터 pop 된다. # Activity Stack 확인하기 처음 시작되는 Activity를 OneActivity라고 가정해보자. OneActivity -> TwoActivity -> ..
-
[Kotlin]FoldRight && FoldKotlin 2019. 12. 27. 00:37
Kotlin의 FoldRight와 Fold 함수에 대하여 알아보자. 위 두 함수는 모두 Collection이나 List에서 사용이 가능하다. # FoldRight 사용 예제를 알아보기 앞서 FoldRight 원형을 살펴보자. 주석에 아주 친절하게 나와 있다. initial로 선언한 초기값에서 시작하며 operation을 적용하는데, 오른쪽에서 -> 왼쪽으로 진행된다는 뜻이다. //FoldRight val list = listOf(1, 2, 3, 4, 5) val sumTotal = list.foldRight(list.first(), { next, total -> println("next $next total $total") next + total }) println("sumTotal $sumTotal")..
-
[Review]나는 LINE 개발자입니다.카테고리 없음 2019. 12. 13. 00:25
프로그래밍 언어 관련된 책이나 알고리즘 관련된 CS 지식에 관한 글이 아니라 이러한 개발자들의 문화와 삶에 관련된 책을 읽고 싶다는 생각을 최근에 하게 되었다. 그래서 본 책을 읽게 되기에 앞서 기대가 앞섰다. # 목차 [ 1부 라인 개발자의 일상] - 자유와 책임, 그리고 라인 (노승헌) - 매일이 새로운 20년 차 개발자 (김영환) - 글로벌로 출근하는 라인 개발자 (김택주) [ 2부 개발자가 되는 법 ] - ‘문송’하지 않은 철학도의 개발 이야기 (김정엽) - 주니어 개발자의 성장기 + 개발 공부 팁 (하태호) - 내가 미리 알았으면 좋았을 개발 생활 팁 (강윤신) [ 3부 라인에서 새로운 도약을 꿈꾸는 사람들 ] - 블록체인 최고 테크니컬 디렉터의 선택 (이홍규) - 라인 개발자가 된 세계적 화이..
-
[Review]다이내믹 프로그래밍 완전 정복(한빛 미디어)Review 2019. 11. 11. 00:20
알고리즘을 풀 때 늘 고민을 많이 하게 되는 문제는 DP, 즉 다이내믹 프로그래밍에 관련된 문제이다. 상향식(bottom-up)과 하양식(top-down) 중에 어떤 식으로 문제를 풀어야 하는지에 대하여 고민을 갖고 있을 때 좋은 기회로 한빛 미디어의 '리뷰어'라는 기회로 해당 책을 읽어보게 되었다. # 목차 [PART 1 재귀 호출의 모든 것] CHAPTER 01 재귀 호출의 이해 CHAPTER 02 재귀 호출의 특징과 메모 전략 [PART 2 드디어 다이내믹 프로그래밍] CHAPTER 03 다이내믹 프로그래밍의 이해 CHAPTER 04 다이내믹 프로그래밍 적용 전략 [PART 3 지금부터 게임을 시작하지] CHAPTER 05 실전 문제 [PART 4 부록은 덤이다] APPENDIX A 알고리즘의 효율..
-
[Kotlin] Reference and ReflectionKotlin 2019. 10. 22. 00:05
필자는 Method Reference에 관하여 종종 많이 접할 수 있다. 안드로이드 스튜디오에서도 객체에 접근하기 위하여 객체::변수명, 객체::함수명 이런식으로 접근하는 걸 볼 수 있다. 오늘은 Reference가 무엇인지 살펴보자. Property references class Person(val name: String, var age: Int) { fun present() = "I'm $name, and I'm $age years old" fun greet(other: String) = "Hi, $other, I'm $name" } fun main() { val reference = Person::name //methodReference println("reference $reference") va..
-
Kotlin in Action - LamdaKotlin 2019. 9. 24. 00:37
본 내용은 Kotlin in Action 책을 읽고 공부한 내용을 정리하는 포스팅입니다. 여러 Collection을 다루는 함수를 알아두면 원하는 data에 쉽게 접근할 수 있습니다. Filter : 컬렉션 함수를 이터레이션 하면서 주어진 람다에 각 원소를 넘겨 True를 반환하는 원소만 모은다. val list = listof(1,2,3,4) println(list.filter{it %2 ==0}) //[2,4] 결과는 컬렉션 원소 중에 Boolean값을 반환하는 Predicate로 , true의 조건을 만족하는 원소만으로 이뤄진 새로운 컬렉션이다. Map : 컬렉션의 원소에 주어진 람다를 적용하여 새 컬렉션을 만든다. val list = listof(1,2,3,4) println(list.map{it..
-
[Review]모던 자바 인 액션 (한빛 미디어)Review 2019. 9. 15. 17:42
JAVA 버전이 업그레이드되고 있다. 그중에서도 JAVA8에서의 변화가 가장 크게 와 닿는다고 한다. 이 책은 그중에서도 변화된 JAVA의 내용 중 람다, 스트림 , FP에 대하여 자세히 다루고 있다. 나는 평소에 Kotlin과 Rx에 관심이 있다. 업그레이드되는 JAVA 버전이 내가 관심 있어하는 다른 언어들과 같은 방향으로 진화하고 있다고 느껴졌다. 이 책은 Functional Programming을 효과적으로 이해하고 사용할 수 있게 알려주는 책이 아닐까 하며 책을 읽게 되었다. # 목차 [ PART I 기초 ] CHAPTER 1 자바 8, 9, 10, 11 : 무슨 일이 일어나고 있는가? CHAPTER 2 동작 파라미터화 코드 전달하기 CHAPTER 3 람다 표현식 [ PART II 함수형 데이터..
-
[Git] Remote Branch UpdateGit 2019. 8. 18. 20:12
Why is need it? 여러 명이 한 Repo에서 작업하기 위해 Branch를 생성하고, remote에서 push 하고, 나중에 삭제할 때 삭제한 branch가 sourceTree에 반영이 안 되어 있으면 보기에 아름답지가 않고 그렇다고 Remote에서 일일히 Branch를 삭제하는 것은 귀찮다.. So What? 고러하여 이러한 경우를 간단히 해결 할 명령어가 있다. 나 같은 경우는 소스트리에서 원하는 Repo에서 오른쪽 클릭 > 터미널 열기 > $git remote prune origin 그리고 맥북 터미널에서 위 명령어를 입력한다. 이렇게 하면 Source Tree에도 아름답게 원격 Branch들이 업데이트되어있다.