• 자유로운 영혼의 개발자 박종범입니다. 🌱
  • 끊임없이 배우고 새로운 기술에 적극적으로 도전합니다.
  • 소프트웨어와 컴퓨터를 통해서 세상을 이롭게 만들어 나가고 싶습니다✨

Work Experiences.

아주대학교 System Software Lab

아주대학교 System Software Lab

김상훈 교수님 Lab 학부생인턴2023. 07 - 2025.02

pintos-kaist

parkjbdev/pintos-kaist

PintOS는 교육용 운영체제로, x86 아키텍처를 위한 간단한 운영체제를 직접 구현하는 프로젝트입니다. KAIST 버전의 PintOS를 통해 운영체제의 핵심 개념들을 실제 구현해보며 깊이 있게 학습했습니다.

OS C

수행 내용

  • 스레드 관리: Alarm Clock 기능과 Prority Scheduling을 구현하고, Priority Donation을 통한 교착 상태 방지 로직을 완성했습니다.
  • System Call: halt, exit, wait, fork, exec 등 기본적인 시스템 콜을 구현하여 사용자 프로그램 실행 환경을 구축했습니다.
  • Argument Passing: 사용자 프로그램에 인자를 전달하는 메커니즘을 설계하고 구현했습니다.

성과 및 의의

  • 운영체제의 핵심 컴포넌트들을 직접 설계하고 구현하면서 시스템 프로그래밍에 대한 실질적인 이해도를 크게 향상시켰습니다.
  • 스레드 스케줄링, 프로세스 관리, 시스템 콜 등 운영체제의 주요 개념들을 실제 코드로 구현하며 깊이 있게 학습했습니다.
  • 버그 수정과 성능 최적화 과정을 통해 디버깅 능력과 시스템 레벨 최적화 능력을 향상시켰습니다.
  • 대규모 시스템 소프트웨어 프로젝트를 성공적으로 완수하며 복잡한 소프트웨어 시스템에 대한 설계 및 구현 경험을 쌓았습니다.

Linux-Kernel-Lab 🐧

parkjbdev/linux-kernel-lab

Linux Kernel Lab은 리눅스 커널의 핵심 개념과 메커니즘을 실습을 통해 학습하는 프로젝트입니다. 커널 모듈 프로그래밍, 디바이스 드라이버 개발, 인터럽트 처리 등 리눅스 커널의 주요 기능들을 직접 구현해보며 깊이 있게 학습했습니다.

OS C Linux

수행 내용

  • Character Device Driver 개발: 디바이스의 등록/해제, open/release, read/write 함수를 구현하여 사용자 공간과 커널 공간 간의 통신을 구현했습니다.
  • 커널 API 실습: 리스트 조작, 동기화, 메모리 관리 등 커널의 핵심 API들을 실습하며 커널 프로그래밍의 기초를 다졌습니다.
  • 인터럽트 처리 시스템 구현: 인터럽트 핸들러를 구현하고 테스트하며 하드웨어 이벤트 처리 메커니즘을 학습했습니다.
  • 빌드 시스템 최적화: Makefile 구조화, 컴파일 플래그 관리, IDE 통합 등을 통해 개발 환경을 개선했습니다.

성과 및 의의

  • 리눅스 커널의 핵심 컴포넌트들을 직접 구현해보며 운영체제 수준의 시스템 프로그래밍 능력을 향상시켰습니다.
  • 디바이스 드라이버 개발을 통해 하드웨어와 소프트웨어의 상호작용을 깊이 있게 이해하게 되었습니다.
  • 리눅스 커널의 동작 원리와 내부 구조에 대한 실질적인 이해를 바탕으로 시스템 소프트웨어 개발 역량을 강화했습니다.

cosmos 🌸

parkjbdev/cosmos sslab-ajou/cosmos

cosmos는 ARM 아키텍처 기반의 교육용 운영체제로, Rust 언어를 사용하여 개발한 개인 연구 프로젝트입니다. 현대 운영체제의 핵심 개념들을 직접 구현해보며 깊이 있는 시스템 프로그래밍 학습을 목표로 했습니다.

OS, Rust, ARM asm

수행 내용

  • Rust 언어를 사용하여 ARM 아키텍처에서 동작하는 운영체제의 기초 구조를 설계하고 구현했습니다.
  • 인터럽트 처리 시스템을 구현하여 타이머 동작과 키보드 입력 처리 기능을 완성했습니다.
  • 가상 메모리 시스템 설계 및 페이징 메커니즘 구현을 시도하며, ARM 아키텍처의 메모리 관리 특성을 깊이 있게 연구했습니다.
  • 시스템 프로그래밍에서 메모리 안전성을 보장하는 Rust 언어의 특성을 활용하여 안정적인 시스템을 설계하고자 했습니다.

성과 및 의의

  • 운영체제의 핵심 컴포넌트들을 저수준에서 직접 구현해보며 시스템 소프트웨어에 대한 깊은 이해를 얻었습니다.
  • 가상 메모리 구현 과정에서 발생한 문제들을 디버깅하며 복잡한 시스템의 문제 해결 능력을 향상시켰습니다.
  • Rust를 사용한 시스템 프로그래밍을 통해 안전성과 성능을 모두 고려한 설계 경험을 쌓았습니다.
  • 비록 가상 메모리 시스템을 완성하지는 못했지만, 도전적인 과제에 대한 접근 방법과 문제 해결 과정에서 값진 학습 경험을 얻었습니다.
한양대학교 의료원

한양대학교 의료원

정보관리팀2022. 07 - 2022.12

HYU DataQuery App

parkjbdev/HYU-DataQuery-App (Private)

한양대학교 병원 정보관리팀에서 진행된 이 프로젝트는 복잡한 환자 데이터를 효율적으로 검색하고 분석할 수 있는 웹 기반 플랫폼 개발을 목표로 했습니다.

이전 Steroid Cohort Method 프로젝트에서의 경험을 바탕으로, 의료진과 연구자들이 필요한 환자 데이터를 보다 쉽게 추출할 수 있는 시스템을 구축했습니다.

React, NextJS, Prisma, SQL

기술 스택 및 개발 환경

  • 단독 개발자로서 현대적인 웹 기술 스택을 활용하여 시스템을 구축했습니다.
  • Prisma ORM을 도입하여 복잡한 데이터베이스 쿼리를 효율적으로 처리했습니다.
  • MUI X 컴포넌트 라이브러리를 활용하여 사용자 친화적인 인터페이스를 구현했습니다.

주요 구현 기능

  • 의료 데이터의 특성을 고려한 고도화된 검색 시스템을 개발했습니다.
  • Prisma ORM의 강력한 쿼리 빌딩 기능을 활용하여 복잡한 검색 조건을 처리할 수 있게 했으며, 사용자들이 직관적으로 검색 조건을 설정할 수 있는 인터페이스를 MUI X를 통해 구현했습니다.

성과

  • 이 프로젝트는 이전 연구 프로젝트에서의 SQL 쿼리 경험을 웹 서비스로 발전시킨 사례입니다.
  • 개인 개발자로서 전체 시스템 설계부터 구현까지 담당하면서 풀스택 개발 역량을 강화할 수 있었으며, 특히 의료 데이터라는 특수한 도메인에서의 웹 서비스 개발 경험을 쌓을 수 있었습니다.
한양대학교 의과대학

한양대학교 의과대학

김이석 교수님 Lab 인턴연구원2020. 03 - 2020. 08

Steroid Cohort Method

estone96/SteroidCohortMethod (Private)

Steroid Cohort Method는 한양대학교 의과대학 연구실에서 수행된 의료 데이터 분석 프로젝트입니다.

이 연구는 다양한 스테로이드 약물과 환자 특성이 부작용 발생에 미치는 상관관계를 규명하는 것을 목표로 했습니다.

방대한 의료 데이터를 기반으로 OHDSI(Observational Health Data Sciences and Informatics) 플랫폼을 활용한 분석이 진행되었습니다.

MSSQL R

데이터베이스 관리 및 쿼리 최적화

  • MSSQL 데이터베이스 서버를 활용하여 대규모 환자 데이터를 관리했습니다.
  • 의학적 전문 지식이 없는 상황에서도, SQL 쿼리 작성을 통해 연구에 필요한 특정 환자군과 스테로이드 약물 데이터를 정확하게 추출하는 역할을 수행했습니다.
  • 방대한 양의 의료 데이터를 다루면서 효율적인 데이터 처리와 쿼리 최적화 경험을 쌓을 수 있었습니다.

연구 지원 및 문제 해결

  • OHDSI 플랫폼을 통한 데이터 분석 과정에서 필요한 데이터 추출을 지원했으며, R을 이용한 최종 논문 작성 단계에서 발생하는 기술적 문제들을 해결했습니다.
  • 특히 논문 작성 과정에서 발생하는 다양한 버그를 수정하는 역할을 담당하며, 연구의 완성도를 높이는 데 기여했습니다.

성과

  • 이 프로젝트를 통해 대규모 의료 데이터베이스 관리 경험과 복잡한 SQL 쿼리 작성 능력을 향상시킬 수 있었습니다.
  • 또한 의학 연구진과의 협업을 통해 전문 분야 간 효과적인 소통 방식을 습득했으며, 실제 연구 환경에서의 데이터 처리와 분석 과정을 경험할 수 있었습니다.

Team Projects.

IR Hub

2024. 11 - 2024. 12

IR Hub는 외부에서도 적외선 기반 리모컨 통신을 활용하는 대다수의 스마트홈이 적용되지 않은 레거시 제품들을 스마트하게 바꿔주는 프로젝트입니다. 적외선 통신과 MQTT, Node Red를 활용하여 외부에서도 가정 내의 전자기기를 제어할 수 있습니다.

MQTT Node RED ESP32 SQLite

주요 기능

  • 적외선 통신을 활용한 기존 가전제품 원격 제어 시스템
  • 사용자 정의 리모컨 버튼 학습 및 저장 기능
  • 웹 기반 인터페이스로 스마트폰에서 가전제품 제어
  • 동적 UI 생성을 통한 사용자 맞춤형 제어 환경
  • 외부에서도 집 내부의 디바이스 원격 제어 가능

Node-RED 기반 웹 서버 및 데이터베이스 시스템을 구축하였습니다

  • SQLite 데이터베이스 설계 및 구현으로 사용자 정의 디바이스와 버튼 정보를 관리
  • 사용자가 추가한 디바이스와 버튼에 따라 자동으로 UI가 생성되는 동적 인터페이스 개발
  • 전체 시스템의 아키텍처 설계 및 구현
  • 적외선 신호의 수신과 송신을 효과적으로 관리하는 MQTT 통신 구조 설계
  • Kepler ESP A 보드와 웹 서버 간 안정적인 통신 시스템 구현
  • 전체 시스템 통합 주도

성과

  • IoT 지원이 없는 기존 가전제품을 스마트홈 환경에 성공적으로 통합했습니다.
  • 사용자 친화적인 웹 인터페이스로 기술에 익숙하지 않은 사용자도 쉽게 사용할 수 있는 시스템을 구현했습니다.
  • 단일 IR HUB로 여러 가전제품을 통합 제어함으로써 비용 효율적인 스마트홈 솔루션을 제공했습니다.
  • 외출 중에도 가전제품 제어가 가능해 에너지 절약 및 편의성 향상 효과를 달성했습니다.
  • 확장성 있는 아키텍처 설계로 향후 센서 연동, 시간 기반 자동화 등 추가 기능 개발의 기반을 마련했습니다.

WePlan은 공유 공간의 예약과 관리를 위한 시간표 기반 모바일 애플리케이션입니다.

본 서비스는 밴드 동아리 활동을 하며 겪었던 실제 문제점에서 출발하여, 공유 공간 예약의 비효율성을 해결하고자 개발되었습니다.

시간표 형식의 직관적인 인터페이스를 통해 사용자들이 손쉽게 공간을 예약하고 관리할 수 있도록 지원합니다.

Flutter provider retrofit TestFlight

주요 기능

  • 공유 공간 예약 시스템 구현
  • 시간표 형식의 직관적 인터페이스
  • 팀 간 일정 조율 및 관리
  • 실시간 예약 상태 확인
  • 사용자 권한 관리 및 인증

Cookie 프로젝트의 경험을 살려 체계적인 설계를 진행하였습니다.

WePlan은 Cookie 프로젝트를 통해 얻은 교훈을 바탕으로, 초기 단계부터 체계적인 설계를 적용했습니다.

소프트웨어 공학 방법론인 Waterfall 모델을 도입하여 요구사항 분석부터 테스트까지 단계적으로 프로젝트를 관리했습니다.

  • 아키텍처 설계상태 관리의 체계적 적용
    • 프로젝트 시작 단계부터 MVVM 아키텍처를 도입하여 코드 구조화를 진행하였습니다.
    • Provider 라이브러리를 활용하여 효율적인 상태 관리 시스템을 구축하였습니다.
    • Cookie 프로젝트와 달리 초기부터 체계적으로 설계하여 개발 효율성을 크게 향상시켰습니다.
    • 짧은 개발기간이였음에도 불구하고 문제없이 동작하는 앱을 성공적으로 제작하였습니다.

프로젝트 리더로서 효율적인 팀 관리를 수행하였습니다.

  • 프론트엔드 개발

    • Flutter를 이용하여 직관적인 시간표 인터페이스를 구현하였습니다.
    • retrofit을 활용하여 Spring 백엔드와의 효율적인 통신을 구현하였습니다.
    • TestFlight 플랫폼을 활용해 팀 내부적으로 QA테스트를 진행하였습니다.
  • 프로젝트 관리

    • 개인 서버를 활용하여 서비스 호스팅을 진행하였습니다.
    • 백엔드 팀과의 효율적인 협업을 위해 API 설계 및 명세를 주도적으로 진행하였습니다.
    • Waterfall 방법론에 따라 체계적인 문서화를 수행하였습니다.

성과

  • WePlan 프로젝트는 실제 사용자의 필요에 기반한 문제 해결이라는 점에서 교수진으로부터 높은 평가를 받았습니다.
  • 특히 Cookie 프로젝트의 경험을 바탕으로 초기 단계부터 체계적인 설계와 개발을 진행한 점이 프로젝트의 성공적인 완수에 크게 기여했습니다.
  • 팀장으로서 프로젝트 일정 관리와 팀원 간 소통을 조율하는 경험을 쌓았으며, 특히 프론트엔드와 백엔드 개발자 간의 효과적인 협업 방식을 체득할 수 있었습니다.

Cookie는 위치 서비스와 채팅 기능을 결합한 소셜 네트워킹 애플리케이션입니다.

본 서비스는 디지털 환경에 익숙한 현대 세대들에게 오프라인 만남과 대면 소통의 가치를 재조명하기 위해 개발되었습니다.

사용자들의 실제 위치 정보를 기반으로 의미 있는 사회적 연결을 촉진하고, 가상 공간을 넘어 실제 대면 상호작용으로 이어지는 경험을 제공합니다.

Flutter provider retrofit TypeScript Express MongoDB Mongoose socket.io Google Maps API JWT

주요 기능

  • 실시간 위치 공유 및 사용자 탐색
  • 실시간 개인 및 그룹 채팅 시스템
  • 사용자 프로필 관리 및 보안 인증

리팩토링을 통해 구조적인 코드를 제작하였습니다.

Cookie 프로젝트는 첫 Flutter 애플리케이션 개발 경험으로서 다양한 기술적 도전을 제시했습니다. 초기에는 구조화되지 않은 접근 방식으로 개발을 진행했으나, 데이터 관계의 복잡성과 기능 확장에 따른 한계에 직면했습니다.

  • 소프트웨어 아키텍처디자인 패턴에 대한 학습과 이해
    • 상태 관리와 UI 로직 분리에 최적화된 MVVM 패턴으로 대규모 리팩토링을 진행하였고, Provider 라이브러리를 활용하여 Provider-Consumer 패턴을 적용하였습니다.
    • 이를 통해 코드 가독성, 유지보수성, 그리고 확장성을 크게 향상시켰습니다.
    • 또, 이러한 과정 속에서 대규모의 레거시 코드를 새로운 아키텍처로 수월하게 전환하는 경험을 하였습니다.

백엔드 서버 구성부터 앱 제작까지 웹 개발 전반의 과정들을 수행하였습니다.

  • 서버 구성

    • 기존에 사용하지 않는 노트북을 활용하여 직접 서버를 구성하고, 포트포워딩 하여 물리서버를 활용하였습니다.
    • 리버스 프록싱을 위해 nginx 서버를 구성하였으며, linux 서버에 백엔드 애플리케이션을 시스템 서비스로 등록하여 백엔드 애플리케이션에 접근하였습니다.
    • route53 서비스를 활용해 도메인을 발급받아 활용하였습니다.
  • 백엔드 앱 제작

    • express 를 활용하여 회원관리, 채팅기능, 위치공유 기능을 구현하였습니다.
    • 팀원간 원활환 소통과 개발 효율성을 위하여 TypeScript를 적용하였습니다.
    • 데이터를 모델링하고, MongoDB와 Mongoose를 이용하여 효율적으로 처리하였습니다.
    • 회원보안을 위해 JWT 기반 토큰인증을 활용하여 로그인/채팅/위치공유 기능을 구현하였습니다.
    • socket.io 를 활용하여 채팅과 위치공유에 필수적으로 요구되는 실시간성 통신을 수행하였습니다.
  • 프론트 앱 제작

    • 백엔드의 api를 효율적으로 받아들이기 위해 약속한 api를 retrofit을 통해 수신받았습니다.
    • 기존의 정리되지 않은 레거시 코드를 MVVM을 활용한 구조로 대규모 리팩토링을 안정적으로 수행하여 관심사의 분리와 효율적인 코드를 제작하였습니다.

성과

  • 소프트웨어 엔지니어링의 핵심 원칙과 현대적 개발 방법론을 실제로 적용해보는 종합적인 학습 경험이었습니다.
  • 특히, 초기 설계의 한계를 인식하고 아키텍처를 재구성하는 과정에서 얻은 인사이트는 확장 가능하고 유지보수하기 쉬운 소프트웨어를 개발하는 데 있어 귀중한 교훈이 되었습니다.
  • 복잡한 시스템 개발 과정에서 마주하는 현실적인 도전과 한계를 경험함으로써 향후 더 안정적이고 견고한 시스템을 설계할 수 있는 기반을 마련했습니다.
  • 기술적 역량 향상뿐만 아니라 대규모 애플리케이션 개발에 수반되는 실질적인 문제점들을 인지하고 해결하는 능력을 배양했습니다.

Personal Projects.

CafePlace (진행중)

CafePlace (진행중)

2024. 10 - now

CafePlace 는 Instagram의 무수한 카페 추천에 영감을 받아 시작하게 된 카페큐레이션 앱 프로젝트입니다. React Native와 Jotai를 이용하여 앱을 구현중이며, 빠른 개발을 위해 Supabase Serverless 환경으로 백엔드를 구성하였습니다.

React Native Jotai Supabase

OnlineJudge to Markdown

OnlineJudge to Markdown

2021. 12 - 2025. 01

OnlineJudge to Markdown은 백준, 프로그래머스, SWEA와 같은 주요 알고리즘 문제 풀이 사이트의 문제를 마크다운 형식으로 변환하여 복사할 수 있게 해주는 크롬 익스텐션입니다.

알고리즘 학습 과정에서 문제 정리와 기록의 필요성을 느껴 개발하게 되었습니다.

JavaScript Chrome Extension

수행 내용

  • 다양한 온라인 저지 사이트의 DOM 구조를 분석하고, 문제의 주요 요소들을 추출하는 파싱 로직을 구현했습니다.
  • 추출된 문제 정보를 일관된 마크다운 형식으로 변환하는 포맷팅 시스템을 설계하고 구현했습니다.
  • ChatGPT와의 프롬프트 엔지니어링을 통해 크롬 익스텐션 개발에 필요한 핵심 로직을 효율적으로 구현했습니다.
  • 사용자가 버튼 클릭 한 번으로 문제를 마크다운 형식으로 복사할 수 있는 간단한 UI를 구현했습니다.

성과

  • 알고리즘 학습 과정에서 문제 정리와 복습을 더욱 효율적으로 할 수 있게 되었으며, 이를 통해 알고리즘 스터디에서의 학습 효율성을 크게 향상시켰습니다.
  • ChatGPT를 활용한 개발 방식을 경험하며, AI 도구를 실제 개발에 적용하는 방법을 학습했습니다.
  • 실제 필요에 의해 기획하고 개발한 도구를 완성하면서, 문제 해결 능력과 프로젝트 기획/실행 능력을 향상시켰습니다.
  • 개인의 학습 도구로 시작했지만, 다른 알고리즘 학습자들에게도 도움이 될 수 있는 실용적인 도구를 개발했습니다.

Awards.

HL만도&HL Klemove 자율주행모빌리티 경진대회

2022. 12. 09
HL만도 & HL Klemove🏆 HL만도(주) 대표이사상

Python OpenCV ROS

시상

국제대학생 자율주행 경진대회

2022. 06. 08
세계전기차협의회🏆 NVIDIA 특별상 🏆세계전기차협의회 회장상

Python OpenCV ROS

시상

미래자동차 가상환경기반 자율주행 경진대회

2022. 02. 23
디지털 신기술 혁신공유대학🏆 대상

국민대학교 미래자동차 가상환경기반 자율주행 경진대회에서 대상을 수상한 프로젝트입니다.

Morai의 가상환경 플랫폼을 이용한 대회였으며, ROS를 통해 가상환경 내부의 다양한 차량센서에서 수신되는 데이터를 이용하여 자율주행을 수행하였습니다.

Python OpenCV ROS

시상

대회 영상

제31회 서울정보올림피아드

2014. 06. 30
한국지능정보사회진흥원🏆 중학생부 동상

30회 정보올림피아드에 이어 31회에도 참가혀였습니다.

C

제30회 서울정보올림피아드

2013. 07. 22
한국지능정보사회진흥원🏆 중학생부 동상

컴퓨터에 대한 관심으로 비교적 이른 나이에 프로그래밍을 접하게 되었습니다.

C언어를 활용하여 서울지역본선에 참가하였습니다.

C

KME 한국수학학력평가

2010. 11. 23
한국수학학력평가연구원🏆 은상

Activities.

삼성 청년 SW 아카데미 13기

2025. 01 - 현재
삼성전자에서 주관하는 청년 SW 교육 프로그램

Educations.

아주대학교

2018. 03 - 2025. 02
전자공학 전공 소프트웨어 및 컴퓨터공학 전공

단국대학교 사범대학 부속고등학교

2015. 03 - 2018. 02
자연계 졸업(서울)

Certificates.

TOEIC 900점

2024. 03. 31
ETS

OPIC IH

2024. 03. 15
ACTFL

제46회 한자능력급수 5급

2010. 03. 19
한국어문회

제44회 한자능력급수 6급

2009. 09. 08
한국어문회

제40회 한자능력급수 7급

2008. 08. 26
한국어문회