목록전체 글 (271)
DHistory
MySQL Container에 왜 CSV를 넣게 되었는가? datadog에 저장된 로그를 분석하는 작업을 진행하고 있었습니다. 로그를 group by하여 로그를 분석해야할 일이 생겼습니다. 처음에는 datadog에 내장되어 있는 group by를 활용하여 로그 분석을 진행했습니다. 하지만, 원하는 방식으로 group by를 할 수 없었고 다른 field로 group by 시 속도도 상당히 느렸습니다. 자유자재로 활용할 수 있고 빠르게 이용할 수 있는 방법을 찾기 시작했습니다. 로그를 CSV 파일로 추출할 수 있었기 때문에 해당 로그를 group by 하기 위해 DB를 생각했습니다. 현재 local에 설치된 DB는 없었고 docker로 mysql container를 띄워 사용중이었습니다. 이를 이용하고자 ..
풀이과정 1. 배열을 새로 생성하지 않고 기존 배열을 수정하여 중복된 숫자를 제거합니다. 2. 중복이 제거된 배열의 길이를 반환합니다. Java class Solution { public int removeDuplicates(int[] nums) { // 길이가 1인 배열은 중복을 제거할 필요가 없으므로 1을 반환합니다. if (nums.length == 1) { return 1; } // 첫 수는 반복되어도 제거대상이 아니기 때문에 index를 1로 설정합니다. int index = 1; // 중복되지 않은 수를 찾아 기존 배열을 수정합니다. for (int i = 0; i < nums.length - 1; i++) { if (nums[i] != nums[i + 1]) { nums[index] = nu..

코틀린에서 컬렉션 만들기 val set = hashSetOf(1, 7, 53) val list = arrayListOf(1, 7, 53) val map = hashMapOf(1 to "one", 7 to "seven", 53 to "fifty-three") println(set.javaClass) // class java.util.HashSet println(list.javaClass) // class java.util.ArrayList println(map.javaClass) // class java.util.HashMap 코틀린은 자신만의 컬렉션 기능을 제공하지 않는다. 코틀린 컬렉션은 자바 컬렉션과 똑같은 클래스다. 하지만 코틀린에서는 자바보다 더 많은 기능을 쓸 수 있다. val strings =..

해당 글은 Mac OS, IntelliJ Ultimate기준으로 작성되었습니다. 1. Projects를 선택 후 New Project를 클릭합니다. 2. Spring Initializr를 선택 후 원하는 세팅으로 설정합니다. 3. 초기에 사용할 library를 선택합니다. Web Application을 개발하기 위해 Spring Web, MySQL, Spring Data JPA, Lombok을 추가했습니다. H2는 Test Code 작성할 때 사용하기 위해 추가했습니다. 4. Lombok을 사용하려면 Plugin을 설치해야 합니다. IntelliJ IDEA > Preferences를 클릭하거나 command(⌘) + ; 단축키를 사용하여 아래 창을 엽니다. 4-1. 검색 창(command(⌘) + F)에..

기본 요소: 함수와 변수 타입 선언 생략 가능! 불변 데이터 장려! Hello, World! fun main(args: Array) { println("Hello, World!") } 함수를 선언할 때 fun 키워드를 사용한다. 파라미터 이름 뒤에 그 파라미터의 타입을 타입을 쓴다. 함수를 최상위 수준에 정의할 수 있다. 배열도 일반적인 클래스와 마찬가지다. 코틀린 표준 라이브러리는 여러 가지 표준 자바 라이브러리 함수를 간결하게 사용할 수 있게 감싼 래퍼를 제공한다. 세미콜론을 붙이지 않아도 된다. 함수 함수의 반환 타입은 파라미터 목록의 닫는 괄호 다음에 오는데, 괄호와 반환 타입 사이를 콜론(:)으로 구분해야 한다. 코틀린 if는 문장(statement)이 아니고 결과를 만드는 식(expressio..