반응형

2021/03 13

[코틀린 프로그래밍] Chapter.02 Java의 개발자를 위한 코틀린 필수 사항

목표 숫자와 문자열 변수 정의하기 상수 만들기 타입 명시하기 계산 결과를 이용해 문자열 표현식 만들기 멀티라인 문자열 만들기 이번 챕터에서는 자바 개발자들은 코틀린이 가진 뉘앙스를 배우는 동안에는 자바에서 사용하던 버릇을 잊어야합니다. 코드량 Java >> Kotlin 세미클론 Kotlin은 자바에 비해 많은 것들이 선택적입니다. 대표적인 예로 모든 표현식이나 명령문 마지막에 세미클론(;)을 생략되었습니다. // Java int a = 3 * 6; // Kotlin val a = 3 * 6 변수타입 코틀린은 정적 타입 언어입니다. 모든 변수를 선언할 때 타입을 지정해야하는 것은 아니지만 일반적으로는 지정을 해야합니다. 타입이 지정된 변수는 컴파일 시점에 검증됩니다. fun main() { val gree..

Study/kotlin 2021.03.29

[Kotlin] Spring-Batch 적용

이 글은 Kotlin으로 Spring Batch를 구현한 내용을 정리한 내용입니다. 코드의 양이 많아 중요한 부분 위주로만 작성하였습니다. 모든 코드는 Github에 있습니다. 참조해주세요. 글을 작성하기에 앞서 작업한 내용은 지난번 작성한 글을 기준으로 작성하였습니다. 함께보시면 이해하시기 편할 것 입니다. 이 글에서는 Spring-Batch가 무엇인지에 대해서는 다루지 않겠습니다. Spring-Batch를 Java, Querydsl-JPA로 구현이 가능해야 이해하는 데 무리가 없을 것입니다. build.gradle.kts import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { val kotlinVersion = "1.4.31" id("org..

[코틀린 프로그래밍] Chapter.01 시작하기

코틀린 코틀린을 접한 개발자들은 좋아한다는 표현이 부족하다고 합니다. 사랑... 저 또한 가볍게 맛보는 중인데도 왜 이제서야 알았을까.. 후회하며 사용하고 있습니다. 그 만큼 사랑(?) 받을 만한 언어입니다. 코틀린은 Java와 형태는 다르지만, 의미로는 유사한 문법을 가지고 있습니다. 그래서 저 같은 Java 개발자들이 빠르게 습득할 수 있습니다. 클래스로부터의 상속 없이 클래스에 도메인 특화 편의 메소드를 추가할 수 있습니다. 확장 함수라고 불리며, 오니지날 클래스의 메소드처럼 사용됩니다. 델리게이션은 코드를 재사용할때 상속보다 더 좋은 디자인을 할 수 있습니다. 코틀린은 if-else문을 중첩하는 대신에 간결하고 우아한 아규먼트 매칭 문법을 사용합니다. 이미 존재하는 함수를 확장하는 것이 코틀린에서..

Study/kotlin 2021.03.23

테스트 코드 학습(Mockito)

이전 글에서 Junit5에 대해서 정리하였습니다. 이번 글은 Junit5에서 Mockito를 사용하는 방법에 대해서 정리하겠습니다. 테스트 코드 학습 (junit5) - 개념 및 간단한 사용법 사용된 모든 소스는 Github에 올려두었습니다. 참고 영상 : www.inflearn.com/course/the-java-application-test/dashboard 더 자바, 애플리케이션을 테스트하는 다양한 방법 - 인프런 | 강의 자바 프로그래밍 언어를 사용하고 있거나 공부하고 있는 학생 또는 개발자라면 반드시 알아야 하는 애플리케이션을 테스트하는 다양한 방법을 학습합니다., 그냥 개발자를 넘어 '더 나은 개발 www.inflearn.com Mockito란? 이전에 작성한 이 글과 함께 보시면 이해하시는 ..

Study/test 2021.03.18

테스트 코드 학습 (junit5) - 개념 및 간단한 사용법

junit5 가 나온지 2년이 넘어가고 있습니다. TDD로 프로젝트를 개발하기 위해선 당연히 Test Code를 작성할 줄 알아야합니다. 이번 글에는 Test Code에 대해서 개념과 간단한 사용법에 대해서 정리하겠습니다. 사용된 모든 소스는 Github에 올려두었습니다. 참고 영상 : www.inflearn.com/course/the-java-application-test/dashboard 더 자바, 애플리케이션을 테스트하는 다양한 방법 - 인프런 | 강의 자바 프로그래밍 언어를 사용하고 있거나 공부하고 있는 학생 또는 개발자라면 반드시 알아야 하는 애플리케이션을 테스트하는 다양한 방법을 학습합니다., 그냥 개발자를 넘어 '더 나은 개발 www.inflearn.com JUnit 이란? Java Unit..

Study/test 2021.03.15

Querydsl Join Table Sort 적용 ( 번외로 Pageable와 비슷한 것을 구현해보자! )

Front-End에서 데이터 테이블을 이용하여 데이터를 보여주고 있었습니다. 이 때 각 컬럼의 Sort를 설정하여 데이터를 정렬하는 Querydsl을 사용하기 위해 적용한 내용을 정리한 글입니다. 모든 소스는 Github에 있습니다. 사용하게 된 이유 화면에서 넘겨주는 Sort관련 정보는 N개의 테이블에 대한 정보가 넘어올 수 있습니다. 예를 들어 Store, Staff 2개의 테이블이 존재하고 같은 field의 이름이 존재합니다. @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Store { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long i..

Develop/spring-data 2021.03.14

Jenkins API를 이용하여 Item build하기

재직중인 회사에서 자동화를 위해서 Spring-batch와 Jenkins를 이용하여 무언가를 체크하는 로직을 만들었고 요청이 들어올때마다 실행해주고 있었습니다. 하지만 이것도 불편하다!! 웹에서 버튼을 눌렀을 때 Jenkins의 Item을 실행해보자! Jenkins Token 발급 먼저 Jenkins에서 Token을 발급받아야만 Jenkins API를 사용할 수 있습니다. Token을 발급받아보겠습니다. 먼저 People에 들어가 발급받는 유저를 선택하고 Configure로 진입합니다. 구성화면에 진입한 후 Add New Token 버튼을 클릭합니다. 토큰 명을 입력하고 Generate 버튼을 클릭합니다. 생성된 토큰을 저장합니다. Code 작성 Jenkins와 통실할 클래스를 생성합니다. applica..

Develop/devops 2021.03.10

Spring Camp - 테스트 코드에 대하여

테스트 코드의 중요성은 진작에 알고 있었으나, 언제 적용하나? 적용하려면 어떻게 공부하지 막막하던 참에 직장 동료분께서 추천해주시어 영상을 보고 내용이 너무 좋아 정리하게 되었습니다. www.youtube.com/watch?v=YdtknE_yPk4&list=PLdHtZnJh1KdaM0AfxPA7qGK1UuvhpvffL&index=12 왜 작성해야하는가? 가장 큰 이유는 안정감과 자신감입니다. 테스트 코드는 코드에 대한 가장 빠른 피드백을 줄 수 있는 도구입니다. 내가 작성한 코드 대해서 버그를 미리 대비하고 수정을 하였을 때 버그가 없는지 피드백을 해줍니다. 이러한 이유로 안정감과 자심감이 생겨 배포를 자신있게 할 수 있게됩니다. 모든 케이스에 대해 작성 지금은 발생하지 않겠지만 코드 수정으로 발생할 수..

Study/test 2021.03.09

불편해하자. 불평하자. 불만을 갖자.

먼저 글을 작성하기에 앞서 나라는 사람은 어떤 사람이었는지에 대해 작성해보겠습니다. 나 나는 누구인가? 주변에서 나를 평가하는 사람들은 공통적으로 모나지 않았다는 이야기를 많이 들었습니다. 같이 일하고 싶은 동료라고 이야기 해주었습니다. 이런 이야기를 처음 들었을 때는 정말 잘하고 있구나! 라고 생각하고 더 열심히 일하였습니다. 그런데 어느날 궁금해지기 시작했습니다. 사람마다 성격, 성향, 목표 등등 똑같은게 하나없는데 같은 평가가 어떻게 돌아올 수 있을까? 라는 의문이 들기 시작했습니다. 이 때부터 저한테 물음표를 던지기 시작했습니다. 정말 잘하고 있는걸까? 책임 회피 제가 내린 나는 누구인가? 의 결론은 모든 결정을 타인에게 맞추고 행동하고 있었습니다. 내가 생각하지 않고 타인에 의해서 행동하고 책임..

MindControl 2021.03.08

[백기선님의 자바 라이브 스터디] 12주차 - 애노테이션

www.youtube.com/watch?v=HLnMuEZpDwU 목표 자바의 애노테이션에 대해 학습하세요. 학습할 것 (필수) 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 먼저 재미삼아 Annotation 발음에 대해서 이야기를 해주셨네요~ 어노테이션, 애너테이션, 애노테이션 다 상관없다고 합니다 :) 제 생각도 같아요. 중요한 건 이게 아니니깐요 ~ Annotation 의미 그대로 풀이한다면 주석입니다. 하지만 일반적으로 알던 주석 ( // ) 과는 다르게 @ 기호를 사용합니다. 소스 코드에 추가할 수 있고 메타데이터의 일종입니다. Annotation 용도 자바는 선언적 프로그래밍 방식입니다. Annotation이 없었을 땐 xml에 각 클래스를 ..

Develop/java 2021.03.05

[백기선님의 자바 라이브 스터디] 11주차 - Enum

www.youtube.com/watch?v=HLnMuEZpDwU 목표 자바의 열거형에 대해 학습하세요. 학습할 것 (필수) enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet 추천 도서 www.yes24.com/Product/Goods/7516911 토비의 스프링 3.1 세트 『토비의 스프링 3.1』은 스프링을 처음 접하거나 스프링을 경험했지만 스프링이 어렵게 느껴지는 개발자부터 스프링을 활용한 아키텍처를 설계하고 프레임워크를 개발하려고 하는 아키텍트에 www.yes24.com www.acornpub.co.kr/book/jpa-programmig 자바 ORM 표준 JPA 프로그래밍 JPA 기초 이론과 핵심 원리, 그리고 실무에..

Study/java 2021.03.05

[백기선님의 자바 라이브 스터디] 10주차 - 멀티쓰레드 프로그래밍

www.youtube.com/watch?v=HLnMuEZpDwU 목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. 학습할 것 (필수) Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 추천도서 www.yes24.com/Product/Goods/3015162 자바 병렬 프로그래밍 스레드는 자바 플랫폼에서 가장 기본적으로 제공되는 기능 중 하나다. 멀티코어 프로세서가 대중화되면서 고성능 애플리케이션을 작성할 때 병렬 처리 능력을 효과적으로 활용하는 일의 중요 www.yes24.com Process 의미 그대로 Process입니다. 프로그램을 실행하여 실행 중인 것 예를 들어 OS에서 크롬을 킨다던가, intellij를 실행한다던가 엑셀을 실행하..

Study/java 2021.03.02
728x90
반응형