맥 파인더에서 터미널 여는 방법들

October 25, 2016 Dev

맥 파인더에서 터미널 여는 방법 파인더에서 터미널을 여는 경우가 종종 있는 편인데, macOS 시에라 출시 이후에 업그레이드가 되지 않아서 불편했던 앱 중의 하나가 TermHere였다. 대안을 찾던 중에 cdto라는...

GDG Busan, Python Django 스터디 #2

October 23, 2016 Offline

새로운 멤버 합류 새롭게 합류하신 분이 두분이 계셔서, 가상환경 설정 부분을 반복했습니다. 한 분이 OSX를 사용하고 계셔서 설정에 약간의 어려움이 있었으나, 기존 멤버분께서 도움을 주셨습니다. Recursive! 1주차에서 했던...

아마존 킨들 오아시스 간단 사용기

October 22, 2016 Gadget

kindle oasis 아마존이 내놓은 최상위 킨들 디바이스인 오아시스(Amazon Kindle Oasis)를 구매후 사용한 간단한 소감 적어 보려고 합니다. 오아시스는 기존의 킨들과 다르게 가격이 비쌉니다! 기본 킨들이 $79 달러이고 보이지(Voyage)가...

[KudoReview] 아이폰 7 플러스

October 21, 2016 Gadget

애플만의 페이스 애플은 언제나 자신만의 페이스가 있다. 경쟁사들이 홍채인식, 방수와 같은 기술을 누구보다 먼저 채용하려고 안달이 나고 있는 와중에도 애플은 조급해하지 않는다. 이건 스티브 잡스 때부터 늘 그래...

아이폰 7을 위한 충전+오디오 어뎁터

October 19, 2016 Gadget

애플이 아이폰 7에서 "용기"를 가지고 오디오 단자를 없애 버렸다. 그러자 마자 많은 곳에서 충전과 오디오를 동시에 사용할 수 있는 어뎁터들이 나오기 시작했다. 클라우드 펀딩에서도 많이 나오고 있긴 하지만, 중국에서는...

GDG Busan, Python Django 스터디 #1

October 18, 2016 Offline

Django 스터디 시작 교재는 김석훈님의 파이썬 웹 프로그래밍 실전편 - Django(장고)를 활용한 쉽고 빠른 웹 개발, 한빛미디어를 선택했습니다. 기초편이 아니라 실전편을 한 이유는 제일 최근에 출간되었기 때문입니다. 커버가...

TypeScript: 인터페이스(Interface)

October 17, 2016 Dev

이전 글 - TypeScript: 클래스(Class) 클래스와 인터페이스 지금껏 JavaScript만을 다뤄본 개발자라면 인터페이스라는 개념은 익숙치 않을 것이다. 하지만 Java나 C# 등의 정적 타입 언어에서는 이미 많이 쓰이는 개념이다. 인터페이스는...

TypeScript: 클래스(Class)

October 17, 2016 Dev

이전 글 - TypeScript: Basic Type 클래스는 JavaScript 생태계 속에서도 TypeScript에만 있는 개념이 아니다. CoffeeScript나 ES2015를 사용해봤다면 이미 클래스를 몇 번 쯤은 사용해보았을 것이다. 이 글에서는 ES2015의 클래스를...

Certbot 도입하기 ~ Let’s Encrypt 갱신편 ~

October 16, 2016 Dev

Introduction 현재 개인적으로 운영하고 있는 웹서비스들은 전부 Let’s Encrypt를 이용하여 HTTPS를 적용 중입니다. 당시에 참고했던 글은 Outsider님의 Let’s Encrypt로 무료로 HTTPS 지원하기이고, 그럭저럭 잘 쓰고 있었습니다. 다만 3개월...

[Swift3]The Swift Array Design 요약

October 16, 2016 Code

다음은 Swift의 The Swift Array Design를 요약 정리하였습니다. 목표 Swift에서 Array는 다음 목표를 가집니다. C 배열과 같은 성능 Cocoa에 NSArray로 전달시 O(1)이어야 하며, 별도의 메모리 할당이 없어야 함....

첫 번째 이직

October 15, 2016 Life

이직을 하게 됐다. 가만히 앉아있는데 무슨 오퍼가 와서 이직하게 된 건 아니고(일부 맞는 말이기는 한데..), 내가 원해서 새 직장을 찾게 되었다. 물론 이직을 하게 된 동기도 있지만.. 그건...

마크다운 문서화 도입기

October 14, 2016 Dev

최근에 신규 프로젝트를 들어가면서 DB와 API 설계를 담당하고 있는데 일반적으로 DB 설계는 설계 후 산출물을 가지고 검토를 받고, API는 설계 산출물을 가지고 클라이언트 개발자(앱과 웹) 전달해서 연동할 때...

컴파일러 친화적으로 Swift 코딩 하기 싫다

October 13, 2016 Dev

swiftswift는 생긴지 얼마 안된 언어지만 iOS, macOS 개발을 위해서는 어쩔수 없이 사용하게 되는데요. 개발을 하다보면 제일 문제되는건 swift 언어 컴파일 시간 문제입니다. Xcode 에서 아이폰 개발을 하다보면 이전에...

[Swift3]향상된 연산자 선언 – precedencegroup

October 13, 2016 Code

Xcode 8로 Swift 자료를 만들다가 연산자 선언 관련해 기존 방법을 사용하지 말고 precedence group을 사용하여 선언하라고 경고 메시지를 보고 Swift 3 제안서를 살펴보았습니다. 그리고 연산자 우선순위 관련한 제안서...

Vim 텍스트 개체: 궁극의 가이드

October 13, 2016 App

원본 : Vim Text Objects: The Definitive Guide Vim에서 편집을 효율적으로 하려면 문자를 뛰어넘어 단어, 문장, 문단으로 편집해야 한다. Vim에서 이런 하이레벨 컨텍스트를 텍스트 개체(text objects)라고 한다. Vim은...

레거시 PHP에서 모던 PHP로 – 뷰 분리하기

October 13, 2016 Code

흔히 모던 PHP라고 이야기하는 현대적인 PHP 개발 방식에 대해 많은 이야기가 있다. 새 방식을 사용하면 협의된 명세를 통해 코드 재사용성을 높이고 패키지를 통해 코드 간 의존성을 낮출 수...

iOS용 iMeesage 스티커 앱 만들기

October 11, 2016 Dev

  정말 쉽게 만든 SquareAnimal 스티커 앱 몇 시간만에 iMessage용 스티커 앱을 만들었고, 하루 만에 앱스토어에 올라갔다. 2016년 WWDC에서도 쉽다고 하더니, 정말 쉬웠다. raywenderlich.com에서 산 iOS 10 by...

내 맘대로 월간(月刊) 뉴스 – 2016년 09월

October 10, 2016 Dev

맥에서의 파이썬 개발 환경 자동화(pyenv, virtualenv, autoenv) 파이썬3 덕분에 python -m venv venv로 해결할 수 있어서 너무 편리함 그렇지만 파이썬2를 사용한다면 읽어보자! 파이썬 Docker 이미지 관리하기 Docker 이미지...

[번역] 반응형 프로그래밍과 RxJS 이해하기

October 9, 2016 Code

요약: RxJS는 이벤트 스트림과 데이터를 쉽게 만들고 다룰 수 있도록 도우는 라이브러리다. 복잡하지만 가독성이 좋은 비동기적 코드를 더 쉽게 작성할 수 있도록 도운다. 큰 규모의 비동기 어플리케이션을 작성하는...

2016년 안드로이드 스터디를 회고하면서…

October 9, 2016 Opinion

1 처음은 언제나 감사의 마음으로 시작하자. 10월 7일(2016), 회식과 겹쳐서 스터디에 처음부터 참석하진 못했지만, 스터디가 끝나기전에 마지막까지 스터디에 참석해주신 분들과 인사를 나누며, 14일(2016.10)에 시작될 Django스터디에 대해서 이런저런 이야기를...

iOS 10 New feature : VoIP

October 7, 2016 Dev

  iOS 10 New Feature 중에 Enterprise 이 좋아할 부분 중에  VoIP 부문이 있습니다. 이제는 iOS가 VoIP 앱과 유기적으로 Integration 되어서 VoIP를 이용해서 전화를 걸고 받는 것이 더 쉬워졌습니다....

AWS elasticsearch 에서 스냅샷 생성 및 복원

October 6, 2016 Dev

AWS elasticsearch 에서는 자동백업을 지원하지만 이걸 복원하려면 AWS Support에 직접 요청하는 방식이라 원하는 시점에 복원하지 못할 수 도 있습니다. 또한 elasticsearch 버전을 올리기위해 마이그레이션을 할때는 새로운 elasticsearch를 생성하고...