<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>emmaiswatson Developer</title>
    <link>https://emmadeveloper.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Wed, 15 Jul 2026 21:46:16 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>emmaiswatson</managingEditor>
    <item>
      <title>현직자|전공자가 코드잇 185강이나 수강한 후기</title>
      <link>https://emmadeveloper.tistory.com/42</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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;578&quot; data-origin-height=&quot;313&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bb65gI/btsHMMZYmYO/5Mvtqlliwf4LTL9Un7Jk71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bb65gI/btsHMMZYmYO/5Mvtqlliwf4LTL9Un7Jk71/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bb65gI/btsHMMZYmYO/5Mvtqlliwf4LTL9Un7Jk71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbb65gI%2FbtsHMMZYmYO%2F5Mvtqlliwf4LTL9Un7Jk71%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;578&quot; height=&quot;313&quot; data-origin-width=&quot;578&quot; data-origin-height=&quot;313&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;요즘 숏폼이 유행하고, 집중력이 떨어지는 게 느껴져서 주의하고 있는데, 코드잇 강의는 길이가 2-5분정도로 짧게 구성된다. 강의를 하나 수강하려면 마음먹기까지 오래 걸릴 때가 있는데, 이런거 없이 하나라도 더듣자라는 마인드로 일단 강의 페이지를 켜게 된다. 완강을 잘 못하는 성겨긴데, 벌써 185강이나 들었다는 게 나도 신기할 정도다.&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1236&quot; data-origin-height=&quot;318&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cDNV65/btsHLWCeXv5/Q47K7KFc342nyupfkfG2j0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cDNV65/btsHLWCeXv5/Q47K7KFc342nyupfkfG2j0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cDNV65/btsHLWCeXv5/Q47K7KFc342nyupfkfG2j0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDNV65%2FbtsHLWCeXv5%2FQ47K7KFc342nyupfkfG2j0%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;1236&quot; height=&quot;318&quot; data-origin-width=&quot;1236&quot; data-origin-height=&quot;318&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;&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;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1475&quot; data-origin-height=&quot;738&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SDN7G/btsHNTw5a2A/Yh5smQkKKqBdjWkCd2DmMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SDN7G/btsHNTw5a2A/Yh5smQkKKqBdjWkCd2DmMK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SDN7G/btsHNTw5a2A/Yh5smQkKKqBdjWkCd2DmMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSDN7G%2FbtsHNTw5a2A%2FYh5smQkKKqBdjWkCd2DmMK%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;1475&quot; height=&quot;738&quot; data-origin-width=&quot;1475&quot; data-origin-height=&quot;738&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬 실력이 녹슬지 않게 하기 위해서 쉬엄쉬엄 들어주고 있다. 다 수료하고 나면 수료증도 받을 수 있어서 뿌듯해지는 용도로 활용할 수 있을 것 같다. 알고리즘과 DBMS도 계속 공부하는 중이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1803&quot; data-origin-height=&quot;758&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HARmK/btsHNbSIcgc/dx4W87tjiG9MDvap50kZ6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HARmK/btsHNbSIcgc/dx4W87tjiG9MDvap50kZ6K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HARmK/btsHNbSIcgc/dx4W87tjiG9MDvap50kZ6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHARmK%2FbtsHNbSIcgc%2Fdx4W87tjiG9MDvap50kZ6K%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;1803&quot; height=&quot;758&quot; data-origin-width=&quot;1803&quot; data-origin-height=&quot;758&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;이런 점 덕분에 내 컴퓨터가 아닌 다른 PC에서도 부담없이 강의를 연속적으로 들을 수 있다.&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;지금까지 짧은 강의들이었지만 코드잇으로 185강을 들으면서, 잊었던 감도 되살리고, 시들시들해지는 코딩에 대한 재미도 되살리는 데에 많이 도움이 된 것 같다.&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;&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming Language/Python</category>
      <category>수강후기</category>
      <category>코드잇</category>
      <category>코딩강의</category>
      <category>파이썬</category>
      <author>emmaiswatson</author>
      <guid isPermaLink="true">https://emmadeveloper.tistory.com/42</guid>
      <comments>https://emmadeveloper.tistory.com/42#entry42comment</comments>
      <pubDate>Mon, 3 Jun 2024 19:25:55 +0900</pubDate>
    </item>
    <item>
      <title>[Anaconda] 현재 environment 정보 저장하기 (requirements.txt 만들기)</title>
      <link>https://emmadeveloper.tistory.com/41</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Anaconda prompt에서 cd 명령어를 사용해 requirements.txt가 저장되길 원하는 폴더로 이동한다.&lt;/p&gt;
&lt;pre id=&quot;code_1681866570040&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cd 경로&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저장하기 원하는 환경을 실행한다.&lt;/p&gt;
&lt;pre id=&quot;code_1681866586450&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;conda activate 환경이름&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 환경을 txt 파일로 저장한다. 이때, txt 파일 이름을 원하는대로 설정할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1681866603982&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;conda list --export &amp;gt; requirements.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 디렉토리에 requirements.txt 파일이 저장된 것을 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;155&quot; data-origin-height=&quot;244&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dxaLEt/btsa5UCvYAM/7Csky8Rt03l25D35YB4xn1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dxaLEt/btsa5UCvYAM/7Csky8Rt03l25D35YB4xn1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dxaLEt/btsa5UCvYAM/7Csky8Rt03l25D35YB4xn1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdxaLEt%2Fbtsa5UCvYAM%2F7Csky8Rt03l25D35YB4xn1%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;155&quot; height=&quot;244&quot; data-origin-width=&quot;155&quot; data-origin-height=&quot;244&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 지우고 재설치하기 위해 여러 환경에 대해 requirements.txt를 추출해서 파일이 많이 생겼다.&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming Language/Python</category>
      <category>anaconda</category>
      <category>conda list</category>
      <category>Environment</category>
      <category>Jupyter Notebook</category>
      <category>JupyterLab</category>
      <category>pip freeze</category>
      <category>Python</category>
      <category>아나콘다</category>
      <category>파이썬</category>
      <category>환경</category>
      <author>emmaiswatson</author>
      <guid isPermaLink="true">https://emmadeveloper.tistory.com/41</guid>
      <comments>https://emmadeveloper.tistory.com/41#entry41comment</comments>
      <pubDate>Wed, 19 Apr 2023 18:42:34 +0900</pubDate>
    </item>
    <item>
      <title>[jupyterlab] git 설치하기 (간단한 방법)</title>
      <link>https://emmadeveloper.tistory.com/40</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;jupyterlab 실행 후, 터미널에서 해당 명령어 입력하면 설치가 완료됨&lt;/p&gt;
&lt;pre id=&quot;code_1681808920537&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;conda install -c conda-forge jupyterlab-git&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치 후 jupyterlab 재실행 필요없이 새로고침만 하면 상단과 좌측에 git 메뉴와 아이콘이 생성된 것을 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense responsive&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;반응형&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-7308317913720265&quot; data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&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_1681809548669&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;conda remove jupyterlab-git&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;118&quot; data-origin-height=&quot;106&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgn2vY/btsa6Hh6BkH/raIOygvMyQdEkyi1ey1njk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgn2vY/btsa6Hh6BkH/raIOygvMyQdEkyi1ey1njk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgn2vY/btsa6Hh6BkH/raIOygvMyQdEkyi1ey1njk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbgn2vY%2Fbtsa6Hh6BkH%2FraIOygvMyQdEkyi1ey1njk%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;118&quot; height=&quot;106&quot; data-origin-width=&quot;118&quot; data-origin-height=&quot;106&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Programming Language/Python</category>
      <category>anaconda</category>
      <category>conda install</category>
      <category>Git</category>
      <category>GitHub</category>
      <category>gitlab</category>
      <category>gitstudio</category>
      <category>jupyter lab</category>
      <category>JupyterLab</category>
      <author>emmaiswatson</author>
      <guid isPermaLink="true">https://emmadeveloper.tistory.com/40</guid>
      <comments>https://emmadeveloper.tistory.com/40#entry40comment</comments>
      <pubDate>Tue, 18 Apr 2023 19:00:10 +0900</pubDate>
    </item>
    <item>
      <title>[Python] 리스트 중복 제거</title>
      <link>https://emmadeveloper.tistory.com/39</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1. 가장 간단한 코드는 set(집합)의 성질을 이용하는 것이다. 집합은 반복되는 원소를 동시에 여러 개 가질 수 없다. 리스트를 집합으로 바꾸고, 다시 리스트로 바꿔주어 중복을 제거할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1681718772589&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;my_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(set(my_list))
print(unique_list)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense responsive&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;반응형&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-7308317913720265&quot; data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 두번째 방법은 직관적으로 이해하기 쉬운 방법이다. 새로운 리스트를 만들어 원소를 하나씩 옮겨가면서 이미 있는 원소이면 추가하지 않는 방법이다.&lt;/p&gt;
&lt;pre id=&quot;code_1681718789523&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;original_list = [1, 2, 2, 3, 4, 4, 5]
new_list = []

for i in original_list:
    if i not in new_list:
        new_list.append(i)

print(new_list)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;413&quot; data-origin-height=&quot;108&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3wUwA/btsaSkHeAS9/tk2mOcfTgKSB5AlcdkeHM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3wUwA/btsaSkHeAS9/tk2mOcfTgKSB5AlcdkeHM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3wUwA/btsaSkHeAS9/tk2mOcfTgKSB5AlcdkeHM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3wUwA%2FbtsaSkHeAS9%2Ftk2mOcfTgKSB5AlcdkeHM1%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;413&quot; height=&quot;108&quot; data-origin-width=&quot;413&quot; data-origin-height=&quot;108&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Programming Language/Python</category>
      <category>list</category>
      <category>Python</category>
      <category>중복</category>
      <category>중복 제거</category>
      <author>emmaiswatson</author>
      <guid isPermaLink="true">https://emmadeveloper.tistory.com/39</guid>
      <comments>https://emmadeveloper.tistory.com/39#entry39comment</comments>
      <pubDate>Mon, 17 Apr 2023 19:07:58 +0900</pubDate>
    </item>
    <item>
      <title>[Python] 리스트 내용 오름차순, 내림차순 정렬하기</title>
      <link>https://emmadeveloper.tistory.com/38</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;오름차순 정렬 코드 (12345)&lt;/p&gt;
&lt;pre id=&quot;code_1681710020641&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#오름차순 정렬

my_list = ['banana', 'apple', 'orange', 'pear']
sorted_list = sorted(my_list)
print(sorted_list)

#결과
#['apple', 'banana', 'orange', 'pear']&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense responsive&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;반응형&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-7308317913720265&quot; data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내림차순 정렬 코드 (54321)&lt;/p&gt;
&lt;pre id=&quot;code_1681710054272&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#내림차순 정렬

my_list = ['banana', 'apple', 'orange', 'pear']
sorted_list = sorted(my_list, reverse=True)
print(sorted_list)

#결과
#['pear', 'orange', 'banana', 'apple']&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;543&quot; data-origin-height=&quot;111&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgJT1h/btsala0Vljg/osotALE507eGdkfGHyIGek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgJT1h/btsala0Vljg/osotALE507eGdkfGHyIGek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgJT1h/btsala0Vljg/osotALE507eGdkfGHyIGek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgJT1h%2Fbtsala0Vljg%2FosotALE507eGdkfGHyIGek%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;543&quot; height=&quot;111&quot; data-origin-width=&quot;543&quot; data-origin-height=&quot;111&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Programming Language/Python</category>
      <category>Python</category>
      <category>내림차순 정렬</category>
      <category>리스트 정렬</category>
      <category>오름차순 정렬</category>
      <category>정렬</category>
      <category>파이썬</category>
      <author>emmaiswatson</author>
      <guid isPermaLink="true">https://emmadeveloper.tistory.com/38</guid>
      <comments>https://emmadeveloper.tistory.com/38#entry38comment</comments>
      <pubDate>Mon, 17 Apr 2023 19:03:03 +0900</pubDate>
    </item>
    <item>
      <title>[Python] 리스트 A에서 다른 리스트 B의 항목 제거하기</title>
      <link>https://emmadeveloper.tistory.com/37</link>
      <description>&lt;pre id=&quot;code_1681708486731&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#list A에서 list B의 항목 제거
#list B의 원소들은 b

for b in B:
    if b in A:
        A.remove(b)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;228&quot; data-origin-height=&quot;97&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cmaqTp/btsar4Z2oZb/vKCjJJjKn7a8N4gXvDJquK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cmaqTp/btsar4Z2oZb/vKCjJJjKn7a8N4gXvDJquK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cmaqTp/btsar4Z2oZb/vKCjJJjKn7a8N4gXvDJquK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcmaqTp%2Fbtsar4Z2oZb%2FvKCjJJjKn7a8N4gXvDJquK%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;228&quot; height=&quot;97&quot; data-origin-width=&quot;228&quot; data-origin-height=&quot;97&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;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense responsive&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;반응형&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-7308317913720265&quot; data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming Language/Python</category>
      <category>Python</category>
      <category>리스트</category>
      <category>알고리즘</category>
      <category>코딩</category>
      <category>파이썬</category>
      <category>항목</category>
      <author>emmaiswatson</author>
      <guid isPermaLink="true">https://emmadeveloper.tistory.com/37</guid>
      <comments>https://emmadeveloper.tistory.com/37#entry37comment</comments>
      <pubDate>Mon, 17 Apr 2023 19:00:05 +0900</pubDate>
    </item>
    <item>
      <title>keras, tensorflow에서 항상 같은 결과를 얻는 방법</title>
      <link>https://emmadeveloper.tistory.com/36</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;그러다 os.environ으로 고정시키는 방법을 발견했다. 이제는 각 epoch마다 나오는 accuracy 결과도 다 같다. 완전히 고정이 됨을 확인하였다.&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;한 코드로 모델을 여러개 만든다면, 각 모델을 돌릴 때마다 실행되도록 for문 안에 set_seed()를 사용해주어야 공정하게 평가할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1672982538570&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import numpy as np
import tensorflow as tf
import random

#같은 결과가 계속 나오게 하기 위한 set_seed 함수.
#이는 각 모델이 만들어지는 for문 안에서 각각 실행해야 함.

def set_seed(seed=14):
    np.random.seed(seed)
    tf.random.set_seed(seed)
    random.seed(seed)
    os.environ['TF_DETERMINISTIC_OPS'] = &quot;1&quot;
    os.environ['TF_CUDNN_DETERMINISM'] = &quot;1&quot;
    os.environ['PYTHONHASHSEED'] = str(seed)&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글이 도움이 되었다면 &amp;hearts; 클릭 부탁드립니다~&lt;/p&gt;</description>
      <category>Deep Learning</category>
      <category>keras</category>
      <category>reproducible</category>
      <category>same result</category>
      <category>seed 고정</category>
      <category>TensorFlow</category>
      <category>같은 결과</category>
      <category>시드 고정</category>
      <category>재현</category>
      <category>케라스</category>
      <category>텐서플로우</category>
      <author>emmaiswatson</author>
      <guid isPermaLink="true">https://emmadeveloper.tistory.com/36</guid>
      <comments>https://emmadeveloper.tistory.com/36#entry36comment</comments>
      <pubDate>Fri, 6 Jan 2023 14:24:19 +0900</pubDate>
    </item>
    <item>
      <title>[워드] 표 안의 내용만 삭제하기</title>
      <link>https://emmadeveloper.tistory.com/35</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;내용을 삭제할 곳을 블록 선택한 후 &quot;Delete&quot; 키&lt;/b&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;그 전에 내용만 삭제하려고 Backspace키 눌렀다가 표의 행, 열이 삭제되는 게 나와서 당황했다. 이젠 좀 익숙해져서 다행이다.&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>MS word</category>
      <category>Word</category>
      <category>내용만 삭제</category>
      <category>셀 내용 삭제</category>
      <category>셀 내용 지우기</category>
      <category>워드</category>
      <category>표 내용 삭제</category>
      <author>emmaiswatson</author>
      <guid isPermaLink="true">https://emmadeveloper.tistory.com/35</guid>
      <comments>https://emmadeveloper.tistory.com/35#entry35comment</comments>
      <pubDate>Fri, 25 Nov 2022 12:10:04 +0900</pubDate>
    </item>
    <item>
      <title>[딥러닝] train/test/val 폴더 코드 한 줄로 나누기</title>
      <link>https://emmadeveloper.tistory.com/34</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;원하는 비율만 지정해주면 데이터셋을 train, test, val 폴더로 자동으로 나누어주는 라이브러리가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바로, splitfolders인데, 먼저 설치는 콘솔에 이렇게 입력하면 된다.&lt;/p&gt;
&lt;pre id=&quot;code_1653370794463&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install split-folders&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;이후, 라이브러리를 import하고, 원하는 비율로 나누어주면 디렉토리 생성 끝!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8:1:1로 나누어 보겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;input 폴더 아래에는 레이블 이름으로 폴더들이 있고, 그 하위에 데이터들이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;output 폴더는 미리 만들어주지 않고 경로만 지정해도 이 코드에서 자동으로 생성해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;seed는 원하는 값으로 지정하면 된다.&lt;/p&gt;
&lt;pre id=&quot;code_1653370875639&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import splitfolders
splitfolders.ratio(&quot;D:/DATA/input/&quot;, output=&quot;D:/DATA/input/split/&quot;, seed=1234, ratio=(0.8,0.1,0.1))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 하면 split 폴더가 생성되고, 그 아래에 train, val, test 폴더가, 그리고 그 아래에 레이블명으로 폴더가 있는 것이 확인될 것이다.&lt;/p&gt;</description>
      <category>Deep Learning</category>
      <category>Fold</category>
      <category>TEST</category>
      <category>train</category>
      <category>val</category>
      <category>데이터</category>
      <category>데이터 전처리</category>
      <category>딥러닝</category>
      <category>테스트</category>
      <category>테스트셋 분리</category>
      <category>폴더 나누기</category>
      <author>emmaiswatson</author>
      <guid isPermaLink="true">https://emmadeveloper.tistory.com/34</guid>
      <comments>https://emmadeveloper.tistory.com/34#entry34comment</comments>
      <pubDate>Tue, 24 May 2022 14:45:09 +0900</pubDate>
    </item>
    <item>
      <title>[파이썬] 이미지 크기, 비율 바꾸기</title>
      <link>https://emmadeveloper.tistory.com/33</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1167&quot; data-origin-height=&quot;665&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pFQvE/btrCBqgOYyi/KPgzULTwL0ZZgXk75Kv5UK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pFQvE/btrCBqgOYyi/KPgzULTwL0ZZgXk75Kv5UK/img.png&quot; data-alt=&quot;이미지 비율 변경 전과 후&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pFQvE/btrCBqgOYyi/KPgzULTwL0ZZgXk75Kv5UK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpFQvE%2FbtrCBqgOYyi%2FKPgzULTwL0ZZgXk75Kv5UK%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;1167&quot; height=&quot;665&quot; data-origin-width=&quot;1167&quot; data-origin-height=&quot;665&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;&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬으로 300*300 픽셀의 이미지를 150*300 픽셀로 줄여볼게요.&lt;/p&gt;
&lt;pre id=&quot;code_1652942487946&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import matplotlib.pyplot as plt
from PIL import Image
import numpy as np

img_path = '이미지경로/파일이름.jpg'

img = Image.open(img_path)
imgnp = np.array(img)
plt.imshow(imgnp, aspect='auto') #aspect='auto'로 지정하면 이미지가 지정된 크기에 맞게 늘어남
#interpolation 방식은 여러가지 지정 가능 (참고: https://matplotlib.org/stable/gallery/images_contours_and_fields/interpolation_methods.html)


fig = plt.gcf() #최근 이미지를 가져옴 (get the current figure)
plt.axis('off'), plt.xticks([]), plt.yticks([]) #축, 눈금 등을 없애줌.
plt.tight_layout() #여백 제거
plt.subplots_adjust(left=0, bottom=0, right=1, top=1, hspace=0, wspace=0) #(참고: https://matplotlib.org/3.5.0/api/_as_gen/matplotlib.pyplot.subplots_adjust.html)

fig.set_size_inches(1.5,3) #150*300픽셀로 전환하기 위해 1.5,3인치로 지정
fig.savefig('temp.jpg',dpi=100) #인치당 100픽셀이 차지하도록 dpi 설정, 이미지 저장&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;짠 &lt;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;interpolation 설정에 따라 이미지 결과물이 달라지게 되는데, 여러 옵션을 줘보세요. (링크는 코드 안에 있음)&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>Programming Language/Python</category>
      <category>matplotlib</category>
      <category>Python</category>
      <category>이미지 비율</category>
      <category>이미지 크기</category>
      <category>파이썬</category>
      <category>파이썬 이미지</category>
      <category>파이썬 코드</category>
      <author>emmaiswatson</author>
      <guid isPermaLink="true">https://emmadeveloper.tistory.com/33</guid>
      <comments>https://emmadeveloper.tistory.com/33#entry33comment</comments>
      <pubDate>Thu, 19 May 2022 15:44:54 +0900</pubDate>
    </item>
  </channel>
</rss>