文档章节

程序员自我修炼——引领你成为真正的编程大神

科技创造
 科技创造
发布于 2015/09/02 11:07
字数 1003
阅读 774
收藏 17

     建议

       不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用。

       回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样。

       一定要动手,例子不管多么简单,建议至少自己手敲一遍看看是否理解了里头的细枝末节。

       一定要学会思考,思考为什么要这样,而不是那样。还要举一反三地思考。

       :你也许会很奇怪为什么下面的东西很偏Unix/Linux,这是因为我觉得Windows下的编程可能会在未来很没有前途,原因如下:

       现在的用户界面几乎被两个东西主宰了,1)Web,2)移动设备iOS或Android。Windows的图形界面不吃香了。

       越来越多的企业在用成本低性能高的Linux和各种开源技术来构架其系统,Windows的成本太高了。

       微软的东西变得太快了,很不持久,他们完全是在玩弄程序员。

       所以,我个人认为以后的趋势是前端是Web+移动,后端是Linux+开源。开发这边基本上没Windows什么事。

  

       1、 学习一门脚本语言,例如Python/Ruby

       可以让你摆脱对底层语言的恐惧感,脚本语言可以让你很快开发出能用得上的小程序。实践项目:

       处理文本文件,或者csv (关键词 python csv, python open, python sys) 读一个本地文件,逐行处理(例如 word count,或者处理log)

       遍历本地文件系统 (sys, os, path),例如写一个程序统计一个目录下所有文件大小并按各种条件排序并保存结果

       跟数据库打交道 (python sqlite),写一个小脚本统计数据库里条目数量

       学会用各种print之类简单粗暴的方式进行调试

       学会用Google (phrase, domain, use reader to follow tech blogs)

       为什么要学脚本语言,因为他们实在是太方便了,很多时候我们需要写点小工具或是脚本来帮我们解决问题,你就会发现正规的编程语言太难用了。

       2、 用熟一种程序员的编辑器(不是IDE) 和一些基本工具

       Vim / Emacs / Notepad++,学会如何配置代码补全,外观,外部命令等。

       Source Insight (或 ctag)

       使用这些东西不是为了Cool,而是这些编辑器在查看、修改代码/配置文章/日志会更快更有效率。

       3、 熟悉Unix/Linux Shell和常见的命令行

       如果你用windows,至少学会用虚拟机里的linux, vmware player是免费的,装个Ubuntu吧

       一定要少用少用图形界面。

       学会使用man来查看帮助

       文件系统结构和基本操作 ls/chmod/chown/rm/find/ln/cat/mount/mkdir/tar/gzip …

       学会使用一些文本操作命令 sed/awk/grep/tail/less/more …

       学会使用一些管理命令 ps/top/lsof/netstat/kill/tcpdump/iptables/dd…

       了解/etc目录下的各种配置文章,学会查看/var/log下的系统日志,以及/proc下的系统运行信息

       了解正则表达式,使用正则表达式来查找文件。

       对于程序员来说Unix/Linux比Windows简单多了。学会使用Unix/Linux你会发现图形界面在某些时候实在是太难用了,相当地相当地降低工作效率。

美文推荐:

© 著作权归作者所有

科技创造
粉丝 37
博文 199
码字总数 174505
作品 0
徐汇
程序员
私信 提问
新任技术管理者应该怎样去开始帮助他人?

原文:Never been manager 作者:Eric Brechner 译者:陆其明,爱奇艺公司技术总监,拥有10多年的软件技术研发和管理经验。已经出版的著作有《DirectShow开发指南》、《DirectShow实务精选》...

dev_csdn
2017/11/23
0
0
了解这些内容,就能完成程序员到架构师的转变题文章

当你点开这篇文章,也许正是你踌躇不前的时期,职场生涯正处于迷惘阶段,不上不下。你可以选择点击右上角,关上一扇窗,但上帝不会为你打开另一扇门,因为钥匙在自己手上。 很多程序员,到了...

禁区铁铍人
2017/12/14
0
0
编程的艺术门槛

编程是门艺术,这个说法由来已久。最近在朱赟的公众号(嘀嗒嘀嗒)读到一篇文章《设计是门逻辑学,然后才是美学》,文中作者漂洋过海追寻艺术,老师却说:“设计不是艺术!”。如果设计都不是...

Fico
2016/07/11
12
0
码农要读书——献给所有的码农们

[+]查看原图 每年的今天,都会听到有这样的提问,什么时候会有男生节,男人节。还真是让我等回答不上来。小编能做的,就是献上一期码农专题,让你们更加的进步,让你们身边的家人们、朋友们过...

生气的散人
2013/03/08
1K
20
推荐几个值得关注的技术公众号(年度精选)

牛客网 牛客网(网址:https://www.nowcoder.com)是一个面向程序员大学生的题库平台,包括了IT名企历年笔试真题,以及各类编程语言题库。扫描二维码后点击链接,进行注册,即可开始做题。 ...

bjweimengshu
2017/12/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

自定义ApiBoot Logging链路以及单元ID生成策略

ApiBoot Logging会为每一个请求都对应创建链路编号(TraceID)以及单元编号(SpanID),用于归类每一次请求日志,通过一个链路下日志单元的Parent SpanID可以进行上下级关系的梳理。 前文回顾...

恒宇少年
25分钟前
11
0
浅谈 Application 和 activity

对于 在 Application初始化一些变量,为什么不可以放在activity 或者其他的组件里呢? 这里就根据个人的理解来讲述一下,欢迎补充指正。 首先 activity 是以栈的形式出现,一个app应用会有多...

MrLins
25分钟前
11
0
Allegro的脚本文件内容里都有哪些

小伙伴们在使用Allegro的时候是否经常用到脚本文件夹呢?scr的用法其实可真不简单。。。 首先脚本文件的运行模式就存在很多种,比如不提示错误信息,不弹出确认对画框(这样很有利于我们执行...

demyar
27分钟前
21
0
微信升级外链管理规范,「砍一刀帮我加速」要被禁止了

原创: 蒋鸿昌 首发:「知晓程序」公众号 - 最好的微信新商业媒体 几天前,知名互联网评论人阑夕模仿皮尤研究中心(Pew Research Center)在美国做的互联网通识调查问卷,做了一份中文版问卷...

知晓云
28分钟前
15
0
CentOS 7接投影仪

我将一台安装着CentOS 7图形界面的惠普笔记本电脑当桌面使用。最近,想要连接投影仪时却遇到了问题。笔记本有一个HDMI接口。我买了一个HDMI---->VGA的转接线,连上笔记本电脑后,屏幕一直在闪...

大别阿郎
31分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部