멋진 백엔드 엔지니어
학습 경로와 지식을 구조화하고 구조화하는 데 도움이되는 백엔드 개발자를위한 선별 되고 의견이 많은 리소스 목록 (영어 및 러시아어). 멋진 CTO에서 영감을 얻었습니다.
RU 구조화 된 백엔드 개발을위한 자원 목록은 지식을 체계화하고 교육 계획을 세우는 데 도움이됩니다. 이 분야에 대한 개인적인 경험과 독립적 인 연구를 기반으로합니다. 영감을 얻은 멋진 CTO.
광고에 대해서는 Beckind에 관심이 있고 이론적 기반을 펌핑하고 싶다면 "현대 웹 애플리케이션의 아키텍처"에 익숙해지는 것이 좋습니다.
내용물
- 기초
- 컴퓨터 과학
- 웹 개발 및 네트워킹
- 데이터베이스
- 보안
- 아키텍처 및 수사
- 관련 링크
- 서적
기초
- 개발자 로드맵
- 좋은 백엔드 엔지니어가되는 방법 (기본)
- 백엔드 개발자가되는 법 배우기 (2018)
- 소프트웨어 회사에서 새로운 일자리를 시작한 초보자 백엔드 엔지니어를위한 조언
컴퓨터 과학
| 주요 주제 | 주요 주제 |
|---|
| 컴퓨터 가란 무엇이며 작동 방식은 무엇입니까? | 컴퓨터는 무엇이며 작동 방식은 무엇입니까? |
| 잡초 프로그래밍 언어는 누구입니까? 어떤 유형의 프로그래밍 언어가 있습니까? | 프로그래밍 언어는 이유는 무엇입니까? 어떤 유형이 있습니까? |
| 알고리즘 및 데이터 구조 | 알고리즘 및 데이터 구조 |
| OOP | 객체 지향 프로그래밍 |
| 동시성 및 병렬성 | 경쟁력과 병렬성 |
Resouuses (자원)
- 컴퓨터 과학이란 무엇입니까?
- 컴퓨터 과학의지도
- 하버드의 CS50. en / ru
- 컴퓨터 과학 충돌 과정
- 컴퓨터는 코드를 어떻게 읽습니까?
- OOP의 잊혀진 역사
- 동시성은 병렬성이 아닙니다
- 가장 작은 데이터 구조
- 알고리즘 및 데이터 구조. 준비 과정 (봄 2016)
- 사진에 OOP
- 다중 프로세스, 다중 플레이트, 파이썬의 비동기식뿐만 아니라뿐만 아니라. 그것은 무엇이며 어떻게 작동합니까?
- 경쟁력과 병렬성. 어렵습니다
웹 개발 및 네트워킹
| 주요 주제 | 주요 주제 |
|---|
| 클라이언트-서버 아키텍처 및 HTTP 란 무엇입니까? | 클라이언트-서버 아키텍처 및 HTTP 란 무엇입니까? |
| TCP/IP 란 무엇입니까? | TCP/IP 스택이란 무엇입니까? |
| DNS는 무엇입니까? | DNS는 무엇입니까? |
| 어떻게 채식 및 인증이 작동합니까? JWT는 무엇입니까? | 승인 및 인증은 어떻게 작동합니까? JWT는 무엇입니까? |
| 프록시 및 리버스 프록시 | 프록시 및 리버스 프록시 |
| 웹 서버. nginx. | 웹 서버. nginx |
| API 디자인 원칙을 휴식하십시오 | API 디자인 원칙을 휴식하십시오 |
Resouuses (자원)
- 2021 년 웹 개발 - 실용 가이드
- TCP/IP 란 무엇입니까?
- 하이퍼 텍스트 전송 프로토콜 충돌 코스 -HTTP 1.0, 1.1, HTTP/2, HTTP/3
- HTTP 충돌 과정 및 탐사
- TCP 대 UDP 충돌 코스
- API 개념과 예제를 휴식하십시오
- 편안한 API
- 2 시간 Nginx 충돌 과정 + 보너스 콘텐츠
- JWT -JSON 웹 토큰 충돌 코스 (Nodejs & Postgres)
- 프록시 대 리버스 프록시 서버가 설명되었습니다
- HTTP/2의 작동, 성능, 장단점 등
- DNS의 작동 방식 - 컴퓨터 필
- GRPC 충돌 과정 - 모드, 예제, 장단점 등
- 잘. 웹 프로그래밍 언어
- 6. 웹 기술. HTTP 프로토콜 | 테크노 스트럼
- 초보자를위한 웹 개발 웹 응용 프로그램은 어떻게 정렬됩니까? (프론트 엔드/백엔드)
- 웹 애플리케이션 아키텍처 / 단순에서로드까지
- 웹 응용 프로그램의 인증?
- REST API-RESTFUL 웹 서비스 소개
데이터베이스
| 주요 주제 | 주요 주제 |
|---|
| 데이터베이스와 DBM은 무엇입니까? | 데이터베이스와 DBM은 무엇입니까? |
| 관계형 데이터베이스 란 무엇입니까? SQL이란 무엇입니까? | 관계형 데이터베이스와 SQL이란 무엇입니까? |
| 색인 및 거래 란 무엇입니까? | 지수와 거래 란 무엇입니까? |
| 산성 특성은 무엇입니까? 어떤 격리 수준이 있습니까? | 산성 특성은 무엇입니까? 거래 단열 수준은 무엇입니까? |
| NOSQL 데이터베이스는 무엇입니까? NOSQL과 SQL의 차이점은 무엇입니까? | NOSQL은 무엇입니까? NOSQL과 SQL의 차이점은 무엇입니까? |
| 데이터베이스 정규화 란 무엇입니까? | 데이터베이스의 정규화는 무엇입니까? |
Resouuses (자원)
- 데이터베이스 란 무엇입니까?
- 데이터베이스 및 SQL이란 무엇입니까?
- SQL 튜토리얼 - 초보자를위한 전체 데이터베이스 과정
- 데이터베이스 디자인 과정 - 초보자를위한 데이터베이스 설계 및 계획 방법 배우기
- 데이터베이스 인덱싱 설명 (PostgreSQL 포함)
- SQL 대 NOSQL 또는 MySQL 대 MongoDB
- NOSQL 데이터베이스 소개
- Mongodb 기본
- SQL 프로를위한 MongoDB
- 산
- PostgreSQL을 사용하여 SQL을 분해 - 선택, 조인, 그룹, while, Coalesce 등을 분해합니다.
- 코스 "데이터베이스 사용"(2019)
- 코스 "데이터베이스. Tarantool의 실험실"(2018)
- 초보자 안내서 : 산 및 데이터베이스 거래
- 이제 젊은이에게 왜 데이터베이스에 대한 산 요건이 있습니까?
- 데이터베이스 설계 규칙의 기본 사항
- 관계의 정규화. 6 가지 정상 형태
- 데이터베이스 디자인 안내서 (15 개 중 1-3 부)
보안
| 주요 주제 | 주요 주제 |
|---|
| HTTPS 란 무엇이며 어떻게 작동합니까? | HTTPS 란 무엇이며 어떻게 작동합니까? |
| 웹 응용 프로그램의 주요 유형의 공격 및 vulnurabilites는 무엇입니까? | 웹 애플리케이션의 주요 공격 및 취약점은 무엇입니까? |
| SQL 주입이란 무엇입니까? 그것을 막는 방법? | SQL 주입이란 무엇입니까? 그것을 막는 방법? |
| XSS 공격은 무엇입니까? 그것을 막는 방법? | XSS 공격은 무엇입니까? 그것을 막는 방법? |
| 웹 앱에 비밀번호/비밀을 저장하는 방법은 무엇입니까? | 웹 응용 프로그램에 암호/비밀을 저장하는 방법은 무엇입니까? |
Resouuses (자원)
- 9. 웹 애플리케이션 보안
- Sages HTTPS는 어떻게 작동합니까? CA는 무엇입니까? 자체 서명 된 인증서는 무엇입니까?
- 비밀번호 크래킹 - 컴퓨터 필
- SQL 주입 공격 실행 - 컴퓨터 필
- 암호를 저장하지 않는 방법! - 컴퓨터 필
- 크로스 사이트 스크립팅으로 웹 사이트 크래킹 - 컴퓨터 필
- 크로스 사이트 스크립팅 (XSS)이 설명했습니다
- LocalStorage가 XSS에 취약한 이유 (및 쿠키도 마찬가지입니다)
- OWASP 치트 시트
- HTTP는 어떻게 작동합니까?
- 인터넷 애플리케이션의 안전 (2020)
- 프로젝트 코드에 암호와 키를 저장하는 방법은 무엇입니까? 환경의 변수에 관한 모든 것. 장고의 예
- SQL 주입. 방어 및 공격 (1 부)
- XSS-Vain이란 무엇이며 테스터로서 놓치지 않는 방법
아키텍처 및 수사
| 주요 주제 | 주요 주제 |
|---|
| 분산 시스템은 무엇입니까? | 분산 시스템은 무엇입니까? |
| 스케일링이란 무엇입니까? 수평 대 수직 스케일링? 웹 앱과 데이터베이스를 확장하는 방법은 무엇입니까? | 스케일링이란 무엇입니까? 수평 대 수직 스케일링? 웹 응용 프로그램 및 데이터베이스를 확장하는 방법은 무엇입니까? |
| 캡 정리 란 무엇입니까? CP 및 AP 시스템은 무엇입니까? | 캡 정리 란 무엇입니까? CP 및 AP 시스템은 어떻게 생겼습니까? |
| 마이크로 서비스 란 무엇입니까? 그들은 어떤 패턴을 사용합니까? 마이크로 서비스 아키텍처를 설계하는 방법은 무엇입니까? | 마이크로 서비스 란 무엇입니까? 그들은 어떤 패턴을 사용합니까? 그들을 디자인하는 방법? |
| ISES 중심 건축은 무엇입니까? | 이벤트 중심의 아키텍처 란 무엇입니까? |
| 깨끗한 아키텍처 란 무엇입니까? 약속 언어 / 프레임 워크를 사용하여 구현하는 방법은 무엇입니까? | 순수한 아키텍처 란 무엇입니까? JAP / 프레임 워크에서이를 구현하는 방법은 무엇입니까? |
| 웹 애플리케이션을 배포하는 방법은 무엇입니까? VPS 란 무엇입니까? SSH는 무엇입니까? | 웹 응용 프로그램을 배포하는 방법은 무엇입니까? VPS 란 무엇입니까? SSH는 무엇입니까? |
| Docker는 무엇입니까? 우리는 누구를 필요로합니까? | Docker는 무엇입니까? 왜 필요한가요? |
| 클라우드 제공 업체는 무엇입니까? 어떻게 사용합니까? | Claud Providers 란 무엇이며 왜 필요한가요? |
| 테스트 및 배포를 자동화하는 방법은 무엇입니까? CI/CD는 무엇입니까? 구현하는 방법? | 테스트 및 복장을 자동화하는 방법은 무엇입니까? CI/CD 란 무엇이며 구성 방법은 무엇입니까? |
| SSL 인증서는 무엇입니까? 웹 앱을 설정하는 방법은 무엇입니까? | SSL 인증서는 무엇입니까? 어떻게 구성 하는가? |
| Kubernetes는 무엇입니까? 당신은 그것을 사용할 때? | Kubernetes는 무엇이며 왜 필요한가요? |
| DDD는 무엇입니까? | 도메인 구동 설계 란 무엇입니까? |
자원 (자원)
- 분산 시스템에 접근
- 확장 가능한 웹 아키텍처 개념 및 디자인
- SQL 및 NOSQL 데이터베이스를 확장하는 방법
- 웹 응용 프로그램 스케일링
- 분산 시스템의 캡 정리
- 웹 애플리케이션 설계 방법 : 소프트웨어 아키텍처 101
- 마이크로 서비스 소개
- 매체에서 마이크로 서비스 아키텍처
- 마스터 링 혼란 - 마이크로 서비스에 대한 넷플릭스 가이드
- GOTO 2020 • 마이크로 서비스를 사용할 때 (그리고 언제해야하는지!) • Sam Newman & Martin Fowler
- 1500 마이크로 서비스의 현대식 은행
- 마이크로 서비스의 데이터 관리
- DDD는 무엇입니까 - Eric Evans -DDD Europe 2019
- 깨끗한 건축
- 12 분 안에 Docker를 배우나요?
- 초보자를위한 Docker 튜토리얼 - 컨테이너에서 응용 프로그램을 실행하는 방법에 대한 전체 DevOps 쿠어스
- 다수의 아키텍처는 무엇이며 포플러가 될 것입니까?
- 12 단계 앱
- 고부하 블로그
- 높은 하중 아키텍처
- Cap Theoma는 간단하고 접근 가능한 언어입니다
- 프로그램 아키텍처 작성 또는 대변 설계 방법
- 사이트의 LetSencrypt SSL 인증서를 얻고 구성하는 방법은 무엇입니까?
- Python/Django 용 Debian Server를 올리십시오 - 처음부터 설치 및 튜닝. 서버를 구성하는 방법?
- Deet FullStack 응용 프로그램 [Golang+JS]. CI/CD, DigitalOcean, GitHub 동작
- 순수한 건축
- Docker의 기초. 훌륭한 실용 릴리스
- Artyom Antonenko "도메인 구동 디자인"
- Linux / Unix에서 Key에 의해 SSH의 승인을 설정했습니다.
- 웹 응용 프로그램의 확장 가능한 아키텍처를 수집합니다. 수평 및 수직 스케일링
관련 링크
- 인터넷 회사를 시작하기 위해 엔지니어링을 시작합니다
- 한 사람의 인터넷 회사의 지루한 기술
- 제품으로서 API. 당신이 아는 모든 것이 백엔드 일 때 당신의 판매 방법
- 초보자를위한 UML
- 기술 기술의 다른 측면 : 도메인 지식 및 장기 비전
- 개발자에서 CTO로 이동합니다
- 진정으로 선임 개발자를 만드는 것
- 브라우저에서 웹 페이지의 간단한로드 뒤에있는 것
서적
| |
|---|
| 그로킹 알고리즘 | 그 런트 알고리즘 |
| Robert Martin의 "Clean Code" | "순수한 코드"로버트 마틴 |
| Robert Martin의 "Clean Architecture" | "순수한 건축"로버트 마틴 |
| Steve McConnel의 "전문 소프트웨어 개발" | "소프트웨어의 전문 개발"Steve MacCconle |
| Sam Newman의 "마이크로 서비스" | "마이크로 서비스의 창조"Sam Newman |
| Chris Richardson의 "마이크로 서비스 패턴" | "마이크로 서비스. 개발 및 리팩토링 패턴"Chris Richardson |