채용공고 올리기

이찬형님을 응원해보세요!

지금 만족하고 있어요
성실함
책임감
협업 지향
문제 해결사
신뢰

미리보기

기본 정보

이름
이찬형
직업
Web Frontend Developer
간단 소개

자기소개

자기소개

[지원 동기]

42서울에서의 프로젝트 경험을 통해 리눅스 운영 체제와 네트워크 관리 지식을 익혔습니다. 특히 Born2beroot 프로젝트에서는 NAT, 방화벽 등 네트워크 설정 작업을 수행하였습니다. 또한 NetPractice 프로젝트에서는 호스트 간 통신을 하기 위한 네트워크 대역과 라우터, 스위치의 기능을 학습하였습니다. 최근에는 홈 서버로 웹 애플리케이션 배포 작업을 하면서 공유기의 NAT 기능을 이용했던 경험이 있습니다.

또한, 다양한 프로젝트를 진행하면서 문제 해결 능력과 꼼꼼함을 습득하였으며, 이는 문제가 발생했을 때 근본적인 원인을 탐색하고 해결하는 데 도움이 될 것입니다. 학교 디바이스 점검과 무선 인프라 환경 체크 같은 업무에서 제 경험과 역량을 활용하여 안정적인 서비스를 제공하고 싶습니다.

[다양한 관점에서 문제를 바라보고 해결하려고 합니다]

문제를 발견했을 때, 근본적인 원인을 탐색하기 위해 다양한 가능성을 염두에 둡니다. WebRTC 음성 통화 프로젝트 에서 통화 연결 알고리즘의 확장성 부족 문제를 발견했을 때, 백엔드에서 처리되던 연결 로직을 프론트엔드로 옮기고 최적화 방안을 제안했습니다. 이를 통해 시간 복잡도를 줄이고 확장성을 얻었습니다.

[필요한 개념과 기술을 스스로 학습하여 해결합니다]

WebRTC 음성 통화 프로젝트를 진행하던 중, NAT 환경에서 통화 연결이 실패하는 문제가 발생했습니다. 통화 연결을 실패하는 원인을 찾기 위해 WebRTC가 어떤 방식으로 동작하는지를 탐구하였습니다. 라이브러리를 사용할 때는 추상화되어 있어 잘 몰랐던 WebRTC의 ICE 협상이나 STUN/TURN 서버의 역할을 알 수 있었습니다. 이후, 프로젝트에 STUN/TURN 서버를 설정하여 NAT 환경에서도 안정적인 연결이 가능하도록 구현하였고, LTE, VPN 등 다양한 네트워크 환경을 시뮬레이션하며 테스트를 진행하여 연결 안정성을 크게 향상시켰습니다.

기술 스택

기술 스택

React, Next.js, JavaScript, TypeScript, Redux, TailwindCSS, emotion, vitejs, C, C++

프로젝트

프로젝트명

[ 네트워크 퀴즈를 푸는 프로젝트 (NetPractice) ]

소속/기관명

42서울 프로젝트

프로젝트 기간

2022.09. ~ 2022.09.

프로젝트 내용

(소개) 하나의 컴퓨터가 다른 컴퓨터와 통신할 수 있도록 라우터와 스위치를 적절하게 설정하는 퀴즈를 풀어야 하는 프로젝트

네트워크 계층과 장비의 역할

  • 컴퓨터가 통신하기 위한 네트워크 계층과 서브넷의 개념을 배움

  • 프로토콜(Ethernet, ICMP, IP)과 네트워크 장비(라우터, 스위치)를 이용하는 통신 과정을 습득

  • 클래스 표기법과 CIDR 표기법의 차이점을 습득

  • Public과 Private 네트워크 대역의 차이점을 배움

프로젝트명

[ 가상 머신을 이용해 블로그 서버를 배포하는 프로젝트 (Born2beroot) ]

소속/기관명

42서울 프로젝트

프로젝트 기간

2022.01. ~ 2022.02.

프로젝트 내용

(소개) VirtualBox를 이용해 Wordpress 서버를 배포해보는 프로젝트

가상 머신 네트워크 및 보안 설정

  • 가상 머신 외부의 요청을 감지하고 처리하기 위해 호스트 컴퓨터와 포트포워딩 설정

  • SSH을 통해 호스트와 가상 머신 간에 암호화된 통신으로 보안을 강화

  • ufw 방화벽을 설치해 필요한 포트를 제외하고는 외부 접근을 차단

Wordpress 서버 설치 및 배포

  • 외부 HTTP 요청을 처리하기 위한 lighttpd(경량 웹 서버) 설치

  • php로 작성된 Wordpress를 실행하기 위한 php-fpm(실행 환경) 구축 및 lighttpd 연동

  • Wordpress에서 사용할 MariaDB(데이터베이스) 연동

FTP을 이용한 호스트와 가상 머신 사이의 파일 전송 서비스 추가

프로젝트명

[ 도커를 이용해 블로그 서버를 배포하는 프로젝트 (Inception) ]

소속/기관명

42서울 프로젝트

프로젝트 기간

2023.01. ~ 2023.02.

프로젝트 내용

(소개) Docker를 이용하여 Wordpress 서버를 배포해보는 프로젝트. 가상 머신을 이용하는 프로젝트와 결과는 같지만 다른 방법으로 진행해보는 프로젝트

Docker 실행 환경 설정

  • 컨테이너 간의 통신을 위해 bridge 네트워크를 구축하여 같은 네트워크 대역으로 설정

  • 컨테이너가 삭제되어도 자료의 영속성을 위해 호스트 컴퓨터와 컨테이너의 볼륨 마운트

  • 일련의 Docker 설정을 편리하게 구성할 수 있는 Docker-compose.yaml 파일 작성

Wordpress 서버 설치 및 배포

  • 웹 서버, php 실행 환경, 데이터베이스 프로세스를 컨테이너로 격리하기 위한 Dockerfile 작성

  • wp-cli 패키지를 이용하여 초기 Wordpress 설정을 자동화

프로젝트명

[ 일본어 한자 읽기 능력을 위한 퀴즈 서비스 ]

소속/기관명

개인 프로젝트

프로젝트 기간

2024.11. ~ 진행 중

프로젝트 내용

(소개) 선택지 기반 퀴즈 모델(듀오링고)의 한계점을 보완하고자 시작한 프로젝트. 텍스트 입력으로 정확한 읽기를 학습하여 초급자에서 중급자로 성장할 수 있도록 지원 (링크)

(역할) 기획 및 FE, BE 개발

Next.js를 활용하여 랜딩 페이지를 정적 사이트 생성(SSG)

  • 개발 시간을 절약하기 위해 랜딩 페이지 템플릿(HTML / CSS / JS)을 React 코드로 전환

  • ScrollReveal 라이브러리 클라이언트 의존 문제를 해결하여 서버 사이드 렌더링 호환성 확보

  • 앱에 대한 자세한 소개를 포함하여 SEO 개선

Jotai 비동기 처리 메커니즘 적용 사례

  • 코드 재사용성을 위해 컴포넌트에서 비동기 API 로직을 분리하여 Jotai Atom에 결합

  • Jotai Write Atom이 Suspense를 지원하지 않는 한계를 발견한 후, Read Atom을 이용하여 API Refresh 상태 관리 로직을 구현

모바일 사용자의 접근성을 고려해 반응형 웹 페이지 설계

  • CSS @media-query와 useMediaQuery 훅을 활용하여 UI 크기, 레이아웃을 조정

  • 특히 모바일 환경에서 가상 키보드 사용 시, UI 가시성을 유지하기 위해 스크롤을 조정하여 사용자 편의성 향상

(기술) React, Typescript, Next.js, Emotion/styled, Jotai, Material UI, Vercel / Nest.js

프로젝트명

[ 영어 음성 통화 플랫폼 ]

소속/기관명

팀 프로젝트(42서울)

프로젝트 기간

2023.08. ~ 2023.11.

프로젝트 내용

(소개) 컨텐츠와 함께 영어 회화를 즐길 수 있는 음성 통화 매칭 플랫폼 (링크)

(역할) 기획 및 FE 개발

실시간 투표와 사용자 컨텐츠 동기화

  • 음성 통화 중 몰입도를 증가시키기 위해 모든 사용자의 컨텐츠를 동기적으로 관리

  • WebSocket을 활용하여 투표와 컨텐츠 동기화 기능을 구현

WebRTC 연결 최적화로 그룹 통화 참여 가능 사용자 수를 확장

  • WebRTC 연결 알고리즘을 서버에서 클라이언트로 옮기고 시간 복잡도 O(n^2)를 제거

  • 데이터 구조를 ref<Peer>[]에서 ref<Peer[]>로 수정하여 객체 수를 유연하게 조정

WebRTC 연결 문제 해결

  • NAT 환경에서 통화 연결이 불가능한 문제를 발견, WebRTC의 ICE Negotiation 원리 분석

  • Public IP를 제공하는 STUN/TURN 서버를 활용해 네트워크 문제를 해결

  • NAT, LTE, VPN 등 다양한 네트워크 환경에서 테스트 완료, 안정적인 통화 연결 보장

(기술) React, Typescript, Context API, TailwindCSS, Vite, WebRTC, Socket.io, Axios

포트폴리오

URL

link

깃허브

깃허브
link

기술 블로그

깃허브

교육

소속/기관명

국민대학교

종류 | 전공

대학교(학사) | 정치외교학과, 경영학과

재학 기간 | 재학 상태

2014.03. ~ 2022.02. | 졸업

대외활동

활동명

42서울 본과정

소속/기관명

이노베이션 아카데미

연도

내용
  • C 라이브러리부터 HTTP 1.1 웹 서버까지, 프로젝트 기반 주 70시간 교육 과정

  • 시스템 프로그래밍을 통해 운영 체제와 컴퓨터 과학 지식을 습득

  • 인강, 기술 문서, 코드 리뷰, 스터디 등 다양한 매체를 활용하여 학습하는 방법을 배움

  • 100+회의 평가를 통해, 다른 사람의 코드를 이해하는 역량을 기름

활동명

KB IT's Your Life 1기

소속/기관명

멀티캠퍼스

연도

내용
  • Tensorflow, Keras 등 AI 모델을 활용한 다양한 예측 실습

  • HTML, CSS, JS 등 웹에 대한 기초를 학습

  • 금융 소외 계층의 AI 행원이라는 주제로 최우수 프로젝트상 수상

  • 프론트엔드 리더를 맡아 jQuery를 이용한 음성, 키보드, 버튼으로 상호작용하는 챗봇 구현

자격증

자격증명

정보처리기사

점수 | 발급기관

한국산업인력공단

취득연월

2024.06.

자격증명

TOEIC SPEAKING

점수 | 발급기관

Intermediate High(150) | 한국TOEIC위원회

취득연월

2023.09.

자격증명

컴퓨터활용능력

점수 | 발급기관

1급 | 대한상공회의소 자격평가사업단

취득연월

2019.04.

댓글