MAC이 없다. 윈도우만 써보았다. 백엔드 개발자가 되어야 한다.

그러므로 나는 윈도우에서 리눅스를 공부해야만 한다.

 

▶ 세팅

윈도우10 + windows powershell + wsl2  

+ Ubuntu 20.04

 

▶ 목표

 - 개인컴으로 리눅스를 익히고, AWS 리눅스 서버로

프로젝트를 배포 한다.

 

▶ 도와줄 책

 1. 만화로 배우는 리눅스 시스템관리 1권

     - 그림이 그려져 있어, 빠르게 한번 훑어봄

 2. 리눅스 커맨드라인 완벽 입문서

     - 리눅스 공부 끝판왕 인것 같지만, 아직 앞 부분만 살짝 본 상태

 

명령어

 

clear : 화면 지우기

pwd : 여기는 어디인가

ls : 여기에는 무엇이 있는가

 -F : 디렉토리인 것들에는 끝에 / 표시

 -I : 각 항목의 정보 표시

cd / : 최상이 디렉토리로 가는

cd .. : 전 디렉토리로 변경  (주의사항: 한 칸 띄어쓰자)

mkdir : 디렉토리 생성 생성

'Linux' 카테고리의 다른 글

윈도우 우분투에서 비밀번호 생각 안 날때  (0) 2022.04.25

학습목표:  JPQL 기초를 잘 다져 놓자.

 

select_문 :: =

   select_절

   from_절

   [where_절]

   [groupby_절]

   [having_절]

   [orderby_절]

 

update_문 :: = update_절 [where_절]

  - 한 방에 여러 개를  할 때

 

delete_문 :: = delete_절 [where_절]

 - 한 방에 여러개를 지울 때

--------------------------------------------------------------------------

예> select m from Member as m where m.age > 18

 SQL과 다른 점은 Member가 엔티티 라는 것!!

 

엔티티와 속성은 대소문자 구분O(Member. age)

JPQL 키워드는 대소문자 구분X (SELECT, FROM, where)

 

엔티티 이름 사용, 테이블 이름이 아님(Member)

  엔티티 이름은 보통은 Class이름과 동일하게 사용.   

 

//@Entity(name = "Member) << 이렇게 거의 안씀

@Entity  <= 이렇게 실무에서는 많이 씀

public class Member 

 

별칭은 필수(m) (as는 생략가능)

---------------------------------------------------------------

 

집합과 정렬

 

 select

      COUNT(m),  //회원수

      SUM(m.age),  //나이 합

      AVG(m.age),  //평균 나이

      MAX(m.age),  //최대 나이

      MIN(m.age),  //최소 나이

from Member m

 

GROUP BY, HAVING

 

ORDER BY

--------------------------------------------------------------- 

TypeQuery, Query

 

TypeQuery : 반환 타입이 명확할 때 사용

 

Query: 반환 타입이 명확하지 않을 때 사용

---------------------------------------------------------------

결과 조회 API

query.getResultList(): 결과가 하나 이상일때, 리스트 반환

 ★ - 결과가 없으면 빈 리스트 반환     (그래서 이거는 nullpoint exception에 대한 걱정을 안해도 됨)

 

query.getSingleResult(): 결과가 정확히 하나, 단일 객체 반환 << 이거 좀 짜증난데.★

 

결과가 없으면 : javax.persistence.NoResultException 

둘 이상이면: javax.persistence.NonUniqueResultException

 

---------------------------------------------------------------

파라미터 바인딩 - 이름 기준, 위치 기준

>>> 걍 이름 기반으로 쓰자.

위치 기반은 왠만해서는 쓰지 말자.(장애 발생 up)

---------------------------------------------------------------

★프로젝션

SELECT  절에 조회할 대상을 지정하는 것

프로젝션 대상: 엔티티, 임베디드 타입, 스칼라 타입(숫자, 문자등 기본 데이터 타입)

 

SELECT m FROM Member m -> 엔티티 프로젝션

SELECT m.team FROM Member m ->엔티티 프로젝션

SELECT m.address FROM Member m ->  임베디드 타입 프로젝션

SELECT m.username, m.age FROM Member m ->스칼라 타입 프로젝션

DISTINCT로 중복제거

 

프로젝션 - 여러 값 조회

SELECT m.username, m.age FROM Member m

 

1. Query 타입으로 조회

 

2. Object[] 타입으로 조회

 

3. new 명령어로 조회   <<<  제일 깔끔한 방법

  - 단순 값을 DTO로 바로 조회

    SELECT new jpabook.jpql.UserDTO(m.username,m.age)FROM Member m

 - 패키지 명을 포함한 전체 클래스 명 입력

 - 순서와 타입이 일치하는 생성자 필요

---------------------------------------------------------------

★ 페이징 API

 JPA는 페이징을 다음  두 API로 추상화

 setFirstResult(int startPosition) : 조회 시작 위치(0부터 시작)

 setMaxResults(int maxResult): 조회할 데이터 수

오라클,MySQL 방언을 비교해주니 JPA의 위대함을 보게됨.

---------------------------------------------------------------

[출처- 인프런 김영한  '자바 ORM 표준 JPA 프로그래밍- 기본편]  강의듣고 정리

'Java Web > JPA' 카테고리의 다른 글

JPQL 문법(4)  (0) 2022.05.03
JPQL- 페치 조인(fetch join)  (0) 2022.05.02
JPQL문법(3)  (0) 2022.05.01
JPQL문법(2)  (0) 2022.04.27

스프링부터 JPA 모든 강의는 인프런 김영한 강사님을 통해 배우고 있다.

 

순식간에 인텔리제이 화면에 같은 내용이 나오는 순간

 

일일이 코드를 따라만 치고 있지 않는가,  라는 생각이 들때,

 

 >>> Ctrl + D 를 눌러 보자. 

 

 

 

 

 

'좋은 개발자'가 되고자 마음 먹었을때 가장 먼저 했던 행위는

'좋은 개발책'을 일단 사자 였다. 단, 가치보다 싼 값에 였다.

 

 알라딘 중고서점에 즐겨찾기를 해서 보던 중,  새 책값의 60%에 올라온 중고 상품이 있어

현재 내 책장 한 켠을 차지 하고 있다.

 

 기술 서적이 갖는 책 제목이 뭔가 철학적이다. 거기에다가 표지 그림이 토끼이다.

 

지금 보면 대단하다 쉽지만, 처음 아무런 내용을 모를 떄는 이 책을 집기 어렵지 않았을까  

 

 현재 JAVA라는 컴퓨터 언어로 공부를 하다보니, 자연스레 객체에 대해 모호하고 어려운데

이 책이 이 개념을 조금은..( 절대, 쉽다고는 말 못한다. 이 책은 1번으로 이해하기 어려운 책이다.)

이해하는데 도움을 준다.  

 

 ...이상한 나라의 엘리스를 통해서...

 

가끔 읽다보면 나의 뇌세포들이 잠시 녹아웃되지만, 마지막 페이지를 덮었을때,

 

객체

다형성

캡슐화 들이 잠시나마 내 머리속을 어지럽게 돌아다닌것 같다.

 

첫 느낌은 오해였지만, 

마지막은 다시한번 읽어야 겠다는 사실을 확인해 본다.

 

 

 인프런 김영한 강사님의 모든 강의를 듣던 중 반복적으로 하는 인텔리J 사용시 하는 

설정이 있습니다.

 

 볼 때마다 아 하! 하는 부분이지만, 시간이 지나면 자연스레 잊혀 버리기 마련입니다.

 

1. 롬복 사용시 하는 설정

2. Gradle 사용시 하는 설정

3.  tdd 단축 설정

4. 김영한 강사님의 추천 단축키 (윈도우 기준)

 

 ctrl+shift+enter :  코딩이 끝났으면 마지막 줄에  ; (세미클론)을 붙이고 마무리 해줌

 alt + enter :  가끔 강의 중에 이거는 static으로 넘기죠, 할때 사용함

 alt + ins : getter setter 부를때

 ctrl + alt + v : 적극 추천한다는 변수 만들기.

 

5. 개발시 할때 쓰는 setup

 

역시나, 생각이 나는데로 적었더니 한계가 옵니다. 향후 2회차 강의 시청시 보완해보겠습니다.

'IntelliJ' 카테고리의 다른 글

인텔리제이 단어 일괄 수정하기  (0) 2022.05.01
한 줄 복사 : Ctrl + D  (0) 2022.04.21

+ Recent posts