LostCatBox

LostCatBox

내 생각을 자유롭게 만들 때까지

2024 hashmap
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 관계 간의 중복 데이터 쿼리 성능 개선
왜? 팝업 테이블에는 1:N 관계로 이용권, 장치, 이미지 등이 존재하였다. 요구사항 매번 팝업을 등록 시 기존에 중복되는 팝업 valid (이용권+기간+장치를 체크, 중복되는 팝업이 없는지 체크) poc / 이용권 / 기간 하나라도 겹치는것이 있다면 노출 불가 전체(all) 등록시 -> [전체(all), 유료(paid) 이용권별, 무료(free)] 노출기간 중복 체크 무료(free) 등록시 -> [전체(all), 무료(free)] 노출기간 중복 체크 유로(paid) 등록시 -> [전체(all), 유료(...
spring-cache에 대해서
왜? 캐시를 활용할때 어떤 차이가 있으며, 어떤 효과를 지녔는지? 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 포함)(작성중)
왜? AOP 등등 다양한 기술을 spring 에 접목하기위함 크게 5가지 기술과 디자인 패턴한다. 쓰레드 로컬 패턴들(템플릿 메서드 패턴, 콜백 패턴, 프록시 패턴, 데코레이터 패턴) 동적 프록시 기술 빈 후처리 AOP 로그추적기V0 (가장 단순한 구조) C-S-R123456789101112@RestController@RequiredArgsConstructorpublic class OrderControllerV0 { private final OrderServiceV0 orderService; @GetM...
2023년을 마무리 하며...(2024년 목표)
2023년 목표 체크리스트 달성률개발 목표 달성률 (57%), 비개발 목표 달성률 (63%) 이젠, 내가 원하는 길을 정확히 걷는 느낌이다.2022년 정말 열심히 공부하여, java spring 백엔드 개발자로써 2023년 01월 엠앤XX를 합격하였다. 하지만 만족스럽지 못했다. 3개월 동안 RPA(코딩X, drag&drop), gitlab CI/CD 를 개발하며 단순히 코더가 된 느낌이였다. 내가 지금까지 공부한 java, CS, spring, docker, 아키택처, 알고리즘, 자료구조 등을 전혀 활용할 기회가 없었...
DB에 대한 전반적인 개념(SQL,NoSQL)
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 실전편 2편에서 계속 업그레이드하자.. JPA 지식이 부족하다 회원 등록 API Entity와 DTO를 나누자..당연 (의존성 없애야함. 확장성도 필요) 당연히 Entity를 파라미터로 받아도안된다. 회원 수정 API controller 단 12345678910@PutMapping("/api/v2/members/{id}")public UpdateMemberResponse saveMemberV2( @PathVariable("id") Long id, @RequestBod...
Advenced-JPA1-CH04
홈화면(thymeleaf) DTO, Entity 는 반드시 분리하기 -> Entity는 완전 순수한 상태로만 쓰기 RestAPI 만들때는 Entity 절대 반환 금지 -> api 는 스펙이다. 엔티티가 계속 바뀌면 스펙이 바껴버림 변경 감지와 병합(merge) em.save() 시에는 Entity.getId() 값이 없는 것 -> em.persist() Entity.getId() 있는 것은 em.merge() 가일어난다. 준영속 엔티티?영속성 컨텍스트가 더는 관리하지 않는 엔티티를 말한다. (여기서는...
Advenced-JPA1-CH03
상품 주문order Entity에서 객체는 자율적이여야한다. 따라서 필요한 create, remove, 자신의 주요 행동 메서드는 자신이 직접가지고있는것이 자율적이다.(캡슐화) 예시 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788package jpabook.jpashop.do...
(리뷰)객체 지향의 사실과 오해 책 리뷰
참조강추) 책을 삽시다! 훨씬 좋은 내용이 많습니다. 많이 배웠습니다 감사합니다. 저자님 왜?객체 지향적으로 짠다는 것은 무엇을까? 한번 생각해 보는 시점이 되었다. 어떻게 하면 더 좋은 코드를 짤수있을까? 예를 들면, request.checkValidation() 를 하는것이 좋은것인가?, 아니면, checkValidation(request)의 형태를 만드는 것이 더 객체 지향 스러운것인가? 너무 궁금헀다. => 결과적으론 이 문제는 상황마다 다르다라는 것이 정답이였다.(꼭 객체 지향이 좋은것도아님) 객체의 자율성을 ...
avatar
lostcatbox
내 생각을 자유롭게 만들 때까지
FRIENDS
friendA friendB