채용공고 올리기

이진욱님을 응원해보세요!

지금 만족하고 있어요
성실함
책임감
유연함
자기 주도적
신뢰

미리보기

기본 정보

이름
이진욱
직업
프론트엔드 개발자
간단 소개

저는 지속적으로 성장하는 개발자가 되고자 합니다. 빠르게 진화하는 프론트엔드 기술을 습득하는 과정에서 즐거움을 느끼며, 이를 통한 성장에 큰 희열을 경험합니다. 작지만 섬세하고, 사용자 경험에 자연스럽게 녹아드는 UI를 만들고자 노력합니다.

기술 스택

기술 스택

HTML/CSS, JavaScript, TypeScript, React, react-query, Next.js, supabase

프로젝트

프로젝트명

하루한줄

소속/기관명

개인

프로젝트 기간

진행 중

프로젝트 내용

설명

매일 하루 하나의 글쓰기 루틴을 하고자 하는 사람에게, 글 이라는 매체가 너무 막연하여 부담되는 이들에게 하루 딱 한줄 만이라도 매일 쓰게 장려하는 자체 제작 서비스 입니다.

사용 기술

TypeScript, React, Next.js (App Router), ReactQuery, Tailwind, Supabase

주요 구현 기능

  • 작성한 게시물을 연혁으로 볼 수 있는 잔디밭 형태의 캘린더 구현

  • 각 월 단위의 정확한 위치 표현

  • 자주 사용하는 단어 수집

  • 마크 다운으로 게시물 게시

  • 댓글에 달 수 있는 답글

마주한 문제

유저 정보를 가져온 뒤 해당 정보로 추가 데이터를 한번 더 가져와 데이터 요청이 두번 발생

→ Trigger 함수를 이용하여 필요한 데이터를 유저 정보에도 함께 저장하여 결과적으로 데이터 요청을 한번으로 줄임

달린 댓글의 갯수를 표시해주는 기능 구현 중, 답글의 갯수를 한번의 요청으로 가져오지 못하는 문제 발생

→ 게시물에 댓글 count 컬럼을 따로 만들고 Trigger 함수로 대댓글 추가 시 에도 count가 오르게 하여 정확한 댓글 갯수를 가져옴

setTimeout으로 언마운트 타이밍을 수동으로 일일이 지정해 코드가 길어지고 시안성이 떨어짐

→ onTransitionEnd 속성을 이용해 요소가 사라지는 애니메이션이 끝나는 순간을 감지하여 언마운트 하도록 개선

상태를 변경하여 언마운트 시키는 방식으로 불필요한 리렌더링 발생

→ 비표준 속성을 이용해 리렌더링이 필요없는 로직으로 개선

특정 Link로 페이지 이동시 개발 환경에선 문제 없이 동작하나 프로덕션 환경에선 페이지를 찾지 못하는 문제 발생

→ 평행 라우팅으로 라우트 되던 페이지에 충돌이 일어나는 Layout 파일이 있어 해당 파일을 삭제하여 문제 해결

프로젝트명

Mogazoa

소속/기관명

코드잇 팀 프로젝트

프로젝트 기간

2024.07. ~ 2024.08.

프로젝트 내용

설명

각종 상품에 대한 리뷰를 나누고 기록하는 플랫폼 입니다.

사용 기술

TypeScript, React, Tailwind, Next.js (Page Router), ReactQuery, ShadcnUi

내가 한 일

카카오와 구글 소셜 로그인 연동

소셜 로그인시 필요한 동작을 라이브러리 사용 없이 직접 구현 → Next의 api 폴더 컨벤션을 통하여 리다이렉션시 실행할 로직을 구현하고 RestApi 로 직접 로그인 요청

공용 컴포넌트 구축

tailwind-merge, cva, clsx 라이브러리를 이용해 재사용성 높은 Button 컴포넌트 구축 → cva로 variant,size,disabled 와 같은 props를 정의하고 조건에 따른 loading 컴포넌트도 내부에서 표현

프로젝트명

Taskuit

소속/기관명

코드잇 팀 프로젝트

프로젝트 기간

2024.05. ~ 2024.06.

프로젝트 내용

설명

일정 관리 서비스를 제공하는 플랫폼 입니다.

사용 기술

TypeScript, React, Tailwind, Redux Toolkit, Next.js (Page Router), Airbnb Lint

내가 한 일

공통 컴포넌트인 Modal과 Toast 구현

→ 출력 불값과 필요한 props를 전역에서 관리하여 손쉽게 호출 하는 로직 구축

언마운트 애니메이션 표현

→ setTimeout으로 언마운트 시점을 정해주고 애니메이션 표현 이후 언마운트

마주한 문제

기관에서 제공된 백엔드에는 배열에 문자열로만 전달되어 태그 마다 색상을 지정할 수 없음

→ NoSQL을 이용하여 객체 형태로 태그의 색상 정보를 저장

포트폴리오

URL

link

기술 블로그

URL 링크
link

하루한줄

URL 링크
link

Moagazoa (팀 프로젝트)

URL 링크

자기소개

자기소개

“나도 잘할 수 있겠다”

유튜브에서 코딩 영상을 보고 ‘나도 저거 잘할 수 있겠다' 라는 자신감이 생겼습니다. 그 후 유튜브의 제로초 채널을 구독해 자바스크립트를 배우며, 예시로 나온 웹 게임들을 기초 문법만으로 직접 구현해보았습니다. 순서도를 작성해가며 논리를 세우는 재미를 느끼고 좀 더 체계를 갖춘 지식을 배우고 싶은 욕심이 생겼습니다. 고민 끝에 6개월의 프론트엔드 부트캠프 과정을 등록했고 혼자하는 코딩에서 함께하는 코딩의 재미를 느낄 수 있었습니다.

“항상 학습 진도가 빠르고 학습에 오랜 시간을 투자하는 게 느껴집니다”

이 문장은 실제로 팀원에게 들은 피드백입니다. 저는 흥미를 느끼는 분야에 깊이 파고드는 것을 좋아해 유료 강의까지 수강하며 Next.js 지식을 쌓았습니다. 개념을 익힌 후엔 빠르게 적용해 실무에서의 시행착오를 직접 경험하며 학습을 이어갔습니다.

결국, 이러한 학습 방식 덕분에 ‘아이디어를 웹 화면으로 구현’하는 프로그래밍의 원초적 재미를 느낄 수 있었고 프로젝트를 진행할 때마다 완성도를 높이는 데 적극적이었다는 팀원들의 일관된 피드백도 받을 수 있었습니다.

“배려심으로 문제를 해결하는 사람”

저는 개인과 그룹 프로젝트를 통해 문제 해결의 중요한 열쇠가 ‘배려심’ 이라는 것을 깨달았습니다.

  1. 팀원의 문제를 해결

    팀원들이 API 호출을 통해 데이터를 처리하는 데 어려움을 겪고 있었을 때, 저 역시 처음에는 막막했지만, 끊임없는 검색과 수정 끝에 API 호출 시 전달받는 데이터를 한눈에 볼 수 있는 어드민 페이지를 만들어 팀원들과 공유했습니다. 이를 통해 프로젝트 진행 속도를 높이고, 적절한 컴포넌트를 쉽게 구성할 수 있었습니다.

  2. 사용자를 떠올리며 테스트를 반복

    또한, UI/UX 개발에서도 배려심은 중요한 요소입니다. 유저의 동선을 예측하고 그에 맞춘 상호작용을 설계하는 것이 핵심이기 때문입니다. 저는 UI/UX 디자인에서 발생할 수 있는 작은 불편함도 놓치지 않으려고 노력합니다. “하루 한줄” 이라는 개인 프로젝트를 할 때도 사용자의 디바이스에 따라 메뉴 위치가 달라질 수 있도록 코드 수정을 수십 번 반복하여 위치를 조정하였고, 끈질기게 테스트한 덕분에 만족스러운 반응형 레이아웃을 완성할 수 있었습니다.

“포기하지 않는 문제 해결력”

프론트엔드 개발에서 새로운 문제는 항상 예상치 못하게 나타납니다. 이러한 과정은 때로는 어려움을, 때로는 성취감을 줍니다. 어려움이 클수록 성취감도 커지기 때문에, 저는 문제 해결 과정에서 포기하지 않고 끝까지 도전합니다. 하지만 팀 프로젝트에서는 이러한 과정이 효율적이어야 하므로, 저는 항상 일정을 고려하여 문제를 해결하려고 노력합니다. 수백 번의 수동 테스트를 통해 자연스럽고 안정적인 UX를 구현하는 것처럼, 문제를 신속하게 해결하는 것은 저의 중요한 목표 중 하나입니다.

교육

소속/기관명

코드잇

종류 | 전공

사설 교육 | 프론트엔드 엔지니어

재학 기간 | 재학 상태

2024.03. ~ 2024.08. | 졸업

댓글