diff --git a/_posts/retrospect/2024/01.md b/_posts/retrospect/2024/01.md
new file mode 100644
index 00000000..6383d3fa
--- /dev/null
+++ b/_posts/retrospect/2024/01.md
@@ -0,0 +1,91 @@
+---
+title: '2024년 1월 회고'
+description: '1월은 설렘의 연속'
+tags: ['retrospect', '2024', '01']
+coverImage: 'https://github.com/1ilsang/dev/assets/23524849/80b94675-d239-4f77-917d-52211a6a878d'
+date: '2024-02-09T06:06:08.342Z'
+ogImage:
+ url: 'https://github.com/1ilsang/dev/assets/23524849/80b94675-d239-4f77-917d-52211a6a878d'
+---
+
+![cover](https://github.com/1ilsang/dev/assets/23524849/994f1e84-c960-47fc-91ab-f97faccbde37 'cover')
+
+[2023년 회고록](/posts/retrospect/2023)에서 "데이터" 부재의 아쉬움을 이야기했었다. 따라서 올해는 데이터 드리븐 삶을 살기 위해 월간 회고를 진행하려고 한다.
+
+## 2024년 1월의 목표
+
+1월의 핵심 키워드는 "절제"였다. 작년의 문제 중 하나로 지목된 "TODO"에 무한히 쌓이기만 하는 것들을 없애기 위한 일환이었다.
+
+이번 달의 목표는 아래와 같았다.
+
+1. 2D1R
+2. 월간 다이브
+3. 월간 메이커스
+4. 말해보카
+5. 운동하기
+
+## 2D1R
+
+![leetcode-jan](https://github.com/1ilsang/dev/assets/23524849/c03b18bc-adce-4f74-8278-e88216c1c973 'h-s s')
+
+2D1R은 2일에 1알고리즘으로, 꾸준하게 가져가고 싶은 습관 중 하나다.
+
+leetcode를 기준으로 풀고 있다. 화요일과 목요일은 꼭 제출한 모습을 보인다. 이때가 스터디 제출 날이라..ㅋ
+
+최근에 가장 재밌었던 문제는 [Find-the-duplicate-number](https://leetcode.com/problems/find-the-duplicate-number/description/)이다. [플로이드의 토끼와 거북이 알고리즘](https://dev.to/alisabaj/floyd-s-tortoise-and-hare-algorithm-finding-a-cycle-in-a-linked-list-39af)을 활용하여 해결하는 문제인데, 점화식 도출이 너무 신기했다.
+
+취준생 때 지금처럼 재미를 느꼈다면 얼마나 좋았을까...
+
+## 월간 다이브
+
+![vite](https://github.com/1ilsang/dev/assets/23524849/132b52c7-3c2b-4554-b0fb-8ec5f3193d7a 's')
+
+전문성을 기르고자 시작한 월간 다이브.
+
+특정 기술을 이해하고 넘어가는 것이 아니라 글로 정리해 누군가에게 설명할 수 있도록 하는 것이 목표다. 분석/발표하는 것이 목표다.
+
+원래는 Axios를 하려고 했는데, 회사에서 Vite 관련 이슈를 만나면서 [Vite Dev Server 이해하기 (feat. HMR)](/posts/js/dev-server)로 급선회했다.
+
+시간이 엄청나게 들어갔다. 거의 10일은 매달렸다(-\_-).
+
+기술 이해를 위한 디버깅 과정이 고난이라 생각했지만 글로 정리하면서 팩트체크 하는 과정이 "진짜"였다. 정말 쉽지 않았다.
+
+나름 만족하는 글이다. 많은 분들에게 피드백을 받을 수 있었고 회사에서 발표도 진행했다.
+
+## 월간 메이커스
+
+![rust](https://github.com/1ilsang/dev/assets/23524849/39229def-f330-447e-8b6f-77926a7d18e9)
+
+월간 다이브로 이론적 공부를 했다면 월간 메이커스를 통해 실전 코딩을 하려고 했다.
+
+목표로 하는 라이브러리 혹은 기술을 잡아 클론코딩 비슷하게 만들어 보는 게 목표이다.
+
+유데미 [러스트 강의를 수강](https://1ilsang.dev/posts/rust/udemy-rust-programming) 하고 나서 의미 있는 걸 만들어보자 생각해 FHF(File Hierarchy Fixer)를 구현해 보려고 했다.
+
+근데 월간 다이브 과정에서 시간이 끌리며 레포만 만들고 실패했다.
+
+## 말해보카
+
+![말해보카](https://github.com/1ilsang/dev/assets/23524849/551c8c96-336b-47bf-8d09-ef575b6a9e24)
+
+요즘 [말해보카](https://epop.ai/ko)에 푹 빠져 있다. 영어 재밌을지도..?
+
+이 녀석 완전 효자다. 대만족 중
+
+## 운동하기
+
+![chart](https://github.com/1ilsang/dev/assets/23524849/042647fa-bbba-4017-baf5-e6b427ce0245)
+
+> 클라이밍 날짜와 빨강 푼 개수
+
+자주 갔다고 생각했는데 모아보니 많이 가진 못했다.
+
+1월에는 총 34개를 풀었다. 요즘 야식을 많이 먹어서 그런지 벽 타는 게 상당히 어렵다.
+
+다음 달에는 좀 더 트레이닝해야겠다.
+
+## 마치며
+
+2월에는 현상 유지하면서 책 한 권만 읽으면 좋을 것 같다.
+
+가보자고!
diff --git a/src/features/shared/helpers/markdown.ts b/src/features/shared/helpers/markdown.ts
index 1fc31b88..5f2c6e83 100644
--- a/src/features/shared/helpers/markdown.ts
+++ b/src/features/shared/helpers/markdown.ts
@@ -23,18 +23,6 @@ const markdownToHtml = async (mdText: string) => {
return parsedNode;
},
image(h, node, parent) {
- const className = (() => {
- switch (node.title) {
- case 'l':
- return `large`;
- case 's':
- return `small`;
- case 'cover':
- return 'cover';
- default:
- return undefined;
- }
- })();
const parsedNode = h(
node,
'div',
@@ -48,7 +36,7 @@ const markdownToHtml = async (mdText: string) => {
properties: {
src: node.url,
alt: node.alt,
- class: className,
+ class: node.title,
},
children: [],
},
diff --git a/src/features/styles/markdown/index.scss b/src/features/styles/markdown/index.scss
index 0e7dbe82..38f87752 100644
--- a/src/features/styles/markdown/index.scss
+++ b/src/features/styles/markdown/index.scss
@@ -146,14 +146,18 @@
}
}
- .large {
+ .l {
width: 100%;
}
- .small {
+ .s {
width: 40%;
}
+ .h-s {
+ height: 200px;
+ }
+
.cover {
width: 100%;
height: 600px;