목록Kotlin (18)
디지안의 개발일지
개요자바 진영에서 엑셀을 다루는 대표적인 라이브러리는 Apache POI다. 사용법을 보니 굉장히 보기 싫다. 전능하신 ChatGPT님께 기본 사용법을 물어보니 기본적인 코드는 아래와 같다.import org.apache.poi.ss.usermodel.*;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;public class ExcelReader { public static void main(String[] args) { String excelFilePath =..
개요 AWS를 직접 사용해본 적이 없는데 AWS Lambda를 사용할 일이 생겨서 사용할 일에 대해서 정리하려고 한다. 내가 사용한 구조는 다음과 같다. Kotlin으로 AWS Lambda로 실행시킬 로직을 작성한다. 서버에서 HTTP 요청을 통해 AWS에 올린 Lambda를 실행하고 그 결과를 받는다. 간단한 구조지만 문서를 찾거나 Kotlin으로 된 예제들이 별로 없어서 다른 사람에게 도움이 될거 같아서 정리해본다. AWS Lambda 작성 AWS Lambda는 서버를 올리지 않고 짧은 시간 내에 실행되는 로직을 수행할 수 있다. 그래서 Lambda 함수라고도 불린다. AWS에서는 Lambda를 작성하기 위한 여러가지 방법을 제공해주는데 나는 그 중에서도 AWS에서 제공하는 SDK를 사용하여 Lamb..
이 글은 이펙티브 코틀린 3장을 보면서 배운 것에 대해서 요약합니다. 코드 예제, 자세한 설명은 생략되어 있기 때문에 이펙티브 코틀린을 구입해서 보시는 것을 적극적으로 추천합니다. 재사용성 API, 프레임워크, 라이브러리등을 통해 이미 만들어진 기능을 다시 활용하는 것을 재사용성이라고 한다. 재사용성은 공통적인 부분을 뽑아서 만들었기 때문에 활용하기는 좋지만 공통적인 부분을 수정했을 때 활용하는 곳에서 모두 문제가 발생할 수 있다. 이런 것을 고려하면서 재사용성을 활용하는 것은 어려운 일이다. 이 장에서는 재사용성을 극대화하기 위해서 어떻게 연습해야하고 코드를 개선하는지에 대해서 살펴본다. knowlege를 반복하여 사용하지 말라 책의 저자가 생각하는 프로그래밍의 가장 큰 규칙은 다음과 같다. 프로젝트에..
이 글은 facebook에서 kotlin study 그룹을 이끌고 계신 그룹장님과 kotlin in action의 역자분께 질문 드린 내용을 정리하였습니다. 그리고 코틀린 인 액션의 내용을 많이 참고하였습니다. 코틀린 완벽 가이드라는 책을 읽다가 문득 이런 생각이 났다. 왜 코틀린은 Void 라는 클래스를 사용하지 않고 Unit 라는 타입을 새로 만들었을까? 아무리 생각해봐도 찾아보다 내가 아는 지식 안에서는 답이 나오지 않아서 kotlin study에 질문을 올렸다. 내가 완벽하게 이해한 것이 아니기 때문에 틀린 내용이 있을 수 있지만 코틀린이 가진 철학을 다시 살펴볼 수 있는 내용인 것 같아 정리해보려고 한다. 현대 언어에서의 프로시저 현대 언어에서는 프로시저를 가르키는 예약어가 존재하지 않지만 베이..
이 글은 이펙티브 코틀린 2장을 보면서 배운 것에 대해서 요약합니다. 코드 예제, 자세한 설명은 생략되어 있기 때문에 이펙티브 코틀린을 구입해서 보시는 것을 적극적으로 추천합니다. 코틀린에서 코드의 가독성이 좋다는 것은 코드가 간결하다는 것을 의미하는 것이 아니다. 사람이 이해할 수 있는 간결한 코드를 작성하는 것을 의미한다. 2장에서는 코틀린에서 프로그래머가 숨기거나 강조할 수 있는 기능에 대해 어떻게 활용하는지 소개한다. item 11 - 가독성을 목표로 설계하라. 코드는 작성할 때보다 읽을 때 더 많은 시간을 쓴다. 그렇기 때문에 다음과 같은 특징들을 고려해야한다. 인식 부하 감소 사람이 쉽게 이해할 수 있는 문법으로 작성하는 것이 좋다. 코틀린이 제공하는 간결한 문법보다 비 숙련자도 쉽게 이해할 ..
이 글은 이펙티브 코틀린 책에 대한 소개를 합니다. 자세한 내용은 이펙티브 코틀린을 구입해서 보시는 것을 적극적으로 추천합니다. 책을 통해 알 수 있는 것 자바처럼 작성하던 코틀린 코드를 코틀린의 장점을 어떻게 살려서 작성할 수 있는지 알 수 있다. 코틀린의 철학 코틀린은 실용주의로 다음과 같은 특징을 가지고 있다. 안정성 가독성 재사용성 도구 친화성 다른 프로그래밍 언어와 상호 운용성 효율성 책의 목표 일반적인 문제, 좋은 패턴은 IDE를 통해 수정할 수 있기 때문에 경험에서 나온 모범사례들에 대해서 소개함. 책의 구성 책은 다음과 같이 3파트로 구성이 됨. 1부 : 좋은 코드 1장: 안정성 2장: 가독성 2부 : 코드 설계 3장: 재사용성 4장: 추상화 설계 5장: 객체 생성 6장: 클래스 설계 3부..
이 문서는 Kt.Academy를 보고 배운 내용을 작성하였습니다. 코루틴을 다루는데 있어서 예외처리는 매우 중요한 부분이다. 코루틴에서도 예외가 발생하면 코루틴 자체가 중단된다. 코루틴 빌더는 예외에 의해 코루틴이 취소되면 상위 코루틴도 취소하고 각 상위 코루틴의 하위 코루틴을 삭제한다. 다음 예제를 보자. 아래와 같이 에러가 발생하기 전에 실행된 코루틴은 실행되지만 하위 코루틴에서 예외가 발생하면 모든 코루틴이 취소된다. fun main(): Unit = runBlocking { launch { launch { delay(1000) throw Error("Some error") } launch { delay(2000) println("Will not be printed") } launch { delay..
이 글은 High performance with idiomatic Kotlin을 보고 배운 내용에 대해서 서술합니다. 우리가 좋은 성능을 발휘하는 애플리케이션을 만드려는 이유는 간단하다. 느리면 사용자가 내가 개발한 소프트웨어를 사용하지 않기 때문이다. 이 글에서 소개하는 내용은 다음과 같다. 소프트웨어 제품을 구축할 때 고성능이 필수적인 이유 성능 문제의 가장 일반적인 이유 Kotlin에서의 성능 향상 효과 소프트웨어 제품을 구축할 때 고성능이 필수적인 이유 연구 에 따르면 사용자는 빠른 로딩 페이지를 높이 평가한다. 여기서 주목해야할 점은 결과를 빠르게 보여주는 것이 아니라 진행 상황을 제공한다는 것이다. 진행 상황만 제공이 되도 소프트웨어로 얻으려는 목표를 빠르게 달성하고 있다고 만족감을 느낀다고 ..