[GN#126] 대규모로 웹 스크래핑하기

2021-11-29 ~ 2021-12-05 사이의 주요 뉴스들
월드와이드웹(WWW)이란 단어는 이제 사실 URL 앞에 있는 www에서나 보이고 실제로는 '웹'이라고만 지칭하게 된 것 같습니다. 누구나 쉽게 사용 가능한 웹 기술의 장점 때문에 폭발적으로 발전하면서 엄청 많은 사이트가 생겨났고, 그로 인해 점점 더 많은 정보가 웹에 기록되고 있습니다. 비정형적인 정보들이 웹에 기록되다 보면 구조화된 데이터가 아닌 경우가 많고, 이런 정보들이 여기저기 산재해 있지만, 기술적인 접근을 위해서는 우리가 직접 수집하고 정제하는 작업을 거치게 됩니다. 특히나 세계 최대 규모의 스파이더 봇들을 운영해서 웹을 크롤링하는 구글의 경우는 정말 많은 데이터를 담고 있어서 많은 사람이 구글 검색 결과를 스크래핑해서 저장하기도 하는데요. 서비스 운영자인 구글 측에서는 당연히 이런 대규모 검색 시도에 대해서는 차단을 하게 됩니다. 그동안 구글 검색을 월 수백만 단위로 하는 경우 어떻게 하면 차단을 회피할 수 있을지에 대해서는 다양한 시도들이 나왔는데요. 이 웹 스크래핑에 관심 많은 Nikolai Tschacher 라는 개발자가 그동안 자신이 대규모 스크래핑을 어떻게 개선해 왔는지를 정리한 "So you want to Scrape like the Big Boys?" 라는 글을 올려서 정리해 봤습니다. AWS Lambda부터 저가형 안드로이드 기기, 4G 동글과 Proxidize를 이용한 방법까지 매우 독특한 내용이라서 흥미로우니 참고하세요.

두 달 전 위클리에서 "초소형 사모펀드(Micro PE)의 등장"이라는 제목으로 초기 단계의 서비스를 인수하여 성장시킨 뒤 파는 회사들이 나오고 있다고 말씀드렸는데요. 이번에 소개해 드리는 Tiny Capital은 이렇게 초기 단계를 지나 수익을 내는 회사를 사서 성장시키며 지속해서 운영하는 회사입니다. 디자이너분들이 많이 방문하시는 Dribbble도 2017년에 인수해서 키우는 중이고요. 제가 관심이 갔던 건 "48시간 내 답변, 7일 안에 오퍼, 30일 안에 딜 클로즈" 라는 빠른 결정과 진행이 가능하다는 부분이었습니다. 실제로 Tiny에 판 사람들도, 팔려고 했다가 거절당한 사람들도 자신이 집중해야 할 부분을 알게 되어서 만족했다고 하는데요. 이제 국내에도 이런 방식이 나올만하지 않은가 생각이 듭니다.

CloudFlare가 몇 달 전에 "AWS의 어처구니없는 Egress 비용"이라는 글을 통해서 전송 비용을 과도하게 받고 있다고 저격한바 있는데요. 드디어 AWS가 외부로의 데이터 전송 요금을 인하한다고 발표했습니다. 모든 AWS 리전에서 매달 100 GB 및 CloudFront 1TB에 대해서 무료로 제공하겠다고 하는 건데요. 꽤 많은 사용자가 혜택을 보게 될 것 같습니다. 역시 경쟁이 좋네요.

Fluent Search는 윈도우에서 종합 검색 및 창 전환을 가능하게 해주는 유틸리티입니다. 기본적으로 Ctrl+Alt 키를 눌러서 나오는 창에서 타이핑하면 어플리케이션 실행/파일 검색/커맨드 실행/웹 방문 기록 검색 등을 가능하게 해주는데요. Screen Search 기능을 통해서 윈도우의 모든 기능을 키보드로 접근해주는 Vimium과 같은 기능을 제공합니다. 써보니 굉장히 빠르고 안정적이라 윈도우 사용자분들은 꼭 한번 사용해 보시기 바랍니다.

[ 금주의 Ask - 다양한 질문을 올려주세요 ]


GeekNews Show 에 직접 만드신 오픈소스나, 재직중인 스타트업의 제품/서비스를 소개해주세요.

✓ 사내 커뮤니케이션 도구들에 GeekNews Bot을 추가해서 편하게 새 글을 받아보시고, 멤버들에게도 공유해주세요. : Slack Bot, 잔디 Bot, MS Teams Bot, Discord Bot
✓ 주위분들께 긱뉴스 위클리 - https://news.hada.io/weekly 를 추천해 주세요.

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


대규모로 웹 스크래핑하기

- 만약 구글검색을 수백만건씩 실행하는 서비스를 만든다면 차단 당하지 않을 대안이 필요함
- 가장 쉬운 것은 유료 프록시를 사용하는 것이지만 상당히 비싼편
ㅤ→ 그래서 필자가 시도해본 것들을 상세히 설명한 재미난 글

- 처음엔 AWS Lambda + Puppeteer를 사용
ㅤ→ AWS가 전세계 16개 리전을 제공하고, 3번 Lambda를 실행하면 새 IP가 지정됨
ㅤ→ 동시에 1000개의 람다를 실행하면 약 250개의 퍼블릭 IP를 사용하게 됨
ㅤ→ 16개 리전 * 250 이면 4000개의 IP주소이고, 이정도면 주간 백만단위의 구글 검색을 수행하는데 충분
ㅤ→ GCP에서도 써봤는데, 웃긴게 구글이 자신의 클라우드 IP를 더 공격적으로 차단함 (AWS와 비교해서)
ㅤ→ 2019~2020년 사이 얘기고 변했을 수 있음

- 이 방법은 구글/빙/아마존 등을 스크래핑 하는데는 사용 가능 하지만 한계가 있음
ㅤ→ DataDome, Akamai, Imperva 같은 안티 봇 회사를 이용한다면 적용 불가
ㅤ→ 굉장히 다양한 방식으로 브라우저 핑거프린팅을 통해서 봇인지를 식별해 냄
ㅤ→ 구글 Picasso, Font/TLS/WebGL Fingerprinting..
ㅤ→ 사실 대부분의 대규모 Scraping 서비스는 클라우드 + 도커 컨테이너들 을 사용하기에 식별하기에 쉬움

- 감지하기 어렵고 확장 가능한 스크래핑 인프라
ㅤ→ 성공적으로 스크래핑 하기 위한 두가지 법칙
ㅤㅤ1. 브라우저 설정을 속이지 않기
ㅤㅤ2. 가장 중요한 것은 "아무도 눈치 채지 못할 경우에만" 브라우저 설정을 속일 것
ㅤ→ 이를 위해서는 그냥 "실제 디바이스를 사용"하는게 가장 좋다는 결론
ㅤㅤ⇨ 500대의 싼 안드로이드 기기를 제조사 여러곳에서 구입하고, 저렴한 데이터 플랜을 가입
ㅤㅤ⇨ 여러 도시에 분산 (안테나 가까운 곳에)
ㅤㅤ⇨ DeviceFarmer/stf 같은 오픈소스를 활용해서 기기를 동시에 컨트롤
ㅤㅤ⇨ Android Go 같은 경량OS를 설치하고, 5분마다 에어플레인모드로 들어가게 해서 계속 새로운 IP주소를 획득
ㅤㅤ⇨ "4G carrier grade NAT" : 4G 캐리어급 NAT는 IPv4 주소 고갈을 막기 위해 고안된 방식으로 IP를 수십만이 공유하기 때문에 차단이 불가능
ㅤ→ 500대의 안드로이드 기기를 사야 하고, 설치 장소가 필요하고, 하드웨어 유지보수 해야 하는 등 귀찮은 점이 많음

- 개선 : 안드로이드를 Emulate
ㅤ→ 안드로이드 기기를 사는 대신, Android-X8, Bluestacks, Android Studio Emulator 등을 이용하면 ?
ㅤ→ Proxidize 는 4G 모바일 프록시를 만들 수 있게 함
ㅤ→ 서버 한대에 50개의 4G 동글을 설치
ㅤ→ 각 서버에서 50~100개의 안드로이드 기기를 에뮬레이트
ㅤ→ 이 스테이션을 5개 도시에 설치
ㅤ→ 단단한 코맨드로 이 스테이션들을 관리

사실 1번의 Lambda+Puppeteer 도 저 방식으로 하면 괜찮긴 할거 같은데
맨뒤의 Proxidize 방법과 비교했을때는 아마도 스크래핑 규모에 따라 비용 차이가 날듯합니다.
더 대용량이 필요할수록 Proxidize가 안정적일 테지만, 간단히 하기엔 1번도 나쁘지 않을것 같아요.

마지막에 소개한 https://proxidize.com/ 이 재미나네요.
직접 4G 모바일 프록시를 만들어서 관리하게 해주는 하드웨어+소프트웨어 솔루션 입니다.
5개 동글 버전이 $399 네요. 사용자들 국가리스트에 한국도 있는거 봐서는 사용은 가능할듯 ?

CGNAT 까지는 아니자만, 소프트웨어 프록시를 풀로 관리하는 Scrapoxy 같은 솔루션도 있습니다.
- Scrapoxy - 웹크롤러용 프록시 풀 관리도구 https://news.hada.io/topic?id=2308

예전에 naver 의 무언가를 스크래핑할 때
AWS lambda 에서는 안되고 GCP functions 에서는 되었던 기억이 있는데,
IP range 가 오픈되어있어서 그럴 것이라고 생각했는데 그렇지도 않은가보네요.

 
Tiny - 당신의 '훌륭한' 비즈니스를 삽니다

- 비즈니스를 사서 키우는 회사 : Dribbble(2017), Meteor(2019) 등 약 30개
- 48시간내 답변, 7일안에 오퍼, 30일안에 딜 클로즈
- 전체 또는 일부를 현금으로 지급
- 창업자는 남거나 떠나거나 선택 가능
- 현재의 회사 문화는 변경 없이 그대로 운영 가능
- 이렇게 산 회사들을 오래 유지하면서 키움

- 이런 비즈니스를 삽니다
ㅤ→ 마진이 높고 유지 가능한
ㅤ→ 유니크한 (브랜드/커뮤니티를 가지거나, 니치 타켓..)
ㅤ→ 간단한 BM을 가진
ㅤ→ $500K ~ $30MM 까지의 수익을 내는
ㅤ→ 3년 이상 성공적으로 운영된
ㅤ→ 좋은 문화를 가진 훌륭한 팀이 운영하는
ㅤ→ 긍정적이고 윤리적인 접근을 하는

- 좋은 스타트업을 추천하는 사람에게도 $25K ~ 200K 까지 보상

연 50만 달러 수익이라는 게 작아 보이기도 하지만 진짜 소규모 기업에게는 큰 목표이기도 하네요. 일단은 계속 잘 살아온 작은 기업을 사는 개념인 거네요.

최신 트렌드 : 초소형 사모펀드(Micro PE) https://news.hada.io/topic?id=5135

위의 내용과도 연결 되는 회사인데요.
HN에 올라온 댓글들을 보니 평도 괜찮습니다. https://news.ycombinator.com/item?id=29376588

빠르게 Yes/No 를 줘서 좋고, No 받아본 경험도 나쁘지 않다고 하네요.

 
AWS 외부로의 데이터 전송 요금 인하

1. 매월 CloudFront 에서 처음으로 전송되는 1TB, 1천만건의 HTTP/S 리퀘스트, 2백만건의 CloudFunctions 호출 무료
2. 모든 AWS 리전(중국 및 GovCloud 제외)에서 매월 첫 100GB 데이터 전송 무료
- 두가지 다 처음 12개월로 제한되지 않고 매월 반복 적용됨
- 2021/12/1부터
- CloudFront 무료 티어를 대체 (현재 월 무료인 데이터 전송량의 20배를 1년제한 없이 무제한 제공)
ㅤ→ 모든 CloudFront 기능에 다 적용 됨
- 수백만명이 데이터 전송 요금을 내지 않게 될 것

 
Fluent Search - Windows 용 강력한 종합 검색/창 전환 유틸리티

최근에 발견하고 쾌재를 부른 앱이 있어서 올립니다. 2주 정도 사용하고 있는데 아주 만족스럽습니다. (쓰고나서 읽어보니 뭔가 광고 같은 느낌이 들어서 좀 어색하네요. 너무 잘 쓰고 있어서 그런거니 이해부탁드립니다.)

가장 멋지다고 느끼는 기능은 Screen Search 기능인데, 다들 잘 아시는 Vimium 과 같은 키보드 접근 방식으로 Windows 컨트롤 전체를 접근하도록 해주는 기능입니다. hap-Hunt and Peck 을 기존에 사용해 왔는데, hap는 한 번 힌트를 표시하는 데에 길게는 10초 까지도 걸리는 경우가 자주 있어 쓰기가 불편했습니다. FluentSearch 는 정말 호출하자마자 표시될 정도로 어마어마하게 빠릅니다. 이 기능 하나만으로도 FluentSearch 를 따라올 비슷한 툴은 없는 듯합니다.

그리고 프로세스 전환 기능도 사용할 수 있습니다. 이 기능도 다른 툴과는 다르게, 부가적인 기능이 있어서 아주 좋습니다. 일단 창 수준보다 한 단계 더 들어가서 탭 수준까지 전환이 가능하다는 점이 하나이고, 프로세스에 태그를 달아둘 수 있는 기능이 또 하나의 강력한 장점입니다.

예를 들어 많은 msedge 창(프로세스) 중에 하나는 특별히 Roam Research 용으로 사용하는 경우에, 거기에 roam 이라는 태그를 달아두고 그 태그를 이용해서 창 전환을 할 수 있습니다. Roam Research 를 예로 드는 이유는 Roam 의 경우 창 제목에 그냥 노트 제목만 표시하지 Roam 이라는 문자열을 포함하지 않아서 일반적인 창 전환 유틸리티로는 접근하기 불편하기 때문입니다. (최근에 알게 된 사실이지만 msedge 의 창 이름 붙이기 기능을 활용하면 해결이 가능하긴 합니다.)

저는 다른 기능은 모두 끄고 이 두 가지만으로 아주 만족스럽게 Fluent Search 를 사용하고 있는데, 이 녀석은 종합적인 검색 기능을 제공하는 녀석이라서 아래와 같은 기능도 제공하고 있습니다.

- 어플리케이션 실행
- 파일 검색
- 커맨드 실행
- 웹 검색
- MS To Do 검색(로그인 필요)
- 시스템 설정 검색
- 계산기
- 크로미움 계열 브라우저 방문 기록 검색

오 빠르고 좋네요. 하드의 파일 인덱싱 중인데도 메모리는 25MB 수준이네요.
Everything 대용으로도 좋을 듯

프로그램 추천 감사합니다. 한번 살펴봐야 겠네요. 시스템 리소스 사용량 궁금하군요

윈도우 파워바 툴로는 Launchy 를 쓰고 있는데 얼마전에 파워토이 내장 런처 한번 써보려다가 느리고 메모리 점유율 높아서 꺼뒀던 기억이 나는군요

 
Automa - 크롬 브라우저 자동화 확장

- No-Code 블록 연결 방식으로 웹 브라우저를 자동화
- 폼 자동 채우기, 반복 작업, 스크린샷 저장, 데이터 스크래핑 등의 다양한 작업 지원
ㅤ→ 웹훅 호출, CSV/JSON Export, 탭/창 열기/닫기, 프레임 선택..
- 원하는 시간에 스케쥴링 가능

 
Fleet - JetBrains의 차세대 IDE 공개

- 빠르게 실행되는 가벼운 에디터 이면서 IDE
ㅤ→ IntelliJ 코드처리 엔진은 별도로 실행해서 스마트 IDE로 전환
- 분산 아키텍처
ㅤ→ 코드 처리 기능등 일부 기능만 도커/클라우드에서 실행가능
ㅤ→ Space / 원격시스템 연동
- 협업 지원
ㅤ→ 터미널과 디버그 세션 공유, 코드 리뷰 및 탐색
ㅤ→ 내 시스템에 연결하거나 공유된 환경에 모두가 접속
- LSP를 이용한 다중 언어 지원
- 터미널 & Git 내장
- 멀티 플랫폼 : 리눅스/맥/윈도우
- 플러그인 지원
- 포트 포워딩을 통한 애플리케이션 테스트

JetBrains 툴들이 많이 무겁다보니 사 놓고 잘 안 쓰게 되던데.
Fleet 이 VSCode 만큼 가벼워 지고 메인 IDE가 되면
충성 고객층이 있는 JetBrains에 경쟁력이 생기겠네요.

VS Code 와 경쟁모드로 가는군요. 조금 늦지 않았나 싶긴 한데..

 
lazygit - 심플한 터미널 Git UI

"강력한 Git을 아주 사용하기 쉽게"
- 윈/맥/리눅스 및 대부분의 환경 지원
- 쉬운 파일 추가 및 최근 브랜치 체크아웃
- 보기 편한 머지 충돌 해결 화면
- log/diff 스크롤해서 보기
- 빠른 푸시/풀
- 모든 기능을 키보드 단축키로
ㅤ→ z : undo , ctrl+z : redo (reflog 기반 작업을 쉽게 처리)

비슷한 걸로 rust로 구현한 gitui가 있습니다.
https://github.com/extrawurst/gitui

오 이 Tool 너무 잘쓰고 있어요

 
Python x ARM: Graviton2 실전 도입기

- AB180에서 기존 애플리케이션을 Graviton(ARM)으로 이전하면서 겪었던 내용을 정리한 글

- Graviton에 대한 간략한 소개 및 x86과의 차이점
- Python 애플리케이션을 ARM에서 실행하기 위해 필요한 과정
- 실제 이전하면서 겪었던 어려움, 또 그걸 어떻게 해결했는지
- 그래서 비용은 얼마나 줄었는지
→ Graviton 이전 후 15% 가량 비용 감소

AWS 가 Graviton - ARM64 용 php 속도를 개선했다는 기사도 생각이 나요. https://news.hada.io/topic?id=2539

 
Asciinema 3.0 - 4배 작고, 50배 빠르게

- 터미널 화면을 녹화하고 공유하는 도구
- 밑바닥부터 JavaScript와 Rust로 재개발 해서 50배 빠른 가상 터미널 인터프리터를 구현
ㅤ→ Rust를 WASM으로 컴파일
- 이전 버전은 ClojureScript로 개발
ㅤ→ 속도가 느리고, 크기도 크고, JS 에코시스템과 연동이 쉽지 않았음
- React.js 에서 SolidJS로 변경한 것도 속도 개선에 영향을 줌
ㅤ→ 또한 플레이어가 자체적으로 React.js를 써서, 다른 React 앱에 임베딩 하기 어려웠던 것도 해결
- 화면 크기에 따른 자동 스케일링 지원
- WebSocket과 커스텀 Driver 도 지원

React.js 한때는 트렌드를 선도 했지만 발전이 느려서 라이브러리 구동 속도가 느리고 구현하기에 너무 장황하죠 React.js 는 SolidJS 등등 과 같이 전반적인 혁신이 필요합니다.

요즘들어 Rust로 재작성되는 프로젝트가 많은 것 같네요 ㅎㅎ 속도가 주된 이유겠죠?

* Asciinema - 터미널 화면을 녹화하고 공유 https://news.hada.io/topic?id=1050
* Solid - Reactive JS 라이브러리 https://news.hada.io/topic?id=4940

 
Open Replay - 오픈소스 세션 재생 스택

- FullStory / LogRocket 의 오픈소스 대체제
- 사용자들이 웹앱을 어떻게 사용하는지 세션을 그대로 재생할 수 있게 해주는 도구
ㅤ→ 네트웍 활동, 콘솔 로그, JS 에러, CPU/메모리 사용량 등을 캡쳐
ㅤ→ 브라우저에서 디버깅 하는것과 비슷한 환경 제공
ㅤ→ 사용자의 화면을 실시간으로 보면서 서포트 가능
- ~18KB 정도의 트래커가 비동기로 데이터를 전송해서 성능 저하를 최소화
- Omni-Search 기능으로 사용자 액션 이나 세션에 대해 검색/필터링 가능
- AWS/GCP/Azure 등에 쉽게 배포 가능
- Sentry, Datadog, CloudWatch, Stackdriver 등과 연동 지원

 
2021 디자인 툴 설문조사

- 전세계 UX/Product/UI/Web/Graphic 디자이너 3300명 대상 (한국 111명)
- 맥(2506), 윈(526), 리눅스(17), 멀티(287)
- 경력 : 10+(974), 6~10(790), 3~5(853)..

- 디지털 화이트보딩
ㅤ→ 실제 사용 : Miro > FigJam > Figma > Mural > Whimsical
ㅤ→ 평점기준 : Whimsical > Miro > Figma > FigJam > Mural
ㅤ✓ Miro가 작년에 이어 탑 유지
ㅤ✓ FiJam이 무료로 풀렸음에도 아직 Figma를 많이 사용

- UI 디자인
ㅤ→ 실제 사용 : Figma : Sketch > Adobe XD > Adobe Illustrator > Adobe Photoshop
ㅤ→ 평점기준 : Framer(4.7) > Figma(4.7) > Sketch(4.1) > Adobe XD > Adobe Illustrator
ㅤ✓ 전체 응답자의 77%가 Figma 를 사용
ㅤ✓ Framer 와 Figma 의 평가 점수가 가장 훌륭

- 프로토타이핑
ㅤ→ 실제 사용 : Figma > Adobe XD > InVision > ProtoPie > Sketch
ㅤ→ 평점기준 : ProtoPie(4.6) > Framer(4.4) > UxPin > Webflow > Axure
ㅤ✓ UI 디자인에 Figma를 사용하는 사람중의 81%가 프로토타이핑에도 Figma를 이용
ㅤ✓ 좀 더 좋은 도구를 원할때 ProtoPie, Framer, Principle등을 추가로 활용

- Handoff (협업 및 소통)
ㅤ→ 실제 사용 : Figma > Zeplin > Adobe XD > InVision > 코드작성 > Sketch
ㅤ→ 평점기준 : Zeplin(4.1) > Figma(4.0)> Adobe XD(3.6) > Sketch
ㅤ✓ Zeplin, InVision, Abstract 는 UI디자인 도구가 아닌 이 카테고리의 메인 플레이어들
ㅤ✓ 대부분의 UI 디자인 도구들이 협업을 위해 HandOff 기능을 추가하면서 이 카테고리가 좁아짐
ㅤ✓ Notion, Jira, Confluence 등도 많이들 활용

- 디자인 시스템
ㅤ→ 실제 사용 : Figma > Sketch > Adobe XD > Storybook > Zeroheight
ㅤ→ 평점기준 : Figma(4.3) > ZeroHeight(4.2) > Zeplin(4.0) > Notion > Storybook
ㅤ✓ 디자인 시스템 컴포넌트 생서, 문서 작성, 공유등 다양한 기능의 묶음
ㅤ✓ 다양한 도구들이 이용중

- 버전관리
ㅤ→ 실제 사용 : Figma > Google Drive > GitHub > Dropbox > OneDrive
ㅤ→ 평점기준 : GitHub > Bitbucket > Dropbox > Gitlab > Figma
ㅤ✓ Figma 가 다른 도구의 필요성을 거의 다 제거해 버림
ㅤ✓

- 사용자 테스팅
ㅤ→ 실제 사용 : Zoom > Google Meet > Maze > User Testing > Microsoft Teams
ㅤ→ 평점기준 : Useberry > Maze > Optimal Workshop > UserTesting > Loopback
ㅤ✓ 일반 화상회의 도구보다 Useberry 나 Maze 같은 전용 테스팅 도구의 평점이 훨씬 높음
ㅤ✓ 24%의 응답자가 사용자 테스팅을 안한다고 응답

- Research Recruiting (신규 카테고리, 조사자 모집 및 관리)
ㅤ→ 실제 사용 : UserTesting > SurveyMonkey > Maze > UserInterviews > UserZoom
ㅤ→ 평점기준 : UXtweak > UserInterviews > Userzoom > Maze > UserTesting
ㅤ✓ 많이 선택한 도구외의 응답인 Other가 특히 높은 신규 카테고리
ㅤ✓ 평점이 3.5 정도로 매우 낮음

- Research Repository(신규 카테고리, 연구 세션 정보를 관리 및 태깅)
ㅤ→ 실제 사용 : Notion > Google Drive > Confluence > Google Sheets > Miro > Airtable
ㅤ→ 평점기준 : Dovetail > Notion > Airtable > Miro > Google Drive
ㅤ✓ 38%의 사용자가 이런 도구를 활용
ㅤ✓ 대부분 일반 지식저장소 도구인 Notion, Confluence, Google Drive 등을 활용
ㅤ✓ 많이 사용되지는 않지만 Dovetail 사용자가 4.2점으로 가장 만족했음

- 2021 디자이너 툴킷
ㅤ→ Digital Whiteboarding : Miro
ㅤ→ UI Design, Prototyping, Handoff, Design Systems, Versioning : Figma
ㅤ→ User Testing : Zoom
ㅤ→ Research Recruiting : UserTesting
ㅤ→ Research Repository : Notion

2022년에 가장 기대되는 도구?
- Figma(862) > Framer(152) > FigJam(147) > ProtoPie(98) > WebFlow(92)

한국에서 개발중인 ProtoPie 의 평점이 높은게 인상적이네요.

- 2020 디자인 툴 설문조사 https://news.hada.io/topic?id=3405

작년에 이어 올해도 Figma 의 천하통일이네요.
Adobe XD는 계속 내려가고 있고, ProtoPie 는 조금 더 상승했네요.

 
Pglet - 백엔드 개발자를 위한 Web UI 프레임워크

- 백엔드 개발자들이 HTML/CSS/JS 지식 없이도, 잘 아는 언어들로 프론트엔드 개발자들처럼 웹앱을 개발할 수 있게
ㅤ→ 파이썬, Bash, Powershell, Node.js
- 별도로 실행되는 Pglet 서버와 IPC 기반으로 통신
ㅤ→ 앱 디플로이 과정없이 바로 실행 가능할듯
ㅤ→ 로컬 또는 호스팅 환경 지원
ㅤ→ 다수의 백엔드와 연동하는 중간 계층으로 동작

 
Peritext - Rich Text를 위한 CRDT

- 리치 텍스트 문서의 협업을 위한 CRDT 알고리듬
- 비동기 방식으로 동작도 가능해서 로컬에서 편집 후 머징하는 방법 지원
ㅤ→ 마치 Git과 PR처럼
- 작성자의 의도를 보존
ㅤ→ 서식 편집과 텍스트 삽입이 동시 일어날 때, 새로 삽입된 글자에도 서식 적용
ㅤ→ 동시 서식 편집의 컨플릭 처리

- Peritext 알고리듬
ㅤ→ 기존 플레인 텍스트용 CRDT를 이용해서 리치 텍스트 문서를 표현
ㅤ→ 포맷 변경을 표현하는 CRDT 오퍼레이션 생성
ㅤ→ 이 오퍼레이션을 적용하여 내부 문서 상태(State)를 생성
ㅤ→ 내부 상태를 기반으로 텍스트 편집기에 적합한 문서를 만들기

- Automerge CRDT 라이브러리의 심플 버전을 확장한 TypeScript 오픈소스
ㅤ→ 나중에 Automerge 에 알고리듬을 넣는 것을 기대
ㅤ→ 에디터는 ProseMirror 이용

- 제가 틀렸었어요. CRDT가 미래입니다. https://news.hada.io/topic?id=2962
- 더 빠른 CRDT를 위해 최적화 하기 https://news.hada.io/topic?id=4744

 
React Native Test App - 모든 플랫폼용 테스트앱을 패키지로 제공

- Microsoft가 사내에서 사용하는 도구를 오픈소스로 공개한 것
- React Native 용 라이브러리/패키지를 만드는 사람들을 위한 도구
- React Native 버전이 바뀌거나, 새 버전의 XCode/iOS/Gralde 등이 나왔을 때 내 라이브러리를 테스트 하기 위한 업그레이드 및 프로젝트 설정 등 귀찮은 작업들을 대신 해주는 도구
- iOS/macOS/Android/Windows 등 각 플랫폼별 지원

 
Micronaut - JVM기반의 MSA/서버리스 개발용 풀스택 프레임워크

- Grails 개발자들이 만든 클라우드 네이티브 프레임워크
- MSA에 적합
ㅤ→ Reactive Streams 표준 지원
ㅤ→ 다양한 메시징 시스템 지원 : Kafka, RabbitMQ, MQTT, JMS
ㅤ→ 서버리스 개발/테스트/배포 지원 : AWS Lambda, Google, Azure, Oracle
ㅤ→ OpenAPI 와 Swagger 지원
- Polyglot : Java, Groovy, Kotlin, Scala(예정)
- 빠른 Data-access 설정 과 쉬운 유닛테스팅
- Aspect-Oriented API
- GraalVM 지원

 
로봇 주방의 자동화 레벨

자동차의 자율주행 5레벨과 비슷하게 로봇 주방의 자동화 레벨을 설정해본다면?

레벨0: 모든게 수작업인 전통 주방

레벨1: 스마트 오븐/프라이어등 스마트 기기로 간단한 작업 자동화. 많은 패스트푸드 체인점과 QSR(퀵서비스 레스토랑)이 여기에 도달

레벨2: 기존 주방에서 많은 시간이 드는 작업들이 자동화로 레벨1에서 레벨2는 기능상 큰 차이. 그릇 모으기, 피자에 토핑 올리기, 웍으로 밥 볶기 등의 작업들은 직원들의 주의가 필요함. 아직 이런 기능들의 시스템은 많지 않지만 로봇 비용이 떨어지고 컴퓨터 비전이 강력해지면서 많이 나오게 될 것. 문제 발생시에는 사람을 투입해서 흐름을 제어/복원해야 하고, 원격에서 조작도 가능

레벨3: 자동화 시스템이 처음부터 끝까지 전체 레시피 처리. 반죽부터 뜨거운 피자를 자르는 것까지, 또는 날 생선을 가지고 초밥을 만드는 등. 중간 과정에서 실수나 실패를 처리하기 위해 직원의 감독은 여전히 필수. 조리법은 표준화 되어 있고, 어려운 개인화 주문들은 아직 직원이 처리해야 함. 2020년대에는 레벨2와 함께 이정도가 많이 채택 될 것

레벨4: 레벨3과의 주요 차이점은 시스템이 매우 견고하고 품질 표준에서 벗어나는 경우가 거의 없다는 것. 기능면에서는 큰 차이가 없지만, 엔지니어링 관점에서는 큰 도전임. 주방 직원은 맞춤 주문이 필요한 경우에만 조리에 참여하고, 일상적인 품질 관리를 위해서는 관여하지 않음. 주문이 표준화 되어있는 QSR에게는 이는 완전 자율과 비슷함. 모든 엣지 케이스를 처리하는 것은 어려운 문제기 때문에 대규모 체인점에서 이 정도 수준의 자동화를 채택하려면 2030년정도 까지 기다려야 할 것. 이 단계가 되면 오늘날의 QSR 품질 수준과 비슷한 음식 자판기를 가지게 될 것

레벨5: 임의의 커스터마이제이션 및 레시피를 사용 가능하고, 요리 과정의 모든 단계가 세부적으로 제어됨. 이 레벨이 되면 간단한 포장요리용 레시피부터 미슐랭 스타 요리에 이르는 다양한 품질 범위를 포함. 이런 시스템을 개선하는 데는 수십년이 걸릴 것이지만 우리가 사는 방식에 미치는 영향은 매우 클 것. 음식 배달의 효율성이 증가되면서, 주방이 없는 아파트가 인구 밀도가 높은 지역에서 표준이 될 수도 있음. 자동화된 시스템을 원격으로 관리할 수 있으므로, 레시피는 AI 알고리즘에 의해 소프트웨어수준의 속도로 A/B 테스트 가능. 이전 주문에 대한 피드백 이나 게인 데이터에 의해 레시피가 초 개인화 되는 경향도 생길 것

회사 근처에 로봇이 커피를 내주는 무인 커피숍이 있다는 소문만 들었는데 의외로 높은 레벨이네요? ^^;

중간에 정리한 표가 보기 좋은 것 같아서 걔도 살짝 번역해 봤습니다.

https://i.imgur.com/Eqjtknh.png

가장 흥미로운 워딩은 이렇게 자동화가 되면 "주방이 없는 아파트"가 인구 밀집 지역에서 유용할 것이란 얘기였어요. 드론 배송과 음식 자판기면 정말 가능해지지 않을까요

 
미국 저작권법에 Disney가 끼친 영향

- 1790년에 미국 헌법에 저작권 조항이 처음 추가
ㅤ→ 저자들이 책을 출판/재판할 수 있는 권리를 14년간 보장하며, 추가로 14년 갱신 가능
ㅤ→ 현재는 100년이상 지속되며, 1998년에는 대부분의 저작물에 대한 저작권 보호를 제작자의 수명 + 사후 70년으로 연장
- 디즈니는 미국 저작권법 발전에 중요한 역할을 함

- 1976년 저작권법
ㅤ→ 1928년 디즈니가 Steamboat Willie를 출시하며 "미키 마우스"가 처음 등장
ㅤ→ 그 당시 저작권법에 따라 28년+28년 해서 56년간 보호되어 1984년에 만료될 예정이었음
ㅤ→ 이 날짜가 다가오면서 로비를 통해서 저작권법을 개정
ㅤ→ 작가의 평생 동안 보호 받을 수 있으며, 기업 소유의 저작물은 50년 또는 75년간 보호
ㅤ→ 이걸로 2003년으로 보호를 연장

- 1998년 저작권 기간 연장법
ㅤ→ 2003년이 다가오자 디즈니는 그동안 계속 로비 활동을 진행
ㅤ→ 1998년초 세상을 떠난 Sonny Bono(가수/배우 이자 하원의원)의 이름을 딴 저작권 기간 연장법이 채택됨 (반대자들은 미키마우스 보호법 이라고 부름)
ㅤ→ 저작권이 저자의 평생 동안 및 사후 70년 동안 지속 되도록 허용
ㅤ→ 기업의 경우는 최초 발행일로부터 95년 또는 창작일로부터 120년간 보호(둘중 먼저 만료되는 날짜 기준)
ㅤ→ 이걸로 스팀보트 윌리의 저작권이 2023년까지 연장

- 이제 디즈니는 어떻게 할까 ?
ㅤ→ 스팀보트 윌리의 저작권은 2024년 1월 1일에 만료되어, 퍼블릭 도메인이 될 예정
ㅤ→ 아마도 로비활동을 더 활발하게 할 것으로 추측