본문 바로가기

스프링16

함수형 프로그래밍 함수형 프로그래밍 자료처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임 함수형 프로그래밍의 특징 순수함수 동일한 입력에는 항상 같은 값을 반환해야 하는 함수 함수의 실행이 프로그램의 실행에 영향을 미치지 않아야 하는 함수 함수 내부에서 인자의 값을 변경하거나 프로그램 상태를 변경하는 Side Effect가 없는 것 비상태, 불변성 함수형 프로그래밍에서의 데이터는 변하지 않는 불변성을 유지해야 한다. 데이터의 변경이 필요한 경우, 원본 데이터 구조를 변경하지 않고 그 데이터의 복사본을 만들어서 그 일부를 변경하고, 변경한 복사본을 사용해 작업을 진행한다. 선언형 함수 명령형 프로그래밍은 무엇을 어떻게 할 것인가에 주목하고, 선언형 프로그래밍은 무엇을 할 것인가에 주목.. 2023. 7. 10.
12/20 GDSC 백엔드 스터디 정리 목차 1. 백엔드 과제 요구사항 이번 주는 백엔드 스터디에서 과제를 주었다. 가상의 기획자가 존재한다는 가정하에 기능 요구 사항이 주어지고 이에 따른 데이터베이스 구성과 엔티티 형성을 생각해보자 백엔드 과제 요구 사항 기능 요구 사항 주어진 주제 -> 페이스북 유저 유저는 회원가입, 로그인을 통해 가입할 수 있습니다. (필요한 값: email, nickname) (도전) 회원가입과 로그인 시 JWT와 Session 중 하나를 선택할 수 있습니다. 글 유저는 게시글을 올릴 수 있습니다. (필요한 값: 게시글 제목, 내용) 유저는 게시글을 수정할 수 있습니다. 유저는 게시글을 삭제할 수 있습니다. 유저 모든 유저는 모든 게시글에 좋아요를 남길 수 있습니다. 모든 유저는 게시들에 남긴 좋아요를 취소할 수 있습.. 2022. 12. 25.
11/28 GDSC 백엔드 스터디 정리 목차 1. Data JPA Data JPA Data JPA Interface Data JPA 주요 메서드 save(S): 새로운 엔티티는 저장하고 이미 있는 엔티티는 병합한다. delete(T): 엔티티 하나를 삭제한다. 내부에서 EntityManager.remove() 호출 findById(ID): 엔티티 하나를 조회한다. 내부에서 EntityMaganager.find() 호출 getOne(ID): 엔티티를 프록시로 조회한다. 내부에서 EntityManager.getReference() 호출 findAll(_): 모든 엔티티를 조회한다. 정렬(Sort)이나 페이징(Pageable) 조건을 파라미터로 제공할 수 있다. Data JPA 기타 메서드 COUNT: count...By 반환타입 long EXIS.. 2022. 12. 4.
11/21 GDSC 백엔드 스터디 정리 목차 1. JPA 2. Data JPA JPA 영속성 컨택스트 JPA를 이해하는데 가장 중요한 용어 엔티티를 영구저장하는 환경이라는 뜻 EntityManager.persist(entity); 엔티티 매니저 팩토리와 엔티티 매니저 엔티티 매니저 팩토리와 엔티티 매니저 엔티티와 엔티티의 생명주기 엔티티 ==> 테이블에 대응하는 하나의 클래스 비영속(new/transient) -> 영속성 컨택스트와 전혀 관계가 없는 새로운 상태 영속(managed) -> 영속성 컨택스트에 관리되는 상태 준영속(detached) -> 영속성 컨택스트에 저장되었다가 분리된 상태 삭제(removed) -> 삭제된 상태 비영속 영속 영속성 컨택스트의 이점 1차 캐시 동일성(identity)보장 트랜잭션을 지원하는 쓰기 지연(tran.. 2022. 11. 26.