쌓여만 가는 크롬 북마크를 정리하기 위해 만든 레포지토리입니다!
- 🇺🇸 : 영어 문서
- 🇰🇷 : 한글로 번역된 문서
- 💻 : PPT 등 슬라이드로 된 문서
♥️ : 인상 깊게 읽었던 문서 (또 읽어야 함)- ❓ : 읽고도 어려워서 이해 못한 문서 (또 읽어야 함)
JWT
CORS
보안
- 안전한 SSL/TLS를 운영하기 위해 알아야 하는 것들 - LINE
- 커버로스 프로토콜(Kerberos Protocol) – 서버 접근 권한 관리
- [서버 보안] 서버의 구성 및 인증(커버로스)
서버
- WAS 와 웹 서버 차이 (WAS,Web Server) 그리고 아파치, 톰캣
- Web - 쿠키와 세션의 차이, 용도, 사용법(cookie,session)
- REST 기반의 간단한 분산 트랜잭션 구현
- [칼럼] IT내부 실패 단일점에 대해 알고 있는가?
- 웹 브라우저에서 HTML문서 렌더링 과정 (동작 순서)
- ❤️ 브라우저는 어떻게 동작하는가 - NAVER d2
- [브라우저 엔진] 브라우저 렌더링 엔진
- 최신 브라우저의 내부 살펴보기 - NAVER d2
개념
- React 적용 가이드 - 네이버 메일 모바일 웹 적용기 - NAVER d2
- 왜 리액트를 쓰나요?
- ❓ React 렌더링과 성능 알아보기 : TOAST Meetup
- React의 Components, Elements, Instances 🇺🇸
- React인가 Vue인가? 🇰🇷
- React state가 불변이어야 하는 이유
- ❤️ react-tutorial 고급 (불변성 - Immutability 개념)
- Introducing React Hooks
- 웹팩 핸드북 - 웹팩을 가장 쉽고 빠르게 배우는 방법
Redux와 Mobx
Redux
- What is Flux?
- Redux를 이해하자
- Redux로 시작하기: 왜 Redux인가? 🇰🇷
- ❤️ 리덕스(Redux) 애플리케이션 설계에 대한 생각
- You Might Not Need Redux 🇺🇸
- 리덕스 패턴과 안티 패턴 (Redux Patterns and Anti-Patterns)
개념
개념
- 빠르게 서비스를 개발할 수 있는 Node.js - NAVER d2
- Node.js 이벤트루프 제대로 이해하기 🇰🇷
- [JAVA vs Node.js] 무엇을 사용해야할까?
- Node.js Stream 당신이 알아야할 모든 것 🇰🇷
- require는 어떻게 동작할까?
- PM2를 활용한 Node.js 무중단 서비스하기 - LINE
- Monorepo? Yarn Workspace!
활용
개념
- Grpahql 적용 시 고민해 볼 점 · Showerbugs
- Graphql과 RESTful API의 캐싱
- GraphQL과 RESTful API
- ❤️ GraphQL을 오해하다
- React와 Apollo, Parcel 기반 서비스 개발 - NAVER d2
활용
- Getting Started with GraphQL and Spring Boot | Baeldung
- Building a GraphQL Server with Java Backend Tutorial
- 개발환경을 한 방에! 쉘 스크립트의 힘 - 우아한형제들
- 안정적인 서비스 운영 💻
- 대용량 세션을 위한 로드밸런서 - NAVER d2
- [NDC 18] 서버 디렉터가 직접 답했다, '듀랑고' 출시 초기 서버 문제의 원인
- Shopify 아키텍처의 진화 : 길지만 하나씩 보자
MSA
- 마이크로 서비스 관련 글 총정리 : 짱 많음...
Serverless
테스트 및 분석
개념
- 왜 굳이 도커(컨테이너)를 써야 하나요? - 컨테이너를 사용해야 하는 이유
- 개발자가 처음 Docker 접할때 오는 멘붕 몇가지
- 컨테이너와 쿠버네티스를 쉽게 이해하기
- 구글이 만든 Docker Container Orchestration 툴, Kubernetes 소개
개념
사용법
- docker를 이용한 CI 구축 연습하기 (젠킨스, 슬랙) : 작년에 시도했던 글이라 달라졌을 수도 있음
Lambda
- AWS Lambda를 이용한 이미지 썸네일 생성 개발 후기 - 당근마켓
- AWS Lambda를 시작하기 전 알았으면 좋았을것들
- 서비스 중단 없이 Amazon EKS로 옮긴 이야기 - VCNC
개념
스키마
개념
사용법
개념
- 빅데이터 - 스칼라, 스파크로 시작하기 : 내용 쫌 많음!
- ❤️ [오픈소스] 메시지큐(Message Queue) 알아보기
- 왜 메시지큐를 사용해야 하는가 🇰🇷
- MQTT 적용을 통한 중계시스템 개선 - 우아한형제들
- MQTT Stress Test - 우아한형제들
개념
- Kafka 이해하기 - 카프카의 구성요소, 동작원리, Exactly-delivery-once 모델 차용
- 💻 Kafka 생태계 들여다보기
- Kafka 면접 질문
- Kafka 운영자가 말하는 TIP : 순서대로 읽어보기
Avro와 Schema Registry
- Kafka 와 Confluent Schema Registry 를 사용한 스키마 관리
- Thrift vs Protocol Buffers vs Avro - Biased Comparison 💻
통신
TCP
HTTP/HTTPS
- HTTP 함수 - Post vs Put vs Patch
- HTTP/3 explained 🇰🇷 : 엄청 길다
- HTTPS와 SSL 인증서 - 생활코딩
- HTTPS로 보안 강화하기
- HTTP와 HTTPS로 이해와 차이점 그리고 오해(?)
성능
프록시
구루비 강좌
- SQL의 성능은 처리 범위에 좌우된다
- ❓ 결합 인덱스를 선정하는 우선순위
- 인덱스란 무엇인가 : 시리즈로 쭉 보자
인덱스
부하 분산
트랜잭션
TDD
DDD
- ❤️ 스프링보다 중요한 스프링 이야기
- 객체 지향 프로그래밍이란?
- 💻 우아한 객체지향 짱 길다..
- JAVA 컬렉션 (Vector, ArrayList, LinkedList, Set, Map)
- LINE의 OpenJDK 적용기
- 💻 자바에서 null을 안전하게 다루는 방법
- Java 예외(Exception) 처리에 대한 작은 생각
- 💻 예외처리가이드
- JavaDoc을 쓰기 위한 주석 달기 방법
- Lombok 사용상 주의점(Pitfall)
- Anti-OOP : if 를 피하고 싶어서
메모리
- ❓ Java 프로그래밍: Out Of Memory 오류
- 자바, 성능, 모니터링 테크세미나 정리 및 후기 - 우아한형제들
- 도움이 될수도 있는 JVM Memory leak 이야기 - 우아한형제들
빌드 도구
JDBC
Java8
- [GIT] 실행취소와 Commit 삭제: reflog, reset, checkout, revert
- 훅으로 Git에 훅 들어가기 - 우아한형제들
- Advanced Git Tutorials - Atlassian
- 형상관리 전략정리
- 효과적인 코드 리뷰를 위해서 - LINE
- 카카오스토리 팀의 코드 리뷰 도입 사례 - 코드 리뷰, 어디까지 해봤니? - KAKAO
- 코드 리뷰를 위한 좋은 코딩 - Javascript 편
- 우리가 부르는 시니어 개발자는 누구인가? - 우아한형제들
- ❤️ 후배 개발자에게 - 2019년
- ❤️ 흔하지 않고 좋은 웹 개발자가 되는 방법
- 생각하라, 객체지향처럼 - 우아한형제들
- 입사 후, 벌써 1년 - 우아한형제들
- 패러다임, 디자인 패턴, 리팩터링의 중요성 그리고 성능에 대해
- 개발자 머피의 법칙 - 우아한형제들
Interviews