์ข์ ๊ธ์ ๋ง์ฃผ์น๋ฉด ๋ถ๋งํฌ์ฒ๋ผ ์ ๋ฆฌํด ๋๋ ์ ์ฅ์์ ๋๋ค. ์๋ก์ด ๋งํฌ ์ถ๊ฐ, ์นดํ ๊ณ ๋ฆฌ ๋ณ๊ฒฝ์ด๋ ๊นจ์ง ๋งํฌ ์ ๊ฑฐ์ ๊ฐ์ 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)
- 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
- 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?
- What is dependency injection?
- Dependency Injection Demystified
- DI ๋?
- Dependency Injection in Python
- Inversion of Control Containers and the Dependency Injection pattern
- ์์กด์ฑ ์ฃผ์ ์ ๋ํ ์คํด์ ์ง์ค
- ๊ฐ๋ฐ์์๊ฒ ์ ์ฉํ ๋ฒ์น, ์ด๋ก , ์์น, ๊ทธ๋ฆฌ๊ณ ํจํด๋ค #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
- ๊ฐ์ฒด์งํฅ ๊ฐ๋ฐ 5๋ ์๋ฆฌ: SOLID
- Parametric Polymorphism
- ์ ์ ํฉํ ๋ฆฌ ๋ฉ์๋(Static Factory Method)๋ ์ ์ฌ์ฉํ ๊น?
- Anti-OOP : if ๋ฅผ ํผํ๊ณ ์ถ์ด์
- ์ ๋๋ ์ดํฐ์ ์ฝ๋ฃจํด
- ํ์ด์ฌ ์ธ๋์ค์ฝ์ด(_)์ ๋ํ์ฌ
- 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
- ๋น๋๊ธฐ ํ์ด์ฌ
- 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
- async for ๊ตฌ๋ฌธ์ ์๋ ์๋ฆฌ
- 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 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
- pipenv๋ ๋ฌด์์ธ๊ฐ
- pipenv๋ก Python ํ๋ก์ ํธ ๊ด๋ฆฌํ๊ธฐ
- Force pipenv to create a new virtualenv
- How to get pipenv running in docker?
- ์ฝ๋ ํ ์คํธํ๊ธฐ - 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
- SQLAlchemy ์์ํ๊ธฐ - Part 1
- SQLAlchemy ์์ํ๊ธฐ - Part 2
- SQLAlchemy์์ ๋ชจ๋ ํ ์ด๋ธ์ ๋ชจ๋ ์๋ฃ ์ง์ฐ๊ธฐ
- 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
- 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
- Dynamically defining a database
- How to custom the table name in peewee?
- Performing simple joins
- Joining multiple tables
- 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?
- Ryan Dahl: ๋ด๊ฐ Node.js์ ๋ํด ํํํ๋ ๊ฒ 10๊ฐ์ง(JSConf EU, 2018)
- no-return-await ๋ ํญ์ ์ ๋ต์ผ๊น
- ๋ฆฌ๋ฉค๋ฒ ์น ์๋น์ค ์ข์ถฉ์ฐ๋ Yarn Berry ๋์ ๊ธฐ
- npm, yarn, pnpm ๋น๊ตํด๋ณด๊ธฐ
- Yarn ๋์ pnpm์ผ๋ก ๋์ด๊ฐ 3๊ฐ์ง ์ด์
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ๋ค๋ง ๊ฐ์ ๊ณผ์ : ์ปค๋งจ๋ ํ ์ค๋ก ๋ฒ๋ค๋ง ๋๋ด๊ธฐ
- ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ์ด๋
- Realizing quality improvement through test driven development: results and experiences of four industrial teams
- ์ ๊ทํํ์์ ๊ฐ๋ ๊ณผ ๊ธฐ์ด ๋ฌธ๋ฒ
- regexr - RegEx Playground
- ๋ถ๊ท์น ์์์ ๊ท์น์ ์ฐพ์๋ด๋ ์ ๊ท ํํ์
- HTML์ ์ ๊ท ํํ์๋ง์ผ๋ก ํ์ฑํ ์ ์์๊น?
- ignore case sensitivity
- A comprehensive guide to the dangers of Regular Expressions in JavaScript
- ํ๋ก ํธ์๋์ ํ๊ธ ์ ๊ท์, ์ด๋ป๊ฒ ์ธ ๊ฒ์ธ๊ฐ.
- The Algorithms
- Khan Academy - Algorithm
- ๋ฃจํ ๋ถ๋ณ์ฑ
- ๋ถํ ์ ๋ณต
- Dijkstraโs Shortest Path Algorithm in Python
- Levenshtein Distance
- 2023 ์นด์นด์ค ์ ์ ๊ณต์ฑ 1์ฐจ ์จ๋ผ์ธ ์ฝ๋ฉ ํ ์คํธ for Tech developers ๋ฌธ์ ํด์ค
- 2023 ์นด์นด์ค ์ ์ ๊ณต์ฑ 2์ฐจ ์จ๋ผ์ธ ์ฝ๋ฉ ํ ์คํธ for Tech developers ๋ฌธ์ ํด์ค
- Python - ์ค๋์ฟ ๋ฌธ์ ํ์ด
- ์ปดํจํฐ๊ฐ ์ฝ๋๋ฅผ ์ฝ๋ ์์ฃผ ๊ตฌ์ฒด์ ์ธ ์๋ฆฌ
- Race condition ๋ฐ์์ํค๊ณ Mutex lock์ผ๋ก ํด๊ฒฐํ๊ธฐ
- แแ กแแ ตแแ ฅแซแแ ณแ แ ฉ แแ ฎแฏแแ ฅแแ ฉแแ ณแซ แแ กแแ ฎ แแ ตแทแแ ณแฏแแ กแซ แแ ฅแทแแ ขแจแแ ฆแซแแ ตแซแแ ด แแ ฏแซแ แ ต
- ๊ฒ์ ์์ง์ ์ด๋ป๊ฒ ์๋ํ๋๊ฐ
- Build a search index in Python
- ์ฃผ๋์ด ๊ฐ๋ฐ์๋ฅผ ์ํ ์์ฒญ ์ฌ์ด ๋คํธ์ํฌ ์ด์ผ๊ธฐ
- ํ๋ฐฐ ๋ฐฐ์ก ๊ณผ์ ์ผ๋ก ์์๋ณด๋ ์์ฒญ ์ฌ์ด ์ปดํจํฐ ๋คํธ์ํฌ
- Top-Down์ผ๋ก ์ ๊ทผํ๋ ๋คํธ์ํฌ
- What are the advantages and disadvantages of using a content delivery network(CDN)?
- How did I get here?
- Load Balancing
- ๋ก๋๋ฐธ๋ฐ์ฑ(Load Balancing)๊ณผ ๊ณ ๊ฐ์ฉ์ฑ(HA)
- Load Balancing And Rate Limiting for Dummies (Part 1)
- How to Write Awesome Tech Specs
- 2023-04๋ถํฐ ์ค์ฒ์ค์ธ ์คํ๋ฆฐํธ ๊ธฐ๋ฐ์ ํ ์ ๋ฌด ํ๋ ์์ํฌ
- ์ ๋น์ ์ ์ผ์ผ ์คํ ๋์ ๋ฏธํ ์ ์คํจํ๋๊ฐ
- 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
- What are the differences between server-side and client-side programming?
- Local-First Web Development
- (๋ฒ์ญ) 2023๋ ์น ๊ฐ๋ฐ ํธ๋ ๋ 10๊ฐ์ง
- What is the difference between application server and web server?
- Difference between proxy server and reverse proxy server
- 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
- ์น ๊ธฐ์ ๋ก ๊ตฌํํ๋ Adaptive HTTP Streaming
- Web API Pagination with the 'Timestamp_ID' Continuation Token
- 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 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
- So whatโs this GraphQL thing I keep hearing about?
- GraphQL์ ์คํดํ๋ค
- Designing GraphQL Mutations
- HTTPS๋ HTTP๋ณด๋ค ๋น ๋ฅด๋ค
- ๋๋ง ๋ชจ๋ฅด๊ณ ์๋ HTTP2
- HTTP/2 ์๊ฐ - Google Developers
- HTTPS๋ ์ด๋ป๊ฒ ๋ค๋ฅผ๊น?
- ๊ตฌ๊ธ API๋ฅผ ํตํด์ ๋ฐฐ์ฐ๋ ์ธ์ฆ (oauth 2.0)
- Learn OAuth 2.0 by Building Your Own OAuth Client
- Casbin
- Authorization Policy Showdown: RBAC vs. ABAC vs. ReBAC
- Open-Sourcing AWS Cedar is a Gamechanger for IAM
- 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
- 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
- ์คํ๋ง๋ถํธ๋ก ์น ์๋น์ค ์ถ์ํ๊ธฐ
- Gradle + SpringBoot + Travis CI + Coveralls + ํ ๋ ๊ทธ๋จ ์ฐ๋ํ๊ธฐ
- ์คํ๋ง ๋ถํธ 2.0 ๋ ํผ๋ฐ์ค ์ฝ๋ฉ
- ์คํ๋ง ๋ถํธ ์์ํ ๋ ์์์ผ ํ๋ ๊ฒ
- MVC ๊ตฌ์กฐ์์ service์ serviceImpl์ ์ ๋ง๋๋๊ฐ
- ํด๋์ํ ์คํ๋ง ์น ์ดํ๋ฆฌ์ผ์ด์ ๊ตฌ์กฐ
- ๋ด๊ฐ ๋ง๋ API๋ฅผ ๋๋ฆฌ ์๋ฆฌ๊ธฐ - Spring REST Docs ๊ฐ์ด๋ํธ
- [Kotlin] Spring Rest Docs ์ ์ฉํ๊ธฐ build.gradle.kts
- OpenAPI Specification์ ์ด์ฉํ ๋์ฑ ํจ๊ณผ์ ์ธ API ๋ฌธ์ํ
- ํ๋ก ํธ์๋ ์ญ์ฌ์ ๋ฏธ๋, ์ ๋ฌด ๋ถ์ผ ... ๊ทธ๋ฆฌ๊ณ ์ํ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋?
- [๋ฒ์ญ] 2016๋ ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋ฐฐ์ฐ๋ ๊ฒ
- ์ง์ฐ ์๊ฐ ์์ด ์นํฐํธ ์๋นํ๊ธฐ - Feat. Safari & Edge functions
- Optimize Time to First Byte
- FE ์ฑ๋ฅ๊ฐ์ ๊ธฐ 1๋ถ: ์ฃผ๋ฌธํ๊ธฐ
- FE ์ฑ๋ฅ๊ฐ์ ๊ธฐ 2๋ถ: ์นด์นด์ค ๋น์ฆ๋์คํผ
- Learning React ์์ ํ๊ตญ์ด ๋ฒ์ญ
- ํ๊ตญ์ด๋ก ๋ฐฐ์ฐ๋ ๋ฆฌ์ํธ
- React Bit
- Awesome React Components
- ๋ค์ด๋ฒ ๋ฉ์ผ ๋ชจ๋ฐ์ผ์น ๋ฆฌ์ํธ ์ ์ฉ๊ธฐ
- React ์ธ๊ฐ Vue ์ธ๊ฐ?
- [๋ฒ์ญ] React๋ฅผ ๋ณธ๊ฒฉ์ ์ผ๋ก ํ๊ธฐ ์ ์๋ฉด ์ข์ 6๊ฐ์ง
- React ํ๋ก์ ํธ์ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ
- ์นด์นด์คํ์ด์ง ์น React ํฌํ ํ๊ธฐ
- When a rewrite isnโt: rebuilding Slack on the desktop
- (๋ฒ์ญ) CSS flex box 3๋ถ๋ง์ ๋ฐฐ์ฐ๊ธฐ
- ํ๋ ์ค ๋ฐ์ค ๋ ์ด์์
- flexbox๋ก ๋ง๋ค ์ ์๋ 10๊ฐ์ง ๋ ์ด์์
- ์ฐ๋ฆฌ(Reddit)๊ฐ Typescript๋ฅผ ์ ํํ ์ด์
- Conditional types in Typescript
- WebStorm ๋์ VSCode ๋ก TypeScript ํ ์คํธ์ ๋๋ฒ๊น ํด๋ณด๊ธฐ (with Jest)
- Announcing TypeScript 5.0
- [์ผ์์ ๋ : ๋๋๊ณ ] 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
- 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
- Circuit breaker ํจํด์ ์ด์ฉํ ์ฅ์ ์ ๊ฐํ MSA ์๋น์ค ๊ตฌํํ๊ธฐ
- Python ๊ธฐ๋ฐ ๋๊ท๋ชจ ๋ง์ดํฌ๋ก ์๋น์ค์์ Circuit Breaker ๋์ ์ ์ฌ์
- 5 Microservices Design Patterns Every DevOps Team Should Know
- ์ ์ฌ ๊ตฌ์ฑ์๋ค์ด ์ฌ์ฉํ๋ ๋ฐฐ์น ๋ฐ์ดํฐ ํ๋ซํผ ๋ง๋ค๊ธฐ - Airflow Advanced
- ์ปฌ๋ฆฌ์ BigQuery ๋์ ๊ธฐ - 1๋ถ
- 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
- ScyllaDB ๊ธฐ๋ณธ ์ด๋ก ๋ง๋ณด๊ธฐ - NoSQL๊ณผ ScyllaDB
- [Scylla] ์ธ์์์ ๊ฐ์ฅ ๋น ๋ฅธ NoSQL์ Architecture
- ScyllaDB University
- CTO๊ฐ ์ปค๋ฆฌ์ด๋ฅผ ๊ฑธ๊ณ ๋นํธ ๋ ๋ฒจ๊น์ง ๋ด๋ ค๊ฐ์ DB๋ฅผ ํดํนํ๋ ์ด์ผ๊ธฐ
- CockroachDB in Production
- ์ฑ์ ํํฉ ์๋ ์ฌ๋ฆฌ๊ธฐ - ์คํํธ๋งํฌ
- ipify: 300์ต ์์ฒญ ์ฒ๋ฆฌ, ๊ทธ ๋๋จธ๋ก
- ์ ์ ๋ฅผ ์ํ ์์คํ ๊ฐ์ ๊ธฐ
- ๋ํ์ ๋ฉํ ๋ง: ์ฐ๋ฌผ ๋ฐ ๋ด๋ค๋ณด๊ธฐ
- Failover & Disaster Recovery
- What is failover?
- What is High Availability?
- Disater Recovery Strategies
- ํ ๋ผํผ (Terraform) ๊ฐ๋ ์ค๋ช ๋ฐ AWS ์ธ์คํด์ค ์์ฑํ๊ธฐ
- ํ ๋ผํผ(Terraform) ๊ธฐ์ด ํํ ๋ฆฌ์ผ - AWS์ ํ ๋ผํผ์ผ๋ก ๊ตฌํํ๋ Infrastructure as Code
- Terraform์ ์ด์ฉํ Infrastructure as Code ์ค์ ๊ตฌ์ฑํ๊ธฐ
- Ansible vs Terraform: Fight!
- ์ ๊ตณ์ด ๋์ปค(์ปจํ ์ด๋)๋ฅผ ์จ์ผ ํ๋์?
- 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
- ์ด๋ณด๋ฅผ ์ํ ๋์ปค ์๋ด์ - 1. ๋์ปค๋ ๋ฌด์์ธ๊ฐ?
- ์ด๋ณด๋ฅผ ์ํ ๋์ปค ์๋ด์ - 2. ์ค์นํ๊ณ ์ปจํ ์ด๋ ์คํํ๊ธฐ
- ์ด๋ณด๋ฅผ ์ํ ๋์ปค ์๋ด์ - 3. ์ด๋ฏธ์ง ๋ง๋ค๊ณ ๋ฐฐํฌํ๊ธฐ
- ๋์ปค๋ฅผ ์ด์ฉํ ์น์๋น์ค ๋ฌด์ค๋จ ๋ฐฐํฌํ๊ธฐ
- Intro Guide to Dockerfile Best Practices
- Kubernetes Learning Roadmap
- Kubernetes CronJob์ ์ค์ผ์ค ๋ณ๊ฒฝ ์ ์๊ธ ์ ์ฉ๋๋ค?
- 2023๋ ์ฟ ๋ฒ๋คํฐ์ค ํ์ค ์ํคํ ์ฒ
- 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
- DBMS๋ ์ด๋ป๊ฒ ํธ๋์ญ์ ์ ๊ด๋ฆฌํ ๊น?
- Lock์ผ๋ก ์ดํดํ๋ Transaction์ Isolation Level
- 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 ํธ๋ฆฌ
- 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
- 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
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ถํฌ๋(Database Selectivity)
- What are Covering Indexes and Covered Queries in SQL Server?
- 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?
- 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
- Understanding MySQL Storage Engines
- A graph a day, keeps the doctor away ! โ MySQL History List Length
- MySQL ์ฐ๋ฉด์ ํ์ง ๋ง์์ผ ํ ๊ฒ 17๊ฐ์ง
- MySQL 5.7 FullText Search ์ด์ฉํ๊ธฐ with ngram
- MySQL FullText Search, ์ ๋๋ก ์ดํดํ๊ธฐ
- ์ฅ์ ์ ๊ด๋ จ๋ XtraBackup ์ ์ฉ๊ธฐ
- MySQL MHA(Master High Availability)
- Fault Tolerance ์ํํธ์จ์ด ํจํด
- 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
- How does COPY work and why is it so much faster than INSERT?
- 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
- Redis ์ค์น, ์ฌ์ฉ ๋ฐฉ๋ฒ, ๋ฐ์ดํฐ ๋ฐฑ์ ์ ์ํ RDB & AOF ๊ฐ๋ ๋ฐ ๊ฐ๋จํ Redis ์ฌ์ฉ ์ฌ๋ก ์ฐ๊ตฌ
- Build Your Own Redis
- ํ์ฌ๋ ๊ณ ๊ฐ์๊ฒ ํจ๊ณผ์ ์ผ๋ก Flutter ์๊ฐํ๋ ๋ฐฉ๋ฒ์ ์๋ ค๋๋ฆฝ๋๋ค
- ๋ฉ์ฉกํ ์ฑ์ Flutter ์ฑ์ผ๋ก ๋ค์ ์ง ์ด์ - ์ผ๋ณธ 1์ ๋ฐฐ๋ฌ ์ฑ, ๋ ๋ฒ์งธ Recode
- 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
- ๋ฒํท ์ ์ฑ ์์ - ํน์ IP ์ฃผ์ ์ก์ธ์ค ์ ํ
- ๋ฒํท ์ ์ฑ ์์ - Amazon CloudFront ์ค๋ฆฌ์ง ์๊ฒฉ ์ฆ๋ช ์ ๊ถํ ๋ถ์ฌ
- How Canva saves millions annually in Amazon S3 costs
- aws-vault ์ฌ์ฉ๋ฒ: AWS์ ์ธ์ฆ ์ ๋ณด ์์ ํ๊ฒ ์ฌ์ฉํ๊ธฐ
- What every developer should know about aws vault
- kakao Tech : ํจ๊ณผ์ ์ธ ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ์ํ ๋ฆฌ๋ทฐ์ด์ ์์ธ
- ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฌธํ
- LINE Engineering : ํจ๊ณผ์ ์ธ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ์ํด์
- Google ์ฝ๋ ๋ฆฌ๋ทฐ ๊ฐ์ด๋ : ํ๊ตญ์ด ๋ฒ์ญ๋ณธ
- ์ฝ๋ ๋ฆฌ๋ทฐ
- What is .gitignore exactly?
- git์ ํด๋๊ฒฝ๋ก๊ฐ ๋ณ๊ฒฝ๋ ๊ฒ์ ์ด๋ป๊ฒ ์ ์ ์์๊น?
- Commits are snapshots, not diffs
- How can one change the timestamp of an old commit in Git?
- How to change the commit author for one specific commit?
- 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
- Pull Request๋ฅผ ์ด์ฉํ ๊ฐ๋ฐ ํ๋ฆ์ ์ ์ฉํด ๋ณด๊ณ ๋์
- GitHub์ Pull Request๋ฅผ ๋ก์ปฌ๋ก ๊ฐ์ ธ์ค๊ธฐ
- Reviewing proposed changes in a pull request
- export, echo ๋ช ๋ น์ด
- lsof ์ฌ์ฉ๋ฒ
- grep ์ฌ์ฉ๋ฒ
- awk ์ฌ์ฉ๋ฒ
- htop Explained Visually
- Crontab ์ฌ์ฉ๋ฒ
- ๋ฆฌ๋ ์ค ๋ช ๋ น์ด sudo, su, su -
- ๋ฆฌ๋ ์ค ์๋ฒ์ TCP ๋คํธ์ํฌ ์ฑ๋ฅ์ ๊ฒฐ์ ์ง๋ ์ปค๋ ํ๋ผ๋ฏธํฐ ์ด์ผ๊ธฐ
- ์ํํธ์จ์ด ํ๋ฉธ๊ฐ(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
- A Bunch of Programming Advice Iโd Give To Myself 15 Years Ago
- ๊ฐ๋ฐ์์ ์๋ชธ์ผ์ผํค๊ธฐ
- ๋๋ ์ด๋ป๊ฒ ๋ ๋์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋์๋๊ฐ
- The Forty-Year Programmer
- ์คํํธ์ ์์ ์ฑ์ฅํ๋ค๋ ์ฃผ๋์ด์ ์ฐฉ๊ฐ
- ํ๋ก๊ทธ๋๋ฐ์ ์ข ๋ง
- ๋๊ณ ์๊ฒ ์๊ธฐ vs ์ข๊ณ ๊น๊ฒ ์๊ธฐ
- ๋ ๋ง์ ์ผ์ ํ๋ฉด์ ๋ ๋นจ๋ฆฌ ํ๊ธฐ
- ์ฑ์ฅํ๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋๋ ๋ฒ: ์ฃผ๋์ดํธ
- ๋ฌด์์ด ํ์ํ ๊ฐ๋ฐ์๋ฅผ ๋ง๋๋๊ฐ
- ์คํฌ์ธ ๋ฅผ ํตํด ๋ฐฐ์ด ํ๋ก์ฒ๋ผ ์ผํ๋ ๋ฐฉ๋ฒ
- ์์ 1% ์์ง๋์ด์ 7๊ฐ์ง ๊ฐ๋จํ ์ต๊ด
- ์ปค๋งจ๋๋ผ์ธ JSON ํ๋ก์ธ์ jq - ๊ธฐ์ด ๋ฌธ๋ฒ๊ณผ ์๋ ์๋ฆฌ
- ์ซ์ 1์ ์ฌ๋ฐ๋ฅธ JSON ํ์์ธ๊ฐ?
- JSONSchema
- object - pattern properties
- object - Schema dependencies
- JSON Schema: verifying object's values, without keys
- Markov Chains - The University of Auckland
- From โWhat is a Markov Modelโ to โHere is how Markov Models Workโ
- 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
- Permanent URL Hijack Through HTTP 301 Redirect Cache Poisoning
- ์น ๊ฐ๋ฐ์ ์ํด ๊ผญ ์์์ผํ๋ ๋ณด์ ๊ณต๊ฒฉ
- ๋ชฐ๋ฝ ์ดํ์ ํผํฌ๋จผ์ค ๋ง์ผํ
- ๊ณ ๊ฐ(Customer)์ด ์๋ ๊ด๊ฐ(Audience)์ ๋ชจ์ผ๋ ๊ฒ์ด ์ง์ง ๋ง์ผํ
- What is a tracking link?
- ํผํฌ๋จผ์ค ๋ง์ผํ ์ ์๋ก์ด ์๋
- ์ฌ์ฉ์๋ ๋ฐ๋ณด๊ฐ ์๋์ผ, ๊ธฐ๋ง์ ์ธ ๊ธฐํ๊ณผ ๋ง์ผํ
- ๊ฒ์์์ง์ต์ ํ(SEO) ์ฌ์ด ๊ฐ์ด๋
- Zero-Click Search ๋ ผ๋, 65%์ ๊ฒ์์ด ํด๋ฆญ์์ด ๋๋๋ค?
- Black Hat - White Hat SEO
- โ์ฝ๊ฒ ์ค๋ช ํโ ๊ตฌ๊ธ์ ํ์ด์ง ๋ญํฌ ์๊ณ ๋ฆฌ์ฆ
- ๊ธฐ์ ๋ธ๋ก๊ทธ๋ฅผ ์ํ SEO
- ๋น์ทํด ๋ณด์ด์ง๋ง ์ ํ ๋ค๋ฅธ ๋ ํ์ฌ, ๋ธ๋ก๋ฒ์คํฐ์ ๋ทํ๋ฆญ์ค
- ํ๊ตญ ์ธํฐ๋ท์์ ์๋ชป ๋ผ์์ง ์ฒซ ๋จ์ถ, ๊ทธ ์ด๋ฆ์ ๋ค์ด๋ฒ (NAVER)
- ๋น๊ทผ๋ง์ผ ์ ๋ฌธ๊ฐ๋ชจ๋ ๊ด๊ณ ์ ๊ฐ๋ฅ์ฑ๊ณผ ํ๊ณ
- ์ง์ ๋ง๋ค์ง ๊ทธ๋ฌ์ด
- B2B SaaS์์ ์ธ์ผ์ฆ๋ณด๋ค ๊ณ ๊ฐ์๋น์ค๊ฐ ๋ ์ค์ํ ์ด์
- ๋ณด์ด๋ ๊ฒ ์ ๋ถ๊ฐ ์๋๋ค
- ํ๊ตญ์ธ๋ค์ 7๊ฐ์ง ์ค์
- ๋จ์ด ํด ์ฃผ๋ ์์
- ํ๊ท ์ค์ข ๊ณผ ์ด๋ฒํฐ์นผํ ํ์
- The Scoop: Inside Fastโs Rapid Collapse
- ํ๋๋ ฅ์ด ๋ฏธ์น ์ฐฝ์ ํ, ๊ฐ๋ฐ ์์ด MVP ํ ์คํธํ๊ธฐ
- ํผ์น ๋ฑ
- ๋ชจ๋ ์ํํธ์จ์ด ๊ฒฝ์ ์ ๋ต
- We Don't Sell Saddles Here
- ๊ณ ๊ฐ์ ๋ชจ๋ฅด๋ฉด ํ๋ก๋ํธ๋ ํค๋ฉ๋ผ๊ฐ ๋๋ค
- B2B ํ๋ก๋ํธ ๋์์ด๋๊ฐ ์ ๊ฒฝ ์จ์ผ ํ B2B ํ๋ก๋ํธ์ ํน์ง
- ๊ฐ๋จ์ธ๋๊ฐ ๊ณ ๊ฐ์ ๋ฌธ์ ๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ
- How to develop product sense
- ๋จ์ํ ์ ํ์ ๋ง๋ ๋ค๋ ๊ฒ์ ๋ํด
- ๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ์คํก์ต์ ์ ๋ชจ๋ ๊ฒ
- ์ ํ์๋ค์ ํญ์ ํ ์ธ ํํ์ ๋ฐ์ ์ ์๋ ๊ฑธ๊น?
- Manager's Playbook
- Delegation 101: Figuring out what to delegate
- ํ์ฅ์ด ๋ ํ์ ์๊ฒ ๋ ๊ฒ๋ค
- ๋ฏธํ ๊ฐ๋ํ ํ์ฅ์ ํ๋ฃจ
- ์คํํธ์ CTO์ ์ผ
- ์ผ์ ๋งก๊ธธ ๋๋ ๊ถํ๊น์ง ๋งก๊ฒจ์ผ ํฉ๋๋ค
- ๋๋ ๋ ์์ ์ ์์ ์ ์ํ๋ฅผ ์์์ฐจ๋ฆฌ๊ณ ์๋๊ฐ?
- ์ด๋๊ฑฐ๋, ๋ฐ๋ฅด๊ฑฐ๋, ์๋๋ฉด ๋นํค๊ฑฐ๋
- ๊ท์น์ ๋ง์ง๋ง์ ๊ณ ๋ คํ์ธ์
- ์๋ง ๊ด๋ฆฌํ๊ธฐ
- "๋ฐ๋ฅด์ง ์์ ๊ฑฐ๋ฉด ๋๊ฐ๋ผ"๊ณ ๋งํ๊ธฐ ์ ์
- 'ํ์ ๊ฑด๊ฐ'์ ์ง๋จํ๋ ๋ฐฉ๋ฒ์ ์งํ
- ์์ด๋น์ค๋น ์์ง๋์ด๊ฐ ์ผํ๋ ๊ฒ ํ๋ณตํ ์ด์
- ๊ธฐ๋ฅ ๊ณต์ฅ์์ ์ผํ๊ณ ์๋ค๋ 12๊ฐ์ง ์ ํธ
- ์ฌ๊ณ ๋ฅผ ์ณ๋ ํผ๋์ง ์๋ ํ์ฌ
- Why Development Teams are Slow
- ๋น์ ์ ๊ฐ๋ฐ์๋ค์ ๊ฒฐ์ฝ ๋๋ฆฌ์ง ์๋ค.
- ์์ฌ๋๊ณผ ์๋ซ์ฌ๋
- ํ์ฌ๋ ๋์ ๋์ดํฐ
- ํ๊ธฐ์ ์ฑ๊ณผ๋ฅผ ๋ด๋ ์คํํธ์ ์ฃผ๊ฐํ์
- ๋๊ตฌ๋ ์ผํ ํ ๊ฐ
- ๋ทํ๋ฆญ์ค์ ๋ฌธํ - ํ์ํจ์ ์ถ๊ตฌํ๋ค
- ๋ณต์ง๊ฐ ์ข์ ํ์ฌ
- ์ฐ๋ฆฌ๊ฐ ๋ณธ๋ฐ์ ๋งํ ์ค๋ฆฌ์ฝ๋ฐธ๋ฆฌ์ ๊ธฐ์ ๋ฌธํ
- Aligning the company growth
- ์์ฑ๋์ง ์์ ํ์ฌ
- ์คํํธ์ ์ฑ์ฅ์ ๋ฒ์น๊ณผ ์ด๊ธฐ ๋ฉค๋ฒ๋ค์ ์ฌ๋ฆฌ์ ๋ถ์, ๊ทธ๋ฆฌ๊ณ ์ฑ์ฅํต
- ๋ง์ดํฌ๋ก ๋งค๋์ง๋จผํธ์ ์์
- ์ํ๋ ค ํ๋ฉด ์ ์ ๋๋ ์ด์
- ๋ ธ๋ ฅ์ ๋ฐฐ์ ํด๋, ๊ฒ์ผ๋ฆ์ ๋ฐฐ์ ํ์ง ์๋๋ค
- ๋ฌด์กฐ๊ฑด ์์ 10% ์์ ๋๋ ๋ฐฉ๋ฒ
- 90% ์ด๊ธฐ๊ธฐ
- ์ง๊ธ์ด๋ผ๋ ์๊ฒ๋์ด ๋คํ์ธ, ์ํด ๊ณํ ์ ์ธ์ฐ๋ ๋ฒ
- ๊ฒ์ผ๋ฅธ ์ฐ๋ฆฌ๋ฅผ ์ํ ๊ฐ์ ๊ฒ์ํ ํ๋ ์์ํฌ (ft. ์ฐฐ๋ฆฌ์ ๊ฑท๊ธฐ)