[GN#47] JavaScript의 세번째 시대

2020-05-25 ~ 2020-05-31 사이의 주요 뉴스들
개발자들이 가장 많이 찾는 웹사이트 중 하나인 StackOverflow의 매년 설문조사 결과를 보면, JavaScript가 8년 연속으로 가장 인기 있는 개발언어 자리를 차지하고 있습니다. 가장 사랑받는 언어로는 Rust가 5년째 선택되긴 합니다만, 아직 현업에서 가장 많이 쓰이는 언어는 자바스크립트인 것 같습니다. 이제는 이름도 생소해져 버린 Netscape에서 10일간의 해킹을 통해 Java의 보조언어로 개발된 JS는 처음 목적과는 약간은 다른 방향으로 성장하여 이제는 웹을 지배하는 언어가 되었는데요. JS 언어 자체가 10년 단위로 변화를 해와서 올해가 그 세 번째 변화의 시작이며, 아마도 이번이 마지막 변화가 될 것이라고 주장하는 글을 이번주 긱뉴스 위클리의 메인으로 선정했습니다. 과연 JavaScript는 죽게 될까요 ?

AWS는 이제 정말로 거대해져서 어떤 서비스를 사용해야 할지를 알기 위해서 카탈로그를 보고 공부해야 하는 수준이 되었는데요. 이런 수많은 AWS 서비스들을 각각 한 줄로 설명한 페이지가 인기를 끌었습니다. 이와 함께 "구글 클라우드 아키텍처 레퍼런스"도 같이 보시면 좋을 것 같아요.

Micro Frontend는 "API G/W 기반 MSA로 구분된 백엔드 처럼 App Shell 등 기반으로 프런트엔드를 모듈로 분리" 하는 것을 의미합니다. 현재 Micro Frontend는 어떤 상태이고, 어떤 도구들이 나와 있는지 살펴보세요.

✓ 사내에서 슬랙을 쓰신다면 뉴스채널에 GeekNews SlackBot 을 추가하여 편하게 새 글을 받아보시고, 멤버들에게도 공유해주세요.
✓ 주위분들께 https://news.hada.io/weekly 를 추천해 주세요.
✓ 스팸함에 들어가지 않게 news@hada.io 를 주소록에 추가해주세요.
Twitter , Facebook 에서도 긱뉴스를 받아 보실 수 있습니다.


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


JavaScript의 세번째 시대

10년단위로 JS의 변화가 와서 2020년이 세번째 시대의 시작이라는 주장
1st 1997~2007 언어의 시작
2nd 2009~2019 언어의 확장 : 노드,npm,ES5..
3rd 2020~ 레거시 가정들을 없애고 툴간의 계층을 축소하기 시작
ㅤ→ CommonJS에 대한 의존성 제거
ㅤ→ JS툴이 JS로만 만들어져야 한다는 가정 : TypeScript, Deno, Relay
ㅤ→ "Functional Core, Imperative Shell" 에서 "Systems Core, Scripting Shell" 로 이전
ㅤ→ 계층 축소: Deno는 테스팅/포매팅/린팅/빌드 도구를 내장
ㅤ→ 10년전에는 없었던 다양한 클라우드들 : Lambda 부터 Glitch, Repl.it, Condesandbox, Github Codespaces, Stackblitz
ㅤ→ Svelte 는 애니메이션부터 State Management까지를 Compiler에 담음
ㅤ→ React의 Meta-Framework화 및 클라이언트/서버 연동
ㅤ→ Vue 는 Vite프로젝트로 Unbundler 개발 서버를 만드는 중

3세대 JS 도구들은
- 더 빠르고
- ESM first
- Collapsed Layers : 한가지 도구가 여러가지 일을 잘 함
- Typesafe-er : TypeScript 코드를 별다른 설정없이 어디서나 사용 가능
- Secure-er : 의존성 및 권한 등에서
- Polyglot : 여러개의 언어를 같이 사용
- Neo-Isomorphic : JS 코드가 빌드시 또는 클라이언트 도달전 서버에서 먼저 실행

* 이 모든 것들의 결과로 좀 더 나은 개발자 경험(빠른 빌드,표준 툴링) 및 사용자 경험(더 작은 번들, 빠른 기능 배포)을 제공하게 될것
* Site Scripting Toy 에서 Full Application Platform 으로 바뀌는 JavaScript의 마지막 변화

* JavaScript는 죽게 될까 ?

JS 수명은 2035년까지 라는 Gary Bernhardt의 예상이 맞다면 3세대는 JavaScript의 마지막이 될 것.
Brendan Eich 는 JS가 "Universal Virtual Machine"이 될수 있다던 생각에서 "WASM이 그 자리를 차지하게 될 것"이라고 변경.

만약 둘의 의견이 맞다면 "우린 가망이 없어" (원문은 We're in the Endgame now = 이제 최종 단계야)

 
왜 인터넷은 근본부터 글러먹었는가: 코로나19와 한국 인터넷의 해외접속 장애, 그리고 넷플릭스 전쟁에 관한 이야기

- 사실 인터넷에는 국경이 있다: 간략한 역사
- 인터넷에서의 권력: 통행세를 내던가, 지구를 한 바퀴 돌아가던가
- 모든 패킷은 평등할 것이니: 망중립성 원칙
- 페이스북과 넷플릭스 전쟁: 왜 인터넷 하나 때문에 고통받아야 하는가
- 결론: 진정한 국경 없는 인터넷을 위하여

현재 이슈인 넷플릭스 이슈에 대해서 차근차근 잘 설명하는 글이네요.

오픈넷 측에서는 실제로는 국내 CP만 역풍을 맞게 될거라고 비판했습니다.
http://news.tf.co.kr/read/economy/1794339.htm

글 후반에 있는 BGP 에 대해서는
ㅤ→ BGP는 안전한가요? https://news.hada.io/topic?id=1932

 
AWS 서비스들을 각각 한 줄 안에 설명한 사이트

AWS 서비스들을 한 줄씩 설명한 사이트입니다. 개인적으로 AWS를 볼 때마다 압도적인 제품 리스트에 아연질색 했었는데, 참고용으로 한번 읽고 고르기 좋아보이네요.

https://aws.amazon.com/ko/ 중간에도 각 서비스에 대해 짧게 한글로된 설명이 있습니다.
비교하면서 한번 보셔도 좋아요.

비슷한 자료들

Amazon Web Services In Plain English https://expeditedsecurity.com/aws-in-plain-english/
AWS Services in simple terms https://netrixllc.com/blog/aws-services-in-simple-terms/

 
Starthouse - 스타트업 Pitch Deck 모음

- 페이스북/AirBnB/포스퀘어/WeWork/Uber 부터 다양한 규모 회사들의 초기 투자자용 발표자료 모음
- 현재 600+개의 스타트업 피치 덱을 정리
- 회사명 검색 가능

 
Quickref - 개발자들을 위한 실험적인 검색엔진

- 각종 공식문서와 개발자커뮤니티/QA 사이트,블로그,Repo 등만을 검색해서 결과를 보여줌
- Bing 검색 기반 (Azure 위에서)
- JS/쿠키없고 별도 트래킹 코드를 사용하지 않음

오픈소스는 아닌데, 어떤 사이트들을 인덱싱하는지는 깃헙에 공개되어있습니다.
https://github.com/freetonik/quickref.dev/tree/master/sites

커뮤니티/블로그 와 QA 사이트 리스트는 참고할만 하네요

 
사용자 입력받을시 확인해야 할 문자열들 리스트

- 장난 용도로 많이 쓰이지만, 시스템에 입력되면 문제가 발생할 수도 있는 문자열들을 종류별로 구분하여 정리
- 시스템 테스트하는 용도로 사용 가능
ㅤ→ 예약 문자열
ㅤ→ 문자열이지만 숫자인 것 : 1E+02 등
ㅤ→ 유니코드 심볼 / 공백 문자열 / 이모지 등과 각종 트릭
ㅤ→ 소문자로 변경되면 2바이트 가 3바이트로 변경되는 문자 : Ⱥ , Ⱦ
ㅤ→ Script / SQL / Server Code / XXE 등 Injection
ㅤ→ 윈도우의 특별 파일명 : CON/PRN/COM1등
ㅤ→ 특정 iOS버전에서 크래쉬 내는 문자열들

 
Rough Notation - 웹페이지에 손으로 그린듯한 Annotation 넣기

- RoughJS를 이용한 3.2kb 라이브러리
- 애니메이션 시간 및 딜레이 조정 가능
- Underline, Box, Circle, Highlight, Strike Through, Crossed-Off

현재 프론트엔드랑 같이 쓰고 싶다면 아래 Wrapper 들 이용
- React Wrapper https://github.com/linkstrifer/react-rough-notation
- Svelte Wrapper https://github.com/dimfeld/svelte-rough-notation
- Vue Wrapper https://github.com/Leecason/vue-rough-notation

Rough.js 4.0 릴리즈 - 손으로 그린듯한 이미지를 만드는 라이브러리 https://news.hada.io/topic?id=1381
roughViz - 손으로 그린듯 한 느낌의 차트 생성용 JS 라이브러리 https://news.hada.io/topic?id=736

 
Vim 도대체 왜 쓰는가

과거에 vim 사용을 장려하던 사람이 정작 vim의 장점을 남들에게 제대로 설명하지는 못한다는 것에 고민하다, 결국 vim 사용 장려나 vim이 좋다는 인식에 관해 반대하게 되었다는 내용으로 글을 썼습니다. (한국어) 작성된 지는 약 1년 이상 지난 글이지만, 지금 와서 읽어도 큰 문제는 없어 보입니다.

p.s.
덤으로, vim의 전신인 vi의 사용자 인터페이스가 왜 이런 형태가 되었는지에 관해 간략히 설명한 글(한국어)도 함께 소개합니다.
https://j.mearie.org/post/1474860813/vim-vi-and-their-interfaces

 
모질라 재단, Fix-The-Internet 인큐베이터 시작

- 인터넷을 개인/사용자/커뮤니티에게 되돌려주는 아이디어에 펀딩하는 글로벌 프로젝트
- 100% 원격/온라인 진행
- 주 카테고리 : 협업&사회 지원, 탈중앙화 웹, 메시징&소셜네트워킹, 감시 자본주의, 잘못된 정보 및 콘텐츠, 인공지능, 웹어셈블리, 검색
ㅤ→ 여기에 한정되지는 않음
- 3개 프로그램
ㅤ→ Startup Studio : 초기 스타트업에 $75,000 투자
ㅤ→ MVP Lab : 프리 스타트업/오픈소스팀 등에 $16,000 투자
ㅤ→ Open Lab : 커뮤니티 프로젝트에 $10,000 투자 ( 위 2개 프로그램 참가팀주에서 선별 )
- 팀이 없는 개인 참가자들이 팀을 찾을수 있도록 깃헙 Repo 와 Slack 채널도 오픈

Who We Fund 에 어떤 아이디어와 팀을 찾는지 알 수 있습니다. https://builders.mozilla.community/who-we-fund.html

팀 또는 팀원을 찾는 사람들이 올리는 깃헙 이슈 리스트
https://github.com/fix-the-internet/mozilla-builders/issues

 
Obsidian - MarkDown 기반 데스크탑 지식정리 도구(Knowledge Base)

- CommonMark + GFM(GitHub) 형식 마크다운 지원
ㅤ→ 코드 구문강조, 테이블, LaTeX, 주석 등
- 맥/윈/리눅스
- 내부링크 자동추천 및 그래프 뷰 보기 제공
- 여러개의 노트를 동시에 보는 Mux 뷰 제공
- 다양한 플러그인 : 프리뷰, 백링크, 데일리 노트, Tag보기, 랜덤보기, 음성 녹음, 발표용 슬라이드 만들기
- 개인용은 100% 무료
- 유료 버전에서는 서버 싱크 및 Publish 용 호스팅도 제공 예정

 
LineIcons - 500+개 이상의 무료 웹/앱용 라인 아이콘들

- 무료버전 514개, 유료는 2000+개
- 웹폰트, SVG 포맷으로 제공 ( 유료는 AI, PNG 및 PDF도 제공 )
- 무료 버전도 상업용으로 사용 가능

CoreUI Icons - 1500+개의 오픈소스 아이콘 셋 https://news.hada.io/topic?id=1158
Remix Icon - 오픈소스 아이콘 1700+개 라이브러리 https://news.hada.io/topic?id=291
Nerd Fonts - 개발자용 폰트 + 3000개 아이콘 https://news.hada.io/topic?id=976
500개 이상의 CSS 아이콘들 https://news.hada.io/topic?id=1139

 
KT, mVoIP 사용 제한 전면 폐지

한국 이동통신사들은 2012년 카카오톡에서 음성채팅 서비스인 [보이스톡]이 시작되자 3G 및 LTE 요금제 중 고가의 소위 ‘무제한’ 요금제가 아니면 mVoIP 사용을 금지하거나 혹은 사용량을 일정 수준으로 제약하는 조치를 취하고 있었습니다. 그런데 이 기사(한국어)에 따르면, KT가 이러한 mVoIP 사용 제한을 모든 요금제에서 폐지하였다고 합니다. 이는 KT의 중·저가형 요금제를 사용하는 사람들이 보이스톡이나 페이스타임 등의 서비스를 Wi-Fi에 연결하지 않은 채 휴대전화 데이터로도 제약 없이 사용할 수 있다는 것을 의미합니다.

 
VirtualBox용 macOS 이미지를 원클릭으로 만들기

- 사용자 조작 필요없이 애플서버에서 직접 내려받아서 자동생성하는 Bash 스크립트
- macOS High Sierra, Mojave, Catalina 지원
- cygwin, Mac, WSL, centOS 어디서든 빌드 가능

- 성능향상을 위해서는 VMDK 형식으로 이미지 만든후, QEMU with KVM 에 임포트해서 사용하면 네이티브 수준으로 사용 가능
- OpenCore를 이용하면 Audio 나 Display Scaling, FileVault 도 이용은 가능 ( 스크립트가 OpenCore를 설치해주진 않음 )

조금 더 복잡하긴 하지만 QEMU/KVM 에 OpenCore까지 적용되는 OSX-KVM 도 있습니다.
https://github.com/kholia/OSX-KVM

OpenCore - 해킨토시 부트로더 가이드 https://news.hada.io/topic?id=1925

맥에서 뭔가를 테스트해봐야 하는데 맥장비가 없을때 간단히 사용하기 좋네요

 
StackOverflow 개발자 설문조사 2020

- 전세계 65,000명 개발자 대상

- 가장 인기 있는 기술
ㅤ→ 언어,스크립트 : JavaScript > HTML/CSS > SQL > Python > Java
ㅤ→ 웹프레임워크 : jQuery > React > Angular > ASP.NET > Express
ㅤ→ 그외 프레임워크 : Node.jS > .NET / Core > Pandas > TensorFlow > React Native > Unity 3D
ㅤ→ DB : MySQL > PostgreSQL > MS SQL > SQLite > MongoDB
ㅤ→ Platform : Linux > Windows > Docker > AWS > Android

Loved(사용중이고 계속 이거만 쓰고 싶은)
Dreaded(사용중이지만 기피하고 싶은)
Wanted(안써봐서 관심있고 써보고 싶은)

- 언어
ㅤ→ Loved: Rust > TypeScript > Python> Kotlin
ㅤ→ Dreaded: VBA > Obj-C > Perl > Assembly
ㅤ→ Wanted: Python > JavaScript > Go > TypeScript
- 웹프레임워크
ㅤ→ Loved: ASP.NET Core > React.js > Vue.js > Express > Gatsby
ㅤ→ Dreaded: Angular.js > Drupal > jQuery > ASP.NET > Symfony
ㅤ→ Wanted: React.js > Vue.js > Angular > Django > Angular.js

- 기타프레임워크
ㅤ→ Loved: .NET Core > Torch/PyTorch > Flutter > Pandas > Teraform
ㅤ→ Dreaded: Chef > Cordova > Puppet > Xamarin > Hadoop
ㅤ→ Wanted: Node.js > TensorFlow > React Native > Flutter > Unity 3D

- Database
ㅤ→ Loved: Redis > PostgreSQL > ElasticSearch > MongoDB > FireBase
ㅤ→ Dreaded: IBM DB2 > Oracle > Couchbase > Cassandra > MySQL
ㅤ→ Wanted: MongoDB > PostgreSQL > ElasticSearch > Redis > Firebase

- 플랫폼
ㅤ→ Loved: Linux > Docker > Kubernetes > AWS > Raspberry Pi
ㅤ→ Dreaded: Wordpress > IBM Cloud or Watson > Heroku > Slack Apps > Arduino
ㅤ→ Wanted: Docker > AWS > Kubernetes > Linux > Android

개발환경
ㅤ→ Windows 45.8%
ㅤ→ MacOS 27.5%
ㅤ→ Linux-based 26.6%

협업도구
ㅤ→ GitHub 82.8%
ㅤ→ Slack 53%
ㅤ→ Jira 47.7%
ㅤ→ G-Suite 41.5%
ㅤ→ GitLab 37%
ㅤ→ Confluence 32.4%
ㅤ→ Trello 29.6%
ㅤ→ MS Teams 25.6%

- 직군별 연봉 순위 : 글로벌/미국
ㅤ→ Engineering Manager $92k/$152k
ㅤ→ Site Reliability Engineer $80k/$140k
ㅤ→ DevOps Specialist $68k/$125k
ㅤ→ Data Engineer $65k/$125k
ㅤ→ Machine Learning Specialist $58k/$125k

- 기술별 연봉 순위 : 글로벌
ㅤ→ 글로벌 : Perl $76k > Scala $76k > Go $74k > Rust $74k > Ruby $71k
ㅤ→ 미국 : Scala $150k > Go $140k > Obj-C $135k > Kotlin/Perl/Ruby/Rust $130k > C/Swift $125k

- DevOps 있는 조직 43.8%

- 새 Job을 찾는 이유
ㅤ→ 더 나은 보상(연봉 보너스 스톡 등등) 70%
ㅤ→ 새 기술 사용가능 58.5%
ㅤ→ 다른 기회 57.1%
ㅤ→ 성장 기회 52.9%

- 구직중 회사에 대한 상세 정보는 어디서 얻나
ㅤ→ Glassdoor 및 Blind 69.6%
ㅤ→ 회사 블로그 및 회사 문화 소개 영상 65.3%
ㅤ→ 지인 63.4%

- Job 선택의 주요 조건
ㅤ→ 사용하게 될 언어/프레임워크/기술 53.1%
ㅤ→ 업무 환경 및 회사 문화 44.5%
ㅤ→ 자유로운 근무시간 및 스케줄 43.9%
ㅤ→ 기술 향상 기회 41.4%

- 나는 Full-stack 개발자다 : 55%
- 취미로 업무시간외에도 코딩한다 : 78.2%
- 실무 코딩 연차 : 5년이하 39.6%, 5~9년 26.8%, 10~14년 14.7%

- 처음으로 코딩한 나이
ㅤ→ 10세 이하 8.9%
ㅤ→ 10~16세 54%
ㅤ→ 20대에 코딩 시작 약 10%
ㅤ→ 30세 이상에서 시작 1.7%

- Gender : 복수 응답 가능
ㅤ→ 남성 91.5%
ㅤ→ 여성 8.0%
ㅤ→ Non-binary, genderqueer, or gender non-conforming 1.2%

- OverTime :
ㅤ→ 절대 안함 10%
ㅤ→ 일년에 1-2일 15%
ㅤ→ 분기당 1-2일 21.9%
ㅤ→ 월 1~2일 26.7%
ㅤ→ 주 1~2일 25.5%

- 주당 근무시간 ( 글로벌 평균 )
ㅤ→ 30시간 이하 7.4%
ㅤ→ 30~34 3.6%
ㅤ→ 35~39 13.5%
ㅤ→ 40~44 51.7%
ㅤ→ 45~49 11.2%
ㅤ→ 50~54 7.0%

 
Snowpack 2.0 릴리즈

- Webpack 보다 현대적인 빌드 시스템
- 개발시에 번들러 제거하고 ES Module을 활용해서 빠름
- TypeScript, JSX, CSS Modules, HMR 등 지원
- create-snowpack-app 스타터
- 최종배포 시에는 번들러 사용 권장 : 내부적으로 Rollup 사용, Webpack/Parcel 플러그인도 제공

Snowpack - 웹앱을 번들러 없이 빠르게 빌드해주는 도구 https://news.hada.io/topic?id=1267

Snowpack vs Webpack https://blog.logrocket.com/snowpack-vs-webpack/
- Webpack 은 2012년에 나와서 ES Modules 이 나오기 전이고,
ㅤSnowpack 은 2019년에 나와서 ES Modules 를 적극 활용
- 배우기엔 Snowpack 이 쉽고, 속도도 빠름.
- 확장성은 WebPack 이 낫지만 새로 시작한다면 Snowpack을 추천

 
Micro Frontend의 현재

- 마이크로 프론트엔드란 무엇인가
ㅤ→ API G/W 기반 MSA로 구분된 백엔드 처럼 App Shell등 기반으로 프론트엔드를 모듈로 분리
- 프레임워크 및 헬퍼들
ㅤ→ Client : Piral, Open Components, qiankun, Luigi, Flint.js
ㅤ→ Server : Mosaic, PuzzleJS, Podium, Micromono
ㅤ→ Helper : Module Federation, Siteless, Single SPA, Postal.js, EventBus

글 작성자가 Piral 의 메인 컨트리뷰터 인 것은 알고 보시면 좋을듯 합니다.

Martin Fowler 의 Micro Frontend 도 참고하세요 [한글 번역] https://medium.com/@juyeon.kate/…

실제 App Shell 이나 UI Engine 개념들에 대한 소개는 아래 글이 좀더 자세합니다.
Breaking down the last Monolith - Micro Frontends https://dev.to/aregee/…

토스의 마이크로프론트엔드 아키텍처, 그리고 자동화 https://speakerdeck.com/raon0211/…

 
2020년 현재 가장 유용한 iOS 라이브러리 10개

1. Alamofire - HTTP Networking
2. RxSwift
3. Kingfisher - 이미지 캐슁
4. Lottie - 애니메이션
5. SwiftLint
6. SnapKit - 오토 레이아웃
7. SwiftyBeaver - 로깅
8. KeychainAccess - 쉬운 키체인 도구
9. Hero - 키노트 Magic Move와 비슷한 뷰 트랜지션 라이브러리
10. OHTTPStubs - 네트웍 Mocking용 스텁
그외. Prince of Versions, Loggie, Japx, Locker

 
Piranha - Uber의 피쳐플래그 자동 리팩토링 오픈소스

- iOS/Android앱에 특정기능을 점진적 배포하기 위한 Feature Flag 작성 시, 100% 배포후 해당 분기 코드를 자동으로 제거해주는 도구
ㅤ→ 플래그 & API 제거후, 미도달되는 코드/테스트까지 모두 정적 코드 분석하여 제거
- Java, Swift, Obj-C 지원
ㅤ→ Java : Error Prone 플러그인
ㅤ→ Swift : SwiftSyntax 기반
ㅤ→ Obj-C : AST Matchers 기반 Clang 플러그인

 
JetBrains가 사랑하는 Java의 25가지 특징

InteilJ IDEA로 유명한 JetBrains 블로그의 글입니다. Jetbrains는 오랜 기간동안 Java로 IDE를 개발해왔는데요. 자바 개발자가 아닌 사람들에게도 "자바의 장점은?" 을 설명할 수 있는 글인것 같습니다.

원문은 영어지만, Jetbrains 한국 블로그에서 번역해주었습니다.

 
문제 해결, 의사 결정, 시스템적 사고를 도와주는 도구 및 프레임워크 모음

문제 해결
→ Issue Trees
→ First principles
→ Abstraction Laddering
→ Inversion

시스템적 사고
→ Iceberg Model
→ Connection Circles
→ Balancing Feedback Loop
→ Reinforcing Feedback Loop

의사결정
→ Confidence determines speed vs. quality
→ Second-order thinking
→ Hard Choice Model
→ Decision Matrix

 
NASA의 눈: 태양계 내부 실시간 시뮬레이션

태양계 내부의 태양, 행성, 위성, 소행성, 혜성, 그리고 ISS나 우주 탐사선 등 각종 인공물의 현 시각 모습과 위치를 축척에 맞게 실시간 시뮬레이션으로 볼 수 있는 웹사이트입니다. (영어) 특히 각종 우주 탐사선 또한 모델링이 잘 되어 있어서, 과학책이나 교과서에서 이름만 보던 탐사선의 모양도 자세히 알 수 있습니다.

좀 더 나은 사용자 경험을 위해서는 웹사이트가 아니라 전용 앱을 설치하는 것이 권장됩니다. 해당 앱은 다음 웹사이트에서 다운로드받을 수 있습니다.

공식 홈페이지 : https://eyes.nasa.gov/

 
htmx - high power tools for HTML

- HTML 내에 AJAX, WebSockets등을 직접 쓸 수 있게 하는 라이브러리
- 7kb, 의존성 없고, IE11 호환 및 확장 가능
- intercooler.js 의 후속
- 모든 엘리먼트에 속성을 추가하여 동작을 지정
ㅤ→ hx-trigger : click, change, submit, mouseenter 에 트리거. once 를 통해서 한번만 실행하게 설정 가능. delay:100ms 로 지연도 설정
ㅤ→ hx-post, hx-get 등 : POST/GET/PUT/PATCH/DELETE HTTP Request 호출
ㅤ→ hx-target : 요청 결과를 보낼 엘리먼트 지정
ㅤ→ hx-swap : 요청 결과를 교체하는 방식 지정. innerHTML, outerHTML, afterbegin, beforebegin, beforeend, afterend
ㅤ→ hx-ws : 웹소켓 연결
ㅤ→ hx-sse : Server Sent Events 받기
ㅤ→ hx-push-url : 브라우저 히스토리에 저장
- htmx.logger 로 모든 이벤트 로깅 가능
- 확장 : json-enc, morphdom-swap, client-side-templates, path-deps, class-tools

이전 버전인 intercooler.js 의 jQuery 의존성을 제거하고 더 깔끔하게 태그를 정리했네요.

 
git-fuzzy - fzf를 이용한 인터랙티브 git

- git 명령시 fzf 를 이용한 선택 및 커서 이동 지원
- add, reset, commit, status, branch, log, reflog, diff 등을 편하게
- delta, bat, exa 등과 잘 연동

delta - git/diff Syntax-Highlighter https://news.hada.io/topic?id=2043
bat - Syntax Highlighting 되는 cat https://news.hada.io/topic?id=1985
ls보다는 exa를 사용하자! 모던 리눅스 명령어 소개[번역] https://news.hada.io/topic?id=1891

 
loginsrv - MSA용 OAuth2지원 로그인 마이크로서비스

- OAuth2(GitHub,Google,Facebook등),
ㅤOSIAM,Htpasswd(웹서버),Httpupstream 등의 인증 지원
- 각종 프로바이더에 로그인후 JWT(JSON Web Token)로 리턴
- MSA 용 로그인 스탠드얼론 서버/도커/Golang 라이브러리/Caddy 플러그인 으로 사용가능

Caddy 2 릴리즈 - 성능 좋고 간편한 HTTPS 자동 지원 웹서버 https://news.hada.io/topic?id=2028

 
SpaceX 한 또라이에게 배움

2020년 5월 30일, 설립한지 불과 18년된 회사가 유인우주선을 성공적으로 발사시켰다. 물론, 발사에 쓰인 1단 로켓은 안정적으로 대서양의 바지선(Of Course I Still Love You)에 안착했다. SpaceX 과연 어떠한 회사이길래 18년만에 이러한 기적같은 일을 이루어 냈을까? 그것이 궁금하여 공부하면서 정리한 SpaceX의 파란만장한 이야기

01 들어가며
02 왜 하필 로켓이었을까?
03 Goliath and David
04 Why LA?
05 실천 베이스에 운(Luck) 한 꼬집
06 연봉보다는 꿈을 주는 일자리
07 Falcon 1 Rocket을 개발하기 위한 사투
08 Falcon 9 & Grasshopper project
09 인류를 화성으로 보내려는 꿈
10 화성으로 가기 위한 본격적인 첫발이 될 것인가?

 
구글 클라우드 아키텍처 레퍼런스

실제 GCP에 솔루션 구축할 때, 적용 분야별 클라우드 컴포넌트 구조도를 보여주고 각 컴포넌트에 대한 간단한 설명을 각각 한 페이지로 정리
총 112개의 레퍼런스를 보여주고 있는데, 제목만 리스트 해놔도 참고할 때 편할 듯 해서 아래 한 개의 리스트로 정리했습니다.

Infrastructure Modernization
ㅤ→ Hybrid
ㅤㅤ⇨ Hybrid with On-Premise Data and Applications
ㅤㅤ⇨ Hybrid Kubernetes and on-prem services with Istio
ㅤㅤ⇨ Cloud bursting
ㅤㅤ⇨ Business continuity hybrid/multi-cloud
ㅤㅤ⇨ Environment hybrid
ㅤㅤ⇨ Edge hybrid
ㅤㅤ⇨ Analytics hybrid/multi-cloud
ㅤㅤ⇨ Tiered Hybrid
ㅤ→ Networking
ㅤㅤ⇨ Floating IP addresses
ㅤㅤ⇨ Using Your Own Public IP addresses
ㅤㅤ⇨ High Availability NAT
ㅤㅤ⇨ Latency optimized Travel Sample Architecture
ㅤ→ Migrations
ㅤㅤ⇨ DB2 On GCP
ㅤㅤ⇨ HA DB2 on GCP
ㅤㅤ⇨ Postgres to GCP
ㅤㅤ⇨ Oracle to Spanner
ㅤㅤ⇨ DynamoDB to Spanner
ㅤ→ Security and Compliance
ㅤㅤ⇨ PCI
ㅤㅤ⇨ Tokenizing Cardholder data for PCI
ㅤㅤ⇨ Binary K8S Auth
ㅤㅤ⇨ Multiple Network Interfaces
ㅤ→ Windows
ㅤㅤ⇨ Federate with AD
ㅤㅤ⇨ Federate with Azure AD
ㅤ→ HPC
ㅤㅤ⇨ Singularity Containers with Cloud Build
ㅤㅤ⇨ Host Jupyter Notebooks in a Slurm Cluster
ㅤㅤ⇨ Provision GKE storage using the NFS-Client
Data Management
ㅤ→ Databases
ㅤㅤ⇨ DB2 On GCP
ㅤㅤ⇨ HA DB2 on GCP
ㅤㅤ⇨ Postgres to GCP
ㅤㅤ⇨ Oracle to Spanner
ㅤㅤ⇨ Gaming Backend Database
ㅤ→ Storage
ㅤㅤ⇨ DR Cold standby server
ㅤㅤ⇨ DR Warm static site
ㅤㅤ⇨ DR with Application Replication
ㅤㅤ⇨ Hosting Avere vFXT filer on GCP
ㅤㅤ⇨ DR - Hot HA across GCP and on Premises
ㅤㅤ⇨ DR - Cold from On-Premises to GCP with App
ㅤ→ SAP
ㅤㅤ⇨ SAP Hybrid on GKE
ㅤㅤ⇨ SAP S/4
ㅤㅤ⇨ SAP S/4 Distributed
ㅤㅤ⇨ HA SAP HANA
ㅤㅤ⇨ SAP HANA Dynamic Tiering
ㅤㅤ⇨ SAP Business One
ㅤㅤ⇨ SAP Netweaver 3 Tier
ㅤㅤ⇨ SAP Business Suite
ㅤ→ Energy
ㅤㅤ⇨ Oil and Gas
ㅤ→ Healthcare
ㅤㅤ⇨ Genomics, Secondary Analysis
ㅤㅤ⇨ Patient Monitoring
ㅤㅤ⇨ Variant Analysis
ㅤㅤ⇨ Healthcare API Analytics
ㅤㅤ⇨ Healthcare API ML
ㅤㅤ⇨ Radiological Image Extraction
ㅤㅤ⇨ ML on EHR via Healthcare API
ㅤ→ Media
ㅤㅤ⇨ Transcoding
ㅤㅤ⇨ Live Streaming
ㅤㅤ⇨ Rendering
ㅤㅤ⇨ Hybrid Rendering
ㅤㅤ⇨ Virtual Studio
App Development
ㅤ→ AppDev
ㅤㅤ⇨ Microservices with GKE
ㅤㅤ⇨ Microservices with App Engine
ㅤㅤ⇨ Serverless Web Scraping
ㅤㅤ⇨ REST and gRPC APIs with Cloud Endpoints
ㅤㅤ⇨ Mobile Site Hosting
ㅤㅤ⇨ Firebase and Google App Engine
ㅤ→ DevOps
ㅤㅤ⇨ Jenkins on Kubernetes Engine
ㅤㅤ⇨ Continuous Delivery with Spinnaker
ㅤㅤ⇨ Scale Testing with Kubernetes and Locust
ㅤㅤ⇨ UI Testing with Kubernetes and Selenium
ㅤ→ Serverless
ㅤㅤ⇨ Event Driven
ㅤㅤ⇨ Mobile Site Hosting
ㅤㅤ⇨ Platform Services on App Engine
ㅤㅤ⇨ Firebase and Google App Engine
ㅤㅤ⇨ Serverless Web Scraping
ㅤ→ IoT
ㅤㅤ⇨ Remote Monitoring
ㅤㅤ⇨ IoT MQTT Bridge
ㅤㅤ⇨ Smart Home Devices
ㅤㅤ⇨ Cloud to Edge ML
ㅤ→ Gaming
ㅤㅤ⇨ Mobile Game Backend
ㅤㅤ⇨ Gaming Analytics
ㅤㅤ⇨ Optimizing Large-Scale Analytics
ㅤㅤ⇨ Platform Services on App Engine
ㅤㅤ⇨ Hybrid/Multi-cloud game infrastructure
ㅤㅤ⇨ Backend Database
ㅤㅤ⇨ Matchmaking using Open Match
Smart Analytics
ㅤ→ Big Data
ㅤㅤ⇨ Data Warehouse Modernization
ㅤㅤ⇨ Log Processing
ㅤㅤ⇨ Time Series Analysis
ㅤㅤ⇨ Data Lake
ㅤㅤ⇨ Real-Time Inventory
ㅤ→ Data Warehouse
ㅤㅤ⇨ Data Lake
ㅤㅤ⇨ Shopping Cart Analysis
ㅤㅤ⇨ DMP
ㅤ→ AI and ML
ㅤㅤ⇨ Recommendation Engines
ㅤㅤ⇨ Chatbot with Dialogflow
ㅤㅤ⇨ TensorFlow on GPU
ㅤㅤ⇨ Low Latency ML Serving
ㅤㅤ⇨ Feature Embeddings
ㅤㅤ⇨ Semantic Similarity
ㅤ→ AdTech and MarTech
ㅤㅤ⇨ Real-Time Bidding
ㅤㅤ⇨ DMP / Data Warehouse
ㅤㅤ⇨ Publisher side analysis
ㅤㅤ⇨ Serverless Pixel Tracking
ㅤ→ Retail & Commerce
ㅤㅤ⇨ Fraud Detection
ㅤㅤ⇨ Real-Time Inventory
ㅤㅤ⇨ Beacons and Targeted Marketing
ㅤㅤ⇨ Shopping Cart Analysis
ㅤㅤ⇨ Recommendation Engines
ㅤㅤ⇨ PCI
ㅤ→ Financial Service
ㅤㅤ⇨ Monte Carlo Simulations
ㅤㅤ⇨ Time Series Analysis
ㅤㅤ⇨ Fraud Detection
ㅤㅤ⇨ Modernized Risk Analytics