<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>기억 휘발 방지소</title>
    <link>https://choice91.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Thu, 30 Jul 2026 20:27:23 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>choice91</managingEditor>
    <item>
      <title>prompt_status:9: command not found: wc</title>
      <link>https://choice91.tistory.com/247</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;SCR-20250312-subg.png&quot; data-origin-width=&quot;511&quot; data-origin-height=&quot;102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8r2HS/btsMJkjpLi5/yUjiHuuhswS8fhvBMIKKj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8r2HS/btsMJkjpLi5/yUjiHuuhswS8fhvBMIKKj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8r2HS/btsMJkjpLi5/yUjiHuuhswS8fhvBMIKKj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8r2HS%2FbtsMJkjpLi5%2FyUjiHuuhswS8fhvBMIKKj0%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;511&quot; height=&quot;102&quot; data-filename=&quot;SCR-20250312-subg.png&quot; data-origin-width=&quot;511&quot; data-origin-height=&quot;102&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;.zshrc 파일 편집하다가 어떠한 명령어도 먹지 않는 상태가 되었다...&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_1741783453497&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;export PATH=%PATH:/bin:/usr/local/bin:/usr/bin&lt;/code&gt;&lt;/pre&gt;</description>
      <category>에러노트</category>
      <category>zsh</category>
      <author>choice91</author>
      <guid isPermaLink="true">https://choice91.tistory.com/247</guid>
      <comments>https://choice91.tistory.com/247#entry247comment</comments>
      <pubDate>Wed, 12 Mar 2025 21:47:53 +0900</pubDate>
    </item>
    <item>
      <title>[nginx] nginx root 경로 변경 후 404 not found 발생하는 문제</title>
      <link>https://choice91.tistory.com/246</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Ubuntu에서 nginx를 설치하면 root 경로가 기본으로 /var/www/html로 설정되어 있는데 이 경로를 변경하고 브라우저에서 접속하면 404 not found가 발생한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-12-03 오후 10.09.17.png&quot; data-origin-width=&quot;401&quot; data-origin-height=&quot;162&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZYZUU/btsK4xsMjlK/5qUrndCDEgMAvzWgdHkr31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZYZUU/btsK4xsMjlK/5qUrndCDEgMAvzWgdHkr31/img.png&quot; data-alt=&quot;404&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZYZUU/btsK4xsMjlK/5qUrndCDEgMAvzWgdHkr31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZYZUU%2FbtsK4xsMjlK%2F5qUrndCDEgMAvzWgdHkr31%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;401&quot; height=&quot;162&quot; data-filename=&quot;스크린샷 2024-12-03 오후 10.09.17.png&quot; data-origin-width=&quot;401&quot; data-origin-height=&quot;162&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;404&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/etc/nignx/nginx.conf 파일을 열어 'user www-data;'를 'user root'로 바꿔주면 해결!&lt;/p&gt;</description>
      <category>기타</category>
      <category>404</category>
      <category>nginx</category>
      <category>notfound</category>
      <author>choice91</author>
      <guid isPermaLink="true">https://choice91.tistory.com/246</guid>
      <comments>https://choice91.tistory.com/246#entry246comment</comments>
      <pubDate>Tue, 3 Dec 2024 22:11:56 +0900</pubDate>
    </item>
    <item>
      <title>[Flutter] Dio에서 timeout 설정</title>
      <link>https://choice91.tistory.com/244</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;기본값&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Dio에서 timeout은 기본값으로 0(무제한)이다.&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;h3 data-ke-size=&quot;size23&quot;&gt;1. connectTimeout (연결 타임아웃)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서버와의 연결을 설정하는데 걸리는 최대 시간을 설정한다. 이 시간이 초과되면 요청을 실패로 간주한다.&lt;/p&gt;
&lt;pre class=&quot;java&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;BaseOptions baseOptions = BaseOptions(
  connectTimeout: Duration(seconds: 10), // 10초
);

Dio dio = Dio(baseOptions);&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;h3 data-ke-size=&quot;size23&quot;&gt;2. receiveTimeout (응답 타임아웃)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서버로부터 첫 번째 바이트를 수신하는데 걸리는 최대 시간을 지정한다. 연결된 후 서버가 응답을 보내기 시작하는데 걸리는 시간을 의미한다.&lt;/p&gt;
&lt;pre id=&quot;code_1718799187419&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;BaseOptions baseOptions = BaseOptions(
  receiveTimeout: Duration(seconds: 10), // 10초
);

Dio dio = Dio(baseOptions);&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;h3 data-ke-size=&quot;size23&quot;&gt;3. sendTimeout (전송 타임아웃)&lt;/h3&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;pre id=&quot;code_1718799390669&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;BaseOptions baseOptions = BaseOptions(
  sendTimeout: Duration(seconds: 10), // 10초
);

Dio dio = Dio(baseOptions);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Flutter</category>
      <category>DIO</category>
      <category>flutter</category>
      <category>timeout</category>
      <author>choice91</author>
      <guid isPermaLink="true">https://choice91.tistory.com/244</guid>
      <comments>https://choice91.tistory.com/244#entry244comment</comments>
      <pubDate>Wed, 19 Jun 2024 21:18:05 +0900</pubDate>
    </item>
    <item>
      <title>[Flutter] dart run build runner</title>
      <link>https://choice91.tistory.com/243</link>
      <description>&lt;p&gt;자주 사용하는 명령어인데 맨날 까먹어서 정리함&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;flutter pub run build_runner build --delete-conflicting-outputs&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Flutter</category>
      <author>choice91</author>
      <guid isPermaLink="true">https://choice91.tistory.com/243</guid>
      <comments>https://choice91.tistory.com/243#entry243comment</comments>
      <pubDate>Mon, 27 May 2024 21:29:24 +0900</pubDate>
    </item>
    <item>
      <title>[Flutter] freezed에서 copyWith</title>
      <link>https://choice91.tistory.com/242</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Flutter에서 freezed를 사용해서 클래스를 만들면 setter를 사용할 수 없다.&lt;/p&gt;
&lt;pre id=&quot;code_1714987887879&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import 'package:freezed_annotation/freezed_annotation.dart';

part 'user.freezed.dart';
part 'user.g.dart';

@freezed
class User with _$User {
  const factory User({
    required String name,
    required String password,
  }) = _User;
      
  factory User.fromJson(Map&amp;lt;String, dynamic&amp;gt; json) =&amp;gt; _$UserFromJson(json);
}&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;freezed에서 자동으로 생성해주는 copyWith 메서드를 사용하면 setter처럼 값을 업데이트 시킬 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1714987806646&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;newUser = user.copyWith(name: nameController.text);&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;h4 data-ke-size=&quot;size20&quot;&gt;참고&lt;/h4&gt;
&lt;figure id=&quot;og_1714988044467&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;There isn&amp;rsquo;t a setter named 'password' in class '_$User'. &amp;middot; Issue #579 &amp;middot; rrousselGit/freezed&quot; data-og-description=&quot;What am I doing wrong? Why I can't assign password property? import 'package:freezed_annotation/freezed_annotation.dart'; part 'user.model.freezed.dart'; part 'user.model.g.dart'; @freezed class Us...&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/rrousselGit/freezed/issues/579&quot; data-og-url=&quot;https://github.com/rrousselGit/freezed/issues/579&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/gEWGh/hyVZeuLEtf/npATGcwN8gV0fMHPN5VSm1/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/rrousselGit/freezed/issues/579&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/rrousselGit/freezed/issues/579&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/gEWGh/hyVZeuLEtf/npATGcwN8gV0fMHPN5VSm1/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;There isn&amp;rsquo;t a setter named 'password' in class '_$User'. &amp;middot; Issue #579 &amp;middot; rrousselGit/freezed&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;What am I doing wrong? Why I can't assign password property? import 'package:freezed_annotation/freezed_annotation.dart'; part 'user.model.freezed.dart'; part 'user.model.g.dart'; @freezed class Us...&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>Flutter</category>
      <author>choice91</author>
      <guid isPermaLink="true">https://choice91.tistory.com/242</guid>
      <comments>https://choice91.tistory.com/242#entry242comment</comments>
      <pubDate>Mon, 6 May 2024 18:34:18 +0900</pubDate>
    </item>
    <item>
      <title>[Flutter] 안드로이드 인터넷 설정 - AndroidManifest.xml</title>
      <link>https://choice91.tistory.com/241</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안드로이드 기기 디버깅 모드 혹은 apk로 앱을 설치하여 실행하였을 때 API가 호출이 되지 않는 경우가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫 번째로 와이파이를 확인해보고&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;두 번째로 AndroidManifest.xml 파일에 인터넷 권한 설정이 되어 있는지 확인해봐야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AndroidManifest.xml에 아래 코드를 추가&lt;/p&gt;
&lt;pre id=&quot;code_1713356521109&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;uses-permission android:name=&quot;android.permission.INTERNET&quot; /&amp;gt;&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Flutter</category>
      <category>androidmanifest</category>
      <category>flutter</category>
      <author>choice91</author>
      <guid isPermaLink="true">https://choice91.tistory.com/241</guid>
      <comments>https://choice91.tistory.com/241#entry241comment</comments>
      <pubDate>Wed, 17 Apr 2024 21:23:08 +0900</pubDate>
    </item>
    <item>
      <title>[Flutter] double quote를 기본으로 설정하기</title>
      <link>https://choice91.tistory.com/240</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Flutter 프로젝트를 생성하면 single quote가 기본으로 설정되어 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;double quote를 기본으로 설정하려면 analysis_options.yaml 파일에 아래 코드를 추가해주면 된다.&lt;/p&gt;
&lt;pre class=&quot;dts&quot;&gt;&lt;code&gt;linter:
    rules:
        - prefer_double_quote&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Flutter</category>
      <category>double quote</category>
      <category>flutter</category>
      <category>single quote</category>
      <author>choice91</author>
      <guid isPermaLink="true">https://choice91.tistory.com/240</guid>
      <comments>https://choice91.tistory.com/240#entry240comment</comments>
      <pubDate>Sat, 6 Apr 2024 08:51:58 +0900</pubDate>
    </item>
    <item>
      <title>[CSS] TailwindCSS</title>
      <link>https://choice91.tistory.com/239</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 설치&lt;/h3&gt;
&lt;pre id=&quot;code_1709961307908&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;npm install -D tailwindcss&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. tailwind.config.js 파일 생성&lt;/h3&gt;
&lt;pre id=&quot;code_1709961344952&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;npx tailwindcss init&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. tailwind.config.js&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;tailwind.config.js 파일을 다음과 같이 설정해주었다.&lt;/p&gt;
&lt;pre id=&quot;code_1709961736308&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [&quot;./src/**/*.{html,htm,js,jsx,ts,tsx}&quot;],
  theme: {
    extend: {},
  },
  plugins: [],
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. css 파일 생성&lt;/h3&gt;
&lt;pre id=&quot;code_1709961866684&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@tailwind base;
@tailwind components;
@tailwind utilities;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. import&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 리액트에서 사용한다면 4번에서 만든 CSS 파일을 App.js에서 import 해주면 된다.&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;6. class&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;tailwindcss의 클래스를 참고하기 위한 사이트 (공식문서)&lt;/p&gt;
&lt;figure id=&quot;og_1709962283520&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;Installation - Tailwind CSS&quot; data-og-description=&quot;The simplest and fastest way to get up and running with Tailwind CSS from scratch is with the Tailwind CLI tool.&quot; data-og-host=&quot;tailwindcss.com&quot; data-og-source-url=&quot;https://tailwindcss.com/docs/installation&quot; data-og-url=&quot;https://tailwindcss.com/docs/installation&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dZLZfF/hyVufnTgf6/8xhuvYNlNiZtfmwfQaIyBK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/fKYJ1/hyVxz56rHO/GGUnrNZokNA78ZOnXJ5pmK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bTQZ4t/hyVujqhShh/kBFpBvvUQAbHb7I99lEZK0/img.png?width=2880&amp;amp;height=1232&amp;amp;face=0_0_2880_1232&quot;&gt;&lt;a href=&quot;https://tailwindcss.com/docs/installation&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://tailwindcss.com/docs/installation&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dZLZfF/hyVufnTgf6/8xhuvYNlNiZtfmwfQaIyBK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/fKYJ1/hyVxz56rHO/GGUnrNZokNA78ZOnXJ5pmK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bTQZ4t/hyVujqhShh/kBFpBvvUQAbHb7I99lEZK0/img.png?width=2880&amp;amp;height=1232&amp;amp;face=0_0_2880_1232');&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;Installation - Tailwind CSS&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;The simplest and fastest way to get up and running with Tailwind CSS from scratch is with the Tailwind CLI tool.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;tailwindcss.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;  참고&lt;/h3&gt;
&lt;figure id=&quot;og_1709961464810&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;Installation - Tailwind CSS&quot; data-og-description=&quot;The simplest and fastest way to get up and running with Tailwind CSS from scratch is with the Tailwind CLI tool.&quot; data-og-host=&quot;tailwindcss.com&quot; data-og-source-url=&quot;https://tailwindcss.com/docs/installation&quot; data-og-url=&quot;https://tailwindcss.com/docs/installation&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dZLZfF/hyVufnTgf6/8xhuvYNlNiZtfmwfQaIyBK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/fKYJ1/hyVxz56rHO/GGUnrNZokNA78ZOnXJ5pmK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bTQZ4t/hyVujqhShh/kBFpBvvUQAbHb7I99lEZK0/img.png?width=2880&amp;amp;height=1232&amp;amp;face=0_0_2880_1232&quot;&gt;&lt;a href=&quot;https://tailwindcss.com/docs/installation&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://tailwindcss.com/docs/installation&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dZLZfF/hyVufnTgf6/8xhuvYNlNiZtfmwfQaIyBK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/fKYJ1/hyVxz56rHO/GGUnrNZokNA78ZOnXJ5pmK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bTQZ4t/hyVujqhShh/kBFpBvvUQAbHb7I99lEZK0/img.png?width=2880&amp;amp;height=1232&amp;amp;face=0_0_2880_1232');&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;Installation - Tailwind CSS&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;The simplest and fastest way to get up and running with Tailwind CSS from scratch is with the Tailwind CLI tool.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;tailwindcss.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Web/CSS</category>
      <category>css</category>
      <category>TAILWIND</category>
      <category>TailwindCSS</category>
      <author>choice91</author>
      <guid isPermaLink="true">https://choice91.tistory.com/239</guid>
      <comments>https://choice91.tistory.com/239#entry239comment</comments>
      <pubDate>Sat, 9 Mar 2024 14:19:07 +0900</pubDate>
    </item>
    <item>
      <title>리눅스 명령어</title>
      <link>https://choice91.tistory.com/238</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;파일이동 (mv)&lt;/h3&gt;
&lt;pre id=&quot;code_1707802587082&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mv [옵션] [파일명] [이동할위치]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위치는 절대경로로 해도 되고 상대 경로로 해도 된다.&lt;/p&gt;
&lt;pre id=&quot;code_1707802658038&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mv index.html /home/user/web
현재 디렉토리에 있는 index.html 파일을 /home/user/web 폴더로 이동&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;h3 data-ke-size=&quot;size23&quot;&gt;파일복사 (cp)&lt;/h3&gt;
&lt;pre id=&quot;code_1708863277172&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cp [옵션] [복사할파일/디렉토리] [복사될디렉토리]&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1708863355482&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cp index.html /home/html
/home/html 디렉토리에 index.html을 이동&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;h3 data-ke-size=&quot;size23&quot;&gt;파일압축(tar.gz)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 리눅스 환경에서 많이 사용하고 tar 파일을 압축하는 방식으로 가장 좋은 압축 방식이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 압축할 파일은 ./* 를 써서 현재 디렉토리에 있는 모든 파일을 압축할 수도 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1707802771627&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;tar -zcvf [압축파일명.tar.gz] [압축할파일]&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;- 특정 파일을 제외하고 싶으면 --exclude 옵션을 사용하면 된다.&lt;/p&gt;
&lt;pre id=&quot;code_1707802912951&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;tar -zcvf [압축파일명.tar.gz] --exclude &quot;파일명 혹은 폴더명&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;h3 data-ke-size=&quot;size23&quot;&gt;파일압축풀기(tar.gz)&lt;/h3&gt;
&lt;pre id=&quot;code_1707802801035&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;tar -zxvf [파일명.tar.gz]&lt;/code&gt;&lt;/pre&gt;</description>
      <category>OS/Linux</category>
      <category>linux</category>
      <category>MV</category>
      <category>tar</category>
      <author>choice91</author>
      <guid isPermaLink="true">https://choice91.tistory.com/238</guid>
      <comments>https://choice91.tistory.com/238#entry238comment</comments>
      <pubDate>Tue, 13 Feb 2024 14:42:21 +0900</pubDate>
    </item>
    <item>
      <title>[Flutter] Stack의 범위를 넘어가는 위젯의 Gesture 감지</title>
      <link>https://choice91.tistory.com/237</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Stack의 자식 위젯이 Stack의 범위를 넘어가게 되면 Gesture 감지가 되지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 해결하기 위해서 범위를 넘어가는 만큼 부모 위젯에서 공간을 확보해서 Gesture 감지가 될 수 있도록 했었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제를 해결하기 위한 패키지가 존재한다고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;pub dev&lt;/h3&gt;
&lt;figure id=&quot;og_1694345639349&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;defer_pointer | Flutter Package&quot; data-og-description=&quot;An alternative to Overlay which allows you to easily render and hit test a widget outside its parent bounds.&quot; data-og-host=&quot;pub.dev&quot; data-og-source-url=&quot;https://pub.dev/packages/defer_pointer&quot; data-og-url=&quot;https://pub.dev/packages/defer_pointer&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/fcl6C/hyTSvdRLU5/XEcJDkkWJ9a76iCk7EWrK1/img.png?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640,https://scrap.kakaocdn.net/dn/f9rPA/hyTSzN6OAk/wJVKKKkfOq9KPjqy3sMH81/img.png?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640&quot;&gt;&lt;a href=&quot;https://pub.dev/packages/defer_pointer&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://pub.dev/packages/defer_pointer&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/fcl6C/hyTSvdRLU5/XEcJDkkWJ9a76iCk7EWrK1/img.png?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640,https://scrap.kakaocdn.net/dn/f9rPA/hyTSzN6OAk/wJVKKKkfOq9KPjqy3sMH81/img.png?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_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;defer_pointer | Flutter Package&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;An alternative to Overlay which allows you to easily render and hit test a widget outside its parent bounds.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;pub.dev&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;h3 data-ke-size=&quot;size23&quot;&gt;참고한 블로그&lt;/h3&gt;
&lt;figure id=&quot;og_1694345680480&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;부모(Stack)위젯의 범위를 벗어난 위젯 Gesture 감지하는 방법&quot; data-og-description=&quot;Gskinner의 defer_pointer 0.0.2&quot; data-og-host=&quot;honor-driven.dev&quot; data-og-source-url=&quot;https://honor-driven.dev/%EB%B6%80%EB%AA%A8-stack-%EC%9C%84%EC%A0%AF%EC%9D%98-%EB%B2%94%EC%9C%84%EB%A5%BC-%EB%B2%97%EC%96%B4%EB%82%9C-%EC%9C%84%EC%A0%AF-gesture-%EA%B0%90%EC%A7%80%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95-abced3417816&quot; data-og-url=&quot;https://honor-driven.dev/%EB%B6%80%EB%AA%A8-stack-%EC%9C%84%EC%A0%AF%EC%9D%98-%EB%B2%94%EC%9C%84%EB%A5%BC-%EB%B2%97%EC%96%B4%EB%82%9C-%EC%9C%84%EC%A0%AF-gesture-%EA%B0%90%EC%A7%80%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95-abced3417816&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bafPgR/hyTSqXVDhp/TyiEWkX257hhlZNzR3p4HK/img.png?width=1080&amp;amp;height=1080&amp;amp;face=0_0_1080_1080,https://scrap.kakaocdn.net/dn/lZllD/hyTSxQh1I1/8P6flgVzRxAgMemiIslcN1/img.png?width=576&amp;amp;height=962&amp;amp;face=0_0_576_962&quot;&gt;&lt;a href=&quot;https://honor-driven.dev/%EB%B6%80%EB%AA%A8-stack-%EC%9C%84%EC%A0%AF%EC%9D%98-%EB%B2%94%EC%9C%84%EB%A5%BC-%EB%B2%97%EC%96%B4%EB%82%9C-%EC%9C%84%EC%A0%AF-gesture-%EA%B0%90%EC%A7%80%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95-abced3417816&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://honor-driven.dev/%EB%B6%80%EB%AA%A8-stack-%EC%9C%84%EC%A0%AF%EC%9D%98-%EB%B2%94%EC%9C%84%EB%A5%BC-%EB%B2%97%EC%96%B4%EB%82%9C-%EC%9C%84%EC%A0%AF-gesture-%EA%B0%90%EC%A7%80%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95-abced3417816&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bafPgR/hyTSqXVDhp/TyiEWkX257hhlZNzR3p4HK/img.png?width=1080&amp;amp;height=1080&amp;amp;face=0_0_1080_1080,https://scrap.kakaocdn.net/dn/lZllD/hyTSxQh1I1/8P6flgVzRxAgMemiIslcN1/img.png?width=576&amp;amp;height=962&amp;amp;face=0_0_576_962');&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;부모(Stack)위젯의 범위를 벗어난 위젯 Gesture 감지하는 방법&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Gskinner의 defer_pointer 0.0.2&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;honor-driven.dev&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>Flutter</category>
      <category>clipBehavior</category>
      <category>flutter</category>
      <category>Gesture</category>
      <category>stack</category>
      <author>choice91</author>
      <guid isPermaLink="true">https://choice91.tistory.com/237</guid>
      <comments>https://choice91.tistory.com/237#entry237comment</comments>
      <pubDate>Sun, 10 Sep 2023 20:35:07 +0900</pubDate>
    </item>
  </channel>
</rss>