정말 알기 쉽게 정리가 잘 된 책이다. 책을 읽으면서 인상은 인 한문장으로 압축이 된다. 복잡한 정보를 깔끔하게 정리해준다는 것은 정말 어려운 일이다. 그 어려운 일은 이 책이 해낸다. 스프링 입문으로 하는 책으로 이 책은 정말 보물같은 책이다. 자바의 특성부터 객체지
객체 지향 설계 왜 해야 될까?: 사람이 살아가는 세상에 물체를 모델링해서 객체라는 구조체계로 만들고 그 객체들이 메서드(행위)를 가지고 서로 메시지(상태)를 전달해 협력하는 구조로 프로그래밍하는 형식. 절차 vs 객체 지향 설계: Object(객체)를 중심으로 그 O
Tree(그래프의 일종)의 시간복잡도 그외 장점: https://velog.io/@mooh2jj/Tree-자료구조-정리DB에 B트리 인덱스당 B트리가 만들어지는 것. 그래서 이진트리보다 더 빠르다. : https://velog.io/@mooh2jj/D
일단 트리에 대해서 얘기해 보자.트리 노드의 요소가 위처럼 한쪽 방향으로만 쏠려있다면 최악의 탐색 시간은 O(N)을 가지게 된다.이러한 경우를 방지하기 위해 우리는 밸런스 트리(Balanced Tree)를 이용할 수 있다.밸런스 트리는 대표적으로 RedBlack-Tre
예전 블로그에서 HashMap 얘기를 진행하는데 Tree 내용을 언급된 바가 있었다.자바 8부터 Seperate Chaining에서 데이터 개수가 많아지면 LinkedList대신 Tree(red black tree)를 사용해 성능적으로 더 좋아지게 하였다고 소개한 바가
고독한 전문가라는 미신이 책을 통해서 나를 반성했던 부분이고 알고 있었지만 다시 한번 되집어준 대목이었다. 뛰어난 실력자는 이런 미신과 달리 소셜 네트워크, 즉 타인의 도움을 얻는데 능하고 타인과 상호작용을 함으로서 내가 할 수 없는 영역을 구분해 타당한 정보를 얻는
두 가지가 확실히 임펙트가 강했습니다.선택사항 열어두기: 좋은 아키텍쳐의 첫 질문은 미루기아키텍쳐를 설계할때 중요한것은 모든 가능성을 열어두는 것입니다.DB, 프론트, 서버, REST 해당 내용들을 지금 미리 결정해둘 필요가 없다는것이지요.프로그램은 장치 독립성이 중요
스프링 기술의 외국 서적의 번역본이 아닌 우리나라 저자로서 쓰인 스프링 책의 표본이라 할 수 있는 토비의 스프링3.1알라딘 중고서점에서 산 이후로 그 책의 두께와 압도적인 옛날스러움?에 경악스러웠다. 목차만 봐도 이게 이렇게 길게 얘기할 거리인가? 했던 생각이 난다.
객체가 책임을 수행하도록 하는 유일한 방법은 메시지를 전송하는 것<객체지향 사실과 오해>를 보고나서 <오브젝트> 책이 잘 이해가 되는 책이다. 이 책은 객체지향 사실과 오해의 주석책이라는 인상이 강하게 남았다.객체의 상태가 아니라 행동에 집중하라메시지가 객체
이 ItemReader의 구현체들이 어떻게 되어있는지 살펴보겠습니다.가장 대표적인 구현체인 JdbcPagingItemReader가 있습니다.해당 클래스의 계층 구조를 살펴보면 아래와 같습니다.보통 개발자가 ItemReader와 ItemStream 인터페이스를 직접 구현
이전에 프로젝트를 진행하면서 매일 00시에 테이블을 일괄적으로 갱신해는 작업이 있었습니다. 경험이 부족했던 그땐 batch 작업이라는 것이 스케쥴링을 돌리면서 진행하는 어떠한 것이라고 생각했었습니다. 기능의 존재만 어렴풋이 알고만 있었던 것이지요. 시간이 지나 이번에
Could not autowire. No beans of type found. error결국 빈이 제대로 등록이 되어 있지 않아 생기는 문제이다.주로 Component 역할을 해야 하는 Controller, Service, Repository class 들에게 @Com
테이블 설계 시 PK를 int로 잡느냐, varchar(char)로 잡느냐를 한참 고민해 본 적이 있습니다.더블체킹에 대해서 어떻게 방어를 해야할까요?즉, 동시에 사용자가 같은 시간대에 대해서 예약(Reservation)을 한다는데 DB에서 Atomic한 방식을 생각해
double와 float의 장단점(정확도의 차이) - 업데이트: 코드적으로 같은지 알아보기 내용 추가=> 알아논 내용고정 소수점 방식은 정확도는 높지만 큰 수를 표현하기 위해서는 많은 양의 메모리가 사용된다는 단점이 존재. 따라서 이 문제를 해결하기 위해 부동(floa
HTTP 프로토콜은 클라이언트와 서버의 통신이 끝나자마자 상태 정보를 잊어버린다.(stateless 특성) 예를 들어 USER1이 방금 전까지 서버와 통신을 했더라도 연결이 끊기자마자 USER1이 누구인지 까먹어버리고 다시 클라이언트의 정보를 요구하는 것이다. 페이지를
내가 풀었던 수준 .... 참담하다.실제 답안BufferedReader, StringTokenizer 활용을 알았다. 백준 풀 땐 꼭 필요!출처: https://www.acmicpc.net/problem/11659
cleanCode을 읽으면서 핵심은 창발성 설계 4가지로 정의할 수 있을 것 같다.1) 모든 테스트를 실행한다2) 중복을 없앤다3) 프로그래머 의도를 표현한다4) 클래스와 메서드 수를 최소로 줄인다(SRP)위 목록은 중요도 순이다.테스트 케이스를 많이 작성할수록 개발자
https://programmers.co.kr/learn/courses/30/lessons/92341