什么是技术栈
技术栈
Technology Stack
是在软件工程领域里用来描述开发特定软件应用或服务时所使用的一系列技术和工具的集合。
这个概念涵盖了从底层到上层、前端到后端、从操作系统到编程语言、数据库到框架等等。
而我们在学习编程的过程中经常听到前辈提到技术栈路线,这指的则是自己根据自己的喜好和擅长领域而选择的技术培养路线。
全栈工程师则是前后端上下层等等技术全部都掌握并且在工作中应用——在我看来这是个相对的概念。
操作系统 :
操作系统为软件提供运行环境,比如大家都在用的Windows,macOS,专门用于开发的Linux。
后端技术:
编程语言:
比如Java、C、C++、Python、C#、Ruby、Node.js等。
每个编程语言都有其技术特性,比如C更接近底层、广泛应用于嵌入式开发和部分深度学习。
Java常用于大型企业应用,Python则常用在数据科学,
框架:
比如
Spring Boot(Java)
Django(Python)
Ruby on Rails(Ruby)
Express.js(Node.js)
这些框架很大程度上简化了应用开发。
数据库:
比如MySQL、PostgreSQL、MongoDB等等。
和编程语言类似,不同的数据库类型具有一定的技术特性。
MySQL适合关系型数据,MongoDB适用于非结构化数据存储。
前端技术:
前端技术涉及用户界面的构建,说白话就是客户使用的时候能看得到摸得着的东西。
要用到的耳熟闻详基础技术比如大名鼎鼎的HTML、CSS、JavaScript。
前端框架:
React、Angular、Vue.js等等,提供了组件化开发方式。
状态管理:
Redux(React)、Vuex(Vue),可以用于管理应用状态。
工具与服务:
包括版本控制、持续集成/持续部署、API设计工具、测试框架等,这些工具与服务支持软件的开发流程、辅助程序员进行程序开发。