안녕하세요. 오늘은 JUnit 5버전에 대해서 포스팅하고자 합니다. 현재 스프링부트 버전이 2.3버전이 나온걸로 알고 있습니다. 기본적으로 스프링 부트 프로젝트를 생성하니 2.3이라고 적혀있더라구요. 그런데 스프링부트 2.2버전부터 스프링 테스트 도구로 JUnit 5 버전을 채택했다고 합니다. 따라서 2.2 이후 프로젝트에서는 JUnit 5버전을 사용하실 수 있게 됬다고 합니다. 스프링부트 2.3 버전도 이미 나왔고, 2.2 버전에서 채택된 JUnit5 버전을 사용하지 않을 이유가 없다고 생각해서 JUnit5 버전을 채택했습니다. JUnit 5버전은 패키지명에 jupiter가 들어가니 확인해주시기 바랍니다. 저는 Spring Initailzr를 통해 스프링부트 프로젝트를 만들었습니다. 프로젝트를 생성하는..
안녕하세요. 오늘은 간간히 사용하는데 편리함을 느끼는 JetBrains 사의 ToolBox 소프트웨어 어플리케이션을 소개하고자 합니다. 저는 평소에 회사에서나 개인적으로 IntelliJ IDE Ultimate 버전을 사용합니다. 학생 계정을 가지고 있어서 1년동안 무료로 사용 가능한데요. 그 덕분에 다양한 JetBrains 사의 IDE를 접해볼 기회가 있었습니다. 대표적으로 WebStorm과 PyCharm, Datagrip 등이 있었는데요. 이클립스를 쓰던 시절과 비교해서 Toolbox라는 앱이 있어서 가끔 업데이트 할때나 프로젝트 관리를 할때 편하다고 느꼈습니다. 그 이유는 아래에서 보여드리도록 하겠습니다. https://www.jetbrains.com/ko-kr/toolbox-app/ JetBrain..
안녕하세요. 최근에 백기선님의 유튜브를 자주 보곤합니다. 그 중에서는 더 나은 개발자로 성장하는 팁이라는 주제로 사연을 소개하면서 스토리텔링을 해주시는걸 자주 듣곤 하는데요. 그 팁중 하나로 테스트코드를 잘 작성하는 연습을 하는 개발자가 좋다는 이야기를 넌지시 들었어요. https://www.youtube.com/watch?v=s_Zdl28NEM4&t=131s 저는 테스트 코드를 주로 JUnit을 사용하고 있고, 개인적으로나 회사업무에서나 JUnit을 사용하여 테스트 코드를 짜면서 개발을 하고 있죠. 그래서 나름 내가 좋은 방향으로 가고 있구나 안심을 하면서 영상도 즐기면서 시청했었습니다. 그러던 중 댓글에서 "테스트코드가 뭐죠? 어떻게 짜는거죠?" 라는 댓글이 하나가 보이더라구요. 불과 몇달전까지만해도..
스프링은 자체적으로 프록시 패턴을 통해 비즈니스 로직과 공통 코드를 분리하는 AOP를 제공하고 있습니다. 관점지향 프로그래밍이라는 개념아래 서비스를 호출할 때 AOP의 경우 프록시 역할을 하는 객체에 의해 서비스가 호출되게 됩니다. 특정 클래스, 메소드, 어노테이션 등을 타겟으로 삼아 AOP에 쌓여진 코드는 직접 호출이 아닌 대리기사인 프록시 객체에 의해서 호출되게 되는데... 그 과정을 코드로 살펴보겠습니다. 프로젝트 구성 - AService, BService는 비즈니스 코드 역할을 할 서비스 클래스입니다. 실제 실무에서는 interface를 구현하고 있는 형태가 대부분일 것입니다. - TestAnnotation은 커스텀으로 어노테이션을 만든 것입니다. 커스텀 어노테이션을 구현하는 방법은 다음의 내용을..
안녕하세요. 오늘은 개발자 면접에 대한 저의 생각과 면접에 대한 자세? 혹은 포부? 정도를 생각하며 공유하고자 합니다. 개발자 구인 일반적으로 개발자들은 실무위주의 아주 실용적인 기술을 가진 사람들이라고 생각하고 있습니다. 언제든지 프로그래밍을 통해서 일반고객, 기업고객, 외주고객 등 고객의 요구에 반영한 어플리케이션 서비스를 제공할 수 있는 사람들이기 때문입니다. 그러기 위해서는 혼자만의 힘으로는 모든 요구사항을 커버하기 힘들어지고 점차 영역이 커져가게 됩니다. 이 때, 자신의 일을 나눌 동료가 필요하게 됩니다. 제가 사장이자 개발자로써 업무를 하다가 동료를 구인하게 될 때, 이 사람이 정말 나와 비슷한 정도의 일을 나눌 수 있을 만한 사람인지 판단을 해야 할 것입니다. 그럴 때 필요한 것이 바로 면접..
코틀린 스프링부트, 컨트롤러 생성 후 페이지 접속해보기 - TestController.kt 생성 - pom.xml에 mustache 디펜던시 추가. 1. 현재 프로젝트 구조 - main/resources/templates 디렉토리 아래애 footer, header, index 머스터치 파일 생성 pom.xml org.springframework.boot spring-boot-starter-mustache Mustache 디펜던시 추가. -> mvn clean -> mvn install TestController.kt package com.example.demokotlin.test import org.springframework.stereotype.Controller import org.springfram..
Kotlin을 이용하여 스프링 부트 프로젝트 생성하기 - 사용 IDE : IntelliJ IDEA Ultimate 일단 유료버전이지만 인텔리제이를 이용하여 코틀린 스프링부트 프로젝트를 생성하는 모습을 보여드리겠습니다. IntelliJ IDEA Ultimate 버전 - 먼저 메뉴를 따라 프로젝트를 생성해줍니다. - Spring Boot Initializr를 선택한 후 Next를 눌러줍니다. - 그 다음엔 프로젝트 루트 구조명들을 짓고, Maven 혹은 Gradle 중 하나를 선택합니다. ( 필자는 개인적으로 Maven을 많이 써서 Maven으로 선택했습니다.) - 그 다음 Language 선택시, 기본 선택되어 있는 java말고 Kotlin으로 선택합니다. - Next를 눌러줍니다. - 여기부터는 스프링 ..
Vue CLI로 프로젝트를 생성하고 나서 Vue 개발을 진행하다 보면 다음과 같은 화면을 많이 마주할 것이다. 뭐 대충 이런 에러메시지를 화면 전체에 띄워서 "당장 이 에러를 수정하지 않으면 너의 어플리케이션은 너또한 건드릴 수 없을 것이야" 라는 직접적인 표시로 보인다.. 하지만 내가 이 에러는 마주하는 이유는 바로.... 선언된 var a 라는 변수가 10을 할당받았는데... 이걸 사용하지 않아서 발생하는 에러이다. 단지 warn 정도일 뿐 에러는 아니라는 것이다. 그런데도 ESLint라는 녀석은 이걸 아주 강력하게 잡고 개발하는데 생산성을 엄청나게!!! 저하시키곤 한다. 이걸 수정하고 나면 다시 화면을 왔다 갔다하는 시간이 너무 아깝다!!! ESLint 에러 해결 현재 이 프로젝트는 vue crea..