https://www.grepiu.com/post/9
자료 구조
hashmap
linkedhashmap
해시 충돌과 완화 방법으로 hashmap은 separate chaining 기법을 사용하며, 한 버킷에 중복되는 index를 가진 entry를 나열한다. -> 단점으로는 최대 O(n)이 일어날수있다. 하지만 버킷이 많이없으므로 메모리 비용을 아낄수있다.
hashset
linkedhashset
arraylist
linkedlist
https://velog.io/@95qwer/%EC%9E%90%EB%B0...
왜?
팝업 테이블에는 1:N 관계로 이용권, 장치, 이미지 등이 존재하였다.
요구사항
매번 팝업을 등록 시 기존에 중복되는 팝업 valid
(이용권+기간+장치를 체크, 중복되는 팝업이 없는지 체크)
poc / 이용권 / 기간 하나라도 겹치는것이 있다면 노출 불가
전체(all) 등록시 -> [전체(all), 유료(paid) 이용권별, 무료(free)] 노출기간 중복 체크
무료(free) 등록시 -> [전체(all), 무료(free)] 노출기간 중복 체크
유로(paid) 등록시 -> [전체(all), 유료(...
왜?
캐시를 활용할때 어떤 차이가 있으며, 어떤 효과를 지녔는지?
spring-cache + ehcachebuild.gradle123456//ehcacheimplementation 'org.springframework.boot:spring-boot-starter-cache'implementation 'org.ehcache:ehcache:3.10.0'// JSR-107 API를 사용하기 위함implementation 'javax.cache:cache-api...
왜?
AOP 등등 다양한 기술을 spring 에 접목하기위함
크게 5가지 기술과 디자인 패턴한다.
쓰레드 로컬
패턴들(템플릿 메서드 패턴, 콜백 패턴, 프록시 패턴, 데코레이터 패턴)
동적 프록시 기술
빈 후처리
AOP
로그추적기V0 (가장 단순한 구조) C-S-R123456789101112@RestController@RequiredArgsConstructorpublic class OrderControllerV0 { private final OrderServiceV0 orderService; @GetM...
2023년 목표 체크리스트 달성률개발 목표 달성률 (57%), 비개발 목표 달성률 (63%)
이젠, 내가 원하는 길을 정확히 걷는 느낌이다.2022년 정말 열심히 공부하여, java spring 백엔드 개발자로써 2023년 01월 엠앤XX를 합격하였다. 하지만 만족스럽지 못했다. 3개월 동안 RPA(코딩X, drag&drop), gitlab CI/CD 를 개발하며 단순히 코더가 된 느낌이였다. 내가 지금까지 공부한 java, CS, spring, docker, 아키택처, 알고리즘, 자료구조 등을 전혀 활용할 기회가 없었...
DB에 대한 전반적인 개념참조1참조2참조3참조4참조5참조6
왜?
DB에는 크게 SQL 과 no-SQL이있다는것을 알고있었지만, DB의 세부적인 구분과 각 DB의 장단점을 알아야 추후 프로젝트를 진행할때 필요하여 작성하게 되었다. DB를 자세히 알기전 용어정리후 큰그림부터 탑다운으로 내려가는 것으로 학습하였다.
먼저 RDB 위주의 개념 설명
추후: index, 쿼리, explain관련 내용 추가, marina db, progresql vacuum알아보기
RDB위주의 데이터 베이스(DB) 용어
관계형 데이터베이스(RDB): 여러...
왜?JPA 실전편 2편에서 계속 업그레이드하자..
JPA 지식이 부족하다
회원 등록 API
Entity와 DTO를 나누자..당연 (의존성 없애야함. 확장성도 필요)
당연히 Entity를 파라미터로 받아도안된다.
회원 수정 API
controller 단
12345678910@PutMapping("/api/v2/members/{id}")public UpdateMemberResponse saveMemberV2( @PathVariable("id") Long id, @RequestBod...
홈화면(thymeleaf)
DTO, Entity 는 반드시 분리하기 -> Entity는 완전 순수한 상태로만 쓰기
RestAPI 만들때는 Entity 절대 반환 금지 -> api 는 스펙이다. 엔티티가 계속 바뀌면 스펙이 바껴버림
변경 감지와 병합(merge)
em.save() 시에는
Entity.getId() 값이 없는 것 -> em.persist()
Entity.getId() 있는 것은 em.merge() 가일어난다.
준영속 엔티티?영속성 컨텍스트가 더는 관리하지 않는 엔티티를 말한다. (여기서는...
상품 주문order Entity에서
객체는 자율적이여야한다.
따라서 필요한 create, remove, 자신의 주요 행동 메서드는 자신이 직접가지고있는것이 자율적이다.(캡슐화)
예시
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788package jpabook.jpashop.do...
참조강추) 책을 삽시다!
훨씬 좋은 내용이 많습니다. 많이 배웠습니다 감사합니다. 저자님
왜?객체 지향적으로 짠다는 것은 무엇을까? 한번 생각해 보는 시점이 되었다.
어떻게 하면 더 좋은 코드를 짤수있을까?
예를 들면, request.checkValidation() 를 하는것이 좋은것인가?, 아니면, checkValidation(request)의 형태를 만드는 것이 더 객체 지향 스러운것인가? 너무 궁금헀다. => 결과적으론 이 문제는 상황마다 다르다라는 것이 정답이였다.(꼭 객체 지향이 좋은것도아님)
객체의 자율성을 ...