반응형 혼자 공부하는 것들145 [지구최강 JPA 스터디] 2-3주차 몰아서 정리하자! 데이터베이스 스키마 설정은 개발 초기 단계 아니면 validate 나 none으로 해줘야 합니다.(create, create-drop, update는 테스트할 때만!) gradle이면 이런 식으로 세팅하고 #application.yml spring: jpa: hibernate: ddl-auto: validate OR none maven이면 아래와 같은 방식으로 세팅해줍니다. 자주 사용하는 매핑 어노테이션 정리 @Column(name = "name") private String username; @Column은 DB의 컬럼과 매핑해주는 어노테이션입니다. @Enumerated(EnumType.STRING) private RoleType roleType; @Enumerated는 자바의 enum타입과 매핑해주는.. 2022. 7. 13. 120. Triangle (DP, DFS로 풀어보자!) https://leetcode.com/problems/triangle/ Triangle - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제: Given a triangle array, return the minimum path sum from top to bottom. For each step, you may move to an adjacent number of the row below. More formally, if you are on index i on.. 2022. 7. 3. Java11 람다식에서 VAR를 사용할 수 있다고? 나만 몰랐던 건가.... Var 타입은 JavaScript에서 사용하는 방식입니다. (var만 보면 발작 버튼이.... 부들부들... 최대한 JS var는 지양해야 합니다.) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var var - JavaScript | MDN The var statement declares a function-scoped or globally-scoped variable, optionally initializing it to a value. developer.mozilla.org 이 var 형식을 Java11에서 어떻게 사용할 수 있을까? 정확히는 Java10에 도입되었네요. 간단하게 v.. 2022. 7. 2. [지구최강 JPA 스터디] 1주차 영속성 컨텍스트란? 회사에서 동기들과 JPA를 함께 스터디를 하기로 했습니다. https://www.inflearn.com/course/ORM-JPA-Basic/ 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의 JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 회사가 인프런 강의를 지원해줘서 위에 강의를 베이스로 스터디를 진행했습니다. 1주차 정리 EntityManagerFactory가 EntityManager를 만들어줍니다. EntityManager를 통해서 영속성 컨텍스트에 접근합니다. 스프링 프레임워크 같은 컨테이너 .. 2022. 6. 30. 내가보려고 정리한 JPA OSIV(Open EntityManager In View) OSIV는 Open EntityManager In Viewd의 약자입니다. spring.jpa.open-in-view는 기본적으로 True로 되어있습니다. OSIV은 Appleication 실행 중 어느 시점에 세팅되는지 확인해보겠습니다. 위에 로그를 잘 보면 Appleication이 실행이 되고 톰켓이 켜진다음 빈 주입을 쭉 실행해줍니다. 다음으로 테이블을 만들어줍니다. 만들어주는이유는 application.yml에 jpa: hibernate: ddl-auto: create create로 설정했기 때문에 실행 시점에 테이블을 만들어줍니다. 테이블 설정이 마무리되었다면 마지막으로 JpaBaseConfiguration$JpaWebConfiguration에서 spring.jpa.open-in-view is .. 2022. 6. 22. [Spring] @RequestBody는 객체로 받자! PUT으로 해당 JSON 객체 요청이 들어온다고 가정해봅시다. PUT {URL/~} content-type: application/json { "phoneNumber": "010-0000-0000", "name": "김아무개", "age": 28 } Body에 핸드폰 번호, 이름, 나이의 정보를 받습니다. 이때! Map을 사용하지 말고 객체를 생성해서 만들어줍시다. /** * 사용자 승인 * @param req * @return */ @PutMapping("/~") public Object approvalFrom(@RequestBody Map req){ ... } 이런 식으로 하면 문제점이 무엇일까요? Map으로 리퀘스트를 처리할 경우 어떤 값이 넘어오는지 알 수 없고, 관리하기가 다소 어렵습니다. 정확.. 2022. 5. 30. Reflection(리플렉션) 활용 앞서 프록시를 사용해서 기존 코드를 변경하지 않고 부가적인 기능들을 추가할 수 있는 방법을 배웠습니다. 앞 게시글에서 보았듯이 프록시만 적용한다면 해당 클래스 수만큼 부가적인 기능을 위한 프록시 클래스를 만들어야 한다는 단점이 있습니다. 이러한 단점을 보안하기 위해 자바에서 기본적으로 제공하는 JDK 동적 프록시 기술이나 CGLIB(개발자는 굳이 사용할 일이 없지만 그래도 알아놓자!) 같은 프록시 생성 오픈소스 기술을 사용하면 객체를 동적으로 만들 수 있습니다. 간단하게 리플렉션을 설명하자면 클래스나 메서드의 메타정보를 사용해서 동적으로 호출하는 메서드를 유연하게 끼워 넣을 수 있습니다. https://applepick.tistory.com/160 2022. 5. 22. 인터페이스 기반 프록시 VS 클래스 기반 프록시 https://applepick.tistory.com/159 프록시 패턴과 데코레이터 패턴 인프런 스프링 고급 원리를 들으면서 프록시 패턴과 데코레이터 패턴을 공부하고 있습니다. "둘이 뭔가 비슷한데? 뭐가 다른거지? 정확하게 어떠한 상황에서 사용해야 할까?"라고 느껴 정리를 applepick.tistory.com 앞서 프록시 패턴과 데코레이터 패턴에 대해서 간단하게 정리해보았습니다. 공부하면서 인터페이스에 기반한 프록시와 클래시 기반의 프록시의 장단점을 비교해보려고 합니다. 인터페이스가 없어도 클래스기반으로 프록시를 만들 수 있습니다. 클래스 기반의 프록시는 해당 클래스만 적용시킬 수 있고, 인터페이스 기반 프록시는 해당 인터페이스만 같다면 전체적으로 적용해서 사용할 수 있습니다. 클래스 기반 프록시는.. 2022. 5. 15. 프록시 패턴과 데코레이터 패턴 인프런 스프링 고급 원리를 들으면서 프록시 패턴과 데코레이터 패턴을 공부하고 있습니다. "둘이 뭔가 비슷한데? 뭐가 다른거지? 정확하게 어떠한 상황에서 사용해야 할까?"라고 느껴 정리를 해보려고 합니다. 프록시 패턴을 간단하게 말하자면 프록시는 다른 어떤 것과 이어지는 인터페이스의 역할을 하는 객체입니다. 객체에서 프록시가 되려면, 클라이언트는 서버에게 요청을 한 것인지, 프록시에게 요청을 한 것인지 조차 몰라야 합니다. 쉽게 이야기해서 서버와 프록시는 같은 인터페이스를 사용해야 합니다. 그리고 클라이언트가 사용하는 서버 객체를 프록시 객체로 변경해도 클라이언트 코드를 변경하지 않고 동작할 수 있어야 합니다. 프록시 패턴에서 클래스 의존관계를 보면 클라이언트는 서버 인터페이스( ServerInterfac.. 2022. 5. 10. 이전 1 2 3 4 5 6 ··· 17 다음 반응형