Backend Developer

기획을 구조로,
비즈니스를 백엔드로

요구사항을 도메인 모델, API, 데이터 흐름으로 번역하는
Planning Backend Developer입니다.

Spring Boot 기반의 안정적인 서버 구조와
데이터 정합성을 고려한 백엔드를 구현합니다.

Language & Framework

Java Spring Boot

Database & Infrastructure

PostgreSQL MySQL Docker

Tools & Environment

IntelliJ IDEA Git GitHub Postman Swagger

All Posts

전체글

블로그에 작성한 모든 글을 한곳에서 확인할 수 있도록 모았습니다.

전체 글

기획하는 개발자 CODE_NAME_PLATYPUS입니다 프로덕트의 핵심 가치를 Spring Boot 아키텍처와 효율적인 DB 설계로 증명합니다
안녕하세요오늘은 제가 진행했던 캡스톤 프로젝트인 METAFUSE에 대해 소개해보려고 합니다 METAFUSE는 사용자의 메타인지 능력 향상을 돕기 위한 AI 기반 애플리케이션입니다단순히 사용자의 기록을 저장하는 앱이 아니라,사용자가 자신의 생각과 감정, 선택 패턴을 돌아보고더 나은 의사결정을 할 수 있도록 돕는 것을 목표로 했습니다 이번 글에서는 프로젝트를 단순 소개하는 것에서 그치지 않고,기획 배경, 주요 기능, 사용 기술, AI 연동 흐름, 그리고 프로젝트를 진행하며 느낀 점을 중심으로 정리해보겠습니다 📁 1. 프로젝트 개요 메타인지(Metacognition)는 자신의 사고 과정을 점검하고 조정하는 능력입니다 기존 메타인지 관련 서비스는 어린이나 청소년을 대상으로학습 능력 향상에 초점을 맞춘 경우..
SPOTL은 Spotlight에서 이름을 따온 서비스로모든 사람이 공연의 주인공이 될 수 있는 환경을 제공하고자 기획한소규모 공연 예약 및 입장 관리 플랫폼입니다 공연을 좋아하시는 분들이라면예매 과정이나 현장 입장에서 불편함을 겪어본 적이 있을 텐데요저희 팀은 이런 문제를 해결하기 위해공연 기획, 예약, 티켓 발급, 입장 관리까지 연결되는 서비스를 개발했습니다 이번 글에서는 단순히 서비스를 소개하는 것에서 끝내지 않고소규모 공연 운영의 문제를 어떻게 백엔드 기능과 데이터 흐름으로 바꾸었는지를 중심으로 정리해보겠습니다 📁 1. 프로젝트 개요 SPOTL은 소규모 공연의 운영 비효율을 개선하고공연 문화 활성화를 목표로 기획한 통합 관리 플랫폼입니다서비스 이름은 Spotlight에서 가져왔으며무대 위 주인..
안녕하세요오늘은 제가 처음으로 참여했던 공모전 수상 후기를 정리해보려고 합니다 이번 공모전은 저에게 첫 공모전 도전이었고팀원들과 함께 프로젝트를 기획하고 개발하며 좋은 결과까지 얻을 수 있었던 의미 있는 경험이었습니다 공모전 참여를 고민하고 계신 분들께 조금이나마 도움이 되었으면 하는 마음으로대회 소개, 팀 역할, 프로젝트 내용, 수상 결과, 그리고 느낀 점을 정리해보겠습니다 지금부터 첫 공모전 참여 후기를 시작하겠습니다 📁 1. 공모전 소개 제가 참여했던 공모전은한국정책회의와 연세대학교가 공동 주최하고 Google과 Tencent가 후원하는 사회문제 해결을 위한 해커톤입니다 참가 대상은 대학생, 대학원생 또는 졸업 후 2년 이내 졸업자였으며개인 또는 2명에서 4명으로 구성된 팀이 참여할 수 있..
📁 1. 프로젝트 소개안녕하세요오늘은 제가 진행했던 중고 의류 판매 플랫폼 프로젝트를 소개해보려고 합니다 이번 프로젝트는 의류 폐기물 문제를 줄이고사용자들이 중고 의류를 더 쉽게 사고팔 수 있도록 돕는 것을 목표로 진행했습니다 구분내용개발 기간2024.01.03 - 2024.01.29팀 구성프론트엔드 2명 / 백엔드 3명프로젝트 목적중고 의류 거래를 통한 의류 폐기물 감소 📁 2. 프로젝트 기획 배경 해당 프로젝트의 목표는 지구 환경에 미치는 의류 폐기물을 최소화하는 것입니다현재 연간 12만 톤의 의류 폐기물이 발생하며이로 인해 전 세계적으로 120억 톤에 달하는 탄소 배출량이 발생합니다 이는 전 세계 온실가스 배출량의 10%에 해당하는 수치로환경오염의 주요 원인 중 하나입니다 또한 버려진 폐의류..
멋쟁이사자처럼 대학 11기 활동 회고 활동 기간 : 2023.03 - 2023.12 안녕하세요이번 글에서는 제가 멋쟁이사자처럼 대학 11기에서프론트엔드 아기사자로 활동하며 진행했던 프로젝트와전체적인 활동 후기를 정리해보려고 합니다 활동 기간 동안 주차별 스터디, 과제, 프로젝트, 아이디어톤, 해커톤을 경험했고그 과정에서 협업 방식과 개발 공부 방향에 대해 많은 것을 배울 수 있었습니다 📁 1. 활동 개요 구분내용활동명멋쟁이사자처럼 대학 11기활동 기간2023.03 - 2023.12활동 포지션프론트엔드 아기사자주요 활동주차별 스터디, 과제, 프로젝트, 아이디어톤, 해커톤, 리액트 네이티브 스터디 멋쟁이사자처럼 대학 11기 활동은개발이라는 공통 관심사를 가진 사람들과 함께 공부하고프로젝트를 진행하며 협..
개발을 공부하다 보면 프로세스와 스레드라는 용어를 자주 접하게 됩니다.운영체제의 기본 개념이면서도 Spring Boot 서버, 동시성 문제, 스레드 풀과 같은백엔드 개발 주제와 직접 연결되는 중요한 개념입니다. 그런데 막상 설명하려고 하면 다음과 같은 궁금증이 생깁니다.프로그램을 실행하면 바로 프로세스가 되는 걸까?프로세스 하나에는 왜 여러 스레드가 필요할까?스레드는 무엇을 공유하고 무엇을 따로 가질까?스레드는 왜 프로세스보다 가볍다고 할까?Spring Boot 서버에서는 프로세스와 스레드가 어떻게 사용될까? 📁 1. 프로그램을 실행하면 무슨 일이 일어날까?우리가 작성한 프로그램은 실행되기 전까지는 저장 장치에 보관된 파일에 불과합니다.application.jarchrome.exepythonmysql..
메모리 계층 구조를 공부하면 다음과 같은 질문이 생깁니다. 왜 모든 데이터를 가장 빠른 메모리에 저장하지 않을까요?CPU가 빠른데도 메모리 속도가 성능에 영향을 줄까요?시간 지역성과 공간 지역성은 캐시와 어떤 관계가 있을까요?이 개념은 백엔드 개발과 어떻게 연결될까요? 결론부터 말씀드리면,메모리 계층 구조는 속도, 용량, 비용이 서로 다른 저장 장치를 함께 사용하여 CPU의 평균 대기 시간을 줄이는 구조입니다. 이 글에서는 메모리 계층 구조와 캐시의 동작 원리, 시간 지역성과 공간 지역성을 살펴보고, 백엔드 성능 최적화 및 기술 면접 질문과 어떻게 연결되는지 정리해 보겠습니다. 📁 1. 메모리 계층 구조란? 모든 데이터를 가장 빠른 저장 장치에 넣으면 되지 않을까요? 가장 빠른 저장 장치는 일반적..
Java를 공부하다 보면 한 번쯤 이런 말을 듣게 됩니다 Java는 call by value다 그런데 막상 코드를 보면 조금 헷갈립니다기본형 값은 메서드 안에서 바꿔도 원본이 바뀌지 않는데참조형 객체는 메서드 안에서 값을 바꾸면 원본 객체가 바뀐 것처럼 보이기 때문입니다 이번 글에서는 이 차이를 초보자 입장에서 이해할 수 있도록기본형 값 복사와 참조형 참조값 복사를 나누어 정리해보겠습니다 📁 1. Java는 call by value라는데 왜 헷갈릴까? Java를 공부하다 보면 call by value라는 말을 자주 보게 됩니다call by value는 말 그대로 값을 복사해서 메서드에 전달하는 방식입니다 그런데 Java를 처음 공부할 때는 여기서 많이 헷갈립니다 기본형 변수는 메서드 안에서 값을 ..
📁 1. JVM 메모리 구조를 왜 알아야 할까? JAVA 코드를 처음 배울 때는int a = 10;이나User user = new User();같은 문장이 단순해 보입니다그런데 면접에서는 여기서 바로 질문이 이어집니다 a는 어디에 저장될까요?user는 객체인가요? 주소인가요?메서드가 끝나면 무엇이 사라질까요? 이 질문에 답하려면 JVM이 프로그램을 실행하면서메모리를 어떻게 나누어 쓰는지 알아야 합니다 📁 2. Stack에는 무엇이 저장될까? Stack은 메서드가 호출될 때마다생기는 작업 공간입니다메서드 안에서 선언한 지역변수, 매개변수, 반환 주소 같은 정보가 저장됩니다 public void join() { int age = 20; String name = "corinne";} age..
Java를 처음 배울 때 클래스, 객체, 메소드, 파라미터를따로따로 외우면 금방 헷갈립니다 왜냐하면 이 네 단어는 따로 노는 개념이 아니라하나의 코드 흐름 안에서 같이 움직이는 개념이기 때문입니다 처음에는 이렇게 외우는 경우가 많습니다클래스는 설계도객체는 설계도로 만든 것메소드는 기능파라미터는 입력값 이 설명이 틀린 것은 아닙니다하지만 이 정도로만 이해하면 실제 백엔드 코드를 볼 때 막힙니다 특히 Java 백엔드 코드는 대부분 아래와 같은 형태로 작성됩니다 schedule.addScheduleTime(newTime); 위 같은 코드를 봤을 때"클래스가 뭐고 객체가 뭐고 메소드가 뭐고 파라미터가 뭐지?"가 다시 섞이기 때문입니다 그래서 이 글에서는 클래스, 객체, 메소드, 파라미터를문법 용어로 따로 외우기..
CODE_NAME_PLATYPUS
dev.log/오리너구리의 기획하는 백엔드 스페이스