전체 글 106

Intellij 단축키 알림 플러그인

알고 있는 Intellij 단축키가 몇 없다. 그렇다고 하나하나 찾자니 너무 번거롭다. 단축키로 대체될 수 있는 작업을 마우스로 실행할 때 화면 하단에 해당 작업의 단축키를 알려주는 플러그인이 있으니, 해당 플러그인을 사용해 보자. 얻어갈 지식 단축키 알림 플러그인 설치 "플러그인 설치" File > Settings... 를 클릭하고 Plugins에 들어간 뒤 Key Promoter X를 설치해 준다. ( 설치 후 Intellij 재시작 필요 ) 단축키로 실행할 수 있는 작업을 마우스로 클릭하여 실행할 경우 오른쪽 하단에 단축키를 알려주는 플러그인이다. Key Promoter X가 알려주는 단축키를 한눈에 보이게 잘 꾸며서 띄워주는 Presentation Assistant 플러그인도 다운로드한다. App..

Intellij 2021.07.20

버블링과 캡처링, form과 Enter 동작

React로 프로젝트를 작성하다가 bubbling 때문에 문제가 생겼다. bubbling과 함께 capturing이란 개념에 대해 배우고 문제를 해결해 보자. 얻어갈 지식 이벤트 버블링, 캡처링 form 태그 안에서의 Enter키 동작 "이벤트 버블링과 이벤트 캡처링" 아래와 같은 HTML 문서와 js 파일이 있다. 클릭 !! const html = document.documentElement const body = document.body const div = document.querySelector('div') div.addEventListener('cliick', function() { console.log("DIV") }) div.addEventListener('cliick', function()..

React 2021.07.16

JPA 연관 관계 설정

JPA의 역할 중 DB와 애플리케이션 간의 불일치성을 해결해 주는 역할이 있는데, DB의 FK와 JOIN을 통한 JOIN Table은 코틀린에서 어떻게 표현해줘야 할까? JPA를 사용하여 해당 문제를 해결해 보자. 얻어갈 지식 연관 관계를 사용 한 DB와 애플리케이션 ( kotlin )간의 불일치 해결 방법 사전 지식 RDB에서의 1:1, 1:N, N:M 관계 "여러 문제와 해결" DB에서 테이블 A와 테이블 B가 아래와 같은 구조로 있을 때 CREATE TABLE A( id int not null primary key, name nchar(20), age int ); CREATE TABLE B( a_id int not null references A(id) id int not null primary k..

JPA 2021.07.06

JPA의 개념과 이해

spring boot 프로젝트를 하면서 데이터 베이스 쿼리를 날리기 위해 JPA를 사용하고 있는데, 이해 없이 사용만 하는 것 같아 JPA의 기초적인 개념과 동작에 대해 알아보고자 글을 쓴다. 글의 대부분은 아래 유튜브를 보며 정리한 것이고, 강의가 깔끔하여서 웬만하면 강의를 듣는 게 좋겠단 생각이 들었다. 얻어갈 지식 JPA 개념과 장점 "JPA 란?" JPA ( Java persistence API )는 자바 진영의 ORM 기술 표준이다. 더보기 ORM 이란? ORM ( Object Relational Mapping - 객체 관계 매핑 )은 테이블을 객체지향적으로 사용하기 위한 기술. Object ( 애플리케이션 쪽 )와 Realational ( RDB ) 간 매핑을 해주는 녀석이다. 객체는 객체대로..

JPA 2021.07.04

코틀린 Cannot use 'R' as reified type parameter. Use a class instead 에러

제네릭 타입의 파라미터를 받은 뒤 해당 타입의 클래스를 얻는 과정에서 Cannot use 'R' as reified type parameter. Use a class instead. 컴파일 에러가 났다. 이 에러를 해결하기 위해 Type erasure의 개념과 inline functions에서의 reified type parameters 사용법에 대해 알아보자. 얻어갈 지식 Type ensure 기능 inline functions의 reified type parameters 사용 법 "에러의 상황" ( 코드를 약간 각색하였습니다. ) JPA 검색 결과인 Page를 pageDto로 변환하는 함수가 있다. fun getPageDtoBySmsPage(pageSms: Page): PageDto { return ..

코틀린 2021.07.01

코틀린 { apply, with, let, also, run } 이해

코틀린으로 작성된 프로젝트를 보다 보면 심심찮게 let, apply, run 등을 사용하는 것을 볼 수 있는데, 어느 상황에 let을 쓰고 어느 상황에 apply를 쓰고 어느 상황에 run을 써야 하는지 모호한 상황이 찾아오곤 한다. 이들을 명확하게 사용하고 구분하기 위해 글을 적는다. 얻어갈 지식 { let, run, with, apply, also } 의 개념과 사용법 확장 함수, 수신 객체 , 수신 객체 지정 람다 사전 지식 람다 기초 "{ let , run , with , apply , also } 란?" 코틀린 공식문서는 아래와 같이 설명을 하고 있다. Scope functions The Kotlin standard library contains several functions whose sol..

코틀린 2021.06.30