본문 바로가기

프로그래밍언어57

[Kotlin] Infix Function kotlin 에 재미있는 함수가 있어서 알아보았다.Infix function 이라는건데, 간단하게 어떻게 정의하고 사용하는지 보면:fun main() { infix fun Int.times(str: String) = str.repeat(this) // 1 println(2 times "Bye ")}// Bye Bye Int 자료형에 Infix 확장 함수를 정의합니다.times Infix 함수는 문자열을 입력을 받아서 해당 문자열을 2번 반복해서 응답하는 함수입니다.사용법은 직관적으로 `정수형 times 문자열` 로 사용하면 됩니다. 클래스 멤버 메서드도 사용이 가능합니다:class Person(val name: String) { val likedPeople = mutableListOf().. 2025. 2. 20.
[kotlin] 자주 사용되는 구문 DTO 생성하기 (POJO/POCO)data class Customer(val name: String, val email: String) `Customer` 클래스는 다음과 같은 기능들을 제공합니다:모든 속성들의 getters (그리고 `var` 일 땐 setter 도)`equals()``hashCode()``toString()``copy()``component1()`, `component2()`, ..., 함수 인자들에 기본 값 지정하기fun foo(a: Int = 0, b: String = "") { ... } 이렇게 지정해 두면, 호출 할 때 `a`, `b` 없이 `foo()` 라고 호출 할 수 있다.list 필터링val positives = list.filter { x -> x > 0 } 짧게 하.. 2025. 2. 9.
Kotlin 기본 문법 코틀린 기본 문법에 대해 정리한 글입니다. 코틀린의 기본 문법들의 개요 정도로 정리되어 있으며 자세한 내용은 별도로 더 알아봐야합니다.패키지 정의와 불러오기package my.demoimport kotlin.text.*// ... 소스 파일은 패키지 디렉토리와 일치할 필요는 없습니다. 프로젝트 내부에 임의에 곳에 있으면 됩니다.프로그램 시작점fun main() { println("Hello world!")}어플리케이션의 시작점은 main 함수 입니다.어플리케이션 시작 시 인자를 전달하고 싶다면 다음과 같이 작성할 수 있습니다:fun main(args: Array) { println(args.contentToString())}표준 출력으로 인쇄하기`print` 는 표준 출력으로 인자값을 인쇄합니.. 2025. 2. 4.
Shell Script return 과 command failed 시 check 어플리케이션 빌드 및 배포를 할 때는 sell script 를 많이 사용하는 편입니다. 매일 그 때 그 때 중구난방으로 작성한 스크립트를 볼 때마다 항상 제대로 작성해야겠다라는 생각을 했었는데, 기회가 닿아 함수로 기능을 구분하고 input과 return 을 잘 사용해보려 하다가 멘탈이 깨질뻔 했지요. 여기서는 쉘 스크립트 함수를 사용할 때 인자를 넘겨받는 방법과 리턴하는 방법에 대해 알아보겠습니다. 인자 넘기고 받는 방법 리턴하고 받는 방법 인자 남기고 받는 방법 우선은 쉘 스크립트 함수 형태를 보겠습니다. function sample_func() { ... } # or sample_func2() { } 쉘 스크립트에서 함수는 위 처럼 사용합니다. 함수 호출 방법: sample_func 단순하죠? 그럼.. 2020. 3. 25.
MariaDB(mysql) UUID 로 PK 사용하기 늘 디비를 설계할 때 고민되는게, AUTO_INCREMENT 속성의 INT 또는 BIGINT 로 설정된 Primary Key 컬럼을 사용하는데요, 항상 의문이었습니다. Unsigned Integer 의 경우 0 에서 4,294,967,295 까지이고, Unsigned Big Integer 는 0 에서 18,446,744,073,709,551,615 까지입니다. 사실 BIGINT 로 해도 해당 모델을 사용하는 어플리케이션이 먼저 죽으면 죽었지 이게 먼저 채워질리는 없어 라고 생각하며 AUTO_INCREMENT flag 를 사용한 BIGINT 속성의 Primary Key를 늘 사용해 오다가, 갑자기 구글처럼 세계의 모든 블로그의 포스트를 URL 별로 저장하면 이게 가능할까? 였었습니다. 고유한 식별자에 대해.. 2017. 10. 12.
파이썬에서-decimal-초기화-하기 파이썬에서 decimal 초기화 하기 이 문서는 2017-09-19 에 작성되었습니다. 이 문서는 python3.x 에서 테스트하였습니다. 파이썬에서 소수점 연산을 위해 사용하는 decimal 패키지가 있습니다. 그런데 이것을 사용하기 위해, decimal 컨텍스트에서 rounding 옵션, 자리수 옵션등을 설정한 후 decimal.Decimal(0.1) 을 넣으면 Decimal('0.1') 이 되지 않고 아래와 같이 초기화됩니다.: Decimal('0.1000000000000000055511151231257827021181583404541015625') 그리고, 저렇게 된 Decimal 들 끼리 연산하게 되면 decimal 컨텍스트에 설정한 대로 자리수나, rounding 처리가 되어 결과값이 출력됩니.. 2017. 9. 19.