Kotlin - 코딩 관습(Coding Conventions)

Kotlin을 Java, C, C++, PHP, C#등의 언어만 봐온 상태에서 배워보려니까 상당히 생소한 문법 형태가 많이 나오는것 같습니다. 코틀린 문법에 대해서 전혀 모르는 상태에서 이 코딩 컨벤션 문서를 보면서 문법을 모르면 이해하기 힘든 것들이 많이 있었습니다. 하지만 그냥 무시하고, 문서를 봤습니다. 다른 방법이 없어서 그랬다는게 맞겠죠.^^ 앞으로 문법을 배워 나가면서 이 문서를 다시보고 수정하던가 해야 겠습니다. 코딩 관습(Coding Conventions)은 띄어쓰기 이름작성시 대소문자등 문법오류와 관계 없으나 많은 사람들이 따르는 일반적인 코드작성규칙을 말합니다. 이런 규칙을 따르는 것이 다른 사람의 코드를 분석하거나 자신이 작성한 코드이더라도 가독성을 높이는 방법이 됩니다. 이 페이지에..

프로그래밍/Kotlin | 2019. 6. 9. 17:38

Kotlin - 관용구(Idioms)

프래그래밍에서 관용구(idioms)는 자주 사용하는 코딩 형태나 패턴이 되겠습니다. 보통 같은 결과를 내는 프로그램을 다른 모양으로 작성할 수 있는데, 관용구는 주로 사용되는 형태를 말합니다. 여기에는 Kotlin에서 자주 사용되어지는 관용구(idioms)를 무작위로 모아둔 내용 입니다. 1. DTO(Data Transfer Object)s 객체 만들기 data class Customer(val name: String, val email: String) 이 간단하게 선언한 Customer 클래스는 다음 기능들을 제공합니다. 코틀린의 Data class에 대해서는 다음에 자세히 알아보겠습니다. - 모든 속성에 대한 getters (var로 선언 되었을 경우 setters 도 제공) 제공합니다. - equa..

프로그래밍/Kotlin | 2019. 5. 6. 21:47

Kotlin - Basic Syntax(기본 구문) (2/2)

Kotlin - Basic Syntax(기본 구문) (1/2) 에서 이어집니다. 기본 구문(Syntax)에 대한 글은 말 그대로 구문(Syntax)에 대해 설명합니다. 프로그램에서 구문(Syntax)는 문법(Grammar)에 의해 정의된 프로그램의 형태, 구조 등을 말합니다. 그러므로 설명 코드내의 자세한 연산자, 예약어, 예외 등에 대한 설명은 없습니다. 이러한 자세한 내용은 나중에 알아보게 되겠습니다. 9. null이 가능한 값의 사용과 null 체크하기 null 값이 가능한 참조(reference)는 null사용 가능하다는 표시를 반드시 해야 합니다(반환 타입 뒤에 ? 를 붙입니다). 다음 함수는 문자열 str이 정수가 아닐경우 null을 반환합니다. fun parseInt(str: String):..

프로그래밍/Kotlin | 2019. 4. 30. 22:31

Kotlin - Basic Syntax(기본 구문) (1/2)

이 글에서는 Kotlin(코틀린) 언어의 기본 구문에 대해서 알아봅니다. 다음글을 번역한 내용 입니다. https://kotlinlang.org/docs/reference/basic-syntax.html 1. 문장 끝의 세미콜론 Kotlin은 문장 끝에 세미콜론을 붙이지 않아도 됩니다(붙여도 됩니다). 2. 패키지 정의는 소스파일의 제일 위에 적습니다. package my.demo import java.util.* // ... 소스 파일의 위치는 패키지명의 구조와 같을 필요는 없습니다(같아도 됩니다). 컴파일된 class파일은 패키지와 같은 디렉토리 구조 내에 생성 됩니다. 3. 함수의 정의하기 다음 함수는 두 개의 Int 파라미터를 가지고, Int 타입을 반환하는 함수 입니다. fun sum(a: In..

프로그래밍/Kotlin | 2019. 4. 25. 22:33

안드로이드 스튜디오 Kotlin 프로젝트 만들기

안드로이드 앱을 Kotlin 언어로 만들기 위해서 안드로이드 스튜디오 프로젝트를 만드는 방법입니다. 사용된 안드로이드 스튜디오의 버전은 3.3.2 입니다. 이 버전에서는 언어를 Java와 Kotlin 중에서 선택할 수 있도록 되어 있습니다. 1. Start a new Android Studio project를 선택합니다. 2. Phone and Table -> Empty Activity를 선택합니다. 3. 프로젝트 정보를 입력합니다.언어를 자바와 코틀린중에서 선택할 수 있습니다. - Name : HelloKotlin- Package name : com.tistory.offbyone.hellokotlin- Language : Kotlin 4. 프로젝트가 만들어 졌습니다.자동으로 만들어진 MainActivi..

프로그래밍/안드로이드 | 2019. 4. 6. 01:53

Visual Studio Community 2017 제거하기

오랜만에 Visual Studio Community 2017을 실행해 봤더니, 라이선스가 만료되었습니다. 라고 뜨고 "업데이트된 라이선스 확인"을 눌러도 "라이선스를 다운로드 하지 못했습니다. 네트워크 연결 상태나 프록시 설정을 확인하세요." 라고만 뜨고 실행을 할 수 없습니다. 해결할 방법을 찾지 못해서 삭제를 하려고 하니까 프로그램 추가/제거에 제거 항목이 없었습니다. 이전에 제거하려다 실패한건지도 모르겠는데, 기억이 나지 않네요. 수동으로 제거하는 방법을 찾아 봤습니다. - 다음 파일이 존재하는지 확인해 봅니다 : "%programfiles(x86)%\Microsoft Visual Studio\Installer\resources\app\layout\InstallCleanup.exe" - 만약 존재한..

프로그래밍/C++ | 2019. 3. 30. 00:56

Eclipse에 Kotlin(코틀린) 플러그인 설치 및 간단한 프로그램 실행해보기

요즘 Kotlin(코틀린)이라는 언어가 인기가 있다고 하네요. 한번 배워보기로 했습니다. Kotlin은 IntelliJ IDE를 개발한 JetBrains에서 2011년에 공개한 프로그래밍 언어라고 합니다. 특이한 점이 JVM 기반의 언어이고, Java와 100% 상호운영이 된다고 하네요. 2017년 구글이 안드로이드의 공식언어로 Kotlin을 추가하여서 더욱 인기가 높아진것 같습니다. 일단 JVM이 있어야 하므로 JDK가 설치되어 있어야 하고, Eclipse도 설치되어 있어야 합니다. 각각 "윈도우에 JDK 8 설치하기"와 "Eclipse 설치하기"를 참고 하세요. 1. Eclipse Kotlin plugin 을 설치합니다. Eclipse를 실행하고, Help -> Eclispe Marketplace....

프로그래밍/Kotlin | 2019. 3. 28. 23:36

Java Config로 Exception Resolver 설정하기

스프링프레임워크에서 Exception Resolver는 예외가 발생했을때 특정 에러페이지를 보여주고, 예외에 대해서 원하는 HTTP 응답코드를 지정할 수 있습니다. 이 예제는 "스프링프레임워크 에러페이지 만들기"에서의 xml 설정을 Java 설정으로 다시 구현해본 것입니다. 스프링프레임워크에서의 예외처리에 대한 앞의 글을 참조하세요. 글 하단에 전체 예제소스를 추가해 두었습니다. 1. Exception Resolver 설정 입니다. 웹 컨텍스트(WebContextConfiguration.java) 설정에 추가 했습니다./** * 웹 컨텍스트 설정파일 */@Configuration@EnableWebMvc@ComponentScan(basePackages = {"com.tistory.offbyone.web"}..

프로그래밍/스프링프레임워크 | 2019. 3. 23. 01:06

Java Config로 메세지소스(MessageSource) 설정하기(다국어 지원)

스프링프레임워크에서 다국어지 지원을 위한 메세지소스 설정을 Java Config로 해 봅니다. 이번 예제는 "Spring Framework 메세지 국제화(다국어 지원) 사용하기" 에서의 xml 설정을 Java 클래스를 사용한 설정으로 변경한 것입니다. MessageSource의 사용법은 이글을 참조 하세요. 전체 예제소스는 글의 끝에 첨부해 두었습니다. 1. 메세지소스를 생성하는 설정 클래스를 작성합니다. MessageSource 와 언어 변경에 사용될 Locale Resolver를 생성합니다. 여기서는 언어정보를 세션에 저장하도록 SessionResolver를 생성합니다. package com.tistory.offbyone.init; import org.springframework.context.ann..

프로그래밍/스프링프레임워크 | 2019. 3. 19. 00:44

스프링프레임워크 Java config로 MyBatis 사용하기

스프링프레임워크에 MyBatis + MySQL(MairaDB) 환경을 Java Config로 구성해 봅니다. 앞의 글 "Maven 웹 프로젝트에 스프링프레임워크 적용하기"에 추가하여 구성합니다. "스프링 프레임웍에서 MyBatis, Oracle 사용하기"에서의 xml 설정을 Java Config로 옮겨본 것입니다. 데이터베이스는 Oracle 대신에 MariaDB를 사용했습니다. 전체 소스는 글 하단에 첨부 했습니다. 1. pom.xml 파일에 필요한 의존성을 추가합니다. org.springframework spring-jdbc ${org.springframework-version} javax.servlet jstl 1.2 org.apache.commons commons-dbcp2 2.6.0 mysql m..

프로그래밍/스프링프레임워크 | 2019. 3. 17. 17:58

Maven 웹 프로젝트에 스프링프레임워크 적용하기

Maven 웹 프로젝트에 스프링프레임워크를 적용해 보기로 했습니다. 혼자 해보는거니 될 수 있는 한 최신 버전으로 올려봅니다. 스프링프레임워크를 설정하고 시작하는 방법은 xml 을 사용하는 방법과 Java 클래스를 사용하는 방법이 있습니다. 여기서는 클래스를 사용하는 방법으로 적용해봅니다. "스프링프레임웍의 시동" 을 읽어보시면 도움이 되실것입니다. 앞의 "Maven 웹 프로젝트 서블릿 3.1로 업그레이드 하기" 에서 만든 예제에 추가해서 작성합니다. 전체소스는 글 하단에 추가해 두었으니 참고하시가 바랍니다. 1. pom.xml 파일에 프로퍼티를 추가합니다. 프로퍼티는 자주 사용하는 값을 미리 정의해두는 방법입니다. Java 버전은 1.8을 사용하고, 스프링프레임워크 5.1.5.RELEASE 버전을 사용..

프로그래밍/스프링프레임워크 | 2019. 3. 13. 01:19