- SQL 없이 유저 생성, 조회, 수정 기능을 만들어 보자 - 이전 글에서 User Entity와 User table을 미리 매핑했기 때문에 아래의 작업들이 가능한 것이다. 1. 저장(INSERT) - UserRepository interface를 User class와 같은 경로에 만들자 - JpaRepository를 상속하는 것만으로도 UserRepository는 Spring bean으로 등록된다. - 따라서 UserRepository interface에는 @Repository Annotation을 따로 붙여줄 필요가 없다. public void saveUser(UserCreateRequest request) { // save는 원래 내장돼 있는 method // INSERT 후에는 User 객체를 ..
● 도입 디자인 패턴의 종류 - 디자인 패턴은 크게 3가지로 나눌 수 있다. 1. 생성 패턴(Creational Patterns) : 오브젝트의 생성에 관련된 패턴 2. 구조 패턴(Structural Patterns) : 상속을 이용해 클래스 / 오브젝트를 조합하여 더 거대한 & 발전된 구조로 만드는 패턴 3. 행동 패턴(Behavioral Patterns) : 필요한 작업을 여러 객체에 분배하여 객체간 결합도를 줄이게 해주는 패턴 Builder Pattern? - 대표적인 생성 패턴으로써 객체의 생성에 대한 로직과 표현에 대한 로직을 분리해준다. - 객체의 생성 과정을 유연하게 해준다. - 객체의 생성 과정을 정의하고 싶거나 객체의 필드가 많아 constructor가 복잡해질 때 유용하다. ● 실습 [..
● 도입 - 함수형 프로그래밍을 이용해 디자인 패턴을 구현하는 방법을 알아볼 것이다. 디자인 패턴이란? - 반복해서 등장하는 프로그래밍 문제들에 대한 해법들을 패턴화 해놓은 것 - 프로그래밍에서 자주 등장하는 문제들에 대한 최적의 해법들을 모아 패턴화한 것이다. - 이러한 패턴들을 숙지해놓으면 비슷한 문제가 생겼을 때 패턴들이 이정표가 될 수 있다. - 디자인 패턴은 한 번 구현을 해놓으면 이후에 기능 추가, 변경, 유지&보수를 편리하게 할 수 있다. - 그러나 대부분의 디자인 패턴들은 처음에 그것을 구현하기 위해 많은 인터페이스 / 클래스 / 메서드를 필요로 한다. (= 코드가 복잡해진다.) - 함수형 프로그래밍을 이용해 몇몇 디자인 패턴을 좀 더 간단하게 구현할 수 있다. 디자인 패턴의 종류 - 디자..
● 도입 - Lazy Evaluation : 말 그대로 계산을 게으르게 하는 것이다. 계산값이 필요할 때까지 미루고 미루다가 꼭 필요해지면 그때가서 계산을 하는 것이다.(Lambda의 계산은 그 결과값이 필요할 때가 되어서야 계산된다.) - 이를 이용하여 불필요한 계산을 줄이거나 해당 코드의 실행 순서를 의도적으로 미룰 수 있다. cf) Stream은 Lazy Evaluation을 한다. ● 실습 1. - if문 안의 조건들을 or(||)로 엮을 때 아래와 같은 경우라면 returnFlase method는 실행조차 되지 않는다. - 이미 전체 조건이 true로 결정났기 때문에 뒤에 false가 오든 true가 오든 상관없이 무조건 true가 되기 때문이다. package com.fastcampus.fun..
● 도입 1. Scope(스코프 / 유효범위) - Scope : 변수에 접근할 수 있는 범위 - 함수 안에 함수가 있을 때 내부 함수에서 외부 함수에 있는 변수에 접근이 가능하다.(lexical scope) - 그 반대는 불가능 - 내부에 있는 Lambda가 다른 함수의 return 값이 되어도(다른 곳으로 넘어가더라도) 여전히 생성 당시의 상위 스코프에서 접근 가능했던 변수들에는 접근 가능하다. 이것을 lexical scope라고 한다. - Lambda 안에서는 Lambda 밖에 있는 변수에 접근 가능하다. 그 반대는 불가능 public static Supplier getStringSupplier() { String hello = "Hello"; Supplier supplier = () -> { Str..
- Total
- Today
- Yesterday
- 자료구조
- 알고리즘
- 프로그래머스
- jpa
- 빅데이터 분석기사
- MongoDB
- 메모리
- git
- Stream
- nosql
- OS
- db
- Java8
- SQL
- 프로세스
- node.js
- Phaser3
- Spring Boot
- 운영체제
- java
- 코딩테스트
- 빅데이터
- spring
- API
- SpringBoot
- 코테
- Phaser
- DART
- Advanced Stream
- MySQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |