profile
호기심이 많고, 문제를 끝까지 해결하려는 집념이 강한 개발자입니다.

Database Lock

데이터베이스는 항상 데이터의 일관성과 무결성이 보장되어야한다. 하지만 동시에 많은 세션이 DB에 접근한다면 이런 일관성과 무결성이 깨지느 동시성 문제가 발생할 수 있다.예를 들어 고객 2명이 상품이 구매하는 경우를 가정해보자.그러면 고객 1과 고객 2 모두 상품의 재고

2025년 9월 12일
·
0개의 댓글
·

트랜잭션의 격리성과 격리 수준

데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 최소 단위즉, 데이터베이스에 여러 개의 작업(INSERT, UPDATE, DELETE 등)을 묶어서 모두 성공하면 반영하고, 하나라도 실패하면 전부 취소하는 것을 의미합위와 같이 상품을 주문한 뒤 상품 재고를 차감하

2025년 9월 11일
·
0개의 댓글
·

[네트워크] TCP와 UDP

TCP는 데이터를 안전하게 전송하기 위한 전송 계층 프로토콜입니다.HTTP, FTP, 이메일 등 신뢰성이 중요한 상황에서 주로 사용됩니다.TCP의 주요 특성:연결지향적 프로토콜데이터를 주고받기 전 송신자와 수신자 간 연결을 수립한 후 데이터를 전송합니다.연결을 위해서는

2025년 5월 20일
·
0개의 댓글
·

[네트워크] OSI 7계층

OSI 7 계층은 네트워크 통신과정에서 일어나는 일을 7가지 단계로 나눈 것을 말합니다.통신과정에서 일어나는 일을 단계별로 알 수 있으며, 특정한 곳에 이상이 발생하면 해당 단계만 수정하면 되기 때문입니다.예를 들어, 회사 내 모든 컴퓨터에서 문제가 발생한 경우 →

2025년 5월 19일
·
0개의 댓글
·

[Spring boot] Filter를 활용한 로그 관리

앞서 AOP를 사용한 로그 관리를 살펴보았다. 하지만 본인이 느끼기에 몇가지 문제가 있었다. 그래서 이번에는 AOP가 아닌 Filter를 활용하여 Spring boot에서 로그 관리를 해볼려고 한다. 1. 필터 구현 우선 본인은 아래와 같이 LogFilter를 구현했

2025년 4월 25일
·
1개의 댓글
·

[Spring boot] AOP를 이용하여 Logging 구현(feat. 문제점)

앞서 로그를 관리하기 위한 여러가지 도구들을 살펴보았고 결과적으로 Logback을 사용하기로 하였다.Logback을 통한 로그 설정이번에는 실제로 클라이언트가 서버로 API를 호출했을 때 어떻게 요청과 응답을 로깅할 수 있는지를 작성해볼려고 한다. 로깅은 보통 AOP,

2025년 3월 27일
·
0개의 댓글
·

[Spring] 운영서버에서 Swagger 막는 법

조간만 지금까지 만들어왔던 학점가방 서비스를 배포할 예정이다.배포 준비를 하면서 보안적인 부분을 하니씩 점검하고 있다. 해당 서비스는 Swagger를 사용해서 개발하고 있으며 API문서를 관리하기 위해 Swagger를 사용했다. 하지만 실제로 배포를 할려고 하니 운영서

2025년 3월 16일
·
0개의 댓글
·
post-thumbnail

[Spring Boot] FCM 구현 방법

Firebase Cloud Messaging(FCM)은 무료로 메시지를 안정적으로 전송할 수 있는 크로스 플랫폼 메시징 솔루션이다. 쉽게 이야기하면 서버에서 클라이언트로 메시지를 전달할 수 있는 서비스라고 생각하면 된다. 💡 교차 플랫폼(Cross-Platform)하

2025년 3월 12일
·
0개의 댓글
·
post-thumbnail

[Server] 어떻게 푸시 알림을 구현할까?

요즘 학점가방 서비스를 제작하면서 바쁜 나날을 보내고 있다.해당 서비스에는 학교 과제를 관리하는 기능이 있으며 팀장으로부터 과제 마감 전 푸시 알림을 전송하는 기능을 구현해달라는 부탁을 받았다.처음에는 단순히 FCM으로 구현해야지 생각했다가 다른 방식도 있지 않을까라는

2025년 3월 11일
·
0개의 댓글
·

부하테스트는 무엇이며 왜 하는걸까?

개인적으로 팀원들과 함께 개발하고 있는 학점가방 서비스를 조만간 배포할 예정이다. 그리고 배포 전에 문득 운영서버가 얼마나 많은 트래픽을 감당할 수 있을지 의문이 들었다. 이러한 의문을 해결하기 위해 부하테스트에 대해 공부하고 기록을 남기고자 한다. 부하테스트란? 부

2025년 2월 24일
·
0개의 댓글
·
post-thumbnail

Logback을 통한 Spring boot 로그 관리

현재 학점가방이라는 앱 서비스를 제작 중이며 나는 스프링 부트로 백엔드 개발을 맡고 있다. 지금까지 프론트엔드 개발자들이 API 연결과정에서 로그를 확인해야 할 때 직접 서버에 접속하여 docker logs 명령을 통해 콘솔로만 확인해왔다. 하지만 이 방식은 다음과 같

2025년 2월 20일
·
0개의 댓글
·
post-thumbnail

[Flutter] Gradle 버전 오류

그래서 오랜만에 플러터를 설치하고 실행하니 다음과 같은 오류가 발생하였다. Your project's Gradle version is incompatible with the Java version that Flutter is using for Gradle. 해당 오류를

2024년 11월 16일
·
0개의 댓글
·

Spring과 Spring Boot를 비교해보자

Spring과 Spring Boot는 둘 다 Java 기반의 애플리케이션을 개발할 때 사용하는 프레임워크지만, 목적과 편의성 면에서 차이가 있습니다.Spring은 Java 기반 애플리케이션을 개발하기 위한 오픈소스 프레임워크입니다. 의존성 주입(DI), AOP(Aspe

2024년 9월 22일
·
0개의 댓글
·
post-thumbnail

스프링 컨테이너인 ApplicationContext에 대해 알아보자!

스프링은 스프링 컨테이너를 이용하여 자바 객체의 생명주기를 관리합니다.스프링은 스프링 컨테이너로서 BeanFactory 라는 인터페이스르 제공하며 해당 인터페이스는 Bean을 관리하고 검색하는 기능을 제공합니다.ApplicationContext는 BeanFactory

2024년 9월 19일
·
0개의 댓글
·
post-thumbnail

스프링 컨테이너에 대해 알아보자(feat. IoC, DI)

이전 포스팅에서 스프링이 뭔지에 대해 간단하게 알아보았습니다. 그래서 이번에는 스프링의 핵심 아키텍쳐인 스프링 컨테이너에 대해 알아보고자 합니다. 그전에 몇가지 집고 넘어가야 할 개념들이 있어 빠르게 한번 알아보겠습니다. IoC(Inverse of Control) >

2024년 9월 18일
·
0개의 댓글
·
post-thumbnail

스프링(Spring)에 대해 알아보자!

스프링이란 무엇일까요? 해당 의문에 대해 정답을 찾기위해 일부 블로그를 찾아보았고 저에게 가장 와닿는 정의는 다음과 같았습니다. > **엔터프라이즈용 Java 애플리케이션 개발을 위한 오픈소스 경량 애플리케이션 프레임워크**

2024년 9월 13일
·
0개의 댓글
·

표준 스트림

우리가 키보드, 마우스같은 단말기를 통해 어떠한 데이터(문자, 파일)를 입력하게 되면 컴퓨터는 프로그램을 통해 그에 알맞는 데이터를 출력시켜준다.이러한 상황에서 사용되는 것이 표준스트림이다.표준스트림의 사전적 정의는 아래와 같다(출처 - 위키피디아)표준스트림(stand

2022년 1월 24일
·
0개의 댓글
·

보수와 뺄셈의 관계

보수란 각 자리의 숫자의 합이 어느 일정한 수가 되게 하는 수를 의미한다.여기서 말하는 일정한 수가 10이라면 4에 대한 10의 보수는 6이 되고 2에 대한 10의 보수는 8이 된다R진법에 대한 보수는 R-1의 보수와 R의 보수로 구분할 수 있다.R-1의 보수를 구하는

2022년 1월 21일
·
0개의 댓글
·