Home

스프링의 예외 처리

기본 예외 처리스프링은 기본적으로 예외가 발생하면 /error에 매핑된 핸들러를 찾는다.만약 /error에 매핑되지 않았다면 우리가 흔히 보게 되는 Whitelabel Error Page를 보여주게 된다. 스프링 MVC의 요청 흐름요청이 오면 필터 -> 서블릿(디스패처 서블릿) -> 인터셉터 -> 핸들러 순으로 진행된다.이때 컨트롤러에서 예

우테코 수료 이후 새로운 프로젝트 준비까지 회고

실패 그리고 반성우아한테크코스가 끝난 뒤 본 면접들에서 모두 떨어졌다. 이유를 정확히 알 수 없지만 내가 느끼기에는 여러가지 아쉬움이 있었다. 먼저 빠르고 정확하게 학습하는 습관을 만들지 못했다. 우아한테크코스를 하면서 주위 사람들이 공부하는 내용을 따라가기 급급했다. 원하는 지식이 무엇인지 차분히 고민하고, 집중해서 빠르고 정확하게 학습해야 하지 않았나

스프링과 JPA 환경에서 동시성 문제 해결하기

동시성 문제동시성 문제는 공유 자원을 여러 스레드가 수정할 때 공유 자원의 일관성이 깨지는 상황을 말한다. 예를 들어 내 계좌에 1000원을 두 스레드가 동시에 입금하려고 한다고 가정해보자. 병렬로 스레드가 작업을 수행하고 위에서 부터 시간순으로 진행됨을 나타낸다.스레드 A가 남은 금액 조회 : 0원스레드 B가 남은 금액 조회 : 0원스레드 A가 남은 금액

서로 연관관계가 없는 엔티티를 DTO로 조회하기

문제 상황전세계의 프로 축구 선수를 관리하는 시스템을 만든다고 가정하자. 이 시스템에는 나라, 리그, 선수 이렇게 세가지 엔티티가 있다. 이 세 엔티티 모두 직접 참조는 되어 있지 않은 상태로 모두 물리적인 연관관계는 없다. 다만 리그가 나라를 id로 간접 참조하고, 선수가 리그를 id로 간접 참조하고 있다고 하자. 그렇다면 코드는 다음과 같을 것이다. 1

애노테이션과 리플렉션

애노테이션 선언과 사용애노테이션 적용코틀린 애노테이션 적용은 자바와 매우 비슷하다. 12@Deprecated("Use removeAt(index) instead", ReplaceWith("removeAt(index)"))fun remove(index: Int) { ... } 애노테이션에 인자로는 원시 타

코틀린의 제네릭스

코틀린의 제네릭스는 자바와 비슷한 점이 많다. 자바와 다른 부분도 많으니 이 점을 살펴보자! 제네릭 타입 파라미터코틀린의 제네릭 타입 파라미터는 자바와 매우 비슷하지만 몇 가지 새로운 기능에 대해 배워보자. 타입 파라미터 제약코틀린은 타입 파라미터 제한으로 클래스나 함수에 사용할 수 있는 타입 인자를 제한할 수 있다. 1fun <T: Number>

고차 함수(파라미터와 반환 값으로 람다 사용)

고차 함수고차 함수는 다른 함수를 인자로 받거나 함수를 반환하는 함수다. 코틀린의 고차 함수가 인자나 반환값으로 함수를 사용하기 위해서는 함수 타입이 필요하다. 함수 타입자바에서 람다 식을 매개변수나 반환값으로 사용하기 위해서는 함수형 인터페이스를 사용했다. 코틀린에서는 함수 타입이 존재한다. 12val sum: (Int, Int) -> Int = &

연산자 오버로딩과 기타 관례

산술 연산자 오버로딩코틀린에서 어떤 언어 기능과 미리 정해진 이름의 함수를 연결해주는 기법을 코틀린에서 관례라고 부른다.코틀린에서 관례를 사용하는 가장 단순한 예는 산술 연산자다. 기존 자바에서는 원시 타입과 문자열 정도에 산술 연산자를 쓸 수 있다. 하지만 관례를 적절히 사용하면 다른 클래스에도 산술 연산자를 쓸 수 있다. 이항 산술 연산 오버로딩1234

퀴즈로 학습하는 운영체제와 정보기술의 원리

3장 메모리 및 입출력 장치를 제어하는 하드웨어 장치는 무엇인가? 컨트롤러라는 하드웨어 장치가 메모리 및 입출력 장치를 제어한다. 마치 입출력 장치마다 작은 CPU가 있다고 생각하면 편하다. 운영체제 코드 중 메모리에 올려지는 중요한 코드는 무엇이라고 하는가 운영체제의 모든 코드를 메모리에 올리면 자원 낭비가 생긴다. 운영체제 중 주요 코

패키지 설계의 원칙

단위 크기: 패키지 응집도의 원칙개발자가 어떻게 클래스를 패키지에 분류해 넣을지 결정할 때 도움이 되는 규칙 세가지를 알아보자. 이때 각 클래스의 상호 관계가 일부분이라도 밝혀져 있음을 가정한다.모듈의 응집도는 모듈이 단 하나의 기능을 수행하는 속성을 의미했지만 패키지 응집도는 그보다 복잡하다. 재사용성과 개발 용이성에서 상충하는 가치를 검토하고 어플리케이