-
(오늘의 짤방: 한편 뉴질랜드가 오늘밤 0시부터 락다운에 들어간다는 정부문자메시지인데 문장이 좋다.”자신이 코로나에 감염되었다는듯이 행동해라. 생명을 많이 살릴것”via @bwwwc)
- 빅데이터/인공지능
- The strange idea that we are not in control of our minds
- AI가 대장용종 판독... 내시경 전문의 만큼 정확히 식별했다
- 의료 AI, 현실성 없는 의학 드라마가 되지 않으려면...
- Stanza - A Python NLP Library for Many Human Languages
- The coronavirus pandemic in five powerful charts
- Coronavirus Disease (COVID-19) – Statistics and Research
- Mistakes, we’ve drawn a few (by economist)
- Microsoft can filter out the sound of you eating potato chips on a conference call
- 경험자들이 전하는 챗봇 성공의 근간··· '고객을 예리하게 주시하라'
- 딥코드, C와 C++에도 AI 기반 코드 리뷰 지원
- [독서광] 데이터 시각화 교과서(본인이 쓴 글)
- "데이터, 부수고 남긴다" 비식별화 기술로 AI 시장 공략하는 딥핑소스
- 외국말 녹음하고 문자로 변환··· 구글 번역, 8개 국어 트랜스크라이브 지원
- 캐글, 데이터 과학자들에게 코비드-19 조치 요청
- Covid-19 Interactive Model: 코드도 참고
- The AI Cold War That Threatens Us All
- “The 3 ingredients to our success.” | Winners dish on their solution to Google’s QUEST Q&A Labeling | Kaggle Winner’s Interview
- How to jump into Data Science
- '진료 차트를 NLP로 분석해 치료 결과 개선' 美 머시 이야기
- 양자 머신러닝의 씨앗을 심는 AI 업체…2020년대에 꾸준한 확산 기대
- How the brain encodes landmarks that help us navigate
- The state of the restaurant industry by OpenTable
- Ten Considerations Before You Create Another Chart About COVID-19
- 읽을거리
- he theory of infectious origin of the Alzheimer’s disease
- 집중력 높이는 온라인 발표, 3가지를 기억하라
- Managing Yourself: How to Calibrate Your Own Strengths and Weaknesses
- 코로나 이후 경제·투자 패러다임 전환 예고한 세계 최대 헤지펀드 수장 레이 달리오
- How Covid-19 Could Impact Startup Funding
- 짜장면 맛집을 찾아서...
- Science Matters: Let's Talk About COVID-19 by coursera
- Why the Coronavirus Has Been So Successful
- Infotainment safety concerns
- Coronavirus Will Change the World Permanently. Here’s How.
- If a heart is a muscle, why doesn’t it ever get tired of beating but things like my arms and legs do?
- CVE-2020-10558 | Tesla Model 3 Vulnerability – Disable Autopilot Notifications, Speedometer, Web Browser, Climate Controls, Turn Signals, Nav, etc.
- The Korean clusters
- Why do aircraft cockpits have so many lights and buttons? Do pilots really know what all that “stuff” means?
- 한국은 왜?
- Flattening the Coronavirus Curve Is Not Enough
- How people decide what they want to know
- Radio Garden - 전세계 라디오 듣기
- Explorable Physics
토요일, 3월 28, 2020
[B급 프로그래머] 3월 4주 소식(빅데이터/인공지능, 읽을거리 부문)
금요일, 3월 27, 2020
[B급 프로그래머] 2020년 2월 15일 개발자 이야기(발표 자료)
2월 15일자 방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다. 전체 방송 플레이리스트는 재미있는 개발 이야기(w/ 허광남-박재호)에서 확인할 수 있다.
하이라이트를 요약 정리하면 다음과 같다:
- 봇 감지 기법
- JDK 14 공개
- NULL 바이트를 문자열 중간에 사용하면 안 되는 곳
- 크롬의 보안 강화 소식
- 견고한 Node.js 프로젝트 아키텍처 설계하기
- 2019년 구름 개발자 생태계 보고서
수요일, 3월 25, 2020
[B급 프로그래머] 2020년 3월 21일 개발자 이야기(발표 자료)
3월 21일자 방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다. 전체 방송 플레이리스트는 재미있는 개발 이야기(w/ 허광남-박재호)에서 확인할 수 있다.
하이라이트를 요약 정리하면 다음과 같다:
- 유튜브 구독자 5000명 돌파 축하 인사
- JDK 14 공개
- 개발자를 위한 동향 파악: 인포Q 동향 보고서 2020
- (우리가 몰랐던 사실) 리눅스가 ifconfig 대신 ip를 사용하는 이유
- (개발자를 위한 교양) 데이터 시각화 교과서(본인이 쓴 글: [독서광] 데이터 시각화 교과서)
월요일, 3월 23, 2020
[독서광] 데이터 시각화 교과서
오늘은 책만 사장님께서 선물로 보내주신 '데이터 시각화 교과서'에 대한 내용을 소개하겠다. 제목에 '교과서'라는 단어가 붙어 있기 때문에 사용자 인터페이스나 인지와 관련해 이론적인 내용이 전개될 것으로 예상을 했다면... 절반만 맞다. 이 책은 시작부터 그래프를 그리기 위한 (우리가 제대로 이해하고 있지 않았던) 사실부터 짚고 넘어가고, 이어서 바로 우리가 흔히 접하는 다양한 시각화 기법에 대해 좋은 예와 모호한 예와 잘못된 예를 제시하면서 실질적인 조언을 아끼지 않는다. 그리고 그래프 디자인을 하기 위한 기본 원칙을 깔끔하게 정리한다. 이 정도만 해도 도구 사용이나 미적 감각을 강조하는 기존의 시각화 서적과 차별화를 보여주는데, 개인적으로는 다른 어떤 책에서도 찾아보기 어려운 좋은 내용을 담고 있는 28장 '올바른 시각화 소프트웨어 선택법'과 29장 '스토리텔링과 요점 전달'이 가장 인상 깊었다.
이 책의 또 한 가지 놀라운 점은 전문적인 소프트웨어를 사용해 그래프 후 가공을 최대한 자제하고 R만으로 대부분의 효과를 달성했다는 사실이다. 이 책에서 사용된 코드는 깃허브에 올라와 있으므로 R로 시각화를 하시는 분들께서는 살펴보시면 많은 도움을 받을 것이다.
그래프와 표는 단순히 예쁘게 만든다고 다가 아니다. 미적이면서도, 내용은 분명하고, 복잡하거나 오해의 소지를 없애고, 정확하면서도 객관적인 시각화가 필요하다. 최근 코로나 바이러스 때문에 각 언론에서 경쟁적으로 기사를 내보내고 있는데, 솔직히 국내 언론에서 만든 대다수 인포그래픽과 차트는 뭔가 이상하다는 느낌이 드는데(물론, 감탄할만한 기획 기사로 인포그래픽에 상당히 신경을 쓰는 국내 언론도 분명히 존재하고 향후 발전을 기대하고 있다), 이 책을 읽고 나면 도대체 어디서부터 문제인지를 정확하게 인식할 수 있을 것이다. 로이터와 뉴욕타임즈는 이 책에서 제시하는 지침에 가장 근접하는 훌륭한 시각화로 무작정 부풀리고 뻥튀기는 방법으로 사람의 감정에 호소하는 대신 살짝 건조하기까지 느껴지는 사실만으로도 훨씬 더 정보를 정확하고 효과적으로 전달한다.
일례로 로이터의 ReutersGraphics 트위터와 The Korean clusters를 보면 이 책에서 제시하는 거의 모든 우수 사례를 그대로 따르는 동시에 로이터 자체의 고유한 아이덴티티까지 부여하는 정말 표준적인 잘 만든 인포그래픽을 보여준다. Vox도 9 questions about the Covid-19 coronavirus pandemic, answered라는 기사에서 멋진 인포그래픽을 제시한다(물론, "flattening the curve"에 대한 그래프가 문제가 있다는 지적이 나오기도 했지만 이 책에도 나오지만 일반 독자를 이해시키기 위해 정확도를 떨어뜨린 것으로 보인다). 뉴욕 타임즈도 Watch How the Coronavirus Spread Across the United States와 A Different Way to Chart the Spread of Coronavirus라는 기사에서 상당히 모범적인 인포그래픽을 제시한다.
물론 전문가가 포진한 주류 언론의 수준까지는 도달하지 못하더라도 원리 원칙을 충실히 따르면서 자신이 사용하는 도구를 최대한 활용해 정확하고 깔끔한 그래프를 그리면 얼마든지 주목을 받을 수 있을 것이라 생각한다.
결론: 데이터 시각화에 관심이 있는 모든 분들께 강력 추천한다. 연구 논문이나 보고서 작성 뿐만 아니라 대시 보드 개발에도 큰 도움이 될 것이다. 2020년 1분기에 읽은 최고의 서적이다.
보너스: Ten Considerations Before You Create Another Chart About COVID-19를 보면 COVID-19에 대한 차트를 만들기 앞서 고려해야 하는 10가지 사항이 나온다. 인터넷에서 접하는 (다소 민감한) 정보를 만들 때 이 책에 나온 정확한 정보 전달을 위한 시각화 기법와 대중에 정보를 전달할 때 주의해야 하는 사항을 함께 고려하면 더 바랄 나위가 없겠다.
추가: 이코노미스트는 Mistakes, we’ve drawn a few라는 글에서 오해의 여지가 있거나, 혼란스럽거나, 주장을 밝히는 과정에서 실패한 사례를 분석한 글을 올렸다. 이 책 내용을 토대로 분석하면 좋겠다.
EOB[B급 프로그래머] 3월 3주 소식(개발/관리도구, 고성능 서버/데이터베이스 부문)
- 개발/관리도구
- Visual Studio Code Docker extension 1.0 – Better than Ever!
- transitions - A lightweight, object-oriented state machine implementation in Python with many extensions. Compatible with Python 2.7+ and 3.0+.
- Serverless in the wild: characterizing and optimising the serverless workload at a large cloud provider
- 리뷰 | 개발 코드에서 취약점 찾기…보안 테스트 솔루션 '시프트레프트'
- Linux maintains bugs: The real reason ifconfig on Linux is deprecated
- Using Visual Studio Code for Qt Applications – Part One
- New Relic Introduces Real-Time Java Profiling
- 이렇게 기획하면 안 돼요! #회원가입
- RFC: Adopt a modern JavaScript framework for use with MediaWiki
- How to Create a List of Your Installed Programs on Windows
- 이스티오·엔보이, '웹어셈블리' 도입한다
- Rewriting the heart of our sync engine
- KAIST CS420: Compiler Design (Youtube)
- Windows Terminal Preview v0.10 Release
- The WPF Notepad Project: Word Wrap, Status Bar, and Zoom (Premium)
- Java 14 Released
- GitHub for mobile is now available
- The good parts of AWS - A visual summary
- npm is joining GitHub
- 자바스크립트 "this" 완벽 가이드
- Docker Desktop for Windows Home is here!
- 하나 타자 연습 개발후기
- WinUI - The modern native UI platform of Windows.
- go git has a new home! v5 and some explanations
- Microsoft buys JavaScript developer platform npm; plans to integrate it with GitHub
- Programming Languages InfoQ Trends Report - October 2019
- JavaScript and Web Development InfoQ Trends Report 2020
- When Not to Use Lock Files with Node.js
- lesspass - Stateless Password Manager
- LINUX KERNEL DEVELOPMENT AND WRITING A SIMPLE KERNEL MODULE
- 스위프트, 러스트, 클랭을 떠받치는 힘, LLVM 알아보기
- JavaScript: The First 20 Years
- WSL2 will be generally available in Windows 10, version 2004
- New Relic – the State of Java Report
- GitLab's Guide to All-Remote
- The Data School Library
- The Home of the Java Almanac
- Tour of Python Itertools
- Google Open Source: 검색도 지원함
- AWS, 컨테이너에 최적화된 리눅스 기반 OS 공개
- “데스크톱용 컨테이너가 온다” 윈도우 10X에 거는 기대
- 파이썬을 올바르게, 현명하게 설치하는 방법
- How (some) good corporate engineering blogs are written
- KnightOS - An open-source OS for calculators
- Docker로 한 서버를 여러 사람이 독립적으로 사용할 수 있는 환경 만들기
- loadlibrary - Porting Windows Dynamic Link Libraries to Linux
- Re: mmap/mlock performance versus read by Linux Torvalds
- 20 개의 ANSIBLE 인터뷰 질문
- Your first 90 days as CTO or VP Engineering.
- MapSCII is a Braille & ASCII world map renderer for your console - enter => telnet mapscii.me <= on Mac and Linux, connect with PuTTY on Windows
- Chapter 8. The Boy Scout Rule
- 컨테이너 기반 클라우드 개발의 “스테이트”
- 구글 클라우드와 엣시의 클라우드 네이티브 전환 여정 2년
- 레거시 코드를 점진적으로 개선한 경험
- Why is XOR the default way to combine hashes?
- How Websites Evolved Back to Static HTML/CSS/JS Files
- 고성능 서버/데이터베이스
토요일, 3월 21, 2020
[B급 프로그래머] 2020년 2월 22일 개발자 이야기(발표 자료)
2월 22일자 방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다. 전체 방송 플레이리스트는 재미있는 개발 이야기(w/ 허광남-박재호)에서 확인할 수 있다.
하이라이트를 요약 정리하면 다음과 같다:
- 객체지향 프로그래밍 - 역대급 재난
- kasaya - 브라우저 자동화를 위한 위지윅 스크립팅 언어
- 8년 동안 사이드 프로젝트에서 배운 교훈
- Deno 설치
- Theia: Cloud & Desktop IDE
금요일, 3월 20, 2020
[B급 프로그래머] 2020년 3월 14일 개발자 이야기(발표 자료)
금주부터 OKJSPTV 유튜브 방송에 사용된 발표 자료를 매주 공개해드리려고 한다. 3월 14일자 방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다. 전체 방송 플레이리스트는 재미있는 개발 이야기(w/ 허광남-박재호)에서 확인할 수 있다.
하이라이트를 요약 정리하면 다음과 같다:
- 알파고 영화 소개
- 레거시 코드를 점진적으로 개선한 경험
- 코드 검색
- iTerm2 힌트
- 자바 변경 내역
- JVM 관련 통계 자료 분석
수요일, 3월 18, 2020
[B급 프로그래머] 2020년 3월 7일 개발자 이야기(발표 자료)
금주부터 OKJSPTV 유튜브 방송에 사용된 발표 자료를 매주 공개해드리려고 한다. 우선 조금 시간이 지났지만, 3월 7일자 자료부터 올려드린다. 과거 자료도 매주 1~2개씩 차근차근 올려드릴 예정이다. 전체 방송 플레이리스트는 재미있는 개발 이야기(w/ 허광남-박재호)에서 확인할 수 있다.
하이라이트를 요약 정리하면 다음과 같다:
- 기능 공장에서 일하고 있다는 12가지 신호
- 윈도우에서 VSS를 활용해 락 걸린 파일 복사
- 하나의 메모리 누수를 잡기까지
- GNU sort로 IP 주소 정렬하기
- 컴퓨터공학과 새내기가 수강신청하는 법
- 자바 생태계 보고서
월요일, 3월 16, 2020
[B급 프로그래머] 3월 2주 소식(빅데이터/인공지능, 읽을거리 부문)
- 빅데이터/인공지능
- 번역기들: 8개 번역 사이트 동시 번역 지원 사이트(구글, 네이버 파파고, 카카오, 마이크로소프트 애저, 왓슨, 아마존, 얀덱스, 시스트란)
- 왜 크로스 엔트로피를 쓸까?
- [영화광+B급 프로그래머] AlphaGo - The Movie | Full Documentary(본인이 쓴 글)
- DataSchool - ChartIO의 무료 온라인 DB 학교
- The Annotated GPT-2
- 데이터 기술력 격차, 직원당 연 43시간 손실 발생
- 아마존, '아마존 고' 무인결제 기술 상용화
- Introducing Cloud AI Platform Pipelines
- Announcing TensorFlow Quantum: An Open Source Library for Quantum Machine Learning
- Bringing Just Walk Out shopping to your stores
- [이슈] 세계 최초, 대서양 횡단하는 AI 자율선박 '메이플라워호'... 'AI 선장' 실전 테스트
- Coronavirus-Dataset - Dataset of COVID-19 in South Korea
- SLIDE : In Defense of Smart Algorithms over Hardware Acceleration for Large-Scale Deep Learning Systems
- Amazon Go Grocery: What it means for consumers and possibly employees
- Waymo’s fifth-generation Driver can peek around blind spots
- HOW HARD WILL THE ROBOTS MAKE US WORK?
- 김진철의 How-to-Big Data | 빅데이터의 미래 (4)
- Cambridge Analytica were the tip of the iceberg
- CNN-generated images are surprisingly easy to spot...for now
- Realtime Multi-Person Pose Estimation 논문 리뷰 및 구현
- 코로나19(COVID-19) 한국 대시보드 (2020-02-26 ~)
- Quarantines Won’t Save Us From Coronavirus
- Welcome to the documentation for Aleph, a suite of data analysis tools for investigators.
- 읽을거리
- 무료지만 괜찮은 윈도우 비디오 편집기
- 코로나에 밥 끊긴 아이들..'배달'을 갔다[남기자의 체헐리즘]
- 집에서 버섯 키우기(주의: 따라하면 온 집이 버섯으로 뒤덮일지도...)
- 코로나-19 방어용 마스크를 안전하게 재사용하기 위한 살균 방법에 관한 고찰
- 에퀴팩스 데이터 침해 사건 FAQ, 사건의 전말과 영향
- 9 questions about the Covid-19 coronavirus pandemic, answered
- How Pandemics Change History
- The Human Genome Is Full of Viruses
- The Boeing 737 MAX Aircraft: Preliminary Investigative Findings
- [독서광] 컨테이저스: 전략적 입소문 와튼스쿨 마케팅학 최고 권위자가 전하는 소셜 마케팅 전략(본인이 쓴 글)
- [공지] 한국 전자음악의 역사 인터뷰 - 윤상
- 영국인이 주민등록 안 만드는 이유 2탄
- The Art Of Business, Where Science And Business Depart.
- 대저 짭짤이 토마토의 미래
토요일, 3월 14, 2020
[영화광+B급 프로그래머] AlphaGo - The Movie | Full Documentary
일부 제한된 극장과 넷플릭스/왓차에 공개된 이세돌과 알파고의 승부를 그린 알파고 다큐멘터리가 유투브에 공개되었다는 소식을 듣고서 토요일 아침을 눈물과 박수로 보냈다.
알파고와 시합을 할 때 거울에 비친 발가벗겨진 자신을 보며 내가 여기서 무엇을 할 수 있을지 고민하게 된다는 판 후이의 설명과 알파고를 무력화시킨 78수를 어떻게 두게 되었는지 묻는 질문에 여기 밖에 둘 곳이 없어서 두었다는 이세돌 9단의 답변이 특히 기억에 남았다. 엔지니어와 바둑 기사들의 인간미, 열정, 도전이 생생하게 느껴지고 진짜 위대한 일을 하려면 얼마나 시간과 노력을 많이 투자해야 할지 다시 한 번 반성하게 만드는 계기가 되었다.
한 줄 평: 다른 말이 필요없다! 소프트웨어 개발자를 포함한 엔지니어, 바둑 애호가, 예술가 모두에게 강력 추천한다.
EOB월요일, 3월 09, 2020
[B급 프로그래머] 3월 1주 소식(개발/관리도구, 고성능 서버/데이터베이스 부문)
- 개발/관리도구
- 7 Types of Native Errors in JavaScript You Should Know
- 단디 - 한국어 맞춤법 검사기
- 가상 컴퓨터에서 중첩된 가상화를 사용하여 Hyper-V 실행
- Xv6, a simple Unix-like teaching operating system
- Secure and fast microVMs for serverless computing
- How fast is PHP-8 going to be?
- C++ Matrix: The Matrix Reloaded in Terminals (Number falls, Banners, Matrix rains, Conway's Game of Life and Mandelbrot set)
- "더 나은 Node.js를 지향하는" 데노란 무엇인가
- A successful Git branching model
- CS6038/CS5138 Malware Analysis, UC
- Programming principles from id software
- Microservices guru warns devs that trendy architecture shouldn't be the default for every app, but 'a last resort'
- Monitoror - Unified monitoring wallboard
- Best practices for REST API design
- EOF is not a character
- PDF2JSON is a conversion library based on XPDF (3.02) which can be used for high performance PDF page by page conversion to JSON and XML format.
- Understanding CPU Microarchitecture for Performance
- Trying Clean Architecture on Golang
- 9 Popular GitHub Repos For Every Web Developer
- Syncthing is a continuous file synchronization program.
- What's so hard about PDF text extraction?
- 깃허브에서 1만 스타 받은 한국의 오픈소스들
- 영광의 날들 - 빌 게이츠와 함께 하던 때
- How To : 맥OS 카탈리나의 '폰트 유실' 오류 해결법
- MS의 새 '오피스' 모바일 앱에 대해 알려지지 않은 7가지
- 포에트리를 사용한 파이썬 프로젝트 관리 방법
- Project LightSpeed: Rewriting the Messenger codebase for a faster, smaller, and simpler messaging app
- Technical Writing Courses (by Google)
- exifr - The fastest and most versatile JS EXIF reading library.
- Let's Talk Locks!
- 윈도우10 알아두면 쓸모 있을 팁 5가지
- Istio를 활용해 Multi Cluster 환경에 Service Mesh 구성하기
- youtube-dl - Command-line program to download videos from YouTube.com and other video sites
- Little known features of iTerm2
- brunsli - Practical JPEG Repacker
- 2020년, 백신을 설치하지 않아도 된다? 윈도우 디펜더의 진실
- k3s 시리즈 - 간단하게 Kubernetes 환경 구축하기
- Programming trick questions
- List of 2020 Leap Day Bugs
- handoff-visualizer - Wireless Network Handoff Visualizer built with React!
- edtr - The Open Source Web Editor
- Bash History in the Cloud
- 컴퓨터공학과 새내기가 수강신청하는 법
- Python Type Checking
- 컨테이너가 정말로 좋은 선택일까?
- Search across a half million git repos
- System Scheduler is an excellent tool to schedule unattended running of applications, batch files, scripts and much more.
- On Voice Coding
- Introducing fastpages - An easy to use blogging platform with extra features for Jupyter Notebooks.
- We Don't All Need to Learn to Code
- The cost of JavaScript in 2019
- Donald Knuth Was Framed
- 7 Tools to Copy Locked or In Use Files
- JVM Ecosystem Report 2020
- Sort IP Addresses with GNU sort
- h4cker - This repository is primarily maintained by Omar Santos and includes thousands of resources related to ethical hacking / penetration testing, digital forensics and incident response (DFIR), vulnerability research, exploit development, reverse engineering, and more.
- XD Pascal: A small embeddable self-hosting Pascal compiler for Windows. Supports Go-style methods and interfaces
- 고성능 서버/데이터베이스
토요일, 3월 07, 2020
[독서광] 컨테이저스: 전략적 입소문 와튼스쿨 마케팅학 최고 권위자가 전하는 소셜 마케팅 전략
마케팅 책 중에서 이론과 실전을 모두 겸비한 책을 하나만 들라고 하면 고민하지 않고 '컨테이저스'를 선택하겠다. 추천 받아서 읽은 이 책은 거의 나온지 제법 되었음에도 불구하고 전달하는 메시지는 여전히 유효하다는 생각이다. 이 책의 가장 큰 장점은 우연처럼 보이는 입소문을 전략적으로 접근하는 방식이다. 콘텐츠의 전염성을 결정하는 STEPPS 법칙인 쇼셜 화폐(Social Currency)의 법칙, 계기(Trigger)의 법칙, 감성(Emotion)의 법칙, 대중성(Public)의 법칙, 실용적 가치(Practical Value)의 법칙, 이야기성(Story)의 법칙이라는 여섯 가지 법칙을 중심으로 대중을 들었다 놓았다 하는 콘텐츠의 특성을 분석한다. 기술 관련 내용으로 블로그, 트위터, 페북, 유튜브(최근에 '허광남'님과 방송을 진행 중에 있다)를 운영해온 경험에 따르면 '실용적 가치의 법칙' 장이 특히 마음에 들었다. 책의 내용에 맞춰 책을 구성한 흔적도 여기저기서 보이기 때문에 상당히 액자식의 구성이라고 봐도 좋겠다.
여섯 가지 법칙을 간단하게 정리하면 다음과 같다.
- 쇼설 화폐의 법칙: 사람들은 타인에게 좋은 인상을 남기는 이야기를 공유한다.
- 계기의 법칙: 사람들은 머릿속에 쉽게 떠오르는 것을 공유한다.
- 감성의 법칙: 사람들은 마음을 움직이는 감성적 주제를 공유한다.
- 대중성의 법칙: 사람들은 눈에 잘 띄는 것을 모방하고 공유한다.
- 실용적 가치의 법칙: 사람들은 타인에게 도움이 될 만한 유용한 정보를 공유한다.
- 이야기성의 법칙: 사람들은 흡입력 강하고 흥미진진한 이야기를 공유한다.
본문 중에 나오는 몇 가지 사례를 직접 찾아서 정리해보았다. 책과 함께 보면 도움이 될 것이다.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
뭐든 다 갈린다는 블렌드텍의 광고 "이것도 갈릴까요?" 시리즈 중 아이폰 6+ 시리즈
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
작품성이라고는 찾아보기 어렵지만 2011년 최고의 인기 동영상인 프라이데이
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
전세계적인 열풍을 불러일으킨 버드와이저 왓섭 광고
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
탄산음료 섭취를 지양하자는 공익 광고인 지방 덩어리를 마시는 남자
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
유나이티드에 탑승한 데이브 캐럴이 자신의 기타가 망가진 후 만든 동영상
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
막 연애를 시작하는 남자가 구글 검색 기능을 사용해 사랑을 키워가는 이야기를 그린 '파리지앵 러브'
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
부정적인 감정을 활용해 큰 성공을 거둔 BMW의 더 하이어 시리즈 중 한 편
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
옥수수 다듬은 영상으로 835만회를 기록한 켄의 '옥수수 수염 다듬기 동영상'
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
아름다움의 정의와 대중매체가 미에 대한 인식에 영향을 주는 사례를 광고로 내세움으로서 엄청난 반향을 일으킨 도브 광고
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
에비앙이 야심차게 만든 롤러 베이비스는 온라인 동영상 광고 부문 기네스 신기록에 오를정도로 엄청난 조회수를 달성했지만, 정작 브랜드에는 도움이 되지 않았다.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
브랜드가 광고 속 이야기의 핵심을 이루는 판다 치즈 광고
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
결론: 쓸만한 마케팅 서적이 없어서 심심했던 당신에게 ...
EOB토요일, 2월 29, 2020
[B급 프로그래머] 2월 4주 소식(빅데이터/인공지능, 읽을거리 부문)
- 빅데이터/인공지능
- The Illustrated Self-Supervised Learning
- The Korean clusters(시각화의 좋은 예)
- An end-to-end GoodReads Data Pipeline for Building Data Lake, Data Warehouse and Analytics Platform.
- AI Comes to the Tax Code
- Starbucks “Deep Brew”: Hyper Personalization Applications with Reinforcement Learning at Starbucks
- An Intuitive Guide to Linear Algebra
- [DBR] 블록체인, AI, IoT가 커피 한 잔 속에스타벅스, 기술 기반으로 문화를 만들다
- Deep Learning using GPU on your MacBook
- "2019년 스마트 스피커 판매량 70% 증가" 스트래티지 애널리틱스
- 모바일 투표 앱을 둘러싼 '계속되는' 논쟁
- Economics Simulation (using Python notebook)
- Computer Vision Basics in Microsoft Excel (using just formulas)
- SciPy 1.0: fundamental algorithms for scientific computing in Python
- 인공지능, 노동을 지배한다
- 읽을거리
- 코로나바이러스(COVID-19)의 특성 - 울산의대 주철현 미생물학과 교수
- 당근마켓은 중고거래앱이 아니다
- 프랑스 카페의 역사
- Georgia Tech physicists unlock the secret to perfect wok-tossed fried rice
- 결국 멘털 싸움… 마지막 1발까지 ‘봐주기’는 없다
- 블록체인은 광고 산업에서 잠재력을 실현시킬 수 있을까?
- 투자에서 영구적 손실을 피해야 하는 이유
- The 3 Best Resumes I've Ever Seen
- [이슈&탐사] 마흔에 오토바이 처음 탔다. “저임금 일자리로 돌아갈 순 없었다”
- Don Eyles: Extra! Weird-Looking Freak Saves Apollo 14!
- 리뷰빙자리뷰] 류미님의 '스타벅스 사이렌 오더' 기획 이야기
- 美 중앙은행 "CBDC 발행 가능성 검토 중"··· 입장 바꾼 이유?
월요일, 2월 24, 2020
[B급 프로그래머] 2월 3주 소식(개발/관리도구, 고성능 서버/데이터베이스 부문)
- 개발/관리도구
- 크리덴셜 스터핑 공격의 주 목표물이 된 금융 API
- Requirements volatility is the core problem of software engineering
- 견고한 node.js 프로젝트 설계하기
- 분산 시스템의 도전 과제
- 컴퓨팅 사고-자넷 윙, 윤은영, 박성우, 이광근, 홍민희
- 하나의 메모리 누수를 잡기까지
- 멀티 쓰레드 프로그램 설계를 위한 8가지 규칙
- 아마존 웹 서비스 계정 생성 후 해야하는 IAM 보안 조치
- 안심번호 마이크로서비스 개발하기
- Object-Oriented Programming — The Trillion Dollar Disaster
- SHA-1 is a Shambles
- kasaya - A "WYSIWYG" (kind of) scripting language and runtime for browser automation
- The new Office app now generally available for Android and iOS
- 마켓컬리, AWS 기반 신선 식품 샛별 배송 서비스 구현 사례
- Docker Images : Part I - Reducing Image Size
- A Guide to the Newer Python String Format Techniques
- How 1500 bytes became the MTU of the internet
- 타다 웹 프론트엔드의 모든 것
- Why designing for open source can be so difficult
- What 8 years of side projects has taught me
- Mitigations are attack surface, too
- Developer Surveys Survey: Including a Spotlight on Java Results
- Getting started with Deno
- .NET Interactive is here! | .NET Notebooks Preview 2
- Understanding Best Practice Python Tooling by Comparing Popular Project Templates
- Building a static serverless website using S3 and CloudFront
- Engineering for the Long Game
- Let's Build a Compiler, by Jack Crenshaw
- GDBFrontend is an easy, flexible and extensionable gui debugger.
- 모든 자바스크립트 개발자가 알아야 하는 33가지 개념
- Gitpod launches ready-to-code dev environments for your GitHub or GitLab project with a single click.
- Theia - Cloud & Desktop IDE
- Understanding the Node.js event loop phases and how it executes the JavaScript code.
- 컨테이너 내부 Go 애플리케이션 디버깅하기
- 기능 공장에서 일하고 있다는 12가지 신호: 12 Signs You’re Working in a Feature Factory 참고
- Apple's long processor journey
- How do you handle role/permissions updates with JWT?
- 코드 가독성에 대해 – 1. 도입과 원칙
- What made the 1960s CDC6600 supercomputer fast?
- 만들면서 이해하는 도커(Docker) 이미지의 구조 - 도커 이미지 빌드 원리와 Overayfs
- MinIO Client is a replacement for ls, cp, mkdir, diff and rsync commands for filesystems and object storage.
- Ask HN: How do you learn complex, dense technical information?
- Bash Quick References
- How Big Technical Changes Happen at Slack
- TCMalloc is Google's customized implementation of C's malloc() and C++'s operator new used for memory allocation within our C and C++ code. TCMalloc is a fast, multi-threaded malloc implementation.
- Notes on the Go translation of Reposurgeon
- NeXTSTEP-like desktop environment for Linux
- JPA 선호하는 패턴
- State Of JavaScript 2019의 결과(한국어)
- fyne - Cross platform GUI in Go based on Material Design
- TTY(역사와 기술 소개)
- IMPORTANT WOMEN IN CS WHO AREN'T GRACE HOPPER
- gitea 설치로 git 웹호스팅 서버 구축하기
- Backblaze Hard Drive Stats for 2019
- Bot detection 101: How to detect web bots?
- 네이버 검색의 SRE 시스템
- AWS CLI v2 is now generally available
- AWS 멀티 계정 환경에서 취약한 Security Group 설정 모니터링
- 파이썬(Python) datetime 클래스 치트시트
- Awesome Roadmaps
- Performant front-end architecture
- The Visual 6502
- 쿠폰과 할인으로 앞다리살 하나 더 판매한 이야기 - 왜 그 손님은 쿠폰을 사용하지 못했나
- 고성능 서버/데이터베이스
- M3 - The fully open source metrics platform built on M3DB, a distributed timeseries database
- LINE에서 Kafka를 사용하는 방법 – 2편
- Here to serve Korea’s businesses with a new GCP region in Seoul
- 뉴타닉스, 2019 엔터프라이즈 클라우드 인덱스 한국 결과 발표
- Apple Edge Cache (AEC) is Apple supplied and managed hardware for deployment within our ISP partners networks to deliver certain Apple content directly to our shared customers.
- Google Cuts Jobs at Cloud-Computing Group
- pgcat - Enhanced PostgreSQL logical replication
- 전세계 클라우드 인프라 투자 37% 급증··· 채널이 중추적인 역할
토요일, 2월 22, 2020
[독서광] 출판사가 OK하는 책쓰기
저서와 역서가 제법 되다보니까 종종 출판 관련해서 문의가 들어오곤 한다. 문의하신 분들께 출판이라는 특성에 대해 해줄말은 많지만 요약 정리된 책이 있으면 좋겠다는 생각도 종종 들었었다. 그런데, 이번에 한빛미디어 IT 전문서 편집 경험을 토대로 책이 나왔기에 젭싸게 읽어봤다.
우선 이 책의 특징에 대해 짚고 넘어가야겠다. 일반적인 글쓰기 책과는 달리 이 책은 출판사에서 책을 출판하려는 분들에게 정확하게 목표가 맞춰져있다. 물론 출판을 위해서는 어느 수준 이상으로 글을 잘 써야하지만 전문서/실용서인 경우에는 미려한 문체와 독자를 들었다놓았다하는 스토리 전개가 없어도 되므로 이 책은 글을 잘 쓰는 방법에 대해서는 정말 최소로 다룬다. 그 대신 출판을 위해 출판업의 특성과 출판 과정에 대해 일목요연하게 정리하고 있다. 본문에도 나오지만 출판업에 대한 기본적인 이해가 없으면 본인도 괴롭고 출판사 담당자도 괴로우므로(실제 이런 사례를 여러 번 들었다. 최근에도... T_T) 그냥 자비로 자가 출판하는 편이 바람직하다는 생각에 강력하게 동의한다.
이 책은 집필하면 얼마 정도 버는지부터 시작해서 집필 과정에서 일어나는 여러 가지 사건 사고를 줄이는 방법, 출판사 입장에서 책의 기획부터 출판까지 일련의 프로세스, 목표로 삼는 독자 식별부터 경쟁서 분석에 이르기까지 경쟁력이 높은 책을 기획하는 방법, 출판사에 투고할 때 주의해야 할 사항(특히 실용서인 경우에는 책을 다 쓰고나서 투고하면... 거의 대부분 반려된다는 사실이 중요함), 실용서에 들어가는 글을 잘 쓰는 방법, 저자가 움직이지 않으면 판매가 잘 이뤄지지 않는 이유와 온/오프라인 홍보 방법, 그리고 중요하지 않은 듯이 보이지만 엄청 중요한 저작권과 계약서에 이르기까지 출판사에서 잠재 저자에게 알려주고 싶어하는 핵심적인 내용을 잘 다루고 있다. 뒷부분에는 출판을 진행할 경우 들어가는 공정과 비용도 소개하므로 1인 출판사를 기획하시는 분들도 참고하면 좋을 것 같다.
이 책 저자인 최현우 편집자가 전자책으로 공개한 주유의 IT 책 쓰기 불바다 강론 : 빠르게 포기하거나, 진짜로 저자가 되거나를 읽어보시면 이 책의 성격에 대해 정확하게 파악할 수 있을 것이다. 출간된 종이책은 공개된 전자책을 확대 개편하고 출판 프로세스를 전반적으로 다루고 있다는 사실도 알려드린다.
결론: 출판사마다 모두 어느 정도 지침이 되는 문서가 있긴 하지만 이렇게 포괄적으로 다루는 경우는 보지 못했기에, 아마도 IT 분야 잠재 저자나 역자들의 필독서가 되지 않겠느냐고 조심스럽게 예측한다. 출판을 염두에 둔 잠재 저자/역자에게 강력 추천한다!
EOB토요일, 2월 15, 2020
[B급 프로그래머] 2월 2주 소식(빅데이터/인공지능, 읽을거리 부문)
- 빅데이터/인공지능
- The Map of Mathematics | Quanta Magazine
- It’s 2020. Where are our self-driving cars?
- Neural Quantum States - How neural networks can solve highly complex problems in quantum mechanics
- Semantic Segmentation을 활용한 차량 파손 탐지 딥러닝 모델 개발기
- Snagging Parking Spaces with Mask R-CNN and Python
- Apple Engineer Killed in Tesla Crash Had Previously Complained About Autopilot
- ‘파이토치 속도 극대화’·· MS, 최적화 라이브러리 공개
- A popular self-driving car dataset is missing labels for hundreds of pedestrians
- 2020 Digital Trends report by SimilarWeb
- Google Maps adds dish-covery to the menu
- How our home delivery habit reshaped the world
- Tensor Processing Units (TPUs) are Now Available on Kaggle
- Self-Driving Cars as Edge Computing Devices
- [독서광] 데이터 읽기의 기술(본인이 쓴 글)
- 스타벅스가 '데이터 비즈니스의 신'이 되기까지...
- Michigan’s MiDAS Unemployment System: Algorithm Alchemy Created Lead, Not Gold - A case study into how to automate false accusations of fraud for more than 34,000 unemployed people
- Someone Used Neural Networks To Upscale An 1895 Film To 4K 60 FPS, And The Result Is Really Quite Astounding
- Tesla's self driving algorithm's overlay [video]
- 읽을거리
- [유머] 의외로 치밀한 오리지널 둠의 스토리 요약
- ‘The intelligence coup of the century’- The CIA secretly bought a company that sold encryption devices across the world. Then its spies sat back and listened.
- The cinematographer of Knives Out wants to end the film-vs.-digital debate
- 인프라 지어도 ‘빨대 효과’뿐···지방소멸, 영남이 최대 타격
- Netflix’s Overall Electricity Usage Jumped 84% in 2019, Outpacing Subscriber Growth
- 독서는 자아를 분열시킨다
- Boeing Fixing New Software Bug on Max; Key Test Flight Nears
- PAUL SINGER, DOOMSDAY INVESTOR
- We’re surprisingly bad at reading cats’ facial expressions
- Benedict Evans: Tech in 2020
- YouTube is a $15 billion-a-year business, Google reveals for the first time
월요일, 2월 10, 2020
[B급 프로그래머] 2월 1주 소식(개발/관리도구, 고성능 서버/데이터베이스 부문)
- 개발/관리도구
- SSH over AWS SSM. No bastions or public-facing instances. SSH user management through IAM. No requirement to store SSH keys locally or on server.
- Coding remix site Glitch hits 2.5 million apps
- Unexpected Places You Can And Can’t Use Null Bytes
- Google Chrome to block file downloads – from .exe to .txt – over HTTP by default this year. And we're OK with this
- Learning Technical Writing - Using the Engineering Method
- Jupyter Notebooks in Visual Studio Code
- Analyzing the Attacks on my Website
- Dicts are now ordered, get used to it
- Before the DNS: How yours truly upstaged The NIC's Official HOSTS.TXT
- Protecting users from insecure downloads in Google Chrome
- How to Design a Web Application: Software Architecture 101
- 2020 Java Technology Report
- 1. RESTful API 설계 가이드
- Cloudcraft - Visualize your cloud architecture like a pro - Create smart AWS diagrams
- Opnieuw: A simple and intuitive retrying library for Python
- Full disclosure: 0day vulnerability (backdoor) in firmware for HiSilicon-based DVRs, NVRs and IP cameras
- Diving Deep Into Kubernetes Networking: Docker와 k8s 네트워크 분석
- Java is one of the most energy-efficient languages, Python among least energy efficient
- Service Mesh 란?
- 학생 개발자들이 AWS를 통해 세상을 바꿀 때 — 코로나맵 사례 등
- The Missing Semester of Your CS Education
- Linux containers in 500 lines of code
- TeamViewer stored user passwords encrypted with AES-128-CBC with key 0602000000a400005253413100040000 and IV 0100010067244F436E6762F25EA8D704
- 우아한 모노리스
- ‘편도’ 먹으며 버티는 밤, ‘에러투성이’ 몸은 오늘도 단잠 꿈꾼다
- Top 34 Companies Using Ruby on Rails in 2019
- vanillawebprojects - Mini projects built with HTML5, CSS & JavaScript. No frameworks or libraries
- rtty - Access your device's terminal from anywhere via the web.
- Cascadia Code font(for Developer by Microsoft)
- 사용중인 VSCode(Visual Studio Code) 확장 플러그인 목록
- Troubleshooting Kubernetes deployments
- Game AI Pro 3(free PDF)
- Kubernetes 101 - Concepts and Why It Matters
- 파일 전송이 어려울 때 텍스트 파일 내용 복사하기(putty)
- Anders Hejlsberg on Modern Compiler Construction
- 1082 High-quality SVG logos
- PyRobot - An Open Source Robotics Research Platform
- v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in < 1s with zero dependencies.
- How To Install Software on Kubernetes Clusters with the Helm Package Manager
- C++ 프로그래밍에 요긴한 라이브러리 7종
- Facebook PHP Source Code from August 2007
- sovereign - A set of Ansible playbooks to build and maintain your own private cloud: email, calendar, contacts, file sync, IRC bouncer, VPN, and more.
- Monoliths are the future
- Alpine makes Python Docker builds 50× slower, and images 2× larger
- <번역>자바스크립트 성능 향상 방법
- 리눅스 컨테이너란?
- "완벽한 대응법이 없다" 버퍼 오버플로우 공격의 이해
- 2019 구름 개발자 생태계 설문조사 보고서
- Building structures for architects
- prototype
- '속도와 간결함을 모두 잡은' 지메일 받은 편지함 설정법
- MARKETSRanked: The World’s Most Downloaded Apps
- You Must Understand These 14 JavaScript Functions
- Building personal search infrastructure for your knowledge and code
- jira_clone - A simplified Jira clone built with React/Babel (Client), and Node/TypeScript (API).
- Why numbering should start at zero
- Creating Docker images with Spring Boot 2.3.0.M1
- Leaked Documents Expose the Secretive Market for Your Web Browsing Data
- 서비스 가용성 확보에 필요한 Rate Limiting Algorithm에 대해
- binarysearch - Master algorithms together
- 비주얼 스튜디오 코드(Visual Studio Code)란?
- matterbridge - bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, steam, twitch, ssh-chat, zulip, whatsapp, keybase, matrix and more with REST API (mattermost not required!)
- 인터넷이 동작하는 아주 구체적인 원리
- Microsoft is helping Google improve Chrome’s tab management
- Here's Why Your Static Website Needs HTTPS
- Introducing Yarn 2 !
- Networking Problems by xkcd
- [번역] 쿠버네티스 네트워킹 이해하기#1: Pods
- 고성능 서버/데이터베이스
- Netflix’s Overall Electricity Usage Jumped 84% in 2019, Outpacing Subscriber Growth
- Revised and much faster, run your own high-end cloud gaming service on EC2!
- awesome-scalability - The Patterns of Scalable, Reliable, and Performant Large-Scale Systems
- "2019년 클라우드 지출 37% ↑, 톱4가 60% 점유"··· 카날리스, 분석 보고서 공개
- The Architecture of a Large-Scale Web Search Engine, circa 2019
- Scaling to 100k Users
- User Story - How Trip.com uses Cilium
- AWS Compute Optimizer, 서울 리전 출시
- Why Discord is switching from Go to Rust
- [B급 프로그래머] MariaDB에서 root 암호 인증 방식이 먹히지 않는 이유(feat. unix_socket)(본인이 쓴 글)
- UUIDs are Popular, but Bad for Performance — Let’s Discuss
- Less passwords, more security: unix socket authentication and other MariaDB hardening tips
- Authentication from MariaDB 10.4
- SQLite Is Serverless
토요일, 2월 08, 2020
[독서광] 데이터 읽기의 기술
오늘은 빅데이터와 관련한 독후감을 하나 소개하겠다. 스타벅스코리아 1호 데이터사이언티스트로 알려진 차현나님의 데이터 읽기의 기술이 주인공이다.
이 책은 크게 3부로 나뉘어져 있는데, 솔직히 1부는 많은 책과 블로그에서 다루는 내용이라 재미가 없었다. 2부를 위해 다음 그림과 표만 기억하면 끝나는 것 같다.
| 5W1H | 데이터 종류 | 의미 |
|---|---|---|
| 누가(WHO) | 멤버십 등급, 동의를 받고 수집한 개인정보(생년월일, 성별, 거주지) | 한 명의 고객. 멤버십에 가입했다면 여러 번 방문한 영수증을 한 사람의 행동으로 연결할 수 있게 되어 더욱 힘을 갖는다. |
| 언제(WHEN) | 연-월-일-시-분-초, 요일, 공휴일 여부 | 초 단위까지 있다. 회계에서 중요한 기준이 될 수 있다. 여러 관점에서 분절해 분석할 수 있으며, 데이터에 힘을 실어주게 된다. 외부 데이터와 연결할 수 있는 중요한 ‘핵심 가치' |
| 어디서(WHERE) | 매장 이름, 주소, 상권, 위경도 | 오프라인 매장이며, 이 매장의 위치가 행정구역이나 위경도와 만나는 순간 흔히 상상하는 빅데이터가 될 가능성이 생긴다. |
| 무엇을(WHAT) | 제품 기준 정보, 범주, 속성, 발주 일시, 가능하면 분자 단위… | 기업의 상품 기준 정보. SKU 단위까지 분류하고 세부 태그를 붙인다. 분류 체계가 중요함 |
| 어떻게(HOW) | 결제 수단, 쿠폰 사용 여부, 이벤트 참여 여부 | 소비자가 기업에 비용을 지불하는 방법을 다각도로 설명하고, 여기서 프로모션 수단이 나옴 |
| 왜(WHY) | SNS 분석, 설문 조사, 포커스그룹 심층 면접 | 영수증 데이터만으로는 소비자의 행동 원인을 알기 어려울 때가 있으므로 다른 데이터에서 추정 |
조금 재미있는 내용은 데이터 앞에서 해야할 질문 10가지라는 제목의 2부에 나온다. 기억을 위해 간단하게 정리를 해보았다.
- 우리 회사가 돈을 버는 핵심 제품/서비스는 무엇인가: 데이터로 뭘 할지 모르는 상태에서 "돈을 벌 수 있는 데이터 분석을 해오세요"해도 소용이 없음. 대다수 오프라인 기업들은 데이터가 필수가 아니며, 제품 판매를 높이고 차별화를 주는 하나의 수단에 불과
- 우리 회사의 데이터 역량은 어느 정도인가: 분석 요건, 머신러닝, 고도화된 대고객 마케팅 기법을 이야기하지만… 미봉책으로 신규 데이터를 만들어내고 쌓고, 그러느라 서버를 구매하고, 프로젝트를 띄우고 컨설팅 업체에 돈을 지불하는 악순환을 반복
- 데이터의 필요성을 모두가 느끼고 있는가: 과거를 포함해 현재에도 데이터를 보지 않아도 잘 나가는 회사가 있지만, 세상이 변했기에 이름난 제품 하나로 시장을 휘어잡지 못함. 데이터를 통해 더 빠르고 더 확실한 방법으로 나아갈 방법을 찾아야 함. "빅데이터 그거 어차피 사람들이 이해도 잘 못하는데 꼭 해야 하나?"라는 질문을 하고 싶다면 자신이 데이터를 잘 이해하지 못하기 때문에 중요하지 않다고 생각하는 건 아닌지 되돌아 볼 필요가 있음.
- 데이터가 모든 것을 해결해줄까: 데이터가 많더라도 매출 집계 이외 아무런 분석도 하지 않는 조직이 많음. 데이터는 목적이 있을 때만 정돈이 가능한 특성이 있음.
- 듣도 보도 못한 것을 기대하는가: 실제로 데이터를 보지 않은 사람들이 새로움에 대해 더욱 집착하는 경향이 있음. "이거 내가 다 알던 건데 뭐가 새롭냐?"(지금까지는 감으로 알던 내용을 데이터로 증명했기 때문에 중요함) "다 알던 것을 뭐하러 데이터로 증명했지?"(정합성이나 로직을 따져 일단계 완료하는 데만 에너지가 필요함(2, 3차 분석으로 이어지는 토대))
- 내가 이해하는 만큼만 인정하려 하는가: 내 생각과 맞을 땐 "너무 뻔한 것 아니야? 이거 보기 전에도 난 알고 있었는데". 내 생각과 틀릴 땐 "데이터가 상식적이지 않는데?" 여기서 두 사람은 동일인일 가능성이 높음(의견과 아이디어가 있는 듯이 보이기 때문)
- 목적을 명확하게 세웠는가: "많이 팔릴 것을 만드는 것이 이번 프로젝트의 목적이다" 또는 "사람들이 많이 수집할 만한 제품을 만들어 와"는 실무자에게 전혀 도움이 안 됨. 목적 --> 프로젝트 --> 주제 --> 연구 문제 --> 통찰 --> 모델링 --> 전처리 --> 데이터 순서로 흘러감
- 매출 데이터만 중요할까: 매출은 소비자의 '마지막 결정의 결과'일 뿐이므로 행동 단위를 파악해야 함. 소비자 구매 전후를 많이 알수록 구매행동 결정의 이유를 정확히 알 수 있음.
- 많기만 하면 빅데이터일까: 단순한 문항 하나를 많은 사람을 대상으로 질문했다고 해서 빅데이터로 변신하지는 않음(설문조사를 단순 집계한 결과일 뿐)
- 시간 투자 없이 결과만 원하는가: 만일 빠르게 숫자만 확인하고 싶다면 반복적으로 수치를 확인할 수 있는 대시보드를 만들어라!
3부는 데이터 활용과 관련해 점검해야 하는 사항을 정리하고 있다.
- 프로젝트를 시작할 때 해야 할 질문들: i) 지금 하는 프로젝트는 누가 원하는 것인가? ii) 지루한 분석 작업을 꼭 해야 하는가?(시간이 충분할 때: 최대한 촘촘하게 경우를 나눠 데이터 분석 vs 목표가 명확할 때: 기존 연구 결과에서 일부를 차용해 이야기를 새롭게 구성) iii) 분석해야 하는 명제가 확실한가?
- 프로젝트를 하는 중에 해야 할 질문들: i) WHO(고객 정의) ii) WHEN(시계열 변화, 프로모션 시점) iii) WHAT(제품 카테고리, 개발 통찰력) iv) WHERE(점포 개발, 외부 GIS, 날씨) v) HOW(새로운 방법론, 프로모션) vi) WHY(소비자 마음의 원리)
- 보고서를 만들거나 보고할 때 고려해야 할 것들: i) %보다 복잡한 모델을 이해하는 직장인은 거의 없다 ii) 액션 플랜을 담고 있어야 한다 iii) 실행할 전략을 짜려면 비용을 알고 있어야 한다(예: 1+1 증정, 즉시 50% 할인, 구매 시 50% 쿠폰 증정의 차이점은?)
결론: 마케팅이나 심리학 등을 전공하신 분이라면 이 책이 크게 도움이 안 될 가능성이 높지만, 빅데이터나 분석 쪽에 입문을 하거나 아니면 관련 개발 업무를 하시는 분이라면 이 책을 읽으면 머리 속이 정리될 것이다.
EOB월요일, 2월 03, 2020
[B급 프로그래머] 1월 5주 소식(빅데이터/인공지능, 읽을거리 부문)
- 빅데이터/인공지능
- Autopilot AI by Tesla
- Microsoft ImageBERT | Cross-modal Pretraining with Large-scale Image-Text Data
- How a $300 projector can fool Tesla’s Autopilot
- The Economics of Artificial Intelligence Today
- 구글, '데이터세트 검색' 정식 서비스 개시··· "인기 높은 유형은 '표'"
- “일자리 빼앗는 초지능?” AI를 둘러싼 8가지 오해와 미신
- AI 판사가 선고했다 "재범 확률이 높군, 구속시켜"
- 김진철의 How-to-Big Data | 빅데이터의 미래 (3)
- Understanding Transfer Learning for Medical Imaging
- [Insight Report] 유통 산업 지능화를 위한 플랫폼 전략
- Amazon Personalize 서울 리전 출시
- Table Detection, Information Extraction and Structuring using Deep Learning
- AI '신경망 조정' 지옥에서 탈출하기, '오토머신러닝'
- [데이터 3법의 겉과 속] 당신의 정보는 당신을 위해 쓰이지 않는다
- 기업의 인공지능 도입 : 무엇을 고민해야 하나 - 하편
- Emil’s Story as a Self-Taught AI Researcher
- [일자리 대전환시대①]편의점 마저 ‘키오스크 쇼크’ 내 알바자리가 위험하다
- Key Volkswagen Exec Admits Full Self-Driving Cars 'May Never Happen'
- 35:56 / 1:27:41 Deep Learning State of the Art (2020) | MIT Deep Learning Series
- First Steps With PySpark and Big Data Processing
- 읽을거리
- Coronavirus Forces World’s Largest Work-From-Home Experiment
- [번역] 어떻게 팬데믹(pandemic)에 대응할 것인가 – Joseph Norman, Yaneer Bar-Yam, Nassim Nicholas Taleb* (*나심 탈렙)
- 산전수전 다 겪은 70년대생을 조직 전면에 내새워라
- 자유와 불안 사이를 달리는 새로운 노동
- Our Early Thinking on the Coronavirus and Pandemics by Ray Dalio
- How to Give a Great Presentation: Timeless Advice from a Legendary Adman, 1981
- The Inside Story of the First Picture of a Black Hole
- 2020년 최고의 SSD “가격 변동이 선정에 많은 영향”
- Coronavirus: Don't panic
- 신종코로나바이러스 감염증 유행 관련 FAQ 및 최신 정보 (2020.01.31. 1530)
- 위워크, 그 영화 같은 추락 (번역)
- How Do Bats Live With So Many Viruses?
- Steven Pinker's fake enlightenment: His book is full of misleading claims and false assertions
- [박동휘의 베트남은 지금] '최고,최대,최다' 베트남의 2019년
- I don’t have a retirement plan, and I don’t care
- 용맹스럽게 싸우는 자
- Listen and Write
- 배민의 실험정신
- 대학까지 나와서 일 안하는 비경활인구 381만명 '역대 최대'
- Jobs, Cook, Ive—Blevins? The Rise of Apple’s Cost Cutter
- 40+20 작업법
- 패스트파이브, 4년간 주요 성장 지표 공개
- 코세라, 2019년 가장 인기 있었던 상위 10개 수업 공개
토요일, 2월 01, 2020
[B급 프로그래머] MariaDB에서 root 암호 인증 방식이 먹히지 않는 이유(feat. unix_socket)
먼저 내 실수부터 고백을 하고 넘어가야겠다. 최근 서버 설치 작업을 손놓고 있다가 갑자기 현업(?)으로 복귀할 일이 생겼는데, MariaDB를 설치하는 과정에서 이해하기 힘든 상황에 부딪혔다. 간략하게 시나리오를 정리하면 다음과 같다.
- 우분투 16.04가 설치된 인스턴스에서 apt로 기본 MaraiDB 서버/클라이언트 패키지를 설치
- 여느 때와 마찬가지로 mysql_secure_installation 명령을 내려 보안 강화
- localsystem에서 mysql -u root -p로 로그인하려 했으나... 거부(!) 습관적으로 안전을(응?) 위해 root에 암호를 넣어야겠다는 생각이 발동...
- root shell에서 그냥 mysql로 접속하니 들어감(이 때 뭔가 쌔한 기분이 느껴지긴 했지만...)
- (검색을 해보니 unix_socket 플러그인(!)을 무력화하기 위한 여러 가지 방법이 있어 순진하게 이에 맞춰) root 계정을 암호 사용 방식으로 변경
- mysql -u root -p로 로그인 하니까 잘 들어감
- 환경 설정 파일에서 몇 가지 설정을 변경한 다음에 룰루랄라 신나서 적용을 위해 systemctl mysql restart하니까 오류 발생(systemctl status mysql 명령을 내려서 확인해보니 root로 접근 거부되는 상황이 벌어짐) ==> 당황하기 시작
마음이 급하신 개발자들을 위해 결론부터 정리하고 들어간다.
- 보안을 위해서나 시스템 연동을 위해서나 unix_socket 플러그인을 절대 무력화하지 마시고 그대로 사용해야 함
- root 이외 제한된 접근 권한이 있는 별도 계정을 만들어서 이를 사용해 접근하게 만들어야 함
잠시 인스턴트 커피를 마시고 정신을 차린 다음에 다양한 테스트를 해보다 보니까, 범인은 unix_socket 플러그인이었다. 원인을 파악해보니 MariaDB 10.4 이후(또는 우분투 16.04LTS에 apt으로 설치되는 MaraiDB 10.0)부터는 root 인증이 기존의 암호 기반 방식에서 유닉스 소켓 방식으로 변경되었기 때문이었다. MySQL 최신 버전에서는 플러그인을 사용해 다양한 인증 방식을 가능하게 만들었는데, MariaDB는 그 중에서도 로그인한 계정으로 암호없이 직접 접속이 가능한 unix_socket 방식을 기본으로 적용하면서 전통적인 암호 방식과 동작 방식이 달라져버렸다(비단 root뿐만 아니라 유닉스 계정과 MySQL 계정이 일치하기만 하면 unix_socket 방식으로 다른 인증 작업 없이 바로 로그인이 가능해진다). 이렇게 하는 이유는 root가 전지전능하다보니 굳이 데이터베이스 암호를 걸지 않더라도 우회하거나 망가뜨릴 방법이 무궁무진하며, 데이터베이스 root 암호를 소스코드 형상 관리 시스템 여기저기에 다 뿌리고 다니는 보안 취약성도 막을 수 있기 때문이다(자세한 내용은 다음 슬라이드 참고).
systemctl mysql restart가 먹히지 않은 이유도 바로 정책 변경으로 인해 systemctl 스크립트가 unix_socket을 가정하고 mysqld에 접근했기 때문이었는데, 이 문제를 우회하려면 /etc/mysql/debian.cnf 환경 설정 파일에 root 암호를 넣어야 하는 사소하기도 하고 찜찜하기도 하는 문제가 발생하므로 mysql.user 테이블의 plugin 필드를 업데이트해서 unix_socket 플러그인 방식으로 원상복귀한 다음에 문제를 해결했다(unix_socket을 제거하는 방법을 알려주고 부작용은 전혀 이야기하지 않는 다른 블로그와는 달리 MariaDB; 인증(Authentication) 문제 블로그 글은 상당히 이성적으로 분석을 해놓아서 마음에 들었다).
앞서 잠깐 언급했지만 유닉스 계정과 동일한 MySQL 계정(예: scott)을 만들고 플러그인을 unix_socket으로만 지정하면(예: CREATE USER scott IDENTIFIED VIA unix_socket;) 별도 암호없이 바로 접근 가능하므로 이를 활용하면 서비스 설정이 편해질 것이다. 단, MySQL workbench등의 도구로 외부에서 접근할 경우에는 여전히 전통적인 방식(예: 예전 암호 방식으로 되돌리려면 ALTER USER scott@localhost IDENTIFIED VIA mysql_native_password; SET PASSWORD = PASSWORD('tiger');을 사용해야 할 것이다.
공식적인 설명을 보고 싶으면, Authentication Plugin - Unix Socket과 Authentication from MariaDB 10.4를 참고하기 바란다.
결론: unix_socket 방식으로 root 계정에 대한 접근 방법을 유지하라. 웹에서 검색해서 영혼없이 결과대로 따라했다가는(예: unix_socket 방법 폭파하기) 곤란한 상황에 처할지도 모른다.
EOB


















