- 빅데이터/인공지능
- Floyd - Eliminate engineering bottlenecks in Deep Learning
- '구글 텐서플로우부터 MS CNTK까지' 딥러닝/머신러닝 프레임워크 6종 비교 분석
- Deep Learning without Backpropagation Tutorial: DeepMind's Synthetic Gradients
- Netflix Demonstrates Big Data Analytics Infrastructure
- Hands-On Machine Learning with Scikit-Learn and TensorFlow
- Google Cloud TF-GPU Setup for Ubuntu 16.04
- Machine Learning Research Should Be Clear, Dynamic and Vivid. Distill Is Here to Help.
- 카프카 운영자가 말하는 카프카 서버 실전 로그 분석
- Why AlphaGo Is Not AI
- immersive linear algebra (Interactive)
- "빅데이터로 달라지는 세상"…은행, `빅데이터`에 홀리다
- Stanford CS224N tensorflow lecture
- 인텔이 모빌아이를 153억 달러에 인수하는 이유
- The most detailed maps of the world will be for cars, not humans
- Machine Learning in Python
- Unless You’re Oprah, ‘Be Yourself’ Is Terrible Advice.
- 네이버, 실리콘밸리에 AI연구소 만든다
- Intel Buys Mobileye in $15.3 Billion Bid to Lead Self-Driving Car Market
- Tutorial on Convolutional Neural Networks(CNNs) for image recognition
- Google’s reCAPTCHA turns “invisible,” will separate bots from people without challenges
- 읽을거리
- The Most Expensive Weapon Ever Built
- Netflix: The Monster That’s Eating Hollywood
- Chasing the First Arcade Easter Egg
- Debate reignites over the contributions of ‘bad luck’ mutations to cancer
- A 130-Year-Old Fact About Dinosaurs Might Be Wrong
- Hierarchy is either strictly constrained or it is indefensible
- In defence of hierarchy
- What It's Like to Watch Your Life's Work Blow Up on a Rocket
- Want to avoid bad days? Manage someone else’s business, don’t start your own
- Research Debt
- "같이 풀어볼까?" 독특한 한예종 입학시험 실제 기출 문제 30개!
- 인텔 옵테인SSD, 데이터센터 시장서 통할까
- Has lithium-battery genius John Goodenough done it again? Colleagues are skeptical
- Tears
- At midnight on March 20, 2017, Dolby's last relevant patent on Dolby Digital expired.
- The productivity paradox
- You can’t be socially progressive and economically conservative
- It took the inventor of the Rubik’s Cube a month to solve his own puzzle
- Books Can Take You Places Donald Trump Doesn’t Want You to Go
- How We Are Improving Performance
- Railroad Tycoon
- Physicist declassifies rescued nuclear test films
- 골프 인문학 | 제대로 된 교육과 골프
- https://hbr.org/2014/01/how-netflix-reinvented-hr
- You Are Less Beautiful Than You Think
- 엔비디아 지포스 GTX 1080 Ti 리뷰 : 4K 게이머들이 기다려왔던 그래픽 카드
- 내게 도움이 되는 조언도 듣기 싫은 잔소리로 들리는 이유
- DIY Smart Home Security? Meh..
- Why We Can’t Look Away From Our Screens
- 5 weird things you didn’t know about time zones
- This troubled, covert agency is responsible for trucking nuclear bombs across America each day
- Why hurting the poor will hurt the economy
- NHK원전 멜트다운 위기의 88시간
- If You Think You’re a Genius, You’re Crazy
토요일, 3월 25, 2017
[B급 프로그래머] 3월 4주 소식(빅데이터/인공지능, 읽을거리 부문)
토요일, 3월 18, 2017
[B급 프로그래머] 3월 3주 소식(개발/관리도구, 고성능 서버/데이터베이스 부문)
- 개발/관리도구 부문
- IPython and Jupyter Notebook
- Jupyter Notebook Tutorial: The Definitive Guide
- 대학생 입장에서 옛날 언어를 배우는게 메리트가 있나요
- A gallery of interesting Jupyter Notebooks
- Free resources for learning Full Stack Web Development
- Announcing Guetzli: A New Open Source JPEG Encoder
- Learn From What We Try And Test (GoodUI)
- Writing Shell Scripts
- U2L(Unix To Linux) FAQ 책자 발간
- Curated list of falsehoods programmers believe in.
- How to recover lost Python source code if it's still resident in-memory
- A formal spec for GitHub Flavored Markdown
- STAT 시리즈의 완결판, DSTAT?
- Buck - A high-performance build tool
- Glances - An Eye on your system
- 10 Screen Command Examples to Manage Linux Terminals
- 구글의 소프트웨어 엔지니어링
- Problem Solving with Algorithms and Data Structures using Python
- 10 Awesome Examples for Viewing Huge Log Files in Unix
- PyCharm Edu - Free, Easy & Professional Tool to Learn Programming with Python
- GoAccess was designed to be a fast, terminal-based log analyzer.
- 컴퓨터 프로그래밍에 대한 명언 101가지
- What are some time-saving tips that every Linux user should know?
- [ python ] Selenium을 활용한 크롤러 제작 후기
- Over 280 Analog Clocks Give Digital Time
- Build a digital clock in Conway's Game of Life
- Awesome Software Craftsmanship
- Newman is a command-line collection runner for Postman
- 고성능 서버/데이터베이스 부문
- 클라우드는 오라클의 미래"··· 분기 매출 10억 달러 돌파
- Azure storage browns out for eight hours, nobody notices
- Monitoring Databases: A Product Comparison
- Performance Analysis Methodology
- (PostgreSQL) Parallel Query v2
- Learn how to design large scale systems. Prep for the system design interview. (강력 추천)
- ElasticSearch 와 Heap 메모리
[독서광] 도미노 : 변화를 불러일으키는 가장 간단한 방법
변화는 늘 어렵다. 매몰비용으로 인한 저항감은 차치하고서라도 편한 안식처를 버리고 새로운 뭔가를 찾아나선다는 느낌이 편한 사람은 많지 않을 것이다. 하지만 변화가 없다면 생존도 어렵다. 우리 주위를 둘러싼 세상은 늘 바뀌는 중이고, 생각보다 훨씬 더 빨리 바뀌기 때문이다. 그렇다면 변화를 유도하는 효과적인 방법은 없을까? 오늘 소개하는 '도미노'는 바로 리더 입장에서 변화를 불러일으키는 전략을 다룬다.
책 목차를 보면 1부와 2부가 바로 눈에 띌 것이다. 1부는 관성과 저항을 넘어서 변화를 유도하는 법(즉, 도미노 쓰러뜨리기), 2부는 변화에 친숙한 조직을 만드는 법(즉, 도미노 유지하기)를 소개한다. 실제 변화를 일으켜보며 이 과정에서 발생하는 여러 상황에 맞서 탄력 회복성을 갖춰 경쟁력있는 조직과 개인으로 거듭나자는 일반적인(응?) 주제를 어떻게 요리하는지가 이 책의 주요 관전 포인트라 볼 수 있겠다.
1부에서는 사고의 전환을 요구한다. 안 그래도 처리해야 할 사안이 많은 상황에서 변화를 위한 필수 사안을 곁다리로 추가하는 대신에 생존을 위한 결정을 주문한다. 스스로 변화를 유도할 능력이 있다고 믿는지 아니면 일어나는 변화를 수동적으로 받아들일지에 대한 태도를 운전자와 승객의 차이를 비유로 들면서 설명한다. 여러분들도 다음 질문에 답해보시라.
- 인생에서 원하는 성공을 얻을 자신이 있다.
- 가끔 우울하다.
- 시도하면 보통 성공한다.
- 가끔 실패하면 내가 가치 없게 느껴진다.
- 맡은 일은 완벽하게 끝낸다.
- 가끔 일이 뜻대로 되지 않는 것을 느낀다.
- 전반적으로 나 자신에 만족한다.
- 내가 능력이 있는지 의심스럽다.
- 내 인생은 내가 결정한다.
- 직업에서의 성공은 내 의지가 아니라고 느낀다.
- 내 문제의 대부분을 해결할 능력이 있다.
- 매사가 엉망이고 희망이 없어 보일 때가 있다.
위 질문지의 항목을 계산해서 점수를 냈다면 실제로 항목별로 어떤 일을 했는지를 생각하는 단계가 남아 있다. 운전자처럼 생각하면서 승객처럼 행동하면 오히려 독이 된다. 다음 질문을 생각해보자.
- 불평하기보다는 결정을 했는가?
- 남을 탓하느라 바빴는가? 아니면 대담하게 행동에 나섰는가?
- 피드백을 구했는가, 아니면 비판을 피해 숨어 다녔는가?
결국 핵심은 올바르고 이성적인 결정과 행동이다!
2부에서는 변화에 대응하는 5단계 솔루션(ADPAT라고 불리는)을 중심으로 전개된다.
- 일어날 변화를 예측한다(Anticipate)
- 어느 방향으로 갈지 결정한다(Decide)
- 당신과 함께 팀이 이를 변화에 방향성을 부여한다(Align)
- 팀원에게 그 방향을 추진하도록 허가한다(Permit)
- 결정이 현실에 부합하는지 주기적으로 테스트한다(Test)
Anticipate: 변화 예측을 위해서는 정말 가장 중요한 것이 무엇인지 파악해서 단 한 가지 목표 설정으로 좁혀 나가는 기술이 중요하다. 우선순위(priority)는 1940년대까지 복수로 사용되는 경우가 드물었다는 사실을 기억하기 바란다.
Decide: 결정을 위해서는 맥을 짚고(정말 무엇이 중요한가!), 정반대 사람을 찾아 조언을 구하고, 정말 힘들지만 행동으로 보여주는 3단계가 핵심이다. 나쁜 일이 일어나도 포기하지 않고 제대로 대응할 수 있다는 자신감으로 한 번에 결정을 하나씩 할 수 있다는 믿음이 핵심이다.
Align: 90일 동안 우선 순위 세 가지를 정해 이를 집중적으로 수행하는 방법으로 팀원들의 주의를 분산시키지 않고 한 방향으로 움직이게 만든다. 야근과 특근과 매일같은 전력질주는 생산성을 높일지는 모르겠지만 정말 중요한 일을 수행하는 과정에서 오히려 장애물로 작용한다. 생산성은 일의 완료에 관한 지표다. 하지만 필요한 일은 하고 그렇지 않은 일은 미루는 전략이 아주 중요하다.
Permit: 자신에 대한 허가가 가장 어렵다. 급한 전화를 처리하고 하던 프로젝트를 마무리 짓고, 새로운 아이디어를 실천하고 싶더라도 최우선순위에만 집중하도록 스스로에게 허가하는 것은 가장 까다롭기 마련이다. 이럴 때 우선순위가 큰 도움을 준다. 아침에 우선순위 목록을 점검하면서 스스로에게 뭐가 중요한지를 깨닫게 만드는 방법은 이 책에서 얻을 수 있는 가장 중요한 교훈 중 하나다.
Test: 뭔가 결정을 내리고 나서 상황이 바뀐다는 사실을 인지했더라도 결정을 변경하기란 쉽지 않다. 팀원들은 "내 이럴 줄 알았지"라고 반발할 것이며, 특히 큰 조직의 경우에는 방향을 전환하기 위해 엄청난 시간을 다시 투입해야 하기 때문이다 이럴 때 우선 순위 다음으로 정리된 대기 목록을 제대로 유지하고 있다면 큰 도움이 된다. 그냥 최우선 순위 항목과 대기 항목을 바꾸고 하던 대로 계속 진행하면 된다. 상위 리더에게 기민성으로 느껴지는 것이 보통 다른 사람들에게는 변덕으로 느껴지는 문제나 사람들의 '동의'에 집중하느라 변화의 가능성을 닫아버리는 문제를 해결하기 위해서는 늘 변화의 가능성에 대해 열어두고 사람들에게 목표가 바뀔 가능성이 있다는 사실을 인지시켜야 한다.
결론: 변화를 추구하다 큰 실패에 눈물을 흘린 분들께 강력 추천한다.
EOB수요일, 3월 15, 2017
[B급 프로그래머] 3월 2주 소식(빅데이터/인공지능, 읽을거리 부문)
금주는 분량 조절 관계로 인해 오늘 나머지 부문에 대한 글을 올려드린다. 내주부터는 격주로 번갈아 가면서 소식을 전할 예정이므로 참고하시면 좋겠다. 독서광은 격주 토요일 오전에 올려드릴 예정이다.
- 빅데이터/인공지능
- '최고 AI 책임자' 채용을 심사숙고해야 하는 이유
- 테슬라 새 CIO는 클라우드 전문가··· 신 업무 시스템 개발 주도할 듯
- Apophenia - the human tendency to perceive meaningful patterns within random data.
- Google is acquiring data science community Kaggle
- 미래부, 인공지능 R&D 1천630억 투입
- RWA - Machine Learning on Sequential Data Using a Recurrent Weighted Average
- LG CNS, 스마트 팩토리 솔루션에 MS 클라우드 도입
- 딥러닝 (Tensorflow) 을 이용한 추천시스템 개발
- The First Woman In Space Turns 80, And You Probably Never Heard Of Her
- Attacking machine learning with adversarial examples
- Some Reflections on Being Turned Down for a Lot of Data Science Jobs
- 배달의민족, 인공지능(AI)에 100억원 투자
- Mathematics for Computer Science(PDF)
- Uncertainty in Deep Learning (PhD Thesis)
- Data Science Job Report 2017: R Passes SAS, But Python Leaves Them Both Behind
- Data Preprocessing vs. Data Wrangling in Machine Learning Projects
- Electronic energy meters’ false readings almost six times higher than actual energy consumption
- Don't Use Tesla's Autopilot Like This
- 삼성전자, 빅스비에 개발자 최소 3000명 투입…데이터 최적화 '올인'
- 페이스북, 무료 예측 툴 프로핏, 파이썬과 R용으로 오픈소스화
- [EDGE: 더 널리 알려져야 하는 과학 개념은?] 3. 자나 레빈: 최소 작용의 원리(The Principle of Least Action)
- Will Democracy Survive Big Data and Artificial Intelligence?
- When Robots Take Bad Jobs
- On the Origin of Deep Learning
- 딥러닝 CIFAR-10 CNN 예제에 내 사진을 넣어서 학습시켜 보자
- 자율주행, 자동차산업의 빗장을 열다
- AI로 인한 일자리 상실 걱정, 출판업 종사자가 가장 크다
- Anomaly Detection for Time Series Data with Deep Learning
- LinkedIn endorsements are dumb. Here’s the data.
- AN INTRODUCTION TO GRAPH COMPRESSION TECHNIQUES FOR IN-MEMORY GRAPH COMPUTATION
- Bare bones Python implementations of some of the fundamental Machine Learning models and algorithms.
- Natural Language Understanding with Distributed Representation
- [번역]봇은 어떻게 웹과 모바일앱을 무너뜨릴 수 있을까?
- 읽을거리
- Yes, Your Sleep Schedule is Making You Sick
- Science journalism can be evidence-based, compelling — and wrong
- The Lonely Towns of Fukushima
- Arrival Screenplay
- La La Land Screenplay
- The end-to-end refresh of our server hardware fleet
- Reverse-Engineering The Industry(Video Games)
- 6 Spirit Animals of Bad Managers [Infographic]
- Sleeping Beauty - a rogue-like game
- 전문_대통령 박근혜 탄핵심판(2016헌나1) 결정문 2017-03-10 오후 3:13:10
- South Koreans feel like chicken tonight after president's removal
- How to Drink Wine
- People who speak multiple languages make the best employees for one big reason
- Google may have found its next big business, and it won’t be a moonshot
- 예일대 수학과 312년 금녀의 벽 뚫은 오희 교수
- If you want to get smarter, speed-reading is worse than not reading at all
- 'Logan' Raises The Bar For Superhero Movies
- 20 Business Leaders & Their Books
- AMD Prepares 32-Core Naples CPUs for 1P and 2P Servers: Coming in Q2
- 신산업 새 장 열리는데… 한국 창업은 혁신형보다 생계형 치중
- 스타벅스, 한국서 '모바일앱 주문' 성공하기까지
- 한국은 왜 ‘4차 산업혁명’이 안 보일까
- (The Guardian) Empowering our editorial teams to impact page performance
- The Hidden Link Between Autism and Addiction
- “AMD가 돌아 왔다” 라이젠 CPU 집중 해부 벤치마크
- We Need More ‘Useless’ Knowledge
- If We Are Not Just Animals, What Are We?
- How I discovered my left AirPod was bad
- 트럼프가 물려받은 유산: 북한 미사일에 대응하는 비밀 사이버전(戰)
- (Cessna) The plane so good it's still in production after 60 years
- How to make your kid good at anything, according to a world expert on peak performance
- In praise of cash
- Passport and binary tree code, please: CompSci quizzes at US border just business as usual
- AMD Ryzen 7 1800X CPU Review
- Beginner's Guide to Customer Segmentation
- The real causes of the worst drug crisis in US history
- A new opioid could provide pain relief—without causing addiction
- SNAP’S APPLE STRATEGY
- The AMD Zen and Ryzen 7 Review: A Deep Dive on 1800X, 1700X and 1700
- McDonald's Sees $100 Billion Delivery Market as Way to Grow
- Richard Feynman and The Connection Machine
- WHY FACTS DON’T CHANGE OUR MINDS
- A new Seoul: Han Youngsoo's reborn Korea – in pictures
- This is why the boss will crush all your good ideas
- After 130 Years, Harvard Law Review Elects a Black Woman President
- 리더십 판단의 기본··· '직원이 지표다'
- 우리가 이야기를 즐기는 ‘과학적’ 이유는?
- Who Needs GPS? The Forgotten Story of Etak’s Amazing 1985 Car Navigation System
- The World’s Most Radical Experiment in Monetary Policy Isn’t Working
- 1인 기업의 시간과 수입관리
- 운동 패러독스 (1/2)
- Above and beyond: the world's best drone photography – in pictures
- Why Do Ballet Dancers Turn Clockwise?
- Warren Buffett’s letter to Berkshire Hathaway investors explains how to use fear to your benefit
- Good News About Worrying
- 신입 프론트엔드 개발자를 위한 면접 조언
- How to Become Rich, and 24 Other Insights from Warren Buffett
- 리더는 본디 외롭다, 동정 구하지 말라
- The Hunt for the Perfect Sugar
- How to Mentor a Perfectionist
- WHY LAWN MOWING IS BETTER THAN SEX
- Oxford Dictionaries add 'clicktivism' and 'haterade' as new words for angry times
토요일, 3월 11, 2017
[B급 프로그래머] 3월 2주 소식(개발/관리도구, 고성능 서버/데이터베이스 부문)
금주부터 독자 여러분들을 위해 정리해오던 소식 글의 형태를 변경하기로 했다. 정리하는 데도 시간이 많이 걸리고 읽는 분들도 멘붕(!) 수준에 이를 정도로 양이 늘어나고 있기 때문이다. 격주로 절반씩 부문별 소식을 나눠 전해드기로 하겠다. 이렇게 해도 길다는 느낌이 든다면 4개로 나눌 생각도 있으므로 독자 여러분들께서 의견을 댓글로 달아주시기 바란다.
- 개발/관리도구 부문
- Most software at Google gets rewritten every few years
- [독서광] 마이크로서비스 아키텍처 구축: 본인이 쓴 글
- Google Makes Public Their API Design Guide
- Illustrated Redirection Tutorial
- 20 Funny Commands of Linux or Linux is Fun in Terminal
- CPython internals: A ten-hour codewalk through the Python interpreter source code
- Troubleshooting Memory Issues in Java Applications
- New Features in C# 7.0
- Django REST framework 3.6
- ctop - concise commandline monitoring for containers
- VisualStudioUninstaller - Visual Stdio clean uninstallation
- Building Microservice Architectures by Neal Ford(PDF)
- Understand the Basics of HTTP
- GIT tip : Keep your branch clean with fixup and autosquash
- Go 2016 Survey Results
- Gravity Programming Language
- The Last Frontier in Java Performance: Remove the Garbage Collector
- List of resources about programming practices for writing safety-critical software.
- MVVM 아키텍처 패턴
- 자바 9 발표 일자, "7월 27일"…오라클 관계자
- Elastalert로 로그 알람 구축하기
- vi를 진정으로 이해해라
- mosh - mobile shell: SSH 대신 사용!
- The Seven Circles of Developer Hell [Infographic]
- A Programmer’s Introduction to Unicode
- Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
- V8: Behind the Scenes (February Edition feat. A tale of TurboFan)
- Postmodern Error Handling in Python 3.6
- The Collapse of the UNIX Philosophy
- Developing Quality Software: Differentiating Factors
- CS department updates introductory courses
- (Firefox) Containers Come to Test Pilot
- 4 JavaScript Design Patterns You Should Know
- Spring Tips: Apache MyBatis
- Why Most Organizations Should Stop Hiring Software Testers as Employees
- (Google security) Operation Rosehub
- Spring Boot 1.5 and Pivotal Cloud Foundry
- 에자일 적용 이야기
- store.js - Cross-browser storage for all use cases • Used across the web
- Java Memory and CPU Monitoring Tools and Techniques
- RESTful APIs, the big lie
- What makes WebAssembly fast?
- The mythical 10x programmer
- _head_ tag Cheat Sheet
- Command line tracing tool(a.k.a strace) for Windows, based on ETW.
- Docker Swarm을 이용한 쉽고 빠른 분산 서버 관리
- Cerebro: Open Source Productivity Booster for MacOS, Windows and Linux
- JavaScript Garden(한국어 번역)
- Use your OS X terminal shell (command line) to do awesome things.
- Upspin: A framework for naming everyone's everything(for sharing files and other data).
- 고성능 서버/데이터베이스 부문
- The end-to-end refresh of our server hardware fleet
- How to Scale PostgreSQL on AWS–Learnings from Citus Cloud
- Scaling Ruby Apps to 1000 Requests per Minute - A Beginner's Guide
- Google Cloud SQL Documentation(for PostgreSQL)
- 엘라스틱서치(ES) 클러스터 재시작 혹은 업그레이드 Tip
- How Bad Was CloudBleed? 1.2 Million Leaks Bad
- Tenets of SRE(Site Reliability Engineering)
- usql is a universal command-line interface for SQL databases
- (Gitlab) Why we are not leaving the cloud
- (Joyent) Postmortem for outage of us-east-1 at 2014 May
- Summary of the Amazon S3 Service Disruption in the Northern Virginia (US-EAST-1) Region
- Open Source Databases on Big Machines: Disk Speed and innodb_io_capacity
- Dodging S3 Downtime With Nginx and HAProxy
- Amazon AWS S3 outage is breaking things for a lot of websites and apps
- 퍼블릭 클라우드 3대 업체 비교 'AWS·애저·구글의 장단점은?'
- “2017년 전세계 퍼블릭 클라우드 시장 18% 성장” 가트너
- Incident management at Google — adventures in SRE-land
- The Unofficial MySQL 8.0 Optimizer Guide
[독서광] 마이크로서비스 아키텍처 구축
어쩌다 보니 최근 기술 서적에 대한 독후감을 거의 적지 못했는데, 오늘은 감수 요청을 받고 미리 읽은 독자로서 '마이크로서비스 아키텍처 구축'에 대해 간단한 서평을 남기려 한다. 책에 실린 '추천의 글'을 옮겨온다.
최근 클라우드 환경이 일반화되면서 많은 서비스가 클라우드로 이전하거나 클라우드에서 시작되고 있다. 하지만 클라우드의 확장성과 안정성은 공짜로 얻어지는 산물이 아니다. 기존의 일반적인 애플리케이션 개발 방법을 그대로 적용할 경우 비용절감, 탄력성, 회복성, 배포 편의성과 같은 좋은 특성을 누리기 어렵고 어떤 경우에 있어서는 오히려 서비스의 품질이 떨어지게 된다. 빠르게 변하는 클라우드 시대에 걸맞게 아키텍처 설계, 서비스 모델링, 실제 구현, 통합, 배포, 테스트, 모니터링, 확장에 전력을 다해야 비로소 고객 만족을 극대화하는 서비스를 제공할 수 있다. 이 책은 거대한 모놀리틱 시스템과 반대되는 마이크로서비스를 중심으로 클라우드 시대의 생존 방법을 제시하며 실제 사례를 중심으로 실무에 바로 도움이 되는 내용을 담았ㄷ. 따라서 아키텍처 설계, 실제 구현, 운영 업무를 진행하는 과정에서 많은 도움을 줄 것이다. 미시적인 컴퓨터 프로그래밍 부문에서 리펙토링이 기술 부채를 줄이는 수단이라면 거시적인 서비스 개발과 운영 부문에서는 마이크로서비스가 기술 부채를 줄이는 강력한 수단이다. 이 책은 현대적인 컴퓨팅 환경에 적응하기 위한 좋은 길라잡이가 될 것이다.
마이크로서비스의 정의는 마틴 파울러의 글에 나오듯이 독립적으로 배포 가능한 서비스들의 슈트로서 소프트웨어 애플리케이션을 설계하는 아키텍처 스타일을 일컫는다. 여기서 핵심은 바로 '독립적으로 배포 가능한'이라는 문구다. 모든 서비스를 한 통에 담은 기존의 방식과는 달리 응집력을 높이고 결합도를 떨어뜨리기 위해 서비스를 분할하고 이를 사용(use)하는 방식으로 단일 애플리케이션을 만든다. 이렇게 되면 변경의 범위가 적어지므로 자주 빠르게 서비스를 변경하고 확장할 수 있게 된다.
기본에 서비스를 만들 때는 3계층 구조(브라우저 UI-웹 서버-데이터베이스 관리 시스템)에 맞춰 거대한 실행 가능 단위로 구현하고 배포하는 방법을 사용했다. 아무리 사소한 변경이 있더라도 전체를 새로 배포해야 한다. 물론 어카이빙 형태로 배포하지 않고 단위 클래스 파일이나 공유 라이브러리 파일 단위로 배포하는 방법도 생각할 수 있지만 버전 관리 등을 고려하면 나중에 꼬이는 상황이 발생하기 마련이다. 게다가 클라우드 환경이 일반화되면서 작은 가상 기계나 컨테이너 단위로 애플리케이션을 배포할 수 있는 수평 확장 아키텍처가 인기를 끌고 있기 때문에 거대한 모놀리틱 개발 방식이 점점 시대에 뒤쳐지고 있다. 그렇다면 이런 상황에서 우리는 어떻게 대응해야 하나? 마이크로서비스는 _마이크로_라는 이름과는 달리 생각처럼 단순하지 않으므로 알아야 할 내용도 많고 피해야 할 함정도 많기 때문에 시행착오를 줄이려면 기초를 튼튼히 쌓고 접근할 필요가 있다.
'마이크로서비스 아키텍처 구축'은 거대한 시스템을 리펙터링해서 작은 단위로 쪼개고 이를 효과적으로 연결하는 아키텍처 설계 방법을 다룬다. 마이크로서비스 개념부터 시작해서 진화적 아키텍트를 소개하며 서비스 모델링 기법, 이상적인 통합 방법, 모놀리스 분해 방법, 배포 방법, 테스팅 방법, 모니터링 방법, 보안 강화, 콘에이의 법칙과 시스템 설계 방법을 설명한 다음에 대규모 마이크로서비스 고려 사항으로 마무리한다. 개념과 방법을 소개하며, 여러 가지 실제 사례를 제시하므로 마이크로서비스에 도전하기 전에 읽어두면 여러 면에서 이득을 얻을 것이다.
본문 구성이 어떤지는 미리 보기를 참조하기 바라며, 슬라이드셰어에 올라온 다음 발표 자료도 함께 읽어보기 바란다.
결론: 아키텍처 관점에서 마이크로서비스가 궁금한 개발자분들께 추천!
EOB토요일, 3월 04, 2017
[독서광] 하버드는 어떻게 최고의 협상을 하는가
오늘은 협상에 관련된 책을 하나 소개해드리겠다. '하버드는 어덯게 최고의 협상을 하는가'라는 다소 낚시성인 제목이 달렸긴 하지만, 원서 제목인 "Getting to Yes with Yourself"에서 잘 드러나듯 외부적인 변화를 이끌기 위해 말과 논리를 중심으로 하는 협상이 아니라 자신의 내면을 먼저 바꾼 다음에 외부를 바꾸는 협상 방법을 소개하고 있다는 점에서 기존 서적과 차별화를 꾀한다.
우선 책을 소개하는 간단한 동영상을 살펴보자.
동영상에 나오듯이 "우리가 원하는 바를 방해하는 가장 큰 장애물은 여기 안에 있습니다. 바로 우리 자신이죠."라는 문구가 이 책의 핵심이다. 타인이 아닌 내면으로부터 예스를 끌어내기 위한 방법 6가지를 중심으로 이 책은 우리가 자신이 원하는 바를 정확하게 파악하고 이를 지렛대로 삼아서 남들이 원하는 바도 파악해내게 도와준다. 가장 강력한 방해꾼인 나 자신을 상기하면서 다음과 같은 6단계를 항상 되새김질하면 도움이 될 것 같다.
- 자신의 입장에서 생각하라. 직장에서 자신의 생각과 감정 상태를 심판하지 않고 관찰하는 내부 피평가를 알아낼 수 있는가? 자신의 감정이 향하는 마음속에 있는 욕구는 무엇인가? 진정으로 자신이 원하는 것은 무엇인가?
- 자신의 내적 배트나(BATNA)를 개발하라. 자신의 요구사항이 받아들여지지 않으면 누군가 혹은 무엇인가를 원망하는가? 원망함으로써 얻어지는 이익은 무엇인가? 또 손실은 무엇인가? 어떠한 경우라도 자신의 간절한 요구를 잘 이행할 수 있는가?
- 자신의 시각을 재설정하라. 인생이 자신에게 맞서고 있다고 느껴지는가? 오늘 어떻게 자신을 행복하게 만들 것인가? 인생이 역경임에도 불구하고 있는 그대로 예스를 선택할 수 있는가?
- 현실에 머무르라. 과거에 대한 원망이나 미래에 대한 걱정을 가지고 있는가? 무엇으로 그것을 떨쳐내고 지금 인생이 놓여 있는 그 자체로 받아들일 수 있는가? 현재에 머무르기 위해 자신이 할 수 있는 작은 한 걸음은 무엇이며, 어디가 자신에게 최고의 장소인가?
- 그럼에도 존중하라. 누군가를 향한 적개심을 느끼고 있는가? 그들의 입장이라면 어떨까? 상대방이 존중하는 태도를 보이지 않아도 여전히 그들에게 예의를 표할 수 있는가?
- 베풀기와 되돌려 받기. 자신이 처한 상황에서 결핍의 두려움을 느끼고 있는가? 빼잇는 것에서 배푸는 것으로, 윈-루즈에서 윈-윈-윈으로 자신의 태도를 변화시키는 것은 무엇인가?
본문 중에서 좋은 내용을 몇 가지 정리해보았다.
당신 자신이나 상대방이 극도의 스트레스를 받는 협상이나 대립 상태에 있다면, 당신은 사람들이 얼마나 쉽게 타인의 말이나 말투 또는 행동에 즉각적으로 반응하는지 알아차릴 수 있을 것이다. 실질적으로 내가 중재했던 모든 분쟁들은, 그것이 부부싸움이건 사무실에서의 실랑이건 아니면 한 국가의 내전이건, 말투나 행동에 대한 즉각적인 반응들은 꼬리에 꼬리를 무는 모습으로 나타났다. “왜 그를 공격했나요?”, “그가 날 공격했기 때문이에요.” 이런 식으로 계속 된다.
우리가 즉각적으로 반응할 때는 대게 소위 ‘3A라는 함정’에 빠진다. 3A 함정은 ‘공격attack’하거나, ‘수용accommodate’ 하거나 아니면 ‘회피avoid’하는 것이다. 이 모두는 문제를 더 크게 만들뿐이다. 간혹 이 세 가지 방법을 혼합해 사용하기도 한다. 처음에는 회피하거나 받아들이는데, 얼마 못 가 더 이상 참을 수 없을 때는 공격하는 것이다. 맞불작전에 놓이면 우리는 다시 회피하거나 수용하게 된다. 이 공통된 세 가지 반응 중 그 어떤 것도 우리의 이해를 돕지 못한다. “눈에는 눈”이라는 식으로 대응하면 우리의 사고능력을 혼미하게 만들어 판단이 흐려진다.
내 협상 경험을 보면 대부분의 사람들은 자신의 입장을 잘 알고 있다. “나는 15퍼센트 임금인상을 원합니다.” 그러나 대게의 사람들은 자신의 내재된 요구사항이나 욕심, 걱정, 두려움 또는 포부 같은 본인의 관심사는 별로 깊게 생각하지 않는다. 임금인상을 요구하는 것이 그들이 협상에 흥미가 있는 것인지, 형평성 때문인지 또는 경력개발을 위해서인지, 혹은 물질적인 충족을 위한 것인지 아니면 이 모두 다를 위한 것인지 하는 것이다.
협상에서 당신의 관심분야와 요구사항을 표출할 수 있는 마법의 질문은 “왜Why”, 즉 “왜 나는 이것을 원하는가?”이다. 한 가지 중요한 훈련으로, 필요하다면 수차례 자신에게 왜냐고 계속 물어보는 것이다. 당신의 저 밑바닥에 있는 요구들에 닿을 때까지 말이다. 당신에게 내재되어 있던 욕망과 관심들에 더 깊이 닿을수록 당신의 관심분야를 충족할 만한 기발한 선택사항들을 생각해낼 수 있다. 예를 들어 임금인상의 경우에 당신이 협상에 관심이 있다면 설령 예산 부족으로 상사가 당신이 원하는 만큼의 인상치를 올려주지 못해도 어쩌면 새로운 직급을 얻거나 특별업무를 맡을 수 있게 협상해볼 수 있다. 관심을 드러내기가 당신이 미처 생각해보지 못한 새로운 가능성을 열어주는 것이다.
《YES를 이끌어내는 협상법》을 집필하며 나와 로저 피셔는 협상에서 가장 큰 동력은 자신의 배트나BATNA(협상 난항 시 선택할 수 있는 최상의 대안)인 것에 대해 논쟁을 했다. 당신의 배트나BATNA란, 상대방과 원만한 합의를 이루지 못했을 때 당신의 관심사를 만족시킬 수 있는 최상의 대안이다. 예를 들어 새로운 직업 제안을 협상하고 있다면 최고의 차선책은 다른 일자리도 찾아보는 것이다. 계약적 분쟁의 경우에는 협상을 위한 최고의 차선책은 중재자의 도움을 받거나 법정소송을 하는 것이다. 자동차 판매상과의 가격 합의를 이룰 수 없으면 다른 판매자를 찾으면 된다. 협상과정에 어떤 상황이 발생한다 하더라도 당신의 배트나BATNA가 또 다른 차선책이 있다는 자신감을 주는 것이다. 이렇게 하는 것이 당신의 요구사항을 만족시키기 위해 상대방에게 좀 덜 의지하게 만든다. 더불어 자유로움, 활력, 자신감을 주는 것이다.
결론: 뚜껑을 열고 보니 명상(응???)을 다루는 내용으로 느껴질 위험성으로 인해 호불호가 크게 갈릴 수 있는 책이지만, 인생이라는 게임에서 승리하기 위해서는 나부터 본질적으로 바뀌어야 한다는 점을 제대로 지적하고 있다는 점에서 나름 좋은 협상 서적으로 분류한다. 추천!
EOB토요일, 2월 25, 2017
[B급 프로그래머] 2월 4주 소식
- 웹/앱 소식
- 개발/관리도구 소식
- Terminals Are Sexy
- 4th Edition of Learn Python the Hard Way(Python3)
- Re: SHA1 collisions found by Linux Torvalds
- 20년 묵은 보안 기법 깨부순 구글 "SHA-1은 버려라"
- Incident report on memory leak caused by Cloudflare parser bug
- Understanding Scope in JavaScript
- cloudflare: Cloudflare Reverse Proxies are Dumping Uninitialized Memory
- 카카오스토리 웹팀의 코드리뷰 경험
- 수도권 지하철 이전/다음역 및 노선번호 정보를 그래프를 이용하여 구현.
- lookin: SaaS 형태의 시스템 진단 서비스
- How to measure packets per second or throughput on high speed network interface
- Winston: Helping Netflix Engineers Sleep at Night
- Multithreading with C++17 and C++20
- Designing Usable APIs featuring Forrester Research, Inc.
- Improve Your Node.js App Throughput One Micro-optimization at a Time
- Mastering Chaos - A Netflix Guide to Microservices
- Open Source Guides by GitHub
- 마이크로서비스 아키텍처 구축 : 대용량 시스템의 효율적인 분산 설계 기법
- The Future of Java in the Enterprise - InfoQ’s Opinion
- Time to Encrypt the Cloud
- Blocking-NonBlocking-Synchronous-Asynchronous
- The Incident Pit
- Adventures in /usr/bin and the likes
- Personal thoughts about Pyston’s outcome
- Google Spreadsheets and Python
- Dead Code Must Be Removed
- evilpass - Slightly evil password strength checker
- C 언어 배워야 할까요, 취업엔 도움 되나요?
- design patterns for humans!
- Linus Torvalds: Talk of Tech Innovation is Bullshit. Shut Up and Get the Work Done
- Mindstorms by MIT medialabs
- JavaScript’s Journey through 2016
- By sparring with AlphaGo, researchers are learning how an algorithm thinks
- Developing Solutions
- The Wrong Abstraction
- 다른 프레임워크와 vue.js 비교
- Write code that is easy to delete, not easy to extend.
- JavaScript Start-up Performance
- Happy 15th Birthday .NET!
- Operating System: From 0 to 1
- The history behind the decision to move Python to GitHub
- Posix Has Become Outdated(PDF)
- 고성능 서버/데이터베이스 소식
- 전세계는 퍼블릭 클라우드로 이동한다…올해 24% 이상 증가
- 전세계 IT투자, 퍼블릭 클라우드로··· 올해 24% 이상 증가
- Azure 컴퓨팅 가격
- ProxySQL for MySQL
- 마이크로소프트 Azure 발표 자료 다운로드
- MS, 서울·부산서 데이터센터 가동…클라우드 서비스 강화
- SQLite SQL injection lab
- Analysis and Mitigation of NoSQL Injections
- $5 Showdown: Linode vs. DigitalOcean vs. Amazon Lightsail vs. Vultr
- Citus 6.1 Released–Horizontally scale your Postgres database
- Elasticsearch로 느린 쿼리 분석하기
- Introducing Cloud Spanner: a global database service for mission-critical applications
- Spanner, TrueTime and the CAP Theorem
- 구름 타고 돌아왔다, 마이크로소프트
- 11번가 추천 엔진 교체 (RecoPick -> Colloseo)
- Amazon EBS 업데이트 – 언제나 자유롭게 볼륨 유형 및 크기 변경 가능
- Instapaper Outage Cause & Recovery
- (Digital Ocean) Load Balancers: Simplifying High Availability
- Rewriting Duolingo's engine in Scala
- Challenges in Building Large-Scale Information Retrieval Systems by Jeff Dean
- Weathering the Unexpected - Failures happen, and resilience drills help organizations prepare for them.
- Wikipedia - Incidepent Pit
- Hazelcast Jet: In-Memory Streaming and Fast Batch Processing Distributed Computing, Simplified
- MySQL Fabric
- Site Reliability Engineering(PDF)
- MySQL InnoDB의 Adaptive Hash Index 활용
- InnoDB architecture and performance optimization
- MySQL User Camp: Multi-threaded Slaves
- Replication performance and efficiency: MySQL 5.7 MTS vs Amazon Aurora
- JAVA MYSQL CONNECTOR & CONNECTION POOL FEATURES & OPTIMIZATION
- Fuzzing PCI express: security in plaintext
- 빅데이터/인공지능 소식
- DeepCoder builds programs using code it finds lying around
- 딥러닝 (Tensorflow) 을 이용한 추천시스템 개발
- 김진철의 How-to-Big Data | 빅데이터 활용의 근본적인 질문 - 해결하려는 문제가 무엇인가?
- 한글형태소 사전 NIADic
- 서울외곽道 차로할당제로 車 1%P 줄이면 시속 4.3km 빨라져
- 인공지능에 몸달았다, 한국 기업들 '두뇌 쟁탈전'
- An Introduction To Machine Learning Content On InfoQ
- MIT 6.S094: Introduction to Deep Learning and Self-Driving Cars
- GPUs are now available for Google Compute Engine and Cloud Machine Learning
- Watson-based cancer project paused after running aground
- [국가정보화 법제연구 2016-05호] 자동차의 자율운행기능에 따른 법률환경의 변화와 대응
- MRI와 칫솔에서 시작된 '필립스의 IoT 혁명'
- 주식투자 'AI 비서' 나온다
- 구글 오픈소스 텐서플로우 1.0 데뷔 “플랫폼 주도권 노린다”
- This DARPA Video Targeting AI Hype Is Necessary Viewing
- Coding a Deep Neural Network to Steer a Car: Step By Step
- DeepMind just published a mind blowing paper: PathNet.
- Introduction to Machine Learning with Python
- One billion captioned videos (YouTube)
- Euro Truck Simulator 2 autonomous driving solution
- Quick, How Might the Alien Spacecraft Work?
- 'AI brain scans' reveal what happens inside machine learning
- Microsoft open sources a simulator for training drones, self-driving cars and more
- Realtime Analysis of the Oroville Dam Disaster
- BOT TRENDS 2017
- 4차 산업혁명의 경제적 의미와 정부 역할
- Inside the Washington Post’s popularity prediction experiment
- 겁나게 크는 회사, 4차 산업혁명 열쇠 쥔 엔비디아
- The best way to learn math is to learn how to fail productively
- 기타 읽을거리
- Pixar in a Box by Khan Academy
- Worldwide Distributed Application Performance Management Software Market Shares, 2015: Year of Investment and Innovation
- (산업 통계) 2016년 한국영화산업 결산
- BMW 뉴 5시리즈는 어떻게 39층에 올라갔을까
- [서리풀연구통] 우리가 건강행동을 실천하지 못하는 이유
- 전세계 인터넷기업 상위 기업 리스트
- [현장에서] 인간엔 50분 주고, AI에겐 10분 … 뒤끝 남긴 번역 대결
- [Weekly BIZ] '변형 자산' 있어야 100세 시대 성공한다
- 파멸을 향한 경주
- SpaceX’s self-landing rocket is a flying robot that’s great at math
- CEO도, 신입 직원도 "나는 우울하다"
- Facebook and Snapchat: metrics versus creation
- 수학의 쓸모: 청년 수학자와의 대화
- Stop Being So Positive
- 실내식물 관리요령
- Development content accidentally shipped on a certain early DOS CD-ROM game from 1993
- Engineering Managers Should Code 30% of Their Time
- How a failed Japanese space mission lucked into catching a comet
- 여성 개발자 비중 가장 높은 나라는? 1위 인도, 4위 중국··· 15위 한국
- 동영상 광고시장, 외국계 ‘싹쓸이’
- 훌륭한 보스의 12가지 사인
- AMD Ryzen 7 1800X 8 Core CPU Benchmarks Leaked – Giving Intel’s $1000+ 8-Cores A Run For Their Money
- The Untold Story of Atari Founder Nolan Bushnell's Visionary 1980s Tech Incubator
- 정규직 일자리는 이제 없다
- Want to Be More Productive? Sit Next to Someone Who Is
- Why have young people in Japan stopped having sex?
- Co-founder conflict
- 유전자 교정을 더 쉽게 ‘유전자 가위’ 발견의 드라마
- 자취 식생활에 관하여
- Drugs du jour
- 일하는 사람들은 똑같은데 조직문화 바꾸자 놀랍게도…
- How to get rich in America
- 알림, 페이스북, 셀피에 숨겨진 심리학
- (Deloitte) Tech Trends 2017
- SeatGuru - Aircraft seat maps
- How to Hire the Right Person
- How The New York Times Is Clawing Its Way Into the Future
- (만화) 샌프란시스코 화랑관
- How Life (and Death) Spring From Disorder
- Uber for X 회사들이 왜 실패하는가?
- How to Manage Your Emotions Without Fighting Them
- Migration and labour shortages in Asian countries
토요일, 2월 18, 2017
[독서광] 처음 시작하는 드론
오늘은 간만에 Make 시리즈를 하나 소개하겠다. 제목이 잘 드러내듯이 이 책은 드론을 처음 시작(사용이 아니라 제작)하는 사람에게 적합한 책이다. 분량은 많지 않지만 있을 내용은 다 있기 때문에 가벼운 마음으로 훑어본 다음에 드론에 도전하면 시행착오를 줄일 수 있으리라는 생각이다.
이 책은 소형 쿼드콥터 드론을 만들어 실제 띄운다는 목표를 달성하기 위해 제작법 중심으로 설명을 진행한다. 비행 원리와 항공기 기체에 대한 개략적인 소개를 시작으로, 동력 전달 장치, 비행 컨트롤러, GPS/나침반, 송신기, 텔레메트리 링크, 카메라와 FPV, 아두파일럿 APM 설치에 이르는 전 과정을 다룬다. 마지막에는 안전을 위한 기체 점검과 유지보수 방법을 소개하고 실생활 적용 사례로 마무리한다. 드론에 대해 어렴풋한 지식만 있었는데, 이 책을 읽고 나니 확실히 뭐가 중요하고 기술적으로 필요한 지식 범위에 대한 감이 생겼고, 드론을 한 번 띄워보고 싶다는 욕구가 무럭무럭 생기고 있다. :)
활자와 그림으로만 드론 제작법을 이해하기란 쉽지 않기 때문에 원서 저자가 만든 Getting Started with Drones 사이트를 방문하면 리틀 디퍼 제작법을 동영상으로도 제공한다. 편의를 위해 임베드시켜봤다.
결론: 처음으로 드론을 제작하려는 분들은 물론이고, 실제 사용하시는 분들도 읽어보시면 많은 도움이 될 것이다.
보너스: Drone Starting!이라는 사이트를 추천한다. 한국 실정에 맞춰 드론 조종/기종 추천/공역(날릴 수 있는 곳을 잘 정리)에 대한 정보를 알기 쉽게 소개하고 있다. 드론 시뮬레이터 소개 글도 읽어보시기 바란다. 준비 없이 드론을 날릴 경우에 여러 가지 문제가 발생하므로 충분한 연습은 필수!
EOB토요일, 2월 11, 2017
[B급 프로그래머] 2월 2주 소식
- 웹/앱 소식
- 개발/관리도구 소식
- Netflix Introduces Hollow, a Java Library for Processing In-Memory Datasets
- 다른 회사는 어떻게 QA, 테스팅을 하고 있을까? (Google, Facebook, Atlassian)
- Metrics, Metrics, Everywhere - Coda Hale
- Lightweight Systems for Realtime Monitoring(PDF)
- Java Garbage Collection Distilled
- Falcor - A JavaScript library for efficient data fetching
- Optimizations in Syntax Highlighting
- A Comparison of Some Container Orchestration Options
- mountebank - over the wire test doubles
- i2cssh - csshX like ssh tool for iTerm2
- jvm-mon - Console based JVM monitoring
- V8 Release 5.7
- “How” ages faster than “Why”
- LEARN C PROGRAMMING WITH 9 EXCELLENT OPEN SOURCE BOOKS
- Monitoring Challenges - Monitorama 2016 - Monitoringless
- 중급 파이썬: 파이썬 팁들
- Life and death of a container
- The Monaco Editor is the code editor that powers VS Code.
- The TTY demystified
- EVOLVING DISTRIBUTED TRACING AT UBER ENGINEERING
- Research Resource: Gallery of 16,000+ RPG screenshots.
- wuzz - Interactive cli tool for HTTP inspection
- Project #5: Using tmux Properly
- MIT 6.00 컴퓨터 공학과 프로그래밍(Python) 오픈 코스
- Network Programming with Go
- Java 9 Convenience Factory Methods for Collections
- gvfs - Git Virtual File System by Microsoft
- Django in Production
- 윈도우의 도커에 대해 알아야 할 점
- 유니코드 이야기(재미있음)
- BREAKDOWN OF A SIMPLE RAY TRACER.
- Java 9 - The Ultimate Feature List
- ‘Abusing’ the C switch statement – beauty is in the eye of the beholder
- Building and Embedding Node.js as a Shared Library
- Hardware: Programmer’s Perspective
- Google Computer Science Education
- 메모리 재할당과 커널 파라미터
- The JVM is not that heavy
- htop Explained Visually
- The 12 Best Android Tutorials for First-Time App Developers
- Don't setenv in multi-threaded code on glibc
- Learn Go Programming Language!
- Learn C# Programming Language!
- 파이썬 학습 사이트
- Making the move from Scala to Go, and why we’re not going back
- date-fns Modern JavaScript date utility library
- WoowahanJS - 웹 어플리케이션 개발을 위한 JS프레임워크
- Online Typing Practice for Programmers
- RUNNING ONLINE SERVICES AT RIOT: PART I
- THE FALLACY OF PREMATURE OPTIMIZATION
- pyzdb - A lightweight database with Python syntax queries, using ZeroMQ
- awesome-electronics - A curated list of awesome resources for electronic engineers and hobbyists
- 고성능 서버/데이터베이스 소식
- Postmortem of database outage of January 31
- Honest status reporting and AWS service status “truth” in a post-truth world
- CERN datacenter
- Common misconceptions about locking in PostgreSQL
- Percona Blog Poll: What Database Engine Are You Using to Store Time Series Data?
- Using NVMe Command Line Tools to Check NVMe Flash Health
- 에버노트가 3페타바이트의 데이터를 구글 클라우드로 옮긴 이유과 방법
- RethinkDB versus PostgreSQL: my personal experience
- The AWS and MongoDB Infrastructure of Parse: Lessons Learned
- 돈주고 겪어봐야할 소중한 장애
- AWS CLOUD 2017 - Amazon Aurora를 통한 고성능 데이터베이스 운용하기
- Overview of Different MySQL Replication Solutions
- Stacking up the cloud vendors: AWS vs. Microsoft Azure, IBM, Google, Oracle
- AWS Well-Architected Framework 한국어 백서 공개 (2017년 업데이트)
- (More than) one million requests per second in Node.js
- Beringei: A high-performance time series storage engine by facebook
- Scaling Git (and some back story)
- 아마존 4분기 실적 보고..."AWS 성장 눈부셔"
- AWS still owns the cloud
- The JSON1 Extension for SQLite
- GitLab.com Database Incident
- WAN Synchronous Clusters: Dealing with Latency Using Concurrency
- Dataloss at GitLab
- GitLab.com Database Incident - 2017/01/31
- MySQL Sharding Models for SaaS Applications
- Improve Your Node.js App Throughput One Micro-optimization at a Time
- MySQL InnoDB Cluster 미리보기 (remote cluster test)
- 한국IDG 조사 결과 | "뜬 구름 잡던 시절은 끝났다" 국내 클라우드 현주소
- Percona Software News and Roadmap Update with CEO Peter Zaitsev: Q1 2017
- 빅데이터/인공지능 소식
- Ford to Invest $1 Billion in Artificial Intelligence Start-Up
- Deep Learning for Web Search and Natural Language Processing(Microsoft)(PDF)
- 좀더 깊이 있게 살펴보는 딥러닝의 '의미'와 '활용법' (주의: 이메일 등록 필요)
- A self-driving car simulator built with Unity by udacity
- Anomaly Detection for Time Series Data with Deep Learning
- How South Korea Plans To Put Driverless Cars On The Road By 2020
- 전문가들이 말하는 2017년 빅데이터·분석 전망 15선
- New GM Cruise Self-Driving Video Shows More Mastery of SF Roads... This Time with PiP Proof
- Hazelcast Release Jet, Open-Source Stream Processing Engine
- As Goldman Embraces Automation, Even the Masters of the Universe Are Threatened
- Top 10 Hot Artificial Intelligence (AI) Technologies
- NumPy Tutorial: Data analysis with Python
- AWS CLOUD 2017 - Amazon Athena 및 Glue를 통한 빠른 데이터 질의 및 처리 기능 소개
- 중국 인공지능 기술, 경쟁자는 미국 뿐...
- 머신러닝기반의 침해사고 공격분석 방안 연구
- [NEAR & Future Monthly] 빅데이터로 본 2017년 지능화 기술 이슈 : ‘지능형 결합’과 ‘개인화 플랫폼’ (vol.23)
- UPS drivers don’t turn left—and it saves them 10 million gallons of gas a year
- 테슬라 새로운 오토파일럿 업데이트, 속도제한 증가와 측면충돌 경고 추가
- 프로 포커 선수 잡은 AI, 어디에 쓰일까
- An Even Easier Introduction to CUDA
- China’s Intelligent Weaponry Gets Smarter
- Using Machine Learning to predict parking difficulty
- Foundations and Challenges of Deep Learning (Yoshua Bengio)
- Jeff Dean on machine learning, part 1: surveying the landscape
- Get started with deep learning in computer vision
- '포커'마저 정복··· AI, 불완전 정보의 신세계에 진입하다
- Making Google Data Studio Free for Everyone
- Will You Graduate? Ask Big Data
- NanoNets : How to use Deep Learning when you have Limited Data
- Waymo’s self-driving tech got a lot better in 2016
- 자율차 업계 미션 "'시스템 해제' 줄여라"
- Unlearning descriptive statistics
- The company behind Mercedes is providing self-driving cars to Uber
- [지식충전소] “소요시간 10분 오차” 도공 족집게 예보 비결은 땅밑 센서
- MXNet, Apache 재단 오픈 소스 프로젝트 참여!
- '바로 이 목소리' 공개 현상수배
- 인공지능의 명암
- The Algorithms Behind Probabilistic Programming
- 'AI vs. 인간' 최후의 대결··· '텍사스 홀덤' 포커 승자는?
- 운전기사 없이 달리는 버스 12월 첫 운행
- Tesla sues ex-Autopilot director for taking proprietary info, poaching employees
- GM's Unicorn, Cruise, Shows Off Level 4 Skills in SF—Passing Uber & (Maybe) Waymo
- Introduction to Machine Learning with Python
- 기타 읽을거리
- Google: Managers Matter After All
- Why South Korea is the world’s biggest investor in research
- AMD 라이젠 CPU, 인텔 6세대 CPU보다 "크기는 90%, 캐시는 2배 더"
- The Next Big Blue-Collar Job Is Coding
- Getting big mining projects right: Lessons from (and for) the industry
- 방수 기준 IP 등급의 현실적인 의미 제대로 알기
- Russians Engineer a Brilliant Slot Machine Cheat—And Casinos Have No Fix
- Inside the mind of a master procrastinator
- Matt Sakaguchi on the Key to High Performing Teams at Google
- The Secret History of the First Cat in Space
- The Security Impact of HTTPS Interception(PDF)
- Hate & Ego
- 개발자가 이직에 대해 생각할 때
- 무조건 삼겹살? 우리가 알던 돼지고기는 잊어라
- How the NSA obtains and uses airline reservations
- Google got it wrong. The open-office trend is destroying the workplace.
- HIGH-PRESSURE PARENTING
- 추천 도서 목록
- Vanishing point: the rise of the invisible computer
- 시스코(Cisco), 앱 성능 분석 기업 ‘앱다이나믹스(AppDynamics)’ 인수
- 틈새시장서 핵심으로··· 'APM' 솔루션의 재발견
- The End of Employees
- Richard Garriott: the man, the myth, the mischief
- 2017년 IT직종 전망 '뜨는 5가지 vs. 지는 2가지'
- Matt Sakaguchi on the Key to High Performing Teams at Google
- One Man’s Quest to Hack His Own Genes
- [칼럼] 존 헨리이즘: 노력으로 불리한 조건을 극복한 사람들이 치러야 하는 대가
- Guide: How to Start a Startup Without Ruining Your Life
- Wanted: Factory Workers, Degree Required
- 2017년 모바일 트렌드 전망
- How Athletes Get Great
- Dopamine Cells Influence Our Perception of Time
토요일, 2월 04, 2017
[독서광] 중력의 임무
오늘은 간만에 소설 하나를 소개해드리려 한다. 비록 출간된지는 상당히 오래되었지만 여전히 SF 소설 애호가들에게 지명도가 상당히 높은 '중력의 임무'가 오늘의 주인공이다.
SF 소설이라면 과학적인 관점에서 고증이 충실이 되고 논리가 완벽하다고 기대할 수도 있지만, 그렇지 않은 경우가 더 많다. 물론 재미를 위해 다소 과학(?)을 희생할 필요가 있다는 사실에 동의하지만(그렇지 않으면 소설이 아니고 논문이 되겠지...), 과학과 재미를 동시에 추구하는 방법이 있다면 더욱 좋을 것이다. '중력의 임무'는 하버드 대학에서 천문학을 수학하고 항공 파일럿으로 공군에 복무한 다음에 과학 교사을 길을 택한 할 클레멘트가 정통 하드 SF를 표방하면서 만든 작품으로서 이후에 나온 하드 SF 작품에 많은 영향을 끼쳤다.
이 책의 배경은 적도 지름 7만7천 킬로미터, 극 지름 3만 킬로미터의 극단적으로 찌그러진 팬케이크 모양의 외계 행성인 메스클린이며, 팬케이크 모양인 관계로 인해 적도에서 중력은 지구의 3배지만 극지방에서는 지구의 700배가 되는 악조건에서 극지방에 불시착한 무인 중력 탐사선을 찾기 위해 지구인과 메스클린인이 서로 협조하면서 탐험하는 여정을 그린다. '중력의 임무'라는 제목과 어울리게 책을 읽는 과정에서 극지방에 가까워질수록 중력의 무시무시함을 느끼면서 점점 숨이 가빠지는 색다른 경험을 하게 될 것이다.
중력 관찰을 위한 무인 탐사선 회수라는 임무의 성공을 위해 지구인들이 문명 수준이 낮은 메스클린인을 적극적으로 지원하면서 메스클린인들이 여러 어려움을 극복하면서 점점 성장해가는 줄거리를 따르지만, 일방적으로 지구인이 메스클린인을 돕는 구도가 아니라 나름 메스클린인들도 지구인을 돕는 형태가 되어 일종의 버디 영화를 연상하게 만든다. 가장 마지막 부분에서 지구인과 메스클린인 사이의 갈등이 극에 이르다 해소되면서 중력으로 인해 2차원 평면에 꼼짝없이 잡혀살던 메스클린인들이 3차원으로 해방되는 장면이 특히 기억에 남는다.
결론: 하드 SF 소설 애호가라면 꼭 읽어보시기 바라며, 특히 가장 마지막 작가 후기는 빠뜨리지 마시길...
EOB













