전체 글411 [EasyMarket] 트랜잭션, 꼭 서비스에서 시작해야 할까? 애플리케이션에서 데이터베이스 작업은 대부분 트랜잭션 내에서 처리된다.트랜잭션은 데이터의 일관성과 안정성을 보장하는 중요한 메커니즘으로, 이를 적절히 관리하지 않으면 성능 저하나 불필요한 리소스 소모를 초래할 수 있다.특히, 트랜잭션의 시작 지점(entry point)을 잘못 설정하면 커넥션 풀 고갈 문제를 일으킬 수 있으며, 이로 인해 애플리케이션 전체 성능에 부정적인 영향을 미칠 수 있다.따라서 트랜잭션을 적절하게 관리하는 것은 애플리케이션 성능에 매우 중요하다.보통 트랜잭션의 선언은 서비스 계층에서 이루어지며, Spring에서는 @Transactional 애노테이션을 사용하여 트랜잭션을 관리한다.나는 트랜잭션 최적화를 위해 서비스 계층에서 클래스 레벨에 @Transactional(readOnly = .. 2025. 2. 26. [JAVA] 프로그래머스 LEVEL2 지게차와 크레인 https://school.programmers.co.kr/learn/courses/30/lessons/388353 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr코딩테스트 연습 > 2025 프로그래머스 코드챌린지 1차 예선 > 지게차와 크레인 난이도: LEVEL2알고리즘 유형: 시뮬레이션문제 정리request[i] 길이가 1이면 지게차 길이가 2이면 크레인을 사용 지게차: 컨테이너 4면 중 적어도 1면이 외부와 연결된 컨테이너를 제거 크레인: 요청된 종류의 모든 컨테이너를 제거 request[i] 길이로 지게차, 크레인이 구분되지만 알파벳 종류는 하나, 무조건 대문자이다문제 접근먼저 크레인 로직은 .. 2025. 2. 18. [JAVA] 프로그래머스 LEVEL2 서버 증설 횟수 https://school.programmers.co.kr/learn/courses/30/lessons/389479 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr코딩테스트 연습 > 2025 프로그래머스 코드챌린지 2차 예선 > 서버 증설 횟수 난이도: LEVEL2알고리즘 유형: 구현?문제 접근 우선순위 큐에 증설된 서버를 넣어준다.우선순위 큐는 int [] 배열을 가진다.int [0] = 서버의 만료 시간 (서버 증설 시간 + k) int [1] = 증설된 서버의 개수 우선순위 큐는 만료 시간이 빠른 순서대로 정렬한다players 배열 (0 ~ 23) for문을 돌면서 증설된 서버가 만료되면 내려주고 .. 2025. 2. 17. [JAVA] 프로그래머스 LEVEL2 완전범죄 https://school.programmers.co.kr/learn/courses/30/lessons/389480 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr코딩테스트 연습 > 2025 프로그래머스 코드챌린지 2차 예선 > 완전 범죄 난이도: LEVEL2알고리즘 유형: 다이나믹 프로그래밍 - DP 완전 탐색 풀이 import java.util.*;class Solution { static int answer = Integer.MAX_VALUE; static int N,M,size; public int solution(int[][] info, int n, int m) { .. 2025. 2. 17. [EasyMarket] 세션 VS JWT 토큰 방식 세션 방식 (Session-Based Authentication)간단한 동작 방식 정리클라이언트가 로그인 요청을 하면 서버가 인증 후 세션 ID를 생성세션 ID는 서버의 메모리에 저장클라이언트는 이 세션 ID를 쿠키에 저장하여 매 요청 시 서버로 전송서버는 요청마다 세션 ID를 확인하고 해당 세션의 정보를 조회하여 인증 처리장점구현이 간단하다스프링 시큐리티를 사용하면 간단한 설정으로 세션 기반 인증, 인가 아키텍처를 사용 가능서버와 클라이언트 간 구조가 직관적서버에서 세션을 보관하기 때문에 쉽게 무효화하거나 관리할 수 있다단점서버 확장성세션 정보를 서버에 저장하기 때문에 서버가 수평 확장되면 세션 동기화 문제가 있다.스프링 시큐리티는 세션 정보를 공유할 수 있는 메커니즘을 제공한다또는 레디스 같은 분산 .. 2025. 2. 7. [회고] 2024년 회고 개요2024년 회고이지만 백엔드로 진로를 결정하는 시점부터 현재까지의 전체 타임라인을 정리해 보려고 합니다 재미있게 읽어주시면 감사하겠습니다 ~나는 왜 많고 많은 직업 중에 웹 개발자를 선택했을까? 대학 생활을 잠깐 뒤돌아보면 1학년부터 2학년 1학기까지 신나게 놀다가 (학점을 다 망치며) 군대를 다녀왔는데 군대에서 앞으로의 내 인생에 대해서 불안감이 생겼고 무엇을 해야 하나라는 고민이 생겼다.그때 내린 결론은 학과에서 밀어주는 분야가 반도체였고 해당 분야가 적성이 맞는지 체킹 해보자 였다. 복학을 하고 나서는 학점도 잘 챙기면서 반도체 쪽에서 사용하는 C언어 기반인 프로그래밍 언어인 VHDL, Verilog 학습하고 프로젝트를 했는데 이때 코딩은 재미있는 것이구나라는 생각이 처음으로 들었다. 하지만 이.. 2024. 12. 31. 이전 1 2 3 4 ··· 69 다음