Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.

기술 뉴스 #96 : 18-02-15

웹개발 관련

  • Understanding the Limitations of HTTPS : HTTPS가 안전한 브라우징에 필수 조건이지만 충분조건은 아니라는 글. HTTPS를 사용했을 때도 노출될 수 있는 정보를 하나하나 설명하고 서버와 클라이언트 관점에서 보안이 깨질 수 있는 부분을 설명하고 있다.(영어)
  • An Overview of JavaScript Testing in 2018 : 제목대로 현재 JavaScript를 테스트할 때 사용할 수 있는 도구와 용도를 다 설명한 글이다. 유닛테스트부터 UI 테스트까지 각 도구의 특징과 장단점을 정리해놓았다. 기존에 테스트를 작성하고 있다면 자신이 쓰는 도구를 중심으로 비교해 보기 좋은 글이다.(영어)
  • webpack 4: migration guide for plugins/loaders : 현재 베타 버전인 webpack 4로 버전을 올릴 때 바뀐 부분과 수정해야 하는 부분을 정리한 글이다. 새 버전의 webpack에서 달리진 점을 한눈에 볼 수 있어서 좋다.(영어)
  • Modern CSS Explained For Dinosaurs : CSS에서 레이아웃을 잡기 위해 기본 CSS부터 float, flexbox, Grid까지의 발전 과정을 설명하고 Preprocessor, Postprocessor와 CSS를 더 잘 관리하기 위한 여러 접근 방법까지 차근차근 설명하는 글이다. 세세한 기법들보다는 전체적인 흐름을 볼 수 있는 좋은 글이다.(영어)
  • Service workers: the little heroes behind Progressive Web Apps : PWA의 핵심인 Service Worker의 특징과 사용방법을 설명한 글이다. Service Worker의 라이프사이클과 캐싱, 백그라운드 싱크, 푸시 등 아주 쉽게 설명되어 있다.(영어)
  • 신입 프론트엔드 개발자가 되려면 무엇을 학습해야 하나요? : 프런트 앤드 개발자가 공부해야 할 내용에 관한 기술들을 꽤 잘 정리해 놓았다. 각 기술에 대한 상세 설명이라기보다는 해당 기술을 어떤 관점으로 보고 왜 필요한지를 명료하게 정리해 놓았다.(영어)

그 밖의 프로그래밍 관련

  • Next.js 튜토리얼 1편: 시작하기 : React 애플리케이션으로 서버사이드 렌더링을 할 수 있게 도와주는 프레임워크인 Next.js의 공식 튜토리얼을 번역한 글이다.(한국어)
  • Chiccocoin: Learn what is a Blockchain by creating one in NodeJS : Node.js로 블록체인에서 해시를 만들고 마이닝을 하는 작업을 구현하면서 설명하는 글이다. 핵심만 짚어서 간단하게 구현했다면서 설명했기 때문에 블록체인이 어떤 식으로 동작하는지 꽤 쉽게 이해할 수 있다.(영어)
  • RFC: Ubuntu 18.04 LTS Minimal Images : Ubuntu 18.04 Bionic은 최소화된 이미지가 14.04보다 53% 정도 용량이 줄어들 예정이라고 한다. Docker 등 컨테이너에서 사용하기 쉽게 더 최소화를 해서 현재 압축하면 30MB 정도고 압축을 풀면 81MB 정도라고 한다.(영어)

볼만한 링크

  • AMP for email is a terrible idea : 며칠 전에 Google이 Gmail에서 AMP를 지원한다고 발표했는데 이를 반대하고 사용하지 말아야 한다고 얘기하는 글로 내 생각과 일치한다. 제목에 주장이 잘 담겨있어서 주장만 제목만 봐도 충분하기는 한데 AMP로 하려는 것은 Email에서 이미 할 수 있고 Email은 특정 회사에 종속된 게 아니라서 AMP를 쓸 필요가 없다는 얘기다. "Google exerting its market power to extend its control over others’ content. Facebook is doing it, so Google has to."라는 부분이 인상적이다.(영어)
  • What I wish I knew when I became CTO : SketchDeck에서 4년 동안 CTO로 일하고 CTO를 하기 전에 알았으면 좋았을 내용을 정리한 글이다. 기술의 생명주기가 생각보다 길지 않아서 기술을 도입했을 때 이 기술 부채를 갚을 전략과 시간이 필요하고 역할에 대해서 완전히 이해하고 있지 않으면 아직 그 역할이 필요하지 않을 가능성이 크다는 등 자신이 깨달은 부분을 정리한 글이다. 회사에서 가장 중요한 자산이 사람이라는 글을 아무리 많이 읽었어도 제대로 준비하지 못했다는 말이 인상적이다.(영어)

IT 업계 뉴스

  • 한자 도메인, 안 돼! : 국내에서 추진 중인 한자 도메인의 최상위 도메인 등록을 막아야 함을 알리는 사이트이다. 이 글을 보기 전에는 이런 움직임이 있는 줄도 몰랐지만, 누군가 또 말도 안 되는 사업을 만들려나 보다 싶다. ICANN의 검토 기간이 30일밖에 남지 않았으므로 더 널리 알리고 청와대에 청원도 해서 적극적으로 막아야 한다.(한국어)

프로젝트

  • Android KTX : 안드로이드 앱 개발에 유용한 코틀린 확장 세트로 안드로이드 프로젝트에서 공개했다.
  • kap : Electron으로 만든 Mac 용 화면 녹화 프로그램.
  • automerge : 동시에 수정해도 자동으로 합쳐주는 JSON 형태의 데이터 구조 JavaScript 라이브러리.
  • Phaser : HTML5 게임 프레임워크.
  • OpenSC2K : SimCity 2000을 HTML5 Canvas와 JavaScript로 다시 만든 오픈소스 프로젝트.
  • Flat UI Colors 2 : 13명의 디자이너가 Flat UI용 칼라 팔레트를 만들어서 공개했다.

버전 업데이트

2018/02/15 20:34 2018/02/15 20:34

Visual Studio Code의 Golang 개발 환경

Golang을 배우면서 간단한 코드는 그냥 Vim에서 작성했지만 좀 더 많은 코드를 작성하려면 개발환경이 필요했다. 아직 관련 도구나 관례가 익숙지 않아서 이런 부분을 도움받고 싶기도 했다. JetBrains를 주고 쓰고 있어서 GoLand를 쓰고 싶었지만, 아직 Golang을 많이 쓰지도 않는 상황에서 IDE부터 구매하기는 부담이 되었다.

Go의 문서를 보면 vim, Visual Studio Code, GoLand, Atom Editor를 비교해서 보여주고 있다. 이 외에도 LiteIDE도 있는데 나는 VS Code를 선택했다. 완전 새로운 IDE 쓰기는 부담되고 GoLand는 상용이라 나중에 많이 쓰게 되면 넘어갈 예정이고 Vim은 세팅을 많이 해서 쓰는 편이 아니라서 VS Code와 Atom 중에서 비교하다가 좀 더 깔끔한 VS Code를 선택했다.

Go for Visual Studio Code

VS Code에 Go for Visual Studio Code 플러그인이 꽤 많은 기능을 제공하고 있어서 이 플러그인 설치만으로도 처음 golang을 작성하면서 필요한 도움을 꽤 많이 받을 수 있다.

Go for Visual Studio Code 플러그인

VS Code의 확장 메뉴에서 Go로 검색하면 이 플러그인을 설치할 수 있다.

VS Code에서 go 도구 설치를 요청하는 화면

플러그인을 설치하니 필요한 도구의 설치를 추가로 요청하였다. 나는 이 2개만 나왔는데 이건 go 패키지이므로 사람마다 다르겠지만 플러그인에서 필요하다는 건 그냥 설치하면 될 것 같다.

이 플러그인 하나가 대부분 기능을 제공하고 있어서 딱히 추가로 설정하지 않아도 될 것 같다.

일단 내가 필요했던 기능들은..

  • 저장 시에 자동으로 포매팅을 해주고 자동 임포트를 해주어서 gofmtgoimports를 안 써도 된다. 아직 익숙지 않아서 많이 사용해보면서 비교하느라 그동안 귀찮았다.
  • 아직 함수명 등도 익숙하지 않은데 코드 자동완성을 지원한다.
  • 함수 등의 정의를 VS Code내에서 바로 볼 수 있어서 문서를 덜 볼 수 있을 것 같다.(golang 문서도 익숙해 져야 하지만...)
  • VS Code내에서 바로 테스트 코드를 작성할 수 있다. 보통은 테스트 코드 실행은 터미널에서 하는 걸 더 선호하지만, 지금은 예제 코드가 위주이므로 VS Code에서 실행하는 것도 나쁘지 않다.

이 외에도 제공하는 기능은 많아 보이지만 현재 내 수준에서는 이 정도 설정으로 충분해 보인다.

2018/02/14 23:23 2018/02/14 23:23