일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- Spring MVC 구성요소
- Spring MVC 동작원리
- Array.asList
- 백준
- 버블정렬
- java
- 구간합구하기
- MySQL
- OOP
- 투포인터알고리즘
- 성능테스트툴
- 자바
- 클라우드에서 도커 실행하기
- 스택
- String.valueOf()
- 인텔리제이
- 11659
- List.of
- 코드스테이츠 백엔드
- 백준 11659
- GCP
- 싱글톤패턴
- 코딩테스트
- vm인스턴스생성
- 프로그래머스
- 재귀와반복문
- Spring Web MVC
- 재귀함수
- 코드스테이츠
- Today
- Total
목록Development (41)
순간을 기록으로
정규표현식(Regular Expression, RegEx) 특정 문자열 패턴을 찾기 위해 사용되는 식 텍스트로부터 원하는 정보를 찾는데 매우 유용함 표현식 기능 예시 주의 . 모든 문자(anything)와 매칭 A.B.C.D. --> A+B-C=DE 개행문자 제외 \d 숫자문자(any digit)와 매칭 \d\d\d--> 무야호101 [0-9]와 같음 \D \d의 반대. 즉 숫자문자를 제외(non-digit)한 문자와 매칭 \D\D\D -->무야호101 \w 단어문자(= alphanemric(a-z,A-Z,0-9) + underscore('_')와 매칭 \w\w\w\w--> $0aB_ [0-9a-zA-Z_]와 같음 \W 단어 문자를 제외한 문자(non-word)와 매칭 \w --> $0aB_ ^ 문자열 ..
오류 프로그램이 실행 중에 오작동을 하거나 비정상적인 종료를 하는 경우가 있습니다. 이때 이렇게 비정상적인 종료를 하도록 만든 원인을 프로그램 오류 또는 에러라고 합니다. 시점에 따른 에러 종류 컴파일 에러(Compile Error): 컴파일 시에 발생하는 에러 컴파일러가 컴파일하는 과정에 잘못된 문법 등을 발견했을 때 발생하는 에러입니다. 런타임 에러: 실행 중에 발생하는 에러 사실은 에러라는 표현보다 오류가 더 좋습니다. 오류 안에 에러와 예외가 있다고 생각하는 게 편합니다. 논리적 에러: 실행은 되지만, 의도와는 다르게 동작하는 에러 런타임 에러(오류)의 2가지 종류 Error(에러): 코드로 극복할 수 없는 심각한 오류. 개발자가 고치지 못한다. Exception(예외): 코드로 수습될 수 있는 ..
InstanceOf 연산자를 사용하는 이유는 참조변수가 참조하고 있는 실제 인스턴스 타입을 알아보기 위해서 입니다. 주로 조건문 안에서 instanceOf를 사용하고 다음과 같이 사용합니다. 참조변수 instanceof 타입(클래스명) instanceof 연산의 결과는 true와 false로 2가지가 있습니다. true를 얻었다는 것은 참조변수가 검사한 타입으로 형변환이 가능하다는 의미입니다. 예를들어 보겠습니다. void doWork(Car c) { if (c instanceof FireEngine) { FireEngine fe = (FireEngine) c; fe.water(); ... } else if (c instanceof Ambulance) { Ambulance a = (Ambulance) c..
자바는 객체지향 프로그래밍 언어입니다. 객체라는 세계에 있기 때문에 모든 것들을 객체로 표현합니다. 예를 들어 간단한 파일 같은 경우에도 Object로 다루고, image도 객체로 다룹니다. 그렇기 때문에 때때로 원시 자료형(=기본형) 타입이 Object(객체)로 변환될 필요할 때가 있습니다. 예를 들어 어떤 메서드의 매개변수가 객체 타입일 때, ArrayList, Hash 등 컬렉션 프레임워크의 경우 객체만(참조형)을 저장할 수 있습니다. 즉 기본형은 저장할 수 없습니다. 우선 Wrapper 클래스가 무엇인지 살펴보겠습니다. Wrapper 클래스는 기본형 데이터를 감싸 객체로 표현해주는 클래스입니다. 따라서 자료형으로 객체를 요구하는 상황에서 사용될 수 있습니다. 또한 Wrapper 클래스는 기본적으로..
상황 엔티티를 만들면 공통적으로 들어가는 속성이 있다. 생성일(creatAt)과 수정일(modifiedAt)이다. 매번 엔티티를 생성할 때마다 위 두 속성을 작성해주기 보다는 공통적으로 처리해주면 훨씬 편할 것이다. BaseEntity.java @Getter @MappedSuperclass @EntityListeners(AuditingEntityListener.class) public abstract class BaseEntity { @Column(updatable = false) @CreatedDate private LocalDateTime createdAt; @LastModifiedDate private LocalDateTime modifiedAt; } @CreatedDate Entity가 생성되어 ..
상황 이전 프리 프로젝트에서 API를 검증할 때 포스트맨을 이용하여 수동으로 하나하나 검증을 했다. 수동으로 검증하려니 시간을 많이 잡아먹고 정확성도 떨어지는 문제점이 있었다. 그래서 이번에는 테스트 코드를 작성하여 API를 자동으로 검증해보자. 아래의 예시는 테스트 코드를 작성하여 어떻게 API 테스트를 자동 검증하는지를 보여준다. 이번 예시에서는 http://localhost:8080/hello/dto?name=hello&amount=1000으로 GET 요청을 보냈을 때 다음과 같이 JSON으로 응답이 와야 한다. HelloResponseDto import lombok.Getter; import lombok.RequiredArgsConstructor; @Getter @RequiredArgsConstr..
상황 컨트롤러를 테스트하는 상황에서 어떤 경우에는 @SpringBootTest를 사용하고, 또 어떤 경우에는 @WebMvcTest를 사용하는 코드를 봤다. 어떤 기준으로 선택하는 건지 몰라 정리하게 되었다. @SpringBootTest + @AutoConfigureMockMvc 특징 프로젝트 안의 모든 빈을 등록하여 테스트를 한다 단위 테스트와 같이 기능을 테스트할 때보다는 통합 테스트를 할 때 사용한다. 장점 서버를 띄우고 모든 빈을 등록하기 때문에 다양한 테스트 중에서 가장 운영환경과 유사한 테스트다. 단점 모든 빈을 등록하기 때문에 단위 테스트보다 시간이 더 걸린다. @AutoConfigureMockMvc는 Mock 테스트를 해야 될 경우에 추가한다. @SpringBootTest @AutoConfi..