程序员

想知道吗?CTO 比普通程序员强在哪?

☆樱花仙子☆ 提交于 2019-11-29 19:47:20
互联网的蓬勃发展,让无数的程序员身价水涨船高,都变成了「香饽饽」,更有了不少「创业」,「当上 CTO,迎娶白富美的传说」。都说不想当元帅的士兵不是好士兵,我觉得这件事见仁见智,但提升自己的价值,让自己变得更优秀更有竞争力,一定是一线城市的大部分 IT 人内心的追求。 诚然,并不是所有程序员都会变成 CTO,程序员——>CTO 的路径像是一个漏斗,极少数人沉淀下来,在业界掀起一阵阵飓风。这些 CTO 比起普通的程序员,强在哪?丰富的技术知识只是基础,更重要的是战略眼光,管理把控能力。那么 CTO 所思所想,和普通程序员究竟有什么不同? 普通的程序员往往只负责模块的开发,代码的优化,和新技术的钻研,哦对我说的是普通程序员,而不是只会 fork 的小白程序员;而走向管理领域的高级程序员也许已经开始负责团队,背负团队进度和效率。而 CTO,往往不仅要考虑优化团队的开发工具、流程,肩负起把控整体技术方向的重任,要具有前瞻性,同时还要对企业绩效负责。尤其是技术驱动型公司,你问这样的公司 CTO 好招么,答案通常是「很难招」。技术选型其实是创业公司最纠结的问题,很多团队往往一上来基于已有的程序员的个人习惯和爱好,选择了一个技术方案,然后到某一天一看,我靠,全是坑(当然,也可能与执行者的能力有关)。 图为通常来说程序员的发展路线: 影响企业绩效的因素在方方面面,核心因素却往往集中在产品上

如何提高程序员的键盘使用效率

隐身守侯 提交于 2019-11-29 19:42:28
1目前每个程序员都离不开命令行,在类Linux命令行下,有些快捷键会经常用到: Ctrl+a:光标回到命令行首(a:ahead) Ctrl+e:光标回到命令行尾(e:end) Ctrl+u:删除整个命令行文本字符 当然还有更多的快捷键需要在实际使用中慢慢形成习惯。 2训练自己的键盘或者快捷键技能,需要长期的积累过程,机械化的训练可以使人形成某些肌肉记忆。 3这里有一个专门为程序员设计的打字网站 https://typing.io/ ,我刚完成了一个Demo 来源: https://www.cnblogs.com/cgsilent/p/11530309.html

第二次作业

杀马特。学长 韩版系。学妹 提交于 2019-11-29 19:36:32
一、红芯事件 2018年8月16日,红芯浏览器被曝套用了谷歌Chrome的版本。而对于浏览器的插件,七存在代码注释过多、冗余、语言过时,并且存在关于保密性的虚假宣传等问题。接下来几天,许多程序员对红芯浏览器提出了质疑。 二、我的观点 客观上,代码注释过多、冗余、所用语言过时的等因素确实会提升浏览器的不安全性。代码注释是为了帮助程序员更快的理解代码的内容,但过度的注视只能体现出编写的程序员在经验积累上完全不足,这也反衬出红芯公司在招聘员工时存在放水的现象。数据容易会导致程序的可读性降低,安全系数也会降低。所用的JavaScript语言在目前的商业发展中正逐渐被退却,是因为其难以再适应快速发展的IT行业,红芯浏览器是我国的一家大型IT公司,这也违背了其应有的形象。最后关于红芯的保密性与诚信问题。红芯公司在推出该浏览器时强调该浏览器的隐遁、云适配、可控等优势,但实际上并没有实现这些功能,不仅无法保证客户信息的安全性,更违背了商业道德,诚信的理念被抛之于脑后。 三、赞同的观点 1、创新就要脱离与目前已有的模式,过度抄袭和欺骗只会对自己未来的发展带来众多不利影响。 2、企业发展虽然重要,但道德、诚信的观念不可失。 3、我们作为评论者,在看待问题时不能一味地专注于别人的缺点,其优点也是可圈可点的。 来源: https://www.cnblogs.com/wssym1314/p/11529941

如何提高程序员的键盘使用效率?

可紊 提交于 2019-11-29 19:34:44
调研分析程序员使用键盘最常用的技能有些?输入速度、快捷键、VIM命令等 调研如何训练这些技能?您认为达到什么程度才算合格? 推荐训练这些的技能的游戏或工具或练习题,并给出您完成训练以后达到的熟练程度(量化指标如正确率、速度等) 完成以上内容写一篇博客分享给大家,如形成一套训练方案并得到众多同学参与排名可得到课程额外加分   工欲善其事必先利其器,选用适合自己的键盘将大大提高自己的效率,推荐微软自然 人体工学键盘 4000,总体感觉还是不错,长期使用对手腕的保护作用还是很明显的。与其配合最好的编程工具是VIM,合适的VIM快捷键配置让你在编程的时候基本不用移动你的手!据说微软的Arch键盘也很不错哦!有兴趣的可以多尝试一下,选择一个更适合自己的键盘。 (附上一个键盘推荐的链接:http://www.sohu.com/a/121499677_445013)   而我也选择了一个适合自己的键盘!如下!!!因为对于我来说只需要Ctrl+C或者Ctrl+V就可以轻松完成。   当我们都选择了合适的键盘之后,接下来就需要练习对键盘的熟练程度,像我就天天在练习Ctrl+C或者Ctrl+V。当打字速度练习到炉火纯青的地步,再加上对快捷键的理解就可以大大提高对键盘的使用效率。那没问题就来了,如何练习提高自己对键盘的熟练度呢?首先需要保证一个正确的指位,练习指位的话最好就是用金山打字通

进程的引入,计算机的发展史

眉间皱痕 提交于 2019-11-29 19:22:19
目录 并发的背景 操作系统的发展 第一代计算机(1940~1955):真空管和插件板 第二代计算机(1955~1965):晶体管和批处理系统 第三代计算机(1965~1980):集成电路芯片和多道程序设计 并发的背景 引入: 顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。 操作系统的发展 为什么要有操作系统 现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输入输出设备组成。 一般而言,现代计算机系统是一个复杂的系统。 其一:如果每位应用程序员都必须掌握该系统所有的细节,那就不可能再编写代码了(严重影响了程序员的开发效率) 其二:并且管理这些部件并加以优化使用,是一件极富挑战性的工作,于是,计算安装了一层软件(系统软件),称为操作系统。它的任务就是为用户程序提供一个更好、更简单、更清晰的计算机模型,并管理刚才提到的所有设备。 总结: 程序员无法把所有的硬件操作细节都了解到,管理这些硬件并且加以优化使用是非常繁琐的工作,这个繁琐的工作就是操作系统来干的,有了他,程序员就从这些繁琐的工作中解脱了出来,只需要考虑自己的应用软件的编写就可以了,应用软件直接使用操作系统提供的功能来间接使用硬件。 发展史 第一代计算机(1940~1955):真空管和插件板 第一代计算机的产生背景: 第一代之前人类是想用机械取代人力

C/C++学习路线

别说谁变了你拦得住时间么 提交于 2019-11-29 18:57:34
C/C++学习路线 随着互联网及互联网+深入蓬勃的发展,经过40余年的时间洗礼,C/C++俨然已成为一门贵族语言,出色的性能使之成为高级语言中的性能王者。而在今天,它又扮演着什么样重要的角色呢?请往下看: 后端服务器,移动互联网后端,经典Windows界面开发,移动互联网端界面开发,跨平台界面开发,图形分析,系统架构,应用设计,还有现在最为流行的分布架构等一些新的技术领域。 这么牛的语言,你是不是想知道怎样学习和掌握它呢?接下来请看经过小编整理过C/C++工程师必备知识的思维导图。 初学者看到这么密集的知识点,是不是有点眼晕呢?的确,C/C++是一门知识面覆盖很广的学科。想学好C/C++的你并不需要慌张,内容虽多,但依然有法可依。只要有足够的耐心和毅力,加上正确的学习方法,就不怕你学不好C/C++。 既然如此,C/C++开发到底需要学些什么呢,又应该怎么学呢?接下来由黑马程序员C/C++学院教你如何从零基础学习C/C++开发,快速进入牛人之列,掌握这门贵族语言。 一、初级入门阶段 在入门之初,首先要做的是通过C/C++语言的学习培养编程思维和动手能力,深刻理解面向过程和面向对象的思想方法。这个阶段你需要学习: ① C语言 数据类型、变量、内存布局、指针基础; 字符串、一维数组、二维数组; 一级指针,二级指针,三级指针,N级指针概念,指针数组和数组指针; 结构体、文件的使用;

Hadoop系列之二:大数据、大数据处理模型及MapReduce

扶醉桌前 提交于 2019-11-29 17:17:05
1 、大数据 (big data) 什么是大数据? wikipedia 上面给出了这样的定义: In information technology, big data is a collection of data sets so large and complex that it becomes difficult to process using on-hand database management tools or traditional data processing applications. 大数据是指庞大而且复杂 ( 如半结构化甚至是非结构化数据 ) 的数据集,这些数据集很难由现有的数据管理工具或传统的数据处理程序进行处理及操作等。通常,大数据的数据来源包括社交网络、 web 服务器日志、流量传感器、卫星传回的影像、银行交易信息、 web 页面内容、 GPS 轨迹信息、遥感汽车车行记录、金融市场数据等。 那么,多大规模的数据算得上是大数据? 2008 年, Google 每天需要处理的数据量为 20PB ; 2009 年, Facebook 有 2.5PB 的用户数据,且以每天 15TB 的速度增长; eBay 有 6.5PB 的用户数据,且以每天 50TB 的速度增长; 2011 年, Yahoo! 共有 180 到 200PB 的数据; 2012 年,

网络编程之并发编程——操作系统介绍

怎甘沉沦 提交于 2019-11-29 17:14:18
网络编程之并发编程——操作系统介绍 一、为什么要有操作系统 现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输入输出设备组成。 一般而言,现代计算机系统是一个复杂的系统。 其一:如果每位应用程序员都必须掌握该系统所有的细节,那就不可能再编写代码了(严重影响了程序员的开发效率:全部掌握这些细节可能需要一万年....)。 其二:并且管理这些部件并加以优化使用,是一件极富挑战性的工作,于是,计算安装了一层软件(系统软件),称为操作系统。它的任务就是为用户程序提供一个更好、更简单、更清晰的计算机模型,并管理刚才提到的所有设备。 总结:程序员无法把所有的硬件操作细节都了解到,管理这些硬件并且加以优化使用是非常繁琐的工作,这个繁琐的工作就是操作系统来干的,有了他,程序员就从这些繁琐的工作中解脱了出来,只需要考虑自己的应用软件的编写就可以了,应用软件直接使用操作系统提供的功能来间接使用硬件。 二、什么是操作系统 精简的说的话,操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。操作系统所处的位置如图 ps:操作系统位于计算机硬件与应用软件之间,本质也是一个软件。操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成,所以

Python学习之旅:用Python制作一个打字训练小工具

核能气质少年 提交于 2019-11-29 16:35:35
一、写在前面 说道程序员,你会想到什么呢?有人认为程序员象征着高薪,有人认为程序员都是死肥宅,还有人想到的则是996和 ICU。 别人眼中的程序员:飞快的敲击键盘、酷炫的切换屏幕、各种看不懂的字符代码。 然而现实中的程序员呢?对于很多程序员来说,没有百度和 Google 解决不了的问题,也没有 ctrl + c 和 ctrl + v 实现不了的功能。 那么身为一个程序员,要怎么让自己看起来更加“专业”呢?答案就是加快自己的打字速度了,敲的代码可能是错的,但这个13却是必须装的! 然而还是有不少人打字不那么快的,可能就需要训练下了,但是既然身为程序员,为何不自己写一个训练打字的小工具出来呢? 二、基本思路 使用 PyQT5 开发 GUI,实现显示句子并让用户输入,然后将输入的内容和给出的句子进行比对,同时记录所用的时间,最后将正确率输出来。为了能够持续打字输入,还需要做一个“下一句”的功能。在实现了这两个基本的功能后,一个简单的打字训练小工具就做出来了。 三、界面设计 1.环境配置 PyQT5 的开发环境配置在上一篇博客中已经说过了,因而这里不再赘述,如果不清楚的可以点这里查看。 2.界面设计 要进行界面设计,得先打开 QtDesigner,然后新建项目,选择 Widget: 然后就往里面拖控件就好了,这还是很方便的,主要用的控件包括 Label、Text Edit、Push