- 빅데이터/인공지능
- 무신사가 검색 품질을 관리하는 방법
- 김진철의 How-to-Big Dataㅣ에필로그 – 맺는 글
- “애플워치로 수집한 심박수 데이터, 일관성 떨어진다"
- AI 프로젝트 악순환 고리 끊어라··· 'ML옵스' 마인드셋이 필요한 이유
- 데이터 과학을 위해 '더 개선된' 최신 필수 파이썬 툴 6가지
- NVIDIA GPU Operator for k8s
- Node Feature Discovery – a Kubernetes add-on for detecting hardware features and system configuration!
- LINE 광고 데이터 파이프라인 BigDB
- Against overuse of the Gini coefficient
- Calculus Made Easy (1910)
- Introducing Triton: Open-Source GPU Programming for Neural Networks
- NVIDIA device plugin for Kubernetes
- 정규분포와 보편성과 랜덤 행렬
- 데이터 과학 미니북
- It’s Not a Self-Driving Car Unless You Can Sleep In It
- Eyes wide shut: How newborn mammals dream the world they’re entering
- Why and how should you learn “Productive Data Science”?
- Probability Cheat Sheet - Harvard University
- 9 Deadly Sins of Dataset Selection in ML
- When Graphs Are a Matter of Life and Death
- Exploring Data @ Netflix
- GitHub Copilot: A Powerful, Controversial Autocomplete for Developers
- Hand Labeling Considered Harmful
- Smoking: How large of a global problem is it? And how can we make progress against it?
- 이 해변은 존재하지 않습니다 (thisbeachdoesnotexist.com)
- <한국의 고도 성장기 종말>과 <IT 기술 변화>가 낳은 '문송'
- NeuroMorphic Predictive Model with Spiking Neural Networks in Python
- Problems for children from 5 to 15
- RawGraphs - The missing link between spreadsheets and data visualization.
- KLUE 한국어 데이터 셋
- 페이스북 Blenderbot 2.0 공개
- 퀀텀 컴퓨팅 기초 by 마이크로소프트
- Introduction to TorchShard
- 백지장도 'AI'가 맞들면 더 낫다··· 코딩 돕는 ML 도구 3가지
- 깃허브 코파일럿, 개발자 반응은?··· "놀랍도록 유용"vs"아직 미흡"
- why we're blind to the color blue
- Apache Heron - 실시간, 분산, fault-tolerant 스트림 처리 엔진 (heron.incubator.apache.org)
- How Many Numbers Exist? Infinity Proof Moves Math Closer to an Answer.
- Top Python Data Science Interview Questions
- Identify flowers and trees with open source
- Tech Giant가 되려면 뭐가 필요한가?
- 스타트업에서 데이터 팀 만들기 (erikbern.com)
- "Why do we use R rather than Excel?"
- Deep Reinforcement Learning is a waste of time
- WELCOME TO SIMULATION CITY, THE VIRTUAL WORLD WHERE WAYMO TESTS ITS AUTONOMOUS VEHICLES
- Train smarter with NVIDIA pre-trained models and TAO Transfer Learning Toolkit on Microsoft Azure
- Rules of Machine Learning: Best Practices for ML Engineering
- Tuplex - 병렬 빅데이터 처리 프레임워크
- '난독'의 시대…'읽는 뇌'의 퇴보에 대한 경고
- Building a data team at a mid-stage startup: a short story
- 아마존의 AWS 기반 기술 혁신 이야기 - 아마존 배송 센터를 중심으로
- Pandas not enough? Here are a few good alternatives to processing larger and faster data in Python
- Poisson's Equation is the Most Powerful Tool not yet in your Toolbox
- Restoring and Mining the Records of the Joseon Dynasty via Neural Language Modeling and Machine Translation
- BrickRegistration - This project is a tool to generate synthetic 3d scenes for toying with bricks registration.
- 넥타이도 못매는 이 남자... ‘AI 혁명’ 최전선에 서다
- A Python library with a set of bells and whistles for PyTorch
- Free 2,900-page Manual about Pandas
- 시계열 데이터를 시각화하는 방법
- Mesh Transformer JAX - A 6 billion parameter, autoregressive text generation model trained
- Python and data science snippets on the command line
- Wav2vec: Semi and Unsupervised Speech Recognition
- A first look at rote learning in GitHub Copilot suggestions.
- Using conda on an M1 Mac
- 김진철의 How-to-Big DataㅣHow-to-Big Data 핵심 정리(Key Takeaways)
- AI 책임자 직급이 낮아졌다, 이유는?··· '2021 AI 현황 보고서' 요약
- Google CEO Sees AI as More Profound Than Fire, Electricity
- Just gave a talk about Vertex AI at Google IO Extended Korea
- GitHub Copilot - Your AI pair programmer
- Why Machine Learning is not Artificial Intelligence?
- Zero Knowledge
- 원티드는 어떻게 AI로 채용 결과를 예측하고 매칭할까?
- 읽을거리
- 한글을 ‘우수한’ 문자라고 해서는 안 되는 이유
- Working Conditions Survey
- USB-C Cable Colour Codes
- SpaceX's Starlink Review - Four months in
- HOW WE REVERSE ENGINEERED THE CUBAN “SONIC WEAPON” ATTACK
- 400억 번 '개미의 신'···그는 카이스트 교수직을 버렸다
- 네이버 신사업 매출, 검색사업 첫 추월
- What made the A-7 Corsair II a good attack aircraft?
- [칼럼]중국게임들의 고퀄리티, 높은 노동강도에서 나오는 것 아니다
- "번거로운 화상회의 이제 그만" 말풍선으로 아이디어 공유하는 크롬 확장 프로그램 '버블스'
- OECD 코로나 서베이 - 충격은 적지만 걱정은 많은 한국
- Alcohol Use Linked To Over 740,000 Cancer Cases Last Year, New Study Says
- How to Unlearn a Disease
- 성공을 위한 Keep Going
- 후쿠시마의 또 다른 원전은 어떻게 살아남았나
- Why introverts didn't actually 'win' lockdown
- 고양이에게 위험한 꽃과 식물 81종
- 초가공식품은 우리 몸에 무슨 짓을 하는 걸까?
- AZ백신 '뒷이야기' 공개한 옥스퍼드대 공동개발자들
- List of elevator special modes
- Death rates are declining for many common cancers in the U.S., report finds
- 100% 한국인 - 숫자로 보는 한국인의 생각과 라이프스타일
- 자유(Freedom)와 자유(Liberty)의 차이
- How To Get Better at Painting – Without Painting Anything
- No More Movies
- When working from home is toxic
- 현대 모터스포츠의 도전과 역사 | Beyond the Champion - 에피소드 1 | 현대 모터스포츠 역사
- [배상기의 진로 코칭] 학생부종합전형과 문해력
- You're Apologizing All Wrong. Here's How To Say Sorry The Right Way Life Kit
토요일, 7월 31, 2021
[B급 프로그래머] 7월 소식(빅데이터/인공지능, 읽을거리 부문)
토요일, 7월 24, 2021
[B급 프로그래머] 7월 3주 소식(개발/관리도구, 고성능 서버/데이터베이스 부문)
- 개발/관리도구
- “자바 상태 API로 앱 시작 속도 높인다”··· 새 오픈JDK 프로젝트 제안
- On writing clean Jupyter notebooks
- On anyone-can-spend Pay-to-Taproot outputs before activation
- All Programming is Web Programming
- History of Infra as Code
- Turn based roguelike in python
- teletext - A Vue.js app that renders Hacker News as a teletext service.
- urlpack - Pure JavaScript toolkit for data URLs
- KT 스파이 막기 KT의 iframe을 사용한 인터넷 연결 컴퓨터 제한 페이지를 막습니다.
- Python News Brief (Q2 2021)
- Infrastructure as Code
- 0x7FDE623822FC16E6 : a magic constant for double float reciprocal
- GPL의 종말
- (정성글) 백신예약 서버가 터지는 이유에 대한 상세한 해설
- microk8s - High availability k8s - Low-ops, minimal production Kubernetes, for devs, cloud, clusters, workstations, Edge and IoT.
- Simple to use image handler for python sqlite3
- An Illustrated Guide to Fusion Development
- Daptin - 오픈소스 Backend as a Service & Headless CMS
- AVPress - 인-브라우저 비디오 압축 도구 (avpress.zaps.dev)
- Startup Concepts - 만화책 스타일의 스타트업 단어 설명 (ajuniorvc.com)
- 2. Docker Compose로 Nodejs 개발/배포환경 구성하기 - Docker Compose로 개선하기
- '익숙한 작업을 새로운 방식으로' 아이패드로 노트북을 대체하는 팁 5가지
- ‘NVMe SSD와 V램 직결하는’ 다이렉트스토리지, 윈도우 10에서도 지원된다
- MS, ‘비주얼 스튜디오 2022’ 두 번째 프리뷰 출시
- VS 코드 1.58 출시··· 디버깅 및 주피터 노트북 지원 개선
- 도태될IT 역량 6가지··· 새 치즈를 찾는 법
- Facebook에서의 Graalvm
- CATS - OpenAPI 스펙 기반 테스트 자동 생성 오픈소스
- Digger automatically generates infrastructure for your code in your cloud account. So you can build on AWS without having to learn it.
- sudo.fm - Yet another background music for developer, if you missed working at cafe
- Summer Blog Backlog: Distributed Systems
- MoviePy (full documentation) is a Python library for video editing
- Java 8에서 Java 11로 전환
- HTTP traffic mocking and testing made simple in Python
- Java News Roundup: JDK 17, JDK 18, Open Liberty, Payara, Quarkus and Spring
- Python in Visual Studio Code – July 2021 Release
- Sioyek is a PDF viewer designed for reading research papers and technical books
- RISC-V Assembly for Beginners
- 6 Python f-strings tips and tricks
- JVM Anatomy Quark #26: Identity Hash Code
- 10 Papers Every Developer Should Read
- 지금 백신 예약 67,68년생 백신예약 안되는 이유
- Best practices for deploying Gateway Load Balancer
- Gorse - 추천 시스템 오픈소스 (gorse.io)
- codegym - Learn Java by doing, Start coding from scratch
- 실용주의 데브옵스 for MSA
- Brython (Browser Python) is an implementation of Python 3 running in the browser, with an interface to the DOM elements and events.
- 개발자 온보딩 가이드 : 첫 90일을 어떻게 계획해야 할까 (codesubmit.io)
- A beginner's guide to cookies
- How To Set Up Visual Studio Code (VS Code) for PHP Development
- 맥OS와 iOS 15 앱 실행 속도 "비약적으로 개선된다"
- CI/CD 파이프라인을 보호하는 6가지 모범 사례
- LiveKit - 실시간 커뮤니케이션 플랫폼 오픈소스 (livekit.io)
- How prevalent is Arduino in the industry for embedded systems?
- convert between NFC and NFD Unicode normalization (e.g. for Korean)
- Python Cheatsheet
- With its state of the art Fan Simulation Engine (patent pending), FanFan can bring back that soothing sound of computer fans to your Apple Silicon Mac.
- A PLAN TO RESCUE THE WEB FROM THE INTERNET
- Zorbi - 무료 플래시 카드 (zorbi.cards)
- fullstaqruby - Ruby, built for production
- React's UI State Model vs Vanilla JavaScript DOM State — A Beginner's Introduction
- In what ways is Windows better written or better designed than Linux (in the sense of relatively low level operating system features, or overall design methodology, not necessarily accessibility or anything else at the end user level)?
- Simulating the Apollo 11 LM Ascent Stage Orbit [pdf]
- only-stackoverflow - (구글/덕덕고) 검색 결과에서 스택오버플로 사이트 긁어다가 번역기 돌려놓은 이상한 사이트들을 모조리 숨겨요
- Stonks Watcher - This sample console application uses WebSocketClient to stream stock information to the console window in real-time!
- Jenkins - Jenkins dood(docker out of docker)로 실행시켜 agent docker 사용하기
- 마이크로소프트 리눅스 배포판 'CBL-마리너' 공개됐다
- xargs considered harmful
- Microsoft, IoT for Beginners 강의 공개
- 압축률이 100%에 가까운 원주율 파일 시스템
- Navigating the 8 fallacies of distributed computing
- Accelerating SREs to On-Call and Beyond
- KubeStack — A Must Use
- The stack overflow of death. How we lost DNS and what we're doing to prevent this in the future.
- Practical Guide to SRE: Incident Severity Levels
- $64,944 to support 25,000 customers in August — A full breakdown of ConvertKit's AWS bill
- Architecting Kubernetes clusters — choosing the best autoscaling strategy
- Seven guiding principles of serverless systems
- [B급 프로그래머] 도커와 k8s 디버거
- '인기 급상승' 온라인 IDE '코드샌드박스' 시작하기
- 코드형 인프라, 보안이 필요한 이유와 베스트 프랙티스
- 내 PC 하드웨어 사양과 제품 정보, 윈도우 10 기본 도구로 알아보기
- 애피안 CEO가 말하는 넥스트 챕터 ‘로우코드 자동화’
- Migrate virtual machines to Kubernetes with this new tool
- Dandified YUM (DNF) is the next upcoming major version of YUM.
- time(1) and CPU frequency scaling
- We’re delighted to announce the release of mitmproxy 7, a free and open source interactive HTTPS proxy.
- 29CM 로그 수집 시스템 소개
- Conway's Game of Life implemented in PyGame
- '업무 줄이고 퇴근 당기는' 크롬 브라우저 활용 팁 8가지
- Kool - 더 나은 로컬 개발 환경 (kool.dev)
- Kubernetes Ingress Controllers
- Quick and Seamless Release Management for Java Projects with JReleaser
- Software Engineering at Google: Practices, Tools, Values, and Culture
- Microsoft's Low-Code Strategy Paints a Target on UIPath and the Other RPA Companies
- ON THE EVILNESS OF FEATURE BRANCHING - A TALE OF TWO TEAMS
- RabbitMQ Streams
- 2021 개발자 필독서
- Monodraw: ASCII art editor for the Mac
- The unreasonable effectiveness of just showing up everyday
- ghidra-sre - A software reverse engineering (SRE) suite of tools developed by NSA's Research Directorate in support of the Cybersecurity mission
- 드롭박스의 엔지니어링 커리어 프레임워크 (dropbox.github.io)
- The Logfile Navigator (lnav.org)
- 83% of Developers Suffer From Burnout, Haystack Analytics Study Finds
- 한글과 유니코드
- Getting a Gig: A Guide - This is a guide for getting a gig in college as a tech major.
- Beating TimSort at Merging
- Give me /events, not webhooks
- The NGINX Real-Time API Handbook
- Managing costs in the cloud – Why you can end up paying more
- The Big Book of Small Python Projects
- Deno supports Web Worker API.
- How a college student founded a free and open source operating system
- Tech Giant가 되려면 뭐가 필요한가 ? (miguelrochefort.com)
- 모바일 쇼핑 이용자 73% ‘개인화 추천 앱 선호’
- No Way, JOSE! Javascript Object Signing and Encryption is a Bad Standard That Everyone Should Avoid
- Updating the Go Memory Model
- DevTron - k8s용 소프트웨어 딜리버리 워크플로우 (devtron.ai)
- Against Performative Positivity
- WriteFreely - An open source platform for building a writing space on the web.
- Ribbon filter: Practically smaller than Bloom and Xor
- Embedded C/C++ Unit Testing Basics
- Behind the scenes,AWS Lambda
- hck is a shortening of hack, a rougher form of cut.
- bpytop – Awesome Linux, macOS and FreeBSD resource monitor
- 25 Gigabit Linux internet router PC build
- Gotchas in the Go Network Packages Defaults
- Uses PyPDF3 for reading and writing PDF files written in python
- ClearOS – OS for Your Server, Network, and Gateway Systems
- Athena is a web application developed in Python-Flask-SQLite for testing your skills as a Hacker, Coder and Warrior.
- Against SQL
- 기술 & 스타트업 뉴스레터 및 블로그 모음
- Creep – a pretty sweet 4px wide pixel font
- A git repository with a commit for every seven-character git commit shorthash (all 228 of them).
- 고성능 서버/데이터베이스
- Migrating Facebook to MySQL 8.0
- SQLBolt - 인터랙티브 예제로 SQL 배우기 (sqlbolt.com)
- 35% Faster Than The Filesystem
- 데이터베이스 보안을 향상시키는 11가지 기술
- The Official MongoDB Node.js Driver v4.0
- Cut Out the Middle Tier: Generating JSON Directly from Postgres
- A beginner’s guide to database multitenancy
- Millions of Tiny Databases
- announce the first general availability (GA) release of OpenSearch 1.0
- EdgeDB - 개발자를 위한 차세대 오픈소스 ORDB (edgedb.com)
- PostgreSQL, Memory and the Cloud™
수요일, 7월 21, 2021
[독서광] 하드씽
이번 주는 a16z 공동 창립자인 벤 호로위츠가 회사를 만들고 운영하면서 악전고투하면서 얻은 경험을 정리한 책인 하드씽 - 경영의 난제를 푸는 최선의 한 수을 소개드린다.
방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다.
하이라이트를 요약 정리하면 다음과 같다:
- 00:00 이 책을 소개하는 이유
- 02:55 이 책의 목차
- 03:44 이 책이 흥미로운 이유
- 09:59 대상 독자
- 10:44 결론과 마무리
토요일, 7월 17, 2021
[B급 프로그래머] 도커와 k8s 디버거
도커와 k8s 강의를 하면서, 개발자들이 가장 어려워하는 부분이 네트워크 동작 원리와 디버깅이라는 사실을 알게 되었다. 가상 머신인 경우에는 SSH로 접속해서 뭔가를 확인할 수 있는데, 컨테이너인 경우에는 격리된 프로세스 형태로 동작하다보니 들어가고 뭐고 할 수가 없다. 물론 bash와 디버깅(!) 용 유틸리티를 컨테이너 이미지 내부에 포함시켜 놓았으면 아쉬운데로 docker exec를 사용해 상태를 파악할 수 있지만 보안을 강화하고 컨테이너 크기를 줄일 목적으로 다이어트를 하기에 항상 이를 기대하기는 어렵다.
그래서 도커 디버거를 찾아봤는데... docker-debug와 Kubectl-debug를 발견했다.
그 중에서도 도커 디버거를 잠깐 소개하자면, 동작 중인 도커 컨테이너에 대한 문제를 해결하기 위한 도구로서 디버깅 목적으로 새로운 컨테이너를 구동한다. 새로운 컨테이너는 목표 컨테이너의 pid, network, user, filesystem, ipc 네임스페이스에 접근하므로 양산 이미지를 건들이지 않고서도 디버깅이 가능하다는 좋은 특성이 있다. 설치는 다음처럼 무척 간단하다:
$ curl -Lo docker-debug \ https://github.com/zeromake/docker-debug/releases/download/0.7.3/docker-debug-linux-amd64 $ chmod +x ./docker-debug $ sudo mv docker-debug /usr/local/bin/
실행도 무척 쉽다. 예를 들어 hello-dock 컨테이너를 디버깅 모드(응?)로 시작하려면 다음과 같이 하면 된다:
$ docker-debug hello-dock bash -l
그리고 나서 셸 프롬프트가 뜨면, 컨테이너 상에서 top, ps -ef, netstat -nplt와 같은 명령을 내릴 수 있다. 이 정도로 성이 안 찬다면... 다음 사례를 보면 놀랄 것이다:
$ docker-debug --image frapsoft/htop hello-dock htop
htop으로 컨테이너에서 사용 중인 각종 프로세스 상태를 모니터링 할 수 있다!
아무쪼록 도커 디버깅에 도움이 되길...
EOB수요일, 7월 14, 2021
[독서광] 신호와 소음
이번 주는 빅데이터와 머신러닝/딥러닝 분석가/개발자를 위한 멋진 책인 신호와 소음 - 불확실성 시대, 미래를 포착하는 예측의 비밀을 소개드린다.
방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다.
하이라이트를 요약 정리하면 다음과 같다:
- 00:00 이 책을 소개하는 이유
- 03:54 이 책의 목차
- 05:16 이 책이 흥미로운 이유:
- 11:57 대상 독자
- 14:36 결론과 마무리
토요일, 7월 10, 2021
[B급 프로그래머] 7월 1주 소식(개발/관리도구, 고성능 서버/데이터베이스 부문)
- 개발/관리도구
- ModernCloud - 브라우저 기반 서버리스 플랫폼
- A google search engine dorker with HTTP toolkit built with python
- GraalVM at Facebook
- 라자루스 강도 사건: 북한은 어떻게 최정예 해커 부대를 만들어 냈나
- VSCode Keyboard Shortcuts
- Earthly is a syntax for defining your build. Makefile + Dockerfile
- How JavaScript Works: deep dive into call, apply, and bind
- Kubernetes — Ingress Overview
- 효과적인 IT프로세스 구축하기 ‘4가지 전제 조건’
- A Python tool that can decode all alphanumeric base encoding schemes
- A Python library for the Docker Engine API
- Get nostalgic with new Microsoft Teams backgrounds
- How to review someone else’s code: Tips and best practices
- JVM 에코시스템 보고서 2021 (snyk.io)
- You need Software Developers to believe in your project
- Bitmap fonts for humans
- Write good examples by starting with real code
- 엔터프라이즈 프론트엔드 애플리케이션 아키텍쳐 (medium.com)
- Compiling Rust is NP-hard
- TCP Fast Open? Not so fast!
- Pattern: Backends For Frontends
- 파이썬 라이브러리
- calcengine - A simple lazy Python Calculation Engine.
- Difftastic is an experimental structured diff tool that compares files based on their syntax.
- The distributed CMS: How the decoupled CMS endgame will impact your organization
- Delivering Modern Website Experiences: The Journey to a Content Mesh
- What is content modeling?
- BEYOND STATIC - GATSBY + APOLLO FOR FULLY DYNAMIC APPS
- npm audit: Broken by Design
- CLEVER VS INSIGHTFUL CODE
- List Comprehension in Python Explained for Beginners
- Reverse Engineering WiFi on RISC-V BL602
- Data Structure Visualizations
- Micro-frontend Architectures on AWS
- Scrape YouTube Search with Python (part 2)
- Scrape YouTube Search with Python (part 1)
- Use Python to parse configuration files
- Replace du with dust on Linux
- 알아두면 유용한 윈도우 및 맥용 엑셀 단축키
- Container images for portable development environments
- Dev.to처럼 포스팅 제목을 이미지로 만들어서 링크 미리보기(Link Preview) 이미지에 넣어보자
- Version SAT - Dependency hell is NP-complete. But maybe we can climb out.
- Kubernetes Ingress — AWS EKS Cluster with AWS Load Balancer Controller
- Emulator Performance: WebAssembly vs. JavaScript
- Kaspersky Password Manager: All your passwords are belong to us
- A Python IDE meant for learning programming
- Open Source Society University - Path to a free self-taught education in Computer Science!
- Compare AsciiDoc and Markdown
- 리눅스 관련 북마크
- Everything Useful I Know About kubectl
- Faster and enjoyable ZSH (maybe)
- When working from home is toxic
- Serverless 환경에서 수행시간이 긴 작업 처리하기
- transfer.sh - Easy file sharing from the command line
- 보편적인 프로그래밍 교육에 관한 오해
- Python Best Practices for a New Project in 2021
- Visual Studio Code Boosts Java IDE Capabilities
- atto - 브라우저에서 실행되는 BASIC (jamesl.me)
- 자바스크립트와 V8 엔진의 메모리 관리 프로세스
- 한국SW산업협회, 「SW사업 대가산정 가이드(‘21년 개정판)」 공표
- CompilerJobs - Compiler, Language and Runtime Teams
- Commit Often, Perfect Later, Publish Once: Git Best Practices
- Deno Deploy Beta 1
- Things I wish Git had: Commit groups
- How To Add eBPF Observability To Your Product
- Building a tiny FORTH for an Arduino UNO in one week
- A first look at rote learning in GitHub Copilot suggestions.
- What should the CPU usage be of a fully-loaded CPU that has been throttled?
- [카드뉴스] 어느 날 그 게임이 사라졌다
- Lightning fast & simple Typescript Serverless builds
- Every character has a story #14: U-BOOP (BETTY BOOP)
- Image unshredding using a TSP solver
- How to Handle JWTs in Python
- SmartPy is an intuitive and powerful smart contract development platform for Tezos
- 윈도우 11 업그레이드에 TPM이 필수인 이유
- How to use the coolest new features in Python 3.10
- 웹어셈블리 인기에 날개달까?··· 주목할 만한 언어 프로젝트 11가지
- 디지털 대전환 시대의 모든 아이를 위한 보편적 정보 교육 확대 방안
- 구글, APK 포맷 지원을 종료하고 AAB로 변경 예정 (androidauthority.com)
- Why is NanoID Replacing UUID?
- Software Engineering Principles (principles.dev)
- iA Fonts - 고정폭과 가변폭 사이 느낌의 폰트
- REPL vs CLI: IDE wars
- Java is criminally underhyped
- 2021년 상반기 개발자는 이 책을 읽었다.
- 왜 개발자는 잘못된 기술 선택을 밥 먹듯이 하나?
- The Git Distributed Version Control System - An Interactive Development History
- ModernStorage is a group of libraries that provide an abstraction layer over storage on Android to simplify its interactions by apps developers.
- BRIEF: Everything We Know About 1970s Mainframe RPGs We Can No Longer Play
- Commonly Used Python Functions For Data Structure
- Software Estimation Is Hard. Do It Anyway.
- Book Review: A Philosophy of Software Design
- Software Architecture Books
- 프라이버시 샌드박스 타임라인 업데이트
- 초보 웹 개발자를 위한 학습 안내서
- Buildpacks vs Dockerfiles
- Strive - 오픈소스 화상 회의 플랫폼 (openstrive.org)
- Announcing ARM64EC: Building Native and Interoperable Apps for Windows 11 on ARM
- pica - high quality image resize in browser
- 디노 컴퍼니, 서버측 자바스크립트 호스팅 서비스 공개
- 북한은 어떻게 "자체 개발 OS" 붉은별을 만들수 있었을까
- The Lightness of Windows
- Temporal: getting started with JavaScript’s new date time API
- 21st Night: a studying app built around memory.
- Ice - 종합 RPC 프레임워크 (zeroc.com)
- JS Is Weird
- Why Computing Students Should Contribute to Open Source Software Projects
- Unicode sorting is hard & why browsers added special emoji matching to regexp
- Math Rendering is Wrong
- 윈도우11에서 안드로이드앱의 동작 방식 (arstechnica.com)
- Design toolkits and samples for Windows apps
- Windows 11, Amazon, and Uncomfortable Questions
- Piral, a Modern React-Based Microfrontends Library
- x86 Bare Metal Examples
- Onivim is a brand-new code editor — combining the modal ergonomics of Vim, the quick and responsive feel of a native app, and the vast extension ecosystem of VS Code.
- Avoiding complexity with systemd
- CompCert - The formally-verified C compiler.
- Devops 2021: The best Jenkins Plugins to have in 2021
- Run Telepresence Anywhere Part 1: Containers
- 프론트엔드 테스트의 모든 것
- Vercel combines the best developer experience with an obsessive focus on end-user performance. Our platform enables frontend teams to do their best work.
- Implementing a Simple Compiler on 25 Lines of JavaScript
- Robust and effective logging for Python 2 and 3
- Winix is a minimal, hobbyist, educational and UNIX-style Operating System for the Waikato RISC Architecture Microprocessor (WRAMP).
- DeFi 개발자 로드맵
- Web Browser Engineering Pavel Panchekha & Chris Harrelson
- Immutability is not enough
- When it comes to git history, less is more
- The Book of Secret Knowledge
- Obsidian is a powerful knowledge base that works on top of a local folder of plain text Markdown files.
- understanding thread stack sizes and how alpine is different
- WhyNotWin11 - Detection Script to help identify why your PC isn't Windows 11 Release Ready.
- The Neotron Pico is based around the idea of the Neotron-32, but using a low-cost Raspberry Pi Pico instead of a Texas Instuments Tiva-C Launchpad.
- THE KUBERNETES IDE FOR DEVELOPMENT
- javascript-tips-and-tidbit - A continuously-evolving compendium of javascript tips based on common areas of confusion or misunderstanding.
- My toy renderer, part 1: Keep it simple
- Golang and clean architecture
- 고성능 서버/데이터베이스
- Streaming MySQL Binlogs to S3 (or Any Object Storage)
- BGP in a Nutshell
- Show HN: SQLite query inside a Bash function
- DB 분산 처리 기법 '샤딩', "웬만하면 하지 마라"
- AWS DynamoDB 질의 스캔 패턴
- SQLite: Vulnerabilities
- The Most Popular Open Source Databases 2020
- Write a time-series database engine from scratch
- How databases handle 10 million devices in high-cardinality benchmarks
- Using sqlite3 as a notekeeping document graph with automatic reference indexing
- The Untold Story of SQLite
- ‘수익은 내 것, 찜찜함은 네 것!’··· 클라우드의 10가지 그늘
- Globally Distributed Postgres
- A pure Python-implemented database that looks and works like MongoDB
목요일, 7월 08, 2021
[독서광] 레거시 코드 활용 전략
이번 주는 현업 개발자들의 필독서 중 하나인 레거시 코드 활용 전략(재출간판)을 소개드린다.
방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다.
하이라이트를 요약 정리하면 다음과 같다:
- 00:00 이 책을 소개하는 이유
- 05:14 이 책의 목차
- 07:24 이 책이 흥미로운 이유:
- 11:29 대상 독자
- 12:31 결론과 마무리
토요일, 7월 03, 2021
[B급 프로그래머] xneko를 파이게임으로 이식하면서... (결론: 수학의 중요성)
옛날 옛적에 매킨토시나 X윈도우를 사용하신 분들이라면 스크린세이버 중에서 네코를 기억하시는 분들이 많으실 것이다. 쥐나 새 모양의 커서를 귀여운 고양이 네코가 쫓아다니는 모습은 아직도 기억난다. 맥OS 7이 동작하던 매킨토시 IIci와 SunOS/솔라리스가 돌아가던 스팍스테이션 1도 갑자기 보고 싶어진다. 프로그램 실력이 점점 녹슬고 있어서 X 윈도우에서 동작하던 xneko를 파이썬으로 간단하게 이식해봤다. 파이게임을 사용하면 이미지를 서피스 형태로 만들어 비트블릿을 사용해 화면에 표시하거나 스프라이트(응?) 형태의 구현도 가능하며, 이벤트 처리도 손쉽기 때문에 고양이가 쥐를 쫓아가는 비즈니스(?) 로직만 잘 생각하면 어렵지 않게 구현할 수 있다.
X윈도우용 네코 코드인 BSD용 xneko을 참고해서 쥐를 추적하는 알고리즘을 구현했고, 원래 X윈도우용 네코는 XBM 형식의 이미지를 사용했기에 파이썬 파이게임에 맞는 PNG 형식의 애셋을 txneko에서 가져왔다.
고양이가 쥐를 추격하기 위해 피타고라스의 정리와 삼각함수를 떠올려야 했는데, 수십 년이 지나도 달달 외워 놓은 암기 학습의 위력(?) 덕분에 바로 이해가 가더라. 결론이 조금 이상하긴 하지만... 모두 수학 공부 열심히 하시길... ;) 참고로 고양이와 쥐 사이의 거리에 따라 이동해야 하는 변위를 구했다고 가정하면, 방향을 결정하는 핵심 알고리즘은 다음과 같다:
# 변위를 사용해 방향을 결정한다 X = dx # 위로 올라가면 변위가 마이너스가 되므로(좌표계: (0,0)에서 (400, 300)) -1을 곱해서 부호를 바꾼다 Y = -1 * dy # 삼각형 빗변 구하기(여기서도 피타고라스의 정리) length = math.sqrt(X * X + Y * Y) # 사인 정의에 따라 sin θ = 삼각형의 높이/삼각형 빗변 길이 sin_theta = Y / length # 여기서 사용 중인 두 가지 상수: 각도 계산용 # - sin_pi_per8_times3 = sin(π/8 * 3) # - sin_pi_per8 = sin(π/8) if dx > 0: # 우측으로 움직이는 경우(X 변위가 +) # sin(π/8 * 3)보다 크면 위 방향으로 거의 수직 if sin_theta > self.sin_pi_per8_times3: self.state = 'U' # sin(π/8)보다 크고 sin(π/8 * 3)보다 작으면 오른쪽 위로 이동 elif sin_theta <= self.sin_pi_per8_times3 and sin_theta > self.sin_pi_per8: self.state = 'UR' # -sin(π/8)보다 크고 sin(π/8)보다 작으면 오른쪽으로 이동 elif sin_theta <= self.sin_pi_per8 and sin_theta > -1 * self.sin_pi_per8: self.state = 'R' # -sin(π/8 * 3)보다 크고 -sin(π/8)보다 작으면 오른쪽 아래로 이동 elif sin_theta <= -1 * self.sin_pi_per8 and sin_theta > -1 * self.sin_pi_per8_times3: self.state = 'DR' # -sin(π/8)보다 크면 아래 방향으로 거의 수직 else: self.state = 'D'EOB
목요일, 7월 01, 2021
[독서광] 나는 왜 내가 힘들까
이번 주는 살아가는 동안 고민이 많은 분들을 위해 나는 왜 내가 힘들까를 소개드린다.
방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다.
하이라이트를 요약 정리하면 다음과 같다:
- 00:00 이 책을 소개하는 이유
- 03:21 이 책의 목차
- 05:16 이 책이 흥미로운 이유:
- 10:51 대상 독자
- 13:15 결론과 마무리