Spring30 [카카오테크캠퍼스] JPA 엔티티 매핑, 영속성 컨텍스트 JDBC는 쿼리문을 써주고, Repository를 직접 써줘야했지만, JPA는 이를 훨씬 간편하게 구현할 수 있게 해준다. SQL을 직접 다룰 때의 문제점새로운 필드가 추가되면 관련된 SQL을 다 수정해야한다. 또한 개발자들이 엔티티를 신뢰하고 사용할 수 없다. 스키마 생성하는 방법 application.properties에 spring.jpa.hibernate.ddl-auto=create이를 추가한다. create: 기존 테이블 삭제 후 다시 생성 (DROP + CREATE)create-drop: create와 같으나 종료시점에 테이블 DROPupdate: 변경된 부분만 반영 (운영 DB에 사용하면 안됌)validate: entity와 table이 정상 매핑되었는지만 확인none: 사용하지 않음 @E.. 2024. 7. 13. [카카오테크캠퍼스] 2주차 과제 코드리뷰 정리 1. 페이지 응답을 담당하는 핸들러와 클라이언트의 요청을 받는 핸들러를 분리하자처음에는 한 엔티티에 대한 컨트롤러가 하나여야한다고 생각했어서 어떤 것을 고쳐야하는지 잘 몰랐었는데, 팀원분들께 물어보니까 컨트롤러를 2개 만들어도 된다고 하셨다. 그래서 @RestController을 쓰는 컨트롤러, @Controller을 쓰는 컨트롤러 이렇게 2가지를 만들었다.@Controller@RequestMapping("/menus/view")public class MenuController { private final MenuService menuService; public MenuController(MenuService menuService) { this.menuService = menuSe.. 2024. 7. 11. [카카오테크캠퍼스] 1주차 과제 코드리뷰 정리 1주차 과제 코드리뷰를 받았다. 사실 스프링으로 스스로 무언가를 구현하는 것이 처음이라 정말 어려웠고, 수업때 배운 내용을 최대한 활용해서 구현해보려고 노력했다. 그래도 과제 다 못할수도 있다고 생각했었는데 어찌저찌 하니까 되어서 다행이다. 멋사 때 코드리뷰를 받아본 적이 있는데 그 때 실력이 많이 느는 것이 느껴졌었다. 카테캠에서는 깃허브 뿐만 아니라 실시간 줌으로 피드백 해주는 과정도 제공하기 때문에 앞으로 6주동안 얼마나 성장할 수 있을지 기대가 된다. 내가 여쭤봤던 부분Q.코드를 짜다 보니 메서드가 뒤죽박죽인 것 같은데 어떤 순서로 정리하는 것이 좋을까요A.https://github.com/JunHoPark93/google-java-styleguide GitHub - JunHoPark93/goog.. 2024. 6. 30. [카카오테크캠퍼스] 데이터베이스 적용, JDBC 이제까지는 데이터베이스가 따로 없어서 해시맵에 저장해 두었었는데, 앱이 실용적으로 수행되려면 시스템을 껐다 켜도 데이터가 그대로여야한다. 데이터베이스는 데이터를 관리하기 위한 별도의 공간이고, 데이터베이스를 관리하고, 운영하는 소프트웨어를 DBMS라고 한다. DBMS에는 MySQL, 오라클 등이 있다. JDBC JDBC는 데이터베이스에 접속할 수 있도록 도와주는 자바 API이다.DBMS마다 접근 로직이 다르다. JDBC는 접근로직을 구현체로부터 분리하여 디비에 따라 코드 수정을 할 필요가 없도록 만들어준다. JDBC 구현하는 법 1. 의존성 주입implementation 'org.springframework.boot:spring-boot-starter-jdbc'runtimeOnly 'com.h2data.. 2024. 6. 30. [카카오테크캠퍼스] 스프링이란, 의존성, http로 정보 주고받기 라이브러리와 프레임워크라이브러리를 사용하는 애플리케이션 코드는 애플리케이션 흐름을 직접 제어한다. 작동 중에 기능이 필요할 때만 능동적으로 사용한다.프레임워크는 개발자가 만든 클래스에 대한 제어 권한을 넘겨받아서 주도적으로 애플리케이션의 흐름을 제어한다. 개발자가 만든 클래스의 오브젝트를 생성하고 실행하는 일은 프레임워크에 의해 진행된다 스프링은 객체지향적인 코드를 짜게 해준다. 의존성일반적으로 애플리케이션에서 요구하는 다양한 기능들은 여러개의 의존성을 필요로한다.의존성을 주입하는 방법은 build.gradle에서 testImplementation platform('org.junit:junit-bom:5.9.1')Junit BOM (Bill of Materials): JUnit 테스트 라이브러리의 다.. 2024. 6. 25. [나머지공부] 어노테이션이란? 멋쟁이사자처럼 정기세션을 하면서 점점 이해하기 힘든 내용이 많아졌다. 그 이유를 알아보고자 앞에서부터 배운 내용을 점검했을 때 어노테이션을 정확히 몰라서 많은 것을 놓치고 있다는 것을 깨달았다. 어노테이션이란? 어노테이션은 사전적 의미로는 주석이라는 뜻이다. 자바에서 사용될 때의 어노테이션은 코드 사이에 주석처럼 쓰여서 특별한 의미, 기능을 수행하도록 하는 기술이다. 즉, 프로그램에게 추가적인 정보를 제공해주는 메타데이터(meta data: 데이터를 위한 데이터)라고 볼 수 있다. 우리가 흔히 사용하는 주석은 코드에 대한 내용을 개발자에게 설명하지만, 어노테이션은 컴파일러에게 설명한다. 어노테이션의 기능은 다음과 같다. 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공 소프트웨어 개발툴이 빌드나.. 2024. 4. 3. 이전 1 2 3 4 5 다음