전체 글 828

영속성 관리

https://www.inflearn.com/course/ORM-JPA-Basic/dashboard JPA의 구동 방식 Persistence 클래스에서 설정 정보를 조회 한다. META-INF/persistence.xml Persistence는 EntityManagerFactory를 생성한다. EntityManagerFactory는 EntityManager를 생성한다. EntityManage는 쓰레드간 공유가 안됨 (쓰고 버려야 함.) JPA의 모든 데이터 변경은 transaction 안에서 이루어져야 한다.JPQL 테이블이 아닌 객체를 대상으로 검색하는 객체 지향 쿼리 SQL을 추상화해서 특정 데이터베이스 SQL에 의존 X JPQL을 한마디로 정의하면 객체 지향 SQL 영속성 컨텍스트 논리적인 개념 E..

프로그래밍/JPA 2022.10.23

JPA 입문

https://www.inflearn.com/course/ORM-JPA-Basic/dashboard ORM Object-Relational Mapping 객체는 객체대로 설계 관형 데이터베이스는 관계형 데이터베이스대로 설계 ORM 프레임워크가 중간에서 매핑 JPA 동작 - 저장 Entity 분석 INSERT QUERY생성 JDBC API사용 패러다임 불일치 해결 JPA 동작 - 조회 SELECT SQL생성 JDBC API 사용 ResultSet 매핑 패러다임 불일치 해결 JPA 소개 EJB(과거 자바 표준)는 사용하기에 너무 복잡하고, 불편한 구조로 되어 있었고, 성능상 약점이 많았다. 그렇게 Hibernate가 나오게 되는 계기가 되었다. 그리고, Hibernate 기반으로 JPA가 표준이 만들어졌다...

프로그래밍/JPA 2022.10.23

이펙티브 코틀린 3장 재사용성

3장 재사용성 아이템 19 knowledge(의도적인 정보)를 반복하여 사용하지 말라 프로젝트에서 이미 있던 코드를 복사해서 붙여넣고 있다면, 무언가 잘못된 것이다. 프로젝트를 진행할 때 정의한 모든 것이 knowledge 이다. 해당 정보의 종류는 다양한데, 알고리즘의 작동방식, UI의 형태, 우리가 원하는 결과등이 모두 의도적인 정보이며, knowledge이다. 대표적인 knowledge의 두 가지 Logic Common algorithm 모든 것은 변화하고, 변화에 대응을 할 수 있어야 한다. knowledge의 반복은 프로젝트의 확장성을 막고, 쉽게 깨지게 만든다. 그렇기 때문에 knowledge 반복을 줄여주는 도구의 사용이 필요하다. 그런 도구의 예로는 ORM, DAO를 활용 하는 방법이 될 ..

이펙티브 코틀린 2장 가독성

## 2장 가독성 ### 아이템11 가독성을 목표로 설계 하라 ```kotlin if (person != null && person.isAdult) { view.showPerson(person) view.hideProgressWithSuccess() } else { view.showError() view.hiseProgress() } person?.takeIf { it.isAdult } ?.let { view.showPerson(person) view.hideProgressWithSuccess() } ?: run { view.showError() view.hideProgress() } ``` A/B 코드 중에 A 코드가 명확하고, 이해하기가 더 쉽다. B 코드는 코틀린 스러워 보이지만, 오히려 디버깅을 ..

원온원을 읽고, 느낀 점

http://www.yes24.com/Product/Goods/107905667 원온원 - YES24 아마존에서 페이스북까지, 왜 실리콘밸리의 많은 기업과 한국의 스타트업은 ‘면담’을 버리고 ‘원온원’을 하고 있을까?“조직의 성공과 리더의 성공, 그리고 구성원의 성장과 성공을 연결 www.yes24.com 원온원의 결국 핵심은 리더와 팀원간의 목표지점의 설정을 통한 가는 길목에서 대화로써 목표지점까지 업무를 진행해나가는 것에 대한 과정이다. 결과적으로 팀원이 주체적으로 대화를 하고, 업무 혹은 다른 이슈 상황들에 대해서 팀장에게 이야기하고, 아이디어를 제공하고 해결 할 수 있는 포인트들을 의논하는 자리라고 보면 될것 같다. 핵심은 일을 어떻게 효과적으로 해내고, 그것을 어떻게 팀장에게 공유해야 하는지 고..

책 리뷰 2022.10.05

@ConfigurationProperties (Spring Boot)

kafka: topic: {topic name} producer-config: bootstrap.servers: {server info} key.serializer: org.apache.kafka.common.serialization.StringDeserializer value.serializer: org.apache.kafka.common.serialization.StringDeserializer acks: all batch.size: 16384 linger.ms: 1000 위와 같은 정보를 클래스 형태로 가져오고 싶다면 어떻게 해야 할까? 이럴때 쓸 수 있는 것이 @ConfigurationProperties 이다. kotlin에서 특히나 불변 값으로 가져오고 싶다면, @ConstructorBindin..

반응형