RoadMap
인터넷
- 인터넷이 작동하는 원리
인터넷은 어떻게 동작하는가? - Web 개발 학습하기 | MDN
이 글에서는 인터넷의 개념과 작동 원리에 대해 설명합니다.
developer.mozilla.org
[IT 기술] 인터넷의 작동원리
인터넷의 작동원리 안녕하세요. 개발자 개발 까마귀입니다. 오늘 알려드릴거는 인터넷의 작동원리에 대해서 알려드리겠습니다. 1. 인터넷이란? 여러분들이 편하게 쓰는 인터넷은 사실 오랜 역
development-crow.tistory.com
- HTTP란 무엇인가?
웹개념_HTTP통신
0. 웹 통신 1) 웹 통신 & Protocol 인터넷 상에서의 통신을 말함 많은 정보들이 주고 받기에 인터넷에 엄격한 규약이 존재함. 이것을 Protocol 이라 말함 2) 웹 Protocol 종류 일반적인 프로토콜 Http: Hype
koras02.tistory.com
- 브라우저의 작동 원리
[웹개념] 웹 브라우적의 작동원리
주소창에 https://www.naver.com 혹은 https://www.youtube.com등 다양한 URL을 검색하여 해당 웹 페이지에 접속한 경험이 있을 것이다. 그렇다면 어떤 동작 원리로 우리가 입력한 웹 페이지로 접속이 가능한
koras02.tistory.com
- DNS와 작동원리
DNS와 작동원리
도메인 네임 시스템(Domain Name System, DNS)은 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었다.
velog.io
- Domain Name이란?
DomainName과 HostName
몇일전, 일을 하며 네트워크에 관련된 설정을 해야하는 상황이 있었다. 나는 내가 가진 지식에 대해 확신이 별로 없는편(?)이기 때문에, 뭔가를 해야하는 상황이 오면 곧 잘 뇌정지가 오곤하기
real-dongsoo7.tistory.com
- Hosting 이란?
호스팅이란?
호스팅에 대해 공부한 내용이다.
velog.io
기초적인 Front-End 지식
- 프론트 엔드는 어떤 직종인가
프론트엔드 개발, 뭐하는 직종이야?
"프론트엔드(Front-End) 개발이란, 웹이나 앱을 사용하는 유저가 눈으로 보는 모든 화면의 요소들을 개발한다." 프론트엔드 개발의 사전적 수행 직무는, 백엔드(Back-End) API (Application Programming Interface
seunghyun90.tistory.com
- HTML/CSS/JS의 정의와 차이점
[html/css] HTML/CSS/Javascript 의 정의와 차이점
웹사이트는 크게 3가지 요소로 구성 HTML (Hyper Text Markup Language), CSS (Cascading Style Sheets), 자바스크립트 (Javascript) HTML(Hyper Text Markup Language) - 웹 문서를 만들기 위하여 사용하는 기본..
junghn.tistory.com
- 생활 코딩 강의
WEB1 - HTML & Internet - 생활코딩
--- 우리는 지금부터 코딩 웹 인터넷 컴퓨터라는 거대한 주제에 대한 탐험을 시작할 거예요. 이 여행을 시작하기에 앞서서 한가지 준비가 필요한데요. 바로 우리들의 상상력입니다. 지금부터 여
opentutorials.org
WEB2 - CSS - 생활코딩
수업소개 이 수업은 https://opentutorials.org 를 만들어가면서 CSS에 대한 지식과 경험을 동시에 채워드리기 위한 목적으로 만들어진 수업입니다. 수업대상 이 수업은 웹 페이지를 아름답게 디자인
opentutorials.org
WEB2 - JavaScript - 생활코딩
수업소개 이 수업은 https://opentutorials.org 를 만들어가면서 JavaScript에 대한 지식과 경험을 동시에 채워드리기 위한 목적으로 만들어진 수업입니다. 수업대상 이 수업은 웹 페이지를 사용자와 상
opentutorials.org
OS와 일반적인 지식
[운영체제(OS)] 1. 운영체제란?
운영체제(Operating System)는 사용자가 컴퓨터를 사용하기 위해 필요한 소프트웨어이다. 우리가 일반적으로 컴퓨터를 사용하면서 실행한 모든 프로그램들은 운영체제에서 관리하고 제어한다. 대표
velog.io
- 터미널 사용방법
- 기초 터미널 명령어
[Linux]리눅스 터미널 명령어(Terminal Command) 모음
INTRO '터미널'은 사전적 의미로 종단, 끝을 의미한다. 이 의미를 컴퓨터로 빗대어 보면 데이터를 송수신 하는 목적지나 출발점의 의미가 될 수 있다. 따라서 리눅스에서 사용하는 '터미널'은 명령
sdevstudy.tistory.com
Cmd commands under Windows - Thomas-Krenn-Wiki
This article lists the most important cmd commands under Windows. cmd command Description Basics: call calls a batch file from another one cd change directory cls clear screen cmd start command prompt color change console color date show/set date dir list
www.thomas-krenn.com
- OS들의 일반적인 작동 방식
[02] 운영체제 - 운영체제의 구조 및 동작원리
안녕하세요. 저번 시간에는 운영체제의 정의와 역할, Interrupt란 무엇인가 그리고 컴퓨터에서의 Hardware에 대해서 간략하게 살펴보았는데요 오늘은 운영체제의 구조와 동작원리에 대해
baked-corn.tistory.com
- 프로세스 관리 (Process Management)
[운영체제(OS)] 5. 프로세스 관리
1. 프로세스(Process) 프로세스는 메인 메모리에 할당되어 실행중인 상태인 프로그램을 말한다. 프로그램은 일반적으로 하드디스크(보조기억장치)에 저장되어 아무 일도 하지 않는 상태이다. 프로
velog.io
- 쓰레드와 동시성 (Concurrency)
[운영체제(OS)] 7. 쓰레드(Thread)
1. 프로세스와 생성과 종료 프로세스는 프로세스에 의해 만들어진다. 컴퓨터가 부팅이 되면 운영체제가 메모리에 올라오는데 운영체제가 처음으로 수행하는 일 중에 하나는 최초의 프로세스를
velog.io
[운영체제] Concurrency(동시성)과 Parallelism(병렬성) 이해하기
Concurrency와 Parallelism은 헷갈리기 쉬운 개념입니다. 이름도 Concurrency(동시성)과 Parallelism(병렬성)으로 이름만 들었을 때는 이 둘의 차이를 구분하기 어렵습니다. Concurrency와 Parallelism의 특징을..
spacebike.tistory.com
- 메모리 관리
[운영체제 OS] 메모리 관리란? - 이유, 방법
※ 메모리란? : 메인 메모리, RAM을 뜻한다. 프로그램 실행 시 필요한 주소, 정보들을 저장하고 가져다 사용할 수 있게 만드는 공간. 즉, 작업을 위해 사용되는 공간. 메모리 관리가 필요한 이유
technote-mezza.tistory.com
- 프로세스간의 통신 (Interprocess Communication)
[OS/운영체제] IPC란? - 정의, 종류, 방법
IPC(Inter Process Communication)란? 정의 IPC의 종류 >IPC = 프로세스 간 통신 >프로세스들끼리 서로 데이터를 주고받는 행위 또는 그에 대한 방법을 뜻한다. 위 그림처럼 Process는 완전히 독립된 실행객체
velog.io
- 입출력(I/O) 관리
OS - 입출력 관리
운영체제 입출력 관리
velog.io
- POSIX 기초
- stdin, stdout, stdrr, pipes
POSIX 기초
POSIX (Portable Operating System Interface)
velog.io
- 네트워크 기초 개념
[네트워크] 네트워크 기초 지식 정리
네트워크에 대한 전반적인 기초 지식 정리. 네트워크 (네트워크 기술) 네트워크 기술이란 서버와 클라이언트의 정보가 오고 가는 다리 역할을 하는 기술의 총칭을 의미한다. 네트워크라는 말
noahlogs.tistory.com
[Network] 네트워크 기초 개념
네트워크 기초
hyuntaekhong.github.io
언어 배우기
- 🔥 Javascript
- 💧 Python
- 💧 Ruby
- 💧 Java
- 💧 C#
- 💧 PHP
VCS (Version Control Systems, 버전 관리 시스템)
VCS가 무엇이고 왜 사용해야 하는가
- Git 기초 사용법
개발 협업에서 깃 & 깃크라켄 사용하기
SOPT 장기 해커톤 앱잼을 위해 준비한 자료입니다! 협업을 위한 깃과 깃크라켄 사용법을 가장 기초부터 실전 활용법까지 설명하고 있습니다.
velog.io
저장소 호스팅 서비스 (Repo hosting services)
계정을 직접 만들고 GitHub의 사용법을 배워보자.
- GitHub
- GitLab
- Bitbucket
관계형 데이터베이스 (SQL)
- PostgreSQL
- MySQL
MySQL - 생활코딩
개요 데이터베이스는 정보를 저장하는 애플리케이션입니다. 정보를 파일에 저장하는 것도 좋은 방법입니다만, 데이터베이스는 파일에 저장하는 것 보다 훨씬 많은 기능을 제공합니다. 말하자
opentutorials.org
MySql 의 기본 사용법과 주요 명령어들 총정리
오늘은 Mysql의 기본 사용법과 주요 명령어들에 대해서 정리해 보도록 하겠습니다. 1. MySql접속 MySQL을 이용하기 위해서는 접속을 해 주어야 하는데요. 먼저 Terminal을 이용해서 접속하는 방법부터
developer88.tistory.com
- MariaDB
- MS SQL
- Oracle
비관계형 데이터베이스 (NoSQL)
SQL과 NOSQL의 차이 | 👨🏻💻 Tech Interview
SQL과 NOSQL의 차이 웹 앱을 개발할 때, 데이터베이스를 선택할 때 고민하게 된다. 보통 Spring에서 개발할 때는 MySQL을, Node.js에서는 MongoDB를 주로 사용했을 것이다. 하지만 그냥 단순히 프레임워크
gyoogle.dev
SQL vs NoSQL (MySQL vs. MongoDB)
※이 포스팅은 academind의 SQL vs. NoSQL을 번역한 포스팅입니다. [개요] 웹 애플리케이션 개발을 위한 첫 걸음을 내딛은 이후에 한가지 선택사항을 마주하게 됩니다. MySQL와 같은 SQL을 사용할 것인가?
siyoon210.tistory.com
- Document 형
- MongoDB
- MongoDB
MongoDB 기초
현 회사에서 GraphQL + mongoDB를 사용하다 보니, (물론 관계형 데이터 베이스도 사용하지만) 몽고 디비의 관한 내용을 얼추 알지만, 조금 더 정리하고 싶어서 시작한 포스팅. 얼른 뽀개자. MongoDB란?
code-masterjung.tistory.com
- CouchDB
- Columns DBs
- Cassandra
- Time Series
- InfluxDB
- TimescaleDB
- Realtime
- Firebase
Firebase
Firebase 기초 - RethinkDB
- Firebase
데이터베이스 스타일
- 🔥 ORMs
ORM 이란? - 🔥 ACID (트랜잭션이 가져야 하는 4가지 속성)
- 🔥 트랜잭션
DB 트랜잭션: 글의 중간 트랜잭션 특징 부분이 윗 항목인 ACID에 대한 내용입니다. - 🔥 N+1 문제
N + 1 문제 - 🔥 DB 정규화
정규화(Normalization) 쉽게 이해하기 - 🔥 인덱스와 작동 방식
Index - 🌪 리플리케이션
Database의 리플리케이션(Replication)이란? - 🌪 샤딩 전략
Database의 샤딩(Sharding)이란? - 🌪 CAP 이론
어떤 DB를 사용해야 할까? CAP 이론
API
- 🔥 REST
REST API 제대로 알고 사용하기
REST API- Roy Fielding의 논문 읽기
REST - Roy Fielding dissertation 번역 요약
- Roy Fielding의 논문 읽기
- 🔥 JSON APIs
JSON이란 무엇일까??
JSON으로 작업하기 - 🔥 gRPC
gRPC란? - 🌪 SOAP
- 🌪 HATEOAS
- 🌪 Open API 스펙과 Swagger
- 🔥 인증
- 🔥 OAuth
OAuth란 무엇일까
OAuth와 춤을 - 🔥 기본적인 인증
- 🔥 Token 인증
토큰 기반 인증 vs 서버(세션) 기반 인증 - 🔥 JWT (Json Web Token)
[JWT] JSON Web Token 소개 및 구조 - 🌪 Cookie 기반
- 🌪 OpenID
- 🌪 SAML
- 🔥 OAuth
캐싱
- 🔥 CDN
[클라우드 이해] CDN이란?
CDNs(Content delivery networks)에 대해 알아보자 - 서버 사이드
- 🔥 Redis
Redis 기본 정리: Redis 뿐 아니라 캐싱의 도입에 대하여 설명이 잘 되어 있습니다 - 💧 Memcached
- 🔥 Redis
- 🔥 클라이언트 사이드
웹 보안 지식
- 🔥 해싱 알고리즘
해시 알고리즘
MD5와 SHA의 차이
안전한 패스워드 보안(bcrypt, scrypt, pdkdf2)- MD5가 무엇이며, 왜 사용하지 않는가?
- SHA 알고리즘
- scrypt / bcrypt
- 🔥 기타 보안
SOP, CORS, CSP 개념과 우회방법- HTTPS
HTTP와 HTTPS 및 차이점 - 컨텐츠 보안 정책
- CORS
- SSL / TLS
- OWASP 보안 정책
- HTTPS
테스팅
유닛 테스트(Unit Test), 통합 테스트(Integration Test), 기능 테스트(Funcional Test)란?
- 🔥 통합 테스트 (Integration Testing)
- 🔥 유닛 테스트 (Unit Testing, 단위 테스팅)
- 🔥 기능 테스트 (Functional Testing)
🔥 CI / CD
지속적 통합 / 지속적 제공에 대해서 배우기
CI/CD란 무엇인가 (Feat. DevOps 엔지니어)
CI/CD란 무엇인가 (Feat. DevOps 엔지니어)
안녕하세요. 개발자의 용어를 쉽고 명확하게 설명해드리는 개발자 김모씨입니다. CI/CD ?! 개발자로 밥먹고 사시는 분들이시라면, 혹은 IT서비스 업계에 종사하시는 분들이라면, 한 번 쯤은 들어
artist-developer.tistory.com
[QA] CI/CD 란?
CI/CD
itholic.github.io
설계와 개발 원칙
- 🔥 SOLID
SOLID 원칙 - 🔥 KISS
- 🔥 YAGNI
- 🔥 DRY
소프트웨어 개발의 3개의 KEY 원칙: KISS, YAGNI, DRY - 🌪 GOF 디자인 패턴
GoF 디자인 패턴 - 🌪 DDD (Domain Driven Design, 도메인 주도 설계)
- 🌪 TDD (Test Driven Development, 테스트 주도 설계)
TDD DDD BDD 기본
TDD DDD BDD 기본
TDD (Test Driven Development) [의미] 테스트 주도 개발 매우 짧은 개발 서클의 반복을 갖는 소프트웨어 개발 프로세스 새로운 기능에 대한 자동화된 테스트케이스를 작성하고 해당 케이스를 통과하는
lovon.tistory.com
아키텍쳐 패턴
- 🔥 모놀리식 애플리케이션 (Monolithic Apps)
- 🔥 마이크로서비스 (Microservices)
모놀리식 / 마이크로서비스
알아두면 깜놀! 넷플릭스 백엔드의 진실!?: 모놀리식과 마이크로서비스에 대해서 다룬 유튜브 영상입니다. - 🔥 SOA
SOA 패턴이란 - 🌪 CQRS와 이벤트 소싱
- 🔥 서버리스 (Serverless)
서버리스 아키텍쳐란? - 서비리스는 서버가 없는걸까? 8분 개념 설명!
검색 엔진
- 🔥 Elasticsearch
Elasticsearch란? (개념 및 종류, RDBMS와 차이)
[Elasticsearch] 기본 개념잡기 - 💧 Solr
🌪 메시지 브로커
Kafka(이벤트 브로커) vs RabbitMQ(메세지 브로커)
- 🔥🌪 RabbitMQ
- 💧 Kafka
컨테이너화 vs 가상화
Docker는 무엇인가? 도커의 기초와 이미지 설치하고 사용
- 🔥 Docker
- ☁️ rkt
- ☁️ LXC
🌪 GraphQL
- 🔥🌪 Apollo
Apollo Client는 Redux와 무엇이 다른가 - 💧 Relay Modern
🌪 Graph Databases
- 🌪 Neo4j
🌪 웹 소켓
실시간 양방향 통신에 대해서 배우기
웹소켓에 대해 알아보자
웹 개발을 처음 배우기 시작했다면 서버와 클라이언트의 통신은 모두 HTTP 프로토콜만 이용해서 이루어진다고 생각할 수 있습니다. 하지만 웹 개발을 하면서 채팅, 게임, 주식 차트 등의 실시간
tecoble.techcourse.co.kr
🌪 웹 서버
- 🔥🌪 Nginx
- 💧 Apache
- 💧 Caddy
- 💧 MS IIS
🔥 확장성을 고려한 빌딩
제품의 지속 가능성을 위해 배우고, 관심을 가져야 함
- 🔥 마이그레이션 전략
- 단계적 기능 축소 (Graceful Degradation)
- 스로틀링 (Throttling)
- Backpressure
- 서킷 브레이커 (Circuit Breaker)
- 차이점을 이해하기
- Instrumentation vs Monitoring vs Telemetry
- 🔥 수직적 확장 vs 수평적 확장
- 🔥 관찰 가능성을 고려한 확장
- log를 남기고, 상태를 관측 가능한 아이템을 사용하는 방법 등을 통해
문제 발생 시 디버깅을 돕고 이슈를 해결하도록 함
// Thanks to... 룡, 짱
next();
참고자료
2021 백엔드 개발자 로드맵
백엔드 개발자 로드맵
velog.io
'백엔드' 카테고리의 다른 글
[Supabase] What is Supabase (0) | 2022.03.25 |
---|