분류 전체보기 128

c 드라이브 부족으로 d 드라이브에서 가져오기

1. d 드라이브 외장하드에 따로 백업 2. d 드라이브 페이징 파일 삭제 3. d 드라이브 복구 파티션 제거 4. 디스크 관리에서 삭제5. c 드라이브 용량 확장 6. 남은 공간 다시 d 드라이브 할당 7. 모든 드라이브에 대한 페이징 파일 크기 자동 관리 체크 다시 체크를 안 해주면 메모리 관리가 안돼서 크롬만 켜도 메모리 부족 현상 발생한다. 인텔리 제이가 계속 자동으로 꺼져서 다시 설치 계속 하는 삽질 함...

모델링 작업

※ 실제 테이블 구조가 아닌 이해를 돕기 위해 간단하게 재구성 한 구조 입니다. 이해를 돕기 위해 변경 전 테이블 구조를 먼저 보여주고 고도화 요구사항을 설명하고 변경한 테이블 구조에 대해서 설명합니다. index, 데이터 양을 중점으로 생각해서 테이블을 설계하였습니다. 마지막에는 index에 대해서 정리한 내용을 설명합니다. 변경 전 테이블 구조 흐름 1. 고객 정보를 등록 2. 메신저를 보낸다 -> 소통 내용 태이블에 INSERT -> 소통 ID를 고객별 마지막 소통 ID 컬럼에 UPDATE 3. 고객별 대화 내용 조회 (쉽게 말해서 카카오톡에서 대화 목록을 보여준다고 생각하면 된다. 대화 목록에는 마지막으로 연락한 메세지 내용이 보인다.) -> 소통 내용에 많은 데이터가 쌓이기 때문에 LATEST_..

오라클 실행계획 보기

참고 https://bae9086.tistory.com/181 Oracle 무료 DB관리툴 SQL Developer - Plan/Trace 확인하기 (실행계획/트레이스) (tistory.com) Oracle SQL Developer에서 Trace(자동추적) oracle sql developer에서 F6 단축키 사용 - LAST_CR_BUFFER_GETS : SQL을 실행하면서 각 단계에서 읽어온 블록(Block) 갯수 - LAST_ELAPSED_TIME : 경과시간 => LAST_CR_BUFFER_GETS, LAST_ELAPSED_TIME 가 적을 수록 좋다 힌트 사용 1. 실행할 쿼리에서 select 뒤에 /*+Gather_pan_statistics */ 를 붙여서 실행계획을 읽는다. 2. SQL_ID..

JPA 관련 메모

Pageable 인터페이스 : 페이징 처리에 사용되는 인터페이스입니다. 페이지 번호, 페이지 크기, 정렬 조건 등을 설정하는 역할을 합니다. Sort 클래스 : Pageable 인터페이스이스에서 사용 되는 클래스입니다. 페이징 처리 결과를 정렬할 때 사용합니다. Order 클래스 : Sort 클래스의 내부 클래스입니다. 정렬 정보를 가지고 있는 클래스입니다. package org.springframework.data.domain; . . public class Sort implements Streamable, Serializable { private static final long serialVersionUID = 5737186511678863905L; private static final Sort UN..

코딩 메모

java ABean abean = Arrays.stream(리스트) .filter(조건) .findAny() .map(m -> { // 조건에 맞게 있으면 Bean 객체로 만들어서 반환 ABean abean = new ABean (); bean.setA(m.getA()); return abean } ).orElse(null); // 조건에 맞는 값 없으면 null stream().findAny() 스트림 병렬 스트림에서 여러 쓰레드가 동시에 작업하므로 먼저 처리된 요소가 반환될 수 있다. 스트림의 요소 순서가 중요하지 않거나 어떤 요소여도 상관 없을 때 사용합니다. 또한 빠르게 결과를 내고 싶을 때 사용합니다. 인터페이스에 중첩 추상클래스? interface A { abstract class Data {..

스프링 / JAVA / JPA / Network / DB / infra / 업무

스프링 스프링을 사용하는 이유가 뭔가요? 스프링은 자바 기반 어플리케이션을 개발하는데 도움을 주는 프레임워크이고 POJO 로 개발을 할 수 있게 AOP, IOC, PSA 같은 기술들을 지원해주기 때문에 사용합니다. 우선 스프링은 프레임워크이기 때문에 이미 만들어진 기술을 가져다 사용할 수 있고 정형화된 구조로 개발을 할 수 있다는 장점이 있습니다. 스프링은 자바로된 프레임워크이고 자바는 객체지향 언어입니다. 스프링 프레임워크는 객체지향 프로그래밍의 성질인 다형성을 이용해서 IOC, DI 기능을 지원하기 때문에 스프링을 사용합니다. 추가적으로 AOP 기능 , 스프링MVC 기능도 스프링을 사용하는 이유가 될 수 있습니다. spring 기본 요약 (사용 이유, 객체지향, IOC/DI/container, 빈 등..

좋아요 기능 동시성 처리

요약 : 좋아요 service에 redis 분산 락 처리를 하여 동시성 테스트 완료 1차 커밋 : feat : 좋아요 기능 추가(redis를 사용한 동시성 처리, queryDSL 사용), board test code 추가 · jeoningu/Springboot-JPA-Blog@3726ea1 (github.com) 1. 좋아요 service 멀티쓰레드 동작시 갱신손실 문제 동시성 처리를 해주지 않으면 좋아요 service를 테스트 코드에서 멀티쓰레드로 동작시켰을 때 동시성 테스트에 통과하지 못 합니다. 동시성 테스트를 해봤을 때 아래 로그에서 볼 수 있듯이 여러 쓰레드로 한 자원에 대해서 update를 하려고 할 때 이전 쓰레드에서 update를 하기 전 값을 select함으로써 이전 쓰레드에서 updat..

Project & Issu 2023.05.04