인스타.jpg

저는 적응형 개발자, 정홍섭입니다.

<aside> 💻

백엔드로 개발을 시작해 프론트엔드 개발자로 전향하며 두 분야에 대해서 이해하고 있습니다. 협업과 통합적인 사고를 바탕으로 가독성 높고 유지보수와 쉬운 코드를 작성하기 위해 노력하며, 사용자와 개발자 경험을 모두 고려하여, 팀과 프로젝트의 성장을 목표로 합니다.

</aside>

☎️ 010-8237-2487 ✉️ [email protected] 🧑🏻‍💻 부산 SW마이스터고등학교 - 소프트웨어 개발과 재학 중

깃허브 - https://github.com/junghongseop

블로그 - https://blog-hong.vercel.app


👍 Leader

2023 1학년 4반 부반장

2023 DevCoop 1학년 Project Manager

2024 밤돌이로 Project Manager

🛠️ Skill

Skills

Main Projects


‣ 마루 (maru)

Backend 2명 Design 2명 Frontend 3명

부산SW마이스터 고등학교 입학 전형 시스템 2024.04.21 ~ 2025.02.14


Github

https://github.com/Bamdoliro/marururu


Link

https://maru.bamdoliro.com

Stack

Next.js styled-components recoil axios react-query TypeScript Storybook


회고록

2024년, 성장을 향해 달려온 나의 이야기

Introduce

<aside>

마루는 부산소프트웨어마이스터고등학교의 새로운 입학전형 플랫폼입니다.

이 플랫폼은 입학 과정에서 지원하는 학생과 담당 선생님 모두에게 더욱 편리한 환경을 제공하는 것을 목표로 개발되었습니다.

학생들은 입학 설명회 일정 조회 및 신청, 원서 작성 및 관리, 입학 등록 등의 기능을 이용할 수 있으며, 선생님들은 원서 관리, 단체 메시지 발송, 입학 지원자 분석 데이터 제공 등 입학 업무에 필요한 다양한 기능을 활용할 수 있습니다.

2024년부터 사용하여 앞으로 계속해서 사용할 예정입니다.

마루 뉴스 기사 보러가기

</aside>

Contribution

Experience

Troubleshooting

<aside> 🚨 1. 학생이 허용되지 않은 특수 문자를 입력해 회원가입이 진행되지 않았다고 제보했습니다.

  1. 입학생 지원자 중 이름이 20자를 초과한 경우가 있어 문제가 발생했습니다. 이는 회원가입에서 이름 제한이 없어 가입된 그대로 원서에 반영되었기 때문입니다.

  2. 입학 전형 중 어드민 페이지에서 갑자기 이미지가 표시되지 않는 문제가 발생했습니다.

  3. 서버 점검으로 일시 중지하는 동안, 접속한 사용자에게 지속적으로 500 오류 페이지가 표시되는 문제가 발생했습니다.

  4. 입학 전형 진행 중, 전형별 경쟁률 환산식 오류로 인해 데이터 시각화가 잘못되었습니다.

  5. 로그인하지 않았거나 일정에 따라 접근이 제한돼야 하는 페이지에도 접속할 수 있는 문제가 있었습니다.

  6. 검정고시는 합격 연도만 입력하면 되지만, 불필요한 입력 필드가 표시되는 문제가 있었습니다.

</aside>

<aside> 💡 1. 비밀번호 입력창 아래에 특수문자(!@#*$%*&*? **중에서만 입력**)문구를 추가하였습니다.

  1. ReadOnly 설정을 해제하고, 유효성 검사에서 입력값이 없거나 2자 이하 또는 20자 이상일 때 검토하도록 수정했습니다. 또한, 외국인의 경우에는 alert로 안내하여 문제를 해결했습니다.

  2. Vercel의 Image 태그 요청 한도를 초과하여 문제가 발생했으나, Vercel Pro를 구매하여 해결했습니다.

  3. 점검 중에는 점검 페이지로 이동하여 다른 페이지 접근을 차단했습니다.

  4. 빠른 시간내에 올바른 수식으로 계산되도록 수정하였습니다.

  5. middleware.ts에서 LocalStorage의 토큰 확인 및 일정에 따른 접근 제한을 적용해, 허용되지 않은 경우 경고창을 띄우도록 해결했습니다.

  6. 검정고시는 합격 연도 필드만 표시하고, 나머지 필드는 빈 문자열로 임시 저장되도록 수정했습니다.

</aside>

Reflections

배포 후 원서 접수 기간 3일 동안 약 30,000+의 트래픽이 발생하는 큰 규모의 프로젝트를 경험할 수 있었습니다.

**”마루”**는 2023 밤돌이로 선배들께서 일부 개발한 프로젝트였기에, 모든 페이지를 처음부터 만들지는 않았습니다. 하지만 기존 코드를 수정하고 기능을 개선하는 과정에서 코드의 구조를 깊이 이해하고, 유지보수의 중요성을 체감할 수 있었습니다. 또한, 실제 사용자 피드백을 반영한 개선 작업, 협업을 통한 코드 수정 및 확장 등을 경험하며 실무에 가까운 개발 역량을 쌓았습니다.

특히, 실제 운영 과정에서 예상치 못한 문제들이 발생했지만, 이를 즉각적으로 해결하며 서비스 안정성을 유지하는 경험을 할 수 있었습니다. 실시간으로 오류를 빠르게 분석하고 수정하면서, 문제 해결력과 운영 대응 능력을 키울 수 있었습니다.

이 프로젝트를 통해 기존 시스템을 분석하고 개선하는 능력, 운영 환경에서의 문제 해결력을 키울 수 있었습니다. 이전보다 훨씬 더 성장할 수 있었습니다.


‣ 시나브로

Backend 2명 Design 2명 Frontend 2명 AI 1명

AI로 위로받는 나의 하루 2024.07.21 ~ 11.28


Github

https://github.com/Bamdoliro/sinaVro

https://github.com/Bamdoliro/sinavrororo


Stack

React Native Next.js TypeScript Zustand styled-components axios


회고록

2024년, 성장을 향해 달려온 나의 이야기

Introduce

<aside>

시나브로는 사용자가 작성한 일기를 AI로 분석해 캐릭터가 대신 일기를 작성해주는 서비스입니다.

AI가 사용자의 감정을 분석하고, 기존 스토리에 반영하여 일기를 수정함으로써 스스로 감정을 객관적으로 바라볼 수 있도록 돕습니다. 이를 통해 우울감과 번아웃을 완화하고, 감정의 흐름을 이해하며 건강한 마음을 유지하는 것을 목표로 합니다.

또한, 감정 데이터를 바탕으로 맞춤형 피드백을 제공하고, 지속적인 감정 관리가 가능하도록 다양한 기능을 지원할 예정입니다.

</aside>

Contribution

Experience

Troubleshooting

<aside> 🚨 1. 일기를 업로드하면서 AI 분석이 시작되는데, 앱을 종료하면 업로드 및 분석이 중단되는 문제가 발생했습니다.

  1. 커스텀 Splash 페이지를 동적으로 보여주기로 했으나 디자인이 정적이라 의견 충돌이 있었습니다.

  2. 로그인했거나 캐릭터를 선택하지 않은 상태에서 재접속 시, 페이지가 로그인으로 이동하는 문제가 발생했습니다.

  3. React Native가 자동으로 반응형이 되지 않아 기기 마다 보여지는 UI가 달라 문제가 발생했습니다.

</aside>

<aside> 💡 1. 로딩 페이지를 표시하여 분석 및 업로드 진행 중임을 나타내고, 앱 종료를 방지했습니다.

  1. react-native-fast-image를 사용하여 앱 실행 시 Splash 페이지를 띄운 후, 페이지를 이동하도록 구현했습니다.

  2. Splash 페이지가 끝난 후, 로그인 페이지에서 useEffect를 사용하여 조건에 따라 페이지 이동을 구현했습니다.

  3. calculateHeightcalculateWidth를 만들어 디자인된 화면 크기에서 해당 기기의 크기를 바탕으로 값을 수정하도록 하여, 화면이 반응형으로 보여지도록 수정했습니다.

</aside>

Reflections

**“시나브로”**는 처음 사용하는 React Native로 개발한 앱이라, 관련 블로그나 서적을 보며 학습했습니다.

React Native컴포넌트 기반 구조상태 관리 방식웹 개발과 비슷하지만, 모바일 환경에 맞는 최적화가 필요하다는 점에서 새로운 도전이었습니다. 다양한 라이브러리와 도구들을 익히면서 모바일 앱 개발의 특성에 대해 배웠습니다.

특히, 퍼포먼스 최적화다양한 화면 크기, 플랫폼 차이를 고려해야 한다는 점이 중요함을 느꼈습니다. 또한, React Native라이브러리에 오류가 많아 디버깅에 시간이 많이 소요되었고, 해결 방법을 찾는 과정에서 많이 배우기도 했습니다. 프로젝트를 진행하면서 React Native에 대한 이해가 깊어졌고, 새로운 기술을 배우는 재미를 다시 한 번 느낄 수 있었습니다.

🏃🏻‍♂️ Activity