[GN#70] Microsoft Clarity 와 Kotlin Multiplatform

2020-11-02 ~ 2020-11-08 사이의 주요 뉴스들
애플 아이폰과 구글 안드로이드로 모바일 시장이 급성장하면서, 오랫동안 PC를 장악해왔던 Microsoft가 몰락의 길을 걷고 있다는 얘기가 한참 나왔었습니다. 하지만 요즘의 MS는 예전과는 전혀 다른 모습이죠. WSL을 통한 윈도우의 리눅스 지원, VS Code로 개발자용 에디터 시장 50%를 넘게 점유하고, 기존 브라우저 엔진을 과감히 버리고 크롬 기반의 Edge 브라우저를 내놓고 오픈소스에 협업하며, GitHub을 인수해서 오픈소스에 대한 영향력도 커지고, 클라우드에 집중하면서 절대강자 AWS를 쫓아가는 2위 클라우드 사업자이기도 합니다. 그래서 요즘은 예전보다 더더욱 MS가 내놓는 제품들에 관심을 가지고 보게 되는데요. Clarity는 MS가 새로 내놓은 웹용 사용자 행동 분석 도구 입니다. 웹사이트 운영자라면 거의 필수로 설치하는 Google Analytics는 사용자가 '내 웹사이트에서 어떤 페이지들을 돌아다니는지' 자동으로 수집해줘서 이를 통해 기본적인 분석을 할 수 있게 하는데요. Clarity는 이 GA보다 좀 더 사용자 행동쪽에 집중해서 사용자들이 '내 웹페이지를 어떻게 사용하는지'를 볼 수 있게 해주는 도구 입니다. 어디를 클릭하고 어떻게 스크롤 하는지를 쉽게 추적해서 보여주고요. Session Playback 기능을 통해서 진짜로 사용자가 어떻게 내 페이지를 사용했는지를 재생해 볼 수 있게 해줘서, UX를 분석하는 데 큰 도움을 줍니다. 세션 플레이백 도구들은 비용이 꽤 비싼 것들이 많았는데, 로딩도 빠르고 트래픽 제한도 없는 무료도구로 제공하고 있으니 꼭 한번 설치해보시기 바랍니다.

Kotlin은 Java와 100% 상호 운용되는 JVM 기반의 언어입니다. 점차 인기를 끌면서 구글이 안드로이드의 공식 개발언어로 추가했고, 요즘은 안드로이드에선 자바 보다 코틀린이 더 많이 이용되는 추세입니다. Kotlin/Native로 네이티브 바이너리 컴파일이 가능해져 iOS/macOS/Windows/Linux 등 점점 더 다양한 곳에서 사용되고 있습니다. 거기에 추가로 Kotlin Multiplatform 프로젝트를 통해서 같은 코틀린 코드가 여러 플랫폼에서 공유될 수 있는 프로젝트도 현재 알파단계로 진행중인데요. 넷플릭스가 이미 자신들의 iOS/Android 앱을 코틀린 멀티플랫폼으로 전환했다고 발표를 해서 역시 기술의 넷플릭스 라는 생각이 들게 합니다. 또한 코틀린의 개발사 JetBrains도 코틀린 멀티플랫폼으로 구글의 Jetpack Compose를 데스크탑과 공유할 수 있는 JetBrains Compose 툴킷을 발표하여, 진정한 크로스플랫폼 개발언어/툴로 발전해가는 모습을 보이고 있습니다. 꼭, 안드로이드 개발자가 아니더라도 코틀린은 주목하셔야 할 것 같습니다.

'최신 데이터 인프라 이해하기'라는 시리즈 동영상을 유튜브에서 연재하기 시작했습니다. 긱뉴스에 올라왔던, a16z 의 'Emerging Architectures for Modern Data Infrastructure' 뉴스에서 'Unified Architecture for Data Infrastructure' 다이어그램에 들어 있는 단어 및 서비스들을 하나하나 쉽게 설명하는 영상인데요. 각 편당 10분 정도이니 살짝씩 들어두시면 요즘 데이터 인프라를 이해하시는데 도움이 될 것 같습니다. 가능하면 쉽게 설명하려다 보니 분량이 많아서요. 여러편으로 계속 올릴 예정이니 구독 과 알림설정 해두시면 편하게 보실 수 있습니다.


✓ 사내에서 슬랙을 쓰신다면 뉴스채널에 GeekNews SlackBot 을 추가하여 편하게 새 글을 받아보시고, 멤버들에게도 공유해주세요.
✓ 주위분들께 긱뉴스 위클리 - https://news.hada.io/weekly 를 추천해 주세요.
Twitter , Facebook 에서도 긱뉴스를 받아 보실 수 있습니다.
✓ 긱뉴스를 팟캐스트로 들어보세요 : 애플, 유튜브, 팟티, 팟빵, 구글, 네이버 오디오클립

매주 월요일 아침, 지난 일주일간의 GeekNews 중 엄선한 뉴스들을 이메일로 보내드립니다.


Microsoft Clarity, 무료 사용자 행동 분석 도구 공개

빠른 로딩에, 트래픽 제한도 없는 무료 도구. GDPR 준수
- Heatmap : 클릭/스크롤을 추적해서 페이지위에 시각화
- Session Playback : 방문을 단계별로 추적해서 스크롤,클릭까지 모두 재생가능
- Insight Dashboard : 사용자 행동에 대한 다양한 통계를 제공
ㅤ→ Rage Click : 사용자들이 클릭 가능한거 같아서 클릭하지만 동작하지 않는 부분들
ㅤ→ Excessive Scrolling : 원하는 자료를 찾기위해 위아래로 스크롤한 숫자

기능은 꽤 좋네요. 웹사이트에 Google Analytics 랑 같이 거의 필수 설치해야하는 분석도구로 자리잡을지도.

 
넷플릭스 Android/iOS 앱, 이제 Kotlin Multiplatform 기반

- 코틀린으로 작성한 비즈니스 로직을 Kotlin/Native로 컴파일해서 두 플랫폼 간에 공유
- 약 50%의 코드가 플랫폼하고 디커플링 되어있고, Android JetPack Compose 나 Swift UI 등 최신 기술적용에도 문제 없음
- 코틀린 멀티플랫폼은 Android Studio는 기본 지원하고, XCode는 xcode-kotlin 플러그인 사용
- 이렇게 코드 공유가 완성되어서, Kotlin/JS 트랜스파일러도 고려해보면 미래엔 더 유용할 것으로 예상

 
JetBrains Compose - 코틀린용 데스크탑 UI 툴킷

- 데스크탑 UI를 Declarative & Reactive 방식으로 개발
- Jetpack Compose 안드로이드용 코드를 공유 가능(Kotlin Multiplatform 이용)
- JVM기반 윈도우/리눅스/맥OS지원
- Skia 그래픽 라이브러리로 하드웨어 가속 렌더링

Flutter 이후로 Skia 주가가 점점 더 오르는 것 같군요...

요즘 멀티플랫폼 지원환경중에서 그래픽가속이 필요한 부분들은 대부분 Skia 기반으로 가는거 같아요.
2005년에 구글이 인수했는데.. 안 죽이고 나름 잘 키운듯 합니다 ㅎㅎ

 
유연하고 테스트 가능한 Go 코드 작성하기

- Go 언어는 개발자에게 코딩의 즐거움을 일깨워주는 언어로 서버 코드를 작성하는데 대단히 유용
- Go의 인터페이스는 단순히 메서드의 집합일 뿐이라는 점이 특이하며 인터페이스가 어느 패키지에 존재하는지도 제약이 없음
- 이를 이용하면 실제 클라이언트에 대한 아무런 의존성 없이 모킹을 사용하여 작성한 로직을 테스트할 수 있음
- Go 언어의 독특한 인터페이스 시스템 덕분에, 복잡한 방법론을 사용하지 않더라도 보다 효율적으로 좋은 코드를 작성 가능

 
D3 시각화로 만든 Git 컨셉 배우기

- Git 기본 명령들이 어떻게 동작하는지를 D3와 SVG를 이용한 애니메이션으로 설명
- commit / branch / checkout / reset / revert / merge / rebase / fetch / pull / push / tag
ㅤ→ 파일을 추가/스테이징 하는 부분은 생략
- 특정 실제 시나리오 몇개
ㅤ→ 로컬 브랜치를 오리진으로 리스토어 하기
ㅤ→ 프라이빗 로컬 브랜치를 오리진 최신본으로 업데이트 : git fetch & rebase
ㅤ→ 로컬 브랜치 삭제하기

 
Vasai - 웹 브라우저 화면 녹화하는 크롬 확장

- 클릭한번으로 현재 웹브라우저의 동작을 다 녹화해주는 크롬 확장
- 회원가입/로그인 필요없음
- 녹화시간 무제한
- 녹화된 동영상은 자체 URL이 나와서 공유가능 (공유기간 무제한)

녹화후 링크 나온걸 받아보니 webm 비디오를 아마존S3에다 올리는거 같은데 무제한에다 무료인게 신기하네요.
코드를 열어봐도 그냥 서버쪽으로 업로드만 하는거 같아서요.
개발사가 자체 호스팅 하는 것 같은데, 용량이 무제한이라면 뭔가 트릭이 있을듯 한데 어떤식으로 처리하는지 잘 모르겠습니다.
소스 : https://github.com/sambarrowclough/vasai-extention

 
Microsoft Lobe - 머신러닝 모델을 쉽게 만드는 앱

- 사진 등록 또는 카메라로 찍고 라벨링하면 로컬에서 머신러닝용 모델을 생성해주는 무료 맥/윈도우용 도구
- 속사모드 촬영으로 살짝 변화하는 여러장을 하나의 라벨로 등록
- 자동 생성된 모델로 바로 테스트
- CoreML, TensorFlow, TensorFlow Lite 용으로 Export 지원. 또는 Lobe 자체가 Local REST API를 지원
- 자동으로 적합한 아키텍처를 선택 : 현재는 Image Classification만 지원. Object Detection 과 Data Classification 지원 예정
- iOS(CoreML) , Android(TensorFlow Lite), Web(React + Tensorflow.js), Raspberry Pi 샘플 제공

10분짜리 투어 동영상을 보시면 이해가 쉽습니다. 설명 재미나게 잘 찍었네요.
https://www.youtube.com/watch?v=Mdcw3Sb98DA

 
Uno - 싱글 코드로 모든 OS를 지원하는 플랫폼

- .NET, C#과 WinUI 기반의 싱글 코드베이스로 모든 OS 지원
ㅤ→ iOS/Android/macOS 는 Xamarin Native
ㅤ→ WebAssembly 는 Mono-WASM
ㅤ→ Linux 는 Skia
- Uno 가 WinUI/UWP 앱을 윈도우외의 OS에서 실행하는 브릿지가 되는 구조
- Pixel-Perfect 한 UI 제공 (모든 플랫폼에서 픽셀단위로 UI가 일치)

아직 WASM쪽은 너무 느리고, 용량이 커서 실험적인 수준이라고 하네요.
오래전에 윈도우개발을 손뗀 입장에서는 .NET 으로 이런걸 생각해본다는게 재미난 시도인듯..

Uno platform 쪽에서 오픈소스로 공개되었던 윈도 10 계산기 (C++/CX) 를 C# Uno platform 으로 포팅, 여러 플랫폼에 공개한 바 있습니다.

Uno calculator라고 검색하면 나올겁니다. (android, iOS, 리눅스 snap store)
궁금해서 써봤었는데 안드로이드는 좀 느리고, 리눅스는 한글이 안 나옵니다. iOS는 빠르더라구요.

MS 가 자마린도 인수하고, Mono 프로젝트도 흡수(?)해서 크로스플랫폼 지원을 본격적으로 추진한지가 꽤 되었는데, 그에 비하면 C# 언어의 사용율도 그닥 높아지지가 않고...
사용이 되지 않는 것은 아닌데 그렇다고 인기있는 것도 아닌 애매한 수준이라 아쉽네요.
써본 개발 환경중에 C#/닷넷이 저는 언어든 환경이든 경험이 제일 좋았거든요. nuget 나온 후 초창기에는 패키지 생태계가 조금 별로이긴 했지만 지금은 나쁘지 않고요.

 
책 쓰는게 가치가 있었을까?

여기서 책쓰기는 소설이나 문학이 아닌 IT 전공 도서를 이야기 합니다.

이 글의 저자는 'Designing Data-Intensive Applications' ( 한국어 판 : 데이터 중심 어플리케이션 설계 ) 라는 책을 썼는데, 약 10만권이 팔렸습니다.

아래는 요약 번역본입니다. 로얄티 부분은 원문에 그래프가 있어서, 읽으신 후에 확인해주시면 좋을 것 같습니다.

- 재정적으로 그만한 가치가 있었나?

친구들과 밴드를 시작하고 락스타가 되길 원하는 거랑 비슷합니다. 어떤 게 히트할지, 실패할지 예측하기 어려우니 로열티는 0으로 잡는 게 좋습니다. 다만 제 경우에는 제정적으로 성공했다는 걸 알려서 기분이 좋네요.

로열티의 경우에는 온라인 엑세스는 25퍼센트 수익을 가지게 되었고, 인쇄판의 판매 수익의 10퍼센트. 번역본에 대한 수입은 5퍼센트를 받았습니다. 총 합산하여 47만 달러를 받았습니다.

다만 책 작업을 4년간 하였고, 2.5년은 풀타임과 동등한 시간을 투자한 걸 감안하세요.

- 로열티 이외에도

책의 성공에는 개인적인 홍보가 약간은 도움이 된 것 같습니다. 초반이 발표된 후에도 주요 컨포런스에서 50개 넘는 강연을 했고, 모든 강연에는 제 책에 대한 작은 광고가 포함되었었습니다. 마치 최신 엘범을 홍보하기 위해 투어를 떠나는 밴드처럼, 이런 일때문에 책이 널리 알려지게 된 계기가 되었다고 생각합니다.

강연과 책의 조합으로 대중들의 입지와 명성을 얻을 수 있었습니다. 컨퍼런스에서도 훨씬 더 많이 부르고요. 이 자체로는 수입을 창출하지는 못하지만, 이런 평판은 컨설팅 자문을 얻기에는 도움이 됩니다.

책 쓰기는 제정적으로 도전적이며, 제 성공도 비정형이라는 걸 다시 알려드리지만, 그래도 기술적인 글쓰기로 양질의 생활을 할 수 있다는 것은 고무적입니다. 확실하게 보장을 못하지만, 가능은 합니다.

- 책은 접근성이 뛰어난 교육이다

재정적인 면을 제외하더라도 책을 쓰는 건 좋은 점이 많이 있습니다.

전 세계 어디에서나 책은 접근할 수 있습니다. 한 사람이 평생동안 강연을 하더라도 10만명을 가르칠 수는 없고, 만약 1:1 교육이나 소그룹 교육이면 격차가 훨씬 더 크겠지만. 책은 수많은 사람들에게 쉽고 다가갈 수 있습니다.

- 보이는 것보다 훨씬 더 많은 가치를 만들어 낸다

즉, 독자가 책에 지불한 가격보다 이점이 더 많다는 점입니다. 한번 추정해봅시다.

지금까지 제 책을 산 10만 명중 2/3는 읽지 않았고, 읽은 1/3중 몇몇은 이 책에 있는 아이디어 중 일부를 실제로 적용할 수 있었고. 2/3은 그냥 흥미롭게 읽었다고 가정해봅시다. 즉. 10%, 만 명만 이 책을 유용하게 사용했다고 가정하는겁니다.

그럼 유용한 사용이 뭘까요? 제 책은 데이터 저장에 대한 아키텍쳐 결정을 내리는 것에 대한 책이고. 제대로 이해한다면 놀라운 시스템을 구축할 수 있습니다. ( 물론 잘못 이해하면 엉망이 된 시스템에서 고통스럽게 자기 자신을 돌아봐야하지만요. )

이걸 정량화하기는 어렵습니다만 책의 아이디어를 적용한 사람들이, 만약 안 읽었으면 한 달의 시간을 날렸을 결정을 피했을 거라고 가정하겠습니다. ( 실제로는 더 절약된다고 말하고 싶지만, 보수적으로 잡았습ㅂ니다. ) 즉, 이 아이디어를 적용한 만명의 독자는 약 만 개월, 혹은 833년의 시간을 절약할 수 있었습니다.

책을 쓰는 데 2.5년인데, 다른 사람들이 833년의 시간을 절약한다면 이득이 300배가 넘습니다. 평균 연봉을 10만 달러라고 가정하면 이는 8천만 달러의 가치 창출입니다. 독자들이 10만 권의 책을 사는데 약 400만 달러를 지출했으니, 창출된 가치는 소모된 가치보다 약 20배 더 큽니다. 게다가 이건 굉장히 보수적인 추정치입니다.

게다가 많은 독자들이 제 책을 읽어 면접에서 좋은 성적을 얻었고, 꿈에 그리던 직업을 얻었고, 가족에게 재정적 안정을 제공한다고 이메일과 트윗을 보냈습니다. 이런 가치는 어떻게 측정해야할지 조차 모르겠지만. 엄청나네요.

- 결론

기술 서적은 쓰기는 쉽지 않지만..

- 귀중하고 ( 사람들이 일을 더 잘할 수 있도록 도와줄 수 있습니다. )
- 확장 가능 ( 많은 사람들이 혜택을 누릴 수 있습니다 )
- 접근 가능성 ( 책을 사기만 하면 됩니다. )
- 제정적으로도 실행 가능함 ( 적당한 수준의 수입을 벌 수 있습니다. )

- 보이는 것보다 훨씬 더 많은 가치를 만들어 낸다

개인적으로 이 문단은 글을 쓰는 것에도 적용이 된다고 생각합니다. GeekNews가 없었으면 몇십년의 시간을 낭비했을 것 같은 느낌이...

URL주소부터 익숙해서 누군가 했더니..

제가 틀렸었어요. CRDT가 미래입니다 https://news.hada.io/topic?id=2962

위 글에서 거론되는 동영상의 주인공이자, CRDT 라이브러리 Automerge 의 개발자 마틴 클렙만 이군요..

 
리눅스 실행파일에는 무엇이 들어 있을까요?

'우리들의 실행 파일 패키지를 만들어 봐요' 라는 강좌의 첫 장, '리눅스 실행 파일에는 무엇이 들어있을까요?' 라는 글입니다.

이 글을 쓰게 된 계기는 어릴 적에 .exe 파일을 메모장으로 열어봤었는데 알 수 없는 글자들이 적힌 것들을 보고. '도대체 이게 뭘까?' 라고 고민하던 자신을 위해 썼다고 합니다.

어셈블리도 적혀 있고, C 코드도 몇 개 있지만 건너띄는 건 없이 모두 차근차근 설명해주셔서, 재미있게 읽을 수 있었습니다. 다만 분량이 꽤 많다보니 아직도 읽고 있네요 ;ㅁ;

 
무료 Profile Pic Maker

상반신 사진을 업로드 하면 AI로 인물 뒤의 배경을 지우고,
몇가지 기본 필터와 자동으로 생성된 수십개의 배경을 입혀서 프로필 사진을 만들어 주는 도구

- 수십개의 사진중 선택해서 다운로드
- 사진은 처리후 자동으로 삭제
- App 도 곧 제공예정

 
Kiro - 터미널용 UTF-8 지원 텍스트 에디터

- Rust로 개발된 Mode-less 미니멀 에디터
ㅤ→ 1K LoC 에디터였던 Kilo를 확장 재개발한 것
- 간단한 Syntax Highlighting / Incremental Text Search 지원
- Undo/Redo, UTF-8 지원
- 멀티 파일 편집 ( Ctrl-X/Alt-X로 버퍼 전환 )
- Ctrl, Alt 키를 활용한 단축키
- 맥/리눅스/윈도우(WSL)

 
YC의 미래 창업자를 위한 Startup School

- Y Combinator가 2017년부터 온라인으로 운영하는 프로그램. 현재까지 수강자 14만명
- 11월 9일부터 '미래 창업자'를 위한 커리큘럼이 새로 개설
- 아직 뭘 할지 결정하지 못한 사람들을 위한 32개의 글/동영상 코스

 
축구 경기용 AI카메라가 심판의 대머리를 공으로 착각

- 스코틀랜드 축구 클럽에서 사람 대신 AI에 의해 조종되는 Pixellot 카메라를 도입
- 실제 경기에서 대머리 심판이 등장하자 축구공 대신 심판의 머리만 따라가며 촬영한 동영상이 공개
- 코로나19 때문에 무관중으로 경기를 진행했는데 팬들은 실제로 심판 근처만 보게 되는 결과가..

https://bepro11.com 이라는 서비스에서 근무중인 개발자입니다. 유사한 서비스를 제공하고 있으며 국내를 포함한 다양한 국가에서 사용 중에 있습니다! :)

해당 유튜브 영상 : https://www.youtube.com/watch?v=9zoJP2FkpgU

유머소재로 쓰여서 기사에는 이름만 언급이 되었는데, 이 카메라는 Pixellot https://www.pixellot.tv/ 장비입니다.

4개의 카메라가 달린 장비로 자동으로 피사체를 추적하는 스포츠게임 중개용 카메라인데 요렇게 생겼습니다.
https://omegabroadcast.com/pixellot-s1-fully-automated-4-camera-sports…

2018년에 아마존 Re:Invent 갔을 때 우연히 Pixellot 개발담당 VP랑 식사테이블에 앉은적이 있어서, 너무 궁금해서 이거저거 물었던 기억이 납니다.
카메라 설치만으로는 수익이 안날듯한데, 당신들의 비즈니스 모델이 뭐냐고 물었더니 여러가지가 있는데 '구독모델'이라고 얘기를 하더군요.

프로경기가 아닌 아마추어 경기나 초/중/고/대학교 경기들에는 카메라맨이 없는 경우가 많은데요.
Pixellot 카메라 하나만 경기장에 설치해두면 알아서 다 찍고, 마치 카메라맨이 찍은것처럼 경기영상을 클라우드에서 생성해주는데
4개의 카메라가 다양한 화각으로 바꿔가면서, 공을 쫒아다니며 찍고 (축구는 저런 일이 생기기도 하겠습니다만..)
심지어 화면 하단에 스코어 및 경기 시간 표시까지 실제 경기영상처럼 삽입해서 자동으로 만들어줍니다.
그러면 초/중/고/대학교 선수 학부모들의 경우는 거의 대부분 구독을 하지 않을까요? 팬들도 마찬가지구요.

이게 농구경기를 중계하는 영상인데요. 카메라맨 없이 AI가 이렇게 만들어줍니다.
https://player.vimeo.com/video/434681366

그리고 이렇게 만들어진 스트림 자체를 구단이 직접 팬들에게 서비스 가능하도록 솔루션으로도 제공합니다.

국내 직장인야구/축구/풋살 쪽으로 도입하면 괜찮을까해서.. 아시아 디스트리뷰터 있냐고 물었던 기억이 나네요. ^^;

 
gron - JSON을 grep하기 좋게 만드는 도구

- JSON 데이터를 경로구조로 바꿔서 grep 했을때 위치를 쉽게 알 수 있음
- 추출한 경로구조 데이터만 다시 JSON으로 바꾸는 것도 지원
- 배열의 경우 인덱스도 표시

▶ gron "https://api.github.com/repos/tomnomnom/gron/commits?per_page=1"; | fgrep "commit.author"
json[0].commit.author = {};
json[0].commit.author.date = "2016-07-02T10:51:21Z";
json[0].commit.author.email = "mail@tomnomnom.com";
json[0].commit.author.name = "Tom Hudson";

▶ gron "https://api.github.com/repos/tomnomnom/gron/commits?per_page=1"; | fgrep "commit.author" | gron --ungron
[
ㅤ{
ㅤㅤ"commit": {
ㅤㅤㅤ"author": {
ㅤㅤㅤㅤ"date": "2016-07-02T10:51:21Z",
ㅤㅤㅤㅤ"email": "mail@tomnomnom.com",
ㅤㅤㅤㅤ"name": "Tom Hudson"
ㅤㅤㅤ}
ㅤㅤ}
ㅤ}
]

▶ gron testdata/two.json
json = {};
json.contact = {};
json.contact.email = "mail@tomnomnom.com";
json.contact.twitter = "@TomNomNom";
json.github = "https://github.com/tomnomnom/";;
json.likes = [];
json.likes[0] = "code";
json.likes[1] = "cheese";
json.likes[2] = "meat";
json.name = "Tom";

- Go 로 작성된 윈도우/맥/리눅스 바이너리. 의존성 없음.

 
AWS, Public Container Image Regsitry 공개 예정

- Docker Hub 의 무료계정에 대한 이미지 제한이 적용되기 시작
- 관련 문제를 피하기 위해 몇 주내로 새로운 공개 이미지 저장소를 오픈할 것
- 퍼블릭 이미지 저장시 매월 50GB 무료 저장공간
- 익명으로 이미지 풀 할경우 월 500GB 전송량 제공, AWS 계정 인증하면 월 5TB
- AWS내에서는 다른 AWS내에 호스팅된 이미지는 무제한으로 풀 가능

Docker ToS 변경 : 무료계정엔 Image 저장 제한 기간 생겨 https://news.hada.io/topic?id=2649

Docker의 삽질에 경쟁자들이 노 젓기 시작했내요.
GitHub도 얼마전에 Container Registry 오픈했죠.

도커 사의 존립 문제는 나온지 좀 오래된 얘기인 것 같은데 aws 나 큰 클라우드 회사에서 인수해야 하는 거 아닐까요...

 
DeepNote - 협업을 위한 데이터 사이언스 노트북

- Jupyter 기반이지만 클라우드상에서 실시간 협업가능(URL로 즉시 공유)
- 코드 자동완성/변수 탐색기/단축키/코맨드 팔렛트 등의 개선된 UI
- GitHub, S3/GCS, Spark, Postgres, BigQuery 등과 연동
- Versioning / 코드리뷰 지원예정
- 개인(3명 협업자 가능) 무료 (월 750시간)

2분짜리 데모 https://www.loom.com/share/b7e05ecca78047c2a2f687d77be8ecea

 
좋은 PM을 위한 MVP 프라이머

1. Minimum Viable Product의 목적 : 고객과 시장을 빨리 이해하자
2. MVP의 핵심 개념
- 'Miminum-최소한'의 기능세트가 아닌 '핵심가치'
- 학습목적으로만 'viable-실행가능, 생존가능'
- 'Product-제품/서비스' 가 아니라 '실험/경험'
3. 좋은 MVP를 만드는 방법
- 정확한 개념에 집중
- 핵심가치 전달이 최우선

 
Presenta Lib - 웹 프리젠테이션 JS 라이브러리

- 훌륭한 웹용 슬라이드를 만들어주는 라이브러리
- 사용하기 쉬운 설정 객체, 자동화
- Scene 단위로 내부의 블록들을 편집
ㅤ→ 블록 : 마크다운, 이미지, 비디오, 임베딩(프레임), 그룹(블록을 여러개 합치기) 등
- 마크다운 to 슬라이드 에디터로 실시간 편집 지원
- 트랜지션 : hSlide,vSlide,fadeIn,SlideOver
- 플러그인 : 유튜브, ChartJS, HighlightJS(코드 구문 강조), Swiper(터치 제스쳐), Console Notes(발표자 노트)

 
Stories for VS Code

- 인스타그램의 스토리 기능을 VS Code 개발자용으로 만든 확장
- 자신의 코딩화면 / 코드 스니펫을 30초까지 녹화해서 다른 개발자들과 공유
- 다른 개발자들 스토리를 보고 해당 화면에서 코드를 복사하는 것도 가능

그냥 이런게 있다면 어떨까? 해서 개인 개발자가 만든건데 재미난 시도인듯 합니다.
개발자가 직접 소개하는 영상을 참고하세요
https://www.youtube.com/watch?v=ApR-kNXxLUs

 
고객 Live Chat 도구 비교

- 웹 사이트 방문자와 실시간 대화를 하게 해주는 도구들 비교
- Chatwoot, Intercom, Drift, Olark, Freshchat, LiveChat, Crisp
- 실제로 몇달간 A/B테스트를 통해서 고객과 대화해본 결과
- 추천은 Chatwoot : 깔끔한 디자인, 편리성, 훌륭한 API, 기능 제한없는 풀 오픈소스(유료 호스팅버전도 제공)

- Intercom : 훌륭하지만 너무 비쌈
- Drift : 인터컴만큼 유명하지만, 기술적 이슈들이 있음
- Olark : 디자인이 너무 올드
- Freshchat : 현대적이고 직관적인 UI를 가졌지만, Freshworks 라는 큰 제품군의 일부여서 생기는 문제들이 있음
- LiveChat.com : 스타트업에는 잘 어울리지 않음
- Crisp : 최신 서비스이고, 2명 에이전트까지는 무료. 일관성이 없고 느린 부분이 있어서 고객 경험을 해치는 경우 발생
- Tawk.to : 비교한 서비스중 최악. 방문객에게 사이트가 아마추어 처럼 보일수 있음

저는 Olark 한동안 블로그에서 달아뒀었는데, JABBER/XMPP 지원해서 괜찮더군요. 지금은 제거하긴 했습니다만 😄😄

비슷한 오픈소스로 Papercups 도 많이 추천하더군요.
오픈소스를 선택한다면 Papercups 와 Chatwoot 중에 고르면 될듯 합니다.

Papercups - 오픈소스 실시간 고객 채팅 도구 https://news.hada.io/topic?id=2702

 
Adobe XD for VS Code

- 어도비가 직접 만든 VSCode용 XD 확장
- Design System Package(DSP)를 VSCode에 프리뷰 & 사용 가능
- DSP를 VSCode내에서 바로 생성 가능
ㅤ→ 문서,디자인토큰,컴포넌트 생성 및 편집 지원
ㅤ→ Creative Cloud Library 를 통해서 컴포넌트들은 임포트 가능

Design System 은 개발자와의 협업이 정말 중요한데, 이걸 정확히 캐치한 확장이네요.
경쟁제품인 Figma 의 VSCode 확장은 개인이 만들어서 1년넘게 업데이트가 없는데, Adobe 는 직접 만드니 좀 더 지원이 강력할듯 합니다.
Figma x VS Code https://marketplace.visualstudio.com/items?itemName=idered.figma

 
TIOBE 순위에서 Python이 처음으로 Java를 이기고 2등에 올라

- 2020.11 기준. 지난달 C > Java > Python 에서 순위 역전
- C > Python > Java > C++ > C# > VB > JS > PHP > R > SQL
- R / Perl / Go / T-SQL 이 순위 대폭 상승
- Rust 는 25위

 
Raspberry Pi 400 : $70 짜리 데스크탑 공개

- 79-Key 키보드에 Pi 4를 장착한 키보드 사이즈 데스크탑
- 쿼드코어 ARM v8 64bit, 4GB LPDDR4
- 듀얼 디스플레이(micro HDMI X 2)
- 기가빗 이더넷,802.11b/g/n/ac, 블루투스5
- USB 3.0 2개 , USB 2.0 1개
- 40-pin GPIO, MicroSD
- $100 키트 : 16GB microSD, 공식 마우스 와 USB-C 전원어댑터, micro-HDMI to HDMI 케이블, 라즈베리파이 초보자용 책 포함

프리뷰 한 사용자의 상세 분해 및 벤치마크 글
https://jeffgeerling.com/blog/2020/…

 
유튜브를 '읽는' 방법

- Youtube에서 자막을 추출해서 읽기 좋은 텍스트로 만드는 팁
> youtube-dl --output "captions.%(ext)s" --write-auto-sub --skip-download [비디오링크]
> sed '/-->/d' captions.en.vtt | sed '/<c>/d' | sed '/^[[:space:]]*$/d' | uniq > captions.txt