[GN#88] 스타트업 CTO를 위한 자료 모음

2021-03-08 ~ 2021-03-14 사이의 주요 뉴스들
스타트업 CTO를 위한 자료 모음

스타트업의 CTO는 어떤 일을 해야 할까요? 너무 할 일이 많다 보니 단순히 "기술과 관련된 모든 일"이라고 애매모호하게 말하기도 합니다만, 이 표현마저도 뭔가 부족하다고 생각이 들거든요. 저 개인적으로 스타트업의 CTO는 "CEO가 하는 최종 의사결정을 제외한 모든 것"에 신경을 써야 하는 사람이라고 생각합니다. 혁신과 성장이 전부인 스타트업에서는 CTO가 신경 쓰지 않아도 되는 부분은 없을 것 같아요. 이번 주에 가장 많은 인기를 끌었던 "Awesome CTO" 는 CTO들이 봐야 할 것들을 정리해 놓은 리스트 입니다. 제가 추가로 긱뉴스에 올라왔던 CTO 관련 자료들도 링크해 두었으니 참고하시기 바랍니다.

서비스에서 검색은 사용자가 원하는 정보에 가장 빠르게 도달하게 해주는 정말 중요한 기능인데요. 검색 결과가 잘 나오도록 하는 것도 중요하지만, 결과에 도달하기 전에 검색 프로세스 자체를 쉽게 도와주는 자동 추천 기능도 사용자 경험에 큰 역할을 하게 됩니다. "자동 추천(Autosuggest) 기능의 사용자 경험 설계하기" 글은 실제 스크린샷을 통해서 검색 경험을 훌륭하게 만드는 방법을 보여주고 있으니, 검색 기능 구현할 때 참고하시기 바랍니다. 댓글에 같이 기록해둔 "한글 초성 검색도 지원하는 퍼지 문자열 검색"과 "국내 스타트업들이 정리한 추천 기술 포스팅 20선" 링크도 꼭 보시면 좋을 것 같아요.

중국의 모바일 환경을 이야기할 때마다 등장하는 "슈퍼 앱". 앱 하나에서 다양한 외부 앱들을 "미니 앱"이라는 작은 웹 앱 형태로 실행하는 형태인 슈퍼 앱은 앱 하나로 모든 것을 할 수 있다는 장점이 있어서, 위챗/알리페이 같은 앱들이 중국 내에서 핵심 서비스로 자리 잡는데 큰 역할을 했습니다. 개발자 관점에서 이 미니 앱들에 대해서 개론부터 개발 환경 및 표준화 시도등을 정리한 글이 올라왔으니 참고하시기 바랍니다. 물론 우리가 잘 알고 있는 카카오톡과 라인도 이미 슈퍼앱화 되어가고 있긴 한데요. 카카오톡은 자체 브랜드들을 묶는 쪽에 머무르는 것 같고, 라인 역시도 아직 써드파티가 마음대로 참여하는 위챗 수준까지는 활성화가 안 된 것 같습니다.


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

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


Awesome CTO - 스타트업 CTO를 위한 자료 모음

- 일반 : CTO 의 정의, 할일
- 채용 및 인터뷰
- 관리 : 팀, 매니저, 리딩
- 핸드북 : 아틀라시안, 밸브, 베이스캠프, 깃랩
- 개발프로세스 : Scrum/Agile, CI/CD, Git, 플래닝, Crisis
- 소프트웨어 아키텍쳐
- 기본 기술 : JS, 머신러닝, 보안, 클라우드
- 스타트업
- 제품 : 제품관리, PM,
- 그외 관련자료

CTO 업무에 관련된 다른 글들
- CTO/VPE 가 첫 90일동안 해야할 일 https://news.hada.io/topic?id=1686
- Director of Engineering 은 무슨 일을 하나요 ? https://news.hada.io/topic?id=2029
- 뉴욕타임즈 CTO의 4년 회고 https://news.hada.io/topic?id=2016
- Segment CTO의 "B2B제품을 판매하는 법" https://news.hada.io/topic?id=2104
- SaaS CTO 보안 체크리스트 [27p PDF] https://news.hada.io/topic?id=2509

추가로 읽어두면 좋은 것들
- Toil 없애기 - Toil 이란 무엇인가 https://news.hada.io/topic?id=388
- 좋은 회사 기술 블로그는 어떻게 운영되는가 https://news.hada.io/topic?id=1698
- 신규입사자를 잘 온보딩 시키는 방법 - How to onboard a new hire https://news.hada.io/topic?id=233
- CEO를 위한 운영 및 내부 커뮤니케이션 전략 https://news.hada.io/topic?id=1156

 
자동 추천(Autosuggest) 기능의 사용자 경험 설계하기

#1 범위 지정 기능 추가
#2 자동 완성을 상위 추천으로
#3 고급 검색 지원
#4 최근 검색어 보여주기
#5 자동 추천 항목은 10개 이하로 (스크롤 하지 않게)
#6 추천을 그룹별로 묶기 (헤딩/라벨/메타데이터 등으로)
#7 대화형 검색 경험 추가
#8 오타 자동 교정 제안 및 이전 검색 결과 삭제 기능 제공

- 한글 초성 검색도 지원하는 퍼지 문자열 검색 https://news.hada.io/topic?id=3631
- 추천시스템 기술 포스팅 20선 https://news.hada.io/topic?id=2385
- typesense - 오픈소스 검색 엔진 https://news.hada.io/topic?id=3369
- 사람들은 구글 검색을 어떻게 사용하는가 https://news.hada.io/topic?id=2771

 
Mini Apps - 웹 개발자를 위한 미니앱 개론

- Mini App : 웹 기술로 만들어졌지만, 브라우저가 아닌 슈퍼 앱 내에서 실행되는 앱
ㅤ→ 슈퍼앱 : WeChat, Alipay, Baidu, Douyin 등
ㅤ→ 보통 4MB 이하의 크기
ㅤ→ 2D 바코드를 이용하거나 슈퍼앱 내에서의 검색으로 Discovery
- 슈퍼앱들이 자체 에코시스템을 구축
ㅤ→ UI 가이드, 개발환경(DevTools 및 Project Wizard), API(ID,결제,소셜그래프,클라우드..) 등을 제공
ㅤ→ 일반 HTML보다는 자체 마크업들을 사용 : WeChat's WXML, Alipay's AXML, Baidu's Swan Element, ByteDance's TTML 등
ㅤㅤㅤ대부분 Vue.js 와 비슷 (MVVM)
ㅤ→ Web Component Library 제공
- WeChat 은 8.3억 월 사용자, Alipay 는 4억 월 사용자
- W3C MiniApps Ecosystem Community Group 을 통해서 표준화 시도중
ㅤ→ 위 슈퍼앱 회사들 대부분과 Intel, Facebook, Google 등이 참여
ㅤ→ URI Scheme, Lifecycle, Manifest, Packaging, Widget 등

- BMW 도 Tencent 와 협력해서 WeScenario 라는 자동차용 미니앱을 발표
- WeChat 은 모바일을 넘어 Desktop 까지 미니앱을 확장
- Line, Google Spot, Snapchat Minis 등도 비슷하지만 스페셜 웹뷰를 사용

- 미니앱 오픈소스 프로젝트 : kbone, WeUI, Omi/Omiu, WePY, vConsole, weweb

 
MIT 테크리뷰 선정, 2021년 가장 주목할 10대 미래 기술

- 메신저 RNA(mRNA) 백신 : 다양한 감염병에 대항할 백신
- GPT-3 : 기계 학습을 사용하여 제작한 언어 모델 중 가장 인상적
- TikTok 추천 알고리즘 : For You 피드가 사람들이 유명해지는 방법을 바꿈
- 리튬 금속 배터리 : 더 빠르게 충전가능하고, 주행거리를 80%까지 늘림
- 데이터 트러스트 : 개인정보를 수집/관리하는 신뢰할수 있는 법적 실체
- 친환경 수소 에너지 : 태양열과 풍력의 비용하락으로 더 저렴하게 청정 수소를 생산 가능
- 디지털 컨택 추적 : GPS + Bluetooth를 이용한 접근자 추적
- 초정밀 위치정보 기술 : 중국 BeiDou, GPS III
- 원격의 시대 : 헬스케어와 교육
- 다재다능한 AI (Multi-skilled AI) : 인공지능이 보고, 듣고, 느끼고, 소통할 수 있다면

MIT Tech Review 한국어판이 열렸군요. 이메일 / RSS Feed 로 구독 가능합니다.

 
소비자 기술 트렌드 2021 [203p 슬라이드]

유럽의 소비자 기술 VC인 Heartcore 캐피탈의 보고서
- Retail : D2C/Shopify의 성장, 홈 쇼핑의 귀환(쇼핑호스트가 인플루언서), Livestreaming
- Food : 식료품이 드디어 온라인으로, 원스톱 숍이 아닌 Unbundling, Dark-store 모델이 도시에선 승리할 것, 레스토랑 체인들이 직접 Delivery 브랜드 시작
- Finance : Crowd, SPAC, NeoBanks, 모든 회사가 핀테크 컴퍼니가 될수 있다
- Insurance : 보험을 밑바닥부터 재설계, Monoliners vs Bundlers, Embedded Insurance
- Travel : 아웃도어 & 어드벤처 여행, Airbnb의 전문화
- Housing : WFH, Digital Nomads
- Mobility : E-Bikes, EV, 완전 자율운전은 아직 멀었음
- Media : TikTok 의 급성장, 기존 소셜미디어들이 경쟁자를 빠르게 베끼는 중, 버티컬 소셜 네트웍의 부상
- Gaming : 모바일 게임의 성장세 계속, 소비자들이 같이 게임을 만드는중(Roblox), 게임에서 커뮤니케이션이 중요해짐
- Health : 소비자들이 점점 더 원격의료를 수용중, 원격의료가 옴니채널로 진화, 멤버십 기반 케어플랫폼의 부상, 웨어러블들이 기존 제품/서비스와 연동
- Education : 아직 디지털화할 부분이 많음, 판데믹으로 급성장중, 기존 대학들이 이에 맞게 변화해야함. "After school there is more school"
- Crypto : 암호화폐가 모든 소비자 카테고리를 재정의 할수 있음, DeFi, NFT

다크스토어 : 일반 고객은 받지 않고, 온라인 배송기사만 방문하는 초대형 매장형 물류센터
국내에서는 배민의 B마트 같은 것을 의미합니다.

 
Tagify - 태그 입력 컴포넌트 JS라이브러리

- Input/Textarea 에 Tag 입력을 지원
- Vanilla, React, Vue, Angular 지원
- 일반 문자열과 혼합 사용 가능
- 더블 클릭해서 기존 입력한 태그 수정
- 자동 완성, 자동 추천
- 여러개의 태그 붙여넣기
- fuzzy 검색을 위해 alias 지정 가능
- Single Value 모드: Select와 비슷하지만 텍스트 입력도 가능
- whitelist/blacklist
- 다양한 이벤트 지원
ㅤ→ change,add,remove,invalid,input,click,dblclick,keydown,focus,blur
ㅤ→ edit:input, edit:beforeUpdate, edit:updated, edit:start, edit:keydown
ㅤ→ dropdown:show, dropdown:hide, dropdown:select, dropdown:scroll, dropdown:noMatch

 
Animated Engines

- 여러 엔진들이 동작하는 모습을 애니메이션으로 보여주고, 단계별로 상세 설명
ㅤ→ Otto의 4행정 기관 (4-Cycle 엔진): 현대의 거의 모든 자동차들
ㅤ→ 루돌프 디젤의 Diesel 엔진 : 자동차,트럭과 보트
ㅤ→ 2행정 엔진 : 전기톱, 제트스키, 경량 오토바이, 모형비행기
ㅤ→ Atkinson 엔진 : 효율 좋은 하이브리드 엔진. 소나타/아이오닉 하이브리드 및 펠리세이드, 프리우스, 메르세데스 ML450 등
ㅤ→ 제트 추진(Jet Propulsion) 엔진 : 비행기
ㅤ→ 증기 기관 : 1800~1950년대의 기차
ㅤ→ Watt/Grasshopper Beam 엔진 : 공장의 기계 구동
ㅤ→ Stirling 엔진 : 1816년에 개발된 간단한 엔진. 모든 열을 다룰수 있기 때문에 대체연료, 태양광 발전, 지열 발전에 사용 가능

* 2000년도에 만들어져서 아직까지 운영되는 사이트

 
Zero Data App

- 사용자가 데이터를 완전히 소유/제어하는 앱 모음
ㅤ→ 저장 위치 선택가능
ㅤ→ 데이터는 앱이 사용 중단되더라도 언제나 접근 가능해야함
- No 캡챠, No 스팸, No 회원가입, No 패스워드, BYOI(Bring Your Own Identity)
- 유연한 연동을 위해 오픈 프로토콜 사용

Zero Data 앱을 만들기 위한 기술/아키텍쳐 들도 소개
- Autonomous Data
- remoteStorage
- Solid
- Unhosted
- Fission

 
Image-Table-OCR - 표 이미지를 CSV로 변환

- PDF 또는 이미지에서 테이블 데이터를 추출해서 CSV로 만들어주는 오픈소스
- Python + OpenCV + Tesseract 코드
- PDF안의 이미지는 Poppler + ImageMagick 으로 모두 각각의 이미지 파일로 추출해서 한번에 처리 가능 (배치 스크립트)

테이블에 숫자만 있는 경우엔 아래 코드가 영역까지 선정해서 뽑아낼수 있어서 더 편할듯 합니다.

image2csv - 숫자 표 이미지를 CSV로 변환하는 오픈소스
https://github.com/artperrin/image2csv
- Python + OpenCV + Tesseract 코드
- 자동 그리드(표) 인식
- 수동 인식시 윈도우에서 마우스로 영역 선택

 
Authelia - 오픈소스 SSO/2FA 서버

- Single-Sign-On, 2-Factor Auth 등 인증/권한관리 기능을 제공하는 웹 포털 오픈소스 서버
- nginx/Traefik/HAProxy 같은 리버스프록시와 함께 동작
- 스탠드얼론,Docker,K8s 등에 설치 가능
- 다양한 2FA 지원
ㅤ→ 하드웨어 보안키(Yubikey)
ㅤ→ 시간기반 OTP(Google Authenticator)
ㅤ→ 모바일 푸시(Duo)
- 이메일 인증 및 암호 재설정
- 다중 시도시 차단 기능
- 서브도메인/사용자/네트웍등에 대한 상세 접근 제어
- 쿠버네티스 ingress-nginx 컨트롤러 호환

- OpenID Connect Provider (OAuth)는 지원 예정(로드맵 1번)

 
Zola - 빠른 정적 사이트 생성기 (SSG)

- Zola - Fast Static Site Generator
- Hugo 의 대체재로 사용 가능
- Built-in Features, Single Binary
- Rust 로 작성
- Hugo 에서 사용하는 Go Template 때문에 화나서 이 프로젝트를 만들었다는 이야기가 있음
( Hugo gets <middle-score> for the template engine because while it is probably the most powerful template engine in the list (after Jinja2) it personally drives me insane, to the point of writing my own template engine and static site generator. Yes, this is a bit biased. )

 
Sonic - 빠르고 가벼운 Schema-less 검색 백엔드

- 적은 메모리에서 실행되는 Elasticsearch 대체제 오픈소스(Rust)
- 문서 인덱스가 아닌 ID 인덱스. 검색 결과로 ID를 리턴
- 자동 완성, 검색 오타 교정 지원
- 간단한 프로토콜로 여러 개발언어 지원
ㅤ→ Node,PHP,Rust 공식 지원
ㅤ→ Python,Go,Java,.NET 등 커뮤니티에 의한 지원
- 유니코드 호환, 80개 언어 지원

비슷하게 Meilisearch 라는 프로젝트도 Rust 로 만들어졌고 빠르더라구요.
Sonic 은 ID 인덱스만 저장하는 반면 Meilisearch 는 전체 도큐먼트를 저장하구요.
ElasticSearch 대체제로는 Meilisearch 쪽이 좀 더 가까운듯 하고, Sonic 은 특정한 경우에 훨씬 경량 버전으로 대체할 수 있을 것으로 보입니다 :)

검색엔진을 운용해본 적이 없어서 확신은 못 하겠는데, 한국어 검색엔진은 형태소 분석기랑 같이 쓰이는 경우가 많지 않은가 싶습니다.

CJK 형태소 분석기 측면에서는 Sonic 은 지원이 없고, MeiliSearch 쪽은 최근 버전에 중국어 형태소 분석기인 Jieba 를 사용할 수 있도록 추가되었다고 알고있습니다. 한국어는 아직이었던 거 같네요.

 
Find3 - 고정밀도 실내 GPS 오픈소스

- 블루투스, WiFi, 자기장 등을 이용해서 실내에서 내 위치를 알아내는 Indoor GPS 오픈소스
ㅤ→ 홈 오토메이션, 스마트폰/노트북의 실내 위치 확인, 동시에 다수 기기의 위치 트래킹
- 패시브 스캐너 내장
- 10개의 머신러닝 Classifier를 이용한 메타 학습
- WebSocket + React를 이용한 클라이언트
- SQLite를 이용한 데이터 저장서버
- MIT 라이센스

* FIND : The Framework for Internal Navigation and Discovery

 
Spring Native - Beta 런칭

- JVM 없이 단독으로 실행이 가능한 Spring
ㅤ→ 즉각적인 실행, 최고 성능
ㅤ→ 낮은 메모리 소비
ㅤ→ Spring Cloud Function을 통한 Serverless

- GraalVM 으로 Native Image로 컴파일
ㅤ→ Substrate VM 이라고 부르는 작은 런타임 기반 (JDK에서 필요한 부분만 가져다 정적 링킹)
ㅤ→ Java 와 Kotlin 지원
- VMware Tanzu 같은 쿠버네티스 플랫폼과 잘 어울림

 
인터넷 아카이브, 논문 검색 엔진 IA Scholar 오픈

- 2500만개 이상의 연구 논문들을 Full-Text 검색 가능
- 18세기 저널들의 스캔본 부터 서비스 중단된 Open Access 저널들의 자료, 그리고 웹에서 크롤링한 자료들을 합친 것
- fatcat 기반으로 구축 : 벌크 메타데이터 덤프, 읽기/쓰기 API, CLI 도구 등 제공
ㅤ→ fatcat-scholar 도 오픈소스로 공개 : https://github.com/internetarchive/fatcat-scholar

Internet Archive Scholar : https://scholar.archive.org/

 
구글 Stadia, State Share기능으로 공유한 게임 스크린샷을 플레이 가능

- 게임의 특정 장면/영상을 녹화해서 공유하면, 그걸 클릭해서 누구나 (그 게임을 소유한 사람은) 같은 시점을 플레이 해보는 기능
- 남의 게임플레이를 보는 것만이 아니라, 거기서 부터 자신이 게임을 계속 진행하는게 가능
- PixelJunk Raiders 는 로그라이크 게임이라 레벨이 계속 생성되는데, 공유하면 그 레벨을 그대로 받아서 플레이 가능
- 비동기 멀티플레이어 기능처럼 동작해서, 다른 사람의 게임 State 에 접근해서 무기나 아이템을 준 다음 다시 State로 공유하면 도움을 줄 수 있음
- 마치 Death Stranding* 처럼 플레이어간 비동기 소통이 가능
- 현재는 PixelJunk , Hitman Trilogy 등 몇개의 게임만 State Share 기능을 지원중

Google Stadia State Share https://support.google.com/stadia/answer/10266905?hl=en

* Death Stranding : 메탈 기어 제작자 Kojima Hideo 가 만든 택배 배송 게임. 비동기 멀티플레이어 기능을 통해서 다른 사용자가 월드에 한 행동(주요 통로에 사다리를 놓아주거나 로프를 걸어주는 등)들이 서버에 업로드 되어 나중에 도움을 받을 수 있게 되고, 그런 구조물들에 좋아요를 누를 수 있게 된다.

"이거 좀 봐" 가 "이거 함 해봐", "여기 좀 도와줘 봐"가 되는 세상이군요.
클라우드 게임의 장점이 뭐 있을까 했는데, 이건 정말 좋은 거 같네요.

 
Wikipedia 전체 다운로드 받기

- Wikimedia Foundation 이 전체 위키 데이터를 다운로드 받을수 있게 제공
ㅤ→ wikitext 소스파일 + XML로 정리된 메타데이터
ㅤ→ SQL 포맷으로 정리된 Raw 데이터베이스 파일도 제공
ㅤ→ 약 한달 또는 두달단위로 새로운 덤프파일 생성
- 한국어 위키백과 전체
ㅤ→ 현재 기준 백과사전 문서 53만개, 전체 문서 250만개
ㅤ→ https://dumps.wikimedia.org/kowiki/20210301/

 
Bitwarden Send - 중요정보를 안전하게 공유하기

- 암호, 문서, 인증서등의 정보를 E2E 암호화하여 안전하게 다른 사람과 공유하는 서비스
- 최대 접근 횟수, 자동 삭제 시간 설정 가능
- 웹 Vault/모바일/브라우저 확장/CLI 모든 Bitwarden Client 에서 사용 가능

 
kz(카자흐스탄) 의 이모지 도메인 300개로 이메일 서비스 만든 후기

- id@🚀.kz 와 같은 이메일 주소를 만들어주는 서비스 Mailoji
- 전세계 TLD 중 13개만 이모지 도메인을 등록가능
- 대부분의 Registrar들이 이모지 도메인은 검색도 안되는데, 카자흐스탄은 이모지 도메인 검색 및 등록이 가능
- kz에서 150개의 도메인을 사서 등록하고 TikTok으로 홍보 시작해서 등록 사용자가 늘어나자, 300개까지 추가로 등록
- 아직은 등록 이메일 주소가 많지 않아서 도메인 등록 비용 수준도 안되지만 재미난 시도였다고
- 🚀.kz 📷.kz 💻.kz 💡.kz, 👑.kz, 🌈.kz, 😎.kz 와 같은 이메일 주소를 가질수 있음

- https://🚀.kz/ 주소는 https://xn--158h.kz/ 와 같습니다.

 
MIPS, 자체 아키텍처를 버리고 RISC-V로 전환

- RISC 아키텍처에 큰 영향을 주었던 MIPS Technology가 더이상 MIPS 프로세서를 설계하지 않고, RISC-V 진영에 합류
- MIPS사는 여러 회사의 손을 거쳐오다 AI 스타트업인 Wave Computing이 인수했으나, Wave가 작년에 파산(챕터11 파산보호 신청)
- 이번에 구조조정을 통해서 MIPS아키텍처를 버리고 새로운 회사가 되면서 챕터11 파산보호를 탈피
- 재구성된 MIPS사는 이제 오픈소스 RISC-V 표준 기반으로, 8세대 아키텍처를 개발중 (7세대까지는 MIPS 아키텍쳐)
ㅤ→ 8세대는 기존 MIPS와 호환성은 없으며, 이름만 MIPS를 유지함
ㅤ→ 7세대 이전 MIPS 라이센스 계약은 유지되므로 MIPS칩 생산자들은 계속 생산 가능하지만, 사후지원이 계속될지는 분명하지 않음

* MIPS 아키텍처는 실리콘 그래픽스, 윈도 CE, 시스코의 라우터, 소니 플레이스테이션 1&2, 닌텐도 64 등에 쓰였음

MIPS 라는 단어가 가지는 의미가 컸었는데, 이렇게 시장이 흘러가는 군요

- M1은 RISC-V의 상승을 예고한다 https://news.hada.io/topic?id=3447

이런 저런 상황들이.. 정말로 RISC-V가 엄청 성장하게 될지도 모르겠네요.

 
SQLite 3.35 의 새 기능

- Math 함수 : cos,sin,tan,log,ln,exp,floor,mod,pi,pow,power,radians,sqrt등
- 컬럼 삭제 : ALTER TABLE DROP COLUMN
- DELETE, INSERT, UPDATE 시 처리된 Row들 RETURNING 으로 받는게 가능
- Materialized CTEs : CTE실행시 쿼리 결과를 저장해서 같은 쿼리 안에서 재계산 안하게