본문 바로가기

(2024-10) 스파르타 내일배움캠프 - 백엔드44

(2025-01-27) 트러블슈팅 Log 를 구현하는 과제에서 트랜젝션 문제가 있었다. @Transactional로 처리하며 매니저 등록이 실패해도 Log는 남기는 것이 목표였다. Spring의 @Transactional 어노테이션의 propagation 속성을 활용했다. 로그 저장을 담당하는 LogService의 writeLog 메서드에 @Transactional(propagation = Propagation.REQUIRES_NEW)를 적용하여 새로운 별도의 트랜잭션을 생성하도록 했다. 이를 통해 매니저 등록 트랜잭션이 롤백되더라도 로그 저장 트랜잭션은 영향을 받지 않고 커밋되어 로그가 항상 기록되도록 구현했다. 2025. 1. 27.
(2024-12-30) TIL: SQL 데일리루틴 1.데일리루틴(SQL) https://leetcode.com/problems/rising-temperature/직전 날짜의 기온보다 올라갔다면 해당 레코드를 반환하는 문제이다. 1)해답WITH lt AS ( SELECT id, temperature, recordDate, LAG(temperature, 1, null) OVER(ORDER BY recordDate) AS lastTemperature, LAG(recordDate, 1, null) OVER(ORDER BY recordDate) AS lastDateFROM Weather)SELECT idFROM ltWHERE temperature > lastTemperature AND DATE_SUB(reco.. 2024. 12. 30.
(2024-12-19) 트러블슈팅 . 2024. 12. 19.
(2024-12-16) TIL 데일리루틴(SQL)WITH n AS (SELECT DATE_FORMAT(sales_date, '%Y-%m-%d') AS sales_date, product_id, user_id, sales_amountFROM ONLINE_SALE),f AS ( SELECT DATE_FORMAT(sales_date, '%Y-%m-%d') AS sales_date, product_id, NULL AS user_id, sales_amountFROM OFFLINE_SALE),u AS(SELECT *FROM nunion distinctSELECT *FROM f)SELECT *FROM uWHERE MONTH(sales_date) = 0.. 2024. 12. 16.
(2024-12-03) TIL, 메모 과제 구조 이해하기 (추가중) 메모 만들기 실습을 하며 구조가 너무 복잡다단해 이해하기 어려웠다. 그 과정에서 생긴 내용을 API 수준으로 정리하려 노력하였다.  1) Create MemoMethod: POSTEndpoint: /memosDescription: Create a new memo.Request Body (JSON):{ "title": "string", "contents": "string" }Response (201 Created):{ "id": 1, "title": "string", "contents": "string" } MemoController.createMemo(requestDto: MemoRequestDto) : ResponseEntity └── MemoService.saveMemo(requestDto: M.. 2024. 12. 3.
(2024-12-02) TIL 1.Servelet 코드 이해 @WebServlet("/hello-world")public class HelloWorldServlet extends HttpServlet {이 예제는 Java Annotation 문법으로 쓰였다. 그러나 "/hello-world" 부분이 바로 이해되지는 않아서 찾아보았다. 알아보니 서버 지식과 맞물려 있었다.문자열 "/hello-world"는 서블릿이 HTTP 요청을 처리할 URL 패턴을 지정한다. 이 경우, 클라이언트가 http://://hello-world에 요청을 보내면 HelloWorldServlet 클래스가 이를 처리하게 됩니다.    2.TCP 이해1) 특징 첫번째: 논리적인 과정으로 '연결'을 확인한다. 1단계: 연결하기----------------------.. 2024. 12. 2.