<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://eeheueklf.github.io/blog</id>
    <title>히리로그 Blog</title>
    <updated>2026-04-20T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://eeheueklf.github.io/blog"/>
    <subtitle>히리로그 Blog</subtitle>
    <icon>https://eeheueklf.github.io/img/icon.svg</icon>
    <entry>
        <title type="html"><![CDATA[🤖Gemini와 알아본 현업에서 쓰는 폴더 관리]]></title>
        <id>https://eeheueklf.github.io/blog/feature-sliced-design</id>
        <link href="https://eeheueklf.github.io/blog/feature-sliced-design"/>
        <updated>2026-04-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[학교에서, 그리고 개인적으로 여러 프로젝트를 진행하면서 폴더 구조의 정답을 쫓아왔다. 어떤 구조가 가장 효율적인지, 실제 현업에서는 어떤 방식을 사용하는지 항상 궁금했지만 참고할 만한 레퍼런스를 찾기가 쉽지 않았다.]]></summary>
        <content type="html"><![CDATA[<p>학교에서, 그리고 개인적으로 여러 프로젝트를 진행하면서 폴더 구조의 <strong>정답</strong>을 쫓아왔다. 어떤 구조가 가장 효율적인지, 실제 현업에서는 어떤 방식을 사용하는지 항상 궁금했지만 참고할 만한 레퍼런스를 찾기가 쉽지 않았다.</p>
<p>과거, 규모가 작은 개인 프로젝트에 세분화된 구조를 적용하면서 <strong>과분리</strong>라는 느낌을 받았던 적도 있다. 하지만 코드 리팩토링을 하면서 <code>hook</code>과 <code>service</code>, <code>ui</code>를 분리했을때 얻는 유지보수성의 이점이 훨씬 크다는 것을 깨달았다.</p>
<p>이제는 <code>Gemini</code>와 함께 현업에서 어떤 구조가 많이 쓰이는지, <strong>폴더 구조의 정답이 있는지</strong> 알 수 있게 되었다. <code>Gemini</code>는 어디서 폴더 구조를 참고하였는지 탐구해보자.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="폴더-구조의-교과서">폴더 구조의 교과서<a href="https://eeheueklf.github.io/blog/feature-sliced-design#%ED%8F%B4%EB%8D%94-%EA%B5%AC%EC%A1%B0%EC%9D%98-%EA%B5%90%EA%B3%BC%EC%84%9C" class="hash-link" aria-label="폴더 구조의 교과서에 대한 직접 링크" title="폴더 구조의 교과서에 대한 직접 링크">​</a></h2>
<p><a href="https://github.com/alan2207/bulletproof-react" target="_blank" rel="noopener noreferrer">Bulletproof-React</a><br>
<code>Gemini</code>가 말하는 <strong>폴더 구조의 교과서</strong>로 통하는 레포지토리이다. 이 프로젝트의 핵심은 기능 기반 구조에 있다.</p>
<p><code>A simple, scalable, and powerful architecture for building production ready React applications.</code></p>
<p><code>components</code>, <code>hook</code> 폴더에 모든 파일을 넣는 것이 아니라, <code>src/features/comments</code>와 같이 특정 기능 단위로 폴더를 구성한다. 해당 기능에서만 사용하는 로직과 컴포넌트를 한 폴더에서 관리하는 방식이다.
<img decoding="async" loading="lazy" alt="alt text" src="https://eeheueklf.github.io/assets/images/bulletproof-33d188b20839123e9c57ac05a5db8222.png" width="1009" height="303" class="img_ev3q"></p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="fsdfeature-sliced-design">FSD(Feature-Sliced Design)<a href="https://eeheueklf.github.io/blog/feature-sliced-design#fsdfeature-sliced-design" class="hash-link" aria-label="FSD(Feature-Sliced Design)에 대한 직접 링크" title="FSD(Feature-Sliced Design)에 대한 직접 링크">​</a></h2>
<p>FSD는 여기서 더 나아가 <strong>계층화</strong>를 통해 엄격하게 의존성을 관리할 것을 제안한다. 가장 큰 특징은 <strong>단방향 의존성</strong>으로, 하위 계층이 상위 계층을 절대 참조할 수 없게 설계하여 코드 간 순서를 명확히 정의한다.</p>
<ul>
<li><strong>App</strong>: 앱의 진입점 (Provider, 전역 스타일)</li>
<li><strong>Processes</strong>: 여러 단계가 필요한 비즈니스 로직</li>
<li><strong>Pages</strong>: 실제 화면 단위</li>
<li><strong>Widgets</strong>: 독립적인 큰 단위 (Header, Sidebar)</li>
<li><strong>Features</strong>: 사용자 행동 (좋아요 버튼, 검색 창)</li>
<li><strong>Entities</strong>: 비즈니스 (User, Product, Post)</li>
<li><strong>Shared</strong>: 공통 UI 컴포넌트, 유틸 함수</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="적용해보기">적용해보기<a href="https://eeheueklf.github.io/blog/feature-sliced-design#%EC%A0%81%EC%9A%A9%ED%95%B4%EB%B3%B4%EA%B8%B0" class="hash-link" aria-label="적용해보기에 대한 직접 링크" title="적용해보기에 대한 직접 링크">​</a></h2>
<p>리팩토링 과정 중 이러한 폴더 구조를 따라가보고 있다. 기존에는  <code>component</code> 폴더와 <code>features </code>폴더에 로직이 몰려있었고, 이를 각각 <code>features</code> 폴더 내부로 분산시켰다.</p>
<p><img decoding="async" loading="lazy" alt="alt text" src="https://eeheueklf.github.io/assets/images/noiton-folder-d41b35800b829348159a956570f23b73.png" width="297" height="229" class="img_ev3q"></p>
<ul>
<li><code>src/features/template/hooks/useDownloadTemplate.ts</code></li>
<li><code>src/features/template/service/tempolateService.ts</code></li>
</ul>
<p>기능을 새로 개발할때 <code>features</code> 폴더 안에 새로운 폴더를 만들기만 하면 된다는 포인트가 중요한 것 같다. 기능을 삭제하거나, 관련 함수를 테스트할때 폴더 하나만 확인하면 된다는 것이 작업에 매우 효율적이고 편리하다.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="hook-과-api를-분리하자">Hook 과 API를 분리하자<a href="https://eeheueklf.github.io/blog/feature-sliced-design#hook-%EF%BF%BD%EA%B3%BC-api%EB%A5%BC-%EB%B6%84%EB%A6%AC%ED%95%98%EC%9E%90" class="hash-link" aria-label="Hook 과 API를 분리하자에 대한 직접 링크" title="Hook 과 API를 분리하자에 대한 직접 링크">​</a></h2>
<p>작은 프로젝트에 이런 엄격한 구조를 도입하는 것이 번거롭게 느껴질 수 있다. 하지만 직접 적용하며 느낀 점은 <strong>규모와 상관없이 관심사를 분리하는 습관이 필수적이다</strong>는 점이다.</p>
<p>컴포넌트에서 직접 <code>API</code>를 호출하는 대신, <code>service</code>로 통신을 분리하고 이를 커스텀 <code>hook</code>으로 감싸는 구조를 추천한다. 이렇게 하면 나중에 <code>TanStack Query</code>를 도입하거나 낙관적 업데이트 로직을 추가할 때, <code>UI</code> 코드는 단 한 줄도 건드리지 않고 로직만 깔끔하게 교체할 수 있다.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="마무리">마무리<a href="https://eeheueklf.github.io/blog/feature-sliced-design#%EB%A7%88%EB%AC%B4%EB%A6%AC" class="hash-link" aria-label="마무리에 대한 직접 링크" title="마무리에 대한 직접 링크">​</a></h2>
<p>그럼에도 완벽한 폴더 구조란 건 없다.<br>
<!-- -->기술은 변화하고, 그런 기술에 맞는 새로운 구조가 등장할 수 있다.<br>
<!-- -->그럼으로 유지보수하기 좋은 구조에 대한 고민을 계속 해가며 학습해나가야겠다.</p>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Next.js가 함정이었던 타자 연습 프로젝트 회고]]></title>
        <id>https://eeheueklf.github.io/blog/next-sidepj</id>
        <link href="https://eeheueklf.github.io/blog/next-sidepj"/>
        <updated>2026-04-05T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[최신 트렌드인 Next.js를 학습하고 적용했던 적용기입니다.]]></summary>
        <content type="html"><![CDATA[<p><em>최신 트렌드인 Next.js를 학습하고 적용했던 적용기입니다.</em></p>
<p>블로그를 만들며 <code>Next.js</code>를 맛본 뒤, <strong>이거 물건이다</strong>라는 생각이 들었다.</p>
<p>배포도 빠르고 리액트랑도 비슷해서, 바로 다음 프로젝트 프레임워크로 선택했다.</p>
<p>그렇게 2명이서 야심차게 시작한 타자 연습 사이트 사이드 프로젝트
<a href="https://tyletype.vercel.app/" target="_blank" rel="noopener noreferrer">TYLE</a></p>
<p><img decoding="async" loading="lazy" alt="TYLE" src="data:image/png;base64,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" width="78" height="28" class="img_ev3q"></p>
<p>처음엔 모든 게 순조로웠다.</p>
<p><code>Vercel</code>에서의 배포는 순식간이었고, 리액트 했던대로 구현도 빠르게 했다.</p>
<p>하지만 프로젝트가 진행될수록 뭔가 이상함을 느꼈다.</p>
<p><img decoding="async" loading="lazy" alt="이상하다" src="https://eeheueklf.github.io/assets/images/%EC%9D%B4%EC%83%81%ED%95%98%EB%8B%A4-be85a42ed05603a31333eb63375550e9.png" width="400" height="400" class="img_ev3q"></p>
<p><strong>1. 이거 <code>use Client</code> 이렇게 많이 쓰면 안될 것 같은데</strong></p>
<p><code>Next.js</code>가 서버 사이드 렌더링<code>SSR</code>에 강점이 있음에도 사이트 초기 메인화면 렌더링 속도가 너무 길었다.</p>
<p>타자 연습 특성상 실시간 키보드 이벤트와 상태 업데이트가 70% 이상이었기 때문에 화면에 거의 모든 곳에 <code>use client</code>가 필요했다!</p>
<p><strong>2. SEO 쓸데가 없네</strong></p>
<p>검색 엔진 최적화가 장점이라지만, 타자 연습 사이트엔 텍스트 콘텐츠가 없기 때문에</p>
<p>키보드와 글귀만 있는 서비스에서 장점을 발휘 할 수가 없었다.</p>
<p><strong>3. 한글 입력과 렌더링</strong></p>
<p>한글 입력은 자+모음이 합쳐지는 형태라 특수한 경우였는데..<br>
<!-- -->조합 중인 글자가 상태와 동기화될 때마다 불필요한 리렌더링이 빈번하게 발생했다. 또한 엔터 키 입력 시 이벤트가 중복으로 발생하는 등 클라이언트 측에서 처리해야 할 엣지 케이스가 많았다.</p>
<p>결국 서비스의 핵심인 타이핑 로직은 순수 클라이언트 영역이었고 성능 최적화의 핵심 또한 클라이언트 측에 있었다. <code>Next.js</code>의 장점을 살리지 못하고 오히려 아키텍처만 복잡해지는 결과였다.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="기술은-도구일-뿐이다">기술은 도구일 뿐이다!<a href="https://eeheueklf.github.io/blog/next-sidepj#%EA%B8%B0%EC%88%A0%EC%9D%80-%EB%8F%84%EA%B5%AC%EC%9D%BC-%EB%BF%90%EC%9D%B4%EB%8B%A4" class="hash-link" aria-label="기술은 도구일 뿐이다!에 대한 직접 링크" title="기술은 도구일 뿐이다!에 대한 직접 링크">​</a></h2>
<p>고민 없는 기술 도입은 오히려 설계의 복잡도를 높이고 개발 생산성을 저해한다. 트렌드에 따라 <code>Next.js</code>를 선택했지만, 타자 연습과 같이 실시간 인터랙션 비중이 높은 프로젝트에서는 더 가벼운 클라이언트 중심의 환경이 적합했다.</p>
<p>결국 개발자의 진정한 실력은, 프로젝트의 성격에 맞는 적절한 기술을 선택하는 안목인 것이다. 이러한 깨달음을 새기고, 다음 프로젝트에서는 SEO와 초기 로딩 속도라는 목표를 설정하고, <code>Next.js</code>의 기능을 제대로 활용할 수 있는 <strong>서버 컴포넌트 우선 설계</strong>를 중심에 두기로 했다.</p>
<hr>
<blockquote>
<p>다음 글 : <a href="https://eeheueklf.github.io/docs/dev-log/noiton-render">한번 깨지고 다시 다진 Next.js</a></p>
</blockquote>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[블로그 새 단장 with Docusaurus🦕]]></title>
        <id>https://eeheueklf.github.io/blog/blog-docusaurus</id>
        <link href="https://eeheueklf.github.io/blog/blog-docusaurus"/>
        <updated>2026-03-26T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[[회고] 프로그래머스 기초 입문 달성 후기 🥳🎉]]></title>
        <id>https://eeheueklf.github.io/blog/programmers</id>
        <link href="https://eeheueklf.github.io/blog/programmers"/>
        <updated>2025-09-25T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[프론트엔드 코딩테스트 준비 겸 JS 기본기 익히기를 목표로 프로그래머스 기초 및 입문 트레이닝을 3주 동안 풀었다.]]></summary>
        <content type="html"><![CDATA[<p>프론트엔드 코딩테스트 준비 겸 JS 기본기 익히기를 목표로 프로그래머스 기초 및 입문 트레이닝을 3주 동안 풀었다.<br>
<!-- -->기초와 입문 각 25일씩 <code>Lv.0</code> 문제를 풀어보는 과정이었는데, 전공자라 하루에 기초+입문 <code>2 Day</code>씩 달렸다.</p>
<p>초반에는 1시간 정도 걸렸고, 후반에는 2시간, 어려울 때는 3시간까지 문제 풀이에 시간을 들였다.</p>
<p>그동안 프론트엔드 구현에 <code>JavaScript</code>를 쓰긴 했지만 기초부터 체계적으로 배운 건 아니었다. 그래서 메서드 하나하나 알아가면서 풀었는데, 과정을 완료하는 시점에서 보니 각 메서드의 쓰임새를 익히고 문자열과 배열을 집중적으로 공략할 수 있어서 좋았다.</p>
<p>드디어 JS의 기초를 제대로 뗀 느낌 😊😅</p>
<p><img decoding="async" loading="lazy" alt="alt text" src="data:image/png;base64,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" width="100" height="100" class="img_ev3q"></p>
<p><code>Lv.0</code>인데도 쉽지 않은 문제들이 섞여 있었지만, <code>JavaScript</code>에는 다른 언어에서 볼 수 없는 기특한 메서드가 참 많았다. 길게 풀어야 할 로직을 한 줄로 줄여주는 메서드들을 보며 확실히 <code>아는게 힘이다</code> 라는걸 느꼈다</p>
<p><code>Lv.0</code>을 끝냈으니 이제 <code>Lv.1</code>을 차근차근 풀어볼 예정이다. 조금 풀어 보니까 <code>Lv.0</code>에서 기초를 탄탄히 다졌다면 <code>Lv.1</code>도 큰 어려움은 없을 것 같다!</p>
<p>참고로 초반에는 기초와 입문 난이도가 비슷하지만, 입문 후반으로 갈수록 어려워진다. 기초와 입문을 따로 진행할 생각이라면 기초 → 입문 순서로 공부하는 것을 추천한다.</p>
<p><img decoding="async" loading="lazy" alt="프로그래머스 완료 캘린더" src="https://eeheueklf.github.io/assets/images/programmers-cal-518f2a428430694c762fede7838b7a8a.png" width="913" height="645" class="img_ev3q"></p>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[인트로]]></title>
        <id>https://eeheueklf.github.io/blog/intro</id>
        <link href="https://eeheueklf.github.io/blog/intro"/>
        <updated>2025-08-27T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[🧱🧱🧱🧱🧱🧱🧱🧱🧱🧱]]></summary>
        <content type="html"><![CDATA[<p>🧱🧱🧱🧱🧱🧱🧱🧱🧱🧱</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="마크다운-참고하기-">마크다운 참고하기 🍪🍄‍🟫☕<a href="https://eeheueklf.github.io/blog/intro#%EB%A7%88%ED%81%AC%EB%8B%A4%EC%9A%B4-%EC%B0%B8%EA%B3%A0%ED%95%98%EA%B8%B0-" class="hash-link" aria-label="마크다운 참고하기 🍪🍄‍🟫☕에 대한 직접 링크" title="마크다운 참고하기 🍪🍄‍🟫☕에 대한 직접 링크">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="-안녕하세요-">👋 안녕하세요 🤎🧸📜<a href="https://eeheueklf.github.io/blog/intro#-%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94-" class="hash-link" aria-label="👋 안녕하세요 🤎🧸📜에 대한 직접 링크" title="👋 안녕하세요 🤎🧸📜에 대한 직접 링크">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="제목-4-">제목 4 🌕🍞🍂<a href="https://eeheueklf.github.io/blog/intro#%EC%A0%9C%EB%AA%A9-4-" class="hash-link" aria-label="제목 4 🌕🍞🍂에 대한 직접 링크" title="제목 4 🌕🍞🍂에 대한 직접 링크">​</a></h4>
<p>🍩🐿️🍦</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="1-alert">1. alert<a href="https://eeheueklf.github.io/blog/intro#1-alert" class="hash-link" aria-label="1. alert에 대한 직접 링크" title="1. alert에 대한 직접 링크">​</a></h2>
<div class="theme-admonition theme-admonition-note admonition_xJq3 alert alert--secondary"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></span></div><div class="admonitionContent_BuS1"><p>정보</p></div></div>
<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37">🌵</span></div><div class="admonitionContent_BuS1"><p>팁</p></div></div>
<div class="theme-admonition theme-admonition-warning admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37">🌞</span></div><div class="admonitionContent_BuS1"><p>메모</p></div></div>
<div class="theme-admonition theme-admonition-danger admonition_xJq3 alert alert--danger"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37">⛔</span></div><div class="admonitionContent_BuS1"><p>경고</p></div></div>
<div class="theme-admonition theme-admonition-danger admonition_xJq3 alert alert--danger"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37">⛔</span>Take care</div><div class="admonitionContent_BuS1"><p>경고입니다~</p></div></div>
<hr>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="2-텍스트-스타일">2. 텍스트 스타일<a href="https://eeheueklf.github.io/blog/intro#2-%ED%85%8D%EC%8A%A4%ED%8A%B8-%EC%8A%A4%ED%83%80%EC%9D%BC" class="hash-link" aria-label="2. 텍스트 스타일에 대한 직접 링크" title="2. 텍스트 스타일에 대한 직접 링크">​</a></h2>
<p><strong>굵게</strong><br>
<em>기울임</em><br>
<del>취소선</del><br>
<strong>굵고 <em>기울임</em></strong></p>
<hr>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="3-목록">3. 목록<a href="https://eeheueklf.github.io/blog/intro#3-%EB%AA%A9%EB%A1%9D" class="hash-link" aria-label="3. 목록에 대한 직접 링크" title="3. 목록에 대한 직접 링크">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="순서-없는-목록">순서 없는 목록<a href="https://eeheueklf.github.io/blog/intro#%EC%88%9C%EC%84%9C-%EC%97%86%EB%8A%94-%EB%AA%A9%EB%A1%9D" class="hash-link" aria-label="순서 없는 목록에 대한 직접 링크" title="순서 없는 목록에 대한 직접 링크">​</a></h3>
<ul>
<li>아이템 1</li>
<li>아이템 2<!-- -->
<ul>
<li>하위 아이템</li>
</ul>
</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="순서-있는-목록">순서 있는 목록<a href="https://eeheueklf.github.io/blog/intro#%EC%88%9C%EC%84%9C-%EC%9E%88%EB%8A%94-%EB%AA%A9%EB%A1%9D" class="hash-link" aria-label="순서 있는 목록에 대한 직접 링크" title="순서 있는 목록에 대한 직접 링크">​</a></h3>
<ol>
<li>첫 번째</li>
<li>두 번째<!-- -->
<ol>
<li>하위 첫 번째</li>
</ol>
</li>
</ol>
<hr>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="5-코드">5. 코드<a href="https://eeheueklf.github.io/blog/intro#5-%EC%BD%94%EB%93%9C" class="hash-link" aria-label="5. 코드에 대한 직접 링크" title="5. 코드에 대한 직접 링크">​</a></h2>
<div class="codeBlockContainer_APcc"><div class="language-js theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-js codeBlock_qGQc thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token console class-name">console</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">log</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"JavaScript 코드 블록"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="클립보드에 코드 복사" title="복사" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div>
<hr>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="6-인용문">6. 인용문<a href="https://eeheueklf.github.io/blog/intro#6-%EC%9D%B8%EC%9A%A9%EB%AC%B8" class="hash-link" aria-label="6. 인용문에 대한 직접 링크" title="6. 인용문에 대한 직접 링크">​</a></h2>
<blockquote>
<p>인용문입니다.</p>
<blockquote>
<p>중첩 인용문입니다.</p>
</blockquote>
</blockquote>
<hr>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="8-체크박스-gfm">8. 체크박스 (GFM)<a href="https://eeheueklf.github.io/blog/intro#8-%EC%B2%B4%ED%81%AC%EB%B0%95%EC%8A%A4-gfm" class="hash-link" aria-label="8. 체크박스 (GFM)에 대한 직접 링크" title="8. 체크박스 (GFM)에 대한 직접 링크">​</a></h2>
<ul class="contains-task-list containsTaskList_mC6p">
<li class="task-list-item"><input type="checkbox" disabled="" checked=""> <!-- -->완료</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->미완료</li>
</ul>
<hr>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="10-각주">10. 각주<a href="https://eeheueklf.github.io/blog/intro#10-%EA%B0%81%EC%A3%BC" class="hash-link" aria-label="10. 각주에 대한 직접 링크" title="10. 각주에 대한 직접 링크">​</a></h2>
<p>문장 안에서 각주를 달 수 있습니다<sup><a href="https://eeheueklf.github.io/blog/intro#user-content-fn-1-bf2b8a" id="user-content-fnref-1-bf2b8a" data-footnote-ref="true" aria-describedby="footnote-label">1</a></sup>.</p>
<hr>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="12-형광펜">12. 형광펜<a href="https://eeheueklf.github.io/blog/intro#12-%ED%98%95%EA%B4%91%ED%8E%9C" class="hash-link" aria-label="12. 형광펜에 대한 직접 링크" title="12. 형광펜에 대한 직접 링크">​</a></h2>
<p><mark>기본 형광펜</mark>이잖아~</p>
<hr>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="14-코드-블록">14. 코드 블록<a href="https://eeheueklf.github.io/blog/intro#14-%EC%BD%94%EB%93%9C-%EB%B8%94%EB%A1%9D" class="hash-link" aria-label="14. 코드 블록에 대한 직접 링크" title="14. 코드 블록에 대한 직접 링크">​</a></h2>
<div class="codeBlockContainer_APcc"><div class="language-js theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-js codeBlock_qGQc thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_p187"><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">function</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">hello</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token console class-name">console</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">log</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"2번 줄 하이라이트"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain"></span><span class="token console class-name">console</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">log</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"4번 줄 하이라이트"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token console class-name">console</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">log</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"4번 줄 하이라이트"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token console class-name">console</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">log</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"4번 줄 하이라이트"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="클립보드에 코드 복사" title="복사" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div>
<div class="codeBlockContainer_APcc"><div class="language-jsx theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-jsx codeBlock_qGQc thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token keyword module" style="color:#00009f">import</span><span class="token plain"> </span><span class="token imports maybe-class-name">React</span><span class="token plain"> </span><span class="token keyword module" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'react'</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword module" style="color:#00009f">import</span><span class="token plain"> </span><span class="token imports maybe-class-name">Layout</span><span class="token plain"> </span><span class="token keyword module" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'@theme/Layout'</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword module" style="color:#00009f">export</span><span class="token plain"> </span><span class="token keyword module" style="color:#00009f">default</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">function</span><span class="token plain"> </span><span class="token function maybe-class-name" style="color:#d73a49">MyReactPage</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag class-name" style="color:#00009f">Layout</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain-text">      </span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">h1</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain-text">My React page</span><span class="token tag punctuation" style="color:#393A34">&lt;/</span><span class="token tag" style="color:#00009f">h1</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain-text">      </span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">p</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain-text">This is a React page</span><span class="token tag punctuation" style="color:#393A34">&lt;/</span><span class="token tag" style="color:#00009f">p</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain-text">    </span><span class="token tag punctuation" style="color:#393A34">&lt;/</span><span class="token tag class-name" style="color:#00009f">Layout</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="클립보드에 코드 복사" title="복사" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div>
<hr>
<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>Toggle me!</summary><div><div class="collapsibleContent_i85q"><p>This is the detailed content</p><div class="codeBlockContainer_APcc"><div class="language-js theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-js codeBlock_qGQc thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token console class-name">console</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">log</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"Markdown features including the code block are available"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="클립보드에 코드 복사" title="복사" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></details>
<section data-footnotes="true" class="footnotes"><h2 class="anchor anchorWithStickyNavbar_LWe7 sr-only" id="footnote-label">Footnotes<a href="https://eeheueklf.github.io/blog/intro#footnote-label" class="hash-link" aria-label="Footnotes에 대한 직접 링크" title="Footnotes에 대한 직접 링크">​</a></h2>
<ol>
<li id="user-content-fn-1-bf2b8a">
<p>각주 내용 <a href="https://eeheueklf.github.io/blog/intro#user-content-fnref-1-bf2b8a" data-footnote-backref="" aria-label="Back to reference 1" class="data-footnote-backref">↩</a></p>
</li>
</ol>
</section>]]></content>
    </entry>
</feed>