
미리보기
- 직업
- Front-End Developor
- 이름
- 나범수
- 이메일
- skqjatn6788@gmail.com
- 간단소개
- 저는 궁금한 것은 끝까지 파고드는 탐구형 개발자 나범수입니다. 고등학교 시절, 뚜렷한 진로 목표 없이 성적에 맞춰 사회복지학과에 진학했지만 수업을 들을수록 제가 기대했던 사회복지와 실제 커리큘럼 사이에 차이를 느꼈고, 그때부터 진로에 대해 깊이 고민하기 시작했습니다. 그러던 중 논리적인 흐름 속에서 문제를 해결하고, 결과가 바로 보이는 프로그래밍에 매력을 느끼게 되었고 광주광역시에서 주관하는 인공지능사관학교에 입학해 프론트엔드 개발자로의 방향을 구체화했습니다. 공부 과정에서는 모르는 부분이나 새롭게 배운 내용을 블로그에 정리하며 지식을 구조화하고, 다른 개발자들과의 소통을 통해 더 넓은 시야를 가지기 위해 노력하고 있습니다. 또한 저는 한번 몰입하면 끝을 보고 싶어 하는 성격이라, 오류나 막히는 부분이 생기면 시간 가는 줄 모르고 계속 파고드는 편입니다. 이런 몰입은 저의 강점이 되기도 하지만, 체력적으로 금방 지치기도 해 주기적으로 운동을 하거나 휴식을 통해 스트레스를 관리하며 꾸준히 학습할 수 있는 환경을 스스로 만들어가고 있습니다. 아직 부족한 점도 많지만, 꾸준히 배우고 시도하는 자세로 앞으로 더 단단한 개발자가 되겠습니다.

기술 스택
- 기술 스택
- Python
- 국비지원 부트캠프
- JavaScript
- HTML/CSS
- React
- ChatGPT
- Node.js
- TypeScript
- Figma
- MySQL
- 포트폴리오
- Next.js
- frontend
- Firebase
- 반응형 웹
프로젝트
- 프로젝트명
- WhiteWhale Re-Make
- 소속/기관명
- 개인
- 프로젝트 기간
- 2025.03. - 진행 중
- (3개월)
- 프로젝트 설명
이전에 완성시켰던 WhiteWhale 프로젝트를 새롭게 리메이크하는 프로젝트를 진행 중입니다.
우선 목표는 기존 DB, BackEnd 기능을 담당하던 Firebase를 MySql+Express로 분리 후 AWS 배포를 통해서 실제 환경처럼 적용을 하는 것입니다.
또한 기존 프로젝트에서 클라이언트 컴포넌트는 자체적인 contextApi를 사용하는 만큼 렌더링 문제가 발생할 수 있었는데 외부 라이브러리를 사용하고 교체해 렌더링 문제를 최적화 하는 것을 염두하고 있습니다.
그 밖에 기존의 CSS에 애니메이션과 반응형 쿼리를 적용해 인터렉티브 웹을 목표로 작업을 하고 있습니다.
- 프로젝트명
- WhiteWhale
- 소속/기관명
- 개인
- 프로젝트 기간
- 2024.07. - 2024.10.
- (4개월)
- 프로젝트 설명
커스텀키보드를 판매하는 커머스 사이트를 제작하는 프로젝트입니다.
기술 스택 : React,React Vite, TailWindCss, TypeScirpt,
상태관리 : ReactQuery, contextAPI
DB & Backend : Firebase
Tool : figma
1인 프로젝트로 제작했으며 로그인, 마이페이지, 상품페이지, 권한별 다른 기능(상품 업로드, 물건 구매), 구매 페이지와 구매 현황페이지를 제작했고 최적화와 실시간 상태에 집중을 했습니다.
상태관리는 서버와 클라이언트로 분리해서 상태관리가 효율적으로 작동되도록 했습니다.
로그인은 Firebase를 이용해서 DB + SQL의 역할을 담당하되 클라이언트에서 로그인 처리가 이뤄지도록 설계했습니다.
물건을 결제할 때는 TossAPI, 네이버의 주소 입력 API를 사용해서 실제처럼 결제 처리가 이뤄지도록 설계했습니다.
이후 페이지의 성능을 올리는 방법에 대해 관심이 생겨 LazyLoading과 SementicTag를 적용해 사이트의 자체적인 성능과 SEO 엔진에 대한 최적화를 통해 LightHouse 기준 전체적인 성능을 10%가량 상승시켰습니다.
현재는 RE-MAKE 프로젝트 진행으로 인해 로그인이 되지 않습니다.
- 프로젝트명
- DDAL_KKak
- 소속/기관명
- 인공지능사관학교
- 프로젝트 기간
- 2024.10. - 2024.12.
- (3개월)
- 프로젝트 설명
기술 스택 : React, Image-editor-library,
DB : MySQL
BackEnd : AWS, Axios
AI : Stable-diffsuion
머그컵, 무지티 등 평범한 상품에 생성형 AI를 이용하여 사용자가 원하는 이미지를 제작하고 상품에 합쳐 제작하는 커스텀 굿즈 사이트를 제작하는 프로젝트입니다.
해당 프로젝트에서 저는 이미지 관련 페이지의 UI 제작과 라이브러리의 기능을 저희 프로젝트에 맞게 커스터마이징 하는 역할을 담당했습니다.
이미지 관련 프로젝트는 프롬포트에 따라 여러 개의 이미지를 제작하는 이미지 제작 페이지, 생성된 페이지를 나열하고 선택하는 이미지 선택페이지, 선택한 이미지에 자르기, 좌우반전, 텍스트 추가 등의 2차 가공을 할 수 있는 이미지 수정페이지의 UI를 담당했습니다.
담당한 일을 하면서 이전 프로젝트에서 사용했던 모달탭을 이용한 UI와 이미지 개수의 상태에 따라 다른 레이아웃이 출력하도록 레이아웃을 적용했으며 기존에는 영어 원문에 이미지 자르기, 좌우반전 밖에 없는 이미지 수정 라이브러리를 수정해서 전부 한글로 출력, 도형 추가 기능, 텍스트 추가 기능, 글꼴 추가 등의 기능을 추가해 사용자가 이미지를 수정할 때의 편의성을 증진시켰습니다.
이때 팀원과 분쟁이 있었고 팀원과의 분쟁을 해결하는 방법을 배웠습니다.
- 프로젝트명
- NDSB
- 소속/기관명
- 인공지능사관학교
- 프로젝트 기간
- 2023.07. - 2023.08.
- (2개월)
- 프로젝트 설명
사용 스택: HTML, CSS, JavaScript
DB: MySQL
backEnd : node.js, Express
AI를 활용한 코딩문제에 관련한 학습사이트 제작 프로젝트입니다.
OpenChat AI API를 활용하여 개인의 수준과 관심에 맞는 코딩테스트의 문제를 제작하고 채점할 수 있는 기능을 가졌습니다.
저는 해당 프로젝트에서 부분적으로 Front-End, Back-end의 기능을 맡아 마이페이지의 관련 UI/UX의 제작과 제작되어 있는 DB에서 유저의 데이터를 연동하는 일을 담당했습니다. 마이페이지를 제작 했을 때 중요하게 생각했던 부분은 사용자의 편의성 관련으로 모달탭을 사용해서 특별한 페이지 이동 없이 자신의 정보 변경, 결제 정보 확인, 문제 풀이 내역 출력, 회원탈퇴의 기능을 할 수 있도록 제작했습니다.
해당 기능과 UI를 제작하면서 DB를 단순하게 연동한 것 뿐 아니라 사용자가 해결한 문제의 갯수에 따라 다른 인터페이스를 출력하도록 상태에 따른 변화된 레이아웃을 출력하는 방법을 배웠습니다.
처음 시도해보는 팀프로젝트였기 때문에 코드의 역할에 따른 구조분리의 중요성을 모른 상태에서 프로젝트를 시작했기 때문에 팀원들이 각자 제작한 프로젝트를 마지막에 통합하는 역할도 맡았습니다.
해당 과정에서 무리한 코드 통합으로 인해 실행 충돌이 일어났었으며 실행이 되더라도 불안한 상태로 진행되었습니다. 해당 과정을 통해 코드 분리에 대한 중요성을 파악했고 그 이후에는 개인적인 기준을 가지고 구조 분리를 하도록 노력하고 있습니다.
포트폴리오
교육
- 소속/기관
- 호서대학교
- 종류 | 전공명/전공계열
- 대학교(학사) | 사회복지학부
- 재학 기간 (재학 상태)
- 2017.03. - 2023.02. (졸업)
- 소속/기관
- 동원고등학교
- 종류 | 전공명/전공계열
- 고등학교 | 자연계열
- 재학 기간 (재학 상태)
- 2014.02. - 2017.02. (졸업)
대외활동
- 활동명
- 노마드코더 Next.js 강의 수료
- 소속/기관
- 개인
- 활동 연도
- 2025
- 활동 상세 설명
온라인 강의 노마드코더에서 제공하는 Next.js에 대한 강의를 시청하고 사이드 프로젝트로 Next.js를 이용한 디자인 프로젝트를 진행했습니다.
- 활동명
- 팀 스파르타 취업반 Front-end 과정
- 소속/기관
- 팀 스파르타
- 활동 연도
- 2024
- 활동 상세 설명
front-End 개발자의 실력을 향상시키고자 온라인으로 주관하는 팀스파르타의 Front-End 심화과정에 참가 하여 CS 지식을 공부하였으며 같이 참가했던 참가자들과 함께 코딩테스트를 하면서 알고리즘 지식을 향상시켰습니다.
- 활동명
- 유데미 TypeScript 강의 시청
- 소속/기관
- 개인
- 활동 연도
- 2024
- 활동 상세 설명
온라인 강의 사이트인 유데미에서 제공하는 TypeScript 강의를 시청하고 TypeScript의 개념과 중요 기법을 공부하고 Drag & Drop에 대한 사이드프로젝트를 진행했습니다.
- 활동명
- AI콘텐츠융합창작랩 공모전 참가
- 소속/기관
- 기타
- 활동 연도
- 2023
- 활동 상세 설명
광주정보문화산업진흥원이 주관한 인공지능콘텐츠융합창작랩 공모전에 참가하여,
OpenAI API 기반 코드 생성 웹서비스 ‘NDSB’ 프로젝트로 본선에 진출하고 프로젝트 지원비 200만원을 수령한 경험이 있습니다.
해당 프로젝트는 초기에 HTML, CSS, JavaScript 기반으로 구성되었으며, 복잡한 기능이 하나의 파일에 통합되어 발생한 유지 보수 문제를 해결하고자 React 기반 구조로 개편하는 것을 목표로 진행했습니다.
예선에서는 아이디어의 창의성과 실현 가능성 부문에서 높은 평가를 받아 본선 진출에 성공하였고, 프로젝트를 통해 React의 상태 관리와 렌더링 최적화 경험을 쌓을 수 있었습니다.
- 활동명
- 광주인공지능사관학교
- 소속/기관
- 광주인공지능사관학교
- 활동 연도
- 2023
- 활동 상세 설명
광주광역시에서 주관하는 AI 및 개발자 육성 산업에 대한 부트캠프로 약 1년동안 참가하여 Front-End에 필요한 HTML, CSS,Javascript, react에 관련된 내용과 AI에 대한 기초 이론 및 딥러닝 모델 구조에 대한 교육을 이수했습니다.
또한 교육 과정 중 실전과 유사한 환경에서 두 차례 팀 프로젝트를 수행했고, 각각 장려상과 최우수상을 수상하며 학습한 내용을 실무에 적용할 수 있는 역량을 입증했습니다.
- 활동명
- 소셜벤쳐동아리팀공모전
- 소속/기관
- S.B.R
- 활동 연도
- 2021
- 활동 상세 설명
사회복지학 동아리인 S.B.R에서 활동할 당시 참가했던 팀 공모전으로, 사회적 기업 또는 사회적 기관과 참여해 실제로 판매할 수 있는 제품을 만드는 공모전이었습니다. 당시 저희 팀원은 노인 복지관과 협약하여 제품을 생산할 수 있는 클라이언트를 모집해 복지관의 프로그램으로 지정하면, 저희가 제작한 십자수 도면으로 십자수 제품을 생산해 판매하고, 그 수익금을 클라이언트와 노인 복지관에 기부하는 형태로 사회적 순환을 도모하는 프로젝트로 참가해 장려상을 수상했습니다.
- 활동명
- 사회 동아리 S.B.R
- 소속/기관
- 호서대학교 사회복지학부
- 활동 연도
- 2021
- 활동 상세 설명
호서대학교 사회복지학부에서 활동 중인 사회동아리 S.B.R 동아리에 조장 역할을 담당했습니다. 동아리 조장으로서의 역할은 회장의 역할 전달, 조원들과의 소통 및 조율, 팀 공모전 참가를 통한 결과 창출이 있었습니다.
자격증
- 자격증명
- 정보처리기사
- 점수/급 | 발급 기관
- 실기 | 한국산업인력공단
- 취득월
- 2024.12
- 자격증명
- 컴퓨터활용능력
- 점수/급 | 발급 기관
- 2급 | 대한상공회의회
- 취득월
- 2022.10
- 자격증명
- 운전면허증
- 점수/급 | 발급 기관
- 1종 | 경기남부지방경찰청
- 취득월
- 2017.02
자기소개
- 자기소개
Front-End에 대한 지식을 쌓고자 광주로 내려가, 실전 환경에 가까운 팀 프로젝트를 수행하며 React와 Node를 활용한 웹 서비스를 개발했습니다.
저는 일을 할 때 한 가지의 일에 깊게 몰입해서 일을 끝마치는 성격입니다. 광주에서도 간단한 사이드 프로젝트의 일환으로 3일 만에 간단한 기능을 할 수 있는 팀 프로젝트 과제가 주어졌었고 3일 동안 시간을 줄여가며 Crosul, 메인 페이지, 소개 페이지, 지도 목록의 업무를 끝마친 경험이 있습니다. 이런 저의 성격은 일의 퀄리티를 높이는 기능도 있지만 시야가 좁아질 수 있다는 단점도 가지고 있습니다. DDAL-KKak 프로젝트 진행 당시 페이지의 레이아웃에 관해 PM역할을 맡고 있는 팀장과 논쟁을 벌인 경험이 있습니다. DDAL-KKak 프로젝트의 아쉬운 점 중 하나는 AI를 통한 이미지 생성에 시간이 조금 걸린다는 부분이었고, 저는 이 부분을 보완하고자 이미지 생성을 기다리는 동안 예시 이미지를 집어넣어 지루함을 덜어주도록 하는 기능을 추가하기를 원했습니다. 그러나 팀장 님은 아무것도 없는 최소한의 레이아웃을 원하셨기 때문에 서로의 의견 차이에 대해 논쟁이 이어졌습니다. 최종적으로 각각의 레이아웃의 예시 버전을 통해 팀원들의 의견을 과반수로 정하기로 결정을 했고, 결과적으로 팀장 님의 의견이 채택되었습니다. 팀장 님의 레이아웃이 채택된 이유는 제 아이디어의 경우, 별도의 이미지를 렌더링 해오는 과정에서 성능 적인 문제가 발생할 수 있다는 의견이었습니다.
이 과정에서 저는 전체적인 흐름이나 다른 부분에 대한 시각을 넓혀야 한다는 것을 알게 되어 한 가지 일에 집중되어도 의도적으로 다른 부분을 고려하도록 노력하고 있습니다.
제가 대학교 재학 시절 동아리 조장으로써 팀 대회 공모전에 처음으로 참가했을 때가 가장 힘든 경험이었으나 조장의 역할이 무엇 인지를 생각하고 난 후 팀워크와 조장의 의미를 이해할 수 있게 되었습니다.
당시 팀 대회와 동아리의 조장을 처음으로 맡으면서 모든 것이 낯설었습니다. 특히 조장이라는 책임감이 압박감이 되어 제가 동아리의 활동 계획 뿐 아니라 역할 분담, 아이디어 의견 내기, 얘기 등 사실상 제가 전반적인 부분을 전부 다 하게 되는 상황이 발생했습니다. 다른 조원 들은 눈치만 보고 제대로 얘기하지 못하는 상황이었고 저로서도 동아리를 활동하기 어려운 부분이 많았습니다. 이 과정을 겪으면서 제가 너무 많은 역할을 담당하는 것이 맞는 지에 대해 생각하게 되었고 이 생각을 조원들에게도 공유했습니다. 저의 생각은 정답이었고 조원 들은 저의 운영 방식에 답답함을 호소했습니다. 조원들의 의견을 통합해서 들은 저는 '조장이란 모든 활동을 담당하는 것이 아니라 방향성을 제시해주는 존재' 라는 생각을 가지게 되었고 이 생각을 바탕으로 조원들과 협력하는 방법을 배우고 결과적으로 공모전 대회에서 장려상을 수상하게 되었습니다.
이 경험을 바탕으로 팀 프로젝트를 할 때 조원으로써 팀 프로젝트를 성공적으로 달성하기 위해 팀의 화합이 중요하다는 생각을 실행하기 위해 회의 시간 이전 이후로 만나는 시간을 가졌습니다. 이런 노력 덕분인지 AI융합콘텐츠 공모전에 참가해 실전성 높은 기획과 개발력으로 프로젝트 지원비를 받은 경험이 있습니다.
이후 본가로 돌아와 개인 커머스 프로젝트를 진행하며 성능 최적화에 관심이 생겼고, React 외에도 인터넷 강의를 수강하면서 저 자신만의 기술을 개발하려 노력했고 Next.js를 활용한 사이드 프로젝트를 통해 SSR과 코드 스플리팅 등 실무 기술을 적용해 보았습니다. Lighthouse 기준 성능 점수를 10%가량 향상시키며 lazy loading, 이미지 압축, 시멘틱 코드의 중요성을 체감할 수 있었습니다.
프로젝트 중 알게 된 내용이나 오류는 개인 블로그에 기록하며, 다른 개발자들과 지식을 나누기 위해 꾸준히 정리하고 있습니다.
이러한 경험을 바탕으로 사용자 중심의 개발을 실무에 녹여, 더 나은 결과물을 만드는 데 기여하고 싶습니다.