웹 개발자 박성주

실제로 쓰이는 웹을 끝까지 만드는 개발자입니다.

  • 연구소 공식 사이트와 관리자 CMS를 기획부터 운영까지 맡아 2026년 6월부터 운영 중 (커밋 152개)
  • 대학 의뢰 강사 양성 사이트를 기능명세서 620줄로 정리한 뒤 화면 34개와 Express·SQLite 서버까지 개발, 서버 기능 38개 항목 점검
  • 모바일 이미지 전송량 87% 절감, 시각장애인 보조 기기로 캡스톤디자인 2위 (2인 팀 대표)

Experience

2025.07 - 현재

폭스커넥트 대전 AI 연구소

AI 연구원 (2025.07 - 2025.11 인턴)

만든 것

그 밖의 일

  • 교육 과정 기획. Minecraft Education 「마을을 지켜라!」 12주 24차시, 「에이전트와 함께해요!」, LEGO SPIKE 신규 과정
  • 관평초 주강사. 「마을을 지켜라!」 12주, 「에이전트와 함께해요!」를 출강용으로 바꾼 블록 코드 자동화 17주
  • AI·코딩 강의. 초·중·고 5개 학교, 늘봄·방과후 돌봄, 대전교통공사 신입사원 40명 생성형 AI 직무교육 3회, 정읍교육지원청 Global Insight
  • 가오고 진로 탐색 사이트 제작 지원. 교육 기획을 맡은 팀장이 바이브 코딩으로 만드는 과정에 개발 관점에서 피드백
  • 학부모 피드백 PPT 자동 생성(python-pptx), HTML로 만든 수업용 개념 설명 영상
  • 광주 서구청과 행복한 모두 콘서트에서 연구소 프로그램 발표
  • 연구소 브랜드 독립안을 세 가지 기준으로 정리해 대표 승인

Problem Solving

직접 겪은 문제 네 가지를 같은 순서로 정리했습니다. 그림은 실제 구조를 그대로 옮겼습니다.

01

FOX AI 연구소 사이트

콘텐츠를 고칠 때마다 필요하던 본사 서버 업로드 없애기

문제
공지, 프로그램, 대회 사진처럼 자주 바뀌는 내용이 HTML에 섞여 있었습니다. 한 줄을 고쳐도 제가 코드를 고치고 본사에 서버 업로드를 요청해야 했고, 직원들은 GitHub 계정이 없어 직접 고칠 방법이 없었습니다.
해결
바뀌는 내용을 JSON으로 빼서 GitHub Pages에 두고, 본사 서버에는 화면 틀만 남겼습니다. 직원은 이름과 비밀번호로 CMS에 로그인하고, GitHub 토큰을 숨겨 둔 Apps Script가 저장을 대신합니다. 여러 파일은 한 번의 커밋으로 묶고, 저장 직전에 최신 파일과 비교해 다른 사람이 먼저 고친 내용은 덮어쓰지 않게 했습니다.
결과
CMS를 쓰기 시작한 2026년 10월 1일부터 6일까지 내용 수정 12건이 코드 수정과 본사 업로드 없이 반영됐습니다.반영 시간: GitHub Pages 1~2분, 본사 서버는 캐시 때문에 최대 10분. 건수는 저장소의 CMS 커밋 기록 기준
02

FOX AI 연구소 사이트

모바일 첫 화면이 무겁던 문제, 이미지 전송량 87% 절감

문제
원본 사진과 한글 글꼴 전체를 그대로 받고 있어서, 휴대폰에서도 PC용 큰 사진을 받았습니다. 외부 검토에서도 첫 화면이 무겁다는 의견이 나왔습니다.
해결
사진을 WebP로 바꾸고 480, 960, 1440px 세 크기로 만들어 화면에 맞는 것만 받게 했습니다. 화면 밖 사진은 나중에 불러오고, 글꼴은 한글 상용 2,350자만 남겨 직접 올렸습니다. 검토 의견은 항목별로 확인해 세 단계로 나눠 반영했습니다.
결과
페이지 용량 1,766KB에서 578KB, 모바일 이미지 전송량 87% 절감, 웹폰트 1,211KB에서 222KB.측정 조건: 배포 전 브라우저에서 직접 측정, 화면 크기 3구간(모바일, 태블릿, PC) 확인
03

우송대학교 강사 양성 누리집

모집 상태를 저장하지 않고 날짜로 계산하는 수강 신청 구조

문제
받은 자료에는 과정마다 '접수중' 같은 상태 값이 따로 붙어 있었습니다. 이 값을 DB에 그대로 저장하면, 신청 기간이 지나도 누군가 바꾸기 전까지 '접수중'으로 남아 화면 표시와 실제 신청 가능 여부가 어긋날 수 있었습니다.
해결
상태를 입력 항목에서 빼고, 조회할 때마다 신청 시작일과 종료일을 오늘 날짜와 비교해 접수예정, 접수중, 모집종료로 계산했습니다. 수강 신청은 서버가 다시 검사해 접수중이 아니거나 정원이 찼거나 승인 전·정지 계정이면 거부하고, 신청 인원보다 작은 정원으로 고치는 것도 막았습니다.
결과
관리자가 상태를 손으로 바꿀 일이 없어졌고, 화면 표시와 신청 가능 여부가 같은 기준을 따릅니다.검증: 서버 기능 점검 38개 항목 모두 통과 (정원 초과 거부, 정지 계정 차단, 한글 첨부파일 왕복 포함)
04

SmartVision 시각장애인 보조 기기

라즈베리파이에서 돌지 않던 객체 인식을 줄여 실시간 음성 안내로

문제
보드가 10주차에야 도착했습니다. 그전까지 데스크톱에서 만든 인식과 음성 기능이 라즈베리파이에서는 패키지 충돌과 성능 한계로 돌지 않았습니다.
해결
인식 모델을 가장 가벼운 YOLOv8n으로 바꾸고 패키지를 다시 구성했습니다. 안내 음성이 마이크로 다시 들어가 명령으로 잘못 인식되는 문제는 음성이 나오는 동안 듣기를 멈춰서 막았고, 같은 안내가 반복되지 않도록 3초 간격을 뒀습니다. 발열은 쿨러와 방열판으로 줄였습니다.
결과
Raspberry Pi 5에서 초당 5~10프레임으로 인식하고, 인식 후 1~2초 안에 음성으로 안내합니다. 캡스톤디자인 2위, 학점 A+.측정 조건: Raspberry Pi 5, PiCamera2, YOLOv8n. 캡스톤 최종보고서 기준

Projects

Work 회사에서 만든 것

University 학교에서 만든 것

Skills

  • 실무에서 계속 쓰는 기술연구소 사이트, CMS, 스케줄러를 만들고 운영하며 쓰는 것

    • JavaScript
    • HTML
    • CSS
    • Apps Script, Sheets
    • Git
    • GitHub Pages, API
  • 프로젝트에서 써 본 기술한 프로젝트 이상에서 직접 써 본 것

    • TypeScript
    • Python
    • C
    • Next.js
    • Node.js, Express
    • Flask
    • SQLite
    • OpenCV, YOLOv8
    • Raspberry Pi
    • Arduino
  • 공부 중게임 서버 플러그인으로 처음 써 본 언어

    • Java
    • Spring

Education

  1. 2022.03 - 2025.02

    우송대학교

    컴퓨터정보보안전공, 부전공 비즈니스창업융합부

    • 학점 3.86 / 4.5, 성적 우수 장학생 (2022, 2025)
  2. 2023 - 2024

    교육과 활동

    • 우송대학교 비트교육센터 Windows Developer 고급과정 39기 수료 (2024)
    • 이노베이션 아카데미 Codyssey C언어 PBL 수료 (2024)
    • SW창업 아이디어 경진대회 팀장으로 참가 (2023)
  3. 2018.02 - 2020.12

    Minecraft 게임 서버 운영

    총관리자

    • Java로 플러그인을 만들고 동시 접속 50~80명 서버를 운영

Awards

  • 2025우송대학교 캡스톤디자인 2위SmartVision 시각장애인 보조 기기, 2인 팀 대표
  • 2024우송대학교 반도체 경진대회 은상Plantify 스마트 화분
  • 2024우송대학교 첨단산업인재양성 경진대회 장려상C언어 은행 관리 프로그램
  • 2024SW중심대학 Codyssey 비교과 성과발표회 독행상
  • 20221인 앱 개발 대회 모범상

Let's work together

shim.never60@gmail.com