作为一名全栈工程师,必须具备的硬件和软件环境有哪些?
1 怎样成为一名全栈工程师?
在知乎上对全栈工程师有精彩的解答,而我个人对全栈简单的理解就是为了承担互联网初期创业过程中的各种角色(运营,产品,测试,美工,开发(前后移动端),运维,架构),而随着公司业务扩展,后期会寻求更加专业的人员协同工作,共同做好一件事情。
至于众筹呢?因为现代社会单打独斗的时代早已成为过去,成功往往都需要依赖团队作战,并不是每个人都懂运营,产品,测试,美工,开发(前后移动端),运维,架构才能创业。
2 全栈工程师-硬件篇
现在开发一款产品(拿淘宝网作为例子吧),既要满足移动端(Android,IOS和平板),又要满足PC(Windows,Mac,Ubuntu)端的使用(通常都是通过使用HTTP协议请求),而处理它们业务请求的背后通常都是成百上千万的Linux服务器集群。
因此开发一款伟大的产品,初期必须要具备一台硬件配置牛逼哄哄的PC或者笔记本,推荐的配置为:
CPU | i7四核 |
---|---|
内存 | 16G/32G |
磁盘 | 512SSD+2T移动硬盘 |
推荐笔记本机型:MacBookPro 京东链接
推荐台式机机型:联想IdeaCentre AIO 510S 京东链接
3 全栈工程师-软件篇
3.1 操作系统
目前的操作系统主要分为Unix和Windows两大类。
其中PC和笔记本在国内90%都是采用的Windows7(Windows10)系统,少量用户(开发者,产品美工设计者)使用MacOS10.12。
服务器端大量采用Unix衍生而来的Linux(CentOS6)。
移动端Android6是由Linux衍生而来,IOS10又是由MacOS衍生而来的。
3.2 系统软件
软件设计和开发过程中会使用各种软件来提高工作效率.
最常使用的系统软件非Office套件(Word,Excel,PowerPoint,OutLook)莫属了,幸运的是现在Mac平台也可以使用了。
在编写接口文档,使用手册以及各种说明文档和演示文档都会频繁使用到,也是装机必备的软件。如果想在Windows上运行Linux(CentOS)或者MacOS怎么办呢?这时候就可以借助VMware Workstation Pro来实现,启动界面如下:
这里借助VMWare安装了CentOS7和Ubuntu16系统
如果想在MacOS上运行Windows10则可以通过Paralles DeskTop12 来实现,运行效果如图所示:
因为现在绝大部分软件都会有Mac版本,但是有些软件的功能在Windows上更加丰富。比如百度云的客户端等等。而且少数软件(例如PowerDesigner)没有Mac版本。
3.3 应用软件
即时通讯:
QQ 微信 :大型互联网公司通常都是以群或者讨论组的方式进行沟通,它们俩在Mac和Windows平台都有实现。喜欢淘宝的用户也可以在Mac下使用阿里旺旺与卖家沟通了。
文本编辑:
在Mac平台上有UtrlEdit,Atom两款强大的编辑器,同时还有支持MarkDown语法的MWeb和Ulysses编辑器
3.4软件开发
Jetbrains公司为开发者们提供涵盖开发C/C++,Java,PHP,Python,Web,IOS,数据库的强大集成开发环境。
以上开发工具涵盖了Mac,Linux和Windows三大主流平台。
如果想在Windows上开发Windows应用,微软自家的VisualStudio2015是不错的选择,启动界面如下:
如果想在Mac上开发Mac或者iPhone和iPad应用,苹果自家的XCode是最佳的选择
而Google在IntelliJ IDEA的基础上开发出来了专门用于Android程序开发的Android Studio
如下图所示是我的MacBookPro上所安装的集成开发环境们
数据库客户端:
Windows下开发通常使用DataGrip或者Navicat来连接远程服务器的Oracle或者MySQL数据库,有Mac版本。Linux远程客户端:
SecureCRT:运维工程师们的最佳Linux远程客户端,有Mac版本
XShell:可以通过XManager实现访问Linux上的图形化界面应用程序,例如Java的JVisualVM原型设计:产品经理的IDE
Axure RP 有Mac版本
4 MacBookPro 最佳软件
条条大路通罗马,想完成相同功能的场景下有许多同类型的软件可以选择,接下来介绍MacBookPro下面的最常用的最佳软件
PDF Expert :苹果自家开发的PDF阅读器,在软件开发过程中遇到问题的系统解决方案就是阅读书籍,它就是最好的PDF阅读器了。
TeamViewer:最佳的远程连接工具,如果还没有公司的VPN账号,而且又远程办公,那么就需要在你的PC和笔记本上同时装上相同版本的TeamViewer来实现了。
Chrome:是我最常使用的浏览器,在开发时还安装了几个不错的插件。
CleanMyMac:Mac下的系统垃圾清理软件
Dash:Mac下的开发帮助文档集成工具
StartUML:好像没有更好的UML选择了,就是它
iTerm:比自带的shell工具更加强大