- 웹/앱 소식
- 개발/관리도구 소식
- Chaos Engineering
- Linux Performance charts
- Invite friends to SSH into your laptop using their Github handle
- pipeenv - Sacred Marriage of Pipfile, Pip, & Virtualenv.
- Style guides for Google-originated open-source projects
- 애플의 새로운 파일 시스템, APFS의 모든 것
- Make Better Software의 추천 도서
- ODP: An Infrastructure for On-Demand Service Profiling
- 한시간에 만드는 대용량 로그 수집 시스템
- doctl - A command line tool for DigitalOcean services
- "OpenSSH Keys: A Walkthrough"
- JavaScript: Past, Present, Future
- Gitea - Git with a cup of tea - A painless self-hosted Git service.
- JWT brute force cracker written in C
- The Awk Programming Language (1988) [pdf]
- Hellogopher: "just clone and make" your conventional Go project
- Gatling vs. JMeter
- How quickly can you remove spaces from a string?
- Dafny is a programming language with a program verifier.
- 2016 JavaScript Rising Stars
- My Go Resolutions for 2017
- Dismissing Python Garbage Collection at Instagram
- Java 8: New features in ConcurrentHashMap
- How to add file to a previous commit?
- systemd 살펴보기
- Golang 체험기
- Grammarly for Chrome - 영작용 크롬 확장
- FlatBuffers Benchmarks(for JSON parsing)
- Standard Notes - A standard notes app with an un-standard focus on longevity, portability, and privacy.
- 스타웍스 개발기 (3) - 사파리 익스텐션과 웹킷 인젝션
- The Top 50 Developer Tools of 2016
- Front-End Developer Handbook 2017
- Everything you need to know about HTTP security headers
- Teaching Modern Software Development Techniques at University
- Mastering Bash and Terminal
- 고성능 서버/데이터베이스 소식
- Amazon Web Services’ secret weapon: Its custom-made hardware and network
- Microsoft Azure for AWS experts: Compare services for multicloud solutions and migration
- Træfɪk is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease.
- Introduction to High Performance Scientific Computing(PDF)
- 빌링 시스템 장애, 이러지 말란 Maria~
- emulamda - Python emulator for AWS Lambda
- Postgres Parallel indexing in Citus
- Peloton - The Self-Driving Database Management System
- Improving Azure SQL Database Performance Using In-Memory Technologies
- '신한은행의 美 AWS 클라우드' 사례...국내선 냉담한 이유
- Setup ProxySQL for High Availability (not a Single Point of Failure)
- The Infrastructure Behind Twitter: Scale
- MongoDB, ElasticSearch hackers now target Hadoop with ransomware
- New – Create an Amazon Aurora Read Replica from an RDS MySQL DB Instance
- Analysis and Mitigation of NoSQL Injections
- 대규모 분산 스토리지(Kage)의 발전과정
- RethinkDB: why we failed
- 빅데이터/인공지능 소식
- Bitesnap recognizes the foods in your meals by machine learning technologies
- How to Learn Math for Data Science, The Self-Starter Way
- 머신러닝 피드백을 이용한 게임 지표 분석
- Apache Eagle Graduates to Top-Level Project
- Velodyne Plans a Lidar Megafactory
- Unexpected Consequences of Self Driving Cars
- https://www.theguardian.com/politics/2017/jan/19/crisis-of-statistics-big-data-democracy?CMP=share_btn_tw
- The Rise of the Data Engineer
- 테슬라 모델 S 첫 사망 사고 "차량 안전 결함 없어"···NHTSA 조사
- NHTSA's full report on Tesla's 2016 fatal Autopilot accident
- Tesla’s Autopilot Vindicated With 40% Drop in Crashes
- NHTSA’s full final investigation into Tesla’s Autopilot shows 40% crash rate reduction
- '뉴 SKT 호' 밑그림 나왔다...T 브레인 신설하고 30대 AI 전문가 수장으로 영입
- Robotics - AI Software Learns to Make AI Software
- PyTorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration.
- Playing with 80 Million Amazon Product Review Ratings Using Apache Spark
- Python Machine Learning: Scikit-Learn Tutorial
- 구글, 아파치 스파크 경쟁자 키운다
- DeepTraffic - Hightway traffic simulator
- Ad-hoc Data Visualization and Machine Learning with mysqlshell
- Massive Throughput Database Queries with LLVM on GPUs
- Analyzing 1.1 Billion NYC Taxi and Uber Trips, with a Vengeance
- 6.S094: Deep Learning for Self-Driving Cars
- 왓슨 쇼크… 10년 뒤 우리 동네 약사님은 로봇?
- Which Algorithm Family Can Answer My Question?
- Developing Korean Chatbot 101
- [2017 디트로이트 선언] 자율 주행차 시대… IT·車업계 수익모델 어떻게 변하나
- 기타 읽을거리
- Libor scandal: the bankers who fixed the world’s most important number
- THE HEROISM OF INCREMENTAL CARE
- 삼성은 단순한 폰팔이가 아니다: 삼성전자의 파운드리 산업
- Minimum Desirable Product
- https://www.bloomberg.com/news/articles/2017-01-23/when-their-shifts-end-uber-drivers-set-up-camp-in-parking-lots-across-the-u-s
- The hell of Apollo 1: Pure oxygen, a single spark, and death in 17 seconds
- The Not-So-Fine Tuning of the Universe
- [Infographic] Galaxy Note7: What We Discovered
- Why Paper is the real 'killer app'
- 부트스트래핑 그리고 계획
- 오라클, '스팍·솔라리스' 버리나
- The world couldn’t afford engineering degrees without philosophy majors
- Top IT Trends to Watch in 2017
- Paul Kalanithi,
- 행동을 변화시키는 서비스가 안 되는 이유 – 유저에게 자유를 허하라
- 최고의 플래시카드 앱은 Studies가 아니다!
- Investing Is More Luck Than Talent
- You (and Your Therapist) Can Change Your Personality
- 경력 개발이 멈췄다··· 늪에 빠진 개발자들을 위한 조언
- 넷플릭스 Q4 실적 분석
- Netflix’s international growth is exploding as its looks beyond the U.S.
- FAP80 - A Z80 retro computer without the retro baggage
- Some Colleges Have More Students From the Top 1 Percent Than the Bottom 60. Find Yours.
- AMAZON IS BECOMING THE GREATEST THREAT GOOGLE EVER ENCOUNTERED
- 리사 수의 ‘마법’, AMD를 구원하다
- The Deceptions of Luck
- Seminar Refreshments!
- CIA releases 13m pages of declassified documents online
- Galileo satellites experiencing multiple clock failures
- Why Medical Advice Seems to Change So Frequently
- It’s shockingly easy to hijack a Samsung SmartCam camera
- How to Criticize with Kindness: Philosopher Daniel Dennett on the Four Steps to Arguing Intelligently
- Science vs. Cinema: THE MARTIAN - Full Episode
- The One Question You Should Ask About Every New Job
- How much does employee turnover really cost?
- 진화하는 번역기… 사라지는 번역가?
- What Matters More to Your Workforce than Money
- The World Could See Its First Trillionaire in the Next 25 Years
- 영역별 영어 공부 사이트 모음 BEST 37
- 말 안하는 수요일
- 80,000 Hours career plan(Your A/B/Z career plan)
- An analysis of 10,000 scientific studies on marijuana concretely supports only three medical benefits
- 탄소 나노튜브 기반 메모리 기술 NRAM의 파괴력, 얼마나 될까
- Want kids to learn well? Feed them well
- 인사전문가 김성수 교수가 보는 직장의 미래
- Essential reading: nine experts on the books that inspired them
- 마음의 허기
- 6개월 경력자와 6년경력자의 차이
- 2017 : WHAT SCIENTIFIC TERM OR CONCEPT OUGHT TO BE MORE WIDELY KNOWN?
- The Pruitt-Igoe Myth: an Urban History – Film Trailer
- How Designers Engineer Luck Into Video Games
토요일, 1월 28, 2017
[B급 프로그래머] 1월 4주 소식
토요일, 1월 21, 2017
[독서광] 레시피보다 중요한 100가지 요리 비결
2017년도 새해를 기념해서 첫 책을 소개해드리겠다. 놀랍게도 오늘은 '요리책'이 아닌 '요리책'이다. '레시피보다 중요한 100가지 요리 비결'이라는 제목이 붙은 이 책은 요리를 잘 하기 위한 기본기를 소개한다는 면에서 상당히 특이하다. 일반적인 요리책은 조리법에 집중을 하기 때문에 재료나 준비 과정에 있어 필요한 각종 지식은 건너 뛰기 마련이다. 하지만 사소하다면 사소하다고 볼 수 있는 이런 배경 지식이 요리의 완성도를 극대화하기 때문에 이 책에서 제시하는 여러 가지 팁을 허투루 취급해서는 곤란하다는 생각이다.
주제는 크게 야채/과일, 육류, 해산물, 계란(!), 밥/빵/면류에 대한 비결, 밑준비, 요리 준비, 간, 조리 도구 식재료 선택/저장/보관에 대한 비결로 나뉘어진다. 다음에 소개하는 몇 가지 비법에 대한 제목만 봐도 도움이 될 것이다.
- 감자를 통째로 익힐 때에는 찬물에서부터 넣어서 삶는다
- 고기를 익히거나 가열하기 전에 칼집을 넣는다
- 햄버그스테이크는 센 불에서 시작하여 약 불에서 익힌다
- 흰 살 생선은 단시간에, 붉은 살 생선은 시간을 들여 조린다
- 계란 지단을 부칠 때에는 기름을 부은 뒤 팬을 한 번 닦아낸다
- 샌드위치를 만들 때에는 빵 한쪽 면에 버터를 바른다
- 파스타를 삶는 시간은 표준보다 약간 짧게
- 양파를 자를 때 눈물이 나지 않게 하는 방법
- 토막을 낸 고기나 생선은 물에 씻지 않는다
- 샌드위치에 넣을 야채는 키친타월로 수분을 제거한다
- 고기와 야채는 센 불에 빨리 볶아낸다
- 만두를 팬에 구울 때에는 기름을 넣기 전에 물부터 넣는다
- 볶는 요리의 재료는 팬 크기의 절반 이하로 한다
"조림 요리는 만든 뒤에 식혀 두는 시간을 갖는다"에 나오는 설명을 가져와봤다. 이 책 본문이 어떤 방식으로 서술되었는지 감이 올 것이다.
조림은 대체로 끓어오른 뒤 4~5분 정도가 되면 양념을 넣어 간을 맞춥니다. 그런데 ‘조림은 한 번 식혀 두고 난 후에 맛이 속까지 잘 배어든다’라는 말을 들어보신 적이 있을 거예요. 이것은 조림이 끓고 잇을 때에는 재료의 내부에서 수분이 증발하고, 온도가 내려가면 외부보다 내부의 압력이 낮아지기 때문입니다. 그러면 수분이 빠져나간 만큼 국물을 빨아들이기 때문에 빨리 맛이 배어드는 것이지요. 따라서 무 등의 야채를 두툼하게 썰어서 조리할 때 맛을 잘 스며들게 하고 싶으면 조린 뒤에 일단 불을 꺼서 잠시 그대로 식혀 두도록 합니다.
결론: 집에서 요리를 하는 과정에서 뭔가 부족함을 느끼는 분들께 적극 추천!
EOB토요일, 1월 14, 2017
[B급 프로그래머] 1월 2주 소식
- 웹/앱 소식
- 개발/관리도구 소식
- What lies beneath async/await in C# ?
- streama - It's like Netflix, but self-hosted!
- Kuzzle – An On-premises Document Back-end
- Python 3, asyncio와 놀아보기
- clean-code-javascript(한국어판)
- git-secrets - Prevents you from committing secrets and credentials into git repositories
- Java EE and Docker Tips
- Efficient String Concatenation in Go
- 구글 드라이브 이용해서 단어 정리하기
- The Surprising Truth of Java Exceptions: What Is REALLY Going on Under the Hood?
- 무료 한글 개발자 도서
- Learn Computer Science by Google CS Education
- Foundations of Computer Science by Aho & Ullman
- Guide to NumPy
- Q8 - Experiment with low level machine code programming in your browser
- DokanCloudFS - A virtual filesystem for various publicly accessible Cloud storage services on the Microsoft Windows platform.
- Randomness in Linux
- 보이지 않는 전우
- How To Spy on Your Ruby Methods
- Programming Languages online tutorial
- JVM Options Cheat Sheet
- Coffeefy: 스타벅스 와이파이 자동 접속 애플리케이션
- A Tourist’s Guide to the LLVM Source Code
- V8 마이크로 최적화 가이드
- Research papers in the .NET source
- [일상다반사] 좋은 질문을 하려면?(본인이 작성한 글)
- Java 9 Will Change the Way You Traverse Stack Traces
- flatpickr - lightweight and powerful datetimepicker with no dependencies
- 유니코드 한중일 잔혹사
- 서문: 프로그래밍은 어렵다
- Myths about /dev/urandom
- Easy 6502
- Ruby Meta-programming
- How One Line of Text Nearly Killed 'Toy Story 2'
- So Long, Prog21: 프로그래머들에게 좋은 링크!
- Harnessing the Power of Architectural Design Principles
- Grumpy: Go running Python!
- Really, POSIX? Really? memset() isn't async-signal-safe? How is it not safe? … oh … that's why
- Why Recursive Data Structures?
- Why HTTPS for Everything?
- Libraries.io The Open Source Discovery Service.
- [B급 프로그래머] 코딩 실력을 개선하기 위한 확실한 방법: 코드 읽기(본인이 작성한 글)
- Top 10 algorithms in Interview Questions
- The memory models that underlie programming languages
- The Container Landscape: Docker Alternatives, Orchestration, and Implications for Microservices
- Be Careful with Python's New-Style String Format
- In 2017, learn *every* language
- 10 Programming Tips to Create Maintainable Java Applications
- x86 Assembly Guide
- 고성능 서버/데이터베이스 소식
- Freenom World is a fast and anonymous Public DNS resolver
- MongoDB hackers now sacking ElasticSearch
- Google Infrastructure Security Design Overview
- A Year Without a Byte
- 이제는 리눅스 기반 SQL 서버를 준비할 시점
- 당신이 AWS 계정을 만들고 가장 먼저 해야 할 일 들과 하지 말아야 할 일 들
- Garbage Collector Basics and Performance Hints
- Moving persistent data out of Redis
- 알렉스 이야기
- MySQL 8.0.1: The Next Development Milestone
- 국내 클라우드 시장, 지난해 첫 1조 돌파...기업 경쟁 치열
- The InnoDB Storage Engine for MySQL
- Chaos Engineering
- AWS sees growth in database migrations
- Multiple DNS Providers to Mitigate DDoS Attacks
- Millions of Queries per Second: PostgreSQL and MySQL’s Peaceful Battle at Today’s Demanding Workloads
- Let’s Encrypt 2016 In Review
- How to Best Architect Your AWS Marketplace SaaS Subscription Across Multiple AWS Accounts
- Security Engineering — The Book
- LeoFS is an unstructured object/data storage for the Web and a highly available, distributed, eventually consistent storage system.: S3 API도 지원!
- Testing MySQL/MariaDB/Percona versions with Docker
- How and why the leap second affected Cloudflare DNS
- Some DNS lookups causing 5xx errors due to leap second bug
- Amazon Aurora: TCO, Performance, and Migration
- Best practices for MySQL High Availability
- Beringei is a high performance, in-memory storage engine for time series data.
- 빅데이터/인공지능 소식
- The Google Brain team — Looking Back on 2016
- “New Jersey Open Data Initiative;” requires certain information be made available on Internet by State departments and agencies.
- 내수 불황에도 稅收 호황… 부동산과 '엔티스'의 힘
- Organ transplants in the US are on the rise, but the reason why means it’s not exactly a public health triumph
- An economics analogy for why adversarial examples work
- 정부청사 얼굴 인증 시스템은 '뽀샵 판독기'?
- Deep Learning by Stanford Univ.
- Data Visualization - New York City: One Day on Waze | Waze
- Google just made a big move to bring down the cost of self-driving cars
- Difference between Machine Learning, Data Science, AI, Deep Learning, and Statistics
- Uber’s new tool gives cities a mind-bogglingly detailed view of traffic patterns
- Google’s new self-driving minivans will be hitting the road at the end of January 2017
- Deep Text Corrector
- Markov Chains - Explained Visually
- The Riemann Hypothesis, explained
- 현대 신경과학은 과연 동키콩을 이해할 수 있는가
- The Extraordinary Link Between Deep Neural Networks and the Nature of the Universe
- MuGo - Replicating AlphaGo's architecture in a readable manner
- 현대차 자율주행차 타보니··· "아직 상용화 수준 아니다"
- 6장으로 끝내는 고등학교 수학공식 큰그림
- Google BigQuery Adds New Public Datasets
- 지도기업 히어, 어떻게 자율차 기대주 됐나
- How to Partition a Billion-Node Graph(PDF)
- Google reveals secret test of AI bot to beat top Go players
- TensorKart: self-driving MarioKart with TensorFlow
- manim - Animation engine for explanatory math videos
- Three challenges you’re going to face when building a chatbot
- DeepMind’s work in 2016: a round-up
- 미국 독일 일본의 스마트 팩토리 전략
- 차원이 다른 구글 번역기의 도래 (1)
- 위대한 AI, 깨어나다
- Expect Deeper and Cheaper Machine Learning
- Self-Driving Cars Could Cause a Major Organ Shortage
- Deep Learning 2016: The Year in Review
- BigDL: Distributed Deep learning Library for Apache Spark
- Intel Open-Sources BigDL, Distributed Deep Learning Library for Apache Spark
- 기타 읽을거리
- Equipping people to stay ahead of technological change
- The curious case of high blood pressure around the world
- Study finds association between eating hot peppers and decreased mortality
- 윈도우 10의 문제 해결을 도와주는 마이크로소프트의 ‘무료’ 도구 총정리
- Why open offices are bad for us?
- Fund managers who come from poor backgrounds are better investors than rich ones
- 이름이 뽑힌 사람은 반드시 2주를 쉬어야 한다.
- Making Slack Faster By Being Lazy
- When the Computer Wore a Skirt: Langley’s Computers, 1935–1970
- 전기차 판매가 부품 회사의 수익에 끼치는 영향
- 상사의 '터무니없는' 결정을 속단해선 안 되는 이유
- 테슬라는 자동차의 미래다
- 모든 관리자의 이상
- 김영세 이노디자인 회장 - 집필부터 디자인까지 기본 앱만 써도 충분(트위터!)
- Alcohol flips brain into hungry mode
- When Narrative Matters More Than Fact
- "차기 정권 몫?" 이공계 병역특례 폐지 논의 제자리걸음
- Atlassian acquires Trello for $425M
- Obama in Science: The Renewable Revolution Will Outlast Trump
- 인텔 옵테인에 기대할 수 있는 모든 것 : 출시일, 성능, 제품, 하드디스크, 운영체제
- The Year of Conquering Negative Thinking
- Mathematicians bring ocean to life for Disney's 'Moana'
- 20 signs your boss secretly hates you
- Is Emirates Airline Running Out of Sky?
- SpaceX says it figured out why its rocket exploded and will fly again within days
- Inside the 74181 ALU chip: die photos and reverse engineering
- How Rogue One Created Princess Leia, Grand Moff Tarkin
- OKR – 개인 목표 설정에 적용해보기
- IT 프리랜서가 단골 고객을 확보하는 6가지 방법
- The best and worst ways to quit your job
- Coal Fire, Not Just Iceberg, Doomed the Titanic, a Journalist Claims
- "사랑받을 때의 태도를 보면 그 사람의 인격을 알 수 있습니다. '사랑받음'은 당연한 것이 아니에요"
- Game in-app purchases are warping kids’ understanding of basic economic ideas
- 2017 Is the Year That Twitter Learns to Thrive or Dies
- Two reasons the red Solo Cup is a marvel of modern engineering
- Why doing a PhD is often a waste of time
- 생명 그영원한신비 E01 생명의탄생
- NHK스페셜 1988년작 "지구대기행"
- 토마 피케티는 왜 파레토의 법칙을 비판하나
- How to Become a ‘Superager’
- Why Don't Mars Rovers Move Faster?
- Cargo Cult Science
- Rogue One: A Star Wars Story - soundtrack
- How Much Sugar Can You Avoid Today?
마지막 마무리
EOB토요일, 1월 07, 2017
[일상다반사] 좋은 질문을 하려면?
줄리아 에반스가 작성한 How to ask good questions라는 글을 읽다보니 독자 여러분께 소개하고픈 생각이 들어 본문 내용을 정리해봤다. 개발자로서 훌륭하게 성장하려면 질문을 잘해야 한다는 에반스의 의견에 적극 동의하는데, 비단 개발뿐만 아니라 사람들과 함께 뭔가를 해내기 위한 필수 조건이라는 생각이다.
우선 좋은 질문이 무엇일까? 대답하기 쉬운 질문이다. 당연한 듯이 들리겠지만, 어떻게 질문하느냐에 따라 완전히 상황이 바뀌기 때문에 그렇게 쉽지는 않다. 대답하기 쉬운 질문을 하기 위한 방법은 다음과 같다.
- 무엇을 아는지 언급하라. 지금까지 주제에 대해 연구한 바를 언급한 다음에 "제가 이해한 내용이 맞습니까?"라고 물어보자(B급 프로그래머 생각: 어떤 경우에는 질문을 위해 여러 가지 복잡한 사안을 정리하다가 답을 스스로 구하는 경우도 많다. :)).
- 정답이 사실인 질문을 하라. '어떻게'가 들어가면 경우의 수가 너무 많아져서 곤란하므로, 문제 범위를 좁혀서 참인지 거짓인지를 알 수 있는 질문 형태로 만드는 편이 시간을 절약할 수 있다(B급 프로그래머 생각: 조금 구체적인 질문이 좋다. 너무 범위가 넓으면 어디서부터 답을 해줘야할지 대답하는 사람도 당황스럽다).
- 이해하지 못하는 사실에 대해서도 기꺼이 말하라. 설명을 듣는 도중에 잘 모르는 용어나 개념이 나오면 추가로 질문을 해야 한다. 이렇게 해야 질문자의 지식 범위를 대답자가 갸늠할 수 있다.
- 이해하지 못하는 용어를 확인하라. X가 이런저런 내용이 맞습니까? 이런 식으로 질문하면 나중에 대답할 때 용어 이해 수준을 고려해 진행할 수 있다.
- 질문하기 전에 연구를 해보자. 구글 등을 검색하기 전에 무작정 질문을 던지지 마라(B급 프로그래머 생각: 대부분 구글 검색으로 해결되는 경우가 많다는 사실을 기억하자. 구글에 안 나오면 아주 어렵거나 너무 당연해서 질문이 안 나오거나 둘 중 하나일 가능성이 높다).
- 누구에게 질문할지를 생각하라. 적절한 질문자를 대상으로, 질문자가 대답하기 편한 시간에 맞춰, 적절한 분량의 질문을 하자.
- 명백하지 않음을 보여주는 질문을 하라. 고급 질문은 숨겨진 가정을 잘 드러내는 특성이 있다. 숨겨진 정보를 공유하는 방식은 상당히 효과가 있다(B급 프로그래머 생각: 아주 뻔한 질문이지만 완전히 어려운 사안으로 바뀌는 경우가 있다. 예를 들어, 엔디안을 예로 들면 x86-64 아키텍처에서는 너무나 명백한 사안이 ARM 아키텍처에서는 고민 거리를 던져준다).
훌륭한 질문이 엄청난 기여를 하는 경우도 있다. 질문하는 행위 자체에 너무 겁먹지 말자!
EOB월요일, 1월 02, 2017
[B급 프로그래머] 코딩 실력을 개선하기 위한 확실한 방법: 코드 읽기
프로그래머라면 누구나 자신의 코딩 실력을 개선하고 싶어한다. 코딩 실력을 개선하기 위한 아주 손쉬운 방법은 없지만 노력하면 성공 가능한 방법은 존재한다. 오늘은 One Sure-Fire Way to Improve Your Coding에 나온 몇 가지 코드 읽기와 관련된 힌트를 정리해드리겠다.
코딩을 잘하려면 많이 작성해보면 된다. 이는 거의 확실한 진리지만 함정이 하나 있다. 엉터리로 코드 수 만 줄을 작성해봐야 소용이 없으며, 오히려 제대로 된 코드 수 천 줄을 작성하는 편이 훨씬 바람직하다. 제대로 된 코드를 만들려면? 답은 간단하다. 남이 만든 제대로 된 코드를 많이 읽어보면 된다. 그러면 코드를 읽기 위한 힌트가 없을까? 제로드 산토는 다음과 같은 방법을 제시한다(추가로 괄호 안에 B급 프로그래머의 경험을 추가했으므로 참고하기 바란다).
- 무엇을 읽을까?
- 여러분이 의존하는 코드를 읽어라: 이미 사용 중인 라이브러리나 플러그인으로 시작하자. 예로 워드프레스 플러그인, 루비 젬, jQuery 플러그인을 고려해보자.
- 감명 깊은 소프트웨어 코드를 읽어라: 오픈소스 프로젝트 중에서 아키텍처가 잘 잡혀 있고 문서화가 잘 된 코드부터 시작하면 된다(B급 프로그래머: 스프링 소스 코드 일부를 읽어보고 사용자(개발자!)를 배려하는 치밀함에 정말 놀란 적이 있다.
- 존경하는 사람이 만든 소프트웨어 코드를 읽어라: 오픈소스를 이끄는 사람 중에서 존경하는 개발자가 있다면 거기서 출발하자(B급 프로그래머: 클린코드에서 작성한 로버트 C. 마틴이 작성한 코드 사례를 추천한다).
- 실제 다룰 수 있는 코드를 읽어라: 처음부터 너무 욕심내어 대규모 프로젝트를 구성하는 코드를 읽으면 혼란에 빠진다. 전체 논리를 한 번에 머리에 넣을 수 있는 작은 프로젝트부터 읽어보자(B급 프로그래머: 되도록 초기 버전을 권장한다. 버전이 올라갈수록 복잡도는 기하급수적으로 증가하기 때문이다. 피보탈에서 만든 Cloud Foundry도 초기 버전은 정말 읽고 이해할만 했다. 이 코드 덕분에 루비 실전 기술을 몇 가지 배웠다.).
- 어떻게 읽을까?
- 큰 그림을 보자: 개별 단위 함수부터 파고드는 대신 웹 사이트, 튜토리얼, 문서, 코드 이외 다른 참고 자료부터 살펴보자. 프로젝트 구조 파악이 우선이다. 코드 계층 구조를 파악하고 어떤 코드가 어떤 코드를 import 하는지, namespace는 어떻게 명명되어 있는지를 살펴보자(B급 프로그래머: 코드 내부에서 함수는 헤더 파일에 대한 교차 참조를 걸어주는 여러 가지 도구를 사용하면 시간을 절약할 수 있다).
- 찾아낸 사실을 문서로 만들자: 코드 읽기는 수동적인 활동이 아니다. 찾아낸 사실을 문서로 만들고 프로그램 흐름에 맞춰 가정과 결론을 나중에 찾아볼 수 있게 주석으로 달아놓자.
- 테스트를 사용하라 루크!: 아마도 테스트 코드가 프로젝트 내에 포함되어 있을 것이다. 테스트는 출발점으로 아주 좋다. 코드가 어떻게 동작하고 어떤 가정을 내포하는지를 설명하기 때문이다. 실제로 코드 읽기에 앞서 테스트를 돌려서 환경이 제대로 구성되어 있는지 확인할 필요가 있다(B급 프로그래머: 테스트에 앞서 일단 빌드부터 성공해야 한다. 컴파일 언어에 대한 환경 구성이 확실히 어렵긴 하지만 스크립트 언어인 경우에도 의존성 맞추느라 고생할 가능성이 상당히 높다. 충격에 대비하라!).
- 실행하고, 변경하고, 다시 실행하자: 일단 모든 것을 분해했다 다시 조립하면서 이해도를 높이자. 정말 멋진 기능을 하나 추가해서 테스트가 통과하는지 살펴보자. 다양한 코드 상태를 확인할 수 있게 로그 수준을 높여보자(B급 프로그래머: 이 과정에서 디버거를 사용해 흥미로운 부분에 중단점을 걸어 내부 상태를 파악하기도 한다).
- 어디서 시작할까? 깃허브와 같은 공개 소스코드 저장소에서 출발하자. git clone 만으로 손쉽게 코드를 복제해서 시작할 수 있다.
토요일, 12월 31, 2016
[B급 프로그래머] 12월 4주 소식 정리
2016년도 한 해 동안 블로그를 사랑해주신 애독자 여러분들께 다시 한 번 감사 말씀드린다. 올해 마지막 소식(TL;DR) 정리하면서 새해 인사 드리겠다. 2017년도는 모든 분들께서 행복하게 지낼 수 있기를...
(오늘의 짤방: “All that beautiful hardware suspended in the void” via @shdyun)- 웹/앱 소식
- 개발/관리도구 소식
- 9 Fallacies of Java Performance
- Tips For Reading Code
- awesomo - The really big list of really interesting open source projects in С, C++, Clojure, Common/Emacs Lisp, Elixir, Erlang, Golang, Haskell, JavaScript, Lua, OCaml, Python, R, Ruby, Rust, Scala and etc.
- 시니어 개발자의 조건
- Mars is a cross-platform network component developed by WeChat.
- Systems Past: the only 8 software innovations we actually use
- Take a look behind-the-scenes with design documents from The Legend of Zelda!
- What was the role of MS-DOS in Windows 95?
- Everyone quotes command line arguments the wrong way
- The Resurgence of C Programming
- "How do I become a better developer?"
- Emacs Byte-code Internals
- pifpaf - Python fixtures and daemon managing tools for functional testing
- THE LINUX 2.5, RUBY 1.9 AND PYTHON 3 RELEASE MANAGEMENT ANTI-PATTERN
- The Little Book About OS Development
- Software optimization resources
- The little book about OS development
- Advent of Code Solutions
- fzf - A command-line fuzzy finder written in Go
- webpack 실전 가이드
- 파이썬 3.6에서 바뀐 점
- Computer Science from the Bottom Up
- If Buildings Were Built Like Software
- awesome-bits - A curated list of awesome bitwise operations and tricks
- OpenJDK now available for Windows
- Scalability, Availability & Stability Patterns
- SOLUTION ICONS FOR ARCHITECTURAL DIAGRAMS for Google Cloud Platform
- GoAccess is an open source real-time web log analyzer
- Modern garbage collection
- 탁월한 프론트엔드 엔지니어가 되는 법
- 알고리즘 문제 풀이 실력을 발전시키는 방법
- Vuetify.js - Learn about the features of the Vuetify Framework
- One Sure-Fire Way to Improve Your Coding
- The JVM Architecture Explained
- Introducing Maya: Datetimes for Humans™
- Single-file public-domain/open source libraries with minimal dependencies for C/C++
- Running Docker Containers Securely in Production
- byte of python(한국어판 PDF)
- InOrder traversal of Binary tree in Java using Recursion and Iteration
- 고성능 서버/데이터베이스 소식
- 4 techniques for Microsoft SQL database design and optimization
- What PostgreSQL has over other open source SQL databases: Part I
- 2012년에 비트윈 서버를 마비시켰던 윤초 이야기
- AWS 2016년 12월 31일 윤초 대응 방법
- 4 Reasons Your Business Should Move To The Cloud
- The Road to 2 Million Websocket Connections in Phoenix
- Mac, Linux 에서 쓸만한 DB Tool - DBeaver
- Why Is My NTP Server Costing $500/Year? Part 1
- Gorilla: A Fast, Scalable, In-Memory Time Series Database(PDF)
- MYSQL ON AWS: RDS VS EC2
- PostgreSQL anti-patterns: read-modify-write cycles
- MySQL Atchitecture and Concepts
- Group Replication is GA with MySQL 5.7.17 – comparison with Galera
- MySQL Group Replication
- Choosing the right MySQL High Availability Solution – webinar replay
- Multi-Threaded Replication in MySQL 5.6 and MySQL 5.7
- How to migrate from Galera Cluster to MySQL Group Replication
- Amazon RDS Supports Easy Migration from RDS MySQL to RDS MariaDB
- 10년 만에 시장을 뒤집다··· AWS가 뒤흔든 10가지
- 거대 금융사 2곳이 클라우드와 컨테이너를 활용하는 방법
- The 4 Golden Signals of API Health and Performance in Cloud-Native Applications
- AWS Aurora Benchmarking part 2
- New Reader Endpoint for Amazon Aurora – Load Balancing & Higher Availability
- Amazon Aurora 100% 활용하기
- Aurora RDS vs MySQL RDS
- AWS Aurora vs. AWS RDS MySQL Checklist
- RDS MySQL에서 RDS Aurora로 DB이전 다운타임 최소화 하기
- SQL Server on Linux: How? Introduction
- Amazon Aurora Update – Spatial Indexing and Zero-Downtime Patching
- options-ssl-nginx.conf for ECDHE
- Announcing SQL Server on Linux public preview, first preview of next release of SQL Server
- 빅데이터/인공지능 소식
- McKinsey's 2016 Analytics Study Defines The Future Of Machine Learning
- Facebook’s Face Recognition Tech Goes on Trial
- Video Shows Tesla Autopilot System Recognize and Avoid Crash on Highway
- A Guide to Deep Learning by YN2
- Machine Learning Crash Course: Part 2
- Essence of linear algebra
- AI 경고한 미국, AI 낙관한 한국
- BACH’S HOLY DREAD
- Saturn is opensource Machine Learning Framework.
- Scientists say your “mind” isn’t confined to your brain, or even your body
- Python Data Science Handbook
- Deep Learning Enables You to Hide Screen when Your Boss is Approaching
- 결국 “집 나간 우버”, 캘리포니아 제재 피해 애리조나로
- The Most Popular Language For Machine Learning Is ...
- 우버, 무인자동차의 자전거 도로 인식 문제 인정
- Watch Tesla’s Emergency Braking system help prevent a serious accident
- 컴퓨터 과학을 위한 수학
- TensorFlow CMake build
- 일본 제조업의 IoT 전략
- Building Jarvis
- Selection of resources to learn Artificial Intelligence / Machine Learning / Statistical Inference / Deep Learning / Reinforcement Learning
- New Cars Could Be Required To 'Talk' To Each Other As Soon As 2020
- 기타 읽을거리
- Nokia CEO ended his speech saying this “we didn’t do anything wrong, but somehow, we lost”.
- 이임 앞둔 리퍼트 "내 자녀가 이 특별한 나라 기억하길": "나쁜 일이 일어났는지 아닌지는 중요하지 않습니다. 나쁜 일이 없는 인생은 없습니다. 어떻게 대응하느냐가 중요합니다."
- The U.S. government is poised to withdraw longstanding warnings about cholesterol
- The Problem with Rewarding Individual Performers
- 영화 '히든 피겨스'에 등장하는 나사의 휴먼 컴퓨터
- Work. Walk 5 Minutes. Work.
- 스타벅스, 30년 만에 매장 3개에서 2만2000개로 확대 창업자의 생산·판매 현장 경험, 에너지, 호기심이 비결
- Lessons from 3,000 technical interviews… or how what you do after graduation matters way more than where you went to school
- 스미소니언 매거진이 추천하는 2016년 최고의 과학책 10권
- 말을 적게 하고, 말할 때는 정확한 언어를 사용하라
- 산업지표로 본 ‘소프트웨어 중심사회’ 변화
- HandBrake 1.0.0 Released
- Windows for Submarines
- MacBook Battery Time Remaining
- 8,760 Hours: How to get the most out of next year
- What makes us feel good about our work?(TED)
- Die photos and analysis of the revolutionary 8008 microprocessor, 45 years old
- Why time management is ruining our lives
- WORLD WAR THREE, BY MISTAKE
- Why “Children of Men” has never been as shocking as it is now
- Why Very Smart People Are Happiest Alone
- 좌충우돌 실전 프로젝트 개발 스토리
- How to make sense of 2016
- The Space Shuttle Challenger Explosion and the O-ring
- 연말 파티를 위한 ‘궁극의 스테이크’ 10계명
- 알리페이(支付宝)의 중국 이야기
- Words to Use Instead of VERY
- The Long-Term Jobs Killer Is Not China. It’s Automation.
- The Year in Reading by The New York Times
- 잊을 수 없는 [라라랜드]의 장면들은 어떻게 탄생했나
- The 10 Best Productivity Tips From Fortune’s 40 Under 40
- 비밀 속의 스냅챗, 그 회사에서 일 한다는 것
- THE SECRET LIFE OF TIME
- 신형 애플TV에 내장된 34종류의 화면 보호기를 맥에서 사용하는 방법
- Gartner's Top 10 Strategic Technology Trends For 2017
- ‘Photography Is Not a Team Sport’
- 아마존고(Amazon Go)는 어떤 기술이 적용되었나?
- 개발자가 새 직장을 찾아야 하는 징조 9가지
- Wolf – Gameboy cartridge with co-processor
- Nine New Findings About Inequality in the United States
- 9 Ways to Improve Your Love Life
- 일 못하는 사람의 유형
- 운전경력 긴 사람이 사고 더 많이 낸다…'베테랑의 역설'
- How is NSA breaking so much crypto?
토요일, 12월 24, 2016
[독서광] 스타일과 목적을 살리는 웹글쓰기
개인적으로 블로그를 운영하는 경우는 물론이고 회사에서 전담으로 블로그를 운영하거나 서비스 페이지를 만들고 내용을 구성하는 경우에 늘 부딪히는 문제는 사용자 경험을 극대화하며 스토리가 풍부한 웹페이지 동선 구성과 콘텐츠 제작이다. 온라인으로 연결된 특성으로 인해 전파력과 상호대화성이 높기 때문에 고려해야 할 사항이 많지만 늘 뭔가 부족하다는 아쉬움을 느끼기 마련이다. 오늘 소개할 책은 웹(홈페이지, 블로그, 이메일, 전자상거리 서비스 페이지)에서 어떻게 하면 효과적으로 콘텐츠를 작성할 수 있는지를 알려주는 '웹글쓰기'이다.
본격적인 책 소개에 들어가기 전에 제목이 오해를 불러일으킬 소지가 있다는 점부터 짚고 넘어가겠다. 제목만 보면 시중에 흔히 나와 있는 작문서를 연상하기 마련이다. 특정 주제를 제시한 다음에 어떤 식으로 효과적으로 글을 쓰는지 다루는 책 말이다. 하지만 이 책은 조금 다른 접근 방법을 택한다. 바로 고객/독자와 의사소통 과정에서 어떻게 마케팅 문구, 블로그, 이메일, 오류 메시지, 법률 조항 등을 제대로 기획하고 만들어내느냐에 초점을 맞춘다.
본문 내용 중에서 특히 흥미로웠던 부분은 자신만의 보이스 찾고 톤을 조정하는 원칙이다. 본문에 나오는 내용을 일부 가져오겠다.
사람들은 흔히 보이스와 톤을 같은 의미로 사용하지만 엄밀하게 말하면 둘은 다르다. 보이스는 바로 그 기업의 공공 개성이며 때에 따라 크게 달라지지 않는다. 개인이 지닌 인격과 마찬가지로 조직의 개성인 보이스는 모든 콘텐츠에서 스며 나오며 기업에 대한 인상을 좌우한다. 반면, 톤은 상황에 따라 바뀔 수 있다. 보이스는 웹에 글을 쓰는 여러분이나 여러분이 속한 기업과 관련이 깊지만 톤은 고객이나 고객이 느끼는 감정과 밀접한 연관이 있다. 보이스와 톤이 하나가 되어 글의 스타일을 완성한다.
보이스를 찾아 톤을 적용해 글을 쓴다는 원칙만 제대로 적용해도 생생하면서도 상황에 맞는 컨텐츠 제작이 가능하다. 이 책은 분량이 얇음에도 불구하고 이런 핵심을 잘 짚어준다. 다음으로 흥미로웠던 부분은 언뜻 보기에는 글 쓰기와 무관한 듯이 느껴지는 플로우 만들기다. 플로우는 사용자가 동작을 하나씩 행하면서 거쳐 가는 일련의 화면을 말하는데, UX에 관심이 많은 분이라면 UX와 글쓰기를 어떻게 잘 연결할지에 대한 고민을 해봤을 것이다. 다시 한번 본문에 나오는 내용을 일부 가져오겠다.
웹 사이트는 사용자에게 사적인 질문을 던지고 시간을 어떻게 활용할지 알려주며, 사이트를 이리저리 돌아보는 사람에겐 구체적인 방향을 제시해준다. 또한 친절하고 신중한 태도로 고객이 현명한 결정을 내리도록 도와야 한다. 플로우란 명확한 목표를 향해 순조롭게 진행하는 것이며 웹 라이터는 고객이 그 플로우를 탈 수 있도록 도와주는 역할을 해야 한다.
조금 더 명확해졌다. 보이스를 찾고 톤을 적용해 플로우에 맞는 글을 쓰면 고객/독자의 만족도를 높일 수 있다!
결론: 웹에서 글을 제대로 쓰고 싶은 분들께 이 책을 추천한다.
EOB토요일, 12월 17, 2016
[B급 프로그래머] 12월 2주 소식 정리
- 웹/앱 소식
- 개발/관리도구 소식
- Why is reflection slow?
- What is difference between Synchronized and Concurrent Collections in Java?
- I thought I was designing for SpaceX, I was actually designing for the Silk Road
- Top 30 Microsoft Interview Questions for Software Development Engineers (SDE)
- How to Bootstrap a Python Project
- 파이썬 크롤링 관련 모듈
- Amazon Lightsail 1GB is no match for $10 VPS from Linode, DO, Vultr...
- Latest Java 9 Schedule Appears to Be at Risk from the Outset
- AWS re:Invent 특집(4) – 개발자를 위한 신규 서비스 총정리(윤석찬)
- My advice on learning Python efficiently
- odBolt: Enter C, get Assembly
- containerd - An open and reliable container runtime, by Docker
- Prolific Engineers Take Small Bites — Patterns in Developer Impact
- Original Spec for Lotus Notes (1984)
- 간단한 터미널 명령어로 macOS 시스템을 제어할 수 있는 커맨드라인 도구 'm-cli'
- The Rule of Silence - the UNIX philosohpy
- jvmtop - Java monitoring for the command-line, profiler included
- Netflix Conductor : A microservices orchestrator
- The Languages, Frameworks and Tools You Should Learn in 2017
- Learning Advanced JavaScript
- Tips for Self-Learning Programming
- 오픈소스 모니터링 시스템 Prometheus #1
- 오픈소스 모니터링 시스템 Prometheus #2
- Why I'm Making Python 2.8
- Toy decompiler for x86-64 written in Python(PDF)
- 고성능 서버/데이터베이스 소식
- 빅데이터/인공지능 소식
- 합성곱 신경망(CNN) 딥러닝을 이용한 한국어 문장 분류
- The Great A.I. Awakening
- You probably can’t tell the difference between Bach and music written by AI in his style
- How Self-Driving Cars Work
- 30. Sigmoid 보다 ReLU가 더 좋아 (lec 10-1)
- 2030년 軍 작전참모는 인공지능… 범죄도 미리 알아낸다
- 내년 국가정보화 예산 20% '지능정보기술'에 투입
- 구글, 고차원 데이터 시각화 도구 오픈소스로 공개OSS
- Uber’s self-driving cars start picking up passengers in San Francisco
- SSD: Single Shot MultiBox Detector (UPC Reading Group)
- Single Shot MultiBox Detector와 Recurrent Instance Segmentation
- Radeon Instinct – Optimized Machine and Deep Learning
- TensorFlow-Slim image classification library
- math books(PDF)
- Our (info)graphic, short history of the Industrial Internet of Things
- The New Intel: How Nvidia Went From Powering Video Games To Revolutionizing Artificial Intelligence
- 기타 읽을거리
- The 10 most-watched TED Talks of 2016
- Look Who’s Back! Microsoft, Rebooted, Emerges as a Tech Leader
- GitHub Is Building a Coder’s Paradise. It’s Not Coming Cheap
- Psychiatrists Must Face Possibility That Medications Hurt More Than They Help
- 지금까지 알려진 AMD 라이젠의 모든 것
- The Power of Outsiders
- 당신께 드리는 36가지의 책 추천
- Google employees confess all the things they hated most about working at Google
- Programming interview questions - it's not about the answers
- Procrastination: A Scientific Guide on How to Stop Procrastinating
- SPACED REPETITION: 효율적인 암기 기법
- The short, tormented life of computer genius Phil Katz By Lee Hawkins Jr.
- 올해의 책 10권 by GQ
- Mobile is eating the world 2016
- What I learned from 100 days of rejection
- A General Feeling of Disorder
- High on Hitler and Meth: Book Says Nazis Were Fueled by Drugs
- Keep It Moving
- THE TWO FRIENDS WHO CHANGED HOW WE THINK ABOUT HOW WE THINK
토요일, 12월 10, 2016
[B급 프로그래머] 12월 1주 소식 정리
- 웹/앱 소식
- Online Broken Link Checker: webarchive와 함께 사용하면...
- 개발/관리도구 소식
- Debugging Your Operating System: A Lesson In Memory Allocation
- 2016년에 자바스크립트를 배우는 기분
- netdata - Get control of your servers. Simple. Effective. Awesome.: 리눅스 관제에 특화됨
- Golang’s Real-time GC in Theory and Practice
- PyFilesystem 2.0 Released
- Java for Python Programmers
- Implementing python 3.6 print in < 3.6
- Node.JS error handling best practices
- Microsoft Azure Notebook: 파이썬 노트북 공유 플랫폼으로 훌륭함
- New installation issue missing requires of libmysqlclient.so: yum의 숨겨진 명령들...
- Technologies for the Future of Software Engineering
- Why does calloc exist?
- mux is a lightweight fast HTTP request router for Go 1.7
- gongular is an HTTP Server Framework for developing APIs easily.
- Studying the Internet Censorship in South Korea: 재미있고 신나는 내용(물론 네트워크와 보안 관련자들에게...)
- Design & Implementation of a Win32 Text Editor
- Disassembling Sublime Text
- Amazon Launches Lightsail Virtual Private Servers
- Chrome 55 uses ~30% less memory than Chrome 54
- A Crash Course in x86 Assembly for Reverse Engineers(PDF)
- jid: Json Incremental Digger
- What is the truck factor of GitHub projects? - Single-man projects are very common.
- Don’t prematurely obsess on a single “big problem” or “big theory”
- SPA 스크립트 용량 어디까지 줄일 수 있을까
- 유니크 아이디는 얼마나 길어야 하나?
- How to Setup network on centos 7
- Blox – Open Source Tools for Amazon ECS
- Introduction to strace
- InfluxDB, Telegraf, Grafana 를 활용한 Monitoring System 만들기(2)
- Best Free jQuery Plugins of 2016
- Kubernetes resource graphing with Heapster, InfluxDB and Grafana
- pino: Extremely fast node.js logger, inspired by Bunyan. It also includes a shell utility to pretty-print its log files.
- Visualizing How Developers Rate Their Own Programming Skills
- Top monospaced fonts for coding
- 고성능 서버/데이터베이스 소식
- Aiven is a next-generation managed cloud service hosting for your software infrastructure services.
- Popit 장애 보고서
- PouchDB is an open-source JavaScript database inspired by Apache CouchDB that is designed to run well within the browser.
- [MicroService Architecture] SpringCloud를 이용한 상품 MSA적용을 시도한 경험을 공유합니다.
- AWS re:Invent 2016 총정리
- Using the InnoDB Buffer Pool Pre-Load Feature in MySQL 5.7
- "2017년, 1초 더 길다" 구글, NTS 서버 개방으로 대응책 마련
- Database Daily Ops Series: GTID Replication and Binary Logs Purge
- HOW GOOGLE IS CHALLENGING AWS
- The Container Landscape: Docker Alternatives, Orchestration, and Implications for Microservices
- 누군가에게는 빼빼로데이. 누군가에게는?
- 빅데이터/인공지능 소식
- 자율주행을 위한 인공지능 기술 동향(PDF)
- Open sourcing the Embedding Projector: a tool for visualizing high dimensional data
- The future is a place where we won’t have to talk to or hear from anyone we don’t want to
- Federal policy for self-driving cars pushes data sharing
- California DMV Creates First Public Data Set on Driverless Car Crashes
- Truckers think automation won’t take their jobs for 40 years. Silicon Valley strongly disagrees.
- The major advancements in Deep Learning in 2016
- The Right and Wrong Ways to Regulate Self-Driving Cars
- Amazon Rekognition: Deep learning-based image recognition Search, verify, and organize millions of images
- Yann LeCun NIPS 2016 Keynote slides
- DeepMind’s Mustafa Suleyman says general AI is still a long way off
- Machine Learning is Fun!: The world’s easiest introduction to Machine Learning
- 올해 250주년 맞은 베이즈 정리, 과학을 정복하다
- 천재해커 지오핫, 자율주행차 기술 오픈소스로 공개
- Big Data Processing with Apache Spark – Part 1: Introduction
- From Raw Data to Data Science: Adding Structure to Unstructured Data to Support Product Development
- openpilot is an open source driving agent.(ACC and LKAS)
- tiny-dnn: header only, dependency-free deep learning framework in C++11
- "2020년 전세계 인지 및 인공지능 시스템 시장 470억 달러 넘어서" IDC
- Intel to Team With Delphi and Mobileye for Self-Driving Cars
- TensorFlow 0.12 adds support for Windows
- [HBR] 인공지능의 경제학
- 기타 읽을거리
- What makes someone a great product manager at Google?
- Google Makes So Much Money, It Never Had to Worry About Financial Discipline—Until Now
- "실무형 SW교육, '고품질' 오프라인 수업에 맡겨라" - 코드스쿼드, NHN넥스트 출신 3인방의 코딩도장
- 풋내기 창업자의 스타트업 창업하기_5화 페북 광고..돈을 써봐야만 알 수 있는 것들
- Intel x86 documentation has more pages than the 6502 has transistors
- 2017년을 넘어 이어질 9가지 엔터프라이즈 기술 동향
- Human Brains Are Wired to Blame Rather Than Praise
- Outline, a new kind of publication for a new kind of human.
- Finally, a Psychological Explanation for Why Angry Athiests Are So Annoying
- My Favorite Books of 2016 by Bill Gates
- Best books of 2016: Economics
- A philosophy professor explains why you’re not entitled to your opinion
- No Spanking, No Time-Out, No Problems: A child psychologist argues punishment is a waste of time when trying to eliminate problem behavior. Try this instead.
- 최근 주목받는 리더의 자질 '신뢰 경영'
- 'SW교육 의무화'…중학교 교원 '20년까지 618명 확보
- The 10 Best Books of 2016
- The Busy Person’s Lies: With four kids and a full-time job, time is precious. But it’s also plentiful.
- Six maps that show the anatomy of America’s vast infrastructure
- 튜링의 1935년: 앨런 튜링은 정말로 천재인가(PDF)
- 스페이스 투어리스트(Space Tourists, 2009)-천문학적인 삶
- How Stable Are Democracies? ‘Warning Signs Are Flashing Red’
- Religious thoughts trigger reward systems like love, drugs
- “[책] 어리석은 뇌(Idiot Brain)”의 저자 딘 버넷과의 인터뷰
토요일, 12월 03, 2016
[B급 프로그래머] DigitalOcean vs Amazon LightSail
이번 AWS re:ivent 행사에 소리소문없이 갑자기 등장한 서비스가 하나 있다. 바로 AWS의 VPC(가상 사설 호스팅) 서비스인 LightSail이다. 그런데 LightSail 홈페이지에 들어가자 마자 기시감이 느껴졌는데, 다름 아닌 평소에 잘 사용하고 있던 DigitalOcean이 떠올랐다.
개발자 전용 서비스를 표방한 디지털오션이 갑자기 만족도를 확인하는 사용자 설문조사 이메일을 보내왔는데, 그만큼 경쟁자 출현에 긴장하고 있다고 봐도 틀림이 없겠다. 두 서비스는 너무나도 비슷해서 치열한 경쟁이 필연적일 수 밖에 없는 상황이다. 특히 가격대를 한번 비교해보자(위: 라이트세일, 아래: 디지털오션).
아직 디지털오션이 일부 가격대에서 더 좋은 서비스를 제공하고 있긴 하지만 AWS 특성상 조만간 가격 인하 또는 성능 개선이 이뤄질 것 같다. 물론 디지털오션이 훨씬 더 큰 사양(최대로 1달에 1680불이면 224GB 메모리/32코어/500G SSD/10T 네트워크 전송 가능)까지 서비스하고 있고, 서비스 지역도 다양하므로 아직 북미 버지니아 리전에서만 서비스하는 라이트세일에 비해 우위에 있긴 하다.
가격 이외에 여러 가지 기능적인 측면을 살펴보면 디지털오션이 앞서있다. 추가 SSD 블록 스토리지 구매도 가능하고 지원하는 애플리케이션 유형도 훨씬 더 많고 네트워크 지원도 더 좋고 팀 지원도 뛰어나다. 하지만 AWS 정식 서비스 중에서 점차 라이트세일에 포함되는 범위가 넓어지게 된다면 디지털오션도 결코 방심하기 어렵다는 생각이 든다. 라이트세일은 VPC 피어링을 통해 AWS 서비스에 접근할 수 있는 통로를 열어 뒀기 때문에 완전 통합은 아니지만 AWS 서비스와 연결 고리는 이미 만들어진 셈이다. 그리고 AWS 계정으로 라이트세일에도 접근 가능하다는 장점도 무시할 수 없다. 반면에 디지털오션이 AWS에 비해 확실히 우위를 점하는 분야는 커뮤니티다. 상당히 오랜 기간 동안 개발자 친화적으로 이미지를 쌓아왔으며, 1500여 개에 이르는 다양한 튜토리얼이 개발자에게 많은 도움을 주고 있다.
강력한 경쟁자가 등장한 만큼 앞으로 개발자를 사로잡기 위한 불꽃튀는 전투가 예상된다. 이 와중에서 누가 살아남을지 정말 궁금해진다.
팁 하나 더!: 2시간 정도 짧게 무료(!)로 서버를 대여하고 싶다면 dply도 고려해보기 바란다.
EOB











