본문 바로가기
반응형

전체 글458

재귀적 CTE(Common Table Expression) SQL 에서 반복적인 계산을 수행하거나 계층적 데이터를 쉽게 처리할 수 있도록 도와주는 기능이다.임시 결과 집합을 정의하는데, 재귀적 CTE는 자기 자신을 참조하여 반복적으로 확장할 수 있다. 수많은 테스트 더미 데이터를 추가할 때 효과적이다. 앵커 멤버: 재귀가 시작되는 기본 쿼리재귀 멤버: 앵커 멤버의 결과를 바탕으로 반복적으로 실행되는 쿼리WITH RECURSIVE cte_name AS ( -- 앵커 멤버 SELECT ... UNION ALL -- 재귀 멤버 SELECT ... FROM cte_name WHERE ...)SELECT * FROM cte_name; 예시로 유저 데이터를 10,000 개 삽입하는 쿼리를 재귀적 CTE 로 구현cte_max_resurs.. 2024. 8. 1.
Mac QuickTime Player 저장되지 않은 화면 기록 찾기 open $TMPDIR T > TemporaryItems 널 찾고있었다고...ㅠㅠ역시 있을줄 알았다 있어줘서 정말 고마워  참고https://4ddig.tenorshare.com/kr/mac-recovery-solutions/recover-unsaved-deleted-quicktime-recording.html [2024] Mac에서 저장되지 않거나 삭제된 QuickTime 녹화물을 복구하는 세가지 방법Mac에서 저장되지 않은 QuickTime 녹화물을 어떻게 복구할까요? 비워진 휴지통에서도 Mac에서 삭제된 QuickTime 녹화 물을 복구하는게 가능한가요? 여기 자세한 가이드 라인을 보고 3가지 해결법을 찾4ddig.tenorshare.com 2024. 7. 31.
[Redis] Redisson vs Lettuce vs Spring data redis 요약• Redisson: 다양한 고급 기능을 제공하며 분산 환경에서 유용하지만, 설정이 복잡할 수 있음.• Lettuce: 고성능 비동기 작업과 리액티브 프로그래밍에 적합하며, 클러스터 모드 지원. 그러나 사용법이 비교적 복잡.• RedisTemplate: Spring 프로젝트와의 통합에 적합하며, 사용이 간편하지만, 고성능 비동기 작업 처리에는 다소 제한적. Redisson특징 • Redis를 Java 객체처럼 다룰 수 있게 해주는 라이브러리. • 다양한 Redis 데이터 구조(맵, 세트, 리스트 등)를 Java 객체로 직접 사용할 수 있게 함. • 비동기, 동기, 반동기 API 제공. • Redis 기반의 분산 락, 세마포어, 큐 등 다양한 고급 기능 제공. 장점 • 분산 환경에서 유용한 다양한 기능.. 2024. 7. 31.
트랜잭션 전파 ≣ 목차//// Source code recreated from a .class file by IntelliJ IDEA// (powered by FernFlower decompiler)//package org.springframework.transaction.annotation;public enum Propagation { REQUIRED(0), SUPPORTS(1), MANDATORY(2), REQUIRES_NEW(3), NOT_SUPPORTED(4), NEVER(5), NESTED(6); private final int value; private Propagation(int value) { this.value = value; } .. 2024. 7. 26.
Redis Redis메모리형 DB 서버key 획득 로직(공통 구성) - wrapperconfigDocker 설정docker pull redisdocker imagessudo docker run -p 6379:6379 redisdocker psdocker exec -it bd716a02092f /bin/bashRedis 접속redis-cliKey-Valueset first "fighting"set random22222 "test2"lock 점유 및 해제setnx reservation "lock"del reservationTTL 설정expire reservation 10  Medis 로 GUI 확인 가능 2024. 7. 23.
Transaction ≣ 목차트랜잭션을 잘게 나누면 보정배치가 쉬워지고 트랜잭션이 왜 실패했는지 추적할 수 있다.충돌 횟수를 고려하여 락 종류를 선택한다.자기 자신만 접근하는 로직일 경우 충돌이 적을 확률이 높아진다.트랜잭션 작은 단위로 나눌 시, Manager (application 계층) 추가 또는 service 에서 필요한 repository 를 DI 받아서 하나의 메서드에서 처리한다.만약 연관 관계가 맺어져있다면?reservation.getUser().usePoint(amount)exception 이후에 코드가 실행되지 않는지 체크하고 테스트 할 필요성이 있다.트랜잭션 사용 논리적 흐름구분해서 고려할 필요가 있다.실제 비즈니스 기반의 로직시스템 입장에서의 로직동시성 제어트랜잭션공유락, 배타락 = 트랜잭션 동시성 제어 .. 2024. 7. 23.
[Docker] Database docker-compose 구축(mysql, redis) ≣ 목차Docker 설치https://www.docker.com/ Docker: Accelerated Container Application DevelopmentDocker is a platform designed to help developers build, share, and run container applications. We handle the tedious setup, so you can focus on the code.www.docker.com 도커 컴포즈는 개발 환경 세팅이라고 생각하고, 프로젝트 파일과 별개로 docker-compose.yml 파일을 생성해도 된다.docker-compose.yml 파일을 열고 작성한다.vi docker-compose.yml docker-compose.ym.. 2024. 7. 22.
50% 달려온 항해 플러스 5기 백엔드 중간 후기 (feat. 테스트 코드도 못 짰던 내가 맞나? 가슴이 웅장해진다.) 수료 후기는 여기! 할인 코드도 있어요https://cojyeon.tistory.com/323 하얗게 불태웠다... 항해 플러스 5기 백엔드 수료 솔직 후기! (할인코드 있음 😎)안녕하세요~~~~~!!!!!!!!드디어!!! 10주 간의 여정을 끝마치고 후기로 돌아온 코딩하는 젼이입니다 😜재밌게 봐주시고, 마지막에 할인 코드도 있으니까 할인 혜택도 받아가세요! 사담이 많아서 필cojyeon.tistory.com   안녕하세요 코딩하는 젼이입니다 😎항해 플러스 5기를 달려온지 벌써 5주차가 지나고 이번주 부터 6주차가 시작되었습니다.6주차를 시작하기 전에 챕터 회고를 하고자 합니다. 그 전에 저를 잠깐 소개하자면, 저는 1년 동안 중견 기업에서 이커머스 PHP 개발자로 일했었고회사 재정 상황이 안 좋아.. 2024. 7. 20.
동시성 프로그래밍을 위한 유용한 클래스와 인터페이스 ≣ 목차# 요약ExecutorService: 스레드 풀을 추상화한 인터페이스로, 작업을 제출하고 실행하는 기능을 제공한다.Executors: 다양한 유형의 스레드 풀을 생성하는 팩토리 메서드를 제공하는 유틸리티 클래스이다.CountDownLatch: 다른 스레드가 주어진 작업을 완료할 때까지 대기하는 동기화 도구이다.CompletableFuture: 비동기적으로 작업을 실행하고 결과를 처리하는 클래스로, 다양한 비동기 작업 처리 기능을 제공한다.ExecutorService스레드 풀을 추상화한 인터페이스이다. 주어진 작섭을 실행하고 관리하는 기능을 제공한다.ExecutorService executorService = Executors.newFixedThreadPool(10); // 스레드 풀 생성// 작업.. 2024. 7. 16.
728x90
반응형