전체 글
-
[WWDC2022] Discover PhotoKit change history앱등이에게 살충제를 뿌린다./Apple Dev Reference 2022. 8. 8. 02:34
https://developer.apple.com/videos/play/wwdc2022/10132/ Discover PhotoKit change history - WWDC22 - Videos - Apple Developer PhotoKit can help you build rich, photo-centric features. Learn how you can easily track changes to image assets with the latest APIs in... developer.apple.com Asset들의 변경사항을 최신화하기 위해 Photo Library의 변경사항을 자주 체크해주어야 한다. 이 때 Asset이 많다면 굉장한 비용을 소모하게 된다. 이러한 검사를 Asset마다 일일이 하지 ..
-
[WWDC2022] Embrace Swift Generic앱등이에게 살충제를 뿌린다./Apple Dev Reference 2022. 8. 8. 01:33
https://developer.apple.com/videos/play/wwdc2022/110352/ Embrace Swift generics - WWDC22 - Videos - Apple Developer Generics are a fundamental tool for writing abstract code in Swift. Learn how you can identify opportunities for abstraction as your code... developer.apple.com Swift의 추상화에 대한 이야기로 시작 - overload로 인한 보일러플레이트 발생, class사용 등 Parametric polymorphism // 아래 세가지 선언은 완전히 동일하다. // As-is func..
-
-
[Diary] 히가시노 게이고의 '블랙 쇼맨과 이름 없는 마을의 살인'을 읽고무념무상일상/히가시노 게이고 2022. 7. 10. 23:31
주인공: 가미오 다케시, 가미오 마요 라스베가스에서 펼쳐지는 마술공연을 묘사하며 소설이 시작된다. 마술사 '사무라이 젠'은 바로 가미오 다케시. 호전적인 다케시는 갈릴레오 시리즈에 나오는 유가와와 캐릭터가 비슷한 느낌이 든다. 전직 마술사답게 중간중간 눈속임을 사용한다. 상대방의 휴대폰을 몰래 사용한다거나.. 그 모든 트릭을 일일이 설명해주진 않는다. 나 역시 일반 관중들처럼 그 트릭이 궁금하긴하다 ㅋ 가끔 내뱉는 다케시의 말이 진실인지 지어낸 말인지 구분이 안될 때가 있어서 두 세번 읽어야 하는 경우도 있었다. 도라에몽 캐릭터 이름도 등장하는데 번역이 되지 않고 일본 캐릭터명을 그대로 사용한다. 타케시(퉁퉁이), 스네오(비실이), 노비타(진구), 시즈카(이슬이).. 한국 캐릭터 이름으로 번역했으면 좀 ..
-
Lock, thread safe in Swift앱등이에게 살충제를 뿌린다./iOS 2022. 5. 24. 01:12
Originated from: https://swiftrocks.com/thread-safety-in-swift Thread Safety in Swift Concurrency is the entry point for the most complicated and bizarre bugs a programmer will ever experience. In this article, I'll share my favorite methods of ensuring thread-safety, as well as analyzing the performance of the different mechanisms. swiftrocks.com Thread Safety in Swift Concurrency는 많은 개발자들이 겪는 ..
-
Ch7. 함께 모으기코딩은 주댕이로/객체지향의 사실과 오해 2022. 4. 4. 20:34
마틴 파울러는 객체지향 설계 안에 존재하는 세 가지 상호 연관된 관점에 대해 설명한다. 개념 관점, 명세 관점, 구현 관점 개념 관점: 사용자가 도메인을 바라보는 관점을 반영한다. 실제 도메인의 규칙과 제약을 최대한 유사하게 반영하는 것이 핵심 명세 관점: 프로그래머는 객체가 협력을 위해 ‘무엇'을 할 수 있는가에 초점을 맞춘다. 구현 관점: 객체들이 책임을 수행하는 데 필요한 동작하는 코드를 작성하는 것. 책임을 ‘어떻게' 수행할 것인가에 초점 개념 관점, 명세 관점, 구현 관점은 동일한 클래스를 세 가지 다른 방향에서 바라보는 것을 의미한다. 클래스는 세 가지 관점을 모두 수용할 수 있도록 개념, 인터페이스, 구현을 함께 드러내야 한다. 동시에 코드 안에서 세 가지 관점을 쉽게 식별할 수 있도록 깔끔..
-
Ch6. 객체 지도코딩은 주댕이로/객체지향의 사실과 오해 2022. 3. 9. 01:08
유일하게 변하지 않는 것은 모든 것이 변한다는 사실뿐이다. 여행 중에 길을 모르면 지나가는 사람에게 묻는다. (길을 찾는 기능을 통해 해결) 지도를 보고 찾아간다. (길을 찾아주는 구체적 기능이 아닌 길을 찾을 수 있는 구조를 통해 해결) 여기까진 뭐지..? 했음 기능 설계 대 구조 설계 기능 측면의 설계는 제품이 사용자를 위해 무엇을 할 수 있는지에 초점을 맞춘다. 구조 측면의 설계는 제품의 형태가 어떠해야 하는지에 초점을 맞춘다. 성공적인 소프트웨어들이 지닌 공통적인 특징은 훌륭한 기능을 제공하는 동시에 사용자가 원하는 새로운 기능을 빠르고 안정적으로 추가할 수 있다는 것이다. 미래에 대비하는 가장 좋은 방법은 변경을 예측하는 것이 아니라 변경을 수용할 수 있는 선택의 여지를 설계에 마련해 놓는 것이..
-
Ch5. 책임과 메시지코딩은 주댕이로/객체지향의 사실과 오해 2022. 3. 9. 01:08
자율적인 책임 자율적인 객체란 스스로의 의지와 판단에 따라 각자 맡은 책임을 수행하는 객체 외부의 간섭을 받아선 안된다. 자신의 의지에 따라 증언할 수 있는 자유 객체가 책임을 자율적으로 수행하려면 책임이 자율적이어야 한다. → 책임이 자율적? 뭔소리? 자율적인 책임 증언하라 상세한 수준의 책임 목격했던 장면을 떠올려라 (난 기억력이 안좋아서 메모를 하는 타입인데..?) 시간의 순서대로 재구성하라 (순서를 편집할 수 없음) 말로 간결하게 표현하라 (난 말솜씨가 안좋아서 서류로 제출하고 싶은데?) → 자유의 범위를 지나치게 제한하고 있다. 증언이라는 책임을 수행하는데 왕의 명령에 지나치게 의존적이다. 너무 추상적인 책임 너무 구체적인 것도 문제지만 너무 추상적인 것 역시 문제다. ‘증언하라’가 아닌 ‘설명..