리팩토링 2판 with Swift - 리팩토링 첫 번째 예시
개요 이번 글에서는 마틴 파울러의 리팩터링 2판을 바탕으로, 실제 코드 예제를 통해 리팩터링의 과정과 그 중요성을 살펴보겠습니다. 이 책은 JavaScript를 사용한 예제를 다루고 있지만, 여기서는 Swift를 사용하여 같은 예제를 다루겠습니다. 리팩터링이란? 리팩터링은 기존의 코드 동작은 변경하지 않으면서 내부 구조를 개선하는 과정입니다. ...
개요 이번 글에서는 마틴 파울러의 리팩터링 2판을 바탕으로, 실제 코드 예제를 통해 리팩터링의 과정과 그 중요성을 살펴보겠습니다. 이 책은 JavaScript를 사용한 예제를 다루고 있지만, 여기서는 Swift를 사용하여 같은 예제를 다루겠습니다. 리팩터링이란? 리팩터링은 기존의 코드 동작은 변경하지 않으면서 내부 구조를 개선하는 과정입니다. ...
개요 이 글에서는 Flutter의 렌더링 파이프라인에 대해 알아보았습니다. flutter-internals 블로그의 내용을 참고하여 작성하였습니다. Flutter의 구조와 작동 원리 Flutter는 다음과 같은 세 가지 주요 레이어로 구성되어 있습니다. Flutter 엔진: 낮은 수준의 렌더링과 플랫폼 간 인터페이스를 처리합니다...
개요 이 글에서는 Flutter가 어떻게 위젯 상태를 관리하고, 업데이트하며, 효율적으로 렌더링 하는지에 대해 알아보았습니다. 위젯의 생명주기 플러터 위젯의 종류 플러터 위젯은 크게 두 가지 종류로 나뉩니다. 하나는 상태가 변하는 StatefulWidget, 나머지 하나는 상태가 변하지 않는 StatelessWidget입니다. State란 ...
개요 면접에서 자주 물어보는 질문 중 하나인 Class와 Struct의 차이점에 대해 딥다이브 해봤습니다. Class와 Struct의 차이 타입 Class는 참조 타입이고, Struct는 값 타입입니다. 클래스는 참조 타입이기 때문에 인스턴스를 변수나 상수에 할당하거나 함수에 전...
개요 UIKit 환경에서 코드 베이스로 작업하려고 하다 궁금해서 찾아본 내용을 정리해봤습니다. UIScene, UIWindowScene, UIWindow func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.Conne...
개요 Pins 프로젝트에서 맵 어노테이션을 사용하면서 클러스터링을 구현해야 했는데, 이 과정에서 겪었던 문제와 해결 방법을 공유하려합니다. 문제 맵 어노테이션을 사용하면서 클러스터링을 구현하면서 겪었던 문제는 다음과 같습니다. 한 번 게시물을 클릭한 후 다시 맵으로 돌아오면 정상적으로 클러스터링이 되지 않는 문제가 있었습니다. 원인 기존...
들어가기에 앞서 해당 글은 Unit Testing for Code Performance 글을 번역한 글입니다. 최근 프로젝트에 유닛 테스트를 추가하면서, 관련 자료를 찾아보던 중 흥미로운 글을 발견하여 번역하게 되었습니다. 코드 성능을 위한 유닛 테스트 작성법 코드 성능을 테스트하기 위해 유닛 테스트를 작성하는 것이 가능하다는 것을 알고 계신가...
들어가기에 앞서 해당 글은 The importance of ‘final’ for security 글을 번역한 글입니다. 흥미로운 내용이 포함되어 있는 것 같아서 번역하게 되었습니다. 보안을 위한 final 키워드의 중요성 Swift에서 class나 actor을 만들 때, 만약 어떤 함수도 override하지 않기를 의도한다면 final 키워드를...
들어가기에 앞서 해당 글은 Concurrency and Multithreading in Swift iOS Development 글을 번역한 글입니다. 추가로 예제 코드를 작성하고, 저만의 생각을 덧붙였습니다. 개요 빠르게 변화하는 iOS 개발 환경에서, 매끄러운 유저 경험을 제공하기 위해 반응적이고 성능이 좋은 어플리케이션을 만드는 것은 중요합...
Accessibility An accessible app or game supports accessibility personalizations by design and helps everyone have a great experience, regardless of their capabilities or how they use their devi...