전체 글 49

Kotlin의 시간계산 : LocalDate, LocalDateTime, Duration

LocalDate : 특정 지역의 연, 월, 일을 저장하기 위한 클래스. 계산도 가능하다. 일 단위 이하 연산이 불가능하다. LocalDateTime : 특정 지역의 연, 월, 일, 시, 분, 초, 밀리초를 저장하기 위한 클래스. LocalDate로 전환할 수 있다. 문자열을 바꿀때는 DateTimeFormatter를 사용할 수 있다. private val DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy:MM:dd:HH:mm:ss") val text = "2022:11:27:13:50:00" LocalDateTime.parse(text, DATE_FORMATTER) 만약 text가 ISO 공식 포맷을 따르는 경우 DateTimeFormatter의 프로퍼티를 그대..

List를 Map으로 만들기: associate

Kotlin의 associate 메서드를 사용한다. 일단 사용 예시부터 보자. val list = listOf(1, 2, 3) val exp1 = list.associateWith { "value" } // [1:value, 2:value, 3:value] val exp2 = list.associateBy { "key" } // [key: 1, key: 2. key: 3] -> [key: 3] 이 됨 val exp3 = list.associateBy { it } // [1: 1, 2: 2, 3: 3] val exp4 = list.associateBy({ it }, { "숫자$it" }) // [1: 숫자1, 2: 숫자2, 3: 숫자3] 1. associateWith ( valueSelector ) key..

java.io.File 사용법

[공식문서] 소개 요약 File is An abstract representation of file and directory pathnames. Instances of the File class are immutable Unix/Window 스타일, 절대/상대 경로 모두 지원함 getParent( )로 최상단 디렉토리를 얻을 수 있음. getPath( )로 pwd를 대체할 수 있음. Constructor 종류는 아래와 같다. File(File parent, String child) // Creates a new File instance from a parent abstract pathname and a child pathname string. File(String pathname) // Creates a..

Kotlin Collection 변환 함수 모음

ArrayList, List, Array 등의 내용을 원하는 컨텐츠로 변환할 수 있는 다양한 함수들이 있다. 1. all : collection의 모든 내용이 람다 조건에 맞는지 검사 후 Boolean 반환 val arr = arrayListOf(1,2,3) val result = arr.all{it == 1} println(result) // true 2. any : collection 내용중 하나라도 람다 조건에 맞는지 검사하고 Boolean 반환 val arr = arrayListOf(1,2,3) val result = arr.any{it == 1} println(result) 변환 메서드 정리한 블로그 글 : https://tourspace.tistory.com/111

IntelliJ에서 만들 수 있는 코틀린 프로젝트의 종류

공식문서 : https://www.jetbrains.com/help/idea/new-project-wizard.html#new-project-no-frameworks 코틀린 프로젝트 생성을 누르면 다양한 옵션이 있다. 한글판 기준으로 위에서부터 각 옵션의 특징을 정리해보았다. 새 프로젝트 : 가장 자주 사용하는 옵션. 언어, 빌드 시스템 선택이 자유롭다. 나는 kotlin & maven 조합을 가장 많이 사용했다. 샘플 코드 추가를 누르면 자동으로 main 클래스가 생성되서 별도의 configure 설정 없이 코드를 실행할 수 있게 된다. 추후 다른 프레임워크나 기술이 필요하다면 자유롭게 추가할 수 있다. 빈 프로젝트 : SDK 없이 Java, kotlin으로 작업할 수 있는 프로젝트를 만든다. 외부 라..

Crontab 사용법

Cron이란?cron, crond, crontab 모두 리눅스의 기본 스케줄러이다. Spring과 관련된 batch scheduler에는 Spring batch, Quartz 등이 있다. 사용 방식$ crontab -e #nano 편집기로 이동$ crontab -l #crontab 쉘 확인$ crontab -r #crontab 쉘 삭제* * * * * 명령어 형식으로 사용한다.앞에서부터 분, 시, 일, 월, 요일(0~6)이다.각 칸에 들어가는 기호의 의미는 아래와 같다.: 모든 단위에 대해 실행 ex) 매분/n : n으로 나눠지는 때 마다 실행 ex) 매 5분마다 실행.n : n에 실행 ex) xx시 10분이 되면 실행n1 - n2 : n1과 n2 구간에 실행, ex) 10-15라면 10, 11, ..

기타 툴 2022.10.29

VM virtual box에 ubuntu 설치하기

필요한 설치 파일 VirtualBox 6.1.34 platform packages [주소] VirtualBox 6.1.34 Oracle VM VirtualBox Extension Pack [주소] Ubuntu Desktop 22.04 LTS [주소] VM VirtualBox 설치 과정 [ 원본 사이트 ] https://phantom.tistory.com/6 위 설치파일을 모두 다운받는다. VirtualBox setup을 실행시킨다. 옵션은 기본으로, Yes를 눌러준다. VirtualBox를 실행한다. 내 설정 옵션 운영체제는 linux , Ubuntu (64-bit) 기본메모리는 2048MB 디스크는 10GB 컨트롤러는 vdl 파일 > 환경설정 > 확장으로 이동한다. ‘버전’ 옆 파란 네모와 초록색 +를..

기타 툴 2022.10.29

Hilt 간단한 예제

Hilt의 기본 개념은 아래 링크에 잘 나와있다. 우선 읽어보자 [Hilt tutorial] https://blog.mindorks.com/dagger-hilt-tutorial 이걸 잘 읽고, 이제 아래 그림을 머릿속에 담아두며 실습을 해보자 Activity에서 Cake을 필요로 한다. 이때 Cake은 아래와 같은 종속성을 필요로한다. Cake(bread: Bread) Bread(flour: WheatFlour, milk: Milk) WheatFlour(wheat: Wheat) [Step 1] 우선 모듈에서 Provide를 구현하고 그 후에 Inject를 해주자. /* Module */ import farmer