<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>웹개발자의 기지개</title>
    <link>https://wonpaper.tistory.com/</link>
    <description>ASP.Net Core, ASP.Net(WebForm, MVC), Classic ASP,PHP,JSP, Django, Flask, Vue, Svelte, 안드로이드,Swift 등 웹앱개발자입니다.
이것저것 배우는걸 좋아합니다.
http://portfolio.wonpaper.net</description>
    <language>ko</language>
    <pubDate>Thu, 20 Aug 2026 10:32:41 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>웹개발자 워니</managingEditor>
    <image>
      <title>웹개발자의 기지개</title>
      <url>https://tistory1.daumcdn.net/tistory/2982160/attach/ed1cfe463584426fb44d9f9f53c53d20</url>
      <link>https://wonpaper.tistory.com</link>
    </image>
    <item>
      <title>[vscode] 인공지능 연동 플러그인 - Continue (with local Ollama)</title>
      <link>https://wonpaper.tistory.com/1129</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;vscode 상으로 로컬에서 설치되거나 AI 연결을 할 수 있고, 채팅도 할 수 있는 플로그인 툴이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ollama 플러그인 하면 터미널창에서 바로 Ollama 명령어를 입력할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ollama1.png&quot; data-origin-width=&quot;1783&quot; data-origin-height=&quot;729&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b4YUmd/dJMcagGIByG/9kS0LHTOEU4rQ6Vd9fEeU1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b4YUmd/dJMcagGIByG/9kS0LHTOEU4rQ6Vd9fEeU1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b4YUmd/dJMcagGIByG/9kS0LHTOEU4rQ6Vd9fEeU1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb4YUmd%2FdJMcagGIByG%2F9kS0LHTOEU4rQ6Vd9fEeU1%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;1783&quot; height=&quot;729&quot; data-filename=&quot;ollama1.png&quot; data-origin-width=&quot;1783&quot; data-origin-height=&quot;729&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Continue - AI 어시스턴스 툴&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;continue1.png&quot; data-origin-width=&quot;1819&quot; data-origin-height=&quot;714&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KBNjf/dJMcadXr97u/m5M4wsTO6rU9lEYVo5l7p0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KBNjf/dJMcadXr97u/m5M4wsTO6rU9lEYVo5l7p0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KBNjf/dJMcadXr97u/m5M4wsTO6rU9lEYVo5l7p0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKBNjf%2FdJMcadXr97u%2Fm5M4wsTO6rU9lEYVo5l7p0%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;1819&quot; height=&quot;714&quot; data-filename=&quot;continue1.png&quot; data-origin-width=&quot;1819&quot; data-origin-height=&quot;714&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-filename=&quot;continue2.png&quot; data-origin-width=&quot;1186&quot; data-origin-height=&quot;791&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A6tAP/dJMcagzQyv1/Fk0pauHcKPfaTPVok4Kqkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A6tAP/dJMcagzQyv1/Fk0pauHcKPfaTPVok4Kqkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A6tAP/dJMcagzQyv1/Fk0pauHcKPfaTPVok4Kqkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA6tAP%2FdJMcagzQyv1%2FFk0pauHcKPfaTPVok4Kqkk%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;1186&quot; height=&quot;791&quot; data-filename=&quot;continue2.png&quot; data-origin-width=&quot;1186&quot; data-origin-height=&quot;791&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;a href=&quot;https://seungsang.tistory.com/entry/VSCODE-Extension-Continue-AI-%EC%BD%94%EB%93%9C-%EC%96%B4%EC%8B%9C%EC%8A%A4%ED%84%B4%ED%8A%B8-Ollama-%EC%97%B0%EB%8F%99&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://seungsang.tistory.com/entry/VSCODE-Extension-Continue-AI-%EC%BD%94%EB%93%9C-%EC%96%B4%EC%8B%9C%EC%8A%A4%ED%84%B4%ED%8A%B8-Ollama-%EC%97%B0%EB%8F%99&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1787135078621&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[VSCODE Extension 추천] Continue - AI 코드 어시스턴트 (Ollama 연동)&quot; data-og-description=&quot;개인적으로 나는 개발환경을 통합하는 것을 좋아한다.웹서비스로 가능한 구축해서 브라우저에서 접근가능하게 하던가.VSCode 에 통합해서 VSCode 에서 모두 처리하게 하던가.&amp;nbsp;사내 환경에 OpenWeb UI&quot; data-og-host=&quot;seungsang.tistory.com&quot; data-og-source-url=&quot;https://seungsang.tistory.com/entry/VSCODE-Extension-Continue-AI-%EC%BD%94%EB%93%9C-%EC%96%B4%EC%8B%9C%EC%8A%A4%ED%84%B4%ED%8A%B8-Ollama-%EC%97%B0%EB%8F%99&quot; data-og-url=&quot;https://seungsang.tistory.com/entry/VSCODE-Extension-Continue-AI-%EC%BD%94%EB%93%9C-%EC%96%B4%EC%8B%9C%EC%8A%A4%ED%84%B4%ED%8A%B8-Ollama-%EC%97%B0%EB%8F%99&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/be8EJX/dJMb9kUjEDL/I5IdlkHKrpafyFq5LOOkF0/img.gif?width=800&amp;amp;height=235&amp;amp;face=0_0_800_235,https://scrap.kakaocdn.net/dn/eBd5i1/dJMb8WeQO35/fYeIYKQ8zfHCcXmdtqyQF0/img.gif?width=800&amp;amp;height=235&amp;amp;face=0_0_800_235,https://scrap.kakaocdn.net/dn/daGcFS/dJMb8WMGEh2/4EishHLVkqasUqlyExPf2K/img.png?width=508&amp;amp;height=1027&amp;amp;face=0_0_508_1027&quot;&gt;&lt;a href=&quot;https://seungsang.tistory.com/entry/VSCODE-Extension-Continue-AI-%EC%BD%94%EB%93%9C-%EC%96%B4%EC%8B%9C%EC%8A%A4%ED%84%B4%ED%8A%B8-Ollama-%EC%97%B0%EB%8F%99&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://seungsang.tistory.com/entry/VSCODE-Extension-Continue-AI-%EC%BD%94%EB%93%9C-%EC%96%B4%EC%8B%9C%EC%8A%A4%ED%84%B4%ED%8A%B8-Ollama-%EC%97%B0%EB%8F%99&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/be8EJX/dJMb9kUjEDL/I5IdlkHKrpafyFq5LOOkF0/img.gif?width=800&amp;amp;height=235&amp;amp;face=0_0_800_235,https://scrap.kakaocdn.net/dn/eBd5i1/dJMb8WeQO35/fYeIYKQ8zfHCcXmdtqyQF0/img.gif?width=800&amp;amp;height=235&amp;amp;face=0_0_800_235,https://scrap.kakaocdn.net/dn/daGcFS/dJMb8WMGEh2/4EishHLVkqasUqlyExPf2K/img.png?width=508&amp;amp;height=1027&amp;amp;face=0_0_508_1027');&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;[VSCODE Extension 추천] Continue - AI 코드 어시스턴트 (Ollama 연동)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;개인적으로 나는 개발환경을 통합하는 것을 좋아한다.웹서비스로 가능한 구축해서 브라우저에서 접근가능하게 하던가.VSCode 에 통합해서 VSCode 에서 모두 처리하게 하던가.&amp;nbsp;사내 환경에 OpenWeb UI&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;seungsang.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;1111.png&quot; data-origin-width=&quot;827&quot; data-origin-height=&quot;876&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cUoavI/dJMcahMg4Jw/DHAXULUbwkoNLpIGXJRlD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cUoavI/dJMcahMg4Jw/DHAXULUbwkoNLpIGXJRlD1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cUoavI/dJMcahMg4Jw/DHAXULUbwkoNLpIGXJRlD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcUoavI%2FdJMcahMg4Jw%2FDHAXULUbwkoNLpIGXJRlD1%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;827&quot; height=&quot;876&quot; data-filename=&quot;1111.png&quot; data-origin-width=&quot;827&quot; data-origin-height=&quot;876&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고 사이트1 : &lt;a href=&quot;https://seungsang.tistory.com/entry/VSCODE-Extension-Continue-AI-%EC%BD%94%EB%93%9C-%EC%96%B4%EC%8B%9C%EC%8A%A4%ED%84%B4%ED%8A%B8-Ollama-%EC%97%B0%EB%8F%99&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://seungsang.tistory.com/entry/VSCODE-Extension-Continue-AI-%EC%BD%94%EB%93%9C-%EC%96%B4%EC%8B%9C%EC%8A%A4%ED%84%B4%ED%8A%B8-Ollama-%EC%97%B0%EB%8F%99&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;참고사이트2 : &lt;a href=&quot;https://trytoso.tistory.com/entry/%ED%8F%90%EC%87%84%EB%A7%9D-%EA%B0%9C%EB%B0%9C-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C-VS-Code-AI-%EC%9E%90%EB%8F%99%EC%99%84%EC%84%B1-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-Ollama-Continue-%EA%B5%AC%EC%84%B1&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://trytoso.tistory.com/entry/%ED%8F%90%EC%87%84%EB%A7%9D-%EA%B0%9C%EB%B0%9C-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C-VS-Code-AI-%EC%9E%90%EB%8F%99%EC%99%84%EC%84%B1-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-Ollama-Continue-%EA%B5%AC%EC%84%B1&lt;/a&gt;&lt;/p&gt;</description>
      <category>개발툴/VS Code</category>
      <author>웹개발자 워니</author>
      <guid isPermaLink="true">https://wonpaper.tistory.com/1129</guid>
      <comments>https://wonpaper.tistory.com/1129#entry1129comment</comments>
      <pubDate>Wed, 19 Aug 2026 19:28:04 +0900</pubDate>
    </item>
    <item>
      <title>[LM Studio] 모델 다운로드가 잘 안될때, Use LM Studio's Hugging Face Proxy 옵션을 체크 해제</title>
      <link>https://wonpaper.tistory.com/1128</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;LM Studio 에서 다음과 같이 모델을 다운로드 완료가 잘 안될때&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: #ee2323;&quot;&gt; Use LM Studio's Hugging Face Proxy 옵션을 체크 해제&lt;/span&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 alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;20260817_164109.png&quot; data-origin-width=&quot;1529&quot; data-origin-height=&quot;858&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvPflz/dJMcafAWlyB/2nKzyjlxrz4AyBHQWZCOqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvPflz/dJMcafAWlyB/2nKzyjlxrz4AyBHQWZCOqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvPflz/dJMcafAWlyB/2nKzyjlxrz4AyBHQWZCOqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvPflz%2FdJMcafAWlyB%2F2nKzyjlxrz4AyBHQWZCOqk%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;1529&quot; height=&quot;858&quot; data-filename=&quot;20260817_164109.png&quot; data-origin-width=&quot;1529&quot; data-origin-height=&quot;858&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>LLM</category>
      <author>웹개발자 워니</author>
      <guid isPermaLink="true">https://wonpaper.tistory.com/1128</guid>
      <comments>https://wonpaper.tistory.com/1128#entry1128comment</comments>
      <pubDate>Mon, 17 Aug 2026 16:44:56 +0900</pubDate>
    </item>
    <item>
      <title>[Ollama] Ollama 사용법 정리</title>
      <link>https://wonpaper.tistory.com/1127</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;올라마 GUI 다운로드&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://ollama.com/download&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://ollama.com/download&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1786875474278&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;Download Ollama on macOS&quot; data-og-description=&quot;Download Ollama for macOS&quot; data-og-host=&quot;ollama.com&quot; data-og-source-url=&quot;https://ollama.com/download&quot; data-og-url=&quot;https://ollama.com/download/mac&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dPgd2n/dJMb896kj5S/1XGOLY6wAdPiLWJ7M3oRV1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://ollama.com/download&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ollama.com/download&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dPgd2n/dJMb896kj5S/1XGOLY6wAdPiLWJ7M3oRV1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Download Ollama on macOS&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Download Ollama for macOS&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;ollama.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모델 찾기&amp;nbsp;&lt;br /&gt;&lt;a href=&quot;https://ollama.com/search&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://ollama.com/search&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1786875449421&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;Ollama&quot; data-og-description=&quot;Search for models on Ollama.&quot; data-og-host=&quot;ollama.com&quot; data-og-source-url=&quot;https://ollama.com/search&quot; data-og-url=&quot;https://ollama.com/search&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/SwAUi/dJMb88GlEKA/UkhljKJwtOPKAxJ5SOSA91/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://ollama.com/search&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ollama.com/search&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/SwAUi/dJMb88GlEKA/UkhljKJwtOPKAxJ5SOSA91/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Ollama&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Search for models on Ollama.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;ollama.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치된 모델 목록보기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;ollama list&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치된 모델 삭제하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;ollama rm 모델명&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모델 다운로드하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt;ollama pull gemma3:4b&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;모델 실행하기 (로딩) --verbose (토큰량 정보보기)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;ollama run gemma3:4b --verbose&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;모델 내리기&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;ollama stop gemma3:4b&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행중인 모델 확인하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;ollama ps&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 모델 정보 확인하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;ollama show gemma3:4b&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://blog.enleaf.me/610&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://blog.enleaf.me/610&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1787049854547&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Ollama 필수 명령어 정리 (치트시트)&quot; data-og-description=&quot;로컬 LLM 실행 도구 Ollama의 핵심 CLI 명령어를 카테고리별로 정리했습니다.  모델 관리명령어 설명ollama pull 모델 다운로드 (예: llama3, qwen2.5:72b)ollama list설치된 모델 목록 확인ollama show 모델 상세 &quot; data-og-host=&quot;blog.enleaf.me&quot; data-og-source-url=&quot;https://blog.enleaf.me/610&quot; data-og-url=&quot;https://blog.enleaf.me/610&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cmGRsN/dJMb9kUjvOV/l4skgjjyrkE2wftkR4m1T1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/CYNJQ/dJMb9c9OtqM/kIydwpFKESrRSUkK6AHtn1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800&quot;&gt;&lt;a href=&quot;https://blog.enleaf.me/610&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://blog.enleaf.me/610&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cmGRsN/dJMb9kUjvOV/l4skgjjyrkE2wftkR4m1T1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/CYNJQ/dJMb9c9OtqM/kIydwpFKESrRSUkK6AHtn1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Ollama 필수 명령어 정리 (치트시트)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;로컬 LLM 실행 도구 Ollama의 핵심 CLI 명령어를 카테고리별로 정리했습니다.  모델 관리명령어 설명ollama pull 모델 다운로드 (예: llama3, qwen2.5:72b)ollama list설치된 모델 목록 확인ollama show 모델 상세&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.enleaf.me&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고 : &lt;a href=&quot;https://goddaehee.tistory.com/381&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://goddaehee.tistory.com/381&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;&amp;nbsp;&lt;/p&gt;</description>
      <category>LLM/Ollama</category>
      <author>웹개발자 워니</author>
      <guid isPermaLink="true">https://wonpaper.tistory.com/1127</guid>
      <comments>https://wonpaper.tistory.com/1127#entry1127comment</comments>
      <pubDate>Sun, 16 Aug 2026 19:25:03 +0900</pubDate>
    </item>
    <item>
      <title>[Mac] iterm2 설치 및 가이드</title>
      <link>https://wonpaper.tistory.com/1126</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://kyurasi.tistory.com/entry/20260307-%EA%B8%B0%EC%A4%80-iterm2-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95-%EB%A7%A5%EB%B6%81-%EA%B0%9C%EB%B0%9C%EC%9E%90-%ED%84%B0%EB%AF%B8%EB%84%90-%EC%84%B8%ED%8C%85&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://kyurasi.tistory.com/entry/20260307-%EA%B8%B0%EC%A4%80-iterm2-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95-%EB%A7%A5%EB%B6%81-%EA%B0%9C%EB%B0%9C%EC%9E%90-%ED%84%B0%EB%AF%B8%EB%84%90-%EC%84%B8%ED%8C%85&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1786801395794&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;2026.03.07 기준 iterm2 설치 방법 (맥북 개발자 터미널 세팅)&quot; data-og-description=&quot;2026년 3월 기준 macOS 에서 iTerm2 를 설치하는 가장 추천하는 방법은 Homebrew 를 사용하는 것입니다. 기존 사이트에서 zip 으로 다운로드 등도 있는데, 일단은 homebrew 를 사용하는게 가장 편리하고 안&quot; data-og-host=&quot;kyurasi.tistory.com&quot; data-og-source-url=&quot;https://kyurasi.tistory.com/entry/20260307-%EA%B8%B0%EC%A4%80-iterm2-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95-%EB%A7%A5%EB%B6%81-%EA%B0%9C%EB%B0%9C%EC%9E%90-%ED%84%B0%EB%AF%B8%EB%84%90-%EC%84%B8%ED%8C%85&quot; data-og-url=&quot;https://kyurasi.tistory.com/entry/20260307-%EA%B8%B0%EC%A4%80-iterm2-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95-%EB%A7%A5%EB%B6%81-%EA%B0%9C%EB%B0%9C%EC%9E%90-%ED%84%B0%EB%AF%B8%EB%84%90-%EC%84%B8%ED%8C%85&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/xUsYO/dJMb8Z3H2T2/SCRKvFZyBGrsaKf49Iv5jK/img.png?width=714&amp;amp;height=202&amp;amp;face=0_0_714_202,https://scrap.kakaocdn.net/dn/cFvH8x/dJMb8RkiGUJ/051GZbRY6YWqPvkdlqF8Kk/img.png?width=714&amp;amp;height=202&amp;amp;face=0_0_714_202,https://scrap.kakaocdn.net/dn/LJmwi/dJMb8YX2lbu/WWvt0qUtEmoky5GKleKN30/img.png?width=2090&amp;amp;height=1272&amp;amp;face=0_0_2090_1272&quot;&gt;&lt;a href=&quot;https://kyurasi.tistory.com/entry/20260307-%EA%B8%B0%EC%A4%80-iterm2-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95-%EB%A7%A5%EB%B6%81-%EA%B0%9C%EB%B0%9C%EC%9E%90-%ED%84%B0%EB%AF%B8%EB%84%90-%EC%84%B8%ED%8C%85&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://kyurasi.tistory.com/entry/20260307-%EA%B8%B0%EC%A4%80-iterm2-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95-%EB%A7%A5%EB%B6%81-%EA%B0%9C%EB%B0%9C%EC%9E%90-%ED%84%B0%EB%AF%B8%EB%84%90-%EC%84%B8%ED%8C%85&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/xUsYO/dJMb8Z3H2T2/SCRKvFZyBGrsaKf49Iv5jK/img.png?width=714&amp;amp;height=202&amp;amp;face=0_0_714_202,https://scrap.kakaocdn.net/dn/cFvH8x/dJMb8RkiGUJ/051GZbRY6YWqPvkdlqF8Kk/img.png?width=714&amp;amp;height=202&amp;amp;face=0_0_714_202,https://scrap.kakaocdn.net/dn/LJmwi/dJMb8YX2lbu/WWvt0qUtEmoky5GKleKN30/img.png?width=2090&amp;amp;height=1272&amp;amp;face=0_0_2090_1272');&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;2026.03.07 기준 iterm2 설치 방법 (맥북 개발자 터미널 세팅)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 기준 macOS 에서 iTerm2 를 설치하는 가장 추천하는 방법은 Homebrew 를 사용하는 것입니다. 기존 사이트에서 zip 으로 다운로드 등도 있는데, 일단은 homebrew 를 사용하는게 가장 편리하고 안&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;kyurasi.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>노트북/맥북</category>
      <author>웹개발자 워니</author>
      <guid isPermaLink="true">https://wonpaper.tistory.com/1126</guid>
      <comments>https://wonpaper.tistory.com/1126#entry1126comment</comments>
      <pubDate>Sat, 15 Aug 2026 22:43:19 +0900</pubDate>
    </item>
    <item>
      <title>nssm으로 Windows 서비스 등록하기</title>
      <link>https://wonpaper.tistory.com/1125</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://nssm.cc/download&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://nssm.cc/download&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1786679640317&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;NSSM - the Non-Sucking Service Manager&quot; data-og-description=&quot;NSSM - the Non-Sucking Service Manager Windows 10, Server 2016 and newer 2017-04-26: Users of Windows 10 Creators Update or newer should use prelease build 2.24-101 or any newer build to avoid an issue with services failing to start. If for some reason you&quot; data-og-host=&quot;nssm.cc&quot; data-og-source-url=&quot;https://nssm.cc/download&quot; data-og-url=&quot;https://nssm.cc/download&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://nssm.cc/download&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://nssm.cc/download&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;NSSM - the Non-Sucking Service Manager&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;NSSM - the Non-Sucking Service Manager Windows 10, Server 2016 and newer 2017-04-26: Users of Windows 10 Creators Update or newer should use prelease build 2.24-101 or any newer build to avoid an issue with services failing to start. If for some reason you&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;nssm.cc&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://howbeautifulworld.tistory.com/104&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://howbeautifulworld.tistory.com/104&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1786679662867&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;nssm으로 Windows 서비스 등록하기&quot; data-og-description=&quot;Node.js 애플리케이션을 Windows 서비스로 실행해야 할 일이 있어nssm으로 서비스 등록하는 방법에 대해 적어봅니다. 1. nssm (Non-Sucking Service Manager) Windows에서 일반 실행 파일, 스크립트(Node.js, Python 등)&quot; data-og-host=&quot;howbeautifulworld.tistory.com&quot; data-og-source-url=&quot;https://howbeautifulworld.tistory.com/104&quot; data-og-url=&quot;https://howbeautifulworld.tistory.com/104&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/zwr4V/dJMb8ZvRKL3/KDORB3XR1aEI5qk0Xlc4rK/img.png?width=433&amp;amp;height=236&amp;amp;face=0_0_433_236,https://scrap.kakaocdn.net/dn/DMsYj/dJMb87gmPiF/12fopkKazH8WgKafemARX0/img.png?width=433&amp;amp;height=236&amp;amp;face=0_0_433_236,https://scrap.kakaocdn.net/dn/btmGTG/dJMb8PGMxrD/ZX89b7K82lAWdwVwDLPRL0/img.png?width=433&amp;amp;height=236&amp;amp;face=0_0_433_236&quot;&gt;&lt;a href=&quot;https://howbeautifulworld.tistory.com/104&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://howbeautifulworld.tistory.com/104&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/zwr4V/dJMb8ZvRKL3/KDORB3XR1aEI5qk0Xlc4rK/img.png?width=433&amp;amp;height=236&amp;amp;face=0_0_433_236,https://scrap.kakaocdn.net/dn/DMsYj/dJMb87gmPiF/12fopkKazH8WgKafemARX0/img.png?width=433&amp;amp;height=236&amp;amp;face=0_0_433_236,https://scrap.kakaocdn.net/dn/btmGTG/dJMb8PGMxrD/ZX89b7K82lAWdwVwDLPRL0/img.png?width=433&amp;amp;height=236&amp;amp;face=0_0_433_236');&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;nssm으로 Windows 서비스 등록하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Node.js 애플리케이션을 Windows 서비스로 실행해야 할 일이 있어nssm으로 서비스 등록하는 방법에 대해 적어봅니다. 1. nssm (Non-Sucking Service Manager) Windows에서 일반 실행 파일, 스크립트(Node.js, Python 등)&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;howbeautifulworld.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://woony-sik.tistory.com/9&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://woony-sik.tistory.com/9&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1786679679229&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;nssm을 사용해 Windows 서비스 등록하기&quot; data-og-description=&quot;서비스를 배포 후에 명령어로 하나하나 실행하기 귀찮아 만들게 된 런처 프로그램이 있다. 거기에서 Nginx도 실행 종료할 수 있도록 등록해놨는데 회사 팀장님이 Nginx는 그냥 별도로 빼자고 한다.&quot; data-og-host=&quot;woony-sik.tistory.com&quot; data-og-source-url=&quot;https://woony-sik.tistory.com/9&quot; data-og-url=&quot;https://woony-sik.tistory.com/9&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cU9C4Y/dJMb8Rkiv5y/tV0DhrDhO4gkykQ4NY7rHk/img.png?width=440&amp;amp;height=240&amp;amp;face=0_0_440_240,https://scrap.kakaocdn.net/dn/XJUB4/dJMb84YeZLP/wzn2vlU4C1smEc8Wl4jBe1/img.png?width=440&amp;amp;height=240&amp;amp;face=0_0_440_240,https://scrap.kakaocdn.net/dn/bef9eB/dJMb82MTrDs/BWtfEttnKIoolItn5FFSUK/img.png?width=438&amp;amp;height=238&amp;amp;face=0_0_438_238&quot;&gt;&lt;a href=&quot;https://woony-sik.tistory.com/9&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://woony-sik.tistory.com/9&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cU9C4Y/dJMb8Rkiv5y/tV0DhrDhO4gkykQ4NY7rHk/img.png?width=440&amp;amp;height=240&amp;amp;face=0_0_440_240,https://scrap.kakaocdn.net/dn/XJUB4/dJMb84YeZLP/wzn2vlU4C1smEc8Wl4jBe1/img.png?width=440&amp;amp;height=240&amp;amp;face=0_0_440_240,https://scrap.kakaocdn.net/dn/bef9eB/dJMb82MTrDs/BWtfEttnKIoolItn5FFSUK/img.png?width=438&amp;amp;height=238&amp;amp;face=0_0_438_238');&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;nssm을 사용해 Windows 서비스 등록하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;서비스를 배포 후에 명령어로 하나하나 실행하기 귀찮아 만들게 된 런처 프로그램이 있다. 거기에서 Nginx도 실행 종료할 수 있도록 등록해놨는데 회사 팀장님이 Nginx는 그냥 별도로 빼자고 한다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;woony-sik.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>윈도우서버</category>
      <author>웹개발자 워니</author>
      <guid isPermaLink="true">https://wonpaper.tistory.com/1125</guid>
      <comments>https://wonpaper.tistory.com/1125#entry1125comment</comments>
      <pubDate>Fri, 14 Aug 2026 12:54:50 +0900</pubDate>
    </item>
    <item>
      <title>[Javascript] 배열에서 map(), filter(), reduce() 함수 정리</title>
      <link>https://wonpaper.tistory.com/1124</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;React 나 Javascript 상에서 꼭 알아 두어야 하는 함수를 정리한다.&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://chatgpt.com/share/6a778531-33a0-83ee-8f30-da6f5855771d&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://chatgpt.com/share/6a778531-33a0-83ee-8f30-da6f5855771d&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1786218349438&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;이 채팅을 확인해 보세요&quot; data-og-description=&quot;누군가 회원님이 보고 싶어 할 것 같다고 생각한 채팅입니다.&quot; data-og-host=&quot;chatgpt.com&quot; data-og-source-url=&quot;https://chatgpt.com/share/6a778531-33a0-83ee-8f30-da6f5855771d&quot; data-og-url=&quot;https://chatgpt.com/share/6a778531-33a0-83ee-8f30-da6f5855771d&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cXA6gU/dJMb87gl4JC/jVoco2KHulJaKPkHKN7KS0/img.png?width=1600&amp;amp;height=900&amp;amp;face=0_0_1600_900&quot;&gt;&lt;a href=&quot;https://chatgpt.com/share/6a778531-33a0-83ee-8f30-da6f5855771d&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://chatgpt.com/share/6a778531-33a0-83ee-8f30-da6f5855771d&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cXA6gU/dJMb87gl4JC/jVoco2KHulJaKPkHKN7KS0/img.png?width=1600&amp;amp;height=900&amp;amp;face=0_0_1600_900');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;이 채팅을 확인해 보세요&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;누군가 회원님이 보고 싶어 할 것 같다고 생각한 채팅입니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;chatgpt.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/xwy2w/dJMcabZzRjl/egJKCDvB4CKSpA9TOSY5w1/map_filter_reduce.pdf?attach=1&amp;amp;knm=tfile.pdf&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;map_filter_reduce.pdf&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;1.10MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position: relative !important; overflow: auto;&quot;&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0; padding: 0; border: none; background-color: #fafafa; border-radius: 4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border-right: 2px solid #e5e5e5;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; word-break: normal; text-align: right; color: #666; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;padding: 6px 0; text-align: left;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;const&lt;/span&gt;&amp;nbsp;products&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&amp;nbsp;[&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;id:&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #066de2;&quot;&gt;name&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;&quot;노트북&quot;&lt;/span&gt;,&amp;nbsp;price:&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;1200000&lt;/span&gt;,&amp;nbsp;stock:&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;5&lt;/span&gt;&amp;nbsp;},&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;id:&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;2&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #066de2;&quot;&gt;name&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;&quot;마우스&quot;&lt;/span&gt;,&amp;nbsp;price:&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;30000&lt;/span&gt;,&amp;nbsp;stock:&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;0&lt;/span&gt;&amp;nbsp;},&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;id:&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;3&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #066de2;&quot;&gt;name&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;&quot;키보드&quot;&lt;/span&gt;,&amp;nbsp;price:&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;80000&lt;/span&gt;,&amp;nbsp;stock:&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;10&lt;/span&gt;&amp;nbsp;},&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;id:&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;4&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #066de2;&quot;&gt;name&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;&quot;모니터&quot;&lt;/span&gt;,&amp;nbsp;price:&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;400000&lt;/span&gt;,&amp;nbsp;stock:&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;3&lt;/span&gt;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;];&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: right; margin-top: -13px; margin-right: 5px; font-size: 9px; font-style: italic;&quot;&gt;&lt;a style=&quot;color: #e5e5e5text-decoration:none;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;vertical-align: bottom; padding: 0 2px 4px 0;&quot;&gt;&lt;a style=&quot;text-decoration: none; color: white;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: #e5e5e5; color: white; border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;재고가 있는 상품만 얻기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;availableProducts&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;products&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;filter(product =&amp;gt; product.stock &amp;gt; 0); &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상품명만 얻기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;names&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;products&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;map(product =&amp;gt; product.name); &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상품 총 가격&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;totalPrice&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;products&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;reduce( (total, product) =&amp;gt; total + product.price, 0 ); &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;재고가 있는 상품들의 총 재고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;totalStock&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;products&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ef6f53;&quot;&gt;&amp;nbsp;.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;filter(product =&amp;gt; product.stock &amp;gt; 0) &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.reduce( (total, product) =&amp;gt; total + product.stock, 0 ); &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;재고가 있는 상품들의 이름만&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;names&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;products&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #ef5369;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt;filter(product =&amp;gt; product.stock &amp;gt; 0) &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.map(product =&amp;gt; product.name); &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;// ① map : 바꾼다&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;numbers&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;map(&lt;/span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span&gt; =&amp;gt; &lt;/span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt;); &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;// ② filter : 고른다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;numbers&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;filter(&lt;/span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span&gt; =&amp;gt; &lt;/span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;10&lt;/span&gt;&lt;span&gt;); &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;// ③ reduce : 합친다&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;c&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;numbers&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;reduce((&lt;/span&gt;&lt;span&gt;sum&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span&gt;) =&amp;gt; &lt;/span&gt;&lt;span&gt;sum&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;+&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/p&gt;</description>
      <category>javascript</category>
      <author>웹개발자 워니</author>
      <guid isPermaLink="true">https://wonpaper.tistory.com/1124</guid>
      <comments>https://wonpaper.tistory.com/1124#entry1124comment</comments>
      <pubDate>Sun, 9 Aug 2026 04:48:33 +0900</pubDate>
    </item>
    <item>
      <title>[TypeScript] 타입스크립트 정리하기</title>
      <link>https://wonpaper.tistory.com/1123</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://ts.winterlood.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://ts.winterlood.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1785418604374&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;소개 - 한 입 크기로 잘라먹는 타입스크립트&quot; data-og-description=&quot;한 입 크기로 잘라먹는 타입스크립트&quot; data-og-host=&quot;ts.winterlood.com&quot; data-og-source-url=&quot;https://ts.winterlood.com/&quot; data-og-url=&quot;https://ts.winterlood.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/1bIvA/dJMb88Gjtef/18nLWJ1pkXNZ3APAQxsan0/img.png?width=1216&amp;amp;height=781&amp;amp;face=849_174_1023_364,https://scrap.kakaocdn.net/dn/qopE0/dJMb86obYVO/DPFkf8tbzKDhj1pe6plwL0/img.png?width=1216&amp;amp;height=781&amp;amp;face=849_174_1023_364,https://scrap.kakaocdn.net/dn/yyfwn/dJMb88fe6pF/RkDt1Hh48MDq2HOFc5zKHK/img.png?width=1216&amp;amp;height=781&amp;amp;face=849_174_1023_364&quot;&gt;&lt;a href=&quot;https://ts.winterlood.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ts.winterlood.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/1bIvA/dJMb88Gjtef/18nLWJ1pkXNZ3APAQxsan0/img.png?width=1216&amp;amp;height=781&amp;amp;face=849_174_1023_364,https://scrap.kakaocdn.net/dn/qopE0/dJMb86obYVO/DPFkf8tbzKDhj1pe6plwL0/img.png?width=1216&amp;amp;height=781&amp;amp;face=849_174_1023_364,https://scrap.kakaocdn.net/dn/yyfwn/dJMb88fe6pF/RkDt1Hh48MDq2HOFc5zKHK/img.png?width=1216&amp;amp;height=781&amp;amp;face=849_174_1023_364');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;소개 - 한 입 크기로 잘라먹는 타입스크립트&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;한 입 크기로 잘라먹는 타입스크립트&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;ts.winterlood.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/winterlood/onebite-typescript&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://github.com/winterlood/onebite-typescript&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1785418773115&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 - winterlood/onebite-typescript: onebite-typescript code samples&quot; data-og-description=&quot;onebite-typescript code samples. Contribute to winterlood/onebite-typescript development by creating an account on GitHub.&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/winterlood/onebite-typescript&quot; data-og-url=&quot;https://github.com/winterlood/onebite-typescript&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/U8e8s/dJMb8WeOc86/RhWopdyi75K850qpMOl6K0/img.png?width=1200&amp;amp;height=600&amp;amp;face=982_121_1023_166,https://scrap.kakaocdn.net/dn/b4qEG4/dJMb9aKThI4/A2mPZQQPw1INFVzKpFRDfk/img.png?width=1200&amp;amp;height=600&amp;amp;face=982_121_1023_166&quot;&gt;&lt;a href=&quot;https://github.com/winterlood/onebite-typescript&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/winterlood/onebite-typescript&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/U8e8s/dJMb8WeOc86/RhWopdyi75K850qpMOl6K0/img.png?width=1200&amp;amp;height=600&amp;amp;face=982_121_1023_166,https://scrap.kakaocdn.net/dn/b4qEG4/dJMb9aKThI4/A2mPZQQPw1INFVzKpFRDfk/img.png?width=1200&amp;amp;height=600&amp;amp;face=982_121_1023_166');&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 - winterlood/onebite-typescript: onebite-typescript code samples&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;onebite-typescript code samples. Contribute to winterlood/onebite-typescript 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;</description>
      <category>javascript/TypeScript</category>
      <author>웹개발자 워니</author>
      <guid isPermaLink="true">https://wonpaper.tistory.com/1123</guid>
      <comments>https://wonpaper.tistory.com/1123#entry1123comment</comments>
      <pubDate>Thu, 30 Jul 2026 22:36:52 +0900</pubDate>
    </item>
    <item>
      <title>[PHP] 초간단 랜덤 숫자 얻기</title>
      <link>https://wonpaper.tistory.com/1121</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position: relative !important; overflow: auto;&quot;&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0; padding: 0; border: none; background-color: #fafafa; border-radius: 4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border-right: 2px solid #e5e5e5;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; word-break: normal; text-align: right; color: #666; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;9&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;10&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;11&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;padding: 6px 0; text-align: left;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;function&lt;/span&gt;&amp;nbsp;getPrizeItem()&amp;nbsp;{&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #066de2;&quot;&gt;$items100&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #066de2;&quot;&gt;array&lt;/span&gt;(&lt;span style=&quot;color: #0099cc;&quot;&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;2&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;4&lt;/span&gt;);&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #066de2;&quot;&gt;$items100&lt;/span&gt;[array_rand(&lt;span style=&quot;color: #066de2;&quot;&gt;$items100&lt;/span&gt;)];&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;$prize_item1&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&amp;nbsp;getPrizeItem();&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;$prize_item2&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&amp;nbsp;getPrizeItem();&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #066de2;&quot;&gt;echo&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #066de2;&quot;&gt;$prize_item1&lt;/span&gt;&amp;nbsp;.&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;&quot;&amp;nbsp;/&amp;nbsp;&quot;&lt;/span&gt;&amp;nbsp;.&amp;nbsp;&lt;span style=&quot;color: #066de2;&quot;&gt;$prize_item2&lt;/span&gt;;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: right; margin-top: -13px; margin-right: 5px; font-size: 9px; font-style: italic;&quot;&gt;&lt;a style=&quot;color: #e5e5e5text-decoration:none;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;vertical-align: bottom; padding: 0 2px 4px 0;&quot;&gt;&lt;a style=&quot;text-decoration: none; color: white;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: #e5e5e5; color: white; border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>PHP</category>
      <author>웹개발자 워니</author>
      <guid isPermaLink="true">https://wonpaper.tistory.com/1121</guid>
      <comments>https://wonpaper.tistory.com/1121#entry1121comment</comments>
      <pubDate>Mon, 20 Jul 2026 12:44:55 +0900</pubDate>
    </item>
    <item>
      <title>[HTML5] 웹검색 - 포털 검색엔진이 특정 키워드 색인 검색 안되게 meta 태그 추가</title>
      <link>https://wonpaper.tistory.com/1120</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;핸드폰번호와 같은 특정 중요한 정보가 포털 검색엔진이 크롤링 안되도록 간단히&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;아래의 meta 태그를 추가하면 된다.&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: #ee2323;&quot;&gt;&amp;lt;meta&amp;nbsp;name=&quot;robots&quot;&amp;nbsp;content=&quot;noindex,nofollow&quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;? &lt;br /&gt;if($bo_table==&quot;c_qna&quot;){ &lt;br /&gt;?&amp;gt; &lt;br /&gt;&amp;lt;meta&amp;nbsp;name=&quot;robots&quot;&amp;nbsp;content=&quot;noindex,nofollow&quot;&amp;gt; &lt;br /&gt;&amp;lt;? &lt;br /&gt;} &lt;br /&gt;?&amp;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>웹퍼블리싱/html5</category>
      <author>웹개발자 워니</author>
      <guid isPermaLink="true">https://wonpaper.tistory.com/1120</guid>
      <comments>https://wonpaper.tistory.com/1120#entry1120comment</comments>
      <pubDate>Mon, 6 Jul 2026 15:29:47 +0900</pubDate>
    </item>
    <item>
      <title>[ASP.Net Core] EF 에서 Include  와 ThenInclude 사용하기</title>
      <link>https://wonpaper.tistory.com/1118</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;ORM Entity Framework 에서 Include / ThenInclude 사용법을 몇가지 정리해 본다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position: relative !important; overflow: auto;&quot;&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0; padding: 0; border: none; background-color: #fafafa; border-radius: 4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border-right: 2px solid #e5e5e5;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; word-break: normal; text-align: right; color: #666; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;9&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;10&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;11&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;12&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;13&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;14&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;15&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;16&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;17&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;18&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;19&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;20&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;21&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;22&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;23&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;24&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;25&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;26&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;27&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;padding: 6px 0; text-align: left;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;class&lt;/span&gt;&amp;nbsp;Product&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;{&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;int&lt;/span&gt;&amp;nbsp;Id&amp;nbsp;{&amp;nbsp;get;&amp;nbsp;set;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;string&lt;/span&gt;&amp;nbsp;Name&amp;nbsp;{&amp;nbsp;get;&amp;nbsp;set;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #066de2;&quot;&gt;List&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;&amp;lt;&lt;/span&gt;ProductOption&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;Options&amp;nbsp;{&amp;nbsp;get;&amp;nbsp;set;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;class&lt;/span&gt;&amp;nbsp;ProductOption&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;{&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;int&lt;/span&gt;&amp;nbsp;Id&amp;nbsp;{&amp;nbsp;get;&amp;nbsp;set;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;string&lt;/span&gt;&amp;nbsp;OptionName&amp;nbsp;{&amp;nbsp;get;&amp;nbsp;set;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;int&lt;/span&gt;&amp;nbsp;ProductId&amp;nbsp;{&amp;nbsp;get;&amp;nbsp;set;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;Product&amp;nbsp;Product&amp;nbsp;{&amp;nbsp;get;&amp;nbsp;set;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #066de2;&quot;&gt;List&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;&amp;lt;&lt;/span&gt;ProductOptionValue&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;Values&amp;nbsp;{&amp;nbsp;get;&amp;nbsp;set;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;class&lt;/span&gt;&amp;nbsp;ProductOptionValue&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;{&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;int&lt;/span&gt;&amp;nbsp;Id&amp;nbsp;{&amp;nbsp;get;&amp;nbsp;set;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;string&lt;/span&gt;&amp;nbsp;ValueName&amp;nbsp;{&amp;nbsp;get;&amp;nbsp;set;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;int&lt;/span&gt;&amp;nbsp;ProductOptionId&amp;nbsp;{&amp;nbsp;get;&amp;nbsp;set;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;ProductOption&amp;nbsp;ProductOption&amp;nbsp;{&amp;nbsp;get;&amp;nbsp;set;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;}&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: right; margin-top: -13px; margin-right: 5px; font-size: 9px; font-style: italic;&quot;&gt;&lt;a style=&quot;color: #e5e5e5text-decoration:none;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;vertical-align: bottom; padding: 0 2px 4px 0;&quot;&gt;&lt;a style=&quot;text-decoration: none; color: white;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: #e5e5e5; color: white; border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상품 &lt;br /&gt;&amp;nbsp;└─&amp;nbsp;옵션들 &lt;br /&gt;&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;Product &lt;br /&gt;&amp;nbsp;└──&amp;nbsp;ProductOption &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└──&amp;nbsp;ProductOptionValue&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;티셔츠 &lt;br /&gt;&amp;nbsp;├─&amp;nbsp;색상 &lt;br /&gt;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;├─&amp;nbsp;빨강 &lt;br /&gt;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;├─&amp;nbsp;파랑 &lt;br /&gt;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;└─&amp;nbsp;검정 &lt;br /&gt;&amp;nbsp;└─&amp;nbsp;사이즈 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├─&amp;nbsp;S &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├─&amp;nbsp;M &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└─&amp;nbsp;L&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;var&amp;nbsp;products&amp;nbsp;=&amp;nbsp;db.Products &lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Include(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Options)&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ToList();&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;Product &lt;br /&gt;&amp;nbsp;└──&amp;nbsp;Options&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;var&amp;nbsp;products&amp;nbsp;=&amp;nbsp;db.Products &lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Include(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Options) &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ThenInclude(o&amp;nbsp;=&amp;gt;&amp;nbsp;o.Values)&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ToList(); &lt;br /&gt;&lt;br /&gt;Product &lt;br /&gt;&amp;nbsp;└──&amp;nbsp;Options &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└──&amp;nbsp;Values&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;var&amp;nbsp;product&amp;nbsp;=&amp;nbsp;db.Products &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Include(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Options) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.FirstOrDefault(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Id&amp;nbsp;==&amp;nbsp;1);&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가져오는&amp;nbsp;데이터: &lt;br /&gt;상품명: 티셔츠 &lt;br /&gt;옵션: &lt;br /&gt;-&amp;nbsp;색상 &lt;br /&gt;-&amp;nbsp;사이즈 &lt;br /&gt;&lt;br /&gt;하지만&amp;nbsp;옵션값은&amp;nbsp;없습니다. &lt;br /&gt;색상 안의 빨강, 파랑, 검정 &lt;br /&gt;사이즈&amp;nbsp;안의&amp;nbsp;S,&amp;nbsp;M,&amp;nbsp;L&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: #009a87;&quot;&gt;var&amp;nbsp;product&amp;nbsp;=&amp;nbsp;db.Products &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Include(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Options) &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ThenInclude(o&amp;nbsp;=&amp;gt;&amp;nbsp;o.Values) &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.FirstOrDefault(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Id&amp;nbsp;==&amp;nbsp;1);&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;상품명: 티셔츠&lt;br /&gt;옵션: &lt;br /&gt;-&amp;nbsp;색상 &lt;br /&gt;&amp;nbsp;&amp;nbsp;-&amp;nbsp;빨강 &lt;br /&gt;&amp;nbsp;&amp;nbsp;-&amp;nbsp;파랑 &lt;br /&gt;&amp;nbsp;&amp;nbsp;-&amp;nbsp;검정 &lt;br /&gt;&lt;br /&gt;-&amp;nbsp;사이즈 &lt;br /&gt;&amp;nbsp;&amp;nbsp;-&amp;nbsp;S &lt;br /&gt;&amp;nbsp;&amp;nbsp;-&amp;nbsp;M &lt;br /&gt;&amp;nbsp;&amp;nbsp;-&amp;nbsp;L&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예제1)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;var&amp;nbsp;product&amp;nbsp;=&amp;nbsp;db.Products &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Include(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Options) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ThenInclude(o&amp;nbsp;=&amp;gt;&amp;nbsp;o.Values) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.FirstOrDefault(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Id&amp;nbsp;==&amp;nbsp;id); &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Razor&amp;nbsp;View에서: &lt;br /&gt;&amp;lt;h2&amp;gt;@Model.Name&amp;lt;/h2&amp;gt; &lt;br /&gt;@foreach (var option in Model.Options) &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;h4&amp;gt;@option.OptionName&amp;lt;/h4&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;ul&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@foreach&amp;nbsp;(var&amp;nbsp;value&amp;nbsp;in&amp;nbsp;option.Values) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;li&amp;gt;@value.ValueName&amp;lt;/li&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/ul&amp;gt; &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;출력: &lt;br /&gt;티셔츠 &lt;br /&gt;색상 &lt;br /&gt;-&amp;nbsp;빨강 &lt;br /&gt;-&amp;nbsp;파랑 &lt;br /&gt;-&amp;nbsp;검정 &lt;br /&gt;사이즈 &lt;br /&gt;-&amp;nbsp;S &lt;br /&gt;-&amp;nbsp;M &lt;br /&gt;-&amp;nbsp;L&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;div class=&quot;colorscripter-code&quot; style=&quot;color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position: relative !important; overflow: auto;&quot;&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0; padding: 0; border: none; background-color: #fafafa; border-radius: 4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border-right: 2px solid #e5e5e5;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; word-break: normal; text-align: right; color: #666; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;padding: 6px 0; text-align: left;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;class&lt;/span&gt;&amp;nbsp;Product&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;{&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;int&lt;/span&gt;&amp;nbsp;Id&amp;nbsp;{&amp;nbsp;get;&amp;nbsp;set;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;string&lt;/span&gt;&amp;nbsp;Name&amp;nbsp;{&amp;nbsp;get;&amp;nbsp;set;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #066de2;&quot;&gt;List&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;&amp;lt;&lt;/span&gt;ProductOption&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;Options&amp;nbsp;{&amp;nbsp;get;&amp;nbsp;set;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #066de2;&quot;&gt;List&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;&amp;lt;&lt;/span&gt;ProductImage&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;Images&amp;nbsp;{&amp;nbsp;get;&amp;nbsp;set;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;}&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: right; margin-top: -13px; margin-right: 5px; font-size: 9px; font-style: italic;&quot;&gt;&lt;a style=&quot;color: #e5e5e5text-decoration:none;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;vertical-align: bottom; padding: 0 2px 4px 0;&quot;&gt;&lt;a style=&quot;text-decoration: none; color: white;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: #e5e5e5; color: white; border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;var&amp;nbsp;products&amp;nbsp;=&amp;nbsp;db.Products &lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Include(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Options) &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Include(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Images)&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ToList(); &lt;br /&gt;&lt;br /&gt;Product &lt;br /&gt;&amp;nbsp;├──&amp;nbsp;Options &lt;br /&gt;&amp;nbsp;└──&amp;nbsp;Images&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;Order &lt;br /&gt;&amp;nbsp;└──&amp;nbsp;OrderItems &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└──&amp;nbsp;Product &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└──&amp;nbsp;Category&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;var&amp;nbsp;orders&amp;nbsp;=&amp;nbsp;db.Orders &lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Include(o&amp;nbsp;=&amp;gt;&amp;nbsp;o.OrderItems) &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ThenInclude(oi&amp;nbsp;=&amp;gt;&amp;nbsp;oi.Product) &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ThenInclude(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Category)&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ToList(); &lt;br /&gt;&lt;br /&gt;주문을&amp;nbsp;가져오고 &lt;br /&gt;&amp;nbsp;└─&amp;nbsp;주문상세를&amp;nbsp;가져오고 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└─&amp;nbsp;상품을&amp;nbsp;가져오고 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Include&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/b&gt;현재 엔티티의 직접 연결 데이터를 가져옴 &lt;br /&gt;&lt;b&gt;ThenInclude&lt;/b&gt; Include로&amp;nbsp;가져온&amp;nbsp;데이터의&amp;nbsp;하위&amp;nbsp;데이터를&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;var&amp;nbsp;product&amp;nbsp;=&amp;nbsp;db.Products &lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Include(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Options) &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ThenInclude(o&amp;nbsp;=&amp;gt;&amp;nbsp;o.Values) &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Include(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Images) &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Include(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Category)&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.FirstOrDefault(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Id&amp;nbsp;==&amp;nbsp;id); &lt;br /&gt;&lt;br /&gt;상품&amp;nbsp;1개를&amp;nbsp;가져오면서 &lt;br /&gt;-&amp;nbsp;옵션 &lt;br /&gt;&amp;nbsp;&amp;nbsp;-&amp;nbsp;옵션값 &lt;br /&gt;-&amp;nbsp;이미지 &lt;br /&gt;-&amp;nbsp;카테고리 &lt;br /&gt;를&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;--------------&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;Include를&amp;nbsp;너무&amp;nbsp;많이&amp;nbsp;쓰면&amp;nbsp;SQL&amp;nbsp;JOIN이&amp;nbsp;많아져서&amp;nbsp;성능이&amp;nbsp;떨어질&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;db.Products &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Include(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Options) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ThenInclude(o&amp;nbsp;=&amp;gt;&amp;nbsp;o.Values) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Include(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Images) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Include(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Reviews) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Include(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Orders) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ToList(); &lt;br /&gt;&lt;br /&gt;이&amp;nbsp;코드는&amp;nbsp;다음과&amp;nbsp;같이&amp;nbsp;일부&amp;nbsp;코드로&amp;nbsp;줄여서, &lt;br /&gt;성능을&amp;nbsp;개선할&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;var&amp;nbsp;products&amp;nbsp;=&amp;nbsp;db.Products &lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Select(p&amp;nbsp;=&amp;gt;&amp;nbsp;new &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.Id, &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.Name, &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Options&amp;nbsp;=&amp;nbsp;p.Options.Select(o&amp;nbsp;=&amp;gt;&amp;nbsp;new &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;o.OptionName, &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Values&amp;nbsp;=&amp;nbsp;o.Values.Select(v&amp;nbsp;=&amp;gt;&amp;nbsp;v.ValueName) &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}) &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ToList();&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;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bSlft6/dJMcagswZfW/Gkt9His19vuZgKYF8bKk31/Include%20vs%20ThenInclude.pdf?attach=1&amp;amp;knm=tfile.pdf&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Include vs ThenInclude.pdf&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.65MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>ASP.NET/ASP.NET Core</category>
      <author>웹개발자 워니</author>
      <guid isPermaLink="true">https://wonpaper.tistory.com/1118</guid>
      <comments>https://wonpaper.tistory.com/1118#entry1118comment</comments>
      <pubDate>Wed, 1 Jul 2026 15:09:20 +0900</pubDate>
    </item>
  </channel>
</rss>