본문 바로가기

전체 글72

[TIL] #21. spring 3주차 강의 [ 인증과 인가 ] 인증: 해당 유저가 실제 유저인지 확인하는 것 인증을 유지하는 방법A. 쿠키세션 방식    (쿠키 : 토큰 저장소     세션 : 인증정보서버가 특정 유저가 로그인 되었다는 상태를 저장하는 방식유저의 이전 상태의 정보를 저장해서 로그인을 유지시킴사용자가 로그인사용자 확인 - DB와 대조 후 결과 리턴실제 유저 테이블의 정보와 일치한다면 인증 통과해당 유저가 로그인 되었다는 정보를 세션에 저장유저의 정보와 관계없는 세션 ID 발급서버는 해당 발급을 응답에 담아서 알려줌세션 아이디를 큐키라는 저장소에 보관, 요청할 때마다 세션 아이디를 같이 보냄 (HTTP 헤더에 담겨서 보내짐)요청 중 쿠키를 발견했다면, 세션 저장소의 정보와 비교해서 검증 - 제대로 된 정보라면 로그인 된 사용자라고 인.. 2024. 5. 21.
[TIL] #20. Transaction [ Transaction ] 데이터베이스 트랜잭션 : DB 관리 시스템에서의 상호작용의 단위특징- 원자성 : 모두 반영되거나 / 모두 반영되지 않아야 한다- 일관성 : 처리 결과는 항상 일관성 있어야 한다- 독립성 : 다른 트랜잭션의 작업에 끼어들 수 없다- 지속성 : 결과는 영구적이어야 한다 연산- Commit : 하나의 트랜잭션이 성공적으로 끝났으며 DB가 일관성 있는 상태로 유지될 때, 트랜잭션이 마무리 되었다는 것을 관리자에게 알리기 위함- Rollback : 트랜잭션이 비정상적으로 끝난 경우, 트랜잭션을 다시 시작하거나 부분적으로 연산한 결과를 취소 시킨다 @Transactional클래스 또는 매서드 위에 @Transactional을 붙이면, 트랜잭션 기능이 적용된 프록시 객체가 생성된다.트랜.. 2024. 5. 20.
[TIL] #19. Spring + JPA [ Spring + JPA ] SpringBoot의 JPAapplication.properties에 DB 정보를 전달해 주면 이를 토대로 EntityManagerFactory가 자동 생성됨@Transactional 애너테이션을 클래스나 메서드에 추가하면 쉽게 트랜잭션 개념을 적용할 수 있음JPA를 사용하여 DB에 데이터를 저장, 수정, 삭제 하려면 트랜잭션 적용이 반드시 필요 !!영속성 컨텍스트와 트랜잭션의 생명주기영속성 컨텍스트와 트랜잭션의 생명주기가 일치Spring Data JPA : JPA를 쉽게 사용할 수 있게 만들어놓은 하나의 모듈Repository 인터페이스 : Hibernate와 같은 JPA구현체를 사용해서 구현한 클래스를 통해 사용됩니다JpaRepository 등록을 통해 JPA 사용 가능.. 2024. 5. 17.
[TIL] #18. spring 2주차 강의 [ Spring 입문주차 1주차 강의 ] 3 layer Architechture: 서버 처리 과정을 controller, service, repository 3개로 분리하는 것1. controller : client의 요청을 받고 요청을 service에 전달 → service가 요청에 대한 로직 실행 → 처리 완료된 결과를 controller에 전달 → controller는 client에게 응답2. service : 사용자의 요구사항(비즈니스로직) 처리→ DB 저장/조회 필요 시 repository에게 요청3. repository : DB 관리 IoC, DI- 좋은 코드(간단한 논리, 중복 제거, 명확한 표현 ,,,)을 구현하기 위함- "DI 패턴을 사용해서 IoC를 구현한다"IoC (Inversion .. 2024. 5. 17.
[TIL] #17. UseCase Diagram, ERD [ 개인과제 ] Use Case Diagram: 시스템에서 제공해야 하는 기능이나 서비스를 명세한 다이어그램   - 사용자와 시스템 사이의 상호작용에 집중하는 것이 특징구성요소1. scope : 네모난 상자로 표현되며, 시스템이 제공하는 기능의 범위를 나타낼 때 쓰인다2. useCase : 시스템이 제공해주는 서비스와 기능. 사용자의 요구사항을 구조화한 것3. actor : 구현 대상이 아닌 시스템 외부에서 시스템과 상호작용 하는 존재. 사람 or 외부 시스템이 actor로 표현된다.4. relationship : actor-usecase, usecase-usecase 사이 관계    a. association : usecase - actor의 관계 표현. actor는 정보를 통보받거나 요구하고, use.. 2024. 5. 14.
[TIL] #16. spring 1주차 강의 [ Spring 입문주차 1주차 강의 ] Gradle이란 무엇일까Gradle : build 자동화 시스템build : 작성한 소스코드를 실행 가능한 결과물(jar) 로 만드는 것build.gradle : gradle 기반의 빌드 스크립트 => 스크립트 작성 시 빌드와 라이브러리 관리가 가능해짐!dependencies에서 라이브러리 관리 가능 SERVER란 무엇일까네트워크 : 여러 대의 장비가 서로 연결되어 정보를 주고 받을 수 있게 도와주는 기술. 프로토콜을 사용하여 통신한다.사용자의 요청 → 서버 → 사용자에게 돌려줌  - 사용자 요청 시 해당 서버의 정보가 필요함.  - 정보 = IP주소 (받는 주체 = 포트번호)웹 서버 : browser가 request → 요청승인, 결과를 reponse에 받아서 .. 2024. 5. 13.