UMC 10

[데모데이] 회고 #0

어느덧 데모데이를 시작한지 약 1달의 기간이 지났다. 사실 매주 회고를 적으려고 했지만 바쁜 회사 생활과 병행을 하다보니 까먹었다. 뒤늦게나마 반성을 하면서 지금까지의 회고 및 나의 솔직한 심정을 이야기 하고자 한다. 1. 팀원을 잘 만나야 한다.여름 방학때 멋사 부트캠프를 하면서 절실하게 느꼈다. 어떤 프로젝트를 하느냐도 중요하지만 어떤 사람들과 함께 하는지가 가장 중요하다는 것을 항상 느꼈다. 부트캠프때도 그렇고 이번 데모데이에서도 팀을 고를 때 나의 0순위는 무조건 어느 팀에 가야 좋은 사람들을 만날 수 있을까가 나의 최대 관심사였다. 지금하고 있는 프로젝트의 PM을 PM데이 뒤풀이때 처음 만났고 그때 프로젝트 아이디어에 대해서 잠깐 이야기를 가졌었다. 짧은 시간이였지만 이 프로젝트를 준비하는데..

UMC/project 2026.01.21

[후기] UMC Product Team 지원 후기

나는 UMC 9기 SpringBoot 파트에서 공부하고 있었다. 어느 날 나를 이끄는 모집 공고가 하나 뜨게 되었다. 바로 UMC Product Team 모집이였다. 앞으로 UMC 챌린저들을 지원받을 사이트를 개발하는 팀이였다. 나는 항상 나보다 잘하는 사람들과 프로젝트를 하면서 정말 많은 성장을 했다고 느꼈고 이 프로젝트는 UMC 전체에서 모집하는 것이기 때문 에 상당한 고수들이 많이 올 것이라고 생각했다. 이거다! 무조건 해야겠다! 라고 우선 지원을 했다. 그러나 서류 결과발표가 미뤄 지면서 내 머릿속에서 점점 희미해져갈 때쯤... 사실 떨어질 거 같았다. 근데 내가 붙었다니!!! 역시 평소에 깃허브를 있어보이게 꾸며본 것이 많은 도움이 되었던 거 같다. 그리고 후에 면접을 보았다. 1대1로 면..

UMC/project 2025.12.01

[UMC_study] Web API 디자인 모범 사례

https://learn.microsoft.com/ko-kr/azure/architecture/best-practices/api-design Web API 디자인 모범 사례 - Azure Architecture Center서비스 진화를 위한 플랫폼 독립성과 느슨한 결합을 지원하는 RESTful 웹 API를 디자인하기 위한 모범 사례를 적용하는 방법을 알아봅니다.learn.microsoft.com 다음 글을 읽고 내용을 요약해봤습니다. RESTful 웹 API 디자인 핵심 요약1. RESTful API의 기본 개념자원(Resource) 중심 설계: 모든 것을 명사 형태의 자원(URI)으로 표현합니다. (/create-order (X) -> /orders (O))균일한 인터페이스(Uniform Interfa..

UMC/study 2025.10.05

[UMC_study] 컨트롤 URI이란?

컨트롤 URI이란? 컨트롤 URI(Control Uniform Resource Identifier)는 웹 페이지의 주소(URL)처럼 정해진 형식을 사용하여 애플리케이션의 특정 기능이나 UI(사용자 인터페이스) 요소를 제어하기 위한 내부적인 주소 체계입니다. 일반적인 웹 URI가 인터넷상의 리소스(웹 페이지, 이미지 등)를 가져오기 위해 사용된다면, 컨트롤 URI는 애플리케이션 내부에 약속된 명령을 전달하는 '리모컨'과 같은 역할을 합니다. 주로 앱 내부의 화면 이동(Navigation), 특정 기능 실행, 데이터 전달 등을 위해 사용되며, 커스텀 URI 스킴(Custom URI Scheme)을 기반으로 동작하는 경우가 많습니다. 컨트롤 URI의 구조 컨트롤 URI는 일반 URI와 유사한 구조를 가..

UMC/study 2025.10.05

[UMC_study] Soft Delete 란?

Soft Delete 란? Soft Delete(소프트 삭제)는 데이터를 데이터베이스에서 실제로 영구적으로 지우는 대신, 삭제된 것처럼 표시하는 디자인 패턴입니다. 사용자는 데이터가 삭제된 것으로 보지만, 실제 데이터는 데이터베이스에 그대로 남아있어 언제든지 복구할 수 있다는 장점이 있습니다. 보통 is_deleted, deleted_at과 같은 특정 칼럼(플래그)을 두어 데이터의 삭제 여부를 구분합니다. 예를 들어, deleted_at 칼럼에 삭제된 시점의 타임스탬프가 기록되어 있다면, 애플리케이션에서는 이 데이터가 삭제된 것으로 간주하고 사용자에게 보여주지 않습니다. Soft Delete에 적합한 HTTP MethodSoft Delete를 구현할 때 어떤 HTTP Method를 사용해야 하는지..

UMC/study 2025.10.05

[UMC_study] AOP(Aspect-Oriented Programming) 원리 탐구

1. AOP의 본질 및 필요성 (AOP Essence and Necessity) 항목설명필요성 (문제 해결)AOP 정의횡단 관심사(Cross-cutting Concerns, CCC)를 모듈화하고 캡슐화할 수 있도록 지원하는 프로그래밍 패러다임. OOP의 모듈화 한계를 보완하여 유지보수성과 코드 청결성을 극대화. CCC (횡단 관심사)핵심 비즈니스 로직과 직접적인 관련이 없으나, 시스템 전반에 걸쳐 반복적으로 필요한 기능 (예: 로깅, 보안, 트랜잭션 관리). OOP 환경에서 코드 산재(Scattering) 및 **코드 얽힘(Tangling)**을 유발하여 모듈성을 저해. 2. OOP와 AOP의 관계 및 관점 분리 AOP는 OOP를 대체하는 것이 아니라 보완하는 구조적 사고방..

UMC/study 2025.09.28

[UMC_study] 서블릿 vs Spring MVC 비교

1. 핵심 비교: 저수준 Servlet vs. 프레임워크 Spring MVC 구분전통적인 서블릿 (Servlet)Spring MVC 프레임워크기반Servlet API를 직접 사용하는 저수준(Low-level) 기술 Servlet API 기반의 요청 중심(Request-driven) 프레임워크 개발 난이도HTTP 요청 처리 및 고급 기능을 직접 구현해야 하므로 복잡함 프레임워크가 복잡성을 추상화하여 개발자가 비즈니스 로직에 집중 가능 Front Controller없음 (서블릿 컨테이너가 요청을 특정 서블릿으로 직접 매핑)DispatcherServlet이 중앙 집중식 Front Controller 역할을 수행 설정web.xml 파일을 사용하여 서블릿 매핑을 명시적으로 설정해야 함..

UMC/study 2025.09.28

[UMC_study] 버튼을 연타하는 걸 막아라!

버튼을 빠르게 여러 번 눌렀을 때 여러 가지 이유(비동기 로직 등)로 요청이 지연되어 완전히 처리하기 전 두 번 요청이 들어갈 수 있습니다. 이를 해결할 수 있는 방법에 대해 작성하여 주세요. 유저의 손가락을... 어떤 방법이 있는지 알아보자! ## 1. 프론트엔드 (클라이언트 측) 해결 방안: 사용자의 액션 제어가장 먼저 사용자에게 피드백을 주고 추가적인 입력을 막는 방법입니다.방법: 버튼 비활성화 및 로딩 상태 표시사용자가 "미션 도전!" 버튼을 한 번 클릭하면, 즉시 버튼을 비활성화(disabled) 처리하고 로딩 스피너와 같은 시각적 피드백을 보여줍니다. 그리고 서버로부터 성공 또는 실패 응답을 받은 후에야 버튼을 다시 활성화하거나 다른 상태(예: '도전 중')로 변경합니다. JavaScri..

UMC/study 2025.09.21

[UMC_study] 함수 기반 인덱스와 복합 인덱스

함수 기반 인덱스와 복합 인덱스: 성능 최적화를 위한 완전 가이드개요데이터베이스 성능 최적화에서 인덱스는 핵심적인 역할을 합니다. 특히 **함수 기반 인덱스(Function-Based Index)**와 **복합 인덱스(Composite Index)**는 복잡한 쿼리의 성능을 크게 향상시킬 수 있는 강력한 도구입니다. 이 글에서는 두 인덱스 유형의 특성, 장단점, 그리고 실제 적용 사례를 상세히 분석해보겠습니다.함수 기반 인덱스(Function-Based Index)정의 및 특징함수 기반 인덱스는 컬럼의 원본 값이 아닌 함수나 표현식의 결과에 대해 생성되는 인덱스입니다. 이는 WHERE 절에서 함수를 사용하는 쿼리의 성능을 대폭 향상시킬 수 있습니다.주요 특징:표현식 기반의 인덱싱으로 복잡한 계산 결과를 ..

UMC/study 2025.09.21

[UMC_study] 트렌젝션의 상태와 전파에 대하여

데이터베이스 트랜잭션 상태 및 전파 모델에 대한 종합적 분석I. 서론: 트랜잭션의 본질과 ACID 원칙트랜잭션 정의: 논리적 작업 단위데이터베이스 시스템의 맥락에서 트랜잭션(Transaction)은 단순히 여러 SQL 문의 집합이 아니라, 하나의 비즈니스 로직을 수행하기 위한 '논리적 작업 단위(Logical Unit of Work)'로 정의됩니다. 이러한 관점은 데이터베이스의 기계적 동작에서 비즈니스 무결성 보장이라는 더 높은 차원으로 초점을 이동시키기 때문에 매우 중요합니다. 예를 들어, 은행 계좌 이체는 출금(UPDATE)과 입금(UPDATE)이라는 두 개 이상의 물리적 데이터베이스 변경 작업을 포함하지만, 비즈니스 관점에서는 분리할 수 없는 단일 논리적 연산입니다. 트랜잭션의 핵심적인 약속은..

UMC/study 2025.09.21