主程序员的练成:技术篇概要

技术是程序员安身立命的家伙,主程的技术不强,向下难以服众,向上有负重托。

或许有人会问:技术深度上该挖多深才能做好主程?程序员至少有两个高阶成长方向:

1、技术型专家非常热爱技术本身,往往会钻研得非常深,甚至可以不承担管理职责(你心目中的榜样是谁?);

2、项目型专家着力于更好更快的实现项目,主导项目的团队组建、技术选型、架构设计、项目进度和质量管理等等,技术深度上不像技术型专家那么深,一般承担管理职责。

主程属于项目型专家方向,对技术深度广度的要求是够用就好,我对程序开发持实用主义态度,80%的场景只用到20%的知识点,那么就先掌握最常用的20%,让项目能尽快顺利开展推进,遇到问题了或项目不忙了再去深挖。

或许还有人会问:技术广度上是要很广才能做好主程?这个问题让我联想到了类知识竞赛的电视节目《一站到底》,里面的一些站神知识之渊博让人佩服,但如果不是兴趣爱好,不建议为了知识渊博而去渊博。《庄子·养生主》里“吾生也有涯,而知也无涯,以有涯随无涯,殆已”说得挺赞的,我们有限的精力,应该投入与成长目标相关的成长线中。所以主程不用是全才,主攻工作所在领域的技术,辅以一定的知识广度即可。

程序员所从事的领域各有不同,网站、移动应用、游戏、搜索、电商、大数据、智能硬件等等不同领域所涉及的高阶技术差别较大,需根据工作和未来职业规划来分清主次,试想大数据领域的主程去研究3D游戏图形引擎该多让主管头大~~!

本系列技术篇主要围绕网站、移动应用和游戏这些领域的相关技术,包括前端技术和后端技术,力求建立一个这些领域的主程序员必须的知识体系大纲,让程序员同学能有个整体直观的了解。

本系列技术篇会按照用户的一次网络通讯过程的顺序来安排:

1、发起网络请求前:讲DNS原理和CDN

2、网络请求时:讲TCP和应用层分包

3、服务端收到请求时:介绍几种常见的服务端架构和模型

4、服务端内部处理时:讲数据缓存及高性能话题

5、最后介绍日志及账单、安全等其他话题

时间: 2024-10-13 18:06:37

主程序员的练成:技术篇概要的相关文章

主程序员的练成:HTTP协议和二进制协议的对比

在上一篇<主程序员的练成:TCP.消息分包和协议设计>中谈了协议设计的一些话题,这里补充聊聊HTTP协议和二进制协议的对比. HTTP协议是一种文本协议,也是一种Name-Based协议,就从这两方面来说. 文本协议 vs 二进制协议 文本协议的特点: 便于人 易于阅读.理解.调试.构造 解析复杂.冗余多 需要考虑字符转义 二进制协议的特点: 便于机器 Name-Based vs Position-Based Name-Based协议的特点: 协议字段都用Name标识 协议字段与位置无关 协议

主程序员的练成:CGI和FastCGI

消息经过网络传输,到达了服务器端,最常见的服务器是Web服务器,做PHP的同学都知道FastCGI模式的PHP比普通PHP更高效,这篇就聊聊其中的原理. 古老但常见的CGI Web服务器能解析HTTP请求,返回静态资源(HTML页.图片等),但要输出动态内容,必须得PHP/C#/Ruby/Java/Python/C/C++这些外部程序来实现. 早期有个技术叫CGI(Common Gateway Interface,通用网关接口),是用于Web服务器和外部程序之间传输数据的一种标准.一个简单的CG

主程序员的练成:TCP、消息分包和协议设计

在<主程序员的练成:IP.DNS和CDN>中,一次网络请求经过DNS解析知道了目的IP,现在就要发出网络包,这里我们说一说TCP的相关话题. TCP是一种流式协议 讲网络编程的教科书一般都会对TCP的可靠传输,api用法做详细说明,但对于TCP是一种流式协议讲解的不多,但这背后隐藏着很重要的一个知识点.先做个名词定义方便交流,这里的"消息"是指应用层的一个完整的协议包. 流式协议的特点是什么?就像流水连续不断那样,消息之间没有边界.例如send了3条消息,分别是100字节.

主程序员的练成──引言

虽然是引言,但也很重要. 程序员如何成长?这个话题百度有大约170万个相关结果,介绍了不少从菜鸟到老鸟的经验,但如何成长为主程序员(以下简称主程),网上的"帮助文档"不完善,也缺少实践指南.本系列文章主题就是说说主程如何练成.为什么用"练"这个字,因为主程的很多技能光知道怎么做远远不够,还需要在实践中不断"训练"才能运用好.只有不断训练才能从知到行,从"知道"成长为"做到". 团队在任命主程时,大多会挑选经

程序员每天累成狗,是为了什么

HI,想我了吗 了吗 了吗?自从上次情人节一别,我已经接近20天没更新文章了. 至于原因:是,办点其他私事,这一段压根没怎么联网,所以不太好意思,我也很想你们了.大家也不要问为什吗,辣么帅的人有什么事了,从今天开始我就正式回归了!还是那熟悉的节奏和风格,和帅帅的颜值 掌声响起来...啪啪啪 啪啪啪 这篇文章的起因有二点: 一.我这些天之所以没更新,不是因为我懒,是因为我确实很累和其他私事. 二.有许多人问我说:小北哥哥,感觉每天都很累,真不知道为什么,什么时候是个头! 我看我们的很多同行,都是一

CSDN日报20170311——《程序员每天累成狗,是为了什么》

[程序人生]程序员每天累成狗,是为了什么 作者:郭小北 程序员可以投入的资本就是:身体和脑力,说白了都是出卖劳动力换取回报,也就是钱.我们大部分人都是凡人,或许当初是基于兴趣和理想去做一件事,入一门行,但随着阅历的丰富,年龄的增长,责任感的叠加你工作就是为了钱啊,因为在这个物质的社会,你连家都养不了,何来生活的更好? [物联网]Android Things --SDK框架 作者:王玉成 物联网应用开发与手机和平板的应用开发有一些区别,那么Android Things与Android又有哪些差别呢

程序员生存定律--定律的概要

程序员生存定律这书的目录在这里:程序员生存定律--目录 喜欢从头瞄的,可以移步. 生存定律总纲 如果我们承认交换是职场里一切的根本,那么就可以基于交换的特征推导出生存定律的纲要. 假设说一个人的技能所带来的价值是S,实现程度是A,那么S x A即为一个人可以为公司创造的可见价值,也即是可以从公司交换到的最大价值. 其中技能S是指一个人所能做的事,即自身的价值,可以是编程语言.设计知识也可以是管理知识等等.实现程度A则是指各种技能被周围的人认知的程度. 这好像有点绕,但实际上一个人的实际能力水平和

标准口语就是这样疯狂得练成地

口语是这样练成地: 1.看一部有兴趣的电影,(180分钟到三个小时不等) 2.到处宣传此影片主角的迷人程度,陶醉其中,向亲朋好友强烈推荐,精彩片段重温,引导大家一起看,自己从旁讲解,并乐此不疲.(视业绩而定) 3.疯狂搜索其剧本,(一个晚上或一个下午) 4.下载剧本,(宽带几分钟) 5.整理剧本,(三到五个小时) 6.打印剧本,(几分钟,打印店离你家较远之类情况不在考虑范围之内) 7.看剧本,大声朗读,好东西啊!(三十分钟左右,长了嗓子受不了,地点最好选在阳台,以免打扰同学或亲人工作休息) 8.

高手是怎样练成的1

1.2.1  高手成长的六个阶段 程序员怎样才能达到编程的最高境界?最高境界绝对不是你去编两行代码,或者是几分钟能写几行代码,或者是用什么所谓的可视化工具产生最少的代码这些工作,这都不是真正的高手境界.即使是这样的高手,那也都是无知者的自封. 我认为,一个程序员的成长可分为如下六个阶段. Ø         第一阶段 此阶段主要是能熟练地使用某种语言.这就相当于练武中的套路和架式这些表面的东西. Ø         第二阶段 此阶段能精通基于某种平台的接口(例如我们现在常用的Win 32的API