일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 소프트웨어
- AWS
- 국비
- 99일지
- 개발자스터디
- 개발자블로그
- 스파르타내일배움캠프
- Python
- Spring
- 백준
- 운영체제
- 항해
- 개인공부
- 컴퓨터개론
- 컴퓨터구조론 5판
- 코딩테스트
- wil
- 스파르타코딩클럽
- 프로그래머스
- til
- 중심사회
- java
- 스파르타내일배움캠프WIL
- 부트캠프
- MySQL
- 99클럽
- 자바
- 스파르타내일배움캠프TIL
- 내일배움캠프
- Flutter
- Today
- Total
목록💚 Spring (11)
컴공생의 발자취
프로젝트를 진행하면서 기한을 맞추기 위해 초기의 코드들은 전부 JPA를 사용했다. 근데 기한에 맞추기 위한 코딩을 하다보니 하나의 쿼리를 조회하면 N+1문제로 무수히 많은 쿼리가 생성되었다. 이를 개선하기 위해 팀원들과 의논 후 기간이 한정되어 있기에 조회부분만 QueryDSL을 도입했다. 그 결과 전체 성능이 51.39% 향상되었다. 성능 향상 후 비교했던 기능은 상품 조회, 마이페이지, 채팅방 조회 이렇게 3개의 기능이었다. 해당 포스팅은 어떤 점에서 문제가 발생했으며 최적화 전후의 성능 차이를 비교한다. 성능 문제점초기의 JPA만 사용한 코드는 빠르게 진행하는 데에 도움이 되었지만, 성능 저하를 발생시켰다. 특히 상품 전체 조회, 마이페이지 내 상품 조회, 채팅방 조회 등과 같이 조회 부분에서 두드..
2024.07.09.(화) 💡 오늘의 학습 키워드QueryDSL 의존성 추가QueryDSL 사용해보기 QueryDSL 의존성 추가https://github.com/ysy56/JPA-QueryDSL/commit/426b12568779d3a5c0c9aff2ca2b2abdb4a37a77 build : QueryDSL 의존성 추가 · ysy56/JPA-QueryDSL@426b125ysy56 committed Jul 9, 2024github.com QueryDSL 사용해보기https://github.com/ysy56/JPA-QueryDSL/commit/9137ede929c242cacc2c83085870d018fce4fe70 update : JpaQueryFactory 생성 · ysy56/JPA-QueryDSL@..
2024.06.28.(금) 💡 오늘의 학습 키워드- JPA 심화 4주차 -ORMRepository vs JpaRepositoryRawJPAEntity 코드 정리CascadeorphanRemovalCascade.REMOVE vs orphanRemovalFetchJpaREpository페이지 반환 타입정렬JPQL- JPA 심화 5주차 -QueryDSL @DynamicInsert & DynamicUpdate ORM (Object Relation Mapping): 테이블을 하나의 객체(Object)와 대응시켜 버린다. * 탄생 이유QueryMapper의 DB 의존성 및 중복 쿼리 문제로 탄생객체지향(Object)을 관계형 데이터베이스(Relation)에 매핑(Mapping) 한다는 건 정말 많은 난관 * ..
💡 오늘의 학습 키워드- AWS의 모든 것(All about AWS) 2주차 -MFA 추가하기- JPA 심화 2주차 : 데이터베이스 다루기 -데이터베이스 생성(H2)트랜잭션데이터베이스 Driver 동작 방식 JDBC 드라이버Statement vs PreparedStatementJDBC Template(Query Mapper) - JPA 심화 3주차 : RawJPA 기본 -MyBatis MFA 추가하기2024.06.27 - [🧡 AWS] - [AWS] MFA 추가하기 feat. 루트 사용자 ( + MFA 코드 2개? ) [AWS] MFA 추가하기 feat. 루트 사용자 ( + MFA 코드 2개? )* 들어가기에 앞서서이제 사용자 추가했으면 MFA라는 것을 추가해야 한다고 하는데..아니 하다가 안되서 왜..
2024.06.13.(목) 💡 오늘의 학습 키워드- Spring 심화주차 1주차 -mockito단위 테스트 vs 통합 테스트Security TestMockBean Spring AOP(어드바이스, 포인트컷) mockito: 단위 테스트를 위해 모의 객체를 생성하고 관리하는 데 사용되는 Java 오픈소스 프레임워크 실제 객체의 동작을 모방하는 모의 객체(Mock Object)를 생성하여 코드의 '특정 부분을 격리'시키고 테스트하기 쉽게 만들어 준다.주로 단일 컴포넌트의 동작을 테스트하는 데 사용되며 클래스 내의 개별 메서드나 함수, 서로 다른 클래스 또는 컴포넌트 간의 상호작용, 객체들 간의 협업 등을 테스트할 수 있다.@MockProductRepository productRepository;@MockF..
2024.06.12.(수) 💡 오늘의 학습 키워드- Spring 심화주차 1주차 -kakao 동의항목 이메일 선택SimpleJpaRepository(save)@DisplayName@Nested@TestMethodOrder & @Order@RepeatedTest@ParameterizedTest & @ValueSourceassert 메소드given - when - then 패턴 kakao 동의항목 이메일 선택Kakao 동의항목에서 이메일을 선택하려고 보니 아래 사진과 같이 '카카오계정(이메일)' 부분이 권한이 없다고 나와있었다... 1. '개인정보 동의항목 심사 신청'을 클릭한다. 2. '비즈 앱 전환'을 클릭한다. 3. '개인 개발자 비즈 앱 전환'을 클릭한다. 4. 그러면 아래와 같이 개인 개발자 비..
💡 오늘의 학습 키워드- 2주차 -@OneToOne & @JoinColumn@ManyToOne@OneToMan@ManyToManyfetch(@OneToMan & @ManyToOne)영속성 전이orphanRemoval @OneToOne & @JoinColumn@OneToOne 애너테이션 : 1대 1관계를 맺어주는 역할* mappedBy의 속성 값은 외래키의 주인인 상대 entity의 필드명 (양방향일 때 사용)@JoinColumn(name = "이름") : 외래키 주인 entity에서 활용해야 함* 예시 코드 (더보기 ..Click)더보기* 음식 Entity가 외래 키의 주인인 경우!음식@Entity@Table(name = "food")public class Food { @Id @Gener..
💡 오늘의 학습 키워드- 개인과제 -ResponseEntityExceptionHandlerSwaggerValidation ResponseEntity: HTTP 요청(Request) 또는 응답(Response)에 해당하는HttpHeader와 HttpBody를 포함하는 클래스 내가 작성한 코드(더보기 ..Click)더보기* CommonResponse.javapackage com.nbcamp.agendaappserver;import lombok.Builder;import lombok.Getter;import lombok.Setter;@Getter@Setter@Builderpublic class CommonResponse { private Integer statusCode; private Strin..
💡 오늘의 학습 키워드- Spring 입문주차 2주차 -IoC & DIMySQL CLC 명령어@Component & @Autowired3 layer 애너테이션ORM필수 패키지영속성 컨텍스트트랜잭션Entity 상태 IoC & DI: DI를 통해 IoC를 지킨다.IoC(제어의 역전) : 설계원칙DI(의존성 주입) : 디자인 패턴 MySQL CLC 명령어show databases; : 현재 몇 개의 데이터베이스가 있는지 확인 명령use database명; : 해당 database를 사용할 때 쓰는 명령어show tables; : 해당 데이터베이스에 어떤 테이블이 있는지 확인할 때 쓰는 명령어create database database명; : 데이터베이스 생성 명령어 * 참고한 블로그 Windows 환경에서..
💡 오늘의 학습 키워드- Spring 입문주차 2주차 -DTOSQLCREATE 제약조건3 Layer Architecture - 코드카타 : SQL -날짜 데이터 일부만 추출 IFNULL 사용하기 DTO(Data Transfer Object): 데이터 전송 및 이동을 위해 생성되는 객체 SQL(Structured Query Language): RDBMS에서 사용되는 언어 / Database에서 조작하고 관리하기 위해서는 SQL 언어를 사용DDL(Data Definition Language)?테이블이나 관계의 구조를 생성하는데 사용CREATE, ALTER, DROP, TRUNCATEDCL(Data Control Language)?데이터의 사용 권한을 관리하는데 사용GRANT, REVOKEDML(Data M..