좋은점 정리
1. 요즘 기술 트렌드가 뭔지 알 수 있음.
2. 전체적인 기술 생태계 흐름을 읽을 수 있음.
3. 다양한 기술들을 인덱싱 해두어서 필요할 때 꺼내어 조사를 시작할 수 있음.
4. 위에 리스트업 한 것들을 기반으로 성장 방향을 탐색할 수 있음.
기술 리스트업 (진행중)
- 어떤 식으로 카테고리를 나눌까에 대해서는 계속해서 고민하고 있음.
- 각각 기술들에 대해서 깊게 조사하기 보다 이걸로 뭘할 수 있는지, 어떤 문제 해결할 수 있는지 정도만 간략하게 정리하려고 함.
- 계속해서 정리하고 작성하는 중. 틀린것 있을 수 있습니당~
1. 마인드셋
어떤 관점으로 일에 임하는지
1) 성장을 갈망하는
- 멈추지 않고 성장 추구하는
- 팀 성장 방법 고민하는
- 새로운 방법론/기술 도입 즐기는
- 일 주도적으로 이끌어가는
2) 협업을 즐기는
- 자기 생각 이해 쉽게 표현할 수 있는
- 동료와의 커뮤니케이션에 능숙한
3) 문제해결에 집중하는
- 문제의 본질에 집중하는
- 기술보다 도구의 가치에 집중하는
- 문제 해결하는 것에 즐거움을 느끼는
- 고객 중심으로 생각하는
- 우선순위를 구체적으로 파악하는
- 데이터 기반으로 문제를 파악하는
2. 방법론
어떤 관점으로로 개발에 임하는지
1) 아키텍쳐
뭔가를 만들 때 어떤 재료들을 어떻게 조합하여 만들지에 대한 고민하는 것
2) 애자일
뭔가를 만들 때 부분에서 전체로 접근하는 것이아니라, 느슨한 전체에서 조밀한 전체로 접근하는 것
- 데일리 스크럼 / 짝 프로그래밍 / 테스트 주도 개발
3) 자동화
뭔가를 만들 때 기계적이고 반복적인 작업을 사람의 개입 없이 진행되도록 함으로써 직관적이고 창의적인 작업에 보다 많은 주의를 기울일 수 있도록 하는 것
5) 리팩토링
뭔가를 만들 때 있어야 할 곳에 있어야 할 것들이 있도록 정리정돈 하는 것
3. 인프라
프로그램이 돌아가는 물리적 기반.
1) 클라우드
통신을 통해 활용한 수 있는 외부에 위치한 인프라
- AWS EC2 / Firebase / AWS Lamda / TaskWorld
2) 컨테이너
하나의 서버를 여러개처럼 사용하는 방법
- Docker / Kubernetes / Ansible
4. 런타임
이걸로 프로그래밍 언어를 실행할 수 있음.
1) 예시
- Node / JVM(Java Virtual Machine) / Web-Browser
5. 언어
이걸로 프로그램을 만들 수 있음.
1) 기타
- Python / Java / JavaScript / Kotlin / Swift / Golang
- C / C# / C++
- HTML / CSS / Stylus
- Typescript
- GraphQL
6. 툴
내가 만드는 프로그램과 완전히 독립되어 있는 개발도구.
1. IDE
Integrated Development Enviroment
개발에 필요한 도구들을 모아둔 종합 개발도구 (코딩, 디버깅, 컴파일, 배포)
1) 파일 단위
- Android Studio / Visual Studio / Visual Studio Code / Xcode / Pycharm
2) 코드 단위
2. DBMS
DataBase Management System
내가 만드는 프로그램에 필요한 데이터를 관리하는 개발도구.
1) SQL
Structured Query Language
테이블 형식의 구조화 된 데이터를 다루는데 사용되는 언어
- mysql / mariadb / aws rds / postgreSQL / aurora db
2) NoSQL
Non Structured Query Language
- mongodb / realm / counchbase /
3. WorkSpace
- monday / flow / jira / slack /
4. Note
5. DevOps
1) CI/CD
2) Monitor
6. SCM
-
Source Configuration Management
-
코드와 더불어 그 코드와 관련된 메타적인 데이터(버전, 메모, 배포 등)까지 같이 관리하는 프로그램.
-
git / github / gitkraken /
7. Design
8.Build
- Gradle / Maven / CocoaPods
99. 기타
- oltp / olap
- elastic search
7. 프레임워크
- 내가 만드는 프로그램의 틀을 잡아주는 개발도구.
Example
AI
distributed processing
Web
- Spring
- Vue.js
- Nest.js
- Next.js
- Nuxt.js
- React.js
- Express.js
- Mithril.js
Test
ORM
기타
8. 라이브러리
- 내가 만드는 프로그램에 가져다 쓸 수 있는 개발도구.
1) bundler
2) State
3) Test
9. 프로토콜
10. 인터페이스
API
흥미로운 글이네요!