전체 글(91)
-
코틀린 retrofit2 레트로핏2 사용하기
retrofit2 라이브러리 retrofit2는 무엇인가? REST API 통신을 위해 구현된 OkHTTP HTTP 통신을 간편하게 만들어주는 라이브러리를 말합니다. 동일 Squareup사의 OkHttp 라이브러리의 상위 구현체라고 보시면 되겠습니다. retrofit2의 장점 3가지 1. OkHTTP 사용 시에 AsyncTask를 통해 비동기로 실행하여 속도가 느립니다. 하지만 retrofit2에서는 자체적 비동기 실행과 스레드 관리가 가능하여 속도가 빠릅니다. (AsyncTask의 3~10배 성능 차이가남) 2. 함수 호출 시에 파라미터를 넘겨주어 작업량이 감소 합니다. 3. Interface 내에서 어노테이션을 사용하여 호출 함수를 미리 지정. 구현 없이 해당 함수를 호출만 해주면 retrofit2이..
2024.01.04 -
스트링부트에서 JPA로 데이터베이스 다루기(1)
JPA란? JPA란 java persistence API 로 자바 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음입니다. 실제적으로 구현된것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크 입니다. 그러면 ORM은 무엇인가? ORM은 우리가 일반 적으로 알고 있는 애플리케이션 Class와 RDB(Relational DataBase)의 테이블을 매핑(연결)한다는 뜻이며, 기술적으로는 어플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 것이라고 생각 하면 됩니다. 과거 스프링에서는 MyBatis와 같은 SQL 매퍼를 사용해서 데이터베이스의 쿼리를 작성했습니다. 그러다 보니 실제로 개발 하는 시간보다 SQL을 다루는 시간이 더 ..
2024.01.02 -
인텔리제이 롬복 추가하기
이번엔 알아볼 내용은 자바 개발자들의 필수 라이브러리인 롬복 (Lombok) 입니다. 롬복은 자바 개발할 때 자주 사용하는 코드 Getter, Setter, 기본생성자, toString 등을 어노테이션으로 자동 생성해 줍니다. 그럼 먼저 프로젝트에 롬복을 추가해 보겠습니다. build.gradle의 dependencies에 다음의 코드를 추가하여 라이브러리를 받아줍니다. build.gradle 버전 Gradle 5.x 미만 implementation 'org.projectlombok:lombok' 버전 Gradle 5.x 이상 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' gradle 버전을 모르겠..
2024.01.01 -
스프링부트(springboot) 테스트코드 작성하기
견고한 서비스를 만들고 싶은 개발자나 팀에선 TDD (Test - driven development) 를 하거나 최소한 테스트 코드는 꼭 작성했었습니다. 또한 요즘 대부분의 서비스 회사가 테스트 코드에 관해 요구 하고 있습니다. 그만큼 요즘 선망하는 서비스 회사에 취업과 이직을 하기 위해서는 테스트 코드는 절대 빠질 수 없는 요소 입니다. 먼저 한가지 짚고 갈것은 TDD와 단위테스트(unit test) 는 다른 것입니다. TDD는 테스트가 주도하는 개발을 이야기 합니다. 단위테스트는 TDD의 첫번째 단계인 기능 단위의 테스트 코드를 작성하는 것을 이야기 합니다. 단위테스트는 TDD와 달리 테스트 코드를 꼭 먼저 작성해야 하는것도 아니고, 리팩토링도 포함되지 않습니다. 이번 포스트에서는 TDD가 아닌 단위..
2023.12.30 -
인텔리제이 .gitignore 사용하기
git을 사용하여 프로젝트를 commit 할때 .idea .gradle 디렉토리는 커밋하지 않습니다. 인텔리제이에서 프로젝트 실행시 자동으로 생성되는 파일들이기 때문입니다. 이때 모든 커밋 대상에서 제외하도록 처리를 해보겠습니다. .gitignore 파일을 사용하여 커밋에서 제외하는게 일반적이지만 인텔리제이에서는 이 .gitignore파일에 대한 기본적인 지원이 없습니다. 대신 플러그인에서 .gitignore 지원을 하고 있습니다. 그렇다면 인텔리제이에서 .ignore 플러그인을 설치해 보겠습니다. 윈도우에서 [ctrl + shift + A] , 맥에서는 [command + shift + A] 를 사용하여 Action 검색창을 열어 plugins를 검색합니다. marketplace 탭은 설치 가능한 플러..
2023.12.30 -
spring initializer 사용법
과거 어렵던 스프링 프레임워크였지만 스프링부트가 나오면서 스프링으로 하는 웹 개발이 보다 쉬워 졌습니다. 스프링부트가 권장하는 방식을 사용하면 서버에 톰캣과 같은 웹 애플리케이션 서버를 설치할 필요도 없고 오로지 Jar 하나만 있으면 서비스를 운영할 수 있습니다. 거추장스럽던 수많은 설정이 자동화 되었습니다. 그러면 스프링부트 프로젝트를 쉽게 생성 할수 있는 spring initializer에 대해 알아보겠습니다. 사이트 접속 https://start.spring.io/ 위의 사이트에 접속해줍니다. Project는 Gradle-Groovy, Language는 Java로 설정해줍니다. Gradle은 빌드툴인데 쉽게 말해 여러 유용한 라이브러리를 프로젝트에서 쓸수 있게 도와주는 역할을 합니다. Spring ..
2023.12.28