반응형

2018/10 3

[Swift] Memoization

함수형 프로그래밍에서는 캐싱을 어떻게 구현할까? 클래스 내부에 캐시를 두면 결국 상태값을 클래스에 보관하는 것이 아닐까? 함수안에 변수를 쌓아둘 수는 없을까? 함수형 프로그래밍을 접하게 되면 위와 같은 고민을 자연스럽게 하게 될 것이다. '함수형 사고' 책 4장에는 이러한 고민을 덜어줄 기법이 나온다. 바로 '메모이제이션'이라는 기법이다. 도널드 미치의 Memo functions and machine learning 논문에서 처음 등장했다고 한다. 메모이제이션은 함수 레벨에서 캐싱을 할 수 있도록 도와준다. 그루비에서는 memoize()라는 함수를 제공한다. someFunction.memoize() 와 같이 호출할 수 있다. 이렇게 되면 클래스 내부에 캐시를 가지고 있지 않더라도 캐시와 동일한 기능을 구..

Programming 2018.10.12

[iOS] High Performance Auto Layout

https://developer.apple.com/videos/play/wwdc2018/220/ Don't churnInstruments로 Layout performance 확인하는 방법이 생길 예정임 (beta)1. 모든 constraints를 제거하는 것을 피하자2. static constraints는 한번만 추가하자3. 변경해야할 constraints를 교체해주자4. view를 제거하기 보다 hide 시키는 것이 좋다 영상에서 나왔던 예제 관련한 코드를 직접 작성해보는 것도 좋을 것 같다. fps의 차이가 얼마나 나는지 비교해보는 것도 좋겠다.코드가 더 간결해지는지도 확인해보자. Intrinsic Content SizeUIView.noIntrinsicMetricnoIntrinsicMetric을 어느..

Programming 2018.10.08

프로그래밍 공부할 것들

프로그래밍 공부를 시작한 친구를 위해 자료를 조금 정리해봤다. 내가 공부한 것도 있고, 좋다고 얘기만 들은 것도 있다. 적고보니 공부해야할 것들이 엄청 많다는 것을 느꼈다. 실무에서 눈에 보이게 사용되는 것 뿐 아니라 이러한 기반 지식을 알 때 전체적인 구조를 보는 프로그래머가 될 수 있을 듯 하다. 공부하면서 꾸준히 업데이트 해봐야겠다. Coding Interview University (한국어)CS 기초 지식이 없었던 저자가 구글을 목표로 두고 공부했던 것을 정리했다. 공부를 했던 동기가 확실했던 터라 집중적으로 공부했을 것이다. 저자는 많은 책을 읽었지만 실력을 쌓기 위해서는 몇가지 책을 제대로 공부하는 것이 더 중요하다고 말한다. 실제로 글을 보면 시간이 부족할 때, 시간이 많을 때로 나눠서 설명..

Programming 2018.10.06
반응형