<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>직업군인 개발 로그</title>
    <link>https://ychcom.tistory.com/</link>
    <description>개발자 생활</description>
    <language>ko</language>
    <pubDate>Mon, 13 Jul 2026 18:20:59 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Major Gus</managingEditor>
    <image>
      <title>직업군인 개발 로그</title>
      <url>https://tistory1.daumcdn.net/tistory/3041161/attach/20252cc1df954b46a59ff92af3c81b41</url>
      <link>https://ychcom.tistory.com</link>
    </image>
    <item>
      <title>Varco AI 사용후기</title>
      <link>https://ychcom.tistory.com/entry/Varco-AI-%EC%82%AC%EC%9A%A9%ED%9B%84%EA%B8%B0</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 주요 기능&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이미지로 3D 생성&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-27 오후 5.36.31.png&quot; data-origin-width=&quot;352&quot; data-origin-height=&quot;695&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/plH4j/dJMcabxyJ3b/LZ6tFkCy6bKpNKhDCEMegK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/plH4j/dJMcabxyJ3b/LZ6tFkCy6bKpNKhDCEMegK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/plH4j/dJMcabxyJ3b/LZ6tFkCy6bKpNKhDCEMegK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FplH4j%2FdJMcabxyJ3b%2FLZ6tFkCy6bKpNKhDCEMegK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;352&quot; height=&quot;695&quot; data-filename=&quot;스크린샷 2026-05-27 오후 5.36.31.png&quot; data-origin-width=&quot;352&quot; data-origin-height=&quot;695&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미지를 드래그 또는 업로드 하여 3D를 생성하는 방법입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;알파 사용 : 배경 포함 여부를 결정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;T-포즈 : 사람형인 경우 리깅을 쉽게 하기 위해 T포즈로 변경&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;폴리곤 수 : &amp;nbsp;폴리곤 수가 높을 수록 좀더 높은 품질 3D 모델 생성, 그만큼 렌더링시 많은 리소스 사용, 최적화 반드시 필요 &amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;멀티뷰 생성&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-27 오후 5.39.12.png&quot; data-origin-width=&quot;353&quot; data-origin-height=&quot;733&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FhxXi/dJMcaciUtxK/XfvX3f4fSFkmtS4YAucSDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FhxXi/dJMcaciUtxK/XfvX3f4fSFkmtS4YAucSDk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FhxXi/dJMcaciUtxK/XfvX3f4fSFkmtS4YAucSDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFhxXi%2FdJMcaciUtxK%2FXfvX3f4fSFkmtS4YAucSDk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;353&quot; height=&quot;733&quot; data-filename=&quot;스크린샷 2026-05-27 오후 5.39.12.png&quot; data-origin-width=&quot;353&quot; data-origin-height=&quot;733&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞, 뒤, 좌, 우를 &amp;nbsp;이미지를 통해 생성 좀더 정확한 3D 모델을 뽑기 위해 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;포인트를 사용하면 멀티 이미지를 생성도 가능함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3D 스튜디오&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-27 오후 5.45.15.png&quot; data-origin-width=&quot;1041&quot; data-origin-height=&quot;761&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dklG0A/dJMcaaMbUVO/LTAQKQ8NJdkKIGsWLSoGjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dklG0A/dJMcaaMbUVO/LTAQKQ8NJdkKIGsWLSoGjK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dklG0A/dJMcaaMbUVO/LTAQKQ8NJdkKIGsWLSoGjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdklG0A%2FdJMcaaMbUVO%2FLTAQKQ8NJdkKIGsWLSoGjK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1041&quot; height=&quot;761&quot; data-filename=&quot;스크린샷 2026-05-27 오후 5.45.15.png&quot; data-origin-width=&quot;1041&quot; data-origin-height=&quot;761&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3D 구조를 수정하거나, 색상, 재질를 수정 가능하며, 폴리곤 수를 줄이는거나 형태를 바꾸는게 가능합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 리매쉬는 주로 최적화용으로 많이 사용하는데 개인적으로 저는 &amp;nbsp;블렌더나 멀티모달 AI MCP 사용을 추천드립니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3D 애니메이션&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-27 오후 5.49.01.png&quot; data-origin-width=&quot;989&quot; data-origin-height=&quot;781&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lnpUj/dJMcag6IKWj/6YL9MnuVfcqdemr7OWVZS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lnpUj/dJMcag6IKWj/6YL9MnuVfcqdemr7OWVZS0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lnpUj/dJMcag6IKWj/6YL9MnuVfcqdemr7OWVZS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlnpUj%2FdJMcag6IKWj%2F6YL9MnuVfcqdemr7OWVZS0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;989&quot; height=&quot;781&quot; data-filename=&quot;스크린샷 2026-05-27 오후 5.49.01.png&quot; data-origin-width=&quot;989&quot; data-origin-height=&quot;781&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자동으로 리깅 또는 직접 리깅이 가능하고, 애니메이션 적용도 가능합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전투 동작이 특화되어 있으면, 특정 애니메이션은 포인트로 추가 구입해야 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;바이브 월드&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-27 오후 5.53.03.png&quot; data-origin-width=&quot;1008&quot; data-origin-height=&quot;859&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brDSlV/dJMcabRQc1f/Fb8KRE3HOcfcwqhljGLF1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brDSlV/dJMcabRQc1f/Fb8KRE3HOcfcwqhljGLF1k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brDSlV/dJMcabRQc1f/Fb8KRE3HOcfcwqhljGLF1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrDSlV%2FdJMcabRQc1f%2FFb8KRE3HOcfcwqhljGLF1k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1008&quot; height=&quot;859&quot; data-filename=&quot;스크린샷 2026-05-27 오후 5.53.03.png&quot; data-origin-width=&quot;1008&quot; data-origin-height=&quot;859&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;V3D 파일을 업로드해서 생성 요청도 가능하며,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI Render는 그림을 그려주는 기능이며,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 명령프롬프트로 생성도 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;커스텀 워크플로우&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure data-ke-type=&quot;image&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; data-ke-style=&quot;alignCenter&quot;&gt;&lt;span class=&quot;bar_progress&quot;&gt;&lt;/span&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-27 오후 5.18.59.png&quot; data-origin-width=&quot;1278&quot; data-origin-height=&quot;873&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ur0nG/dJMcabdezYM/t98rc6dmaGRMi8kWVT0aNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ur0nG/dJMcabdezYM/t98rc6dmaGRMi8kWVT0aNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ur0nG/dJMcabdezYM/t98rc6dmaGRMi8kWVT0aNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fur0nG%2FdJMcabdezYM%2Ft98rc6dmaGRMi8kWVT0aNK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1278&quot; height=&quot;873&quot; data-filename=&quot;스크린샷 2026-05-27 오후 5.18.59.png&quot; data-origin-width=&quot;1278&quot; data-origin-height=&quot;873&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;figure data-ke-type=&quot;image&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; data-ke-style=&quot;alignCenter&quot;&gt;&lt;span class=&quot;bar_progress&quot;&gt;&lt;/span&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미지와 텍스트 프롬프트를 같이 입력하여&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3D 모델 메쉬와 리메쉬 텍스처 매치를 바로 노드를 연결해서 활용하는 도구입니다.&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;image-input: 참고용 이미지 파일 업로드 노드&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;text-input: 프롬프트 입력하는 노&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;image-generator: image-input와 text-input를 이용해 이미지 생성하는 노드&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;image-view: 노드에서 처리한 결과를 이미지로 확인하는 노&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;background-remover: 이미지의 배경을 없애주는 노드&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;coarse-mesh-generator: 이미지를 입력 받아 3D 모델을 생성하는 노드, 주로 background-remover 노드의 출력을 입력받아 사&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;model-viewer: 생성된 3D 모델을 미리보여줌, 주로 coarse-mesh-generator노드의 출력값을 입력받아 사용&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;fine-mesh-gnerator: background-remover노드와 coarse-mesh-generator노드 입력값을 사용하여 glb로 출력하는 노드&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;multiview-generator: 이미지, 메쉬, 텍스트 프롬프트를 가지고 multivew 생성&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;remesh: glb와 max-faces(최대 폴리곤 수)를 입력받아 obj, image출력하는 노드&lt;/p&gt;</description>
      <category>3d</category>
      <category>IAI</category>
      <category>NC</category>
      <category>varco</category>
      <author>Major Gus</author>
      <guid isPermaLink="true">https://ychcom.tistory.com/546</guid>
      <comments>https://ychcom.tistory.com/entry/Varco-AI-%EC%82%AC%EC%9A%A9%ED%9B%84%EA%B8%B0#entry546comment</comments>
      <pubDate>Wed, 27 May 2026 17:34:42 +0900</pubDate>
    </item>
    <item>
      <title>저시력자 분들을 위한 앱</title>
      <link>https://ychcom.tistory.com/entry/%EC%A0%80%EC%8B%9C%EB%A0%A5%EC%9E%90-%EB%B6%84%EB%93%A4%EC%9D%84-%EC%9C%84%ED%95%9C-%EC%95%B1</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;노안은 녹색이 초점을 맺는 곳에 가장 가깝기 때문에 녹색 배경에&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대비색 높은 검정색 글자로 만들었습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://m.blog.naver.com/gmeyedoc/220577534400&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://m.blog.naver.com/gmeyedoc/220577534400&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1773045199184&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;노안 자가진단; 노안은 왜 녹색이 더 잘 보일까?&quot; data-og-description=&quot;안녕하세요, 굿모닝성모안과입니다. 크리스마스 이브라는 것을 모를 만큼 조용하고 차분한 출근길이었어요....&quot; data-og-host=&quot;blog.naver.com&quot; data-og-source-url=&quot;https://m.blog.naver.com/gmeyedoc/220577534400&quot; data-og-url=&quot;https://blog.naver.com/gmeyedoc/220577534400&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cXbzqG/dJMb8PGuihY/e8nv8b7OmWFZkJ5VeTEaAk/img.jpg?width=516&amp;amp;height=240&amp;amp;face=0_0_516_240&quot;&gt;&lt;a href=&quot;https://m.blog.naver.com/gmeyedoc/220577534400&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://m.blog.naver.com/gmeyedoc/220577534400&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cXbzqG/dJMb8PGuihY/e8nv8b7OmWFZkJ5VeTEaAk/img.jpg?width=516&amp;amp;height=240&amp;amp;face=0_0_516_240');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;노안 자가진단; 노안은 왜 녹색이 더 잘 보일까?&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;안녕하세요, 굿모닝성모안과입니다. 크리스마스 이브라는 것을 모를 만큼 조용하고 차분한 출근길이었어요....&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.naver.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;백내장은 수정체 노화로 인한 황변 현상으로&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;노란색이 더 선명하게 느끼기 때문에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;노란색 글자와 배경색은 대비높은 검정색으로 만들었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #353535; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;저시력 사용자를 위한 유니버설 폰트인&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;KoddiUD&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;온고딕 폰트를 사용했습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.yoondesign-m.com/966&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.yoondesign-m.com/966&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1773045383506&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[인터뷰 시리즈: 글자-마음 보기집] #4 유니버설디자인 폰트 [KoddiUD 온고딕] 만든 디자이너 박현준&quot; data-og-description=&quot;[꼴] 겉으로 보이는 사물의 모양 [결] 성품의 바탕이나 상태 글자(typeface)는 주로 &amp;lsquo;꼴&amp;rsquo;에 관하여 이야기됩니다. 글자가 품평의 대상이 될 때 그 근거는 대개 꼴의 완성도입니다. 인격이 피지컬&quot; data-og-host=&quot;www.yoondesign-m.com&quot; data-og-source-url=&quot;https://www.yoondesign-m.com/966&quot; data-og-url=&quot;https://www.yoondesign-m.com/966&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cjCyeD/dJMb9lL9GaZ/vdfwkLaz3u6kren0WfakzK/img.png?width=800&amp;amp;height=508&amp;amp;face=0_0_800_508,https://scrap.kakaocdn.net/dn/nryil/dJMb9efb4VZ/xXDuwHDyIr1JMsdtbVpBZK/img.png?width=800&amp;amp;height=508&amp;amp;face=0_0_800_508,https://scrap.kakaocdn.net/dn/bbCuve/dJMb9lk5hiw/nR6IZz50FR6xPm7xqA0Vjk/img.png?width=2482&amp;amp;height=5093&amp;amp;face=0_0_2482_5093&quot;&gt;&lt;a href=&quot;https://www.yoondesign-m.com/966&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.yoondesign-m.com/966&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cjCyeD/dJMb9lL9GaZ/vdfwkLaz3u6kren0WfakzK/img.png?width=800&amp;amp;height=508&amp;amp;face=0_0_800_508,https://scrap.kakaocdn.net/dn/nryil/dJMb9efb4VZ/xXDuwHDyIr1JMsdtbVpBZK/img.png?width=800&amp;amp;height=508&amp;amp;face=0_0_800_508,https://scrap.kakaocdn.net/dn/bbCuve/dJMb9lk5hiw/nR6IZz50FR6xPm7xqA0Vjk/img.png?width=2482&amp;amp;height=5093&amp;amp;face=0_0_2482_5093');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[인터뷰 시리즈: 글자-마음 보기집] #4 유니버설디자인 폰트 [KoddiUD 온고딕] 만든 디자이너 박현준&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[꼴] 겉으로 보이는 사물의 모양 [결] 성품의 바탕이나 상태 글자(typeface)는 주로 &amp;lsquo;꼴&amp;rsquo;에 관하여 이야기됩니다. 글자가 품평의 대상이 될 때 그 근거는 대개 꼴의 완성도입니다. 인격이 피지컬&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.yoondesign-m.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;UX/UI는&amp;nbsp;대부분 사용자가 기기 조작이 미숙하신&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나이드신 분들을 이기 때문에&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최대한 단순하고 쉽게 만들었습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://youtube.com/shorts/BdnWXGoJCVk?feature=share&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://youtube.com/shorts/BdnWXGoJCVk?feature=share&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/shorts/BdnWXGoJCVk&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/cqCSZB/dJMb8YpTzbj/2QWi9b1mebgEdS72VvSmv1/img.jpg?width=405&amp;amp;height=720&amp;amp;face=0_0_405_720,https://scrap.kakaocdn.net/dn/eIwps/dJMb9eTNOxD/1MO9L1pTfjW8aMTpcK1zS0/img.jpg?width=405&amp;amp;height=720&amp;amp;face=0_0_405_720,https://scrap.kakaocdn.net/dn/bJ7GNo/dJMb9bv0rqC/KQPIBq5iYWJL0Ko7CDQa60/img.jpg?width=405&amp;amp;height=720&amp;amp;face=0_0_405_720&quot; data-video-width=&quot;405&quot; data-video-height=&quot;720&quot; data-video-origin-width=&quot;405&quot; data-video-origin-height=&quot;720&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;글 돋움 #app #mobile #노안 #백내장 #iOS&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/BdnWXGoJCVk&quot; width=&quot;405&quot; height=&quot;720&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://apple.co/4sDZwQS&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://apple.co/4sDZwQS&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1773230406316&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;글돋움 App - App Store&quot; data-og-description=&quot;Download 글돋움 by changhyen yun on the App Store. See screenshots, ratings and reviews, user tips, and more apps like 글돋움.&quot; data-og-host=&quot;apps.apple.com&quot; data-og-source-url=&quot;https://apple.co/4sDZwQS&quot; data-og-url=&quot;https://apps.apple.com/us/app/%EA%B8%80%EB%8F%8B%EC%9B%80/id6760225342&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bUVfXN/dJMb9b3QoB5/wjeEUKU6mjeY5Kidi2MENk/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/btYLTU/dJMb9hCZEAA/ZAnqnvdeQscmuXcS0MFT0K/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://apple.co/4sDZwQS&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://apple.co/4sDZwQS&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bUVfXN/dJMb9b3QoB5/wjeEUKU6mjeY5Kidi2MENk/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/btYLTU/dJMb9hCZEAA/ZAnqnvdeQscmuXcS0MFT0K/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;글돋움 App - App Store&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Download 글돋움 by changhyen yun on the App Store. See screenshots, ratings and reviews, user tips, and more apps like 글돋움.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;apps.apple.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Landscape Banner Ad - 1200x720.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vrpe3/dJMcad2eZgs/AIHWvThZuN14hlER3C263k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vrpe3/dJMcad2eZgs/AIHWvThZuN14hlER3C263k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vrpe3/dJMcad2eZgs/AIHWvThZuN14hlER3C263k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fvrpe3%2FdJMcad2eZgs%2FAIHWvThZuN14hlER3C263k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;720&quot; data-filename=&quot;Landscape Banner Ad - 1200x720.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;position: absolute;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>모바일/iOS</category>
      <category>ios</category>
      <category>노안</category>
      <category>백내장</category>
      <category>아이폰</category>
      <category>오른손</category>
      <category>왼손</category>
      <category>저시력자</category>
      <author>Major Gus</author>
      <guid isPermaLink="true">https://ychcom.tistory.com/543</guid>
      <comments>https://ychcom.tistory.com/entry/%EC%A0%80%EC%8B%9C%EB%A0%A5%EC%9E%90-%EB%B6%84%EB%93%A4%EC%9D%84-%EC%9C%84%ED%95%9C-%EC%95%B1#entry543comment</comments>
      <pubDate>Mon, 9 Mar 2026 17:49:07 +0900</pubDate>
    </item>
    <item>
      <title>[책 출간] 앱 개발 트러블슈팅 with 리액트 네이티브</title>
      <link>https://ychcom.tistory.com/entry/%EC%B1%85-%EC%B6%9C%EA%B0%84-%EC%95%B1-%EA%B0%9C%EB%B0%9C-%ED%8A%B8%EB%9F%AC%EB%B8%94%EC%8A%88%ED%8C%85-with-%EB%A6%AC%EC%95%A1%ED%8A%B8-%EB%84%A4%EC%9D%B4%ED%8B%B0%EB%B8%8C</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; font-size: 1.25em; letter-spacing: -1px; background-color: #ffffff;&quot;&gt;안녕하세요 이번 좋은 기회에 책을 출간하게 되었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #555555; text-align: left;&quot;&gt;
&lt;h4 style=&quot;color: #000000;&quot; data-ke-size=&quot;size20&quot;&gt;초보자 아닌 실무자에게 필요한 부분만 압축해서 담았습니다.&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000;&quot; data-ke-size=&quot;size20&quot;&gt;많은 관심과 사람 그리고 구매!&amp;nbsp; 부탁드려요 :)&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;735&quot; data-origin-height=&quot;687&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b0cbNo/dJMcahcoHbO/uWlJFrS4nkYZc9efySEsP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b0cbNo/dJMcahcoHbO/uWlJFrS4nkYZc9efySEsP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b0cbNo/dJMcahcoHbO/uWlJFrS4nkYZc9efySEsP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0cbNo%2FdJMcahcoHbO%2FuWlJFrS4nkYZc9efySEsP1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;735&quot; height=&quot;687&quot; data-origin-width=&quot;735&quot; data-origin-height=&quot;687&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h4 style=&quot;color: #000000;&quot; data-ke-size=&quot;size20&quot;&gt;목차&lt;/h4&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #555555; text-align: left;&quot;&gt;
&lt;div style=&quot;color: #666666; text-align: justify;&quot;&gt;Chapter 1 모바일 애플리케이션 개발 방법&lt;br /&gt;_1.1 네이티브 애플리케이션&lt;br /&gt;__1.1.1 애플리케이션의 생명주기&lt;br /&gt;__1.1.2 모바일 애플리케이션의 디자인&lt;br /&gt;__1.1.3 모바일 애플리케이션의 해상도&lt;br /&gt;_1.2 웹 애플리케이션&lt;br /&gt;_1.3 하이브리드 애플리케이션&lt;br /&gt;_1.4 크로스 플랫폼 애플리케이션&lt;br /&gt;__1.4.1 리액트 네이티브&lt;br /&gt;__1.4.2 리액트 네이티브 코어 컴포넌트&lt;br /&gt;&lt;br /&gt;Chapter 2 환경 설정&lt;br /&gt;_2.1 홈브루 설치&lt;br /&gt;_2.2 rbenv 설치&lt;br /&gt;_2.3 NVM 설치&lt;br /&gt;_2.4 워치맨 설치&lt;br /&gt;_2.5 iOS 환경 설정&lt;br /&gt;__2.5.1 엑스코드 설치&lt;br /&gt;__2.5.2 코코아팟 설치&lt;br /&gt;_2.6 안드로이드 환경 설정&lt;br /&gt;__2.6.1 JDK 설치&lt;br /&gt;__2.6.2 안드로이드 스튜디오 설치&lt;br /&gt;__2.6.3 안드로이드 SDK 설치&lt;br /&gt;__2.6.4 안드로이드 환경 변수 설정&lt;br /&gt;_2.7 리액트 네이티브 CLI 설치&lt;br /&gt;_2.8 yarn 설치&lt;br /&gt;_2.9 디버깅 환경 설정&lt;br /&gt;_2.10 절대 경로&lt;br /&gt;&lt;br /&gt;Chapter 3 테스트 개발&lt;br /&gt;_3.1 단위 테스트&lt;br /&gt;_3.2 TDD&lt;br /&gt;_3.3 제스트&lt;br /&gt;__3.3.1 제스트 환경 설정&lt;br /&gt;__3.3.2 테스트 코드&lt;br /&gt;_3.4 디톡스 사용자 테스트 코드 만들기&lt;br /&gt;__3.4.1 디톡스 환경 설정&lt;br /&gt;__3.4.2 프로젝트 설정&lt;br /&gt;__3.4.3 애플리케이션 구성&lt;br /&gt;__3.4.4 디바이스 설정&lt;br /&gt;__3.4.5 안드로이드 추가 설정&lt;br /&gt;__3.4.6 build.gradle 수정&lt;br /&gt;__3.4.7 안드로이드 테스트 추가&lt;br /&gt;__3.4.8 암호화되지 않은 트래픽 활성화&lt;br /&gt;__3.4.9 애플리케이션 빌드&lt;br /&gt;&lt;br /&gt;Chapter 4 린트 에러 예방&lt;br /&gt;_4.1 ES린트&lt;br /&gt;__4.1.1 ES린트 규칙&lt;br /&gt;__4.1.2 ES린트 설정 파일&lt;br /&gt;__4.1.3 ES린트 공유 구성 패키지&lt;br /&gt;__4.1.4 ES린트 플러그인&lt;br /&gt;__4.1.5 ES린트 파서&lt;br /&gt;__4.1.6 실무 활용&lt;br /&gt;_4.2 프리티어&lt;br /&gt;_4.3 허스키&lt;br /&gt;&lt;br /&gt;Chapter 5 사용자 에러 추적&lt;br /&gt;_5.1 센트리&lt;br /&gt;__5.1.1 센트리 회원가입&lt;br /&gt;__5.1.2 프로젝트 만들기&lt;br /&gt;__5.1.3 센트리 SDK 설치&lt;br /&gt;__5.1.4 센트리 설정&lt;br /&gt;__5.1.5 센트리 SDK 옵션&lt;br /&gt;__5.1.6 실무 활용&lt;br /&gt;_5.2 파이어베이스 크래시리틱스&lt;br /&gt;__5.2.1 파이어베이스 사용 준비&lt;br /&gt;__5.2.2 iOS 설정&lt;br /&gt;__5.2.3 안드로이드 설정&lt;br /&gt;__5.2.4 크래시리틱스 설치&lt;br /&gt;__5.2.5 실무 활용&lt;br /&gt;&lt;br /&gt;Chapter 6 모듈화&lt;br /&gt;_6.1 Props와 State&lt;br /&gt;_6.2 useEffect 훅&lt;br /&gt;_6.3 Custom 훅&lt;br /&gt;&lt;br /&gt;Chapter 7 네이티브 모듈&lt;br /&gt;_7.1 네이티브 모듈 만들기&lt;br /&gt;__7.1.1 iOS 네이티브 모듈 만들기&lt;br /&gt;__7.1.2 안드로이드 네이티브 모듈 만들기&lt;br /&gt;_7.2 새로운 JSI 구조&lt;br /&gt;__7.2.1 터보 모듈&lt;br /&gt;__7.2.2 패브릭&lt;br /&gt;__7.2.3 코드젠&lt;br /&gt;_7.3 터보 네이티브 모듈&lt;br /&gt;__7.3.1 자바스크립트 명세서&lt;br /&gt;__7.3.2 모듈 설정&lt;br /&gt;__7.3.3 네이티브 코드&lt;br /&gt;__7.3.4 터보 네이티브 모듈 추가&lt;br /&gt;_7.4 패브릭 네이티브 컴포넌트&lt;br /&gt;__7.4.1 자바스크립트 명세서&lt;br /&gt;__7.4.2 컴포넌트 설정&lt;br /&gt;__7.4.3 네이티브 코드&lt;br /&gt;&lt;br /&gt;Chapter 8 스토어 등록&lt;br /&gt;_8.1 앱 스토어 등록&lt;br /&gt;__8.1.1 애플 개발자 계정 생성&lt;br /&gt;__8.1.2 애플 개발자 프로그램 등록&lt;br /&gt;__8.1.3 iOS 인증서 설정&lt;br /&gt;__8.1.4 애플 개발자 계정 연동&lt;br /&gt;__8.1.5 애플리케이션 식별자 등록&lt;br /&gt;__8.1.6 프로비저닝 프로파일 생성&lt;br /&gt;__8.1.7 앱 스토어 커넥트&lt;br /&gt;__8.1.8 애플리케이션 아이콘 설정&lt;br /&gt;__8.1.9 애플리케이션 빌드 및 업로드&lt;br /&gt;_8.2 구글 플레이 등록&lt;br /&gt;__8.2.1 구글 플레이 개발자 계정 생성&lt;br /&gt;__8.2.2 안드로이드 빌드 최적화&lt;br /&gt;__8.2.3 서명 키 생성&lt;br /&gt;__8.2.4 AAB 생성&lt;br /&gt;__8.2.5 릴리스 빌드 확인 및 애플리케이션 등록&lt;br /&gt;&lt;br /&gt;Chapter 9 패스트레인&lt;br /&gt;_9.1 패스트레인 기능&lt;br /&gt;_9.2 패스트레인 설치&lt;br /&gt;__9.2.1 번들러 설치&lt;br /&gt;__9.2.2 홈브루를 통한 설치&lt;br /&gt;_9.3 패스트레인 환경 설정&lt;br /&gt;__9.3.1 iOS 패스트레인 설정&lt;br /&gt;__9.3.2 안드로이드 패스트레인 설정&lt;br /&gt;&lt;br /&gt;부록&lt;br /&gt;1 설치 셸 스크립트 만들기&lt;br /&gt;2 package.json 파일에 스크립트 명령어 만들기&lt;br /&gt;3 VS 코드에서 코파일럿 활용하기&lt;br /&gt;4 제미나이 API를 통한 AI 기능 구축하기&lt;br /&gt;5 SemVer&lt;br /&gt;6 자바스크립트 엔진 종류와 요가 엔진&lt;br /&gt;7 모킹, 스테이징, 프로덕션&lt;br /&gt;8 디톡스 iOS 빌드 에러&lt;br /&gt;9 안드로이드 app:mergeDexDebug 에러&lt;br /&gt;10 안드로이드 bundleRelease 에러&lt;br /&gt;11 RNSScreenStackHeaderConfig 에러&lt;br /&gt;12 안드로이드에서 node 경로를 찾지 못하는 에러&lt;br /&gt;13 NVM &amp;ldquo;PREFIX&amp;rdquo; 에러&lt;br /&gt;14 패스트레인 에러&lt;/div&gt;
&lt;div style=&quot;color: #666666; text-align: justify;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #666666; text-align: justify;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;a href=&quot;https://search.shopping.naver.com/book/catalog/58985318290?cat_id=50010921&amp;amp;frm=PBOKMOD&amp;amp;query=%EC%95%B1+%EA%B0%9C%EB%B0%9C+%ED%8A%B8%EB%9F%AC%EB%B8%94%EC%8A%88%ED%8C%85+with+%EB%A6%AC%EC%95%A1%ED%8A%B8+%EB%84%A4%EC%9D%B4%ED%8B%B0%EB%B8%8C&amp;amp;NaPm=ct%3Dmm0l87yg%7Cci%3D02ef5dc8c31b3a6e73143755821d57acf03f46c0%7Ctr%3Dboknx%7Csn%3D95694%7Chk%3D654a161682a560a1828a8352842087ef9025e2be&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://search.shopping.naver.com/book/catalog/58985318290?cat_id=50010921&amp;amp;frm=PBOKMOD&amp;amp;query=%EC%95%B1+%EA%B0%9C%EB%B0%9C+%ED%8A%B8%EB%9F%AC%EB%B8%94%EC%8A%88%ED%8C%85+with+%EB%A6%AC%EC%95%A1%ED%8A%B8+%EB%84%A4%EC%9D%B4%ED%8B%B0%EB%B8%8C&amp;amp;NaPm=ct%3Dmm0l87yg%7Cci%3D02ef5dc8c31b3a6e73143755821d57acf03f46c0%7Ctr%3Dboknx%7Csn%3D95694%7Chk%3D654a161682a560a1828a8352842087ef9025e2be&lt;/a&gt;
&lt;figure id=&quot;og_1771938164425&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;앱 개발 트러블슈팅 with 리액트 네이티브 : 네이버 도서&quot; data-og-description=&quot;네이버 도서 상세정보를 제공합니다.&quot; data-og-host=&quot;search.shopping.naver.com&quot; data-og-source-url=&quot;https://search.shopping.naver.com/book/catalog/58985318290?cat_id=50010921&amp;amp;frm=PBOKMOD&amp;amp;query=%EC%95%B1+%EA%B0%9C%EB%B0%9C+%ED%8A%B8%EB%9F%AC%EB%B8%94%EC%8A%88%ED%8C%85+with+%EB%A6%AC%EC%95%A1%ED%8A%B8+%EB%84%A4%EC%9D%B4%ED%8B%B0%EB%B8%8C&amp;amp;NaPm=ct%3Dmm0l87yg%7Cci%3D02ef5dc8c31b3a6e73143755821d57acf03f46c0%7Ctr%3Dboknx%7Csn%3D95694%7Chk%3D654a161682a560a1828a8352842087ef9025e2be&quot; data-og-url=&quot;https://search.shopping.naver.com/book/catalog/58985318290&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/YabV8/dJMb83SfQez/ZFU2gT7NKGGfEyeFTgD0kK/img.jpg?width=458&amp;amp;height=596&amp;amp;face=0_0_458_596,https://scrap.kakaocdn.net/dn/0O5Cw/dJMb9cBE69i/426zoQumsLfk08eZkERkq0/img.jpg?width=300&amp;amp;height=438&amp;amp;face=0_0_300_438,https://scrap.kakaocdn.net/dn/i5gWi/dJMb9bvZj48/rlZvvKMvmztBDXNxVgnQk0/img.jpg?width=300&amp;amp;height=410&amp;amp;face=0_0_300_410&quot;&gt;&lt;a href=&quot;https://search.shopping.naver.com/book/catalog/58985318290?cat_id=50010921&amp;amp;frm=PBOKMOD&amp;amp;query=%EC%95%B1+%EA%B0%9C%EB%B0%9C+%ED%8A%B8%EB%9F%AC%EB%B8%94%EC%8A%88%ED%8C%85+with+%EB%A6%AC%EC%95%A1%ED%8A%B8+%EB%84%A4%EC%9D%B4%ED%8B%B0%EB%B8%8C&amp;amp;NaPm=ct%3Dmm0l87yg%7Cci%3D02ef5dc8c31b3a6e73143755821d57acf03f46c0%7Ctr%3Dboknx%7Csn%3D95694%7Chk%3D654a161682a560a1828a8352842087ef9025e2be&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://search.shopping.naver.com/book/catalog/58985318290?cat_id=50010921&amp;amp;frm=PBOKMOD&amp;amp;query=%EC%95%B1+%EA%B0%9C%EB%B0%9C+%ED%8A%B8%EB%9F%AC%EB%B8%94%EC%8A%88%ED%8C%85+with+%EB%A6%AC%EC%95%A1%ED%8A%B8+%EB%84%A4%EC%9D%B4%ED%8B%B0%EB%B8%8C&amp;amp;NaPm=ct%3Dmm0l87yg%7Cci%3D02ef5dc8c31b3a6e73143755821d57acf03f46c0%7Ctr%3Dboknx%7Csn%3D95694%7Chk%3D654a161682a560a1828a8352842087ef9025e2be&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/YabV8/dJMb83SfQez/ZFU2gT7NKGGfEyeFTgD0kK/img.jpg?width=458&amp;amp;height=596&amp;amp;face=0_0_458_596,https://scrap.kakaocdn.net/dn/0O5Cw/dJMb9cBE69i/426zoQumsLfk08eZkERkq0/img.jpg?width=300&amp;amp;height=438&amp;amp;face=0_0_300_438,https://scrap.kakaocdn.net/dn/i5gWi/dJMb9bvZj48/rlZvvKMvmztBDXNxVgnQk0/img.jpg?width=300&amp;amp;height=410&amp;amp;face=0_0_300_410');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;앱 개발 트러블슈팅 with 리액트 네이티브 : 네이버 도서&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;네이버 도서 상세정보를 제공합니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;search.shopping.naver.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>모바일/React Native</category>
      <category>개발</category>
      <category>교보문고</category>
      <category>리액트 네이티브</category>
      <category>알라딘</category>
      <category>앱</category>
      <category>예스24</category>
      <category>쿠팡</category>
      <category>트러블슈팅</category>
      <author>Major Gus</author>
      <guid isPermaLink="true">https://ychcom.tistory.com/542</guid>
      <comments>https://ychcom.tistory.com/entry/%EC%B1%85-%EC%B6%9C%EA%B0%84-%EC%95%B1-%EA%B0%9C%EB%B0%9C-%ED%8A%B8%EB%9F%AC%EB%B8%94%EC%8A%88%ED%8C%85-with-%EB%A6%AC%EC%95%A1%ED%8A%B8-%EB%84%A4%EC%9D%B4%ED%8B%B0%EB%B8%8C#entry542comment</comments>
      <pubDate>Tue, 24 Feb 2026 21:39:54 +0900</pubDate>
    </item>
    <item>
      <title>MultiClipboard</title>
      <link>https://ychcom.tistory.com/entry/MultiClipboard</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Landscape Banner Ad - 1200x720.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8DfEw/dJMcagkaxKQ/diT6GmtVDn4bckuddkkL6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8DfEw/dJMcagkaxKQ/diT6GmtVDn4bckuddkkL6K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8DfEw/dJMcagkaxKQ/diT6GmtVDn4bckuddkkL6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8DfEw%2FdJMcagkaxKQ%2FdiT6GmtVDn4bckuddkkL6K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;720&quot; data-filename=&quot;Landscape Banner Ad - 1200x720.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;클립보드 기능을 확장하여 최대 20개 오디오, 텍스트, 그림을 복사 붙여넣기 할 수 있는 MacOS 앱입니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Group 5.png&quot; data-origin-width=&quot;2880&quot; data-origin-height=&quot;1800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bb9cF0/dJMcafS6UMO/bjlYePv6R4RvzrNuc7yaZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bb9cF0/dJMcafS6UMO/bjlYePv6R4RvzrNuc7yaZK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bb9cF0/dJMcafS6UMO/bjlYePv6R4RvzrNuc7yaZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbb9cF0%2FdJMcafS6UMO%2FbjlYePv6R4RvzrNuc7yaZK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2880&quot; height=&quot;1800&quot; data-filename=&quot;Group 5.png&quot; data-origin-width=&quot;2880&quot; data-origin-height=&quot;1800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;좋아하는 사진이나 그림을 배경화면으로 넣을 수 있습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Group 6.png&quot; data-origin-width=&quot;2880&quot; data-origin-height=&quot;1800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BEku7/dJMcad10dFT/fQQoCTbytqrCS9AEP7N5KK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BEku7/dJMcad10dFT/fQQoCTbytqrCS9AEP7N5KK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BEku7/dJMcad10dFT/fQQoCTbytqrCS9AEP7N5KK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBEku7%2FdJMcad10dFT%2FfQQoCTbytqrCS9AEP7N5KK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2880&quot; height=&quot;1800&quot; data-filename=&quot;Group 6.png&quot; data-origin-width=&quot;2880&quot; data-origin-height=&quot;1800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;팝오버를 고정, 또는 단축키를 지정하여 호출할 수 있습니다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://apps.apple.com/kr/app/gusmulticlipboard/id6755681921?mt=12&quot;&gt;https://apps.apple.com/kr/app/gusmulticlipboard/id6755681921?mt=12&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1771395550566&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;GusMultiClipboard 앱 - App Store&quot; data-og-description=&quot;App&amp;nbsp;Store에서 changhyen yun의 GusMultiClipboard 앱을 다운로드하십시오. 스크린샷, 평가 및 리뷰, 사용자 팁 및 GusMultiClipboard 앱과 비슷한 다른 앱을 볼 수 있습니다.&quot; data-og-host=&quot;apps.apple.com&quot; data-og-source-url=&quot;https://apps.apple.com/kr/app/gusmulticlipboard/id6755681921?mt=12&quot; data-og-url=&quot;https://apps.apple.com/kr/app/gusmulticlipboard/id6755681921?mt=12&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/zpW73/dJMb9jOjpvX/N8YRWx7exj3vTytgIIFB5k/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/fJg4E/dJMb82Mzvvq/ydIMcfJoY2xB8EsKq3IvUk/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://apps.apple.com/kr/app/gusmulticlipboard/id6755681921?mt=12&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://apps.apple.com/kr/app/gusmulticlipboard/id6755681921?mt=12&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/zpW73/dJMb9jOjpvX/N8YRWx7exj3vTytgIIFB5k/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/fJg4E/dJMb82Mzvvq/ydIMcfJoY2xB8EsKq3IvUk/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;GusMultiClipboard 앱 - App Store&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;App&amp;nbsp;Store에서 changhyen yun의 GusMultiClipboard 앱을 다운로드하십시오. 스크린샷, 평가 및 리뷰, 사용자 팁 및 GusMultiClipboard 앱과 비슷한 다른 앱을 볼 수 있습니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;apps.apple.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;qr-code.png&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lIZrC/dJMcad10s5e/h3ZLy09fd4jG005u8fhKf1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lIZrC/dJMcad10s5e/h3ZLy09fd4jG005u8fhKf1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lIZrC/dJMcad10s5e/h3ZLy09fd4jG005u8fhKf1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlIZrC%2FdJMcad10s5e%2Fh3ZLy09fd4jG005u8fhKf1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;400&quot; data-filename=&quot;qr-code.png&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>MacOS</category>
      <category>clipboard</category>
      <category>Gus</category>
      <category>Macbook</category>
      <category>MacOS</category>
      <category>맥북</category>
      <category>클립보드</category>
      <author>Major Gus</author>
      <guid isPermaLink="true">https://ychcom.tistory.com/541</guid>
      <comments>https://ychcom.tistory.com/entry/MultiClipboard#entry541comment</comments>
      <pubDate>Tue, 17 Feb 2026 22:06:53 +0900</pubDate>
    </item>
    <item>
      <title>아기돼지 삼형제</title>
      <link>https://ychcom.tistory.com/entry/%EC%95%84%EA%B8%B0%EB%8F%BC%EC%A7%80-%EC%82%BC%ED%98%95%EC%A0%9C</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;동화 아기돼지 삼형제의 막내 집을 Full Immersive 상태에서 공간을 구현했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://youtu.be/1hqjiYQab_8&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://youtu.be/1hqjiYQab_8&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=1hqjiYQab_8&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/cnb4zE/dJMb85WOlrY/pQveOjbKidVVDzMaW7hks1/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/cEu8Cv/dJMb9jgshnn/HG8P4dASRZWNzi6m6gV2W0/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/sJ9W8/dJMb86nSCIu/I956gljTS65iCRFuSKfWkK/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;VisionPro 아기돼지 삼형제 (The Three Little Pigs)&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/1hqjiYQab_8&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>VisionPro</category>
      <category>SwiftUI</category>
      <category>visionOS</category>
      <category>아기돼지 삼형제</category>
      <author>Major Gus</author>
      <guid isPermaLink="true">https://ychcom.tistory.com/540</guid>
      <comments>https://ychcom.tistory.com/entry/%EC%95%84%EA%B8%B0%EB%8F%BC%EC%A7%80-%EC%82%BC%ED%98%95%EC%A0%9C#entry540comment</comments>
      <pubDate>Mon, 2 Feb 2026 14:19:44 +0900</pubDate>
    </item>
    <item>
      <title>MultipeerConnectivity</title>
      <link>https://ychcom.tistory.com/entry/MultipeerConnectivity</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot;&gt;동일한 앱끼리 짧은 거리의 데이터 통신 방식으로 서버없이 정보를 공유할수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://youtu.be/BDIQPANg-9A&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://youtu.be/BDIQPANg-9A&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=BDIQPANg-9A&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/ctoVq6/dJMb9lL6Ggq/p5LzqmkanvB9knCk6fvzbk/img.jpg?width=480&amp;amp;height=360&amp;amp;face=0_0_480_360,https://scrap.kakaocdn.net/dn/exABJ/dJMb895YG3B/Oir3lWGNTfP3asloshyWjk/img.jpg?width=480&amp;amp;height=360&amp;amp;face=0_0_480_360,https://scrap.kakaocdn.net/dn/8M32C/dJMb9ee82lx/vuyhafcsYJsLeVN1oZpva0/img.jpg?width=480&amp;amp;height=360&amp;amp;face=0_0_480_360&quot; data-video-width=&quot;480&quot; data-video-height=&quot;360&quot; data-video-origin-width=&quot;480&quot; data-video-origin-height=&quot;360&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;MultipeerConnectivity&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/BDIQPANg-9A&quot; width=&quot;480&quot; height=&quot;360&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>모바일/iOS</category>
      <category>iOS #</category>
      <category>MultipeerConnectivity</category>
      <category>SwiftUI</category>
      <author>Major Gus</author>
      <guid isPermaLink="true">https://ychcom.tistory.com/539</guid>
      <comments>https://ychcom.tistory.com/entry/MultipeerConnectivity#entry539comment</comments>
      <pubDate>Mon, 2 Feb 2026 14:07:07 +0900</pubDate>
    </item>
    <item>
      <title>멋쟁이사자처럼 테킷 앱 스쿨 iOS 5기 후기</title>
      <link>https://ychcom.tistory.com/entry/%EB%A9%8B%EC%9F%81%EC%9D%B4%EC%82%AC%EC%9E%90%EC%B2%98%EB%9F%BC-%ED%85%8C%ED%82%B7-%EC%95%B1-%EC%8A%A4%EC%BF%A8-iOS-5%EA%B8%B0-%ED%9B%84%EA%B8%B0</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;결론을 먼저 말하면 등록을 말리고 싶습니다.&amp;nbsp; 절때로 하지 마십시오&amp;nbsp;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;앞으로 언급 할 문제들은 개인적인 부분을 제외하고 최&lt;/b&gt;&lt;b&gt;대한 객관적이고 공통적인 부분만 추려서 말씀드린것이고,&amp;nbsp; 개인적으로 들어가면 더 문제가 많습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;아무리 중간에 관리 매니저가 바뀌고, 강사님이 첫 iOS 강의라 하더라고 수강생에게 1인당 650 ~ 700만원을 받는 부트캠프인데 이렇게 낮은 질의 서비스와&amp;nbsp; 책임감 없이 관리에&amp;nbsp; 정말&amp;nbsp; 너무 큰 실망을 하였습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;제글 뿐만 아니라 다른 지인을 정보를 통해서 듣고 올바른 판단을 하셔서 부디 후회일이 없도록 주의 하시길 빕니다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;참고로 KDT 정부 지원 사업은 부트캠프 회사에게 650~ 750만원의 돈을 한번에 지급하는 것이 아니라 수강생들이 하루 참석한 시간을 기준으로 지급을 합니다. 예들어 A라는 학생이 오늘 8시간중 5시간을 수업을 참여 했으면 고용노동부가 5시간에 참석을 기준으로 부트캠프 회사에 돈을 지급하는 방식입니다. 아마 한달단위로 계산해서 지급하지 않을까 합니다.&amp;nbsp; 이점을 참고하셔서 부트캠프 회사의 무조건 신뢰하지마 마시고 수강생 본인의 권리를 정당하게 누리면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 체계적이지 않는   수업&lt;/b&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- 커리큘럼&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LMS라고 기초 클래스가 있는데 수업으로 대체되는 반드시 시청해야하는 동영상 강의 입니다. 그런데 iOS관련 강의가 아닌 Javscript 기초 강의 입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-08-30 오전 9.20.32.png&quot; data-origin-width=&quot;908&quot; data-origin-height=&quot;672&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdIT1c/btsJjwIRoAZ/qwMQOiqR7FHvEZfckKQ4S1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdIT1c/btsJjwIRoAZ/qwMQOiqR7FHvEZfckKQ4S1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdIT1c/btsJjwIRoAZ/qwMQOiqR7FHvEZfckKQ4S1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdIT1c%2FbtsJjwIRoAZ%2FqwMQOiqR7FHvEZfckKQ4S1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;908&quot; height=&quot;672&quot; data-filename=&quot;스크린샷 2024-08-30 오전 9.20.32.png&quot; data-origin-width=&quot;908&quot; data-origin-height=&quot;672&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;수업이 3월 25일 ~ 9월 13일까지인데 이동영상 강의 수업 초반이 아닌 수업 초반에 한번 후반에 2번 iOS 전형 관련 없는 동영상 강의를 5시간을 들어야 하는 겁니다.&amp;nbsp; 이거를 커리큘럼에 편성한 멋쟁이 사자나 승인해준 고용노동부나 너무 책임감과 생각이 없습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- 강의 방식&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수업이 커리큘럼대로 진행 되지 않는 경우가 종종 있는데, 문제는 수업의 일관성이 없다는 겁니다. 교안 맞춰서 하다가 갑자기 &lt;b&gt;강사님이 수업과 상관 없는&amp;nbsp; 기능을 구현 한다던가, 수업 중간에 설명이 없이 혼자 개발을 하고 있다던가 강의를 집중을 할수 가 없습니다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수업전에 교안이나 자료가 이상 없는 확인하고 준비하는 것은 기본중 기본인데&amp;nbsp; &lt;b&gt;수업당일 교안과 실습 코드를 확인하고 오류 발생하면 수업시간에 오류 해결하시느라 하루 수업시간 반 또는 1/3을 날려 먹습니다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-08-30 오전 10.06.51.png&quot; data-origin-width=&quot;952&quot; data-origin-height=&quot;526&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsPaht/btsJj0wcV5b/jkKifomIGkwdZfH7dx4L41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsPaht/btsJj0wcV5b/jkKifomIGkwdZfH7dx4L41/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsPaht/btsJj0wcV5b/jkKifomIGkwdZfH7dx4L41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsPaht%2FbtsJj0wcV5b%2FjkKifomIGkwdZfH7dx4L41%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;952&quot; height=&quot;526&quot; data-filename=&quot;스크린샷 2024-08-30 오전 10.06.51.png&quot; data-origin-width=&quot;952&quot; data-origin-height=&quot;526&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-08-30 오전 9.50.23.png&quot; data-origin-width=&quot;930&quot; data-origin-height=&quot;258&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eyvnhj/btsJj4eet12/52u3GWQMttZc8kej6Mhf81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eyvnhj/btsJj4eet12/52u3GWQMttZc8kej6Mhf81/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eyvnhj/btsJj4eet12/52u3GWQMttZc8kej6Mhf81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Feyvnhj%2FbtsJj4eet12%2F52u3GWQMttZc8kej6Mhf81%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;930&quot; height=&quot;258&quot; data-filename=&quot;스크린샷 2024-08-30 오전 9.50.23.png&quot; data-origin-width=&quot;930&quot; data-origin-height=&quot;258&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수업 중간에 질문을 하면 chatGPT 검색한 것을 그대로 복사 붙여 넣기로 답변합니다. 물론 chatGPT에 도움 받는 것을 나쁜것이 아니지만 생성의 AI 특성상 잘못된 설명이나 어색한 문구를 사용할 수 있기 떄문에 이런부분을 검토 수정 보완하고 알려줘야 하는데 그대로 복사 붙여 넣기로 한다는 점입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-08-30 오전 10.01.33.png&quot; data-origin-width=&quot;1706&quot; data-origin-height=&quot;1296&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mYH3Y/btsJkXrVBvj/ZFP3VhnhMsyOiLKfOMzqa0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mYH3Y/btsJkXrVBvj/ZFP3VhnhMsyOiLKfOMzqa0/img.png&quot; data-alt=&quot;질문의 대한 답변을 chatGPf로 답변한 자료&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mYH3Y/btsJkXrVBvj/ZFP3VhnhMsyOiLKfOMzqa0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmYH3Y%2FbtsJkXrVBvj%2FZFP3VhnhMsyOiLKfOMzqa0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1706&quot; height=&quot;1296&quot; data-filename=&quot;스크린샷 2024-08-30 오전 10.01.33.png&quot; data-origin-width=&quot;1706&quot; data-origin-height=&quot;1296&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;질문의 대한 답변을 chatGPf로 답변한 자료&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아까 강사님 수업을 하다가 갑자기 혼자서 개발을 하신다고 말씀드렸는데, &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;수업 자료도 제대로 확인 안해서 불필요하게 수업시간을 낭비하는 것도 화가 나는데&lt;span&gt; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;수강생들에게 이것좀 해결주세요 알려주세요 부탁을 합니다.   하..진짜..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정말 큰 문제는 이런 문제를 수강생들이 설문에서 개선 해달라고 해도 오히려 화를 내시고 실무 상황을 보여주는 거다라는 말도 안돼는 소리를 하시고 바뀐게 없이 똑같이 수업을 했습니다.&amp;nbsp; 수업을 같이 듣는 매니저, 보조강사님들이 계신대도 이런 문제점이 개선이 안된다는 것은 피드백이나 수업전 점검 또는 테스트등 제대로 된 시스템이 체계가 없다는 애기입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 엉망이 취업 지원&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;부트캠프를 하는 가장 큰 이유는 취업 지원입니다. 이력서, 포트폴리오 작성 요령 및 검토 그리고 회사 연계 등등&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;회사 소개 SI, SES등 개발자들이 가장 기피하는 회사를 소개, 수강생에게 좀더 좋은 회사를 소개 해달라 요청 했지만, 멋쟁이사자들에 답변은 필요 없으면 안들으면 된다 였습니다.&amp;nbsp; 이일 이후로 더이상 취업 설명회는 없었습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-08-30 오전 10.09.30.png&quot; data-origin-width=&quot;1050&quot; data-origin-height=&quot;342&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/56v3w/btsJjYSGM96/w4CdJ8CzAKceI2jyNQWAxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/56v3w/btsJjYSGM96/w4CdJ8CzAKceI2jyNQWAxk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/56v3w/btsJjYSGM96/w4CdJ8CzAKceI2jyNQWAxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F56v3w%2FbtsJjYSGM96%2Fw4CdJ8CzAKceI2jyNQWAxk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1050&quot; height=&quot;342&quot; data-filename=&quot;스크린샷 2024-08-30 오전 10.09.30.png&quot; data-origin-width=&quot;1050&quot; data-origin-height=&quot;342&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이력서나 포트폴리오 검토를 수업 초반 정확한 날짜는 기억나지 않지만 대략 수업이 2개월차 쯤 사전에 이력서와 포트폴리오를 멋쟁이 사자 매니저가 제출 해달라고 하시고 막상&amp;nbsp; 취업지원팀에서 해당 자료를 받은 적이 없어 다시 제출 해달라고 말을 했습니다.&amp;nbsp; 이력서와 포트폴리오 대략 8월 초에 30분이 1번이 전부 였습니다.&amp;nbsp; 그전에도 개인적으로 이력서나 포트폴리오 검토늘 요청했으나 답변이 없었습니다. 이&lt;b&gt;력서와 포트폴리오를 제출한 4월부터 개인 취업 면담 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;8월초까지 &lt;/span&gt;&amp;nbsp;4개월동안 어느누구도 수강생의&amp;nbsp; 이력서나 포트폴리오를 신경쓰지 않았다는 점입니다.&amp;nbsp;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3 .&amp;nbsp; 계속 발생하는&amp;nbsp; 장애&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;수업시작전 수업이 종료전&amp;nbsp; 멋쟁이 사자들이 운영하는 테크잇 홈페이지 자기인증과 출결 QR을 찍어야 합니다. 이게 안되어 있으면 수업에 참여해도 결석 처리가 됩니다. 그런데 &lt;b&gt;멋쟁이 사자들이 운영하는 테크잇 홈페이지는 약 30~40번 장애가 발생합니다.&amp;nbsp;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_스크린샷 2024-07-31 오전 9.52.08.png&quot; data-origin-width=&quot;1450&quot; data-origin-height=&quot;752&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/deWj44/btsJjqvitau/rQTluIGE9K65iJHlryRcN1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/deWj44/btsJjqvitau/rQTluIGE9K65iJHlryRcN1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/deWj44/btsJjqvitau/rQTluIGE9K65iJHlryRcN1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdeWj44%2FbtsJjqvitau%2FrQTluIGE9K65iJHlryRcN1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;732&quot; height=&quot;380&quot; data-filename=&quot;edited_스크린샷 2024-07-31 오전 9.52.08.png&quot; data-origin-width=&quot;1450&quot; data-origin-height=&quot;752&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_스크린샷 2024-07-31 오전 9.52.18.png&quot; data-origin-width=&quot;1356&quot; data-origin-height=&quot;762&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWVqeB/btsJlq1tbn3/JjDg0zD6133GGCKpCevQbK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWVqeB/btsJlq1tbn3/JjDg0zD6133GGCKpCevQbK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWVqeB/btsJlq1tbn3/JjDg0zD6133GGCKpCevQbK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWVqeB%2FbtsJlq1tbn3%2FJjDg0zD6133GGCKpCevQbK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;605&quot; height=&quot;340&quot; data-filename=&quot;edited_스크린샷 2024-07-31 오전 9.52.18.png&quot; data-origin-width=&quot;1356&quot; data-origin-height=&quot;762&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_스크린샷 2024-07-31 오전 9.52.32.png&quot; data-origin-width=&quot;1320&quot; data-origin-height=&quot;872&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Jyfe3/btsJjTRvP4h/KJGuYpFPIJFSKQnDtqgNc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Jyfe3/btsJjTRvP4h/KJGuYpFPIJFSKQnDtqgNc0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Jyfe3/btsJjTRvP4h/KJGuYpFPIJFSKQnDtqgNc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJyfe3%2FbtsJjTRvP4h%2FKJGuYpFPIJFSKQnDtqgNc0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;580&quot; height=&quot;383&quot; data-filename=&quot;edited_스크린샷 2024-07-31 오전 9.52.32.png&quot; data-origin-width=&quot;1320&quot; data-origin-height=&quot;872&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-07-31 오전 10.12.04.png&quot; data-origin-width=&quot;597&quot; data-origin-height=&quot;383&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bt1xUX/btsJkoDAjLe/Xxvxhy0uCY68T4397QgSUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bt1xUX/btsJkoDAjLe/Xxvxhy0uCY68T4397QgSUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bt1xUX/btsJkoDAjLe/Xxvxhy0uCY68T4397QgSUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbt1xUX%2FbtsJkoDAjLe%2FXxvxhy0uCY68T4397QgSUK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;597&quot; height=&quot;383&quot; data-filename=&quot;스크린샷 2024-07-31 오전 10.12.04.png&quot; data-origin-width=&quot;597&quot; data-origin-height=&quot;383&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_스크린샷 2024-07-31 오전 9.54.45.png&quot; data-origin-width=&quot;418&quot; data-origin-height=&quot;775&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/waoow/btsJkP8Eq9O/vPp0mkRrY6BuoD1nDAOUO1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/waoow/btsJkP8Eq9O/vPp0mkRrY6BuoD1nDAOUO1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/waoow/btsJkP8Eq9O/vPp0mkRrY6BuoD1nDAOUO1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fwaoow%2FbtsJkP8Eq9O%2FvPp0mkRrY6BuoD1nDAOUO1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;314&quot; height=&quot;582&quot; data-filename=&quot;edited_스크린샷 2024-07-31 오전 9.54.45.png&quot; data-origin-width=&quot;418&quot; data-origin-height=&quot;775&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 그럼에도 좋았던점&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주 1회 4시간은 UI/UX 강의를 다른 강사님이 합니다. 이 강사님 워낙 언변이 좋으시기도 하지만 개발도 같이 하시기 때문에 강의 전달력이 좋았습니다. 정해진 커리큘럼에도 크게 벗어나지 않고, 준비하신 수업자료가 문제가 생긴적이 한번도 없었습니다.&amp;nbsp; 많은 수강생들 질문이 하나도 놓치지 않고 그자리에서 바로 답변을 해주는 모습은 강사님의 대한 신뢰도가 많이 높아 졌습니다. 많은 앱개발자 들이 UI/UX 중요성을 간과하시는 분들이 많으신데 디자이너의 협업과 사용자의 인터렉션에도 중요하기 때문에 다른 부트 캠프에서도 꼭 필요한 강의라고 생각 합니다.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>일기장/합격</category>
      <category>ios</category>
      <category>멋쟁이사자</category>
      <category>스쿨</category>
      <category>앱</category>
      <category>테킷</category>
      <author>Major Gus</author>
      <guid isPermaLink="true">https://ychcom.tistory.com/537</guid>
      <comments>https://ychcom.tistory.com/entry/%EB%A9%8B%EC%9F%81%EC%9D%B4%EC%82%AC%EC%9E%90%EC%B2%98%EB%9F%BC-%ED%85%8C%ED%82%B7-%EC%95%B1-%EC%8A%A4%EC%BF%A8-iOS-5%EA%B8%B0-%ED%9B%84%EA%B8%B0#entry537comment</comments>
      <pubDate>Fri, 30 Aug 2024 11:10:50 +0900</pubDate>
    </item>
    <item>
      <title>2025 애플 디벨로퍼 아카데미 4기 최종 합격</title>
      <link>https://ychcom.tistory.com/entry/2025-%EC%95%A0%ED%94%8C-%EB%94%94%EB%B2%A8%EB%A1%9C%ED%8D%BC-%EC%95%84%EC%B9%B4%EB%8D%B0%EB%AF%B8-4%EA%B8%B0-%EC%B5%9C%EC%A2%85-%ED%95%A9%EA%B2%A9</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-08-09 오후 3.02.39.png&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;857&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/o5vst/btsJdd1PG6N/hIWlcl9hPODt7WarfFtEJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/o5vst/btsJdd1PG6N/hIWlcl9hPODt7WarfFtEJK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/o5vst/btsJdd1PG6N/hIWlcl9hPODt7WarfFtEJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fo5vst%2FbtsJdd1PG6N%2FhIWlcl9hPODt7WarfFtEJK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;639&quot; height=&quot;857&quot; data-filename=&quot;스크린샷 2024-08-09 오후 3.02.39.png&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;857&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;멋쟁이 사자들 iOS 부트캠프와 병행하면서 준비하느라 힘들었는데 최종 합격 하고 나니&lt;br /&gt;힘들었던 시간이 보상이 되는군요 :)&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;지원한 계기&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;리액트 네이티브가 가지고 있는 네이티브 의존성과 개발 고도화에 작업에 대한 한계를 느끼고 네이티브 앱개발로 전환을 결정 했고,&amp;nbsp; 멋쟁이 사자들이라는 iOS 부트캠프를 참여 했으나 강의와 체계가 너무 엉망이여서 좀더 나은 교육을 찾던중 현재의 애플 디벨로퍼 아카데미를 찾게 되었고 지원전 오픈데이를 통해 애플 디벨로퍼 아카데미 교육 방법과 예비지원자분들의 다양한 경험과 경력들이 저에게 많은 성장과 도움이 될것 판단하여 망설이지 않고 바로 지원 했습니다. :) &lt;b&gt;시설 또한 제가본 교육기관중 최고 였습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. 서류 지원&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Core Competencies&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;기존에 작성하던&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Life Journey를 토대로 200자 내의&amp;nbsp; 문장으로 나를 사람을 어떤 사람인지를 함축적으로 적었습니다.&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Life Journey&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;애플 아카데미에서 강조하는 T형 인재를 토대로 과거에서 현재 애플아카데미에 이르기까지의 인생 여정을 이어서 작성 했습니다.&amp;nbsp; &lt;b&gt;특히 저는 남들이 쉽게 경험하지 못했던 사건과 그 사건을 통해서 어떤 것을 얻었는지를&amp;nbsp; &lt;/b&gt;강조했습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_스크린샷 2024-08-22 오후 4.24.13.png&quot; data-origin-width=&quot;1109&quot; data-origin-height=&quot;778&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgabfp/btsJcKTq7Gc/S5FCEOonOsjX1EIZK2kJm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgabfp/btsJcKTq7Gc/S5FCEOonOsjX1EIZK2kJm0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgabfp/btsJcKTq7Gc/S5FCEOonOsjX1EIZK2kJm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbgabfp%2FbtsJcKTq7Gc%2FS5FCEOonOsjX1EIZK2kJm0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1109&quot; height=&quot;778&quot; data-filename=&quot;edited_스크린샷 2024-08-22 오후 4.24.13.png&quot; data-origin-width=&quot;1109&quot; data-origin-height=&quot;778&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;포트폴리오&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 개발자여서 Tech분야로 지원을 했는데, 개발에서 제가 가장 많이 기여했던 몇가지를 골라 어떻게 문제를 발견하고 이문제를 해결을 하기위해 어떤 방법과 과정을 통해 해결 했는지를 Life Journey에서 기술한 성향과 태도가 일치 되도록 작성 했습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_스크린샷 2024-08-22 오후 4.34.13.png&quot; data-origin-width=&quot;1261&quot; data-origin-height=&quot;1241&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d2wIPt/btsJcOVRvql/5FajosYEwyKvGUhQsY3kW1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d2wIPt/btsJcOVRvql/5FajosYEwyKvGUhQsY3kW1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d2wIPt/btsJcOVRvql/5FajosYEwyKvGUhQsY3kW1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd2wIPt%2FbtsJcOVRvql%2F5FajosYEwyKvGUhQsY3kW1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1261&quot; height=&quot;1241&quot; data-filename=&quot;edited_스크린샷 2024-08-22 오후 4.34.13.png&quot; data-origin-width=&quot;1261&quot; data-origin-height=&quot;1241&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. 온라인 테스트&lt;/b&gt;&amp;nbsp;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;온라인 테스트는 자세히 말할수 없지만 아이큐 테스트와 비슷하다고 할수 있습니다.&amp;nbsp; 즉 미리 준비하거나 공부해서 풀수 있는 테스트가 아니기에 시험전에 가장좋은 컨디션으로 테스트를 보시고 시간이 부족하니 테스트간에 시간 분배 잘하세요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;3. 온라인 인터뷰&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 첫번째 온라인 인터뷰 그룹으로 배정되어 준비할 시간이 없어 걱정을 많이 했으나,&amp;nbsp; 시간이 있다고 해도 대비할 수 없는 인터뷰였습니다. 개발 회사에서 보는 인터뷰하고 너무 달랐습니다. 조금 힌트를 드린다면 인터뷰에 적극적으로 임하고, 외향적인 성격이면 좀더 유리하지 않을까? 라는 점과 합격여부를 예측할 수 없는 면접관 질문들만 있을 뿐입니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>일기장/합격</category>
      <category>Academy</category>
      <category>ADA</category>
      <category>Apple</category>
      <category>developer</category>
      <category>POSTECH</category>
      <category>디벨로퍼</category>
      <category>아카데미</category>
      <category>애플</category>
      <category>포스텍</category>
      <author>Major Gus</author>
      <guid isPermaLink="true">https://ychcom.tistory.com/536</guid>
      <comments>https://ychcom.tistory.com/entry/2025-%EC%95%A0%ED%94%8C-%EB%94%94%EB%B2%A8%EB%A1%9C%ED%8D%BC-%EC%95%84%EC%B9%B4%EB%8D%B0%EB%AF%B8-4%EA%B8%B0-%EC%B5%9C%EC%A2%85-%ED%95%A9%EA%B2%A9#entry536comment</comments>
      <pubDate>Thu, 22 Aug 2024 16:52:44 +0900</pubDate>
    </item>
    <item>
      <title>Objective C Enum을 -&amp;gt; Swift에서 사용하기</title>
      <link>https://ychcom.tistory.com/entry/Objective-C-Enum%EC%9D%84-Swift%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;objective-c Enum(enumeration :이름이 지정된 상수위 집합)의 데이터 구조를&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;swift에서도 사용하도록 하는데 많은 제약 사항이 발생 했다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;T1.&lt;/b&gt; objective-c&amp;nbsp; Enum은 int로만 초기화가 가능하다.&amp;nbsp;&lt;br /&gt;즉 초기화를 하지 않으면 default로 int형으로 초기화 된다는 말이다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1687741106084&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;typedef enum {
    can, // 0
    Timesale, // 1
    Portal, // 2
}enumTest;

typedef enum {
    can = 1, //1
    Timesale = 2, //2
    Portal = 3, //3
}enumTest;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q1.&lt;/b&gt; 결정해야 한다. enum 구조를 string형으로 할지, int형으로 할지&lt;/p&gt;
&lt;pre id=&quot;code_1687742616014&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// string 형식을 아래와 같이 사용하면 된다. 

typedef NSString *const enumTest;

static enumTest
can = @&quot;CAN&quot;,
Timesale = @&quot;TIMESALE&quot;,
Portal = @&quot;PORTAL&quot;;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 그냥 int형을 사용하기로 했다,&lt;br /&gt;string형식이 거의 필요하지 않기도 했고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필요하면, 해당 메소드에 switch 문을&lt;br /&gt;사용해서 변환하기로 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;T2.&lt;/b&gt; objective-c 사용하던 방식으로는 enum 형태는&amp;nbsp; swift에서&lt;br /&gt;인식을 하지 못해 찾을수가 없다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-06-26 오전 10.15.38.png&quot; data-origin-width=&quot;246&quot; data-origin-height=&quot;38&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l2UTb/btslhcFZv5D/fmtKAqNdL4caohm40EzkJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l2UTb/btslhcFZv5D/fmtKAqNdL4caohm40EzkJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l2UTb/btslhcFZv5D/fmtKAqNdL4caohm40EzkJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl2UTb%2FbtslhcFZv5D%2FfmtKAqNdL4caohm40EzkJk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;246&quot; height=&quot;38&quot; data-filename=&quot;스크린샷 2023-06-26 오전 10.15.38.png&quot; data-origin-width=&quot;246&quot; data-origin-height=&quot;38&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Q2. NS_ENUM 매크로를 사용한다. &lt;br /&gt;추가적으로 swift에서 사용할 수 있는 이름을 재지정하는 &lt;span style=&quot;background-color: #ffffff; color: #1d1d1f; text-align: left;&quot;&gt;NS&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #1d1d1f; text-align: left;&quot;&gt;_SWIFT&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #1d1d1f; text-align: left;&quot;&gt;_NAME&lt;/span&gt; 매크로도 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1687743252326&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;typedef NS_ENUM(int, enumTest) {
    can = 1,
    Timesale = 2,
    Portal = 3,
};

typedef NS_ENUM(int, enumTest) {
    can = 1,
    Timesale = 2,
    Portal = 3,
}NS_SWIFT_NAME(swiftEnumTest);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a title=&quot;참조&quot; href=&quot;https://developer.apple.com/documentation/swift/grouping-related-objective-c-constants&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://developer.apple.com/documentation/swift/grouping-related-objective-c-constants&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1687742901543&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Grouping Related Objective-C Constants | Apple Developer Documentation&quot; data-og-description=&quot;Add macros to your Objective-C types to group their values in Swift.&quot; data-og-host=&quot;developer.apple.com&quot; data-og-source-url=&quot;https://developer.apple.com/documentation/swift/grouping-related-objective-c-constants&quot; data-og-url=&quot;https://docs.developer.apple.com/documentation/swift/grouping-related-objective-c-constants&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cPHKnQ/hyS8orJLSS/KO4ncxWQXfRGQKMiPMTmM0/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bSGGTY/hyS6xcMmDa/h0apSbkZCGKhS5KFZhmp50/img.jpg?width=1024&amp;amp;height=512&amp;amp;face=0_0_1024_512&quot;&gt;&lt;a href=&quot;https://developer.apple.com/documentation/swift/grouping-related-objective-c-constants&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://developer.apple.com/documentation/swift/grouping-related-objective-c-constants&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cPHKnQ/hyS8orJLSS/KO4ncxWQXfRGQKMiPMTmM0/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bSGGTY/hyS6xcMmDa/h0apSbkZCGKhS5KFZhmp50/img.jpg?width=1024&amp;amp;height=512&amp;amp;face=0_0_1024_512');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Grouping Related Objective-C Constants | Apple Developer Documentation&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Add macros to your Objective-C types to group their values in Swift.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;developer.apple.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;T3.&lt;/b&gt; 선언한 열거형에서 바로 체인형식으로 사용하면&amp;nbsp;&lt;br /&gt;타입 에러가 발생했다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1687741639681&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;enumTest.can // int32 error 발생
enumTest.Timesale // int32 error 발생
enumTest.Portal // int32 error 발생&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-06-26 오전 10.03.24.png&quot; data-origin-width=&quot;270&quot; data-origin-height=&quot;34&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/edfqxP/btslaGO7vzw/uazThkGvKxv5bhLFiUEPjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/edfqxP/btslaGO7vzw/uazThkGvKxv5bhLFiUEPjK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/edfqxP/btslaGO7vzw/uazThkGvKxv5bhLFiUEPjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FedfqxP%2FbtslaGO7vzw%2FuazThkGvKxv5bhLFiUEPjK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;270&quot; height=&quot;34&quot; data-filename=&quot;스크린샷 2023-06-26 오전 10.03.24.png&quot; data-origin-width=&quot;270&quot; data-origin-height=&quot;34&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Q3.&amp;nbsp; 별도의 변수를 선언후 enum을 타입으로 지정한후,&lt;br /&gt;해당 값을 사용시 rawvalue로 선언해서 사용한다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1687755631277&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// swift 프로젝트 안에서

let swiftEnumTest: enumTest = .can

HCHyper.sharedInstance().sceneStart(ARScanScene.rawValue)&lt;/code&gt;&lt;/pre&gt;</description>
      <category>모바일/iOS</category>
      <category>enum</category>
      <category>Objc</category>
      <category>Objective</category>
      <category>Objective C</category>
      <category>Swift</category>
      <author>Major Gus</author>
      <guid isPermaLink="true">https://ychcom.tistory.com/530</guid>
      <comments>https://ychcom.tistory.com/entry/Objective-C-Enum%EC%9D%84-Swift%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0#entry530comment</comments>
      <pubDate>Mon, 26 Jun 2023 09:43:29 +0900</pubDate>
    </item>
    <item>
      <title>Objective c 네트워크 통신</title>
      <link>https://ychcom.tistory.com/entry/Objective-c-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%ED%86%B5%EC%8B%A0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;작성 이유 :&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Unityframwork에게&amp;nbsp;&lt;br /&gt;accesstoken을 전달해야 하는 issue가 발생하여&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서버로 api 통신을 하는 메소드를 만들어야하는 작업이 생겼다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;환경 :&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Unityframwork가 objective c로 되어 있어&lt;br /&gt;핸들링도 objective c로 작성해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서버에 요청하는 하는 메소드&lt;/p&gt;
&lt;pre id=&quot;code_1684976401876&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// argument는 
// url : api를 요청할 url 주소
// postData : post 방식으로 사용시 body에 넣어줄 데이터 
+ (NSData *)request:(NSString *)method url:(NSString *)url postData:(NSData *)postData{=
	
    // result: completionHandler 핸들러의 결과 값을 저장할 변수 
    __block NSData * result = nil;
    
   	// NSMutableURLRequest : 서버에 api 요청하기 위한 scheme
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc]init];
    
    // url string 설정
    [request setURL:[NSURL URLWithString:url]];
    
    // start 헤더 세팅 ~
    NSString *authValue = [NSString stringWithFormat: @&quot;Bearer %@&quot;,accessToken];
    [request setValue:authValue forHTTPHeaderField:@&quot;Authorization&quot;];
    
    NSString *postLength = [NSString stringWithFormat:@&quot;application/json&quot;];
    [request setValue:postLength forHTTPHeaderField:@&quot;accept&quot;];
    // ~  헤더 세팅 end
   
    // 만약 get 방식이라면
    if([method isEqualToString:@&quot;GET&quot;])
    {
        [request setHTTPMethod:@&quot;GET&quot;];
    }else{
    // 만약 post 방식이라면
        [request setHTTPMethod:@&quot;POST&quot;];
        [request setHTTPBody:postData];
    }
    
    
    // 서버의 응답을 비동기로 받기 위해 semaphore 시작
    dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
    
    // NSURLSession : 네트위크 데이터 전송과 관련된 것을 조정하는 객체 
    NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
    
    // dataTaskWithRequest : 지정한 url 요청 객체를 기준으로 내용을 검색하는 작업을 만든다. 
    [[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error){
        if (error) {
            NSLog(@&quot;error = %@&quot;, error);
            result = nil;
            
            // error발생으로 semaphore 종료
            dispatch_semaphore_signal(semaphore);
            return;
        }
        
        // network statusCode parsing
        NSInteger statusCode = [(NSHTTPURLResponse *)response statusCode];
        
        // 200 ~ 500 때 조건일 경우 서버 데이터를 result 변수에 넣기
        if (statusCode &amp;gt;= 200 &amp;amp;&amp;amp; statusCode &amp;lt; 500) {
            result = data;
        }
        
        // 서버에 응답을 받았기 때문에 semaphore 종료
        dispatch_semaphore_signal(semaphore);
        return;
    }]resume];
    
    // 위 작업을 끝날때 까지 대기
    dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
    
    return result;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;accesstoken을 요청하는 메소드&lt;/p&gt;
&lt;pre id=&quot;code_1684976501977&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 공통의 prefix url define
#define URL @&quot;https://test.test.test&quot;

// 서버에 요청 필요한 argument를 상황에 맞게 만들면 된다. 
// 나같은 경우에는 appkey, userid가 필요
(NSDictionary *)requestAccessToken:(NSString *)appKey userid:(NSString*)userId{
    
    // key  value 형식인 NSMutableDictionary에 데이터를 담아 return할 예정
    NSMutableDictionary *accessTokenStatus = [[NSMutableDictionary alloc] init];
    
    NSString *url = [NSString stringWithFormat:@&quot;%@/client/auth/init&quot;,URL];
    
    // post method body
    NSString *postParams = [NSString stringWithFormat:@&quot;appKey=%@&amp;amp;userId=%@&quot;,appKey,userId];
    
    // dataUsingEncoding: 옵션 형태에 맞는 NSData로 변환
    NSData *postData = [postParams dataUsingEncoding:NSUTF8StringEncoding];
    
    // 예외 처리를 위해 @try ~ catch 구문 사용
    @try{
    
    	// 위에 작성한 request 메소들 서버에 accesstoken 발급 요청
        NSData *result = [self request:@&quot;POST&quot; url:url postData:postData];
        
        // 서버에 응답 받은 데이터를 json 형태로 변환
        id json = [NSJSONSerialization JSONObjectWithData:result options:0 error:nil];
        
        //  조건에 따라 분기  
        if([json objectForKey:@&quot;error&quot;]){
            
            [accessTokenStatus setObject:@NO forKey:@&quot;status&quot;];
            [accessTokenStatus setObject:[[json objectForKey:@&quot;error&quot;] objectForKey:@&quot;code&quot;] forKey:@&quot;accessToken&quot;];
            [accessTokenStatus setObject:[[[json objectForKey:@&quot;error&quot;] objectForKey:@&quot;desc&quot;] objectAtIndex:0] forKey:@&quot;errorMsg&quot;];
            
            return accessTokenStatus;
        }
        
        // 전역으로 선언한 accessToken, refreshToken 변수에 서버에 응답 받은 토큰을 저장
        accessToken = [json objectForKey:@&quot;accessToken&quot;];
        refreshToken = [json objectForKey:@&quot;refreshToken&quot;];
        
        [accessTokenStatus setObject:@YES forKey:@&quot;status&quot;];
        
        return accessTokenStatus;
        
    } @catch (NSException *exception){
        
        [accessTokenStatus setObject:@NO forKey:@&quot;status&quot;];
        [accessTokenStatus setObject:@&quot;NETWORK_ERROR&quot; forKey:@&quot;accessToken&quot;];
        [accessTokenStatus setObject:@&quot;네트워크 환경을 확인해주세요&quot; forKey:@&quot;errorMsg&quot;];
        
        return accessTokenStatus;
    }
};&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;jwt 유효성 확인하는 메서드&lt;/p&gt;
&lt;pre id=&quot;code_1684979120132&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;(BOOL)validationAccessToken{
    
    // accessToken 전역변수에 저장여부를 확인
    // 저장이 안되어 있다면 유효성 확인이 불필요 하기 때문
    if(accessToken == nil){
        return NO;
    }
    
    NSString *jwtToken = accessToken;
    
    // 유효성을 expire 시간을 기준으로 하기 때문에 
    // 현재 시간을 unix 형태로 가져옴
    int currentTime = [[NSDate date] timeIntervalSince1970];
    
    // &quot;.&quot;을 기준으로 string을 나누기
    NSArray *components = [jwtToken componentsSeparatedByString:@&quot;.&quot;];
    
    // jwt .이 2개가 있기에 총 3개의 인덱스로 나눠지고
    // 기중 2번째 배열에 data 정보 즉 expire time이 있기에 그정보를 payloadBase64Url변수에 넣어준다.
    NSString *payloadBase64Url = components[1];
    NSString *payloadBase64 = [[payloadBase64Url stringByReplacingOccurrencesOfString:@&quot;-&quot; withString:@&quot;+&quot;] stringByReplacingOccurrencesOfString:@&quot;_&quot; withString:@&quot;/&quot;];
    
    // objective는 4bit 단위로 정확히 떨어지지 않으면 encode, decode가 불가능하다
    // 그래서 만약 4bit 단위로 맞지 않으면 임의 &quot;=&quot; 패딩 값을 넣어 맞춰줘서 decode 해야한다. 
    while ([payloadBase64 length] % 4 != 0) {
        payloadBase64 = [payloadBase64 stringByAppendingString:@&quot;=&quot;];
    };
    
    // 4bit 단위로 맞춰준 jwt의 data값을 decoding 해준다. 
    NSData *payloadData = [[NSData alloc] initWithBase64EncodedString:payloadBase64 options:0];
    
    // json 형태로 변경해주고
    id json = [NSJSONSerialization JSONObjectWithData:payloadData options:0 error:nil];
    
    // expire time value를 비교 해준다. 
    if([[json objectForKey:@&quot;exp&quot;] intValue] &amp;gt; currentTime){
        return YES;
    }else{
        return NO;
    }
    
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>모바일/iOS</category>
      <category>accesstoken</category>
      <category>API</category>
      <category>JWT</category>
      <category>Objective C</category>
      <category>token</category>
      <author>Major Gus</author>
      <guid isPermaLink="true">https://ychcom.tistory.com/529</guid>
      <comments>https://ychcom.tistory.com/entry/Objective-c-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%ED%86%B5%EC%8B%A0#entry529comment</comments>
      <pubDate>Thu, 25 May 2023 09:27:21 +0900</pubDate>
    </item>
  </channel>
</rss>