본문 바로가기

[JPA] jpa 관련 application.properties 설정 # DataBase Settings spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource spring.datasource.url=jdbc:mysql://localhost:3306/sample?autoReconnect=true&useUnicode=true&characterEncoding=utf-8 spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver ​ # JPA Settings spring.jpa.hibernate.ddl-auto=none // create, create-drop, va..
[Spring Boot JPA] JPA를 사용하기 위해 꼭 필요한 Dialect에 대하여 Dialect(방언)이란? Dialect 방언에 대해 알아보기전 기본 SQL을 이해 해야 합니다. SQL은 표준 ANCI SQL이 있고 DBMS Vendor(공급업체)인 MS-SQL, Oracle, My-SQL, Postgre SQL에서 제공하는 SQL이 존재합니다. MS-SQL은 T-SQL, Oracle은 PL/SQL이 대표적입니다. ANSI SQL은 모든 DBMS에서 공통적으로 사용이 가능한 표준 SQL이지만 DBMS에서 만든 SQL은 자신들만의 독자적인 기능을 추가 하기 위해 만든 것으로 사용하는 DBMS에서만 사용이 가능합니다. 이해를 돕기 위해 예를 들면 MYSQL에서는 ID 값을 증가 시키기 위해 Auto Increment를 사용할 수 있지만 Oracle에서는 이 기능을 제공하지 않고 Sequ..
Create-React-App(CRA) 구성 살펴보기 CRA은 무엇인가?? CLI (터미널 커맨드 라인) 으로 우리가 빠르게 리액트 작업을 할 수 있게 도와주는 패키지이다. 여기에는 기본적으로 babel,webpack의 설정들이 들어가있어서 개발 환경의 시간을 아낄수 있다. npx create-react-app myapp 기본적으로는 위에 코드로 명령어를 실행하여 myapp이라는 리액트 폴더가 만들어 진다. 나는 매번 npx create react app 을 하기 귀찮아서,.. 그냥 npm i -g create-react-app 혹은 npm install --global create-react-app npm i -g create-react-app 혹은 npm install --global create-react-app 으로 컴퓨터에 설치를 하여 작업할때 c..
자주 사용하는 기초 Git 명령어 정리하기 들어가기전에 요약 Git이란 무엇인가? Git 설치하기 다른 개발자의 코드 받아오기 Branch 관리하기 Commit 내용 취소하기 코드 잠깐 저장하고, 다른 브랜치로 이동하기 요약 git init : git 생성하기 git clone git_path : 코드가져오기 git checkout branch_name : 브랜치 선택하기 git checkout -t remote_path/branch_name : 원격 브랜치 선택하기 git branch branch_name : 브랜치 생성하기 git branch -r : 원격 브랜치 목록보기 git branch -a : 로컬 브랜치 목록보기 git branch -m branch_name change_branch_name : 브랜치 이름 바꾸기 git branch..
Kotlin lazy property - lateinit/lazy 살펴보기 Kotlin에는 늦은 초기화를 위한 방법 2개를 제공한다. class의 전역에 아래와 같이 값을 생성하면, 클래스가 만들어지는 시점에 변수를 함께 초기화한다. class 생성과 동시에 변수가 초기화되면, 재 접근시 빠르게 접근이 가능하여 이득을 볼 수 있다. class SampleActivity { private val sampleAdapter: SampleAdapter = SampleAdapter(ImageLoaderAdapterViewModel(this@SampleMainActivity, 3)) } 하지만 위 변수를 꼭 사용하는 게 아니라면 오히려 메모리 손해를 볼 수 있다. 필수 요건이 아닌 경우라면 아래와 같이 늦은 초기화가 필요하다. class SampleActivity { private var..
[Spring] DI - 빈 주입하기 With Kotlin Spring에서는 빈을 주입하는 방법은 세가지가 있다. Field Setter Constructor Field 우선 첫번째 방법으로는@Autowired 어노테이션을 이용하여 주입하는 방법이다. @Service class UserService { @Autowired private lateinit var userRepository: UserRepository ... // Business Logic } Constructor 다른 방법으로는 생성자에 주입할 객체를 파라미터로 작성하는 방법이다. @Service class UserService(private val userRepository: UserRepository) { ... // Business Logic } 위의 UserService 클래스처럼 생성자가 ..
REST vs RPC REST와 RPC의 차이를 알아보자 1. REST REST? REpresentational State Transfer 상태값을 주고 받을 때, 구조 스타일 RESTful API HTTP 프로토콜 기반(HTTP 1.1) 리소스(자원)는 URI로 표현하며, 고유해야한다. URI는 단순하고 직관적인 구조이어야 한다. 처리 결과를 status code로 사용한다. 리소스 상태는 HTTP Methods를 활용해 구분한다. CRUD Operation POST: Create(추가/생성) GET: Read(조회) PUT: Update(수정) DELETE: Delete(삭제) xml 또는 json을 활용해서 데이터를 전송한다. 동사보다는 복수 명사를 기준으로 사용한다. 하위 자원을 표현하기 위해 /를 사용한다. GET ..
Kotlin 안전한 null 처리 NullPointerException은 아주 흔하게 볼 수 있는 오류입니다. NullPointerException을 줄여서 NPE라고도 하는데 이 Null을 처음 도입한 “찰스 앤터니 리처드 호어”가 다음과 같이 말했다고 합니다. The Billion Dollar Mistake. : wikipedia 코틀린도 null에 대한 예외는 따로 없습니다. 하지만 기본적으로 null을 허용하지 않도록 개발되었고, null을 쓰더라도 안전하게 사용될 수 있도록 구성하고 있습니다. 안전한 null 처리를 위한 글이 코틀린 문서에 나와 있어서 정리해보았습니다. 이번 글을 작성하면서 참고한 문서는 아래와 같습니다. Null Safety 문서를 살펴보면 Kotlin에서 제공하는 안전한 null 사용 방법을 제공하고 있습니..