profile
백엔드 개발자 지망생입니다.

[Kotlin] 키워드 정리 (open, internal, data class)

이번 글의 코드는 Github에 있습니다. 이번 글에서는 코틀린에서 자주 등장하는 용어들에 대해 알아보겠습니다. 정리하고 싶은 키워드들을 작성하므로 키워드들끼리 연관성이 없을 수 있습니다. open 자바에서는 클래스에 final이 붙지 않으면 모두 다른 클래스에서

2일 전
·
0개의 댓글
post-thumbnail

[Kotlin] 타입 시스템 : (1) Null 가능성

이번 글의 코드는 Github에 있습니다. 자바에 비해, 코틀린의 타입 시스템은 더 간결하고 가독성 좋은 몇 가지 기능을 제공합니다. 그 중에 대표적으로 널이 될 수 있는 타입(nullable type)과 읽기 전용 컬렉션이 있습니다. 이번 글에서는 코틀린에서 nu

2020년 6월 23일
·
0개의 댓글

[Kotlin] 생성자 정리

이번 글의 코드는 여기에 있습니다.아래와 같이 클래스 이름 옆에 괄호로 둘러싸인 코드를 주 생성자 라고 부릅니다. 주 생성자는 생성자 파라미터를 지정하고 그 생성자 파라미터에 의해 초기화되는 프로퍼티를 정의하는 두 가지 목적에 쓰입니다.코틀린의 클래스는 하나의 주생성자

2020년 6월 22일
·
0개의 댓글

[Java] Immutable Object(불변객체)

면접에서 "자바에서 불변객체에 대해 설명해주세요.."라는 질문을 받았다.속으로 'final만 붙이면 불변객체 아닌가?'라는 생각을 했지만 불변객체에 대해 공부하지 않아 모른다고 했다...그래서 찾아봤더니 생각했던 것과 다른 내용이 있어서 글을 작성한다.이번 포스팅의 코

2020년 5월 12일
·
0개의 댓글
post-thumbnail

[OS] Deadlock

교착상태(deadlock)란 프로세스들의 집합이 더 이상 진행을 못하고 영구적으로 블록되어 있는 상태로 정의된다. 교착상태는 시스템 자원에 대한 경쟁 도중에 발생할 수도 있고 프로세스 간 통신 도중에 발생할 수도 있다. 집합 내의 한 프로세스가 특정 사건의 발생을 기다

2020년 3월 5일
·
1개의 댓글
post-thumbnail

@RequestBody에 왜 기본 생성자는 필요하고, Setter는 필요 없을까? #3

이전 글에서는 RestController에서 @RequestBody 바인딩을 Jackson 라이브러리의 ObjectMapper가 하는 것을 확인했습니다.그리고 RequestBody를 생성할 때, DTO가 Property기반이 아니거나 Delegate를 한 상태가 아니라

2020년 2월 18일
·
0개의 댓글

[OS] 세마포어와 뮤텍스

세마포어와 뮤텍스은"여러 프로세스나 쓰레드가 공유 자원에 접근하는 것을 제어하기 위한 방법"으로 정의할 수 있습니다. 즉, 병행 처리를 위한 프로세스 동기화 기법입니다. 예를 들자면 교차하는 철도에서 열차의 진행가능 여부를 나타내는 신호등이 세마포어나 뮤텍스가 될 수

2020년 2월 14일
·
0개의 댓글

@RequestBody에 왜 기본 생성자는 필요하고, Setter는 필요 없을까? #2

이전 글에서는 어떻게 @RequestBody를 처리하는지를 알아보기 위한 과정을 설명했습니다. 이번 글에서는 @RequestBody를 바인딩하는 ObjectMapper에 대해 알아보고, 결론을 짓겠습니다. 참고로 아래 사진들에서 현재 위치(class)는 다음과 같이 찾

2020년 1월 24일
·
2개의 댓글

@RequestBody에 왜 기본 생성자는 필요하고, Setter는 필요 없을까? #1

Springboot로 토이 프로젝트를 진행중 Request DTO(requestBody로 오는)에 @NoArgsConstructor를 빠뜨려서 에러가 났다. (습관적으로 적어오던 어노테이션...) 그런데 @RequestBody로 넘어오는 객체에는 기본 생성자가 왜 필요

2020년 1월 23일
·
0개의 댓글

2019년 회고

20대의 마지막 회고 2019년이 끝난지 5일이 지났다. 이동욱님의 책을 따라해보는게 재밌어서 끝내느라 회고가 늦어졌다. 2019년에는 많은 것을 경험하고, 배운 의미있는 한 해였다. 20대 마지막을 마무리 짓고, 30대의 시작을 생각해보는 시간을 가져본다. Baek

2020년 1월 5일
·
4개의 댓글

.gitignore 사용하기

.gitignore란? 깃에서 특정 파일 혹은 디렉토리를 관리 대상에서 제외할 때 사용하는 파일. 이 파일 안에 기입된 내용들은 모두 깃에서 관리하지 않겠다는 것을 의미합니다. 예를 들어 자동으로 생성되는 로그파일, 프로젝트 설정 파일 등을 관리 대상에서 제외할 수 있습니다. 인텔리제이에 플러그인 설치하기 인텔리제이에서는 .gitignore 파일에 ...

2019년 12월 15일
·
0개의 댓글

gradle 프로젝트를 스프링 부트 프로젝트로 변경하기

image.jpg > 이번 글은 이동욱님의 의 그레이들 프로젝트를 스프링 부트 프로젝트로 변경하기를 따라해보며 내용을 공유하고자 합니다. > > 평소 스프링 이니셜라이저를 통해 프로젝트를 생성해와서 build.gradle의 코드가 무슨 역할을 하는지를 잘 모르기 때문에 그레이들 프로젝트를 스프링 부트 프로젝트로 변경하기 먼저, intellij에서 그...

2019년 12월 14일
·
0개의 댓글

[JPA] 임베디드 타입(embedded type)

임베디드 타입(복합 값 타입) 새로운 값 타입을 직접 정의해서 사용할 수 있는데, JPA에서는 이것을 임베디드 타입(embedded type)이라 합니다. 중요한 것은 직접 정의한 임베디드 타입도 int, String처럼 값 타입이라는 것입니다. 임베디드 타입을 사용하지 않았을 때와 사용했을 때를 비교해 봅시다. 위는 평범한 회원 엔티티입니다. ...

2019년 12월 9일
·
0개의 댓글

JPA Auditing으로 생성일/수정일 자동화하기

현재 진행중인 프로젝트에서 해당 데이터의 생성시간과 수정시간을 관리해야 할 부분이 있었습니다. 예를 들어, 주문 도메인에서 주문한 시간과 주문 내용을 수정한 시간이 필요했습니다. 그리고 결제 도메인에서는 결제 요청한 시간과 결제 내용을 수정하는 시간이 필요했습니다. 현재 개발 초기 단계이지만 벌써 두 곳에서 생성시간/수정시간이 필요했습니다. 언제 만들...

2019년 12월 6일
·
0개의 댓글

Docker 사용해보기(기본 명령어)

Docker의 명령은 docker run, docker push와 같이 Docker 형식이며, 항상 root 권한으로 실행해야 합니다. search 명령으로 이미지 검색하기 Docker는 Docker Hub을 통해 이미지를 공유하는 생테계가 구축되어 있습니다. 유명 리눅스 배포판, 오픈 소스 프로젝트(Redis, Nginx 등)의 Docker 이미지는...

2019년 12월 5일
·
0개의 댓글

[JPA] 다양한 연관관계 매핑

이번 글에서는 **에 대해 알아보겠습니다. 이 시리즈 글은 김영한 님의 강의, 책을 보고 적은 것임을 알려드립니다. (강추) 다중성 연관관계는 다음과 같은 다중성이 있습니다. 다대일(@ManyToOne), 일대다(@OneToMany), 일대일(@OneToOne), 다대다(@ManyToMany) 보통 다대일과 일대다 관계를 가장 많이 사용하고 다대다 관계는...

2019년 11월 20일
·
0개의 댓글

[JPA] 연관관계 매핑 기초 #2 (양방향 연관관계와 연관관계의 주인)

이번 글에서는 에 대해 알아보겠습니다. 이 시리즈 글은 김영한 님의 강의, 책을 보고 적은 것임을 알려드립니다. (강추) 오타 및 피드백 환영합니다. 양방향 연관관계 이전 글에서는 회원에서 팀으로만 접근하는 다대일 단방향 매핑을 알아 보았습니다. 이번에는 팀에서 회원으로 접근하는 관계를 접근하는 관계를 추가해서, 양방향 연관관계로 매핑을 해보겠습니다. ...

2019년 10월 3일
·
0개의 댓글

[디자인 패턴] 싱글턴 패턴(Singleton Pattern)

지난주 우아한 테크코스 미션에서 멀티쓰레드(Multi Thread) 환경에서 개발했다. 싱글턴 패턴을 알고 있음에도 사용하지 않았던 것이 아쉬웠다. 간단히 정리하고 자주 보면서 기억하고 다음엔 사용해보자. 1. Singleton Pattern? 싱글턴 패턴은 오직 하나의 인스턴스만 생성해 재사용하기 위한 디자인 패턴입니다. 쉽게 말해, 생성자가 여러번 ...

2019년 10월 1일
·
0개의 댓글

[JPA] 연관관계 매핑 기초 #1 (연관관계의 필요성, 단방향 연관관계)

이번 글에서는 **에 대해 알아보겠습니다. 이 시리즈 글은 김영한 님의 강의, 책을 보고 적은 것임을 알려드립니다. (강추) 1. 연관관계가 필요한 이유 > > - 회원과 팀이 있다. > - 회원은 하나의 팀에만 소속될 수 있다. > - 회원과 팀은 다대일

2019년 9월 24일
·
0개의 댓글

[JPA] 엔티티 매핑 #2

이번 글에서는 에 대해 알아보겠습니다. 이 시리즈 글은 김영한 님의 강의, 책을 보고 적은 것임을 알려드립니다. (강추) 기본 키 매핑 JPA가 제공하는 데이터베이스 기본 키 생성 전략은 다음과 같습니다. 직접 할당: 기본 키를 애플리케이션에서 직접 할당, @Id만 사용 자동 생성(GeneratedValue): 대리 키 사용 방식 IDENTITY: 기...

2019년 9월 15일
·
0개의 댓글