채용공고 올리기

박종준님을 응원해보세요!

지금 만족하고 있어요

미리보기

기본 정보

이름
박종준
직업
React Native 개발자
간단 소개

크로스 플랫폼 개발을 주력으로 네이티브 및 임베디드 개발 경험을 가지고 있습니다. 앱 서비스 운영 경험을 바탕으로, UI/UX 개선과 기능 최적화를 통해 회원 확보 및 사용자 경험 향상을 이루어 냈습니다. 더 나은 개발자가 되기 위해, 크로스 플랫폼 분야의 최신 트렌드를 꾸준히 탐구하며 학습하고 있습니다.

기술 스택

기술 스택

JavaScript, TypeScript, React Native, expo, Kotlin, Android, android-jetpack-compose, TailwindCSS, Git

경력

회사명

(주)브레인테크

직급 | 부서 | 근무 유형

인턴 | 연구개발소

근무 기간

2024.09. ~ 2024.12. (4개월)

담당 업무
  • BLE 기반 스마트 베개 앱 '잠드림' 개발

  • 앱과 베개를 블루투스로 연결하여 베개 높낮이 및 방향 조절, 향기 방출 제어, 배터리 실시간 모니터링 기능 구현

  • Figma 기반 사용자 중심 UI/UX 레이아웃 반영 및 코드 리팩토링 진행

회사명

주식회사엠앤에스텍

직급 | 부서 | 근무 유형

국가근로장학생 | 산학협력단 연구개발소

근무 기간

2023.03. ~ 2023.07. (5개월)

담당 업무
  • BLE 기반 필터 단말기 연동 앱 '세이프윙' 개발

  • 앱과 필터 단말기를 블루투스로 연결하여 Wi-Fi SSID/Password 전송 및 공유기 연결 기능 구현

프로젝트

프로젝트명

잠드림

소속/기관명

(주)브레인테크

프로젝트 기간

2024.09. ~ 2024.12.

프로젝트 내용

개발 주요 사항

  • react-native-ble-plx 라이브러리를 이용하여 BLE 앱 개발

  • 프로토콜 데이터를 송수신 시 Base64 인코딩 및 디코딩 처리

  • MMKV를 이용한 프로토콜 데이터 저장 및 로딩

  • Zustand를 이용한 디바이스 정보 상태 관리

  • Appstate 변경 시 블루투스 상태(on/off) 감지 및 설정 기능 구현

문제 발생 및 해결 과정

  1. 디바이스 탐색 속도 개선

    • 문제: 블루투스 모듈을 탑재한 주변 기기까지 탐색하여 스마트 에어 베개 탐색 시간 지연 발생

    • 해결: 기기명을 ZAMDREAM로 변경하고, 앱에서 해당 이름의 기기만 탐색하도록 구현

    • 결과: 기기 탐색 시간 5초 -> 3초 감소(40% 개선)

  2. 프로토콜 데이터 송신 이슈 대응

    • 문제: 알파벳+숫자 조합의 프로토콜 데이터 송신 시 디바이스 수신 오류 발생

    • 해결: 고유 알파벳 조합으로 프로토콜 데이터 규칙을 정의하여 데이터 송신 구현

  3. 디바이스 셧다운 에러 대응

    • 문제: 프로토콜 데이터 전송 중 디바이스 연결 끊김 시 앱에서 상태 감지 불가 문제 발생

    • 해결: 에러 발생 시 프로토콜 전송 전 연결 상태를 확인하고, Modal을 통해 연결 끊김 안내 구현

성과

전시회 출품을 위한 스마트 에어 베개 서비스 MVP 개발

프로젝트명

필리

소속/기관명

개인

프로젝트 기간

2023.10. ~ 2023.12.

프로젝트 내용

개발 주요 사항

  • AsyncStorage 를 활용하여 CRUD 구현

  • Recoil 를 사용하여 데이터 상태 관리

  • Google Admob를 사용하여 사용자 전면 광고 노출

문제 발생 및 해결 과정

  • Recoil와 AsyncStorage 연동 개선

    • 문제: Recoil와 AsyncStorage 연동하면서 빌드는 정상적으로 되지만 렌더링이 안되는 이슈 발생

    • 원인

      • Promise 방식인 setSelf() 함수는 Recoil 내부에서 비동기 처리가 끝날 때까지 상태가 업데이트되지 않음

      • 그동안 UI는 undefined 상태일 가능성이 높아, React Native에서 렌더링이 제대로 되지 않을 수 있음

    • 해결

      • loadPersisted() 함수로 비동기 로직을 분리

      • trigger === 'get' 조건식을 사용하여 초기화 시점에서만 데이터를 불러오도록 최적화

성과

  • 앱 서비스 MVP 개발

  • 앱(Android, iOS) 출시 및 20명 유저 확보

프로젝트명

세이프윙

소속/기관명

주식회사엠앤에스텍

프로젝트 기간

2023.03. ~ 2023.07.

프로젝트 내용

개발 주요 사항

  • BluetoothGatt 클래스를 이용하여 BLE 연동 및 서비스·특성 탐색 구현

  • writeCharacteristic 메소드를 활용한 프로토콜 데이터 송신 처리

  • WifiManager API 를 활용하여 Wifi SSID 데이터 조회 및 출력

문제 발생 및 해결 과정

  • 디바이스 연결 지연 문제 대응

    • 문제: GATT 신호 감지 및 디바이스 검색은 정상적으로 수행되지만, 연결이 즉시 이루어지지 않는 문제 발생

    • 해결: GATT 스캐닝 종료 후 100ms 대기 후 디바이스 연결 시도 구현

성과

배포 전 APK 파일 추출 및 사내 사이트 자료실 업로드

프로젝트명

토도리

소속/기관명

기타

프로젝트 기간

2023.01. ~ 2024.04.

프로젝트 내용

개발 주요 사항

  • Jetpack Compose 를 이용하여 선언형 UI/UX 구현

  • Retrofit 을 이용하여 Restful API 구현

  • SharedPrefrences 를 활용하여 자동 로그인 구현

  • ViewModel 를 이용하여 데이터 상태 관리

  • Repository 와 DataSource 상호작용을 추상화하여 데이터 접근 로직을 캡슐화

  • Dagger & Hilt 를 활용한 의존성 주입 기능 구현

  • Module 을 활용한 모듈화 기능을 통해 의존성을 감소시킴

문제 발생 및 해결 과정

  1. api 통신 속도 개선

    • 문제: 리스트 CRUD 요청 시 데이터 응답 속도 및 컴포저블 렌더링 속도 저하

    • 원인: api 함수를 컴포저블 함수 내에서 구현하여 데이터 상태 관리 및 api 통신 속도 저하

    • 해결: 데이터 상태 관리, 데이터 접근 로직 캡슐화, 위존성 주입 등 MVVM 디자인 패턴 도입으로 api 통신 속도 개선

    • 결과: api 응답 속도 약 5초 → 1초 이내 감소(80% 감소)

  2. 빌드 속도 개선

    • 문제: 앱 빌드 시 약 15초 이상의 시간이 소모

    • 원인: MVVM 패턴에 맞게 의존성 규칙을 정했지만 많은 양의 코드와 복잡한 구조로 인한 빌드 시간 증가

    • 해결: 도메인 지식을 캡슐화하는 방향으로 결정하여, Module을 활용해 기능 단위를 분리하고, 기능 간에 공통으로 사용되는 모듈을 추가적으로 분리함.

    • 결과: 빌드 시간 약 15초 → 약 10초 이내 감소(33% 감소)

성과

Google Play Store 에 앱 출시 및 30명 유저 확보(현재는 서비스 중단)

포트폴리오

URL

link

Blog

URL 링크
link

Github

깃허브
link

Portfolio

노션
댓글