채용공고 올리기

이현우님을 응원해보세요!

지금 만족하고 있어요
창의적
책임감
협업 지향
유연함
커뮤니케이션

미리보기

기본 정보

이름
이현우
직업
프론트엔드 개발자
간단 소개

Typescript 와 Next.js 와 React.js로 창의적인 개발을 하는 이현우입니다. 창의적인 생각을 매번 하며 UI/UX에 대해 항상 고민하며 뛰어난 소통능력으로 문제해결능력이 뛰어납니다.

기술 스택

기술 스택

react.js, Next.js, TypeScript, JavaScript, HTML/CSS, Figma, GitHub, vercel

프로젝트

프로젝트명

알(뜰마)법사

소속/기관명

창업 동아리 및 it 경진 대회 활동 (FE 1명, BE 1명, Design 1명)

프로젝트 기간

2024.03. ~ 2024.07.

프로젝트 내용

개요

자취를 시작하게 되며 고물가에 조금이라도 돈을 아껴보고자 하기 위해 팀원을 모아 제작

사용기술

  • Next.js, TypeScript, styeld-components, axios

  • Vercel

  • Figma, Github, Postman

담당 파트

  • 기획

    • 협업 프로젝트로 팀빌딩 아이디어 제시

    • 크롤링 관련, 웹사이트 구조, 사이트 형식(커뮤니티)를 정함 ○ 각종 기능 및 레퍼런스 자료조사

  • 개발 (프론트)

    • 메인페이지

    • 구글 로그인

    • 핫딜

    • 랭킹

    • 검색

    • 커뮤니티

    • 게시글 작성

    • 모든 FE 페이지 제작 및 구현

이슈 해결

  • ReactQuill을 처음 사용하면서 에디터 초기 설정 및 커스터마이징에 어려움 발생.

    • globalStyle설정으로 인한 버튼부분 오류 발생

    • 공식 문서와 예제를 참고하여 ReactQuill의 기본 설정을 이해.

    • 특필요한 기능에 맞게 툴바와 옵션을 커스터마이징.

    • 초기화 및 데이터 바인딩 문제를 해결하여 에디터가 안정적으로 동작하도록 구현.

  • styled-components 렌더링 이슈

    • 스타일 적용 전 렌더링 되어 뒤 늦게 스타일이 적용되는 문제

    • styled-components 공식문서를 확인

    • ServerStyledSheet 컨텍스트 api 를 통해

    • _document에서 sheet.collectStyles을 사용하여 스타일을 직렬화후 _app에 적용

    • 바벨 플러그인 설정하여 SSR환경에서도 스타일을 미리 적용

성과

  • 몇몇의 유저가 아닌 많은 유저들이 사용할 수 있는 웹사이트 첫 제작

느낀점

  • 백엔드, 디자인의 실력이 부족하다 보니 의견소통과 개발 진행속도에 많은 문제가 발생하여 지속적으로 체크하고, 확인하는 습관을 가지게 됨

프로젝트명

포잇 캘린더

소속/기관명

Codingbottle 소모임 활동 (FE 3명, BE 4명, Design 2명)

프로젝트 기간

2023.09. ~ 2024.02.

프로젝트 내용

개요

구글 일정관리를 위한 웹서비스 프로젝트를 위해 만들어진 소모임

사용기술

  • Next.js, TypeScript, styeld-components, axios

  • Vercel

  • Figma, Github, Postman

담당파트

  • 기획

    • 협업 수준에서 제작 가능한 기술 기획

    • BE팀장과 회의 후 가능한 부분 정립 후 역할 분배

    • 각종 기능 및 레퍼런스 자료조사

  • 개발 (프론트)

    • Todo List, Google 캘린더 연동 제작

    • 메인 캘린더 제작

    • 데일리, 친구관리, 일정 수정 제작

    • 각종 기능 검토 후 코드 수정

이슈 해결

  • React 캘린더 라이브러리 사용 시 CSS 수정이 어려움.

    • 캘린더 라이브러리의 기본 스타일을 덮어쓰기 위해 CSS 커스터마이징 전략을 적용.

    • 특정 클래스나 요소를 타겟으로 하는 스타일링을 통해 원하는 디자인으로 수정.

    • CSS 모듈이나 스타일 컴포넌트를 활용해 캘린더 스타일을 유연하게 조정.

  • 스타일드 컴포넌트 사용으로 인한 중복 스타일 문제

    • themeProvider를 사용한 공통 스타일 지정 및 globalStyle 지정으로 해결

  • 공통 컴포넌트

    • 프론트엔드 개발 인원 3명으로 페이지,기능 단위로 나누어 개발

    • 공통적으로 쓰이는 기능과 컴포넌트가 많아짐

    • 기능 수정과 유지보수의 어려움이 발생

      • 공용 컴포넌트와 공통적으로 쓰이는 라이브러리의 래핑

      • customHook 적극 활용

      • 중복 코드 제거 및 유지보수 용이성 확보

  • 상시 코드리뷰

    • 프론트엔드 팀에서는 코드(prettier)와 커밋,PR 컨벤션을 지정

    • 매 PR마다 코드리뷰를 통해 상시 코드를 점검했습니다.

    • 코드리뷰 approve를 받지 않은 PR은 머지가 불가능 하도록 설정하여 코드의 질을

      높이는데 기여

성과

  • 코드리뷰 경험

    • 1인 이상에게 approve를 받아야 머지될 수 있는 방식을 차용

    • 질 높은 코드를 생산하는데 기여

  • 구글 로그인 경험

    • OAuth 2.0을 사용해 구글 로그인 API를 연동.

    • JWT(JSON Web Token)를 활용해 사용자의 인증 상태를 관리.

    • 로그인 성공 후, 사용자 정보를 안전하게 로컬스토리지에 저장하여 유지.

  • 느낀점

    • 인원이 많아질수록 프로젝트의 역할분담이 쉽지 않다는 점을 느끼게 되었으며 여러 의견들 이 나오게 되면서 충돌이 많다는 것을 느끼게 됨

    • 의사소통은 수평적이되 결정은 수직적으로의 방침을 세우게 됨

    • 제작만 중요한 것이 아닌 디자인, 백엔드와의 의사소통의 중요성에 대해 느낌

프로젝트명

DomiDomi (기숙사 사생관리 프로그램)

소속/기관명

창업 동아리(BE 2명 FE 2명)

프로젝트 기간

2023.06. ~ 2023.12.

프로젝트 내용

개요

기숙사 근로 중 기존 시스템의 비효율을 줄이기 위해 제작
행복기숙사 근로자가 사생을 효율적으로 관리하기 위해 제작

사용기술

  • Next.js, TypeScript, emotion, axios

  • Vercel, EC2

  • Figma, Github, Notion, Postman

담당 파트

  • ● 기획

    • 행복기숙사 근로중 실제로 불편했던 일들 리스트화

    • 기존시스템의 구조파악 및 필요한 기능 설계

    • 기숙사측 요청사항 정리 후 BE에게 필요한 기능 개발 요청

    • DB구조 의논

  • 개발 (프론트)

    • 로그인 관련 페이지 제작

    • 근로생 출근 시간표, 업무캘린더, 업무 ToDo List 제작

    • 학생 데이터 업로드 및 조회 페이지 제작

    • PDF 관리 페이지 제작 (입 퇴사 신청서)

    • 순찰 페이지, 카드키 관리대장, 민원접수내역, 방역 호실점검 제작

이슈 해결

  • 프론트엔드와 백엔드 간 날짜 형식 불일치로 데이터 전달 오류 발생.

    • 날짜 형식을 맞추기 위해 입력된 날짜를 강제로 ISO 8601 형식으로 변환.

    • 변환된 날짜를 백엔드에 전달하여 데이터 저장

    • 모든 입력 날짜에 대해 정상적으로 작동하는지 테스트 완료.

  • 메인 페이지에서 많은 자료 요청으로 인해 웹 브라우저에 부하 발생.

    • 불필요한 상태를 제거하고, 필요한 경우에만 상태를 사용하도록 최적화.

    • 상태 리프팅을 통해 공통 부모 컴포넌트에서 상태를 관리.

    • 리렌더링을 줄여 성능을 개선하고, 브라우저 부하를 줄임.

  • PDF 파일 다울로드로 인한 지연로딩

    • 클라이언트 측에 로딩 스피너를 추가해 UX 개선.

    • 로딩 직전에 중간 로딩 페이지를 두어 사용자에게 진행 상황을 표시.

    • 서버 사이드 렌더링의 특성을 고려하여 클라이언트 측 로딩 처리만 적용.

  • EC2에서 로컬 배포된 서버가 윈도우 환경에서 컴퓨터 부팅 시 자동으로 실행되지 않음.

    • EC2 인스턴스의 시작 시 서버 자동 실행 스크립트를 설정.

    • 윈도우 작업 스케줄러를 사용해 컴퓨터 부팅 시 서버 실행 스크립트를 트리거.

    • 컴퓨터가 켜질 때마다 EC2에서 서버가 자동으로 실행되도록 설정 완료.

성과

  • 유저 친화적 UI/UX 구현

  • 유지보수와 가독성을 위한 코드 구현

  • 저사양 컴퓨터(기숙사 컴퓨터)에서 쾌적한 이용

  • 유지보수가 최대한 필요하지 않은 환경 구축

  • 기숙사측 요구사항 (서버가 학교에 있을 것) 충족

느낀점

  • 협업을 처음으로 진행한 프로젝트다 보니 기획한 의견을 전달하는 법, 기록을 남기는 법, 협업 개발을 같이 할 때 생기는 문제점 등 모든 부분이 새로웠으며 많이 부족하다는 점을 깨달음

  • 기숙사 측의 요구사항 및 기한에 맞추기 위해서 포기해야 하는 부분과 가능한 부분이 많이 존재하였으며 개발 순서의 중요도에 대해 깨달음

배포

https://domidomis.duckdns.org/user/home

(Id: dev1@email.com Pw: dev1)

Git Organization

https://github.com/DominestSKHU

Git FE

https://github.com/DominestSKHU/Frontend

Git BE

https://github.com/DominestSKHU/Backend

Notion(회의록)

https://www.notion.so/Dominest-0c231effb7924f8ba66c1bf87e9123af

포트폴리오

첨부파일

첨부파일명

이현우.pdf

댓글