Kotlin의 특징 - 두번째 (When 조건문) -

이미지
안녕하세요 명동콜링 입니다 이번 포스팅에서는 Kotlin의 특징에 대해 알아보는 두번째 시간으로  When 표현법에 대해 알아보도록 하겠습니다. 어떤 언어에서도 본 적이 없는 When 조건은 처음에는 낯설게 느껴질 수도 있지만, 까보게 되면 "아 이게 Switch문의 확장이구나" 알 수 있게 됩니다. 일반적인 Switch문은 하나의 타입 내에서만 case를 통해 값을 구분할 수 있지만, Kotlin에서의 When문은 하나의 타입이 아닌 광범위한 case를 사용할 수 있습니다. 바로 다음과 같이 말이죠. When에서는 한 문단 내에서 값 비교 뿐만 아니라 타입, 범위, 메소드 결과값 등을 비교할 수 있어서 Switch안에 if절에 들어갔다고 생각해도 될 정도로 다양한 비교를 할 수 있습니다. CASE 조건 내에서 Type Casting이 자유자재로 적용이 되는데다가 return 값을 가질 수 있기 때문에 메소드 같이 만들어서 사용할 수 있습니다. 쉽게 알기 위해서 일반 Switch문 처럼 작성해봤습니다. 결과 값은 where로 들어가게 되었고, 출력을 했더니 다음과 같이 나오게 됩니다. 이와 같이 return 을 해주는 조건문이기 때문에 where를 출력하면 마지막 문장의 값을 출력하게 됩니다

Kotlin의 특징 - 첫번째 -

안녕하세요 명동콜링입니다. 요즘 새로운 언어를 배우는 초보자의 시선으로 돌아가 Kotlin 개발에 관한 포스팅을 하고 있는데 조금 더 나은 발전을 위해 Kotlin에 대한 내용들을 연재해 보려고 합니다. Kotlin은 최근은 아니지만,  2017년 여름 Google I/O 2017에 Android의 공식언어로 선포가 되었습니다. 생긴건 Swift랑 비슷한 함수형 프로그래밍 언어지만, Swift는 iOS 전용인 것과 달리 Kotlin은 Web과 App을 어우르는 큰 바운더리를 가지고 있는 언어라고 합니다. 공식인데다 Kotlin을 만든 곳이 Android Studio를 만든 회사인 InteliJ이기 때문에 라이브러리 이식도 빠르게 대응되서 지금은 Kotlin과 Java와 함께 개발을 할 수 있도록 되어 있습니다. 이제 Kotlin으로 개발을 해야할 때의 특징이나 제가 겪었던 어려움에 대보며 이야기를 풀어보겠습니다. 1. 변수 선언  저는 Swift 기반 개발을 해봤기 때문에 다소 친숙한 변수 선언이지만, 완전 처음 접하는 분들에게는 초장부터 헷깔리는 부분이라고 말씀드릴 수 있습니다.  먼저 String 타입의 변수를 선언한 형태를 보겠습니다.  - Java   private String var1;  - Kotlin   private var var1 : String? = null;  일반적인 Java에서는 (물론 초기화를 해야되지만), 초기화를 하지 않아도 프로그램이 잘 굴러가는 반면에 Kotlin은 무조건적으로 null값을 입력해야만 합니다. 엄격한 Null 관리로 인해 변수는 null을 가질 수 있는 Nullable 객체이거나 Object값을 가지고 있거나 둘 중 하나의 상태를 가지고 있어야 합니다. Nullable 객체의 표기는 해당 변수의 타입을 정해줄 때, 끝에 "?"를 붙여주면 되겠습니다. 타입과 같이 써본다면 "Int?", "String?, ...

아이프렌즈펫 월드컵 응원 사진들

이미지

[NCP] DNS 와 로드밸런서 구성하기

이미지
NCP (Naver Cloud Platform) 에서 로드밸런서를 생성하고 도메인은 구성하는 방법에 대해 알아보겠습니다. 1. 서버 생성 로드밸런서 연결에 사용될 웹서버 2대를 생성하고 웹서버를 실행해 줍니다. 지난 포스트 보기  NCP 인스턴스 생성하기  2. 로드밸런서 생성 NCP 콘솔로 이동해  Loadbalancer 메뉴에서 로드밸런서 생성 버튼을 선택합니다. 로드밸런서 이름을 입력 합니다. 서버 리스트에서 1항 에서 생성한 2개의 서버를 모두 적용 서버로 선택한 후 "다음" 은 선택 합니다. 설정 정보를 확인한 후 "로드밸런서 생성" 을 선택 합니다. 로드밸런서가 생성되면 "접속정보" URL 을 확인 할 수 있습니다. "접속정보" URL 을 복사하여 웹브라우저를 통해 접속하면 로드밸런서를 통해 서버에 접속되는 것을 확인 할 수 있습니다. 로드밸런서 생성 시 알고리즘이 기본적으로 라운드로빈으로 설정 되므로 웹 브라우저를 새로고침 하면 이중화 구성된 두번째 서버로 페이지가 접속 되는 것을 확인할 수 있습니다. 3. 도메인 등록  로드밸런서 연결시 사용자 도메인을 사용하기 위해 도메인 등록을 진행합니다. NCP 콘손화면에서 DNS 메뉴를 선택한 후 "도메인 추가" 를 선택합니다. 사용하고자 하는 도메인 명을 입력하고 "추가" 를 선택 합니다. 도메인이 추가되면 NS 레코드 값 확인이 가능합니다. 해당 레코드 값을 복사하여 도메인 등록기관(가비아 등) 에서 적용하고자 하는 도메인의 네임서버 정보를 복사한 값으로 대체 합니다. 4. 로드밸런서 연결  도메인이 등록이 완료되면 로드 밸런서를 도메인과 연결해 보겠습니다. DNS 메뉴에서 "레코드추가" 를 선택하여 레코드를 추가합니다. 아...

Linux환경에서 Docker(도커) 설치 및 컨테이너 실행하기

이미지
안녕하세요. 남산돈가스 입니다. 오늘은 요새 들어서 한참 뜨고 있는 도커라는 기술에 대하여 설치 및 사용법을 알아보려고 합니다. 일단, 도커라는 것은  컨테이너 기반의 오픈소스 가상화 플랫폼 이라고 말할 수 있는데요. 이번 포스팅은 설치 및 사용법에 대한 게시글이기 때문에 도커에 대한 기본 설명은 ' 도커란 무엇인가? ' 라는 아주 쉽게 이해할 수 있도록 정리되어있는 글이 있어 링크를 걸었습니다.  위 링크에서 도커에 대한 기본 개념을 이해하시면 될 것 같습니다. 이어서 제가 보여 드릴 예제는 Ubuntu 기반 Linux환경에서 Docker Engine을 설치한 뒤, 검색엔진 오픈소스인 Elastic Search를 설치하여 구동하는 내용을 다루어보려고 합니다. 먼저, Linux 환경에 접속합니다. 최초 Linux 서버에는 Docker 명령어를 지원하지 않기 때문에 도커를 설치해줘야합니다. 리눅스에 도커를 설치하는 방법은 curl 명령어를 이용하여 설치 스크립트를 다운받아 실행하는 것이 제일 쉽게 제공되고 있기 때문에, 아래 명령어를 입력하여 설치를 진행합니다. $ curl -fsSL https://get.docker.com/ | sudo sh 명령어를 실행하면, 다음과 같이 docker 가 설치 되는 과정이 출력됩니다. docker 설치가 완료 되었다면, 정상적으로 설치가 되었는 지 확인하기 위해서 version 명령을 실행해봅니다. * docker는 root 권한으로 설치하였기 때문에 docker 명령어를 이용하기 위해선 root 계정으로 변경하거나 sudo 를 이용하여 root 권한으로 docker 명령어를 실행할 수 있습니다. $ sudo su - && docker version 버전정보를 보시면  클라이언트와 서버로 나뉘어져 있는 것을 확인할 수 있습니다. 왜냐하면, 도커는 하나의 실행파일이지만 실제로 클라이언트와 서버역할을 각각 할 ...

반려견에게 사랑과 애정을 주는 법

이미지
반려견에게 사랑과 애정을 주는 법 *이 카드는 위키하우스 글 "애완견에게 사랑과 애정을 주는 법"을 참고하여 만들었습니다. 반려견 우리 훈련!! 아직 어린 강아지를 우리 안에 넣는 것은 사랑이 아닌 것 같지만 훈련을 통해 강아지가 우리 안이 편안하고 안정함을 느끼는 곳으로 인지하게 할 수 있다. 주인의 침실 주변에 강아지가 잘 곳을 만들어주기!! 새로운 환경 속에서 처음일 것이므로 분리 불안을 겪을 수도 있다. 강아지의 안정감을 주기 위해 침실 근처 혹은 침실 안에 강아지가 잘 곳을 마련해주어야 한다. 안락한 요소를 제공!! 강아지에게 가족의 채취가 묻힌 물건들을 주어 집에서 더욱 안정감을 느낄 수 있도록 할 수 있다. 지하실이나 창고에 두지 않기!! 강아지의 부안으로 인해 더 울거나 짖는 등의 행동을 보일 수 있다. 산책 가기!! 다양한 놀이로 강아지와 활발하고 즐거운 시간을 보내는 것은 신체적, 정신적으로 건강하게 성장할 수 있도록 해준다. 던진 문건 가져오기 놀이!! 물건을 던져 다시 가져오게 하는 것은 좋은 신체운동!! 강아지 주인에게 집중을 하고 명령에 따르도록 가르치기 좋은 활동!! 물 속에서 놀기!! 물 속에서 하는 활동은 관절에 큰 영향이나 자극을 주지 않아 더욱 안전하다. 강아지가 휴식을 취하게 하기!!! 강아지가 뛰어 노는 것을 좋아하지만 그 만큼 충분한 휴식과 재충전의 시간이 필요하다. 놀아주거나 훈련하는 시간은 10분을 넘기지 않도록 한다!

Vue.js 개발환경 설정 및 Hello Vue.js 프로젝트

이미지
Vue.js 개발환경 구성하기 뷰로 웹앱을 개발하기 위해서는 기본적으로 몇가지 도구를 설치해야 합니다. 크롬 브라우저 아톰(Atom) 텍스트 에디터 Node.js 뷰 개발자 도구(Vue.js devtools,크롬 확장 플러그인) 크롬 브라우저 설치 웹 개발을 위해서는 브라우저 환경을 먼저 구성해야 합니다. 구글에서 제공하는 크롬은 웹개발에 필요한 다양한 기능을 제공하는 개발자 도구를 지원합니다. 크롬 다운로드 ==> https://www.google.co.kr/chrome/index.html 크롬 개발자도구는 웹페이를 로딩되는 과정에서, 랜더링, 네트워크, 성능 등을 손쉽게 확인할 수 있습니다. 또한 자바스크립트 디버깅 및 웹페이지 성능 진단 등이 가능합니다. 아톰(Atom) 에디터 설치 아톰은 오픈소스 형태로 제공하는 무료 텍스트 에디터 입니다. 서브라임 텍스트(Sublime Text)나 웹스톰(WebStorm) 같은 유료 개발도구 있지마, 일단 아톰은 100% 무료이며, 오픈소스 형태로 제공되어 전세계에서 확장 플러그인들을 제공하고 있습니다. 아톰 다운로드 ==> https://atom.io/ node.js 설치 node.js 는 서버 사이드에서 자바스크립트를 실행하기 위한 환경입니다. 뷰 프로젝트를 구성하기 위핸 node.js를 설치하여 npm(node.js package manager)를 통해 관련 도구를 설치할 수 있습니다. node.js 다운로드 ==> https://nodejs.org 뷰개발자 도구 설치 뷰로 만든 웹앱의 구조를 디버깅하거나 분석하기 위해 별도의 뷰 개발자 도구를 이용할 수 있습니다. 크롬 브라우저의 확장 플러그인을 통해 Vue.js devtool을 설치할 수 있습니다. 1. 구글에서 “vue.js devtools”를 검색합니다. 2. “Vue.js devtools - Chrome Web Store”를 클릭하여 구글 플러그인 스토어로 입력하여 “Chrome에 추가”를 클릭하여 설치합니다. 3. “확장 프로그램 추가”...