쌓여만 가는 크롬 북마크를 정리하기 위해 만든 레포지토리입니다!
🇺🇸 : 영어 문서🇰🇷 : 한글로 번역된 문서💻 : PPT 등 슬라이드로 된 문서♥️ : 인상 깊게 읽었던 문서 (또 읽어야 함)❓ : 읽고도 어려워서 이해 못한 문서 (또 읽어야 함)
Table
WEB
Tutorial
Frontend
Backend
DevOps
DATA
RDBMS
NoSQL
Message Queue
BASIS
Computer Science
Methodology
Programming Language
Git
+ 기타
💚 Contents
WEB
Tutorial
Tutorials
Basis
JWT
CORS
보안
- 안전한 SSL/TLS를 운영하기 위해 알아야 하는 것들 - LINE
- 커버로스 프로토콜(Kerberos Protocol) – 서버 접근 권한 관리
- [서버 보안] 서버의 구성 및 인증(커버로스)
서버
- WAS 와 웹 서버 차이 (WAS,Web Server) 그리고 아파치, 톰캣
- Web - 쿠키와 세션의 차이, 용도, 사용법(cookie,session)
- REST 기반의 간단한 분산 트랜잭션 구현
- [칼럼] IT내부 실패 단일점에 대해 알고 있는가?
⬆️ Table
Frontend
Browser
- 웹 브라우저에서 HTML문서 렌더링 과정 (동작 순서)
-
❤️ 브라우저는 어떻게 동작하는가 - NAVER d2 - [브라우저 엔진] 브라우저 렌더링 엔진
- 최신 브라우저의 내부 살펴보기 - NAVER d2
React
개념
- 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)
⬆️ Table
Backend
Spring/Spring Boot
개념
Node.js
개념
- 빠르게 서비스를 개발할 수 있는 Node.js - NAVER d2
- Node.js 이벤트루프 제대로 이해하기
🇰🇷 - [JAVA vs Node.js] 무엇을 사용해야할까?
- Node.js Stream 당신이 알아야할 모든 것
🇰🇷 - require는 어떻게 동작할까?
- PM2를 활용한 Node.js 무중단 서비스하기 - LINE
- Monorepo? Yarn Workspace!
활용
GraphQL
개념
- 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
⬆️ Table
DevOps
Operation
- 개발환경을 한 방에! 쉘 스크립트의 힘 - 우아한형제들
- 안정적인 서비스 운영
💻 - 대용량 세션을 위한 로드밸런서 - NAVER d2
- [NDC 18] 서버 디렉터가 직접 답했다, '듀랑고' 출시 초기 서버 문제의 원인
- Shopify 아키텍처의 진화 : 길지만 하나씩 보자
MSA
- 마이크로 서비스 관련 글 총정리 : 짱 많음...
Serverless
테스트 및 분석
Docker
개념
- 왜 굳이 도커(컨테이너)를 써야 하나요? - 컨테이너를 사용해야 하는 이유
- 개발자가 처음 Docker 접할때 오는 멘붕 몇가지
- 컨테이너와 쿠버네티스를 쉽게 이해하기
- 구글이 만든 Docker Container Orchestration 툴, Kubernetes 소개
Jenkins
개념
사용법
- docker를 이용한 CI 구축 연습하기 (젠킨스, 슬랙) : 작년에 시도했던 글이라 달라졌을 수도 있음
AWS
Lambda
- AWS Lambda를 이용한 이미지 썸네일 생성 개발 후기 - 당근마켓
- AWS Lambda를 시작하기 전 알았으면 좋았을것들
- 서비스 중단 없이 Amazon EKS로 옮긴 이야기 - VCNC
⬆️ Table
DATA
RDBMS
MySQL
OracleDB
⬆️ Table
NoSQL
NoSQL
Redis
MongoDB
개념
스키마
Elasticsearch
개념
사용법
⬆️ Table
Spark
개념
- 빅데이터 - 스칼라, 스파크로 시작하기 : 내용 쫌 많음!
⬆️ Table
Message Queue
Basis
-
❤️ [오픈소스] 메시지큐(Message Queue) 알아보기 - 왜 메시지큐를 사용해야 하는가
🇰🇷 - MQTT 적용을 통한 중계시스템 개선 - 우아한형제들
- MQTT Stress Test - 우아한형제들
Kafka
개념
- Kafka 이해하기 - 카프카의 구성요소, 동작원리, Exactly-delivery-once 모델 차용
-
💻 Kafka 생태계 들여다보기 - Kafka 면접 질문
- Kafka 운영자가 말하는 TIP : 순서대로 읽어보기
Avro와 Schema Registry
- Kafka 와 Confluent Schema Registry 를 사용한 스키마 관리
- Thrift vs Protocol Buffers vs Avro - Biased Comparison
💻
RabbitMQ
⬆️ Table
BASIS
Computer Science
Network
통신
TCP
HTTP/HTTPS
- HTTP 함수 - Post vs Put vs Patch
- HTTP/3 explained
🇰🇷 : 엄청 길다 - HTTPS와 SSL 인증서 - 생활코딩
- HTTPS로 보안 강화하기
- HTTP와 HTTPS로 이해와 차이점 그리고 오해(?)
성능
프록시
Database
구루비 강좌
- SQL의 성능은 처리 범위에 좌우된다
-
❓ 결합 인덱스를 선정하는 우선순위 - 인덱스란 무엇인가 : 시리즈로 쭉 보자
인덱스
부하 분산
트랜잭션
OS
Data Structure
Algorithm
⬆️ Table
Methodology
Design Pattern
Driven Development
TDD
DDD
⬆️ Table
Programming Language
JAVA
-
❤️ 스프링보다 중요한 스프링 이야기 - 객체 지향 프로그래밍이란?
-
💻 우아한 객체지향 짱 길다.. - 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
Javascript
⬆️ Table
Git
Instructions
- [GIT] 실행취소와 Commit 삭제: reflog, reset, checkout, revert
- 훅으로 Git에 훅 들어가기 - 우아한형제들
- Advanced Git Tutorials - Atlassian
- 형상관리 전략정리
Github
Code Review
- 효과적인 코드 리뷰를 위해서 - LINE
- 카카오스토리 팀의 코드 리뷰 도입 사례 - 코드 리뷰, 어디까지 해봤니? - KAKAO
- 코드 리뷰를 위한 좋은 코딩 - Javascript 편
⬆️ Table
+ 기타
좋은 글
- 우리가 부르는 시니어 개발자는 누구인가? - 우아한형제들
-
❤️ 후배 개발자에게 - 2019년 -
❤️ 흔하지 않고 좋은 웹 개발자가 되는 방법 - 생각하라, 객체지향처럼 - 우아한형제들
- 입사 후, 벌써 1년 - 우아한형제들
- 패러다임, 디자인 패턴, 리팩터링의 중요성 그리고 성능에 대해
- 개발자 머피의 법칙 - 우아한형제들
Interviews