본문 바로가기

생각정리/기타

(15)
한 주 정리 : 24_05 3주차 이번 주 목표정리한 개념 및 CS용어를 체득시키기토이 프로젝트에 최적화 적용하고 추가 기능 처리 해보기진행 내용토이 프로젝트에 최적화 적용하고 추가 기능 처리 해보기토이 프로젝트에서 유저 연관관계에서 발생한 문제로 인해 불필요하게 사용되는 쿼리를 연관관계를 수정해 발생하지 않도록 고치고 게시글 상세 정보 조회 시 댓글의 유저 정보를 가져오는 상황에서 발생하는 N + 1문제를 최적화해 해결하였다.좋아요 기능에 적용한 레디스를 구체화시키고, 캐시를 데이터베이스에 적용하는 부분은 구현 중에 발생하는 문제를 잡지 못해 좀 더 확인을 해봐야겠다.정리한 개념 및 CS용어를 체득시키기학습하고 정리한 내용들을 한동안 안보고 다시 보니 완전히 이해했다고 했던 부분도 먼가 한 군데씩 부족해 보이는 부분들이 보였다. 확실히..
한 주 정리 : 24_05 2주차 이번 주 목표토이 프로젝트에 최적화 적용하고 추가 기능 처리 해보기김영한의 실전 자바 - 중급 1편 강의 시청 및 내용 정리진행 내용토이 프로젝트에 최적화 적용하고 추가 기능 처리 해보기토이 프로젝트에서 프론트 부분이 만들어져 있지 않아 개인적인 욕심으로 프론트 부분을 리엑트를 이용해서 어느 정도는 나오면 좋을 것 같아 최적화를 적용하기 전에 추가하는 작업을 하고 있지만, 생각보다 예전의 리엑트의 느낌과 달라진 게 있어 바로바로 화면을 만들지는 못하였다. 현재 게시글 관련 화면을 추가하였고 다른 화면들이 추가되면 최적화등을 해보면서 체득하는 과정을 해봐야겠다.김영한의 실전 자바 - 중급 1편 강의 시청 및 내용 정리기본적으로 사용하던 String과 시간 관련 클래스들의 자세한 내용을 파악할 수 있었고, ..
한 주 정리 : 24_05 1주차 이번 주 목표다양한 방법을 이용한 동시성 제어 해보고 비교해 보기 (일반 DB, JPA, 레디스등)진행 내용잘된 점동시성 제어 JPA와 Spring Data JPA를 이용해서 낙관적 락과 비관적 락 방식으로 동시성 제어 코드를 테스트하고 작동 방식을 이해할 수 있었다.JPA 락과 Redis의 분산락처리와 비교하면서 동작을 이해할 수 있었다.동시성 제어를 개념으로만 정리한 것을 실제로 사용하면서 동작에 대한 이해를 좀 더 할 수 있었다. 먼저 비관적 락방식이 가장 간편하게 동시성 문제를 해결할 수 있었다. 낙관적 락은 애플리케이션 계층에서 후처리를 통해서 동시성 이슈를 컨트롤해야 하는데, 로직을 구성하는 게 상당히 까다로웠다. 예외처리에서 동시성 충돌을 잡아 얼마나 재시도를 해줄지 어떻게 재처리를 하고 이..
한 주 정리 : 24_04 4주차 이번 주 목표QueryDSL 문법과 활용법 익히기다양한 방법을 이용한 동시성 제어 해보고 비교해 보기 (일반 DB, JPA, 레디스등)진행 내용잘된 점실전! Querydsl 강의 Querydsl의 문법을 익히면서 JPA와의 사용하는 방법과 비교를 할 수 있었습니다.프로젝션 결과 반환을 DTO로 하면서 활용할 수 있는 방법을 익힐 수 있었습니다.다양한 방법의 동적 쿼리를 활용하는 방법을 알 수 있었습니다.부족한 점다양한 방법으로 데이터 활용 해보기생각보다 쿼리를 사용해 보면서 여러 가지 이용 방법을 생각해 보면서 만들어 보려고 하니 생각보다 어떤 식으로 구조를 짜는지부터가 시간이 많이 걸렸다. 기본적인 쿼리 사용을 하다 보니 동시성 제어를 해보지는 못했지만, JPQL을 다루는 데는 조금 익숙해지는 느낌이 ..
한 주 정리 : 24_04 3주차 이번 주 목표 QueryDSL 문법과 활용법 익히기 DB에 관한 내용을 정리하기 (커넥션 풀, 트랜잭션 등) 진행 내용 잘된 점 스프링 DB 1편 -데이터 접근 핵심 원리 강의 커넥션풀과 데이터소스의 개념과 동작방식을 이해할 수 있었습니다. 트랜잭션의 개념과 트랜잭션이 예전의 사용법에서 현재 어떤 식으로 변화되어 왔는지를 통해 문제를 극복한 방법과 어떻게 동작을 하고 있는지를 이해할 수 있었습니다. 자바의 예외처리와 스프링의 예외처리 내용 정리 부족한 점 QueryDSL 내용을 정리할려고 했지만 하지 못했다. 매일 3곳 이상의 업체에 지원하기 실패 이번주 먼가 집중이 안 되는 한 주가 된 거 같다. 준비 기간이 길어지면서 어떤 점이 부족한지를 다시 한번 돌아보며 생각을 정리를 하면서 원래 하려고 했던 부..
한 주 정리 : 24_04 2주차 진행 내용 엔티티 간의 연관관계가 다양하게 설정되어 있을 경우, 조회 시에 발생하는 쿼리를 최적화해서 N + 1문제와 성능을 향상할 수 있는 방법을 정리하고 Spring Data JPA을 사용하였지만, 공통 인터페이스를 메서드 이름으로 쿼리를 생성하는 위주로의 활용을 하여서 Spring Data JPA의 다양한 활용방법을 알아보고 이해할 수 있도록 하였습니다. 추가적으로 실무에서도 JPA나 Spring Data JPA중 하나만을 사용하는 것이 아닌 같이 사용하면서 적합한 곳에 사용할 수 있도록 파악해 이해력을 높일 수 있도록 하였습니다. 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 주문 조회 API를 xToOne 연관관계를 기준으로 엔티티를 DTO로 변환하는 방법과 JPA에서 DTO..
한 주 정리 : 24_04 1주차 진행 내용 JPA를 바로 JDBC 템플릿으로 예전에 사용해 보고 바로 Spring Data JPA를 이용해서 데이터베이스를 설계하고 사용을 하다 보니 편리함이 매우 커 사용하기에는 편했습니다. 하지만 점차 쿼리를 최적화 하는 단계에서는 영속성 컨텍스트에 대한 이해가 부족했고, 쿼리를 직접 작성해서 사용하기 위해서는 사용하는 문법에 차이가 발생하고 JPA와 Spring Data JPA의 차이에서도 사용하는데 문제가 생겼는데, 문제가 발생하는 하나하나에서 찾아보기보다 처음부터 한번 내용을 이해를 잡고 가기 위해서 JPA에 대한 전반적인 내용을 사용해 보면서 정리하는 시간을 가졌습니다. 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 강의 듣기 회원, 상품, 주문 도메인이 있는 요구사항을 분석하고..
한 주 정리 : 24_03 4주차 강의 학습 강의 스프링 핵심 원리 - 기본편 모든 개발자를 위한 HTTP 웹 기본 지식 학습 목표 스프링 핵심 원리인 스프링 컨테이너, 의존관계에 관한 이해력을 높이고 객체 지향 설계 원리 정리 및 웹 관련 CS 정리 얻어 간 내용 객체 지향 설계의 5원칙 SOLID : SOLID원칙을 하나하나 개념적으로만 알고 있었던 부분을 실제 서비스를 이용해서 왜 해당 원칙을 지켜야 하고 안 지킬 경우의 어떻게 문제가 되는지 해당 문제를 어떤 식으로 해결해 원칙을 지켜나갈 수 있는지를 알 수 있었습니다. 스프링 빈의 이해 : 스프링 빈을 어떻게 생성하고 작동하는 지를 자바 문법으로만 구현을 해보면서 정확히 어떤 식으로 작동하고 해당부분을 스프링이 자동으로 처리해주고 있느지를 알 수 있어 스프링 컨테이너를 활용해 빈..