Skip to main content
Link
Menu
Expand
(external link)
Document
Search
Copy
Copied
Backend Brew
About
retrospect
서버 개발자, 2020 회고
서버 개발자, 2021 회고
서버 개발자, 2022 회고
서버 개발자, 2023 회고
주제회고
일회성 배치에 대한 회고
career
8년차 개발자의 개발 면접 질문 리스트
domain
10 Things to Consider When Developing a Backup System
10 Things to Consider When Developing a Synchronization Server
-
Algorithm
IEEE 754 부동 소수점 계산, floating point calculation
성능 좋은 Java/Python의 기본 sorting 알고리즘, Tim Sort 이해하기
internet
http
http 1.0 syntax 이해하기 (vs http 0.9)
http 1.0 semantics
DNS는 무엇이고 어떻게 동작하는가?
CIDR이란? CIDR을 알고 subnet 이해하기
link local ip address 개념 명확하게 이해하기
APIs
What is HATEOAS? Why and when using HATEOAS, and issues when not in use
envoy proxy
api gateway, envoy란?
GraphQL
GraphQL이란?
OAuth
구글 아이디로 로그인 구현하기
PM
Instagram, Facebook에서 배우는 유저 제한 정책, 서비스 정책의 중요성
-
Architecture
마이크로 서비스(MSA)란? 개념, 장단점과 방향성 이해하기
이벤트 기반 아키텍처(EDA)란? MSA의 문제점과 EDA의 해결책
MSA의 데이터 일관성 유지 기법 Saga 이해하기
diagram 그리는 가장 쉬운 방법, 코드로 그리는 uml plantuml
객체 지향 설계의 5가지 원칙 SOLID 헷갈리지 않게 예제로 이해하기
Test
TDD
TDD 01
TDD 02
TDD 03
TDD 04
TDD 05
TDD 06
TDD 07 (테스트 패턴)
TDD 08
Object Mother, 테스트에 가장 중요한 패턴
Refactoring
마틴 파울러의 리팩토링
리팩토링 why? when? what?
복합 리팩토링
리팩토링 마음가짐
현업에서 진행하는 대규모 리팩토링 프로세스
Domain Driven Design
전략적 설계
DDD의 기둥 Ubiquitous Language
전술적 설계
DDD의 VO란? 쉽지만 어려운 VO 완벽하게 이해하기
DDD의 Entity란? Entity와 ID를 제대로 이해하기
DDD의 Domain Service란? Domain Service를 모른다면 DDD를 할 줄 모르는 것이다
DDD의 Domain Events란? DDD에서 transaction을 관리하는 방법
DDD의 Aggregate란? Aggregate를 적절하게 만들기
-
Spring
Spring JPA
Spring CRUD vs JPA 차이
Spring Connection Pool 확인하기
Spring JPA connection pool 조정하기
spring multimodule에서 library module의 test class 사용하기
static method class와 spring bean
Database
db 개념
database transaction model, ACID
query를 쉽게하기, ORMs
SQL vs NoSQL
Message Broker
kafka
apache kafka란?
kafka 아키텍처 이해하기
kafka producer 이해하기
kafka consumer 이해하기
-
Java
Garbage Collection
Java GC 기본 개념 잡기
Java GC의 가장 기본이 되는 Serial GC
Parallel GC는 무엇이고 언제 쓰기 좋은걸까?
CMS GC란? CMS GC를 이해하고 차이점 알기
G1GC란? G1GC를 이해하고 다른 GC랑 비교하기
GC 로그 및 튜닝
이슈
[OmitStackTraceInFastThrow] java stacktrace 안남는 문제 해결
Java 라이브러리
archunit으로 아키텍처 테스트하기
easyRandom - Java에서 테스트 객체 만들기
java coverage test 개념 및 jacoco 사용법
Java Tips
java serialize 사용할 때 주의사항
list type casting 하기
map key로 쉽게 remove 하는 trick과 outer.this 하기
Java naming convention & Abbreviations rules with Google, MS, Oracle
Kotlin
java와 비교한 kotlin 장단점
kotlin in action 정리하기
kotlin in action 정리 #1
kotlin in action 정리 #2
kotlin in action 정리 #3
kotlin in action 정리 #4
kotlin in action 정리 #5
kotlin in action 정리 #6
kotlin in action 정리 #6-2
kotlin in action 정리 #7
kotlin in action 정리 #7-2
language
c++
C++11
Token Passing Operator in C++
python
The easiest way to find root directory in Python
The easiest way to import other directory in Python
Time Complexity in Python data-structure
copy in Python
-
aws
DynamoDB
dynamo 내부구조 이해하기
DynamoDB Secondary Index: Considerations and Cost Issues
single table을 사용하는 이유
single table 적용 후기
What is DynamoDB Streams and When Should You Use It?
DynamoSizeLimitException 이슈 정리
S3
S3 처리량 제한
API Gateway, SQS, SNS
AWS 비용 효율화
ElastiCache
IAM
Lambda
container
기본 서비스
기본개념과 용어
보안, 배포
oci
OCI cloud shell에서 kubectl 설정하기
OKE docker registry github action 적용하기
-
Tools
linux commands
업무 효율 극강화 linux terminal 단축키
multi terminal tmux 효율적으로 사용하기
How to Use linux cut command, Parsing Large Files with cut in the terminal
jq로 가장 빠르게 터미널에서 json 파싱하기
Why use linux screen, How to use screen?
대용량 파일 터미널에서 split으로 자르기
telnet 없을 때 connection 확인하기
linux
linux 환경변수 설정하기 - /etc/profile.d
too many open file 이슈 확인하고 해결하기
Intellij
intellij toggle case shortcut (upper -> lower, lower -> upper)
intellij 의미 없는 시간 줄이기 live template 편
intellij 의미 없는 시간 줄이기 test file 편
슬랙
python slack bot 개발하기
slack에서 스마트하게 추정하기
website
A website that arbitrarily receives Requests for verification
Curl to Code (Python/Java ..)
The easiest way to convert epoch time, AI Epoch Time Converter
error & bug
[intellij error] Maven 3.3.1+ requires JDK 1.7+
[jekyll] Dependency Error, Jekyll::Errors::MissingDependencyException
[kotlin error] ClassNotFoundException: kotlin.jvm.JvmInline
[kotlin error] cannot be invoked as a function. The function 'invoke()' is not found
[spring error] ConflictingBeanDefinitionException: Annotation-specified bean name
[spring error] JpaRepository NoSuchBeanDefinitionException
[spring error] Unable to find a @SpringBootConfiguration
[spring error] java.lang.NoClassDefFoundError: graphql/execution/batched/Batched
[spring error] javax.websocket.server.ServerContainer not available
[spring error] kotlin cannot be returned by findById(), findById() should return Optional
[spring error] log4j2, Class path contains multiple SLF4J bindings
[spring error] log4j2.yml, yaml property not work
[spring error] repackage failed: Unable to find main class
Etc
blog
jekyll gh page 폰트 설정하기
flutter
flutter theme
kivy
∞
kivy app & game book ch2
kivy app & game book ch3
kivy app & game book ch4
kivy app & game book ch5
kivy app & game book ch6
vue
Uncaught SyntaxError: Unexpected token '<' 에러
config.js
vue 3.0 component props 전달하기
vue 3.0 global component
vue emit으로 상위 컴포넌트로 click event 전달하기
한글
/ Eng