본문 바로가기

스터디

(12)
[Spring Boot] 스프링 스터디 8일차 MySQL을 위한 데이터베이스를 분리함.캐시의 역할을 하는 로컬에 띄우는 Redis. SpringBoot에서 불필요한 네트워크 요청이 줄어든다.
[Spring Boot] 스프링 스터디 7일차
[Spring Boot] 스프링 스터디 6일차 user ↔ security ↔ springBoot security는 여러 개의 필터로 구성됨. 모든 req와 res는 sequrity를 지난다.(intercept함) @Bean을 사용하여 커스텀할 수 있다. => @Bean으로 선언한 내용을 사용해라. DB에 접근하여서 User 정보에 매번 접근할바에, 새로운 객체를 생성하여 캐싱해두자.
[Spring Boot] 스프링 스터디 5일차 ※ 인증 vs 인가 인증(Authentication): 증명서를 발급받음, 증명서를 다룸. /api/v1 ex) 로그인 인증 요청 문제, 401 Error(Unauththorized) 인가(Authorization): 서버입장에서 자원에 접근하는 것을 허락하는 것, 자원을 다룸. /api/v2 => 인증 완료된 자격이 필요함. 로그인 필수!!! 접근 권한 문제, 403 Error(Forbidden) ※ 세션 vs JWT 세션: 서버가 유저 상태를 추적(Stateful). 서버가 아닌 메모리에서 로그인한 유저의 정보를 직접 저장함. 서버가 세션id를 클라이언트에 전달함. JWT: 메모리에서 관리하지 않음(Stateless). 토큰 사용. 서버가 토큰을 클라이언트에 전달함. Token: header, pay..
[Spring Boot] 스프링 스터디 4일차 # 과제 - JPA 기술 ORM: 객체를 관계형 데이터베이스와 매핑함. => Annotation을 활용, @Entity # 스터디 연관어: Hibernate, 다형성, interface, 정보 숨김 Java Application; Spring Boot, Spring Data JPA? JPA(interface. EntityManager em를 이용해 interface 구현) JDBC, Hibernate, ... (구현체; 어떻게 구현되든 JPA interface를 구현만 하면됨. void excute()-데이터베이스 연결 ) => JDBC, Hibernate, ... 등 종류에 따라 Spring Boot의 코드가 변경되어야함. 따라서 JPA 도입하여 어떤 동작을 할지 알리고, JDBC, Hibernate,..
[Spring Boot] 스프링 스터디 3일차 DB의 값을 자바에서 객체로 처리하기 위해 Domain을 사용함. 데이터베이스로부터 값을 읽어와서 자바에서 Domain의 하나의 클래스로 정의내린 후 값이 변화하면 안 됨. 주요 3계층: Controller, Service, DAO 주요 3계층간에 움직일 때, 보안성이 있고 일부의 데이터만 가지는 DTO를 사용함. 패러다임과 속성이 약간 다른 것들 Controller, Service, DAO: 자바에서 값을 다룸...? DTO, Domain: 데이터베이스의 값을 다룸...? 데이터베이스: 테이블 사용 Spring: Domain 사용 💯💯💯 과제 해결 중 이해한 것 사용자 -> Controller -> 데이터베이스 dto로 입력 ↓↑ @Entity를 활용하여 domain으로 변환 Dto 스프링에서 정의된 ..
[Spring Boot] 스프링 스터디 2일차 - 웹 어플리케이션 5계층에 대한 이해 Controller: 사용자로부터 Get요청을 받음. Service: transaction 처리, 비즈니스 로직 처리 DAO: 서버에 접근 Domain: 데이터베이스에서 객체 형태로 Spring에서 다루기 위한 데이터 타입 클래스. DTO: 보안 및 불필요한 내용 제외하고 필요한 내용만 다루는 곳. Spring Boot의 자바 상에서 Annotation 사용(Domain - 불변의 법칙: 생성자로 한번 Domain이 생성되면 이후에 바뀔 일이 없음) : 기본생성자 private 선언, setter 사용 X, getter는 꼭 필요할 때만 필드 단위로 사용 데이터베이스상의 필드: user_name, Spring에서 사용하는 필드: name @Column(name = ..
[Spring Boot] 스프링 스터디 1일차 https://start.spring.io/ Group: com.likelion Name: mail Artifact: study Package com.likelion.study => study.likelion.com이라는 api 생성하는 것 Ex) mail.google.com - 스프링 라이브러리 Spring Batch: 대량의 데이터를 일괄적으로 처리함. 일정 주기로 돌아가는 Scheduler와는 다름. Server Side Rendering 어플리케이션 서버 3계층(web server, was, db server) Web server: 로그인 페이지와 같이 DB를 접근할 이유가 없는 요청들을 여기서 처리해버림. WAS: WAS라는 하드웨어, 소프트웨어에서 Springboot라는 애플리케이션이 동작함...