<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>데이터시럽</title>
    <link>https://datasirup.tistory.com/</link>
    <description>사회복지사로 3년 간 근무 하고, 개발자로 전향하면서 배웠던 내용을 정리하는 블로그 입니다.</description>
    <language>ko</language>
    <pubDate>Wed, 6 May 2026 15:11:27 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>agingcurve</managingEditor>
    <image>
      <title>데이터시럽</title>
      <url>https://tistory1.daumcdn.net/tistory/5339095/attach/46e91186d58745229b56461a19d144c5</url>
      <link>https://datasirup.tistory.com</link>
    </image>
    <item>
      <title>2025 더 테라스 웨딩 계약 후기｜시설, 가격, 하객 편의까지 모두 만족했던 이유</title>
      <link>https://datasirup.tistory.com/228</link>
      <description>&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;&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음 방문했을 때 가장 인상 깊었던 건 &lt;b&gt;전체적으로 너무 깔끔한 시설&lt;/b&gt;이었어요.&lt;br /&gt;과하지 않으면서도 세련된 분위기라서 사진으로 남겼을 때도 촌스럽지 않을 것 같다는 확신이 들었고, 관리가 정말 잘 되어 있다는 느낌을 받았습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2252&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tiqwI/dJMcagKPR62/uMbfZ7ay3NGctPMTUE7swK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tiqwI/dJMcagKPR62/uMbfZ7ay3NGctPMTUE7swK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tiqwI/dJMcagKPR62/uMbfZ7ay3NGctPMTUE7swK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtiqwI%2FdJMcagKPR62%2FuMbfZ7ay3NGctPMTUE7swK%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;436&quot; height=&quot;774&quot; data-origin-width=&quot;2252&quot; data-origin-height=&quot;4000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;467&quot; data-start=&quot;335&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;695&quot; data-start=&quot;575&quot; data-ke-size=&quot;size16&quot;&gt;웨딩홀을 알아보면서 가장 스트레스 받는 부분이 하객들 주차, 음식, 인데&lt;br /&gt;&lt;b&gt;가격대가 합리적&lt;/b&gt;이었고, 무엇보다도 상담 과정에서 추가 비용이나 옵션에 대해 솔직하고 자세하게 설명해 주셔서 신뢰가 갔어요.&lt;/p&gt;
&lt;p data-end=&quot;775&quot; data-start=&quot;697&quot; data-ke-size=&quot;size16&quot;&gt;막연하게 비싸게 느껴지는 구성이 아니라, &amp;ldquo;이 정도 퀄리티면 충분히 납득 가능하다&amp;rdquo;는 생각이 들었고 그래서 계약까지 자연스럽게 이어졌습니다.&lt;/p&gt;
&lt;p data-end=&quot;775&quot; data-start=&quot;697&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;775&quot; data-start=&quot;697&quot; data-ke-size=&quot;size16&quot;&gt;주차 공간도 여유가 있었고, 예식장 내부 동선도 잘 정리되어 있어서 어르신 하객분들도 불편함 없이 이동하실 수 있을 것 같았어요.&lt;/p&gt;
&lt;p data-end=&quot;775&quot; data-start=&quot;697&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;775&quot; data-start=&quot;697&quot; data-ke-size=&quot;size16&quot;&gt;하객 입장에서 &amp;ldquo;오기 편한 웨딩홀&amp;rdquo;이라는 점이 큰 장점으로 느껴졌습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2252&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/y7tzQ/dJMcagRBfc0/jIPNSGq7KyROaJ8mOOgORK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/y7tzQ/dJMcagRBfc0/jIPNSGq7KyROaJ8mOOgORK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/y7tzQ/dJMcagRBfc0/jIPNSGq7KyROaJ8mOOgORK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fy7tzQ%2FdJMcagRBfc0%2FjIPNSGq7KyROaJ8mOOgORK%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;323&quot; height=&quot;574&quot; data-origin-width=&quot;2252&quot; data-origin-height=&quot;4000&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;2252&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/po8Lc/dJMcaaKChmE/Qu1AmS3SpCkodx7Cnzq951/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/po8Lc/dJMcaaKChmE/Qu1AmS3SpCkodx7Cnzq951/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/po8Lc/dJMcaaKChmE/Qu1AmS3SpCkodx7Cnzq951/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fpo8Lc%2FdJMcaaKChmE%2FQu1AmS3SpCkodx7Cnzq951%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;402&quot; height=&quot;714&quot; data-origin-width=&quot;2252&quot; data-origin-height=&quot;4000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;775&quot; data-start=&quot;697&quot; data-ke-size=&quot;size16&quot;&gt;음식도 &lt;b&gt;전체적으로 깔끔하고 정갈한 스타일&lt;/b&gt;이라 하객분들 만족도가 높을 것 같았어요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2252&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Zrek2/dJMcadAww22/ufp4tU1kkO9RVZdB9osyw1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Zrek2/dJMcadAww22/ufp4tU1kkO9RVZdB9osyw1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Zrek2/dJMcadAww22/ufp4tU1kkO9RVZdB9osyw1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZrek2%2FdJMcadAww22%2Fufp4tU1kkO9RVZdB9osyw1%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;382&quot; height=&quot;679&quot; data-origin-width=&quot;2252&quot; data-origin-height=&quot;4000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;775&quot; data-start=&quot;697&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;775&quot; data-start=&quot;697&quot; 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;2252&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/N30OG/dJMcaaRoiXo/d8FlnYhGQmGoGigAhLre41/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/N30OG/dJMcaaRoiXo/d8FlnYhGQmGoGigAhLre41/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/N30OG/dJMcaaRoiXo/d8FlnYhGQmGoGigAhLre41/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FN30OG%2FdJMcaaRoiXo%2Fd8FlnYhGQmGoGigAhLre41%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;599&quot; height=&quot;1064&quot; data-origin-width=&quot;2252&quot; data-origin-height=&quot;4000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;1271&quot; data-start=&quot;1193&quot; data-ke-size=&quot;size16&quot;&gt;과하게 자극적이지 않고, 플레이팅도 깔끔해서 보기에도 좋았고 연회장 분위기 역시 쾌적해서 식사 시간도 편안하게 즐길 수 있을 것 같았습니다.&lt;/p&gt;
&lt;p data-end=&quot;1271&quot; data-start=&quot;1193&quot; 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;2252&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cIbK7W/dJMcabJxsNZ/P2Oi3CJqyLkBTFbiX0f7f0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cIbK7W/dJMcabJxsNZ/P2Oi3CJqyLkBTFbiX0f7f0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cIbK7W/dJMcabJxsNZ/P2Oi3CJqyLkBTFbiX0f7f0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcIbK7W%2FdJMcabJxsNZ%2FP2Oi3CJqyLkBTFbiX0f7f0%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;2252&quot; height=&quot;4000&quot; data-origin-width=&quot;2252&quot; data-origin-height=&quot;4000&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;366&quot; data-origin-height=&quot;540&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1n9bJ/dJMcagqwX1q/qe7mExv8hNpjryEi7kGkik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1n9bJ/dJMcagqwX1q/qe7mExv8hNpjryEi7kGkik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1n9bJ/dJMcagqwX1q/qe7mExv8hNpjryEi7kGkik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1n9bJ%2FdJMcagqwX1q%2Fqe7mExv8hNpjryEi7kGkik%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;366&quot; height=&quot;540&quot; data-origin-width=&quot;366&quot; data-origin-height=&quot;540&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;1271&quot; data-start=&quot;1193&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;1271&quot; data-start=&quot;1193&quot; data-ke-size=&quot;size16&quot;&gt;조명, 플라워 장식, 버진로드까지 조화가 잘 어우러져서 실제 예식 당일이 더 기대되더라고요.&lt;/p&gt;
&lt;p data-end=&quot;1271&quot; data-start=&quot;1193&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;1271&quot; data-start=&quot;1193&quot; data-ke-size=&quot;size16&quot;&gt;사진으로 남겼을 때도 고급스럽고 깔끔한 느낌이 잘 살아날 것 같아서, 예식을 중요하게 생각하시는 분들께 특히 추천하고 싶습니다.&lt;/p&gt;
&lt;p data-end=&quot;1271&quot; data-start=&quot;1193&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;1271&quot; data-start=&quot;1193&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://map.naver.com/p/entry/place/12077860?c=15.00,0,0,0,dh&amp;amp;placePath=/home?from=map&amp;amp;fromPanelNum=1&amp;amp;additionalHeight=76&amp;amp;timestamp=202512171748&amp;amp;locale=ko&amp;amp;svcName=map_pcv5&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://map.naver.com/p/entry/place/12077860?c=15.00,0,0,0,dh&amp;amp;placePath=/home?from=map&amp;amp;fromPanelNum=1&amp;amp;additionalHeight=76&amp;amp;timestamp=202512171748&amp;amp;locale=ko&amp;amp;svcName=map_pcv5&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1765961318071&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;더테라스 웨딩 &amp;amp; 파티&quot; data-og-host=&quot;map.naver.com&quot; data-og-source-url=&quot;https://map.naver.com/p/entry/place/12077860?c=15.00,0,0,0,dh&amp;amp;placePath=/home?from=map&amp;amp;fromPanelNum=1&amp;amp;additionalHeight=76&amp;amp;timestamp=202512171748&amp;amp;locale=ko&amp;amp;svcName=map_pcv5&quot; data-og-url=&quot;https://map.naver.com/p/entry/place/12077860?additionalHeight=76&amp;amp;c=15.00,0,0,0,dh&amp;amp;fromPanelNum=1&amp;amp;locale=ko&amp;amp;placePath=/home?from=map&amp;amp;svcName=map_pcv5&amp;amp;timestamp=202512171748&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cldzzw/hyZPHSTLAq/Nmk4KkTMmkpqgbXkfVF6d1/img.jpg?width=256&amp;amp;height=256&amp;amp;face=0_0_256_256,https://scrap.kakaocdn.net/dn/cRzHET/hyZPrcCxpc/qy8V7T2HDt2pN1SfAYNQN0/img.jpg?width=256&amp;amp;height=256&amp;amp;face=0_0_256_256&quot;&gt;&lt;a href=&quot;https://map.naver.com/p/entry/place/12077860?c=15.00,0,0,0,dh&amp;amp;placePath=/home?from=map&amp;amp;fromPanelNum=1&amp;amp;additionalHeight=76&amp;amp;timestamp=202512171748&amp;amp;locale=ko&amp;amp;svcName=map_pcv5&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://map.naver.com/p/entry/place/12077860?c=15.00,0,0,0,dh&amp;amp;placePath=/home?from=map&amp;amp;fromPanelNum=1&amp;amp;additionalHeight=76&amp;amp;timestamp=202512171748&amp;amp;locale=ko&amp;amp;svcName=map_pcv5&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cldzzw/hyZPHSTLAq/Nmk4KkTMmkpqgbXkfVF6d1/img.jpg?width=256&amp;amp;height=256&amp;amp;face=0_0_256_256,https://scrap.kakaocdn.net/dn/cRzHET/hyZPrcCxpc/qy8V7T2HDt2pN1SfAYNQN0/img.jpg?width=256&amp;amp;height=256&amp;amp;face=0_0_256_256');&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;더테라스 웨딩 &amp;amp; 파티&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;map.naver.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>agingcurve</author>
      <guid isPermaLink="true">https://datasirup.tistory.com/228</guid>
      <comments>https://datasirup.tistory.com/228#entry228comment</comments>
      <pubDate>Wed, 17 Dec 2025 17:45:52 +0900</pubDate>
    </item>
    <item>
      <title>[OPENAI API] OpenAi API를 무료로 활용하는 방법</title>
      <link>https://datasirup.tistory.com/227</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;랭체인, n8n등을 공부하다가 Api를 활용하는 일이&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;잦아지면서 OpenAi를 결재해서 사용하는 경우가 잦아졌다.&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;그런데 최근, OpenAI가 Chat 모델 Api를 무료로 사용하는 것을 풀어버렸다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하루에 250만 토큰의 제한이 있긴하지만, 분명 충분한 양이라고 생각한다.&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;a href=&quot;https://openai.com/index/openai-api/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://openai.com/index/openai-api/&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;먼저 OpenAi Api를 들어가서 가입을 해준다. 그 다음에&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;SETTINGS -&amp;gt; Data controls -&amp;gt; Share inputs and outputs with OpenAI -&amp;gt; Enabled for all projects&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2750&quot; data-origin-height=&quot;1482&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beUbWl/btsNKdEl1XT/4eRHyuwLDmTkpwWLby6UUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beUbWl/btsNKdEl1XT/4eRHyuwLDmTkpwWLby6UUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beUbWl/btsNKdEl1XT/4eRHyuwLDmTkpwWLby6UUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeUbWl%2FbtsNKdEl1XT%2F4eRHyuwLDmTkpwWLby6UUK%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;2750&quot; height=&quot;1482&quot; data-origin-width=&quot;2750&quot; data-origin-height=&quot;1482&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;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1903&quot; data-origin-height=&quot;622&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/br4bV7/btsNK3OKoss/ElW3VqNC0wRoDlPApop4k1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/br4bV7/btsNK3OKoss/ElW3VqNC0wRoDlPApop4k1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/br4bV7/btsNK3OKoss/ElW3VqNC0wRoDlPApop4k1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbr4bV7%2FbtsNK3OKoss%2FElW3VqNC0wRoDlPApop4k1%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;1903&quot; height=&quot;622&quot; data-origin-width=&quot;1903&quot; data-origin-height=&quot;622&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;span style=&quot;background-color: #202123; color: #acacbe; text-align: start;&quot;&gt;OpenAI와 당신의 입력 및 출력 데이터를 공유하여 모델 개선 및 학습을 포함한 서비스 개발 및 개선에 도움을 주세요. 이 설정을 활성화한 후 전송된 트래픽만 공유됩니다. 언제든지 설정을 변경하여 입력 및 출력 데이터 공유를 비활성화할 수 있습니다.&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;우리가 API를 사용하는 데이터들은 OPENAI가 이를 활용해서 학습에 활용된다고 한다.&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어째든 스터디나 토이 프로젝트와 같이 가볍게 활용하는 경우 훌륭한 선택지 임은 틀림없다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>파이썬 이것저것/파이썬 딥러닝 관련</category>
      <category>gpt api 무료</category>
      <category>gpt 무료</category>
      <category>OpenAI API</category>
      <category>무료 api key</category>
      <author>agingcurve</author>
      <guid isPermaLink="true">https://datasirup.tistory.com/227</guid>
      <comments>https://datasirup.tistory.com/227#entry227comment</comments>
      <pubDate>Sun, 4 May 2025 12:45:51 +0900</pubDate>
    </item>
    <item>
      <title>using문과  IDisposable을 이용한 리소스 해제</title>
      <link>https://datasirup.tistory.com/226</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;c#코드를 보면 심심찮게 using문을 볼 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1744032294814&quot; class=&quot;csharp&quot; data-ke-language=&quot;csharp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;using (var connection = new SqlConnection(connectionString)) {
  ...
}&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;using문을 사용하면 변수의 범위를&amp;nbsp; using 코드 블록으로 지정하여 using 블록을 완료하면 자동으로 폐기한다.&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;이 예에서 SqlConnection 유형의 연결 변수는 using 문의 닫는 대괄호에 도달하면 가비지 수집 준비가 된 것으로 지정된다.&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;C#은 가비지 수집기가 있는 관리형 언어이기 때문에 가비지 수집기가 이를 대신 처리한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, C와 같은 비관리형 언어에서처럼 수동으로 메모리를 할당하고 할당 해제할 필요가 없다.&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;&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;SQL 데이터베이스에 대한 연결이 있다고 가정할 때,&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;lsquo;계속 유지&amp;rsquo;된다면 문제가 될 수 있다.&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;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 메모리 누수를 방지하기 위해 &amp;ldquo;관리되지 않는&amp;rdquo; 리소스를 폐기한다.&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;SQL 데이터베이스에 대한 연결이 있다고 가정할 때.&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;lsquo;계속 유지&amp;rsquo;된다면 문제가 될 수 있다.&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;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 메모리 누수를 방지하기 위해 &amp;ldquo;관리되지 않는&amp;rdquo; 리소스 IDisposable 인터페이스를&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;구현하므로 관리되지 않는 리소스를 해제하려면 Dispose 메서드를 호출한다.&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;try - catch문으로 반환 분기가 여러개이면 어떨까?&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;using문은 이러한 try-finally 코드를 내부적으로 컴파일하여 블록으로 변환해준다.&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;try-finally는 오류 처리를 처리할 때 자주 사용하는 try-catch-finally 구조의 하위 집합이다.&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;코드를 try 코드 블록으로 감싼 다음 catch&amp;nbsp;코드&amp;nbsp;블록으로&amp;nbsp;감싸면&amp;nbsp;예외가&amp;nbsp;발생하면&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드가 크래시되는 대신 catch 코드 블록에서 예외가 잡힌다.&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;마지막으로 catch 코드 블록 끝에 붙어 있는 선택적 코드 블록으로,&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;마지막으로 코드 블록에서 Dispose 메서드를 호출하면 결과나&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;오류 발생 여부에 관계없이 메서드가 실행된 후 항상 Dispose 메서드가 호출되도록 할 수 있다.&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;IDisposable을 구현하는 리소스에서 Dispose를 호출해도 즉시 가비지 컬렉션이 즉시 수행되지는 않는다. 단지 수거해도 안전하다는 플래그를 지정하고 다음 기회에 수거하도록 요청한다. 즉석 가비지 수집이 시작되지는 않지만 가비지 수집기가 결정하도록 하는 대신 리소스가 수집하기에 안전하다고 판단되는 시기를 관리한다.&lt;/p&gt;</description>
      <category>C# 이것저것/C# 기초</category>
      <category>c# using문</category>
      <category>IDisposable</category>
      <category>using문</category>
      <author>agingcurve</author>
      <guid isPermaLink="true">https://datasirup.tistory.com/226</guid>
      <comments>https://datasirup.tistory.com/226#entry226comment</comments>
      <pubDate>Mon, 7 Apr 2025 22:40:36 +0900</pubDate>
    </item>
    <item>
      <title>기초부터 배우는 최신 스토리지 입문 [도서리뷰]</title>
      <link>https://datasirup.tistory.com/225</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;저장과 백업은 너무나도 중요한 부분임에 공감하실 겁니다.&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;&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;lt;기초부터 배우는 최신 스토리지 입문&amp;gt;은 스토리지를 처음&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;배우거나 복습하고 싶은 IT엔지니어들을 대상으로 만들어진 책 입니다.&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;708&quot; data-origin-height=&quot;899&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b5TgCG/btsLiXX7GCw/BjKCUXEHgwLogko6V7Yhq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b5TgCG/btsLiXX7GCw/BjKCUXEHgwLogko6V7Yhq0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b5TgCG/btsLiXX7GCw/BjKCUXEHgwLogko6V7Yhq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5TgCG%2FbtsLiXX7GCw%2FBjKCUXEHgwLogko6V7Yhq0%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;708&quot; height=&quot;899&quot; data-origin-width=&quot;708&quot; data-origin-height=&quot;899&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1133&quot; data-origin-height=&quot;855&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dwRxFM/btsLjJENEdm/PdiKBDhDWkFJtoNzscgiEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dwRxFM/btsLjJENEdm/PdiKBDhDWkFJtoNzscgiEk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dwRxFM/btsLjJENEdm/PdiKBDhDWkFJtoNzscgiEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdwRxFM%2FbtsLjJENEdm%2FPdiKBDhDWkFJtoNzscgiEk%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;625&quot; height=&quot;472&quot; data-origin-width=&quot;1133&quot; data-origin-height=&quot;855&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;931&quot; data-origin-height=&quot;804&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/baaqa8/btsLjc8E7dw/jWlXQJAw06IJIufL8yasn0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/baaqa8/btsLjc8E7dw/jWlXQJAw06IJIufL8yasn0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/baaqa8/btsLjc8E7dw/jWlXQJAw06IJIufL8yasn0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbaaqa8%2FbtsLjc8E7dw%2FjWlXQJAw06IJIufL8yasn0%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;624&quot; height=&quot;539&quot; data-origin-width=&quot;931&quot; data-origin-height=&quot;804&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 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;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; 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;1361&quot; data-origin-height=&quot;1036&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8QERZ/btsLisLecAm/EPdKBPEqw3YvvbEYsnG1n0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8QERZ/btsLisLecAm/EPdKBPEqw3YvvbEYsnG1n0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8QERZ/btsLisLecAm/EPdKBPEqw3YvvbEYsnG1n0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8QERZ%2FbtsLisLecAm%2FEPdKBPEqw3YvvbEYsnG1n0%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;699&quot; height=&quot;532&quot; data-origin-width=&quot;1361&quot; data-origin-height=&quot;1036&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;IT엔지니어로서 인프라에 대한 지식의 한단계 성장을 바라신다면&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;lt;기초부터 배우는 최신 스토리지 입문&amp;gt;을 적극 추천드리고 싶습니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>기초부터 배우는 최신 스토리지 입문</category>
      <category>도서리뷰</category>
      <category>제이펍</category>
      <author>agingcurve</author>
      <guid isPermaLink="true">https://datasirup.tistory.com/225</guid>
      <comments>https://datasirup.tistory.com/225#entry225comment</comments>
      <pubDate>Sat, 14 Dec 2024 20:21:47 +0900</pubDate>
    </item>
    <item>
      <title>[Linux]장치 이름 고정하기</title>
      <link>https://datasirup.tistory.com/224</link>
      <description>&lt;p id=&quot;SE-c61f9e5a-d6eb-4398-a18d-b0cd477f8897&quot; style=&quot;background-color: #ffffff; color: #7b6d6d; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;리눅스에서 포트에 USB로 장치를 연결하면 &lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;ttyUSB0&lt;/span&gt;&amp;nbsp;과 같이 이름이 할당된다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-4818b096-c5ee-4f94-a719-39444971f221&quot; style=&quot;background-color: #ffffff; color: #7b6d6d; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;한 개의 장치만 연결한다면 크게 문제가 되지 않지만, 여러 개의 장치를 연결할 경우 연결된 순서대로&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-7d7afae0-7fe8-4cea-b4b2-23e36f333ffc&quot; style=&quot;background-color: #ffffff; color: #7b6d6d; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;ttyUSB0&lt;/span&gt; , &lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;ttyUSB1&lt;/span&gt; , &lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;ttyUSB2&lt;/span&gt; ...와 같이 이름이 부여된다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;351&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dFsOVN/btsKocU3eZG/uLMSVYl5zsbQM6ZofrN3jK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dFsOVN/btsKocU3eZG/uLMSVYl5zsbQM6ZofrN3jK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dFsOVN/btsKocU3eZG/uLMSVYl5zsbQM6ZofrN3jK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdFsOVN%2FbtsKocU3eZG%2FuLMSVYl5zsbQM6ZofrN3jK%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;690&quot; height=&quot;351&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;351&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;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 고유 시리얼 이름 알아보기&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;해당 명령어에서 ${device}에 인식하고자 하는 이름을 써주면 된다. ex) ttyUSB0, ttyUSB1 등&lt;/p&gt;
&lt;pre class=&quot;bash&quot; style=&quot;background-color: #f6f8fa; color: #1f2328; text-align: start;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;udevadm info --attribute-walk --name=/dev/${device} | grep '{serial}' | head -n1&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;내가 원하는 serial의 고유 번호를 알 수 있다.&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;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt; &lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;2. UDEV rules 설정&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;장치를 인식할 rule을 설정해 줘야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;rules.d 폴더에서 99가 붙은 rules파일을 하나 만들어 준다. 이쪽 폴더는 반드시 root 권한이 있어야 되기 때문에 sudo를 붙여서 작성해준다.&lt;/p&gt;
&lt;pre id=&quot;code_1730165168003&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cd /etc/udev/rules.d
sudo gedit 99-usb-serial.rules&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;{serial}에는 위에서 찾은 serial 번호를, {serial_name}에는 내가 지정하고 싶은 이름을 지정해 준다.&lt;/p&gt;
&lt;pre id=&quot;code_1730165274022&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SUBSYSTEM==&quot;tty&quot;, ATTRS{idVendor}==&quot;0403&quot;, ATTRS{idProduct}==&quot;6001&quot;, ATTRS{serial}==&quot;{serial}&quot;, SYMLINK+=&quot;{serial_name}&quot;&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;/p&gt;
&lt;pre class=&quot;ada&quot; style=&quot;background-color: #f6f8fa; color: #1f2328; text-align: start;&quot;&gt;&lt;code&gt;sudo reboot or sudo udevadm control --reload&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>관련 이것저것/Linux</category>
      <category>serial 고정이름</category>
      <category>serial 통신</category>
      <category>리눅스</category>
      <author>agingcurve</author>
      <guid isPermaLink="true">https://datasirup.tistory.com/224</guid>
      <comments>https://datasirup.tistory.com/224#entry224comment</comments>
      <pubDate>Tue, 29 Oct 2024 10:31:11 +0900</pubDate>
    </item>
    <item>
      <title>비전공자를 위한 AWS - 클라우드 입문부터 자격증 취득까지 쉽게 배우는 AWS &amp;lt;도서리뷰&amp;gt;</title>
      <link>https://datasirup.tistory.com/223</link>
      <description>&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;최근 대부분의 IT 프로젝트 들에서 서비스 기반 프로젝트들을 보면,&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;IT서비스를 하는 스타트업 부터 카카오, 네이버 등 대규모 IT 서비스 회사까지&amp;nbsp;&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;웹 개발, DBA, AI 엔지니어 등, 많은 개발자들이 클라우드를 공부하고 있습니다.&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;기존 IT업계에 몸담고 있는 사람들도 쉽게 적응하기 어렵습니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;하지만, 클라우드 서비스를 제대로 이해하고, 다양한 서비스를 잘 조합할 수 있어야&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;lt;비전공자를 위한 AWS&amp;gt;는 AWS를 활용하여 어려운 클라우드 용어와&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;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;클라우드를 제공하는 여러 회사가 있지만 AWS는 오랜시간 동안 서비스를 지속해온&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;노하우와 기술 등을 가지며, 클라우드 업계의 1위를 차지하고 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;AWS의 여러 클라우드 서비스를 제대로 이해하고 있다면&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;GCP나 Azure 같은 타 클라우드 업체의 서비스를&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; 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;585&quot; data-origin-height=&quot;794&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c210mj/btsKkq8d0EK/b0JyRYkwZwAZdUp1hWtxo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c210mj/btsKkq8d0EK/b0JyRYkwZwAZdUp1hWtxo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c210mj/btsKkq8d0EK/b0JyRYkwZwAZdUp1hWtxo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc210mj%2FbtsKkq8d0EK%2Fb0JyRYkwZwAZdUp1hWtxo0%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;397&quot; height=&quot;539&quot; data-origin-width=&quot;585&quot; data-origin-height=&quot;794&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&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;/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;&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;582&quot; data-origin-height=&quot;659&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tnXyv/btsKlV6Y4td/xomKDb3ib262RUYYSDbvY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tnXyv/btsKlV6Y4td/xomKDb3ib262RUYYSDbvY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tnXyv/btsKlV6Y4td/xomKDb3ib262RUYYSDbvY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtnXyv%2FbtsKlV6Y4td%2FxomKDb3ib262RUYYSDbvY1%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;439&quot; height=&quot;497&quot; data-origin-width=&quot;582&quot; data-origin-height=&quot;659&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;AWS Certified Cloud Practitioner 자격증을 위한 가이드 또한 제공합니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;AWS 자격증은 몇년 내에 서비스 IT회사들에서 필수 자격증으로 많이 주목받고 있습니다.&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;958&quot; data-origin-height=&quot;1632&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kOxuW/btsKkpnViM4/kkKhfXK3GedgofQtT36Rh0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kOxuW/btsKkpnViM4/kkKhfXK3GedgofQtT36Rh0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kOxuW/btsKkpnViM4/kkKhfXK3GedgofQtT36Rh0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkOxuW%2FbtsKkpnViM4%2FkkKhfXK3GedgofQtT36Rh0%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;440&quot; height=&quot;750&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;958&quot; data-origin-height=&quot;1632&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;AWS의 익숙치 않은 용어 예를 들면, 리전, ELB, EC2, 인스턴스, AMI 등등&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;따라하는데 어려움 없이 AWS 인프라 구성을 실습해 볼 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>관련 이것저것/IT Book 리뷰</category>
      <category>AWS</category>
      <category>aws 자격증</category>
      <category>비전공자 클라우드</category>
      <category>제이펍</category>
      <category>클라우드</category>
      <author>agingcurve</author>
      <guid isPermaLink="true">https://datasirup.tistory.com/223</guid>
      <comments>https://datasirup.tistory.com/223#entry223comment</comments>
      <pubDate>Sat, 26 Oct 2024 15:40:20 +0900</pubDate>
    </item>
    <item>
      <title>FastAPI로 배우는 백엔드 프로그래밍 with 클린 아키텍처[도서리뷰]</title>
      <link>https://datasirup.tistory.com/222</link>
      <description>&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;FastAPI는 파이썬 백엔드 프레임워크로 플라스크와&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;특히, API를 작성하는데 굉장히 쉽고 탄탄하게&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; 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;KakaoTalk_20241026_124415035.jpg&quot; data-origin-width=&quot;2252&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvrvB0/btsKlYvO6Qe/TrM2k9XcVkPnncNrF6OYQK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvrvB0/btsKlYvO6Qe/TrM2k9XcVkPnncNrF6OYQK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvrvB0/btsKlYvO6Qe/TrM2k9XcVkPnncNrF6OYQK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvrvB0%2FbtsKlYvO6Qe%2FTrM2k9XcVkPnncNrF6OYQK%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;382&quot; height=&quot;679&quot; data-filename=&quot;KakaoTalk_20241026_124415035.jpg&quot; data-origin-width=&quot;2252&quot; data-origin-height=&quot;4000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #555555; text-align: start;&quot;&gt;'&lt;/span&gt;&lt;b&gt;추상화 개념'(Abstraction principle)&lt;/b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #555555; text-align: start;&quot;&gt;으로써&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;관심사를 분리시키고 의존도를 낮추는 것에 목적을 둔 아키텍처&lt;/b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #555555; text-align: start;&quot;&gt;입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #555555; text-align: start;&quot;&gt;좀 더 쉽게 말하면 각 기능 별로 의존도를 낮추고 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #555555; text-align: start;&quot;&gt;서로에게 미치는 영향을 감소시킴으로써 유지보수를&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #555555; text-align: start;&quot;&gt; 더욱 쉽게 만들어주는데 그 목적이 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #555555; text-align: start;&quot;&gt;개발을 하다보면, 처음 코드를 작성할 때에는 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #555555; text-align: start;&quot;&gt;이에 대해 크게 와닿지 않는 고려사항입니다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #555555; text-align: start;&quot;&gt;하지만 기능이 점차 추가되고, 프로그램이 복잡해 질수록 와닿게 되는 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #555555; text-align: start;&quot;&gt;개념이 유지보수성이라고 생각됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;FastAPI로 배우는 백엔드 프로그래밍 with 클린 아키텍처&amp;gt;&lt;/b&gt;는&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;FastApi를 통해 어떻게 유지보수성이&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; 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 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;충분히 책에 대한 내용을 이해할 수 있도록 구성되어 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;책 도입부에서 Fastapi의 여러 장점을 보며 특히 &lt;b&gt;실행속도&lt;/b&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;Node.js와 Go 와 &lt;b&gt;비견될만한 속도&lt;/b&gt;라는게 눈에 띄었습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1689&quot; data-origin-height=&quot;3000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xB9Ec/btsKkZ3wkeB/lvkrL4Kovc1zV5EopieTYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xB9Ec/btsKkZ3wkeB/lvkrL4Kovc1zV5EopieTYK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xB9Ec/btsKkZ3wkeB/lvkrL4Kovc1zV5EopieTYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxB9Ec%2FbtsKkZ3wkeB%2FlvkrL4Kovc1zV5EopieTYK%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;299&quot; height=&quot;3000&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1689&quot; data-origin-height=&quot;3000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1689&quot; data-origin-height=&quot;3000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cEliIr/btsKj36K7Qo/TEHKiL2UPVmJL7CAFPFoN1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cEliIr/btsKj36K7Qo/TEHKiL2UPVmJL7CAFPFoN1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cEliIr/btsKj36K7Qo/TEHKiL2UPVmJL7CAFPFoN1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEliIr%2FbtsKj36K7Qo%2FTEHKiL2UPVmJL7CAFPFoN1%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;327&quot; height=&quot;581&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1689&quot; data-origin-height=&quot;3000&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 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;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/dextto/fastapi-ca/tree/main&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://github.com/dextto/fastapi-ca/tree/main&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1729915190322&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;GitHub - dextto/fastapi-ca&quot; data-og-description=&quot;Contribute to dextto/fastapi-ca development by creating an account on GitHub.&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/dextto/fastapi-ca/tree/main&quot; data-og-url=&quot;https://github.com/dextto/fastapi-ca&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bWwDYB/hyXlNbK0jR/Ht3g6Bxqgy6SBkkNdStpV0/img.png?width=1200&amp;amp;height=600&amp;amp;face=969_146_1021_204,https://scrap.kakaocdn.net/dn/bz0KJq/hyXpCfhqTG/Y7bPBJtGLp2KclkRIxDS7K/img.png?width=1200&amp;amp;height=600&amp;amp;face=969_146_1021_204&quot;&gt;&lt;a href=&quot;https://github.com/dextto/fastapi-ca/tree/main&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/dextto/fastapi-ca/tree/main&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bWwDYB/hyXlNbK0jR/Ht3g6Bxqgy6SBkkNdStpV0/img.png?width=1200&amp;amp;height=600&amp;amp;face=969_146_1021_204,https://scrap.kakaocdn.net/dn/bz0KJq/hyXpCfhqTG/Y7bPBJtGLp2KclkRIxDS7K/img.png?width=1200&amp;amp;height=600&amp;amp;face=969_146_1021_204');&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;GitHub - dextto/fastapi-ca&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Contribute to dextto/fastapi-ca development by creating an account on GitHub.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.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 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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1689&quot; data-origin-height=&quot;3000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cattEa/btsKjY5FSc8/kn4jfqzZ3LXqE6hDZgePD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cattEa/btsKjY5FSc8/kn4jfqzZ3LXqE6hDZgePD1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cattEa/btsKjY5FSc8/kn4jfqzZ3LXqE6hDZgePD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcattEa%2FbtsKjY5FSc8%2Fkn4jfqzZ3LXqE6hDZgePD1%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;325&quot; height=&quot;577&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1689&quot; data-origin-height=&quot;3000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;자료구조와 알고리즘에서 다루었던 여러 알고리즘을&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;실제 프로그램에서는 어떻게 다룰 수 있을지에도&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; 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;2252&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vvD19/btsKlaKvSYq/pz5z2RxO31cubvtFkS1oxK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vvD19/btsKlaKvSYq/pz5z2RxO31cubvtFkS1oxK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vvD19/btsKlaKvSYq/pz5z2RxO31cubvtFkS1oxK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvvD19%2FbtsKlaKvSYq%2Fpz5z2RxO31cubvtFkS1oxK%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;445&quot; height=&quot;790&quot; data-origin-width=&quot;2252&quot; data-origin-height=&quot;4000&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 style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;백엔드 프로그래밍의 꽃인 비동기 프로그래밍에 대해서&amp;nbsp;&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;이를 통해 고성능 fastapi를 구현해 볼 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;초급이상의 파이썬 백엔드 개발자이라면,&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;이책을 통해 좀 더 깊이있는 파이썬과 Fastapi를 배울 수 있고&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;</description>
      <category>관련 이것저것/IT Book 리뷰</category>
      <author>agingcurve</author>
      <guid isPermaLink="true">https://datasirup.tistory.com/222</guid>
      <comments>https://datasirup.tistory.com/222#entry222comment</comments>
      <pubDate>Sat, 26 Oct 2024 13:06:21 +0900</pubDate>
    </item>
    <item>
      <title>소프트웨어 개발에 ChatGPT 사용하기 - 제이펍 [도서리뷰]</title>
      <link>https://datasirup.tistory.com/221</link>
      <description>&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;AI 시대가 오면 더이상 개발자는 필요 없게 된다.&quot;&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;하지만 LLM 모델을 자주 사용해본 사람들이라면&amp;nbsp;&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;그렇다면 AI모델을 서포터의 역할로 대하며, 개발에 도움을 받는것은&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; 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;2252&quot; data-origin-height=&quot;3044&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cipxSC/btsJDEZ5QhC/gL40OFRteJRTBv1FUThBIk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cipxSC/btsJDEZ5QhC/gL40OFRteJRTBv1FUThBIk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cipxSC/btsJDEZ5QhC/gL40OFRteJRTBv1FUThBIk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcipxSC%2FbtsJDEZ5QhC%2FgL40OFRteJRTBv1FUThBIk%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;521&quot; height=&quot;704&quot; data-origin-width=&quot;2252&quot; data-origin-height=&quot;3044&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;그렇다면 소프트웨어를 개발하는 개발자들이&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;b&gt;&amp;lt;소프트웨어 개발에 ChatGPT 사용하기&amp;gt;&lt;/b&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;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;이 책은 현재 나온 AI모델 중 가장 인기가 많은 ChatGpt를 통해&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;저자가 생각하는 효과적으로 ChatGPT를 쓰는 첫걸음은 다음과 같습니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;알고는 있지만 찾아보기에는 귀찮을 것과 이해는 하지만 잘하지 못하는 것을 ChatGPT에 맡긴다&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;ChatGPT에게 대답을 얻을 수 있고,&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;오류를 범하지 않도록 하는지 가이드를 제시해 줍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1689&quot; data-origin-height=&quot;2364&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b10nbm/btsJCXlTGRC/Z1SuDUPpktmQYViEz6AfRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b10nbm/btsJCXlTGRC/Z1SuDUPpktmQYViEz6AfRk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b10nbm/btsJCXlTGRC/Z1SuDUPpktmQYViEz6AfRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb10nbm%2FbtsJCXlTGRC%2FZ1SuDUPpktmQYViEz6AfRk%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;338&quot; height=&quot;473&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1689&quot; data-origin-height=&quot;2364&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 style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ChatGpt를 잘 쓰는 법 뿐 아니라,&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ChatGpt의 구조가 되는 트렌스포머 아키텍처에&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;대한 설명도 덧 붙여서 기본적인 LLM 구조에 대한 이해도 돕습니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1689&quot; data-origin-height=&quot;3000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wN1ap/btsJERqxfzt/1My2d4Ife03PK2gqsuKVQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wN1ap/btsJERqxfzt/1My2d4Ife03PK2gqsuKVQk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wN1ap/btsJERqxfzt/1My2d4Ife03PK2gqsuKVQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwN1ap%2FbtsJERqxfzt%2F1My2d4Ife03PK2gqsuKVQk%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;320&quot; height=&quot;568&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1689&quot; data-origin-height=&quot;3000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;알고리즘에 약한 개발자들도 ChatGpt를 통해&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1689&quot; data-origin-height=&quot;3000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhbAve/btsJDoJ9PLQ/FQHAKupyKglqJ2qeM5smPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhbAve/btsJDoJ9PLQ/FQHAKupyKglqJ2qeM5smPK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhbAve/btsJDoJ9PLQ/FQHAKupyKglqJ2qeM5smPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhbAve%2FbtsJDoJ9PLQ%2FFQHAKupyKglqJ2qeM5smPK%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;307&quot; height=&quot;545&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1689&quot; data-origin-height=&quot;3000&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 style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ChatGpt에게 질의하는 방식은 여러가지 인데요,&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1689&quot; data-origin-height=&quot;3000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XAKmo/btsJDG4LX1S/y4wmz5rj8bqqfUT1eD2FOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XAKmo/btsJDG4LX1S/y4wmz5rj8bqqfUT1eD2FOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XAKmo/btsJDG4LX1S/y4wmz5rj8bqqfUT1eD2FOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXAKmo%2FbtsJDG4LX1S%2Fy4wmz5rj8bqqfUT1eD2FOK%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;348&quot; height=&quot;618&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1689&quot; data-origin-height=&quot;3000&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 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;ChatGpt를 어떻게 사용하는지 예제 등을 잘 보여주고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;이뿐 아니라 Chatgpt의 API를 사용해서 개발에 적용하는 방법과&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;LangChain을 통해 여러 LLM을 운영하는 방법 등에 대해서&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; 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 style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;이책의 가장 큰 장점은 여러 ChatGpt에 대한 책이 있지만, 그중에서도&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;앞으로는 ChatGpt과 같은 LLM 모델을 잘 사용할 수 있는 능력이 경쟁력이&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;&amp;nbsp;&lt;/p&gt;</description>
      <category>관련 이것저것/IT Book 리뷰</category>
      <category>ChatGPT</category>
      <category>chatGPT API</category>
      <category>chatgpt 개발</category>
      <category>LLM</category>
      <category>OpenAI</category>
      <category>도서리뷰</category>
      <category>소프트웨어 개발에 chatgpt 사용하기</category>
      <category>제이펍</category>
      <category>파이썬</category>
      <author>agingcurve</author>
      <guid isPermaLink="true">https://datasirup.tistory.com/221</guid>
      <comments>https://datasirup.tistory.com/221#entry221comment</comments>
      <pubDate>Sun, 15 Sep 2024 13:07:51 +0900</pubDate>
    </item>
    <item>
      <title>JAX/Flax로 딥러닝 레벨업 - 제이펍 [도서리뷰]</title>
      <link>https://datasirup.tistory.com/220</link>
      <description>&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;최신 LLM 모델들을 공부하시다 보면&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;JAX, Flax 라이브러리를 많이 들어보셨을 거라 생각합니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;JAX와 Flax는 아직 딥러닝 모델 시장에서 활성화 되지는 않았지만,&amp;nbsp;&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;JAX와 Flax는 각각 2018년, 2020년에 구글리서치에서 개발하여 사용하고 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2252&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBRPD3/btsJDQy87W7/VhJ3kOY8LgRGLRkPGx7htK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBRPD3/btsJDQy87W7/VhJ3kOY8LgRGLRkPGx7htK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBRPD3/btsJDQy87W7/VhJ3kOY8LgRGLRkPGx7htK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBRPD3%2FbtsJDQy87W7%2FVhJ3kOY8LgRGLRkPGx7htK%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;481&quot; height=&quot;854&quot; data-origin-width=&quot;2252&quot; data-origin-height=&quot;4000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;지은이들은 모두의 연구소 'JAX/ Flax LAB'로 구성된 멤버분들이라고 합니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;모두의 연구소는 여러 LAB을 운영하면서,&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;AI에 관한 여러 LAB을 운영하는 걸로 유명한데요,&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;현업자들과 연구자분들이 뭉쳐서 책을 지으셨다고 합니다.&amp;nbsp;&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;기억이 있어서 JAX/ Flax LAB분들이 반가웠습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;553&quot; data-origin-height=&quot;836&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LID8D/btsJDr7AxTa/FlEj7VB9oywgNyXO4YGbI0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LID8D/btsJDr7AxTa/FlEj7VB9oywgNyXO4YGbI0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LID8D/btsJDr7AxTa/FlEj7VB9oywgNyXO4YGbI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLID8D%2FbtsJDr7AxTa%2FFlEj7VB9oywgNyXO4YGbI0%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;392&quot; height=&quot;593&quot; data-origin-width=&quot;553&quot; data-origin-height=&quot;836&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 style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;그렇다면 어떤 장점이 있길래, JAX/Flax를 앞세워 사용하고 있을까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;XLA (Accelerated Linear Algebra): &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;고급 컴파일러로, 텐서 연산을 최적화하여 다양한 하드웨어에서 효율적으로 실행할 수 있게 합니다. XLA는 Google이 개발한 고급 컴파일러로, 텐서 연산을 위한 최적화된 코드를 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 최적화 된 커널은 파이토치의 동적 그래프 방식보다 훨씬 빠른 속도로 추론과 학습이 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 컴파일러를 통해 XLA는 CPU, GPU, TPU 등 다양한 하드웨어에서 실행 가능한 코드를 생성을 최적화해 하드웨어 연산을 크게 올립니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;JIT 컴파일 :&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데코레이터를 적용한 함수는 호출 시 XLA를 통해 최적화된 기계 코드로 컴파일됩니다. 이 과정에서 불필요한 연산이 제거되고, 연산 그래프가 단순화되어 실행 속도가 향상됩니다. 기본 파이썬의 경우, JIT을 지원하지 않기 때문에 복잡한 문제를 해결 시, 고성능의 작업을 수행하기 어렵지만, JAX에는 이것을 지원하여 빠른속도로 수행할 수 있도록 해주고 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;473&quot; data-origin-height=&quot;665&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cYmu2n/btsJDIH2OjR/k0Qj5Byu0D0wOjrOP1EOVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cYmu2n/btsJDIH2OjR/k0Qj5Byu0D0wOjrOP1EOVK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cYmu2n/btsJDIH2OjR/k0Qj5Byu0D0wOjrOP1EOVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcYmu2n%2FbtsJDIH2OjR%2Fk0Qj5Byu0D0wOjrOP1EOVK%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;473&quot; height=&quot;665&quot; data-origin-width=&quot;473&quot; data-origin-height=&quot;665&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 style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;Wishper 모델을 보면, 성능표를 보면 추론에 있어서&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;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;HuggingFace에서도 Flax community week를 만들어서 변환하고 있으며,&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;Google Research에서 나온 대부분의 논문 구현은 Flax로 구현되어 있습니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;지속적인 발전을 이루고 있는, Jax 및 Flax는 충분히 매력있고,&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;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; 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;548&quot; data-origin-height=&quot;787&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/peUvl/btsJCH4zdjU/skxi9avyq9sxAPhryz6xo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/peUvl/btsJCH4zdjU/skxi9avyq9sxAPhryz6xo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/peUvl/btsJCH4zdjU/skxi9avyq9sxAPhryz6xo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpeUvl%2FbtsJCH4zdjU%2Fskxi9avyq9sxAPhryz6xo0%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;548&quot; height=&quot;787&quot; data-origin-width=&quot;548&quot; data-origin-height=&quot;787&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1460&quot; data-origin-height=&quot;2390&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOI1U1/btsJDEFEDLV/CNCF2chRxISHqDyxQXsJ51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOI1U1/btsJDEFEDLV/CNCF2chRxISHqDyxQXsJ51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOI1U1/btsJDEFEDLV/CNCF2chRxISHqDyxQXsJ51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOI1U1%2FbtsJDEFEDLV%2FCNCF2chRxISHqDyxQXsJ51%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;494&quot; height=&quot;809&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1460&quot; data-origin-height=&quot;2390&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 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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;728&quot; data-origin-height=&quot;1073&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uUksG/btsJDzqTdp2/PSY9fEO6s93xBUEMFJU4p1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uUksG/btsJDzqTdp2/PSY9fEO6s93xBUEMFJU4p1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uUksG/btsJDzqTdp2/PSY9fEO6s93xBUEMFJU4p1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuUksG%2FbtsJDzqTdp2%2FPSY9fEO6s93xBUEMFJU4p1%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;472&quot; height=&quot;696&quot; data-origin-width=&quot;728&quot; data-origin-height=&quot;1073&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;딥러닝 기초적인 모델 뿐 아니라, 최신 CLIP모델 까지&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;JAX/Flax로 다루는 방법에 대해 설명하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/JAX-KR/jax-flax-book&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://github.com/JAX-KR/jax-flax-book&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1726369109352&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;GitHub - JAX-KR/jax-flax-book&quot; data-og-description=&quot;Contribute to JAX-KR/jax-flax-book development by creating an account on GitHub.&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/JAX-KR/jax-flax-book&quot; data-og-url=&quot;https://github.com/JAX-KR/jax-flax-book&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/n6twe/hyW2VNTVrq/WxQdlrUJSUVSSFw35DlzV1/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/JAX-KR/jax-flax-book&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/JAX-KR/jax-flax-book&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/n6twe/hyW2VNTVrq/WxQdlrUJSUVSSFw35DlzV1/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&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;GitHub - JAX-KR/jax-flax-book&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Contribute to JAX-KR/jax-flax-book development by creating an account on GitHub.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.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 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;&amp;nbsp;&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;a href=&quot;https://github.com/JAX-KR/jax-flax-book/blob/main/requirements.txt&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://github.com/JAX-KR/jax-flax-book/blob/main/requirements.txt&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1726369159735&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;jax-flax-book/requirements.txt at main &amp;middot; JAX-KR/jax-flax-book&quot; data-og-description=&quot;Contribute to JAX-KR/jax-flax-book development by creating an account on GitHub.&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/JAX-KR/jax-flax-book/blob/main/requirements.txt&quot; data-og-url=&quot;https://github.com/JAX-KR/jax-flax-book/blob/main/requirements.txt&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bOENpU/hyW2SjkN2c/r2UPKGo9DI5gVK5p9Ajkd1/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/JAX-KR/jax-flax-book/blob/main/requirements.txt&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/JAX-KR/jax-flax-book/blob/main/requirements.txt&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bOENpU/hyW2SjkN2c/r2UPKGo9DI5gVK5p9Ajkd1/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&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;jax-flax-book/requirements.txt at main &amp;middot; JAX-KR/jax-flax-book&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Contribute to JAX-KR/jax-flax-book development by creating an account on GitHub.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.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 style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;실습에 필요한 라이브러리를 필수적으로 설치해 주셔야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1726369208579&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;jax==0.4.26
flax==0.8.4
optax== 0.2.2
datasets
transformers
tokenizers&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;바뀔수 있으니 꼭 깃허브 requirements를 참조하시기 바랍니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1773&quot; data-origin-height=&quot;1318&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b87LJd/btsJCYylsEN/oT5Ado82fNMyzBVKNBKePk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b87LJd/btsJCYylsEN/oT5Ado82fNMyzBVKNBKePk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b87LJd/btsJCYylsEN/oT5Ado82fNMyzBVKNBKePk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb87LJd%2FbtsJCYylsEN%2FoT5Ado82fNMyzBVKNBKePk%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;1773&quot; height=&quot;1318&quot; data-origin-width=&quot;1773&quot; data-origin-height=&quot;1318&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 style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;JAX/Flax로 딥러닝 레벨업으로&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;&amp;nbsp;&lt;/p&gt;</description>
      <category>관련 이것저것/IT Book 리뷰</category>
      <category>flax</category>
      <category>Jax</category>
      <category>numpy</category>
      <category>고속연산</category>
      <category>구글 리서치</category>
      <category>딥러닝</category>
      <category>딥러닝 최적화</category>
      <category>제이펍</category>
      <category>파이썬</category>
      <author>agingcurve</author>
      <guid isPermaLink="true">https://datasirup.tistory.com/220</guid>
      <comments>https://datasirup.tistory.com/220#entry220comment</comments>
      <pubDate>Sun, 15 Sep 2024 11:51:06 +0900</pubDate>
    </item>
    <item>
      <title>기본기가 탄탄한 자바 개발자(제 2판) - 제이펍 [도서리뷰]</title>
      <link>https://datasirup.tistory.com/219</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;할 정도로 java가 많이 쓰입니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;이유는 &lt;a href=&quot;https://www.egovframe.go.kr/home/main.do&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;전자정부프레임워크&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1725071572438&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;표준프레임워크 포털 eGovFrame&quot; data-og-description=&quot;본문 내용 바로가기 대메뉴 바로가기 소개 구성 구성상세 버전별 구성 오픈소스 SW 현황 아키텍쳐 라이선스 적용사례 추진성과 기술지원내역 컨트리뷰션 센터소개 지원서비스 적용지원 서비스 &quot; data-og-host=&quot;www.egovframe.go.kr&quot; data-og-source-url=&quot;https://www.egovframe.go.kr/home/main.do&quot; data-og-url=&quot;https://www.egovframe.go.kr/home/main.do&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.egovframe.go.kr/home/main.do&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.egovframe.go.kr/home/main.do&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&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;표준프레임워크 포털 eGovFrame&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;본문 내용 바로가기 대메뉴 바로가기 소개 구성 구성상세 버전별 구성 오픈소스 SW 현황 아키텍쳐 라이선스 적용사례 추진성과 기술지원내역 컨트리뷰션 센터소개 지원서비스 적용지원 서비스&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.egovframe.go.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;에서 정부&amp;nbsp;및&amp;nbsp;공공기관,&amp;nbsp;공기업&amp;nbsp;등의&amp;nbsp;웹사이트에&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;자주&amp;nbsp;쓰이는&amp;nbsp;공통&amp;nbsp;기능들을&amp;nbsp;Java의&amp;nbsp;Spring&amp;nbsp;프레임워크와&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;유명&amp;nbsp;Java&amp;nbsp;라이브러리(MyBatis,&amp;nbsp;Jackson,&amp;nbsp;Apache&amp;nbsp;Commons&amp;nbsp;등)를&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;가지고 미리 만들어 놓은 가이드를 통해 웹&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;(개발자로 취업을 하고 싶다면 java와&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;javascript를 공부하라고 많이 하죠ㅠ)&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;niniz&quot; data-emoticon-name=&quot;034&quot; data-emoticon-isanimation=&quot;false&quot; data-emoticon-src=&quot;https://t1.daumcdn.net/keditor/emoticon/niniz/large/034.gif&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/keditor/emoticon/niniz/large/034.gif&quot; width=&quot;150&quot; /&gt;&lt;/figure&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;하지만, 정작 java에 대한 깊은 이해를 갖고&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;b&gt;기본기가 탄탄한 자바 개발자(2판)&lt;/b&gt;은 java를 시작하거나,&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;이미 java로 실무를 다루는 개발자들에게 큰 성장의&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; 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;blob&quot; data-origin-width=&quot;1020&quot; data-origin-height=&quot;1582&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cNMXLd/btsJnMJTh6C/ReJgdGFSgudMZ2xMxsYcak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cNMXLd/btsJnMJTh6C/ReJgdGFSgudMZ2xMxsYcak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cNMXLd/btsJnMJTh6C/ReJgdGFSgudMZ2xMxsYcak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcNMXLd%2FbtsJnMJTh6C%2FReJgdGFSgudMZ2xMxsYcak%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;329&quot; height=&quot;510&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1020&quot; data-origin-height=&quot;1582&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;저자는 향후 10년을 책임질 자바 개발자로&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;최신 소프트웨어에 익숙해지도록 한다고 하였습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1018&quot; data-origin-height=&quot;1575&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biPivL/btsJmeA2z0P/5x1vOivZWq1KBDHHVZZeB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biPivL/btsJmeA2z0P/5x1vOivZWq1KBDHHVZZeB0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biPivL/btsJmeA2z0P/5x1vOivZWq1KBDHHVZZeB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiPivL%2FbtsJmeA2z0P%2F5x1vOivZWq1KBDHHVZZeB0%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;408&quot; height=&quot;631&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1018&quot; data-origin-height=&quot;1575&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 style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;책의 분량 또한 엄청난데, 약 780페이지로 이루어진 책입니다.&amp;nbsp;&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2252&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZZu5D/btsJntRkPRH/rPIFfZ6P4L2QDa8Io1LMNk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZZu5D/btsJntRkPRH/rPIFfZ6P4L2QDa8Io1LMNk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZZu5D/btsJntRkPRH/rPIFfZ6P4L2QDa8Io1LMNk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZZu5D%2FbtsJntRkPRH%2FrPIFfZ6P4L2QDa8Io1LMNk%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;327&quot; height=&quot;581&quot; data-origin-width=&quot;2252&quot; data-origin-height=&quot;4000&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 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;어떤 의미를 담고 있는지 등 알아볼 수 있도록&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; 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;blob&quot; data-origin-width=&quot;1689&quot; data-origin-height=&quot;3000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8jaAc/btsJmnLjlYV/9UCLdkhD4hECldHjCVRyZk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8jaAc/btsJmnLjlYV/9UCLdkhD4hECldHjCVRyZk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8jaAc/btsJmnLjlYV/9UCLdkhD4hECldHjCVRyZk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8jaAc%2FbtsJmnLjlYV%2F9UCLdkhD4hECldHjCVRyZk%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;345&quot; height=&quot;613&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1689&quot; data-origin-height=&quot;3000&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 style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;java의 꽃이라고 할 수 있는 동시성에&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;java 개발자가 된다면 반드시&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;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;002&quot; data-emoticon-isanimation=&quot;false&quot; data-emoticon-src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/002.gif&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/002.gif&quot; width=&quot;150&quot; /&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;AI를 이용하면 쉽게 코드를 작성할 수 있는 시대인 요즘,&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;개발자들에게 더욱 중요한 건 기본인거 같습니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;코드를 작성해주는건 AI이지만,&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;AI에게 명령을 내리고 이것을 이용하고,&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;만약 AI가 실수를 했다면 바로잡을 수 있는건 사람뿐이니까요.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;JAVA의 기본에 대해 탄탄한 실력을 기를 수 있는책&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;기본기가 탄탄한 자바 개발자(제 2판)&amp;gt;&lt;/b&gt; 이였습니다.&lt;/p&gt;</description>
      <category>관련 이것저것/IT Book 리뷰</category>
      <category>AI 시대</category>
      <category>java</category>
      <category>java 책 추천</category>
      <category>개발자</category>
      <category>기본기가 탄탄한 자바 개발자</category>
      <category>제이펍</category>
      <author>agingcurve</author>
      <guid isPermaLink="true">https://datasirup.tistory.com/219</guid>
      <comments>https://datasirup.tistory.com/219#entry219comment</comments>
      <pubDate>Sat, 31 Aug 2024 14:22:21 +0900</pubDate>
    </item>
  </channel>
</rss>