분류 전체보기
Chapter 01-1 프로그래밍 언어와 자바
※해당 글은 신용권님의 혼자 공부하는 자바의 책으로 공부하며 참고한 글입니다. 컴퓨터는. 0과 1로 이루어진 언어 기계어만 사용합니다. 따라서 컴퓨터는 기계어만 이해할 수 있기에, 우리가 사용하는 언어로 컴퓨터에게 명령해도 컴퓨터 입장에서 보면 이해할 수 없는 문자의 집합입니다. 외국인과 대화할 때 말이 안 통해서 번역기를 사용하는 것 처럼 사람과 컴퓨터 사이에도 번역기가 존재합니다. 우리가 컴퓨터에 프로그래밍 언어로 작성한 파일은 소스 파일이라고 합니다. 소스 파일은 앞서 말했듯 컴퓨터가 이해할 수 없어 컴파일이라는 과정을 통해 기계어로 된 파일로 번역해줍니다. 중간 정리. 컴퓨터는 기계어라는 컴퓨터만의 언어가 존재한다.( 0과1로 이루어져 있음) 우리가 프로그래밍 언어로 작성하는 파일은 소스 파일 이..
[Spring] API - GET
API란, 클라이언트와 서버(프론트엔드와 백엔드) 서로간의 약속이다. 클라이언트가 정한대로 서버에게 요청(Request)을 보내면, 서버가 요구사항을 처리하여 응답(Response)한다. 여기서 요청되는 자원의 이름을 구분하여 해당 자원의 상태(정보)를 주고 받는 역할을 해야하는데, 그 역할을 하는 친구가 "REST"이다. REST란, 앞서 말했듯 요청되는 자원에 이름을 구분해야 되기 때문에 주소에 명사, 요청방식에 동사를 사용함으로써 의도를 명확히 드러내야한다는 의미이다. ※여기서의 동사는 CRUD를 지칭한다. 예시: GET /courses → 강의 전체 목록 조회 요청 GET /courses/1 → ID가 1번인 녀석 조회 요청 POST /courses → 강의 생성 요청 PUT /courses/3 ..
[String] Lombok이란
Lombok이란, Java의 라이브러리로 반복되는 메소드를 Annotation을 사용해서 자동으로 작성해주는 라이브러리다. 보통 DTO나 Model, Entity의 경우 여러 속성이 존재하고 이들이 가지는 프로퍼티에 대해서 Getter나 Setter, 생성자 등을 매번 작성해줘야 하는 경우가 많은데 이러한 부분을 자동으로 만들어주는 라이브러리라고 할 수 있다. 참고: https://www.korecmblog.com/lombok/ Lombok이란? Lombok이란? Lombok이란 Java의 라이브러리로 반복되는 메소드를 Annotation을 사용해서 자동으로 작성해주는 라이브러리다. 보통 DTO나 Model, Entity의 경우 여러 속성이 존재하고 이들이 가지는 프로퍼티 www.korecmblog.co..
[Spring] JPA심화 (CRUD)_2, SpringBoot 서비스 구조
JPA로 CRUD중 Uplaod를 할려면 Service의 개념을 알아야한다. (Create, Read, Delete는 Repository만으로 구현 가능) . . 스프링의 구조는 총 3가지의 영역으로 나눌 수 있다. Controller, Service, Repository(DAO) 사이사이의 DTO, Domain(Entity)은 정보를 전달해주는 매개체이다 스프링의 구조에 대하여 Controller: 0. 가장 바깥부분, 요청/응답을 처리한다. 1. 클라이언트(사이트)에서 입력되는 정보들을 받아와 해당 정보들이 어떤 용도로 사용되는지 찾아낸다. 2. 찾아낸 정보들을 용도에 맞는 Service로 보내준다. Service: 0. 중간 부분, 실제 중요한 작동이 많이 일어나는 부분이다. 1. Client(사이..
[Spring] JPA심화 (CRUD)_1
CRUD란 Create : 생성 Read : 조회 Update: 변경 Delete : 삭제 DB의 데이터를 생성, 조회, 변경, 삭제를 하는 정보관리의 기본 기능을 줄여서 CRUD라고 한다. CREATE & READ Repository의 save(저장하기) -> Repository 사용하는 방법 Repository를 불러왔다면 Repository.java에서 정한 인터페이스명으로 Repository를 사용할 수 있다. (이 글에서 Repository의 인터페이스명은 Course/ Main클래스 명은 Course로 한다.) V public interface CourseRepository extends JpaRepository { } . . . create & read 해보기 [Course.java] pac..
[Spring] JPA 상속(extends)
상속(extends)이란 "클래스의 상속"이라는 개념. 이미 단들어둔 클래스를 가져다 쓴다고 선언하는 것이다. @예시 코드 class Person { private String name; private String getName() { return this.name; } } class Tutor extends Person { private String address; // Person 클래스를 상속했기 때문에, // name 멤버변수와 getName() 메소드를 가지고 있다. } Tutor Class에 extends Person을 추가함으로써 Person Class가 Tutor Class에 상속된것을 확인할 수 있다. 상속받는 Tutor Class는 Tutor는 Tutor안에서 선언한 address뿐만 ..
[Spring] JPA 기초(Domain, Repository)
JPA는 JAVA로 Database를 사용하도록 도와주는 친구이다. 따라서 DB를 이용하는데 핵심인 "테이블"과 "SQL"의 같은 개념의 자바 용어가 있다. "테이블"은 JAVA에서 Domain "SQL"은 JAVA에서 Repository 로 쓰인다. Domain과 Repository의 사용법 1. src > main > java > com.filename에 domain이라는 패키지(폴더)를 만든다. 2. ClassName.java, ClassNameRepository.java 클래스를 damain 안에 생성한다. 3.ClassName.java는 테이블 역할은 하는 Domain으로 사용될 녀석이다. @NoArgsConstructor // 기본생성자를 대신 생성해줍니다.(setter) @Entity // ..
[Spring] JPA란.
JPA는 JAVA에서 SQL을 쓰지 않고 DB의 데이터를 생성, 조회, 수정, 삭제할 수 있도록 해주는 번역기 역할이다. /*JAVA에서 SQL을 불러와서 DB를 다루는 코드*/ String query = "SELECT * FROM EMPLOYEE WHERE ID = ?"; Employee employee = jdbcTemplate.queryForObject( query, new Object[] { id }, new EmployeeRowMapper()); (jpa가 있다면,) V /*JAVA에서 JPA를 사용하여 DB를 다루는 코드*/ implementaion 'org.springframework.boot:spring-boot-starter-data-jpa' 이처럼 복잡한 sql 명령어를 java에서 사..
[SQL] SQL(CRUD)
SQL이란 관계형 데이터베이스 시스템(RDBMS)에서 자료를 관리 및 처리하기 위해 설계된 언어이다. SQL의 특징 1. SQL은 대소문자를 가리지 않는다. (단, 서버 환경이나 DBMS 종류에 따라 데이터베이스 또는 필드명에 대해 대소문자를 구분 하기도 한다.) 2.SQL 명령은 반드시 세미콜론(;)으로 끝나야한다. 3. 고유값은 따옴표('')로 감싸준다. ex) select * from table where name = 'James'; 4.SQL에서 객체를 나타낼 때는 백틱(``)으로 감싸준다. ex) select `cost`, `type` from `invoice`; 5. 주석은 문장앞에 --를 붙여서 사용한다. 6. 여러 줄 주석은 /* */로 감싸준다. 참고: https://edu.goorm.i..