<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>개발 노트</title>
    <link>https://capri.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Thu, 9 Apr 2026 15:57:18 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>관리자</managingEditor>
    <item>
      <title>윈도우즈 nul, con 파일 삭제</title>
      <link>https://capri.tistory.com/entry/%EC%9C%88%EB%8F%84%EC%9A%B0%EC%A6%88-nul-con-%ED%8C%8C%EC%9D%BC-%EC%82%AD%EC%A0%9C</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Windows에서는 NUL, CON, PRN, AUX, COM1~9, LPT1~9 같은 이름이 장치 파일로 예약되어 있어서, 일반 파일처럼 삭제하려고 하면 잘못된 MS-DOS 함수입니다 오류가 발생한다.&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;2025-08-29_13-11-58.png&quot; data-origin-width=&quot;610&quot; data-origin-height=&quot;313&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nLkBS/btsQa9zLUCp/KwLtUK8AylIVo2kkOlLiF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nLkBS/btsQa9zLUCp/KwLtUK8AylIVo2kkOlLiF1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nLkBS/btsQa9zLUCp/KwLtUK8AylIVo2kkOlLiF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnLkBS%2FbtsQa9zLUCp%2FKwLtUK8AylIVo2kkOlLiF1%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;610&quot; height=&quot;313&quot; data-filename=&quot;2025-08-29_13-11-58.png&quot; data-origin-width=&quot;610&quot; data-origin-height=&quot;313&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2025-08-29_13-10-18.png&quot; data-origin-width=&quot;1113&quot; data-origin-height=&quot;189&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m6EnF/btsQakPo5u3/EI2CNLVPyJsCzmw8QDTow0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m6EnF/btsQakPo5u3/EI2CNLVPyJsCzmw8QDTow0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m6EnF/btsQakPo5u3/EI2CNLVPyJsCzmw8QDTow0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm6EnF%2FbtsQakPo5u3%2FEI2CNLVPyJsCzmw8QDTow0%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;1113&quot; height=&quot;189&quot; data-filename=&quot;2025-08-29_13-10-18.png&quot; data-origin-width=&quot;1113&quot; data-origin-height=&quot;189&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;해결 방법&lt;/h2&gt;
&lt;h3 data-end=&quot;291&quot; data-start=&quot;269&quot; data-ke-size=&quot;size23&quot;&gt;1. 명령 프롬프트에서 강제 삭제&lt;/h3&gt;
&lt;p data-end=&quot;308&quot; data-start=&quot;292&quot; data-ke-size=&quot;size16&quot;&gt;관리자 권한 CMD 실행 후:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;del \\?\C:\path\to\folder\nul&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-end=&quot;480&quot; data-start=&quot;460&quot; data-ke-size=&quot;size23&quot;&gt;2. PowerShell 이용&lt;/h3&gt;
&lt;p data-end=&quot;499&quot; data-start=&quot;481&quot; data-ke-size=&quot;size16&quot;&gt;PowerShell(관리자)에서:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Remove-Item -LiteralPath &quot;\\?\C:\path\to\folder\nul&quot; -Force&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-end=&quot;603&quot; data-start=&quot;585&quot; data-ke-size=&quot;size23&quot;&gt;3. 파일 탐색기에서 우회&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;728&quot; data-start=&quot;604&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;728&quot; data-start=&quot;604&quot;&gt;ren 명령으로 이름을 바꾸고 삭제 시도:&lt;/li&gt;
&lt;li data-end=&quot;728&quot; data-start=&quot;634&quot;&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;ren \\?\C:\path\to\folder\nul normal.txt del \\?\C:\path\to\folder\normal.txt&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;759&quot; data-start=&quot;735&quot; data-ke-size=&quot;size23&quot;&gt;4. Linux/WSL이나 도구 활용&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;838&quot; data-start=&quot;760&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;800&quot; data-start=&quot;760&quot;&gt;&lt;b&gt;WSL(Ubuntu)에서 해당 폴더로 접근 후 rm nul 실행.&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;800&quot; data-start=&quot;760&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt; &lt;span style=&quot;text-align: start;&quot;&gt;&amp;nbsp;git bash를 설치한 후 관리자 권한으로 실행&amp;nbsp; &lt;span style=&quot;background-color: #fcfcfc; text-align: left;&quot;&gt;rm nul 실행.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;850&quot; data-start=&quot;845&quot; data-ke-size=&quot;size26&quot;&gt;정리&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;934&quot; data-start=&quot;851&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;885&quot; data-start=&quot;851&quot;&gt;NUL은 원래 윈도우의 가상 장치라 삭제가 막히는 것.&lt;/li&gt;
&lt;li data-end=&quot;934&quot; data-start=&quot;886&quot;&gt;\\?\ 접두사를 붙여서 &lt;b&gt;Win32 예약 이름 무효화&lt;/b&gt;를 하면 삭제 가능.&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>일반</category>
      <category>Con</category>
      <category>con삭제</category>
      <category>con파일</category>
      <category>NUL</category>
      <category>nul삭제</category>
      <category>nul파일</category>
      <author>관리자</author>
      <guid isPermaLink="true">https://capri.tistory.com/879</guid>
      <comments>https://capri.tistory.com/entry/%EC%9C%88%EB%8F%84%EC%9A%B0%EC%A6%88-nul-con-%ED%8C%8C%EC%9D%BC-%EC%82%AD%EC%A0%9C#entry879comment</comments>
      <pubDate>Fri, 29 Aug 2025 13:38:39 +0900</pubDate>
    </item>
    <item>
      <title>Hydration 오류</title>
      <link>https://capri.tistory.com/entry/Hydration-%EC%98%A4%EB%A5%98</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;●&amp;nbsp;Hydration&amp;nbsp;오류는&amp;nbsp;Next.js와&amp;nbsp;React에서&amp;nbsp;발생하는&amp;nbsp;일반적인&amp;nbsp;문제입니다.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Hydration이란? &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Hydration은&amp;nbsp;서버에서&amp;nbsp;렌더링된&amp;nbsp;정적&amp;nbsp;HTML을&amp;nbsp;클라이언트에서&amp;nbsp;React&amp;nbsp;컴포넌트로 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;활성화&quot;하는&amp;nbsp;과정입니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;1.&amp;nbsp;서버:&amp;nbsp;HTML&amp;nbsp;생성&amp;nbsp;&amp;rarr;&amp;nbsp;브라우저로&amp;nbsp;전송 &lt;br /&gt;&amp;nbsp;&amp;nbsp;2.&amp;nbsp;브라우저:&amp;nbsp;HTML&amp;nbsp;표시&amp;nbsp;(정적&amp;nbsp;상태) &lt;br /&gt;&amp;nbsp;&amp;nbsp;3.&amp;nbsp;React:&amp;nbsp;JavaScript&amp;nbsp;로드&amp;nbsp;후&amp;nbsp;HTML에&amp;nbsp;이벤트&amp;nbsp;연결&amp;nbsp;(Hydration) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Hydration&amp;nbsp;오류가&amp;nbsp;발생하는&amp;nbsp;경우 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;1.&amp;nbsp;시간/날짜&amp;nbsp;표시 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;❌&amp;nbsp;문제:&amp;nbsp;서버와&amp;nbsp;클라이언트&amp;nbsp;시간이&amp;nbsp;다름 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;gt;{new&amp;nbsp;Date().toLocaleString()}&amp;lt;/div&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;서버:&amp;nbsp;&quot;2025-07-26&amp;nbsp;12:26:14&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;클라이언트:&amp;nbsp;&quot;2025-07-26&amp;nbsp;12:26:17&quot;&amp;nbsp;(3초&amp;nbsp;후) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;✅&amp;nbsp;해결:&amp;nbsp;useEffect&amp;nbsp;사용 &lt;br /&gt;&amp;nbsp;&amp;nbsp;const&amp;nbsp;[time,&amp;nbsp;setTime]&amp;nbsp;=&amp;nbsp;useState(''); &lt;br /&gt;&amp;nbsp;&amp;nbsp;useEffect(()&amp;nbsp;=&amp;gt;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setTime(new&amp;nbsp;Date().toLocaleString()); &lt;br /&gt;&amp;nbsp;&amp;nbsp;},&amp;nbsp;[]); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;2.&amp;nbsp;Math.random()&amp;nbsp;사용 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;❌&amp;nbsp;문제:&amp;nbsp;서버와&amp;nbsp;클라이언트의&amp;nbsp;랜덤값이&amp;nbsp;다름 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;gt;{Math.random()}&amp;lt;/div&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;✅&amp;nbsp;해결:&amp;nbsp;useEffect&amp;nbsp;사용 &lt;br /&gt;&amp;nbsp;&amp;nbsp;const&amp;nbsp;[random,&amp;nbsp;setRandom]&amp;nbsp;=&amp;nbsp;useState(0); &lt;br /&gt;&amp;nbsp;&amp;nbsp;useEffect(()&amp;nbsp;=&amp;gt;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setRandom(Math.random()); &lt;br /&gt;&amp;nbsp;&amp;nbsp;},&amp;nbsp;[]); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;3.&amp;nbsp;브라우저&amp;nbsp;전용&amp;nbsp;API&amp;nbsp;사용 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;❌&amp;nbsp;문제:&amp;nbsp;window는&amp;nbsp;서버에&amp;nbsp;없음 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;gt;{window.innerWidth}px&amp;lt;/div&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;✅&amp;nbsp;해결:&amp;nbsp;useEffect&amp;nbsp;사용 &lt;br /&gt;&amp;nbsp;&amp;nbsp;const&amp;nbsp;[width,&amp;nbsp;setWidth]&amp;nbsp;=&amp;nbsp;useState(0); &lt;br /&gt;&amp;nbsp;&amp;nbsp;useEffect(()&amp;nbsp;=&amp;gt;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setWidth(window.innerWidth); &lt;br /&gt;&amp;nbsp;&amp;nbsp;},&amp;nbsp;[]); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;4.&amp;nbsp;조건부&amp;nbsp;렌더링 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;❌&amp;nbsp;문제:&amp;nbsp;localStorage는&amp;nbsp;서버에&amp;nbsp;없음 &lt;br /&gt;&amp;nbsp;&amp;nbsp;{localStorage.getItem('user')&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;&amp;lt;UserMenu&amp;nbsp;/&amp;gt;} &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;✅&amp;nbsp;해결:&amp;nbsp;useEffect&amp;nbsp;사용 &lt;br /&gt;&amp;nbsp;&amp;nbsp;const&amp;nbsp;[user,&amp;nbsp;setUser]&amp;nbsp;=&amp;nbsp;useState(null); &lt;br /&gt;&amp;nbsp;&amp;nbsp;useEffect(()&amp;nbsp;=&amp;gt;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setUser(localStorage.getItem('user')); &lt;br /&gt;&amp;nbsp;&amp;nbsp;},&amp;nbsp;[]); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;오류가&amp;nbsp;문제가&amp;nbsp;되는&amp;nbsp;이유 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;1.&amp;nbsp;사용자&amp;nbsp;경험&amp;nbsp;저하:&amp;nbsp;깜빡임,&amp;nbsp;레이아웃&amp;nbsp;변경 &lt;br /&gt;&amp;nbsp;&amp;nbsp;2.&amp;nbsp;성능&amp;nbsp;문제:&amp;nbsp;React가&amp;nbsp;전체&amp;nbsp;DOM을&amp;nbsp;다시&amp;nbsp;렌더링 &lt;br /&gt;&amp;nbsp;&amp;nbsp;3.&amp;nbsp;SEO&amp;nbsp;영향:&amp;nbsp;검색&amp;nbsp;엔진이&amp;nbsp;잘못된&amp;nbsp;콘텐츠&amp;nbsp;인덱싱 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;디버깅&amp;nbsp;방법 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;suppressHydrationWarning&amp;nbsp;사용&amp;nbsp;(임시&amp;nbsp;해결책) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;suppressHydrationWarning&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{new&amp;nbsp;Date().toLocaleString()} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;또는&amp;nbsp;동적&amp;nbsp;import&amp;nbsp;사용 &lt;br /&gt;&amp;nbsp;&amp;nbsp;const&amp;nbsp;DynamicComponent&amp;nbsp;=&amp;nbsp;dynamic( &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;()&amp;nbsp;=&amp;gt;&amp;nbsp;import('./TimeComponent'), &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;ssr:&amp;nbsp;false&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;);&lt;/p&gt;</description>
      <category>일반</category>
      <category>Hydration 오류</category>
      <category>localStorage는 서버에 없음</category>
      <category>useEffect 사용</category>
      <category>window는 서버에 없음</category>
      <category>동적 import</category>
      <category>브라우저 전용 API 사용</category>
      <category>서버와 클라이언트 시간이 다름</category>
      <category>서버와 클라이언트의 랜덤값이 다름</category>
      <category>조건부 렌더링</category>
      <author>관리자</author>
      <guid isPermaLink="true">https://capri.tistory.com/878</guid>
      <comments>https://capri.tistory.com/entry/Hydration-%EC%98%A4%EB%A5%98#entry878comment</comments>
      <pubDate>Sat, 26 Jul 2025 12:34:09 +0900</pubDate>
    </item>
    <item>
      <title>vite 6 + react 19 에 tailwind.css 4 + antd 5.24 적용하기</title>
      <link>https://capri.tistory.com/entry/vite-6-react-19-%EC%97%90-tailwindcss-4-antd-524-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;npm i tailwindcss&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;vite.config.js&lt;/p&gt;
&lt;div style=&quot;background-color: #1a1a1a; color: #d8dee9;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #94c1fa;&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;path&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; { &lt;/span&gt;&lt;span style=&quot;color: #94c1fa;&quot;&gt;fileURLToPath&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; } &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;'url'&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #94c1fa;&quot;&gt;tailwindcss&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;@tailwindcss/vite&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #94c1fa;&quot;&gt;react&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;@vitejs/plugin-react&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; { &lt;/span&gt;&lt;span style=&quot;color: #94c1fa;&quot;&gt;defineConfig&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; } &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;vite&quot;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #82d2ce;&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;__dirname&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #efb080;&quot;&gt;dirname&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;fileURLToPath&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #aa9bf5;&quot;&gt;meta&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #aa9bf5;&quot;&gt;url&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #6d6d6d;&quot;&gt;// &lt;a href=&quot;https://vite.dev/config/&quot;&gt;https://vite.dev/config/&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;default&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;defineConfig&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;({&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #aa9bf5;&quot;&gt;plugins&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;react&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(), &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;tailwindcss&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;()&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #aa9bf5;&quot;&gt;resolve&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #aa9bf5;&quot;&gt;alias&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;@&quot;&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #efb080;&quot;&gt;resolve&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;__dirname&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;./src&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; },&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; },&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;})&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;tailwind.config.js&lt;/p&gt;
&lt;div style=&quot;background-color: #1a1a1a; color: #d8dee9;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #6d6d6d;&quot;&gt;/** &lt;/span&gt;&lt;span style=&quot;color: #82d2ce;&quot;&gt;@type&lt;/span&gt;&lt;span style=&quot;color: #6d6d6d;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #efb080;&quot;&gt;{import('tailwindcss').Config}&lt;/span&gt;&lt;span style=&quot;color: #6d6d6d;&quot;&gt; */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;default&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #aa9bf5;&quot;&gt;darkMode&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;'class'&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #aa9bf5;&quot;&gt;content&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;[&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;./index.html&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;./src/**/*.{js,jsx,ts,tsx}&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #aa9bf5;&quot;&gt;theme&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #aa9bf5;&quot;&gt;extend&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #aa9bf5;&quot;&gt;colors&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #aa9bf5;&quot;&gt;primary&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;50&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;'#f0f9ff'&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;'#e0f2fe'&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;200&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;'#bae6fd'&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;300&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;'#7dd3fc'&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;400&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;'#38bdf8'&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;500&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;'#0ea5e9'&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;600&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;'#0284c7'&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;700&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;'#0369a1'&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;800&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;'#075985'&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;900&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;'#0c4a6e'&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;950&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;'#082f49'&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; },&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; },&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #aa9bf5;&quot;&gt;plugins&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;[]&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;} &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;index.css&lt;/p&gt;
&lt;div style=&quot;background-color: #1a1a1a; color: #d8dee9;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;@import&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;tailwindcss&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;</description>
      <category>일반</category>
      <author>관리자</author>
      <guid isPermaLink="true">https://capri.tistory.com/876</guid>
      <comments>https://capri.tistory.com/entry/vite-6-react-19-%EC%97%90-tailwindcss-4-antd-524-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0#entry876comment</comments>
      <pubDate>Tue, 15 Apr 2025 10:09:23 +0900</pubDate>
    </item>
    <item>
      <title>npm i  registry 관련 404 error</title>
      <link>https://capri.tistory.com/entry/npm-i-registry-%EA%B4%80%EB%A0%A8-404-error</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;레지스트리 설정 확인&lt;/p&gt;
&lt;pre id=&quot;code_1743654896871&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;npm config get registry&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공식레지스트리가 아닐시 변경&lt;/p&gt;
&lt;pre id=&quot;code_1743654916762&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;npm config set registry https://registry.npmjs.org/&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;캐시제거&lt;/p&gt;
&lt;pre id=&quot;code_1743654927164&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;npm cache clean --force&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;노드모듈 설치&lt;/p&gt;
&lt;pre id=&quot;code_1743654954099&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;npm i&lt;/code&gt;&lt;/pre&gt;</description>
      <category>일반</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/875</guid>
      <comments>https://capri.tistory.com/entry/npm-i-registry-%EA%B4%80%EB%A0%A8-404-error#entry875comment</comments>
      <pubDate>Thu, 3 Apr 2025 13:35:56 +0900</pubDate>
    </item>
    <item>
      <title>apt 리스트 확인 삭제</title>
      <link>https://capri.tistory.com/entry/apt-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%ED%99%95%EC%9D%B8-%EC%82%AD%EC%A0%9C</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1. 설치 가능한 패키지 검색&lt;/p&gt;
&lt;pre id=&quot;code_1742972315990&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ apt list 패키지명&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1742972329774&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ apt list zip*&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;2. 설치된 패키지 검색&lt;/p&gt;
&lt;pre id=&quot;code_1742972345668&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ apt --installed list&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1742972355845&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ apt --installed list *jdk*&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;3. 설치된 패키지 삭제&lt;/p&gt;
&lt;pre id=&quot;code_1742972370772&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ apt remove openjdk*&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1742972526020&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 완전삭제
$ sudo apt --purge remove [패키지이름]
# or
$ sudo purge remove [패키지이름]&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;4. 관련 패키지 삭제&lt;/p&gt;
&lt;pre id=&quot;code_1742972621813&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 패키지검색
$ dpkg --list | grep [패키지 이름]
# 패키지 삭제
$ sudo dpkg --purge [패키지 이름]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://velog.io/@coral2cola/Ubuntu-%ED%8C%A8%ED%82%A4%EC%A7%80-%EC%82%AD%EC%A0%9C%ED%95%98%EA%B8%B0&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://velog.io/@coral2cola/Ubuntu-%ED%8C%A8%ED%82%A4%EC%A7%80-%EC%82%AD%EC%A0%9C%ED%95%98%EA%B8%B0&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1742972546947&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;Ubuntu 패키지 삭제하기&quot; data-og-description=&quot;Ubuntu에서 기존에 설치했던 패키지를 설정파일까지 완전히 삭제하려면 어떻게 해야할까?&quot; data-og-host=&quot;velog.io&quot; data-og-source-url=&quot;https://velog.io/@coral2cola/Ubuntu-%ED%8C%A8%ED%82%A4%EC%A7%80-%EC%82%AD%EC%A0%9C%ED%95%98%EA%B8%B0&quot; data-og-url=&quot;https://velog.io/@coral2cola/Ubuntu-패키지-삭제하기&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/mf8oK/hyYxIr1vmI/8U7fjuiHyZJDEnt6JP2KZ1/img.png?width=960&amp;amp;height=502&amp;amp;face=0_0_960_502,https://scrap.kakaocdn.net/dn/dXyRWj/hyYxMHYHpO/uu7IKDMgo3qnnhFJItnri0/img.png?width=960&amp;amp;height=502&amp;amp;face=0_0_960_502,https://scrap.kakaocdn.net/dn/bJ753o/hyYxJkauKK/e8JAkfwRYuEvdDKgZoMuF1/img.jpg?width=1024&amp;amp;height=1365&amp;amp;face=277_232_596_581&quot;&gt;&lt;a href=&quot;https://velog.io/@coral2cola/Ubuntu-%ED%8C%A8%ED%82%A4%EC%A7%80-%EC%82%AD%EC%A0%9C%ED%95%98%EA%B8%B0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://velog.io/@coral2cola/Ubuntu-%ED%8C%A8%ED%82%A4%EC%A7%80-%EC%82%AD%EC%A0%9C%ED%95%98%EA%B8%B0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/mf8oK/hyYxIr1vmI/8U7fjuiHyZJDEnt6JP2KZ1/img.png?width=960&amp;amp;height=502&amp;amp;face=0_0_960_502,https://scrap.kakaocdn.net/dn/dXyRWj/hyYxMHYHpO/uu7IKDMgo3qnnhFJItnri0/img.png?width=960&amp;amp;height=502&amp;amp;face=0_0_960_502,https://scrap.kakaocdn.net/dn/bJ753o/hyYxJkauKK/e8JAkfwRYuEvdDKgZoMuF1/img.jpg?width=1024&amp;amp;height=1365&amp;amp;face=277_232_596_581');&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;Ubuntu 패키지 삭제하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Ubuntu에서 기존에 설치했던 패키지를 설정파일까지 완전히 삭제하려면 어떻게 해야할까?&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;velog.io&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://capri.tistory.com/874</guid>
      <comments>https://capri.tistory.com/entry/apt-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%ED%99%95%EC%9D%B8-%EC%82%AD%EC%A0%9C#entry874comment</comments>
      <pubDate>Wed, 26 Mar 2025 16:03:57 +0900</pubDate>
    </item>
    <item>
      <title>linux 파일 분할 압축 후 해제</title>
      <link>https://capri.tistory.com/entry/linux-%ED%8C%8C%EC%9D%BC-%EB%B6%84%ED%95%A0-%EC%95%95%EC%B6%95-%ED%9B%84-%ED%95%B4%EC%A0%9C</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;unzip과 zip사용시 분할압축된 파일을 zip으로 다시 합치고 unzip해야하므로 번거로움&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7z 설치&lt;/p&gt;
&lt;pre id=&quot;code_1742971814631&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# ubuntu
sudo apt install p7zip-full&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;7z로 압축 해제&lt;/p&gt;
&lt;pre id=&quot;code_1742971841647&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;7za x test.zip&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 id=&quot;code_1742972170820&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;7za x test.zip o.test&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://iambeginnerdeveloper.tistory.com/175&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://iambeginnerdeveloper.tistory.com/175&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1742972665039&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;Ubuntu | .7z 파일 압축 해제하기, Ubuntu .7z file unzip |  리눅스, p7zip(7-Zip) 사용&quot; data-og-description=&quot;이때까지 마주한 압축 파일 포맷은 .zip과 .tar이 전부였는데 이번에 .7z라는 파일을 마주하게 되었다. p7zip는 리눅스에서 사용할 수 있는 7-Zip이며 압축률이 높아서 zip이나 tgz보다 작은 파일을 만&quot; data-og-host=&quot;iambeginnerdeveloper.tistory.com&quot; data-og-source-url=&quot;https://iambeginnerdeveloper.tistory.com/175&quot; data-og-url=&quot;https://iambeginnerdeveloper.tistory.com/175&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/mENPq/hyYumYtsUu/Pht6vmVXK1B4ylDB3bBzE1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/BhmEb/hyYvi2mEXv/zEkxEdNBr3ah3vKBmWhvFk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800&quot;&gt;&lt;a href=&quot;https://iambeginnerdeveloper.tistory.com/175&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://iambeginnerdeveloper.tistory.com/175&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/mENPq/hyYumYtsUu/Pht6vmVXK1B4ylDB3bBzE1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/BhmEb/hyYvi2mEXv/zEkxEdNBr3ah3vKBmWhvFk/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;Ubuntu | .7z 파일 압축 해제하기, Ubuntu .7z file unzip | 리눅스, p7zip(7-Zip) 사용&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;이때까지 마주한 압축 파일 포맷은 .zip과 .tar이 전부였는데 이번에 .7z라는 파일을 마주하게 되었다. p7zip는 리눅스에서 사용할 수 있는 7-Zip이며 압축률이 높아서 zip이나 tgz보다 작은 파일을 만&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;iambeginnerdeveloper.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://capri.tistory.com/873</guid>
      <comments>https://capri.tistory.com/entry/linux-%ED%8C%8C%EC%9D%BC-%EB%B6%84%ED%95%A0-%EC%95%95%EC%B6%95-%ED%9B%84-%ED%95%B4%EC%A0%9C#entry873comment</comments>
      <pubDate>Wed, 26 Mar 2025 15:57:54 +0900</pubDate>
    </item>
    <item>
      <title>git lfs (Large File System) 설치 및 동작하기</title>
      <link>https://capri.tistory.com/entry/git-lfs-Large-File-System-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EB%8F%99%EC%9E%91%ED%95%98%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;git은 단일 파일이 100mb를 초과하는경우에는 일반 commit으로는 진행이 어렵다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 무료로 2gb까지 지원하는 git lfs를 설치 및 사용하면 파일 업로드가 가능하다&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://newsight.tistory.com/330&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://newsight.tistory.com/330&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1742877567154&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Git LFS (Large File Storage) 사용하기&quot; data-og-description=&quot;Git의 용량제한과 LFS기본적으로 git은 여러개의 작은 소스코드 파일들을 위한 버전 컨트롤 시스템(VCS)이다. 따라서 Github의 경우 50Mb부터 Warning이 표시되고, 100Mb부터는 push시 Error가 발생한다. 그럼&quot; data-og-host=&quot;newsight.tistory.com&quot; data-og-source-url=&quot;https://newsight.tistory.com/330&quot; data-og-url=&quot;https://newsight.tistory.com/330&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/nVvOS/hyYvrEHcC6/wqJhQvDhEHl6lDqz0lXRmK/img.jpg?width=800&amp;amp;height=545&amp;amp;face=0_0_800_545,https://scrap.kakaocdn.net/dn/AZOcY/hyYvhhNmYD/pnd7rXXrc0ny4Fiks97sI0/img.jpg?width=800&amp;amp;height=545&amp;amp;face=0_0_800_545&quot;&gt;&lt;a href=&quot;https://newsight.tistory.com/330&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://newsight.tistory.com/330&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/nVvOS/hyYvrEHcC6/wqJhQvDhEHl6lDqz0lXRmK/img.jpg?width=800&amp;amp;height=545&amp;amp;face=0_0_800_545,https://scrap.kakaocdn.net/dn/AZOcY/hyYvhhNmYD/pnd7rXXrc0ny4Fiks97sI0/img.jpg?width=800&amp;amp;height=545&amp;amp;face=0_0_800_545');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Git LFS (Large File Storage) 사용하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Git의 용량제한과 LFS기본적으로 git은 여러개의 작은 소스코드 파일들을 위한 버전 컨트롤 시스템(VCS)이다. 따라서 Github의 경우 50Mb부터 Warning이 표시되고, 100Mb부터는 push시 Error가 발생한다. 그럼&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;newsight.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://miiingo.tistory.com/333&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://miiingo.tistory.com/333&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1742878564987&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Git] Ubuntu 16.04에서 Git LFS(Large File Storage) 사용법&quot; data-og-description=&quot;Git LFS란? 프로젝트를 GitLab에 올리려고 했더니 다음과 같은 오류가 발생했다. remote: GitLab: LFS objects are missing. Ensure LFS is properly set up or try a manual &amp;quot;git lfs push --all&amp;quot;. To http://localhost:9010/honeybee/issuer-rest&quot; data-og-host=&quot;miiingo.tistory.com&quot; data-og-source-url=&quot;https://miiingo.tistory.com/333&quot; data-og-url=&quot;https://miiingo.tistory.com/333&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/J1aDx/hyYujG9fkS/dq5dRH9fnEUq932vNPPUv0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/J1aDx/hyYujG9fkS/dq5dRH9fnEUq932vNPPUv0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800&quot;&gt;&lt;a href=&quot;https://miiingo.tistory.com/333&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://miiingo.tistory.com/333&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/J1aDx/hyYujG9fkS/dq5dRH9fnEUq932vNPPUv0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/J1aDx/hyYujG9fkS/dq5dRH9fnEUq932vNPPUv0/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;[Git] Ubuntu 16.04에서 Git LFS(Large File Storage) 사용법&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Git LFS란? 프로젝트를 GitLab에 올리려고 했더니 다음과 같은 오류가 발생했다. remote: GitLab: LFS objects are missing. Ensure LFS is properly set up or try a manual &quot;git lfs push --all&quot;. To http://localhost:9010/honeybee/issuer-rest&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;miiingo.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;&lt;b&gt;로컬에 설치&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742878747761&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# git lfs 설치(git bash)
git lfs install
# git lfs가 추적할 파일 확장자 지정
git lfs track &quot;*.zip&quot;
# .gitattributes 생성
git add .gitattributes
# .gitattributes 확인
cat .gitattributes 
#*.zip filter=lfs diff=lfs merge=lfs -text

# git config 설정
git config lfs.allowincompletepush true

# git add/commit push 실행&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;서버에서 설치&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://packagecloud.io/github/git-lfs/install#bash-deb&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://packagecloud.io/github/git-lfs/install#bash-deb&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1742883186583&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;github/git-lfs - Installation &amp;middot; packagecloud&quot; data-og-description=&quot;Installation instructions for the github/git-lfs package repository.&quot; data-og-host=&quot;packagecloud.io&quot; data-og-source-url=&quot;https://packagecloud.io/github/git-lfs/install#bash-deb&quot; data-og-url=&quot;https://packagecloud.io/github/git-lfs/install#bash-deb&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://packagecloud.io/github/git-lfs/install#bash-deb&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://packagecloud.io/github/git-lfs/install#bash-deb&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;github/git-lfs - Installation &amp;middot; packagecloud&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Installation instructions for the github/git-lfs package repository.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;packagecloud.io&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;pre id=&quot;code_1742883173008&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt install git-lfs

# sudo 권한이 없을 경우
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
apt install git-lfs&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;lfs설정이 다 된뒤에 필요한곳에서 git clone으로 가져와야지만 lfs가 설정된 상태로 가져와짐!!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존에 clone으로 가져온 repo가 있다면 삭제 후 다시 가져오기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;commit한개당 파일 용량이 누적으로 적용되므로 변화하는 데이터를 적용하면 용량이 많이 필요&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;a href=&quot;https://blog.syki66.com/2021/04/09/git-lfs-untrack/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://blog.syki66.com/2021/04/09/git-lfs-untrack/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1742964695592&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[git lfs untrack] 깃, lfs 추적 해제, 원격 저장소 lfs 저장공간 확보 | syki66 blog&quot; data-og-description=&quot;How to untrack git lfs files&quot; data-og-host=&quot;blog.syki66.com&quot; data-og-source-url=&quot;https://blog.syki66.com/2021/04/09/git-lfs-untrack/&quot; data-og-url=&quot;https://syki66.com/2021/04/09/git-lfs-untrack/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://blog.syki66.com/2021/04/09/git-lfs-untrack/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://blog.syki66.com/2021/04/09/git-lfs-untrack/&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;[git lfs untrack] 깃, lfs 추적 해제, 원격 저장소 lfs 저장공간 확보 | syki66 blog&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;How to untrack git lfs files&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.syki66.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;pre id=&quot;code_1743654799570&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;npm config get registry&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확인후 기본 레지스트리 아닐시 변경 필요&lt;/p&gt;
&lt;pre id=&quot;code_1743654828483&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;npm config set registry https://registry.npmjs.org/&lt;/code&gt;&lt;/pre&gt;</description>
      <category>일반</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/872</guid>
      <comments>https://capri.tistory.com/entry/git-lfs-Large-File-System-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EB%8F%99%EC%9E%91%ED%95%98%EA%B8%B0#entry872comment</comments>
      <pubDate>Tue, 25 Mar 2025 15:13:53 +0900</pubDate>
    </item>
    <item>
      <title>next.js vscode 성능 저하 , 속도 느림</title>
      <link>https://capri.tistory.com/entry/nextjs-vscode-%EC%84%B1%EB%8A%A5-%EC%A0%80%ED%95%98-%EC%86%8D%EB%8F%84-%EB%8A%90%EB%A6%BC</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/vercel/next.js/discussions/38477&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://github.com/vercel/next.js/discussions/38477&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1742362089183&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;Nextjs project is very slow to save file in VS Code &amp;middot; vercel next.js &amp;middot; Discussion #38477&quot; data-og-description=&quot;I am building the project with nextjs and antd, in VS Code it is very slow every time I save the file. I don't know why this is happening, does anyone know how to fix this?&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/vercel/next.js/discussions/38477&quot; data-og-url=&quot;https://github.com/vercel/next.js/discussions/38477&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dey6aG/hyYqQrXhnK/n4so5SdPs2e6C8SksijtXK/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600,https://scrap.kakaocdn.net/dn/9JYnZ/hyYvr4II1P/e3DEQLsPkG7F87XhCHtnzK/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/vercel/next.js/discussions/38477&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/vercel/next.js/discussions/38477&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dey6aG/hyYqQrXhnK/n4so5SdPs2e6C8SksijtXK/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600,https://scrap.kakaocdn.net/dn/9JYnZ/hyYvr4II1P/e3DEQLsPkG7F87XhCHtnzK/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;Nextjs project is very slow to save file in VS Code &amp;middot; vercel next.js &amp;middot; Discussion #38477&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;I am building the project with nextjs and antd, in VS Code it is very slow every time I save the file. I don't know why this is happening, does anyone know how to fix this?&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 data-ke-size=&quot;size16&quot;&gt;문제 원인:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Next js사용 중 자동완성 및 복사 붙여넣기, 포맷팅의 속도가 느려지는 현상 발생&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;vscode의 extension과의 충돌 발생 -&amp;gt; extension삭제 후 해결완료&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Auto Import 삭제&lt;/li&gt;
&lt;li&gt;GitLens 삭제&lt;/li&gt;
&lt;li&gt;live Server 삭제&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;426&quot; data-origin-height=&quot;293&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1M2b3/btsMQggq4eB/MZaHzLko3A1U7jWcsfQ8u0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1M2b3/btsMQggq4eB/MZaHzLko3A1U7jWcsfQ8u0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1M2b3/btsMQggq4eB/MZaHzLko3A1U7jWcsfQ8u0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1M2b3%2FbtsMQggq4eB%2FMZaHzLko3A1U7jWcsfQ8u0%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;426&quot; height=&quot;293&quot; data-origin-width=&quot;426&quot; data-origin-height=&quot;293&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;432&quot; data-origin-height=&quot;78&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGw26E/btsMOuOfcU4/tUMiVMKmKAQbZkM4Vx3lM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGw26E/btsMOuOfcU4/tUMiVMKmKAQbZkM4Vx3lM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGw26E/btsMOuOfcU4/tUMiVMKmKAQbZkM4Vx3lM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGw26E%2FbtsMOuOfcU4%2FtUMiVMKmKAQbZkM4Vx3lM0%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;432&quot; height=&quot;78&quot; data-origin-width=&quot;432&quot; data-origin-height=&quot;78&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;428&quot; data-origin-height=&quot;66&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/crlhKq/btsMQfPpiRq/2aDf5xZFTRkufqz1SQbqo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/crlhKq/btsMQfPpiRq/2aDf5xZFTRkufqz1SQbqo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/crlhKq/btsMQfPpiRq/2aDf5xZFTRkufqz1SQbqo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcrlhKq%2FbtsMQfPpiRq%2F2aDf5xZFTRkufqz1SQbqo0%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;428&quot; height=&quot;66&quot; data-origin-width=&quot;428&quot; data-origin-height=&quot;66&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>일반</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/871</guid>
      <comments>https://capri.tistory.com/entry/nextjs-vscode-%EC%84%B1%EB%8A%A5-%EC%A0%80%ED%95%98-%EC%86%8D%EB%8F%84-%EB%8A%90%EB%A6%BC#entry871comment</comments>
      <pubDate>Wed, 19 Mar 2025 14:31:30 +0900</pubDate>
    </item>
    <item>
      <title>20250311</title>
      <link>https://capri.tistory.com/entry/20250311</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;현재 CMAN 남은 항목&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;회원가입 시 왼쪽에 사용자 리스트 출력 및 검색-id/이름 (관리자) &amp;rarr;승인여부 추가 및 마무리&lt;/li&gt;
&lt;li&gt;로봇 + 오렌지파이 목장주 문자보내기 기능 현재 누락&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘 진행할 예정&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;회원가입 시 왼쪽에 사용자 리스트 출력 및 검색-id/이름 (관리자) &amp;rarr;승인여부 추가 및 마무리&lt;/li&gt;
&lt;li&gt;로봇 + 오렌지파이 목장주 문자보내기 기능 현재 누락&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>일반</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/870</guid>
      <comments>https://capri.tistory.com/entry/20250311#entry870comment</comments>
      <pubDate>Tue, 11 Mar 2025 13:02:08 +0900</pubDate>
    </item>
    <item>
      <title>20240310 TODO</title>
      <link>https://capri.tistory.com/entry/20240310-TODO</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;현재 CMAN 남은 항목&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다중파일관련 항목 마무리 예정&lt;/li&gt;
&lt;li&gt;로봇 + 오렌지파이 목장주 문자보내기 기능 현재 누락&lt;/li&gt;
&lt;li&gt;회원가입 시 왼쪽에 사용자 리스트 출력 및 검색-id/이름 (관리자) &amp;rarr;승인여부 추가&lt;/li&gt;
&lt;/ul&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다중파일관련 항목 마무리 예정&lt;/li&gt;
&lt;li&gt;회원가입 시 왼쪽에 사용자 리스트 출력 및 검색-id/이름 (관리자) &amp;rarr;승인여부 추가&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/869</guid>
      <comments>https://capri.tistory.com/entry/20240310-TODO#entry869comment</comments>
      <pubDate>Mon, 10 Mar 2025 09:48:45 +0900</pubDate>
    </item>
    <item>
      <title>vite 6 + react 19 에 tailwind.css 3.4 + antd 5.24 적용하기</title>
      <link>https://capri.tistory.com/entry/vite-6-react-19-%EC%97%90-tailwindcss-34-antd-524-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;★&amp;nbsp;&amp;nbsp;1 &lt;br /&gt;npm&amp;nbsp;create&amp;nbsp;vite@latest&amp;nbsp;.&amp;nbsp;--&amp;nbsp;--template&amp;nbsp;react &lt;br /&gt;&lt;br /&gt;★&amp;nbsp;2 &lt;br /&gt;npm&amp;nbsp;install&amp;nbsp;-D&amp;nbsp;tailwindcss@3&amp;nbsp;postcss&amp;nbsp;autoprefixer &lt;br /&gt;&lt;br /&gt;★&amp;nbsp;3&amp;nbsp;-&amp;nbsp;postcss.config.cjs &lt;br /&gt;module.exports&amp;nbsp;=&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;plugins:&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tailwindcss:&amp;nbsp;{}, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;autoprefixer:&amp;nbsp;{}, &lt;br /&gt;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;★&amp;nbsp;4 &lt;br /&gt;npm&amp;nbsp;i&amp;nbsp;antd &lt;br /&gt;&lt;br /&gt;★&amp;nbsp;5 &lt;br /&gt;npx&amp;nbsp;tailwind&amp;nbsp;init&amp;nbsp;&amp;lt;---&amp;nbsp;3.x에서&amp;nbsp;필요 &lt;br /&gt;&lt;br /&gt;★&amp;nbsp;6&amp;nbsp;-&amp;nbsp;index.css &lt;br /&gt;@layer&amp;nbsp;tailwind-base,&amp;nbsp;antd; &lt;br /&gt;@layer&amp;nbsp;tailwind-base&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;@tailwind&amp;nbsp;base; &lt;br /&gt;} &lt;br /&gt;@tailwind&amp;nbsp;components; &lt;br /&gt;@tailwind&amp;nbsp;utilities; &lt;br /&gt;&lt;br /&gt;★&amp;nbsp;7&amp;nbsp;-&amp;nbsp;tailwind.config.js &lt;br /&gt;export&amp;nbsp;default&amp;nbsp;{&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;content:&amp;nbsp;[&quot;./src/**/*.{html,js,jsx}&quot;], &lt;br /&gt;&amp;nbsp;&amp;nbsp;theme:&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;extend:&amp;nbsp;{}, &lt;br /&gt;&amp;nbsp;&amp;nbsp;}, &lt;br /&gt;&amp;nbsp;&amp;nbsp;plugins:&amp;nbsp;[], &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;★&amp;nbsp;8&amp;nbsp;-&amp;nbsp;vite.config.js&amp;nbsp;,&amp;nbsp;&amp;nbsp;절대경로 &lt;br /&gt;import&amp;nbsp;{&amp;nbsp;defineConfig&amp;nbsp;}&amp;nbsp;from&amp;nbsp;'vite' &lt;br /&gt;import&amp;nbsp;react&amp;nbsp;from&amp;nbsp;'@vitejs/plugin-react' &lt;br /&gt;import&amp;nbsp;{&amp;nbsp;resolve&amp;nbsp;}&amp;nbsp;from&amp;nbsp;'path'; &lt;br /&gt;&lt;br /&gt;//&amp;nbsp;&lt;a href=&quot;https://vite.dev/config/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://vite.dev/config/&lt;/a&gt;&lt;br /&gt;export&amp;nbsp;default&amp;nbsp;defineConfig({ &lt;br /&gt;&amp;nbsp;&amp;nbsp;plugins:&amp;nbsp;[ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;react(), &lt;br /&gt;&amp;nbsp;&amp;nbsp;], &lt;br /&gt;&amp;nbsp;&amp;nbsp;resolve:&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alias:&amp;nbsp;[ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;find:&amp;nbsp;&quot;@&quot;,&amp;nbsp;replacement:&amp;nbsp;&quot;/src&quot;&amp;nbsp;}, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;find:&amp;nbsp;&quot;@components&quot;,&amp;nbsp;replacement:&amp;nbsp;&quot;/src/components&quot;&amp;nbsp;}, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;find:&amp;nbsp;&quot;@headers&quot;,&amp;nbsp;replacement:&amp;nbsp;&quot;/src/components/headers&quot;&amp;nbsp;}, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;find:&amp;nbsp;&quot;@pages&quot;,&amp;nbsp;replacement:&amp;nbsp;&quot;/src/pages&quot;&amp;nbsp;}, &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;find:&amp;nbsp;'@',&amp;nbsp;replacement:&amp;nbsp;resolve(__dirname,&amp;nbsp;'src')&amp;nbsp;}, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;find:&amp;nbsp;'@pages',&amp;nbsp;replacement:&amp;nbsp;resolve(__dirname,&amp;nbsp;'src/pages')&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;], &lt;br /&gt;&amp;nbsp;&amp;nbsp;}, &lt;br /&gt;&amp;nbsp;&amp;nbsp;server:&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;port:&amp;nbsp;3000 &lt;br /&gt;&amp;nbsp;&amp;nbsp;}, &lt;br /&gt;&amp;nbsp;&amp;nbsp;preview:&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;port:&amp;nbsp;8080 &lt;br /&gt;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;}) &lt;br /&gt;&lt;br /&gt;★&amp;nbsp;9&amp;nbsp;-&amp;nbsp;index.css &lt;br /&gt;@layer&amp;nbsp;tailwind-base,&amp;nbsp;antd; &lt;br /&gt;@layer&amp;nbsp;tailwind-base&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;@tailwind&amp;nbsp;base; &lt;br /&gt;} &lt;br /&gt;@tailwind&amp;nbsp;components; &lt;br /&gt;@tailwind&amp;nbsp;utilities; &lt;br /&gt;&lt;br /&gt;★&amp;nbsp;10&amp;nbsp;-&amp;nbsp;App.css&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;DALL&amp;amp;middot;E 2025-02-24 16.00.58 - A simple and clean UI design showcasing a React 19 and Vite 6 project with Tailwind CSS 3.4 and Ant Design 5.24. The image features a minimalistic das.webp&quot; data-origin-width=&quot;1792&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CTtoL/btsMsPevAGB/mJ3miA5xkKIQXAqamuDKyK/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CTtoL/btsMsPevAGB/mJ3miA5xkKIQXAqamuDKyK/img.webp&quot; data-alt=&quot;vite 6 + react 19 에 tailwind.css 3.4 + antd 5.24&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CTtoL/btsMsPevAGB/mJ3miA5xkKIQXAqamuDKyK/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCTtoL%2FbtsMsPevAGB%2FmJ3miA5xkKIQXAqamuDKyK%2Fimg.webp&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;1792&quot; height=&quot;1024&quot; data-filename=&quot;DALL&amp;middot;E 2025-02-24 16.00.58 - A simple and clean UI design showcasing a React 19 and Vite 6 project with Tailwind CSS 3.4 and Ant Design 5.24. The image features a minimalistic das.webp&quot; data-origin-width=&quot;1792&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;vite 6 + react 19 에 tailwind.css 3.4 + antd 5.24&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>일반</category>
      <category>AntDesign</category>
      <category>react</category>
      <category>tailwind</category>
      <category>vite</category>
      <category>상대경로</category>
      <category>절대경로</category>
      <category>포트변경</category>
      <author>관리자</author>
      <guid isPermaLink="true">https://capri.tistory.com/868</guid>
      <comments>https://capri.tistory.com/entry/vite-6-react-19-%EC%97%90-tailwindcss-34-antd-524-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0#entry868comment</comments>
      <pubDate>Mon, 24 Feb 2025 16:01:49 +0900</pubDate>
    </item>
    <item>
      <title>next error boundary / global error</title>
      <link>https://capri.tistory.com/entry/next-error-boundary-global-error</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://nextjs.org/docs/app/api-reference/file-conventions/error&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://nextjs.org/docs/app/api-reference/file-conventions/error&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1739340056352&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;File Conventions: error.js | Next.js&quot; data-og-description=&quot;API reference for the error.js special file.&quot; data-og-host=&quot;nextjs.org&quot; data-og-source-url=&quot;https://nextjs.org/docs/app/api-reference/file-conventions/error&quot; data-og-url=&quot;https://nextjs.org/docs/app/api-reference/file-conventions/error&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/oQ409/hyYclFvI5S/XVpUs0EmKpLhEkit2xe2c0/img.png?width=843&amp;amp;height=441&amp;amp;face=0_0_843_441,https://scrap.kakaocdn.net/dn/cou3J2/hyYahpFd9W/38PkPGJd2VHevBXctVrNTK/img.png?width=843&amp;amp;height=441&amp;amp;face=0_0_843_441,https://scrap.kakaocdn.net/dn/bk8WLa/hyYccIyzKE/H6Lfu5OASfk9OOrOFZ1t30/img.png?width=1600&amp;amp;height=901&amp;amp;face=0_0_1600_901&quot;&gt;&lt;a href=&quot;https://nextjs.org/docs/app/api-reference/file-conventions/error&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://nextjs.org/docs/app/api-reference/file-conventions/error&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/oQ409/hyYclFvI5S/XVpUs0EmKpLhEkit2xe2c0/img.png?width=843&amp;amp;height=441&amp;amp;face=0_0_843_441,https://scrap.kakaocdn.net/dn/cou3J2/hyYahpFd9W/38PkPGJd2VHevBXctVrNTK/img.png?width=843&amp;amp;height=441&amp;amp;face=0_0_843_441,https://scrap.kakaocdn.net/dn/bk8WLa/hyYccIyzKE/H6Lfu5OASfk9OOrOFZ1t30/img.png?width=1600&amp;amp;height=901&amp;amp;face=0_0_1600_901');&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;File Conventions: error.js | Next.js&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;API reference for the error.js special file.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;nextjs.org&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;특정 페이지 블록의 error를 지정 =&amp;gt; error boundary&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;전체 에러페이지 global error&lt;/p&gt;</description>
      <category>일반</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/867</guid>
      <comments>https://capri.tistory.com/entry/next-error-boundary-global-error#entry867comment</comments>
      <pubDate>Wed, 12 Feb 2025 15:02:38 +0900</pubDate>
    </item>
    <item>
      <title>vite + react 에  tailwind.css + antd 적용하기</title>
      <link>https://capri.tistory.com/entry/vite-tailwindcss-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1. react 프로젝트 만들기&lt;/p&gt;
&lt;pre id=&quot;code_1738816759587&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;npm create vite@latest . -- --template react&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;. 대신 원하는 프로젝트 명 을 가진 directory 생성가능&lt;br /&gt;latest 대신 원하는 버전 지정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;react 대신 vue나 기타 template 지정&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. tailwind 설치&amp;nbsp; 공식문서&amp;gt;&amp;gt; &lt;a href=&quot;https://tailwindcss.com/docs/installation/using-vite&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://tailwindcss.com/docs/installation/using-vite&lt;/a&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1738810208000&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;npm i tailwindcss  @tailwindcss/vite&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. vite.config.js 설정&lt;/p&gt;
&lt;pre id=&quot;code_1738810245706&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import { defineConfig } from 'vite'
import tailwindcss from '@tailwindcss/vite'
import react from '@vitejs/plugin-react'

// https://vite.dev/config/
export default defineConfig({
  plugins: [
    react(),
    tailwindcss(),
  ],
})&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;4. src/App.css 설정&lt;/p&gt;
&lt;pre id=&quot;code_1738810285787&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@import &quot;tailwindcss&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. src/App.jsx 에 App.css import&lt;/p&gt;
&lt;pre id=&quot;code_1738810316830&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import { useState } from 'react'
import './App.css'

function App() {

  return (
    &amp;lt;&amp;gt;
      &amp;lt;h1 className=&quot;text-red-500 text-3xl font-bold underline&quot;&amp;gt;
        Hello world!
      &amp;lt;/h1&amp;gt;
    &amp;lt;/&amp;gt;
  )
}

export default App&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. vite port변경 server default &amp;gt; 5173/ preview default &amp;gt; 4173 (필요 시)&amp;nbsp; &amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://ko.vite.dev/config/preview-options.html#preview-port&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://ko.vite.dev/config/preview-options.html#preview-port&lt;/a&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1738817122953&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import { defineConfig } from 'vite'
import tailwindcss from '@tailwindcss/vite'
import react from '@vitejs/plugin-react'

// https://vite.dev/config/
export default defineConfig({
  plugins: [
    react(),
    tailwindcss(),
  ],
  server: {
    port: 3000
  },
  preview: {
    port: 8080
  }
})&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. antd설치&lt;/p&gt;
&lt;pre id=&quot;code_1738817301431&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;npm i antd&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. tailwind + antd 적용하기 App.css 적용 전에 antd css 먼저 적용&lt;/p&gt;
&lt;pre id=&quot;code_1738817793966&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@import 'antd/dist/reset.css';
@import &quot;tailwindcss&quot;;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>일반</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/866</guid>
      <comments>https://capri.tistory.com/entry/vite-tailwindcss-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0#entry866comment</comments>
      <pubDate>Thu, 6 Feb 2025 11:52:18 +0900</pubDate>
    </item>
    <item>
      <title>20250204 ~20250205 TODO</title>
      <link>https://capri.tistory.com/entry/20250204-20250205-TODO</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;s&gt;네비게이션의 이슈의 미해결 이슈 갯수 수정( 사용자가 설정한 옵션에 따라 변경되도록 수정)&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;DBSetting의 컴포넌트 분리&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;초기 로그인을 하지 않은 상태일때 에러처리 추가&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;defaultSettingData의 util로의 분리&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;antd tag의 event충돌 해결&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;processIssue의 담당자 필터링 제거&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;processIssue의 렌더링이 되지 않는 문제 해결&lt;/li&gt;
&lt;li&gt;processIssue의 이슈 작성부분 접기&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/865</guid>
      <comments>https://capri.tistory.com/entry/20250204-20250205-TODO#entry865comment</comments>
      <pubDate>Tue, 4 Feb 2025 15:32:44 +0900</pubDate>
    </item>
    <item>
      <title>CSS 최신문법(where/is/has/not)</title>
      <link>https://capri.tistory.com/entry/CSS-%EC%B5%9C%EC%8B%A0%EB%AC%B8%EB%B2%95whereishasnot</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://inpa.tistory.com/entry/%F0%9F%8C%9F-css-where-is-has-not&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://inpa.tistory.com/entry/%F0%9F%8C%9F-css-where-is-has-not&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1736832089647&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;  CSS 선택자를 모던하게 :where() / :is() / :has() / :not()&quot; data-og-description=&quot;:where() 가상 선택자 :where 의사 클래스 선택자는 css 코딩할때 선택자의 중복을 줄이는 데 도움이 되는 녀석이다. 예를들어 다음과 같이 여러 엘리먼트 안에 있는 anchor 태그에 hover 효과를 주기위&quot; data-og-host=&quot;inpa.tistory.com&quot; data-og-source-url=&quot;https://inpa.tistory.com/entry/%F0%9F%8C%9F-css-where-is-has-not&quot; data-og-url=&quot;https://inpa.tistory.com/entry/%F0%9F%8C%9F-css-where-is-has-not&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/be6xq7/hyX0lrvkZZ/zoBaEDBk6fJelwDv2Ik7F1/img.jpg?width=800&amp;amp;height=336&amp;amp;face=0_0_800_336,https://scrap.kakaocdn.net/dn/pd0gL/hyX0sEcCc3/3BXwOt9dKlls5De2u7mZAK/img.jpg?width=800&amp;amp;height=336&amp;amp;face=0_0_800_336,https://scrap.kakaocdn.net/dn/eflwOK/hyX0y5sIjj/p43CTmkzxES18eFcIWz8AK/img.png?width=1023&amp;amp;height=390&amp;amp;face=0_0_1023_390&quot;&gt;&lt;a href=&quot;https://inpa.tistory.com/entry/%F0%9F%8C%9F-css-where-is-has-not&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://inpa.tistory.com/entry/%F0%9F%8C%9F-css-where-is-has-not&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/be6xq7/hyX0lrvkZZ/zoBaEDBk6fJelwDv2Ik7F1/img.jpg?width=800&amp;amp;height=336&amp;amp;face=0_0_800_336,https://scrap.kakaocdn.net/dn/pd0gL/hyX0sEcCc3/3BXwOt9dKlls5De2u7mZAK/img.jpg?width=800&amp;amp;height=336&amp;amp;face=0_0_800_336,https://scrap.kakaocdn.net/dn/eflwOK/hyX0y5sIjj/p43CTmkzxES18eFcIWz8AK/img.png?width=1023&amp;amp;height=390&amp;amp;face=0_0_1023_390');&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;  CSS 선택자를 모던하게 :where() / :is() / :has() / :not()&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;:where() 가상 선택자 :where 의사 클래스 선택자는 css 코딩할때 선택자의 중복을 줄이는 데 도움이 되는 녀석이다. 예를들어 다음과 같이 여러 엘리먼트 안에 있는 anchor 태그에 hover 효과를 주기위&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;inpa.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://capri.tistory.com/864</guid>
      <comments>https://capri.tistory.com/entry/CSS-%EC%B5%9C%EC%8B%A0%EB%AC%B8%EB%B2%95whereishasnot#entry864comment</comments>
      <pubDate>Tue, 14 Jan 2025 14:21:35 +0900</pubDate>
    </item>
    <item>
      <title>이미지 파일 DB저장 및 url호출</title>
      <link>https://capri.tistory.com/entry/%EC%9D%B4%EB%AF%B8%EC%A7%80-%ED%8C%8C%EC%9D%BC-DB%EC%A0%80%EC%9E%A5-%EB%B0%8F-url%ED%98%B8%EC%B6%9C</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;이미지 파일 저장 시 기본적으로 알아야하는 파일 저장 형태&amp;nbsp;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-Base64-Blob-ArrayBuffer-File-%EB%8B%A4%EB%A3%A8%EA%B8%B0-%EC%A0%95%EB%A7%90-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-Base64-Blob-ArrayBuffer-File-%EB%8B%A4%EB%A3%A8%EA%B8%B0-%EC%A0%95%EB%A7%90-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1735522963063&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;  Base64 / Blob / ArrayBuffer / File 다루기 총정리&quot; data-og-description=&quot;웹 개발을 진행하다 보면 이진 데이터를 다루어야 할 때를 간혹 마주칠 수 있다. 브라우저에선 주로 파일 생성, 업로드, 다운로드 또는 이미지 처리와 관련이 깊고, 서버 사이드인 node.js 에선 파&quot; data-og-host=&quot;inpa.tistory.com&quot; data-og-source-url=&quot;https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-Base64-Blob-ArrayBuffer-File-%EB%8B%A4%EB%A3%A8%EA%B8%B0-%EC%A0%95%EB%A7%90-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85&quot; data-og-url=&quot;https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-Base64-Blob-ArrayBuffer-File-%EB%8B%A4%EB%A3%A8%EA%B8%B0-%EC%A0%95%EB%A7%90-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bHDvpQ/hyXSzRh7MO/WItywWFkKO7DanJz7V0BMK/img.png?width=800&amp;amp;height=473&amp;amp;face=0_0_800_473,https://scrap.kakaocdn.net/dn/yIrJx/hyXWoHkRB5/83206OKPBFs7KPW59rohWK/img.png?width=800&amp;amp;height=473&amp;amp;face=0_0_800_473,https://scrap.kakaocdn.net/dn/ciaxTd/hyXWxROvBc/Wgsj9UTQ5DbtpwVOztR8O1/img.png?width=1190&amp;amp;height=775&amp;amp;face=0_0_1190_775&quot;&gt;&lt;a href=&quot;https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-Base64-Blob-ArrayBuffer-File-%EB%8B%A4%EB%A3%A8%EA%B8%B0-%EC%A0%95%EB%A7%90-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-Base64-Blob-ArrayBuffer-File-%EB%8B%A4%EB%A3%A8%EA%B8%B0-%EC%A0%95%EB%A7%90-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bHDvpQ/hyXSzRh7MO/WItywWFkKO7DanJz7V0BMK/img.png?width=800&amp;amp;height=473&amp;amp;face=0_0_800_473,https://scrap.kakaocdn.net/dn/yIrJx/hyXWoHkRB5/83206OKPBFs7KPW59rohWK/img.png?width=800&amp;amp;height=473&amp;amp;face=0_0_800_473,https://scrap.kakaocdn.net/dn/ciaxTd/hyXWxROvBc/Wgsj9UTQ5DbtpwVOztR8O1/img.png?width=1190&amp;amp;height=775&amp;amp;face=0_0_1190_775');&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;  Base64 / Blob / ArrayBuffer / File 다루기 총정리&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;웹 개발을 진행하다 보면 이진 데이터를 다루어야 할 때를 간혹 마주칠 수 있다. 브라우저에선 주로 파일 생성, 업로드, 다운로드 또는 이미지 처리와 관련이 깊고, 서버 사이드인 node.js 에선 파&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;inpa.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;h3 data-ke-size=&quot;size23&quot;&gt;hook을 이용한 data저장&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://zindex.tistory.com/365&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://zindex.tistory.com/365&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1735522999141&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;[React] React Quill 에디터 라이브러리 사용 3-이미지 처리/편집 완료 ✨(feat.react-quill-new)&quot; data-og-description=&quot;  [관련 정리 리스트]React Quill 1-에디터 사용React Quill 2-이미지처리(편집중/참고만)React Quill 3-이미지처리(편집완료/사용)React Quill 4-이미지 리사이즈위 목록 중 2와 같이 에디터 편집 중일때 이미&quot; data-og-host=&quot;zindex.tistory.com&quot; data-og-source-url=&quot;https://zindex.tistory.com/365&quot; data-og-url=&quot;https://zindex.tistory.com/365&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Yh3o6/hyXWvl9W8G/mHOUY6dEuoI8XBrDJYBxK0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/v1n3w/hyXWqkQ0d8/13dYmmpj6QhQVGTTEekEjK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800&quot;&gt;&lt;a href=&quot;https://zindex.tistory.com/365&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://zindex.tistory.com/365&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Yh3o6/hyXWvl9W8G/mHOUY6dEuoI8XBrDJYBxK0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/v1n3w/hyXWqkQ0d8/13dYmmpj6QhQVGTTEekEjK/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;[React] React Quill 에디터 라이브러리 사용 3-이미지 처리/편집 완료 ✨(feat.react-quill-new)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;  [관련 정리 리스트]React Quill 1-에디터 사용React Quill 2-이미지처리(편집중/참고만)React Quill 3-이미지처리(편집완료/사용)React Quill 4-이미지 리사이즈위 목록 중 2와 같이 에디터 편집 중일때 이미&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;zindex.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://capri.tistory.com/863</guid>
      <comments>https://capri.tistory.com/entry/%EC%9D%B4%EB%AF%B8%EC%A7%80-%ED%8C%8C%EC%9D%BC-DB%EC%A0%80%EC%9E%A5-%EB%B0%8F-url%ED%98%B8%EC%B6%9C#entry863comment</comments>
      <pubDate>Mon, 30 Dec 2024 13:55:12 +0900</pubDate>
    </item>
    <item>
      <title>20241220 TODO</title>
      <link>https://capri.tistory.com/entry/20241220-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;목장상세정보 POST통신 수정 - 통신방식 및 렌더링 방식 수정&lt;/li&gt;
&lt;li&gt;이슈페이지 렌더링 및 필터링 기능 수정보완작업&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;현재 추가로 진행해야할 사항&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;급이기 연결안될 시 목장주에게 문자보내기&lt;/li&gt;
&lt;li&gt;왼쪽컴포넌트 step에대한 상태가 업로드되지 않는 문제 수정필요&lt;/li&gt;
&lt;li&gt;왼쪽컴포넌트 step필터링기능 누락&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/862</guid>
      <comments>https://capri.tistory.com/entry/20241220-TODO#entry862comment</comments>
      <pubDate>Fri, 20 Dec 2024 16:59:38 +0900</pubDate>
    </item>
    <item>
      <title>20241217 TODO</title>
      <link>https://capri.tistory.com/entry/20241217-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;s&gt;상태값 수신을 위한 클라이언트 mqtt설정 및 렌더링하기(로봇착유기 및 급이기)&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;에러값 수신을 위한 클라이언트 mqtt설정 및 렌더링하기 (로봇착유기 및 급이기) &lt;/s&gt;&lt;/li&gt;
&lt;li&gt;목장상세정보 상태 렌더링&lt;/li&gt;
&lt;li&gt;목장상세정보 에러 렌더링&lt;/li&gt;
&lt;li&gt;목장상세정보 POST통신&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; 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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;급이기 연결안될 시 목장주에게 문자보내기&lt;/li&gt;
&lt;li&gt;초기데이터 없을시 MQTT연결이 정상적으로 되지않는이슈&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/861</guid>
      <comments>https://capri.tistory.com/entry/20241217-TODO#entry861comment</comments>
      <pubDate>Tue, 17 Dec 2024 18:13:57 +0900</pubDate>
    </item>
    <item>
      <title>React v19+Nextjs v15 vs antd 5.* 충돌</title>
      <link>https://capri.tistory.com/entry/React-v19Nextjs-v15-vs-antd-5-%EC%B6%A9%EB%8F%8C</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;기존에 사용하려고 했던 버전&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;React 19&lt;/li&gt;
&lt;li&gt;Nextjs 15&lt;/li&gt;
&lt;li&gt;antd 5.*&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;=&amp;gt; antd와의 호환이 정상적으로 이루어지지 않아서 에러메세지 발생&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;antd뿐만아니라 mui와의 호환성 이슈도 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;772&quot; data-origin-height=&quot;141&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EwMuT/btsLjFjusXu/wLOsIsUoQdK3KwRvE9dNlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EwMuT/btsLjFjusXu/wLOsIsUoQdK3KwRvE9dNlK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EwMuT/btsLjFjusXu/wLOsIsUoQdK3KwRvE9dNlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEwMuT%2FbtsLjFjusXu%2FwLOsIsUoQdK3KwRvE9dNlK%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;772&quot; height=&quot;141&quot; data-origin-width=&quot;772&quot; data-origin-height=&quot;141&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;React19로 업그레이드 되면서 직접적인 ref access가 제거됨 =&amp;gt; 에러발생&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React 18/Next14로 다운그레이드&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/ant-design/ant-design/issues/51458&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://github.com/ant-design/ant-design/issues/51458&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1734339776543&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;Compatibility with React 19 and Next.js 15 &amp;middot; Issue #51458 &amp;middot; ant-design/ant-design&quot; data-og-description=&quot;Description: Ant Design components are experiencing compatibility issues with the latest versions of React and Next.js: React Version: 19 (released April 2024) Next.js Version: 15 These issues aris...&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/ant-design/ant-design/issues/51458&quot; data-og-url=&quot;https://github.com/ant-design/ant-design/issues/51458&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cpK2yS/hyXOqeABtq/xF5W71XmWV7hZC5XFzBGT1/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600,https://scrap.kakaocdn.net/dn/1kwgS/hyXKyyyczq/E3cLNQbbEEJnTk6kSxXwW1/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/ant-design/ant-design/issues/51458&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/ant-design/ant-design/issues/51458&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cpK2yS/hyXOqeABtq/xF5W71XmWV7hZC5XFzBGT1/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600,https://scrap.kakaocdn.net/dn/1kwgS/hyXKyyyczq/E3cLNQbbEEJnTk6kSxXwW1/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;Compatibility with React 19 and Next.js 15 &amp;middot; Issue #51458 &amp;middot; ant-design/ant-design&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Description: Ant Design components are experiencing compatibility issues with the latest versions of React and Next.js: React Version: 19 (released April 2024) Next.js Version: 15 These issues aris...&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>일반</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/860</guid>
      <comments>https://capri.tistory.com/entry/React-v19Nextjs-v15-vs-antd-5-%EC%B6%A9%EB%8F%8C#entry860comment</comments>
      <pubDate>Mon, 16 Dec 2024 18:03:15 +0900</pubDate>
    </item>
    <item>
      <title>20241216 TODO</title>
      <link>https://capri.tistory.com/entry/20241216-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;상태값 수신을 위한 클라이언트 mqtt설정 및 렌더링하기&lt;/li&gt;
&lt;li&gt;에러값 수신을 위한 클라이언트 mqtt설정 및 렌더링하기&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;feed페이지의 web 연결 시간 수정하기&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;오렌지파이 문자보내는 로직 수정(현재 하드코딩 -&amp;gt; 농장주 번호+사료회사에 문자보내기 // netbird 체크 및 기기상태 체크하는 로직으로)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/859</guid>
      <comments>https://capri.tistory.com/entry/20241216-TODO#entry859comment</comments>
      <pubDate>Mon, 16 Dec 2024 17:51:37 +0900</pubDate>
    </item>
    <item>
      <title>20241213 TODO</title>
      <link>https://capri.tistory.com/entry/20241213-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;상태값 전송하는 mqtt발신 프로그램 만들기(&lt;s&gt;MQTT발신&lt;span&gt;&amp;nbsp;&lt;/span&gt;/ 기기별 상태 체크 및 문자발신기능&lt;/s&gt;)&lt;/li&gt;
&lt;li&gt;상태값 수신을 위한 클라이언트 mqtt설정 및 렌더링하기&lt;/li&gt;
&lt;li&gt;에러값 수신을 위한 클라이언트 mqtt설정 및 렌더링하기&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;feed페이지의 web 연결 시간 수정하기&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;오렌지파이 문자보내는 로직 수정(현재 하드코딩 -&amp;gt; 농장주 번호+사료회사에 문자보내기 // netbird 체크 및 기기상태 체크하는 로직으로)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/858</guid>
      <comments>https://capri.tistory.com/entry/20241213-TODO#entry858comment</comments>
      <pubDate>Mon, 16 Dec 2024 17:51:16 +0900</pubDate>
    </item>
    <item>
      <title>20241212 TODO</title>
      <link>https://capri.tistory.com/entry/20241212-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;상태값 전송하는 mqtt발신 프로그램 만들기(&lt;s&gt;MQTT발신&lt;/s&gt; / 기기별 상태 체크 및 문자발신기능)&lt;/li&gt;
&lt;li&gt;상태값 수신을 위한 클라이언트 mqtt설정 및 렌더링하기&lt;/li&gt;
&lt;li&gt;에러값 수신을 위한 클라이언트 mqtt설정 및 렌더링하기&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;feed페이지의 web 연결 시간 수정하기&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;오렌지파이 문자보내는 로직 수정(현재 하드코딩 -&amp;gt; 농장주 번호+사료회사에 문자보내기 // netbird 체크 및 기기상태 체크하는 로직으로)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/857</guid>
      <comments>https://capri.tistory.com/entry/20241212-TODO#entry857comment</comments>
      <pubDate>Thu, 12 Dec 2024 08:57:55 +0900</pubDate>
    </item>
    <item>
      <title>20241211 TODO</title>
      <link>https://capri.tistory.com/entry/20241211-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;상태값 전송하는 mqtt발신 프로그램 만들기(일부 구현)&lt;/li&gt;
&lt;li&gt;상태값 수신을 위한 클라이언트 mqtt설정 및 렌더링하기&lt;/li&gt;
&lt;li&gt;&lt;s&gt;에러값 저장 후 발신하는 mqtt발신 프로그램 만들기&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;에러값 수신을 위한 클라이언트 mqtt설정 및 렌더링하기&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;feed페이지의 web 연결 시간 수정하기&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;오렌지파이 문자보내는 로직 수정(현재 하드코딩 -&amp;gt; 농장주 번호+사료회사에 문자보내기 // netbird 체크 및 기기상태 체크하는 로직으로)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/856</guid>
      <comments>https://capri.tistory.com/entry/20241211-TODO#entry856comment</comments>
      <pubDate>Wed, 11 Dec 2024 09:20:16 +0900</pubDate>
    </item>
    <item>
      <title>20241210 TODO</title>
      <link>https://capri.tistory.com/entry/20241210-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;s&gt;로그인 라우팅 에러 수정&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;상태값 전송하는 mqtt발신 프로그램 만들기&lt;/li&gt;
&lt;li&gt;상태값 수신을 위한 클라이언트 mqtt설정 및 렌더링하기&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;feed페이지의 web 연결 시간 수정하기&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;오렌지파이 문자보내는 로직 수정(현재 하드코딩 -&amp;gt; 농장주 번호+사료회사에 문자보내기 // netbird 체크 및 기기상태 체크하는 로직으로)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/855</guid>
      <comments>https://capri.tistory.com/entry/20241210-TODO#entry855comment</comments>
      <pubDate>Tue, 10 Dec 2024 09:26:12 +0900</pubDate>
    </item>
    <item>
      <title>next14 - next-auth v5</title>
      <link>https://capri.tistory.com/entry/next14-next-auth-v5</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://velog.io/@youngjun625/Next.js14-NextAuth-v5%EB%A1%9C-%EC%9D%B8%EC%A6%9D-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0-2-SessionUpdate&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://velog.io/@youngjun625/Next.js14-NextAuth-v5%EB%A1%9C-%EC%9D%B8%EC%A6%9D-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0-2-SessionUpdate&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1733730565939&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;[Next.js14] NextAuth v5로 인증 구현하기 (2) - Session/Update&quot; data-og-description=&quot;Next.js 14과 NextAuth v5을 사용하면서 삽질하며 배운 것의 기록. 2편에서는 Session 호출과 세션을 업데이트 하는 방법에 대해 다룬다&quot; data-og-host=&quot;velog.io&quot; data-og-source-url=&quot;https://velog.io/@youngjun625/Next.js14-NextAuth-v5%EB%A1%9C-%EC%9D%B8%EC%A6%9D-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0-2-SessionUpdate&quot; data-og-url=&quot;https://velog.io/@youngjun625/Next.js14-NextAuth-v5로-인증-구현하기-2-SessionUpdate&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/8aBXv/hyXKv1tQSp/PEuJv9zVIvb5qr8s5jgDPk/img.png?width=1193&amp;amp;height=663&amp;amp;face=0_0_1193_663,https://scrap.kakaocdn.net/dn/kpkNI/hyXKyRtY22/zpO8Y2AHinKts1f62YysS0/img.png?width=1193&amp;amp;height=663&amp;amp;face=0_0_1193_663,https://scrap.kakaocdn.net/dn/vtrwJ/hyXGH3EF33/C7XKhc8lY5pbKrScNUiUD1/img.png?width=1193&amp;amp;height=663&amp;amp;face=0_0_1193_663&quot;&gt;&lt;a href=&quot;https://velog.io/@youngjun625/Next.js14-NextAuth-v5%EB%A1%9C-%EC%9D%B8%EC%A6%9D-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0-2-SessionUpdate&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://velog.io/@youngjun625/Next.js14-NextAuth-v5%EB%A1%9C-%EC%9D%B8%EC%A6%9D-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0-2-SessionUpdate&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/8aBXv/hyXKv1tQSp/PEuJv9zVIvb5qr8s5jgDPk/img.png?width=1193&amp;amp;height=663&amp;amp;face=0_0_1193_663,https://scrap.kakaocdn.net/dn/kpkNI/hyXKyRtY22/zpO8Y2AHinKts1f62YysS0/img.png?width=1193&amp;amp;height=663&amp;amp;face=0_0_1193_663,https://scrap.kakaocdn.net/dn/vtrwJ/hyXGH3EF33/C7XKhc8lY5pbKrScNUiUD1/img.png?width=1193&amp;amp;height=663&amp;amp;face=0_0_1193_663');&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;[Next.js14] NextAuth v5로 인증 구현하기 (2) - Session/Update&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Next.js 14과 NextAuth v5을 사용하면서 삽질하며 배운 것의 기록. 2편에서는 Session 호출과 세션을 업데이트 하는 방법에 대해 다룬다&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;velog.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://velog.io/@bnb8419/nextAuth&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://velog.io/@bnb8419/nextAuth&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1733755494377&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;Next Auth V5&quot; data-og-description=&quot;Next Auth 기본 사용법&quot; data-og-host=&quot;velog.io&quot; data-og-source-url=&quot;https://velog.io/@bnb8419/nextAuth&quot; data-og-url=&quot;https://velog.io/@bnb8419/nextAuth&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/jeGGv/hyXKtW0u1B/ec4Kz7A8VAU6GmsxWEBYl1/img.png?width=807&amp;amp;height=269&amp;amp;face=0_0_807_269,https://scrap.kakaocdn.net/dn/cnF7xI/hyXKyYjEZ4/QQkowSjlI3IimayJZWoLI1/img.png?width=807&amp;amp;height=269&amp;amp;face=0_0_807_269,https://scrap.kakaocdn.net/dn/u1Cbw/hyXKuVTBti/ZVrwr1G6uUUMwCcmvDCaUK/img.png?width=300&amp;amp;height=262&amp;amp;face=0_0_300_262&quot;&gt;&lt;a href=&quot;https://velog.io/@bnb8419/nextAuth&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://velog.io/@bnb8419/nextAuth&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/jeGGv/hyXKtW0u1B/ec4Kz7A8VAU6GmsxWEBYl1/img.png?width=807&amp;amp;height=269&amp;amp;face=0_0_807_269,https://scrap.kakaocdn.net/dn/cnF7xI/hyXKyYjEZ4/QQkowSjlI3IimayJZWoLI1/img.png?width=807&amp;amp;height=269&amp;amp;face=0_0_807_269,https://scrap.kakaocdn.net/dn/u1Cbw/hyXKuVTBti/ZVrwr1G6uUUMwCcmvDCaUK/img.png?width=300&amp;amp;height=262&amp;amp;face=0_0_300_262');&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;Next Auth V5&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Next Auth 기본 사용법&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;velog.io&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://velog.io/@hayoung78/NextJS-NextAuth%EB%A1%9C-%EC%86%8C%EC%85%9C%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%84-%ED%95%98%EA%B3%A0-%EB%82%9C-%ED%9B%84-%EA%B4%80%EB%A6%AC&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://velog.io/@hayoung78/NextJS-NextAuth%EB%A1%9C-%EC%86%8C%EC%85%9C%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%84-%ED%95%98%EA%B3%A0-%EB%82%9C-%ED%9B%84-%EA%B4%80%EB%A6%AC&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1733799163967&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;[NextJS] NextAuth로 소셜로그인 구현, 그리고?&quot; data-og-description=&quot;처음으로 백엔드분과 디자이너분이랑 협업하면서 만든 프로젝트 YeoGi에서 나는 회원가입 쪽을 맡게되었다. &amp;gt; 사용기술 : Typescript , NextJS NextJs를 처음 써봐서 처음 로그인, 회원 가입 로직은 클라&quot; data-og-host=&quot;velog.io&quot; data-og-source-url=&quot;https://velog.io/@hayoung78/NextJS-NextAuth%EB%A1%9C-%EC%86%8C%EC%85%9C%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%84-%ED%95%98%EA%B3%A0-%EB%82%9C-%ED%9B%84-%EA%B4%80%EB%A6%AC&quot; data-og-url=&quot;https://velog.io/@hayoung78/NextJS-NextAuth로-소셜로그인-구현-하고-난-후-관리&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/pZDOq/hyXKkMChGc/gAScQz4akc6pP7z0Kn7dMk/img.png?width=1035&amp;amp;height=384&amp;amp;face=0_0_1035_384,https://scrap.kakaocdn.net/dn/bQUguQ/hyXKyxkeR2/nKze10KfKUfnCkfN01oiLk/img.png?width=1035&amp;amp;height=384&amp;amp;face=0_0_1035_384,https://scrap.kakaocdn.net/dn/dmxB4V/hyXKkeNWSd/CPvp0zZiV3FQmy2KB4VRnK/img.png?width=2440&amp;amp;height=1058&amp;amp;face=0_0_2440_1058&quot;&gt;&lt;a href=&quot;https://velog.io/@hayoung78/NextJS-NextAuth%EB%A1%9C-%EC%86%8C%EC%85%9C%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%84-%ED%95%98%EA%B3%A0-%EB%82%9C-%ED%9B%84-%EA%B4%80%EB%A6%AC&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://velog.io/@hayoung78/NextJS-NextAuth%EB%A1%9C-%EC%86%8C%EC%85%9C%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%84-%ED%95%98%EA%B3%A0-%EB%82%9C-%ED%9B%84-%EA%B4%80%EB%A6%AC&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/pZDOq/hyXKkMChGc/gAScQz4akc6pP7z0Kn7dMk/img.png?width=1035&amp;amp;height=384&amp;amp;face=0_0_1035_384,https://scrap.kakaocdn.net/dn/bQUguQ/hyXKyxkeR2/nKze10KfKUfnCkfN01oiLk/img.png?width=1035&amp;amp;height=384&amp;amp;face=0_0_1035_384,https://scrap.kakaocdn.net/dn/dmxB4V/hyXKkeNWSd/CPvp0zZiV3FQmy2KB4VRnK/img.png?width=2440&amp;amp;height=1058&amp;amp;face=0_0_2440_1058');&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;[NextJS] NextAuth로 소셜로그인 구현, 그리고?&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;처음으로 백엔드분과 디자이너분이랑 협업하면서 만든 프로젝트 YeoGi에서 나는 회원가입 쪽을 맡게되었다. &amp;gt; 사용기술 : Typescript , NextJS NextJs를 처음 써봐서 처음 로그인, 회원 가입 로직은 클라&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;velog.io&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://capri.tistory.com/854</guid>
      <comments>https://capri.tistory.com/entry/next14-next-auth-v5#entry854comment</comments>
      <pubDate>Mon, 9 Dec 2024 16:49:51 +0900</pubDate>
    </item>
    <item>
      <title>20241209 TODO</title>
      <link>https://capri.tistory.com/entry/20241209-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;next-auth를 이용한 로그인 로그아웃 구현(일부 구현)&lt;/li&gt;
&lt;li&gt;상태값 전송하는 mqtt발신 프로그램 만들기&lt;/li&gt;
&lt;li&gt;상태값 수신을 위한 클라이언트 mqtt설정 및 렌더링하기&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;feed페이지의 web 연결 시간 수정하기&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;오렌지파이 문자보내는 로직 수정(현재 하드코딩 -&amp;gt; 농장주 번호+사료회사에 문자보내기 // netbird 체크 및 기기상태 체크하는 로직으로)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/853</guid>
      <comments>https://capri.tistory.com/entry/20241209-TODO#entry853comment</comments>
      <pubDate>Mon, 9 Dec 2024 10:35:18 +0900</pubDate>
    </item>
    <item>
      <title>20241206 TODO</title>
      <link>https://capri.tistory.com/entry/20241206-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;next-auth를 이용한 로그인 로그아웃 구현(일부 구현)&lt;/li&gt;
&lt;li&gt;&lt;s&gt;회원가입 페이지 구현(페이지 및 api생성)&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;상태값 전송하는 mqtt발신 프로그램 만들기&lt;/li&gt;
&lt;li&gt;상태값 수신을 위한 클라이언트 mqtt설정 및 렌더링하기&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;feed페이지의 web 연결 시간 수정하기&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;오렌지파이 문자보내는 로직 수정(현재 하드코딩 -&amp;gt; 농장주 번호+사료회사에 문자보내기 // netbird 체크 및 기기상태 체크하는 로직으로)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/852</guid>
      <comments>https://capri.tistory.com/entry/20241206-TODO#entry852comment</comments>
      <pubDate>Fri, 6 Dec 2024 09:18:54 +0900</pubDate>
    </item>
    <item>
      <title>20241205 TODO</title>
      <link>https://capri.tistory.com/entry/20241205-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;클라이언트 레이아웃 구성 및 버전 호환성 맞추기&lt;/li&gt;
&lt;li&gt;i18n 적용하기&lt;/li&gt;
&lt;li&gt;라우팅 적용하기 +&amp;nbsp; nav만들기&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;feed페이지의 web 연결 시간 수정하기&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;오렌지파이 문자보내는 로직 수정(현재 하드코딩 -&amp;gt; 농장주 번호+사료회사에 문자보내기 // netbird 체크 및 기기상태 체크하는 로직으로)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/851</guid>
      <comments>https://capri.tistory.com/entry/20241205-TODO#entry851comment</comments>
      <pubDate>Fri, 6 Dec 2024 09:16:41 +0900</pubDate>
    </item>
    <item>
      <title>20241204 TODO</title>
      <link>https://capri.tistory.com/entry/20241204-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;s&gt;로그인 작업을 위한 더미데이터 만들기&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;클라이언트 및 노드 기초작업 진행하기&lt;/s&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;feed페이지의 web 연결 시간 수정하기&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;오렌지파이 문자보내는 로직 수정(현재 하드코딩 -&amp;gt; 농장주 번호+사료회사에 문자보내기 // netbird 체크 및 기기상태 체크하는 로직으로)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/850</guid>
      <comments>https://capri.tistory.com/entry/20241204-TODO#entry850comment</comments>
      <pubDate>Fri, 6 Dec 2024 09:15:43 +0900</pubDate>
    </item>
    <item>
      <title>NextAuth 로그인</title>
      <link>https://capri.tistory.com/entry/NextAuth-%EB%A1%9C%EA%B7%B8%EC%9D%B8</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://velog.io/@jae_han_e/next-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%841&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://velog.io/@jae_han_e/next-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%841&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1733188689169&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;NextAuth 로그인 구현(1) - 프로젝트 생성 및 Prisma 설정&quot; data-og-description=&quot;이전 글에서 작성했던 next-auth 내용을 바탕으로 실제 로그인 서비스를 구현해보고자 한다.프로젝트 생성에서부터 Prisma 설정, Email &amp;amp; PW 로그인, 카카오 &amp;amp; 네이버 로그인, 쿠키설정 등 차례대로 진&quot; data-og-host=&quot;velog.io&quot; data-og-source-url=&quot;https://velog.io/@jae_han_e/next-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%841&quot; data-og-url=&quot;https://velog.io/@jae_han_e/next-auth-로그인-구현1&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dvplSf/hyXGAWANJP/mOJLX068qPGJM66zJgIBv1/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/cqNysk/hyXGHg7YYF/G0OI4PbdGkY3X9uyOO2I7k/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/bst9Hk/hyXGyEuXzm/PnEqwBzFETKw96PIAkp0t1/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554&quot;&gt;&lt;a href=&quot;https://velog.io/@jae_han_e/next-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%841&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://velog.io/@jae_han_e/next-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%841&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dvplSf/hyXGAWANJP/mOJLX068qPGJM66zJgIBv1/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/cqNysk/hyXGHg7YYF/G0OI4PbdGkY3X9uyOO2I7k/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/bst9Hk/hyXGyEuXzm/PnEqwBzFETKw96PIAkp0t1/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554');&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;NextAuth 로그인 구현(1) - 프로젝트 생성 및 Prisma 설정&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;이전 글에서 작성했던 next-auth 내용을 바탕으로 실제 로그인 서비스를 구현해보고자 한다.프로젝트 생성에서부터 Prisma 설정, Email &amp;amp; PW 로그인, 카카오 &amp;amp; 네이버 로그인, 쿠키설정 등 차례대로 진&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;velog.io&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;a href=&quot;https://velog.io/@jae_han_e/naxt-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%842&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://velog.io/@jae_han_e/naxt-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%842&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1733188665907&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;NextAuth 로그인 구현(2) - 회원가입, 아이디 로그인&quot; data-og-description=&quot;Next.js 앱에서 내부 API를 사용하려면 /app/api 경로에 로직을 구현하면 된다.13 버전부터는 API 파일은 route.js 로 명명해야 한다.app/api/user/route.ts 파일을 만들고https://localhost:3000/api/us&quot; data-og-host=&quot;velog.io&quot; data-og-source-url=&quot;https://velog.io/@jae_han_e/naxt-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%842&quot; data-og-url=&quot;https://velog.io/@jae_han_e/naxt-auth-로그인-구현2&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/fpRu0/hyXGOAxhoO/u6MvamvV4pHm6KqM3zJvPK/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/RsJ7T/hyXGMCJPeV/WjfKOMQOxA2pZK7qApkHqk/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/w5Voo/hyXGN9tPAH/BKu4TCoKrZ5vTcoukTwE3k/img.png?width=2412&amp;amp;height=1014&amp;amp;face=0_0_2412_1014&quot;&gt;&lt;a href=&quot;https://velog.io/@jae_han_e/naxt-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%842&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://velog.io/@jae_han_e/naxt-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%842&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/fpRu0/hyXGOAxhoO/u6MvamvV4pHm6KqM3zJvPK/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/RsJ7T/hyXGMCJPeV/WjfKOMQOxA2pZK7qApkHqk/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/w5Voo/hyXGN9tPAH/BKu4TCoKrZ5vTcoukTwE3k/img.png?width=2412&amp;amp;height=1014&amp;amp;face=0_0_2412_1014');&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;NextAuth 로그인 구현(2) - 회원가입, 아이디 로그인&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Next.js 앱에서 내부 API를 사용하려면 /app/api 경로에 로직을 구현하면 된다.13 버전부터는 API 파일은 route.js 로 명명해야 한다.app/api/user/route.ts 파일을 만들고https://localhost:3000/api/us&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;velog.io&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;a href=&quot;https://velog.io/@jae_han_e/next-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%843&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://velog.io/@jae_han_e/next-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%843&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1733188593657&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;NextAuth 로그인 구현(3) - 유효성 검사(with JWT token)&quot; data-og-description=&quot;/app/api/user/\[id] 경로에 route.ts 파일을 만들어 준다.API 에서도 페이지와 같이 Dynamic Route 를 사용할 수 있다.여기서는 \[id] 값을 slug로 사용한다.findMany 는 조건과 일치하는 데이터들을 전부 가져오&quot; data-og-host=&quot;velog.io&quot; data-og-source-url=&quot;https://velog.io/@jae_han_e/next-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%843&quot; data-og-url=&quot;https://velog.io/@jae_han_e/next-auth-로그인-구현3&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/TjlKb/hyXGIG7Rz9/HOUEyqKeOZ0Glbu1WExSFk/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/bdDSDn/hyXGKEUpqj/y9raESUC2T1Kt82cguvDj1/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/ilrMp/hyXGMbFnkf/DwkaAO2XKMwrTXsewP7Vs1/img.png?width=792&amp;amp;height=503&amp;amp;face=0_0_792_503&quot;&gt;&lt;a href=&quot;https://velog.io/@jae_han_e/next-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%843&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://velog.io/@jae_han_e/next-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%843&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/TjlKb/hyXGIG7Rz9/HOUEyqKeOZ0Glbu1WExSFk/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/bdDSDn/hyXGKEUpqj/y9raESUC2T1Kt82cguvDj1/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/ilrMp/hyXGMbFnkf/DwkaAO2XKMwrTXsewP7Vs1/img.png?width=792&amp;amp;height=503&amp;amp;face=0_0_792_503');&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;NextAuth 로그인 구현(3) - 유효성 검사(with JWT token)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;/app/api/user/\[id] 경로에 route.ts 파일을 만들어 준다.API 에서도 페이지와 같이 Dynamic Route 를 사용할 수 있다.여기서는 \[id] 값을 slug로 사용한다.findMany 는 조건과 일치하는 데이터들을 전부 가져오&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;velog.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://velog.io/@jae_han_e/naxt-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%844&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://velog.io/@jae_han_e/naxt-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%844&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1733188602181&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;NextAuth 로그인 구현(4) - 커스텀 로그인 페이지&quot; data-og-description=&quot;NextAuth는 로그인, 로그아웃, 에러 등 간단한 인증 페이지를 제공해 준다.기본으로 제공하는 화면들을 커스텀 페이지로 대체할 수 있는데, pages:{} 를 사용하면 된다./app/(beforeLogin)/signin 경로에 파&quot; data-og-host=&quot;velog.io&quot; data-og-source-url=&quot;https://velog.io/@jae_han_e/naxt-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%844&quot; data-og-url=&quot;https://velog.io/@jae_han_e/naxt-auth-로그인-구현4&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/eiXg60/hyXGCNDkp4/RBW8E1LgwKGhSaCPpy8NMK/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/JWjAW/hyXGItz7wQ/OO129tGsBaEKVpFngesGP1/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/bHvPrY/hyXGJTya5W/4NzpVjV02mwZk7VvoMMRwk/img.png?width=2476&amp;amp;height=1422&amp;amp;face=0_0_2476_1422&quot;&gt;&lt;a href=&quot;https://velog.io/@jae_han_e/naxt-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%844&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://velog.io/@jae_han_e/naxt-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%844&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/eiXg60/hyXGCNDkp4/RBW8E1LgwKGhSaCPpy8NMK/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/JWjAW/hyXGItz7wQ/OO129tGsBaEKVpFngesGP1/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/bHvPrY/hyXGJTya5W/4NzpVjV02mwZk7VvoMMRwk/img.png?width=2476&amp;amp;height=1422&amp;amp;face=0_0_2476_1422');&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;NextAuth 로그인 구현(4) - 커스텀 로그인 페이지&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;NextAuth는 로그인, 로그아웃, 에러 등 간단한 인증 페이지를 제공해 준다.기본으로 제공하는 화면들을 커스텀 페이지로 대체할 수 있는데, pages:{} 를 사용하면 된다./app/(beforeLogin)/signin 경로에 파&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;velog.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://velog.io/@jae_han_e/next-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%845&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://velog.io/@jae_han_e/next-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%845&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1733188616616&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;NextAuth 로그인 구현(5) - 카카오 로그인&quot; data-og-description=&quot;Next-Auth란? 에서 정리한 내용과 같이, Next-Auth 는소셜 로그인을 간편하게 구현할 수 있도록 다양한 Provider를 제공해준다.먼저, 가장 많이 사용되는 카카오 아이디 로그인 부터 적용해보고자 한다.&quot; data-og-host=&quot;velog.io&quot; data-og-source-url=&quot;https://velog.io/@jae_han_e/next-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%845&quot; data-og-url=&quot;https://velog.io/@jae_han_e/next-auth-로그인-구현5&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/eIHSv/hyXGGbrhfM/9bZ9RS2hsuvR53ySVGgtpk/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/bZn7OY/hyXGJeWJF3/1GqJCiBYDCmzXVuS3KSXA1/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/lUiy2/hyXGAoLBLl/5V9IFy7aJQaaiWgJxEBIqk/img.png?width=2586&amp;amp;height=1498&amp;amp;face=0_0_2586_1498&quot;&gt;&lt;a href=&quot;https://velog.io/@jae_han_e/next-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%845&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://velog.io/@jae_han_e/next-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%845&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/eIHSv/hyXGGbrhfM/9bZ9RS2hsuvR53ySVGgtpk/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/bZn7OY/hyXGJeWJF3/1GqJCiBYDCmzXVuS3KSXA1/img.png?width=1080&amp;amp;height=554&amp;amp;face=0_0_1080_554,https://scrap.kakaocdn.net/dn/lUiy2/hyXGAoLBLl/5V9IFy7aJQaaiWgJxEBIqk/img.png?width=2586&amp;amp;height=1498&amp;amp;face=0_0_2586_1498');&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;NextAuth 로그인 구현(5) - 카카오 로그인&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Next-Auth란? 에서 정리한 내용과 같이, Next-Auth 는소셜 로그인을 간편하게 구현할 수 있도록 다양한 Provider를 제공해준다.먼저, 가장 많이 사용되는 카카오 아이디 로그인 부터 적용해보고자 한다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;velog.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://velog.io/@jae_han_e/next-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%846&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://velog.io/@jae_han_e/next-auth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%846&lt;/a&gt;&lt;/p&gt;</description>
      <category>일반</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/849</guid>
      <comments>https://capri.tistory.com/entry/NextAuth-%EB%A1%9C%EA%B7%B8%EC%9D%B8#entry849comment</comments>
      <pubDate>Tue, 3 Dec 2024 10:18:18 +0900</pubDate>
    </item>
    <item>
      <title>20241203 TODO</title>
      <link>https://capri.tistory.com/entry/20241203-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;s&gt;테이블 및 프로시저 수정&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;태스크 리스트 작성&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;태스크 리스트에 맞는 일정 작성&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;로그인 작업을 위한 더미데이터 만들기&lt;/li&gt;
&lt;li&gt;클라이언트 및 노드 기초작업 진행하기&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;feed페이지의 web 연결 시간 수정하기&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;오렌지파이 문자보내는 로직 수정(현재 하드코딩 -&amp;gt; 농장주 번호+사료회사에 문자보내기 // netbird 체크 및 기기상태 체크하는 로직으로)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/848</guid>
      <comments>https://capri.tistory.com/entry/20241203-TODO#entry848comment</comments>
      <pubDate>Tue, 3 Dec 2024 09:11:28 +0900</pubDate>
    </item>
    <item>
      <title>20241202 TODO</title>
      <link>https://capri.tistory.com/entry/20241202-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;s&gt;테이블 구조 생성&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;프로시저 생성&lt;/s&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;feed페이지의 web 연결 시간 수정하기&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;오렌지파이 문자보내는 로직 수정(현재 하드코딩 -&amp;gt; 농장주 번호+사료회사에 문자보내기 // netbird 체크 및 기기상태 체크하는 로직으로)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/847</guid>
      <comments>https://capri.tistory.com/entry/20241202-TODO#entry847comment</comments>
      <pubDate>Mon, 2 Dec 2024 10:35:38 +0900</pubDate>
    </item>
    <item>
      <title>Next auth와 Bearer 토큰</title>
      <link>https://capri.tistory.com/entry/Next-auth%EC%99%80-Bearer-%ED%86%A0%ED%81%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://velog.io/@zooyaho/NextAuth%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%9C-%EC%9D%B8%EC%A6%9D-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://velog.io/@zooyaho/NextAuth%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%9C-%EC%9D%B8%EC%A6%9D-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1732756757620&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;NextAuth를 사용한 인증 구현하기&quot; data-og-description=&quot;NextAuth는 Next.js 프로젝트에서 인증을 쉽게 구현할 수 있게 도와주는 라이브러리입니다. 이 포스트에서는 pages/api/auth/\[...nextauth].ts 파일에 대한 설명을 중점적으로 다룰 예정입니다.NextAuth의 설정&quot; data-og-host=&quot;velog.io&quot; data-og-source-url=&quot;https://velog.io/@zooyaho/NextAuth%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%9C-%EC%9D%B8%EC%A6%9D-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0&quot; data-og-url=&quot;https://velog.io/@zooyaho/NextAuth를-사용한-인증-구현하기&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/HMfa4/hyXDmdEMGI/3TVA3DM3fgg07IQMKjakbK/img.png?width=1200&amp;amp;height=628&amp;amp;face=0_0_1200_628,https://scrap.kakaocdn.net/dn/u6Vf2/hyXGKxbfaI/1cw9YpH3H9zqKXQTlOuCVK/img.png?width=1200&amp;amp;height=628&amp;amp;face=0_0_1200_628,https://scrap.kakaocdn.net/dn/bMiOCW/hyXGz3urm1/0APdE4z2ghBZk5RrKCGm9K/img.png?width=1200&amp;amp;height=628&amp;amp;face=0_0_1200_628&quot;&gt;&lt;a href=&quot;https://velog.io/@zooyaho/NextAuth%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%9C-%EC%9D%B8%EC%A6%9D-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://velog.io/@zooyaho/NextAuth%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%9C-%EC%9D%B8%EC%A6%9D-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/HMfa4/hyXDmdEMGI/3TVA3DM3fgg07IQMKjakbK/img.png?width=1200&amp;amp;height=628&amp;amp;face=0_0_1200_628,https://scrap.kakaocdn.net/dn/u6Vf2/hyXGKxbfaI/1cw9YpH3H9zqKXQTlOuCVK/img.png?width=1200&amp;amp;height=628&amp;amp;face=0_0_1200_628,https://scrap.kakaocdn.net/dn/bMiOCW/hyXGz3urm1/0APdE4z2ghBZk5RrKCGm9K/img.png?width=1200&amp;amp;height=628&amp;amp;face=0_0_1200_628');&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;NextAuth를 사용한 인증 구현하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;NextAuth는 Next.js 프로젝트에서 인증을 쉽게 구현할 수 있게 도와주는 라이브러리입니다. 이 포스트에서는 pages/api/auth/\[...nextauth].ts 파일에 대한 설명을 중점적으로 다룰 예정입니다.NextAuth의 설정&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;velog.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://iu-corner.tistory.com/entry/JWT-%EC%9D%B8%EC%A6%9D%ED%86%A0%ED%81%B0-Bearer-%ED%86%A0%ED%81%B0%EC%97%90-%EA%B4%80%ED%95%98%EC%97%AC&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://iu-corner.tistory.com/entry/JWT-%EC%9D%B8%EC%A6%9D%ED%86%A0%ED%81%B0-Bearer-%ED%86%A0%ED%81%B0%EC%97%90-%EA%B4%80%ED%95%98%EC%97%AC&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1732758208710&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;JWT 인증토큰, Bearer 토큰에 관하여.. for Node Express.&quot; data-og-description=&quot;JWT 인증토큰, Bearer 토큰에 관하여.. for Node Express. JWT 란, JWT(Json Web Token)은 클라이언트와 서버 혹은 서비스 간의 통신시 정보를 JSON 객체를 통해 안전하게 전송하고 권한(Authorization)을 위해 사용하&quot; data-og-host=&quot;iu-corner.tistory.com&quot; data-og-source-url=&quot;https://iu-corner.tistory.com/entry/JWT-%EC%9D%B8%EC%A6%9D%ED%86%A0%ED%81%B0-Bearer-%ED%86%A0%ED%81%B0%EC%97%90-%EA%B4%80%ED%95%98%EC%97%AC&quot; data-og-url=&quot;https://iu-corner.tistory.com/entry/JWT-%EC%9D%B8%EC%A6%9D%ED%86%A0%ED%81%B0-Bearer-%ED%86%A0%ED%81%B0%EC%97%90-%EA%B4%80%ED%95%98%EC%97%AC&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/c3QW4C/hyXDhXLRbF/OjbfSPSh4Z8KOcck6iA0dK/img.gif?width=420&amp;amp;height=316&amp;amp;face=0_0_420_316,https://scrap.kakaocdn.net/dn/bml3aa/hyXDhi6Wpw/7SIQKVfYCVoiwzpcoHvQ30/img.gif?width=420&amp;amp;height=316&amp;amp;face=0_0_420_316,https://scrap.kakaocdn.net/dn/bCEEwE/hyXC8mblTY/4KlRK2k2fJELuf4AEKmj91/img.png?width=920&amp;amp;height=640&amp;amp;face=0_0_920_640&quot;&gt;&lt;a href=&quot;https://iu-corner.tistory.com/entry/JWT-%EC%9D%B8%EC%A6%9D%ED%86%A0%ED%81%B0-Bearer-%ED%86%A0%ED%81%B0%EC%97%90-%EA%B4%80%ED%95%98%EC%97%AC&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://iu-corner.tistory.com/entry/JWT-%EC%9D%B8%EC%A6%9D%ED%86%A0%ED%81%B0-Bearer-%ED%86%A0%ED%81%B0%EC%97%90-%EA%B4%80%ED%95%98%EC%97%AC&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/c3QW4C/hyXDhXLRbF/OjbfSPSh4Z8KOcck6iA0dK/img.gif?width=420&amp;amp;height=316&amp;amp;face=0_0_420_316,https://scrap.kakaocdn.net/dn/bml3aa/hyXDhi6Wpw/7SIQKVfYCVoiwzpcoHvQ30/img.gif?width=420&amp;amp;height=316&amp;amp;face=0_0_420_316,https://scrap.kakaocdn.net/dn/bCEEwE/hyXC8mblTY/4KlRK2k2fJELuf4AEKmj91/img.png?width=920&amp;amp;height=640&amp;amp;face=0_0_920_640');&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;JWT 인증토큰, Bearer 토큰에 관하여.. for Node Express.&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;JWT 인증토큰, Bearer 토큰에 관하여.. for Node Express. JWT 란, JWT(Json Web Token)은 클라이언트와 서버 혹은 서비스 간의 통신시 정보를 JSON 객체를 통해 안전하게 전송하고 권한(Authorization)을 위해 사용하&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;iu-corner.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://capri.tistory.com/846</guid>
      <comments>https://capri.tistory.com/entry/Next-auth%EC%99%80-Bearer-%ED%86%A0%ED%81%B0#entry846comment</comments>
      <pubDate>Thu, 28 Nov 2024 10:51:56 +0900</pubDate>
    </item>
    <item>
      <title>IT프로젝트 기획</title>
      <link>https://capri.tistory.com/entry/IT%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EA%B8%B0%ED%9A%8D</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://m.blog.naver.com/seonsin25/222220842175&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://m.blog.naver.com/seonsin25/222220842175&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1732753334943&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;[IT프로젝트] IT프로젝트 기획 단계&quot; data-og-description=&quot;블로그의 TEXT 기반의 정보 전달이 한계가 있어, 좀 더 원할한 소통을 위해서 블로그와 함께 유튜브 채...&quot; data-og-host=&quot;blog.naver.com&quot; data-og-source-url=&quot;https://m.blog.naver.com/seonsin25/222220842175&quot; data-og-url=&quot;https://blog.naver.com/seonsin25/222220842175&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/d1LiAG/hyXGKxaQXf/NjJ1UZabgM0v61KtvCzkQK/img.png?width=743&amp;amp;height=379&amp;amp;face=0_0_743_379&quot;&gt;&lt;a href=&quot;https://m.blog.naver.com/seonsin25/222220842175&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://m.blog.naver.com/seonsin25/222220842175&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/d1LiAG/hyXGKxaQXf/NjJ1UZabgM0v61KtvCzkQK/img.png?width=743&amp;amp;height=379&amp;amp;face=0_0_743_379');&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;[IT프로젝트] IT프로젝트 기획 단계&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;블로그의 TEXT 기반의 정보 전달이 한계가 있어, 좀 더 원할한 소통을 위해서 블로그와 함께 유튜브 채...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.naver.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>일반</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/845</guid>
      <comments>https://capri.tistory.com/entry/IT%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EA%B8%B0%ED%9A%8D#entry845comment</comments>
      <pubDate>Thu, 28 Nov 2024 09:22:22 +0900</pubDate>
    </item>
    <item>
      <title>20241128 TODO</title>
      <link>https://capri.tistory.com/entry/20241128-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;CMAN관련 단어 나열&lt;/li&gt;
&lt;li&gt;기능 구체화&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;feed페이지의 web 연결 시간 수정하기&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;오렌지파이 문자보내는 로직 수정(현재 하드코딩 -&amp;gt; 농장주 번호+사료회사에 문자보내기 // netbird 체크 및 기기상태 체크하는 로직으로)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/844</guid>
      <comments>https://capri.tistory.com/entry/20241128-TODO#entry844comment</comments>
      <pubDate>Thu, 28 Nov 2024 09:21:54 +0900</pubDate>
    </item>
    <item>
      <title>20241127 TODO</title>
      <link>https://capri.tistory.com/entry/20241127-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;CMAN리뉴얼 관련 수정 보완사항 메모 및 정리하기&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;feed페이지의 web 연결 시간 수정하기&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;오렌지파이 문자보내는 로직 수정(현재 하드코딩 -&amp;gt; 농장주 번호+사료회사에 문자보내기 // netbird 체크 및 기기상태 체크하는 로직으로)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/843</guid>
      <comments>https://capri.tistory.com/entry/20241127-TODO#entry843comment</comments>
      <pubDate>Wed, 27 Nov 2024 09:19:08 +0900</pubDate>
    </item>
    <item>
      <title>NEXT.js build 시 API호출이 정상적으로 이루어지지 않는 이슈</title>
      <link>https://capri.tistory.com/entry/NEXTjs-build-%EC%8B%9C-API%ED%98%B8%EC%B6%9C%EC%9D%B4-%EC%A0%95%EC%83%81%EC%A0%81%EC%9C%BC%EB%A1%9C-%EC%9D%B4%EB%A3%A8%EC%96%B4%EC%A7%80%EC%A7%80-%EC%95%8A%EB%8A%94-%EC%9D%B4%EC%8A%88</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://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1732585366950&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;File Conventions: Route Segment Config | Next.js&quot; data-og-description=&quot;Learn about how to configure options for Next.js route segments.&quot; data-og-host=&quot;nextjs.org&quot; data-og-source-url=&quot;https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config&quot; data-og-url=&quot;https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bUWxp6/hyXDc9ppdn/o8890XlZssjRG1uv6G3Tyk/img.png?width=843&amp;amp;height=441&amp;amp;face=0_0_843_441,https://scrap.kakaocdn.net/dn/bsoCKp/hyXDfdYYkC/xukLyd154s4YGQrzSKKIEK/img.png?width=843&amp;amp;height=441&amp;amp;face=0_0_843_441&quot;&gt;&lt;a href=&quot;https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bUWxp6/hyXDc9ppdn/o8890XlZssjRG1uv6G3Tyk/img.png?width=843&amp;amp;height=441&amp;amp;face=0_0_843_441,https://scrap.kakaocdn.net/dn/bsoCKp/hyXDfdYYkC/xukLyd154s4YGQrzSKKIEK/img.png?width=843&amp;amp;height=441&amp;amp;face=0_0_843_441');&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;File Conventions: Route Segment Config | Next.js&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Learn about how to configure options for Next.js route segments.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;nextjs.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;542&quot; data-origin-height=&quot;49&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cAHdgN/btsKU6Pe7IQ/aAfiqFnutoYX4fnTirENxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cAHdgN/btsKU6Pe7IQ/aAfiqFnutoYX4fnTirENxk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cAHdgN/btsKU6Pe7IQ/aAfiqFnutoYX4fnTirENxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAHdgN%2FbtsKU6Pe7IQ%2FaAfiqFnutoYX4fnTirENxk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;542&quot; height=&quot;49&quot; data-origin-width=&quot;542&quot; data-origin-height=&quot;49&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;next.js에서는 route segment와 관련된 방식이 여러가지 있는데 기본적으로는 ' auto'로 설정되어 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;npm run dev에서는 정상적으로 api호출 시 변경된 값이 잘 반영이 되는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;npm build후 start를 진행하면 api호출값이 고정되며 변경되지 않는 이슈가 발생&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;이를 방지하기 위해 layout.jsx | page.jsx | route.jsx(.js|.tsx|.ts가능) 에 다음 값을 넣어준다&lt;/p&gt;
&lt;pre id=&quot;code_1732585648298&quot; class=&quot;kotlin&quot; data-ke-language=&quot;kotlin&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;export const dynamic = 'force-dynamic'
// 'auto' | 'force-dynamic' | 'error' | 'force-static'&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처리하고 나면&amp;nbsp; build후에도 정상적으로 api통신이 이루어지는 것을 확인할 수 있다&lt;/p&gt;</description>
      <category>일반</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/842</guid>
      <comments>https://capri.tistory.com/entry/NEXTjs-build-%EC%8B%9C-API%ED%98%B8%EC%B6%9C%EC%9D%B4-%EC%A0%95%EC%83%81%EC%A0%81%EC%9C%BC%EB%A1%9C-%EC%9D%B4%EB%A3%A8%EC%96%B4%EC%A7%80%EC%A7%80-%EC%95%8A%EB%8A%94-%EC%9D%B4%EC%8A%88#entry842comment</comments>
      <pubDate>Tue, 26 Nov 2024 10:48:14 +0900</pubDate>
    </item>
    <item>
      <title>20241126 TODO</title>
      <link>https://capri.tistory.com/entry/20241126-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;s&gt;산란계프로그램 첫화면 에러 발생 확인하기 -&amp;gt;10시 30분해결완료&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;경비처리 엑셀작업&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;CMAN리뉴얼 관련 수정 보완사항 메모 및 정리하기&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;feed페이지의 web 연결 시간 수정하기&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;오렌지파이 문자보내는 로직 수정(현재 하드코딩 -&amp;gt; 농장주 번호+사료회사에 문자보내기 // netbird 체크 및 기기상태 체크하는 로직으로)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/841</guid>
      <comments>https://capri.tistory.com/entry/20241126-TODO#entry841comment</comments>
      <pubDate>Tue, 26 Nov 2024 10:41:20 +0900</pubDate>
    </item>
    <item>
      <title>20241122 TODO</title>
      <link>https://capri.tistory.com/entry/20241122-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;s&gt;양계프로그램 전체적인&amp;nbsp; 기능테스트 및 동작체크(반응형 레이아웃테스트 완료)&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;양계프로그램 api통신테스트 + 프로시저 체크&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;양계프로그램 서버의 전체 데이터 밀고 더미데이터 만들기&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;양계프로그램 로직 및 데이터베이스 설명 문서 만들기&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;1년 총 결산 문서만들기&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;CMAN 및 양계프로그램 로직 설명 적기&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;주간업무일지 작성&lt;/s&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;feed페이지의 web 연결 시간 수정하기&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;오렌지파이 문자보내는 로직 수정(현재 하드코딩 -&amp;gt; 농장주 번호+사료회사에 문자보내기 // netbird 체크 및 기기상태 체크하는 로직으로)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/840</guid>
      <comments>https://capri.tistory.com/entry/20241122-TODO#entry840comment</comments>
      <pubDate>Fri, 22 Nov 2024 09:41:49 +0900</pubDate>
    </item>
    <item>
      <title>20241121 TODO</title>
      <link>https://capri.tistory.com/entry/20241121-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;양계프로그램 프로시저 수정 작업- 예정시간
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;농장정보 페이지 레이아웃 수정-&amp;gt; 미해결&lt;/li&gt;
&lt;li&gt;농장정보 페이지 전체 페이지값을 가져오는 api추가하기&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;CMAN 및 양계프로그램 로직 설명 적기&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;feed페이지의 web 연결 시간 수정하기&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;오렌지파이 문자보내는 로직 수정(현재 하드코딩 -&amp;gt; 농장주 번호+사료회사에 문자보내기 // netbird 체크 및 기기상태 체크하는 로직으로)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/839</guid>
      <comments>https://capri.tistory.com/entry/20241121-TODO#entry839comment</comments>
      <pubDate>Thu, 21 Nov 2024 09:05:14 +0900</pubDate>
    </item>
    <item>
      <title>20241120 TODO</title>
      <link>https://capri.tistory.com/entry/20241120-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;양계프로그램 프로시저 수정 작업- 예정시간
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;s&gt;입추관리 입력시 기본관리에 초기값 자동등록 에러 확인 10시&amp;nbsp;&lt;/s&gt; -&amp;gt; 11시 30분 종료 (api 및 프로시저 조건 추가)&lt;s&gt;&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;자동 eggDaily호출 프로시저 node적용완료 11시 50분&lt;/s&gt;-&amp;gt; 12시 30분 종료&lt;/li&gt;
&lt;li&gt;&lt;s&gt;토탈 생존수수 구하기 11시&lt;/s&gt; -&amp;gt; 12시 30분 종료&lt;/li&gt;
&lt;li&gt;&lt;s&gt;산란율 구하기 11시 30분 &lt;/s&gt;-&amp;gt; 12시 30분 종료&lt;/li&gt;
&lt;li&gt;&lt;s&gt;선란기 및 산란능력 페이지의 에러 수정&lt;/s&gt; -&amp;gt; 3시 종료&lt;/li&gt;
&lt;li&gt;농장정보 페이지 레이아웃 전체수정 -&amp;gt; 미해결&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;CMAN 및 양계프로그램 로직 설명 적기&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;feed페이지의 web 연결 시간 수정하기&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;오렌지파이 문자보내는 로직 수정(현재 하드코딩 -&amp;gt; 농장주 번호+사료회사에 문자보내기 // netbird 체크 및 기기상태 체크하는 로직으로)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/838</guid>
      <comments>https://capri.tistory.com/entry/20241120-TODO#entry838comment</comments>
      <pubDate>Wed, 20 Nov 2024 09:33:34 +0900</pubDate>
    </item>
    <item>
      <title>20241113 TODO</title>
      <link>https://capri.tistory.com/entry/20241113-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;양계프로그램 아이콘 및&amp;nbsp; CSS 일부 수정&lt;/li&gt;
&lt;li&gt;CMAN 버그 수정( node - 미래에서 수신된 데이터도 수신할 수있도록 수정/ client-mssql데이터가 정상수신되지않음)&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;feed페이지의 web 연결 시간 수정하기&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;오렌지파이 문자보내는 로직 수정(현재 하드코딩 -&amp;gt; 농장주 번호+사료회사에 문자보내기 // netbird 체크 및 기기상태 체크하는 로직으로)&lt;/li&gt;
&lt;/ol&gt;
&lt;pre id=&quot;code_1731461184686&quot; style=&quot;background-color: #f8f8f8; color: #383a42;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;sql&quot;&gt;&lt;code&gt;SELECT A.userNm, C.compNm, A.phone, B.compCd 
FROM tblUser A 
       INNER JOIN (
          SELECT compCd FROM tblCompCorp WHERE flagYN='Y' AND corpCompCd='3543'
         UNION ALL 
         SELECT compCd FROM tblCompany WHERE flagYN='Y' AND compCd='3543'
      ) B ON A.compCd=B.compCd 
LEFT JOIN tblCompany C
ON A.compCd = C.compCd
WHERE 
B.compCd&amp;lt;&amp;gt; 3321 AND
A.flagYN='Y' AND A.smsYN='Y' AND A.phone&amp;lt;&amp;gt;''&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/837</guid>
      <comments>https://capri.tistory.com/entry/20241113-TODO#entry837comment</comments>
      <pubDate>Wed, 13 Nov 2024 10:27:28 +0900</pubDate>
    </item>
    <item>
      <title>next-auth</title>
      <link>https://capri.tistory.com/entry/next-auth</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://velog.io/@s_soo100/Next.js-13Next.js-13.2%EB%B2%84%EC%A0%BC%EC%97%90-Next-auth-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://velog.io/@s_soo100/Next.js-13Next.js-13.2%EB%B2%84%EC%A0%BC%EC%97%90-Next-auth-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1730381390963&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;[Next.js 13]Next.js 13.2버젼에 Next-auth 구현하기(+ 네이버 소셜 로그인)&quot; data-og-description=&quot;넥스트JS 13.2 버젼 이상일 때, next-auth를 통해 app폴더에서 next-auth로 네이버 소셜 로그인을 해보자&quot; data-og-host=&quot;velog.io&quot; data-og-source-url=&quot;https://velog.io/@s_soo100/Next.js-13Next.js-13.2%EB%B2%84%EC%A0%BC%EC%97%90-Next-auth-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0&quot; data-og-url=&quot;https://velog.io/@s_soo100/Next.js-13Next.js-13.2버젼에-Next-auth-구현하기&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/TyeYq/hyXs10eveI/n93S1RgRyBrMMFxDsnK8K0/img.png?width=510&amp;amp;height=288&amp;amp;face=0_0_510_288,https://scrap.kakaocdn.net/dn/blfSv1/hyXsSCdYpB/EjOPv3JTWeROYE9wjYKrxK/img.png?width=510&amp;amp;height=288&amp;amp;face=0_0_510_288,https://scrap.kakaocdn.net/dn/bLfhE7/hyXpzxwHzZ/iPTcKuknif9yilAFORDvk1/img.png?width=1570&amp;amp;height=1448&amp;amp;face=0_0_1570_1448&quot;&gt;&lt;a href=&quot;https://velog.io/@s_soo100/Next.js-13Next.js-13.2%EB%B2%84%EC%A0%BC%EC%97%90-Next-auth-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://velog.io/@s_soo100/Next.js-13Next.js-13.2%EB%B2%84%EC%A0%BC%EC%97%90-Next-auth-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/TyeYq/hyXs10eveI/n93S1RgRyBrMMFxDsnK8K0/img.png?width=510&amp;amp;height=288&amp;amp;face=0_0_510_288,https://scrap.kakaocdn.net/dn/blfSv1/hyXsSCdYpB/EjOPv3JTWeROYE9wjYKrxK/img.png?width=510&amp;amp;height=288&amp;amp;face=0_0_510_288,https://scrap.kakaocdn.net/dn/bLfhE7/hyXpzxwHzZ/iPTcKuknif9yilAFORDvk1/img.png?width=1570&amp;amp;height=1448&amp;amp;face=0_0_1570_1448');&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;[Next.js 13]Next.js 13.2버젼에 Next-auth 구현하기(+ 네이버 소셜 로그인)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;넥스트JS 13.2 버젼 이상일 때, next-auth를 통해 app폴더에서 next-auth로 네이버 소셜 로그인을 해보자&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;velog.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://next-auth.js.org/getting-started/client&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://next-auth.js.org/getting-started/client&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1730381388675&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;Client API | NextAuth.js&quot; data-og-description=&quot;The NextAuth.js client library makes it easy to interact with sessions from React applications.&quot; data-og-host=&quot;next-auth.js.org&quot; data-og-source-url=&quot;https://next-auth.js.org/getting-started/client&quot; data-og-url=&quot;https://next-auth.js.org/getting-started/client&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://next-auth.js.org/getting-started/client&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://next-auth.js.org/getting-started/client&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;Client API | NextAuth.js&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;The NextAuth.js client library makes it easy to interact with sessions from React applications.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;next-auth.js.org&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://capri.tistory.com/836</guid>
      <comments>https://capri.tistory.com/entry/next-auth#entry836comment</comments>
      <pubDate>Thu, 31 Oct 2024 22:29:57 +0900</pubDate>
    </item>
    <item>
      <title>20241015 TODO</title>
      <link>https://capri.tistory.com/entry/20241015-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;양계프로그램 프로시저만들기&lt;/li&gt;
&lt;li&gt;시설정보 페이지 구현하기&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;메모리 대량 사용부분 - 9와 연관성?&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;i18n&amp;nbsp;처리&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/834</guid>
      <comments>https://capri.tistory.com/entry/20241015-TODO#entry834comment</comments>
      <pubDate>Tue, 15 Oct 2024 09:03:12 +0900</pubDate>
    </item>
    <item>
      <title>20241014 TODO</title>
      <link>https://capri.tistory.com/entry/20241014-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;s&gt;양계프로그램 테이블 구조 작업 마무리 하기(반드시!)&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;양계프로그램 프로시저만들기&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;메모리 대량 사용부분 - 9와 연관성?&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;i18n&amp;nbsp;처리&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/833</guid>
      <comments>https://capri.tistory.com/entry/20241014-TODO#entry833comment</comments>
      <pubDate>Mon, 14 Oct 2024 09:31:28 +0900</pubDate>
    </item>
    <item>
      <title>20241011 TODO</title>
      <link>https://capri.tistory.com/entry/20241011-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;s&gt;SYNC프로그램 로직 수정(문자모듈 수정)&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;양계프로그램 테이블 구조 작업 마무리 하기&lt;/li&gt;
&lt;li&gt;양계프로그램 프로시저만들기&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;메모리 대량 사용부분 - 9와 연관성?&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;i18n&amp;nbsp;처리&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/832</guid>
      <comments>https://capri.tistory.com/entry/20241011-TODO#entry832comment</comments>
      <pubDate>Fri, 11 Oct 2024 09:52:11 +0900</pubDate>
    </item>
    <item>
      <title>20241010 TODO</title>
      <link>https://capri.tistory.com/entry/20241010-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;s&gt;SYNC프로그램 로직 수정(에러발생 시 문자 발신 한건만 하도록 수정+ 문자모듈 수정)&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;양계프로그램 테이블 구조 작업 마무리 하기&lt;/li&gt;
&lt;li&gt;양계프로그램 프로시저만들기&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;메모리 대량 사용부분 - 9와 연관성?&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;i18n&amp;nbsp;처리&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/831</guid>
      <comments>https://capri.tistory.com/entry/20241010-TODO#entry831comment</comments>
      <pubDate>Fri, 11 Oct 2024 09:51:50 +0900</pubDate>
    </item>
    <item>
      <title>20241008 TODO</title>
      <link>https://capri.tistory.com/entry/20241008-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;양계프로그램 테이블 구조 작업 마무리 하기&lt;/li&gt;
&lt;li&gt;양계프로그램 프로시저만들기&lt;/li&gt;
&lt;li&gt;&lt;s&gt;i18n업데이트 후 에러수정(진행 중 보류)&lt;/s&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;메모리 대량 사용부분 - 9와 연관성?&lt;/li&gt;
&lt;li&gt;i18n작업&amp;nbsp;진행중&amp;nbsp;maximum&amp;nbsp;depth&amp;nbsp;다량&amp;nbsp;발생&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;i18n&amp;nbsp;처리&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/830</guid>
      <comments>https://capri.tistory.com/entry/20241008-TODO#entry830comment</comments>
      <pubDate>Tue, 8 Oct 2024 16:09:20 +0900</pubDate>
    </item>
    <item>
      <title>20241004 TODO</title>
      <link>https://capri.tistory.com/entry/20241004-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;양계프로그램 테이블 구조 작업 마무리 하기&lt;/li&gt;
&lt;li&gt;양계프로그램 프로시저만들기&lt;/li&gt;
&lt;li&gt;&lt;s&gt;CMAN i18n작업 마무리(현재 클라이언트 연동 작업진행중)&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;CMAN i18n scanner작업&lt;/li&gt;
&lt;li&gt;&lt;s&gt; receiver작업 farmName가져오기 추가 및 마무리 테스트(시작 시 mqtt발신 기능 추가 예정) &lt;/s&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;메모리 대량 사용부분 - 9와 연관성?&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;i18n&amp;nbsp;처리&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/829</guid>
      <comments>https://capri.tistory.com/entry/20241004-TODO#entry829comment</comments>
      <pubDate>Fri, 4 Oct 2024 09:27:16 +0900</pubDate>
    </item>
    <item>
      <title>20241002 TODO</title>
      <link>https://capri.tistory.com/entry/20241002-TODO</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘&amp;nbsp;진행예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;s&gt;sync프로그램 완료(로직 전체 수정)&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;CMAN에러확인(브랜치 새로 파서 확인작업 진행중 - 원인 못 찾고 마무리)&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;CMAN i18n작업 마무리(현재 클라이언트 연동 작업진행중)&lt;/li&gt;
&lt;li&gt;CMAN i18n scanner작업&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CMAN 추후에 진행 예정&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로그인기능 연결&lt;/li&gt;
&lt;li&gt;클라이언트단 로그남기기(누가 접속했는지 저장로그)&lt;/li&gt;
&lt;li&gt;이미지 넣기(이슈처리내용) -&amp;gt; 관련 처리 시 작성과 관련된 레이아웃 변경 예정&lt;/li&gt;
&lt;li&gt;저장 시 시간이 오래 걸리는 문제(문자필터링 관련 코드 추가 후 속도 개선/리프레시 코드 추가 후 속도 개선)&lt;/li&gt;
&lt;li&gt;Maximum depth에러 처리&lt;/li&gt;
&lt;li&gt;메모리 대량 사용부분 - 9와 연관성?&lt;/li&gt;
&lt;li&gt;지도 렌더링&lt;/li&gt;
&lt;li&gt;feed page에서 모달의 이슈항목이 보이지않는 문제&lt;/li&gt;
&lt;li&gt;i18n&amp;nbsp;처리&lt;/li&gt;
&lt;li&gt;feed페이지에서 새창누르면 원래 창이 빈화면이 뜨는 문제 (무시)&lt;/li&gt;
&lt;li&gt;이슈페이지에서 목장별 필터링 기능에 localSetting옵션의 영향 받게하기&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>TODO</category>
      <author>한츄</author>
      <guid isPermaLink="true">https://capri.tistory.com/828</guid>
      <comments>https://capri.tistory.com/entry/20241002-TODO#entry828comment</comments>
      <pubDate>Fri, 4 Oct 2024 09:16:50 +0900</pubDate>
    </item>
  </channel>
</rss>