<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>개발자_도전맨</title>
    <link>https://developer-trier.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Mon, 11 May 2026 06:49:10 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>도전맨</managingEditor>
    <item>
      <title>뒤로가기 행동시 이벤트 발생 기능</title>
      <link>https://developer-trier.tistory.com/802</link>
      <description>&lt;pre id=&quot;code_1713964103077&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const browserPreventEvent = (event: () =&amp;gt; void) =&amp;gt; {
  history.pushState(null, &quot;&quot;, location.href);
  event();
};

 useEffect(() =&amp;gt; {
    history.pushState(null, &quot;&quot;, location.href);
    
      window.addEventListener(&quot;popstate&quot;, () =&amp;gt; {
        browserPreventEvent( '이벤트 함수');
      });
      return () =&amp;gt; {
        window.removeEventListener(&quot;popstate&quot;, () =&amp;gt; {
          browserPreventEvent('이벤트 함수');
        });
      };
  }, []);&lt;/code&gt;&lt;/pre&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;함수 선언: export const browserPreventEvent = (event: () =&amp;gt; void) =&amp;gt; {...};&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;browserPreventEvent라는 함수를 선언하고, 이 함수는 하나의 매개변수 event를 받습니다. event는 함수 타입입니다.&lt;/li&gt;
&lt;li&gt;이 함수는 브라우저의 현재 URL로 history 상태를 강제로 푸시하고, 제공된 event 함수를 실행합니다. 이는 뒤로 가기 이벤트가 발생했을 때 사용자 정의 동작을 수행하게 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;useEffect 훅 사용:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;useEffect는 컴포넌트가 마운트될 때와 업데이트될 때 부수 효과를 실행하기 위해 사용됩니다. 여기서는 의존성 배열이 비어 있기 때문에 컴포넌트가 마운트될 때만 실행됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;내부에서 history.pushState 호출:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컴포넌트가 마운트되자마자, 현재의 URL 상태를 다시 history 객체에 푸시하여 브라우저의 세션 기록에 현재 위치를 추가합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;window.addEventListener(&quot;popstate&quot;, () =&amp;gt; {...}):&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;브라우저의 뒤로 가기 이벤트(popstate)에 대한 리스너를 추가합니다. 이 리스너는 뒤로 가기 버튼이 클릭될 때 browserPreventEvent 함수를 호출하여 onOpenStopBack 함수를 실행합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;정리 함수: return () =&amp;gt; {...};&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;useEffect 훅은 정리(clean-up) 함수를 제공할 수 있습니다. 이 예제에서 정리 함수는 컴포넌트가 언마운트될 때 실행됩니다.&lt;/li&gt;
&lt;li&gt;window.removeEventListener(&quot;popstate&quot;, () =&amp;gt; {...})를 호출하여, 더 이상 필요 없는 이벤트 리스너를 제거합니다. 이는 메모리 누수를 방지하고, 불필요한 리스너가 계속해서 활성화되는 것을 막습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>Frontend/HTML, CSS, DOM,  jQuery</category>
      <author>도전맨</author>
      <guid isPermaLink="true">https://developer-trier.tistory.com/802</guid>
      <comments>https://developer-trier.tistory.com/802#entry802comment</comments>
      <pubDate>Wed, 24 Apr 2024 22:11:06 +0900</pubDate>
    </item>
    <item>
      <title>프론트(front)에서 API 를 받을때 정적(static) 으로 하는 이유</title>
      <link>https://developer-trier.tistory.com/800</link>
      <description>&lt;ol style=&quot;list-style-type: decimal; color: #374151; text-align: start;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;앱 성능 향상&lt;/b&gt;: 정적 API는 미리 컴파일되어 있어 런타임 중에 동적으로 생성되는 것보다 훨씬 빠를 수 있습니다. 따라서 앱이 더 빠르게 데이터에 액세스할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;보안 강화&lt;/b&gt;: 동적 API는 런타임에 생성되므로 앱의 보안에 취약할 수 있습니다. 정적 API는 미리 정의되어 있으며, 미리 정의된 권한과 규칙을 따르므로 보안 측면에서 높은 수준의 안전성을 제공할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;캐시 및 최적화&lt;/b&gt;: 정적 API는 캐시될 수 있어서 동일한 요청에 대해 더 빠른 응답을 제공할 수 있습니다. 또한 미리 알려진 구조를 가지고 있어서 클라이언트 측에서 더 효율적으로 최적화될 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;서버 부하 감소&lt;/b&gt;: 동적 API는 요청이 있을 때마다 서버에서 응답을 생성해야 합니다. 반면에 정적 API는 이미 생성된 응답을 제공하므로 서버 부하를 감소시킬 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;개발자 경험 향상&lt;/b&gt;: 정적 API는 API의 구조와 기능이 미리 정의되어 있어 개발자가 더 쉽게 작업할 수 있도록 도와줄 수 있습니다.&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>Frontend/React &amp;amp; React.Native &amp;amp;Next.js</category>
      <author>도전맨</author>
      <guid isPermaLink="true">https://developer-trier.tistory.com/800</guid>
      <comments>https://developer-trier.tistory.com/800#entry800comment</comments>
      <pubDate>Sun, 31 Dec 2023 14:04:59 +0900</pubDate>
    </item>
    <item>
      <title>python) 파이썬에서 백틱 사용법</title>
      <link>https://developer-trier.tistory.com/799</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;파이썬 3에서 텍스트를 백틱(backticks)으로 감싸는 것은 파이썬에서 기본적으로 지원되지 않습니다. 백틱은 주로 다른 언어에서 문자열을 감싸는 데 사용되지만, 파이썬에서는 주로 작은따옴표(&lt;/span&gt;'&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;)나 큰따옴표(&lt;/span&gt;&quot;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;)를 사용하여 문자열을 나타냅니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;text_in_quotes = &lt;br /&gt;'이 텍스트는 작은 따옴표로 감싸여 있습니다.'&lt;br /&gt;text_in_double_quotes = &lt;br /&gt;&quot;이 텍스트는 큰 따옴표로 감싸여 있습니다.&quot;&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;text_with_backticks = &lt;br /&gt;''' 이 텍스트는 여러 줄에 걸쳐 있고, 백틱이 필요하지 않습니다. '''&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;이것은 여러 줄의 문자열을 표현하는 편리한 방법이며, 백틱과 유사한 효과를 얻을 수 있습니다. 파이썬에서는 일반적으로 이러한 문자열 리터럴을 사용하여 텍스트를 나타냅니다.&lt;/span&gt;&lt;/p&gt;</description>
      <author>도전맨</author>
      <guid isPermaLink="true">https://developer-trier.tistory.com/799</guid>
      <comments>https://developer-trier.tistory.com/799#entry799comment</comments>
      <pubDate>Thu, 21 Dec 2023 22:12:10 +0900</pubDate>
    </item>
    <item>
      <title>Python) pprint과 print 차이</title>
      <link>https://developer-trier.tistory.com/798</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;pprint과 print은 둘 다 파이썬에서 사용되는 출력 함수이지만, 주로 출력 결과의 가독성과 포맷에 차이가 있습니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; color: #374151; text-align: start;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;print 함수:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;print 함수는 간단한 방식으로 값을 출력합니다.&lt;/li&gt;
&lt;li&gt;출력 결과는 한 줄에 나타나며, 복잡한 데이터 구조의 경우 가독성이 떨어질 수 있습니다.출력:
&lt;div&gt;{&lt;span style=&quot;color: #00a67d;&quot;&gt;'name'&lt;/span&gt;: &lt;span style=&quot;color: #00a67d;&quot;&gt;'John'&lt;/span&gt;, &lt;span style=&quot;color: #00a67d;&quot;&gt;'age'&lt;/span&gt;: &lt;span style=&quot;color: #df3079;&quot;&gt;30&lt;/span&gt;, &lt;span style=&quot;color: #00a67d;&quot;&gt;'city'&lt;/span&gt;: &lt;span style=&quot;color: #00a67d;&quot;&gt;'Seoul'&lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;data = {&lt;span style=&quot;color: #00a67d;&quot;&gt;'name'&lt;/span&gt;: &lt;span style=&quot;color: #00a67d;&quot;&gt;'John'&lt;/span&gt;, &lt;span style=&quot;color: #00a67d;&quot;&gt;'age'&lt;/span&gt;: &lt;span style=&quot;color: #df3079;&quot;&gt;30&lt;/span&gt;, &lt;span style=&quot;color: #00a67d;&quot;&gt;'city'&lt;/span&gt;: &lt;span style=&quot;color: #00a67d;&quot;&gt;'Seoul'&lt;/span&gt;} &lt;span style=&quot;color: #e9950c;&quot;&gt;print&lt;/span&gt;(data)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;pprint 함수:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;pprint은 'pretty-print'의 줄임말로, 데이터를 보기 좋게 출력하는 데 사용됩니다.&lt;/li&gt;
&lt;li&gt;출력 결과가 들여쓰기와 줄 바꿈으로 구성되어 있어 복잡한 데이터 구조도 더 쉽게 이해할 수 있습니다.출력:
&lt;div&gt;{&lt;span style=&quot;color: #00a67d;&quot;&gt;'age'&lt;/span&gt;: &lt;span style=&quot;color: #df3079;&quot;&gt;30&lt;/span&gt;, &lt;span style=&quot;color: #00a67d;&quot;&gt;'city'&lt;/span&gt;: &lt;span style=&quot;color: #00a67d;&quot;&gt;'Seoul'&lt;/span&gt;, &lt;span style=&quot;color: #00a67d;&quot;&gt;'name'&lt;/span&gt;: &lt;span style=&quot;color: #00a67d;&quot;&gt;'John'&lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #2e95d3;&quot;&gt;from&lt;/span&gt; pprint &lt;span style=&quot;color: #2e95d3;&quot;&gt;import&lt;/span&gt; pprint data = {&lt;span style=&quot;color: #00a67d;&quot;&gt;'name'&lt;/span&gt;: &lt;span style=&quot;color: #00a67d;&quot;&gt;'John'&lt;/span&gt;, &lt;span style=&quot;color: #00a67d;&quot;&gt;'age'&lt;/span&gt;: &lt;span style=&quot;color: #df3079;&quot;&gt;30&lt;/span&gt;, &lt;span style=&quot;color: #00a67d;&quot;&gt;'city'&lt;/span&gt;: &lt;span style=&quot;color: #00a67d;&quot;&gt;'Seoul'&lt;/span&gt;} pprint(data)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;pprint은 딕셔너리, 리스트 등과 같은 중첩된 데이터 구조를 더 잘 다루며, 출력을 보기 좋게 정렬하여 제공합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #374151; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;일반적으로, 디버깅이나 데이터 구조를 이해하기 위해서는 pprint을 사용하는 것이 유용하며, 단순히 빠르게 값을 확인해야 할 때는 print를 사용할 수 있습니다.&lt;/p&gt;</description>
      <category>Backend 언어 및 프레임워크/Python - Django,Flask</category>
      <author>도전맨</author>
      <guid isPermaLink="true">https://developer-trier.tistory.com/798</guid>
      <comments>https://developer-trier.tistory.com/798#entry798comment</comments>
      <pubDate>Thu, 21 Dec 2023 22:11:15 +0900</pubDate>
    </item>
    <item>
      <title>aria-label 의 설명과 SEO와의 관련성</title>
      <link>https://developer-trier.tistory.com/797</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;aria-label&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;은 웹 접근성을 향상시키기 위해 사용되는 중요한 속성 중 하나입니다. 이 속성은 HTML 요소에 추가되며, 화면 판독기와 같은 보조 기술을 사용하는 사용자들에게 해당 요소의 목적이나 내용을 설명하는 데 도움이 됩니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;aria-label&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;을 사용함으로써 시각적으로 보이지 않는 요소에 대한 정보를 전달하고, 웹 페이지를 사용하는 데 있어서 더 나은 경험을 제공할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;aria-label은 주로 웹 접근성을 향상시키기 위한 목적으로 사용되며, 이는 주로 시각적으로 표현되지 않는 요소에 대한 정보를 제공하는 데 중점을 두고 있습니다. 그러나&lt;span&gt;&amp;nbsp;&lt;/span&gt;aria-label은 검색 엔진 최적화 (SEO)와 직접적인 관련이 있는 것은 아닙니다.&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;SEO는 주로 웹 페이지의 콘텐츠와 구조, 메타데이터, 키워드 등에 영향을 받습니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;aria-label은 웹 페이지의 시각적인 표현이나 사용자 인터페이스에 영향을 미치는 것이 아니라, 웹 접근성을 향상시키는 데 주로 사용되기 때문에 SEO와 직접적인 상관관계가 없습니다.&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;SEO를 개선하려면 주로 적절한 키워드 사용, 링크 구조 최적화, 콘텐츠의 품질 향상 등에 중점을 두어야 합니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;aria-label은 웹 접근성을 고려하는 데 유용하지만, SEO 측면에서는 다른 방법과 전략을 사용해야 합니다.&lt;/p&gt;</description>
      <category>Frontend/HTML, CSS, DOM,  jQuery</category>
      <author>도전맨</author>
      <guid isPermaLink="true">https://developer-trier.tistory.com/797</guid>
      <comments>https://developer-trier.tistory.com/797#entry797comment</comments>
      <pubDate>Thu, 14 Dec 2023 22:48:55 +0900</pubDate>
    </item>
    <item>
      <title>flutter) CocoaPods not installed</title>
      <link>https://developer-trier.tistory.com/796</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo gem install cocoapods&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo gem install -n /usr/local/bin cocoapods&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo gem install activesupport -v 4.2.6&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;pod setup&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이정도만해도 해결됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4번 뒤에 과정도 있지만&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4번까지 flutter 인식됨&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;이래도 안되면 중요한거는&amp;nbsp;&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;ruby 최신버전으로 업데이트 해야한다&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://stackoverflow.com/questions/20755044/how-do-i-install-cocoapods#comment61936592_34468906&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://stackoverflow.com/questions/20755044/how-do-i-install-cocoapods#comment61936592_34468906&lt;/a&gt;&lt;/p&gt;</description>
      <category>Frontend/Dart &amp;amp; Flutter</category>
      <author>도전맨</author>
      <guid isPermaLink="true">https://developer-trier.tistory.com/796</guid>
      <comments>https://developer-trier.tistory.com/796#entry796comment</comments>
      <pubDate>Sun, 29 Oct 2023 12:34:14 +0900</pubDate>
    </item>
    <item>
      <title>command not found brew, node, dart, flutter</title>
      <link>https://developer-trier.tistory.com/795</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;/bin/bash -c &quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)&quot;&lt;/blockquote&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;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;brew 읽기 경로 수정&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특정 버전에서 Brew는 Intel 기반 Mac의 경우 '/usr/local/bin' 디렉터리에 설치되는 반면, M1/M2 Mac의 경우 Brew는 '/opt/homebrew/bin' 디렉터리에 설치됩니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;이러한 차이로 인해 Brew 명령을 사용할 때 &quot;zsh: 명령을 찾을 수 없음: Brew&quot;라는 오류 메시지가 나타날 수 있습니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;cd ~/&lt;br /&gt;touch .zprofile&lt;br /&gt;echo 'eval &quot;$(/opt/homebrew/bin/brew shellenv)&quot;' &amp;gt;&amp;gt; $HOME/.zprofile&lt;br /&gt;eval &quot;$(/opt/homebrew/bin/brew shellenv)&quot;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 차례대로 한개씩 명령어 시도&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다시 brew 읽기 시도&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://techsviewer.com/how-to-install-brew-on-macos-sonoma/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://techsviewer.com/how-to-install-brew-on-macos-sonoma/&lt;/a&gt;&lt;/p&gt;</description>
      <category>에러</category>
      <author>도전맨</author>
      <guid isPermaLink="true">https://developer-trier.tistory.com/795</guid>
      <comments>https://developer-trier.tistory.com/795#entry795comment</comments>
      <pubDate>Sat, 28 Oct 2023 22:19:09 +0900</pubDate>
    </item>
    <item>
      <title>node 최신버전(노드 최신버전) 설치했는데, 인식 못할때</title>
      <link>https://developer-trier.tistory.com/794</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;n install lts&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;했는데,&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;565&quot; data-origin-height=&quot;73&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9afKa/btszj7R8b9Q/2GRgYBOUIW2Eq1SKHkmUTK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9afKa/btszj7R8b9Q/2GRgYBOUIW2Eq1SKHkmUTK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9afKa/btszj7R8b9Q/2GRgYBOUIW2Eq1SKHkmUTK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9afKa%2Fbtszj7R8b9Q%2F2GRgYBOUIW2Eq1SKHkmUTK%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;565&quot; height=&quot;73&quot; data-origin-width=&quot;565&quot; data-origin-height=&quot;73&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;으로 설치한 위치와 작동하는 위치가 달랐다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;nvm&amp;nbsp; ls&amp;nbsp;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해도 최신버전을 못 찾았다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f7f7f8; color: #374151; text-align: left;&quot;&gt;다음 명령어로 환경 변수를 수정할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;export PATH=$PATH:/usr/local/bin&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다시&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&amp;nbsp;n install lts&lt;br /&gt;nvm ls&amp;nbsp;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하면 최신 노드 버전이 설치된 것을 볼 수 있다&lt;/p&gt;</description>
      <category>Frontend/HTML, CSS, DOM,  jQuery</category>
      <author>도전맨</author>
      <guid isPermaLink="true">https://developer-trier.tistory.com/794</guid>
      <comments>https://developer-trier.tistory.com/794#entry794comment</comments>
      <pubDate>Fri, 27 Oct 2023 22:09:12 +0900</pubDate>
    </item>
    <item>
      <title>NextJS) Would you like to customize the default import alias (@/*)?</title>
      <link>https://developer-trier.tistory.com/793</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;이 문장은 특정 프로그래밍 환경이나 프레임워크에서 기본적으로 설정되어 있는 &quot;import alias&quot;나 &quot;import 경로 별칭&quot;을 사용자가 변경하고자 할 때 묻는 질문입니다.&lt;br /&gt;여기서 &quot;import alias&quot;나 &quot;import 경로 별칭&quot;은 코드에서 다른 파일이나 모듈을 불러올 때 사용되는 경로에 붙이는 짧은 별칭을 말합니다. 이러한 별칭을 변경하면 코드를 더 짧고 가독성 좋게 만들 수 있습니다. 문장은 사용자에게 이러한 별칭을 수정하고자 하는지를 묻는 것입니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;json&lt;/p&gt;
&lt;pre id=&quot;code_1698377744976&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;{
  &quot;compilerOptions&quot;: {
    &quot;baseUrl&quot;: &quot;./&quot;,
    &quot;paths&quot;: {
      &quot;@/*&quot;: [&quot;src/*&quot;]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;불러올때&lt;/p&gt;
&lt;pre id=&quot;code_1698377769079&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Header from '@/components/Header';

// 나머지 코드&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Frontend/React &amp;amp; React.Native &amp;amp;Next.js</category>
      <author>도전맨</author>
      <guid isPermaLink="true">https://developer-trier.tistory.com/793</guid>
      <comments>https://developer-trier.tistory.com/793#entry793comment</comments>
      <pubDate>Fri, 27 Oct 2023 12:36:13 +0900</pubDate>
    </item>
    <item>
      <title>JS)소수점 있으면 toFixed 없으면, 그냥 보여주도록 하는 로직</title>
      <link>https://developer-trier.tistory.com/792</link>
      <description>&lt;pre id=&quot;code_1698242457993&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const formatNumber = (number:any) =&amp;gt; {
  const roundedNumber = Math.round(number * 100) / 100; // 소수점 둘째 자리까지 반올림
  const isInteger = roundedNumber % 1 === 0; // 소수점이 없는지 확인

  if (isInteger) {
    return roundedNumber.toString(); // 소수점이 없으면 그냥 반환
  } else {
    return roundedNumber.toFixed(2); // 소수점이 있으면 둘째 자리까지 표시
  }
};&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Frontend/HTML, CSS, DOM,  jQuery</category>
      <author>도전맨</author>
      <guid isPermaLink="true">https://developer-trier.tistory.com/792</guid>
      <comments>https://developer-trier.tistory.com/792#entry792comment</comments>
      <pubDate>Wed, 25 Oct 2023 23:01:23 +0900</pubDate>
    </item>
  </channel>
</rss>