<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Creative Repository</title>
    <link>https://www.jkun.net/</link>
    <description>노련한 뱃사공은 거친 파도가 만든다</description>
    <language>ko</language>
    <pubDate>Sat, 13 Jun 2026 02:32:53 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Dev. Jkun</managingEditor>
    <image>
      <title>Creative Repository</title>
      <url>https://t1.daumcdn.net/cfile/tistory/2118873855F59A8E2D</url>
      <link>https://www.jkun.net</link>
    </image>
    <item>
      <title>UBUNTU / VirtualBox 속도 느려지는 문제</title>
      <link>https://www.jkun.net/705</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;단순히 VirtualBox 에 해당하는 문제는 아닌 듯 싶지만. 전체적으로 포스팅 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 UBUNTU 22.04 를 개발환경으로 구성하고 (이 시점에서 24는 다양한 패키지들간의 호환성 문제로&lt;br /&gt;그냥 22.04 로 구성했다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;486&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qW2vz/btsLKIyMnGg/zRBnAr3Y0BJbqlBbW3XKqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qW2vz/btsLKIyMnGg/zRBnAr3Y0BJbqlBbW3XKqk/img.png&quot; data-alt=&quot;시스템&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qW2vz/btsLKIyMnGg/zRBnAr3Y0BJbqlBbW3XKqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqW2vz%2FbtsLKIyMnGg%2FzRBnAr3Y0BJbqlBbW3XKqk%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;743&quot; height=&quot;486&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;486&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;시스템&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;739&quot; data-origin-height=&quot;505&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7k4hh/btsLJDd4uFl/htOkouNr99GeLcLwbeF5Z1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7k4hh/btsLJDd4uFl/htOkouNr99GeLcLwbeF5Z1/img.png&quot; data-alt=&quot;디스플레이 및 비디오&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7k4hh/btsLJDd4uFl/htOkouNr99GeLcLwbeF5Z1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7k4hh%2FbtsLJDd4uFl%2FhtOkouNr99GeLcLwbeF5Z1%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;739&quot; height=&quot;505&quot; data-origin-width=&quot;739&quot; data-origin-height=&quot;505&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;디스플레이 및 비디오&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발을 목적으로 사용하려 했기 때문에 넉넉하게(?) 부여해주었다.&lt;br /&gt;원래는 비디오 메모리를 64로 했는데 128로 늘려놓았다. 그런데도.... 느리고...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 VSCode 를 쓰던, 브라우저를 불러오던 계속 화면이 멈추고 그냥 강제종료 되고,&lt;br /&gt;해서 스트레스 발생;;;;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 주요문제는 화면이 멈추고 반응이 없는거. 기다리면 다시 돌아오기 까지도 시간이 꽤 걸림&lt;br /&gt;하지만 이 방법으로 아직까지 문제가 없기에 포스팅한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 구글링을 해서 확인해보니 스왑파일 크기의 문제가 주 원인이었던 것 같다.&amp;nbsp;&lt;br /&gt;스왑파일의 권장유형을 확인해보니 다음과 같다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 85px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px; text-align: center;&quot;&gt;현재 RAM (VirtualBox 설정확인)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px; text-align: center;&quot;&gt;권장 (일반적 사용)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px; text-align: center;&quot;&gt;권장 (전문가?)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px; text-align: right;&quot;&gt;2GB&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px; text-align: right;&quot;&gt;2GB&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px; text-align: right;&quot;&gt;4GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px; text-align: right;&quot;&gt;4GB&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px; text-align: right;&quot;&gt;2GB&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px; text-align: right;&quot;&gt;4GB ~ 6GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px; text-align: right;&quot;&gt;8GB&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px; text-align: right;&quot;&gt;2GB ~ 4GB&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px; text-align: right;&quot;&gt;6GB ~ 8GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px; text-align: right;&quot;&gt;16GB&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px; text-align: right;&quot;&gt;2GB ~ 4GB&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px; text-align: right;&quot;&gt;6GB ~ 8GB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 스왑 파일의 상태부터 확인하자.&lt;/p&gt;
&lt;pre id=&quot;code_1736498562204&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 상태확인
swapon --show

# 결과
NAME       TYPE SIZE USED PRIO
/swapfile  file 4G   0B   -2&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2.스왑 재설정&lt;/p&gt;
&lt;pre id=&quot;code_1736498978764&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 현재 스왑 파일 비활성화
sudo swapoff /swapfile

# 기존 스왑 파일 삭제
sudo rm /swapfile

# 새로운 스왑 파일 생성 (4GB)
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# 파일에 아래 내용이 있는지 확인할 것
cat /etc/fstab
/swapfile none swap sw 0 0

# 스왑사용량 확인
free -h
              total        used        free      shared  buff/cache   available
Mem:           8.0G        3.2G        3.5G         50M        1.3G        4.5G
Swap:          4.0G          0B        4.0G&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필요에 따라 동적설정이 있다는데 아직까지 안궁금함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 이 문제는 버추얼 박스만의 문제는 아닐 거 같긴하다.&lt;/p&gt;</description>
      <category>OS &amp;amp; Infra/Linux</category>
      <category>swap</category>
      <category>ubuntu</category>
      <category>ubuntu 느려짐</category>
      <category>ubuntu22.04</category>
      <category>VirtualBox</category>
      <category>버추얼박스</category>
      <category>스왑설정</category>
      <category>우분투 느려짐</category>
      <author>Dev. Jkun</author>
      <guid isPermaLink="true">https://www.jkun.net/705</guid>
      <comments>https://www.jkun.net/705#entry705comment</comments>
      <pubDate>Fri, 10 Jan 2025 17:51:21 +0900</pubDate>
    </item>
    <item>
      <title>window.opener 메세지 보내기 (부모창 함수 호출)</title>
      <link>https://www.jkun.net/704</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;자식 창에서 데이터를 수정하고 난 후, 부모창에 데이터를 전달해야하는데  몰랐던 API 가 있었다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;window.opener.postMessage&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자식 창 (Child Window)&lt;/p&gt;
&lt;pre id=&quot;code_1711188923633&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;window.opener.postMessage('parentWindowMessageSend', '*');&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;부모 창 (Parent Window)&lt;/p&gt;
&lt;pre id=&quot;code_1711188950331&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;window.addEventListener('message', (event) =&amp;gt; {
	if (event.data === 'parentWindowMessageSend') {
		// action
	}
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생각보다 개발하고 있는 Vue/Nuxt 기반 프로젝트 새 창을 띄우는 일이 많았다.&lt;br /&gt;그런데 pinia/store 로도 데이터가 전달이 안되서 위와 같은 방식으로 해결을 해야했는데.. 일단은 현재까지 큰 문제는 없는 듯.&lt;/p&gt;</description>
      <category>Development/Javascript</category>
      <category>NUXT</category>
      <category>pinia</category>
      <category>Vue3</category>
      <category>window.opener.postMessage</category>
      <category>window.opner</category>
      <category>부모 창</category>
      <author>Dev. Jkun</author>
      <guid isPermaLink="true">https://www.jkun.net/704</guid>
      <comments>https://www.jkun.net/704#entry704comment</comments>
      <pubDate>Sat, 23 Mar 2024 19:17:54 +0900</pubDate>
    </item>
    <item>
      <title>TypeError: Cannot read properties of null (reading 'parentNode')</title>
      <link>https://www.jkun.net/703</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;Nuxt / Vue (Version 3 기준)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같은 오류가 지속적으로 발생하는데 캡쳐모를 못해놓음. 일단 메세지는 위와 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내용을 읽어보다 예전에 Nuxt/Vue 2 때 본 거 같아서 혹시나 해봤더니 역시나 였음;;&lt;br /&gt;정확한 원인이 아닐 수 도 있지만 그때도 가끔씩 Vue 나 Nuxt 버전 업데이트때 생겼던 것 같아서&lt;br /&gt;일단 정신건강상 개발규칙으로 해놓음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 컨벤션 툴등을 이용하여 규칙화시키면 관리용이.&lt;/p&gt;
&lt;pre id=&quot;code_1705462642531&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!-- 이전코드 --&amp;gt;
&amp;lt;script setup&amp;gt;

&amp;lt;/script&amp;gt;
&amp;lt;template&amp;gt;
	&amp;lt;NuxtLayout name=&quot;app&quot;&amp;gt;
		&amp;lt;slot /&amp;gt;
	&amp;lt;/NuxtLayout&amp;gt;
&amp;lt;/template&amp;gt;

&amp;lt;!-- 변경 후 --&amp;gt;
&amp;lt;script setup&amp;gt;

&amp;lt;/script&amp;gt;
&amp;lt;template&amp;gt;
	&amp;lt;div id=&quot;app&quot;&amp;gt;
		&amp;lt;NuxtLayout name=&quot;app&quot;&amp;gt;
			&amp;lt;slot /&amp;gt;
		&amp;lt;/NuxtLayout&amp;gt;
	&amp;lt;/div&amp;gt;
&amp;lt;/template&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;결국엔 NuxtLayout 컴포넌트 위에 루트 엘리먼트가 있어야 했던 것임.&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;추가적으로 관련 이슈가 &lt;a href=&quot;https://github.com/nuxt/nuxt/issues/13309&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;github&lt;/a&gt; 에도 있다. 다양한 케이스가 있겠지만 위 코드로도 해결이 안되면 확인해보시길&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>Development/Javascript | Vue.js</category>
      <category>NUXT</category>
      <category>nuxt3</category>
      <category>parentNode</category>
      <category>Vue</category>
      <category>Vue3</category>
      <author>Dev. Jkun</author>
      <guid isPermaLink="true">https://www.jkun.net/703</guid>
      <comments>https://www.jkun.net/703#entry703comment</comments>
      <pubDate>Wed, 17 Jan 2024 12:38:55 +0900</pubDate>
    </item>
    <item>
      <title>Vue3 / div 엘리먼트에서 contenteditable 을 반응형으로</title>
      <link>https://www.jkun.net/702</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Vue3 Composition API 기준으로 작성했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어쨌든 잘못된 기획으로 인하여 불필요한 코드를 작성했지만, 메모해둘 필요는 있는 듯 하여 포스팅을 한다.&lt;br /&gt;특별한 건 없다. 코드 작성구조 및 방식만 메모해두는 거니&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;HTML (Template)&lt;/p&gt;
&lt;pre id=&quot;code_1704999335686&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;template&amp;gt;
	&amp;lt;div contenteditable=&quot;true&quot; v-html=&quot;editData.edit&quot; @input=&quot;updateStyling($event.target)&quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/template&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Javascript (Vue.js 3 / Composition API)&lt;/p&gt;
&lt;pre id=&quot;code_1704999611146&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const editData = reactive({
	origin: '',
	edit: ''
});
const updateStyling = (eventTarget) =&amp;gt; {
	editData.edit = eventTarget.innerHTML.toString();
};&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;@input 이벤트에서 target 까지만 함수 파라미터로 넘겨주어야 innerHTML 속성에 접근할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/Javascript | Vue.js</category>
      <category>composition-api</category>
      <category>ContentEditable</category>
      <category>Vue3</category>
      <author>Dev. Jkun</author>
      <guid isPermaLink="true">https://www.jkun.net/702</guid>
      <comments>https://www.jkun.net/702#entry702comment</comments>
      <pubDate>Fri, 12 Jan 2024 04:02:19 +0900</pubDate>
    </item>
    <item>
      <title>TailwindCSS SVG Icon 사이트 모음</title>
      <link>https://www.jkun.net/701</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;찾기에 지쳐서, 정리를 해놔야지 겠다 싶었는데 이제서야 한다;;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.mingcute.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.mingcute.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1704904211731&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;MingCute Icon _ Carefully Designed Icon Library&quot; data-og-description=&quot;&quot; data-og-host=&quot;www.mingcute.com&quot; data-og-source-url=&quot;https://www.mingcute.com/&quot; data-og-url=&quot;https://www.mingcute.com/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.mingcute.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.mingcute.com/&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;MingCute Icon _ Carefully Designed Icon Library&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.mingcute.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://remixicon.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://remixicon.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1704904228014&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;Remix Icon - Open source icon library&quot; data-og-description=&quot;&quot; data-og-host=&quot;remixicon.com&quot; data-og-source-url=&quot;https://remixicon.com/&quot; data-og-url=&quot;https://remixicon.com/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://remixicon.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://remixicon.com/&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;Remix Icon - Open source icon library&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;remixicon.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://basicons.xyz/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://basicons.xyz/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1704904256890&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;Basicons&quot; data-og-description=&quot;Basic icons for product design &amp;amp; development&quot; data-og-host=&quot;basicons.xyz&quot; data-og-source-url=&quot;https://basicons.xyz/&quot; data-og-url=&quot;https://basicons.xyz&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cmunyU/hyU2stJO4W/UzuBdMZWwk6xlyOsVJl8d1/img.png?width=1279&amp;amp;height=804&amp;amp;face=0_0_1279_804&quot;&gt;&lt;a href=&quot;https://basicons.xyz/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://basicons.xyz/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cmunyU/hyU2stJO4W/UzuBdMZWwk6xlyOsVJl8d1/img.png?width=1279&amp;amp;height=804&amp;amp;face=0_0_1279_804');&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;Basicons&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Basic icons for product design &amp;amp; development&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;basicons.xyz&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://pixelarticons.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://pixelarticons.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1704904270557&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;Pixelarticons&quot; data-og-description=&quot;480 open-source line pixel-art style icons, in one color and made with a 24x24px grid by Gerrit Halfmann. Pro version with 1,920 icons with 3 variants!&quot; data-og-host=&quot;pixelarticons.com&quot; data-og-source-url=&quot;https://pixelarticons.com/&quot; data-og-url=&quot;https://pixelarticons.com&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cVP0WR/hyU2gtgPqp/ti3PyKV776urSE9KqdRBz1/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/bVCadg/hyU2koVnlX/ysv8NeXDGDqVDlVCpbdMi1/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960&quot;&gt;&lt;a href=&quot;https://pixelarticons.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://pixelarticons.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cVP0WR/hyU2gtgPqp/ti3PyKV776urSE9KqdRBz1/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/bVCadg/hyU2koVnlX/ysv8NeXDGDqVDlVCpbdMi1/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960');&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;Pixelarticons&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;480 open-source line pixel-art style icons, in one color and made with a 24x24px grid by Gerrit Halfmann. Pro version with 1,920 icons with 3 variants!&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;pixelarticons.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://www.tailwindtoolbox.com/icons&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.tailwindtoolbox.com/icons&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1704904287768&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;Tailwind Toolbox - Free Starter Templates for Tailwind CSS&quot; data-og-description=&quot;Free open source Tailwind CSS starter templates to get you started quickly to creating websites in Tailwind CSS!&quot; data-og-host=&quot;www.tailwindtoolbox.com&quot; data-og-source-url=&quot;https://www.tailwindtoolbox.com/icons&quot; data-og-url=&quot;https://www.tailwindtoolbox.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bb3Xis/hyU2ox4jEY/K2ErSf2keK0hMiyRZ2fM3K/img.png?width=1024&amp;amp;height=575&amp;amp;face=0_0_1024_575,https://scrap.kakaocdn.net/dn/bxZUQ3/hyU2mtulX7/JlpkwdlKyanoAplkkZchg1/img.png?width=1024&amp;amp;height=575&amp;amp;face=0_0_1024_575&quot;&gt;&lt;a href=&quot;https://www.tailwindtoolbox.com/icons&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.tailwindtoolbox.com/icons&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bb3Xis/hyU2ox4jEY/K2ErSf2keK0hMiyRZ2fM3K/img.png?width=1024&amp;amp;height=575&amp;amp;face=0_0_1024_575,https://scrap.kakaocdn.net/dn/bxZUQ3/hyU2mtulX7/JlpkwdlKyanoAplkkZchg1/img.png?width=1024&amp;amp;height=575&amp;amp;face=0_0_1024_575');&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;Tailwind Toolbox - Free Starter Templates for Tailwind CSS&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Free open source Tailwind CSS starter templates to get you started quickly to creating websites in Tailwind CSS!&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.tailwindtoolbox.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>Development/CSS | SCSS | SASS</category>
      <category>iCon</category>
      <category>SVG</category>
      <category>tailwindcss</category>
      <category>아이콘</category>
      <author>Dev. Jkun</author>
      <guid isPermaLink="true">https://www.jkun.net/701</guid>
      <comments>https://www.jkun.net/701#entry701comment</comments>
      <pubDate>Thu, 11 Jan 2024 01:31:58 +0900</pubDate>
    </item>
    <item>
      <title>[OSX] 파인더(Finder)에서 Visual Studio Code 폴더/파일 열기</title>
      <link>https://www.jkun.net/700</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;파인더에서 VSCode 로 폴더나 파일을 열려는데, 따로 없어서 불편했는데 Automator 를 이용하면 간단하게 해결할 수 있었다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 스포트라이트 (Sportlight) 로 Automator 를 검색한다.&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;785&quot; data-origin-height=&quot;163&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bR3tlO/btsy8ceavX8/r1dW86ygdhL0ocRZGbMqSk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bR3tlO/btsy8ceavX8/r1dW86ygdhL0ocRZGbMqSk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bR3tlO/btsy8ceavX8/r1dW86ygdhL0ocRZGbMqSk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbR3tlO%2Fbtsy8ceavX8%2Fr1dW86ygdhL0ocRZGbMqSk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;668&quot; height=&quot;457&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;785&quot; data-origin-height=&quot;163&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 신규문서를 생성하여 문서유형이 &quot;빠른 동작&quot; 을 선택한다.&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;540&quot; data-origin-height=&quot;486&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CEk1a/btsyVYvw7WE/qXbyp3QW5KdEBZdsZMx9KK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CEk1a/btsyVYvw7WE/qXbyp3QW5KdEBZdsZMx9KK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CEk1a/btsyVYvw7WE/qXbyp3QW5KdEBZdsZMx9KK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCEk1a%2FbtsyVYvw7WE%2FqXbyp3QW5KdEBZdsZMx9KK%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;540&quot; height=&quot;486&quot; data-origin-width=&quot;540&quot; data-origin-height=&quot;486&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. 동작에서 &quot;파일 및 폴더&quot; 를 선택하고 &quot;Finder 항목열기&quot; 를 선택한다.&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1056&quot; data-origin-height=&quot;574&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Tafhg/btsy38Rw6Or/Ovsi6Y5Umz5wLTzuoWIeB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Tafhg/btsy38Rw6Or/Ovsi6Y5Umz5wLTzuoWIeB0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Tafhg/btsy38Rw6Or/Ovsi6Y5Umz5wLTzuoWIeB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTafhg%2Fbtsy38Rw6Or%2FOvsi6Y5Umz5wLTzuoWIeB0%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;1056&quot; height=&quot;574&quot; data-origin-width=&quot;1056&quot; data-origin-height=&quot;574&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;4. 드래그앤 드롭으로 우측으로 놓고 아래와 같은 설정으로 맞추어 준다.&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;선택 항목 위치&lt;/b&gt; : &lt;span style=&quot;color: #ee2323;&quot;&gt;Finder&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다음으로 열기&lt;/b&gt; : &lt;span style=&quot;color: #ee2323;&quot;&gt;기타&lt;/span&gt; 선택 하고 &lt;span style=&quot;color: #ee2323;&quot;&gt;응용 프로그램&lt;/span&gt;에서 &lt;span style=&quot;color: #ee2323;&quot;&gt;Visual Studio Code&lt;/span&gt; 를 선택&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;1063&quot; data-origin-height=&quot;826&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wBMNS/btsy8k4i3BC/1DTiw8ajjCmFwnj4iOkmOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wBMNS/btsy8k4i3BC/1DTiw8ajjCmFwnj4iOkmOk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wBMNS/btsy8k4i3BC/1DTiw8ajjCmFwnj4iOkmOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwBMNS%2Fbtsy8k4i3BC%2F1DTiw8ajjCmFwnj4iOkmOk%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;1063&quot; height=&quot;826&quot; data-origin-width=&quot;1063&quot; data-origin-height=&quot;826&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;914&quot; data-origin-height=&quot;508&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cA6xXo/btsy04hFzSH/3mB48Ctl4Q5gXY0PMfnK5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cA6xXo/btsy04hFzSH/3mB48Ctl4Q5gXY0PMfnK5K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cA6xXo/btsy04hFzSH/3mB48Ctl4Q5gXY0PMfnK5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcA6xXo%2Fbtsy04hFzSH%2F3mB48Ctl4Q5gXY0PMfnK5K%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;914&quot; height=&quot;508&quot; data-origin-width=&quot;914&quot; data-origin-height=&quot;508&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;이건 설정 완료한 상태&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;이제 마우스 우클릭으로 실행한 상태&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;840&quot; data-origin-height=&quot;613&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2CwyK/btsy3M87O88/9JUJGwKTkmo3Yx2YvM8wb1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2CwyK/btsy3M87O88/9JUJGwKTkmo3Yx2YvM8wb1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2CwyK/btsy3M87O88/9JUJGwKTkmo3Yx2YvM8wb1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2CwyK%2Fbtsy3M87O88%2F9JUJGwKTkmo3Yx2YvM8wb1%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;840&quot; height=&quot;613&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;840&quot; data-origin-height=&quot;613&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;이건 파인더에서 실행했을때 &lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;655&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcEtrm/btsy3fDeW5o/Rf796SyDmirjHiigUbgtV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcEtrm/btsy3fDeW5o/Rf796SyDmirjHiigUbgtV1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcEtrm/btsy3fDeW5o/Rf796SyDmirjHiigUbgtV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcEtrm%2Fbtsy3fDeW5o%2FRf796SyDmirjHiigUbgtV1%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;581&quot; height=&quot;655&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;655&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해서 이제 잘된다~~~ 아어~ 별거 아니지만, 불편하셨던 분들에게 도움이 되었길 바랍니다.&lt;/p&gt;</description>
      <category>OS &amp;amp; Infra/Mac OS</category>
      <category>Automator</category>
      <category>OSX</category>
      <category>visualstudiocode</category>
      <category>VSCode</category>
      <category>vscode폴더</category>
      <category>맥vscode</category>
      <author>Dev. Jkun</author>
      <guid isPermaLink="true">https://www.jkun.net/700</guid>
      <comments>https://www.jkun.net/700#entry700comment</comments>
      <pubDate>Tue, 24 Oct 2023 14:40:12 +0900</pubDate>
    </item>
    <item>
      <title>[Tailwindcss] 클래스 그룹화</title>
      <link>https://www.jkun.net/699</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;tailwindcss 를 사용하다 보면 현란한 유틸리티 클래스들에 눈이 쾡 해지는 경험을 하게 됬다.&lt;br /&gt;생산성이 너무 좋은데 추후에 가독성이 떨어짐이 있었는데 보니 css 를 그룹화 할 수 있게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Before&lt;/p&gt;
&lt;pre id=&quot;code_1697630344134&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;table class=&quot;min-w-full divide-y divide-gray-200 dark:divide-gray-700&quot;&amp;gt;
  &amp;lt;thead&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;th scope=&quot;col&quot; class=&quot;px-6 py-3 text-xs font-medium text-left text-gray-500 uppercase&quot;&amp;gt;Blog Name&amp;lt;/th&amp;gt;
    &amp;lt;/tr&amp;gt;
  &amp;lt;/thead&amp;gt;
  &amp;lt;tbody class=&quot;divide-y divide-gray-200 dark:divide-gray-700&quot;&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;td class=&quot;px-6 py-4 text-sm font-medium text-gray-800 whitespace-nowrap dark:text-gray-200&quot;&amp;gt;JKUN.NET&amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
  &amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 위와 같이 있으면 읽기가 빡씨다..&lt;br /&gt;그런데 이것을 그룹화 시키면 보다 더 구조화하고 가독성을 향상시키며 간단하게 사용할 수 있다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;CSS&lt;/h3&gt;
&lt;pre id=&quot;code_1697630471142&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@layer utilities {
	.table-basic {
		@apply min-w-full text-xs divide-y divide-gray-200 dark:divide-gray-700
	}
	.table-basic thead {
		@apply bg-gray-50 dark:bg-slate-800 dark:text-gray-200
	}
	.table-basic thead th {
		@apply px-6 py-3 text-center
	}
	.table-basic tbody {
		@apply divide-y divide-gray-200 dark:divide-gray-700 dark:text-gray-400
	}
	.table-basic tbody td {
		@apply px-6 py-3 whitespace-nowrap
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;HTML&lt;/h3&gt;
&lt;pre id=&quot;code_1697630564937&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;table class=&quot;table-basic&quot;&amp;gt;
  &amp;lt;thead&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;th scope=&quot;col&quot;&amp;gt;Name&amp;lt;/th&amp;gt;
    &amp;lt;/tr&amp;gt;
  &amp;lt;/thead&amp;gt;
  &amp;lt;tbody&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;td&amp;gt;JKUN.NET&amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
  &amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 한숨 크게 놓인다. ㅎㅎㅎ;;&amp;nbsp;&lt;br /&gt;너무 늦게 알았어.. ㅠㅠ;&lt;/p&gt;</description>
      <category>Development/CSS | SCSS | SASS</category>
      <category>CSS</category>
      <category>css group</category>
      <category>HTML</category>
      <category>tailwindcss</category>
      <author>Dev. Jkun</author>
      <guid isPermaLink="true">https://www.jkun.net/699</guid>
      <comments>https://www.jkun.net/699#entry699comment</comments>
      <pubDate>Wed, 18 Oct 2023 21:03:32 +0900</pubDate>
    </item>
    <item>
      <title>[MariaDB] 비밀번호(Password) 변경</title>
      <link>https://www.jkun.net/698</link>
      <description>&lt;pre id=&quot;code_1693345209531&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;set password for '계정'@'host' = password('변경할 비밀번호');

# 정신건강상
flush privileges;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DataBase/MariaDB</category>
      <category>MariaDB</category>
      <category>mariadb 비밀번호변경</category>
      <category>MySQL</category>
      <category>마리아디비</category>
      <author>Dev. Jkun</author>
      <guid isPermaLink="true">https://www.jkun.net/698</guid>
      <comments>https://www.jkun.net/698#entry698comment</comments>
      <pubDate>Wed, 30 Aug 2023 06:40:49 +0900</pubDate>
    </item>
    <item>
      <title>[SSL] UBUNTU 22.04 에서 Certbot 설치 (apt)</title>
      <link>https://www.jkun.net/697</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;certbot 을 설치하려는데 자꾸 snap 을 설치하라고 한다.&lt;br /&gt;그래서 설치할라고 하니까 머라 드러분 에러들인데 보기도 싫다;;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;암튼 뭐가 더 좋아져서 그런지는 모르겠으나 일단 설치는 했고, 크으은 차이는 없는 듯하니 그냥 apt 로&lt;br /&gt;진행해도 무방할 듯&lt;/p&gt;
&lt;pre id=&quot;code_1692898727681&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;## 난 엔진엑스니까!
sudo apt install python3-certbox-nginx&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해서 설치가 완료되면 나머지는 똑같을 듯.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자세한 설명은 오피셜 도큐멘테이션 ㅋㅋㅋ&lt;/p&gt;
&lt;figure id=&quot;og_1692898768785&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;Certbot&quot; data-og-description=&quot;Tagline&quot; data-og-host=&quot;certbot.eff.org&quot; data-og-source-url=&quot;https://certbot.eff.org/&quot; data-og-url=&quot;https://certbot.eff.org/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://certbot.eff.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://certbot.eff.org/&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;Certbot&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Tagline&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;certbot.eff.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>OS &amp;amp; Infra/Linux</category>
      <category>certbot</category>
      <category>nginx</category>
      <category>SSL</category>
      <category>ubuntu</category>
      <category>ubuntu22.04</category>
      <category>엔진엑스</category>
      <category>우분투</category>
      <category>우분투22.04</category>
      <author>Dev. Jkun</author>
      <guid isPermaLink="true">https://www.jkun.net/697</guid>
      <comments>https://www.jkun.net/697#entry697comment</comments>
      <pubDate>Fri, 25 Aug 2023 02:40:06 +0900</pubDate>
    </item>
    <item>
      <title>[LINUX] 로그인 쉘 변경</title>
      <link>https://www.jkun.net/696</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;useradd 로 계정을 생성했는데 기본 쉘 환경이 /bin/sh 였다. 그래서 bash 로 변경하고자 했다.&lt;/p&gt;
&lt;pre id=&quot;code_1692098986287&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 확인
cat /etc/passswd | grep jkun

# &amp;gt;&amp;gt; jkun:x:1000:1000::/home/jkun:/bin/sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같이 먼저 확인을 하고, &lt;b&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;chsh 계정&lt;/span&gt;&lt;/b&gt; 을 실행하여 변경한다.&lt;/p&gt;
&lt;pre id=&quot;code_1692099107041&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;chsh jkun

# Changing the login shell for jkun
# Enter the new value, or press ENTER for the default
#	Login Shell [/bin/sh]:&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같이 실행하면 /bin/bash 로 입력하고 엔터!!!&lt;/p&gt;</description>
      <category>OS &amp;amp; Infra/Linux</category>
      <category>chsh</category>
      <category>Linux</category>
      <category>로그인쉘</category>
      <category>리눅스</category>
      <author>Dev. Jkun</author>
      <guid isPermaLink="true">https://www.jkun.net/696</guid>
      <comments>https://www.jkun.net/696#entry696comment</comments>
      <pubDate>Tue, 15 Aug 2023 20:32:28 +0900</pubDate>
    </item>
  </channel>
</rss>