분류 전체보기 57

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

kotlin 문자열 +와 formatting의 차이

fun play(){ val a = "apple" val b = "bee" val plus = a+b //(new StringBuilder()).append(a).append(b).toString(); val format = "$a$b" //(new StringBuilder()).append(a).append(b).toString(); } 디컴파일 결과 같은 결과를 내기 때문에 성능상 차이는 없을 것으로 예상된다. 정말 개발자들 편하게 쓰라고 두가지를 만들어준 것 같다. 그래도 두 가지 스타일을 섞어서 쓰는 일은 없도록 하자. val notGood = a + "$a$b" val fine = "$a" + "$b" **문자열 길이가 길어져서 줄바꿈이 필요할 때는 +를 사용하면 좋다.

[JUnit] assert 함수 종류

기댓값의 자료형에 따라 어떤 assert 함수를 사용해야 하는지 알아보자. assertEquals(expected, actual, message) assertNotEquals(expected, actual, message) Java 기준 primitive 자료형(Object, char, byte, double, float, int, long, short )을 비교한다. kotlin 기준으로 설명하면, equals( )를 상속한 클래스의 인스턴스, String, Numbers를 비교할 수 있다. message에는 String과 Supplier을 넣을 수 있다. assertSame(expected, actual, message) assertNotSame(unexpected, actual, message) 두..