분류 전체보기

TIL

Today's Dev Notes(2018-12-12)

안녕하세요, Brad입니다. 오늘은 몇 가지 질문을 해결하기 위해 시간을 좀 투자해봤는데요. 영속성에 대한 알아보려다가 그 덧에 빠지는 바람에 다른 질문들도 해결하지 못했네요. 그래도 질문이라도 정리해볼게요! @Transactional 사용시 왜 Repository에서 save를 할 필요성이 없나요? 영속성이 무엇일까요? '자동변경감지'랑 관련이 있을까요? EntityManager 가 Persistance Context를 관리하는 인터페이스이군요!! 여기엔 관리를 위한 persist, merge, remove 등 다양한 메서드가 정의되어 있습니다. test에서 테스트 데이터들을 어떻게 정리하여 보관하는 것이 좋을까요? Question 의 답변List에서 @Where(clause = "del..

TIL

Today's Dev Notes(2018-12-11)

안녕하세요, Brad입니다. 오늘은 qna-atdd 미션을 진행하다보니 시간이 정말 금방갔네요. 브라우저를 띄우지 않고 테스트를 할 수 있다는 점에서 정말 편리했습니다. 실제로 많은 테스트를 하고 띄워보니 제가 기대했던 바대로 잘 작동이 되어서 신기하기도 했구요. 그렇지만 아직 익숙하지 않아서 시간이 좀 많이 걸렸습니다. 테스트가 익숙해지고 세련되게 구현할 수 있도록 좀 더 노력해야겠습니다! 그럼 오늘도 ATDD를 진행하면서 배웠던 내용들을 간략하게 정리해볼게요. HttpStatus.FOUND`는 어느 상황에 서버로부터 전달이 되는 것일까요? HttpStatus.FOUND 는 302코드로 redirect시 전달되는 상태값입니다. 앞서 다루었는데 FOUND 가 302라는 것을 몰랐네요!! Question은..

Spring

AOP

본 글은 코드스쿼드 백엔드과정에서 마스터 Pobi의 글을 참고하고 작성되었습니다. Aspected Oriendted Programming(AOP) AOP와 OOP OOP가 비즈니스 로직의 중복을 제거하기 위함이라면, AOP는 비즈니스 로직을 지탱하는 인프라 로직을 제거하기 위해 필요합니다. 비즈니스 로직? 인프라 로직? 무엇을 의미하는 것일까요? 비즈니스 로직 비즈닉스 로직은 객체의 상태값을 조작하는 행위로 그간 OOP 방식으로 객체에 메시지를 보내어 CRUD를 해왔던 로직을 의미합니다. 인프라 로직 데이터 상태값은 변경시키지 않으면서 성능을 높이고, 보안을 강화하기 위해 처리해야 하는 로직을 말합니다. 그 예로 DB 트랜잭션 로직, 데이터 캐싱, 로깅, 성능 측정과 같은 로직이 있다고 합니다. &#39..

TIL

Today's Dev Notes2(2018-12-10)

Today's Dev Notes2(2018-12-10) qna-atdd 프로젝트 코드 이해하기 HandlerMethodArgumentResolver resolve 1.해결하다 2.결의하다 3.대책을 마련하다 우선 resolve의 뜻을 찾아봤는데요. 뭔가를 해결해주는 느낌, 어떤 것들을 처리해주는 느낌이 있네요. Spring Document를 살펴보면 다음과 같은 정의를 찾을 수 있었습니다. Strategy interface for resolving method parameters into argument values in the context of a given request. 출처 : https://docs.spring.io/spring/docs/current/javadoc-api/org/springf..

TIL

Today's Dev Notes(2018-12-10)

Today's Dev Notes(2018-12-10) Q & A ATDD와 TDD의 순서 ATDD는 학습 비용이 높기 때문에 TDD를 공부하고 ATDD를 공부하는 것이 좋습니다. 실제 현업에서는 AcctanceTest를 먼저 만들어 서버와 클라이언트간 제대로 통신하는지 확인하고, 이후 그 안의 로직을 TDD 기반으로 개발을 한다고 합니다. 즉, ATDD먼저하고 TDD를 이후에 하는 것입니다(Out-In 방식) 주니어 개발자로써 ATDD까지는 기대안하지만 TDD와 Refactoring은 필수라고 합니다. ATDD가 익숙해지면 브라우저를 띄우지 않고 구현이 가능합니다! HTTP status 301와 302의 차이 브라우저는 Status Code를 기반으로 먼저 상태를 확인하고, 이후에 Body를 불러옵니다...

Algorithm/problem solving

Today's Algorithm(2018-12-10)

programmers. 이중우선순위큐 이 문제는 PriorityQueue 를 두 개를 쓰면서 삽입할 때는 동시에 넣고, 최대값 삭제할때는 maxheap을 삭제하고, 최소값을 삭제할 때는 minHeap을 삭제하면 쉽게 해결할 수 있는 문제였습니다. 하지만 PriorityQueue 를 두 개를 사용함에 따라 두 개의 큐 안에 있는 값을 잘 파악해야 하는데요. 그 이유는 다음과 같은 상황들 때문입니다. maxHeap, minHeap 두 개의 큐 중 하나가 비워질 경우 → 모두가 꺼내어졌을 때입니다. 다 꺼내고 나서 의미없는 꺼내는 행위가 행해졌을 때 → 이 행위는 전혀 의미없는 것으로 데이터에 영향을 미쳐서는 안됩니다. 실제 위 두 개의 상황은 코드를 최초 구현하고 나서 제가 미비했던 부분이었습니다. 그럼 이..

Brad Lee
'분류 전체보기' 카테고리의 글 목록 (20 Page)