- 개발/관리도구
- QUIC 버전 1의 RFC 승인
- "더 빠르고 편리해" 아직도 유효한 윈도우 명령 프롬프트 6가지
- Microsoft releases Windows Package Manager at Build 2021
- QUIC is now RFC 9000
- New Windows 10 test build adds first preview of Linux GUI apps on WSL
- Sparkplug — A non-optimizing JavaScript compiler
- Download the official release of Rocky Linux from one of our trusted mirrors.
- Stacked Git, StGit for short, is an application for managing Git commits as a stack of patches.
- Getting Started with Amazon ECS Anywhere – Now Generally Available
- Beads uses the State-Action-Model pattern of software development.
- Comby - 코드 검색 및 구조 변경 도구
- 잘못 구현한 다익스트라 알고리즘 저격하기
- A simpler building block for Go CLIs
- What’s new for Microsoft Edge at Microsoft Build 2021
- Your browser and my browser see different colors
- Why (and how) GitHub is adopting OpenTelemetry
- Why I still like C and strongly dislike C++
- How To Write Ansible Playbooks
- Finally understanding PNG
- Gio implements portable immediate mode GUI programs in Go.
- 웹 크롤러 아키텍쳐
- WASM SYNTH, or, how music taught me the beauty of math
- localizer - A no-frills local development approach for Kubernetes powered Developer Environments.
- It's probably time to stop recommending Clean Code
- 406: Mars Goes to Shell
- Fig adds VSCode-style autocomplete to your existing terminal. Move faster with Fig. (for MacOS X)
- (EBOOK) Designing and Deploying Microservices
- 10 Quick Clean Coding Hacks in Python
- GraalVM 21.1 Supports JDK 16
- Vim Modes Transition Diagram
- rf is an experimental refactoring tool. It is very much a work in progress. (for Go)
- Flashcards to learn AWS skills
- Your E-Mail Validation Logic is Wrong
- Evidence-based Software Engineering
- Magic Wormhole - Get things from one computer to another, safely.
- Pyodid - Python with the scientific stack, compiled to WebAssembly. Pyodide may be used in any context where you want to run Python inside a web browser.
- “브라우저에서 바로 수학 계산” MS, 엣지에 ‘매스 솔버’ 추가 예정
- Claude Shannon: Tinkerer, Prankster, and Father of Information Theory
- Game Programming Patterns is a collection of patterns I found in games that make code cleaner, easier to understand, and faster.
- Why is Java considered a hard programming language?
- Why I prefer making useless stuff
- The Limits to Blockchain Scalability
- Clinic.js - 오픈소스 Node.js 성능 이슈 분석도구
- Creating the Perfect Python Dockerfile
- What’s your API’s “Time To 200”?
- Rust heads into the kernel?
- How was the first programming language created without an operating system?
- How to port your OS to EC2
- PAST AND FUTURE TURTLES: THE EVOLUTION OF THE LOGO PROGRAMMING LANGUAGE (PART 1)
- Bootstrap/386 is a Twitter bootstrap v2/31/4 theme to make webpages look like they are from the gentler, less distracting time of the 1980s.
- TEXT EDITING HATES YOU TOO
- C 프로그래밍: 현대적 접근
- Learn CSS by Google
- Case Study: a Decade of Microservices at a Financial Firm
- Extreme HTTP Performance Tuning: 1.2M API req/s on a 4 vCPU EC2 Instance
- DOS SMB Client Performance
- SimpleVisor is a simple, portable, Intel VT-x hypervisor
- 구글 디벨로퍼 라이브러리
- 🚀 Demystifying JVM Memory Management
- “I COULD REWRITE CURL”
- Experiences from Having Developers Write E2E Tests
- Browser Market Share Republic Of Korea
- The Payara Platform is a cloud-native open source server runtime which provides support for containers out-of-the-box so you can reduce your infrastructure and maintenance costs of existing applications.
- Learn Fullstack | 2021
- Apache Kafka for Industrial IoT and Manufacturing 4.0
- An Engineer’s Guide to a Good Night’s Sleep
- The Development of the C Language*
- From Monolith to Microservices
- 마이크로서비스 도입 이렇게 한다
- Integration Tests with Spring Boot and @SpringBootTest
- Stubbing and Mocking with Mockito and JUnit
- Why are Java server-side developers not adopting Kotlin?
- Java is criminally underhyped
- AWS Instance Price Guide
- Tips For Leaders On Running Successful One-On-One Meetings
- Sherlock Holmes and the case of a crashing devenv.exe
- Visual Studio Code C++ Extension April 2021 Update: CUDA C/C++ IntelliSense and Apple Silicon Support
- Docker For .NET Developers - A jump-start guide for .NET developers interested in Docker and containerization.
- File Descriptor Limits
- JUnit5로 계층 구조의 테스트 코드 작성하기 - 5의 @Nested 어노테이션을 쓰면 된다
- Sharing learnings about our image cropping algorithm
- DOM EVENTS - Learn about the DOM Event system through exploration
- 5 steps to faster web fonts
- Deno 1.10 Released with Shared Wasm Memory and Web Storage Support
- AWS Serverless Patterns
- 디노 1.10 출시··· “테스트 러너 개선 및 웹 스토리지 API 추가”
- Atuin - 쉘 히스토리를 SQLite에 저장하기
- A country's worth of power, no more! - TL;DR: Ethereum will use at least ~99.95% less energy post merge.
- 칸아카데미 CTO "비싸도 서버리스 컴퓨팅 쓰겠다"...왜?
- Uxn is a portable 8-bit virtual computer capable of running simple tools and games programmable in its own little assembly language.
- 최신 JavaScript: 지난 10년간 놓친 모든 것
- Building a Personal [Origami] Website in 2021
- 개발자들을 위한 검색 엔진 - Devbook
- Humanity wastes about 500 years per day on CAPTCHAs. It’s time to end this madness
- HTML NOTEPAD - HTML WYSIWYG editor for the rest of us
- hyperscript is an experimental scripting language designed for the web, inspired by HyperTalk
- systemd: The Good Parts
- matomo - Google Analytics alternative that protects your data and your customers' privacy
- 맥북 프로 터치바에 CPU 프로세스 현황 보여주기 스크립트
- Design structured diagrams, built to increase your teams trust in your docs.
- 20년간 양성된 백만 IT인재는 어디로 갔나
- NodeGUI - 고성능 크로스플랫폼 데스크탑 앱 프레임워크
- Modern Javascript: Everything you missed over the last 10 years (ECMAScript 2020)
- Parsix - High level parsing to ensure your input is in the right shape and satisfies all constraints that business logic requires.
- Commodore’s Assemblers: Part 1: MOS Cross-Assembler
- Overcoming Tab Overload - CMU Researchers Develop Tool To Better Manage Browser Tabs
- The Engineer's Guide To Industrial IoT And Industry 4.0
- How Do Kubernetes and Docker Create IP Addresses?!
- URL Lengthener
- 고성능 서버/데이터베이스
- NocoDB ✨ The Open Source Airtable Alternative
- The Cost of Cloud, a Trillion Dollar Paradox
- An early look at Postgres 14: Performance and Monitoring Improvements
- SQLite in production with WAL 🔥
- Announcing PlanetScale: The database for developers.
- Boosting Dropbox upload speed and improving Windows’ TCP stack
토요일, 5월 29, 2021
[B급 프로그래머] 5월 4주 소식(개발/관리도구, 고성능 서버/데이터베이스 부문)
목요일, 5월 27, 2021
[독서광] 스프링 부트 실전 활용 마스터 책 소개
최근에 여러 가지 바쁜 사정으로 인해 방송이 뜸했었는데, 다시 애청자분들께 책 소식을 전하기 위해 방송을 진행했다.
방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다.
하이라이트를 요약 정리하면 다음과 같다:
- 00:00 이 책을 소개하는 이유
- 04:16 이 책의 구조
- 07:14 이 책의 특성(1): 스프링부트
- 09:06 이 책의 특성(2): 리액티브
- 10:55 대상 독자
- 13:16 결론과 마무리
토요일, 5월 22, 2021
[B급 프로그래머] 5월 소식(빅데이터/인공지능, 읽을거리 부문)
- 빅데이터/인공지능
- Google Unit DeepMind Tried—and Failed—to Win AI Autonomy From Parent
- Millions of electric cars are coming. What happens to all the dead batteries?
- AI Adoption in the Enterprise 2021
- AI 프로세서 업체 '미씩', 792억 원 투자 유치… 엣지 칩 양산 기반 확보
- “클라우드 머신러닝 툴킷 통합”··· 구글, ‘버텍스 AI’ 출시
- '사물에 이입해 대답한다' 구글, 개발자 회의서 AI 기술 역량 과시
- Vertex 파이프라인
- The English Professor Who Foresaw Modern Neuroscience
- Announcing Google-Landmarks-v2: An Improved Dataset for Landmark Recognition & Retrieval
- Tips For Leaders On Running Successful One-On-One Meetings
- TensorFlow Cloud는 로컬 환경을 Google Cloud에 연결하는 라이브러리입니다.
- The Engineer's Guide To Industrial IoT And Industry 4.0
- ML Pipelines on Google Cloud by Google
- Enigma: GPT-2 trained on 10K Nature Papers: Can you spot the difference?
- User behaviour - Websites and apps are designed for compulsion, even addiction. Should the net be regulated like drugs or casinos?
- 도미노피자의 데이터 과학 비밀 재료는... 'ML옵스'
- Kobra - A visual programming language for machine learning (in beta)
- Neural implant lets paralyzed person type by imagining writing
- Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles
- SAE Updates, Refines Official Names for 'Autonomous Driving' Levels
- The Race to Build Self-Driving Trucks Has Four Horses and Three Jockeys
- Comparing Machine Learning as a Service: Amazon, Microsoft Azure, Google Cloud AI, IBM Watson
- Why psychology isn’t science
- Book: Python Data Science Handbook
- 십자말풀이가 어려워서 짜증난 과학자가 벌인 일
- Anime2Sketch: A sketch extractor for illustration, anime art, manga
- SDS 375: Data Visualization in R
- Interactive IPA Chart
- Taking Sex Differences in Personality Seriously
- Why Successful People Don't Multitask
- MLOps [4] - What is AIOps and how does it differ from MLOps?
- '내부 머신러닝 지원' 데이터베이스 8종
- FACIAL EMOTION RECOGNITION SYSTEM - README
- Practical SQL for Data Analysis
- Principal Component Analysis
- A Slower Speed of Light
- The Fourier transform is a neural network
- How to have more meaningful conversations
- 김진철의 How-to-Big Data | How-to-Big Data 핵심 정리(Key Takeaways) (1)
- Awesome MLOps
- Top Python Libraries for Data Science, Data Visualization & Machine Learning
- Mitigating the effects of silent data corruption at scale
- Open Source AI Can Predict Electrical Outages from Storms with 81% Accuracy
- 블로그ㅣ‘파이썬’이 데이터 과학을 집어삼키고 있다
- 인터뷰ㅣ"애널리틱스·AI로 줄줄 새는 물 잡는다" 美 상하수도국 CIO
- Foundations of Information
- 읽을거리
- How to explain OKRs ( Objectives and Key Results) in plain English
- A country's worth of power, no more!: TL;DR: Ethereum will use at least ~99.95% less energy post merge.
- 다니엘 카네만: 사람들은 행복을 원하지 않습니다
- What Leaders Really Do
- 유머로 리드하라
- 스타트업, 왜 실패하는가?
- “부정적 표현, 낮은 랜딩페이지 전환율로 이어져” 언바운스
- 공식만 알면 라면이 더 맛있어진다!!!
- Why are modern 50mm lenses so damned complicated?
- US Army Training for Advanced Situational Awareness (April, 2021) [pdf]
- The one where writing books is not really a good idea
- The Ultimate Guide to Inflation
- Why do we buy into the 'cult' of overwork?
- Are some personalities just better?
- 약국에서 볼 수 있는 Rx는 무슨 뜻일까?
- 어슐러 르 권의 세계
- Analytics Suggest 96% of Users Leave App Tracking Disabled in iOS 14.5
- Elon Musk: The Architect of Tomorrow
- 원격 근무 리포트 2021 [51p PDF]
- On Incels, Dead Bedrooms and The Hard Problems of Loneliness
- Efficiency is the Enemy
- How Big Tech got so big: Hundreds of acquisitions
- How does a submarine know if a nearby submarine is an ally or an enemy?
- (보고서) 암호자산 성장은 국채와 통화정책에까지 영향을 미칠까?
- The Gambler Who Cracked the Horse-Racing Code
- Beginner’s Guide to Mechanical Keyboards
- Knowns vs Unknowns — Are you building a successful company or just typing?
- '아톰 칩의 재발견' NASA 화성 탐사선 퍼시비어런스 사진 전송에 활용
- "It's About To Get Much Worse": Supply Chains Implode As "Price Doesn’t Even Matter Anymore"
- 대가들의 투자 지침 01 - 자본 보존
- '지속적 학습 문화' 구축법 10가지
- 전기차 충전은 왼쪽일까 오른쪽일까?
- Space Shuttle - STS 62 A Polar Express high altitude journey
- Sisters with Transistors
금요일, 5월 21, 2021
[B급 프로그래머] '마이크로서비스 도입 이렇게 한다' 출연 동영상과 멋진 독후감 소개
지난 번에 소개드린 [일상다반사] '마이크로서비스 아키텍처 도입과 운영을 위한 체크포인트' 출연 소식을 전해드렸는데, 유튜브에 녹화 영상이 올라왔기에 여러분들께 소개드린다.
발표 자료인 마이크로서비스 아키텍처 도입의 허와 실 - feat. 문제는 도메인이야도 슬라이드셰어에 올려놓았다.
또한 안영회님께서 책을 읽으시고 멋진 독후감(마이크로서비스 도입 이렇게 한다)도 올려주셨기에 애독자 여러분들께 소개 드린다. 아래 그림만 봐도 포스가 느껴지지 않는가? 마이크로서비스 도입 과정에서 고민이 많으신 분들께서 참고하시면 좋겠다.
EOB토요일, 5월 15, 2021
[B급 프로그래머] 5월 2주 소식(개발/관리도구, 고성능 서버/데이터베이스 부문)
- 개발/관리도구
- Lima: Linux-on-Mac ("macOS subsystem for Linux", "containerd for Mac")
- 올바른 방법으로 Python 배우기 [무료 E북]
- Syncthing is a continuous file synchronization program.
- ‘이제 부디 R.I.P’··· 기업 2곳의 ‘코볼’ 탈피 이야기
- The Three Things to Never Build In Your App: Authentication, Notifications, and Payments
- Introducing Dataflow, a self-hosted Observable Notebook Editor
- Exploiting custom protocol handlers for cross-browser tracking in Tor, Safari, Chrome and Firefox
- Hurl - 웹기반 HTTP Req 테스트 도구
- faster-cpython - We want to speed up CPython by a factor of 5 over the next four releases.
- Big list of http static server one-liners
- User behaviour - Websites and apps are designed for compulsion, even addiction. Should the net be regulated like drugs or casinos?
- 쿠버네티스를 좀 더 공격적으로 이용해야 하는 이유
- CP/M for OS X
- Send My: Arbitrary data transmission via Apple's Find My network
- A Deep Dive into Iptables and Netfilter Architecture
- Secure Session Transfer Between Web Apps on Different Domains
- Google Docs will now use canvas based rendering: this may impact some Chrome extensions
- Flask 2.0.0 has been released
- Permafrost Engine is an OpenGL 3.3 Real Time Strategy game engine written in C. It is made in the image of old classics, but incorporating some modern ideas.
- Benchmarking division and libdivide on Apple M1 and Intel AVX512
- How image search works at Dropbox
- Deno 1.10 Release Notes
- 모던 웹 브라우저 들여다보기 (파트 1)
- Excalidraw - 오픈소스 가상 칠판 협업도구
- Awesome Finite State Machines - A curated list of awesome resources related to finite state machines and statecharts.
- This website presents FragAttacks (fragmentation and aggregation attacks) which is a collection of new security vulnerabilities that affect Wi-Fi devices.
- Announcing the Arduino IDE 2.0 (beta)
- Dev-C++ Official Website - Open Source C/C++ IDE for Windows
- Profiling Python Code
- Software Engineering at Google(PDF book)
- Poor Disk Performance
- (기업설문) 어떤 개발자를 구하시나요?
- Pyre - A performant type-checker for Python 3
- Search Engine for Source Code
- eBPF on Windows
- 피스톤 2.2 출시··· “기본 파이썬보다 30% 더 빠르게 실행”
- 인스타그램, C파이썬 3.8의 성능 중점 포크 ‘신더’ 공개
- A customizable test framework to build your own test frameworks. (by Microsoft)
- Why I Love Coding
- XY 문제
- ShellJS - Unix shell commands for Node.js
- A Guide to the Kubernetes Networking Model
- Is it better to learn C++ on Windows or Linux?
- So what’s wrong with 1975 programming?
- Dropping cache didn’t drop cache
- Software Engineering Body of Knowledge (SWEBOK)
- The new TI-84 Plus CE Python graphing calculator
- Build A Simple Terminal Emulator In 100 Lines of Golang
- AWS Smithy - 서비스 및 SDK 정의용 언어
- Your ABI is Probably Wrong
- Lovetris AI will try its best to give you the opportunity to reduce the tower height, but feel free to ignore it and build your tower as you wish
- Visual Studio Code April 2021 released with Electron 12, bringing Wayland support.
- Welcome to the learn-c.org free interactive C tutorial.
- Become A DevOps Engineer in 2021: A Comprehensive Guide
- [B급 프로그래머] 윈도우 msys2는 완벽한 POSIX 호환 레이어인가?(본인이 작성한 글)
- Analytics Suggest 96% of Users Leave App Tracking Disabled in iOS 14.5
- Nexe is a command-line utility that compiles your Node.js application into a single executable file.
- pkg - This command line interface enables you to package your Node.js project into an executable that can be run even on devices without Node.js installed.
- The zx package provides useful wrappers around child_process, escapes arguments and gives sensible defaults.
- Why Java's Records Are Better* Than Lombok's @Data and Kotlin's Data Classes
- Where the top of the stack is on x86
- PatchELF is a simple utility for modifying existing ELF executables and libraries.
- A New AWS SDK for Rust – Alpha Launch
- pipx — Install and Run Python Applications in Isolated Environments
- Searching the web for < $1000 / month
- 30 Years Of Linux - An Interview With Linus Torvalds: Open Source And Beyond - Part 2
- 윈도우 10 최고의 내장 툴, '클립보드 히스토리'를 아시나요
- winbox - Modern window manager for the web: lightweight, outstanding performance, no dependencies, fully customizable, open source!
- Pencil is built for the purpose of providing a free and open-source GUI prototyping tool that people can easily install and use to create mockups in popular desktop platforms.
- Why I Work on Ads
- Play Hate Tetris.
- The Rustonomicon digs into all the awful details that you need to understand when writing Unsafe Rust programs.
- Hardening macOS
- HTML Sanitizer API
- Process Monitor for Linux (Preview)
- Pyston v2.2: faster and open source
- Portability is Reliability
- 파이썬이 메모리를 관리하는 방법
- Tortoise ORM
- A Handy Introduction to Cloud Optimized GeoTIFFs
- Hello, Modules! - JavaScript Modules, also known as ESM, is finally here!
- Orbit is an experimental platform for publishing and engaging with small tasks repeatedly over time.
- CLUI: Building a Graphical Command Line
- HTML Tips
- Terraform Best Practices
- Just Say NO to Paxos Overhead: Replacing Consensus with Network Ordering
- MapSCII - The Whole World In Your Console
- Branchless Coding in Go
- Please fix the AWS Free Tier before somebody gets hurt
- Is Your Son a Computer Hacker?
- Efficiency is the Enemy
- Linux Terminal Tools
- Giving back - how I cleared L6 System Design - Part 1
- Instant replay: Debugging C and C++ programs with rr
- Attacking Kubernetes clusters using the Kubelet API
- Why programmers don’t write documentation
- volta - The Hassle-Free JavaScript Tool Manager
- My Favorite One Liners
- The Unix Magic poster
- Building video chat into my personal website using WebRTC, Websockets, and Golang on GCP.
- How Tech Loses Out over at Companies, Countries and Continents
- 10 PRINT is a book about a one-line Commodore 64 BASIC program, published in November 2012.
- 보다 효율적인 Form 설계
- Dissecting the Apple M1 GPU, part IV
- The JavaScript Way - A gentle introduction to an essential language.
- One year of TILs
- What3Words – The Algorithm
- Understanding Sockets
- 네이버와 카카오의 QR 체크인 페이지 비교해보기
- Evolution of random number generators
- Observability and GitOps
- Sean Parent's Papers and Presentations(C++)
- Improving Print Logging with Line Pos Info & Modern C++
- 40% of the web uses WordPress
- Top 10 Python GUI Frameworks Compared
- readme.so - The easiest way to create a README
- Scaling monorepo maintenance
- 고성능 서버/데이터베이스
- pgBackRest – The Best Postgres Backup Tool with a very active community
- “x86 CPU보다 20~33배 효율적”··· 구글, 유튜브용 커스텀 동영상 트랜스코딩 칩 개발
- PostgreSQL을 데이터 웨어하우스로 사용하기
- THE 400 GB/SEC ETHERNET UPGRADE CYCLE FINALLY BEGINS
- Cloudflare on the Edge
- Using PostgreSQL as a Data Warehouse
- '멀티클라우드'의 11가지 그늘
- Hosting SQLite databases on Github Pages
토요일, 5월 08, 2021
[B급 프로그래머] 윈도우 msys2는 완벽한 POSIX 호환 레이어인가?
최근에 강의 요청이 들어올 때 '실습 중심'으로 편성을 바꿔달라는 요청을 많이 받고 있다. 따라서 대면이거나 비대면이거나 실습을 염두에 두고 준비를 해야 하는데, 자바나 자바스크립트와는 달리 C인 경우에는 실습 조건을 갖추기가 살짝 어려운 경우가 있다. 예를 들어, 윈도우 환경만 지원하며 WSL2 등을 사용하지 못하는(여러 가지 이유로) 상황이 존재할 경우 선택지가 통합 개발 환경인 비주얼 스튜디오 블렌드 정도로 좁혀지는 어려움이 있는데, 통합 개발 환경을 사용할 경우 실습 과정에서 뭔가 꼬이면 이를 빠르게 해결해주기가 상당히 곤란하다. 따라서 명령행으로 컴파일이 가능한 환경을 생각하지 않을 수 없다(즉 gcc/clang - make 조합). 어차피 제한된 시간 내에 엄청나게 복잡한 프로젝트를 수행하지는 않을테니 편집기로 vim나 오픈소스로 제한없이 사용 가능한 NotePad++만으로도 충분하기 때문이다.
몇 가지 후보를 검토하다가 msys2를 선택하게 되었다. 컴파일 환경에 집중하는 mingw와는 달리 UNIX와 호환성을 지원하므로(즉, POSIX compliant), 리눅스 계열의 프로그램을 그대로(바이너리거나 오픈소스거나) 가져다 쓸 수도 있고 리눅스의 우수 사례를 쉽게 적용할 수 있기 때문이다. 그런데 msys2는 완벽한 POSIX 호환 레이어를 제공하지 않는다는 사실에 주목할 필요가 있다. 프로그램 중에서 키 입력을 위해 터미널 제어가 필요했기에 termios.h를 인클루드해서 컴파일을 하는데... 헤더 파일을 찾을 수 없다는 오류가 발생한다.
어지간한 프로그램은 대부분 빌드가 가능한데 하필 여기서 걸리는 이유는 무엇일까? Msys2 소개 글을 읽어보면 "The msys2 subsystem provides an emulated mostly-POSIX-compliant environment"라는 표현이 눈에 띈다. 즉 mostly지 completely는 아닌 셈이다. 뉴뉴
자 이제 상황을 파악했다면, 문제 해결을 위해 어떻게 할 것인가? 방법은 의외로 간단하다. msys2에서 패키지로 설치한 gcc 컴파일러는 POSIX 호환 유닉스 API 뿐만 아니라 윈도우에서 개발할 때 사용되는 conio.h와 Windows.h 헤더 파일도 인클루드해서 필요한 함수를 불러쓸 수 있다. 아주 복잡한 터미널 출력이 아니라면 간단하게 키 입력을 윈도우 버전에 맞춰 이식해서 돌릴 수 있는 방법이 존재한다. 다음과 같은 코드를 보면 이해가 갈 것이다(주의: 완벽하게 동작하려면 키 입력 시에 ECHO를 끄고 나중에 복구하는 등의 추가 작업이 필요하다).
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE); if (WaitForSingleObject(hStdin, 1000) == WAIT_OBJECT_0 && _kbhit()) getchar();
결론: msys2는 완벽하게 유닉스(아니 리눅스)를 흉내내지 못한다. 정말 리눅스가 필요하면 WSL2를 고려하고 어느 정도 우회가 가능할 경우에는 msys2에 머물러도 좋다.
EOB목요일, 5월 06, 2021
[일상다반사] '마이크로서비스 아키텍처 도입과 운영을 위한 체크포인트' 출연 소식
토크아이티에서 진행하는 프리미엄 세미나인 마이크로서비스 아키텍처 도입과 운영을 위한 체크포인트에 출연하게 되었기에 여러분들께 소식을 전한다. 주제는 마이크로서비스 마이그레이션 패턴과 사례이며, 마이크로서비스 도입, 이렇게 한다 책에 나오는 내용을 중심으로 마이크로서비스 도입과 관련한 핵심적인 사항을 소개하고 있다.
- 방송 출연 시각: 2021년 5월 7일(금) 오전 10시 정각부터 25분 동안
- 등록: 웨비나 등록 페이지 참고(회원 가입 필요)
BEST Q & A를 달아주신 애청자분들께 마이크로서비스 도입, 이렇게 한다 책도 증정할 예정이므로 많은 성원 부탁드리겠다.
EOB토요일, 5월 01, 2021
[B급 프로그래머] 4월 소식(개발/관리도구, 고성능 서버/데이터베이스 부문)
- 개발/관리도구
- Space Cloud is a Kubernetes based serverless platform that provides instant, realtime APIs on any database, with event triggers and unified APIs for your custom business logic.
- Implicit In-order Forests: Zooming a billion trace events at 60fps
- 최신 도구로 새 TypeScript 프로젝트 시작하기 [2021]
- 국내 코딩학원 + 코딩부트캠프 요약정리 (가격, 기간, 커리큘럼 등. 계속 업데이트됩니다)
- 비슷한 명령어 추천은 어떻게 하는걸까?
- Beyond Microservices in a one page
- Chia Blockchain Wiki
- LINE 광고 서버 개발 팀의 DevOps 문화
- EKS Networking — CNI
- nbterm: Jupyter Notebooks in the terminal
- 4 tips for context switching in Git
- 5 reasons sysadmins love systemd
- Awesome MLOps
- Terraform Best Practices - DevOps Unicorns 2019
- Mitigating the effects of silent data corruption at scale
- Crypto miners are killing free CI
- What happens when...
- 초보자를 위한 리눅스 서버 보안용 오픈소스들과 팁
- Power Automate 시작하기
- Swimlanes - 온라인 시퀀스 다이어그램 에디터
- Opyrator - 파이썬 함수를 Microservice로 쉽게 만들기
- Why UML "Really" Died
- Using Rust to Write Safe and Correct Linux Kernel Drivers
- What’s wrong with Git? A conceptual design analysis
- DESIGN PATTERNS(그림이 멋짐)
- Nobody cares about your beautiful code
- Have any Senior software engineers out there failed multiple coding based interviews?
- 기술문서 쉽게 쓰기 지침 #테크니컬라이터 #언어정책
- QEMU internals
- Fast Enough VMs in Fast Enough Time
- CSS tips and tricks you won’t see in most of the tutorials.
- All Your Macs Are Belong To Us
- Welcome to the learnrubyonline.org free interactive Ruby tutorial.
- 모질라, 브라우저에 파이썬 통합하는 ‘파이어다이드’ 프로젝트 분리
- GitHub에서 커뮤니티 기반 소프트웨어 프로젝트 빌드 by Microsoft
- 인터넷 검색 팁
- Java for Everything
- Parsing Protobuf at 2+GB/s: How I Learned To Love Tail Calls in C
- Has UML died without anyone noticing?
- Casbin is a powerful and efficient open-source access control library for Golang projects.
- Heroku-style deployments with Docker and git tags
- Last Resort Font
- Common interface for NIC statistics
- 무료/오픈소스/유료 쿠버네티스 모니터링 도구 비교
- Kubernetes 네트워크 이해하기 (1) : 컨테이너 네트워크부터 CNI까지
- Clever Hack Finds Mystery CPU Instructions
- DOOM3 BFG 분석
- ‘새 패스워드를 강요하지 말라?’··· 비밀번호 보안에 대한 최신 조언 10가지
- 공격자가 현재 사용하는 7가지 소셜 엔지니어링 전술
- 구글 클라우드 플랫폼에서 마이크로서비스 실행하기
- 2020년 윈도우 네트워크 공격 유형 톱 10
- BASH Debugger
- Digging for performance gold: finding hidden performance wins
- A new way to make maps with OpenStreetMap
- Semgrep - 오픈소스 정적 코드 분석 도구
- A viewer for git and diff output
- 개발자들이 StackOverflow에서 얼마나 Copy & Paste 할까?
- Tiny Container Challenge: Building a 6kB Containerized HTTP Server!
- Actuating Google Production: How Google’s Site Reliability Engineering Team Uses Go
- Diving Deep on S3 Consistency
- Green Vs. Brown Programming Languages
- New Windows 10 test build adds first preview of Linux GUI apps on WSL
- Web Performance Recipes With Puppeteer
- Linux Foundation Bans University After It Intentionally Submitted Buggy Patches
- How to navigate directories faster with bash
- Concurrent API Patterns in Go
- kocw: 모두를 위한 열린 강좌(온라인 강의 모음)
- How many x86 instructions are there?
- Microservice Architecture and its 10 Most Important Design Patterns
- Git from the Bottom Up
- Compute@Edge: porting the iconic video game DOOM
- TETRIS-OS: An operating system that only plays Tetris.
- .NET for Beginners
- Bug in Notepad Involving Asterisk in Title Bar
- How to really learn Go
- include-what-you-use - A tool for use with clang to analyze #includes in C and C++ source files
- Faster warmup, smaller downloads, JDK 16 — GraalVM 21.1 is here!
- Node.js 16 available now
- Grafana, Loki, and Tempo will be relicensed to AGPLv3
- Reading AGPL
- PSPad - text and code editor
- Visual Studio 2022
- 지속 성장 가능한 소프트웨어를 만들어가는 방법
- 15 DevTool Secrets for JavaScript Developers
- Microsoft says mandatory password changing is “ancient and obsolete”
- 고언어(Golang) HACKING.md 내용 정리
- A practical guide to using the git stash command
- Using Qt 5.15 and Qt 6 under LGPLv3
- MS의 Rust 기초 가이드 [한국어]
- 웹 개발자 도구의 역사
- HTTP/3: 과거, 현재 그리고 미래
- JDK Mission Control 8 Released
- Show HN: 25 science and math flavored programming problems for beginners
- Moss - A System for Detecting Software Similarity
- Serverless Functions for Microservices? Probably Yes, But Stay Flexible to Change
- Everything Easy is Hard Again
- Are the top websites using WebGL for fingerprinting?
- PHP in 2021
- How 30 Lines of Code Blew Up a 27-Ton Generator - A secret experiment in 2007 proved that hackers could devastate power grid equipment beyond repair—with a file no bigger than a gif.
- I'd like to review your README
- CONTENT-AWARE IMAGE RESIZING IN JAVASCRIPT
- Standard Notes is a safe place for your notes, thoughts, and life's work.
- 리눅스 커널에서의 Rust 지원을 위한 RFC
- FTP is 50 years old
- EXPIRATION DATE 4-6-2021 - Epic Games certificate expiration incident report
- QUIC and HTTP/3 Support now in Firefox Nightly and Beta
- 10 Design Patterns every Software Architect and Software Engineer must know
- Linus Torvalds on Rust support in kernel
- FLoC away from Chrome!
- Rust in the Linux kernel
- How to fight back against Google FLoC
- How I made $10k in one month from an online vim course
- IMPORTANT: PEP 563, PEP 649 and the future of pydantic
- Mac Chimes of Death
- 새로운 HTTP SEARCH 메소드
- Opting your Website out of Google's FLoC Network
- (Kubernetes) 11 Ways (Not) to Get Hacked
- You can't afford to run Java 8
- Scientist! - A Ruby library for carefully refactoring critical paths.
- Google does not use the keywords meta tag in web ranking
- A Primer Through Golem
- Open source, experimental, and tiny tools roundup
- Encore - Go framework for building distributed systems
- How to create an Authentication System using JWT and Node.js
- JWT는 어디에 저장해야할까? - localStorage vs cookie
- MY JOURNEY INTO SOFTWARE ENGINEERING
- Understanding Bandwidth
- WebDevChallenge - A hopefully ever-growing list of web-development related challenges
- Why Rust strings seem hard
- Playing the Open Source Game
- natto.dev - a canvas for JavaScript
- Dark is a new way of building serverless backends. Just code your backend, with no infra, framework or deployment nightmares.
- 스타트업에서 CTO의 역할
- Deno 1.9 Release Notes
- Olivier Poudade 's Assembly language page
- pass - the standard unix password manager
- Deep dive in CORS: History, how it works, and best practices
- The Dawn of a new Command Line Interface
- The True Meaning of Technical Debt 💸
- kaboom.js - a fun JavaScript game programming library & environment
- How to replace Docker with Podman on a Mac
- Gitlet.js – Git implemented in 1k lines of JavaScript
- What is the programming language used in aircraft avionics systems?
- Where Programming, Ops, AI, and the Cloud are Headed in 2021
- Use console.log() like a pro
- Microsoft Introduces Microsoft Build of OpenJDK
- 안드로이드 개발 언어에 '러스트' 추가… 고질적인 C/C++ 메모리 버그 잡는다
- MS, 자체 오픈 JDK 프리뷰 릴리즈 공개
- PHP 백도어 공격에서 드러난 오픈소스의 허점, 효과적인 코드 검증이 필요하다
- What exactly was the point of [ “x$var” = “xval” ]?
- Traversing nested data-structures (using vairous programming languages)
- 서버리스와 서버의 비용 비교 - 서버를 쓴다는 건 10배, 100배의 비용을 지급한다는 의미
- 간단한 macOS 개발 환경 공유
- 1인 기술 스타트업의 아키텍쳐 스택
- 무료 포토샵 Photopea 개발자의 AMA
- Internet Monitoring Docker Stack with Prometheus + Grafana
- Bloom filters in a single image
- The Gradle team is excited to announce a new major version of Gradle, 7.0.
- Don’t hire top talent; hire for weaknesses.
- Downloading files from S3 with multithreading and Boto3
- Plan 9 from Bell Labs in Cyberspace!
- Clubhouse data leak: 1.3 million scraped user records leaked online for free
- K9s — the powerful terminal UI for Kubernetes
- notepad_logger - A logger which puts its output to an open Notepad window.
- 구글의 First Party Sets에 대해 W3C TAG가 반대함
- Everyone Is Still Terrible At Creating Software At Scale
- [동영상] 45분만에 보는 현대 CPU 아키텍쳐 정리
- Free Python Books
- “공유를 넘어 협업으로” 크롬에서 스크린샷을 공유하는 가장 똑똑한 방법
- Web Framework Benchmarks
- Why Hypercard Had to Die
- Jurigged lets you update your code while it runs. (Python code hotloading)
- uBlock Origin works best on Firefox
- Docker without Docker
- Cat and friends (Netcat and Socat)
- Why Do Long Options Start with Two Dashes?
- How to Learn Complex Things Quickly: A Guide
- Slim is a PHP micro-framework that helps you quickly write simple yet powerful web applications and APIs.
- Commits are snapshots, not diffs
- Kubernetes local playground alternatives
- The Architecture Behind A One-Person Tech Startup
- The history of UTF-8 as told by Rob Pike
- Surprisingly Slow
- Pear - WebRTC Toolkit for IoT/Embedded Device
- 구글 Wuffs - 안전하게 파일포맷을 다루기 위한 개발언어
- C++20의 주요 기능들 - 예제와 함께 정리
- Cheetah-Grid - 초고속 데이터 테이블 오픈소스
- How to make an awesome Python package in 2021
- [Test와 Test Double의 종류]
- 생체 정보를 활용한 안전한 로그인, passwordless LINE 프로젝트를 소개합니다
- The Accessible Color Generator
- skruv - No-dependency, no-build, small JS framework.
- A port of the earliest C compiler to modern GCC. The compiler outputs PDP-11 assembly code that can be compiled and run on a PDP-11 emulator.
- Programming is hard
- IPython as a system shell
- Eliminating Data Races in Firefox – A Technical Report
- Bevy 0.5: data oriented game engine built in Rust
- The Fastest, Safest PNG Decoder in the World
- 개발자 부업, 어디까지 해봤니? 어떤 개발자의 20년 부업 역사
- [▓▓ xplr] A hackable, minimal, fast TUI file explorer
- 3 new Java tools to try in 2021
- How to Test Network Speed in Linux via CLI
- Supreme Court Rules Google's Use of Java API Was Fair Use
- 'DNSSEC부터 DoH·DoT까지' DNS 트래픽 암호화의 이해
- Benchmarking low-level I/O: C, C++, Rust, Golang, Java, Python
- tinc - 오픈소스 P2P VPN 데몬
- KAIST CS492: Design and Analysis of Concurrent Programs
- Beautiful PDFs from HTML
- Get Started With Tmux
- Matrix - An open network for secure, decentralized communication
- httpdito - i386 어셈블리로 된 초소형 웹서버
- 좋은 면접자/지원자가 되는 방법
- enki Task Scheduler - A permissively licensed C and C++ Task Scheduler for creating parallel programs. Requires C++11 support.
- Apache Kafka Made Simple: A First Glimpse of a Kafka Without ZooKeeper
- The Browser — WorldWideWeb NeXT Application
- Simplenetes - magic free clusters
- Fed up with the Mac, I spent six months with a Linux laptop. The grass is not greener on the other side
- Terramaster NAS exposing itself with UPNP
- Spring Retry
- 타이핑 속도 측정
- 7 Tips for Becoming a Competent JavaScript Developer
- MaraDNS - 서비스 테스트에 사용할 수 있는 간단한 Windows 용 DNS 서비스
- 네트워크 연결 테스트와 ping?
- Better NPE Messages in JDK 14
- 오픈소스 Contributor Index
- WHERE IS HTTP/3 RIGHT NOW?
- darkhttpd - When you need a web server in a hurry.
- Crystal Language That Aims at C Performance with Ruby Syntax Releases 1.0
- Say that I have an optimally written program in c++. I write exactly the same program in python. Obviously the program written in c++ performs better. But now I complile the python code. Would this executable run as fast as the c++ one?
- Spreadsheet is a software development paradigm
- Explore the Magic Behind Google Chrome
- Software development is a loser’s game
- Known vs Unknown Product Framework
- A categorized list of all Java and JVM features since JDK 8 to 16
- Kafka Without ZooKeeper 첫 배포
- Reverse Engineering A Mysterious UDP Stream in My Hotel
- up - Ultimate Plumber
- 프론트엔드 개발자 면접 정리
- Best practices for cookie notices
- 구글, 기존 쿠키 대체할 '플록' 개발자용 평가판 출시
- "구글, 애플보다 데이터 수집량 최대 20배 많아" 아일랜드 대학 연구
- The Evolution of Distributed Systems on Kubernetes
- 50 HTML Best Practices & Guidelines to Build Better Web Projects
- hyperdeck - Impressive presentations. Fast.
- 개발자 친화적인 "What is my IP"
- Reverse Engineering For Everyone! - A FREE comprehensive reverse engineering course covering x86, x64, 32-bit ARM & 64-bit ARM architectures.
- social-app-django - Python Social Auth is an easy to setup social authentication/registration mechanism with support for several frameworks and auth providers.
- Font size is useless; let’s fix it
- Arm Announces Armv9 Architecture: SVE2, Security, and the Next Decade
- IceCream — Never use print() to debug again
- Local Overrides — A smart add-on to chrome
- navi - An interactive cheatsheet tool for the command-line.
- Numi - 깔끔한 맥용 계산기 앱
- pText is a library for creating and manipulating PDF files in python.
- Double Commander - 크로스플랫폼 오픈소스 파일관리자
- 루비 언어와 닮은꼴··· 크리스탈 1.0 릴리스 이모저모
- AWS 람다 용량 관리
- It doesn't work
- Manager's Playbook - 관리자를 위한 핸드북
- Kubernetes Is Not Your Platform, It's Just the Foundation
- 고성능 서버/데이터베이스
- Setting up Streaming Replication in PostgreSQL 13 and Streaming Replication Internals
- High-performance garbage collection for C++
- Amazon Updates Its Elasticsearch Service, Begins Embrace of New Fork
- You can go your way: Kafka without Zookeeper
- 클라우드 스토리지 재해로부터 얻은 백업의 교훈
- Hades is a garbage collector for Hermes that aims to improve pause times by an order of magnitude over GenGC.
- Mongita - 임베드 가능한 MongoDB
- “클라우드의 대안으로 인기 ↑” 코로케이션의 장단점과 업체 선택 기준
- 매일유업이 대담하게 모든 IT인프라를 클라우드로 전환하기까지...
- Filecoin, StorJ and the problem with decentralized storage (part I)
- The Complete ORM for Node.js & TypeScript
- Couchbase Details Its Distributed ACID Transaction Architecture
- What are some useful SQL queries you've found?
- 5년간 PostgreSQL 스케일링 하면서 배운 것
- “클라우드의 코로나19 특수는 계속된다”…투자와 소비만큼 낭비도 증가
- 7년간의 오픈소스 DB 개발에서 배운 것
- Why you shouldn’t log into db
- SQLite the only database you will ever need in most cases
- BRIN Index for PostgreSQL: Don’t Forget the Benefits
- Foundations of Databases: A book published by Addison Wesley
- Configure a Read Replica Database in Django
- Introducing OpenSearch by AWS
- "멀티클라우드에 범용성이란 없다" 그렇다면 해결책은?
- Arm 칩부터 엣지컴퓨팅까지··· 7가지 키워드로 짚어본 '클라우드' 진화
- NOSQL DATA MODELING TECHNIQUES
- Best practices for writing SQL queries
- How does ClickHouse compare to Elasticsearch?
- MySQL and UUIDs
- 10 Things I Hate About PostgreSQL
- Git as a NoSql database
- SQLean: all the missing SQLite functions
- Exploring Tweets with SQLite + WASM
- Securing Your PostgreSQL Database
- 🔥 A curated list of awesome links related to MySQL / MariaDB / Percona configuration tuning for improve performance Articles
- Amazon Elasticsearch Service 메모리 자동 조정(Auto-Tune) 기능 사용하기
- Speeding up recovery and VACUUM in Postgres 14
- Logging all MariaDB and MySQL queries into the Slow Log