채용공고 올리기

이태헌님을 응원해보세요!

지금 만족하고 있어요

미리보기

기본 정보

이름
이태헌
직업
프론트엔드 개발자
이메일
forever296@naver.com
간단 소개

끊임없이 고민하고 실험하며, 실질적인 문제 해결에 집중하는 프론트엔드 개발자입니다. React 기반의 다양한 프로젝트를 통해 사용자 경험과 성능을 개선하고, 복잡한 구조 속에서도 명확한 흐름을 설계하는 데 집중해왔습니다. 기술을 단순히 사용하는 데서 멈추지 않고, “왜 이 구조여야 하는가”, “어떻게 더 나은 방식으로 개선할 수 있을까”를 끊임없이 질문하며 개발합니다. 새로운 기술이나 접근 방식에 대한 두려움 없이, 실제 프로젝트에 적용하고 정량적 개선을 이루는 과정에서 큰 보람을 느낍니다. 또한 개발 과정에서의 고민과 배움을 블로그에 정리하고, 테스트 코드 작성과 리팩토링, 성능 분석 등을 통해 사용자와 팀 모두에게 신뢰를 줄 수 있는 코드를 지향합니다. 이러한 태도를 바탕으로, 변화에 유연하게 대응하고, 꾸준히 성장하는 개발자가 되기 위해 노력하고 있습니다.

기술 스택

기술 스택

JavaScript, TypeScript, HTML/CSS, React, react-query, react-router, vitest, GitHub, React Native, Next.js, AWS, frontend, cloudfront

프로젝트

프로젝트명

Keupang

소속/기관명

개인

프로젝트 기간

2025.11. ~ 진행 중

프로젝트 내용

Github 바로가기

배포주소 이동하기

Mock API 및 테스트 환경 구축 → MSW이야기로 이동(클릭), Test Coverage이야기로 이동(클릭)

  • 백엔드 API 개발 전에도 프론트엔드 개발이 원활히 이루어지도록 Mock Service Worker(MSW)를 도입해 개발 및 테스트 환경을 구축

  • 초기에는 MSW 초기화 전에 React 애플리케이션이 렌더링되어 API 요청이 가로채지지 않는 문제가 있었고, worker.start()를 prepare() 함수로 감싸 비동기로 초기화하여 문제를 해결

  • 개발 환경뿐 아니라 테스트 환경에서도 MSW를 활용하여 실제 서버와 독립된 상태에서 테스트를 수행 중

  • Vitest + Istanbul을 기반으로 커버리지 측정을 도입해, 1차 기준 53.5% → 70% 이상 확보를 목표로 테스트 품질 개선을 진행 중

성능 및 사용자 경험 개선자세한 이야기로 이동(클릭)

  • 상품 목록 페이지의 UX와 검색 최적화를 위해 Lighthouse 리포트를 분석하고, LCP(Largest Contentful Paint) 및 SEO 점수를 중심으로 개선 작업을 수행

  • 초기 측정 시 LCP는 1,450ms 수준, 이미지 로드 시간 140ms으로 측정되어 퍼포먼스 개선이 필요한 상황

  • 상위 노출 예상 이미지에 loading="eager" 및 fetchpriority="high" 속성을 적용해 로딩 우선순위를 명시하고, 이미지 포맷을 WebP로 전환하여 용량을 최적화

  • LCP는 1,450ms → 1,050ms (약 27.5% 개선), 이미지 로드 시간은 140ms → 40ms (71% 개선)으로 단축되었고, SEO 점수는 82점 → 100점으로 개선 (22% 상승)

배포 환경 구축 배포 환경 구축 이야기로 이동(클릭) , SEO 점수 개선 이야기로 이동(클릭)

  • GitHub Actions를 활용하여 코드 푸시 또는 PR 병합 시 자동으로 테스트, 빌드, 배포가 이루어지는 파이프라인 구축
    .store 도메인에 DNS 레코드를 설정하고, HTTPS 인증서를 적용하여 보안과 신뢰성을 강화

  • 초기 설정에서 Slack Webhook URL 오류로 인해 알림이 전송되지 않는 문제 발생 → Webhook 재설정 및 JSON 포맷 수정으로 해결

  • 초기 측정 시 SEO 점수는 82점으로 측정되어 SEO 개선이 필요한 상황

  • CloudFront 사용자 정의 오류 응답을 /index.html로 처리하여 SPA의 라우팅 문제 해결

  • 각 페이지에 동적 메타 태그를 설정(react-helmet-async) 하여 검색 엔진 인덱싱과 SNS 미리보기 대응이 가능하도록 개선

  • SEO 점수는 82점 → 100점으로 개선 (22% 상승)


느낀 점

  • React의 렌더링 구조와 브라우저의 요청 흐름을 깊이 이해하며 MSW, 테스트 초기화 문제 등을 해결

  • 테스트 커버리지 도구(Istanbul)를 활용해 코드의 취약 지점을 시각적으로 분석하고, 이를 기반으로 개선 작업을 진행하며 효율적인 작업 방식과 코드 품질 관리의 중요성을 체감

  • Lighthouse 기반의 성능 분석을 통해 LCP 및 SEO 최적화를 직접 수행하며, 기술적인 수치 개선뿐 아니라 실제 사용자 경험에 긍정적인 영향을 주는 개선의 의미를 경험

  • 배포 프로세스 자동화와 Slack 알림 연동을 통해 문제를 신속히 파악하고 대응하며, 협업과 운영 관점에서도 서비스 품질을 높이는 것에 기여

프로젝트명

Polingo

소속/기관명

금오공과대학교

프로젝트 기간

2024.03. ~ 2024.06.

프로젝트 내용

Github 바로가기

시연 동영상 바로가기

Polingo - 번역과 언어 학습을 지원하는 올인원 어플리케이션

담당 역할 및 기여 내용

  • UI 및 API 통신 총괄:

    • 회원가입 및 로그인 스크린 UI 설계 및 OAuth 2.0 기반 Kakao, Google 로그인 구현.

    • 홈, 번역, 단어장, 문제집, 뉴스, 상황별 회화집 스크린의 UI 및 API 통신 로직 개발.

    • 사용자 경험을 개선하기 위한 화면 간 데이터 흐름 최적화.

트러블 슈팅

문제 1: Kakao 로그인과 Google 로그인 방식의 차이로 인한 문제

  • 이유: Kakao 로그인은 WebView를 통해 토큰을 추출하는 방식으로 진행되었으나, Google 정책상 WebView 기반 로그인 방식이 지원되지 않아 400 에러 발생

  • 해결:

    • expo-auth-session/providers/google을 활용해 Google의 OAuth 2.0 인증 플로우를 구현하여 문제 해결

    • React Native 환경에서 권장되는 방식으로 Google 로그인을 구현, Google.useAuthRequest 훅을 통해 인증 요청 생성 및 처리

    • WebView 기반 방식을 대체해 문제를 효과적으로 해결.

문제 2: 뉴스 스크린의 성능 문제

  • 이유: 뉴스 디테일 스크린에서 각 단어에 이벤트를 개별적으로 설정해 렌더링하던 방식으로 인해 데이터 양이 많아질수록 속도 저하 발생.

  • 해결:

    • React-Query 도입: Cache 기능을 활용해 한 번 로드한 뉴스 데이터를 재사용, 로딩 속도 7초 → 0.1초로 단축.

    • ActivityIndicator 사용: 데이터 로딩 중 사용자에게 진행 상태를 명확히 전달해 UX 개선.

성과 및 개선 효과

  • OAuth 2.0 인증 플로우 구현으로 Google 정책 준수 및 크로스플랫폼 로그인 기능 안정화.

  • React-Query와 렌더링 최적화로 뉴스 스크린의 성능 문제 해결, 로딩 시간 98.6% 단축.

프로젝트명

Colla

소속/기관명

금오공과대학교

프로젝트 기간

2024.02. ~ 2024.11.

프로젝트 내용

Github 바로가기

배포주소 이동하기

대학생을 위한 팀 프로젝트 관리 플랫폼, Colla

담당 역할 및 기여 내용

  • Custom Hook 테스트 코드 작성:

    • Custom Hook의 테스트 코드 작성: 프로젝트의 다양한 커스텀 훅(useMenu, useOverlay, useOutSideClick 등)에 대한 테스트 코드 작성 및 검증을 통해 기능의 안정성과 코드의 신뢰도를 확보

트러블 슈팅

문제 내용:

  • useOutSideClick.tsx와 같은 사용자 상호작용 기반 Hook의 테스트 과정에서 컴포넌트 외부와의 상호작용을 효과적으로 검증하는 방법을 찾는 데 어려움을 겪음.

해결 방법:

  • @testing-library/reactuser-event를 활용하여 테스트 컴포넌트를 생성하고, 컴포넌트 외부와 내부 요소의 클릭 이벤트를 시뮬레이션하여 문제 해결.

  • 테스트 컴포넌트는 커스텀 훅의 기능과 의도를 명확히 검증하기 위해 설계되었으며 복잡한 상호작용을 재현하기 위한 효율적인 선택.

  • 결과적으로 유사한 상호작용 기반 Hook의 테스트 작성에도 활용 가능한 패턴과 방법론을 마련.

성과 및 개선 효과

  • Hook 테스트 패턴을 표준화하여 유사 기능 추가 시 검증 비용 감소테스트 재사용성 증가.

  • 테스트 코드의 가독성과 유지보수성을 높이며, 팀원들이 쉽게 이해하고 활용할 수 있도록 기반 마련.

포트폴리오

첨부파일

첨부파일명

이태헌 - 포트폴리오.pdf

자기소개

자기소개

성장 과정

저는 '할 땐 정말 열심히 하고, 안 할 땐 정말 열심히 안 하는 사람'이라고 저 자신을 표현합니다. 이러한 저의 태도는 군 제대 후 더욱 명확히 드러났습니다. 전역 직후, 자유에 취해 하루하루를 무기력하게 흘려보내던 저는 문득 '이렇게 놀기만 해도 괜찮은 걸까?'라는 생각이 들었습니다. 그 순간, 고민 없이 SDI 산하 기업의 계약직에 지원해 출근을 시작했고, 출퇴근에만 왕복 세 시간이 소요되는 환경에서도 포기하지 않고 근처 헬스장을 들르고, 자격증 공부까지 병행해 컴퓨터활용능력 1급을 취득했습니다. 그렇게 4개월간 루틴을 만들어가며 저는 ‘결심하면 몰입하는 사람’이라는 저 자신을 새롭게 발견하게 되었습니다.

이후에도 매일 아침 6시에 기상해 운동하고, 공부하고, 새로운 도전을 이어나가고 있습니다. 최근에는 제 취미를 생산적으로 활용해보고 싶다는 생각에 유튜브 쇼츠 제작을 시작했습니다. 3주간 매일 영상을 올리며 쌓은 성과는 구독자 331명, 총 조회수 48.6만 회, 시청 시간 2,652시간이라는 숫자로 돌아왔고, 이는 다시 제게 큰 원동력이 되고 있습니다.

이처럼 저는 작고 사소한 실천이라도 ‘일단 해보는 것’에서 모든 변화가 시작된다고 믿습니다. 이는 동아리 활동에서도 마찬가지였습니다. 저는 ‘멋쟁이사자처럼’ 동아리에서 부원으로 시작해, 1년 후 프론트엔드 트랙장으로 활동하며 15명의 부원을 이끌었습니다. 개발 관련 질문을 받으며 문제 해결 능력을 키웠지만, 그보다 더 중요했던 것은 협업과 소통의 중요성이었습니다. 초기에는 백엔드 트랙과의 소통 부재, 해커톤 준비 중 비효율적인 회의 방식 등으로 프로젝트 완성도가 떨어졌습니다. 이를 해결하고자 운영진 간 회식을 기획하고, 축제 부스 안내 프로젝트를 주도했으며, 스크럼 회의를 도입해 프로젝트의 집중도를 높였습니다.

그 결과, 팀원 간의 소통이 활발해지고, 해커톤 프로젝트 또한 높은 완성도로 마무리할 수 있었습니다. 이 경험을 통해 좋은 개발자란 단순히 기술력이 아닌, 팀 전체의 성과를 함께 만들어가는 사람이라는 것을 배웠습니다.

앞으로도 저는 꾸준한 루틴과 작은 실천을 바탕으로, 팀과 함께 성장하는 개발자가 되겠습니다.

 

성취 경험

저는 기술 도전과 사용자 경험 개선이라는 두 키워드를 중심으로 성과를 쌓아왔습니다. React Native 기반 앱 Polingo를 개발하며 Google 로그인 실패 문제를 expo-auth-session 도입으로 해결해 실패율 0%를 달성했고, 뉴스 화면의 7초 로딩 문제는 React Query 캐싱으로 0.1초로 개선해 논문대회 은상을 수상했습니다.

또한, Keupang 프로젝트에서는 LCP 핵심 이미지에 fetchpriority를 적용하고 AVIF 포맷으로 전환해 성능을 27% 개선했으며, SEO 점수를 82점에서 100점으로 향상시켰습니다. GitHub Actions 기반 CI/CD와 Slack 연동으로 배포 안정성과 협업 효율도 함께 끌어올렸습니다.

두 경험 모두 문제 해결력과 사용자 중심 사고를 함께 기를 수 있었던 계기였고, 지금의 저를 만든 소중한 도전이었습니다.

 

대외활동

활동명

2024 한국정보기술학회 학술대회 Polingo 논문 발표

소속/기관명

한국정보기술학회

연도

2024

내용

  • 발표 주제: 다중 입력 기반 통합 번역 및 학습 플랫폼 Polingo 구축 및 시스템 설계

  • 성과: 학술대회에서 은상 수상

활동명

멋쟁이사자처럼 11기

소속/기관명

멋쟁이사자처럼

연도

2022

내용

  • 역할: 프론트엔드 트랙장 및 해커톤 팀장

  • 주요 활동:

    • 총 두 번의 해커톤에서 팀장으로 프로젝트를 주도하며 팀원들과 협업

    • 프로젝트 관리 및 팀원 간 의견 조율을 통해 효율적인 개발 환경 조성

    • 프론트엔드 관련 지식을 공유하며 팀원들의 성장을 지원

  • 성과:

    • 팀 프로젝트를 성공적으로 완수하며 팀워크와 리더십 강화

    • 갈등 해결 및 협업 경험을 통해 조직 내 소통 능력 향상

활동명

멋쟁이사자처럼 10기

소속/기관명

멋쟁이사자처럼

연도

2021

내용

  • 역할: 프론트엔드 트랙 부원 (아기사자)

  • 주요 활동:

    • 기본적인 프론트엔드 지식 습득 및 실전 적용

    • 총 3번의 해커톤에 참가하여 팀 프로젝트 경험 축적

    • HTML, CSS, JavaScript와 같은 기초 기술에서 React와 같은 실무 기술까지 학습 및 적용

  • 성과:

    • 해커톤 참여를 통해 실력을 단기간에 비약적으로 향상

    • 협업 기반 프로젝트 경험을 통해 실무 감각과 팀워크 강화

교육

소속/기관명

금오공과대학교

종류 | 전공

대학교(학사) | 컴퓨터공학과

재학 기간 | 재학 상태

2019.03. ~ 현재 | 재학 중

소속/기관명

언양고등학교

종류 | 전공

고등학교

재학 기간 | 재학 상태

2016.03. ~ 2019.02. | 졸업

자격증

자격증명

정보처리기사

점수 | 발급기관

기사 | 한국산업인력공단

취득연월

2024.09.

자격증명

컴퓨터활용능력

점수 | 발급기관

1급 | 대한상공회의소

취득연월

2022.02.

댓글