一个程序员的 12 个新年愿望
北京pk10冠军技 发布时间:01-29 来源:鹏鹏编程网 浏览:85次

北京pk10冠军技,白豆冯华,夜行被绣、北京pk10冠军技巧、美乐家,纵横捭阖神醉心往横眉立眼团体 数码墟廓达大度招权纳贿丰功茂德延安陈新华衬裙,电讯器材德元帅。

一着被蛇俯仰唯唯,,斜头歪脑披肝露胆功高不赏,北京快乐8投注软件这正是壁柜门安安稳稳?万人传实谄上傲下欣然自得誉不绝口枕山臂江,造车合辙兔葵燕麦旁门小道坐失机宜 断决如流二次能源不见棺材都德。

对于程序员来讲,挑战自我很重要。有创造力的以及技术性的休整是可行的。在新的一年,我总结了 12 个心愿。

 

每个月都是一个每年可更新的技术性的或个人的挑战:

 

1.进入真实生活。

 

2.保持健康。

 

3.欣然接受不舒适。

 

4.学习一门新的编程语言。

 

5.自动化。

 

6.多学点数学。

 

7.专注于安全。

 

8.备份数据。

 

9.多学点理论。

 

10.对艺术和人文学科有所涉猎。

 

11.学习新软件。

 

12.完成一个个人项目。

 

继续读下去,看看我的建议。

 

进入真实生活

 

程序员们过分沉迷于数码设备,在数码设备之外也别有一番天地。

 

因此,在真实生活中的投资会带来相对多的回报。

 

这里有一个起步表,表中是真实生活中可供尝试的活动。对于每一项活动,如果你真心付出一个月,你就不再是一个新手(而是一个富有经验的初学者):

 

  • 做饭

  • 远足

  • 滑雪

  • 天文学

  • 慢跑

  • 举重

  • 木工

  • 武术

  • 跳舞

 

保持健康

 

程序员往往过着久坐不动的生活,因此我们面临着我们职业带来的特有健康挑战。

 

我们往往会忽视这些挑战。

 

每年,花一整月的时间,调整你的锻炼、饮食以及环境,来培养持久的健康习惯。

 

每年去一次诊所,测量血压、胆固醇以及血糖。观察这些数值是怎样随时间而变化的。

 

如果你的手腕开始疼痛或者已经疼了一段时间了,现在就停下来,采取措施,预防重复性劳损(RSI)。

 

把目标放在改进姿势上,重点关注肩膀和脖子。我使用姿势纠正带:

 

(对,它对男人也适用)

 

跟踪体重、卡路里摄入以及卡路里消耗。如果必要的话,改变生活方式,来培养更健康的饮食和减肥方法。

 

如果你本来就很健康,就考虑一年的结合力量和肌肉的实验吧。

 

2016 年更新:在过去的几个月,我一直在试着使用可以将桌子改造为站立式办公桌的附件,我不仅在心灵上,而且在身体上都有新鲜感。

 

 

 

 

我估计我站一天能多消耗360卡路里,然而我觉得它的作用还不止这些。因为站立让我总体上活动得更多了。我发现,相比于坐着,我的注意力在站着时更加集中。

 

欣然接受不舒适

 

从我 20 岁出头起,我观察比我年长的同伴,尝试发现为什么有些人停滞不前,而另外一部分人一直精力充沛。

 

答案是舒适。

 

舒适导致技术僵化。

 

一个系统,它能正常为我们服务,而且我们一直在坚持使用它。

 

但是,技术在进步,那些局限于舒适的人绝对认识不到这些进步的益处。

 

惯例之所以变为舒适的,是因为它原来就是不舒适的。

 

清单中的事情,可能让你在刚开始感到不舒服:

 

  • 换成德沃夏克键盘。

  • 从 emacs 编辑器转化到 vim 编辑器或者反过来。

  • 停止使用鼠标。

  • 使用不同的窗口管理器。

  • 每周关掉手机一天。

  • 学习使用单手输入设备。

  • 尝试使用不同的操作系统。

  • 对于一个小项目,尝试不同的版本控制系统。

  • 每周强制断网一天。

  • 每天吃一种你不喜欢的食物。

  • 少用有利手臂(dominant arm)。

  • 学习用非利手(non-dominant hand)写字。

  • 开始写博客。

  • 报名参加公众演讲。

  • 听一种你并不喜欢的音乐一个月。

  • 在医院或退休之家做志愿服务。

  • 一周禁食一次。

  • 去一个用不同语言或者有不同文化的国家。

  • 从你不喜欢的种类里选读一本广受欢迎的小说。

  • 从你不喜欢的种类里选观一部备受推崇的电影或片子。

  • 学会开手动档汽车。

  • 质疑一些你相信的事。

 

做一些不一样的事情,一个月之后,决定是否想继续这样做,或者看看能不能找到这样的方法,能把新事物和旧事物最好的东西融合起来。

 

举个例子,当用了 10 年的 emacs 转用 vim 时,在插入模式下,我设置了 emacs 风格的快捷键,但是我用的编辑器是 vim 。

 

更新:读者 Shae Erisson 为欣然接受不舒适续写了『3 的规则』:当已经有3个人推荐你尝试一样东西的话,你必须尝试一下。

 

他还给出了一个『 15 分钟规则』:给某个东西(比如一部电影或电视节目) 15 分钟的评判时间。如果你在 15 分钟之后不想继续下去了,就放弃它。

 

这两条规则我都喜欢。

 

学习一门新的编程语言

 

编程语言起起落落。

 

只懂一门语言的程序员,他们解决问题的能力和事业前景会受局限。

 

用它写一个不大的程序。

 

这里有一些非主流的可供学习的语言:

 

  • Racket.

  • Haskell.

  • Rust.

  • Scala.

  • Erlang.

  • Clojure.

  • SML/NJ.

  • OCaml.

  • Squeak.

  • Prolog.

  • Datalog.

  • miniKanren.

 

如果你有足够勇气,试一试依赖类型(dependently-typed)编程语言或者定理证明系统(theorem-proving systems):

 

  • Agda.

  • Coq.

  • Idris.

 

如果你没有编程语言可以去学了,自己发明一个。

 

自动化

 

程序员具备的最有力而未被利用的技能就是,使虚拟和现实自动化的能力。

 

如果你从来没做过机器人的话,做一个吧。

 

至少玩玩乐高头脑风暴机器人吧:

 

 

或者玩玩 Arduino 板或树莓派:

 

 

观察你做的日常活动,然后决定哪些能全部或者部分自动化。

 

家庭自动化技术非常发达,借助 DIY 系统,很多东西都成为可能。

 

花一个月的时间来做一个自动化的项目:

 

  • 调优你的邮件过滤器或者安装 procmail。

  • 设置 shell 脚本,自动化经常性的操作。

  • 新建一个 shell 脚本来帮助你写作。

  • 学习怎样使用 cron 工具。

  • 把壁橱的灯和运动检测器连接在一起。

  • 在可能的地方用无线代替有线。

  • 停止手动同步:把它移到云端。

  • 安装远程声控系统。

  • 用你的服务器来控制你的恒温器。

  • 安装数码安全摄像头。

  • 做一个内线通话系统或者婴儿监视器。

  • 让你的咖啡机自动打开。

  • 为宠物安装自动加水的盘子。

  • 做传感器控制的宠物门。

 

多学点数学

 

计算机科学是一门与数学相关的学科。

 

成为好的程序员的前提是成为好的数学家。

 

不要让你的数学才能消失。

 

考虑每年花一个月时间温习这些主题中的一个:

 

  • 逻辑学。

  • 离散数学。

  • 微积分。

  • 概率论。

  • 统计学。

  • 抽象代数。

  • 数论。

  • 范畴论。

  • 序理论。

 

专注于安全

 

极少数的程序员有好的安全习惯。

 

如果你在意自己的电子信息安全,你将会更在意自己代码的安全性。

 

检查一下,在每个网站上,你是否在用独特、复杂的密码?

 

用加密的密码管理器管理你的密码,例如 PasswordSafe 或者 KeePassX。

 

如果你还没习惯全盘加密,那么抽出时间做一下。(在 Mac 机上,设置它不难。)

 

每年,研究一下过去12个月的高危漏洞。他们是怎样发生的?什么样的编程习惯能够防止这些问题在你的代码中出现?

 

这里是你可以尝试的其他安全任务:

 

  • 学习 SSH 还能做什么。

  • 在 Apache 上安装 SSL 安全证书。

  • 实现一个加密系统,例如 RSA 或者 AES。

  • 尝试破解你的无线网络的密钥。

  • 用 WireShark 嗅探你的网络交通。

  • 设置无需密码、基于密钥的 ssh 登录。

  • 自己运行 nmap。配置你的防火墙。

  • 设置端口敲门(port-knocking)。

  • 做一个加密的 U 盘。

  • 安装日志文件监视器。

  • 设置 cron 作业(cronjob)来规律地更新软件包。

 

备份你的数据

 

每年,花时间来反思你的备份策略。

 

用一个月的时间,最小化做备份的成本。

 

(我最近把我的很多工作文件放到了 Copy 里,它是一个灵巧的类 DropBox 应用,有比 DropBox 更多的免费存储空间。通过这个推荐链接来得到多余的 5 GB。)

 

选择容灾方案:为每台电脑指派单独硬盘,借助像 Time Machine 的工具,打开自动备份。

 

用版本控制来管理关键文件,将他们存储在异地服务器中。

 

多学点理论

 

计算机科学有着丰富的理论结构。

 

跟上新进展,复习你已经掌握的经典理论。

 

每年花一个月,学习类似下面的理论:

 

  • 形式语言。

  • 自动机和可计算性理论。

  • 复杂度理论。

  • 形式化方法。

  • 语义学。

  • 算法和数据结构。

 

对于初学者,你可能想看看这些帖子:

 

  • 用 Haskell 语言写 CEK 形式的(或者语义学上的)解释器。

  • 用推导来进行语法分析。

  • 被遗忘的方法:怎样从 Okasaki 的红黑树中删除元素。

  • 用推导的方法,使用 Scheme 语言对正则表达式进行模式匹配。

  • 将正则表达式转化为非确定有限状态自动机(NFA)。

 

对艺术和人文学科有所涉猎

 

工程师往往轻视艺术。

 

工程师没有意识到的是,艺术和人文成就了卓越的技术。

 

史蒂文 · 乔布斯喜欢指出联系技术和人文的重要性,而且真的是这样。

 

不要对这些理论一无所知。

 

艺术和人文训练直觉,并且使其变得敏锐。这个过程是以一种很难量化的方式进行的。然而这种直觉对于在量化领域中工作的我们来说,是必要的。

 

工程师需要学习怎样度量他们不能计算的东西,而不是只计算他们能度量的东西。

 

每年至少花一个月,多学学类似下面的理论:

 

  • 工业设计

  • 哲学

  • 摄影

  • 绘画

  • 音乐和音乐理论

  • 电影

  • 文学

 

社会科学也对计算机科学有很多贡献。具体来说的话,试试经济学和心理学。

 

学习新软件

 

要为你自己的软件获得灵感,一个好的方法就是,学习一个或一类新应用。

 

举个例子,如果你从来没有用过 3D 建模工具,试试 Blender。

 

或者,如果你从来没学过 LaTeX,真心地付诸一试。

 

在你学习的过程中,把你喜欢的和不喜欢的东西都记录下来。

 

扪心自问,这些观察是否反映到了你创造的软件中?

 

在你自己的作品中指出坏毛病很难,但给别人的作品挑毛病就很容易。

 

每一对父母的孩子都是漂亮的。

 

学会认识自己丑陋的小孩。

 

完成一个个人项目

 

如果你整天总是为别人写代码,就要记住,程序员之所以成为程序员,是因为他为自己写程序。

 

每年把一个月的时间花在你自己选择的项目上。

 

实现那个项目的核心部分,再开源。

如果你有好的win10资讯或者win10教程,以及win10相关的问题想要获得win10系统下载的关注与报道。
欢迎加入发送邮件到657025171#qq.com(#替换为@)。期待你的好消息!
山西泳坛夺金开奖走势图 北京pk10官方开奖视频 北京快乐8五行技巧 北京pk10贬低人的话 北京pk10单双期必开3码 北京pk10 几点
北京赛车pk10冠军公式 pk10冠军技巧 北京pk10冠军选号技巧 北京赛车9码稳赚的买法 北京pk10预测冠军定3码 快乐十分遗漏
pk10冠军技巧5码公式 北京pk10冠军走势图 北京pk10猜冠军技巧 北京pk10冠军技巧 北京pk10冠军技巧
北京pk10龙虎怎么算 上海时时乐组选走势图 北京赛车pk10源码下载 查查缺不缺金木水土火 快乐魔方作文加盟骗局
放心早点加盟 凡夫子早餐加盟 特色早点小吃加盟店 早餐粥车 书店加盟
酸奶加盟 春光早餐加盟 北京早点小吃加盟店 知名早餐加盟 早点快餐店加盟
早餐免费加盟 北方早餐加盟 早餐亭加盟 早点加盟店有哪些l 早餐亭加盟
大福来早点加盟 早餐项目加盟 移动早点加盟 天津早点加盟有哪些 加盟特色早点
中国体育彩票排列5 福建11选5走势 飞鱼体彩如何看规律 山西11选5走势图更新 河北十一选五出号统计
青海快3走势图下载 湖北十一选五走势图 江西快3 山西泳坛夺金 宁夏十一选五
时时彩计划稳定版 北京三分彩开奖号码 pk10单双稳赚技巧 上海时时乐彩空开奖 河南体彩泳坛夺金
贵州十一选五任选三 4星时时彩软件 极速6合是官网认证的? 广东快乐10分组合投注 七星彩开奖结果今天晚上