전체 글

    [NYC] 10박 12일 뉴욕 여행 #1 - 플래닝

    해당 여행기은 2023년 5월의 여행기임을 먼저 알려드립니다. 미루고 미루던 뉴욕여행기 지금 시작합니다!#0 내가 원하는 곳을 가고 싶어!잠시동안 수술로 인해 일을 할 수 없게 된 나는 퇴사를 결심하고 무작정 여행을 떠나기로 결정했다.평소에 가던 아시아권을 넘어서 새로운 곳으로 가길 원했고 이전부터 그토록 내가 원하던 '뉴욕 혼자 여행'을 가기로 했다.옛날부터 아메리칸드림이 있긴 했었다. 꿈과 자유의 도시라고 생각했기에.#1 항공권 예약여행의 시작은 항공권 예약이다. 혼자 해외여행을 많이 다녀본 나로서 플래닝을 하는 것을 좋아한다.마침 항공편을 찾던 중 에어프레미아라는 항공사에서 뉴저지 뉴왁에 첫 취항을 한다는 소식을 들었다.이전에 여행 유튜버 영상들을 통해 이미 알고 있는 항공사고 좌석이 넓기로 유명해..

    [AZ-900] Azure 자격증 무료 응시 방법, 시험신청 및 합격후기

    방송통신대학교 졸업논문대체 자격증 중에 AZ-900이라는 Microsoft Azure가 해당이 된다는 것을 알았습니다. 클라우드 기초 자격증이고, MS에서 제공하는 무료 강의를 이틀 연속으로 라이브 수강하면 시험응시를 무료로 할 수 있는 바우처도 준다고 해서 바로 찾아봤습니다. (시험 비용 $69) -> 정정합니다. Microsoft Training Support에 의하면 2023년 3월 28일 이후 교육부터는 무료 바우처가 포함이 안되는 것으로 확인되었습니다. 리디렉션 중 login.microsoftonline.com 무료 강의를 들을 수 있는 신청은 아래 링크에서 가능합니다. 과목이 많으니 잘 선택해야 한다. (Microsoft Azure Virtual Training Day: Fundamentals..

    [IntelliJ] Kotlin based 프로젝트에서 KDoc 주석 자동완성

    IntelliJ Kotlin based 프로젝트에서 Java based 프로젝트와 같이 KDoc 주석을 시도할 시 자동완성이 되지 않습니다. IntelliJ에서 플러그인 설치로 해결할 수 있습니다. + 참고로 Kotlin에서는 HTML기반의 JavaDoc이 아닌 Markdown 기반 KDoc이라는 것을 사용하며, JavaDoc의 문법을 지원합니다. KDoc 자동완성을 사용하기 하기 위해 새로운 플러그인을 설치합니다. Preferences (⌘ + ,) > Plugins > Marketplace 탭 이동 검색창에 KDoc-er 을 검색해 Install을 눌러 설치합니다. KDoc을 작성하고 싶은 함수 위에서 /** 입력 후 엔터를 누르면 함수의 파라미터를 참조하여 KDoc이 자동완성이 됩니다.

    [IntelliJ] 기본 Testing Framework 설정

    IntelliJ의 프로젝트를 Gradle로 생성하면 기본 테스트를 Gradle로 돌리게 됩니다. JUnit5로 테스트 하기 위해 Global 설정에서 Gradle 설정을 변경합니다. Preferences (⌘ + ,) > Build, Execution, Deployment > Build Tools > Gradle 탭 이동 Gradle projects 내 Run tests using을 Gradle에서 IntelliJ IDEA로 변경하면 JUnit5로 실행이 가능합니다.

    [JPA] ORM #1

    ORM(Object Relational Mapping) 정의 객체로 연결을 해준다 라는 의미 SQL언어가 아닌 Application 개발 언어로 DB에 접근 가능하게 하는 툴 Persistence (영속성) API 데이터를 생성한 프로그램이 종료되더라도 사라지지 않는 데이터의 특성 영속성을 갖지 않는 데이터는 단지 메모리 상에서만 존재하기 때문에 프로그램 종료 후 모두 자동 소멸 Persistence Framework 기존의 JDBC 프로그래밍의 복잡함과 번거로움 없이 간단한 작업만으로 DB와 연동되는 시스템을 빠르게 개발할 수 있으며 안정적 구동 보장 SQL Mapper와 ORM으로 구분 SQL Mapper: MyBatis, iBatis ORM: JPA(인터페이스), Hibernate(JPA 구현체) ..

    2022년 회고 - last fantasy.

    늦은 감이 있지만 2022년 한 해를 기념하며 다시 한번 저를 돌아보는 회고록을 작성하게 되었습니다. #0 2022 메인 키워드 2022년에 나를 표현할 수 있는 대표적인 키워드는 ['이직', '새로운 경험', '새로운 사람'] 이다. 이 모든 키워드가 하나로 이어지는 스토리와도 같다. 이직 스타트업으로 이직하여 혼자 일하던 방식에서 여러 사람과 협업하며 일하는 것이 나의 꿈이었는데, 그 꿈을 이뤄낸 것 같다. 기존 회사에서는 체계가 없어 멋모르는 사람들과 함께 일하는 경우가 많았다. 정말 답답한 생활이었고, 스트레스도 많이 받았다. 물론 내가 모든 것을 안다고는 절대 말할 수 없는 것은 당연하다. 단지 너무 답답한 점은 많고 나는 힘이 없기 때문에 내 퍼포먼스를 100% 보여주지 못한 것에 대해 많은 ..

    Jackson에서 Boolean 직렬화 시 is가 사라지는 문제

    Swagger에서 JSON Request Body를 보는데 DTO랑 이름이 달라요! 발단 여느때와 다름없이 조용히 회사에서 개발을 하고 있는 도중, Swagger로 API 테스트를 위해 요청을 보내는데 debug에서 객체를 보았을 때, 특정 변수만 null로 들어오는 상황이 발생했습니다. 처음에는 JSON key가 잘못됐나 싶어서 다시 작성해보지만 마찬가지였습니다. JSON Body를 다시 한번 봐 보니 Boolean으로 선언한 'isUsing'이라는 변수가 직렬화 시 Swagger 내에서 제가 예상한 isUsing이라는 key와 달리 using으로 표시되는 것이였습니다. 일단 평소와 같이 @JsonProperty 어노테이션을 사용하여 JSON key를 임의로 지정을 했고, Swagger에서는 isUsi..

    [Docker] 도커 기초 #1

    이전 회사에서는 기본적으로 도커를 이용하여 MariaDB나 Spring Boot 등 프로그램을 컨테이너화 시켜서 사용하는 일이 흔했습니다. 제가 개발자 생활을 약 3년 동안 하면서 유용하게 사용해온 도커에 대해 정리해보고자 합니다. #1 Docker란? 컨테이너(Container) 기반의 오픈소스 가상화 플랫폼입니다. 이전에는 프로그램을 한 대의 컴퓨터에서 직접 프로그램을 실행시키는 작업을 하였지만, 이제는 프로그램을 컨테이너화 시켜 격리된 환경에서 프로그램을 돌리는 것입니다. 화물 컨테이너를 생각하면 편합니다. 큰 배에 화물을 실으려면 그냥 물건을 실는거보다 컨테이너에 종류별로 묶어 실으면 물건들이 종류별로 나눠져 관리하기 쉬워집니다. #2 장점 글보다 사진을 참고하여 이해하면 편합니다. 하나의 OS에..

    [Kotlin] 코틀린 기초 #2

    함수 선언 (Function declaration) 코틀린은 함수를 자바보다 더 짧고 간단하게 생성할 수 있습니다. 기본적으로 fun 함수명 (파라미터): 리턴타입 의 형식을 따릅니다. fun add(a: Int, b: Int, c: Int): Int { return a + b + c } 리턴을 생략하고 표기 할 수 있습니다. fun add(a: Int, b: Int, c: Int): Int = a + b + c 타입추론으로 리턴타입 또한 생략 가능합니다. fun add(a: Int, b: Int, c: Int) = a + b + c 클래스 선언 (Class declaration) 코틀린은 class 앞에 public 키워드의 생략이 가능합니다. 자바와 다르게 생성자에 들어가는 파라미터의 기본 값을 지정..

    [Kotlin] 코틀린 기초 #1

    Kotlin 코틀린이란 Java IDE인 IntelliJ를 개발한 Jetbrains에서 개발한 JVM 에서 동작하는 언어입니다. 자바가 가지고 있는 약점을 개선할 수 있고, 기존 자바 코드와의 상호사용이 가능한 대체언어입니다. 웹 서비스, 안드로이드 개발 뿐만아니라 JavaScript 및 Swift와도 연동이 가능합니다. 2017년에 Google에서 안드로이드 공식 언어로 채택되면서 많은 관심을 받고 있습니다. Hello World! 모든 프로그래밍 언어의 시작은 Hello World! package com.maxjang.kotlin fun main(args: Array) { println("Hello World!") } 변수 선언 (Variable declaration) 코틀린은 기존 자바와의 변수 선..