<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>윤민섭</title>
    <link>https://brunch.co.kr/@@aUYX</link>
    <description>세상의 문제를 앱으로 풀고 싶지만, 앱 만들다가 이마가 아주 조금 넓어진 개발자입니다.</description>
    <language>ko</language>
    <pubDate>Tue, 05 May 2026 04:01:31 GMT</pubDate>
    <generator>Kakao Brunch</generator>
    <image>
      <title>세상의 문제를 앱으로 풀고 싶지만, 앱 만들다가 이마가 아주 조금 넓어진 개발자입니다.</title>
      <url>//img1.kakaocdn.net/thumb/C100x100/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2FfKgPttFhQYgPbBVDu-nWrmt6DAk.jpg</url>
      <link>https://brunch.co.kr/@@aUYX</link>
      <width>100</width>
      <height>100</height>
    </image>
    <item>
      <title>물품 목록 앱 - 목록을 보여주는 방법</title>
      <link>https://brunch.co.kr/@@aUYX/32</link>
      <description>세 번째 이자 마지막으로 채팅 목록 앱을 만들어보겠습니다. 목록을 보여주는 앱은 너무나도 다양하죠. 앱에서 리스트 형식의 UI를 보여주는 방법은 두 가지가 있습니다.  1. UITableView 2. UICollectionView  이 두 개의 View는 경우에 따라 사용할 수 있습니다. 만약, 아이폰의 연락처 앱과 같이&amp;nbsp;화면에 가득 찬 리스트로&amp;nbsp;이뤄진 U&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2FSQMvO00Gztw0sekndBMeXEtt1gw.png" width="483" /&gt;</description>
      <pubDate>Thu, 17 Dec 2020 18:54:15 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/32</guid>
    </item>
    <item>
      <title>MVVM Pattern - MVC 말고 MVVM</title>
      <link>https://brunch.co.kr/@@aUYX/25</link>
      <description>iOS 앱 개발을 할 때 MVC 패턴을 많이 경험했습니다. MVC 패턴으로 코드를 구현하다 보니 ViewController에 많은 양의 코드가 작성된다는 것이 문제였습니다. 또한 ViewController가 논리적인 코드와 뷰를 업데이트하는 코드가 함께 있다 보니 테스트하기도 어려웠죠. 이런 일련의 문제를 해결하기 위해&amp;nbsp;MVVM 디자인 패턴이 제안되었습니다&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2Fmqr1hzH_RJ_5ROg8T6Ka610nFG4.png" width="500" /&gt;</description>
      <pubDate>Fri, 04 Dec 2020 07:09:04 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/25</guid>
    </item>
    <item>
      <title>Coordinator Pattern - iOS 화면 전환 분리 패턴</title>
      <link>https://brunch.co.kr/@@aUYX/31</link>
      <description>Coordinator Pattern은 view controller들 간의 화면 전환 로직을 조직화하는 디자인 패턴입니다. 즉, 화면 간 연결을 해결할 수 있는 디자인 패턴인 것이죠.  우선 클래스 다이어그램은 아래와 같습니다.  Coordinator&amp;nbsp;프로토콜의 경우 구체 Coordinator 객체가 반드시 구현해야 하는 부분을 정의합니다. 특히, child&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2F5-LOwDlUa2aM9esr5iisBi7JOcI.png" width="500" /&gt;</description>
      <pubDate>Fri, 04 Dec 2020 07:07:20 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/31</guid>
    </item>
    <item>
      <title>Command Pattern - 행동을 정의하는 패턴</title>
      <link>https://brunch.co.kr/@@aUYX/30</link>
      <description>Command pattern은 명령 객체에 작업을 명령하기 위한 정보를 캡슐화하는 디자인 패턴입니다. 무슨 말인지 모르겠네요, 클래스 다이어그램을 먼저 보겠습니다.   Invoker 객체는 명령을 실행하고 저장합니다. Command 객체는 Action을 객체로 캡슐화합니다. Receiver 객체는 Command 객체에 의해 동작하는 객체입니다.  무슨 의미&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2FvMET-_CaTmqNrfv9oydiPR6KxRM.png" width="500" /&gt;</description>
      <pubDate>Thu, 03 Dec 2020 11:56:27 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/30</guid>
    </item>
    <item>
      <title>Mediator Pattern - 내가 대신&amp;nbsp;전달할게 패턴</title>
      <link>https://brunch.co.kr/@@aUYX/29</link>
      <description>Mediator pattern은 객체 간&amp;nbsp;통신하는 방법을 캡슐화하는 디자인 패턴입니다.   Colleague 객체들은 각각 통신하길 원합니다. 또 Colleague Protocol을 준수하기도 하죠. Colleague Protocol은&amp;nbsp;각 Colleague 객체들이 반드시 구현해야 할 메서드와 프로퍼티를 정의합니다. Mediator 객체는 Colleague&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2FGdNJ-DetXcGXwOxgP8tzKKP5i_8.png" width="500" /&gt;</description>
      <pubDate>Tue, 01 Dec 2020 08:05:57 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/29</guid>
    </item>
    <item>
      <title>Facade Pattern - 너에게 다 맡긴다 패턴</title>
      <link>https://brunch.co.kr/@@aUYX/28</link>
      <description>Facade Pattern은 복잡한 시스템을 간단한 인터페이스로 제공하는 디자인 패턴입니다. 클래스 다이어그램 먼저 보겠습니다.   Facade는 시스템과 간단한 메서드로 인터렉션 합니다. 시스템을 이용하는 쪽에선 시스템의 복잡한 클래스들과 인터렉션 하는 대신&amp;nbsp;Facade를 이용합니다. Dependencies는 Facade가 소유하는 객체입니다. 각 Dep&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2FWnJqrUc6XUBgXiLD5s80jLbu_eM.png" width="500" /&gt;</description>
      <pubDate>Fri, 27 Nov 2020 01:54:09 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/28</guid>
    </item>
    <item>
      <title>Adapter Pattern - 끼워맞추기 패턴</title>
      <link>https://brunch.co.kr/@@aUYX/27</link>
      <description>Adapter Pattern은 서로 다른 타입인 객체들이 함께 동작하도록 만드는 디자인 패턴입니다.  말 그대로 Adapter라고 생각하면 쉽습니다. 외국 여행 가면 어떤 나라는 110v를 사용하기 때문에 220v로 된 케이블을 110v 콘센트에 꽂기 위해선 변압기를 사용해야 하죠. 여기서 변압기가 바로 Adapter pattern의 역할을 한 것입니다. &lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2FC2gvPUqS1L2rUqpwFOfrw8QXuAY.png" width="500" /&gt;</description>
      <pubDate>Mon, 23 Nov 2020 07:15:11 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/27</guid>
    </item>
    <item>
      <title>Factory Pattern - 대신 생성해줘 패턴</title>
      <link>https://brunch.co.kr/@@aUYX/26</link>
      <description>Factory pattern은 생성 로직을 노출하지 않고 객체를 생성하는 디자인 패턴입니다. 클래스 다이어그램은 아래와 같습니다.   Factory&amp;nbsp;객체는 객체를 생성합니다. Product&amp;nbsp;객체는 생성된 객체입니다.  Factory pattern은 Simple Factory, Abstract Factory 등 다양한 종류가 있습니다. 그렇지만, Factor&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2Fi-10eNymTpNGlisMiZK_lksCWN8.png" width="500" /&gt;</description>
      <pubDate>Mon, 23 Nov 2020 07:07:47 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/26</guid>
    </item>
    <item>
      <title>Builder Pattern - 대신 좀 만들어줘 패턴</title>
      <link>https://brunch.co.kr/@@aUYX/24</link>
      <description>Builder pattern은 조금 복잡한 객체를 생성자에 여러 개의 파라미터를 넣지 않고 차례차례 값을 넣어주며 생성하는 것을 도와주는 디자인 패턴입니다.  클래스 다이어그램을 먼저 보겠습니다.   Director객체는 Product 객체를 사용해야 합니다. Director객체는 Builder 객체를 사용해서 Product를 만들어 낼 것입니다. Buil&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2FCvnm9-mOyXA8mSY6c6CTfg3Cgsc.png" width="500" /&gt;</description>
      <pubDate>Wed, 18 Nov 2020 09:38:45 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/24</guid>
    </item>
    <item>
      <title>Observer Pattern - 너를 관찰한다 패턴</title>
      <link>https://brunch.co.kr/@@aUYX/23</link>
      <description>Observer pattern은 유튜브를 구독하는 것과 같습니다.&amp;nbsp;구독하면&amp;nbsp;동영상을 올렸을 때 우리에게 보입니다.&amp;nbsp;구독을 취소하면 더 이상 보이지 않게 되죠. Observer pattern도 마찬가지입니다. 특정 객체의 변화를 관찰하면서 그 객체에 변화가 있을 때 알림을 받게 되는 디자인 패턴입니다.  그림을 먼저 보겠습니다.   Observer는 구독을 &lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2F1MVHLs5D-XZiWCqobR_2bYfK9DE.png" width="500" /&gt;</description>
      <pubDate>Wed, 18 Nov 2020 08:51:18 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/23</guid>
    </item>
    <item>
      <title>Singleton Pattern - 나 홀로 객체 패턴</title>
      <link>https://brunch.co.kr/@@aUYX/22</link>
      <description>Singleton Pattern은 특정 class를 하나의 instance로만 제한하는 디자인 패턴입니다.  즉, 모든 참조는 단 하나의 객체로만 하게 됩니다. 애플의 framework에도 빈번히 발견할 수 있는 패턴이기도 합니다.  그렇다면 Singleton pattern은&amp;nbsp;어떤 경우 사용할까요? iOS에는 UIApplication이라는 객체가 존재합니다&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2F-dIKRP2tFfDflMI3nv-Ppr9awSg.png" width="500" /&gt;</description>
      <pubDate>Wed, 18 Nov 2020 01:56:37 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/22</guid>
    </item>
    <item>
      <title>Strategy Pattern - 뭘 사용할까 패턴</title>
      <link>https://brunch.co.kr/@@aUYX/21</link>
      <description>Strategy Pattern (전략 패턴)은 교환 가능한 객체들을 정의해두고 런타임에 설정하거나 변환하는 패턴입니다.  그림으로 먼저 보겠습니다.   우선 Object using a Strategy 객체와 Strategy Protocol이 연관 관계에 있는 것을 확인할 수 있습니다. Object using a Strategy 객체가 Strategy Pro&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2FnteXNfipNmjjRbaiJzicidQ2iXI.png" width="500" /&gt;</description>
      <pubDate>Tue, 17 Nov 2020 14:04:16 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/21</guid>
    </item>
    <item>
      <title>Delegation Pattern - 나를 이용해라 패턴</title>
      <link>https://brunch.co.kr/@@aUYX/20</link>
      <description>Delegation 패턴은 어떤 객체에게 남의 도움을 받아도 되도록 만드는 패턴입니다. 그림을 먼저 보겠습니다.   먼저 Dependency 관계와 Implement&amp;nbsp;관계가 보입니다.  Object Needing a Delegate와 Delegate Protocol 이 Dependency 관계입니다. Object Needing a Delegate는 Dele&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2FEjtmufNn05tgoThKoPfnD7ElEtM.png" width="500" /&gt;</description>
      <pubDate>Tue, 17 Nov 2020 13:33:03 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/20</guid>
    </item>
    <item>
      <title>MVC Pattern - iOS 개발의 기본이 되는 디자인 패턴</title>
      <link>https://brunch.co.kr/@@aUYX/19</link>
      <description>MVC Pattern은 Model-View-Controller 디자인 패턴입니다. 그림을 보면서 이해해보겠습니다.   우선 관계도를 먼저 알아야 합니다.  1. Model은 ViewController에&amp;nbsp;dependency 관계를 갖고 있습니다.&amp;nbsp;Model은 ViewController를 직접적으로 알진 못하나 property observing을 통해 View&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2FEKTBZoY-x9h6eZQ3GNquzSVS1aU.png" width="500" /&gt;</description>
      <pubDate>Tue, 17 Nov 2020 12:33:05 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/19</guid>
    </item>
    <item>
      <title>태양계 행성 앱 4 - 조금 더 재밌는 앱 만들기</title>
      <link>https://brunch.co.kr/@@aUYX/18</link>
      <description>이제 두 번째 앱도 끝이 보입니다. 마지막 기능만 적용하면 됩니다.  3. 애니메이션이 살짝 있으면 좋을 것 같다.  애니메이션을 적용해보겠습니다. 애니메이션은 애플에서 만들어놓은 CoreAnimation을 사용하지만, 보다 간단하게 적용할 수 있는 방법이 있습니다. 애니메이션 적용을 위해 전역적으로 제공되는 UIView.animate 함수를 사용하겠습니다&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2FoNlQagPJhACPr2itbrtpZHw44fE.png" width="464" /&gt;</description>
      <pubDate>Tue, 17 Nov 2020 05:31:20 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/18</guid>
    </item>
    <item>
      <title>태양계 행성 앱 3 - 조금 더 재밌는 앱 만들기</title>
      <link>https://brunch.co.kr/@@aUYX/17</link>
      <description>지난 글에서 '행성 이미지가 있고 이미지를 누르면 행성에 대한 정보를 알 수 있다.'&amp;nbsp;기능 구현이 완료됐습니다.  하지만 한 가지 아쉬운 점이 있습니다. 정보가 나왔을 때 화면을 터치하면 정보를 숨기고 싶습니다. 가장 쉬운 방법인 정보 뷰에 터치 인식기를 추가해보겠습니다.  이미지 뷰에 추가했던 방법과 동일하기에 과정은 생략하겠습니다.   터치 인식기가 추&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2FzOQSaHnoJkft2TSfdZ6TBnNNL9U.png" width="464" /&gt;</description>
      <pubDate>Mon, 09 Nov 2020 09:01:17 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/17</guid>
    </item>
    <item>
      <title>형상 관리 Git - 개발자들은 어떻게 코드를 관리할까?</title>
      <link>https://brunch.co.kr/@@aUYX/16</link>
      <description>Version Control System?  &amp;quot;OO님, 새로운 스펙&amp;nbsp;개발해주세요.&amp;quot; &amp;quot;OO님, 코드 수정&amp;nbsp;부탁드려요.&amp;quot;  개발을 할 때 위와 같은 요구를 받는 경우가 많다. 이러한 상황은 한 명에게만 생기는 것이 아니라 같은 서비스를 하는 모든 개발자에게 생긴다. 협업을 할 때 보다&amp;nbsp;안전한 개발 전략과 완성된 서비스의 버전 관리가 필요하기에 개발자들은 버전&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2FTNE1-WuJOz23BvvTQivAzk5y3Q0.png" width="225" /&gt;</description>
      <pubDate>Tue, 03 Nov 2020 13:53:44 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/16</guid>
    </item>
    <item>
      <title>태양계 행성 앱 2 - 조금 더 재밌는 앱 만들기</title>
      <link>https://brunch.co.kr/@@aUYX/15</link>
      <description>이제 본격적으로 '태양계 행성 앱'을 만들어 보겠습니다.  1. 행성 이미지가 있고 이미지를 누르면 행성에 대한 정보를 알 수 있다. 2. 옆으로 넘기면서 행성을 탐색할 수 있다.  위 두 개의 기능을 먼저 구현해보겠습니다.  먼저 행성 이미지가 필요하겠네요. 이미지는 모두 위키피디아에서 사용하였고 하단에서 다운로드할 수 있습니다.  먼저 다운로드한 이미지&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2FIWgnSYuok8SuDEhcdmin9teMaQo.png" width="464" /&gt;</description>
      <pubDate>Tue, 03 Nov 2020 13:18:09 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/15</guid>
    </item>
    <item>
      <title>태양계 행성 앱 - 조금 더 재밌는 앱 만들기</title>
      <link>https://brunch.co.kr/@@aUYX/14</link>
      <description>배경색이 변경되는 앱에 이어 이번엔 태양계 행성 정보를 알려주는 앱을 만들어 보겠습니다.  앱을 만들 땐 항상 앱 기획 과정이 필요합니다. 이번 앱은 어떻게 만들어볼까요? 제가 생각한 기능은 이렇습니다.  1. 행성 이미지가 있고 이미지를 누르면 행성에 대한 정보를 알 수 있다. 2. 옆으로 넘기면서 행성을 탐색할 수 있다. 3. 애니메이션이 살짝 있으면 &lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2FPHgQNv1a_MMl0SHg3VRXcLbEXmg.png" width="483" /&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:42:41 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/14</guid>
    </item>
    <item>
      <title>배경색이 변경되는 앱 3 - 기초가 되는 첫 앱</title>
      <link>https://brunch.co.kr/@@aUYX/13</link>
      <description>&amp;quot;버튼을 누를 때 배경 색이 파스텔 톤의 무지개 색깔로 변경되며 보라색이 되면 다시 빨간색으로 변경&amp;quot; 기능이 동작하는 앱을 만드는 것이 목표였습니다.  이전 글에서 &amp;quot;버튼을 누를 때 배경 색이 파스텔 톤의 무지개 색깔로 변경되며&amp;quot;까지 동작하는 것을 확인했습니다. &amp;nbsp;&amp;quot;보라색이 되면 다시 빨간색으로 변경&amp;quot;&amp;nbsp;구현해보셨나요?  이 기능을 구현하기 위해선 if-el&lt;img src= "https://img1.kakaocdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2FaUYX%2Fimage%2FOQkoDjILcT1Qhk_MfOSTq5XzINQ.png" width="483" /&gt;</description>
      <pubDate>Thu, 22 Oct 2020 12:13:08 GMT</pubDate>
      <author>윤민섭</author>
      <guid>https://brunch.co.kr/@@aUYX/13</guid>
    </item>
  </channel>
</rss>
