From 463fddefaeb176f16bd1489acaba26194d7f0b09 Mon Sep 17 00:00:00 2001 From: 1ilsang <1ilsang@naver.com> Date: Sat, 8 Jun 2024 00:20:44 +0900 Subject: [PATCH 1/4] update comment --- .github/actions/netlify-preview/action.yml | 26 +++++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/.github/actions/netlify-preview/action.yml b/.github/actions/netlify-preview/action.yml index 41d2c237..40441233 100644 --- a/.github/actions/netlify-preview/action.yml +++ b/.github/actions/netlify-preview/action.yml @@ -36,6 +36,7 @@ runs: echo "NETLIFY_PREVIEW_URL=$NETLIFY_PREVIEW_URL" >> "$GITHUB_OUTPUT" - name: Comment URL Preview on PR + # https://octokit.github.io/rest.js/v20 uses: actions/github-script@v7 env: NETLIFY_PREVIEW_URL: ${{ steps.url-preview.outputs.NETLIFY_PREVIEW_URL }} @@ -49,13 +50,26 @@ runs: commit_sha: process.env.HEAD_COMMIT, }); const issueNumber = result.data[0]?.number; + const commentId = false; + + console.log(result.data[0]); + if (issueNumber) { - await github.rest.issues.createComment({ - issue_number: issueNumber, - owner: context.repo.owner, - repo: context.repo.repo, - body: `Preview URL: ${process.env.NETLIFY_PREVIEW_URL}` - }); + if (commentId) { + await github.rest.issues.updateComment({ + owner: context.repo.owner, + repo: context.repo.repo, + comment_id: commentId, + body: `Preview URL: ${process.env.NETLIFY_PREVIEW_URL}` + }); + } else { + await github.rest.issues.createComment({ + issue_number: issueNumber, + owner: context.repo.owner, + repo: context.repo.repo, + body: `Preview URL: ${process.env.NETLIFY_PREVIEW_URL}` + }); + } } else { console.log('No PR found for commit ' + process.env.HEAD_COMMIT); } From 97038043f1ef7683bad2775e1bff12719d014bf5 Mon Sep 17 00:00:00 2001 From: 1ilsang <1ilsang@naver.com> Date: Sat, 8 Jun 2024 00:27:51 +0900 Subject: [PATCH 2/4] test(dom): Update snapshots --- e2e/__snapshots__/404.spec.ts/desktop/404.html | 2 +- e2e/__snapshots__/404.spec.ts/mobile/404.html | 2 +- e2e/__snapshots__/about.spec.ts/desktop/about.html | 2 +- e2e/__snapshots__/about.spec.ts/mobile/about.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/desktop/2023.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/desktop/2024-01.html | 2 +- .../post/dom.spec.ts/desktop/array-prototype-sort.html | 2 +- .../post/dom.spec.ts/desktop/bali-remote-work.html | 2 +- .../post/dom.spec.ts/desktop/deploy-eslint-plugin.html | 2 +- .../post/dom.spec.ts/desktop/geultto8-open-source-seminar.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195687.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195692.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195693.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195696.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195698.html | 2 +- .../post/dom.spec.ts/desktop/implicit-coercion.html | 2 +- .../post/dom.spec.ts/desktop/jeju-remote-work.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/desktop/junction2023.html | 2 +- .../post/dom.spec.ts/desktop/leetcode-easy-2727.html | 2 +- .../post/dom.spec.ts/desktop/leetcode-hard-42.html | 2 +- .../post/dom.spec.ts/desktop/leetcode-medium-238.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/desktop/mac-init-apps.html | 2 +- .../post/dom.spec.ts/desktop/mdn-ko-organizer.html | 2 +- .../post/dom.spec.ts/desktop/micro-state-management-review.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/desktop/prettier3.html | 2 +- .../post/dom.spec.ts/desktop/proving-ground-review.html | 2 +- .../post/dom.spec.ts/desktop/quality-of-job-review.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/desktop/renovate.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/desktop/storybook7.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/desktop/turborepo.html | 2 +- .../post/dom.spec.ts/desktop/typescript-subtyping.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/desktop/typescript5.html | 2 +- .../post/dom.spec.ts/desktop/udemy-rust-programming.html | 2 +- .../post/dom.spec.ts/desktop/use-prevent-leave.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/desktop/use-transition.html | 2 +- .../post/dom.spec.ts/desktop/visual-regression-test.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/desktop/vite-dev-server.html | 2 +- .../post/dom.spec.ts/desktop/woowa-type-review.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/2023.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/2024-01.html | 2 +- .../post/dom.spec.ts/mobile/array-prototype-sort.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/bali-remote-work.html | 2 +- .../post/dom.spec.ts/mobile/deploy-eslint-plugin.html | 2 +- .../post/dom.spec.ts/mobile/geultto8-open-source-seminar.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195687.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195692.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195693.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195696.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195698.html | 2 +- .../post/dom.spec.ts/mobile/implicit-coercion.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/jeju-remote-work.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/junction2023.html | 2 +- .../post/dom.spec.ts/mobile/leetcode-easy-2727.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/leetcode-hard-42.html | 2 +- .../post/dom.spec.ts/mobile/leetcode-medium-238.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/mac-init-apps.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/mdn-ko-organizer.html | 2 +- .../post/dom.spec.ts/mobile/micro-state-management-review.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/prettier3.html | 2 +- .../post/dom.spec.ts/mobile/proving-ground-review.html | 2 +- .../post/dom.spec.ts/mobile/quality-of-job-review.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/renovate.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/storybook7.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/turborepo.html | 2 +- .../post/dom.spec.ts/mobile/typescript-subtyping.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/typescript5.html | 2 +- .../post/dom.spec.ts/mobile/udemy-rust-programming.html | 2 +- .../post/dom.spec.ts/mobile/use-prevent-leave.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/use-transition.html | 2 +- .../post/dom.spec.ts/mobile/visual-regression-test.html | 2 +- e2e/__snapshots__/post/dom.spec.ts/mobile/vite-dev-server.html | 2 +- .../post/dom.spec.ts/mobile/woowa-type-review.html | 2 +- e2e/__snapshots__/posts.spec.ts/desktop/posts.html | 2 +- e2e/__snapshots__/posts.spec.ts/mobile/posts.html | 2 +- package.json | 1 + 75 files changed, 75 insertions(+), 74 deletions(-) diff --git a/e2e/__snapshots__/404.spec.ts/desktop/404.html b/e2e/__snapshots__/404.spec.ts/desktop/404.html index 6d808450..0a403558 100644 --- a/e2e/__snapshots__/404.spec.ts/desktop/404.html +++ b/e2e/__snapshots__/404.spec.ts/desktop/404.html @@ -4,4 +4,4 @@ Do you enjoy surfing? -
Image Copyright: Freepik
\ No newline at end of file +
Image Copyright: Freepik
\ No newline at end of file diff --git a/e2e/__snapshots__/404.spec.ts/mobile/404.html b/e2e/__snapshots__/404.spec.ts/mobile/404.html index 6d808450..0a403558 100644 --- a/e2e/__snapshots__/404.spec.ts/mobile/404.html +++ b/e2e/__snapshots__/404.spec.ts/mobile/404.html @@ -4,4 +4,4 @@ Do you enjoy surfing? -
Image Copyright: Freepik
\ No newline at end of file +
Image Copyright: Freepik
\ No newline at end of file diff --git a/e2e/__snapshots__/about.spec.ts/desktop/about.html b/e2e/__snapshots__/about.spec.ts/desktop/about.html index 52b503d5..63e8b2c0 100644 --- a/e2e/__snapshots__/about.spec.ts/desktop/about.html +++ b/e2e/__snapshots__/about.spec.ts/desktop/about.html @@ -1 +1 @@ -
!ILSANG
어느덧 5년 차 프런트엔드 개발자가 되었습니다.
"일의 격"을 읽고 저는 일을 어떻게 대하는 사람인지, 어떠한 동료가 되고 싶은지 고민해 봤습니다.
  • 저는 즐겁게 일하고 싶습니다.
  • 저는 기술적 책임을 질 수 있는 동료가 되고 싶습니다.
웃으면서 일하고 싶습니다. 농담을 즐기고 어떻게 하면 동료를 웃길 수 있을지 늘 탐구하고 있습니다.
영향력 있는 동료가 되고 싶습니다. 성장 자극을 줄 수 있는 동료이고 싶습니다. 맡은 부분에 대한 기술적 책임을 지려고 노력합니다. 기술에 대한 탐구욕이 강하며 공유할 거리가 생기면 어떤 웃긴 제목으로 발표할지 고민하며 입꼬리가 절로 올라갑니다.
Smilegate에서 프런트엔드 인턴을 시작으로 TeamBlind에서 풀스택으로 일했으며 현재 LINE+에서 4년 가까이 프런트엔드 개발자로 즐겁게 일하고 있습니다. 또한 MDN 한국팀의 Organizer로 활동하고 있습니다.
WORK EXPERIENCE
- Present
LINE Plus Corp
Frontend Engineer
LandPress Content
- Present
Vite
pnpm
React-Query
    사내 headless CMS 개발
  • Webpack -> Vite 마이그레이션 진행
  • CircleCi 적용 및 Cypress Task 분할 작업 진행
    • 테스트 시간 16분 -> 5분 단축 성공
  • 모노레포 워크스페이스 import 개선
Universal Video Player
-
HTMLVideo
Preact10
Zustand
Turborepo
Storybook
Cypress
Webpack
UVP cover
    사내 다양한 서비스에서 사용되는 웹 동영상 라이브러리 메인테이닝
  • v1: 런타임 -> 컴파일 타임 코드 리팩터링
    • 레거시 프로젝트 최신화 작업 주도적 진행
    • TypeScript 및 선언적 컴포넌트 적용
      • 런타임 이전에 코드 구성을 이해할 수 있도록 개선
    • 이벤트 흐름 정리. 컴포넌트 동작의 시각화 및 디버깅 과정 향상
  • v2: 배포 안정화 및 DX 향상
  • v3: 라이브러리 확장성
    • Yarn monorepo, Turborepo 적용
    • 플러그인 구조 개발
      • 플러그인 템플릿 및 라이프사이클 설계
      • 서로 다른 서비스 니즈를 만족시킬 수 있는 유연한 개발 달성
    • 성능 향상
      • Webpack4 -> Vite 마이그레이션
        • 빌드 시간 약 72% 감소
      • 모노레포 워크스페이스 import 개선
VOOM Live CMS
-
React18
RTL
React-Query
WebSocket
Chart.js
Jotai
VOOM Live CMS cover
    VOOM Live 방송 CMS 페이지 개발
  • 아래 Official Account Live CMS와 동일. 호스트 유저만 다른 서비스
  • 서비스 아키텍처 설계 및 일정 산출
  • 조금씩 미묘하게 다른 스펙을 위한 컴포넌트 추상화 작업 진행
Official Account Live CMS
-
React18
RTL
React-Query
WebSocket
MSW
Chart.js
Jotai
OA Live CMS cover
    LINE Official Account Live 방송 CMS 페이지 개발
  • 초기 설계부터 릴리즈까지 진행. 컴포넌트 아키텍처 설계 및 라이브러리 선정
  • 라인 패밀리 서비스에서 사용될 수 있도록 확장성있는 컴포넌트 모듈 개발
  • MSW 적용. 방송 상태에 따른 다양한 시나리오 테스트 할 수 있도록 개발
  • React-Query v4 -> v5 작업 진행
  • 방송 페이지 실시간 채팅 WebSocket 개발
  • 시각화 페이지 개발. 데이터 가공 최적화 작업 진행
LINE Design System - Calendar
-
React18
Vite
Jotai
LDS Calendar
    LINE 디자인 시스템이 적용된 React 캘린더 컴포넌트 라이브러리 개발
  • 사내 공용 캘린더 라이브러리의 부재로 자발적 개발
    • 배포 이후 긍정적인 평가를 받으며 6개 이상의 서비스에서 사용
  • 다양한 서비스에서 사용될 수 있도록 높은 추상화를 목표로 개발
    • 다국어 및 Timezone 설정 가능
    • 모달, 멀티 캘린더, 범위, 시간 등 다양한 옵션 제공
    • 웹 접근성 적용
LINE Place
-
Next12
Redux
Redux-Saga
Swiper
LINE Place cover
    위치 기반 음식점 추천 및 검색 서비스 개발
  • Home, Profile 페이지 개발
    • 위치 기반 API Flow 정리 및 개발
    • Swiper 버벅임 성능 개선
  • Koa 커스텀 서버 개발
    • nGrinder 활용, Stress test 진행 후 서버 가용량 산출
    • 빌드/배포 개발 환경 세팅
Official Account Profile
-
Next12
Official Account cover
    라인 공식 계정 페이지 개발
  • 플러그인 공통화 작업 진행
    • 중복 코드 개선
    • 일관된 타입 모델 적용
  • React -> Next.js 리팩터링 진행
  • 커스텀 서버 개발
  • 데이터 이관 작업 진행
-
TeamBlind
Full Stack Engineer
Bleet
-
Node.js
MySQL
Swagger
Firebase
Bleet cover
    직장인 소개팅 어플 서버 개발
  • 메인 서버 개발자로 주도적 작업. 시스템 및 DB 설계 진행
  • 블라인드 인증을 통한 가입 및 포인트 처리 등 전반적인 API 작업
  • Firebase 채팅 개발
  • Swagger 및 문서화 도입. API 사용이 편리하도록 제공
    • 클라이언트 팀에서 좋은 평가를 받은 프로젝트
Mybiskit
-
Nuxt2
MySQL
AWS
Puppeteer
Mybiskit cover
    직장인 온라인 취미클래스 서비스 개발
  • 매주 프로모션 페이지 개발(Vue)
  • 쿠폰, 결제 API 개선/개발
    • 테스트 코드로 리팩터링 과정의 사이드 이펙트 최소화하고자 노력
    • 트랜잭션 적용 및 결제 플로우 간소화 작업 진행
    • 에러 정리 및 로깅 개선
  • 지표 분석용 크롤러 개발
    • Puppeteer로 추출한 데이터 가공 파이프라인 개발(AWS)
    • 데이터 시각화 페이지 개발
    • 사내 엔지니어링 세미나 "주니어의 반란" 주최, 개발 여정 공유
Blind
-
Node.js
PHP
Docker
MySQL
Redis
AWS
Blind cover
    직장인 익명 앱 API 및 어드민 페이지 개발
  • 블라인드 서버 API 개발
    • 신고하기 및 패널티 API 개선
    • TypeScript 적용 건의 및 세미나 진행
  • 어드민 페이지 개선 작업 진행(PHP)
-
Smilegate
Frontend Engineer(intern)
Stove
-
Vue2
    모바일 게임 유저 타임라인 개발
  • 방명록 CRUD 기능 개발
  • 댓글 / 신고하기 기능 개발
  • 재밌고 즐겁게 인턴생활 적응
ACTIVITY
EDUCATION
-
가톨릭대학교
미디어공학, 컴퓨터정보공학 전공
\ No newline at end of file +
!ILSANG
어느덧 5년 차 프런트엔드 개발자가 되었습니다.
"일의 격"을 읽고 저는 일을 어떻게 대하는 사람인지, 어떠한 동료가 되고 싶은지 고민해 봤습니다.
  • 저는 즐겁게 일하고 싶습니다.
  • 저는 기술적 책임을 질 수 있는 동료가 되고 싶습니다.
웃으면서 일하고 싶습니다. 농담을 즐기고 어떻게 하면 동료를 웃길 수 있을지 늘 탐구하고 있습니다.
영향력 있는 동료가 되고 싶습니다. 성장 자극을 줄 수 있는 동료이고 싶습니다. 맡은 부분에 대한 기술적 책임을 지려고 노력합니다. 기술에 대한 탐구욕이 강하며 공유할 거리가 생기면 어떤 웃긴 제목으로 발표할지 고민하며 입꼬리가 절로 올라갑니다.
Smilegate에서 프런트엔드 인턴을 시작으로 TeamBlind에서 풀스택으로 일했으며 현재 LINE+에서 4년 가까이 프런트엔드 개발자로 즐겁게 일하고 있습니다. 또한 MDN 한국팀의 Organizer로 활동하고 있습니다.
WORK EXPERIENCE
- Present
LINE Plus Corp
Frontend Engineer
LandPress Content
- Present
Vite
pnpm
React-Query
    사내 headless CMS 개발
  • Webpack -> Vite 마이그레이션 진행
  • CircleCi 적용 및 Cypress Task 분할 작업 진행
    • 테스트 시간 16분 -> 5분 단축 성공
  • 모노레포 워크스페이스 import 개선
Universal Video Player
-
HTMLVideo
Preact10
Zustand
Turborepo
Storybook
Cypress
Webpack
UVP cover
    사내 다양한 서비스에서 사용되는 웹 동영상 라이브러리 메인테이닝
  • v1: 런타임 -> 컴파일 타임 코드 리팩터링
    • 레거시 프로젝트 최신화 작업 주도적 진행
    • TypeScript 및 선언적 컴포넌트 적용
      • 런타임 이전에 코드 구성을 이해할 수 있도록 개선
    • 이벤트 흐름 정리. 컴포넌트 동작의 시각화 및 디버깅 과정 향상
  • v2: 배포 안정화 및 DX 향상
  • v3: 라이브러리 확장성
    • Yarn monorepo, Turborepo 적용
    • 플러그인 구조 개발
      • 플러그인 템플릿 및 라이프사이클 설계
      • 서로 다른 서비스 니즈를 만족시킬 수 있는 유연한 개발 달성
    • 성능 향상
      • Webpack4 -> Vite 마이그레이션
        • 빌드 시간 약 72% 감소
      • 모노레포 워크스페이스 import 개선
VOOM Live CMS
-
React18
RTL
React-Query
WebSocket
Chart.js
Jotai
VOOM Live CMS cover
    VOOM Live 방송 CMS 페이지 개발
  • 아래 Official Account Live CMS와 동일. 호스트 유저만 다른 서비스
  • 서비스 아키텍처 설계 및 일정 산출
  • 조금씩 미묘하게 다른 스펙을 위한 컴포넌트 추상화 작업 진행
Official Account Live CMS
-
React18
RTL
React-Query
WebSocket
MSW
Chart.js
Jotai
OA Live CMS cover
    LINE Official Account Live 방송 CMS 페이지 개발
  • 초기 설계부터 릴리즈까지 진행. 컴포넌트 아키텍처 설계 및 라이브러리 선정
  • 라인 패밀리 서비스에서 사용될 수 있도록 확장성있는 컴포넌트 모듈 개발
  • MSW 적용. 방송 상태에 따른 다양한 시나리오 테스트 할 수 있도록 개발
  • React-Query v4 -> v5 작업 진행
  • 방송 페이지 실시간 채팅 WebSocket 개발
  • 시각화 페이지 개발. 데이터 가공 최적화 작업 진행
LINE Design System - Calendar
-
React18
Vite
Jotai
LDS Calendar
    LINE 디자인 시스템이 적용된 React 캘린더 컴포넌트 라이브러리 개발
  • 사내 공용 캘린더 라이브러리의 부재로 자발적 개발
    • 배포 이후 긍정적인 평가를 받으며 6개 이상의 서비스에서 사용
  • 다양한 서비스에서 사용될 수 있도록 높은 추상화를 목표로 개발
    • 다국어 및 Timezone 설정 가능
    • 모달, 멀티 캘린더, 범위, 시간 등 다양한 옵션 제공
    • 웹 접근성 적용
LINE Place
-
Next12
Redux
Redux-Saga
Swiper
LINE Place cover
    위치 기반 음식점 추천 및 검색 서비스 개발
  • Home, Profile 페이지 개발
    • 위치 기반 API Flow 정리 및 개발
    • Swiper 버벅임 성능 개선
  • Koa 커스텀 서버 개발
    • nGrinder 활용, Stress test 진행 후 서버 가용량 산출
    • 빌드/배포 개발 환경 세팅
Official Account Profile
-
Next12
Official Account cover
    라인 공식 계정 페이지 개발
  • 플러그인 공통화 작업 진행
    • 중복 코드 개선
    • 일관된 타입 모델 적용
  • React -> Next.js 리팩터링 진행
  • 커스텀 서버 개발
  • 데이터 이관 작업 진행
-
TeamBlind
Full Stack Engineer
Bleet
-
Node.js
MySQL
Swagger
Firebase
Bleet cover
    직장인 소개팅 어플 서버 개발
  • 메인 서버 개발자로 주도적 작업. 시스템 및 DB 설계 진행
  • 블라인드 인증을 통한 가입 및 포인트 처리 등 전반적인 API 작업
  • Firebase 채팅 개발
  • Swagger 및 문서화 도입. API 사용이 편리하도록 제공
    • 클라이언트 팀에서 좋은 평가를 받은 프로젝트
Mybiskit
-
Nuxt2
MySQL
AWS
Puppeteer
Mybiskit cover
    직장인 온라인 취미클래스 서비스 개발
  • 매주 프로모션 페이지 개발(Vue)
  • 쿠폰, 결제 API 개선/개발
    • 테스트 코드로 리팩터링 과정의 사이드 이펙트 최소화하고자 노력
    • 트랜잭션 적용 및 결제 플로우 간소화 작업 진행
    • 에러 정리 및 로깅 개선
  • 지표 분석용 크롤러 개발
    • Puppeteer로 추출한 데이터 가공 파이프라인 개발(AWS)
    • 데이터 시각화 페이지 개발
    • 사내 엔지니어링 세미나 "주니어의 반란" 주최, 개발 여정 공유
Blind
-
Node.js
PHP
Docker
MySQL
Redis
AWS
Blind cover
    직장인 익명 앱 API 및 어드민 페이지 개발
  • 블라인드 서버 API 개발
    • 신고하기 및 패널티 API 개선
    • TypeScript 적용 건의 및 세미나 진행
  • 어드민 페이지 개선 작업 진행(PHP)
-
Smilegate
Frontend Engineer(intern)
Stove
-
Vue2
    모바일 게임 유저 타임라인 개발
  • 방명록 CRUD 기능 개발
  • 댓글 / 신고하기 기능 개발
  • 재밌고 즐겁게 인턴생활 적응
ACTIVITY
EDUCATION
-
가톨릭대학교
미디어공학, 컴퓨터정보공학 전공
\ No newline at end of file diff --git a/e2e/__snapshots__/about.spec.ts/mobile/about.html b/e2e/__snapshots__/about.spec.ts/mobile/about.html index 52b503d5..63e8b2c0 100644 --- a/e2e/__snapshots__/about.spec.ts/mobile/about.html +++ b/e2e/__snapshots__/about.spec.ts/mobile/about.html @@ -1 +1 @@ -
!ILSANG
어느덧 5년 차 프런트엔드 개발자가 되었습니다.
"일의 격"을 읽고 저는 일을 어떻게 대하는 사람인지, 어떠한 동료가 되고 싶은지 고민해 봤습니다.
  • 저는 즐겁게 일하고 싶습니다.
  • 저는 기술적 책임을 질 수 있는 동료가 되고 싶습니다.
웃으면서 일하고 싶습니다. 농담을 즐기고 어떻게 하면 동료를 웃길 수 있을지 늘 탐구하고 있습니다.
영향력 있는 동료가 되고 싶습니다. 성장 자극을 줄 수 있는 동료이고 싶습니다. 맡은 부분에 대한 기술적 책임을 지려고 노력합니다. 기술에 대한 탐구욕이 강하며 공유할 거리가 생기면 어떤 웃긴 제목으로 발표할지 고민하며 입꼬리가 절로 올라갑니다.
Smilegate에서 프런트엔드 인턴을 시작으로 TeamBlind에서 풀스택으로 일했으며 현재 LINE+에서 4년 가까이 프런트엔드 개발자로 즐겁게 일하고 있습니다. 또한 MDN 한국팀의 Organizer로 활동하고 있습니다.
WORK EXPERIENCE
- Present
LINE Plus Corp
Frontend Engineer
LandPress Content
- Present
Vite
pnpm
React-Query
    사내 headless CMS 개발
  • Webpack -> Vite 마이그레이션 진행
  • CircleCi 적용 및 Cypress Task 분할 작업 진행
    • 테스트 시간 16분 -> 5분 단축 성공
  • 모노레포 워크스페이스 import 개선
Universal Video Player
-
HTMLVideo
Preact10
Zustand
Turborepo
Storybook
Cypress
Webpack
UVP cover
    사내 다양한 서비스에서 사용되는 웹 동영상 라이브러리 메인테이닝
  • v1: 런타임 -> 컴파일 타임 코드 리팩터링
    • 레거시 프로젝트 최신화 작업 주도적 진행
    • TypeScript 및 선언적 컴포넌트 적용
      • 런타임 이전에 코드 구성을 이해할 수 있도록 개선
    • 이벤트 흐름 정리. 컴포넌트 동작의 시각화 및 디버깅 과정 향상
  • v2: 배포 안정화 및 DX 향상
  • v3: 라이브러리 확장성
    • Yarn monorepo, Turborepo 적용
    • 플러그인 구조 개발
      • 플러그인 템플릿 및 라이프사이클 설계
      • 서로 다른 서비스 니즈를 만족시킬 수 있는 유연한 개발 달성
    • 성능 향상
      • Webpack4 -> Vite 마이그레이션
        • 빌드 시간 약 72% 감소
      • 모노레포 워크스페이스 import 개선
VOOM Live CMS
-
React18
RTL
React-Query
WebSocket
Chart.js
Jotai
VOOM Live CMS cover
    VOOM Live 방송 CMS 페이지 개발
  • 아래 Official Account Live CMS와 동일. 호스트 유저만 다른 서비스
  • 서비스 아키텍처 설계 및 일정 산출
  • 조금씩 미묘하게 다른 스펙을 위한 컴포넌트 추상화 작업 진행
Official Account Live CMS
-
React18
RTL
React-Query
WebSocket
MSW
Chart.js
Jotai
OA Live CMS cover
    LINE Official Account Live 방송 CMS 페이지 개발
  • 초기 설계부터 릴리즈까지 진행. 컴포넌트 아키텍처 설계 및 라이브러리 선정
  • 라인 패밀리 서비스에서 사용될 수 있도록 확장성있는 컴포넌트 모듈 개발
  • MSW 적용. 방송 상태에 따른 다양한 시나리오 테스트 할 수 있도록 개발
  • React-Query v4 -> v5 작업 진행
  • 방송 페이지 실시간 채팅 WebSocket 개발
  • 시각화 페이지 개발. 데이터 가공 최적화 작업 진행
LINE Design System - Calendar
-
React18
Vite
Jotai
LDS Calendar
    LINE 디자인 시스템이 적용된 React 캘린더 컴포넌트 라이브러리 개발
  • 사내 공용 캘린더 라이브러리의 부재로 자발적 개발
    • 배포 이후 긍정적인 평가를 받으며 6개 이상의 서비스에서 사용
  • 다양한 서비스에서 사용될 수 있도록 높은 추상화를 목표로 개발
    • 다국어 및 Timezone 설정 가능
    • 모달, 멀티 캘린더, 범위, 시간 등 다양한 옵션 제공
    • 웹 접근성 적용
LINE Place
-
Next12
Redux
Redux-Saga
Swiper
LINE Place cover
    위치 기반 음식점 추천 및 검색 서비스 개발
  • Home, Profile 페이지 개발
    • 위치 기반 API Flow 정리 및 개발
    • Swiper 버벅임 성능 개선
  • Koa 커스텀 서버 개발
    • nGrinder 활용, Stress test 진행 후 서버 가용량 산출
    • 빌드/배포 개발 환경 세팅
Official Account Profile
-
Next12
Official Account cover
    라인 공식 계정 페이지 개발
  • 플러그인 공통화 작업 진행
    • 중복 코드 개선
    • 일관된 타입 모델 적용
  • React -> Next.js 리팩터링 진행
  • 커스텀 서버 개발
  • 데이터 이관 작업 진행
-
TeamBlind
Full Stack Engineer
Bleet
-
Node.js
MySQL
Swagger
Firebase
Bleet cover
    직장인 소개팅 어플 서버 개발
  • 메인 서버 개발자로 주도적 작업. 시스템 및 DB 설계 진행
  • 블라인드 인증을 통한 가입 및 포인트 처리 등 전반적인 API 작업
  • Firebase 채팅 개발
  • Swagger 및 문서화 도입. API 사용이 편리하도록 제공
    • 클라이언트 팀에서 좋은 평가를 받은 프로젝트
Mybiskit
-
Nuxt2
MySQL
AWS
Puppeteer
Mybiskit cover
    직장인 온라인 취미클래스 서비스 개발
  • 매주 프로모션 페이지 개발(Vue)
  • 쿠폰, 결제 API 개선/개발
    • 테스트 코드로 리팩터링 과정의 사이드 이펙트 최소화하고자 노력
    • 트랜잭션 적용 및 결제 플로우 간소화 작업 진행
    • 에러 정리 및 로깅 개선
  • 지표 분석용 크롤러 개발
    • Puppeteer로 추출한 데이터 가공 파이프라인 개발(AWS)
    • 데이터 시각화 페이지 개발
    • 사내 엔지니어링 세미나 "주니어의 반란" 주최, 개발 여정 공유
Blind
-
Node.js
PHP
Docker
MySQL
Redis
AWS
Blind cover
    직장인 익명 앱 API 및 어드민 페이지 개발
  • 블라인드 서버 API 개발
    • 신고하기 및 패널티 API 개선
    • TypeScript 적용 건의 및 세미나 진행
  • 어드민 페이지 개선 작업 진행(PHP)
-
Smilegate
Frontend Engineer(intern)
Stove
-
Vue2
    모바일 게임 유저 타임라인 개발
  • 방명록 CRUD 기능 개발
  • 댓글 / 신고하기 기능 개발
  • 재밌고 즐겁게 인턴생활 적응
ACTIVITY
EDUCATION
-
가톨릭대학교
미디어공학, 컴퓨터정보공학 전공
\ No newline at end of file +
!ILSANG
어느덧 5년 차 프런트엔드 개발자가 되었습니다.
"일의 격"을 읽고 저는 일을 어떻게 대하는 사람인지, 어떠한 동료가 되고 싶은지 고민해 봤습니다.
  • 저는 즐겁게 일하고 싶습니다.
  • 저는 기술적 책임을 질 수 있는 동료가 되고 싶습니다.
웃으면서 일하고 싶습니다. 농담을 즐기고 어떻게 하면 동료를 웃길 수 있을지 늘 탐구하고 있습니다.
영향력 있는 동료가 되고 싶습니다. 성장 자극을 줄 수 있는 동료이고 싶습니다. 맡은 부분에 대한 기술적 책임을 지려고 노력합니다. 기술에 대한 탐구욕이 강하며 공유할 거리가 생기면 어떤 웃긴 제목으로 발표할지 고민하며 입꼬리가 절로 올라갑니다.
Smilegate에서 프런트엔드 인턴을 시작으로 TeamBlind에서 풀스택으로 일했으며 현재 LINE+에서 4년 가까이 프런트엔드 개발자로 즐겁게 일하고 있습니다. 또한 MDN 한국팀의 Organizer로 활동하고 있습니다.
WORK EXPERIENCE
- Present
LINE Plus Corp
Frontend Engineer
LandPress Content
- Present
Vite
pnpm
React-Query
    사내 headless CMS 개발
  • Webpack -> Vite 마이그레이션 진행
  • CircleCi 적용 및 Cypress Task 분할 작업 진행
    • 테스트 시간 16분 -> 5분 단축 성공
  • 모노레포 워크스페이스 import 개선
Universal Video Player
-
HTMLVideo
Preact10
Zustand
Turborepo
Storybook
Cypress
Webpack
UVP cover
    사내 다양한 서비스에서 사용되는 웹 동영상 라이브러리 메인테이닝
  • v1: 런타임 -> 컴파일 타임 코드 리팩터링
    • 레거시 프로젝트 최신화 작업 주도적 진행
    • TypeScript 및 선언적 컴포넌트 적용
      • 런타임 이전에 코드 구성을 이해할 수 있도록 개선
    • 이벤트 흐름 정리. 컴포넌트 동작의 시각화 및 디버깅 과정 향상
  • v2: 배포 안정화 및 DX 향상
  • v3: 라이브러리 확장성
    • Yarn monorepo, Turborepo 적용
    • 플러그인 구조 개발
      • 플러그인 템플릿 및 라이프사이클 설계
      • 서로 다른 서비스 니즈를 만족시킬 수 있는 유연한 개발 달성
    • 성능 향상
      • Webpack4 -> Vite 마이그레이션
        • 빌드 시간 약 72% 감소
      • 모노레포 워크스페이스 import 개선
VOOM Live CMS
-
React18
RTL
React-Query
WebSocket
Chart.js
Jotai
VOOM Live CMS cover
    VOOM Live 방송 CMS 페이지 개발
  • 아래 Official Account Live CMS와 동일. 호스트 유저만 다른 서비스
  • 서비스 아키텍처 설계 및 일정 산출
  • 조금씩 미묘하게 다른 스펙을 위한 컴포넌트 추상화 작업 진행
Official Account Live CMS
-
React18
RTL
React-Query
WebSocket
MSW
Chart.js
Jotai
OA Live CMS cover
    LINE Official Account Live 방송 CMS 페이지 개발
  • 초기 설계부터 릴리즈까지 진행. 컴포넌트 아키텍처 설계 및 라이브러리 선정
  • 라인 패밀리 서비스에서 사용될 수 있도록 확장성있는 컴포넌트 모듈 개발
  • MSW 적용. 방송 상태에 따른 다양한 시나리오 테스트 할 수 있도록 개발
  • React-Query v4 -> v5 작업 진행
  • 방송 페이지 실시간 채팅 WebSocket 개발
  • 시각화 페이지 개발. 데이터 가공 최적화 작업 진행
LINE Design System - Calendar
-
React18
Vite
Jotai
LDS Calendar
    LINE 디자인 시스템이 적용된 React 캘린더 컴포넌트 라이브러리 개발
  • 사내 공용 캘린더 라이브러리의 부재로 자발적 개발
    • 배포 이후 긍정적인 평가를 받으며 6개 이상의 서비스에서 사용
  • 다양한 서비스에서 사용될 수 있도록 높은 추상화를 목표로 개발
    • 다국어 및 Timezone 설정 가능
    • 모달, 멀티 캘린더, 범위, 시간 등 다양한 옵션 제공
    • 웹 접근성 적용
LINE Place
-
Next12
Redux
Redux-Saga
Swiper
LINE Place cover
    위치 기반 음식점 추천 및 검색 서비스 개발
  • Home, Profile 페이지 개발
    • 위치 기반 API Flow 정리 및 개발
    • Swiper 버벅임 성능 개선
  • Koa 커스텀 서버 개발
    • nGrinder 활용, Stress test 진행 후 서버 가용량 산출
    • 빌드/배포 개발 환경 세팅
Official Account Profile
-
Next12
Official Account cover
    라인 공식 계정 페이지 개발
  • 플러그인 공통화 작업 진행
    • 중복 코드 개선
    • 일관된 타입 모델 적용
  • React -> Next.js 리팩터링 진행
  • 커스텀 서버 개발
  • 데이터 이관 작업 진행
-
TeamBlind
Full Stack Engineer
Bleet
-
Node.js
MySQL
Swagger
Firebase
Bleet cover
    직장인 소개팅 어플 서버 개발
  • 메인 서버 개발자로 주도적 작업. 시스템 및 DB 설계 진행
  • 블라인드 인증을 통한 가입 및 포인트 처리 등 전반적인 API 작업
  • Firebase 채팅 개발
  • Swagger 및 문서화 도입. API 사용이 편리하도록 제공
    • 클라이언트 팀에서 좋은 평가를 받은 프로젝트
Mybiskit
-
Nuxt2
MySQL
AWS
Puppeteer
Mybiskit cover
    직장인 온라인 취미클래스 서비스 개발
  • 매주 프로모션 페이지 개발(Vue)
  • 쿠폰, 결제 API 개선/개발
    • 테스트 코드로 리팩터링 과정의 사이드 이펙트 최소화하고자 노력
    • 트랜잭션 적용 및 결제 플로우 간소화 작업 진행
    • 에러 정리 및 로깅 개선
  • 지표 분석용 크롤러 개발
    • Puppeteer로 추출한 데이터 가공 파이프라인 개발(AWS)
    • 데이터 시각화 페이지 개발
    • 사내 엔지니어링 세미나 "주니어의 반란" 주최, 개발 여정 공유
Blind
-
Node.js
PHP
Docker
MySQL
Redis
AWS
Blind cover
    직장인 익명 앱 API 및 어드민 페이지 개발
  • 블라인드 서버 API 개발
    • 신고하기 및 패널티 API 개선
    • TypeScript 적용 건의 및 세미나 진행
  • 어드민 페이지 개선 작업 진행(PHP)
-
Smilegate
Frontend Engineer(intern)
Stove
-
Vue2
    모바일 게임 유저 타임라인 개발
  • 방명록 CRUD 기능 개발
  • 댓글 / 신고하기 기능 개발
  • 재밌고 즐겁게 인턴생활 적응
ACTIVITY
EDUCATION
-
가톨릭대학교
미디어공학, 컴퓨터정보공학 전공
\ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/2023.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/2023.html index 1970b648..d542a00c 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/2023.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/2023.html @@ -137,4 +137,4 @@

📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

2024년 잘 부탁드립니다.

📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/2024-01.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/2024-01.html index de2a24d7..969cd8d3 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/2024-01.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/2024-01.html @@ -44,4 +44,4 @@

마치며

2월에는 현상 유지하면서 책 한 권만 읽으면 좋을 것 같다.

-

가보자고!

📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

가보자고!

📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/array-prototype-sort.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/array-prototype-sort.html index 9a0d0ecd..1a5b3e56 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/array-prototype-sort.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/array-prototype-sort.html @@ -398,4 +398,4 @@

https://timothygu.me/es-howto
  • https://v8.dev/blog/array-sort
  • 자료구조 Tim 정렬 알고리즘
  • -📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/bali-remote-work.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/bali-remote-work.html index de8d9a5f..96504f66 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/bali-remote-work.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/bali-remote-work.html @@ -204,4 +204,4 @@

    USAT Liberty Shipwreck -📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/deploy-eslint-plugin.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/deploy-eslint-plugin.html index 767ed1d0..8d507c51 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/deploy-eslint-plugin.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/deploy-eslint-plugin.html @@ -148,4 +148,4 @@

    Reference

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/geultto8-open-source-seminar.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/geultto8-open-source-seminar.html index 7de19747..9ca7d679 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/geultto8-open-source-seminar.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/geultto8-open-source-seminar.html @@ -65,4 +65,4 @@

    열정이 솟아난 8월이었다.

    발표 자료 PDF 다운로드

    -
    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195687.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195687.html index 1ac3eee7..a86220ec 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195687.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195687.html @@ -63,4 +63,4 @@

    console.log(sortedList[K - 1]); rl.close(); -});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195692.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195692.html index cffc04a8..f44337d2 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195692.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195692.html @@ -142,4 +142,4 @@

    const answer = gScore > pScore ? `goorm ${gScore}` : `player ${pScore}`; console.log(answer); rl.close(); -});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195693.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195693.html index 9c285590..a73b8548 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195693.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195693.html @@ -80,4 +80,4 @@

    rl.on('close', () => { // console.log("Hello Goorm! Your input is " + input); -});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195696.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195696.html index 1e1b8f9f..a7ebc9a8 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195696.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195696.html @@ -78,4 +78,4 @@

    memo.push(last); // 메모에 마지막 노드를 추가한다. } console.log(`${memo.length} ${last}`); -});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195698.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195698.html index 0226f535..95596a9c 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195698.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/goorm-195698.html @@ -144,4 +144,4 @@

    // Set의 size는 중복되지 않는 각 노드의 부모(집합)이므로 // 연합(집합)의 개수가 된다. console.log(answer.size); -});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/implicit-coercion.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/implicit-coercion.html index 7e210ee3..88e1c22b 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/implicit-coercion.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/implicit-coercion.html @@ -234,4 +234,4 @@

    추상 명령 코드
  • 객체를 원시형으로 변환하기
  • "[object Object]"
  • -📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/jeju-remote-work.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/jeju-remote-work.html index 8f73b45c..3d74c3d2 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/jeju-remote-work.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/jeju-remote-work.html @@ -56,4 +56,4 @@

  • 워케이션을 통해 평범했던 일상을 더욱 좋아하게 되었고 긍정적으로 삶을 바라볼 수 있게 되었다.
  • 이제 다시 평범한 일상으로 돌아가게 되겠지만 새로운 환경이 필요하다고 생각하면 주저 없이 워케이션을 선택할 것 같다.

    -

    좋은 경험이었다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    좋은 경험이었다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/junction2023.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/junction2023.html index 284c89ba..2edc0ce0 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/junction2023.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/junction2023.html @@ -55,4 +55,4 @@

    오랜만에 밤새면서 빠르게 작업하니까 재밌었다. 긴 재택근무 간에 떨어진 열정을 다시 채운 느낌이었다.

    기회가 된다면 계속 꾸준히 해커톤에 참여하고 싶다.

    아참 침낭이랑 후드 챙겨갔는데 이거 없었으면 진짜 고통스러울 뻔했다. 진짜 에어컨이 계속 나오기 때문에 너무 추웠다.

    -

    좋은 경험이었다. 그럼, 이만!

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    좋은 경험이었다. 그럼, 이만!

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/leetcode-easy-2727.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/leetcode-easy-2727.html index 4b0e7322..db72bb1b 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/leetcode-easy-2727.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/leetcode-easy-2727.html @@ -63,4 +63,4 @@

    console.log(Object.keys(m)); // []

    for...in 루프는 객체의 모든 열거 가능한 속성에 대해 반복하며 문자열 키 값을 반환한다. 추가로 인덱스의 순서를 보장하지 않는다.

    for...of 구문은 컬렉션 전용이다. 모든 객체보다는, [Symbol.iterator] 속성이 있는 모든 컬렉션 요소에 대해 반복하며 컬렉션을 반환한다.

    -

    keys는 해당 키를 가져오지만, 상속된 값은 가져오지 않는다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    keys는 해당 키를 가져오지만, 상속된 값은 가져오지 않는다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/leetcode-hard-42.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/leetcode-hard-42.html index a230ff4e..4aef8aaf 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/leetcode-hard-42.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/leetcode-hard-42.html @@ -84,4 +84,4 @@

    } return res; -};📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +};📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/leetcode-medium-238.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/leetcode-medium-238.html index acf1e2a7..385150ae 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/leetcode-medium-238.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/leetcode-medium-238.html @@ -102,4 +102,4 @@

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    그럼 이만~

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/mac-init-apps.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/mac-init-apps.html index 9b358ada..3fa0b21f 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/mac-init-apps.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/mac-init-apps.html @@ -238,4 +238,4 @@

    Digital Color Meter

    example

    -

    맥 자체 유용한 앱이다. CSS 작업을 하다 보면 스포이드가 필요한 순간이 있는데 유용하게 사용할 수 있다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    맥 자체 유용한 앱이다. CSS 작업을 하다 보면 스포이드가 필요한 순간이 있는데 유용하게 사용할 수 있다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/mdn-ko-organizer.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/mdn-ko-organizer.html index b4a37de2..7b3002a8 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/mdn-ko-organizer.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/mdn-ko-organizer.html @@ -78,4 +78,4 @@

    마무리

    번역은 오픈소스 입문의 좋은 시작점이라 생각한다.

    그렇기 때문에 리뷰어로서 사명감을 느끼고 있다. 오픈소스를 시작하려는 분들이 꾸준히 기여하고 생태계를 끌어 나갈 인재로 성장할 수 있도록 좋은 경험을 주고 싶다.

    -

    MDN 문서 번역에 관심이 생겼다면 첫 기여자들을 위한 안내서를 참고해 주시길 바란다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    MDN 문서 번역에 관심이 생겼다면 첫 기여자들을 위한 안내서를 참고해 주시길 바란다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/micro-state-management-review.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/micro-state-management-review.html index ab5c7b65..ebfdffdf 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/micro-state-management-review.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/micro-state-management-review.html @@ -168,4 +168,4 @@

    기본적으로 React를 어느정도 이해하고 있는 개발자를 대상으로 작성된 책이지만 코드 자체가 어렵진 않아서 초심자도 읽어볼 만하다고 생각한다.

    책을 읽으면서 상태 관리에 대해 시야가 넓어질 수 있었다.

    다음 월간 다이브에는 "상태"를 주제로 해보려고 한다. 책을 통해 배운 것들을 잘 풀어보고 싶다.

    -

    상태 관리의 종류와 기법들에 대해 이해하고 싶다면 추천하고 싶은 책이다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    상태 관리의 종류와 기법들에 대해 이해하고 싶다면 추천하고 싶은 책이다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/prettier3.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/prettier3.html index 8dee3dce..82776fc1 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/prettier3.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/prettier3.html @@ -216,4 +216,4 @@

    Reference

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/proving-ground-review.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/proving-ground-review.html index d182e44f..c1e870e0 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/proving-ground-review.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/proving-ground-review.html @@ -24,4 +24,4 @@

    책의 한 문장을 뽑으라면 역시 나는 최초의 프로그래머를 선언하는 부분을 가져오고 싶다.

    이 과정에서 프로그래머라는 직업이 탄생했다. 문제를 가진 사람과 컴퓨터를 연결해 문제를 해결하도록 돕는 역할을 하는 사람이 등장한 것이다. 여섯 여성은 현대 컴퓨터 분야 최초의 직업 프로그래머였다. -289p

    우리는 영웅의 그림자에 가려진 또 다른 영웅들을 발굴하고 기억해야 한다고 느꼈다.

    -

    흥미롭게 읽은 책이다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    흥미롭게 읽은 책이다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/quality-of-job-review.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/quality-of-job-review.html index 1f91055f..76ec2dab 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/quality-of-job-review.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/quality-of-job-review.html @@ -105,4 +105,4 @@

    맺으며

    위 격언들을 한 번씩 되돌아보며 더욱 성장한 나. 성공한 삶을 살아갈 수 있도록 노력해야겠다.

    -

    그럼 이만

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    그럼 이만

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/renovate.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/renovate.html index 3769925c..b8cf3eaa 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/renovate.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/renovate.html @@ -110,4 +110,4 @@

    그렇기 때문에 정말 특정한 이슈가 없는 이상 버전 올릴 생각을 잘 하지 않게 되었고, 그 결과 수많은 Breaking change를 만나며 고생했던 기억이 있다.

    무엇보다 "사용하고 있는 라이브러리의 최신 근황"에 대해 궁금해 하지 않았던 점도 한몫 했다.

    이제, Renovate가 제공해주는 지속되는 PR을 통해 놓치지 않고 새로운 버전을 쫓아갈 수 있을거라 생각하고 있다. 또한 changeLog 및 sourceCompare를 통해 각 라이브러리의 근황도 자연스럽게 알게 될거라 기대하고 있다.

    -

    그럼 이만!

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    그럼 이만!

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/storybook7.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/storybook7.html index e4534aec..dc37bcea 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/storybook7.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/storybook7.html @@ -141,4 +141,4 @@

  • https://storybook.js.org/blog/storybook-7-0/
  • https://storybook.js.org/blog/storybook-7-docs/
  • -📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/turborepo.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/turborepo.html index 560c572d..dff11079 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/turborepo.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/turborepo.html @@ -1,3 +1,3 @@

    Turborepo로 모노레포 개발 경험 향상하기

    1ilsang
    1ilsang
    클라이밍 하실래염?
    published

    cover

    라인 엔지니어링 블로그에 작성한 글이다.

    -

    글쓰면서 정말 많이 배웠던것 같다. 모노레포와 함께할 때 캐싱기능은 너무 경험이 좋았기 때문에 앞으로도 꾸준히 사용해볼 예정이다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍
    \ No newline at end of file +

    글쓰면서 정말 많이 배웠던것 같다. 모노레포와 함께할 때 캐싱기능은 너무 경험이 좋았기 때문에 앞으로도 꾸준히 사용해볼 예정이다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/typescript-subtyping.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/typescript-subtyping.html index b4480d35..e0bc09bb 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/typescript-subtyping.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/typescript-subtyping.html @@ -186,4 +186,4 @@

    Why Object.keys Returns an Array of Strings in TypeScript (And How To Fix It)
  • 타입스크립트의 구조적 타이핑
  • Object.keys() types refinement, and Object.entries() types bugfix #12253
  • -📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/typescript5.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/typescript5.html index 2b806f3d..93cd9518 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/typescript5.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/typescript5.html @@ -367,4 +367,4 @@

    https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-0.html
  • https://ko.javascript.info/call-apply-decorators#ref-634
  • https://2ality.com/2022/10/javascript-decorators.html
  • -📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/udemy-rust-programming.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/udemy-rust-programming.html index 5b2469e3..2236df5a 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/udemy-rust-programming.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/udemy-rust-programming.html @@ -36,4 +36,4 @@

    가보자고!

    해당 콘텐츠는 유데미로부터 강의 쿠폰을 제공받아 작성되었습니다.

    -
    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/use-prevent-leave.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/use-prevent-leave.html index 4add54bd..d5e50b9b 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/use-prevent-leave.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/use-prevent-leave.html @@ -241,4 +241,4 @@

    https://developer.mozilla.org/en-US/docs/Web/Security/User_activation
  • https://developer.chrome.com/blog/page-lifecycle-api/
  • https://heyjiawei.com/block-user-from-leaving-page-on-single-page-app
  • -📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/use-transition.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/use-transition.html index 72e0be91..00c60a31 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/use-transition.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/use-transition.html @@ -200,4 +200,4 @@

  • transition 표시된 setState는 다른 setState 업데이트시 중단된다.
  • transition 표시된 상태 업데이트는 Suspense로 컨텐츠를 숨기지 않고 이전 컨텐츠를 계속 표시한다.
  • fiber 엔진을 통해 transition된 상태와 다른 상태의 스케줄링이 가능해졌다.
  • -
    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/visual-regression-test.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/visual-regression-test.html index 127a0fb8..1cf96b67 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/visual-regression-test.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/visual-regression-test.html @@ -378,4 +378,4 @@

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/vite-dev-server.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/vite-dev-server.html index 96498ab5..3355bf68 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/vite-dev-server.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/vite-dev-server.html @@ -493,4 +493,4 @@

  • https://webpack.kr/concepts/hot-module-replacement
  • https://ko.vitejs.dev/config/server-options.html
  • https://github.com/vitejs/vite
  • -📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/desktop/woowa-type-review.html b/e2e/__snapshots__/post/dom.spec.ts/desktop/woowa-type-review.html index 84285dbb..a638f371 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/desktop/woowa-type-review.html +++ b/e2e/__snapshots__/post/dom.spec.ts/desktop/woowa-type-review.html @@ -115,4 +115,4 @@

    맺으며

    배민의 공유 문화는 본받을만하다고 생각한다.

    기술업계 특성상 비판적인 시선이 기본적으로 있기 때문에 외부 공개를 꺼릴 수도 있었겠지만, 기술에 대한 공유를 두려워하지 않고 책으로 펴낸 것에 리스펙하게 된다.

    -

    여러 예제가 실제 코딩에 도움이 되기 때문에 추천하고 싶은 책이다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    여러 예제가 실제 코딩에 도움이 되기 때문에 추천하고 싶은 책이다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/2023.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/2023.html index 1970b648..d542a00c 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/2023.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/2023.html @@ -137,4 +137,4 @@

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    2024년 잘 부탁드립니다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/2024-01.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/2024-01.html index de2a24d7..969cd8d3 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/2024-01.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/2024-01.html @@ -44,4 +44,4 @@

    마치며

    2월에는 현상 유지하면서 책 한 권만 읽으면 좋을 것 같다.

    -

    가보자고!

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    가보자고!

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/array-prototype-sort.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/array-prototype-sort.html index 9a0d0ecd..1a5b3e56 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/array-prototype-sort.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/array-prototype-sort.html @@ -398,4 +398,4 @@

    https://timothygu.me/es-howto
  • https://v8.dev/blog/array-sort
  • 자료구조 Tim 정렬 알고리즘
  • -📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/bali-remote-work.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/bali-remote-work.html index de8d9a5f..96504f66 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/bali-remote-work.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/bali-remote-work.html @@ -204,4 +204,4 @@

    USAT Liberty Shipwreck -📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/deploy-eslint-plugin.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/deploy-eslint-plugin.html index 767ed1d0..8d507c51 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/deploy-eslint-plugin.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/deploy-eslint-plugin.html @@ -148,4 +148,4 @@

    Reference

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/geultto8-open-source-seminar.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/geultto8-open-source-seminar.html index 7de19747..9ca7d679 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/geultto8-open-source-seminar.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/geultto8-open-source-seminar.html @@ -65,4 +65,4 @@

    열정이 솟아난 8월이었다.

    발표 자료 PDF 다운로드

    -
    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195687.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195687.html index 1ac3eee7..a86220ec 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195687.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195687.html @@ -63,4 +63,4 @@

    console.log(sortedList[K - 1]); rl.close(); -});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195692.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195692.html index cffc04a8..f44337d2 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195692.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195692.html @@ -142,4 +142,4 @@

    const answer = gScore > pScore ? `goorm ${gScore}` : `player ${pScore}`; console.log(answer); rl.close(); -});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195693.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195693.html index 9c285590..a73b8548 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195693.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195693.html @@ -80,4 +80,4 @@

    rl.on('close', () => { // console.log("Hello Goorm! Your input is " + input); -});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195696.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195696.html index 1e1b8f9f..a7ebc9a8 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195696.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195696.html @@ -78,4 +78,4 @@

    memo.push(last); // 메모에 마지막 노드를 추가한다. } console.log(`${memo.length} ${last}`); -});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195698.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195698.html index 0226f535..95596a9c 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195698.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/goorm-195698.html @@ -144,4 +144,4 @@

    // Set의 size는 중복되지 않는 각 노드의 부모(집합)이므로 // 연합(집합)의 개수가 된다. console.log(answer.size); -});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +});📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/implicit-coercion.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/implicit-coercion.html index 7e210ee3..88e1c22b 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/implicit-coercion.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/implicit-coercion.html @@ -234,4 +234,4 @@

    추상 명령 코드
  • 객체를 원시형으로 변환하기
  • "[object Object]"
  • -📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/jeju-remote-work.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/jeju-remote-work.html index 8f73b45c..3d74c3d2 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/jeju-remote-work.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/jeju-remote-work.html @@ -56,4 +56,4 @@

  • 워케이션을 통해 평범했던 일상을 더욱 좋아하게 되었고 긍정적으로 삶을 바라볼 수 있게 되었다.
  • 이제 다시 평범한 일상으로 돌아가게 되겠지만 새로운 환경이 필요하다고 생각하면 주저 없이 워케이션을 선택할 것 같다.

    -

    좋은 경험이었다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    좋은 경험이었다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/junction2023.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/junction2023.html index 284c89ba..2edc0ce0 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/junction2023.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/junction2023.html @@ -55,4 +55,4 @@

    오랜만에 밤새면서 빠르게 작업하니까 재밌었다. 긴 재택근무 간에 떨어진 열정을 다시 채운 느낌이었다.

    기회가 된다면 계속 꾸준히 해커톤에 참여하고 싶다.

    아참 침낭이랑 후드 챙겨갔는데 이거 없었으면 진짜 고통스러울 뻔했다. 진짜 에어컨이 계속 나오기 때문에 너무 추웠다.

    -

    좋은 경험이었다. 그럼, 이만!

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    좋은 경험이었다. 그럼, 이만!

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/leetcode-easy-2727.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/leetcode-easy-2727.html index 4b0e7322..db72bb1b 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/leetcode-easy-2727.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/leetcode-easy-2727.html @@ -63,4 +63,4 @@

    console.log(Object.keys(m)); // []

    for...in 루프는 객체의 모든 열거 가능한 속성에 대해 반복하며 문자열 키 값을 반환한다. 추가로 인덱스의 순서를 보장하지 않는다.

    for...of 구문은 컬렉션 전용이다. 모든 객체보다는, [Symbol.iterator] 속성이 있는 모든 컬렉션 요소에 대해 반복하며 컬렉션을 반환한다.

    -

    keys는 해당 키를 가져오지만, 상속된 값은 가져오지 않는다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    keys는 해당 키를 가져오지만, 상속된 값은 가져오지 않는다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/leetcode-hard-42.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/leetcode-hard-42.html index a230ff4e..4aef8aaf 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/leetcode-hard-42.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/leetcode-hard-42.html @@ -84,4 +84,4 @@

    } return res; -};📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +};📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/leetcode-medium-238.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/leetcode-medium-238.html index acf1e2a7..385150ae 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/leetcode-medium-238.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/leetcode-medium-238.html @@ -102,4 +102,4 @@

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    그럼 이만~

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/mac-init-apps.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/mac-init-apps.html index 9b358ada..3fa0b21f 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/mac-init-apps.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/mac-init-apps.html @@ -238,4 +238,4 @@

    Digital Color Meter

    example

    -

    맥 자체 유용한 앱이다. CSS 작업을 하다 보면 스포이드가 필요한 순간이 있는데 유용하게 사용할 수 있다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    맥 자체 유용한 앱이다. CSS 작업을 하다 보면 스포이드가 필요한 순간이 있는데 유용하게 사용할 수 있다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/mdn-ko-organizer.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/mdn-ko-organizer.html index b4a37de2..7b3002a8 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/mdn-ko-organizer.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/mdn-ko-organizer.html @@ -78,4 +78,4 @@

    마무리

    번역은 오픈소스 입문의 좋은 시작점이라 생각한다.

    그렇기 때문에 리뷰어로서 사명감을 느끼고 있다. 오픈소스를 시작하려는 분들이 꾸준히 기여하고 생태계를 끌어 나갈 인재로 성장할 수 있도록 좋은 경험을 주고 싶다.

    -

    MDN 문서 번역에 관심이 생겼다면 첫 기여자들을 위한 안내서를 참고해 주시길 바란다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    MDN 문서 번역에 관심이 생겼다면 첫 기여자들을 위한 안내서를 참고해 주시길 바란다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/micro-state-management-review.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/micro-state-management-review.html index ab5c7b65..ebfdffdf 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/micro-state-management-review.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/micro-state-management-review.html @@ -168,4 +168,4 @@

    기본적으로 React를 어느정도 이해하고 있는 개발자를 대상으로 작성된 책이지만 코드 자체가 어렵진 않아서 초심자도 읽어볼 만하다고 생각한다.

    책을 읽으면서 상태 관리에 대해 시야가 넓어질 수 있었다.

    다음 월간 다이브에는 "상태"를 주제로 해보려고 한다. 책을 통해 배운 것들을 잘 풀어보고 싶다.

    -

    상태 관리의 종류와 기법들에 대해 이해하고 싶다면 추천하고 싶은 책이다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    상태 관리의 종류와 기법들에 대해 이해하고 싶다면 추천하고 싶은 책이다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/prettier3.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/prettier3.html index 8dee3dce..82776fc1 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/prettier3.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/prettier3.html @@ -216,4 +216,4 @@

    Reference

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/proving-ground-review.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/proving-ground-review.html index d182e44f..c1e870e0 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/proving-ground-review.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/proving-ground-review.html @@ -24,4 +24,4 @@

    책의 한 문장을 뽑으라면 역시 나는 최초의 프로그래머를 선언하는 부분을 가져오고 싶다.

    이 과정에서 프로그래머라는 직업이 탄생했다. 문제를 가진 사람과 컴퓨터를 연결해 문제를 해결하도록 돕는 역할을 하는 사람이 등장한 것이다. 여섯 여성은 현대 컴퓨터 분야 최초의 직업 프로그래머였다. -289p

    우리는 영웅의 그림자에 가려진 또 다른 영웅들을 발굴하고 기억해야 한다고 느꼈다.

    -

    흥미롭게 읽은 책이다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    흥미롭게 읽은 책이다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/quality-of-job-review.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/quality-of-job-review.html index 1f91055f..76ec2dab 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/quality-of-job-review.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/quality-of-job-review.html @@ -105,4 +105,4 @@

    맺으며

    위 격언들을 한 번씩 되돌아보며 더욱 성장한 나. 성공한 삶을 살아갈 수 있도록 노력해야겠다.

    -

    그럼 이만

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    그럼 이만

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/renovate.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/renovate.html index 3769925c..b8cf3eaa 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/renovate.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/renovate.html @@ -110,4 +110,4 @@

    그렇기 때문에 정말 특정한 이슈가 없는 이상 버전 올릴 생각을 잘 하지 않게 되었고, 그 결과 수많은 Breaking change를 만나며 고생했던 기억이 있다.

    무엇보다 "사용하고 있는 라이브러리의 최신 근황"에 대해 궁금해 하지 않았던 점도 한몫 했다.

    이제, Renovate가 제공해주는 지속되는 PR을 통해 놓치지 않고 새로운 버전을 쫓아갈 수 있을거라 생각하고 있다. 또한 changeLog 및 sourceCompare를 통해 각 라이브러리의 근황도 자연스럽게 알게 될거라 기대하고 있다.

    -

    그럼 이만!

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    그럼 이만!

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/storybook7.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/storybook7.html index e4534aec..dc37bcea 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/storybook7.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/storybook7.html @@ -141,4 +141,4 @@

  • https://storybook.js.org/blog/storybook-7-0/
  • https://storybook.js.org/blog/storybook-7-docs/
  • -📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/turborepo.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/turborepo.html index 560c572d..dff11079 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/turborepo.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/turborepo.html @@ -1,3 +1,3 @@

    Turborepo로 모노레포 개발 경험 향상하기

    1ilsang
    1ilsang
    클라이밍 하실래염?
    published

    cover

    라인 엔지니어링 블로그에 작성한 글이다.

    -

    글쓰면서 정말 많이 배웠던것 같다. 모노레포와 함께할 때 캐싱기능은 너무 경험이 좋았기 때문에 앞으로도 꾸준히 사용해볼 예정이다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍
    \ No newline at end of file +

    글쓰면서 정말 많이 배웠던것 같다. 모노레포와 함께할 때 캐싱기능은 너무 경험이 좋았기 때문에 앞으로도 꾸준히 사용해볼 예정이다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/typescript-subtyping.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/typescript-subtyping.html index b4480d35..e0bc09bb 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/typescript-subtyping.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/typescript-subtyping.html @@ -186,4 +186,4 @@

    Why Object.keys Returns an Array of Strings in TypeScript (And How To Fix It)
  • 타입스크립트의 구조적 타이핑
  • Object.keys() types refinement, and Object.entries() types bugfix #12253
  • -📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/typescript5.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/typescript5.html index 2b806f3d..93cd9518 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/typescript5.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/typescript5.html @@ -367,4 +367,4 @@

    https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-0.html
  • https://ko.javascript.info/call-apply-decorators#ref-634
  • https://2ality.com/2022/10/javascript-decorators.html
  • -📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/udemy-rust-programming.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/udemy-rust-programming.html index 5b2469e3..2236df5a 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/udemy-rust-programming.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/udemy-rust-programming.html @@ -36,4 +36,4 @@

    가보자고!

    해당 콘텐츠는 유데미로부터 강의 쿠폰을 제공받아 작성되었습니다.

    -
    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/use-prevent-leave.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/use-prevent-leave.html index 4add54bd..d5e50b9b 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/use-prevent-leave.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/use-prevent-leave.html @@ -241,4 +241,4 @@

    https://developer.mozilla.org/en-US/docs/Web/Security/User_activation
  • https://developer.chrome.com/blog/page-lifecycle-api/
  • https://heyjiawei.com/block-user-from-leaving-page-on-single-page-app
  • -📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/use-transition.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/use-transition.html index 72e0be91..00c60a31 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/use-transition.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/use-transition.html @@ -200,4 +200,4 @@

  • transition 표시된 setState는 다른 setState 업데이트시 중단된다.
  • transition 표시된 상태 업데이트는 Suspense로 컨텐츠를 숨기지 않고 이전 컨텐츠를 계속 표시한다.
  • fiber 엔진을 통해 transition된 상태와 다른 상태의 스케줄링이 가능해졌다.
  • -
    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/visual-regression-test.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/visual-regression-test.html index 127a0fb8..1cf96b67 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/visual-regression-test.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/visual-regression-test.html @@ -378,4 +378,4 @@

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/vite-dev-server.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/vite-dev-server.html index 96498ab5..3355bf68 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/vite-dev-server.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/vite-dev-server.html @@ -493,4 +493,4 @@

  • https://webpack.kr/concepts/hot-module-replacement
  • https://ko.vitejs.dev/config/server-options.html
  • https://github.com/vitejs/vite
  • -📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/post/dom.spec.ts/mobile/woowa-type-review.html b/e2e/__snapshots__/post/dom.spec.ts/mobile/woowa-type-review.html index 84285dbb..a638f371 100644 --- a/e2e/__snapshots__/post/dom.spec.ts/mobile/woowa-type-review.html +++ b/e2e/__snapshots__/post/dom.spec.ts/mobile/woowa-type-review.html @@ -115,4 +115,4 @@

    맺으며

    배민의 공유 문화는 본받을만하다고 생각한다.

    기술업계 특성상 비판적인 시선이 기본적으로 있기 때문에 외부 공개를 꺼릴 수도 있었겠지만, 기술에 대한 공유를 두려워하지 않고 책으로 펴낸 것에 리스펙하게 된다.

    -

    여러 예제가 실제 코딩에 도움이 되기 때문에 추천하고 싶은 책이다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file +

    여러 예제가 실제 코딩에 도움이 되기 때문에 추천하고 싶은 책이다.

    📮 이 포스트에 관심 있으신가요? 이슈를 남겨주세요! 👍 \ No newline at end of file diff --git a/e2e/__snapshots__/posts.spec.ts/desktop/posts.html b/e2e/__snapshots__/posts.spec.ts/desktop/posts.html index b67fbae0..35755fa0 100644 --- a/e2e/__snapshots__/posts.spec.ts/desktop/posts.html +++ b/e2e/__snapshots__/posts.spec.ts/desktop/posts.html @@ -1 +1 @@ -
    JavaScriptRustActivityBookRetrospectToolAlgorithm
    \ No newline at end of file +
    JavaScriptRustActivityBookRetrospectToolAlgorithm
    \ No newline at end of file diff --git a/e2e/__snapshots__/posts.spec.ts/mobile/posts.html b/e2e/__snapshots__/posts.spec.ts/mobile/posts.html index b67fbae0..35755fa0 100644 --- a/e2e/__snapshots__/posts.spec.ts/mobile/posts.html +++ b/e2e/__snapshots__/posts.spec.ts/mobile/posts.html @@ -1 +1 @@ -
    JavaScriptRustActivityBookRetrospectToolAlgorithm
    \ No newline at end of file +
    JavaScriptRustActivityBookRetrospectToolAlgorithm
    \ No newline at end of file diff --git a/package.json b/package.json index 22c1df1c..3c31085c 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "lint:typeCheck": "tsc --pretty", "lint": "pnpm run '/^lint:.*/'", "e2e:build": "NEXT_PUBLIC_CI=true next build", + "e2e:update:dom": "pnpm e2e:dom --update-snapshots", "e2e:update": "pnpm playwright test --update-snapshots", "e2e:report": "pnpm exec playwright show-report", "e2e:install": "pnpm exec playwright install --with-deps", From a8479e5e311d402b69ceb9cb92583c84a620ad27 Mon Sep 17 00:00:00 2001 From: 1ilsang <1ilsang@naver.com> Date: Sat, 8 Jun 2024 00:42:31 +0900 Subject: [PATCH 3/4] feat(action): Add commit update action script --- .github/actions/netlify-preview/action.yml | 56 +++++++++++++--------- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/.github/actions/netlify-preview/action.yml b/.github/actions/netlify-preview/action.yml index 40441233..0ec59e11 100644 --- a/.github/actions/netlify-preview/action.yml +++ b/.github/actions/netlify-preview/action.yml @@ -43,35 +43,45 @@ runs: HEAD_COMMIT: ${{ inputs.HEAD_COMMIT }} with: script: | + const owner = context.repo.owner; + const repo = context.repo.repo; + + async function getExistPrevActionBot(issueNumber) { + const commentListResult = await github.rest.issues.listComments({ + owner, + repo, + issue_number: issueNumber + }); + const existPrevAction = result.data.find(comment => comment.user.login === 'github-actions[bot]'); + return existPrevAction; + } + async function comment(){ const result = await github.rest.repos.listPullRequestsAssociatedWithCommit({ - owner: context.repo.owner, - repo: context.repo.repo, + owner, + repo, commit_sha: process.env.HEAD_COMMIT, }); const issueNumber = result.data[0]?.number; - const commentId = false; - - console.log(result.data[0]); - - if (issueNumber) { - if (commentId) { - await github.rest.issues.updateComment({ - owner: context.repo.owner, - repo: context.repo.repo, - comment_id: commentId, - body: `Preview URL: ${process.env.NETLIFY_PREVIEW_URL}` - }); - } else { - await github.rest.issues.createComment({ - issue_number: issueNumber, - owner: context.repo.owner, - repo: context.repo.repo, - body: `Preview URL: ${process.env.NETLIFY_PREVIEW_URL}` - }); - } - } else { + if (!issueNumber) { console.log('No PR found for commit ' + process.env.HEAD_COMMIT); + return; + } + const prevActionBot = await getExistPrevActionBot(issueNumber); + if (prevActionBot.id) { + await github.rest.issues.updateComment({ + owner, + repo, + comment_id: prevActionBot.id, + body: `Preview URL: ${process.env.NETLIFY_PREVIEW_URL}` + }); + } else { + await github.rest.issues.createComment({ + owner, + repo, + issue_number: issueNumber, + body: `Preview URL: ${process.env.NETLIFY_PREVIEW_URL}` + }); } } comment(); From 70acc153830c8f89c697dac02c1213a3791a37f1 Mon Sep 17 00:00:00 2001 From: 1ilsang <1ilsang@naver.com> Date: Sat, 8 Jun 2024 00:46:42 +0900 Subject: [PATCH 4/4] fix(action): Fix wrong ref --- .github/actions/netlify-preview/action.yml | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/actions/netlify-preview/action.yml b/.github/actions/netlify-preview/action.yml index 0ec59e11..5f677443 100644 --- a/.github/actions/netlify-preview/action.yml +++ b/.github/actions/netlify-preview/action.yml @@ -46,8 +46,18 @@ runs: const owner = context.repo.owner; const repo = context.repo.repo; + async function getIssueNumber() { + const result = await github.rest.repos.listPullRequestsAssociatedWithCommit({ + owner, + repo, + commit_sha: process.env.HEAD_COMMIT, + }); + const issueNumber = result.data[0]?.number; + return issueNumber; + } + async function getExistPrevActionBot(issueNumber) { - const commentListResult = await github.rest.issues.listComments({ + const result = await github.rest.issues.listComments({ owner, repo, issue_number: issueNumber @@ -57,12 +67,7 @@ runs: } async function comment(){ - const result = await github.rest.repos.listPullRequestsAssociatedWithCommit({ - owner, - repo, - commit_sha: process.env.HEAD_COMMIT, - }); - const issueNumber = result.data[0]?.number; + const issueNumber = await getIssueNumber(); if (!issueNumber) { console.log('No PR found for commit ' + process.env.HEAD_COMMIT); return;