Lets-Study
Lets-Study copied to clipboard
Let's Study.
Welcome!
좋은 글을 마주치면 북마크처럼 정리해 두는 저장소입니다. 새로운 링크 추가, 카테고리 변경이나 깨진 링크 제거와 같은 PR 모두 환영합니다.
개발
프로그래밍
함수
- 함수형 프로그래밍이란?
- What is a pure function?
- Higher-order-function(고차함수) with Kotlin
- Currying
- 함수형 프로그래밍: partial application과 curry
- 람다, 익명 함수, 클로저
- 자바스크립트의 호이스팅(Hoisting)
- 코루틴 소개
- 좋은 함수 만들기 - 부작용과 거리두기
- 좋은 함수 만들기 - 암묵적 입력/출력
테스팅
- 유닛테스트에 대한 생각
- 코드 커버리지 80% 넘긴 썰 - 테스팅을 잘 하기 위한 8퍼센트 개발팀의 삽질기
- 테스트 코드에서 내부 구현 검증 피하기
- [Jest] 파라미터화 테스트: test.each(), describe.each()
- 단위 테스트(Unit Testing)에서 단위의 경계는 무엇인가? (feat. 고전파와 런던파)
Test Double
- 단위 테스트 케이스와 테스트 더블(Test Double)
- Classical vs Mockist testing
- Mock Object란 무엇인가?
- Testing Without Mocks: A Pattern Language
- What's the difference between a mock & stub?
- Mocks Aren't Stubs
- 효율적인 테스트를 위한 Stub 객체 사용법
언어론
- Exression verses Statement
- Static/Dynamic vs Strong/Weak
- Runtime vs Compile time
- A Python Tutorial To Understanding Scopes and Closures
- Difference between Definition and Declaration
- What is the difference between statically typed and dynamically typed languages?
컴파일러
- What is Short Circuiting?
- 자바스크립트 개발자를 위한 AST
- LLVM 프로젝트
- Advanced C: The UB and optimizations that trick good programmers.
컴파일러 만들기
- 난해한 프로그래밍 언어 만들어보기
- The super tiny compiler
- How I wrote a self-hosting C compiler in 40 days
- Building a Programming Language in Twenty-Four Hours
디자인 패턴
Singleton
Repository Pattern
- Repository Design Pattern
- repository pattern vs ORM
- Stop using repository pattern with an ORM
- Don't use DAO, use Repository
- Difference between Repository and Service Layer?
DI(Dependency Injection, 의존성 주입)
- What is dependency injection?
- Dependency Injection Demystified
- DI 란?
- Dependency Injection in Python
- Inversion of Control Containers and the Dependency Injection pattern
- 의존성 주입에 대한 오해와 진실
아키텍처 패턴
Hexgonal Architecture
클린 코드
법칙/원칙
- 개발자에게 유용한 법칙, 이론, 원칙, 그리고 패턴들 #hackerlaws
- Why Premature Optimization Is the Root of All Evil
- Why is global state so evil?
- 프론트엔드와 SOLID 원칙
가이드라인
- Red-Green-Refactor
- Clean architectures in Python: a step-by-step example
- Clean Code: 5 Essential Takeaways
발표
SaaS
객체지향 프로그래밍
- 객체지향 개발 5대 원리: SOLID
- Parametric Polymorphism
- 정적 팩토리 메서드(Static Factory Method)는 왜 사용할까?
- Anti-OOP : if 를 피하고 싶어서
캐싱
Memoization
Replacement
Cache Strategy
로깅
프로그래밍 언어
Python
Fundamentals
- 제너레이터와 코루틴
- 파이썬 언더스코어(_)에 대하여
- Python getitem과 slice의 이해
- 파이썬의 변수
- 시간 복잡도로 살펴보는 파이썬 내장 자료형의 효율적인 활용
- 리얼월드 메타클래스
- Hidden features of Python
- Strings in Python
- What is __pycache__?
- What is the meaning of single and double underscore before an object name?
- Difference between <type 'generator'> and <type 'xrange'>
- Is there a difference between “raise exception()” and “raise exception” without parenthesis?
- What is the difference between range and xrange functions in Python 2.X?
- List comprehension vs map
- Is PYTHONUNBUFFERED=TRUE a good idea?
- Python equivalent of golang's defer statement
- Python - Disable output buffering
- ignoring backslash character in python
- Nicest way to pad zeroes to a string
- How to re-raise an exception in nested try/except blocks?
- Sort a list by multiple attributes?
- How can the built-in range function take a single argument or three?
- Why True/False is capitalized in Python?
- Why is bool a subclass of int?
- In python, why use logging instead of print?
- Why is the order in dictionaries and sets arbitrary?
- wtfpython
- Python 3.x rounding behavior
- How to round float 0.5 up to 1.0, while still rounding 0.45 to 0.0, as the usual school rounding?
- Behaviour of increment and decrement operators in Python
- Removing duplicates in lists
- Difference between append vs. extend list methods in Python
Concurrent Programming
- 비동기 파이썬
- Intro to Threads and Processes in Python
- 파이썬의 새로운 병렬처리 API – Concurrent.futures
- asyncio : 단일 스레드 기반의 Nonblocking 비동기 코루틴 완전 정복
- What does the “yield from” syntax do in asyncio and how is it different from “await”
- Blocking-NonBlocking-Synchronous-Asynchronous
- 비동기 프로그래밍 동작 원리 (asyncio)
- 비동기적으로 Python 다루기
- 백엔드 개발자들이 알아야할 동시성 6 — Coroutine
Internals
- Exponentials in python x ** y vs math.pow(x, y)
- Dismissing Python Garbage Collection at Instagram
- Python GIL
- Python GC가 작동하는 원리
- __slots__ magic
- How did Python implement the built-in function pow()?
- Memory Management in Python - Part 3: Object Lifetimes and Garbage Collection
- Performance Analysis of Python’s dict() and {}
- Why Do Python Lists Multiply Oddly? Exploring the CPython Source Code
Better way
- Better Python 59 Ways
- The Hitchhiker’s Guide to Python
- Intermediate Python
- A collection of design patterns/idioms in Python
- Writing Python like it's Rust
- Stop using utcnow and utcfromtimestamp
Version specific
3.7
3.8
Code Style
Linter
Formatter
Environment
pyenv
virtualenv
Package management
pipenv
- pipenv란 무엇인가
- pipenv로 Python 프로젝트 관리하기
- Force pipenv to create a new virtualenv
- How to get pipenv running in docker?
poetry
uv
Testing
- 코드 테스트하기 - The Hitchhiker's Guide to Python
- 테스트에 걸리는 시간을 92% 줄이기
- Advanced Python testing techniques
- How should I verify a log message when testing Python code under nose?
- Assert that logging has been called with specific string
Libraries
SQLAlchemy
ORM
Connection
- SQLAlchemy: engine, connection and session difference
- Avoiding boilerplate session handling code in SQLAlchemy functions
- Contextual/Thread-local Sessions
- Dealing with duplicate primary keys on insert in SQLAlchemy
- SQLAlchemy Transaction 관리 Practice 공유
- Unbind object from session
- Session Management - Refreshing / Expiring
- How to close sqlalchemy connection in MySQL
Query
- SQLAlchemy에서 쿼리할 때 조인을 직접 명시해야 하는 경우는 별로 없다
- Literal SELECT
- Query 객체로 WHERE절 작성하기(Common filter operators)
- How to pass a not like operator in a sqlalchemy ORM query
- sqlalchemy.orm.query.Query.slice(start, stop)
- How to union two subqueries in SQLAlchemy
- How to execute raw SQL in SQLAlchemy
- 'select as' in SQLAlchemy
- SQLAlchemy simple example of sum, average, min, max
- Get the number of rows in table using SQLAlchemy
- What's the difference between filter and filter_by in SQLAlchemy?
- How to implement a default condition in all SQLAlchemy's queries
- SQLAlchemy Docs - ORM Events - Query Events
Internals
Peewee
- Dynamically defining a database
- How to custom the table name in peewee?
- Performing simple joins
- Joining multiple tables
boto3
- When to use a boto3 client and when to use a boto3 resource?
- boto3 - credentials
- Upload-Download File From S3 with Boto3
- How do I get the file/key size in boto S3?
Go
Fundamentals
Java
Fundamentals
Garbage Collection
Node.js
Better way
Environment
Package
- 리멤버 웹 서비스 좌충우돌 Yarn Berry 도입기
- npm, yarn, pnpm 비교해보기
- Yarn 대신 pnpm으로 넘어간 3가지 이유
- 라이브러리 번들링 개선 과정: 커맨드 한 줄로 번들링 끝내기
Version Manager
Code Style
Libraries
TypeORM
Rust
Gotcha
학습
AI
기술 부채
방법론
TDD
- 테스트 주도 개발이란
- Realizing quality improvement through test driven development: results and experiences of four industrial teams
DDD
컴퓨터과학
이론 컴퓨터 과학
오토마타 이론
FSM
Regex
- 정규표현식의 개념과 기초 문법
- regexr - RegEx Playground
- 불규칙 속에서 규칙을 찾아내는 정규 표현식
- HTML을 정규 표현식만으로 파싱할 수 있을까?
- ignore case sensitivity
- A comprehensive guide to the dangers of Regular Expressions in JavaScript
- 프론트엔드의 한글 정규식, 어떻게 쓸 것인가.
계산 복잡도 이론
자료구조
Hash
Tree
점근 표기법
동적 계획법
알고리즘
- Khan Academy - Algorithm
- 루프 불변성
- 분할정복
- 힙 정렬
- 파이썬으로 정리하는 Quick-Sort
- Dijkstra’s Shortest Path Algorithm in Python
- Levenshtein Distance
- The Algorithms
- 2023 카카오 신입 공채 1차 온라인 코딩 테스트 for Tech developers 문제해설
- 2023 카카오 신입 공채 2차 온라인 코딩 테스트 for Tech developers 문제해설
- Tim sort에 대해 알아보자
압축
알고리즘 패러다임
운영체제
문자열
검색 엔진
네트워크
- 주니어 개발자를 위한 엄청 쉬운 네트워크 이야기
- 택배 배송 과정으로 알아보는 엄청 쉬운 컴퓨터 네트워크
- Top-Down으로 접근하는 네트워크
- What are the advantages and disadvantages of using a content delivery network(CDN)?
- How did I get here?
Load Balancing
- Load Balancing
- 로드밸런싱(Load Balancing)과 고가용성(HA)
- Load Balancing And Rate Limiting for Dummies (Part 1)
하드웨어
DNS
소프트웨어 공학
프로세스
표준
Date & Time
- ISO 8601
- What's the difference between ISO 8601 and RFC 3339 Date Formats?
- Date는 어떻게 주고 받는게 바람직할까요?
- 협정 세계시(UTC)
- 유닉스 시간
- List of tz database time zones
- DateTimeFormat(Joda-Time)
- Deep Dive into DateTime
- The 2038 Problem
Locale
Identifier
Image
Text
Identifying
웹 개발
- What are the differences between server-side and client-side programming?
- Local-First Web Development
- (번역) 2023년 웹 개발 트렌드 10가지
HTTP
CORS
Webserver
- What is the difference between application server and web server?
- Difference between proxy server and reverse proxy server
Polling/Websocket/etcs
- Spring Websocket & STOMP
- WebSocket과 Socket.io
- Websockets vs Long Polling
- Ajax Polling vs Long-Polling vs WebSockets vs Server-Sent Events
- HTTP/2 Server Push vs Websockets vs Server-Sent Events
- SSE를 이용한 실시간 웹앱
- Scalable Websocket Architecture
HTTPS
설계
유용한 도구
HTTP API
Security
Design Principle
- How to (and how not to) design REST APIs
- The Little Manual of API Design
- JSON:API Standard
- GET이냐 POST냐 그것이 문제로다
- HTTP 응답코드 결정 다이어그램
- RESTful API Design. Best Practices in a Nutshell.
- REST API Design: Filtering, Sorting, and Pagination
- Best Practices for Designing a Pragmatic RESTful API
- How to design REST API for export endpoint?
- Is using magic (me/self) resource identifiers going against REST principles?
- RESTfully design /login or /register resources?
- Best way to implement a restful toggle-action?
REST
- REST API 제대로 알고 사용하기
- 그런 REST API로 괜찮은가
- REST 의 Uniform Interface에 대하여
- Architectural Styles and the Design of Network-based Software Architectures - Roy Fielding
- 바쁜 개발자들을 위한 REST 논문 요약
- REST API의 이상향, HATEOAS
- Richardson Maturity Model
GraphQL
HTTP2/HTTPS
인증/인가
JWT
OAuth
IAM
- Casbin
- Authorization Policy Showdown: RBAC vs. ABAC vs. ReBAC
- Open-Sourcing AWS Cedar is a Gamechanger for IAM
Framework
Python
Flask
example
boilerplate
Guide
- Flask 1.0 Quickstart
- Flask 1.0 공식 튜토리얼
- Flask 1.0에서 달라진 점
- Patterns for Flask 1.0
- Pynash: Proxy objects in Flask (and elsewhere)
- What is the purpose of Flask's context stacks?
- Signals
FastAPI
- Why I'm Leaving Flask
- FastAPI의 시대. 아직도 Flask 쓰시나요?
- fastapi-best-practices
- Migrating from Flask to FastAPI
- How to profile a FastAPI asynchronous request
- FastAPI: Depends 톺아보기
- Building Custom Middleware in FastAPI
Java/Kotlin
Spring
Tutorial
- 스프링부트로 웹 서비스 출시하기
- Gradle + SpringBoot + Travis CI + Coveralls + 텔레그램 연동하기
- 스프링 부트 2.0 레퍼런스 코딩
- 스프링 부트 시작할 때 알아야 하는 것
Auth
Architecture
JPA
Logging
Performance
Configuration
Docs
- 내가 만든 API를 널리 알리기 - Spring REST Docs 가이드편
- [Kotlin] Spring Rest Docs 적용하기 build.gradle.kts
- OpenAPI Specification을 이용한 더욱 효과적인 API 문서화
Testing
Node
Express
NestJS
웹 프론트엔드
Fundamental
Environment
History
Useful Service
Nocode
Hosting
Optimization
- 지연 시간 없이 웹폰트 서빙하기 - Feat. Safari & Edge functions
- Optimize Time to First Byte
- FE 성능개선기 1부: 주문하기
- FE 성능개선기 2부: 카카오 비즈니스폼
React
- Learning React 예제 한국어 번역
- 한국어로 배우는 리엑트
- React Bit
- Awesome React Components
- 네이버 메일 모바일웹 리엑트 적용기
- React 인가 Vue 인가?
- [번역] React를 본격적으로 하기 전 알면 좋은 6가지
- React 프로젝트의 디렉토리 구조
- 카카오페이지 웹 React 포팅 후기
- When a rewrite isn’t: rebuilding Slack on the desktop
상태 관리
CSS
PostCSS
SaaS
FlexBox
TypeScript
- 우리(Reddit)가 Typescript를 선택한 이유
- Conditional types in Typescript
- WebStorm 대신 VSCode 로 TypeScript 테스트와 디버깅 해보기 (with Jest)
- Announcing TypeScript 5.0
백엔드
Low-code
Architecture
- [야생의 땅: 듀랑고] SPOF 없는 분산 MMORPG 서버
- [야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
- DEVIEW 2016 참가 신청 기능 개발기
- 타다 시스템 아키텍처
- 전 세계 팬들이 모일 수 있는 플랫폼 만들기
- The Architecture Behind A One-Person Tech Startup
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초 정리
- Serverless Architecture
- 서버리스 아키텍쳐(Serverless)란?
- Ticket Servers: Distributed Unique Primary Keys on the Cheap
- CDC 너두 할 수 있어(feat. B2B 알림 서비스에 Kafka CDC 적용하기)
- Real-time Messaging - Slack Engineering
- Startup Infrastructure: Scaling from Zero to Enterprise
Troubleshooting
System Design
- System Design Interview: Scalable Unique ID Generator (Twitter Snowflake or a similar service)
- System Design: Design a Geo-Spatial index for real-time location search
- System Design Primer
- ByteByteGoHq/system-design-101
- ByteByteGo
Microservice
- Circuit breaker 패턴을 이용한 장애에 강한 MSA 서비스 구현하기
- Python 기반 대규모 마이크로 서비스에서 Circuit Breaker 도입의 여정
- 5 Microservices Design Patterns Every DevOps Team Should Know
Data Pipeline
Message Queue
Realtime Multiplay
Distributed System
Multi-Region
Partitioning Strategies
Consistent Hashing
Consistency Model
CAP Theorem
- CAP and PACELC : the basic theorem of distributed database system
- CAP Theorem for System Design Interviews
- CAP Twelve Years Later - How the "Rules" Have Changed By Eric Brewer
Vector Clock
Consensus Protocols
Paxos
Gossip
Raft
ID Generation
Distrubted DB
ScyllaDB
CockroachDB
Vitess
Benchmark
Insight
Postmortem
Protocol
gRPC
Operation
SRE
Scenarios
Recovery/Failover
- Failover & Disaster Recovery
- What is failover?
- What is High Availability?
- Disater Recovery Strategies
Deploy
GitOps
FinOps
Automation
Cloudformation
Ansible
Terraform
- 테라폼 (Terraform) 개념 설명 및 AWS 인스턴스 생성하기
- 테라폼(Terraform) 기초 튜토리얼 - AWS와 테라폼으로 구현하는 Infrastructure as Code
- Terraform을 이용한 Infrastructure as Code 실전 구성하기
- Ansible vs Terraform: Fight!
Monitoring
SaaS
Stacks
ELK
TICK
Container
Docker
Fundamental
- 왜 굳이 도커(컨테이너)를 써야 하나요?
- Explaining Docker with Pizza
- 개발자가 처음 Docker 접할때 오는 멘붕 몇가지
- Docker images - types. Slim vs slim-stretch vs stretch vs alpine
- Docker 데이터 볼륨 사용하기
- How to mount a single file in a volume
- How to enter in a Docker container already running with a new TTY
- Docker run vs create
- Docker VOLUME vs COPY vs ADD
- Automation of container creation and creating image with DB packed
Guide
- 초보를 위한 도커 안내서 - 1. 도커란 무엇인가?
- 초보를 위한 도커 안내서 - 2. 설치하고 컨테이너 실행하기
- 초보를 위한 도커 안내서 - 3. 이미지 만들고 배포하기
- 도커를 이용한 웹서비스 무중단 배포하기
- Intro Guide to Dockerfile Best Practices
Compose
Tool
Orchestration
Kubernetes
Database
- What is an ORM and where can I learn more about it?
- What are OLTP and OLAP. What is the difference between them?
- MySQL timestamp 와 Y2K38 Problem
- Database Fundamentals
Operation
Migration
RDB
Fundamental
Transaction
Index
- How do database indexes work?
- How does database indexing work?
- What do Clustered and Non clustered index actually mean?
- Database Indexing Strategies
- 색인(index)의 두 가지 형태 : LSM 트리 & B 트리
Normalization
View
Lock
Sharding/Partitioning
- How does database sharding work?
- DB 파티셔닝(Partitioning)이란
- 주문서비스 ShardingSphere-Proxy 도입기
- How to scale your database and when to shard
- Sharding Pinterest: How we scaled our MySQL fleet
- Sharding & IDs at Instagram
- The growing pains of database architecture
Pattern
- Are soft deletes a good idea?
- Next-Level Database Techniques For Developers
- Are junction tables a good practice?
- The Slotted Counter Pattern
- Reduce MySQL Memory Utilization with ProxySQL
- Time Ranges without Overlapping
- Pagination in MySQL
Optimize
Vendors
MySQL
Query
- MySQL Orderby a number, Nulls last
- Illegal mix of collations for operation 'like'
- Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='
- How to declare a variable in MySQL?
- How to show the last queries executed on MySQL?
- How can I stop a running MySQL query?
DDL
- MySQL UNIQUE key not working
- MySQL 중복 키 관리 방법
- MySQL cannot create foreign key constraint
- varchar Fields - Is a Power of Two More Efficient?
- MySQL Integers: INT, BIGINT, and more
- MySQL data types: VARCHAR and CHAR
- Indexing JSON in MySQL
- Understanding Generated Columns
Structure
- Understanding MySQL Storage Engines
- A graph a day, keeps the doctor away ! – MySQL History List Length
Tips
Performance
Transaction
Fault Tolerance
PostgreSQL
- Just Use Postgres for Everything
- PostgreSQL Vacuum에 대한 거의 모든 것
- A BEGINNERS GUIDE TO POSTGRESQL’S UPDATE AND AUTOVACUUM
- Nine ways to shoot yourself in the foot with PostgreSQL
- Create an advanced search engine with PostgreSQL
- Postgresql Sequence vs Serial
PrestoDB
SQLite
SQL
DML
INSERT
SELECT
Query Plan
WHERE
ORDER BY
JOIN
Functions
UPDATE
DELETE
DDL
CHECK
UNIQUE
NoSQL
Search Engine
Meilisearch
ElasticSearch
Query
- Query and filter context
- ElasticSearch bool query combine
- What is the difference between must and filter Query DSL in ElasticSearch?
- ElasticSearch match vs term query
- Source filter
- Terms Aggregation
- Term level query - range query
- Exclude empty-string, null and non-existant
- Best way to check if a field exist in an Elasticsearch document
OLAP
Druid
RocksDB
Cache
Redis
모바일
Flutter
Android
- Android 공식 가이드
- Android의 HTTP 클라이언트 라이브러리
- Using Retrofit 2.x as REST client
- Retrofit 2와 함께하는 정말 쉬운 HTTP
- Firebase를 실제 모바일 백엔드로 사용하면 일어날 수 있는 일들
- Android의 ORM
- Android의 이미지로딩 라이브러리
- Android 앱 메모리 최적화
- 안드로이드 BadTokenException의 원인과 해결방법
- Android와 개발 패턴
- 안드로이드의 MVC, MVP, MVVM 종합 안내서
- AWS codebuild + codecov 로 저렴하게 android CI 구축하기
- 클린 아키텍처와 함께하는 배민앱 (Android)
- epoxy
- Use Android Jetpack to Accelerate Your App Development
iOS
클라우드
AWS
컴퓨팅
ECS
네트워킹
VPC
스토리지
S3
- 버킷 정책 예제 - 특정 IP 주소 액세스 제한
- 버킷 정책 예제 - Amazon CloudFront 오리진 자격 증명에 권한 부여
- How Canva saves millions annually in Amazon S3 costs
개발자 도구
CodeStar
CodeBuild
CodeDeploy
보안, 자격 증명
IAM
머신러닝
Newral Networks
협업
코드 리뷰
- kakao Tech : 효과적인 코드리뷰를 위한 리뷰어의 자세
- 코드 리뷰 문화
- LINE Engineering : 효과적인 코드 리뷰를 위해서
- Google 코드 리뷰 가이드 : 한국어 번역본
- 코드 리뷰
Git
Fundamental
Command
How to
- How can one change the timestamp of an old commit in Git?
- How to change the commit author for one specific commit?
Guide
Troubleshooting
- Oh shit, git!
- How to resolve merge conflict during pull request?
- How do I update a GitHub forked repository?
- .gitignore is ignored by Git
- git not displaying unicode file names
Advanced
GitHub
- Pull Request를 이용한 개발 흐름을 적용해 보고 나서
- GitHub의 Pull Request를 로컬로 가져오기
- Reviewing proposed changes in a pull request
운영체제별
Linux
- export, echo 명령어
- lsof 사용법
- grep 사용법
- awk 사용법
- htop Explained Visually
- Crontab 사용법
- 리눅스 명령어 sudo, su, su -
- 리눅스 서버의 TCP 네트워크 성능을 결정짓는 커널 파라미터 이야기
Mac
교양/마인드
- 소프트웨어 환멸감(Software disenchantment)
- 소프트웨어 개발자 되기는 왜 어려운가?
- [번역] 개발 배우기가 정말 어려운 이유
- Cognitive Biases in Programming
- 코더
- 20 Things I’ve Learned in my 20 Years as a Software Engineer
커리어
- 프론트엔드 엔지니어 커리어 로드맵: 주니어를 위한 3가지 전문성 트랙
- 1. 우아한형제들 부검 - 왜 떠나는지
- 망했을때 어떻게 할 것인가
- 누구나 프로그래머가 될 수 있다
- 전염시키기
- The Tech Promotion Algorithm: A Structured Guide to Moving Up
성장
- 개발자의 윗몸일으키기
- 나는 어떻게 더 나은 프로그래머가 되었는가
- The Forty-Year Programmer
- 스타트업에서 성장한다는 주니어의 착각
- 프로그래밍의 종말
- 넓고 얕게 알기 vs 좁고 깊게 알기
- 더 많은 일을 하면서 더 빨리 하기
- 성장하는 프로그래머가 되는 법: 주니어편
- 무엇이 탁월한 개발자를 만드는가
Professional
회고
번아웃 관련
좋은 블로그
좋은 오픈소스
Android
Web Frontend
Backend
Whole Service
기타 배경지식
JSON
NDJSON
JSONSchema
- JSONSchema
- object - pattern properties
- object - Schema dependencies
- JSON Schema: verifying object's values, without keys
MQTT
RSS
Protobuf
Makefile
수학
통계학
- Markov Chains - The University of Auckland
- From “What is a Markov Model” to “Here is how Markov Models Work”
반올림
Glossary
Falsehood
보안
해킹
- Cracking encrypted Lastpass vaults
- How They Bypass Youtube Video Download Throttling
- Exploiting the iPhone 4, Part 1: Gaining Entry
- I looked through attacks in my access logs. Here's what I found
BoF
네트워크
HTTP
암호화
Operation
Insight
마케팅
- 몰락 이후의 퍼포먼스 마케팅
- 고객(Customer)이 아닌 관객(Audience)을 모으는 것이 진짜 마케팅
- What is a tracking link?
- 퍼포먼스 마케팅의 새로운 시대
- 사용자는 바보가 아니야, 기만적인 기획과 마케팅
SEO
- 검색엔진최적화(SEO) 쉬운 가이드
- Zero-Click Search 논란, 65%의 검색이 클릭없이 끝난다?
- Black Hat - White Hat SEO
- ‘쉽게 설명한’ 구글의 페이지 랭크 알고리즘
- 기술 블로그를 위한 SEO
유입
UA
Re-engagement
분석
DAU/MAU
Retention
기여
비즈니스
인사이트
- 비슷해 보이지만 전혀 다른 두 회사, 블록버스터와 넷플릭스
- 한국 인터넷에서 잘못 끼워진 첫 단추, 그 이름은 네이버 (NAVER)
- 당근마켓 전문가모드 광고의 가능성과 한계
- 직접 만들지 그랬어
- B2B SaaS에서 세일즈보다 고객서비스가 더 중요한 이유
- 보이는 게 전부가 아니다
- 한국인들의 7가지 실수
- 남이 해 주는 숙제
- 평균 실종과 초버티칼화 현상
스타트업
- The Scoop: Inside Fast’s Rapid Collapse
- 행동력이 미친 창업 팀, 개발 없이 MVP 테스트하기
- 피치 덱
- 모던 소프트웨어 경쟁 전략
- We Don't Sell Saddles Here
경영
프레임워크
Product
- 고객을 모르면 프로덕트는 키메라가 된다
- B2B 프로덕트 디자이너가 신경 써야 할 B2B 프로덕트의 특징
- 강남언니가 고객의 문제를 찾는 방법
- How to develop product sense
- 단순한 제품을 만든다는 것에 대해
Management
UI/UX
분석/개선
경제
Co-working
Management
리더쉽
- Manager's Playbook
- Delegation 101: Figuring out what to delegate
- 팀장이 된 후에 알게 된 것들
- 미팅 가득한 팀장의 하루
- 스타트업 CTO의 일
- 일을 맡길 때는 권한까지 맡겨야 합니다
- 나는 나 자신의 위선적 상태를 알아차리고 있는가?
- 이끌거나, 따르거나, 아니면 비키거나
조직 관리
조직 구성
조직 문화
- '팀의 건강'을 진단하는 방법의 진화
- 에어비앤비 엔지니어가 일하는 게 행복한 이유
- 기능 공장에서 일하고 있다는 12가지 신호
- 사고를 쳐도 혼나지 않는 회사
- Why Development Teams are Slow
- 당신의 개발자들은 결코 느리지 않다.
- 윗사람과 아랫사람
- 회사는 나의 놀이터
- 획기적 성과를 내는 스타트업 주간회의
- 누구랑 일할텐가
- 넷플릭스의 문화 - 탁월함을 추구하다
- 복지가 좋은 회사
- 우리가 본받을 만한 실리콘밸리의 기업문화
조직 성장
커뮤니케이션
질문
텍스트
태도
마인드
관계
커리어
성장
- 잘하려 하면 잘 안 되는 이유
- 노력은 배신해도, 게으름은 배신하지 않는다
- 무조건 상위 10% 안에 드는 방법
- 90% 이기기
- 지금이라도 알게되어 다행인, 새해 계획 잘 세우는 법
- 게으른 우리를 위한 갓생 게임화 프레임워크 (ft. 찰리와 걷기)