程序员的十八般兵器库
今天早上开车的时候,一直都在构思要写点什么。于是,我可能超速了。圆明园西路和万泉河路那一段,限速60,监控也多,稍不留神就容易超速。就为了我这么专注和敬业的劲儿,你们是不是应该表示表示......
说到专注,我觉得程序员是最能让人专注的职业,构思代码逻辑、算法设计、编程调试、BUG FIX...每一样都必须100%的专注才能做好。程序员也是让人羡慕的职业,只需要敲敲键盘、用用脑子,就能拿到比其他职业高得多的薪资。
那么,怎么才能做好一名程序员?这得先从咱们程序员使用的十八般兵器说起。没有趁手的兵器怎么上阵杀敌?本文就来捋一捋当今程序员们的兵器库。
我记得2003年的时候,当时Python也没开始流行,开源的项目更是少得可怜。为了做一个境内网站自动发现和备案的系统,我用C语言从零开始写了TCP半连接扫描代码,程序逻辑和代码操作要精细到TCP/IP协议中的每个Bit;为了开发爬虫,连一个简单的URL Parser都得自己用C从头开始写。那个年代就是程序员的新石器时代,只能拿木棍和石头作为武器,战斗效率是很低的... 哪像现在的程序员这么幸福啊,各种高级语言随便选:JAVA / Python / Go / Swift / Javascript / Scala / Luby / Kotlin / Julia... 开源工具更是比比皆是,简直不要太爽。
本文我们不讨论哪种语言更好(你看上面我都没列PHP),而是集中捋一捋这近几年程序员们日常工作中常用的开源工具,这才是我们上阵杀敌的真正兵器。
经过这二十多年开源社区运动的磅礴发展,如今不管是前端工程师,还是JAVA工程师、大数据工程师、AI算法工程师...每种岗位都有无数的开源工具供你使用。熟练掌握这些兵器怎么用、用在哪里是程序员们上阵杀敌的必备技能。
以下根据本人过去几年的工作经历梳理而成,我们来看一看每一类工程师的常用兵器都有哪些,供需要的朋友参考。受限于自己的经历,加上技术发展太快,这个清单肯定不全面,大家可以在评论区补充和完善。
- 交互设计师 常用兵器
- UI设计软件:Illustrator / Photoshop / AfterEffects / Sketch
- UE设计软件:Axure / XMind
- 前端工程师常用兵器
- 基础语言:HTML / CSS /Javascript
- 开发框架:React + React-router + Redux;Vue + Vue-router + vuex
- 数据可视化:Echarts; Three.js, D3, zrender
- 打包工具:Webpack / Gulp
- 服务端:Node.js, npm
- JAVA工程师常用兵器
- 微服务开发框架:Spring boot + Spring Cloud
- 注册中心:Eureka,服务网关:Zuul,服务容错:Hystrix
- 配置中心:Appolo;流量控制:Sentinel
- 日志监控:ElasticSearch + Logstash + Kibana
- Metrics监控:Sprint boot Metrics + Grafana
- 消息队列:Kafka,缓存:Redis,客户端Jedis或Redisson
- 数据访问层:Mybatis + MySQL
- API定义与测试及文档生成工具:Swagger
- 爬虫工程师常用兵器
- 前端结构解析:HTML / CSS / Javascript / XPath / csspath / regexp
- 后端分析破解:HTTP; Cookie; Session
- 常见开发语言:Python / Javascript / Typescript / Java
- 爬虫框架:scrapy;Chrome + Puppeteer; PhantomJS + WebDriver; Node.js + Virtual DOM
- 数据存储:Redis, Kafka, MySQL, SSDB, ElasticSearch, Zookeeper
- 大数据工程师常用兵器
- 开发语言:JAVA / Python / Scala / Go
- 两大生态:Spark / Hadoop
- 数据汇集:数据同步 Sqoop / Flume / Canal / FlinkX / Databus; ETL工具:NIFI / Flume / Kettle / Logstash
- 数据存储:HDFS / ALLUXIO / HBase / ElasticSearch / MySQL / TiDB / MongoDB / FastDFS; Greenplum / ClickHouse; InfluxDB / TDEngine; Neo4j / Titan
- 数据分析:HIVE / Presto / Impala / Kylin;图挖掘:NetworkX / GraphX
- 离线计算:Spark & SparkSQL / MapReduce;任务调度 AirFlow
- 实时计算:Kafka + Spark Streaming / Storm / Flink
- 微服务:Dubbo / Netty / Spring系列 / Zookeeper
- 展现应用:HUE, Airpal, Superset, Jupyter
- 算法工程师常用兵器
- 机器学习:sklearn, CRF++, libsvm, XGBoost, LightGBM, LightLDA
- 深度学习:TensorFlow, MXnet, Pytorch, caffe/caffe2, Keras
- 自然语言处理:word2vec, ELMo, BERT, GenSim, fastText, StanfordNLP, jieba, LTP, AllenNLP
- 排序学习:RankLib
- 图像处理:opencv
- 测试工程师常用兵器
- 测试开发:JAVA/Shell/Python
- 性能测试:Jmeter, LoadRunner
- 自动化测试:RobotFramework, Selenium, Appnium, QTP
- 接口测试:PostMan
- 安全测试:NMap, AWS, Nessus, Metasploit
- 持续集成:Jenkins
- 运维工程师常用兵器
- 运维开发:Shell / Python / Java / PHP
- 监控工具
- 数据存储:ElasticSearch / MongoDB
- 数据获取:beats / Flume / Logstash
- 可视化:Kibana / Grafana
- 告警:Grafana
- 网络监控:SNMP + Logstash + ElasticSearch + Grafana, PRTG;
- Hadoop集群监控:Ambari + Dr. Elephant
- 服务器自动化:SaltStack, Cobbler, foreman, storcli+megacli, IPMI远程管理
- 虚拟化工具:VMWare Vsphere / KVM / libvirt
- 容器相关:Docker, 编排工具Rancher / Google Kubernates,镜像管理 Apache Harbor
- DNS :NSD + UNBOUND,PDNS+PDNS-RECURSOR;
- 代理及隧道:Nginx / ShadowSocks / Stunnel+Squid;
- 安全工具
- Web安全测试: BurpSuite / Fiddler / SoupUI / Sqlmap / AWVS / OWASP ZAP;
- 渗透测试: Nmap / Hydra / hashcat / Ophcrack / OpenVAS / Nessus / Beef Framework / Metasploit / CobalStrike / Empire / PowerSploit / NiShang
- 代码审计:Fortify / findbugs;
- 安全防御体系: 主机入侵检测OSSEC / 网络入侵检测Suricate / 安全运维平台OSSIM / OpenSOC / 蜜罐Kippo / 日志审计ELK / Splunk;
- 应急响应与取证: Autopsy / Volatility;
- 源码库及版本管理:SVN / Gitlab; JAVA Lib私服:Nexus; NPM私服sinopia
看了上面这些琳琅满目的兵器库,会不会感觉脑仁疼...
从互联网在国内开始兴起那会儿,程序员才正式成为一门职业,至今也还不到三十年;而个人计算机作为程序员日常工作的工具,也才出现四十年。短短几十年,这个职业对程序员的技能要求越来越高、越来越繁杂... 以至于你稍不留神就会跟不上时代。如何应对技术的日新月异?我想,快速的自主学习能力,应是程序员最重要的一项能力。
如果你是程序员,不妨在评论区说说你是什么岗位、日常兵器都有哪些?
本文若对你有所帮助,可以点击下方的“喜欢作者”,那将是对本人莫大的鼓励。
阅读原文 最新评论
推荐文章
作者最新文章
你可能感兴趣的文章
Copyright Disclaimer: The copyright of contents (including texts, images, videos and audios) posted above belong to the User who shared or the third-party website which the User shared from. If you found your copyright have been infringed, please send a DMCA takedown notice to [email protected]. For more detail of the source, please click on the button "Read Original Post" below. For other communications, please send to [email protected].
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。