[GN#79] 내가 소프트웨어 업계에서 45년간 배운 것

2021-01-04 ~ 2021-01-10 사이의 주요 뉴스들
오랜 시간 소프트웨어 업계에 계셨던 분들의 경험담은 곱씹어 볼수록 좋은 것 같아요. 1975년도에 COBOL로 개발을 시작해서, 새내기 개발자분들은 아마도 보지도 못하셨을 천공카드부터 요즘의 클라우드까지 모두 경험한 Joel Goldberg 님이 은퇴하면서 같이 일했던 동료들한테 그가 그동안 배운 것들을 공유했는데요. 기술보다는 우리가 익혀야 할 기초와 태도, 마음가짐 등을 얘기하고 있는데, 내용이 정말 훌륭합니다. 꼭 한번 읽어보시길 권해드립니다.

협업을 위한 유/무료 도구들이 점점 많이 나오고, 각자가 처한 상황에 딱 맞는 도구를 찾고 도입하는 것도 꽤 시간이 소요되는 작업이 되었습니다. 이럴 때 누가 잘 정리한 후기는 도움이 많이 되는데요. 3명으로 구성된 팀이 자신들이 잘 사용하는 도구들, 특히나 유료지만 돈을 내도 만족스러운 제품들만 잘 정리해준 "돈 내고 써도 만족스러운 SaaS들" 글을 스타트업 분들께 추천해 드립니다. 저는 그중에 특히 이메일/SMS/페이스북 메신저/트위터 등의 외부 응대 계정을 여럿이서 편하게 공유하면서 협업 대응하게 해주는 Missive 도구가 인상적이었습니다.

연초에는 올해를 예상하는 글들이 다양하게 공개되는데요. 뉴스레터 서비스인 Trends와 Next Big Thing에서 올해를 예측한 기사가 나와서 공유합니다. 주요 단어들만 몇 개 보면, 플랫폼 언번들링 과 핀테크의 번들링 / 헬스 테크 / 비공개 & 버티컬 소셜 네트워크 / 오디오 비즈니스 / 창작자 이코노미의 발전과 VC화 정도를 꼽아봅니다.


✓ 사내에서 슬랙을 쓰신다면 뉴스채널에 GeekNews SlackBot 을 추가하여 편하게 새 글을 받아보시고, 멤버들에게도 공유해주세요.
✓ 주위분들께 긱뉴스 위클리 - https://news.hada.io/weekly 를 추천해 주세요.
Twitter , Facebook 에서도 긱뉴스를 받아 보실 수 있습니다.
✓ 긱뉴스를 팟캐스트로 들어보세요 : 애플, 유튜브, 팟티, 팟빵, 구글, 네이버 오디오클립
✓ GeekCast : 최신 데이터 인프라 이해하기 (시리즈) , 실패하지 않는 뉴욕타임즈 - NYT는 어떻게 디지털화에 성공했나 (48분)

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


내가 소프트웨어 업계에서 45년간 배운 것

천공카드부터 클라우드까지 45년간 일해온 엔지니어가 은퇴하면서 남긴 교훈들

1. 지식의 저주를 조심하세요
- 뭔가를 알게 되면, 그걸 모르는게 어떤건지를 상상할수 조차 없게 됨
- 이게 많은 오해와 비효율성의 원인
- 복잡한 것에 익숙한 똑똑한 사람들이 더 그런 경향이 있음
- 지식의 저주를 경계하지 않으면 코드부터 의사 소통 하는 것 까지 모두 이해하기 어렵게 됨
- 청중을 이해하려고 노력하고, 처음 배울때 어땠는지를 상상 할 것

2. 기초에 집중하세요
기술은 계속 변화하지만, 소프트웨어 개발에 대한 기초들은 이 트렌드를 뛰어넘음
오랜시간 유효할 여섯가지 기초
ㅤ→ 팀 워크 : 훌륭한 팀이 위대한 소프트웨어를 만듭니다. 팀워크를 당연시하지 마세요
ㅤ→ 신뢰 : 팀은 신뢰의 속도로 움직입니다. 함께 일하고 싶은 신뢰할수 있는 사람이 되세요
ㅤ→ 의사 소통 : 정직하고 적극적으로 의사소통 하세요. 지식의 저주를 경계하세요
ㅤ→ 합의 추구 : 전체 팀이 같이하는 시간을 가지세요. 토론과 불일치를 통해서 최고의 솔루션을 찾아보세요
ㅤ→ 테스트 자동화 : 잘 테스트된 코드는 팀이 자신감을 가지고 빠르게 움직일수 있게 합니다.
ㅤ→ 깔끔하고 이해하기 쉽고 탐색가능한 코드와 설계 : 코드를 인수할 다음 엔지니어를 고객이라고 생각하세요. 후임자가 읽고 유지보수하는데 문제가 없는 코드를 작성하세요.

3. 단순성
- 복잡성과 싸우는 것은 끝이 없는 원인
- 솔루션은 가능한 간단해야 함
- 내 코드를 유지보수할 다음 사람이 나만큼 똑똑하지 않을거라고 가정하세요.
- 더 적은 기술로 할 수있다면 그렇게 하세요.

"디자이너에게 완벽함이란, 추가할 것이 없을 때가 아니라 제거할 것이 없을때 입니다." - 생 택 쥐페리

4. 먼저 이해하기
- 스티븐 코비의 7가지 습관중 하나는 "먼저 이해하고, 다음에 이해시키기"
ㅤ→ 이 말이 다른 어떤 조언들보다 좋은 리스너이자 팀 동료가 되도록 도와주었음.
- 다른 사람들에게 영향을 미치고 효율적으로 협력하고 싶다면 먼저 그들을 이해해야함.
- 자신의 생각을 알리기 전에, 적극적으로 그들의 감정과 아이디어, 관점을 이해할수 있도록 경청하세요.

5. Lock-in 에 주의하세요
- 소프트웨어 제작 방식에 혁신을 가져올 차세대 생산성 도구들은 항상 있을 것.
ㅤ→ CASE, COTS, ERP, Ruby 등.
- 그들은 전체적으로 자신의 개발철학을 채택하면 비용과 시간을 절감할수 있다고 주장하지만, 선행비용 또는 그로 인해 발생하는 제약들은 명확하지 않음.
- 락인은 주로 소프트웨어 공급자들한테 일어났지만, 요즘은 프레임워크들에도 발생함
- 락인은 변경에 상당한 비용이 발생함
- 현명하게 선택하세요. 새로운게 항상 좋은 것은 아닙니다.

6. 정직하고, 역할에 맞지 않을때는 인정하세요
- 경력의 어느 시점에서 자신이 적합하지 않은 역할을 맡게 될 수 있음
- 나쁜 핏은 캐릭터의 결함은 아니지만, 무시해서는 안되는 문제임
- 이 딜레마 대한 해결책은 한가지 이상일수 있음
ㅤ→ 당신이 진화하거나
ㅤ→ 역할이 진화하거나
- 중요한 건 "어떤 일이 일어나고 있으며, 이 곳에서 벗어나려면 어떻게 해야하는지"에 대한 자기 지식을 가지는 것

 
돈 내고 써도 만족스러운 SaaS들

3명 팀이 협업을 위해 사용중인 도구들을 비용과 함께 정리
- Missive : GMail을 팀 인박스로 쓰게해주는 협업 도구. 이메일 쓰레드에 댓글/토론 가능
- Notion : 팀 위키
- Linear : GitHub과 잘 연동되는 이슈 트래킹 도구
- Vercel : 프론트엔드/서버리스 호스팅
- SavvyCal : 미팅 시간 스케줄링 도구
- Plausible Analytics : 개인정보 보호에 신경쓴 Google Analytics 대체제
- Mailbrew : RSS,트위터 피드,뉴스레터등을 묶어서 Digest 이메일로 보내주는 도구
- Super : Notion 문서를 커스텀 도메인 웹사이트로 만들어주는 도구

 
Trends의 2021년 예측

유료 뉴스레터 Trends의 올해 예측 요약
- 온라인/가상 이벤트가 더욱 활성화
- DeFi의 성장과 새로운 앱들. 이더리움 2.0
- 주요 플랫폼의 언번들링 가속
ㅤ→ Google Suite : Notion & Airtable
ㅤ→ Adobe : Figma & Procreate
ㅤ→ 틈새 사용자 시장으로도 언번들링 될것 : Patreon → OnlyFans, Twitter → Parlor
- 헬스 테크(Sleep Number, Oura), 바이오해킹(CRISPR 키트), 운동 테크(Cubii, Zwift)
ㅤ→ AlphaFold 가 수십년간 혁신의 길을 만들어 줄 것
- AirBnB의 시가총액이 3배가 될 것

11월에 있었던 향후 유망 산업 내용도 포함
- 창작자 경제의 활성화
- 오디오 관련 새로운 서비스의 출현 : Clubhouse, Rodeo..
- 교육의 재발명 : ZipSchool
- Privacy Awareness 가 더 중요하게
- 남성들의 정신건강 관련이 메인 스트림으로 : 기존에 터부시 되었던 남성 그루밍/섹슈얼 웰니스가 메인스트림이 되었듯이
ㅤ→ https://www.reddit.com/r/malementalhealth/
- 긱 이코노미에 더 젊은 사람들이 참여
- 실시간 글루코즈 모니터링 (당뇨)
- 트럭 산업 : 미국에 트럭운전자가 3.5백만. 그들을 위한 도구와 서비스가 생겨날 것
- 뉴스레터는 이미 레드오션. 지금 성공한 뉴스레터들은 5~8년전에 시작했음. 진짜 승자들은 이 컨셉을 새로운 매체로 가져가려 할 것.
- 헬스 테크 : 웨어러블, 슬립 관련, CO2/글루코즈 모니터링, 스탠딩 데스크, Kombucha
- 테슬라가 AR 글래스 전쟁에서 이길 것임 : https://thehustle.co/09152020-ar-glasses/

 
Next Big Thing in 2021

미국 VC 50인들이 2021년에 클 것이라고 예상한 것들 모음
- 기후 위기를 다루는 것
- 헬스케어 : 기술, 커뮤니티, 모니터링
- 미디어 : 음성 명령, Vtuber(가상 유튜버), 미디어 통합
- 우주 : 상용 우주여행이 가능할 정도의 비용 절감
- 음식 : 탄력적으로 살아남기, 온라인 식료품 사업
- 핀테크 : 모든 회사가 핀테크 회사가 될수 있는 인프라
- 엔터프라이즈 : Confluence/HashiCorp같은 회사의 성장. 생산성 개선 도구. ARR(Annual Recurring Revenue)이 바이럴 시작
- 탈중앙화 : 더 다양한 곳, 예상치 못한 곳에 탈중앙화가 적용. DeFi
- Individuality : 개인 브랜드, "Personal Business OS", 비공개 멤버 기반 커뮤니티
- VC : TikToker(유튜버,팟캐스터,스트리머)의 VC화. 시드라운드가 더 커지고 활성화
- 번들링 : 핀테크의 번들링, 통신/협업의 번들링, 데이터소프트웨어 공급자의 번들링. 메타 레이어 번들링
- 일하는 방식 : 하이브리드 직장/재택 모델, 비동기 협업, 디지털 퍼스트/분산/글로벌/유연한 업무 방식
- 연결 : 소셜 헬스, 디지털에서의 새로운 연결(클럽하우스 등), 소셜 거리두기 상태에서의 더 깊은 인간적 관계를 위한 경험들, 커머스를 내장한 버티컬 소셜 네트워크.

 
Project Lightspeed - 라이브 스트리밍 서버

"OBS Studio -> FTL -> WebRTC"
- 1초 미만의 레이턴시로 라이브 스트리밍 가능한 오픈소스 서버
ㅤ→ Twitch의 로우 레이턴시 모드도 2~4초 이상 지연됨
- Rust + Golang + React

* FTL : Faster-Than-Light, MS가 Mixer 용으로 만들었던 프로토콜로 스트리밍 레이턴시를 줄이기 위해서 RTP+WebRTC 를 사용
ㅤ→ MS가 2016년에 인수한 Beam 의 기술

다른 뉴스 링크 걸기입니다 : Owncast - 오픈소스 라이브 스트리밍 서버 https://news.hada.io/topic?id=3450

 
PhotoPrism - 개인 사진 관리 오픈소스

- RAW 포맷 지원 : JPEG으로 보기 및 자동 인덱싱
- TensorFlow로 이미지를 분류하고 검색지원 (날짜,위치,카메라,렌즈,색상,키워드,사물 등)
- PWA로 만들어진 훌륭한 데스크탑/모바일 지원 웹 UI
- 지도에서 사진보기 가능
- WebDAV 로 원격접근 지원
- 앨범의 링크 공유 가능
- Exif 와 XMP 메타데이터 병합 및 관리
- 중복 이미지 자동 인식
- 도커로 설치가능한 Go + Vue 오픈소스

LibrePhotos - 구글 포토 오픈소스 대체제 https://news.hada.io/topic?id=3506
와는 또 다른 매력이 있는 사진관리 소프트웨어 입니다.

사람 분류기능이 아직 안되는데, Roadmap 에 보면 얼굴인식도 개발 예정에 있네요.
https://github.com/photoprism/photoprism/projects/5

 
minikeyvalue - 초소형 분산 키밸류 스토어

- 1000라인 안되는 Go코드로 된 분산 키밸류 저장소
- 저장소간 복제, 여러대의 머신, 머신별 여러개의 드라이브 지원
- 1MB ~ 1GB 사이의 값에 최적화
- nginx를 볼륨 서버, LevelDB를 인덱싱용으로 사용
- 간단한 API
ㅤ→ GET /key : nginx 로 302 redirect
ㅤ→ PUT /key : 201면 성공
ㅤ→ DELTE /key : 204면 성공
- 1대의 마스터, n대의 볼륨서버로 구성

MSA에서 사이즈 작은 Key/Value가 필요한 경우에 사용하면 좋을 것 같은 느낌이군요

 
서비스 기획 뽀개기 [138p 슬라이드]

- IT서비스 기획자 : IT서비스 기획자란?, 서비스 기획이란?
- 상위기획 : 비즈니스 모델 캔버스, 플라이휠, 페르소나, 고객 여정 지도, MVP
- 정책 : 왜 역사와 문화, 생태계를 고려해야 하는가?, 관련 법령을 모르면..
- 스토리보드 (Wireframe) : 변동성과 확장성에 대한 고려, 독자를 위한 배려
- UI Component : 버튼, 링크, 인풋 박스, 입력값 유효성 체크
- UX in Motion
- ETC : 쿠키 vs. 세션 vs. 캐시
- Information Architecture
- 회원가입 / 로그인 : 회원의 종류, 회원가입 절차, 회원인증 시 고려사항, 회원인증 방법, 약관 및 인증의 종류, CI와 DI,로그인 및 비밀번호 찾기 종류
- 배너
- 상품 : 상품 등록 정보, 상품정보제공 고시
- 결제 : 결제 관련 용어, 결제 상태 설명, 일반 상품 구매 및 결제 플로우, 일반 상품 배송 플로우, 온라인 강의 구매 및 결제 플로우
- 멤버십(포인트)
- 쿠폰
- 취소/환불 : 일반 상품 취소/환불 정책, 온라인 강의 취소/환불 정책
- 관리자 : 어드민 기획시 고려사항
- QA : 웹 접근성, 다크패턴(Dark Pattens)과 윤리적 디자인
- SEO/SMO/ASO : SEO(Search Engine Optimization), SMO(Social Media Optimization), ASO(Appstore Optimization)
- 글로벌 서비스 : 중국의 서비스 기획, 글로벌 서비스 기획 시 고려사항

 
Clutch - 인프라스트럭처 관리 오픈소스

- 개발자들이 인프라 설정/운영/관리를 손쉽게 할 수 있도록 도와주는 웹UI 및 API 플랫폼
- Lyft가 Envoy의 성공에 영향을 받아서 그걸 반영하여 모델링한 오픈소스 ( Envoy 관리도 가능 )
- 개발 인프라 통합 대시보드를 생성 가능

특징
- Highly extensible : 확장을 쉽게 개발하고 추가 가능
- Built for discovery : 개발 자원의 쉬운 검색
- 개발,운영,유지보수가 쉬움 : Go + TypeScript + Protobuf
- Secure and observable : SSO, RBAC 지원, 로깅/슬랙 연동 지원

기본 내장 워크플로우들 : ec2, envoy, k8s, kinesis

Announcing Clutch, the Open-source Platform for Infrastructure Tooling
https://eng.lyft.com/announcing-clutch-the-open-source-platform-for-in…

Dropbox가 Nginx에서 Envoy로 전환한 이유와 방법 https://news.hada.io/topic?id=2625

 
Tablerone - 크롬 탭 매니저 확장

- 여러 탭을 한번의 클릭으로 콜렉션으로 저장 및 다시 열기
ㅤ→ Favorite 및 Tag 별 관리
ㅤ→ 브라우징 세션별 관리
- 90분간 안 쓴 탭은 가벼운 플레이스홀더로 바꿔서 메모리 절약(시간 조정 및 예외처리 가능)
- 탭 메타정보(제목, URL, 노트, 썸네일)를 HTML, JSON, CSV, 텍스트로 저장
- 내부에서 표준 북마크로 정보를 관리해서 모바일/데스크탑 기기 동기화도 가능

MS Edge의 Collection 기능이 좋아서 잘 사용중인데, 그거만큼 편하네요

저는 Session Buddy 가 더 간결해서 좋은 것 같군요. 유휴 탭 처리 필요하면 이걸 택해도 괜찮을듯

 
Rust 디자인 패턴들

러스트 언어의 특이점 및 디자인을 활용한 Idiom 과 Design Pattern, Anti Pattern 정리

Idioms
1. Concatenating Strings with format!
2. Constructor
3. The Default Trait
4. Collections Are Smart Pointers
5. Finalisation in Destructors
6. mem::replace(_)
7. On-Stack Dynamic Dispatch
8. Iterating over an Option
9. Pass Variables to Closure
10. Privacy For Extensibility
11. Easy doc initialization
12. Temporary mutability

Design Patterns
1. Builder
2. Compose Structs
3. Fold
4. Newtype
5. RAII Guards
6. Prefer Small Crates
7. Contain unsafety in small modules
8. Visitor

Anti-patterns
1. #[deny(warnings)]
2. Deref Polymorphism

 
Wasmer 1.0 릴리즈

- 유니버설 WebAssembly 런타임
ㅤ→ 다양한 언어를 WASM으로 컴파일해서 어떤 OS에서든 실행 가능
ㅤ→ 서버사이드 런타임, 스탠드얼론으로 실행
ㅤ→ Rust, C/C++, Go, Python, PHP, Ruby, C#, R, Elixir 등의 다른 언어에 임베딩도 가능
- 프로덕션 사용 가능한 수준의 성능
- 플러그인 인프라 : 여러개의 컴파일러(싱글패스,Cranelift,LLVM), JIT/Native 엔진
- Native Object Engine : 프리컴파일한 WASM 모듈 만들고 실행가능
- IOT에 적합한 Headless 버전 지원
- WASM 크로스 컴파일
- 사용하기 쉬운 API
- Wasm-C-API 지원
- 애플 실리콘 지원

 
Typefully - 트위터 쓰레드 글쓰기 도구

- 트위터에 긴 글을 쓰레드 형식으로 남길때 사용하는 에디터
- 실시간 프리뷰 기능으로 트위터에서 어떻게 쓰레드가 보일지 보면서 작성
- 긴 글을 적으면서 두줄을 떼면 새로운 트윗으로 만들어짐
- 원하는 시간에 트윗되도록 스케줄링 지원
- 여러개의 드래프트 작성해서 관리 가능

 
Rust가 이제 벤치마크에서 C보다 전반적으로 빠름

"Which programs are fastest?"
- n-body, mandelbrot, regex-redux, binarytrees 등의 프로그램으로 벤치마킹한 결과
C++ > Rust > C > Fortran > Julia > C# .NET > Ada > Free Pascal > F# .NET > OCaml > Java > Go

 
Anti-Aging : 노화 방지의 최신 기술

"향후 5~10년내에 인간의 노화를 늦추거나 되돌릴 수 있다는 증거들을 보기 시작할 것"
노화에 대한 기초 개념부터 노화방지에 관련된 최신 기술들까지 정리한 글
Ⅰ:왜 노화가 문제인가?
Ⅱ:노화가 되지 않는 세상은 어떤 모습일까 ?
Ⅲ:노화란 무엇인가 ?
Ⅳ:노화를 늦출 수 있을까 ?
Ⅴ:가장 유망한 노화 방지 전략들
ㅤ1. Parabiosis (혈액 교환)
ㅤ2. Metabolic Manipulation (대사조작, mTOR 억제제)
ㅤ3. Senolytics - 노화세포를 죽이는 약물
ㅤ4. Cellular Reprogramming (새포 재 프로그래밍)
ㅤ5. 그외
Ⅵ:결론
* 기타 추천 링크들

 
애플 M1칩의 메모리 접근 방식

"M1의 싱글코어는 28단계 이상으로 메모리를 병렬처리"
- 메모리 접근은 계산작업보다 비쌈
- 이론상 x에 접근할때 근처의 x+1 등은 공짜로 읽어올 수 있다는 naive한 모델은 합리적으로 보이기도 하지만, 성능 예측이 불가
- 어떨때 이 성능예측이 실패할까? CPU 코어는 동시에 여러곳의 메모리 접근을 시도함
- 7개의 메모리 접근을 동시에 한다면 1개에 접근 하는것 보다는 느리겠지만, 7배가 느릴까 ?
- 벤치마크 프로그램을 통해서 몇개의 동시접근(lane, 독립적인 포인터 추적 루틴)이 가능한지를 테스트
ㅤ→ 어느 정도선에서 동시 접근 성능이 떨어지는지를 통해서 몇개의 lane을 가지는지를 예측
- 애플 M1의 코어 하나는 28 lane이 넘어가면 성능이 떨어지는 것으로 봐서 28이라고 추측한 것
ㅤ→ 그래서 높은 수준의 병렬처리때문에 저 naive 한 모델의 비용예측은 실패한다고

전산 교수님이 쓰셔서 그런지 딱 자신이 파악한 사실만을 적어두셨는데..
해당글의 댓글과 HN의 댓글을 조합해서 보면 https://news.ycombinator.com/item?id=25659615
기본적으로는 M1이 28개 이상의 병렬화와 L1캐쉬의 사이즈 등 덕에 여러곳을 랜덤억세스 하더라도 훌륭한 성능을 보여준다 라고 이해하면 될 것 같습니다.

CPU 이야기가 나올 때마다

https://ridibooks.com/books/443000037

이 책이 큰 도움이 되고 있네여. 혹시 처음부터 따라가고 싶으신 분들은 이 책을 읽고 읽으시면 조금은 따라갈만 한 것 같습니다.

 
짐 켈러, AI 스타트업에 사장 겸 CTO로 취임

- 토론토의 AI칩 개발사 Tenstorrent
ㅤ→ 인간의 두뇌를 모방해서, 중복정보를 무시하고 인식된 개체에 따라 다르게 반응하도록 설계된 AI칩을 개발 하는 회사
- 짐 켈러는 AMD의 K7과 K8을 개발하고, 애플에 가서 A4~A5칩, 다시 AMD로 돌아가 Zen 아키텍처와 K12를 만든 사람
ㅤ→ K8의 리드 디자이너. 지금 인텔계열 메인 명령어셋인 x86-64 및 HyperTransport 를 만드는데 기여
- 2016년에 테슬라로 들어가서 자율주행용 고성능 AI칩을 개발
- 2018년에 Intel 에 들어갔다가 2020년 6월에 퇴직

짐 켈러는 CPU 관련해서 여러회사가 돌려 쓰는 외계인 으로 유명하죠.
( CPU 성능이 높아질때마다 외계인 잡아다 일시키는거 아니냐 했는데, 실제로 보니 한 사람..)

x86-64에 대한 얘기는 긱뉴스 팟캐스트 20화에 잠깐 다뤘습니다 https://youtu.be/F5sIQZvlJc8
AMD K8 은 인텔의 32비트 명령어를 호환하는 64비트 명령어세트인 x86-64가 처음으로 구현된 64비트 CPU 입니다.
32비트 x86을 만들었던 인텔은, 64비트로 넘어갈때 기존 32비트와 호환되지 않는 IA-64를 만들어서 밀다가 포기하고,
끝내는 AMD의 이 x86-64를 가져다가 현재의 64비트 CPU들을 만들게 됩니다. 현재 x64 는 바로 이 x86-64죠

 
DALL·E : 텍스트에서 이미지 생성하기

- 120억개 파라미터 버전의 GPT-3
- 텍스트-이미지 쌍으로 된 데이터 셋을 이용해서 텍스트 설명으로 부터 이미지를 생성하도록 훈련시킨 것
- 동물과 물체의 의인화된 버전을 만들거나, 관련없는 개념을 그럴듯하게 결합하거나, 텍스트 렌더링 또는 기존 이미지에 변형을 가하는 등 다양한 기능을 보여줌
ㅤ→ 속성 제어 : 형태, 색상, 재질, 나오는 횟수등
ㅤ→ 여러개의 객체 동시 그리기 및 관계를 표현
ㅤ→ 원근감 표현 및 3차원 시각화
ㅤ→ 내부 외부의 구조 표현 : 호두 내부, 뇌산호 등
ㅤ→ 상황별 세부 정보를 추론 : 상황에 맞는 그림자 표시 처럼 스타일/설정/시간을 바꿔서 표현
ㅤ→ 패션 및 인테리어 디자인
ㅤ→ 전혀 관련 없는 개념들을 조합 : 하프로 만들어진 달팽이, 아보카도 모양 의자
ㅤ→ Zero-shot visual reasoning
ㅤ→ 지리/시간정보에 기반한 이미지 생성

- DALL·E 는 텍스트 256, 이미지 1024개의 토큰을 단일 스트림으로 받아서 자동회귀방식으로 모델링하는 간단한 Decoder-only transformer

 
Descript - 오디오/비디오 협업 편집도구

- 팟캐스트,영상등을 구글 닥스처럼 실시간 협업 편집 및 댓글 기능
- 스크린 녹화, 영상통화 멀티트랙 녹음, 음성인식 받아쓰기(Transcribe)
- 받아쓰기한 글자를 편집해서 비디오/오디오 자체에 반영이 가능
- Overdub 으로 내 음성을 복제해서 특정 단어만 입력한 글자로 오디오 교체가능
- 단어 필터링기능으로 "음", "어", "you knows" 같은 것들만 삭제 가능
- 버전히스토리, 클라우드싱크, 공유폴더 기능 제공
- 팟캐스트 Audiogram (음성파형) 생성 기능
- Fancy Caption : 비디오의 전체 캡션을 자동 생성해서 다양한 스타일로 입혀줌
- 무료는 1개 프로젝트만 가능하고, 단게별 유료 구독모델로 사용 가능

아쉽게도 많은 기능이 영어 Transcribe 으로 음성인식된 텍스트를 통해 타임라인을 생성하고 편집하는 것이라
우리가 쓰기에는 좀 안맞지만 요즘 비디오/오디오 공동 편집이 이 정도 기능이 된다는 수준으로 한번 둘러 보시면 좋겠습니다.

Um, Uh 같은거만 지워주는 기능도 재미나네요.
제가 유튜브 녹화해보니 은근 말버릇이 있더군요.
이런거만 삭제하고 올려도 팟캐스트가 듣기 좋아집니다.

 
Hadolint - 도커파일 린터

"Haskell Dockerfile Linter"
- 베스트 프랙티스에 기반한 도커 이미지를 만들수 있게 도와주는 도구
- Dockerfile을 AST로 파싱해서 룰기반 검증
- 다양한 CI/코드리뷰/에디터 도구들과 연동 가능
ㅤ→ Travis CI, GitHub Actions, CircleCI, Jenkins, Cdacy, VS Code, Vim, Emacs, SublimeText 등
- 온라인 버전 제공 https://hadolint.github.io/hadolint/

 
콘텐츠 마케팅 2021 가이드

1. 비디오 콘텐츠에 더 투자
ㅤ→ 유튜브 15초 인트로가 중요
ㅤ→ 유튜브 "추천 동영상"에 최적화 하기
2. 이메일의 귀환
ㅤ→ 블로그 첫화면을 뉴스레터 구독페이지로
ㅤ→ 토픽 업그레이드
3. 콘텐츠 마케팅 스케일하기
ㅤ→ 뭔가를 만들려 하지 말고, 하는 걸 문서로 적어보기
ㅤ→ 팀 구성
4. "원본 소스"가 되는 콘텐츠 만들기
ㅤ→ 남들이 인용할만한 흥미로운 데이터 기반의 글
ㅤ→ 시각화 하기
5. 새로운 주제에 뛰어들기
ㅤ→ 구글 트렌드 쿼리
ㅤ→ Exploding Topics
6. 에픽 콘텐츠 만들기
ㅤ→ 풍부한 내용의 깊고 인상적이면서 품질 좋은 콘텐츠
7. 콘텐츠 용도 변경 2.0
ㅤ→ 콘텐츠를 다양한 매체에 맞게 변화
ㅤ→ 일부분만 재사용
8. 2021년 콘텐트 마케팅 전략
ㅤ→ 트위터 쓰레드 사용
ㅤ→ 초 개인화된 이메일
ㅤ→ 링크드인 포스트 활용

 
Unclack - 키보드 칠 때 마이크를 꺼주는 맥용 앱

- 화상 회의/영상 통화시 키보드 소리가 들어가지 않도록 자동으로 마이크를 꺼주는 앱
- macOS 시스템 기능을 활용해서 어떤 마이크/영상통화 소프트웨어든 모두 지원
- 켜두면 자동으로 키보드 입력을 감지해서 마이크를 음소거/해제

마이크를 아예 꺼두면 되지 싶다가도, 회의중에 마이크 끄고 켜는게 애매하니 나름 쓸만할 것도 같습니다.
Zoom은 스페이스바로 쉽게 뮤트/언뮤트 가능해서 그나마 편하긴 합니다만, 다른 것들은 그렇지 않아서요

https://krisp.ai 는 소리를 통과시키면서 처리를 하는 건데,
이건 키보드 입력 이벤트를 받아서 처리는 방식인가 보네요.

전 Krisp 은 일반 통화시에는 괜찮은데, 유튜브 영상 녹화시에는 다른 문제가 생겨서 못쓰고 있습니다.

 
게임기들의 구조

게임기들은 PC와 유사하면서도, PC와는 다른 구조를 취하는 구조를 가진 독특한 컴퓨터입니다. 왜냐하면 게임기의 목적은 MS 오피스나 Visual Studio를 켜기 위한 게 아니라. PC와 비교적 저렴한 가격으로, 더 높은 그래픽 수준을 뽐내기 위한 것이니까요.

특히 요즘에야 사용자들의 컴퓨터에 무지막지한 그래픽 카드가 달려있기 때문에 PC보다 콘솔이 더 좋은 그래픽을 보여주는 데 한계가 있지만. 옛날에는 상황이 정반대였습니다. PC에는 그래픽 카드는 커녕 뿌릴 수 있는 게 초록색이나 흑백이었고, 가격도 비쌌었죠. 하지만 NES는 풀컬러에 부드럽게 움직이는 마리오도 있었습니다. 가격도 PC랑 비슷했고요.

이 페이지는 과거 NES 시절부터 2000년 대 초반 등장한 XBOX 시절까지 게임기들이 어떤 구조를 취해서 그런 멋진 일들이 가능했는지 설명해주는 페이지입니다.

 
GitHub이 구축한 온콜 문화

GitHub은 Ruby on Rails로 구성된 커다란 모노리스 시스템이었다.

# 모노리스 온콜 구조에서 가장 어려웟던 부분

- 크고 많은 제품과 기능이 포함되어 있었기에 대부분의 엔지니어가 코드베이스를 충분히 이해하지 못하고 온콜때 장애에 대응할 수 있다고 자신하지 못함. 호출받았을때 다른 팀에 에스컬레이팅하면서 엔지니어 보다는 연결 운영자처럼 느껴지게 되었다.
- 온콜간의 간격이 길었고 한번 온콜은 24시간 이었다. 엔지니어는 1년에 4번이내로 온콜을 했고 온콜 중 충분한 컨텍스트를 얻지 못했다.
- 모니터링과 경고시스템이 여러 팀에 분산되었고 온콜을 24시간만 경험하므로 온콜 모니터링과 문서가 잘 유지되지 않았다.
- 대부분의 엔지니어가 모노리스 온콜에 자신이 없었기 때문에 전체 시스템을 잘 아는 5~10명이 모든 프로덕션 장애에 참여하게 되고 온콜 책임의 불균형이 발생했다.

# 새로운 온콜 문화

## 업무 조직상의 장애물
- 파일오너쉽을 명확히 하도록 서비스 카탈로그를 만들어서 파일을 서비스에 매핑하고 서비스를 다시 팀에 매핑했다.
- 모니터링과 알림이 모노리스 전체에 설정되어 있어서 각 팀이 책입지는 영역의 모니터링을 만들도록 했다.
- 이 작업을 할 팀이 많아서 팀마다 GitHub에 이슈를 만들고 체크리스트를 제공했다.

## 문화적 교육적 장애물

- 판데믹이 사람들에게 부정적인 영향을 끼쳐서 기존에 생각한 것보다 더 공감우선 접근을 해야했다.
- 대부분의 엔지니어가 온콜 경험도 없고 운영 경헙도 많아서 교육을 만들어서 제공했다. 온콜 전문가와 근무시간을 설정하고 충분한 도구와 문서를 만들고 도움받을 수 있는 Slack 채널을 만들었다.
- 많은 엔지니어가 온콜이 삶에 얼마나 영향을 줄지 걱정했다. 경험이 많지 않으면 온콜 중 일상 생활의 시간을 조정하는 것이 어려울 수 있다. 이를 위해 온콜 전문가들의 팁/트릭을 정리하고 호출을 놓쳤을 때 다른 사람이 백업할 수 있게 하는 등의 조치를 취했다. 이건 익숙치 않음의 문제라서 훈련보다는 온콜을 여러번하면서 시간이 지나야 편안함을 느끼게 될 것이다.
- 온콜에 잘 대응하지 못할까봐 걱정이 많았기 때문에 실수를 저질러고 괜찮고 아무리 잘해도 장애는 발생할 수 밖에 없다는 안정감을 주려고 하고 있다.
- 제품마다 심각도 수준이 다르므로 어떤 팀은 5분내에 응답해야 하지만 어떤 팀은 다음날 처리해도 된다. 어떤 사람들은 이것이 불공평하다고 얘기하지만 엔지니어마다 관심사가 다른 것일 뿐이다.
- 변경사항을 적용하면서 각 팀이 온콜 경험을 개선시키는데 많은 시간을 쓸 수 없다. 온콜이 제대로 이루어지지 않을때 온콜 프로세스를 개선해야 한다. 팀에게 ~20%를 기술 부채를 갚는데 사용하고 ~20%를 온콜 경험을 개선하는데 써야 한다고 전달했고 리더쉽의 장기적인 관점이 필요하다.

 
Thonny - 초보자를 위한 Python IDE

- 윈/맥/리눅스
- 파이썬 3.7을 내장해서 IDE설치만으로 사용 가능
- 사용하기 편한 디버거
ㅤ→ 브레이크 포인트 없이 문장별 실행
ㅤ→ 변수 값 보기
ㅤ→ 함수 호출시 새 윈도우에서 로컬변수 및 콜스택 보기
ㅤ→ 문법 에러표시
ㅤ→ 변수 스코프 시각적으로 표시
- CPython, MicroPython 지원
- 2017년 부터 Raspberry Pi OS에 기본 내장

 
DOSBox-X : DOS 에뮬레이터

- DOS, Windows 3.x ~ 9x 지원
- 기존 DOSBox 대비 더 유연하고 다양한 기능 지원
ㅤ→ GUI 드롭다운 메뉴 및 설정 도구
ㅤ→ 상태 저장/로드 지원
ㅤ→ 자동 드라이브 마운팅(윈도우)
ㅤ→ 더 훌륭한 DOS 호환성
ㅤ→ 4DOS 지원
ㅤ→ ZIP/7Z 압축파일을 드라이므로 마운트 가능
ㅤ→ 패러럴 포트로 프린트 기능 지원 (실제/가상)
ㅤ→ FAT32 지원
ㅤ→ CPU 속도 최적화 및 터보모드
ㅤ→ Win 3.x ~ 9x 지원
ㅤ→ Novell NE2000 네트웤 어댑터 에뮬레이션 지원
ㅤ→ DirectX & Direct3D 픽셀쉐이더 지원
ㅤ→ 일본 NEC PC-98 모드 에뮬레이션 지원
ㅤ→ SDL2 지원 (Simple DirectMedia Layer)
- 윈도우/맥/리눅스/DOS 용 바이너리 제공