전체 글

Book/programming

[자바 ORM 표준 JPA 프로그래밍] 03장. 영속성 관리

자바 ORM 표준 JPA 프로그래밍1 3장. 영속성 관리 '자바 ORM 표준 JPA 프로그래밍'(김영한 저)를 참고하였습니다. 엔티티 매니저 팩토리와 엔티티 매니저 EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpabook"); EntityManager em = emf.createEntityManager(); 엔티티 매니저 팩토리가 하나가 만들어지고 만들어진 그 하나의 객체로 여러 개의 엔티티 매니저를 만들어서 사용되는 구조입니다. 팩토리는 만드는데 많은 비용이 소모됩니다. 영속성 컨텍스트 영속성 컨텍스트는 엔티티 매니저를 생성할 때 하나가 만들어집니다. 이 엔티티 매니저를 통해서 영속성 컨텍스트에 접근 및 관리를 할 수 있는 것..

Algorithm/problem solving

Today's Algorithm(2018-12-17)

programmers. 디스크 컨트롤러 자료구조를 만들고 그것을 이용하여 제가 원하는 데이터를 찾는 과정이 쉽지 않았습니다. 왜냐하면 첫째로 제가 만든 자료구조가 복잡했고, 그 사이에서 또 정렬이 필요하였기 때문입니다. 우선 제가 만든 자료구조는 2개였습니다. Map : 각 시간에 해당하는 작업들을 모아두었습니다. Queue : 현재 대기중인 작업들을 모아두었습니다. 그럼 이러한 자료구조를 기반으로 풀이과정을 설명해볼게요. 먼저 jobs 가 주어지면 init() 메서드에서 위의 map 자료구조를 만듭니다. 경과 시간을 재는 elapsedTime 과 각 작업의 남은 시간을 재는 remainingTime 라는 변수를 만들고 반복문을 돌립니다. 반복문은 map과 queue가 모두 비워질 때 그만두고 그 외엔 ..

TIL

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

안녕하세요, Brad입니다. 오늘 수업시간에 배운 내용들을 정리해볼게요! Q&A SpringBoot에서는 xml파일 어떻게 설정할까요? xml 설정을 추가로 할 수도 있습니다. 만약 Bean 설정이라면 @Configuration 내 @Bean 안에 설정할 수 있습니다. 공부의 범위, level별 역량 level2 프로그래밍 언어를 하나 가지고 무언가를 구현하는 능력(필수) + 설계역량(TDD, Refactoring, 클린코드 등) 신입으로 클린코드나 TDD를 할 수 있는 역량을 가진 사람이 많진 않기 때문입니다. level3 Java Web Programming 능력(필수) + CS지식 물론 level2의 능력도 필수적입니다. CS지식은 시간을 투자한만큼 반드시 성과가 나오기 때문에 스터디를 통해 익혀나..

TIL

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

안녕하세요, Brad입니다. 오늘 미션을 진행하면서 배운 내용 정리할게요. RequestBody와 ResponseBody @RequestBody가 HTTP 요청의 body의 내용을 자바의 객체로 만들어주는 일을 했더라면 @ResponseBody는 자바의 객체를 HTTP 요청의 body로 만들어주는 역할을 합니다. REST에서 새로운 Resource를 왜 자꾸 만들어줄까요? 새로운 값을 바로 넣어줌으로써 테스트하기 위해 사용하는 것 같습니다. 이렇게 함으로써 좋은 점은 반환되는 데이터값을 활용하여 ApiUserAcceptanceTest 에서는 테스트에 활용하고 있었습니다. 예를들어 User 생성시 Location에 해당 데이터의 경로를 반환하는 데이터를 얻을 수 있었기 때문에 해당 경로를 이용하여 upda..

TIL

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

안녕하세요, Brad입니다. 오늘 수업 중에 들었던 내용들을 간략하게 정리해볼게요. Q&A Mock Test Service Layer는 비즈니스 로직을 구현하는 곳이 아닙니다. 객체들의 연결을 담당할 뿐입니다. Domain 상태값을 조절하는 부분은 Domain으로 메시지를 보내서 조절해야합니다. 그래서 Service Layer는 Thin(얇은) Layer로 되어야 한다고 하는 것입니다. Service Layer가 테스트하기 힘들었던 이유는 Repository에 데이터가 있어야하기 때문입니다. 그래서 등장한 것이 Mock Test입니다. Mock Test는 데이터베이스에 의존하지 않도록 도와줍니다. 테스트의 중요도 Domain Test가 가장 중요합니다 가장 큰 이유 중 하나는 테스트하기 쉽기 때문입니다...

Spring

AOP2

AOP2 본 글은 코드스쿼드 백엔드과정에서 마스터 Pobi의 글을 참고하고 작성되었습니다. Aspected Oriendted Programming(AOP) Servlet Filter와 Interceptor 최근 Interceptor가 어떻게 흘러가는지(개념과 작동원리는 아직 공부 중입니다) 알게되면 과연 AOP와 무엇이 다른 것인지 궁금했습니다. 왜냐하면 흐름만 본다면 어떤 요청을 처리하기 전과 후에 저희가 필요한 작업을 할 수 있다는 점에서 비슷하다고 생각하였기 때문입니다. 하지만 다음 그림을 보면서 어떠한 것이 다른지 조금이나마 이해할 수 있게되었습니다. 출처 : 코드스쿼드 Pobi의 AOP자료 위 그림을 좀 더 살펴보기 전에 Servlet에 대해 알아야할텐데요. Stackoverflow에 다음과 같..

Brad Lee
Brad's blog