- 웹 개발자의 기술 학습 순서, 공부 로드맵(단계별 기술 습득)
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
'IT' 카테고리의 다른 글
DNSCrypt 사용법 (0) | 2019.02.22 |
---|---|
프로그래밍 언어 인기도 (2018년 11월) (0) | 2018.11.07 |
Microsoft Office 간편 실행 서비스 사용 중지 하기 (0) | 2018.10.14 |
Atom Editor 사용법 (0) | 2018.10.03 |
AWS EC2 인스턴스 암호키 파일 변경 방법 (수정) (2) | 2018.10.01 |