NeoVim 기반 개발환경 설정

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

Vim Quick Start

# vi filename.txt vi는 "Last Line 모드", "입력(input)모드"와 "명령(command)"모드의 세가지 모드가 있다. 노트패드 같은 에디터들은 실행 즉시 편집을 할 수 있지만, vi는 그렇지 않다. 입력모드에서만 문자를 입력을 할 수 있다. Last Line 모드는 ed 모드라고 부르기도 한다. 이하 ed 모드라고 부르겠다.처음...

터미널 기반 Flutter 개발환경

지금까지 만들어본 개발 환경은 아래와 같다. 1. 1. 이번에는 터미널 기반으로 개발 환경을 세팅해보려한다. Vim 기반으로 세팅해보려는게 이유다. 굳이 왜 vim 기반이냐고 하면, 너무 가볍기 때문이다.Dart SDK와 Flutter 프레임워크는 이미 설치를 끝낸 상태이므로 곧바로 프로젝트를 만들어보기로 했다.create명령으로 helloworld 프로...

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

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

Continuous delivery

Continuous delivery(CD 혹은 CDE, 지속적인 전달)는 팀이 짧은 주기로 소프트웨어를 생산하는 방식으로 소프트웨어를 안정적으로 출시할 수 있도록하는 엔지니어링 방식이다. 빠른 속도와 잦은 빈도로 소프트웨어를 개발하고, 테스트를 끝내고 출시하는게 목표다. 이 접근법을 이용하면 응용 프로그램을 보다 점진적으로 개선하고 변경 사항을 업데이트 할...

Opsgenie를 이용한 AWS 인프라 이벤트 관리 시스템 구성

나는 인터넷 서비스의 품질을 확보하기 위한 가장 중요한 활동을 아래와 같이 정의 한다. 문서화 테스트가 포함된 모니터링, 관제 시스템 및 장애(인시던트)관리 프로세스 모니터링 결과는 결국 알람과 인시던트의 형태로 출력된다. 알람과 인시던트는 업무처리 시스템에 따라서 처리를 해야 한다 대략적인 프로세스는 아래와 같을 것이다. 이벤트, 경고(alert),...

마이크로매니지먼트

Wikipedia에 가장 정리 잘된 것 같아서 번역했다. 물론 대충. 출처는 이 문서는 비지니스에서 발생할 수 있는 업무관리 방식에 대한 것이다. 비지니스에서 마이크로매니지먼트는 관리자가 부하 직원이나 직원의 작업을 면밀히 관찰하고 통제하는 관리 스타일이다. 일반적으로 마이크로매니지먼트는 직장에서 자유를(자기결정권과 책임) 박탈하기 때문에 부정적인 행위로 ...

golang 시작하기 - 개발환경 만들기

(2019년 5월 5일)현재 Go의 최신 버전은 1.12.4이다. 이전 문서는 1.9.1 기준이었는데, 1.11 버전이후로 Go의 패키지 관리 정책이 변경됐다. 가 생겼으므로 변경점에 맞춰서 새로 작성하기로 했다.이 문서의 내용은 우분투리눅스 18.04를 기준으로 한다. 우분투 리눅스가 기준인 이유는 그냥 내가 리눅스 개발자라서이다. # cat /etc/i...

웹 애플리케이션에서의 로깅

웹 애플리케이션 서버는 웹 엑세스로그와 애플리케이션 로그다. 웹 엑세스 로그는 NginX와 Apache 웹 서버가 남기는 , 메서드(GET, POST, PUT, DELETE), HTTP Status Code, 접근 시간, 클라이언트 애플리케이션 정보등을 포함한다. Combined 로그 형식을 널리 사용한다. 127.0.0.1 - frank (Win98; I...

Jenkins로 go 빌드 환경 구축

Jenkins는 CI(Continuous Integration)툴이다. Git, SVN과 같은 형상관리 툴과 연동을 해서, commit(혹은 Push)한 코드를 읽어와서 빌드하고 테스트 하고 배포를 위한 패키지를 만드는 일을 한다.최근의 소프트웨어 개발 방법론의 트랜드는 "애자일"과 "데브옵스(DevOps)로 대표 할 수 있다. 이들 개발론들은 개발과 배포...