예전엔 엄청 어려웠지만, 지금은 쉬워진 것들
(jvns.ca)- SSL인증서 → Let's Encrypt
- Concurrency → async/await
- CSS로 중앙정렬 → flexbox/grid
- 빠른 프로그램 작성 → Go
- 이미지 인식 → 전이학습(Trasfer Learning)
- 크로스플랫폼 GUI 작성 → Electron
- VPN → Wireguard
- 리눅스 커널에서 내 코드 실행 → eBPF
- 크로스 컴파일 → Go/Rust는 기본 지원
- 클라우드 인프라 설정 → Terraform
- 개발환경 구성 → Docker
- 쓰레드와 메모리 안전하게 공유하기 → Rust
호스팅 서비스와 관련된 것들
- CI/CD → GitHub Actions/CircleCI/GitLab..
- 프론트엔드 코드 작성만으로 유용한 웹사이트 만들기 → 다양한 "서버리스" 백엔드 서비스
- 신경망 학습 → Colab
- 웹사이트를 서버에 배포 → Netlify/Heroku..
- DB 운영 → RDS 같은 호스팅 서비스
- 실시간 웹 어플리케이션 → Firebase
- 이미지 인식 → Teachable Machine 같은 ML 호스팅 서비스
아직 해보진 못했지만 멋져 보이는 것
- Cryptography → libsodium 같은 라이브러리
- 웹서버가 푸시하는 실시간 업데이트 → LiveView/Hotwire
- 임베디드 프로그래밍 → MicroPython
- 비디오 게임 작성 → Roblox/Unity
- 브라우저에서 GPU기반으로 실행되는 코드 작성 → Unity ?
- LSP(Language Server Protocol)를 이용한 IDE 도구 개발
- Interactive theorem provers
- NLP → HuggingFace
- Parsing → PEG 또는 parser combinator libraries
- ESP 마이크로 콘트롤러
- 배치 데이터 프로세싱 → Spark
특정 언어 관련
- Rust 에서 non-lexical lifetimes
- IE에서의 CSS/JS 지원
새로운 기술은 등장 초기에는 마법 처럼 신기하고 어렵게 느껴지지만, 누군가의 노력으로 쉽게 포장되어 진입장벽이 낮아지고, 이런 순환이 인류가 더 많은 가치를 만들 수 있게 돕는군요.
그 외에도 다양한 것들이 얘기되네요 https://news.ycombinator.com/item?id=30406201
정말 원하는 것을 만들기 쉬워지긴 했습니다.
반대 리스트도 재미나네요. "예전엔 쉬웠지만, 지금은 어려워진 것들"
- 사용자 컨텐츠가 들어간 모든 웹사이트 운영 → 스팸이 너무 많음
- 보안에 관련된 모든 것 → 이제 전체 인터넷은 포트스캔 되고 다양한 공격을 받음
- 스크린에 무언가를 그리기 → 예전엔 간단했지만, 이젠 GUI를 구성해야 함
- 특정 메모리 영역에 접근 하기 → 수많은 가상화들
- 모든 사람들이 실행 가능한 엡 만들기 → iOS/Android/맥/리눅스/윈도우/웹..
- 자신만의 이메일 서버 운영하기 → 이메일 수신은 더 쉬워졌지만, 전송은 자신을 인증받아야 하고 대형 서비스들에게 블록당하지 않으려면 엄청난 노력을 해야 함