- 웹 개발자의 기술 학습 순서, 공부 로드맵(단계별 기술 습득)


https://github.com/kamranahmedse/developer-roadmap



//============================

< Front-end 로드맵>


1. HTML

2. CSS

3. JavaScript

- jQuery

4. 반응형 웹사이트 만들기

5. GitHub 에서 프로젝트

- git

6. 작업 가능 상태


//=================

7. 패키지 매니저 : npm, Yarn

8. 외부 의존성 프로그램 설치

9. CSS 전처리기

- Sass

- PostCSS, Less


10. CSS Framework : Bootstrap


11. CSS Architecture 

- BEM

- OOCSS, SMACSS, SUITCSS, Atomic


12. Build Tools

- NPM Scripts , Gulp

- webpack (for app), Rollup(for Library), Parcel

- ESLint, JSLint, JSHint, JSCS


13. 자신의 라이브러리 제작

- 75% 모던 자바 개발자


//================

14. 프레임워크 선택

- React.js(추천) : Redux, MobX

- Vue.js : Vuex

- Angular (Angular.js 아님) : RxJS(추천), ngrx


15. 활용 시간


16. 앱 테스트

- Jest, Mocha, Protractor, Karma, Enzyme


17. Progressive Web Apps 제작

- 웹에서 모바일과 같은 기능

- 빌드 X, 배포 X

- 설치 0, 오프라인 0, 알람 0


18. Static Type Checkers

- TypeScript

- Flow


17. Server Side Rendering

- Next.js - React

- Nuxt.js - Vue.js

- Universal - Angular


18. 기타 중요한 기술들

- Canvas, HTML5, SVG, sourcemaps, 함수형 프로그래밍, TC39



//===============================================

< Back-end 로드맵 >


1. 언어 선택

- 스크립트 : Python, Ruby, PHP, Node.js(TypeScript)

- Functional 언어 : Ellixir, Scala, Erlang, Clojure, Haskell

- 기타 : Java, .NET (core), Go, Rust, 


2. 연습

- 간단한 프로그램 제작


3. 패키지 매니저 

- PHP : Composer

- Node.js : npm, yarn

- Python : pip

- Ruby : gems


4. 표준, 모범 사례 공부 (Standards and Best Practics)

- PHP : PHP-FIG, PSRs


5. 라이브러리 제작


6. Testing 공부

- PHP : PHPUnit, PHPSpec, CodeCeption

- Node.js : Mocha, Chai, Sinon, Mockery, Ava, Jasmine


7. 실용적 단계의 테스트 작성


8. 관계형 데이터베이스 공부

- MySQL(MariaSB), PostgreSQL


9. 연습 시간 - 실용적인 사이트 제작

- 블로그, 회원가입, CRUD(Create, Read, Update, Delete)


10. 프레임워크 학습

- PHP : Laravel, Symfony, Slim, Lumen(micro)

- Node.js : Express.js, Hapi.js


11. 연습 시간 - 프레임워크를 이용한 제작


12. NoSQL 데이터베이스 학습

- MongoDB


13. 캐쉬 (Caching)

- Redis, Memcached


14. RESTful APIs 제작

- REST(Representational State Transfer) : HTTP 상태를 통해 CRUD를 실행


15. 인증 방법론

- OAuth, 기본 인증, 토큰 인증, JWT, OpenID


16. 메시지 브로커(Message Brokers)

- RabbitMQ, Kafka


17, 검색 엔진 학습

- ElasticSearch, Solr, Sphinx


18. 도커(Docker) 학습


19. 웹서버 학습

- Apache, Nginx, Caddy


20. 웹 소켓(Web Socket) 학습


21. GraphQL 학습

- Graph Query Language

- 페이스북이 개발한 데이터 질의어 (스펙)

https://velopert.com/2318


22. 그래프 데이터베이스 학습


23. 그외 학습

- Profiling, Static Analysis, DDD, SOAP



///=============================================

< DevOps 로드맵>


1. 언어 학습

- Python, Ruby, Node.js, Go, Rust, C/C++


2. 여러 OS 개념 학습

- 프로세스 관리, 쓰레드, 병렬실행, 소켓, 입출력, 가상화, 메모리,저장, 파일


3. 서버 관리 학습

- 리눅스(우분투), 터미널


4. 네트워킹, 보안

- DNS, OSI 모델, HTTP, HTTPS, FTP, SSL/TLS


5. 서버 세팅(설정)

- 프록시(Reverse, Forward), 캐쉬 서버, 로드 밸런서, 방화벽, 

- 웹서버 : Apache, Nginx


6. learn infrastructure as code (서버 설정 자동화)

- Containers : Docker

- Configuration 관리 : Ansible

- Infrastructure Provisioning (서버 설정 자동화): Terraform


7. SI/CD 도구 배우기

- Jenkins, Teamcity, Circle CI


8. 서버와 앱 모니터링

- Infrastructure(서버) 모니터링 : Nagios, Icinga, Datadog, Zabbix, Monit

- Appication(앱) 모니터링 : AppDynamics, New Relic

- Logs(로그) 모니터링 : ELK Stack, Graylog, Splunk, Papertrail


9. 클라우드 서비스

- AWS, Google Cloud, Azure, Digital Ocean, Heroku


반응형
Posted by codens