전체 글 183

This란?

전에 Context에 대해 공부해보았다. 다시 보고 싶다면 링크를 달아두겟다옹 히힛 https://tech-monster.tistory.com/41 Context 란? 내가 공부하고자 하는 전반적인 내용이 아래 블로그에 담겨있다. https://poiemaweb.com/js-execution-context Execution Context | PoiemaWeb Execution Context(실행 컨텍스트)는 scope, hoisting, this, functi.. tech-monster.tistory.com 여기 inner안에 보면 ThisBinding이라는 아이가 있다. 이건 뭥미? 우선 제대로 알기 전에 이 문장을 기억하란다 thisBinding은 실행 컨텐스트가 활성화될 때 한다! 실행 컨텍스트가 ..

Context 란?

내가 공부하고자 하는 전반적인 내용이 아래 블로그에 담겨있다. https://poiemaweb.com/js-execution-context Execution Context | PoiemaWeb Execution Context(실행 컨텍스트)는 scope, hoisting, this, function, closure 등의 동작원리를 담고 있는 자바스크립트의 핵심원리이다. 실행 컨텍스트를 바로 이해하지 못하면 코드 독해가 어려워지며 디버 poiemaweb.com 솔직히 나는 글을 정리하는게 너무 귀찮아서 남이 잘 적은 글을 보는 편이다 ㅋㅋ Context란 뭘까? 사실 javascript공부하면서 context라는 단어를 필자는 처음 듣는다 ㅋㅋ(부끄...) context하면 맥락이라는 뜻이다. 사전을 보면..

Primitive Type vs Reference Type

사실 자바스크립트는 생각도 안하고 있다가 최근 Spring Data Jpa 관련 강의를 전부 공부해서 미니 프로젝트를 만들려고 보니 React + Spring boot 연동을 할 수가 있다고 한다! 그래서 이 기회에 javascript에 대해 다시 공부하고 React도 공부하고 Spring Boot를 Spring Data Jpa를 적용해서 미니 프로젝트를 만들 예정이다. 후... 벌써부터 숨가쁘네... 할게 왜이렇게 많은거야ㅠ 히ㅣㅎㅅ https://velog.io/@yunsungyang-omc/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EA%B8%B0%EB%B3%B8%ED%98%95%EA%B3%BC-%EC%B0%B8%EC%A1%B0%ED%98%9..

DTO? VO? 개념 정리 및 사용 이유

https://kafcamus.tistory.com/13 DTO란 무엇인가, VO와의 비교 오늘은 다음의 고민 때문에 글을 작성하게 되었다. DTO가 정확히 뭘 의미하는 거지? DTO를 꼭 써야하는 이유가 뭐지? DTO랑 VO를 많이 비교하던데, 뭐가 다른거지? DTO란 무엇인가 DTO(Data Transfer Object, kafcamus.tistory.com 필자는 최근에 김영한 팀장님의 JPA 강의를 전부 들었다. 이제 간단하게 미니 프로젝트를 통해서 공부를 진행할 생각인데 모호한 개념들을 몇개 정리하고자 한다. DTO는 뭐고 VO는 뭘까? 위에 블로그에 보면 잘 정리가 되어있다. 위에서 DTO를 써야 하는 이유에 대하 잘 설명을 해주셨다. 그리고 실제로 Spring Data Jpa를 사용할 때에도..

스프링부트 & jpa1 / 2 - 요구사항 분석

개발을 하기 전에 무엇을 개발할지 알아야 한다 개발 예정인 화면이다! 회원, 주문, 상품의 관계 - 회원은 여러 상품을 주문할 수 있다. 그리고 한 번 주문할 때 여러 상품을 선택할 수 있으므로 주문과 상품은 다대다 관계다. 하지만 이런 다대다 관계는 관계형 데이터베이스는 물론이고 엔티티에서도 거의 사용하지 않는다. 따라서 그림처럼 주문상품이라는 엔티티를 추가해서 다대다 관계를 일대다, 다대일 관계로 풀어냈다. 근데 다대다 관계는 쓰면 안돼니 일대다, 다대일로 풀어낼 것임

Spring 2021.07.26

스프링부트 & jpa1 / 1 - 프로젝트 생성

드디어 개념 강의가 끝났고... 실제로 코딩을 한다고 한다 설정은 밑에 보이는 대로 했다. Gradle , Java, Jar, 11 여기서 나는 Thymeleaf가 있는데 JSP와 비슷한건데 김영한 팀장님께서는 jsp를 잘 안쓰는 추세라고 하신다. 추가할 Dependencies는 Spring Web, Thymeleaf, Spring Data JP, H2 Database, Lombok이 있다. 다 됏으면 genereate the project를 해서 다운받으면 된다.. 그리고 프로젝트를 원하는 경로에 놓고 open하면 된다! 나는 IntelliJ IDEA를 사용해서 공부를 진행중이다. 프로잭트 로딩이 좀 걸린다. 진정하고 기다리자! build.gradle파일을 보면 내가 설정한 정보가 등록된것을 확인할 수..

Spring 2021.07.25

16. 경로 표현식 / 페치조인

상태 필드(state field) : 단순히 값을 저장하기 위한 필드 연관 필드(association field): 연관관계를 위한 필드 - 단일 값 연관 필드: @ManyToOne, @OneToOne, 대상이 엔티티 - 컬렉션 값 연관 필드: @OneToMany, @ManyToMany, 대상이 컬렉션 아예 묵시적 내부 조인 안쓰는게 좋암~~!!! => 나중에 유지보수가 힘듬 페치 조인(이거는 실무는 엄청 중요함) SQL 조인 종류 X JPQL에서 성능 최적화를 위해 제공하는 기능 연관된 엔티티나 컬렉션을 SQL한 번에 함께 조회하는 기능 join fetch 명령어 사용 페치 조인 ::= [LEFT [OUTER] | INNER] JOIN FETCH 조인경로 package jqpl; import javax..

Spring 2021.07.25

15. 조인

내부조인 : SELECT m FROM Member m [INNER] JOIN m.team t 외부조인 : SELECT m FROM Member m LEFT [OUTER] JOIN m.team t 세타 조인 : select count(m) from Member m, Team t where m.username = t.name 1. 조인 대상 필터링 예) 회원과 팀을 조인하면서, 팀 이름이 A인 팀만 조인 JPQL : SELECT m, t FROM Member m LEFT JOIN m.team t on t.name = 'A' 실행된 SQL : SELECT m.*, t.* FROM Member m LEFT JOIN Team t on m.TEAM_ID = t.id and t.name = 'A' 2. 연관관계 없는..

Spring 2021.07.24

14. 기본 문법과 쿼리 API

JPQL(Java Persistence Query Language) JPQL은 객체지향 쿼리 언이이다. 따라서 테이블을 대상으로 쿼리하는 것이 아니라 엔티티 객체를 대상으로 쿼리한다. JPQL은 SQL을 추상화해서 특정 데이터베이스 SQL에 의존하지 않는다. JQPL은 결국 SQL로 변환된다. 근데 위치 기반 쓰면 안됀다! 이름을 적는것은 위치가 바뀌어도 버그가 안생김! 무조건 이름 기반으로 작성한다 프로젝션 SELECT절에 조회할 대상을 지정하는 것 프로젝션 대상 : 엔티티, 임베디드 타입, 스칼라 타입(숫자, 문자등 기본 데이터 타입) SELECT m FROM Member m => 엔티티 프로젝션 SELECT m.team FROM Member m => 엔티티 프로젝션 SELECT m.address F..

Spring 2021.07.24

13. 객체지향 쿼리 언어(JPQL)

이제 객체 지향 쿼리에 대해 알아볼것임! JPQL jpa Criteria QueryDSL 네이티브 SQL JDBC API 직접 사용, MyBatis, SpringJdbcTemplate함께 사용 JPQL 소개 가장 단순한 조회 방법 1. EntityManager.find() 2. 객체 그래프 탐색(a.getB().getC()) JPA를 사용하면 엔티티 객체를 중심으로 개발 문제는 검색 쿼리이다! 검색을 할 떄도 테이블이 아닌 엔티티 객체를 대상으로 검색 모든 DB 데이터를 객체를 변환해서 검색하는 것은 불가능 애플리케이션이 필요한 데이터만 DB에서 불러오려면 결국 검색 조건이 포함된 SQL이 필요 그래서... JPA는 SQL를 추상화한 JPQL이라는 객체 지향 쿼리 언어를 제공한다 SQL과 문법이 유사하다..

Spring 2021.07.24