목록인텔리제이 (14)
Coding Note
화면 구성하기 위해 SpringMVC & Thymeleaf 기술 활용! Q1. Thymeleaf 스프링에서 제공하는 View Template으로 HTML은 그대로 두고 필요한 동작이나 값을 추가하는 방식 Q2. Thymeleaf 장점 - JSP와 유사하게 ${}을 별도의 처리 없이 이용할 수 있음 - Model에 담긴 객체를 화면에서 JavaScript로 처리하기 편함 - 연산이나 포맷과 관련된 기능을 추가적인 개발없이 지원함 - 개발도구를 이용할때 html 파일로 생성하는데 문제가 없고 별도의 확장자를 이용하지 않음 1. Thymeleaf 프로젝트 생성 실행 테스트 기존 속성 앞에 'th:'를 붙여주고 속성 값을 지정한다. 또한 별도의 태그를 이용하지 않고 HTML을 그대로 유지한 상태에서 필요한 내용..
AWS RDS(Relational Darabase Service) AWS에서 지원하는 클라우드 기반 관계형 데이터 베이스 1. RDS 인스턴스 생성 RDS 서비스 검색하기 RDS 대시보드에서 데이터 베이스 생성하기 클릭 MariaDB로 생성 이유는 가격, Amazon Aurora(오로라) 교체 용이성 Q1. MariaDB 전반적인 사용 방법은 Mysql과 유사하다. 장점 동일 하드웨어 사양으로 MySQL보다 향상된 성능 좀 더 활성화된 커뮤니티 다양한 기능 다양한 스토리지 엔진 상세 설정에 스토리지에서 할당된 스토리지 부분을 20으로 설정한다. - 스토리지 유형 : 범용(SSD) 2. RDS 운영환경에 맞는 파라미터 설정하기 타임존 Character Set Max Connection 파라미터 그룹 탭을 ..
1. Paging Spring Data JPA를 이용한 페이징 처리는 '0'부터 시작한다. 1) 한페이지에에 10개 테스트 - Test 클래스 코드 org.springframework.data.domain 관련 클래스 사용해야된다. - 결과 첫 번째 쿼리문에서 페이징 처리에 사용하는 limit 구문, 두 번째 쿼리에서는 count()를 이용해서 전체 개수를 처리하는 구문! 2) Page 쿼리 결과를 사용하기 위한 여러 메서드를 지원함. 주로 페이지 처리와 관련된 정보 //paging @Test public void testPageDefault() { //page 10개 Pageable pageable = PageRequest.of(0,10); Page result = memoRepository.findA..
1. ORM과 JPA 1) ORM(Object Relation Mapping) - 객체지향 패러다임을 관계형 데이터베이스에 보존하는 기술 - 객체지향 구조가 관계형 데이터베이스와 유사하다. 객체지향구조 관계형데이터베이스 Class 테이블 Instance(객체) : 데이터 + 행위(메서드) Row(레코드, 튜플) : 데이터 Reference(참조) Relation(관계) 즉, 객체지향을 자동으로 관계형 데이터베이스에 맞게 처리해주는 기법 2) JPA(Java Persistance API) - ORM을 Java 언어에 맞게 사용하는 스펙 - Java 언어에 국한된 개념 ORM이 상위 개념 2. Spring Data JPA(Java Persistance API) 1) Spring Data JPA(Java Pe..
코드로 배우는 스프링 웹 프로젝트 스터디 기록하기! 1. 환경 설치 및 테스트 스프링 부트는 Intellij, 이클립스. STS, VS Code 등 개발 도구 지원이 활발함. 이전 프로젝트였던 블로그 만들기는 STS를 사용해서 개발하였다. 이번 프젝은 IntelliJ를 사용할 것이다!! https://www.jetbrains.com/ko-kr/idea/ IntelliJ IDEA: 우수성과 인체 공학이 담긴 JetBrains Java IDE www.jetbrains.com 1-1, Spring initalalizr를 이용한 프젝 생성 위와 동일하게 체크 후 Next 설치 후 IntelliJ 재시작하면 됨 1-2. Lombok 플러그인 설치 https://coding-day.tistory.com/49?cat..
구글 로그인에 이어 네이버 로그인 구현하기! 1. 네이버 API 등록하기 https://developers.naver.com/apps/#/register?api=nvlogin 애플리케이션 - NAVER Developers developers.naver.com 접속 후 애플리케이션 이름을 지정하고 아래 사진과 같이 진행하면 된다. 등록버튼을 누르면 네이버 서비스 등록이 완료된다! ClientID, ClientSecert 발급 완료! 2. application-oauth.properties 등록 # registration spring.security.oauth2.client.registration.naver.client-id=클라이언트ID spring.security.oauth2.client.registra..
기능 개선하기 - 어노테이션 기반으로 개선하기 - 세션 저장소로 데이터베이스 사용하기 개발자들 사이에서 나쁜 코드란 같은 코드가 반복되는 걸 의미한다. 코드 반복 시 수정이 요구될 때 모든 부분을 하나씩 찾아가면 수정해야 하는 번거로움이 생기며 유지보수가 어렵다. 이전 프젝에서 기능을 개선해보자!! 반복 줄이기!! 1. @LoginUser 세션 값을 가져와야할때 반복을 줄이고자 config.auth 패키지에 어노테이션을 생성한다. - LoginUser package com.bs.book.springboot.config.auth; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.an..
구글 로그인 인증 정보를 발급받았으니 로그인 기능을 구현할게요!! 1. User 엔티티 관련 코드 작성 User 클래스 생성 domain 패키지 아래 User 패키지를 만들어 패키지안에 클래스를 생성함. - User @Getter @NoArgsConstructor @Entity public class User extends BaseTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(nullable = false) private String name; @Column(nullable = false) private String email; @Column private String picture;..