
<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://mojitobar.github.io/</id><title>MojitoBar</title><subtitle>iOS 개발을 하는 개발자입니다. iOS 개발을 하면서 느낀 점들을 공유하고자 합니다.</subtitle> <updated>2024-07-14T19:25:18+09:00</updated> <author> <name>judongseok</name> <uri>https://mojitobar.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://mojitobar.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="ko-KR" href="https://mojitobar.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.3.3">Jekyll</generator> <rights> © 2024 judongseok </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>리팩토링 2판 with Swift - 리팩토링 첫 번째 예시</title><link href="https://mojitobar.github.io/posts/refactoring-swift-01/" rel="alternate" type="text/html" title="리팩토링 2판 with Swift - 리팩토링 첫 번째 예시" /><published>2024-07-14T18:51:00+09:00</published> <updated>2024-07-14T18:51:00+09:00</updated> <id>https://mojitobar.github.io/posts/refactoring-swift-01/</id> <content src="https://mojitobar.github.io/posts/refactoring-swift-01/" /> <author> <name>mojitobar</name> </author> <category term="Swift" /> <category term="Refactoring" /> <summary> 개요 이번 글에서는 마틴 파울러의 리팩터링 2판을 바탕으로, 실제 코드 예제를 통해 리팩터링의 과정과 그 중요성을 살펴보겠습니다. 이 책은 JavaScript를 사용한 예제를 다루고 있지만, 여기서는 Swift를 사용하여 같은 예제를 다루겠습니다. 리팩터링이란? 리팩터링은 기존의 코드 동작은 변경하지 않으면서 내부 구조를 개선하는 과정입니다. 이는 코드의 가독성을 높이고, 유지보수를 쉽게 만들며, 확장성을 향상시키는 데 목적이 있습니다. 마틴 파울러는 좋은 코드를 가늠하는 확실한 방법은 ‘얼마나 수정하기 쉬운가‘다. 라고 말합니다. 이는 리팩터링의 핵심을 잘 설명하고 있습니다. 리팩터링을 통해 우리는 다음과 같은 이점을 얻을 수 있습니다. 코드의 구조를 개선하여 이해하기 쉽게... </summary> </entry> <entry><title>Flutter Rendering Pipeline</title><link href="https://mojitobar.github.io/posts/flutter-rendering-pipeline/" rel="alternate" type="text/html" title="Flutter Rendering Pipeline" /><published>2024-06-29T21:55:00+09:00</published> <updated>2024-06-29T21:55:00+09:00</updated> <id>https://mojitobar.github.io/posts/flutter-rendering-pipeline/</id> <content src="https://mojitobar.github.io/posts/flutter-rendering-pipeline/" /> <author> <name>mojitobar</name> </author> <category term="Flutter" /> <category term="Dart" /> <summary> 개요 이 글에서는 Flutter의 렌더링 파이프라인에 대해 알아보았습니다. flutter-internals 블로그의 내용을 참고하여 작성하였습니다. Flutter의 구조와 작동 원리 Flutter는 다음과 같은 세 가지 주요 레이어로 구성되어 있습니다. Flutter 엔진: 낮은 수준의 렌더링과 플랫폼 간 인터페이스를 처리합니다. Skia라는 2D그래픽 라이브러리를 사용하여 그래픽을 그립니다. Flutter 프레임워크: Dart 언어로 작성된 고수준의 위젯 및 라이브러리 모음입니다. UI를 구축하기 위한 다양한 위젯들을 제공합니다. 임베더 (Embedder): 특정 플랫폼(예: iOS, Android, 웹)에서 Flutter 애플리케이션을 실행... </summary> </entry> <entry><title>Flutter widget lifecycle</title><link href="https://mojitobar.github.io/posts/flutter-widget-lifecycle-copy/" rel="alternate" type="text/html" title="Flutter widget lifecycle" /><published>2024-06-23T18:42:00+09:00</published> <updated>2024-06-23T18:42:00+09:00</updated> <id>https://mojitobar.github.io/posts/flutter-widget-lifecycle-copy/</id> <content src="https://mojitobar.github.io/posts/flutter-widget-lifecycle-copy/" /> <author> <name>mojitobar</name> </author> <category term="Flutter" /> <category term="Dart" /> <summary> 개요 이 글에서는 Flutter가 어떻게 위젯 상태를 관리하고, 업데이트하며, 효율적으로 렌더링 하는지에 대해 알아보았습니다. 위젯의 생명주기 플러터 위젯의 종류 플러터 위젯은 크게 두 가지 종류로 나뉩니다. 하나는 상태가 변하는 StatefulWidget, 나머지 하나는 상태가 변하지 않는 StatelessWidget입니다. State란 ? State는 Flutter 애플리케이션에서 위젯의 데이터 또는 UI가 동적으로 변경될 수 있는 속성을 의미합니다. 이는 위젯의 모양이나 동작을 변화시킬 수 있는 모든 정보를 포함합니다. 앞서 이야기한 StatefulWidget와 StatelessWidget의 생명 주기가 다른 이유가 바로 이 상태 관리에 있습니다. StatefulWidget의 생... </summary> </entry> <entry><title>Swift에서 Class와 Struct의 차이</title><link href="https://mojitobar.github.io/posts/swift-class-struct-copy/" rel="alternate" type="text/html" title="Swift에서 Class와 Struct의 차이" /><published>2024-02-14T18:42:00+09:00</published> <updated>2024-02-14T18:42:00+09:00</updated> <id>https://mojitobar.github.io/posts/swift-class-struct-copy/</id> <content src="https://mojitobar.github.io/posts/swift-class-struct-copy/" /> <author> <name>mojitobar</name> </author> <category term="iOS" /> <category term="Swift" /> <summary> 개요 면접에서 자주 물어보는 질문 중 하나인 Class와 Struct의 차이점에 대해 딥다이브 해봤습니다. Class와 Struct의 차이 타입 Class는 참조 타입이고, Struct는 값 타입입니다. 클래스는 참조 타입이기 때문에 인스턴스를 변수나 상수에 할당하거나 함수에 전달할 때, 인스턴스의 참조가 전달 됩니다. 반면 구조체는 값 타입이기 때문에 인스턴스를 변수나 상수에 할당하거나 함수에 전달할 때, 인스턴스의 복사본이 전달됩니다. 각각의 복사본은 독립적인 인스턴스이므로, 하나의 인스턴스를 수정해도 다른 인스턴스에 영향을 주지 않습니다. 상속 Cl... </summary> </entry> <entry><title>UIScene, UIWindowScene, UIWindow</title><link href="https://mojitobar.github.io/posts/uiscene-uiwindowscene-uiwindow/" rel="alternate" type="text/html" title="UIScene, UIWindowScene, UIWindow" /><published>2024-01-15T19:15:00+09:00</published> <updated>2024-01-15T19:15:00+09:00</updated> <id>https://mojitobar.github.io/posts/uiscene-uiwindowscene-uiwindow/</id> <content src="https://mojitobar.github.io/posts/uiscene-uiwindowscene-uiwindow/" /> <author> <name>mojitobar</name> </author> <category term="iOS" /> <category term="Swift" /> <summary> 개요 UIKit 환경에서 코드 베이스로 작업하려고 하다 궁금해서 찾아본 내용을 정리해봤습니다. UIScene, UIWindowScene, UIWindow func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. // If using a storyboard, the `window` property will automati... </summary> </entry> </feed>
