NeoVim 기반 개발환경 설정 

NeoVim과 CoC를 이용해서 개발 환경을 만들기로 했다. 개발 환경을 vi 기반으로 해보려고 하다가 결국 문서를 정리하게 됐다. 운영체제 사용언어 software-properties-common은 apt 레포지토리 관리를 위한 툴들을 제공한다. 이 툴을 이용해서 배포판을 관리를 쉽게 할 수 있다. # sudo apt-get install softwar...

Dart function 

다트는 순수 객체지향 언어(True object-oriented language)이므로 함수도 유형이 Function인 객체로 다룬다. 즉 함수를 변수에 할당하거나 다른 함수에 인자로 전달 할 수 있다. Dart 클래스의 인스턴스를 함수처럼 호출 할 수도 있다. 아래는 함수 구현 예제다.main() { print("Factorial ${factorial(1...

VSCode 기반의 Flutter 개발환경 만들기 

을 만들기는 했지만, 인간적으로 너무 무겁다. 그렇다고 작업을 못 할 정도라거나 그런건 아니고, 그동안 vim만 사용하다보니 적응하기가 쉽지 않았다. 키보드 입력 속도를 간당간당하게 따라가는 느낌. 이것 저것 너무 산만한 느낌. 그래서 VSCode로 환경을 구축하기로 했다. Vim 기반 개발환경도 찾아보긴 했는데, 좀 무리인 것 같았다. 설치 운영체제는 우...

Dart Tour 

우분투 리눅스 19.04 에 Dart를 설치했다. 편집기는 vim을 이용하고 있다. flutter는 Android studio를 쓰고 있는데, 언어를 학습하는데에는 너무 무겁다. 언젠가 VS Code로 설정해봐야 겠다.$ sudo apt-get update$ sudo apt-get install apt-transport-https$ sudo sh -c cu...

GoLang 디버거 - Delve 

Delve는 Go 언어를 위한 디버깅 툴이다.# go get -u github.com/derekparker/delve/cmd/dlvdlv 실행파일은 $HOME/go/bin 에 설치된다. PATH를 등록하고 테스트해 보자.# export PATH=$HOME/go/bin# dlv versionDelve DebuggerVersionBuild테스트 애플리케이션을 ...

flutter 시작하기 

모바일 애플리케이션은 포기한지 오래다. Java는 왠지 싫고, iOS 쪽도 별로 관심이 없고. 그냥 언젠가는 지금 알고 있는 HTML, Javascript, CSS 와 같은 웹 기술로 모바일 애플리케이션 개발이 가능해지면 그때 무임승차해야지 하는 자세였다. 그래서 관심을(만) 가지고 있던게 Progress Web App이였다. 그러다가 flutter라는 프...

Go 패키지관리 

Go1.10 버전까지는 패키지를 관리하기 위한 마땅한 도구가 없었다. 하지만 프로젝트의 규모가 커지다 보면, 패키지 관리가 필요해지기 마련이라서 dep, glide, vgo 등의 다양한 툴들이 개발됐다. 요즘 같은 시대에 개발환경을 통일해야 하나라는 주장이 있기도 하지만, 소프트웨어 의존성을 관리의 경우 다양한 툴이 있다는 것은 좋은 소식이 아니다. 다행...

Vue 인스턴스 

모든 Vue 앱은 Vue 인스턴스를 만드는 것부터 시작한다.var vm = new Vue({ // 옵션})Vue 인스턴스를 인스턴스 화 할 때는 데이터, 템플릿, 마운트할 엘리먼트, 메소드, 라이프사이클 콜백 등의 옵션을 포함 할 수 있는 options 객체를 전달해야 한다. 전체 옵션 목록은 를 참고하자.인스턴스는 아래와 같이 정의 할 수 있다. 인스턴스...

Anatomy of an array 

이 문서를 읽기 위해서는 NumPy에 대한 기본적인 경험이 있어야 한다. 그래서 기본적 Numpy 배열의 기본구조 특히 메모리 레이아웃, 뷰, 복사(copy), 데이터타입등을 설명하려 한다. dtype이 np.float32인 배열의 모든 값을 지우려는 간단한 예제를 생각해보자. 속도를 극대화하기 위해서는 어덯게 해야 할 까. 아래의 구문은 (적어도 Num...