구형 맥북프로, 연속성 기능 활성화 성공

OSX Yosemite(v10.10) 이 되면서 혁신적이었다고 평가받는 것은 바로 연속성 기능 이다. 이 기능은 맥과 iOS 를 오가며 실행하던 애플리케이션을 끊김없이 실행할 수 있는 기능이다.

현재 가지고 있는 맥북은 Macbook Pro 15” 2011 Early CTO 버전이다. 물론 이미 노쇠했지만 개인적인 사정으로 은퇴하지 못하고 꾸준히 부품을 교체하며 버티고 있다.

하지만 현재 가지고 있는 모델이 연속성 기능이 제대로 지원되지 않아 아쉬웠다. 연속성기능에 포함된 모든 기능을 사용하기 위해서는 iOS 와 맥 모두 블루투스LE(BLE, Bluetooth Low Energy) 가 반드시 지원되어야 한다.

페이스타임을 통한 셀룰러 통화나 SMS 문자 전달은 동일한 아이클라우드 계정에 접속하기만 하면 자동으로 활성화되지만, iOS와 OS X간의 핸드오프와 인스턴트 핫스팟, 에어드롭 기능은 블루투스LE를 반드시 지원해야 합니다 .
OS X 요세미티와 iOS 연속성 기능을 구형 맥에서 사용하는 방법… ‘2011 맥북 에어 및 맥 미니는 더 간단합니다.’ – Back To The Mac

근래에 여유가 있던 차에 맥북에서도 연속성기능을 사용할 수 있도록 부품을 교체했다.

랩탑에 탑재된 랜카드는 BCM94331PCIEBT4AX (Bluethooth 2.1+EDR) 모델인데 BLE 를 사용하기 위해서는 BCM94331PCIEBT4CAX(Bluetooth 4.0) 로 랜카드를 교체해야 한다. (모델명 끝에서 3번째에 C 에 유의.)

Back To the mac 에 따르면 이 기능을 위해 USB 블루투스 동글을 사용해도 된다고 한다http://macnews.tistory.com/2895. 하지만 USB 포트에 꽂아놓는 것은 거추장스러워 내장된 랜카드를 교체하는 방법을 선택했다. BLE 를 사용하는데 랜카드를 교체하는 이유는 랜카드에 블루투스 모듈이 탑재되어 있기 때문이다.

최근 패치에서 블루투스 동글 사용이 막혔다고 하니 참고 바란다.

구매

우선 알리익스프레스에서 랜카드를 구매했다. http://www.aliexpress.com/snapshot/6751075037.html?orderId=68001485756049 거의 가장 저렴하게 구할 수 있어서 아낀 비용을 EMS배송료에 사용했다. EMS 배송은 물론 로켓 배송이었다. 일요일에 구매한 제품이 수요일에 왔다 🙂

하드웨어 교체

Untitled_2

교체 순서는 ifixit 의 내용을 따라했다.MacBook Pro 15″ Unibody Early 2011 AirPort/Bluetooth Board Replacement 안테나 4군데와 메인보드와의 연결을 떼어내면 쉽게 분리할 수 있다.

분리와 재조립은 크게 어렵지 않은데 이슈가 되는 부분은 절연테이프와 안테나 연결이다. 혼선 방지를 위해 붙여진 절연테이프가 너무 얇아 한번 떼어내면 다시 붙이기 어렵다. 그래서 지금 한 면은 절연테이프가 붙어있지 않은 상태다. 절연테이프를 구하면 다시 한번 열어 붙일 예정이다. 그리고 안테나를 떼었다 붙일 때 각이 정확하게 맞아야만 다시 연결할 수 있다.

패치 적용

정식지원되지 않는 기기에서 연속성 기능을 사용하려면 별도의 패치가 필요하다.패치는 Continuity Activation Tool 에서 다운받아 Back To The Mac 을 참고해 손쉽게 처리할 수 있었다. OS X 요세미티의 연속성 기능을 구형 맥에서 쓰는 가장 간단한 방법… 블루투스 4.0 동글!

아래 스크린샷은 하드웨어 설치 직후 호환성 검사를 실행하고 있는 모습이다. 모든 것이 순조롭게 진행되었다.

Screen_Shot_2015-07-07_at_11_59_55_PM

활용

모든 것이 매우 잘 동작한다. 그리고 연속성 기능을 사용하기 시작하면서 맥라이프가 굉장히 윤택해졌다.

iphone-main

lte

  • Airdrop 을 통하면 iPhone 과 iPad, 그리고 맥북에서 서로 사진과 링크도 주고 받을 수도 있다.
  • 사파리 뿐 아니라 페이스북에서 외부 링크를 열어보던 페이지도 Dock 에 올라온다. (확실하진 않지만) UIWebview 를 사용하는 앱들도 연속성 기능을 사용할 수 있도록 API 가 열려있는 것으로 보인다.
  • Pocket 등 연속성 지원 앱들을 사용했을 때 자동으로 이어진다.
  • OSX 의 Wifi 메뉴에서 곧바로 개인용핫스팟(Personal Hotspot) 을 사용할 수 있다.
  • 그 중에서도 링크들을 주고 받게 되면서 잠시 짬날 때 살펴보던 링크를 그대로 맥으로 이전해 볼 수 있게 된 점이 특히 마음에 든다.

참고:

스타트업, 제품 시장 궁합과 고객찾기 – 사내 그로스 해킹 세미나

재직하고 있는 KStyleTrip 에서 그로스 해킹(Growth Hacking) 관련 세미나를 했다.

그로스 해킹에 대해 위키피디아에서는 이렇게 정의한다.

그로스해킹이란 기술기반 스타트업에서 개발된 마케팅 기법으로 (기존의 것과 다른) 창의적인 방법, 분석적인 사고, 소셜 지표 등을 통해 제품을 노출하고 판매하는 것이다. (Growth hacking is a marketing technique developed by technology startups which uses creativity, analytical thinking, and social metrics to sell products and gain exposure.)

최근 번역서가 출간되어 사내에서 함께읽고 그 내용을 전파하는 자리를 마련했다.

지금까지는 막연히 페이스북 뉴스피드에서 단편적인 지식만 얻어왔다. 예를들면 링크드인은 “이메일의 3~4번째 안에 위치해야 개봉률이 높다” 같은 인사이트를 얻었다는 것 들이었다. 하지만 이런 노하우 보다는 어떻게 그런 생각을 할 수 있었는지 궁금했었다. 이 책은 그 부분에 대해 명쾌하게 이야기 한다. 지금까지의 사고 방식을 바꾸라는 것이다.

책을 자세히 읽다보니 나는 지금 그로스 해킹을 적용하기 매우 좋은 상황과 위치에 있다는 것을 알게됐다. 지금 회사가 스타트업이고 이런 세미나를 개최할 정도로 사내에 새로운 마케팅 기법에 우호적이다(그로스 해킹은 특히 대표님께서 항상 강조하는 것이기도 하다). 그로스 해킹에는 기술적인 도움이 많이 필요한데 내가 바로 개발자이고, 지표에 대한 이해가 있으며 분석을 직접 할 수 있다.

세미나를 위해 제작한 슬라이드를 공유하고자 한다. 내가 맡은 부분은 Step 1, 2 이다. 책 내용 중 일부를 공유하지만 지금까지의 생각을 어떻게 바꿔야 하는지 인사이트를 얻기에는 충분하다고 생각한다.

책의 내용에 대해 너무 많이 공개하지 않는 선에서 이야기 해보자면, 이 책에서는 전통적인 마케팅 방식을 영화 산업과 같다고 이야기 한다. 9개 영화가 망해도 블록 버스터 1개가 많은 매출을 내면 상쇄할 수 있다는 것이다. 그리고 많은 비용을 들여 산탄총을 쏘는듯이 마케팅한다. 하지만 스타트업은 그럴 수 없고 우리 인생도 그렇지 않다.

그리고 마케팅이란 에스키모인에게 냉장고를 파는게 아니라 시장에 먹히는 제품을 만들고 개선해 파는 것이라 이야기한다.

특히 스타트업 종사자라면 이 책을 꼭 한번 읽어보시기를 추천한다.

OS X, Case Sensitive 볼륨을 Case Insensitive 볼륨으로 변경하기

최근 들어온 정보에 따르면 El Capitan 에서는 HFS+ 의 Case Sensitive 볼륨을 만들 수 없게 되었다고 합니다. 자세한 사항은 정식버전 출시 후 업데이트 하겠습니다.

OS X 디스크 볼륨은 파일의 대소문자를 구분하지 않는(Case Insensitive) 것이 기본값이다.

하지만 주 업무가 리눅스 서버에 설치되는 프로그램들을 만들다보니 가끔 파일 이름에서의 실수가 발생하는 경우가 있었다. 예를들어 파일이름은 foo.json 인데 프로그램에선 Foo.json 을 로드한다던지 하는 문제가 발생했다. 이런 문제는 서버에 설치되기 전까지는 알아챌 수 없는 문제이다. 그래서 Yosemite 을 설치하면서 대소문자를 구분하는 포맷으로 사용하기 시작했다.

헌데 OS X에서는 Case Sensitive 를 사용하면 각종 애로사항이 발생한다. 구글에서 검색해보면 절규가 들려온다. 특히 어도비 제품들은 최신판인 CC 에서도 주 볼륨이 Case Sensitive 로 포맷되어 있으면 인스톨러가 실행조차 되지 않는다.

추정하기로는 OS X 기반 개발자들이 파일의 대소문자를 민감하게 따지지 않아 애플리케이션에 잠재적인 오류 가능성이 있어 설치를 막는 것으로 보인다. 내 경우에도 포토샵 등은 CS6 에서의 Workaround 를 찾아 어찌어찌 해결했지만 Adobe Extension Manager 가 동작하지 않아 플러그인들을 설치할 수 없었다. 참고:CS6 에서의 Workaround

그런데 Adobe Extension Manager 를 사용해야만 하는 이슈가 발생해서 Case Insensitive 로 변경해야만 했다.

검색해보니 iPartition 이라는 앱이 이런 일을 편하게 해준다고 하는데, 가격이 너무 비싸 수동으로 작업했다. 이 작업으로 컴퓨터를 사용하지 못하는 상황은 원하지 않아 2일에 걸쳐 작업했다.

백업은 Carbon Copy Cloner 라는 앱을 트라이얼 상태로 사용했다. 이 앱은 Rsync 를 사용해 하드디스크를 증분 백업해준다. 그래서 첫번째 백업 이후에는 굉장이 빠르다. 자기 전에 하루 저녁동안 백업해두고, 그 다음날 저녁에는 한번 더 백업한 다음 디스크 유틸리티로 복사해놓고 잠들었다. 다음날 아침에 보니 정상적으로 동작하는 것을 확인할 수 있었다.

(350GB 정도 사용한 500GB SSD 와 USB 2.0 외장 500GB HDD 을 사용함.) * Day 1: Carbon Copy Cloner 로 백업 (4시간 소요된 것으로 추정) * Day 2: Carbon Copy Cloner 로 증분 백업 (30분 소요), Yosemite 설치 디스크로 Disk Utilities 실행, 백업한 것을 리스토어 (6시간 소요된 것으로 추정)

Case Insensitive 볼륨에서 Case Sensitive 사용하기

공교롭게도 위 과정을 거친 바로 다음날 Case Sensitive 관련 문제가 발생했다. git 에서 어떤 파일을 수정한 일이 없는데 계속 수정된 상태로 나오는 것이다.

리모트 리파지토리를 살펴보니 동일한 이름에 대소문자만 다른 두 파일이 있었다. 예를들어 foo.csv 와 Foo.csv 파일 두개가 동시에 존재하는데 대소문자를 따지지 않는 파일시스템을 사용하니 문제가 생긴 것이다.

이 문제는 OS X 의 기본기능인 디스크 이미지를 만들어 해결했다. 디스크 이미지는 겉으로 보기에는 파일 형태이지만 실행(마운트)하면 별도의 디스크 처럼 동작하는 기능이다.

볼륨과 별도로 Sparse Bundle 을 Case Sensitive 로 포맷해 이 쪽에서 내용을 살펴보았더니 파일이 두 개 존재하는 것이 보였다.

Screen Shot 2015-06-01 at 9.20.05 PM

그래서 내용을 잘 처리하고 하나의 파일로 다시 만들어 해결했다.

대소문자를 구분하는 디스크 이미지를 만드는 방법

Disk Utility 에서 새로운 이미지를 만들도록 선택하고 이 이미지의 포맷을 Case-sensitive 계열로 선택해 만들면 된다. 생성된 파일을 실행(더블클릭) 하면 디스크로 동작한다.

15DCF2DB-C1B4-403B-B8CB-FFEDACCD0CD5

skitch

구글애널리틱스 IQ 시험 후기

스타트업에 있다보니 지표 측정이 중요하다. 아무래도 경력이 있다보니 어깨너머로 들은 지식들은 있지만 지표측정에 대해 정확히 안다고 이야기할 수는 없었다. 그렇다고 요즘 유행하는 강의를 듣기에는 비용부담이 만만하지 않았다.

GA 강사들의 프로필을 보다보니 Google 애널리틱스 공인 전문가 자격증(GAIQ)이 빠지지 않는다는 것을 알게 되었다. 아직은 회사규모가 지표만 분석하는 사람을 뽑기에는 어려움이 있어서 내가 공부하고 적용해보기로 마음먹었다.

그렇지 않아도 GA 와는 인연이 있다. 예전 KTH 에 입사해 처음 작업한 일이 바로 이벤트 측정 코드를 곳곳에 심는 일이었다. 그렇게 대략 200개 정도의 이벤트 코드를 꽂았다. 그런 이유로 GA SDK 레퍼런스도 꽤 여러번 봤었다.

시험 준비는 구글의 가이드 대로 Google Analytics Academy 의 Digital Analytics Fundamentals 강의를 보았다. (개편 후에 Google Analytics Platform Principles 까지 포함되었다고 알고 있다. )그리고 “구글 애널리틱스” 책을 한 번 다 읽었다. 강의는 영어로 되어 있지만 PDF 파일이 지원되고, 자막을 켜고 보아서 많은 도움이 되었다.

처음부터 끝까지 3번 정도 영상을 봤는데 주로 웹분석의 프로세스와 구글 애널리틱스의 기초적인 사용법에 대해 강의한다. 더 자세한 특색에 대해서는 구글 애널리틱스 도움말을 한 번 살펴본 것이 더 좋았다.

마침 사이트 런칭 직전이라 야근이 꽤 많았기 때문에 주말에만 시간이 조금 나서 대략 2개월정도 소요되었다. 동영상을 두번 보고 나서 구글의 테스트 센터에 가서 50달러를 결제하고 영어로 시험을 쳤다.

첫 시험은 사실 간만 본다는 마음으로 쳤다. 오픈북이 가능하지만 시험범위 등을 알아보는게 목적이어서 열어보지 않고 테스트를 봤고 예상대로 떨어졌다. 구글 애널리틱스의 도움말을 자세히 살펴봐야 한다는 것을 알게 됐다.

점수는 예상보다는 나쁘지 않았다. 70문제 80% 통과인데 74%로 아쉽게 탈락했다. 재시험은 2주 후에 가능했기 때문에 그 때까지 공부를 더 해야겠다고 생각했다. GAIQ첫시험 결과 74%로 불합격

어찌어찌 시간이 지나고 2주가 지났는데 짬이 안돼 1달만에 시험을 봤다.

그런데 구글 애널리틱스 시험이 기존 테스트센터에서 사라져서 당황했다. 아직 재시험을 볼 수 없게 된 것인지 싶었다. 그래서 다른 개인 계정으로 시험센터에 재접속해보니 그냥 시험이 테스트 센터에서 사라진 것이었다.

이제 GAIQ 시험 방식이 변경되어서 이제 시험을 무료로 볼 수 있다. 시험은 http://partners.google.com 에서 볼 수 있으며 이제는 한글 시험도 제공된다.

재시험을 준비하면서 이전에 공부했던 내용에 비해 조금씩 추가된 내용이 있는 것 같다는 느낌을 받았는데 아마도 이번 개편과 관련된 것으로 보인다. 물론 문제도 처음 시험볼 때 봤던 문제들이 많이 출제되었지만 못 풀어서 기억에 남았던 문제중 하나는 사라졌고, 처음보는 문제들도 추가되는 등 조금 달라졌다. 무엇보다 무료로 풀린게 속이 쓰렸다.

그리고 결과는 92% 합격이었다. GAIQ 인증서 시험을 보다보니 영어로 공부한 내용을 한글로 시험을 보려니 용어 등에서 어려움이 있었다. 강의자료들이 영어로 되어 있으니 되도록 그냥 영어로 시험을 보는 것을 추천한다.

이제 기본준비는 다 되었다. 하지만 이제야 대략 틀을 잡은 것 뿐이고 공부할 것이 무척 많다는 것도 알게 되었다. 웹분석은 전문분야는 아니어서 한계는 있겠지만 조금 더 관심을 가지고 알아보려고 한다.

VirtualBox – Vagrant Disk IO 성능개선 방법

  • VirtualBox 에서 제공하는 공유폴더 기능은 심각한 퍼포먼스 저하가 있다. 따라서 다른 방법으로 파일을 공유하는 것이 성능에 훨씬 유리하다.

    • 참고: Vagrant 개발자인 Mitchell Hashimoto 의 VM 내 파일시스템 성능비교 https://mitchellh.com/comparing-filesystem-performance-in-virtual-machines

    • 해결법 – shared folder 를 NFS 로 공유하기 또는 Rsync 로 공유하기 (Rsync는 Vagrant 1.5 이상에서 동작)

      • NFS 로 만드는 방법 간단요약 – 참고: https://coderwall.com/p/uaohzg https://docs.vagrantup.com/v2/synced-folders/nfs.html

        • Host only Adapter 추가 – Virtualbox > VM

        • private_network 행 추가 – Vagrantfile

        • shared_folder 에 type: nfs 추가 – Vagrantfile

      • Host OS 의 /etc/exports (NFS 설정 파일) 에 Vagrant 가 자동으로 행을 추가하기 때문에 vagrant up 도중 sudoer 패스워드 물어봄

    • Rsync 는 일반적인 Rsync 와 동일하게 동작한다. Guest 와 Host 양쪽에 rsync 명령어가 있으면 활용이 가능하다. 윈도우에서도 msysgit, MinGw, Cygwin 에서 Rsync 기능 제공 중

      • 다른 shared folder 타입들과 달리 rsync 명령어를 활용하기 때문에 Rsync 는 vagrant up 때 한번 싱크. 따라서 자동으로 파일 변화를 감지해 싱크를 맞춰주는 vagrant rsync-auto 를 사용해야 함.