주간 KPT 회고록(2026.03.09 ~ 15)
·
Growth & Career/Retrospectives
Keep구름톤, 알바 지원포트폴리오 작성공간 분리(공부할 곳과 쉬는 곳 나눔)Problem개념이 많이 부족함.취업 준비 미흡Try개인 공부 열심히 하기 사이트 구현코테 공부블로그 매일 작성하기이력서, 포트폴리오 작성하기매일 회사 지원하기
주간 KPT 회고록(2026.03.02 ~ 08)
·
Growth & Career/Retrospectives
Keep학원 안빠지고 다 나옴SQLD 시험 공부 및 시험Problem개념이 많이 부족함.취업 준비 미흡Try개인 공부 열심히 하기 사이트 구현코테 공부블로그 매일 작성하기이력서, 포트폴리오 작성하기매일 회사 지원하기
[Control Tower] 개발 및 운영 회고
·
Projects/Team Projects
1. 프로젝트 개요한 줄 소개: "복잡한 항공 인력 스케줄링과 인사 행정을 한눈에 관리하는 SaaS 플랫폼"개발 기간: 2026.01.06 - 2026.03.03 (팀 프로젝트)기술 스택: Java, Spring Boot, React, MySQL, AWS (EC2), Spring AI, Nginx주요 기능: 대시보드를 통한 실시간 인력 현황 모니터링ERD 설계를 기반으로 한 체계적인 인사 데이터 관리Spring AI를 활용한 명함 인식 회원가입 및 이미지 기반 근태 정정 신청AWS를 활용한 안정적인 클라우드 배포2. 나의 역할이번 프로젝트에서 형상관리자와 풀스택 개발자 역할을 겸임했습니다.Frontend: 전체적인 프론트엔드 UI/UX 구현 (React)Backend: 근태/휴가 관리 시스템, 건강 프로..
주간 KPT 회고록(2026.02.23 ~ 03.01)
·
Growth & Career/Retrospectives
Keep2차 개발 완성(회원가입 ocr 구현)학원에서 AWS 배포 열심히 함학원 안빠지고 다 나옴Problem개념이 많이 부족함.취업 준비 미흡27일 이후 마무리 과정에서 나태해짐Try개인 공부 열심히 하기 사이트 구현블로그 매일 작성하기이력서 작성하기배포 마무리하기
[Control Tower]Spring Boot + AWS RDS + Nginx 배포기: 삽질하며 배운 인프라의 중요성
·
Projects/Team Projects
🧐 왜 EC2와 RDS를 분리했는가?처음 배포를 구상할 때 EC2 한 대에 모든 것을 넣을 수도 있었지만, 실제 상용 서비스 수준의 아키텍처를 지향하며 **컴퓨팅(EC2)**과 **데이터 저장(RDS)**을 분리했습니다.보안: DB를 사설망에 격리하고 EC2의 보안 그룹을 통해서만 접근을 허용하여 데이터 노출 위험을 줄였습니다.가용성: 서버가 다운되어도 데이터는 안전하게 보존되며, RDS의 자동 백업 기능을 활용할 수 있기 때문입니다.확장성: 트래픽이 몰릴 때 WAS와 DB의 자원 점유를 분리하여 성능 저하를 방지했습니다.🛠 배포 아키텍처: Nginx 리버스 프록시와 보안사용자가 api.도메인으로 접속하면 Nginx가 이를 받아 내부의 **8080 포트(Spring Boot)**로 넘겨주는 리버스 프..
[Control Tower] AWS S3 + CloudFront로 React 앱 정적 배포하기 (보안과 성능 최적화)
·
Projects/Team Projects
1. 도입부: "왜 S3 단독 배포가 아닌 CloudFront인가?"React 프로젝트 빌드 파일을 S3에 올리고 '정적 웹 사이트 호스팅'을 켜는 것만으로도 배포는 가능합니다. 하지만 'Control Tower'와 같은 SaaS 서비스를 운영하기에는 다음과 같은 한계가 있었습니다.보안 이슈: S3 단독 호스팅은 HTTP만 지원하여 데이터 전송 시 보안에 취약합니다.속도 문제: 특정 리전에만 데이터가 존재하여 글로벌 사용자에게 일관된 속도를 제공하기 어렵습니다.비용과 효율: 데이터 전송료(Data Transfer Out)와 캐싱 부재로 인한 비효율이 발생합니다.이를 해결하기 위해 **CloudFront(CDN)**를 결합하여 HTTPS 보안과 글로벌 캐싱 성능을 동시에 확보했습니다.2. 아키텍처 설계 및..
[Control Tower] Spring AI로 구현한 항공사 사원 가입 자동화 (명함 OCR & 프롬프트 엔지니어링)
·
Projects/Team Projects
🧐 배경: "입사 첫날의 번거로운 회원가입을 1초 만에"항공사 HR SaaS인 'Control Tower' 프로젝트를 진행하며 가장 신경 쓴 부분 중 하나는 사용자 경험(UX)입니다. 기업용 서비스 특성상 이름, 부서, 직급 등 입력해야 할 정보가 많았고, 이는 신규 입사자에게 다소 피로한 첫인상이 될 수 있었습니다.여기서 아이디어를 얻었습니다. "신규 직원이 이미 발급받은 명함을 찍기만 하면, 모든 정보가 자동으로 채워지면 어떨까?" 단순히 기능을 추가하는 것을 넘어, 서비스의 전문성을 높이는 '스마트 온보딩'을 기획하게 되었습니다.🛠 기술적 선택: 왜 Tesseract 대신 'Spring AI'인가?처음에는 전통적인 OCR 라이브러리(Tesseract 등)를 검토했지만, 두 가지 결정적인 한계가 ..
Daily Dev Q&A: XSS와 CSRF
·
Archive/Daily Dev Q&A
Topic (오늘의 주제)XSS(Cross-Site Scripting)와 CSRF(Cross-Site Request Forgery)의 차이 및 방어 메커니즘웹 서비스에서 사용자의 권한과 데이터를 탈취하는 가장 대표적인 두 공격의 원리를 이해하고, 클라이언트와 서버 양측에서 이를 원천 차단하는 방법을 학습합니다.Why (왜 사용하는가? 왜 중요한가?)실무: 이 방어 로직이 뚫리면 관리자 계정이 해킹되어 사이트 전체에 악성 스크립트가 유포되거나(XSS), 사용자가 인지하지 못한 채 비밀번호가 변경되고 무단 결제가 발생하는(CSRF) 치명적인 보안 사고와 서비스 장애로 이어집니다.구조적 의미: 프론트엔드와 백엔드 간의 신뢰 경계를 명확히 하고, 입력값 검증(Sanitization)과 안전한 인증 헤더/쿠키 관..
Daily Dev Q&A: HTTP 메서드
·
Archive/Daily Dev Q&A
Topic (오늘의 주제)HTTP 메서드(HTTP Methods)의 종류와 의미, 그리고 RESTful API 설계클라이언트가 서버에게 요청의 목적(행위)을 알리는 수단인 HTTP 메서드의 개념을 이해하고, 실무에서 이를 어떻게 표준(REST)에 맞게 활용하는지 학습합니다.Why (왜 사용하는가? 왜 중요한가?)실무: API를 설계할 때 메서드를 용도에 맞게 분리하지 않으면(예: 모든 요청을 POST로 처리), 다른 개발자가 코드를 보았을 때 해당 API가 데이터를 조회하는지, 수정하는지, 삭제하는지 엔드포인트(URL)만 보고는 파악할 수 없어 유지보수와 협업이 극도로 힘들어집니다.구조적 의미: 자원(Resource)은 URL로 표현하고, 행위(Action)는 HTTP 메서드로 분리함으로써 시스템의 인터..
Daily Dev Q&A: 동기와 비동기
·
Archive/Daily Dev Q&A
Topic (오늘의 주제)동기(Synchronous)와 비동기(Asynchronous)의 차이와 활용 작업의 실행 순서와 흐름 제어를 결정하는 핵심 원리로, 효율적인 시스템 설계와 사용자 경험(UX) 향상을 위해 어떻게 코드를 구조화해야 하는지 학습합니다.Why (왜 사용하는가? 왜 중요한가?)실무: 네트워크 API 호출, DB 쿼리, 파일 I/O 등 응답이 지연될 수 있는 작업에서 동기식을 사용하면 화면이 멈추거나(UI 프리징) 시스템이 응답을 멈추는 병목 현상이 발생합니다. 이를 막기 위해 비동기 처리가 필수적입니다.구조적 의미: CPU나 스레드가 작업 완료를 기다리며 쉬는 시간(Idle)을 없애고, 그 시간에 다른 작업을 처리하게 함으로써 한정된 시스템 자원을 극대화하고 처리량(Throughput)..