일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 마크다운
- 클린
- code
- CleanCode
- 리스트
- mysql
- 정렬
- 계산 검색 방식
- @NoArgsConstructor
- 트리
- java
- query
- 클린코드
- 쿠키
- 선형 리스트
- WebClient
- 내부 정렬
- 스택 큐 차이
- 빅 오 표기법
- 마크다운 테이블
- 인터페이스
- JsonNode
- @ComponentScan
- 배열
- @RequiredArgsConstructor
- 쿼리메소드
- 클래스
- 자료구조
- 연결 리스트
- 코드
- Today
- Total
목록분류 전체보기 (149)
Developer Cafe
동기(Synchronous) 동기는 말 그대로 동시에 일어난다는 뜻입니다. 요청과 그 결과가 동시에 일어난다는 약속인데, 요청하면 시간이 얼마가 걸리던지 요청한 자리에서 결과가 주어져야합니다. 설계가 간단하고 직관적이만 결과가 주어질 때까지 아무것도 못하고 대기해야 하는 단점이 있다. ex) 현금출력을 예로 들수 있다. 먼저 계좌에 금액이 있어야 그 금액을 출력할 수 있다. 비동기(Asynchronous) 비동기는 동시에 일어나지 않는다를 의미합니다. 요청과 결과가 동시에 일어나지 않을거라는 약속입니다. 동기보다 복잡하지만 결과가 주어지는데 시간이 걸리더라도 그 시간 동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있다. ex) 시험을 예로 들수 있다. 문제를 다 푼 사람은 선생님께 제출만..
@RequiredArgsConstructor public class HelloResponseDto { private final String name; private final int amount; } ● 선언된 모든 final 필드가 포함된 생성자를 생성해 줍니다. ● final이 없는 필드는 생성자에 포함되지 않습니다.
dependencies { complie('org.projectlombok:lombok') } gradle로 롬북 설치시 아래와 같은 에러가 뜨면 A problem occurred evaluating root project 'freelec-springboot2-webservice'. > Could not find method complie() for arguments [org.projectlombok:lombok] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. dependencies { compile('org.projectlombok:lombok') testCompile "org.p..
오늘 정말 이상한 글을 하나 읽었다. React JS는 라이브러리고 Angular JS는 프레임워크라는것! 오늘 이 둘의 차이점을 기술하고자 합니다. 라이브러리 라이브러리는 특정 기능에 대한 도구 또는 함수들을 모아논 집합입니다. 즉, 프로그래머가 개발하는데 필요한 것들을 모아둔 것입니다. 프레임워크 프레임워크는 뼈대나 기반구조를 뜻하는데, Application 개발 시 필수적인 코드, 알고리즘, 데이터베이스 연동 등과 같은 기능들을 위해 어느정도 뼈대를 제공해주는 것입니다. 라이브러리 프레임워크 차이점 라이브러리와 프레임워크의 차이는 흐름에 대한 제어 권한이 어디에 있느냐의 차이입니다. 프레임워크는 전체적인 흐름을 자체적으로 가지고 있으며, 프로그래머가 그 안에 필요한 코드를 작성하는 반면에 라이브러리..
// Optional parameter function printName(firstName: string, lastName?: string) { console.log(firstName); console.log(lastName); } printName('Steve', 'job'); printName('Tom'); // 두번째인자 빼먹으면 원래 에러 lastName: string 에 ?넣으므로 해결 // Default parameter function printMessage(message: string = '아무것도 들어있지 않습니다.'){ console.log(message); } printMessage(); // '아무것도 들어있지 않습니다.' 가 출력 // Rest parameter function a..
// JS function jsAdd(n1, n2) { return n1 + n2; } // TS function tsAdd(n1: number, n2: number): number { return n1+n2; } // JS function jsFetchNum(id) { // code... return new Promise((resolve, reject) => { resolve(100); }); } // TS function tsFetchNum(id: string): Promise { // code... return new Promise((resolve, reject) => { resolve(100); }); }
{ /* JS Primitive : number, string, boolean, bigint, symbol, null, undefined // 한가지 심플데이터 Object: 그 외 ex) function, array ... */ // TS // number const num:number = 1; // string const str:string = 'hello'; // boolean const boal:boolean = false; // undefined 값이 있는지 없는지 아무것도 결정되어있지 않음 이걸 더 많이 쓴다 let name: number | undefined; name = undefined; name = 1; // null 텅텅비어있음 결정되어있음 가능하면 쓰지말자 let person: st..
@Autowired private MockMvc mvc; 웹 API를 테스트할 때 사용합니다. 스프링 MVC 테스트의 시작점입니다. 이 클래스를 통해 HTTP GET, POST 등에 대한 API테스트를 할 수 있습니다. @Test public void hello가_리턴된다() throws Exception { String hello = "hello"; mvc.perform(get("/hello")) .andExpect(status().isOk()) .andExpect(content().string(hello)); } mvc.perform(get("/hello")) MockMvc를 통해 /hello 주소로 HTTP GET 요청을 합니다. 체이닝이 지원되어 아래와 같이 여러 검증 기능을 이어서 선언할 수 있..
여러 스프링 테스트 어노테이션 중, Web에 집중할 수 있는 어노테이션입니다. 선언할 경우 @Controller, @ControllerAdvice 등을 사용할 수 있습니다. 단, @Service, @Component, @Repository 등은 사용할 수 없습니다.