<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>성장형개발자</title>
    <link>https://bubble94.tistory.com/</link>
    <description>시작은 미미하지만 점점 창대하리라
비전공자 신입의 성장 페이지('19.1.2 첫출근)</description>
    <language>ko</language>
    <pubDate>Thu, 16 Jul 2026 13:24:49 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>성장형_개발자</managingEditor>
    <image>
      <title>성장형개발자</title>
      <url>https://tistory1.daumcdn.net/tistory/3049429/attach/9e55cc4a6ac04c99814f6890f4294dc1</url>
      <link>https://bubble94.tistory.com</link>
    </image>
    <item>
      <title>프로그래밍의 정석 책 후기</title>
      <link>https://bubble94.tistory.com/entry/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%EC%9D%98-%EC%A0%95%EC%84%9D-%EC%B1%85-%ED%9B%84%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cFa8qM/dJMb9O8xM9M/wVk5HdsEG0gzcME69WiCO0/tfile.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cFa8qM/dJMb9O8xM9M/wVk5HdsEG0gzcME69WiCO0/tfile.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cFa8qM/dJMb9O8xM9M/wVk5HdsEG0gzcME69WiCO0/tfile.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFa8qM%2FdJMb9O8xM9M%2FwVk5HdsEG0gzcME69WiCO0%2Ftfile.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;3000&quot; height=&quot;4000&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;이사도 하고 오랜만에 책도 읽고 싶어서 새로운 동네 도서관을 가봤다&lt;br&gt;그러다 프로그래밍의 정석 이라는 책을 빌려보게 되었다&lt;br&gt;&lt;br&gt;개인적인 후기로는 일종의 판교어랄까?&lt;br&gt;결론적으로는 어떤 내용을 말하고 싶은지는 알 듯 한데 그에 대한 단어들은 생각보다 어렵게 느껴진다&lt;br&gt;&lt;br&gt;주니어 입장에서는 읽다보면 이런 부분들까지도 다 알고 있어야 하나 싶을 정도로 부담이 될 듯 싶다&lt;br&gt;&lt;br&gt;갓 주니어를 뗏다고 느끼는 레벨에서는 코드가 없어서 의심스러울 듯 하고 그 위 레벨은 프로젝트에 대해 생각을 많이 하게 될 듯 하다&lt;br&gt;&lt;br&gt;여기서 말하고자 하는 부분들은 내가 느끼기엔 아래와 같다&lt;br&gt;&lt;br&gt;간단 명료&lt;br&gt;애자일 방식&lt;br&gt;코드 리팩토링&lt;br&gt;&lt;br&gt;어느 책이든 전달하는 내용은 비슷하다고 느끼는데 이 책은 더 자세하게 보단 추상적이고 다소 어렵게 적은 듯 하다&lt;/p&gt;</description>
      <category>Book</category>
      <category>개발자</category>
      <category>개발자 책</category>
      <category>프로그래밍의정석</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/69</guid>
      <comments>https://bubble94.tistory.com/entry/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%EC%9D%98-%EC%A0%95%EC%84%9D-%EC%B1%85-%ED%9B%84%EA%B8%B0#entry69comment</comments>
      <pubDate>Mon, 20 Oct 2025 09:14:03 +0900</pubDate>
    </item>
    <item>
      <title>java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for 해결법</title>
      <link>https://bubble94.tistory.com/entry/javalangIllegalArgumentException-Mapped-Statements-collection-does-not-contain-value-for-%ED%95%B4%EA%B2%B0%EB%B2%95</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;mybatis를 사용하다 보니 여러 문제가 연달아서 발생하여 추후 복기할 겸 기록해본다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지난번에는 org.apache.ibatis.builder.IncompleteElementException 발생으로 잘못된 변수를 선언하여 못찾는 에러였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;관련 글은 아래에 있으니 필요하거나 궁금하다면 참고하길 바란다.&lt;/p&gt;
&lt;figure id=&quot;og_1759187084538&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;org.apache.ibatis.builder.IncompleteElementException: Could not result map 해결법&quot; data-og-description=&quot;회사에서 신규 페이지 생성 작업을 하면서 front와 back을 새로 만들고 있던 상황이였다. 유사한 기존 소스를 카피하여 작업 중이였는데 제목과 같은 에러가 발생하였다. org.apache.ibatis.builder.Incomple&quot; data-og-host=&quot;bubble94.tistory.com&quot; data-og-source-url=&quot;https://bubble94.tistory.com/entry/orgapacheibatisbuilderIncompleteElementException-Could-not-result-map-%ED%95%B4%EA%B2%B0%EB%B2%95&quot; data-og-url=&quot;https://bubble94.tistory.com/entry/orgapacheibatisbuilderIncompleteElementException-Could-not-result-map-%ED%95%B4%EA%B2%B0%EB%B2%95&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/b52LQf/hyZKn7PfMF/YmNI1kzbl7ETDVPVFLHlZk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/yvRYg/hyZJ16p87C/eOapD2Js5cN9GhvDKZjB3k/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800&quot;&gt;&lt;a href=&quot;https://bubble94.tistory.com/entry/orgapacheibatisbuilderIncompleteElementException-Could-not-result-map-%ED%95%B4%EA%B2%B0%EB%B2%95&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://bubble94.tistory.com/entry/orgapacheibatisbuilderIncompleteElementException-Could-not-result-map-%ED%95%B4%EA%B2%B0%EB%B2%95&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/b52LQf/hyZKn7PfMF/YmNI1kzbl7ETDVPVFLHlZk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/yvRYg/hyZJ16p87C/eOapD2Js5cN9GhvDKZjB3k/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800');&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;org.apache.ibatis.builder.IncompleteElementException: Could not result map 해결법&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;회사에서 신규 페이지 생성 작업을 하면서 front와 back을 새로 만들고 있던 상황이였다. 유사한 기존 소스를 카피하여 작업 중이였는데 제목과 같은 에러가 발생하였다. org.apache.ibatis.builder.Incomple&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;bubble94.tistory.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;pre id=&quot;code_1759187225385&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for {내가 선언한 xml ID}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 내가 선언한 xml ID가 포함하고 있지 않다는 뜻이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어서 아래와 같이 쿼리를 작성했다.&lt;/p&gt;
&lt;pre id=&quot;code_1759187411537&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;mapper namespace=&quot;abc.def&quot;&amp;gt;
    &amp;lt;select id=&quot;selectAbcList&quot; parameterType=&quot;abcVO&quot; resultType=&quot;abcVO&quot;&amp;gt;
        SELECT AAA, BBB, CCC
          FROM ABC_TABLE
    &amp;lt;/select&amp;gt;
&amp;lt;/mapper&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;회사가 폐쇄망이다 보니 직접 타이핑으로 예시를 든 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결론부터 말하자면 &amp;lt;mapper&amp;gt;에 선언된 namespace부분이 문제였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 부분은 상위 경로로 설정을 해줘야하는데, 필자같은 경우에는 경로를 하나 더 하다보니 에러가 발생한 것이였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제 찾아야하는 경로는 abc.selectAbcList인데 abc.def.selectAbcList로 지정이 되다보니 포함이 되지 않는 에러가 발생하는 것이였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;같은 에러가 발생한다면 내가 작성한 XML 파일의 mapper가 제대로 되어있는지 찾아보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에러 내용에 정답이 있다. 카피를 해도 알고 카피를 하자&lt;/p&gt;</description>
      <category>개발기록/JAVA</category>
      <category>ibatis</category>
      <category>IllegalArgumentException</category>
      <category>java</category>
      <category>java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for</category>
      <category>Mapped Statements collection does not contain value for</category>
      <category>mybatis</category>
      <category>Spring</category>
      <category>XML</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/68</guid>
      <comments>https://bubble94.tistory.com/entry/javalangIllegalArgumentException-Mapped-Statements-collection-does-not-contain-value-for-%ED%95%B4%EA%B2%B0%EB%B2%95#entry68comment</comments>
      <pubDate>Wed, 1 Oct 2025 04:14:24 +0900</pubDate>
    </item>
    <item>
      <title>org.apache.ibatis.builder.IncompleteElementException: Could not result map 해결법</title>
      <link>https://bubble94.tistory.com/entry/orgapacheibatisbuilderIncompleteElementException-Could-not-result-map-%ED%95%B4%EA%B2%B0%EB%B2%95</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;회사에서 신규 페이지 생성 작업을 하면서 front와 back을 새로 만들고 있던 상황이였다. &lt;br /&gt;&lt;br /&gt;유사한&amp;nbsp;기존&amp;nbsp;소스를&amp;nbsp;카피하여&amp;nbsp;작업&amp;nbsp;중이였는데&amp;nbsp;제목과&amp;nbsp;같은&amp;nbsp;에러가&amp;nbsp;발생하였다. &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1759186806061&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;org.apache.ibatis.builder.IncompleteElementException: Could not result map abcVO&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;현재&amp;nbsp;회사는&amp;nbsp;JSP&amp;nbsp;-&amp;nbsp;Java(Spring)으로&amp;nbsp;구성된&amp;nbsp;화면이다. &lt;br /&gt;&lt;br /&gt;DB에 대한 스크립트는 xml 형태로 된 mybatis를 사용 중이다.&lt;br /&gt;&lt;br /&gt;select&amp;nbsp;구문을&amp;nbsp;사용하려면&amp;nbsp;parameterType,&amp;nbsp;resultType을&amp;nbsp;선언을&amp;nbsp;해줘야하는데,&amp;nbsp;내가&amp;nbsp;copy를&amp;nbsp;하다보니&amp;nbsp;resultType이&amp;nbsp;resultMap으로&amp;nbsp;되어있는&amp;nbsp;것을&amp;nbsp;확인을&amp;nbsp;못하였다. &lt;br /&gt;&lt;br /&gt;그렇다고&amp;nbsp;&amp;nbsp;resultMap을 따로 선언을 해둔 상태도 아니였다.&lt;br /&gt;&lt;br /&gt;만약 나와 같은 에러가 발생을 했는데, 확인이 힘들다면 select 태그 등 resultMap으로 잘못 선언된 것은 아닌지 확인해보길 바란다.&lt;br /&gt;&lt;br /&gt;해결하고 보니 에러에 정답이 있던 것이다... 잘못선언해두고 찾으라고 하니 찾을 수 없다는 뜻이니 말이다.&lt;br /&gt;&lt;br /&gt;카피를&amp;nbsp;해도&amp;nbsp;이해를&amp;nbsp;하고&amp;nbsp;카피를&amp;nbsp;하자...!&lt;/p&gt;</description>
      <category>개발기록/JAVA</category>
      <category>Could not result map</category>
      <category>ibatis</category>
      <category>IncompleteElementException</category>
      <category>java</category>
      <category>java error</category>
      <category>mybatis</category>
      <category>org.apache.ibatis.builder.IncompleteElementException: Could not result map abcVO</category>
      <category>Spring</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/67</guid>
      <comments>https://bubble94.tistory.com/entry/orgapacheibatisbuilderIncompleteElementException-Could-not-result-map-%ED%95%B4%EA%B2%B0%EB%B2%95#entry67comment</comments>
      <pubDate>Tue, 30 Sep 2025 08:00:52 +0900</pubDate>
    </item>
    <item>
      <title>yaml 파일로 docker compose 명령어 실행 중 did not find expected key 에러 조치</title>
      <link>https://bubble94.tistory.com/entry/yaml-%ED%8C%8C%EC%9D%BC%EB%A1%9C-docker-compose-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%8B%A4%ED%96%89-%EC%A4%91-did-not-find-expected-key-%EC%97%90%EB%9F%AC-%EC%A1%B0%EC%B9%98</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;도커를 사용하다보면 당연히 수정사항도 생긴다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;yaml 파일을 수정 후 docker compose down을 했는데, &lt;span&gt;yaml: line 88: did not find expected key 라는 에러가 발생했다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;해당 원인은 대체적으로 들여쓰기 혹은 공백이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;yaml 확장자는 파이썬 만큼 들여쓰기에 대해 엄격하기 때문에 내가 추가한 코드가 들여쓰기나 공백이 맞지 않았는지 확인해야한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;통상 스페이스 2칸 혹은 4칸이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;수정 후 실행을 하면 잘 실행되는 것을 확인 가능하다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>개발기록/Docker</category>
      <category>docker</category>
      <category>docker error</category>
      <category>yaml did not find expected key</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/66</guid>
      <comments>https://bubble94.tistory.com/entry/yaml-%ED%8C%8C%EC%9D%BC%EB%A1%9C-docker-compose-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%8B%A4%ED%96%89-%EC%A4%91-did-not-find-expected-key-%EC%97%90%EB%9F%AC-%EC%A1%B0%EC%B9%98#entry66comment</comments>
      <pubDate>Thu, 25 Sep 2025 06:31:57 +0900</pubDate>
    </item>
    <item>
      <title>맥북에서 DBeaver &amp;quot;응용프로그램을 실행 할 수 없습니다&amp;quot; 오류 해결 방법</title>
      <link>https://bubble94.tistory.com/entry/%EB%A7%A5%EB%B6%81%EC%97%90%EC%84%9C-DBeaver-%EC%9D%91%EC%9A%A9%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%84-%EC%8B%A4%ED%96%89-%ED%95%A0-%EC%88%98-%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;예전부터 토이프로젝트처럼 하던 프로젝트를 올해 지나가기 전에는 오픈을 하고 싶었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이사도 온 상태라서 서버도 다시 셋팅하고 docker를 키는데 db에서 Access denied 가 발생합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 디비를 확인하려고 디비버도 켜보다가 따로 설정을 하지 않았었는데, 디비버가 먹통이 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;메시지는 &quot;응용프로그램을 실행 할 수 없습니다&quot;를 던지기만 했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;퍼플렉시티에게 물어보니 앱 서명 관련 문제일 가능성이 크다고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앱 서명은 os 업데이트가 되어도 될 수도 있다고 하네요.&lt;/p&gt;
&lt;pre id=&quot;code_1756846115715&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;앱 서명 문제란?
MacOS는 보안 강화를 위해 앱이 신뢰할 수 있는 개발자에 의해 서명되어 있어야 실행 허용 여부를 판단합니다.

앱 서명이란, 앱이 변조되지 않았고 신뢰할 만한 출처에서 배포된 것임을 검증하기 위한 전자 서명입니다.

앱 서명이 없거나, 서명이 손상되었거나, 또는 MacOS가 서명을 신뢰하지 않으면 실행을 차단합니다.

정확한 원인
서명 누락/손상

앱 파일에 디지털 서명이 없거나 서명 정보가 손상되면 MacOS가 실행을 차단합니다.

Gatekeeper 보안 정책 적용

MacOS의 Gatekeeper가 서명되지 않은 앱, 또는 인증되지 않은 개발자가 배포한 앱 실행을 제한합니다.

앱이 다운로드된 출처 문제

인터넷에서 다운로드한 앱은 기본적으로 실행 권한이 제한되는데, 사용자 승인이 필요하며 서명 상태에 따라 실행이 제한될 수 있습니다.

서명 방식 변경 또는 OS 업그레이드 영향

앱이 이전 macOS 버전에서 정상 실행됐더라도 OS 업그레이드로 서명 정책이 엄격해져 실행에 문제가 생길 수 있습니다.

해결 개념
codesign 명령어로 앱에 다시 서명하거나,

보안 환경설정에서 해당 앱의 실행을 승인하거나,

신뢰된 출처에서 앱을 재다운로드 또는 재설치하는 방식으로 문제를 해결합니다.

요약하면, MacOS는 앱이 안전함을 보장하는 서명을 확인해서 실행 여부를 결정하는데, 서명 문제는 이 부분에서 인증이 안 돼서 발생하는 실행 차단 상태입니다.
DBeaver같은 외부 앱은 가끔 서명 상태가 꼬이거나 OS 보안 정책 변화로 인해 실행이 막힐 수 있습니다.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제로 터미널켜서 아래 명령어를 치면&lt;/p&gt;
&lt;pre id=&quot;code_1756845877384&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;codesign --force --deep --sign - /Applications/DBeaver.app&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래와 같이 나옵니다.&lt;/p&gt;
&lt;pre id=&quot;code_1756845913462&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/Applications/DBeaver.app: replacing existing signature&lt;/code&gt;&lt;/pre&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;계속&amp;nbsp;실행&amp;nbsp;안&amp;nbsp;될&amp;nbsp;경우,&amp;nbsp;Mac&amp;nbsp;보안&amp;nbsp;설정에서&amp;nbsp;&quot;시스템&amp;nbsp;환경설정&amp;nbsp;&amp;gt;&amp;nbsp;보안&amp;nbsp;및&amp;nbsp;개인정보&amp;nbsp;보호&amp;nbsp;&amp;gt;&amp;nbsp;일반&quot;&amp;nbsp;탭에서&amp;nbsp;해당&amp;nbsp;앱&amp;nbsp;실행&amp;nbsp;허용을&amp;nbsp;확인하세요.&lt;/p&gt;</description>
      <category>개발기록/DB</category>
      <category>dbeaver 갑자기</category>
      <category>디비</category>
      <category>디비버</category>
      <category>디비버 갑자기</category>
      <category>디비버 안될 때</category>
      <category>맥북 dbeaver</category>
      <category>맥북 디비버</category>
      <category>응용프로그램을 실행 할 수 없습니다.</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/65</guid>
      <comments>https://bubble94.tistory.com/entry/%EB%A7%A5%EB%B6%81%EC%97%90%EC%84%9C-DBeaver-%EC%9D%91%EC%9A%A9%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%84-%EC%8B%A4%ED%96%89-%ED%95%A0-%EC%88%98-%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95#entry65comment</comments>
      <pubDate>Wed, 3 Sep 2025 05:50:13 +0900</pubDate>
    </item>
    <item>
      <title>[Spring] HandlerMethodParameter 발생 시 해결 방법</title>
      <link>https://bubble94.tistory.com/entry/Spring-HandlerMethodParameter-%EB%B0%9C%EC%83%9D-%EC%8B%9C-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;회사에서 새로운 API를 개발을 하면서 마주한 에러를 기록해보려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spinrg의 MVC 패턴을 사용 중인데, JSP에서는 ajax로 통신한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음엔 POST로 개발을 하다가 GET 방식으로 바꿔야해서 JSP에는 method를 GET으로 변경을 했었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변경을 하고나서 서버를 재기동 후 아래와 같은 에러가 발생했다.&lt;/p&gt;
&lt;pre id=&quot;code_1756086427955&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;required requset body content is missing : org.springframework.web.method.HandlerMethod$HandlerMethodParameter&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확인을 해보니 Controller에 연결된 메소드에는 &lt;span style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: left;&quot;&gt;@RequestBody가 지정이 되어있어서 발생하였다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: left;&quot;&gt;POST, PUT이 아닌 GET으로 하니 &lt;b&gt;본문이 없어서 발생한 에러&lt;/b&gt;였다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: oklch(0.3039 0.04 213.68);&quot;&gt;&lt;span style=&quot;background-color: oklch(0.9902 0.004 106.47);&quot;&gt;위와 같은 에러가 발생한다면 GET 방식인데 &lt;span style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: left;&quot;&gt;@RequestBody 를 지정하였는지 확인을 해보자.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>개발기록/JAVA</category>
      <category>@RequestBody</category>
      <category>HandlerMethodParameter</category>
      <category>java</category>
      <category>required requset body content is missing</category>
      <category>spring error</category>
      <category>Spring Get 방식</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/64</guid>
      <comments>https://bubble94.tistory.com/entry/Spring-HandlerMethodParameter-%EB%B0%9C%EC%83%9D-%EC%8B%9C-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95#entry64comment</comments>
      <pubDate>Mon, 25 Aug 2025 11:14:31 +0900</pubDate>
    </item>
    <item>
      <title>Eclipse에서 Tomcat Server 실행할 때 잘되다가 안될 때 해결방법</title>
      <link>https://bubble94.tistory.com/entry/Eclipse%EC%97%90%EC%84%9C-Tomcat-Server-%EC%8B%A4%ED%96%89%ED%95%A0-%EB%95%8C-%EC%9E%98%EB%90%98%EB%8B%A4%EA%B0%80-%EC%95%88%EB%90%A0-%EB%95%8C-%ED%95%B4%EA%B2%B0%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이클립스로 개발을 할 때 잊을만하면 한번씩 발생하는 경우가 있어서 기록해보려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;잘 사용하고 있던 서버를 소스 수정하고 다시 Start를 하다보면 아래와 같은 에러가 발생할 때가 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1756085285593&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Several ports (8005, 8080, 8009) required by Tomcat v9.0 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내용은 8005, 8080, 8009 포트가 &lt;b&gt;이미 사용되고 있다&lt;/b&gt;는 뜻이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 &lt;b&gt;나는 서버가 켜져있는 상태가 아닌데 왜 사용되고 있다는 뜻이지?&lt;/b&gt; 라고 생각될 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데&lt;b&gt; 메모리 문제나 여러가지 이유로 불완전하게 이클립스가 종료&lt;/b&gt;가 될 때 해당 에러를 마주했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;불완전하게 프로그램이 종료가 되면 IDE에서는 사용을 하고 있는 것처럼 보이진 않지만 &lt;b&gt;실제로는 해당 포트는 살아있다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서&lt;b&gt; 살아있는 포트의 PID를 찾아서 종료해주고 다시 재기동을 해야한다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 해결했었던 Window 기준으로 적어두겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;cmd.exe를 관리자 권한으로 실행 후 아래 명령어 실행( 에러에 나온 포트를 검색 )&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1756085760147&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;netstat -ano | findstr :8080
netstat -ano | findstr :8009
netstat -ano | findstr :8005&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;현재 나의 PC 네트워크 상태&lt;/b&gt;에 해당 8080 or 8009 or 8005 가 있는지 &lt;b&gt;문자를 검색&lt;/b&gt;하는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같이 명령어를 검색하면 PID가 나오는데 해당 PID를 통해서 종료를 해주면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;종료하는 명령어는 아래와 같다.&lt;/p&gt;
&lt;pre id=&quot;code_1756085915519&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;taskkill /F /PID 1234&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 때 /F 는 강제로 종료하는 옵션이다.(Force)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같이 실행 후 다시 Eclipse Server를 Start하면 정상적으로 실행되는 경우가 다반사였다.&lt;/p&gt;</description>
      <category>개발기록/Eclipse</category>
      <category>8080</category>
      <category>Eclipse</category>
      <category>tomcat require</category>
      <category>tomcat server</category>
      <category>이클립스</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/63</guid>
      <comments>https://bubble94.tistory.com/entry/Eclipse%EC%97%90%EC%84%9C-Tomcat-Server-%EC%8B%A4%ED%96%89%ED%95%A0-%EB%95%8C-%EC%9E%98%EB%90%98%EB%8B%A4%EA%B0%80-%EC%95%88%EB%90%A0-%EB%95%8C-%ED%95%B4%EA%B2%B0%EB%B0%A9%EB%B2%95#entry63comment</comments>
      <pubDate>Mon, 25 Aug 2025 10:40:43 +0900</pubDate>
    </item>
    <item>
      <title>glue schema와 다른 데이터가 왔을 때 조치한 썰</title>
      <link>https://bubble94.tistory.com/entry/glue-schema%EC%99%80-%EB%8B%A4%EB%A5%B8-%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B0%80-%EC%99%94%EC%9D%84-%EB%95%8C-%EC%A1%B0%EC%B9%98%ED%95%9C-%EC%8D%B0</link>
      <description>&lt;h1&gt;상황&lt;/h1&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;최근에 신규 데이터 요청이 들어왔다.&lt;br&gt;요청이 올 때 엑셀로 각 컬럼명과 타입 그리고 컬럼설명이 포함되어 온다.&lt;br&gt;RDB가 아닌 테이블이라 다른 요청 사항은 없다.&lt;br&gt;사용자의 요청대로 생성을 하였고 테스트 데이터를 요청하였다.&lt;br&gt;그런데 요청한 측에서 타입이 맞지 않다고 했다.&lt;br&gt;에러내용은 다음과 같았다.&lt;/p&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot;&gt;&lt;code&gt;awsathena error : HIVE_BAD_DATA
Field day's type BINARY in parquet file ${s3_path} is incompatible with type timestamp(3) defined in table schema&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;요약하자면 timestamp 타입을 가진 컬럼이 있는데, 해당 컬럼은 현재 BINARY로 들어와있다는 것이다.&lt;br&gt;참고로 우리는 최종 데이터를 parquet 형식으로 변경되어 적재가 된다.&lt;/p&gt;&lt;h2 data-ke-size=&quot;size26&quot;&gt;원인&lt;/h2&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;요청한 측에서 요구한대로 작성한 것은 맞다.&lt;br&gt;parquet파일에서 확인을 해보니 BINARY로 되어있던 것도 맞았다.&lt;br&gt;참고로 parquet 파일에서 컬럼 별 스펙을 보고 싶으면 아래 명령어로 하면 보기 편하다.&lt;/p&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot;&gt;&lt;code&gt;parquet-tools inspect file.parquet &amp;gt; file.txt&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같이 파일하나 빼서 보면 vi로 확인하기 편하다.&amp;nbsp;&lt;br&gt;용량이 크지 않으니 추천&lt;br&gt;다시 본론으로 돌아와서 정리하자면 요청했던 스키마와 실질적으로 보내준 스키마가 맞지 않았다.&lt;br&gt;timestamp 타입으로 하려면 int96 같은 타입으로 지정되어야 한다.&lt;br&gt;물론 int96 하위 타입도 된다.&lt;br&gt;현재 요청한 타입과 보내준 데이터 타입이 맞지 않은 상태니 확인 부탁드립니다.&lt;br&gt;해당 내용을 요청자에게 안내하고 답변을 기다렸다.&lt;/p&gt;&lt;h2 data-ke-size=&quot;size26&quot;&gt;해결&lt;/h2&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;요청한 측에서도 데이터를 생성하는 곳이 아니였고, 원천에서 받는 데이터였다.&lt;br&gt;원천에서 이미 문자형태로 유입이 되고 있다고 하여 timestamp로 지정하였던 컬럼은 string으로 다시 재정의했다.&lt;/p&gt;&lt;h2 data-ke-size=&quot;size26&quot;&gt;느낀점&lt;/h2&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;요청 온 대로 작업하는 것은 맞다. 괜히 추측해서 작업하는 것보단 요청온대로 작업하는 게 맞다.&lt;br&gt;사실 정답이 없다. 모두 사람이 하는 것이기에 미처 확인하지 못한 부분들이 있다.&lt;br&gt;누가 맞다, 틀리다 보단 정확한 상태를 파악 후 상대방에게 안내를 주는 게 맞다고 느꼈다.&lt;br&gt;IT 의 일을 하다보면 하나의 귀결이 있다.&lt;br&gt;이 모든 것은 '데이터'를 보려고 하기 때문이다.&lt;br&gt;데이터를 다루는 실질적인 사용자가 빠르게 데이터를 확인하게 해주는 게 IT 엔지니어의 일이라고 생각한다.&lt;/p&gt;&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;결론은 parquet파일을 사용한다면 내가 말한 명령어로 확인하자&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>개발기록/AWS</category>
      <category>Glue</category>
      <category>hive_bad_data</category>
      <category>schema</category>
      <category>timestamp</category>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/62</guid>
      <comments>https://bubble94.tistory.com/entry/glue-schema%EC%99%80-%EB%8B%A4%EB%A5%B8-%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B0%80-%EC%99%94%EC%9D%84-%EB%95%8C-%EC%A1%B0%EC%B9%98%ED%95%9C-%EC%8D%B0#entry62comment</comments>
      <pubDate>Thu, 14 Nov 2024 23:38:32 +0900</pubDate>
    </item>
    <item>
      <title>문자열 비교할 때 equls와 == 의 차이는 무엇일까?</title>
      <link>https://bubble94.tistory.com/entry/%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%B9%84%EA%B5%90%ED%95%A0-%EB%95%8C-equls%EC%99%80-%EC%9D%98-%EC%B0%A8%EC%9D%B4%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C</link>
      <description>&lt;h1&gt;상황&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;회사에서 이메일을 발신하는 기능이 있다.&lt;br /&gt;원래는 등록자와 담당자에게만 갔는데, 처리자에게도 발신하도록 하는 기능을 추가하기로 하였다.&lt;br /&gt;추가를 하면서 이전 값과 새로운 값 즉 문자열에 대해 비교를 하여 분기를 해야하는데 equals가 아닌 == 으로 했더니 내가 원하던 조건이 성립되지 않았다.&lt;/p&gt;
&lt;h1&gt;원인 파악&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;chatGpt에 물어봤더니 아래와 같이 답해줬다.&lt;br /&gt;복사하기 붙혀넣기가 아닌 일부 내용만 발췌해서 적었다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;== 연산자&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기본 자료형(int, char, boolean 등)은 값을 비교한다&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;객체에서는 참조(메모리 주소)를 비교한다.&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;즉, 두 객체가 동일한 메모리 주소를 가리킬 때만 true를 반환&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1731507836765&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;String a = new String(&quot;hello&quot;);
String b = new String(&quot;hello&quot;);

System.out.println(a == b); // false, a와 b는 서로 다른 메모리 주소를 가리킨다&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;equals 메소드&lt;/h2&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;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;객체의 값을 비교한다.&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;String, Integer 등 많은 Java Class는 equals 메소드를 override하여 값 비교를 수행하도록 구현되어있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1731507882662&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;String a = new String(&quot;hello&quot;);
String b = new String(&quot;hello&quot;);

System.out.println(a.equals(b)); // true, a와 b의 값을 비교&lt;/code&gt;&lt;/pre&gt;
&lt;h1&gt;해결&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 나는 == 연산자가 아닌 equals 메소드를 사용하여 값 비교를 하였고, 내가 원하던 로직으로 처리를 할 수 있었다.&lt;/p&gt;
&lt;h1&gt;느낀점&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;빠른 구현을 위해서 chatGPT에게 물어보긴 하였지만, Java의 Class를 먼저 찾아볼걸이라는 생각을 했다.&lt;br /&gt;이토록 간단한 방법인데 이걸 몰랐다는게 난 아직 미숙하고 겸손하고 배워야할게 많다고 생각됬다.&lt;br /&gt;앞으론 이런 실수를 하지 않도록 해야겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 간단했던 것이더라도 이렇게 기록을 남겨 복기를 해야곘다.&lt;/p&gt;</description>
      <category>개발기록/JAVA</category>
      <category>==</category>
      <category>equals</category>
      <category>java</category>
      <category>java equals ==</category>
      <category>java equals == 비교</category>
      <category>java equals == 차이</category>
      <category>til</category>
      <category>오블완</category>
      <category>자바</category>
      <category>티스토리챌린지</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/61</guid>
      <comments>https://bubble94.tistory.com/entry/%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%B9%84%EA%B5%90%ED%95%A0-%EB%95%8C-equls%EC%99%80-%EC%9D%98-%EC%B0%A8%EC%9D%B4%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C#entry61comment</comments>
      <pubDate>Wed, 13 Nov 2024 23:25:42 +0900</pubDate>
    </item>
    <item>
      <title>Glue Cli로 테이블 생성 시  mismatched input 'external' 에러 조치한 썰</title>
      <link>https://bubble94.tistory.com/entry/Glue-Cli%EB%A1%9C-%ED%85%8C%EC%9D%B4%EB%B8%94-%EC%83%9D%EC%84%B1-%EC%8B%9C-mismatched-input-external-%EC%97%90%EB%9F%AC-%EC%A1%B0%EC%B9%98%ED%95%9C-%EC%8D%B0</link>
      <description>&lt;h1&gt;상황&lt;/h1&gt;
&lt;p&gt;회사에서 테이블 신규 요청이 오면 엑셀로 요청이 온다.&lt;br&gt;그런데 요청 온 엑셀은 가지각색이라 우리의 엑셀 형태에 맞춰서 다시 작성한 뒤 파이썬으로 Hql 파일을 생성한다.&lt;br&gt;평상 시에 잘 사용하던 스크립트였는데, 오늘 실패가 되어 확인해보니 처음 마주했던 에러였다.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;line 1:8: mismatched input &amp;#39;external&amp;#39;. expecting: &amp;#39;or&amp;#39;, &amp;#39;schema&amp;#39;, &amp;#39;table&amp;#39;, &amp;#39;view’&lt;/code&gt;&lt;/pre&gt;
&lt;h1&gt;원인 파악&lt;/h1&gt;
&lt;p&gt;우리가 생성하는 테이블은 Glue에서 생성하고 location은 S3로 되어있다.&lt;br&gt;그래서 external을 사용한다.&lt;/p&gt;
&lt;p&gt;external 키워드를 뺄 문제가 아니다.&lt;br&gt;그러면 무엇이 문제일까?&lt;/p&gt;
&lt;p&gt;사용자에게 받은 엑셀에서 컬럼명, 컬럼 타입, 컬럼설명은 그대로 붙혀넣었기 때문에 이 3가지를 중점으로 먼저 체크했다.&lt;/p&gt;
&lt;h2&gt;체크할 부분&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;각 row 별 ,(콤마)가 빠져있는지&lt;/li&gt;
&lt;li&gt;COMMENT 부분을 싱글 쿼테이션으로 감싸는데, 중간에 들어간 값이 있는지&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;결과&lt;/h1&gt;
&lt;p&gt;1번은 해당사항이 없었다.&lt;br&gt;2번에서 추출이 되었는데, 컬럼설명 안에 &amp;#39;부가내용&amp;#39;이 들어있었다.&lt;br&gt;회사 테이블이라서 대략적인 형태를 보인다면 아래와 같았다.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;`rowId` string comment &amp;#39;row&amp;#39;행&amp;#39;의 id&amp;#39;,  &lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;해당 부분은 삭제를 해도되어 삭제를 하였다.&lt;/p&gt;
&lt;h1&gt;추가 에러&lt;/h1&gt;
&lt;p&gt;될 줄 알았는데, 컬럼 설명은 255자를 넘을 수 없다며, 에러가 발생하였고 해당 부분은 글자수 줄여서 조치를 했다.&lt;/p&gt;
&lt;h1&gt;느낀점&lt;/h1&gt;
&lt;p&gt;매번 자주하던 작업이였지만, 해당 에러는 처음 접했다.&lt;br&gt;사용자에게는 어떠한 변칙적인 데이터가 올지 모른다고 생각했다.&lt;/p&gt;
&lt;p&gt;방어로직이 필요하다고 생각했다.&lt;/p&gt;</description>
      <category>개발기록/AWS</category>
      <category>AWS</category>
      <category>aws cli</category>
      <category>external error</category>
      <category>Glue</category>
      <category>glue cli</category>
      <category>glue hql</category>
      <category>mismatched input 'external'</category>
      <category>Python</category>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/60</guid>
      <comments>https://bubble94.tistory.com/entry/Glue-Cli%EB%A1%9C-%ED%85%8C%EC%9D%B4%EB%B8%94-%EC%83%9D%EC%84%B1-%EC%8B%9C-mismatched-input-external-%EC%97%90%EB%9F%AC-%EC%A1%B0%EC%B9%98%ED%95%9C-%EC%8D%B0#entry60comment</comments>
      <pubDate>Tue, 12 Nov 2024 15:26:10 +0900</pubDate>
    </item>
    <item>
      <title>[Git] failed to push some refs to 에러 원인 및 해결방법</title>
      <link>https://bubble94.tistory.com/entry/Git-failed-to-push-some-refs-to-%EC%97%90%EB%9F%AC-%EC%9B%90%EC%9D%B8-%EB%B0%8F-%ED%95%B4%EA%B2%B0%EB%B0%A9%EB%B2%95</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffc9af;&quot;&gt;원인파악&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;형상 관리 시스템인 git을 사용하면 여러명이 한 개의 프로젝트를 참여할 수가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서&lt;span style=&quot;color: #006dd7;&quot;&gt; &lt;b&gt;git을 사용하면 다른 사람과의 소스 충돌이 발생하는 경우&lt;/b&gt;&lt;/span&gt;가 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1719824942299&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git push origin master&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;git에 add도 하고 commit도 하고 이제 push를 하려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 때 아래와 같은 상황이 발생하는 경우가 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1719825021951&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// ${git_src} 는 회사 git 소스라서 변수로 바꿔서 표현했다.

To ${git_src}
 ! [rejected]          master -&amp;gt; master (fetch first)
error: failed to push some refs to ${git_src}
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 상황이 발생하는 이유는 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;내가&amp;nbsp;반영하려는&amp;nbsp;원격&amp;nbsp;저장소의&amp;nbsp;변경사항이&amp;nbsp;나의&amp;nbsp;로컬&amp;nbsp;저장소에&amp;nbsp;없어서&amp;nbsp;발생하는&amp;nbsp;경우&lt;/b&gt;&lt;/span&gt;다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무슨 상황이냐면&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;내가 반영하려는 원격 저장소가 다른 사람의 커밋으로 업데이트가 되서 충돌을 방지하기 위해서&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt; git에서 push를 거부하는 상황인 것이다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffc9af;&quot;&gt;&lt;b&gt;어떻게 해결을 해야할까?&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;hint에도 다 설명이 되어있지만 ㅎㅎ 정리를 해보자&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;업데이트 된 원격 저장소의 변경 사항을 나의 로컬 저장소에 통합한 다음에 다시 푸시를 하면 된다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cli 로 설명하면 다시 pull 하면 된다.&lt;/p&gt;
&lt;pre id=&quot;code_1719825299038&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git pull origin master&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다시 소스를 pull하게되면 아래와 같은 상황이 발생할 것이다.&lt;/p&gt;
&lt;pre id=&quot;code_1719825370912&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 참고로 현재 활성화된 편집기는 nano

Merge branch 'master' of ${git_src}

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;git pull 명령어를 사용하게 되면 자동으로 뜨는 메시지이니 안심해도 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원격 저장소와 로컬의 merge하는 과정에서 커밋 메시지를 입력하는 의미다&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;통상 vim랑 nano로 열리는데 아래와 같이 진행하면 된다.&lt;/h3&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffc9af;&quot;&gt;vim&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. i 를 눌러서 insert 상태로 진입&lt;br /&gt;2. 위에서 보여진 커밋 메시지 입력( ex. Merge branch 'master' of ${git_src} )&lt;br /&gt;3. esc로 insert 상태 나오기&lt;br /&gt;4. :wq 타이핑 후 enter 눌러서 저장 후 종료&lt;br /&gt;&amp;nbsp;&amp;gt; 이 때 vi를 처음 쓰는 분들이 있을 수도 있어서 알려드리자면 wq 가 아닌 : (콜론) 이 붙어야 합니다&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffc9af;&quot;&gt;Nano&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;위에서 보여진 커밋 메시지 입력( ex.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Merge branch 'master' of ${git_src} ) &lt;br /&gt;2. Ctrl + o 눌러서 파일을 저장&lt;br /&gt;3. Enter 눌러서 파일 이름 확인&lt;br /&gt;4. Ctrl + x 눌러서 nano 종료&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같이 진행 후에 다시 git push 하면 된다.&lt;br /&gt;커밋메시지는 똑같지 않아도 되고 본인이 반영해야하는 소스에 대한 설명으로 적어야겠죠?! ㅎㅎ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 수고하세요&lt;/p&gt;
&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;emoticon&quot; data-ke-align=&quot;alignCenter&quot; data-emoticon-type=&quot;friends1&quot; data-emoticon-name=&quot;008&quot; data-emoticon-isanimation=&quot;false&quot; data-emoticon-src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/008.gif&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/008.gif&quot; width=&quot;150&quot; /&gt;&lt;/figure&gt;</description>
      <category>개발기록/Git</category>
      <category>error: failed to push some refs to</category>
      <category>Git</category>
      <category>git error</category>
      <category>git error 해결 방법</category>
      <category>Pull</category>
      <category>Push</category>
      <category>깃</category>
      <category>깃 merge</category>
      <category>깃 에러</category>
      <category>깃 충돌</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/59</guid>
      <comments>https://bubble94.tistory.com/entry/Git-failed-to-push-some-refs-to-%EC%97%90%EB%9F%AC-%EC%9B%90%EC%9D%B8-%EB%B0%8F-%ED%95%B4%EA%B2%B0%EB%B0%A9%EB%B2%95#entry59comment</comments>
      <pubDate>Mon, 1 Jul 2024 18:30:33 +0900</pubDate>
    </item>
    <item>
      <title>[JPA] jdbc:h2:mem:testdb 안될 때</title>
      <link>https://bubble94.tistory.com/entry/JPA-jdbch2memtestdb-%EC%95%88%EB%90%A0-%EB%95%8C</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;안녕하세요 성장형개발자입니다.&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JPA를 책을 보면서 따라하던 중에 h2 database를 사용하려고 했습니다.&lt;br /&gt;책에서는 JDBC URL : jdbc:h2:mem:testdb 으로 설정하라고 해서, 그대로 진행을 했는데 실패가 되었습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-05-16 23.10.51.png&quot; data-origin-width=&quot;993&quot; data-origin-height=&quot;414&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kZwWw/btsHq5TyyIg/TK0Y1WkkVYvUk3lnDnoD40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kZwWw/btsHq5TyyIg/TK0Y1WkkVYvUk3lnDnoD40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kZwWw/btsHq5TyyIg/TK0Y1WkkVYvUk3lnDnoD40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkZwWw%2FbtsHq5TyyIg%2FTK0Y1WkkVYvUk3lnDnoD40%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;993&quot; height=&quot;414&quot; data-filename=&quot;스크린샷 2024-05-16 23.10.51.png&quot; data-origin-width=&quot;993&quot; data-origin-height=&quot;414&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;과정&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같은 문제 발생하여 구글링을 해보니 보안에 따른 이슈로 인해 책에 나온 버전과 현재 버전이 상이하여 발생하였습니다.&lt;br /&gt;// 참고 -&amp;gt; &lt;a href=&quot;https://velog.io/@lehdqlsl/spring-boot-h2-memtestdb-not-found-%EB%AC%B8%EC%A0%9C&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://velog.io/@lehdqlsl/spring-boot-h2-memtestdb-not-found-%EB%AC%B8%EC%A0%9C&lt;/a&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;해결&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 application.property에 추가를 해서 진행하였고, 정상 작동되었습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-05-16 23.15.51.png&quot; data-origin-width=&quot;668&quot; data-origin-height=&quot;425&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNPCrz/btsHsaTVUDK/hj9pQM4j10PqyXvFkQLlrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNPCrz/btsHsaTVUDK/hj9pQM4j10PqyXvFkQLlrK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNPCrz/btsHsaTVUDK/hj9pQM4j10PqyXvFkQLlrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNPCrz%2FbtsHsaTVUDK%2Fhj9pQM4j10PqyXvFkQLlrK%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;668&quot; height=&quot;425&quot; data-filename=&quot;스크린샷 2024-05-16 23.15.51.png&quot; data-origin-width=&quot;668&quot; data-origin-height=&quot;425&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1715868974486&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;spring.jpa.show_sql=true
spring.h2.console.enabled=true
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_ON_EXIT=FALSE&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추가로 더 많은 정보가 필요하다면 아래 사이트를 참고해봐도 좋을 것 같습니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.h2database.com/html/features.html#in_memory_databases&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.h2database.com/html/features.html#in_memory_databases&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1715869199326&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;Features&quot; data-og-description=&quot;&amp;nbsp; Features Feature List H2 in Use Connection Modes Database URL Overview Connecting to an Embedded (Local) Database In-Memory Databases Database Files Encryption Database File Locking Opening a Database Only if it Already Exists Closing a Database Ignore &quot; data-og-host=&quot;www.h2database.com&quot; data-og-source-url=&quot;https://www.h2database.com/html/features.html#in_memory_databases&quot; data-og-url=&quot;https://www.h2database.com/html/features.html#in_memory_databases&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bc6TIQ/hyV6iwd7By/8rDfTop68qKlqBwyKUMHHk/img.png?width=752&amp;amp;height=436&amp;amp;face=0_0_752_436,https://scrap.kakaocdn.net/dn/xg4QK/hyV6bDRaNq/3cRwdfOcOgZrZWySPpafB0/img.png?width=416&amp;amp;height=519&amp;amp;face=112_213_310_411&quot;&gt;&lt;a href=&quot;https://www.h2database.com/html/features.html#in_memory_databases&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.h2database.com/html/features.html#in_memory_databases&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bc6TIQ/hyV6iwd7By/8rDfTop68qKlqBwyKUMHHk/img.png?width=752&amp;amp;height=436&amp;amp;face=0_0_752_436,https://scrap.kakaocdn.net/dn/xg4QK/hyV6bDRaNq/3cRwdfOcOgZrZWySPpafB0/img.png?width=416&amp;amp;height=519&amp;amp;face=112_213_310_411');&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;Features&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; Features Feature List H2 in Use Connection Modes Database URL Overview Connecting to an Embedded (Local) Database In-Memory Databases Database Files Encryption Database File Locking Opening a Database Only if it Already Exists Closing a Database Ignore&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.h2database.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;스스로에게 하는 말&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금은 어려운게 맞다. 꾸준히 매일 하다보면 지금 일은 어려운게 아니다.&lt;/p&gt;</description>
      <category>개발기록/JAVA</category>
      <category>h2 database 안될 때</category>
      <category>h2database</category>
      <category>jdbc:h2:mem:testdb</category>
      <category>JPA</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/58</guid>
      <comments>https://bubble94.tistory.com/entry/JPA-jdbch2memtestdb-%EC%95%88%EB%90%A0-%EB%95%8C#entry58comment</comments>
      <pubDate>Thu, 16 May 2024 23:22:32 +0900</pubDate>
    </item>
    <item>
      <title>Test 코드 작성 시 java.lang.Exception: No runnable methods 발생 원인 해결하기</title>
      <link>https://bubble94.tistory.com/entry/Test-%EC%BD%94%EB%93%9C-%EC%9E%91%EC%84%B1-%EC%8B%9C-javalangException-No-runnable-methods-%EB%B0%9C%EC%83%9D-%EC%9B%90%EC%9D%B8-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;안녕하세요 성장형 개발자입니다.&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JPA를 회사에서 사용하는데, 한번도 사용해본 적이 없어 공부하던 중 처음 보는 에러가 발생하여 기록&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;테스트 코드를 작성하려는데 실행가능한 메소드가 없다며 Exception 발생&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;과정&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;검색을 하기 전 에러 코드를 보며 생각해보기&lt;/p&gt;
&lt;pre id=&quot;code_1715738932656&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;java.lang.Exception: No runnable methods

	at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:191)
	at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128)
	at org.junit.runners.ParentRunner.validate(ParentRunner.java:416)
	at org.junit.runners.ParentRunner.&amp;lt;init&amp;gt;(ParentRunner.java:84)
	at org.junit.runners.BlockJUnit4ClassRunner.&amp;lt;init&amp;gt;(BlockJUnit4ClassRunner.java:65)
	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.&amp;lt;init&amp;gt;(SpringJUnit4ClassRunner.java:137)
	at org.springframework.test.context.junit4.SpringRunner.&amp;lt;init&amp;gt;(SpringRunner.java:49)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
	at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
	at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
	at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
	at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:36)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:50)
	at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
	at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
	at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
	at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
	at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;목적 : 테스트 코드를 작성을 한다&lt;br /&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;h2 data-ke-size=&quot;size26&quot;&gt;해결방법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원인은 @Test 어노테이션을 지정해주지 않아서 발생!!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;와... @Test 어노테이션을 안 붙히면 이렇게 발생하는구나...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 클래스에 @Runwith(&lt;span style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: left;&quot;&gt;SpringRunner.class&lt;/span&gt;)을 선언하지 않은 경우에도 에러가 발생 할 수 있다고 함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하나하나 해결하면서 진행하는 맛이 있다!&lt;/p&gt;</description>
      <category>개발기록/JAVA</category>
      <category>@RunWith</category>
      <category>@Test</category>
      <category>error</category>
      <category>exception</category>
      <category>java</category>
      <category>JPA</category>
      <category>JUnit</category>
      <category>no runnable methods</category>
      <category>어노테이션</category>
      <category>에러</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/57</guid>
      <comments>https://bubble94.tistory.com/entry/Test-%EC%BD%94%EB%93%9C-%EC%9E%91%EC%84%B1-%EC%8B%9C-javalangException-No-runnable-methods-%EB%B0%9C%EC%83%9D-%EC%9B%90%EC%9D%B8-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0#entry57comment</comments>
      <pubDate>Wed, 15 May 2024 11:20:50 +0900</pubDate>
    </item>
    <item>
      <title>error: package org.junit does not exist import org.junit.Test;(최우선 확인)</title>
      <link>https://bubble94.tistory.com/entry/error-package-orgjunit-does-not-exist-import-orgjunitTest%EC%B5%9C%EC%9A%B0%EC%84%A0-%ED%99%95%EC%9D%B8</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;안녕하세요 성장형 개발자입니다.&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;책을 보면서 따라해보는 중에 구글링을 했는데, 근본적인 확인 방법이 없어서 제가 올려둡니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;테스트 코드를 작성하면서 import를 하는데, 존재하지 않는다고 에러가 발생&lt;/p&gt;
&lt;pre id=&quot;code_1715671369237&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;error: package org.junit does not exist import org.junit.Test;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;과정&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에러를 그대로 긁어서 구글링을 했더니, 빌드 옵션을 바꾸는 설명들이 있음.&lt;br /&gt;물론 그런 해결도 있을 것이라고는 생각하지만, 이 방법이 아니라 Gradle에 dependency를 추가하지 않은 기억이 남.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;해결방법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;build.gradle의 dependency에 없었음.&lt;br /&gt;아래에 추가 후엔 에러 사라짐.&lt;br /&gt;gradle, maven 별로 추가하는 방법은 아래 참고.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;gradle&lt;/p&gt;
&lt;pre id=&quot;code_1715671299648&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;dependencies {
    testImplementation 'junit:junit:4.12'
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;maven&lt;/p&gt;
&lt;pre id=&quot;code_1715671324133&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;dependencies&amp;gt;
    &amp;lt;dependency&amp;gt;
        &amp;lt;groupId&amp;gt;junit&amp;lt;/groupId&amp;gt;
        &amp;lt;artifactId&amp;gt;junit&amp;lt;/artifactId&amp;gt;
        &amp;lt;version&amp;gt;4.12&amp;lt;/version&amp;gt;
        &amp;lt;scope&amp;gt;test&amp;lt;/scope&amp;gt;
    &amp;lt;/dependency&amp;gt;
&amp;lt;/dependencies&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;교훈&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에러 통째로 긁어서 구글링하지말고, 이 에러가 무엇인지 읽어보시길&lt;br /&gt;물론 빌드 방법에 따라서 적용이 안되는 상황도 있겠지만, 근본적인 dependency가 추가가 되어있는지부터 확인할 것.&lt;br /&gt;더 근본적인 것은 에러를 읽고 해석하고 찾아볼 것!&lt;/p&gt;</description>
      <category>개발기록/JAVA</category>
      <category>Dependency</category>
      <category>does not exist</category>
      <category>error</category>
      <category>Gradle</category>
      <category>java</category>
      <category>JUnit</category>
      <category>maven</category>
      <category>springboot</category>
      <category>SpringFramework</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/56</guid>
      <comments>https://bubble94.tistory.com/entry/error-package-orgjunit-does-not-exist-import-orgjunitTest%EC%B5%9C%EC%9A%B0%EC%84%A0-%ED%99%95%EC%9D%B8#entry56comment</comments>
      <pubDate>Tue, 14 May 2024 16:28:07 +0900</pubDate>
    </item>
    <item>
      <title>삭제된 파일을 Git에 반영하는 방법(이렇게 쉽다니)</title>
      <link>https://bubble94.tistory.com/entry/%EC%82%AD%EC%A0%9C%EB%90%9C-%ED%8C%8C%EC%9D%BC%EC%9D%84-Git%EC%97%90-%EB%B0%98%EC%98%81%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95%EC%9D%B4%EB%A0%87%EA%B2%8C-%EC%89%BD%EB%8B%A4%EB%8B%88</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;안녕하세요 성장형 개발자입니다.&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;회사의 소스 관리 프로그램을 Git 으로 사용하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용을 하다보니 삭제된 파일도 Git에 반영을 해야하는 경우가 생기더라구요&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;h2 data-ke-size=&quot;size26&quot;&gt;방법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;1. 삭제하려는 파일을 삭제합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 때 git status를 사용하여 확인하면,&amp;nbsp; &lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;Changes not staged for commit&lt;/span&gt; &lt;/b&gt;아래에 deleted : ${file_nm} 형태로 나옵니다.&lt;/p&gt;
&lt;pre id=&quot;code_1709544162234&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;rm ${fime_nm}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;2. -u 옵션을 사용하면 변경된 부분만 업데이트가 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;이 때 git status를 사용하여 확인하면,&amp;nbsp;&lt;b&gt;&lt;span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt; Changes to be committed&lt;/span&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;아래에 deleted : ${file_nm} 형태로 나옵니다.&lt;/p&gt;
&lt;pre id=&quot;code_1709544374243&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git add -u&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;3.-u 옵션을 사용하여 메시지를 남겨 커밋을 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변경된 부분만 커밋이 되기 때문에 삭제된 파일이 커밋이 됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1709544505373&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git commit -u -m &quot;commit msg&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;4. 푸쉬로 반영!&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1709544578211&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git push origin master&lt;/code&gt;&lt;/pre&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;/h2&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;화이팅!&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;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://studyingfox.tistory.com/12&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://studyingfox.tistory.com/12&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1709544012735&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;[git] 삭제된 폴더, 파일 반영하기&quot; data-og-description=&quot;분명히 로컬에서 삭제한 파일인데 원격에 반영되지 않는 경우가 있다. git status로 했을 때 삭제 됐다고 뜨는데 add를 해도 안먹고 commit을 해도 반영이 안되는 것이다... 이럴 때 유용하게 쓸 수 있&quot; data-og-host=&quot;studyingfox.tistory.com&quot; data-og-source-url=&quot;https://studyingfox.tistory.com/12&quot; data-og-url=&quot;https://studyingfox.tistory.com/12&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/3AXj1/hyVuqIEbEz/gCNGOjBJ1k3DAgtC55A0l1/img.png?width=507&amp;amp;height=140&amp;amp;face=0_0_507_140,https://scrap.kakaocdn.net/dn/CStIF/hyVuk2K2hN/UU0dkc0KAh3hDkCqbTY7KK/img.png?width=507&amp;amp;height=140&amp;amp;face=0_0_507_140,https://scrap.kakaocdn.net/dn/muBef/hyVunyoKYx/gwOUlVhjK7vKW7tlLzcPF1/img.png?width=264&amp;amp;height=200&amp;amp;face=0_0_264_200&quot;&gt;&lt;a href=&quot;https://studyingfox.tistory.com/12&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://studyingfox.tistory.com/12&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/3AXj1/hyVuqIEbEz/gCNGOjBJ1k3DAgtC55A0l1/img.png?width=507&amp;amp;height=140&amp;amp;face=0_0_507_140,https://scrap.kakaocdn.net/dn/CStIF/hyVuk2K2hN/UU0dkc0KAh3hDkCqbTY7KK/img.png?width=507&amp;amp;height=140&amp;amp;face=0_0_507_140,https://scrap.kakaocdn.net/dn/muBef/hyVunyoKYx/gwOUlVhjK7vKW7tlLzcPF1/img.png?width=264&amp;amp;height=200&amp;amp;face=0_0_264_200');&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;[git] 삭제된 폴더, 파일 반영하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;분명히 로컬에서 삭제한 파일인데 원격에 반영되지 않는 경우가 있다. git status로 했을 때 삭제 됐다고 뜨는데 add를 해도 안먹고 commit을 해도 반영이 안되는 것이다... 이럴 때 유용하게 쓸 수 있&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;studyingfox.tistory.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;</description>
      <category>개발기록/Git</category>
      <category>Git</category>
      <category>git 삭제 파일 반영 방법</category>
      <category>git 삭제파일</category>
      <category>깃 삭제파일 반영방법</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/55</guid>
      <comments>https://bubble94.tistory.com/entry/%EC%82%AD%EC%A0%9C%EB%90%9C-%ED%8C%8C%EC%9D%BC%EC%9D%84-Git%EC%97%90-%EB%B0%98%EC%98%81%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95%EC%9D%B4%EB%A0%87%EA%B2%8C-%EC%89%BD%EB%8B%A4%EB%8B%88#entry55comment</comments>
      <pubDate>Mon, 4 Mar 2024 18:35:30 +0900</pubDate>
    </item>
    <item>
      <title>[aws] invalid split data size 확인 방법</title>
      <link>https://bubble94.tistory.com/entry/aws-invalid-split-data-size-%ED%99%95%EC%9D%B8-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;안녕하세요 성장형 개발자입니다.&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;회사 내 환경이 AWS로 바뀌어서 여러가지의 시행착오들을 겪고 있습니다 ㅎㅎ&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;h2 data-ke-size=&quot;size26&quot;&gt;상황&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터를 수집하는 과정에서&lt;br /&gt;SQS(Simple Queue Service) 에서 문제가 있는 데이터는 DLQ(Dead Letter Queue)에 쌓고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러 에러 중 invalid split data size 가 발생하였는데, 해당 부분 확인 방법에 대해서 알려드리겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;번역을 하면 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;잘못된 분할 데이터 크기&lt;/b&gt;&lt;/span&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;span style=&quot;color: #006dd7;&quot;&gt;예를 들어서 우리쪽의 테이블 컬럼이 51개입니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt; 원천에서 보내주는 데이터의 값의 갯수가 52개를 보내주어서 에러가 발생한 상황입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 경우는 운영 입장으로 말씀드리면&lt;br /&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;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&quot;에러는 발생할 수 있지만, 정확한 원인을 파악하여 해결하면 된다&quot;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>개발기록</category>
      <category>Amazon</category>
      <category>AWS</category>
      <category>Dead Letter Queue</category>
      <category>DLQ</category>
      <category>error</category>
      <category>invalid split data size</category>
      <category>Simple Queue Service</category>
      <category>sqs</category>
      <category>해결방법</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/54</guid>
      <comments>https://bubble94.tistory.com/entry/aws-invalid-split-data-size-%ED%99%95%EC%9D%B8-%EB%B0%A9%EB%B2%95#entry54comment</comments>
      <pubDate>Wed, 7 Feb 2024 11:59:21 +0900</pubDate>
    </item>
    <item>
      <title>[Intellij] Cannot resolve symbol 간단 해결법</title>
      <link>https://bubble94.tistory.com/entry/Intellij-Cannot-resolve-symbol-%EA%B0%84%EB%8B%A8-%ED%95%B4%EA%B2%B0%EB%B2%95</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;안녕하세요 성장형 개발자입니다.&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;평상시에 잘만 되던 intellij가 온갖 빨간불이 들어와서 rebuild를 해도 되지가 않았습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;그래서 구글링으로 찾아보니 해결이 되어 공유합니다.&lt;/span&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;원인&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;intellij 사용하다가 응답없음 상태가 지속이 되어서 강제 종료를 했던 경우가 있었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;이 이후로 class들을 찾지 못한 상태가 되었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;해결&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Intellij 좌측 상단에 Invalidate Cashes 를 선택 후 Clear downloaded shared indexes 만 체크 후&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Invalidate and Restart를 하시면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;저의 경우는 위와 같은 방법으로 해결하여 indexing 후 analysis 에서 따로 에러는 없었습니다.&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;시간 헛되이 보내지 마시고 잘 해결되었길 바랍니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;도움을 받은 사이트 :&amp;nbsp;&lt;a href=&quot;https://es2sun.tistory.com/246&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://es2sun.tistory.com/246&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>개발기록/Intellij</category>
      <category>cannot resolve symbol</category>
      <category>error</category>
      <category>IntelliJ</category>
      <category>java</category>
      <category>Spring</category>
      <category>빨간불</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/53</guid>
      <comments>https://bubble94.tistory.com/entry/Intellij-Cannot-resolve-symbol-%EA%B0%84%EB%8B%A8-%ED%95%B4%EA%B2%B0%EB%B2%95#entry53comment</comments>
      <pubDate>Tue, 6 Feb 2024 13:07:48 +0900</pubDate>
    </item>
    <item>
      <title>[Bash Shell] 일자 혹은 시간 자릿수 표현할 때</title>
      <link>https://bubble94.tistory.com/entry/Bash-Shell-%EC%9D%BC%EC%9E%90-%ED%98%B9%EC%9D%80-%EC%8B%9C%EA%B0%84-%EC%9E%90%EB%A6%BF%EC%88%98-%ED%91%9C%ED%98%84%ED%95%A0-%EB%95%8C</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요 성장형 개발자입니다.&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터가 많다보면 파티션 별로 수행해야해서 자릿수를 맞춰야할 때가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들면 1시 데이터는 hh=1 이 아닌 hh=01 형식으로 들어가있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;잊을만하면 찾게되어 이렇게 글로 남겨봅니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;명령어&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명령어는 seq 명령어입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스 manual 를 통해 사용 방법에 대해서 알 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1703043681263&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;man seq

NAME
       seq - print a sequence of numbers
SYNOPSIS
       seq [OPTION]... LAST
       seq [OPTION]... FIRST LAST
       seq [OPTION]... FIRST INCREMENT LAST
DESCRIPTION
       Print numbers from FIRST to LAST, in steps of INCREMENT.
       Mandatory arguments to long options are mandatory for short options too.

       -f, --format=FORMAT
              use printf style floating-point FORMAT
       -s, --separator=STRING
              use STRING to separate numbers (default: \n)
       -w, --equal-width
              equalize width by padding with leading zeroes

		--help display this help and exit

       --version
              output version information and exit&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번은 옵션 중 -f 옵션을 사용할 것입니다.&lt;/p&gt;
&lt;pre id=&quot;code_1703044062215&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 일자 포맷팅
seq -f %02g 01 1 28
seq -f %02g 01 1 30
seq -f %02g 01 1 31

// 시간 포맷팅
seq -f %02g 00 1 23&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같이 사용하면 원하는 자릿수에 맞춰서 사용 가능합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1703044116603&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for dt in $(seq -f %02g 01 1 30)
do
done

for hh in $(seq -f %02g 00 1 23)
do
done&lt;/code&gt;&lt;/pre&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;</description>
      <category>개발기록/Linux</category>
      <category>SEQ</category>
      <category>리눅스</category>
      <category>자릿수</category>
      <category>재처리</category>
      <category>파티션자릿수</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/52</guid>
      <comments>https://bubble94.tistory.com/entry/Bash-Shell-%EC%9D%BC%EC%9E%90-%ED%98%B9%EC%9D%80-%EC%8B%9C%EA%B0%84-%EC%9E%90%EB%A6%BF%EC%88%98-%ED%91%9C%ED%98%84%ED%95%A0-%EB%95%8C#entry52comment</comments>
      <pubDate>Wed, 20 Dec 2023 12:52:04 +0900</pubDate>
    </item>
    <item>
      <title>개발자로 취업하거나 주니어 개발자가 읽으면 좋은 책</title>
      <link>https://bubble94.tistory.com/entry/%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%A1%9C-%EC%B7%A8%EC%97%85%ED%95%98%EA%B1%B0%EB%82%98-%EC%A3%BC%EB%8B%88%EC%96%B4-%EA%B0%9C%EB%B0%9C%EC%9E%90%EA%B0%80-%EC%9D%BD%EC%9C%BC%EB%A9%B4-%EC%A2%8B%EC%9D%80-%EC%B1%85</link>
      <description>&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;그러면 어떤 것부터 해야할까라고 생각하던 중에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뭐든지 남의 경험을 빨리 배우는 방법은 책이라는 말을 들었습니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바로 교보문고에 들어가서 IT분야의 스테디셀러를 확인해봤습니다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-26 13.27.28.png&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;861&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CxKR3/btsASaHhMqZ/pc8zMJczWVy2zDKAruXGcK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CxKR3/btsASaHhMqZ/pc8zMJczWVy2zDKAruXGcK/img.png&quot; data-alt=&quot;교보문고 - 스테디셀러(컴퓨터/IT)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CxKR3/btsASaHhMqZ/pc8zMJczWVy2zDKAruXGcK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCxKR3%2FbtsASaHhMqZ%2Fpc8zMJczWVy2zDKAruXGcK%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;500&quot; height=&quot;537&quot; data-filename=&quot;스크린샷 2023-11-26 13.27.28.png&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;861&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;교보문고 - 스테디셀러(컴퓨터/IT)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예전부터 클린코드에 대해선 알고 있었던 책이였고, 2번째에 &quot;비전공자를 위한 이해할 수 있는 IT 지식&quot;이라는 책이 보였습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 책을 읽어보면 내가 모르고 지내왔거나 제대로 이해를 못한 개념들을 이해 및 제대로 알 수 있겠다는 생각이 들었습니다.&lt;br /&gt;다행히 제가 즐겨찾는 도서관에 대출가능이라서 냉큼 대여를 해서 읽어봤습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_7907.jpeg&quot; data-origin-width=&quot;2268&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bU4Fwu/btsATX06mMe/5iyrGzGt1M9jof9amHFxE0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bU4Fwu/btsATX06mMe/5iyrGzGt1M9jof9amHFxE0/img.jpg&quot; data-alt=&quot;비전공자를 위한 이해할 수 있는 IT 지식&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bU4Fwu/btsATX06mMe/5iyrGzGt1M9jof9amHFxE0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbU4Fwu%2FbtsATX06mMe%2F5iyrGzGt1M9jof9amHFxE0%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;500&quot; height=&quot;889&quot; data-filename=&quot;IMG_7907.jpeg&quot; data-origin-width=&quot;2268&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;비전공자를 위한 이해할 수 있는 IT 지식&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 저자분은 개발자가 아닙니다.&lt;br /&gt;개발자와 커뮤티케이션의 필요성을 느끼고 스스로 공부를 한 다음 알게 된 내용을 큰 구조를 통해서 쉽게 설명을 해주십니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발자인 저의 입장에서는 정말 쉽게 읽혔던 내용입니다.&lt;br /&gt;어떤 부분 때문에 쉽게 읽혔냐면, 용어 자체가 개발자라면 다 알고 있는 용어들이 나옵니다.&lt;br /&gt;예를 들면 API, JSON, CRUD, 프론트엔드, 백엔드, 서버, 데이터베이스 등 어려운 단어는 나오지 않았습니다.&lt;br /&gt;개발자들 간의 각 역할과 연결관계에 대해서 설명을 해줍니다. &lt;br /&gt;당연한 내용들이지만 &lt;b&gt;전체적인 큰틀에 대해서 다시 한번 개념을 잡게 되었습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 책의 목적은 비전공자를 위한 책입니다.&lt;br /&gt;더 자세히 말하자면 IT업무를 하는 주니어 혹은 IT하는 사람과 대화를 자주하는 사람들을 위한 책인 것 같습니다.&lt;br /&gt;들어보았거나 앞으로 업무를 하면서 피할 수 없는 내용들에 대해서 쉽게 설명을 해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 내가 주니어 개발자이거나 개발자와 자주 대화하는데 이해를 못하시는 분들에게는 도움이 많이 되실 것 같습니다.&lt;br /&gt;특히 개발자 입장에서는 개발자가 되고싶은 분들에게 추천해주고 싶습니다.&lt;br /&gt;처음부터 순차적으로 읽고 끝에 정리라는 부분이 있는데 전체적인 구조가 어떻게 잡혀있는지에 도움이 될 것 같습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_7908.jpeg&quot; data-origin-width=&quot;2159&quot; data-origin-height=&quot;3839&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/q0JMP/btsATjXMUqW/ccD4NKzqyz9gtVQBqyRaiK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/q0JMP/btsATjXMUqW/ccD4NKzqyz9gtVQBqyRaiK/img.jpg&quot; data-alt=&quot;마지막 챕터는 정리&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/q0JMP/btsATjXMUqW/ccD4NKzqyz9gtVQBqyRaiK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq0JMP%2FbtsATjXMUqW%2FccD4NKzqyz9gtVQBqyRaiK%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;500&quot; height=&quot;889&quot; data-filename=&quot;IMG_7908.jpeg&quot; data-origin-width=&quot;2159&quot; data-origin-height=&quot;3839&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;마지막 챕터는 정리&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;이 책을 읽고 나서 이렇게 블로그에 적어보는 이유는&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;초보 개발자가 왕초보 개발자에게 도움이 될 것 같아서 적어봅니다.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;각 파트에 대한 설명과 구조까지는 이 글에 적지 않았습니다.&lt;br /&gt;읽고 조금 더 단단한 개발자가 되기를 바랍니다.&lt;br /&gt;&lt;br /&gt;감사합니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Book</category>
      <category>개발자도서</category>
      <category>개발자책추천</category>
      <category>비전공자를위한이해할수있는IT지식</category>
      <category>스테디셀러</category>
      <category>책추천</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/51</guid>
      <comments>https://bubble94.tistory.com/entry/%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%A1%9C-%EC%B7%A8%EC%97%85%ED%95%98%EA%B1%B0%EB%82%98-%EC%A3%BC%EB%8B%88%EC%96%B4-%EA%B0%9C%EB%B0%9C%EC%9E%90%EA%B0%80-%EC%9D%BD%EC%9C%BC%EB%A9%B4-%EC%A2%8B%EC%9D%80-%EC%B1%85#entry51comment</comments>
      <pubDate>Sun, 26 Nov 2023 14:04:07 +0900</pubDate>
    </item>
    <item>
      <title>Caused by: java.lang.ClassNotFoundException: org.apache.tomcat.util.descriptor.tld.TldParser</title>
      <link>https://bubble94.tistory.com/entry/Caused-by-javalangClassNotFoundException-orgapachetomcatutildescriptortldTldParser</link>
      <description>&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;Tomcat으로 자바 실행 시 아래와 같이 에러가 난 경우에 대해 해결 방법을 공유하겠습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1698925059100&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Caused by: java.lang.ClassNotFoundException: org.apache.tomcat.util.descriptor.tld.TldParser
Caused by: java.lang.NoClassDefFoundError: org/apache/tomcat/util/descriptor/tld/TldParser
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]&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;위 에러는 org.apache.tomcat.util.descriptor.tld.TldParser 라는 Class를 찾지 못한 경우입니다.&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;구글에 'TldParser gradle' 이라고 검색을 하면 jar파일을 다운할 수 있는 사이트가 나옵니다.&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;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 06.52.33.png&quot; data-origin-width=&quot;2080&quot; data-origin-height=&quot;46&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nsYXn/btszHHED4Ch/w0TgA1LoymtyhPkiAXN4a1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nsYXn/btszHHED4Ch/w0TgA1LoymtyhPkiAXN4a1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nsYXn/btszHHED4Ch/w0TgA1LoymtyhPkiAXN4a1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnsYXn%2FbtszHHED4Ch%2Fw0TgA1LoymtyhPkiAXN4a1%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;2080&quot; height=&quot;46&quot; data-filename=&quot;스크린샷 2023-11-02 06.52.33.png&quot; data-origin-width=&quot;2080&quot; data-origin-height=&quot;46&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 07.00.58.png&quot; data-origin-width=&quot;1480&quot; data-origin-height=&quot;42&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/t4l5m/btszDBZ6Nq2/oyIsK08zO09qD8TnhrrTz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/t4l5m/btszDBZ6Nq2/oyIsK08zO09qD8TnhrrTz0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/t4l5m/btszDBZ6Nq2/oyIsK08zO09qD8TnhrrTz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft4l5m%2FbtszDBZ6Nq2%2FoyIsK08zO09qD8TnhrrTz0%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;1480&quot; height=&quot;42&quot; data-filename=&quot;스크린샷 2023-11-02 07.00.58.png&quot; data-origin-width=&quot;1480&quot; data-origin-height=&quot;42&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 07.01.11.png&quot; data-origin-width=&quot;1590&quot; data-origin-height=&quot;36&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zxcAj/btszC0ZR0Ix/nDUmvVyAwVO7KjAFKeXRIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zxcAj/btszC0ZR0Ix/nDUmvVyAwVO7KjAFKeXRIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zxcAj/btszC0ZR0Ix/nDUmvVyAwVO7KjAFKeXRIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzxcAj%2FbtszC0ZR0Ix%2FnDUmvVyAwVO7KjAFKeXRIK%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;1590&quot; height=&quot;36&quot; data-filename=&quot;스크린샷 2023-11-02 07.01.11.png&quot; data-origin-width=&quot;1590&quot; data-origin-height=&quot;36&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;아래에 URL 첨부해두겠습니다.&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;maven, gradle 등 다른 표현식들도 있으니 해당 사이트에서 확인하시면 되겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://jar-download.com/artifacts/org.apache.tomcat/tomcat-util-scan/9.0.0.M18/source-code/org/apache/tomcat/util/descriptor/tld/TldParser.java&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://jar-download.com/artifacts/org.apache.tomcat/tomcat-util-scan/9.0.0.M18/source-code/org/apache/tomcat/util/descriptor/tld/TldParser.java&lt;/a&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- &lt;span style=&quot;background-color: #f3c000;&quot;&gt;Caused by : java.lang.ClassNotFoundException&amp;nbsp;&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;p data-ke-size=&quot;size16&quot;&gt;모두 행코하세요!&lt;/p&gt;</description>
      <category>개발기록/JAVA</category>
      <category>ClassNotFoundException</category>
      <category>error</category>
      <category>Gradle</category>
      <category>notfound</category>
      <category>tldparser</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/50</guid>
      <comments>https://bubble94.tistory.com/entry/Caused-by-javalangClassNotFoundException-orgapachetomcatutildescriptortldTldParser#entry50comment</comments>
      <pubDate>Fri, 3 Nov 2023 02:46:46 +0900</pubDate>
    </item>
    <item>
      <title>import Class가 나오지 않을 때 해결법(feat.IntelliJ)</title>
      <link>https://bubble94.tistory.com/entry/import-Class%EA%B0%80-%EB%82%98%EC%98%A4%EC%A7%80-%EC%95%8A%EC%9D%84-%EB%95%8C-%ED%95%B4%EA%B2%B0%EB%B2%95featIntelliJ</link>
      <description>&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇다 보면 아래와 같이 빨갛게 되는 부분이 많이 접하실 텐데요&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 00.01.17.png&quot; data-origin-width=&quot;1104&quot; data-origin-height=&quot;557&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfkaay/btszCsuBRaC/1xewLizOf05NKMaLfwhRf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfkaay/btszCsuBRaC/1xewLizOf05NKMaLfwhRf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfkaay/btszCsuBRaC/1xewLizOf05NKMaLfwhRf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbfkaay%2FbtszCsuBRaC%2F1xewLizOf05NKMaLfwhRf0%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;656&quot; height=&quot;331&quot; data-filename=&quot;스크린샷 2023-11-02 00.01.17.png&quot; data-origin-width=&quot;1104&quot; data-origin-height=&quot;557&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 자바에서 특정 Class가 import가 되지 않을 경우에 대해 해결법에 대해서 공유드릴려고 합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 00.01.32.png&quot; data-origin-width=&quot;568&quot; data-origin-height=&quot;269&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vGs5W/btszDAZ0GfC/xTytP0KwN5GGzDmUtcV7yK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vGs5W/btszDAZ0GfC/xTytP0KwN5GGzDmUtcV7yK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vGs5W/btszDAZ0GfC/xTytP0KwN5GGzDmUtcV7yK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvGs5W%2FbtszDAZ0GfC%2FxTytP0KwN5GGzDmUtcV7yK%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;568&quot; height=&quot;269&quot; data-filename=&quot;스크린샷 2023-11-02 00.01.32.png&quot; data-origin-width=&quot;568&quot; data-origin-height=&quot;269&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 Logger라는 부분이 문제입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제가 해결했던 방법은 build.gradle부분에서 해결을 했습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-01 23.46.45.png&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;319&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GchM2/btszCnz6aCC/skp81RMpqFLrZy4OCdaC70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GchM2/btszCnz6aCC/skp81RMpqFLrZy4OCdaC70/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GchM2/btszCnz6aCC/skp81RMpqFLrZy4OCdaC70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGchM2%2FbtszCnz6aCC%2Fskp81RMpqFLrZy4OCdaC70%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;1266&quot; height=&quot;319&quot; data-filename=&quot;스크린샷 2023-11-01 23.46.45.png&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;319&quot;/&gt;&lt;/span&gt;&lt;/figure&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;아래에 보면 Change {group,name,version} 이 있는데 해당 부분을 클릭을 하면 안전한 버전으로 변경이 가능합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 00.01.49.png&quot; data-origin-width=&quot;304&quot; data-origin-height=&quot;167&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4oP5j/btszy3JEvwp/H0PikVz5dtL0tvYkaRiMa1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4oP5j/btszy3JEvwp/H0PikVz5dtL0tvYkaRiMa1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4oP5j/btszy3JEvwp/H0PikVz5dtL0tvYkaRiMa1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4oP5j%2Fbtszy3JEvwp%2FH0PikVz5dtL0tvYkaRiMa1%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;304&quot; height=&quot;167&quot; data-filename=&quot;스크린샷 2023-11-02 00.01.49.png&quot; data-origin-width=&quot;304&quot; data-origin-height=&quot;167&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변경 후에 우측에 있는 Load Gradle Changes를 클릭하시게 되면 반영이 됩니다.&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;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 00.02.45.png&quot; data-origin-width=&quot;629&quot; data-origin-height=&quot;267&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ohzMh/btszC65G0QP/ohlPoz7zyqY6kIkyx6cDI1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ohzMh/btszC65G0QP/ohlPoz7zyqY6kIkyx6cDI1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ohzMh/btszC65G0QP/ohlPoz7zyqY6kIkyx6cDI1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FohzMh%2FbtszC65G0QP%2FohlPoz7zyqY6kIkyx6cDI1%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;629&quot; height=&quot;267&quot; data-filename=&quot;스크린샷 2023-11-02 00.02.45.png&quot; data-origin-width=&quot;629&quot; data-origin-height=&quot;267&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 메인 화면으로 와서 확인을 하면 import가 가능하고 에러가 해결이 됩니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-02 00.02.18.png&quot; data-origin-width=&quot;1156&quot; data-origin-height=&quot;544&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/omryN/btszCHykhh6/OzIuKKATe7xaMKbKrqFgo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/omryN/btszCHykhh6/OzIuKKATe7xaMKbKrqFgo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/omryN/btszCHykhh6/OzIuKKATe7xaMKbKrqFgo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FomryN%2FbtszCHykhh6%2FOzIuKKATe7xaMKbKrqFgo0%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;1156&quot; height=&quot;544&quot; data-filename=&quot;스크린샷 2023-11-02 00.02.18.png&quot; data-origin-width=&quot;1156&quot; data-origin-height=&quot;544&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;저와 같은 이유로 발생하셨다면 도움이 되셨길 바랍니다&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;</description>
      <category>개발기록/JAVA</category>
      <category>Dependency</category>
      <category>error</category>
      <category>Gradle</category>
      <category>Import</category>
      <category>import가 없어요</category>
      <category>IntelliJ</category>
      <category>java</category>
      <category>logger</category>
      <category>Logger import</category>
      <category>자바</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/49</guid>
      <comments>https://bubble94.tistory.com/entry/import-Class%EA%B0%80-%EB%82%98%EC%98%A4%EC%A7%80-%EC%95%8A%EC%9D%84-%EB%95%8C-%ED%95%B4%EA%B2%B0%EB%B2%95featIntelliJ#entry49comment</comments>
      <pubDate>Thu, 2 Nov 2023 00:18:17 +0900</pubDate>
    </item>
    <item>
      <title>리눅스 유용한 명령어 정리</title>
      <link>https://bubble94.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%9C%A0%EC%9A%A9%ED%95%9C-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%A6%AC</link>
      <description>&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. 리눅스 폴더 파일 날짜순 정렬 방법&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span&gt;ls -ltr&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;l 옵션은 자세히 표기&lt;br /&gt;&lt;/span&gt;&lt;span&gt;t 옵션은 파일과 디렉토리를 시간 순서대로 정렬&lt;br /&gt;&lt;/span&gt;&lt;span&gt;r 옵션은 정렬된 데이터의 순서를 오름차순&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&gt;2.&lt;/span&gt;&lt;/p&gt;</description>
      <category>개발기록/Linux</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/48</guid>
      <comments>https://bubble94.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%9C%A0%EC%9A%A9%ED%95%9C-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%A6%AC#entry48comment</comments>
      <pubDate>Mon, 16 Oct 2023 15:44:41 +0900</pubDate>
    </item>
    <item>
      <title>유용한 명령어</title>
      <link>https://bubble94.tistory.com/entry/%EC%9C%A0%EC%9A%A9%ED%95%9C-%EB%AA%85%EB%A0%B9%EC%96%B4</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;여러 단어 수정&lt;br /&gt;&amp;lt;전체&amp;gt;&lt;br /&gt;Ctrl + Shift &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;+&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; L&lt;br /&gt;&amp;lt;낱개&amp;gt;&lt;br /&gt;Ctrl + D 누를때마다 갯수 증가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;열 편집&lt;br /&gt;Ctrl + Alt + Shift 방향키 위 아래&lt;br /&gt;Esc -&amp;gt; end&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발기록/VSCode</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/47</guid>
      <comments>https://bubble94.tistory.com/entry/%EC%9C%A0%EC%9A%A9%ED%95%9C-%EB%AA%85%EB%A0%B9%EC%96%B4#entry47comment</comments>
      <pubDate>Fri, 13 Oct 2023 10:31:19 +0900</pubDate>
    </item>
    <item>
      <title>Linux에서 자주 사용하는 명령어 part2</title>
      <link>https://bubble94.tistory.com/entry/Linux%EC%97%90%EC%84%9C-%EC%9E%90%EC%A3%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%AA%85%EB%A0%B9%EC%96%B4-part2</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요 성장형 개발자입니다.&lt;br /&gt;지난번에 이어 리눅스에서 자주 사용하는 명령어에 대해 알려드릴려고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전 글은 자주 사용하는 명령어 중에서도 기본 명령어 위주로 설명을 드렸습니다&lt;br /&gt;오늘 글도 기본이지만 지난 번 보다는 아주 쵸큼 깊이가 있는 명령어들입니다 ㅎㅎ&lt;/p&gt;
&lt;div align=&quot;center&quot;&gt;&lt;button&gt; &lt;a href=&quot;https://bubble94.tistory.com/45&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;리눅스에서 자주 사용하는 명령어 Part.1 보기&lt;/a&gt;&lt;/button&gt;&lt;/div&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;1. chmod&lt;br /&gt;&amp;nbsp;-&amp;gt; 파일의 권한을 변경하는 명령어&lt;br /&gt;&amp;nbsp;-&amp;gt; 읽기(read), 쓰기(write), 실행(execute) 약자입니다!&lt;br /&gt;&amp;nbsp;-&amp;gt; 권한이 없는 경우에는 사용할 수가 없습니다&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;2. chown&lt;br /&gt;&amp;nbsp;-&amp;gt; 파일 소유권을 변경하는 명령어&lt;br /&gt;&amp;nbsp;-&amp;gt; 개인, 그룹 계정 소유를 변경할 수 있습니다!&lt;br /&gt;&amp;nbsp;-&amp;gt; 언제 사용하냐면 디렉토리나 파일에 대한 접근 제한을 할 때 사용을 합니다&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;3. ps&lt;br /&gt;&amp;nbsp;-&amp;gt; 현재 실행 중인 프로세스에 대한 정보를 표시하는 명령어입니다.&lt;br /&gt;&amp;nbsp;-&amp;gt; 저는 주로 서버에 실행하는 앱이 실행 중인지 체크할 때 사용합니다&lt;br /&gt;&amp;nbsp;-&amp;gt; 옵션과 다른 명령어를 조합해서 미리 정리해두면 서버 운영할 때도 용이한 명령어입니다&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;4. top&lt;br /&gt;&amp;nbsp;-&amp;gt; 시스템 프로세스, 리소스 사용량을 실시간으로 모니터링 가능하게 해주는 명령어입니다.&lt;br /&gt;&amp;nbsp;-&amp;gt; 윈도우를 사용해보신 분들은 작업관리자라고 생각하시면 편할 것 같습니다&lt;br /&gt;&amp;nbsp;-&amp;gt; 서버는 메모리를 많이 다루다 보니 자주 사용하는 명령어입니다&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;5. kill&lt;br /&gt;&amp;nbsp;-&amp;gt; 프로세스를 종료하거나 프로세스에 신호를 보내는 명령어입니다.&lt;br /&gt;&amp;nbsp;-&amp;gt; 간혹 종료를 해도 좀비마냥 살아있는 프로세스들을 죽일 때 쓰는 명령어입니다.&lt;br /&gt;&amp;nbsp;-&amp;gt; 윈도우의 작업관리자에서 &quot;작업끝내기&quot;와 비슷하다고 보시면 되겠습니다&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;6.&amp;nbsp; df&lt;br /&gt;&amp;nbsp;-&amp;gt; 디스크 공간 사용량을 표시하는 명령어&lt;br /&gt;&amp;nbsp;-&amp;gt; 내가 접속한 서버의 디스크 총 크기, 사용량, 여유 공간 등의 정보를 보여줍니다&lt;br /&gt;&amp;nbsp;-&amp;gt; 삭제주기가 걸려있지 않은 파일들이 있을 경우 위 명령어로 어디가 여유공간이 없는지 확인 시 용이합니다!&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;7. ssh&lt;br /&gt;&amp;nbsp;-&amp;gt; 원격 시스템에 안전하게 접근하는 명령어입니다.&lt;br /&gt;&amp;nbsp;-&amp;gt; ssh는 정말... 자주 씁니다(저의 기준)&lt;br /&gt;&amp;nbsp;-&amp;gt; 서버 간의 이동이라고 생각하시면 됩니다&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;8. man&lt;br /&gt;&amp;nbsp;-&amp;gt; 명령어에 대한 설명서 즉 도움말 페이지입니다.&lt;br /&gt;&amp;nbsp;-&amp;gt; 지금 제가 자주 사용하는 명령어에 대한 설명과 옵션을 모두 알려줍니다(manual의 약자)&lt;br /&gt;&amp;nbsp;-&amp;gt; 예를 들면 위에 말한 kill 이라는 명령어에 대해 알고 싶다면 아래와 같이 사용하면 됩니다.&lt;/blockquote&gt;
&lt;pre id=&quot;code_1690469801447&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;man kill&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 리눅스에는 여러가지의 명령어들이 존재합니다&lt;br /&gt;제가 알려드린 명령어들 외에도 자주사용하고 훨씬 유용한 명령어들이 많이 존재합니다.&lt;br /&gt;그 중에서 저의 현업에서 리눅스에서 잘 돌아다닐 수 있는 명령어 위주로 설명을 드려봤습니다&lt;br /&gt;&lt;br /&gt;그리고 마지막에 설명드린 &quot;man&quot; 명령어는 여러분에게 물고기 잡는 법을 알려드린 부분입니다.&lt;br /&gt;이 명령어에는 어떤 옵션이 있지? 궁금하실 때는 위 명령어를 통해 도움을 받으시길 바랍니다&lt;br /&gt;&lt;br /&gt;오늘도 고생하셨고, 도움이 되셨길 바랍니다&lt;/p&gt;</description>
      <category>linux chmod</category>
      <category>Linux df</category>
      <category>linux kill</category>
      <category>linux man</category>
      <category>리눅스</category>
      <category>리눅스명령어</category>
      <category>리눅스자주사용하는명령어</category>
      <category>맥명령어</category>
      <category>윈도우명령어</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/46</guid>
      <comments>https://bubble94.tistory.com/entry/Linux%EC%97%90%EC%84%9C-%EC%9E%90%EC%A3%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%AA%85%EB%A0%B9%EC%96%B4-part2#entry46comment</comments>
      <pubDate>Fri, 28 Jul 2023 00:02:11 +0900</pubDate>
    </item>
    <item>
      <title>Linux 자주 사용하는 명령어 알아보기</title>
      <link>https://bubble94.tistory.com/entry/Linux-%EC%9E%90%EC%A3%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요 성장형 개발자입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;몇년 전에 웹개발을 주로 하다가 서버 관리쪽으로 직무가 변경이 되었는데요&lt;br /&gt;그러면서 자연스럽게 리눅스라는 운영체제를 자주 접하게 되었습니다&lt;br /&gt;하둡 서버를 관리를 하다보니 피할 수 없는 경우이더라구요 하하 ㅎㅎㅎ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 오늘은 리눅스에서 다양한 작업을 수행하게 해주면서 시스템을 관리하는 데 &lt;br /&gt;필수적이고 자주 사용하게 되는 명령어에 대해서 간략하게 소개를 해드릴까 합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;1. ls&lt;br /&gt;&amp;nbsp;-&amp;gt; 현재 경로에 있는 파일 및 디렉토리를 보여줍니다&lt;br /&gt;&amp;nbsp;-&amp;gt; ls -l 로 하시면 수직으로 보기편하게 보여줍니다&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;2. cd&lt;br /&gt;&amp;nbsp;-&amp;gt; 디렉토리 변경 명령어입니다&lt;br /&gt;&amp;nbsp;-&amp;gt; cd ./{이동할 디렉토리}&amp;nbsp; 이동할 디렉토리로 이동이 가능합니다&lt;br /&gt;&amp;nbsp;-&amp;gt; cd ../ 상위 디렉토리로 이동합니다&lt;br /&gt;&amp;nbsp;-&amp;gt; 처음에 리눅스를 처음 접할 때 cd ../ 띄어쓰기를 해야하는지 몰랐었던.... 정말 처음이신 분들은 띄어쓰기해야한다는 점 꼭 아시길 바랍니다&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;3. pwd&lt;br /&gt;&amp;nbsp;-&amp;gt; 현재 내가 위치한 경로가 어디인지 알려줍니다&lt;br /&gt;&amp;nbsp;-&amp;gt; 은근히 자주사용합니다&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;4. mkdir&lt;br /&gt;&amp;nbsp;-&amp;gt; 새 디렉토리를 만드는 명령어&lt;br /&gt;&amp;nbsp;-&amp;gt; 경험담인데 데이터를 수집하는 경우에 디렉토리가 없으면, 에러를 뱉는 경우가 있기에 종종 사용합니다.&lt;br /&gt;&amp;nbsp;-&amp;gt; rmdir 디렉토리를 삭제하는 명령어, 안에 내용물이 있으면 옵션을 줘서 삭제해야합니다&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;5. cp&lt;br /&gt;&amp;nbsp;-&amp;gt; 파일, 디렉토리를 복사합니다&lt;br /&gt;&amp;nbsp;-&amp;gt; 저는 대체로 백업을 할 때 자주 사용합니다&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;6. mv&lt;br /&gt;&amp;nbsp;-&amp;gt; 파일, 디렉토리를 이동시키거나 이름을 바꿀 때 사용합니다.&lt;br /&gt;&amp;nbsp;-&amp;gt; 빠릅니다&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;7. rm&lt;br /&gt;&amp;nbsp;-&amp;gt; 파일, 디렉토리를 제거합니다.&lt;br /&gt;&amp;nbsp;-&amp;gt; 개인적으로 삭제, 제거 명령어는 항상 조심해야합니다.&lt;br /&gt;&amp;nbsp;-&amp;gt; 저는 사용하는 걸 자제하는 편입니다&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;8. cat&lt;br /&gt;&amp;nbsp;-&amp;gt; 보고자 하는 파일을 보여줍니다&lt;br /&gt;&amp;nbsp;-&amp;gt; 용량이 많은 파일은 안하는게 좋습니다&lt;br /&gt;&amp;nbsp;-&amp;gt; 간단한 파일 같은 경우에는 유용한 편입니다.&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;9. less&lt;br /&gt;&amp;nbsp;-&amp;gt; 보고자 하는 파일을 페이지 단위로 봅니다&lt;br /&gt;&amp;nbsp;-&amp;gt; vi, cat 등 전체를 보여주지만 less는 페이지 단위로 보여주기 때문에 메모리 사용량도 적고 빠릅니다&lt;br /&gt;&amp;nbsp;-&amp;gt; 검색도 가능해서 정말 유용한 명령어&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;10. grep&lt;br /&gt;&amp;nbsp;-&amp;gt; 패턴을 검색합니다&lt;br /&gt;&amp;nbsp;-&amp;gt; 정말.... 자주 사용합니다.&lt;br /&gt;&amp;nbsp;-&amp;gt; 걸러내는 용도, 불필요한 내용은 제거 등 여러모로 정말 자주사용합니다&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;11. head, tail&lt;br /&gt;&amp;nbsp;-&amp;gt; head : 파일의 처음 몇 줄을 보여줍니다.&lt;br /&gt;&amp;nbsp;-&amp;gt; tail : 파일의 마지막 몇 줄을 보여줍니다.&lt;br /&gt;&amp;nbsp;-&amp;gt; 사람마다 다르지만, 저는 개인적으로 head는 자주 사용안합니다.&lt;br /&gt;&amp;nbsp;-&amp;gt; log 파일을 생성 시에 tail로 실시간 로그를 보는 용도로 사용합니다.&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;몇가지만 알려드릴려고 했는데&lt;br /&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;br /&gt;재미있는 코딩생활되시길 바랍니다~&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발기록/Linux</category>
      <category>linux</category>
      <category>Mac Command</category>
      <category>리눅스</category>
      <category>리눅스명령어</category>
      <category>리눅스자주사용하는명령어</category>
      <category>맥북명령어</category>
      <category>명령어</category>
      <category>유닉스</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/45</guid>
      <comments>https://bubble94.tistory.com/entry/Linux-%EC%9E%90%EC%A3%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0#entry45comment</comments>
      <pubDate>Mon, 24 Jul 2023 23:42:24 +0900</pubDate>
    </item>
    <item>
      <title>개발자 스킬 별 필요한 공부 및 진로 찾기(feat.roadmap)</title>
      <link>https://bubble94.tistory.com/entry/%EA%B0%9C%EB%B0%9C%EC%9E%90-%EC%8A%A4%ED%82%AC-%EB%B3%84-%ED%95%84%EC%9A%94%ED%95%9C-%EA%B3%B5%EB%B6%80-%EB%B0%8F-%EC%A7%84%EB%A1%9C-%EC%B0%BE%EA%B8%B0featroadmap</link>
      <description>&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;왜냐하면 개발자의 세상에도 여러 분야의 개발자들이 많기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들면 간단히만 적어보겠습니다&lt;br /&gt;&amp;nbsp;- 프론트엔드&lt;br /&gt;&amp;nbsp;- 백엔드&lt;br /&gt;&amp;nbsp;- 서버&lt;br /&gt;&amp;nbsp;- 디비&lt;br /&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;br /&gt;-&amp;gt; 내가 사이트를 하나 줄테니 찾아보고 더 끌리거나 기존에 알고 있던 내용이랑 비슷한지 확인해봐라&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 알려주면 도움이 많이 됬다 라는 답변을 종종 들었습니다 ㅎㅎ&lt;br /&gt;뭐 사람별로 다 다르겠지만, 충분히 도움이 될만한 사이트이기도 하거든요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 무슨 사이트이냐?&lt;br /&gt;제목에 적어두었다시피 roadmap입니다.&lt;br /&gt;말그대로 로드맵! 내가 해당 분야의 개발자가 되기 위한 로드맵인것이죠&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://roadmap.sh/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://roadmap.sh/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1685926401418&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;Developer Roadmaps - roadmap.sh&quot; data-og-description=&quot;Community driven roadmaps, articles and guides for developers to grow in their career.&quot; data-og-host=&quot;roadmap.sh&quot; data-og-source-url=&quot;https://roadmap.sh/&quot; data-og-url=&quot;https://roadmap.sh/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/q4sxH/hySR6zIGen/kqT6rJhLzdvg9XEVbY7ql1/img.png?width=2400&amp;amp;height=1260&amp;amp;face=0_0_2400_1260&quot;&gt;&lt;a href=&quot;https://roadmap.sh/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://roadmap.sh/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/q4sxH/hySR6zIGen/kqT6rJhLzdvg9XEVbY7ql1/img.png?width=2400&amp;amp;height=1260&amp;amp;face=0_0_2400_1260');&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;Developer Roadmaps - roadmap.sh&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Community driven roadmaps, articles and guides for developers to grow in their career.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;roadmap.sh&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞서 설명했다시피, 각 분야의 개발자 로드맵이라고 생각하시면 됩니다.&lt;br /&gt;해당 사이트 접속 후 보시면 분야별, 스킬별 로드맵으로 정리되어있습니다&lt;br /&gt;예전에는 많이 없었는데, 지금까지도 업데이트가 계속 되고 있는 듯 하네요(굳굳)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-06-05 09.54.08.png&quot; data-origin-width=&quot;823&quot; data-origin-height=&quot;428&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/esZwSB/btsiBJzrVUX/b9NnWxFMEWcaK3jE0VSqb0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/esZwSB/btsiBJzrVUX/b9NnWxFMEWcaK3jE0VSqb0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/esZwSB/btsiBJzrVUX/b9NnWxFMEWcaK3jE0VSqb0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FesZwSB%2FbtsiBJzrVUX%2Fb9NnWxFMEWcaK3jE0VSqb0%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;823&quot; height=&quot;428&quot; data-filename=&quot;스크린샷 2023-06-05 09.54.08.png&quot; data-origin-width=&quot;823&quot; data-origin-height=&quot;428&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-06-05 09.55.18.png&quot; data-origin-width=&quot;834&quot; data-origin-height=&quot;543&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQNcHb/btsiuBiblkV/43VaCCTDhKl48xIiVoCWjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQNcHb/btsiuBiblkV/43VaCCTDhKl48xIiVoCWjK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQNcHb/btsiuBiblkV/43VaCCTDhKl48xIiVoCWjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQNcHb%2FbtsiuBiblkV%2F43VaCCTDhKl48xIiVoCWjK%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;834&quot; height=&quot;543&quot; data-filename=&quot;스크린샷 2023-06-05 09.55.18.png&quot; data-origin-width=&quot;834&quot; data-origin-height=&quot;543&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예시로 프론트엔드를 한번 선택해서 보겠습니다.&lt;br /&gt;해당 버튼을 클릭을하면 아래와 같이 로드맵이 되어있습니다&lt;br /&gt;영어로 되어있어서 무슨말인지 모르겠어요 ㅠㅠ -&amp;gt; 크롬 기준 우클릭하면 번역 가능&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-06-05 09.55.57.png&quot; data-origin-width=&quot;1048&quot; data-origin-height=&quot;856&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9CbPH/btsiBKd6tl4/CdMsT3bkhuKqEusoYofE21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9CbPH/btsiBKd6tl4/CdMsT3bkhuKqEusoYofE21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9CbPH/btsiBKd6tl4/CdMsT3bkhuKqEusoYofE21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9CbPH%2FbtsiBKd6tl4%2FCdMsT3bkhuKqEusoYofE21%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;1048&quot; height=&quot;856&quot; data-filename=&quot;스크린샷 2023-06-05 09.55.57.png&quot; data-origin-width=&quot;1048&quot; data-origin-height=&quot;856&quot;/&gt;&lt;/span&gt;&lt;/figure&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;br /&gt;로드맵 사이트 접속해서 확인해보시길 추천드립니다 ㅎㅎ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;도움이 된 정보이길 바라겠습니다&lt;/p&gt;</description>
      <category>유용한 정보</category>
      <category>개발자공부</category>
      <category>개발자진로</category>
      <category>디비</category>
      <category>로드맵</category>
      <category>백엔드</category>
      <category>벡엔드진로</category>
      <category>서버</category>
      <category>서버개발자진로</category>
      <category>프론트엔드</category>
      <category>프론트엔드진로</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/44</guid>
      <comments>https://bubble94.tistory.com/entry/%EA%B0%9C%EB%B0%9C%EC%9E%90-%EC%8A%A4%ED%82%AC-%EB%B3%84-%ED%95%84%EC%9A%94%ED%95%9C-%EA%B3%B5%EB%B6%80-%EB%B0%8F-%EC%A7%84%EB%A1%9C-%EC%B0%BE%EA%B8%B0featroadmap#entry44comment</comments>
      <pubDate>Mon, 5 Jun 2023 10:00:59 +0900</pubDate>
    </item>
    <item>
      <title>Hive SQL에서 to_char 안될 때</title>
      <link>https://bubble94.tistory.com/entry/Hive-SQL%EC%97%90%EC%84%9C-tochar-%EC%95%88%EB%90%A0-%EB%95%8C</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요 성장형 개발자입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오라클 DB를 주로 사용하다가 팀이 바뀌어서 hive sql 사용하게 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sql 질의 시에 안되는 것들이 있어서 도움이 될까하고 적어봅니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오라클에서 hive로 컨버터를 하는 중에 오라클의 to_char가 적용이 안되서 찾아봤는데, 아래와 같이 사용하면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&lt;i&gt;cast(test_column as string)&lt;/i&gt;&lt;/b&gt;&lt;/span&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;</description>
      <category>개발기록/DB</category>
      <category>Cast</category>
      <category>Hive</category>
      <category>hive cast</category>
      <category>HIVE SQL</category>
      <category>hive to_char</category>
      <category>hive 형변환</category>
      <category>하이브</category>
      <category>하이브 형변환</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/43</guid>
      <comments>https://bubble94.tistory.com/entry/Hive-SQL%EC%97%90%EC%84%9C-tochar-%EC%95%88%EB%90%A0-%EB%95%8C#entry43comment</comments>
      <pubDate>Thu, 1 Jun 2023 15:34:21 +0900</pubDate>
    </item>
    <item>
      <title>[excel] 찾고자하는 다른열에 값이 존재하는지 찾는 함수</title>
      <link>https://bubble94.tistory.com/entry/excel-%EC%B0%BE%EA%B3%A0%EC%9E%90%ED%95%98%EB%8A%94-%EB%8B%A4%EB%A5%B8%EC%97%B4%EC%97%90-%EA%B0%92%EC%9D%B4-%EC%A1%B4%EC%9E%AC%ED%95%98%EB%8A%94%EC%A7%80-%EC%B0%BE%EB%8A%94-%ED%95%A8%EC%88%98</link>
      <description>&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;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style3&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;A&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;B&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;C&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;apple&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;egg&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;O&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;banana&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;glass&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;X&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;carrot&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;apple&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;O&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;onion&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;carrot&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;O&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;egg&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;excel&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;X&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같이 시트가 있다고 가정하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C열에 함수를 아래와 같이 사용하시면 됩니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;B라는 열에 있는 값이 A열에 있는지 알고 싶을 때 : COUNTIF(A:A,B1)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;그런데 여기서 내가 원하는 명칭으로 표시하고 싶으면 이렇게 사용하세요&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;=IF(COUNTIF(A:A,B1), &quot;O&quot;, &quot;X&quot;)&lt;/span&gt;&lt;/b&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;참고로 MS office 기준입니당&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;업무에 도움되시길 바랍니다&lt;/p&gt;</description>
      <category>개발기록/excel</category>
      <category>다른열 값 찾기</category>
      <category>다른열 해당값</category>
      <category>엑셀</category>
      <category>엑셀함수</category>
      <category>유용한 함수</category>
      <category>함수</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/42</guid>
      <comments>https://bubble94.tistory.com/entry/excel-%EC%B0%BE%EA%B3%A0%EC%9E%90%ED%95%98%EB%8A%94-%EB%8B%A4%EB%A5%B8%EC%97%B4%EC%97%90-%EA%B0%92%EC%9D%B4-%EC%A1%B4%EC%9E%AC%ED%95%98%EB%8A%94%EC%A7%80-%EC%B0%BE%EB%8A%94-%ED%95%A8%EC%88%98#entry42comment</comments>
      <pubDate>Wed, 31 May 2023 15:47:14 +0900</pubDate>
    </item>
    <item>
      <title>chatGPT 한글로 질문하는 방법</title>
      <link>https://bubble94.tistory.com/entry/chatGPT-%ED%95%9C%EA%B8%80%EB%A1%9C-%EC%A7%88%EB%AC%B8%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;안녕하세요 성장형 개발자입니다&lt;br&gt;나날이 세상이 바뀌어가고 있는데요&lt;br&gt;&lt;br&gt;그 중에서 핫 키워드인 chatGPT를 한글로 질문하는 방법에 대해서 알려드리겠습니다&lt;br&gt;&lt;br&gt;생각보다 상당히 쉬우니까 설치하고 이것저것 많이 검색해보시길 바랍니다&lt;br&gt;&lt;br&gt;먼저 브라우저는 크롬입니다&lt;br&gt;&lt;br&gt;크롬에서 확장프로그램을 접속하셔야합니다&lt;br&gt;&lt;a href=&quot;https://chrome.google.com/webstore/category/extensions?hl=ko&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;https://chrome.google.com/webstore/category/extensions?hl=ko&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;Chrome 웹 스토어&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;Chrome에 사용할 유용한 앱, 게임, 확장 프로그램 및 테마를 찾아보세요.&quot; data-og-host=&quot;chrome.google.com&quot; data-og-source-url=&quot;https://chrome.google.com/webstore?hl=ko&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dRpNDj/hyStW4Se6h/zfZ2iZr7t8Q2CGhOE8Jq8k/img.png?width=1201&amp;amp;height=631&amp;amp;face=0_0_1201_631&quot; data-og-url=&quot;https://chrome.google.com/webstore?hl=ko&quot;&gt;&lt;a href=&quot;https://chrome.google.com/webstore?hl=ko&quot; target=&quot;_blank&quot; data-source-url=&quot;https://chrome.google.com/webstore?hl=ko&quot;&gt;&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dRpNDj/hyStW4Se6h/zfZ2iZr7t8Q2CGhOE8Jq8k/img.png?width=1201&amp;amp;height=631&amp;amp;face=0_0_1201_631')&quot;&gt; &lt;/div&gt;&lt;div class=&quot;og-text&quot;&gt;&lt;p class=&quot;og-title&quot;&gt;Chrome 웹 스토어&lt;/p&gt;&lt;p class=&quot;og-desc&quot;&gt;Chrome에 사용할 유용한 앱, 게임, 확장 프로그램 및 테마를 찾아보세요.&lt;/p&gt;&lt;p class=&quot;og-host&quot;&gt;chrome.google.com&lt;/p&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;위 url을 누르고 접속하시면 됩니다&lt;br&gt;&lt;br&gt;그리고 스토어 검색에 “프롬프트지니”라고 검색!&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1172&quot; data-origin-height=&quot;327&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dbOZjF/btsdKqEdY05/r15DSpAJV1tmAQzZcxCrl0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dbOZjF/btsdKqEdY05/r15DSpAJV1tmAQzZcxCrl0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dbOZjF/btsdKqEdY05/r15DSpAJV1tmAQzZcxCrl0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdbOZjF%2FbtsdKqEdY05%2Fr15DSpAJV1tmAQzZcxCrl0%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;1172&quot; height=&quot;327&quot; data-origin-width=&quot;1172&quot; data-origin-height=&quot;327&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;저는 이미 설치를 한 상태라서 삭제 버튼이 생겼는데&lt;br&gt;처음 설치하시는 분들은 설치를 하시면 됩니다&lt;br&gt;&lt;br&gt;참고로 “프롬프트지니” 라는 확장프로그램이&lt;br&gt;chatGPT 홈페이지에서 한글로 질문 시 번역해서 질문을하고 답변을 다시 한글로 번역을 시켜주는 프로그램입니다&lt;br&gt;&lt;br&gt;설치 후 chatGPT 사이트에 접속을 하시면 됩니다&lt;br&gt;&lt;a href=&quot;https://chat.openai.com/auth/login&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;https://chat.openai.com/auth/login&lt;/span&gt;&lt;/a&gt;&lt;br&gt;로그인은 필수입니당!&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;746&quot; data-origin-height=&quot;814&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cZbOTI/btsdIn84tqO/3Px8gUb4BnRHN5CpVEabwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cZbOTI/btsdIn84tqO/3Px8gUb4BnRHN5CpVEabwk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cZbOTI/btsdIn84tqO/3Px8gUb4BnRHN5CpVEabwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcZbOTI%2FbtsdIn84tqO%2F3Px8gUb4BnRHN5CpVEabwk%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;746&quot; height=&quot;814&quot; data-origin-width=&quot;746&quot; data-origin-height=&quot;814&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;로그인 후 화면을 보시면 아래에 반영이 되어있습니다&lt;br&gt;&lt;br&gt;이제 다 되었습니다!&lt;br&gt;한글로 질문을 해보겠습니다&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;713&quot; data-origin-height=&quot;591&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wS7vf/btsdInONH6d/jyTtKtcAsgWz28kqauzAt1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wS7vf/btsdInONH6d/jyTtKtcAsgWz28kqauzAt1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wS7vf/btsdInONH6d/jyTtKtcAsgWz28kqauzAt1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwS7vf%2FbtsdInONH6d%2FjyTtKtcAsgWz28kqauzAt1%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;713&quot; height=&quot;591&quot; data-origin-width=&quot;713&quot; data-origin-height=&quot;591&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;한글로 질문을 하면 번역이 바로 되어 질문을 시작합니다&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;542&quot; data-origin-height=&quot;412&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cW4lyE/btsdBONYQ1y/IH55FvXdSFFL05dVWfjFM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cW4lyE/btsdBONYQ1y/IH55FvXdSFFL05dVWfjFM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cW4lyE/btsdBONYQ1y/IH55FvXdSFFL05dVWfjFM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcW4lyE%2FbtsdBONYQ1y%2FIH55FvXdSFFL05dVWfjFM0%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;542&quot; height=&quot;412&quot; data-origin-width=&quot;542&quot; data-origin-height=&quot;412&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;편의상 화면을 잘라서 보여드립니다&lt;br&gt;번역하는 속도도 느리지 않아서 괜찮습니다&lt;br&gt;&lt;br&gt;저처럼 영어가 약하신 분들, chatGPT를 사용해보고 싶으신 분들은 사용하시게 되면 유용할 듯 싶습니다&lt;br&gt;&lt;br&gt;따라하시느라 고생하셨습니다&lt;br&gt;즐거운 하루 되세용❤️&lt;br&gt;&lt;br&gt;도움이 되셨다면 하트 눌러주세요&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;</description>
      <category>유용한 정보</category>
      <category>ChatGPT</category>
      <category>chatGPT한글검색</category>
      <category>chatGPT한글질문</category>
      <category>chatGPT한글질문방법</category>
      <category>OpenAI</category>
      <category>인공지능</category>
      <category>챗지피티한글검색</category>
      <category>프롬프트지니</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/41</guid>
      <comments>https://bubble94.tistory.com/entry/chatGPT-%ED%95%9C%EA%B8%80%EB%A1%9C-%EC%A7%88%EB%AC%B8%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95#entry41comment</comments>
      <pubDate>Wed, 3 May 2023 07:55:37 +0900</pubDate>
    </item>
    <item>
      <title>[flutter log] 연습용 앱을 따라하면서 필요한 내용 정리</title>
      <link>https://bubble94.tistory.com/entry/flutter-log-%EC%97%B0%EC%8A%B5%EC%9A%A9-%EC%95%B1%EC%9D%84-%EB%94%B0%EB%9D%BC%ED%95%98%EB%A9%B4%EC%84%9C-%ED%95%84%EC%9A%94%ED%95%9C-%EB%82%B4%EC%9A%A9-%EC%A0%95%EB%A6%AC</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;플러터 책을 보면서 연습용 앱을 따라하는데 나중에도 계속 적용할 듯 싶어 추후에 나를 위해 기록&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* pubspec.yaml&lt;br /&gt;&amp;nbsp;-&amp;gt; 플러터 프로젝트가 처음 생성되면서 자동으로 생성되는 파일&lt;br /&gt;&amp;nbsp;-&amp;gt; 프로젝트에서 사용할 폰트, 이미지, 외부 플러그인 등을 지정하는데 사용&lt;br /&gt;&amp;nbsp;-&amp;gt; 플러터 프로젝트의 모든 설정이 담긴 파일&lt;br /&gt;&amp;nbsp;-&amp;gt; 설정이 변경이 되면 프로젝트에 추가하고, 새로운 플러그인을 내려받는 등 추가 작업이 필요&lt;br /&gt;&amp;nbsp;-&amp;gt; 플러터에서는 [pub get] 기능을 제공해서 위 작업을 자동으로 처리해줌&lt;br /&gt;&amp;nbsp;-&amp;gt; [pub get] 기능을 실행하고 나면 앱을 다시 실행 해야 새로 바뀐 설정이 적용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 위젯 형태&lt;br /&gt;&amp;nbsp;-&amp;gt; stateful 위젯 : 위젯의 내부에서 값이 변경되었을 때 위젯 자체에서 다시 렌더링을 실행시킬 수 있음&lt;br /&gt;&amp;nbsp;-&amp;gt; stateless 위젯 : 위젯 내부에서 값이 변경되어도 위젯 자체적으로는 다시 렌더링 할 수 없음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 위젯 정렬&lt;br /&gt;&amp;nbsp;-&amp;gt; Center 위젯 : child에 위젯 하나만 가능&lt;br /&gt;&amp;nbsp;-&amp;gt; Row, Column 위젯 : children 매개변수에 리스트로 원하는 만큼 위젯 추가 가능&lt;br /&gt;&amp;nbsp;-&amp;gt; mainAxisAlignment: MainAxisAlignment.center를 통해서 가운데 정렬 가능&lt;br /&gt;&amp;nbsp;-&amp;gt; Column : 세로로 최대한 크기, 가로로는 최소한 크기를 차지하는 특성 &amp;lt;-&amp;gt; Row와는 반대&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 로딩 위젯&lt;br /&gt;&amp;nbsp;-&amp;gt; 동그라미 로딩(CircularProgressIndicator), 일자 로딩(LinearProgressIndicator)&lt;br /&gt;&amp;nbsp;-&amp;gt; backgrounColor 매개변수 : 위젯의 배경 색상&lt;br /&gt;&amp;nbsp;-&amp;gt; valueColor 매개변수 : 실제로 애니메이션으로 움직이는 부분의 색상, 색상이 애니메이션이 되어야 하기 때문에 AlwaysStoppedAnimation 클래스로 감싸서 색상을 제공&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* Image 위젯&lt;br /&gt;&amp;nbsp;-&amp;gt; 다섯가지 생성자&lt;br /&gt;&amp;nbsp; 1. 기본 Image 생성자 : ImageProvider라는 또 다른 위젯에서 이미지를 그림&lt;br /&gt;&amp;nbsp; 2. Image.asset 생성자 : app에 저장된 asset 파일로 이미지를 그림&lt;br /&gt;&amp;nbsp; 3. Image.networ 생성자 : URL을 통해서 이미지를 그림&lt;br /&gt;&amp;nbsp; 4. Image.file 생성자 : 파일을 통해서 이미지를 그림&lt;br /&gt;&amp;nbsp; 5. Image.memory 생성자 : 메모리에서 직접 이미지를 그림&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발기록/Flutter</category>
      <category>Flutter</category>
      <category>flutter개발</category>
      <category>Flutter에러</category>
      <category>image위젯</category>
      <category>pubspec</category>
      <category>pubspec.yaml</category>
      <category>widget</category>
      <category>yaml</category>
      <category>로딩 위젯</category>
      <category>위젯 정렬</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/40</guid>
      <comments>https://bubble94.tistory.com/entry/flutter-log-%EC%97%B0%EC%8A%B5%EC%9A%A9-%EC%95%B1%EC%9D%84-%EB%94%B0%EB%9D%BC%ED%95%98%EB%A9%B4%EC%84%9C-%ED%95%84%EC%9A%94%ED%95%9C-%EB%82%B4%EC%9A%A9-%EC%A0%95%EB%A6%AC#entry40comment</comments>
      <pubDate>Thu, 2 Feb 2023 03:40:28 +0900</pubDate>
    </item>
    <item>
      <title>Error: Entry point is not within the current project</title>
      <link>https://bubble94.tistory.com/entry/Error-Entry-point-is-not-within-the-current-project</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;flutter 책을 보면서 예시를 따라하는 중이였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미지를 넣기 위해서 pubspec.yaml을 수정을 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수정 후 pub get을 실행 후 앱 재기동을 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소스 수정 후에 에뮬을 기동시키고 run을 했는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바로 실행이 되지 않고, edit configuration 창이 뜨는 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;창 맨 아래에는 Error: Entry point is not within the current project 에러 발생&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;진입점이 현재 프로젝트에 없습니다&quot;&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;br /&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;1. 에뮬을 종료 후 앱 재기동&lt;br /&gt;2. 에뮬에 저장된 플러터 어플들 삭제 후 재기동&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;성공&lt;br /&gt;project 내에 .idea 제거&lt;br /&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;a href=&quot;https://stackoverflow.com/questions/57000043/error-entrypoint-isnt-within-the-current-project&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://stackoverflow.com/questions/57000043/error-entrypoint-isnt-within-the-current-project&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://stackoverflow.com/questions/17049416/what-is-the-idea-folder&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://stackoverflow.com/questions/17049416/what-is-the-idea-folder&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1675261416751&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;What is the .idea folder?&quot; data-og-description=&quot;When I create a project in JetBrains WebStorm, a folder called .idea gets created. Is it okay if I delete it? Will it affect my project?&quot; data-og-host=&quot;stackoverflow.com&quot; data-og-source-url=&quot;https://stackoverflow.com/questions/17049416/what-is-the-idea-folder&quot; data-og-url=&quot;https://stackoverflow.com/questions/17049416/what-is-the-idea-folder&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bNiXES/hyRso3qwfQ/SQ5h6ipkMdzTUZv5vK04mk/img.png?width=316&amp;amp;height=316&amp;amp;face=0_0_316_316&quot;&gt;&lt;a href=&quot;https://stackoverflow.com/questions/17049416/what-is-the-idea-folder&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://stackoverflow.com/questions/17049416/what-is-the-idea-folder&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bNiXES/hyRso3qwfQ/SQ5h6ipkMdzTUZv5vK04mk/img.png?width=316&amp;amp;height=316&amp;amp;face=0_0_316_316');&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;What is the .idea folder?&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;When I create a project in JetBrains WebStorm, a folder called .idea gets created. Is it okay if I delete it? Will it affect my project?&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;stackoverflow.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;</description>
      <category>개발기록/Flutter</category>
      <category>Entry point is not within the current project</category>
      <category>Error: Entry point is not within the current project</category>
      <category>Flutter</category>
      <category>flutter개발</category>
      <category>Flutter에러</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/39</guid>
      <comments>https://bubble94.tistory.com/entry/Error-Entry-point-is-not-within-the-current-project#entry39comment</comments>
      <pubDate>Wed, 1 Feb 2023 23:24:28 +0900</pubDate>
    </item>
    <item>
      <title>[flutter log] 위젯의 종류</title>
      <link>https://bubble94.tistory.com/entry/flutter-log-%EC%9C%84%EC%A0%AF%EC%9D%98-%EC%A2%85%EB%A5%98</link>
      <description>&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;contentSearch&quot; data-ke-align=&quot;alignCenter&quot; data-cs-kind=&quot;book&quot; data-cs-data=&quot;{&amp;quot;title&amp;quot;:&amp;quot;코드팩토리의 플러터 프로그래밍&amp;quot;,&amp;quot;image&amp;quot;:&amp;quot;http://t1.daumcdn.net/lbook/image/6245123?timestamp=20230115224150&amp;quot;,&amp;quot;url&amp;quot;:&amp;quot;https://search.daum.net/search?w=bookpage&amp;amp;bookId=6245123&amp;amp;tab=introduction&amp;amp;DA=LB2&amp;amp;q=%EC%BD%94%EB%93%9C%ED%8C%A9%ED%86%A0%EB%A6%AC%EC%9D%98+%ED%94%8C%EB%9F%AC%ED%84%B0+%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D&amp;quot;,&amp;quot;authors&amp;quot;:[&amp;quot;최지호(코드팩토리)&amp;quot;],&amp;quot;publicationDate&amp;quot;:&amp;quot;2023-01-01&amp;quot;,&amp;quot;publisher&amp;quot;:&amp;quot;골든래빗(주)&amp;quot;,&amp;quot;desc&amp;quot;:&amp;quot;저자는 왕초보 실력을 현업 수준으로 끌어올리기를 목표로 이 책을 썼습니다. 배운 이론을 곧바로 실무에 진짜 유용한 기능을 담은 앱을 만들며 익힐 수 있게 합니다. 모든 앱은 결과가 아니라 실제 프로젝트 현장에서 구현하듯이 과정을 보여주며 만듭니다. 변경하거나 수정한 코드를 확실하게 표시해 따라하기 쉽습니다. [프로젝트 소개] ➝ [사전 지식] ➝ [준비하기] ➝ [UI 구상하기] ➝ [구현하기] ➝ [테스트하기] 순서를 꼭 지켜서 앱 개발을 체계적으로 이끌어줍니다. 초보자 눈높이에 맞추면서, 다트 언어 입문부터 개발과 광고와 배포까지 현업에 도움이 될 실무적이고 활용도 높은 노하우를 담아 설명했기 때문에 탄탄하면서도 빠르게 스킬업되는 자신을 체감하게 될 겁니다.&amp;quot;}&quot;&gt;&lt;a href=&quot;https://search.daum.net/search?w=bookpage&amp;amp;bookId=6245123&amp;amp;tab=introduction&amp;amp;DA=LB2&amp;amp;q=%EC%BD%94%EB%93%9C%ED%8C%A9%ED%86%A0%EB%A6%AC%EC%9D%98+%ED%94%8C%EB%9F%AC%ED%84%B0+%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
&lt;div class=&quot;cs-image&quot; style=&quot;background-image: url('http://t1.daumcdn.net/lbook/image/6245123?timestamp=20230115224150'), url('../../image/noImage.png');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;cs-info-wrap&quot;&gt;&lt;span class=&quot;cs-title&quot;&gt;코드팩토리의 플러터 프로그래밍&lt;/span&gt;
&lt;div class=&quot;cs-desc&quot;&gt;저자는 왕초보 실력을 현업 수준으로 끌어올리기를 목표로 이 책을 썼습니다. 배운 이론을 곧바로 실무에 진짜 유용한 기능을 담은 앱을 만들며 익힐 수 있게 합니다. 모든 앱은 결과가 아니라 실제 프로젝트 현장에서 구현하듯이 과정을 보여주며 만듭니다. 변경하거나 수정한 코드를 확실하게 표시해 따라하기 쉽습니다. [프로젝트 소개] ➝ [사전 지식] ➝ [준비하기] ➝ [UI 구상하기] ➝ [구현하기] ➝ [테스트하기] 순서를 꼭 지켜서 앱 개발을 체계적으로 이끌어줍니다. 초보자 눈높이에 맞추면서, 다트 언어 입문부터 개발과 광고와 배포까지 현업에 도움이 될 실무적이고 활용도 높은 노하우를 담아 설명했기 때문에 탄탄하면서도 빠르게 스킬업되는 자신을 체감하게 될 겁니다.&lt;/div&gt;
&lt;div class=&quot;cs-props&quot;&gt;
&lt;dl class=&quot;cs-info&quot;&gt;
&lt;dt&gt;저자&lt;/dt&gt;
&lt;dd&gt;최지호(코드팩토리)&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl class=&quot;cs-info&quot;&gt;
&lt;dt&gt;출판&lt;/dt&gt;
&lt;dd&gt;골든래빗(주)&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl class=&quot;cs-info&quot;&gt;
&lt;dt&gt;출판일&lt;/dt&gt;
&lt;dd&gt;2023.01.01&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요 성장형 개발자입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;플러터 공부 중입니다&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;ㅇ 텍스트 관련 위젯&lt;br /&gt;&amp;nbsp;- Text : 글자를 적고 스타일링하는 위젯.&lt;br /&gt;&amp;nbsp;- 첫번째 포지셔널 파라미터에 원하는 문자열을 작성하고 style이라는 네임드 파라미터를 사용해 스타일을 지정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ㅇ 제스처 관련 위젯&lt;br /&gt;&amp;nbsp;- 사용자가 키보드로 글자를 입력하는 행위 외의 모든 입력을 플러터에서는 제스처라고 부름&lt;br /&gt;&amp;nbsp;- 예) 화면 한번 탭, 두번 탭, 길게 누르는 행동 모두가 제스처&lt;br /&gt;&amp;nbsp;- 하위 위젯에 탭이나 드래그처럼 특정 제스처가 입력됐을 때 인지하고 콜백 함수를 실행&lt;br /&gt;&lt;br /&gt;&amp;nbsp;- Button&lt;br /&gt;&amp;nbsp; -&amp;gt; 플러터 머터리얼 패키에서 기본 제공하는 버튼&lt;br /&gt;&amp;nbsp; -&amp;gt; TextButton(텍스트만 있음), OutlinedButton(테두리가 있음), ElevatedButton(입체적으로 튀어나온 느낌의 배경이 들어감)&lt;br /&gt;&amp;nbsp; -&amp;gt; 모두 버튼을 누르면 색깔이 변경되는 리플 효과를 지원&lt;br /&gt;&lt;br /&gt;&amp;nbsp;- IconButton&lt;br /&gt;&amp;nbsp; -&amp;gt; 아이콘을 버튼으로 생성하는 위젯&lt;br /&gt;&amp;nbsp; -&amp;gt; icon 매개변수에 보여주고 싶은 아이콘을 넣을 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; onPressed 매개변수에 IconButton을 누르면 실행할 콜백 함수를 제공할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; 글리프 기반의 아이콘을 사용할 수 있음.&lt;br /&gt;&amp;nbsp; -&amp;gt; Icons 클래스를 통해 플러터에서 제공하는 기본 아이콘들을 사용할 수 있음.&lt;br /&gt;&amp;nbsp; -&amp;gt; 제공되는 아이콘 목록은 링크 참조(&lt;a href=&quot;https://fonts.google.com/icons)&quot;&gt;https://fonts.google.com/icons)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;- GestureDetector&lt;br /&gt;&amp;nbsp; -&amp;gt; 앱은 모든 입력을 손가락을 함&lt;br /&gt;&amp;nbsp; -&amp;gt; 손가락으로 하는 여러 가지 입력을 인지하는 역할&lt;br /&gt;&amp;nbsp; -&amp;gt; onTap : 한번 탭했을 때 실행되는 함수를 입력할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; onDoubleTap : 두번 연속으로 탭했을 때 실행되는 함수를 입력할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; onLongTap : 길게 누르기가 인식됐을 때&lt;span&gt;&amp;nbsp;&lt;/span&gt;실행되는 함수를 입력할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; onPanStart : 수평 또는 수직으로 드래그가 시작됐을 때&lt;span&gt;&amp;nbsp;&lt;/span&gt;실행되는 함수를 입력할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; onPanUpdate : 수평 또는 수직으로 드래그를 하는 동안 드래그 위치가 업데이트 될 때마다&lt;span&gt;&amp;nbsp;&lt;/span&gt;실행되는 함수를 입력할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; onPanEnd : 수평 또는 수직으로 드래그가 끝났을 때&lt;span&gt;&amp;nbsp;&lt;/span&gt;실행되는 함수를 입력할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; onHorizontalDragStart : 수평으로 드래그를 시작했을 때&lt;span&gt;&amp;nbsp;&lt;/span&gt;실행되는 함수를 입력할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; onHorizontalDragUpdate : 수평으로 드래그를 하는 동안 드래그 위치가 업데이트 될 때마다&lt;span&gt;&amp;nbsp;&lt;/span&gt;실행되는 함수를 입력할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; onHorizontalDragEnd : 수평으로 드래그가 끝났을 때&lt;span&gt;&amp;nbsp;&lt;/span&gt;실행되는 함수를 입력할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; onVerticalDragStart : 수직으로 드래그를 시작했을 때&lt;span&gt;&amp;nbsp;&lt;/span&gt;실행되는 함수를 입력할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; onVerticalDragUpdate : 수직으로 드래그를 하는 동안 드래그 위치가 업데이트 될 때마다&lt;span&gt;&amp;nbsp;&lt;/span&gt;실행되는 함수를 입력할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; onVerticalDragEnd : 수직으로 드래그가 끝났을 때&lt;span&gt;&amp;nbsp;&lt;/span&gt;실행되는 함수를 입력할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; onScaleStart : 확대가 시작됐을 때&lt;span&gt;&amp;nbsp;&lt;/span&gt;실행되는 함수를 입력할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; onScaleUpdate : 확대가 진행되는 동안 확대가 업데이트될 때마다&lt;span&gt;&amp;nbsp;&lt;/span&gt;실행되는 함수를 입력할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; onScaleEnd : 확대가 끝났을 때&lt;span&gt;&amp;nbsp;&lt;/span&gt;실행되는 함수를 입력할 수 있음&lt;br /&gt;&lt;br /&gt;&amp;nbsp;- FloatingActionButton&lt;br /&gt;&amp;nbsp; -&amp;gt; Material Design에서 추구하는 버튼 형태&lt;br /&gt;&amp;nbsp; -&amp;gt; Scaffold를 같이 사용하면 특별한 어려움 없이 해당 형태의 디자인 구현 가능&lt;br /&gt;&lt;br /&gt;ㅇ 디자인 관련 위젯(배경을 추가하거나 간격을 추가하거나 패딩을 추가하는 등 디자인적 요소를 적용할 때 사용)&lt;br /&gt;&amp;nbsp;- Container 위젯&lt;br /&gt;&amp;nbsp; -&amp;gt; 다른 위젯을 담는 데 사용&lt;br /&gt;&amp;nbsp; -&amp;gt; 위젯의 너비와 높이를 지정하거나, 배경이나 테두리를 추가할 때 많이 사용&lt;br /&gt;&amp;nbsp; -&amp;gt; 다른 위젯들처럼 child 매개변수를 사용할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; margin(위젯의 바깥에 간격을 추가)은 위젯은 따로 없고, Container 위젯에 추가가능. EdgeInsets 사용(상하좌우값)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;- SizedBox 위젯&lt;br /&gt;&amp;nbsp; -&amp;gt; 일반적으로 일정 크기의 공간을 공백으로 두고 싶을 때 사용&lt;br /&gt;&amp;nbsp; -&amp;gt; Container 위젯을 사용해도 공백을 만들 수 있지만 SizedBox는 const 생성자를 사용했을 떄 퍼포먼스에서 이점을 얻을 수 있음&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;- Padding 위젯&lt;br /&gt;&amp;nbsp; -&amp;gt; child위젯에 여백을 제공할 때 사용&lt;br /&gt;&amp;nbsp; -&amp;gt; Padding 위젯 사용 시 Padding 위젯의 상위 위젯과 하위 위젯 사이의 여백을 둘 수 있다.&lt;br /&gt;&amp;nbsp; -&amp;gt; Padding 위젯의 padding 매개변수는 EdgeInsets라는 값을 입력해야 함(상하좌우 값 넣는 곳)&lt;br /&gt;&amp;nbsp; -&amp;gt; child 매개변수에 Padding을 적용하고 싶은 위젯을 입력할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; 적용된 위젯이 차지하는 크기 내부에서 간격이 추가됨&lt;br /&gt;&amp;nbsp; -&amp;gt; EdgeInsets.all(16.0) : 상하좌우로 매개변수에 입력된 패딩을 균등하게 적용&lt;br /&gt;&amp;nbsp; -&amp;gt; EdgeInsets.symmetric(horizontal : 16.0, vertical : 16.0) : 가로와 세로 패딩 따로 적용. H-&amp;gt; 가로, V -&amp;gt; 세로&lt;br /&gt;&amp;nbsp; -&amp;gt; EdgeInsets.only(top : 16, bottom : 16, left : 16, right : 16) : 상하좌우 따로 적용&lt;br /&gt;&amp;nbsp; -&amp;gt; EdgeInsets.fromLTRB(16,16,16,16) : 상하좌우 따로 적용. 포지셔널 파라미터를 좌,위,우,아래 순서로 입력해야함&lt;br /&gt;&lt;br /&gt;&amp;nbsp;- SafeArea&lt;br /&gt;&amp;nbsp; -&amp;gt; 따로 기기별로 예외 처리를 하지 않고도 안전한(Safe) 화면에서만 위젯을 그릴 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; SafeArea(top : true, bottom : false, left: true, right : true) true: 적용, false: 미적용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ㅇ 배치 관련 위젯&lt;br /&gt;&amp;nbsp;- Row위젯&lt;br /&gt;&amp;nbsp; -&amp;gt; 가로로 위젯 배치&lt;br /&gt;&amp;nbsp; -&amp;gt; children 매개변수를 노출&lt;br /&gt;&amp;nbsp; -&amp;gt; 가로가 주축(MainAxisAlignment), 세로가 반대축(crossAxisAlignment) &amp;lt;- &amp;gt; Column위젯과 반대&lt;br /&gt;&amp;nbsp; -&amp;gt; MainAxisAlignment.start : 시작에 정렬&lt;br /&gt;&amp;nbsp; -&amp;gt; MainAxisAlignment.center : 중앙에 정렬&lt;br /&gt;&amp;nbsp; -&amp;gt; MainAxisAlignment.end : 끝에 정렬&lt;br /&gt;&amp;nbsp; -&amp;gt; MainAxisAlignment.spaceBetween : 자식 위젯의 간격을 균등하게 정렬&lt;br /&gt;&amp;nbsp; -&amp;gt; MainAxisAlignment.spaceAround : 자식위젯의 간격을 균등하게 배정, 왼쪽끝과 오른쪽 끝을 위젯사이 거리의 반만큼 배정해 정렬&lt;br /&gt;&amp;nbsp; -&amp;gt; MainAxisAlignment.spaceEvenly : 자식 위젯의 간격을 균등하게 배치, 왼쪽 끝과 오른쪽 끝도 균등하게 배치&lt;br /&gt;&amp;nbsp; -&amp;gt; crossAxisAlignment.start : 시작에 정렬&lt;br /&gt;&amp;nbsp; -&amp;gt; crossAxisAlignment.center : 중앙에 정렬&lt;br /&gt;&amp;nbsp; -&amp;gt; crossAxisAlignment.end : 끝에 정렬&lt;br /&gt;&amp;nbsp; -&amp;gt; crossAxisAlignment.stretch : 반대축 최대한으로 늘려서 정렬&lt;br /&gt;&lt;br /&gt;&amp;nbsp;- Column위젯&lt;br /&gt;&amp;nbsp; -&amp;gt; Row 위젯과 완전히 같은 매개변수들을 노출&lt;br /&gt;&amp;nbsp; -&amp;gt; Row 위젯과 주축, 반대축이 반대로 이루어져 있음&lt;br /&gt;&lt;br /&gt;&amp;nbsp;- Flexible위젯&lt;br /&gt;&amp;nbsp; -&amp;gt; Row, Column에서 사용하는 위젯&lt;br /&gt;&amp;nbsp; -&amp;gt; Column, Row에서 사용 시 Flexible에 제공된 child가 크기를 최소한으로 차지하게 할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; flex매개변수를 이용해 각 Flexible 위젯이 얼만큼의 비율로 공간을 차지할지 지정할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; flex값을 제공하지 않으면 기본값은 1&lt;br /&gt;&amp;nbsp; -&amp;gt; FlexFit.tight(자식 위젯이 차지하는 공간과 관계없이 남은 공간을 모두 차지)&lt;br /&gt;&amp;nbsp; -&amp;gt; FlexFit.loose(자식 위젯이 필요한 만큼의 공간만 차지)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;- Expanded위젯&lt;br /&gt;&amp;nbsp; -&amp;gt; Flexible 위젯을 상속하는 위젯&lt;br /&gt;&amp;nbsp; -&amp;gt; Column, Row에서 사용 시 위젯이 남아 있는 공간을 최대한으로 차지&lt;br /&gt;&amp;nbsp; -&amp;gt; Flexible위젯의 FlexFit.tight를 기본으로 제공해준 위젯&lt;br /&gt;&lt;br /&gt;&amp;nbsp;- Stack 위젯&lt;br /&gt;&amp;nbsp; -&amp;gt; 위젯을 겹치는 기능을 제공&lt;br /&gt;&amp;nbsp; -&amp;gt; 스키아 엔진은 2D엔진이기 때문에 겹친 두께를 표현 못하지만, stack을 사용하면 위젯 위의 위젯을 올린 듯한 효과를 줄 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; children에 위치한 순서대로 위젯을 겹쳐쌓는다.&lt;/p&gt;</description>
      <category>개발기록/Flutter</category>
      <category>Flutter</category>
      <category>widgets</category>
      <category>위젯</category>
      <category>플러터</category>
      <category>플러터 위젯</category>
      <category>플러터 위젯 종류</category>
      <category>플러터공부</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/38</guid>
      <comments>https://bubble94.tistory.com/entry/flutter-log-%EC%9C%84%EC%A0%AF%EC%9D%98-%EC%A2%85%EB%A5%98#entry38comment</comments>
      <pubDate>Wed, 18 Jan 2023 06:23:50 +0900</pubDate>
    </item>
    <item>
      <title>[flutter log] 플러터 기본 위젯</title>
      <link>https://bubble94.tistory.com/entry/flutter-log-%ED%94%8C%EB%9F%AC%ED%84%B0-%EA%B8%B0%EB%B3%B8-%EC%9C%84%EC%A0%AF</link>
      <description>&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;contentSearch&quot; data-ke-align=&quot;alignCenter&quot; data-cs-kind=&quot;book&quot; data-cs-data=&quot;{&amp;quot;title&amp;quot;:&amp;quot;코드팩토리의 플러터 프로그래밍&amp;quot;,&amp;quot;image&amp;quot;:&amp;quot;http://t1.daumcdn.net/lbook/image/6245123?timestamp=20230115224150&amp;quot;,&amp;quot;url&amp;quot;:&amp;quot;https://search.daum.net/search?w=bookpage&amp;amp;bookId=6245123&amp;amp;tab=introduction&amp;amp;DA=LB2&amp;amp;q=%EC%BD%94%EB%93%9C%ED%8C%A9%ED%86%A0%EB%A6%AC%EC%9D%98+%ED%94%8C%EB%9F%AC%ED%84%B0+%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D&amp;quot;,&amp;quot;authors&amp;quot;:[&amp;quot;최지호(코드팩토리)&amp;quot;],&amp;quot;publicationDate&amp;quot;:&amp;quot;2023-01-01&amp;quot;,&amp;quot;publisher&amp;quot;:&amp;quot;골든래빗(주)&amp;quot;,&amp;quot;desc&amp;quot;:&amp;quot;저자는 왕초보 실력을 현업 수준으로 끌어올리기를 목표로 이 책을 썼습니다. 배운 이론을 곧바로 실무에 진짜 유용한 기능을 담은 앱을 만들며 익힐 수 있게 합니다. 모든 앱은 결과가 아니라 실제 프로젝트 현장에서 구현하듯이 과정을 보여주며 만듭니다. 변경하거나 수정한 코드를 확실하게 표시해 따라하기 쉽습니다. [프로젝트 소개] ➝ [사전 지식] ➝ [준비하기] ➝ [UI 구상하기] ➝ [구현하기] ➝ [테스트하기] 순서를 꼭 지켜서 앱 개발을 체계적으로 이끌어줍니다. 초보자 눈높이에 맞추면서, 다트 언어 입문부터 개발과 광고와 배포까지 현업에 도움이 될 실무적이고 활용도 높은 노하우를 담아 설명했기 때문에 탄탄하면서도 빠르게 스킬업되는 자신을 체감하게 될 겁니다.&amp;quot;}&quot;&gt;&lt;a href=&quot;https://search.daum.net/search?w=bookpage&amp;amp;bookId=6245123&amp;amp;tab=introduction&amp;amp;DA=LB2&amp;amp;q=%EC%BD%94%EB%93%9C%ED%8C%A9%ED%86%A0%EB%A6%AC%EC%9D%98+%ED%94%8C%EB%9F%AC%ED%84%B0+%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
&lt;div class=&quot;cs-image&quot; style=&quot;background-image: url('http://t1.daumcdn.net/lbook/image/6245123?timestamp=20230115224150'), url('../../image/noImage.png');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;cs-info-wrap&quot;&gt;&lt;span class=&quot;cs-title&quot;&gt;코드팩토리의 플러터 프로그래밍&lt;/span&gt;
&lt;div class=&quot;cs-desc&quot;&gt;저자는 왕초보 실력을 현업 수준으로 끌어올리기를 목표로 이 책을 썼습니다. 배운 이론을 곧바로 실무에 진짜 유용한 기능을 담은 앱을 만들며 익힐 수 있게 합니다. 모든 앱은 결과가 아니라 실제 프로젝트 현장에서 구현하듯이 과정을 보여주며 만듭니다. 변경하거나 수정한 코드를 확실하게 표시해 따라하기 쉽습니다. [프로젝트 소개] ➝ [사전 지식] ➝ [준비하기] ➝ [UI 구상하기] ➝ [구현하기] ➝ [테스트하기] 순서를 꼭 지켜서 앱 개발을 체계적으로 이끌어줍니다. 초보자 눈높이에 맞추면서, 다트 언어 입문부터 개발과 광고와 배포까지 현업에 도움이 될 실무적이고 활용도 높은 노하우를 담아 설명했기 때문에 탄탄하면서도 빠르게 스킬업되는 자신을 체감하게 될 겁니다.&lt;/div&gt;
&lt;div class=&quot;cs-props&quot;&gt;
&lt;dl class=&quot;cs-info&quot;&gt;
&lt;dt&gt;저자&lt;/dt&gt;
&lt;dd&gt;최지호(코드팩토리)&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl class=&quot;cs-info&quot;&gt;
&lt;dt&gt;출판&lt;/dt&gt;
&lt;dd&gt;골든래빗(주)&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl class=&quot;cs-info&quot;&gt;
&lt;dt&gt;출판일&lt;/dt&gt;
&lt;dd&gt;2023.01.01&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요 성장형 개발자입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;플러터 공부 중입니다&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;br /&gt;&amp;nbsp;- 수십가지 기본 위젯을 제공하며 개발자가 직접 위젯을 만들 수도 있음&lt;br /&gt;&amp;nbsp;- 자주 사용하는 위젯 : 텍스트, 제스처, 디자인, 배치&lt;br /&gt;&amp;nbsp;- 위젯의 상태가 변경되면 변경 사항에 알맞게 변경된 UI를 화면에 다시 그려줌&lt;br /&gt;&amp;nbsp; -&amp;gt; 이때 플러터는 기존 상태의 위젯과 새로운 상태의 위젯을 비교해서 UI 변화를 반영할 때 필요한 최소한의 변경 사항을 산출해서 반영&lt;br /&gt;&amp;nbsp; -&amp;gt; 최소한의 리소스를 이용해서 UI 변경을 이끌어낼 수 있고, 최대 120FPS까지 높은 퍼포먼스를 발휘 할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ㅇ 위젯&lt;br /&gt;플러터 공식 문서(위젯관련) : &lt;a href=&quot;https://flutter-ko.dev/docs/development/ui/widgets&quot;&gt;https://flutter-ko.dev/docs/development/ui/widgets&lt;/a&gt;&lt;br /&gt;&amp;nbsp;1. 자식을 하나만 갖는 위젯&lt;br /&gt;&amp;nbsp; - Container 위젯&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;-&amp;gt; 자식을 담는 컨테이너 역할. 배경색, 너비와 높이, 테두리 등의 디자인 지정 가능&lt;br /&gt;&amp;nbsp; - GestureDetector 위젯&lt;br /&gt;&amp;nbsp; &amp;nbsp;-&amp;gt; 플러터에서 제공하는 제스처 기능을 자식 위젯에서 인식하는 위젯. &lt;br /&gt;&amp;nbsp; &amp;nbsp;-&amp;gt; 탭, 드래그, 더블클릭 같은 제스처 기능이 자식 위젯에서 인색됐을 때 함수를 실행할 수 있음&lt;br /&gt;&amp;nbsp; - SizedBox 위젯&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;-&amp;gt; 높이와 너비를 지정하는 위젯&lt;br /&gt;&amp;nbsp; &amp;nbsp;-&amp;gt; Container위젯과 다르게 디자인적 요소 적용 할 수 없음&lt;br /&gt;&amp;nbsp; &amp;nbsp;-&amp;gt; const 생성자로 선언할 수 있어서 퍼포먼스 측면에서 더 효율적&lt;br /&gt;&lt;br /&gt;&amp;nbsp;2. 자식을 여럿 갖는 위젯(매개변수를 입력받음, 리스트로 여러 위젯을 입력할 수 있음)&lt;br /&gt;&amp;nbsp; - Column위젯 : children 매개변수에 입력된 모든 위젯들을 세로로 배치&lt;br /&gt;&amp;nbsp; - Row위젯 : children 매개변수에 입력된 모든 위젯들을 가로로 배치&lt;br /&gt;&amp;nbsp; - ListView위젯 : 리스트를 구현할 때 사용. children 매개변수에 다수의 위젯을 입력할 수 있음. 입력된 위젯이 화면 넘어가면 스크롤가능&lt;br /&gt;&lt;br /&gt;&amp;nbsp;3. 위젯 아래에 계속 위젯이 입력되는 형태로 '위젯 트리'를 구성하여 UI를 제작&lt;br /&gt;&amp;nbsp; -&amp;gt; 플러터 UI를 위젯 트리로 그릴 수 있어야 플러터 프로그래밍 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ㅇ Children와 Child의 차이점&lt;br /&gt;&amp;nbsp;- child 매개변수와 children 매개변수는 위젯에 하위 위젯을 추가할 때 사용&lt;br /&gt;&amp;nbsp;- child : 위젯 하나만 추가&lt;br /&gt;&amp;nbsp;- children : 위젯 여럿 추가&lt;br /&gt;&amp;nbsp;- 대부분의 위젯은 child 또는 children 매개변수를 하나만 제공&lt;br /&gt;&amp;nbsp;- child, children를 동시에 입력받는 위젯은 존재하지 않음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발기록/Flutter</category>
      <category>child children 차이점</category>
      <category>Flutter</category>
      <category>GestureDetector</category>
      <category>위젯</category>
      <category>플러터</category>
      <category>플러터위젯</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/37</guid>
      <comments>https://bubble94.tistory.com/entry/flutter-log-%ED%94%8C%EB%9F%AC%ED%84%B0-%EA%B8%B0%EB%B3%B8-%EC%9C%84%EC%A0%AF#entry37comment</comments>
      <pubDate>Tue, 17 Jan 2023 23:39:03 +0900</pubDate>
    </item>
    <item>
      <title>[flutter log] 플러터 소개 및 구조</title>
      <link>https://bubble94.tistory.com/entry/flutter-log-%EB%8B%A4%ED%8A%B8-%EB%B9%84%EB%8F%99%EA%B8%B0-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-1</link>
      <description>&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;contentSearch&quot; data-ke-align=&quot;alignCenter&quot; data-cs-kind=&quot;book&quot; data-cs-data=&quot;{&amp;quot;title&amp;quot;:&amp;quot;코드팩토리의 플러터 프로그래밍&amp;quot;,&amp;quot;image&amp;quot;:&amp;quot;http://t1.daumcdn.net/lbook/image/6245123?timestamp=20230115224150&amp;quot;,&amp;quot;url&amp;quot;:&amp;quot;https://search.daum.net/search?w=bookpage&amp;amp;bookId=6245123&amp;amp;tab=introduction&amp;amp;DA=LB2&amp;amp;q=%EC%BD%94%EB%93%9C%ED%8C%A9%ED%86%A0%EB%A6%AC%EC%9D%98+%ED%94%8C%EB%9F%AC%ED%84%B0+%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D&amp;quot;,&amp;quot;authors&amp;quot;:[&amp;quot;최지호(코드팩토리)&amp;quot;],&amp;quot;publicationDate&amp;quot;:&amp;quot;2023-01-01&amp;quot;,&amp;quot;publisher&amp;quot;:&amp;quot;골든래빗(주)&amp;quot;,&amp;quot;desc&amp;quot;:&amp;quot;저자는 왕초보 실력을 현업 수준으로 끌어올리기를 목표로 이 책을 썼습니다. 배운 이론을 곧바로 실무에 진짜 유용한 기능을 담은 앱을 만들며 익힐 수 있게 합니다. 모든 앱은 결과가 아니라 실제 프로젝트 현장에서 구현하듯이 과정을 보여주며 만듭니다. 변경하거나 수정한 코드를 확실하게 표시해 따라하기 쉽습니다. [프로젝트 소개] ➝ [사전 지식] ➝ [준비하기] ➝ [UI 구상하기] ➝ [구현하기] ➝ [테스트하기] 순서를 꼭 지켜서 앱 개발을 체계적으로 이끌어줍니다. 초보자 눈높이에 맞추면서, 다트 언어 입문부터 개발과 광고와 배포까지 현업에 도움이 될 실무적이고 활용도 높은 노하우를 담아 설명했기 때문에 탄탄하면서도 빠르게 스킬업되는 자신을 체감하게 될 겁니다.&amp;quot;}&quot;&gt;&lt;a href=&quot;https://search.daum.net/search?w=bookpage&amp;amp;bookId=6245123&amp;amp;tab=introduction&amp;amp;DA=LB2&amp;amp;q=%EC%BD%94%EB%93%9C%ED%8C%A9%ED%86%A0%EB%A6%AC%EC%9D%98+%ED%94%8C%EB%9F%AC%ED%84%B0+%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
&lt;div class=&quot;cs-image&quot; style=&quot;background-image: url('http://t1.daumcdn.net/lbook/image/6245123?timestamp=20230115224150'), url('../../image/noImage.png');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;cs-info-wrap&quot;&gt;&lt;span class=&quot;cs-title&quot;&gt;코드팩토리의 플러터 프로그래밍&lt;/span&gt;
&lt;div class=&quot;cs-desc&quot;&gt;저자는 왕초보 실력을 현업 수준으로 끌어올리기를 목표로 이 책을 썼습니다. 배운 이론을 곧바로 실무에 진짜 유용한 기능을 담은 앱을 만들며 익힐 수 있게 합니다. 모든 앱은 결과가 아니라 실제 프로젝트 현장에서 구현하듯이 과정을 보여주며 만듭니다. 변경하거나 수정한 코드를 확실하게 표시해 따라하기 쉽습니다. [프로젝트 소개] ➝ [사전 지식] ➝ [준비하기] ➝ [UI 구상하기] ➝ [구현하기] ➝ [테스트하기] 순서를 꼭 지켜서 앱 개발을 체계적으로 이끌어줍니다. 초보자 눈높이에 맞추면서, 다트 언어 입문부터 개발과 광고와 배포까지 현업에 도움이 될 실무적이고 활용도 높은 노하우를 담아 설명했기 때문에 탄탄하면서도 빠르게 스킬업되는 자신을 체감하게 될 겁니다.&lt;/div&gt;
&lt;div class=&quot;cs-props&quot;&gt;
&lt;dl class=&quot;cs-info&quot;&gt;
&lt;dt&gt;저자&lt;/dt&gt;
&lt;dd&gt;최지호(코드팩토리)&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl class=&quot;cs-info&quot;&gt;
&lt;dt&gt;출판&lt;/dt&gt;
&lt;dd&gt;골든래빗(주)&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl class=&quot;cs-info&quot;&gt;
&lt;dt&gt;출판일&lt;/dt&gt;
&lt;dd&gt;2023.01.01&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요 성장형 개발자입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;플러터 공부 중입니다&lt;br /&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;br /&gt;&amp;nbsp;- 구글이 구현한 크로스 플랫폼 프레임워크&lt;br /&gt;&amp;nbsp;- 한 소스코드로 수많은 플랫폼에 대응할 수 있음 -&amp;gt; 개발 비용 아끼고, 관리 부담을 줄일 수 있음&lt;br /&gt;&amp;nbsp;- 기존 리액트 네이티브가 장악하던 크로그 플랫폼 앱 개발 프레임워크 시장을 플러터가 상당 부분 장악했음&lt;br /&gt;&amp;nbsp;- 상대적으로 다루기 쉬움&lt;br /&gt;&amp;nbsp;- 크로스 플랫폼 호환성이 상당히 자연스러움&lt;br /&gt;&amp;nbsp;- 구글에서 강력하게 밀고 있는 프로젝트&lt;br /&gt;&amp;nbsp;- 종합적으로 앞으로 더욱 기대되는 프레임워크&lt;br /&gt;&amp;nbsp;- 플랫폼 간의 이질감이 적음&lt;br /&gt;&amp;nbsp;- 기존 크로스 플랫폼 프레임워크 : 코드를 네이티브 프레임워크 코드로 전환하는데 중점&lt;br /&gt;&amp;nbsp; &amp;nbsp; 플러터 : 스키아 엔진이라는 2D 렌더링 엔진과 직접 통신(똑같은 API를 사용)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;-&amp;gt; 어떤 플랫폼이든 일관된 UI를 제공(타 프레임워크보다 플랫폼별&amp;nbsp; UI 디버깅 부담이 현저히 적음)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ㅇ 플러터 구조&lt;br /&gt;&amp;nbsp; -&amp;gt; 잘 모듈화된 아키텍처 덕분에 쉽게 여러 플랫폼을 지원하고 일관된 API 및 개발 경험을 제공&lt;br /&gt;&amp;nbsp;1. 임베더 계층 : 가장 하드웨어와 가까운 로우 레벨&lt;br /&gt;&amp;nbsp; -&amp;gt; 플러터가 현재 지원하는 6개 플랫폼의 네이티브 플랫폼과 직접 통신을 하고 운영체제의 자체적 기능을 모듈화&lt;br /&gt;&amp;nbsp; -&amp;gt; 이 모듈들은 각 플랫폼의 네이티브 언어로 작성되어 있음&lt;br /&gt;&amp;nbsp;2. 엔진 계층 : 중간 계층&lt;br /&gt;&amp;nbsp; -&amp;gt; 대부분 C++로 작성되어 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; 플러터 코어 API, 스키아 그래픽 엔진, 파일시스템, 네트워크 기능 정의되어있음&lt;br /&gt;&amp;nbsp;3. 프레임워크 계층&lt;br /&gt;&amp;nbsp; -&amp;gt; 플러터 개발자들이 대부분의 시간을 보내는 계층&lt;br /&gt;&amp;nbsp; -&amp;gt; 위젯, 애니메이션, 머티리얼 패키지, 쿠퍼티노 패키지 등이 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ㅇ 스키아 엔진&lt;br /&gt;&amp;nbsp;- 스키아 엔진과 직접 통신한다&lt;br /&gt;&amp;nbsp; -&amp;gt; 어떤 플랫폼이든 스키아 엔진을 지원한다면 플러터가 컴파일되고 실행되도록 구현할 수 있다&lt;br /&gt;&amp;nbsp; -&amp;gt; ios, 안드로이드 앱, 윈도우, 리눅스, 맥os, 웹사이트를 같은 플러터 코드로 배포하도록 구현 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 스키아 엔진을 사용했을 때 장점&lt;br /&gt;&amp;nbsp; -&amp;gt; 대부분의 프레임워크들은 웹뷰를 사용하거나 각 플랫폼&amp;nbsp; UI 라이브러리 사용&lt;br /&gt;&amp;nbsp; -&amp;gt; 플러터는 웹뷰를 사용하지 않고, 직접 스키아 엔진을 사용해 화면에 UI를 그려냄&lt;br /&gt;&amp;nbsp; -&amp;gt; 새로 렌더링이 필요한 위젯들만 렌더링하기 때문에 타 프레임워크보다 상당히 높은 퍼포먼스를 선보임&lt;br /&gt;&lt;br /&gt;&amp;nbsp;- 예시 비교(리액트 네이티브)&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 60px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style11&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px; text-align: center;&quot;&gt;플러터&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px; text-align: center;&quot;&gt;리액트 네이티브&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px; text-align: center;&quot;&gt;필요한 제스처 및 이벤트를 브릿지 없이 실행&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px; text-align: center;&quot;&gt;자바스크립트 브릿지를 통해 플랫폼과 통신&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px; text-align: center;&quot;&gt;스키아 엔진에 직접 그려냄&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px; text-align: center;&quot;&gt;플랫폼의 UI(OEM 위젯)를 그대로 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;상당히 빠른 퍼포먼스를 자랑&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;플랫폼과 리액트 네이티브 간 통신을 할 때 필요한 리소스 비용이 상당히 높음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발기록/Flutter</category>
      <category>Flutter</category>
      <category>리액트</category>
      <category>리액트네이티브</category>
      <category>스키아</category>
      <category>스키아엔진</category>
      <category>플러터</category>
      <category>플러터계층</category>
      <category>플러터구조</category>
      <category>플러터란</category>
      <category>플러터리액트비교</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/36</guid>
      <comments>https://bubble94.tistory.com/entry/flutter-log-%EB%8B%A4%ED%8A%B8-%EB%B9%84%EB%8F%99%EA%B8%B0-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-1#entry36comment</comments>
      <pubDate>Tue, 17 Jan 2023 21:34:58 +0900</pubDate>
    </item>
    <item>
      <title>[flutter log] 다트 비동기 프로그래밍</title>
      <link>https://bubble94.tistory.com/entry/flutter-log-%EB%8B%A4%ED%8A%B8-%EB%B9%84%EB%8F%99%EA%B8%B0-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D</link>
      <description>&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;안녕하세요 성장형 개발자입니다.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;플러터 공부 중입니다&lt;br /&gt;오늘 공부한 내용을 적어보았습니다&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;공부한 내용 : 다트 비동기 프로그래밍&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;* 다트 언어는 동기/비동기 프로그래밍을 지원&lt;br /&gt;&amp;nbsp;ㅇ 동기 : 요청하고 나서 응답이 올 때까지 더는 코드를 진행하지 못하고 기다렸다가 응답을 받으면 그 때 다음 코드 진행&lt;br /&gt;&amp;nbsp;ㅇ 비동기 : 요청하고 나서 응답을 받지 않았어도 대기하지 않고 다음 코드 진행, 언제든 응답이 오면 그때 응답 처리(CPU의 리소르 낭비 방지)&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;1. Future&lt;br /&gt;&amp;nbsp;ㅇ 미래에 받아올 값&lt;br /&gt;&amp;nbsp;ㅇ 반환값을 딱 한번 받아내는 비동기 프로그래밍에 사용&lt;br /&gt;&amp;nbsp;ㅇ List, Set처럼 제네릭으로 어떤 미래의 값을 받아올지 정할 수 있음&lt;br /&gt;&amp;nbsp;ㅇ 비동기프로그래밍은 서버 요청과 같이 오래 걸리는 작업을 기다린 후 값을 받아와야 하기에 미래값을 표현하는 Future 클래스가 필요&lt;br /&gt;&amp;nbsp;ㅇ Future.delayed() 사용하면 일정 시간 후에 콜백 함수를 실행할 수 있음&lt;/p&gt;
&lt;pre id=&quot;code_1673444426875&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Future&amp;lt;String&amp;gt; name; // 미래에 받을 String값
Future&amp;lt;int&amp;gt; number; // 미래에 받을 int값
Future&amp;lt;bool&amp;gt; isOpened; // 미래에 받을 bool값&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. async, await&lt;br /&gt;&amp;nbsp;ㅇ 작성된 순서대로 실행되지 않으면 개발자 입장에서 헷갈릴 수 있음&lt;br /&gt;&amp;nbsp;ㅇ 이 때 async, await 키워드 사용하면 비동기 프로그래밍을 유지하면서 코드 가독성도 유지 가능&lt;br /&gt;&amp;nbsp;ㅇ async 키워드는 함수 매개변수 정의와 바디 사이에 입력&lt;br /&gt;&amp;nbsp;ㅇ await 대기하고 싶은 비동기 함수 앞에 입력&lt;br /&gt;&amp;nbsp;ㅇ 비동기 프로그래밍 특징을 그대로 유지하면서 코드가 작성된 순서대로 프로그램 실행&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 결괏값 반환받기&lt;br /&gt;&amp;nbsp;ㅇ async, await 키워드를 사용한 함수에서 결괏값을 받아낼 수 있음&lt;br /&gt;&amp;nbsp;ㅇ Future클래스를 사용&lt;br /&gt;&amp;nbsp;ㅇ 적용된 함수에 await를 사용해서 결괏값을 받을 수 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. Stream&lt;br /&gt;&amp;nbsp;ㅇ 지속적으로 값을 반환 받을 때 사용&lt;br /&gt;&amp;nbsp;ㅇ 한 번 listen하면 Stream에 주입되는 모든 값들을 지속적으로 받아옴&lt;br /&gt;&amp;nbsp;ㅇ 기본 사용법&lt;br /&gt;&amp;nbsp; -&amp;gt; 플러터에서 기본 제공하는 dart:async 패키지를 불러와야함( import 'dart:async'; )&lt;br /&gt;&amp;nbsp; -&amp;gt; StreamController를 listen() 해야 값을 지속적으로 반환받을 수 있음.&lt;br /&gt;&amp;nbsp; -&amp;gt; StreamController 에 sink.add()하면 값을 주입함&lt;br /&gt;&amp;nbsp; -&amp;gt; controller.stream&lt;br /&gt;&lt;br /&gt;&amp;nbsp;ㅇ 브로드캐스트 스트림&lt;br /&gt;&amp;nbsp; -&amp;gt; Stream은 단 한번만 listen()을 실행할 수 있음&lt;br /&gt;&amp;nbsp; -&amp;gt; 하나의 스트림을 생성하고 여러번 listen() 함수 실행하고 싶을 때 사용&lt;br /&gt;&amp;nbsp; -&amp;gt; controller.stream.asBroadcastStream()&lt;br /&gt;&lt;br /&gt;&amp;nbsp; ㅇ 함수로 Stream 반환하기&lt;br /&gt;&amp;nbsp; -&amp;gt; StreamController를 직접 사용하지 않고도 직접 Stream을 반환하는 함수를 작성 가능&lt;br /&gt;&amp;nbsp; -&amp;gt; Future를 반환하는 함수는 async로 함수 선언, return으로 값 반환&lt;br /&gt;&amp;nbsp; -&amp;gt; Stream을 반환하는 함수는 async*로 함수 선언, yield으로 값 반환&lt;/p&gt;
&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;contentSearch&quot; data-ke-align=&quot;alignCenter&quot; data-cs-kind=&quot;book&quot; data-cs-data=&quot;{&amp;quot;title&amp;quot;:&amp;quot;코드팩토리의 플러터 프로그래밍&amp;quot;,&amp;quot;image&amp;quot;:&amp;quot;http://t1.daumcdn.net/lbook/image/6245123?timestamp=20230106180825&amp;quot;,&amp;quot;url&amp;quot;:&amp;quot;https://search.daum.net/search?w=bookpage&amp;amp;bookId=6245123&amp;amp;tab=introduction&amp;amp;DA=LB2&amp;amp;q=%EC%BD%94%EB%93%9C%ED%8C%A9%ED%86%A0%EB%A6%AC%EC%9D%98+%ED%94%8C%EB%9F%AC%ED%84%B0+%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D&amp;quot;,&amp;quot;authors&amp;quot;:[&amp;quot;최지호(코드팩토리)&amp;quot;],&amp;quot;publicationDate&amp;quot;:&amp;quot;2023-01-01&amp;quot;,&amp;quot;publisher&amp;quot;:&amp;quot;골든래빗(주)&amp;quot;,&amp;quot;desc&amp;quot;:&amp;quot;저자는 왕초보 실력을 현업 수준으로 끌어올리기를 목표로 이 책을 썼습니다. 배운 이론을 곧바로 실무에 진짜 유용한 기능을 담은 앱을 만들며 익힐 수 있게 합니다. 모든 앱은 결과가 아니라 실제 프로젝트 현장에서 구현하듯이 과정을 보여주며 만듭니다. 변경하거나 수정한 코드를 확실하게 표시해 따라하기 쉽습니다. [프로젝트 소개] ➝ [사전 지식] ➝ [준비하기] ➝ [UI 구상하기] ➝ [구현하기] ➝ [테스트하기] 순서를 꼭 지켜서 앱 개발을 체계적으로 이끌어줍니다. 초보자 눈높이에 맞추면서, 다트 언어 입문부터 개발과 광고와 배포까지 현업에 도움이 될 실무적이고 활용도 높은 노하우를 담아 설명했기 때문에 탄탄하면서도 빠르게 스킬업되는 자신을 체감하게 될 겁니다.&amp;quot;}&quot;&gt;&lt;a href=&quot;https://search.daum.net/search?w=bookpage&amp;amp;bookId=6245123&amp;amp;tab=introduction&amp;amp;DA=LB2&amp;amp;q=%EC%BD%94%EB%93%9C%ED%8C%A9%ED%86%A0%EB%A6%AC%EC%9D%98+%ED%94%8C%EB%9F%AC%ED%84%B0+%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
&lt;div class=&quot;cs-image&quot; style=&quot;background-image: url('http://t1.daumcdn.net/lbook/image/6245123?timestamp=20230106180825'), url('../../image/noImage.png');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;cs-info-wrap&quot;&gt;&lt;span class=&quot;cs-title&quot;&gt;코드팩토리의 플러터 프로그래밍&lt;/span&gt;
&lt;div class=&quot;cs-desc&quot;&gt;저자는 왕초보 실력을 현업 수준으로 끌어올리기를 목표로 이 책을 썼습니다. 배운 이론을 곧바로 실무에 진짜 유용한 기능을 담은 앱을 만들며 익힐 수 있게 합니다. 모든 앱은 결과가 아니라 실제 프로젝트 현장에서 구현하듯이 과정을 보여주며 만듭니다. 변경하거나 수정한 코드를 확실하게 표시해 따라하기 쉽습니다. [프로젝트 소개] ➝ [사전 지식] ➝ [준비하기] ➝ [UI 구상하기] ➝ [구현하기] ➝ [테스트하기] 순서를 꼭 지켜서 앱 개발을 체계적으로 이끌어줍니다. 초보자 눈높이에 맞추면서, 다트 언어 입문부터 개발과 광고와 배포까지 현업에 도움이 될 실무적이고 활용도 높은 노하우를 담아 설명했기 때문에 탄탄하면서도 빠르게 스킬업되는 자신을 체감하게 될 겁니다.&lt;/div&gt;
&lt;div class=&quot;cs-props&quot;&gt;
&lt;dl class=&quot;cs-info&quot;&gt;
&lt;dt&gt;저자&lt;/dt&gt;
&lt;dd&gt;최지호(코드팩토리)&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl class=&quot;cs-info&quot;&gt;
&lt;dt&gt;출판&lt;/dt&gt;
&lt;dd&gt;골든래빗(주)&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl class=&quot;cs-info&quot;&gt;
&lt;dt&gt;출판일&lt;/dt&gt;
&lt;dd&gt;2023.01.01&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;</description>
      <category>개발기록/Flutter</category>
      <category>async</category>
      <category>await</category>
      <category>Flutter</category>
      <category>Flutter기초</category>
      <category>flutter기초문법</category>
      <category>flutter문법</category>
      <category>flutter코딩</category>
      <category>programming</category>
      <category>비동기프로그래밍</category>
      <category>플러터</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/35</guid>
      <comments>https://bubble94.tistory.com/entry/flutter-log-%EB%8B%A4%ED%8A%B8-%EB%B9%84%EB%8F%99%EA%B8%B0-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D#entry35comment</comments>
      <pubDate>Wed, 11 Jan 2023 23:13:12 +0900</pubDate>
    </item>
    <item>
      <title>[flutter log] 객체지향 프로그래밍</title>
      <link>https://bubble94.tistory.com/entry/flutter-log-%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D</link>
      <description>&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;안녕하세요 성장형 개발자입니다.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;플러터 공부 중입니다&lt;br /&gt;오늘 공부한 내용을 적어보았습니다&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;공부한 내용 : flutter 객체지향 프로그래밍&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;ㅇ 필요성&lt;br /&gt;&amp;nbsp;-&amp;gt; 서로 밀접한 관계가 있는 함수와 변수를 묶어두면 코드 관리가 용이&lt;br /&gt;&amp;nbsp;-&amp;gt; 클래스(설계도), 인스턴스(설계도를 통해 실제로 만들어진 것)&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;1. 클래스&lt;br /&gt;&amp;nbsp;ㅇ 기본&lt;br /&gt;&amp;nbsp; -&amp;gt; 멤버 변수 : 클래스에 종속된 변수&lt;br /&gt;&amp;nbsp; -&amp;gt; 메서드 : 클래스에 종속되는 함수, 클래스의 기능을 정의한 함수&lt;br /&gt;&amp;nbsp; -&amp;gt; this 키워드 : 클래스 내부의 속성을 지칭하고 싶을 때, 현재 클래스를 의미&lt;br /&gt;&amp;nbsp; -&amp;gt; 스코프 안에 같은 속성 이름이 하나만 존재하면 this 생략 가능&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;ㅇ 생성자&lt;br /&gt;&amp;nbsp; -&amp;gt; 클래스의 인스턴스를 생성하는 메서드(설계도의 실제물건을 생성하는 기능)&lt;br /&gt;&amp;nbsp; -&amp;gt; 생성자에서 입력받을 변수 -&amp;gt; 일반적으로 final로 선언(인스턴스화한 다음에 혹시라도 변수의 값을 변경하는 실수를 막기 위함)&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;ㅇ 프라이빗 변수&lt;br /&gt;&amp;nbsp; -&amp;gt; 다트에서의 프라이빗 변수는 다른 언어와 정의가 약간 다름&lt;br /&gt;&amp;nbsp; -&amp;gt; 일반적 : 클래스 내부에서만 사용하는 변수를 칭함&lt;br /&gt;&amp;nbsp; -&amp;gt; 다트 : 같은 파일에서만 접근 가능한 변수 (다른 파일에서는 접근 불가)&lt;br /&gt;&amp;nbsp; -&amp;gt; '_변수명' 의 형태로 프라이빗 변수 선언 가능&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;2. 상속&lt;br /&gt;&amp;nbsp;ㅇ 공유되는 기능을 상속받는 개념&lt;br /&gt;&amp;nbsp;ㅇ extends 키워드 사용&lt;br /&gt;&amp;nbsp;ㅇ 어떤 클래스의 기능을 다른 클래스가 사용할 수 있게 하는 기법&lt;br /&gt;&amp;nbsp;ㅇ 부모 클래스 : 기능을 물려주는 클래스&lt;br /&gt;&amp;nbsp;ㅇ 자식 클래스 : 물려받는 클래스, 부모 클래스의 모든 기능을 상속받는다.&lt;br /&gt;&amp;nbsp;ㅇ 현재 클래스를 지칭하는 this, 부모클래스를 지칭하는 super(부모클래스에 기본 생성자가 있기때문에 부모클래스의 생성자를 실행해줘야함)&lt;br /&gt;&amp;nbsp;ㅇ 부모 클래스에 공통으로 사용하는 변수와 메서드를 정의하면 자식 클래스들은 해당 값들을 사용할 수 있어 중복 코딩이 필요없어짐&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;3. 오버라이드&lt;br /&gt;&amp;nbsp;ㅇ 부모 클래스 or 인터페이스에 정의된 메서드를 재정의할 때 사용&lt;br /&gt;&amp;nbsp;ㅇ 다트에선 override 키워드 생략 가능 -&amp;gt; 직접 명시하는 게 협업 및 유지보수에 유리&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;4. 인터페이스&lt;br /&gt;&amp;nbsp;ㅇ 공통으로 필요한 기능을 정의만 해두는 역할&lt;br /&gt;&amp;nbsp;ㅇ 다트에는 인터페이스를 지정하는 키워드는 따로 없음&lt;br /&gt;&amp;nbsp;ㅇ implement 키워드 사용&lt;br /&gt;&amp;nbsp;ㅇ 반드시 모든 기능을 다시 정의해줘야 함 (애초에 반드시 재정의할 필요가 있는 기능을 정의하는 용도)&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;5. 믹스인&lt;br /&gt;&amp;nbsp;ㅇ 특정 클래스에 원하는 기능들만 골라넣을 수 있는 기능&lt;br /&gt;&amp;nbsp;ㅇ 특정 클래스를 지정해서 속성들을 정의할 수 있음&lt;br /&gt;&amp;nbsp;ㅇ 지정한 클래스를 상속하는 클래스에서도 사용 가능&lt;br /&gt;&amp;nbsp;ㅇ 인터페이스처럼 한 개의 클래스에 여러 개의 믹스인을 적용할 수 있음(여러 믹스인을 적용하고 싶으면, 기호로 열거 )&amp;nbsp;&lt;br /&gt;&amp;nbsp;ㅇ with 키워드 사용&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;6. 추상&lt;br /&gt;&amp;nbsp;ㅇ 상속이나 인터페이스로 사용하는 데 필요한 속성만 정의하고 인스턴스화할 수 없도록 하는 기능&lt;br /&gt;&amp;nbsp;ㅇ 따로 인스턴스화할 일이 없다면 추상 클래스로 선언해서 인스턴스화를 방지하고, 메서드 정의를 자식클래스에 위임할 수 있음&lt;br /&gt;&amp;nbsp;ㅇ 추상 메서드를 선언할 수 있음 -&amp;gt; 함수의 반환 타입, 이름, 매개변수만 정의하고 함수 바디의 선언을 자식 클래스에서 필수로 정의하도록 강제함&lt;br /&gt;&amp;nbsp;ㅇ 추상 클래스는 선언까지만 해주면 됨&lt;br /&gt;&amp;nbsp;ㅇ abstract 키워드 사용&lt;br /&gt;&amp;nbsp;ㅇ 추상 클래스를 사용하는 클래스에서 추상 클래스에 적용된 메서드를 하나라도 정의하지 않으면 에러 발생&lt;br /&gt;&amp;nbsp;ㅇ 부모 클래스를 인스턴스화할 일이 없고, 자식 클래스들에 필수적으로 또는 공통적으로 정의돼야 하는 메서드가 존재할 때 사용&lt;br /&gt;&amp;nbsp;ㅇ &quot;추상 클래스는 인스턴스화가 필요 없는 공통 부모 클래스를 만들 때 사용한다&quot;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;7. 제네릭&lt;br /&gt;&amp;nbsp;ㅇ 클래스나 함수의 정의를 선언할 때가 아니라 인스턴스화하거나 실행할 때로 미룸&lt;br /&gt;&amp;nbsp;ㅇ 특정 변수의 타입을 하나의 타입으로 제한하고 싶지 않을 때 자주 사용&lt;br /&gt;&amp;nbsp;ㅇ Map, List, Set 등에서 사용한 &amp;lt;&amp;gt; 사이에 입력되는 값&lt;br /&gt;&amp;nbsp;ㅇ T : 변수타입 표현, E : 리스트 내부 요소들의 타입 표현, K : 키를 표현, V : 값을 표현&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;8. 스태틱(정적)&lt;br /&gt;&amp;nbsp;ㅇ static 키워드 사용&lt;br /&gt;&amp;nbsp;ㅇ 클래스 자체에 귀속, 다른 변수와 메서드 등 모든 속성은 각 '클래스의 인스턴스'에 귀속&lt;br /&gt;&amp;nbsp;ㅇ 클래스에 직접 귀속되기 때문에 생성자에서 static값을 지정하지 못함&lt;br /&gt;&amp;nbsp;ㅇ 인스턴스끼리 공유해야 하는 정보에 지정하면 됨&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;9. 캐스케이드 연산자&lt;br /&gt;&amp;nbsp;ㅇ 인스턴스에서 해당 인스턴스의 속성이나 멤버 함수를 연속해서 사용하는 기능&lt;br /&gt;&amp;nbsp;ㅇ .. 기호 사용&lt;br /&gt;&amp;nbsp;ㅇ 더 간결한 코드 작성 가능&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;* 플러터의 모든 위젯은 객체지향 프로그래밍을 통해 구현&lt;br /&gt;&amp;nbsp;-&amp;gt; 위 내용을 제대로 이해하는게 매우 중요&lt;br /&gt;&amp;nbsp;-&amp;gt; 객체지향 프로그래밍을 통해 중복 코드를 줄이고 정리가 잘된 효율적인 코드를 작성하는 건 개발자의 필수 덕목&lt;/p&gt;
&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;contentSearch&quot; data-ke-align=&quot;alignCenter&quot; data-cs-kind=&quot;book&quot; data-cs-data=&quot;{&amp;quot;title&amp;quot;:&amp;quot;코드팩토리의 플러터 프로그래밍&amp;quot;,&amp;quot;image&amp;quot;:&amp;quot;http://t1.daumcdn.net/lbook/image/6245123?timestamp=20230106180825&amp;quot;,&amp;quot;url&amp;quot;:&amp;quot;https://search.daum.net/search?w=bookpage&amp;amp;bookId=6245123&amp;amp;tab=introduction&amp;amp;DA=LB2&amp;amp;q=%EC%BD%94%EB%93%9C%ED%8C%A9%ED%86%A0%EB%A6%AC%EC%9D%98+%ED%94%8C%EB%9F%AC%ED%84%B0+%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D&amp;quot;,&amp;quot;authors&amp;quot;:[&amp;quot;최지호(코드팩토리)&amp;quot;],&amp;quot;publicationDate&amp;quot;:&amp;quot;2023-01-01&amp;quot;,&amp;quot;publisher&amp;quot;:&amp;quot;골든래빗(주)&amp;quot;,&amp;quot;desc&amp;quot;:&amp;quot;저자는 왕초보 실력을 현업 수준으로 끌어올리기를 목표로 이 책을 썼습니다. 배운 이론을 곧바로 실무에 진짜 유용한 기능을 담은 앱을 만들며 익힐 수 있게 합니다. 모든 앱은 결과가 아니라 실제 프로젝트 현장에서 구현하듯이 과정을 보여주며 만듭니다. 변경하거나 수정한 코드를 확실하게 표시해 따라하기 쉽습니다. [프로젝트 소개] ➝ [사전 지식] ➝ [준비하기] ➝ [UI 구상하기] ➝ [구현하기] ➝ [테스트하기] 순서를 꼭 지켜서 앱 개발을 체계적으로 이끌어줍니다. 초보자 눈높이에 맞추면서, 다트 언어 입문부터 개발과 광고와 배포까지 현업에 도움이 될 실무적이고 활용도 높은 노하우를 담아 설명했기 때문에 탄탄하면서도 빠르게 스킬업되는 자신을 체감하게 될 겁니다.&amp;quot;}&quot;&gt;&lt;a href=&quot;https://search.daum.net/search?w=bookpage&amp;amp;bookId=6245123&amp;amp;tab=introduction&amp;amp;DA=LB2&amp;amp;q=%EC%BD%94%EB%93%9C%ED%8C%A9%ED%86%A0%EB%A6%AC%EC%9D%98+%ED%94%8C%EB%9F%AC%ED%84%B0+%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
&lt;div class=&quot;cs-image&quot; style=&quot;background-image: url('http://t1.daumcdn.net/lbook/image/6245123?timestamp=20230106180825'), url('../../image/noImage.png');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;cs-info-wrap&quot;&gt;&lt;span class=&quot;cs-title&quot;&gt;코드팩토리의 플러터 프로그래밍&lt;/span&gt;
&lt;div class=&quot;cs-desc&quot;&gt;저자는 왕초보 실력을 현업 수준으로 끌어올리기를 목표로 이 책을 썼습니다. 배운 이론을 곧바로 실무에 진짜 유용한 기능을 담은 앱을 만들며 익힐 수 있게 합니다. 모든 앱은 결과가 아니라 실제 프로젝트 현장에서 구현하듯이 과정을 보여주며 만듭니다. 변경하거나 수정한 코드를 확실하게 표시해 따라하기 쉽습니다. [프로젝트 소개] ➝ [사전 지식] ➝ [준비하기] ➝ [UI 구상하기] ➝ [구현하기] ➝ [테스트하기] 순서를 꼭 지켜서 앱 개발을 체계적으로 이끌어줍니다. 초보자 눈높이에 맞추면서, 다트 언어 입문부터 개발과 광고와 배포까지 현업에 도움이 될 실무적이고 활용도 높은 노하우를 담아 설명했기 때문에 탄탄하면서도 빠르게 스킬업되는 자신을 체감하게 될 겁니다.&lt;/div&gt;
&lt;div class=&quot;cs-props&quot;&gt;
&lt;dl class=&quot;cs-info&quot;&gt;
&lt;dt&gt;저자&lt;/dt&gt;
&lt;dd&gt;최지호(코드팩토리)&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl class=&quot;cs-info&quot;&gt;
&lt;dt&gt;출판&lt;/dt&gt;
&lt;dd&gt;골든래빗(주)&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl class=&quot;cs-info&quot;&gt;
&lt;dt&gt;출판일&lt;/dt&gt;
&lt;dd&gt;2023.01.01&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;</description>
      <category>개발기록/Flutter</category>
      <category>Flutter</category>
      <category>Flutter기초</category>
      <category>flutter기초문법</category>
      <category>flutter문법</category>
      <category>flutter코딩</category>
      <category>OOP</category>
      <category>programming</category>
      <category>객체지향프로그래밍</category>
      <category>플러터</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/34</guid>
      <comments>https://bubble94.tistory.com/entry/flutter-log-%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D#entry34comment</comments>
      <pubDate>Wed, 11 Jan 2023 22:35:32 +0900</pubDate>
    </item>
    <item>
      <title>[flutter log] 기초 문법</title>
      <link>https://bubble94.tistory.com/entry/flutter-log-%EA%B8%B0%EC%B4%88-%EB%AC%B8%EB%B2%95</link>
      <description>&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;안녕하세요 성장형 개발자입니다.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;플러터 공부 중입니다&lt;br /&gt;오늘 공부한 내용을 적어보았습니다&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;공부한 내용 : flutter 기초 문법&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;&lt;b&gt;1. 주석 작성&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;// 한 줄 주석&lt;br /&gt;/*&amp;nbsp;&lt;br /&gt;* 여러 줄 주석&lt;br /&gt;* 중간 줄 시작으로 *를 사용&lt;br /&gt;*/&amp;nbsp;&lt;br /&gt;/// 슬래시 세개는 문서 주석&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;&lt;b&gt;2. 콘솔 출력&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;print() 문자열 출력&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;&lt;b&gt;3. 변수 선언&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;var 변수명 = 값;&amp;nbsp;&lt;br /&gt;자동으로 타입을 추론하는 기능을 제공&lt;br /&gt;타입을 한 번 유추하면 추론된 타입이 고정 -&amp;gt; 고정이 된 변수에 다른 타입의 변수를 저장 시 에러 발생&lt;br /&gt;dynamic 변수 = 값;&lt;br /&gt;사용하면 변수의 타입이 고정되지 않아서 다른 타입도 저장 가능&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;final, const 키워드는 변수의 값을 처음 선언 후에는 변경 할 수 없음&lt;br /&gt;final -&amp;gt; 런타임(실행을 해봐야 값을 알 수 있음)&lt;br /&gt;const -&amp;gt; 빌드타임&lt;br /&gt;&amp;nbsp;실행될 때 확정 : final&lt;br /&gt;&amp;nbsp;코드를 실행하지 않은 상태 값이 확정 : const&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;4. 변수 타입&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp;모든 변수는 고유의 변수 타입을 가지고 있음.&lt;br /&gt;&amp;nbsp;var 키워드를 사용하면 자동으로 변수 타입 유추 가능하지만 직접적으로 변수 타입을 명시해주면 코드가 더욱 직관적으로 되고 유지보수에 편하다 -&amp;gt; 직접 타입을 지정해야 하는게 좋다&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;다트는 프로그램 시작점(엔트리 함수 기호) : main()&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;컬렉션 : 여러 값을 하나의 변수에 저장할 수 있는 타입 -&amp;gt; 서로의 타입을 자유롭게 형변환이 가능하다는 장점&lt;br /&gt;&amp;nbsp;ㅇ List : 여러 값을 순서대로 저장&lt;br /&gt;&amp;nbsp; -&amp;gt; 리스트명[인덱스] : 인덱스는 원소의 순번(제일 첫 원소 0, 마지막 원소 -1)&lt;br /&gt;&amp;nbsp; -&amp;gt; 리스트 길이 : 리스트명.length&lt;br /&gt;&amp;nbsp; -&amp;gt; add() : List에 값을 추가할 때 사용, 추가 시 리스트의 끝에 추가 된다.&lt;br /&gt;&amp;nbsp; -&amp;gt; where() : 리스트의 값들을 순서대로 순회하면서 특정 조건에 맞는 값만 필터링하는데 사용&lt;br /&gt;&amp;nbsp; -&amp;gt; map() : 리스트의 값들을 순서대로 순회하면서 값을 변경 가능, 반환하는 값이 현재값을 대체&lt;br /&gt;&amp;nbsp; -&amp;gt; reduce() : 리스트의 값들을 순서대로 순회, 순회할때마다 값을 쌓아감. 실행되는 리스트 요소들의 타입이 같아야함&lt;br /&gt;&amp;nbsp; -&amp;gt; fold() : reduce() 함수와 실행되는 논리는 같음. 어떠한 타입이든 반환 가능(reduce와 다른 점)&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;ㅇ Map : 특정 키값을 기반으로 빠르게 값을 검색(key : value) -&amp;gt; 원하는 값을 빠르게 찾는데 중점&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;ㅇ Set : 중복된 데이터를 제거할 때 사용(중복 없는 값들의 집합)&lt;br /&gt;&amp;nbsp; -&amp;gt; 중복을 방지하므로 유일한 값들만 존재하는 걸 보장&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;ㅇ enum : 한 변수의 값을 몇가지 옵션으로 제한, 선택지가 제한적일 때 사용&lt;br /&gt;&amp;nbsp; -&amp;gt; 기본적으로 자동 완성이 지원, 정확히 어떤 선택지가 존재하는지 정의해둘 수 있기에 유용(ex. 시작, 진행 중, 종료)&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;&amp;nbsp;연산자&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp;ㅇ 기본연산자, 값 비교 연산자, 논리 연산자는 알고 있는 부분이라서 따로 안적음&lt;br /&gt;&amp;nbsp;ㅇ null 관련 연산자&amp;nbsp;&lt;br /&gt;&amp;nbsp; -&amp;gt; 다트 언어에서는 변수 타입이 null값을 가지는지 여부를 직접 지정해줘야 함&lt;br /&gt;&amp;nbsp; -&amp;gt; 타입 키워드를 그대로 사용하면 기본적으로 null값이 저장될 수 없음&lt;br /&gt;&amp;nbsp; -&amp;gt; 타입 뒤에 ? 를 추가해줘야 null값 저장 가능(ex. double? testnum = 1;)&lt;br /&gt;&amp;nbsp; -&amp;gt; ?? 를 사용하면 null일 때만 값이 저장 &lt;br /&gt;&amp;nbsp;ㅇ 타입 비교 연산자&lt;br /&gt;&amp;nbsp; -&amp;gt; is 키워드를 사용하면 비교 가능&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;&lt;b&gt;제어문 (크게 다른 것 없음)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;ㅇ if&lt;br /&gt;&amp;nbsp;ㅇ switch&lt;br /&gt;&amp;nbsp; -&amp;gt; case 끝에 break 키워드 무조건 사용(빼먹으면 컴파일 중 에러 발생)&lt;br /&gt;&amp;nbsp; -&amp;gt; enum과 함께 사용하면 유용&lt;br /&gt;&amp;nbsp;ㅇ for&lt;br /&gt;&amp;nbsp; -&amp;gt; 다트에서는 for...in 패턴도 제공&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;함수와 람다&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp;ㅇ 함수의 일반적 특징&lt;br /&gt;&amp;nbsp; -&amp;gt; 한번만 작성하고 여러 곳에서 재활용 가능&lt;br /&gt;&amp;nbsp; -&amp;gt; 반환할 값이 없는 경우는 void키워드 사용&lt;br /&gt;&amp;nbsp; -&amp;gt; required 키워드 : 매개변수가 null값이 불가능한 타입이면 기본값을 지정해주거나 필수로 입력해야 한다는 의미&lt;br /&gt;&amp;nbsp; -&amp;gt; 포지션널 파라미터 사용시 [] 사용&lt;br /&gt;&lt;br /&gt;&amp;nbsp;ㅇ 익명함수, 람다함수&lt;br /&gt;&amp;nbsp; -&amp;gt; 둘 다 함수 이름이 없음&lt;br /&gt;&amp;nbsp; -&amp;gt; 일회성을 사용&lt;br /&gt;&amp;nbsp; -&amp;gt; 익명 함수 {} 람다 함수 =&amp;gt;&lt;br /&gt;&amp;nbsp; -&amp;gt; 람다 함수는 =&amp;gt; 단 하나의 스테이트먼트 -&amp;gt; 간결한 코드 작성 가능, 가독성 높음, 일회성이 높은 로직을 작성할 때 주로 사용(map, reduce, fold)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;ㅇ typedef&lt;br /&gt;&amp;nbsp; -&amp;gt; 함수의 시그니처를 정의하는 값&lt;br /&gt;&amp;nbsp; -&amp;gt; 함수 선언부를 정의하는 키워드&lt;br /&gt;&amp;nbsp; -&amp;gt; 함수가 무슨 동작을 하는지에 대한 정의는 없음&lt;br /&gt;&amp;nbsp; -&amp;gt; 다트에서 함수는 일급 객체 -&amp;gt; 함수를 값처럼 사용 가능&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;ㅇ try~catch&lt;br /&gt;&amp;nbsp; -&amp;gt; try와 catch 사이의 괄호에 에러가 없을 때 실행할 로직을 작성, catch가 감싸는 괄호는 에러가 났을 때 실행할 로직 작성&lt;br /&gt;&amp;nbsp; -&amp;gt; try로직에서 에러가 나면 이후 로직 실행되지 않고 바로 catch 로직으로 넘어감&lt;br /&gt;&amp;nbsp; -&amp;gt; throw 키워드 사용해서 고의적 에러 발생 가능&lt;/p&gt;
&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;contentSearch&quot; data-ke-align=&quot;alignCenter&quot; data-cs-kind=&quot;book&quot; data-cs-data=&quot;{&amp;quot;title&amp;quot;:&amp;quot;코드팩토리의 플러터 프로그래밍&amp;quot;,&amp;quot;image&amp;quot;:&amp;quot;http://t1.daumcdn.net/lbook/image/6245123?timestamp=20230106180825&amp;quot;,&amp;quot;url&amp;quot;:&amp;quot;https://search.daum.net/search?w=bookpage&amp;amp;bookId=6245123&amp;amp;tab=introduction&amp;amp;DA=LB2&amp;amp;q=%EC%BD%94%EB%93%9C%ED%8C%A9%ED%86%A0%EB%A6%AC%EC%9D%98+%ED%94%8C%EB%9F%AC%ED%84%B0+%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D&amp;quot;,&amp;quot;authors&amp;quot;:[&amp;quot;최지호(코드팩토리)&amp;quot;],&amp;quot;publicationDate&amp;quot;:&amp;quot;2023-01-01&amp;quot;,&amp;quot;publisher&amp;quot;:&amp;quot;골든래빗(주)&amp;quot;,&amp;quot;desc&amp;quot;:&amp;quot;저자는 왕초보 실력을 현업 수준으로 끌어올리기를 목표로 이 책을 썼습니다. 배운 이론을 곧바로 실무에 진짜 유용한 기능을 담은 앱을 만들며 익힐 수 있게 합니다. 모든 앱은 결과가 아니라 실제 프로젝트 현장에서 구현하듯이 과정을 보여주며 만듭니다. 변경하거나 수정한 코드를 확실하게 표시해 따라하기 쉽습니다. [프로젝트 소개] ➝ [사전 지식] ➝ [준비하기] ➝ [UI 구상하기] ➝ [구현하기] ➝ [테스트하기] 순서를 꼭 지켜서 앱 개발을 체계적으로 이끌어줍니다. 초보자 눈높이에 맞추면서, 다트 언어 입문부터 개발과 광고와 배포까지 현업에 도움이 될 실무적이고 활용도 높은 노하우를 담아 설명했기 때문에 탄탄하면서도 빠르게 스킬업되는 자신을 체감하게 될 겁니다.&amp;quot;}&quot;&gt;&lt;a href=&quot;https://search.daum.net/search?w=bookpage&amp;amp;bookId=6245123&amp;amp;tab=introduction&amp;amp;DA=LB2&amp;amp;q=%EC%BD%94%EB%93%9C%ED%8C%A9%ED%86%A0%EB%A6%AC%EC%9D%98+%ED%94%8C%EB%9F%AC%ED%84%B0+%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
&lt;div class=&quot;cs-image&quot; style=&quot;background-image: url('http://t1.daumcdn.net/lbook/image/6245123?timestamp=20230106180825'), url('../../image/noImage.png');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;cs-info-wrap&quot;&gt;&lt;span class=&quot;cs-title&quot;&gt;코드팩토리의 플러터 프로그래밍&lt;/span&gt;
&lt;div class=&quot;cs-desc&quot;&gt;저자는 왕초보 실력을 현업 수준으로 끌어올리기를 목표로 이 책을 썼습니다. 배운 이론을 곧바로 실무에 진짜 유용한 기능을 담은 앱을 만들며 익힐 수 있게 합니다. 모든 앱은 결과가 아니라 실제 프로젝트 현장에서 구현하듯이 과정을 보여주며 만듭니다. 변경하거나 수정한 코드를 확실하게 표시해 따라하기 쉽습니다. [프로젝트 소개] ➝ [사전 지식] ➝ [준비하기] ➝ [UI 구상하기] ➝ [구현하기] ➝ [테스트하기] 순서를 꼭 지켜서 앱 개발을 체계적으로 이끌어줍니다. 초보자 눈높이에 맞추면서, 다트 언어 입문부터 개발과 광고와 배포까지 현업에 도움이 될 실무적이고 활용도 높은 노하우를 담아 설명했기 때문에 탄탄하면서도 빠르게 스킬업되는 자신을 체감하게 될 겁니다.&lt;/div&gt;
&lt;div class=&quot;cs-props&quot;&gt;
&lt;dl class=&quot;cs-info&quot;&gt;
&lt;dt&gt;저자&lt;/dt&gt;
&lt;dd&gt;최지호(코드팩토리)&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl class=&quot;cs-info&quot;&gt;
&lt;dt&gt;출판&lt;/dt&gt;
&lt;dd&gt;골든래빗(주)&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl class=&quot;cs-info&quot;&gt;
&lt;dt&gt;출판일&lt;/dt&gt;
&lt;dd&gt;2023.01.01&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;</description>
      <category>개발기록/Flutter</category>
      <category>Flutter</category>
      <category>Flutter기초</category>
      <category>flutter기초문법</category>
      <category>flutter람다</category>
      <category>flutter문법</category>
      <category>flutter코딩</category>
      <category>programming</category>
      <category>람다함수</category>
      <category>플러터</category>
      <category>함수</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/33</guid>
      <comments>https://bubble94.tistory.com/entry/flutter-log-%EA%B8%B0%EC%B4%88-%EB%AC%B8%EB%B2%95#entry33comment</comments>
      <pubDate>Tue, 10 Jan 2023 23:50:51 +0900</pubDate>
    </item>
    <item>
      <title>[flutter log] flutter를 하게 된 계기 및 계획</title>
      <link>https://bubble94.tistory.com/entry/flutter-log-flutter%EB%A5%BC-%ED%95%98%EA%B2%8C-%EB%90%9C-%EA%B3%84%EA%B8%B0-%EB%B0%8F-%EA%B3%84%ED%9A%8D</link>
      <description>&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;안녕하세요 성장형개발자입니다&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;신년을 맞이해서 새로운 마음가짐으로 flutter를 사용하여 개인프로젝트를 하나 해보려고 합니다&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;음... 아이디어는 예전부터 생각하고 있던 것인데&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;계속 미루다 보니 진척이 없던 상황이였습니다&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;그래서 어떻게 하면 할 수 밖에 없는 환경을 만들어볼까 하다가&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;이렇게 블로그에 공부한 기록들을 남기면 어떨까 하고 시작을 해보기로 했습니다&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;일단 목표는 2월 28일까지 오픈을 목표로 하기로 했습니다&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;일단은 공부를 해야 전반적인 시간 소요 파악이 될 듯해서&lt;br /&gt;공부를 먼저해야 할 것 같습니다&lt;br /&gt;구체적인 날짜는 지속적으로 보완을 하면서 진행해야겠습니다&lt;br /&gt;당장 내일부터는 아침에 일찍 일어나서 책을 펼치고 공부를 하고 출근을 해야겠습니다&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;시작은 미미하지만! 끝은 창대하리라!&lt;br /&gt;종교를 믿지는 않지만 글귀가 멋있어서 되뇌이는 말입니다&lt;br /&gt;꾸준히 코딩로그를 올려서 개인프로젝트를 완주를 해보겠습니다&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100.698%; height: 414px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style7&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;width: 14.2857%; text-align: center; height: 22px;&quot;&gt;일&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; text-align: center; height: 22px;&quot;&gt;월&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; text-align: center; height: 22px;&quot;&gt;화&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; text-align: center; height: 22px;&quot;&gt;수&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; text-align: center; height: 22px;&quot;&gt;목&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; text-align: center; height: 22px;&quot;&gt;금&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; text-align: center; height: 22px;&quot;&gt;토&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 41px;&quot;&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;1/9&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;start!&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;14&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;약속&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 28.5714%; height: 20px;&quot; colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 71.4285%; text-align: center; height: 20px;&quot; colspan=&quot;5&quot;&gt;플러터 프로그래밍 책 1회독&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 41px;&quot;&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;15&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;약속&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;16&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;17&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;18&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;19&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;20&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;21&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;설날(고향)&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 85.7142%; text-align: center; height: 20px;&quot; colspan=&quot;6&quot;&gt;플러터 프로그래밍 책 2회독&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 41px;&quot;&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;22&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;설날&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;23&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;설날(복귀)&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;24&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;25&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;26&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;27&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 41px;&quot;&gt;28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 28.5714%; height: 18px;&quot; colspan=&quot;2&quot;&gt;프로젝트 화면설계&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;29&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;30&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;31&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;2/1&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;15&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;16&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;17&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;18&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;19&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;20&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;21&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;22&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;23&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;24&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;25&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 18px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 39px;&quot;&gt;
&lt;td style=&quot;width: 14.2857%; height: 39px;&quot;&gt;26&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 39px;&quot;&gt;27&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 39px;&quot;&gt;28&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;open!&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 39px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 39px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 39px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 39px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 14.2857%; height: 20px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description>
      <category>개발기록/Flutter</category>
      <category>Flutter</category>
      <category>Flutter공부</category>
      <category>개인프로젝트</category>
      <category>코딩</category>
      <category>코딩계획</category>
      <category>코딩공부</category>
      <category>토이프로젝트</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/32</guid>
      <comments>https://bubble94.tistory.com/entry/flutter-log-flutter%EB%A5%BC-%ED%95%98%EA%B2%8C-%EB%90%9C-%EA%B3%84%EA%B8%B0-%EB%B0%8F-%EA%B3%84%ED%9A%8D#entry32comment</comments>
      <pubDate>Mon, 9 Jan 2023 23:27:10 +0900</pubDate>
    </item>
    <item>
      <title>1분도 안되서 아이폰 배터리 잔량 표시하기(ios 16 업데이트 필수)</title>
      <link>https://bubble94.tistory.com/entry/1%EB%B6%84%EB%8F%84-%EC%95%88%EB%90%98%EC%84%9C-%EC%95%84%EC%9D%B4%ED%8F%B0-%EB%B0%B0%ED%84%B0%EB%A6%AC-%EC%9E%94%EB%9F%89-%ED%91%9C%EC%8B%9C%ED%95%98%EA%B8%B0ios-16-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8-%ED%95%84%EC%88%98</link>
      <description>&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;안녕하세요 성장형 개발자입니다&lt;br&gt;이번에 아이폰 16 업데이트가 되었는데요&lt;br&gt;여러가지 기능들이 추가가 되었는데 저는 개인적으로 배터리 잔량 표시되는 부분이 끌렸어요&lt;br&gt;&lt;br&gt;업데이트 하자마자 바로 적용했는데 1분도 안걸려서 공유 드릴려고 합니다&lt;br&gt;각설하고 본론으로 고우!&lt;br&gt;다들 적용 전 화면은 이렇게 되어있으실텐데요&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lko2r/btrMfFO6nIB/sp1O3eMnI0UiBKDMcDf31k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lko2r/btrMfFO6nIB/sp1O3eMnI0UiBKDMcDf31k/img.png&quot; data-alt=&quot;배터리 잔량 적용 전&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lko2r/btrMfFO6nIB/sp1O3eMnI0UiBKDMcDf31k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Flko2r%2FbtrMfFO6nIB%2Fsp1O3eMnI0UiBKDMcDf31k%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;1170&quot; height=&quot;2532&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;배터리 잔량 적용 전&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;먼저 설정 어플 클릭!&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;180&quot; data-origin-height=&quot;180&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xHVq0/btrMe8xdtYW/YNSUhQFfLcWAJMB5WeCpxk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xHVq0/btrMe8xdtYW/YNSUhQFfLcWAJMB5WeCpxk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xHVq0/btrMe8xdtYW/YNSUhQFfLcWAJMB5WeCpxk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxHVq0%2FbtrMe8xdtYW%2FYNSUhQFfLcWAJMB5WeCpxk%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;180&quot; height=&quot;180&quot; data-origin-width=&quot;180&quot; data-origin-height=&quot;180&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;그 다음은 스크롤을 내리고 배터리 부분을 클릭합니다&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgD7ID/btrMeedGGfH/uhMK8fRyKVOkaMLvICl3wK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgD7ID/btrMeedGGfH/uhMK8fRyKVOkaMLvICl3wK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgD7ID/btrMeedGGfH/uhMK8fRyKVOkaMLvICl3wK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgD7ID%2FbtrMeedGGfH%2FuhMK8fRyKVOkaMLvICl3wK%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;1170&quot; height=&quot;2532&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;그 다음은 바로 첫번째 줄에 있는 잔량 표시를 클릭하면 끝!&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DujgL/btrMdHAOXQg/ul7M5gkOZ5kKOUEQt7kBZk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DujgL/btrMdHAOXQg/ul7M5gkOZ5kKOUEQt7kBZk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DujgL/btrMdHAOXQg/ul7M5gkOZ5kKOUEQt7kBZk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDujgL%2FbtrMdHAOXQg%2Ful7M5gkOZ5kKOUEQt7kBZk%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;1170&quot; height=&quot;2532&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDxVNZ/btrMffpu6Ft/y5i5Km3hhbDWtsk5tqWuQ1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDxVNZ/btrMffpu6Ft/y5i5Km3hhbDWtsk5tqWuQ1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDxVNZ/btrMffpu6Ft/y5i5Km3hhbDWtsk5tqWuQ1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDxVNZ%2FbtrMffpu6Ft%2Fy5i5Km3hhbDWtsk5tqWuQ1%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;1170&quot; height=&quot;2532&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;엄청 쉽죠?&lt;br&gt;클릭하시고 위에 배터리를 보시면 바로 적용되신 것을 확인 가능합니다&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KD2pC/btrMeFa1wx2/CCYYLl1ZZxwpa5w5JnvGIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KD2pC/btrMeFa1wx2/CCYYLl1ZZxwpa5w5JnvGIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KD2pC/btrMeFa1wx2/CCYYLl1ZZxwpa5w5JnvGIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKD2pC%2FbtrMeFa1wx2%2FCCYYLl1ZZxwpa5w5JnvGIK%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;1170&quot; height=&quot;2532&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;저도 적용이 되었네요&lt;br&gt;배터리가 14프로네요 ㅎㅎㅎ 충전을 해야겠습니다&lt;br&gt;ios 16업데이트를 하셔야 적용이 가능하니까 업데이트는&amp;nbsp;&amp;nbsp;필수입니당!!!&lt;br&gt;그럼 안뇨오옹&lt;/p&gt;</description>
      <category>유용한 정보</category>
      <category>iOS16</category>
      <category>ios16배터리</category>
      <category>배터리잔량</category>
      <category>배터리잔량표시</category>
      <category>아이폰</category>
      <category>아이폰16</category>
      <category>아이폰배터리</category>
      <category>아이폰배터리잔량표시</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/31</guid>
      <comments>https://bubble94.tistory.com/entry/1%EB%B6%84%EB%8F%84-%EC%95%88%EB%90%98%EC%84%9C-%EC%95%84%EC%9D%B4%ED%8F%B0-%EB%B0%B0%ED%84%B0%EB%A6%AC-%EC%9E%94%EB%9F%89-%ED%91%9C%EC%8B%9C%ED%95%98%EA%B8%B0ios-16-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8-%ED%95%84%EC%88%98#entry31comment</comments>
      <pubDate>Thu, 15 Sep 2022 21:57:16 +0900</pubDate>
    </item>
    <item>
      <title>[Apple] 마스크 쓴 상태로 FaceId 잠금 해제하는 방법</title>
      <link>https://bubble94.tistory.com/entry/Apple-%EB%A7%88%EC%8A%A4%ED%81%AC-%EC%93%B4-%EC%83%81%ED%83%9C%EB%A1%9C-FaceId-%EC%9E%A0%EA%B8%88-%ED%95%B4%EC%A0%9C%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요 성장형 개발자입니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작년쯤인가 기존에 쓰던 아이폰8이 고장이 나서 아이폰 12로 바꾸게 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;touch ID -&amp;gt; Face ID로 바꾸게 되니 마스크를 쓰지 않을 때에는 편한데 마스크를 쓰고 있는 상태에서는 상당히 불편하더라구요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇게 약 1년 가량 매번 핀번호만 입력하면서 잠금해제하던 중에 설정 앱에 마스크를 쓴 상태에서 잠금 해제할 수 있는 기능을 발견하게되서 공유해보려고 합니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존 FaceID만큼 해제가 빠른 것 같진 않은 느낌인데, 마스크를 쓴 상태에서 잠금해제가 된다는 자체가 상당히 큰 기능이기에 다들 해놓으시는 것을 추천드립니다!&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;밑으로 스크롤을 하시다보면 밑에 FaceID 및 암호라는 부분이 있습니다. 해당 부분을 클릭하시고 각자의 비밀번호를 입력하세요&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;BC1B3EB1-DF11-4375-8CE8-2CFDE3956847_1_201_a.jpeg&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9BHa0/btrGXgOGC7u/SaxaQiKNOpAWGowMeFZ2Ak/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9BHa0/btrGXgOGC7u/SaxaQiKNOpAWGowMeFZ2Ak/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9BHa0/btrGXgOGC7u/SaxaQiKNOpAWGowMeFZ2Ak/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9BHa0%2FbtrGXgOGC7u%2FSaxaQiKNOpAWGowMeFZ2Ak%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;519&quot; height=&quot;1123&quot; data-filename=&quot;BC1B3EB1-DF11-4375-8CE8-2CFDE3956847_1_201_a.jpeg&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&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;비밀번호를 입력하시고 들어오게 되면 아래와 같은 화면이 나오는데요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 쯤에 보시면 마스크 쓴 상태로 FaceId 사용을 활성화시키면 됩니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇게 되면 FaceID를 새로 설정을 하시게 되는데요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 때 주의하실 점은 은행어플이라던지 FaceID를 사용해서 인증하셨던 분들은 FaceID인증이 바뀌게 되므로 새로 등록을 해주셔야되요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쉽게 말하면 기존의 연동은 사라지게 됩니다. 이점을 염두하시고 진행을 하시면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 지금 등록이 되어있는 상태라서 아래와 같이 보이는데, 아직 등록을 안하신 분들이시면 대체 FaceID라는 부분이 있으실 거예요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 부분도 똑같이 등록해서 사용하시면 됩니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;13E9EE81-7A4E-475A-9FE7-59CD578F6191_1_201_a.jpeg&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YDR64/btrGYyBAYIz/ekFjSNziBxRyxwo9uayQP0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YDR64/btrGYyBAYIz/ekFjSNziBxRyxwo9uayQP0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YDR64/btrGYyBAYIz/ekFjSNziBxRyxwo9uayQP0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYDR64%2FbtrGYyBAYIz%2FekFjSNziBxRyxwo9uayQP0%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;542&quot; height=&quot;1173&quot; data-filename=&quot;13E9EE81-7A4E-475A-9FE7-59CD578F6191_1_201_a.jpeg&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&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;모든 등록이 되셨다면 한가지 옵션을 더 등록을 하셔야합니다&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;gt; FaceID가 가능한 이유가 아이폰에 얼굴을 인식하는 센서가 있는데 이 부분이 눈동자 부분도 인식을 하기 때문에 주시하는 옵션을 활성화를 해야 원활하게 잠금해제가 가능하게 됩니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;40A52841-A240-473E-8952-F82551061585_1_201_a.jpeg&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cJCtvO/btrGWb67rCu/e9Oyk0qq19dxRGI5MTSBXK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cJCtvO/btrGWb67rCu/e9Oyk0qq19dxRGI5MTSBXK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJCtvO/btrGWb67rCu/e9Oyk0qq19dxRGI5MTSBXK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJCtvO%2FbtrGWb67rCu%2Fe9Oyk0qq19dxRGI5MTSBXK%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;640&quot; height=&quot;1385&quot; data-filename=&quot;40A52841-A240-473E-8952-F82551061585_1_201_a.jpeg&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot;/&gt;&lt;/span&gt;&lt;/figure&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;마스크 쓴 상태로 잠금해제가 되니까 너무 편하긴 합니다 ㅠㅠㅠ&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;</description>
      <category>유용한 정보</category>
      <category>faceid</category>
      <category>마스크</category>
      <category>마스크 쓴 상태로 잠금해제</category>
      <category>마스크 잠금해제</category>
      <category>아이폰</category>
      <category>아이폰 마스크</category>
      <category>아이폰 잠금해제</category>
      <category>애플 잠금해제</category>
      <category>잠금해제</category>
      <category>코로나</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/30</guid>
      <comments>https://bubble94.tistory.com/entry/Apple-%EB%A7%88%EC%8A%A4%ED%81%AC-%EC%93%B4-%EC%83%81%ED%83%9C%EB%A1%9C-FaceId-%EC%9E%A0%EA%B8%88-%ED%95%B4%EC%A0%9C%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95#entry30comment</comments>
      <pubDate>Mon, 11 Jul 2022 11:12:23 +0900</pubDate>
    </item>
    <item>
      <title>중소기업청년전세대출 방법 및 후기</title>
      <link>https://bubble94.tistory.com/entry/%EC%A4%91%EC%86%8C%EA%B8%B0%EC%97%85%EC%B2%AD%EB%85%84%EC%A0%84%EC%84%B8%EB%8C%80%EC%B6%9C-%EB%B0%A9%EB%B2%95-%EB%B0%8F-%ED%9B%84%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요 성장형 개발자입니다~!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 2020년 쯤에 여러 조건들이 충족이 되서 중소기업청년전세대출을 했었습니다!&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;/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;중소기업에 재직중인 청년을 대상으로 1억까지 전세금을 대출해준다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이자는 고정금리로 1.2% 최대 4년까지 가능합니다!&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;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;a href=&quot;https://nhuf.molit.go.kr/FP/FP05/FP0502/FP05020601.jsp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://nhuf.molit.go.kr/FP/FP05/FP0502/FP05020601.jsp&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1656678230390&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;주택도시기금&quot; data-og-description=&quot;주택도시기금 소개, 주택구입(내집마련디딤돌 등), 전세자금, 월세대출, 국민주택채권, 주택청약, 신혼부부대출&quot; data-og-host=&quot;nhuf.molit.go.kr&quot; data-og-source-url=&quot;https://nhuf.molit.go.kr/FP/FP05/FP0502/FP05020601.jsp&quot; data-og-url=&quot;http://nhuf.molit.go.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/lyYif/hyOWWtT7Sr/DCro2KpXKPpLzJMqWxUDsK/img.png?width=400&amp;amp;height=200&amp;amp;face=0_0_400_200,https://scrap.kakaocdn.net/dn/bqkmj3/hyOWXGmEOn/LyCsQkKvm4DOvBBQHCGrI0/img.jpg?width=1536&amp;amp;height=315&amp;amp;face=868_69_1137_263&quot;&gt;&lt;a href=&quot;https://nhuf.molit.go.kr/FP/FP05/FP0502/FP05020601.jsp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://nhuf.molit.go.kr/FP/FP05/FP0502/FP05020601.jsp&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/lyYif/hyOWWtT7Sr/DCro2KpXKPpLzJMqWxUDsK/img.png?width=400&amp;amp;height=200&amp;amp;face=0_0_400_200,https://scrap.kakaocdn.net/dn/bqkmj3/hyOWXGmEOn/LyCsQkKvm4DOvBBQHCGrI0/img.jpg?width=1536&amp;amp;height=315&amp;amp;face=868_69_1137_263');&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;nhuf.molit.go.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;막상 보니까 조건들이 엄청 많네요 ㅎㅎ 저는 20년도에 계약했었는데 아래 정도만 생각하고 했거든요.&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;1. 내 연봉이 조건에 부합한지(3600만원 미만)(중소기업에 재직 중)&lt;/li&gt;
&lt;li&gt;2. 내가 고른 집이 중기청이 되는지(집주인에게 물어봐야합니다)&lt;/li&gt;
&lt;/ul&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;1. 1억 미만&lt;/li&gt;
&lt;li&gt;2. 투룸&lt;/li&gt;
&lt;li&gt;3. 지하철을 걸어다닐 수 있는 거리 (10분 이내)&lt;/li&gt;
&lt;li&gt;4. 2층 이상&lt;/li&gt;
&lt;li&gt;5. 남향&lt;/li&gt;
&lt;li&gt;6. 중기청 100프로가 가능한 집(근저당권이 없어야함)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서울에서 이 정도의 조건은 힘들다는 것은 알고 있었지만 한번 들어가면 오래 살 것 같아서 높은 기준치를 잡고 찾아봤습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 직방, 네이버 부동산 두개의 웹사이트를 사용해서 찾았습니다. 정말 매시간마다 찾아봤던 것 같아요. 그러다가 직방에서 좋은 매물을 발견하여 바로 방을 보러가서 계약을 하게됬습니다. 이 때 중기청 100프로 대출은 집주인 분께 가능한지 꼭 여쭤보시길 바랍니다. 왜냐면 저도 원래 중기청 100프로는 안된다고 하셨는데, 집주인 분께 직접 여쭤봐서 가능했네요 ㅎㅎ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대체적으로 중기청 100프로를 안해주는 이유는 살다가 나갈 때 집에 이상이 있으면 보증금에서 차감을 해야하는데, 세 들어온 사람의 돈이 들어가 있지 않아 따로 받아야하는데, 그 부분이 번거로워서 꺼려하시는 분들이 많으시더라구요.&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;첫 방문 : 은행에 가서 해당 집에 대해서 대출이 가능한지 알아보기&lt;/li&gt;
&lt;li&gt;두 번째 : 부동산계약서 및 필요한 서류들을 챙겨서 은행에 방문하기&lt;/li&gt;
&lt;/ul&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;a href=&quot;https://nhuf.molit.go.kr/FP/FP05/FP0502/FP05020602.jsp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://nhuf.molit.go.kr/FP/FP05/FP0502/FP05020602.jsp&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1656737116102&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;주택도시기금&quot; data-og-description=&quot;주택도시기금 소개, 주택구입(내집마련디딤돌 등), 전세자금, 월세대출, 국민주택채권, 주택청약, 신혼부부대출&quot; data-og-host=&quot;nhuf.molit.go.kr&quot; data-og-source-url=&quot;https://nhuf.molit.go.kr/FP/FP05/FP0502/FP05020602.jsp&quot; data-og-url=&quot;http://nhuf.molit.go.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/jrl9r/hyOWYMlugO/TaSz5VkSCf1u41QkYXjQ50/img.png?width=400&amp;amp;height=200&amp;amp;face=0_0_400_200,https://scrap.kakaocdn.net/dn/eCCx20/hyOYsrug3a/vaqZUvM8Jx9sGwxWWkjfVk/img.jpg?width=1536&amp;amp;height=315&amp;amp;face=868_69_1137_263&quot;&gt;&lt;a href=&quot;https://nhuf.molit.go.kr/FP/FP05/FP0502/FP05020602.jsp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://nhuf.molit.go.kr/FP/FP05/FP0502/FP05020602.jsp&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/jrl9r/hyOWYMlugO/TaSz5VkSCf1u41QkYXjQ50/img.png?width=400&amp;amp;height=200&amp;amp;face=0_0_400_200,https://scrap.kakaocdn.net/dn/eCCx20/hyOYsrug3a/vaqZUvM8Jx9sGwxWWkjfVk/img.jpg?width=1536&amp;amp;height=315&amp;amp;face=868_69_1137_263');&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;nhuf.molit.go.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;은행 직원분께서 대출이 실행이 되는 시점에는 보증기관의 보증금에 대한 금액이 나간다고 하시더라구요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10만원 안에서 해결이 되었던 것 같습니다ㅎㅎ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;중기청을 하는 최고의 이유는 1.2%의 고정금리 때문에 하는 것이기에 무조건 하셔야합니다. 서울에서 공과금 포함해도 20만원 내지로 살고 있으니 엄청난 기회라고 생각합니다.&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;</description>
      <category>재테크</category>
      <category>금리</category>
      <category>대출</category>
      <category>전세</category>
      <category>전세대출</category>
      <category>주택도시기금</category>
      <category>중기청</category>
      <category>중소기업</category>
      <category>중소기업청년전세대출</category>
      <category>청년</category>
      <category>후기</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/29</guid>
      <comments>https://bubble94.tistory.com/entry/%EC%A4%91%EC%86%8C%EA%B8%B0%EC%97%85%EC%B2%AD%EB%85%84%EC%A0%84%EC%84%B8%EB%8C%80%EC%B6%9C-%EB%B0%A9%EB%B2%95-%EB%B0%8F-%ED%9B%84%EA%B8%B0#entry29comment</comments>
      <pubDate>Sat, 2 Jul 2022 17:15:57 +0900</pubDate>
    </item>
    <item>
      <title>[일상에서 문득 느낀 인생] 런닝과 인생은 같다.</title>
      <link>https://bubble94.tistory.com/entry/%EC%9D%BC%EC%83%81%EC%97%90%EC%84%9C-%EB%AC%B8%EB%93%9D-%EB%8A%90%EB%82%80-%EC%9D%B8%EC%83%9D-%EB%9F%B0%EB%8B%9D%EA%B3%BC-%EC%9D%B8%EC%83%9D%EC%9D%80-%EA%B0%99%EB%8B%A4</link>
      <description>&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;뛰면서 이런 저런 생각을 했고, 저만의 기준을 정하면서 계속 뛰었습니다.&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;table style=&quot;border-collapse: collapse; width: 100%; height: 192px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 19px;&quot;&gt;런닝&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 19px;&quot;&gt;인생&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 19px;&quot;&gt;오늘 뛸까?말까? 일단 해! Just Do it!&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 19px;&quot;&gt;할까?말까? 고민하지말고 일단하자! 안하는 것보다 낫다!&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 19px;&quot;&gt;나만의 페이스로 멈추지 말고 목적지까지 뛰어가자!&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 19px;&quot;&gt;나에게 적합한 페이스가 지치지 않고 빨리 갈 수 있다.&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 38px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 38px;&quot;&gt;내가 정한 목적지에 거의 다 왔다고 막판에 무리하지말자!&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 38px;&quot;&gt;끝날때까지 끝난게 아니다. 목적지가 끝이 아니다. 다른 또 무언가가 있다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 10px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 10px;&quot;&gt;지속할 수 있는 노래, 일정한 가로등 및 울타리, 런닝 기록&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 10px;&quot;&gt;선택과 집중을 가능하게하고, 얼마나 내가 왔는지 돌아 볼 수 있다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;내가 왔던 길의 맞은편 길 반대방향으로 돌아가자&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;내가 왔던 길을 볼 수 있고, 지나쳐왔던 소중한 것들을 더 넓게 자세히 볼 수 있다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;목적지를 정하자&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;내가 해야할 것이 뚜렷하고, 거기에 맞춰서 모든 것을 안배가 가능하다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;건강하자&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;건강해야, 이 모든 것이 가능하다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;뛰는 사람을 보면 화이팅이라고 외쳐보자&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;나와같은 상황에서의 화이팅은 큰 힘이 된다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 19px;&quot;&gt;이른 새벽에는 사람이 없다.&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 19px;&quot;&gt;남들보다 더 일찍 움직이면 여유롭게 다닐 수 있다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;자주 뛸 수록 더 잘뛰고, 안다치고, 건강해질 수 있다&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;해봤던 것이기에 더 잘할 수 있다. 못해지진 않는다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;다른 곳도 뛰어보고 싶다&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;전에 해봤던 것에 경험에 비추어, 다른 것도 겁없이 도전가능하다&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;글을 부담없이 적어 내려가봤고, 앞으로는 일상 속에서 여러가지 배움들을 느껴볼 것 같네요 ㅎㅎㅎ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지난 간 일들은 말 그대로 지나갔으니, 오늘하루 지금부터 화이팅해봅시다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 하루도 화이팅!!! 생각만하지말고 일단 고! Just Do It!&lt;/p&gt;</description>
      <category>일상</category>
      <category>Justdoit</category>
      <category>running</category>
      <category>교훈</category>
      <category>기록</category>
      <category>런닝</category>
      <category>배움</category>
      <category>인생</category>
      <category>일상</category>
      <category>일상기록</category>
      <category>자기계발</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/28</guid>
      <comments>https://bubble94.tistory.com/entry/%EC%9D%BC%EC%83%81%EC%97%90%EC%84%9C-%EB%AC%B8%EB%93%9D-%EB%8A%90%EB%82%80-%EC%9D%B8%EC%83%9D-%EB%9F%B0%EB%8B%9D%EA%B3%BC-%EC%9D%B8%EC%83%9D%EC%9D%80-%EA%B0%99%EB%8B%A4#entry28comment</comments>
      <pubDate>Mon, 16 May 2022 07:16:21 +0900</pubDate>
    </item>
    <item>
      <title>아이폰 정면 카메라 좌우반전 해제하기</title>
      <link>https://bubble94.tistory.com/entry/%EC%95%84%EC%9D%B4%ED%8F%B0-%EC%A0%95%EB%A9%B4-%EC%B9%B4%EB%A9%94%EB%9D%BC-%EC%A2%8C%EC%9A%B0%EB%B0%98%EC%A0%84-%ED%95%B4%EC%A0%9C%ED%95%98%EA%B8%B0</link>
      <description>&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;이게 몇년 전? 부터는 애플 자체에서 기능을 만들어서 업데이트를 해줬습니다&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; -&amp;gt; 아래로 스크롤하면 카메라 클릭 -&amp;gt; 구성 부분에 있는 전면 카메라 좌우방향 유지를 on&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;p data-ke-size=&quot;size16&quot;&gt;자잘하지만 유용한 팁이니 다들 적용해보셔용&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lWymS/btrzMJqNTXx/8WnZk7FVceZfcEE0SnQk71/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lWymS/btrzMJqNTXx/8WnZk7FVceZfcEE0SnQk71/img.jpg&quot; data-is-animation=&quot;undefined&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot; data-filename=&quot;34C17983-A707-4ED4-921C-16BD65ED5F11_1_102_o.jpeg&quot; width=&quot;360&quot; height=&quot;779&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lWymS/btrzMJqNTXx/8WnZk7FVceZfcEE0SnQk71/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlWymS%2FbtrzMJqNTXx%2F8WnZk7FVceZfcEE0SnQk71%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;1170&quot; height=&quot;2532&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bb21Tb/btrzOH686Dv/yiYkzjXbgxRCKwj5uSOfKK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bb21Tb/btrzOH686Dv/yiYkzjXbgxRCKwj5uSOfKK/img.jpg&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot; data-is-animation=&quot;undefined&quot; data-filename=&quot;1609067C-DA96-4C33-9304-51D70C369181_1_102_o.jpeg&quot; width=&quot;360&quot; height=&quot;779&quot; data-widthpercent=&quot;50&quot; style=&quot;width: 49.4186%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bb21Tb/btrzOH686Dv/yiYkzjXbgxRCKwj5uSOfKK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbb21Tb%2FbtrzOH686Dv%2FyiYkzjXbgxRCKwj5uSOfKK%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;1170&quot; height=&quot;2532&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>유용한 정보</category>
      <category>apple</category>
      <category>camera</category>
      <category>iPhone</category>
      <category>아이폰</category>
      <category>아이폰꿀팁</category>
      <category>애플</category>
      <category>전면카메라</category>
      <category>좌우반전</category>
      <category>좌우반전 해제</category>
      <category>카메라</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/27</guid>
      <comments>https://bubble94.tistory.com/entry/%EC%95%84%EC%9D%B4%ED%8F%B0-%EC%A0%95%EB%A9%B4-%EC%B9%B4%EB%A9%94%EB%9D%BC-%EC%A2%8C%EC%9A%B0%EB%B0%98%EC%A0%84-%ED%95%B4%EC%A0%9C%ED%95%98%EA%B8%B0#entry27comment</comments>
      <pubDate>Tue, 19 Apr 2022 16:36:55 +0900</pubDate>
    </item>
    <item>
      <title>아이폰 아이패드 어플 중복 다운 해결방법</title>
      <link>https://bubble94.tistory.com/entry/%EC%95%84%EC%9D%B4%ED%8F%B0-%EC%95%84%EC%9D%B4%ED%8C%A8%EB%93%9C-%EC%96%B4%ED%94%8C-%EC%A4%91%EB%B3%B5-%EB%8B%A4%EC%9A%B4-%ED%95%B4%EA%B2%B0%EB%B0%A9%EB%B2%95</link>
      <description>&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;그래서 패드를 사용하려고 열 때마다 폰에 있는 어플들이 바탕화면에 깔려있는 겁니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해결방법을 찾다고 저처럼 고민하고 있을 분들이 많을 듯 싶어 해결방법을 공유드려요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;매우 간단하니까 뭐 10초도 안 걸릴 듯 싶네요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 글로 설명 드리면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설정 - 밑으로 좀 내리시면 App Store 클릭 - 상단에 있는 자동 다운로드에 있는 앱을 비활성화해주시면 됩니다 참 쉽죠?&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&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;KakaoTalk_Image_2022-03-16-00-05-34_001.png&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6lSFX/btrv11Prdfb/fi4OkBFVIiqUuCTgl9ycLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6lSFX/btrv11Prdfb/fi4OkBFVIiqUuCTgl9ycLk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6lSFX/btrv11Prdfb/fi4OkBFVIiqUuCTgl9ycLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6lSFX%2Fbtrv11Prdfb%2Ffi4OkBFVIiqUuCTgl9ycLk%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;1170&quot; height=&quot;2532&quot; data-filename=&quot;KakaoTalk_Image_2022-03-16-00-05-34_001.png&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;KakaoTalk_Image_2022-03-16-00-05-35_002.jpeg&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Scc8n/btrv0QHviJB/ZJKN2NV57LKW75Sb8WPt2K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Scc8n/btrv0QHviJB/ZJKN2NV57LKW75Sb8WPt2K/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Scc8n/btrv0QHviJB/ZJKN2NV57LKW75Sb8WPt2K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FScc8n%2Fbtrv0QHviJB%2FZJKN2NV57LKW75Sb8WPt2K%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;1170&quot; height=&quot;2532&quot; data-filename=&quot;KakaoTalk_Image_2022-03-16-00-05-35_002.jpeg&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;2532&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;생각보다 어렵지 않죠???&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;</description>
      <category>유용한 정보</category>
      <category>apple</category>
      <category>다운로드</category>
      <category>버부</category>
      <category>아이패드</category>
      <category>아이패드 어플 중복</category>
      <category>아이패드 중복</category>
      <category>아이폰</category>
      <category>앱 중복</category>
      <category>앱스토어</category>
      <category>패드 어플 중복</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/26</guid>
      <comments>https://bubble94.tistory.com/entry/%EC%95%84%EC%9D%B4%ED%8F%B0-%EC%95%84%EC%9D%B4%ED%8C%A8%EB%93%9C-%EC%96%B4%ED%94%8C-%EC%A4%91%EB%B3%B5-%EB%8B%A4%EC%9A%B4-%ED%95%B4%EA%B2%B0%EB%B0%A9%EB%B2%95#entry26comment</comments>
      <pubDate>Wed, 16 Mar 2022 00:10:00 +0900</pubDate>
    </item>
    <item>
      <title>1분도 안걸리는 아이폰 하단 독바 안보이게끔 설정하기</title>
      <link>https://bubble94.tistory.com/entry/1%EB%B6%84%EB%8F%84-%EC%95%88%EA%B1%B8%EB%A6%AC%EB%8A%94-%EC%95%84%EC%9D%B4%ED%8F%B0-%ED%95%98%EB%8B%A8-%EB%8F%85%EB%B0%94-%EC%95%88%EB%B3%B4%EC%9D%B4%EA%B2%8C%EB%81%94-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0</link>
      <description>&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;안녕하세요 성장형개발자입니다~&lt;br /&gt;코로나가 이번 년도 안에는 끝날 줄 알았는데 더 난리네요...!!!&lt;br /&gt;다들 마스크 잘 쓰시고 손 잘 씻으면서 예방합시다!!!&lt;br /&gt;&lt;br /&gt;저는 재택근무한지가 거의 10개월인데요 마침 프로젝트도 끝나서 예전부터 구상하던 것을 시작해보려고 합니다 ㅎㅎ&lt;br /&gt;그리고 오래 쓸 목적으로 아이패드에어랑 맥북프로M1(아직...배송 전 ㅠ)을 구매를 했어요&lt;br /&gt;&lt;br /&gt;요즘 풀템 앱등이마냥 유튜브도 애플전문만 보구있네요 ㅎㅎ&lt;br /&gt;저는 아이폰8인데 아무리 찾아봐도 바탕화면 하단 독바를 안보이게 하는 부분이 없더라구요&lt;br /&gt;그래서 제가 직접 해보기로 했습니다!!!&lt;br /&gt;&lt;br /&gt;순수 100프로 사라지는 것은 아니고 투명도와 대비 등을 사용해서 안보이겠끔 설정을 하는 방법입니다.&lt;br /&gt;&lt;br /&gt;사용해보시고 괜찮으시면 계속 사용해보시구! 별로이시면 ㅎㅎㅎ 알려드리는 방법의 역순으로 하시면 됩니다!&lt;br /&gt;&lt;br /&gt;보시기 편하게 사진을 순차적으로 첨부해드릴께요&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;1268&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zl6x5/btqRwaqX4vv/NkB0r8lhhGJXAZMK2QeeAK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zl6x5/btqRwaqX4vv/NkB0r8lhhGJXAZMK2QeeAK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zl6x5/btqRwaqX4vv/NkB0r8lhhGJXAZMK2QeeAK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fzl6x5%2FbtqRwaqX4vv%2FNkB0r8lhhGJXAZMK2QeeAK%2Fimg.jpg&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;1268&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;1307&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byjZJL/btqRGp8nOj1/Kct3zcG1VoGACxMwE4lEsK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byjZJL/btqRGp8nOj1/Kct3zcG1VoGACxMwE4lEsK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byjZJL/btqRGp8nOj1/Kct3zcG1VoGACxMwE4lEsK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyjZJL%2FbtqRGp8nOj1%2FKct3zcG1VoGACxMwE4lEsK%2Fimg.jpg&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;1307&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;1362&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/O2MEZ/btqRqci3Ycg/jD0eXfBQkMDYB16DNA1Ovk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/O2MEZ/btqRqci3Ycg/jD0eXfBQkMDYB16DNA1Ovk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/O2MEZ/btqRqci3Ycg/jD0eXfBQkMDYB16DNA1Ovk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FO2MEZ%2FbtqRqci3Ycg%2FjD0eXfBQkMDYB16DNA1Ovk%2Fimg.jpg&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;1362&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;1566&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XTwLC/btqRGptMUco/4MmF9RFM8AklMZxraZ7XGK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XTwLC/btqRGptMUco/4MmF9RFM8AklMZxraZ7XGK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XTwLC/btqRGptMUco/4MmF9RFM8AklMZxraZ7XGK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXTwLC%2FbtqRGptMUco%2F4MmF9RFM8AklMZxraZ7XGK%2Fimg.jpg&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;1566&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;1334&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SbBus/btqRt45AUIF/L9O77dtoQYKgwKu2jSM5t0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SbBus/btqRt45AUIF/L9O77dtoQYKgwKu2jSM5t0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SbBus/btqRt45AUIF/L9O77dtoQYKgwKu2jSM5t0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSbBus%2FbtqRt45AUIF%2FL9O77dtoQYKgwKu2jSM5t0%2Fimg.jpg&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;1334&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kYJMu/btqRqRey5Qu/6ri9DxmBYR9hso00ONNpm0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kYJMu/btqRqRey5Qu/6ri9DxmBYR9hso00ONNpm0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kYJMu/btqRqRey5Qu/6ri9DxmBYR9hso00ONNpm0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkYJMu%2FbtqRqRey5Qu%2F6ri9DxmBYR9hso00ONNpm0%2Fimg.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;마지막은 제 폰에 적용시킨 결과입니다!&lt;br /&gt;저는 개인적으로 맘에 들더라구요 ㅎㅎ&lt;br /&gt;다들 남은 2020년 건강하게 잘보내시구! 내년계획도 세우시길 바랄께요~!&lt;br /&gt;미리 해피뉴이어~&lt;/p&gt;</description>
      <category>유용한 정보</category>
      <category>apple</category>
      <category>Tip</category>
      <category>꿀팁</category>
      <category>독바</category>
      <category>배경화면</category>
      <category>아이폰</category>
      <category>애플</category>
      <category>없애기</category>
      <category>팁</category>
      <category>하단</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/25</guid>
      <comments>https://bubble94.tistory.com/entry/1%EB%B6%84%EB%8F%84-%EC%95%88%EA%B1%B8%EB%A6%AC%EB%8A%94-%EC%95%84%EC%9D%B4%ED%8F%B0-%ED%95%98%EB%8B%A8-%EB%8F%85%EB%B0%94-%EC%95%88%EB%B3%B4%EC%9D%B4%EA%B2%8C%EB%81%94-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0#entry25comment</comments>
      <pubDate>Sun, 27 Dec 2020 22:42:53 +0900</pubDate>
    </item>
    <item>
      <title>(1~4일차)Do it! 프로그레시브 웹앱 만들기 책 공부 중(내돈내산)</title>
      <link>https://bubble94.tistory.com/entry/14%EC%9D%BC%EC%B0%A8Do-it-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%A0%88%EC%8B%9C%EB%B8%8C-%EC%9B%B9%EC%95%B1-%EB%A7%8C%EB%93%A4%EA%B8%B0-%EC%B1%85-%EA%B3%B5%EB%B6%80-%EC%A4%91%EB%82%B4%EB%8F%88%EB%82%B4%EC%82%B0</link>
      <description>&lt;p&gt;안녕하세요 성장형개발자입니다!&lt;/p&gt;
&lt;p&gt;코로나, 추위 다들 조심하세요!! 제일 안좋은 시기이네요&lt;/p&gt;
&lt;p&gt;저는 이번 프로젝트를 끝내고 시간적 여유가 있어서 안드로이드 앱을 자발적으로 한번 개발을 해보려고 했습니다&lt;/p&gt;
&lt;p&gt;안드로이드 스튜디오를 통해 공부하다가 웹과 앱이 같은 목적이면 굳이 따로 개발을 해야되나 생각이 많이 들더군요&lt;/p&gt;
&lt;p&gt;그래서 찾아보니! 프로그레시브 웹앱? 하이브리드 형태의 애플리케이션이더군요&lt;/p&gt;
&lt;p&gt;제가 성격이 하나 꽂히면 해야되는 성격이라 전자책으로 바로 사버렸네요&lt;/p&gt;
&lt;p&gt;그리고 찾아보니 이지스퍼블리싱이라는 출판사 사이트에서 자체적으로 공부방 이벤트를 하는데&lt;/p&gt;
&lt;p&gt;공부도 하고 완료를 하면 원하는 .... 책을 받을 수 있다니!!! 이거 완전 선순환인듯합니다!!(협찬, 광고 아니예요!!!)&lt;/p&gt;
&lt;p&gt;책은 아래처럼 생겼습니다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QOjXW/btqQjoZc2PL/IaoCKaFOTAkILKtxAw4So0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QOjXW/btqQjoZc2PL/IaoCKaFOTAkILKtxAw4So0/img.jpg&quot; data-alt=&quot;Do it! 프로그레시브 웹앱 만들기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QOjXW/btqQjoZc2PL/IaoCKaFOTAkILKtxAw4So0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQOjXW%2FbtqQjoZc2PL%2FIaoCKaFOTAkILKtxAw4So0%2Fimg.jpg&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;Do it! 프로그레시브 웹앱 만들기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Do it! 프로그레시브 웹앱 만들기 &lt;/b&gt;저자 김응석 출판 : 이지스퍼블리싱발매 2020.08.06.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uc6zM/btqQjoxZNTq/fqDzsA7an4GA0UlKOP4a11/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uc6zM/btqQjoxZNTq/fqDzsA7an4GA0UlKOP4a11/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uc6zM/btqQjoxZNTq/fqDzsA7an4GA0UlKOP4a11/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fuc6zM%2FbtqQjoxZNTq%2FfqDzsA7an4GA0UlKOP4a11%2Fimg.jpg&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-d42f5de9-8c98-4f0c-b894-7afd0a28e00e&quot;&gt;132p 까지 공부했는데&amp;nbsp;&lt;span&gt;&amp;nbsp;회사에서 쓰는 스크립트와 달리 vue라는 스크립트를 처음접해서 사용해보는데 생각보다 쿨합니다..&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-035ab7f0-93b7-4e21-a812-69d6ea80116b&quot;&gt;&lt;span&gt;고인물이 되기 전에 새로운 기술들을 더더더더더더 공부를 많이해야겠습니다&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-7001cd8b-5415-4873-892f-b642cfe63cc9&quot;&gt;&lt;span&gt;처음 접하시는 분들은 바로 이해하기에는 다소 어려울 수도 있겠다 생각은 들었습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-b37c124e-255f-4eb3-a436-4818fe0d5ac6&quot;&gt;&lt;span&gt;이미 웹에 대한 기반이 있다면 술술 읽히는 책인듯합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-45531211-60d0-457e-b784-131e3108a514&quot;&gt;&lt;span&gt;더 공부해보고 오겠습니다 ^^&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-8b698990-34cc-4c8f-a6a7-196c7d7d30bd&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Book</category>
      <category>it</category>
      <category>Progressive</category>
      <category>PWA</category>
      <category>Web</category>
      <category>개발</category>
      <category>이지스퍼블리싱</category>
      <category>책</category>
      <category>추천</category>
      <category>코딩</category>
      <category>프로그레시브</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/24</guid>
      <comments>https://bubble94.tistory.com/entry/14%EC%9D%BC%EC%B0%A8Do-it-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%A0%88%EC%8B%9C%EB%B8%8C-%EC%9B%B9%EC%95%B1-%EB%A7%8C%EB%93%A4%EA%B8%B0-%EC%B1%85-%EA%B3%B5%EB%B6%80-%EC%A4%91%EB%82%B4%EB%8F%88%EB%82%B4%EC%82%B0#entry24comment</comments>
      <pubDate>Thu, 17 Dec 2020 09:06:48 +0900</pubDate>
    </item>
    <item>
      <title>중소기업을 다니면서 느낀점(혜택)</title>
      <link>https://bubble94.tistory.com/entry/%EC%A4%91%EC%86%8C%EA%B8%B0%EC%97%85%EC%9D%84-%EB%8B%A4%EB%8B%88%EB%A9%B4%EC%84%9C-%EB%8A%90%EB%82%80%EC%A0%90%ED%98%9C%ED%83%9D</link>
      <description>&lt;p&gt;안녕하세요 성장형 개발자입니다. &lt;span style=&quot;color: #333333;&quot;&gt;오랜만입니다 ㅎㅎ&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;오늘은 중소기업을 다님으로써 얻은 느낀점에 대해서 설명을 해보려고 합니다!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;설명을 하는 이유는 주변에 취업준비하는 친구들, 선후배 등 많이 있는데 솔직히 취업은 가능한데 본인들의 눈높이 및 목표 기준이 있더라구요. 그렇게 준비를 몇년하는 사람도 봤구요&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;저는 그 분들과는 조금 다른 생각이였는데 먼저 현업에 들어가 경력을 얻고 추후에 필요에 따라 상위업계를 가는 것으로 루트를 잡았습니다. 제가 생각했을 때 앞으로는 분야에 오래있었던 것 보다는 실력으로 증명이 되는 경우가 될 것 같아서 이렇게 계획을 했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;제가 ROTC로 중위 전역(18년 6월말)하고 6개월 동안 4차산업 국비교육을 받고&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;19년도 1월에 현직장에 입사했으니 벌써 1년 반이 넘었네요(벌써 2년차...또르륵)&lt;/p&gt;
&lt;p&gt;제가 중소기업을 다니면서 받은 혜택이 크게 3가지가 있는데 그것에 대해서 설명을 드릴려고 합니다.(나름 대기업 수준의 정부혜택?)&lt;/p&gt;
&lt;p&gt;1. 중소기업 청년 소득세 감면 90프로&lt;/p&gt;
&lt;p&gt;&amp;nbsp;- 국세청 자료(&lt;a href=&quot;https://www.nts.go.kr/news/news_05.asp?minfoKey=MINF5320080211205338&amp;amp;type=V&amp;amp;mbsinfoKey=MBS20181128143154017&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.nts.go.kr/news/news_05.asp?minfoKey=MINF5320080211205338&amp;amp;type=V&amp;amp;mbsinfoKey=MBS20181128143154017&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;- 무려 5년동안 소득세의 90프로를 감면해준다고 하니 완전 꿀입니다!!! ㅎㅎ 회사에 여쭤보면 무조건 해줍니다!&lt;/p&gt;
&lt;p&gt;2. 내일배움채움공제(2년형, 3년형)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;- 참고 사이트(&lt;a href=&quot;http://www.sbcplan.or.kr/page.do?mCode=B120000000&quot;&gt;http://www.sbcplan.or.kr/page.do?mCode=B120000000&lt;/a&gt;) : 신규입사자, 재직자 모두 가능&lt;/p&gt;
&lt;p&gt;&amp;nbsp;- 입사하자마자 3년 신청했는데 엄청 혜자입니다.&amp;nbsp; 왜냐면 3년동안 월 16만5천원씩 입금하면 총 600만원이 안되는데 실질적으로 받는 돈은 3000만원입니다!!! 꼭 신청하세요(물론 3년동안 이직하시면 안됩니다)&lt;/p&gt;
&lt;p&gt;3. 중소기업 청년 전세자금대출(고정금리 연 1.2%)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;-&amp;nbsp; 중소기업청년전세대출(줄여서 중기청)은 이번에 했습니다. 저는 회사는 분당인데 타지에서 와서 친구의 유무가 중요하더라구요 그래서 서울쪽에 집을 구했습니다. 중기청 100프로를 받았는데 진짜 월세보다 훨씬 무조건 좋습니다! 중소기업 다니시는 분들은 꼭 하시길 바랍니다&lt;/p&gt;
&lt;p&gt;간략하게 설명을 드렸는데 3가지는 실질적으로 겪어보니 매우 좋은 제도입니다. 저처럼 중소기업 다니시는 분들 혹은 입사예정이시라면 꼭 하시라고 추천 드릴께요&lt;/p&gt;
&lt;p&gt;위 3가지 관련해서 궁금하신 점이 있으시면 댓글로 남겨주세요 ㅎㅎ&lt;/p&gt;</description>
      <category>일상</category>
      <category>내일배움채움공제</category>
      <category>내채공</category>
      <category>대출</category>
      <category>소득세</category>
      <category>전세</category>
      <category>전세자금대출</category>
      <category>제태크</category>
      <category>중기청</category>
      <category>중기청 100</category>
      <category>중소기업</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/23</guid>
      <comments>https://bubble94.tistory.com/entry/%EC%A4%91%EC%86%8C%EA%B8%B0%EC%97%85%EC%9D%84-%EB%8B%A4%EB%8B%88%EB%A9%B4%EC%84%9C-%EB%8A%90%EB%82%80%EC%A0%90%ED%98%9C%ED%83%9D#entry23comment</comments>
      <pubDate>Wed, 8 Jul 2020 17:33:50 +0900</pubDate>
    </item>
    <item>
      <title>virtualBox 설치 방법</title>
      <link>https://bubble94.tistory.com/entry/virtualBox-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p&gt;안녕하세요! 성장형 개발자입니다.&lt;/p&gt;
&lt;p&gt;이번 시간에는 가상머신 중 하나인 가상머신(Oracle virtualBox)를 설치해보도록 하겠습니다.&lt;/p&gt;
&lt;p&gt;제가 가상머신을 설치하는 이유는 현재 노트북 운영체제가 windows인데 개인적인 공부를 위해 다른 운영체제(Linux)를 구축하고 싶어서 이번 기회에 가상머신을 설치를 하게 되었습니다.&lt;/p&gt;
&lt;p&gt;추가적으로 생활코딩에서 가상머신을 사용하는 이유가 설명 되어있는데 같이 적어드릴께요!!!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;1. 다른 운영체제를 사용해야 하는 경우(맥OS에서 윈도우, 윈도우에서 리눅스)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;2. 독립된 작업공간이 필요한 경우(바이러스 회피, 백업)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;3. 하나의 머신에서 여러명에게 운영체제 환경을 제공&lt;/p&gt;
&lt;p&gt;그리고 여러 가상머신 중에 virtualBox를 선택한 이유는 오픈소스이고 무료라는 점에서 사용을 하게 되었습니다.&lt;/p&gt;
&lt;p&gt;이제 각설하고 순차적으로 설치하는 방법을 알려드릴께요~ 세세하고 정리했으니까 따라오시기만 하면 됩니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;Untitled.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cWnnTE/btqB1nlgJ2i/BCJ8VkfYHKxXx8jqvEmFVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cWnnTE/btqB1nlgJ2i/BCJ8VkfYHKxXx8jqvEmFVK/img.png&quot; data-alt=&quot;google에서 virtualBox 검색&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cWnnTE/btqB1nlgJ2i/BCJ8VkfYHKxXx8jqvEmFVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcWnnTE%2FbtqB1nlgJ2i%2FBCJ8VkfYHKxXx8jqvEmFVK%2Fimg.png&quot; data-filename=&quot;Untitled.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1040&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;google에서 virtualBox 검색&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;Untitled (1).png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c1PI7a/btqB0futQAM/Dt7iRYDBgQQgPxIAjsTRdK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c1PI7a/btqB0futQAM/Dt7iRYDBgQQgPxIAjsTRdK/img.png&quot; data-alt=&quot;virtualBox Homepage&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c1PI7a/btqB0futQAM/Dt7iRYDBgQQgPxIAjsTRdK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc1PI7a%2FbtqB0futQAM%2FDt7iRYDBgQQgPxIAjsTRdK%2Fimg.png&quot; data-filename=&quot;Untitled (1).png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1040&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;virtualBox Homepage&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;Untitled (2).png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cxA1lH/btqB11owwxD/E0BvkKAUhV0nXiJKbs8Hkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cxA1lH/btqB11owwxD/E0BvkKAUhV0nXiJKbs8Hkk/img.png&quot; data-alt=&quot;본인이 현재 사용하는 운영체제에 맞게 다운로드&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cxA1lH/btqB11owwxD/E0BvkKAUhV0nXiJKbs8Hkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcxA1lH%2FbtqB11owwxD%2FE0BvkKAUhV0nXiJKbs8Hkk%2Fimg.png&quot; data-filename=&quot;Untitled (2).png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1040&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;본인이 현재 사용하는 운영체제에 맞게 다운로드&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;_.png&quot; data-origin-width=&quot;1152&quot; data-origin-height=&quot;759&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bn2E6P/btqB2whwnqQ/5OLNnQclyOO9A5WvfCk1O0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bn2E6P/btqB2whwnqQ/5OLNnQclyOO9A5WvfCk1O0/img.png&quot; data-alt=&quot;다운로드 된 실행프로그램 더블클릭&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bn2E6P/btqB2whwnqQ/5OLNnQclyOO9A5WvfCk1O0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbn2E6P%2FbtqB2whwnqQ%2F5OLNnQclyOO9A5WvfCk1O0%2Fimg.png&quot; data-filename=&quot;_.png&quot; data-origin-width=&quot;1152&quot; data-origin-height=&quot;759&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;다운로드 된 실행프로그램 더블클릭&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;Untitled (3).png&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x1A3z/btqB0fOPTA7/KkkKUkVrHgYpwzyHBZXxP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x1A3z/btqB0fOPTA7/KkkKUkVrHgYpwzyHBZXxP1/img.png&quot; data-alt=&quot;Next 클릭!!!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x1A3z/btqB0fOPTA7/KkkKUkVrHgYpwzyHBZXxP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx1A3z%2FbtqB0fOPTA7%2FKkkKUkVrHgYpwzyHBZXxP1%2Fimg.png&quot; data-filename=&quot;Untitled (3).png&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;Next 클릭!!!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;Untitled (4).png&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DWJvC/btqB1dwrezc/vim1D4OZ4T6dOJASTWczbK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DWJvC/btqB1dwrezc/vim1D4OZ4T6dOJASTWczbK/img.png&quot; data-alt=&quot;Next 클릭!!!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DWJvC/btqB1dwrezc/vim1D4OZ4T6dOJASTWczbK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDWJvC%2FbtqB1dwrezc%2Fvim1D4OZ4T6dOJASTWczbK%2Fimg.png&quot; data-filename=&quot;Untitled (4).png&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;Next 클릭!!!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;Untitled (5).png&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dY8UlP/btqB1bL8cTo/xglqktm8sO3F4lNra1HB21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dY8UlP/btqB1bL8cTo/xglqktm8sO3F4lNra1HB21/img.png&quot; data-alt=&quot;Next 클릭!!!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dY8UlP/btqB1bL8cTo/xglqktm8sO3F4lNra1HB21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdY8UlP%2FbtqB1bL8cTo%2Fxglqktm8sO3F4lNra1HB21%2Fimg.png&quot; data-filename=&quot;Untitled (5).png&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;Next 클릭!!!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;Untitled (6).png&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eDrKSS/btqB10iQOuE/WcwtUoCzq6nAadyd6viWd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eDrKSS/btqB10iQOuE/WcwtUoCzq6nAadyd6viWd1/img.png&quot; data-alt=&quot;Next 클릭!!!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eDrKSS/btqB10iQOuE/WcwtUoCzq6nAadyd6viWd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeDrKSS%2FbtqB10iQOuE%2FWcwtUoCzq6nAadyd6viWd1%2Fimg.png&quot; data-filename=&quot;Untitled (6).png&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;Next 클릭!!!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;Untitled (7).png&quot; data-origin-width=&quot;531&quot; data-origin-height=&quot;244&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TzGnp/btqB1GSsMFd/UazW26KBkL1bZHQY9bkSlk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TzGnp/btqB1GSsMFd/UazW26KBkL1bZHQY9bkSlk/img.png&quot; data-alt=&quot;설치 클릭입니다!!!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TzGnp/btqB1GSsMFd/UazW26KBkL1bZHQY9bkSlk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTzGnp%2FbtqB1GSsMFd%2FUazW26KBkL1bZHQY9bkSlk%2Fimg.png&quot; data-filename=&quot;Untitled (7).png&quot; data-origin-width=&quot;531&quot; data-origin-height=&quot;244&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;설치 클릭입니다!!!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;Untitled (8).png&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/drtIAq/btqB3poGMFa/X5NJ6vScpevPI12Nrh2ep1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/drtIAq/btqB3poGMFa/X5NJ6vScpevPI12Nrh2ep1/img.png&quot; data-alt=&quot;완료!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/drtIAq/btqB3poGMFa/X5NJ6vScpevPI12Nrh2ep1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdrtIAq%2FbtqB3poGMFa%2FX5NJ6vScpevPI12Nrh2ep1%2Fimg.png&quot; data-filename=&quot;Untitled (8).png&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;완료!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;_2.png&quot; data-origin-width=&quot;1152&quot; data-origin-height=&quot;759&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6DC6r/btqB1nS6dps/19r7KIZ2ohCyZ9bGi6uTnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6DC6r/btqB1nS6dps/19r7KIZ2ohCyZ9bGi6uTnk/img.png&quot; data-alt=&quot;완료가 되면 파일을 실행해봅니다!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6DC6r/btqB1nS6dps/19r7KIZ2ohCyZ9bGi6uTnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6DC6r%2FbtqB1nS6dps%2F19r7KIZ2ohCyZ9bGi6uTnk%2Fimg.png&quot; data-filename=&quot;_2.png&quot; data-origin-width=&quot;1152&quot; data-origin-height=&quot;759&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;완료가 되면 파일을 실행해봅니다!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;Untitled (9).png&quot; data-origin-width=&quot;962&quot; data-origin-height=&quot;552&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXRgWb/btqB0fVBipt/o7QHsbuGocVCoh7VVGYbuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXRgWb/btqB0fVBipt/o7QHsbuGocVCoh7VVGYbuk/img.png&quot; data-alt=&quot;설치가 완료가 되었죠?&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXRgWb/btqB0fVBipt/o7QHsbuGocVCoh7VVGYbuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXRgWb%2FbtqB0fVBipt%2Fo7QHsbuGocVCoh7VVGYbuk%2Fimg.png&quot; data-filename=&quot;Untitled (9).png&quot; data-origin-width=&quot;962&quot; data-origin-height=&quot;552&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;설치가 완료가 되었죠?&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;자 위의 사진을 따라하시다 보시면 본인의 컴퓨터에 가상머신이 설치가 되었습니다! 생각보다 어렵지가 않네요 ㅎㅎㅎ 다음에는 가상머신을 설치를 하였으니까 우분투라는 것을 설치를 해보려고 합니다! 그럼 안뇽~&lt;/p&gt;</description>
      <category>개발기록</category>
      <category>linux</category>
      <category>Oracle</category>
      <category>virtualbox</category>
      <category>Windows</category>
      <category>가상</category>
      <category>가상머신</category>
      <category>방법</category>
      <category>설치</category>
      <category>우분투</category>
      <category>프로그램</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/22</guid>
      <comments>https://bubble94.tistory.com/entry/virtualBox-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95#entry22comment</comments>
      <pubDate>Sun, 16 Feb 2020 16:00:54 +0900</pubDate>
    </item>
    <item>
      <title>정보처리기사 합격 후기</title>
      <link>https://bubble94.tistory.com/entry/%EC%A0%95%EB%B3%B4%EC%B2%98%EB%A6%AC%EA%B8%B0%EC%82%AC-%ED%95%A9%EA%B2%A9-%ED%9B%84%EA%B8%B0</link>
      <description>&lt;p&gt;안녕하세요! 성장형개발자입니다! 모두 새해 복 많이 받으세요&lt;/p&gt;
&lt;p&gt;오늘은 2020년 1월 2일! 회사에 들어온지 딱 1년이 되는 날입니다 ㅎㅎㅎ 새로운 마음가짐을 가지기에 좋은 날이죠&lt;/p&gt;
&lt;p&gt;제가 작년 정보처리기사 3회차 실기에 드디어 합격을 했습니다!!! 드디어!!!!&lt;/p&gt;
&lt;p&gt;약 4번의 실기 시험만에 붙은 건데 정말 묵은 때를 벗긴 기분이였습니다.&lt;/p&gt;
&lt;p&gt;점수는 약 75점이였던 것으로 기억이 나네요!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;762&quot; width=&quot;435&quot; height=&quot;442&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VgnUS/btqARYePQM7/WZkUNOKssEfiwuRRuXsWg0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VgnUS/btqARYePQM7/WZkUNOKssEfiwuRRuXsWg0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VgnUS/btqARYePQM7/WZkUNOKssEfiwuRRuXsWg0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVgnUS%2FbtqARYePQM7%2FWZkUNOKssEfiwuRRuXsWg0%2Fimg.jpg&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;762&quot; width=&quot;435&quot; height=&quot;442&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;345&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;1334&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfpAKR/btqARW2nta3/kzyXsI33yBxBlBcczEzafk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfpAKR/btqARW2nta3/kzyXsI33yBxBlBcczEzafk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfpAKR/btqARW2nta3/kzyXsI33yBxBlBcczEzafk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfpAKR%2FbtqARW2nta3%2FkzyXsI33yBxBlBcczEzafk%2Fimg.png&quot; width=&quot;345&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;1334&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;약간의 TMI를 하자면,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;18년 6월에 장교 만기전역을 하고 7월부터 IT 국비지원교육을 받았습니다 그리고 19년 1월2일부터 웹개발자로 출근해서 이제 딱 1년이구요. 아직 모르는 부분도 많고 궁금한 것도 많습니다 ㅎㅎ 저는 비전공자입니다.&lt;/p&gt;
&lt;p&gt;제가 이렇게 말한 이유는 비전공자인 저도 해보니 할 수 있다 였습니다! 그러니 모두들 화이팅하세요 자격증을 취득하니 회사에서 돈도 더 주시네요 ㅎㅎ 단점은 없는 자격증입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;궁금하신 점은 댓글 적어주시면 도와드릴께요&lt;/p&gt;
&lt;p&gt;저의 20년 목표 중 하나는 IT에서 보안이 매우 중요하죠 앞으로는 보안의 시대라고 생각됩니다. 그래서 정보보안기사를 한번 취득해 보려고 합니다!&lt;/p&gt;
&lt;p&gt;공부 방법은 마지막 실기 시험 때 공부방법을 링크 걸어두겠습니다!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://bubble94.tistory.com/19&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://bubble94.tistory.com/19&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1577938319473&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;19년 3회 정보처리기사 실기 후기(가답안 포함)&quot; data-og-description=&quot;안녕하세요~ 성장형개발자입니다 ! 프로젝트가 끝날 무렵에 시험공부 2주 정도 막판 스퍼트하고 이래저래 정신이 없었네요 2020년부터 정보처리기사가 시험이 개편된다고 들어서 이번에 무조건 붙을 각오로 공부를..&quot; data-og-host=&quot;bubble94.tistory.com&quot; data-og-source-url=&quot;https://bubble94.tistory.com/19&quot; data-og-url=&quot;https://bubble94.tistory.com/19&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/fykOp/hyEpxqDyh3/7TolmnXA1rwdXgDIKu7BY1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/ClEG6/hyEprjFf2K/EKi0S2CWvhmccY4SNkrP71/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/Pskpc/hyEppTFH8w/HueB9kd7UiuczlsS2BXrOK/img.jpg?width=264&amp;amp;height=200&amp;amp;face=0_0_264_200&quot;&gt;&lt;a href=&quot;https://bubble94.tistory.com/19&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://bubble94.tistory.com/19&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/fykOp/hyEpxqDyh3/7TolmnXA1rwdXgDIKu7BY1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/ClEG6/hyEprjFf2K/EKi0S2CWvhmccY4SNkrP71/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/Pskpc/hyEppTFH8w/HueB9kd7UiuczlsS2BXrOK/img.jpg?width=264&amp;amp;height=200&amp;amp;face=0_0_264_200');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;19년 3회 정보처리기사 실기 후기(가답안 포함)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;안녕하세요~ 성장형개발자입니다 ! 프로젝트가 끝날 무렵에 시험공부 2주 정도 막판 스퍼트하고 이래저래 정신이 없었네요 2020년부터 정보처리기사가 시험이 개편된다고 들어서 이번에 무조건 붙을 각오로 공부를..&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;bubble94.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;</description>
      <category>정보처리기사</category>
      <category>it</category>
      <category>실기</category>
      <category>정보처리</category>
      <category>정보처리기사</category>
      <category>정처기</category>
      <category>합격</category>
      <category>후기</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/21</guid>
      <comments>https://bubble94.tistory.com/entry/%EC%A0%95%EB%B3%B4%EC%B2%98%EB%A6%AC%EA%B8%B0%EC%82%AC-%ED%95%A9%EA%B2%A9-%ED%9B%84%EA%B8%B0#entry21comment</comments>
      <pubDate>Thu, 2 Jan 2020 13:18:21 +0900</pubDate>
    </item>
    <item>
      <title>왜 돈을 벌고 싶은가?</title>
      <link>https://bubble94.tistory.com/entry/%EC%99%9C-%EB%8F%88%EC%9D%84-%EB%B2%8C%EA%B3%A0-%EC%8B%B6%EC%9D%80%EA%B0%80</link>
      <description>&lt;p&gt;2019년 12월 30일 신년계획을 세웠다.&lt;/p&gt;
&lt;p&gt;음.. 뭐 매년 비슷한 패턴으로 적었다.&lt;/p&gt;
&lt;p&gt;계속 생각하며 정리하다가 오늘 갑자기 내 계획에 대해서 궁금증이 생겼다.&lt;/p&gt;
&lt;p&gt;처음에는 하나의 계획에 왜?이루고싶은거지? 하다가 전체의 계획에 궁금증이 퍼졌다.&lt;/p&gt;
&lt;p&gt;왜 돈을 벌고 싶은가 라는 질문을 나에게 해봤다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;----------------------------------------------------------------&lt;span style=&quot;color: #333333;&quot;&gt;----------------------------------------------------------------&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;- 돈에 대한 스트레스를 받고 싶지 않다. 여러가지의 스트레스 중에서 유독 돈에 대한 스트레스가 나에게 컸다.&lt;/p&gt;
&lt;p&gt;내 기준에는 대한민국이든 어디든 돈으로 못하는 건 없다고 생각한다.&lt;/p&gt;
&lt;p&gt;물론 돈 때문에 직업군인을 전역한 것은 아니지만, 나의 그릇이 군대는 아니였었다.&lt;/p&gt;
&lt;p&gt;전문적인 기술, 나라는 존재를 확실히 표현이 가능한 능력을 원했다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;곰곰히 생각해보니 나는 사랑과 행복이 충분한 우리집을 위해 돈의 행복을 넣고 싶은게 강했다..&lt;/p&gt;
&lt;p&gt;아버지는 사업, 석탄공사, 퇴직 후에는 현재 택시를 하신다. 물론 가정의 유지를 위해 계속 일을 하신다.&lt;/p&gt;
&lt;p&gt;나랑 9살 터울인 형도 박사 논문을 위해 돈이 필요했다. 나는 회사를 다니고 있어서 대출을 도와줬는데 일정 연봉이 되지 않았고, 생활비 측면에서 마이너스가 있어 형을 도와주는 데 어려움이 있었다.&lt;/p&gt;
&lt;p&gt;진짜 스트레스가 엄청 심했다. 도와주고 싶은 마음은 있지만 현실이 답이라는게 몸으로 느껴졌다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그리고 현재 전세에 살고 있다. 옛날식이고 찬바람 들어오고 흔하지 않지만 마당에 세면실, 화장실이 있다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;물론 불만은 없다. 하지만 나는 안주하는 삶이 아닌 더 나은 삶을 위해서 큰 관점에서 돈을 벌고 싶어서 계획에 적었다.&lt;/p&gt;</description>
      <category>일상</category>
      <category>계획</category>
      <category>돈</category>
      <category>신년</category>
      <category>왜?</category>
      <category>일기</category>
      <category>일상</category>
      <category>자기계발</category>
      <category>질문</category>
      <author>성장형_개발자</author>
      <guid isPermaLink="true">https://bubble94.tistory.com/20</guid>
      <comments>https://bubble94.tistory.com/entry/%EC%99%9C-%EB%8F%88%EC%9D%84-%EB%B2%8C%EA%B3%A0-%EC%8B%B6%EC%9D%80%EA%B0%80#entry20comment</comments>
      <pubDate>Thu, 2 Jan 2020 12:56:35 +0900</pubDate>
    </item>
  </channel>
</rss>