程序员是这样炼成的(7)-水滴石穿(转载)

程序员是这样炼成的(7)-水滴石穿 <br />    周末跟曾经的一位程序员同事聊天,他说他貌似遇到了技术的瓶颈了,最近一直在刻苦攻读,希望可以突破自己取得进步。有时候想想自己还挺惭愧的,高手 们况且都还在不断的努力,自己的日子过的总是有点太安逸。我们总是在清醒的时候,喜欢为自己制定计划,每天要完成多少行代码,多少天要看完一本技术方面的 书,但是计划总是没有办法实现,因为我们有一个口头禅叫”没时间”。<br /><br />   编程其实没有捷径可走,虽然你可以花很短的时候完成一本速成教材,但是你以后解决你遇到的问题时间肯定要比你学习的 阅读详情

  周末跟曾经的一位程序员同事聊天,他说他貌似遇到了技术的瓶颈了,最近一直在刻苦攻读,希望可以突破自己取得进步。有时候想想自己还挺惭愧的,高手们况且都还在不断的努力,自己的日子过的总是有点太安逸。我们总是在清醒的时候,喜欢为自己制定计划,每天要完成多少行代码,多少天要看完一本技术方面的书,但是计划总是没有办法实现,因为我们有一个口头禅叫”没时间”。

编程其实没有捷径可走,虽然你可以花很短的时候完成一本速成教材,但是你以后解决你遇到的问题时间肯定要比你学习的时间多的多,我们每天的工作就是新的练习和挑战,我们要尽可能的再平时认真对待我们遇到的问题,一个一个的攻克难题,实现量得积累,把我们的无知和丑陋都暴露在平时,在关键的时候,我们才能实现质的突破。那么作为一名软件开发人员,我们应该知道如何进行练习?如何提升自己的水平?如果把这个问题展开,那就太大了,我觉的我可以出本书来讨论了,在这里我只简单的跟大家分享下,我的感触在四方面进行练习和提高:

A.极限练习。
B.技巧练习。
C.模仿他人。
D.即兴思维。

 

一、极限练习
   人无论是运动还是思维都会有自己的一些极限值。我小时候体育成绩不多,1000米跑步成绩还不错,很多同学向我请教经验,有的说跑久了呼吸吃力。有的说跑久了肚子疼。老是说,其实我也一样,每次跑一段后就会发现自己,呼吸困难,心跳剧加。这个就是我们说的个人的运动极限,如果你能坚持下去,反复的练习,这个极限出现的时间,就可以往推迟,你的运动能力就能提升。如果你遇到的极限就放弃了,那么你永远都没有进步。
    编程也是如此,我们在工作中总会遇到大大小小的麻烦,你会为这些麻烦而头疼吗?你可以选择把这些问题放一放,等别人解决了自己再去copy下,也可以去请教‘百度’马上把问题也解决掉。但是这不是最好的解决办法,我很反对程序员们在自己连问题都没有看清楚,想都没有想的情况下,就去百度或者优快云.编程的工作,就是用人脑去控制电脑的过程,很多人都不愿意让自己的大脑装些知识,这么问题都去请教,虽然看上去试谦虚好学,实质上确是思维懒惰。我在这里并不是反对大家多提问,多交流,而且希望大家可以在开始提问之前,把问题尽全力想清楚透彻,多尝试几次,挑战下自己思维的极限,不要以为头大就放弃了一次提升自己的机会,纸上得来终觉浅,绝知此事要躬行.

二、技巧练习
     你写的代码可以优化吗?你喜欢的编程语言支持正则表达式吗?你是不是创造了很多不必要的冗余代码,你会使用API吗?你掌握了你喜欢的编程语言的多少知识?多线程会吗?同步呢?我们每天都在至少做8小时的工作,你有没有想过在通过技巧的提高,对过去知识的总结,用6个小时去完成过去8个小时的工作?为自己赢得两个小时的休息时光,去维护自己的学习手册 。

三、模仿他人
      如果你没有看过或者用过别人的源代码,甚至连hello world 都不知道的,请跳过该节。像练字一样的,程序也可以临摹。你可以去一些开源社区,挑选你喜欢的任务或者功能来练习。也可以去下载一些源码,理解别人是怎么做出来这样的功能的,然后把源码删除,自己重新做一个相同功能的,或者寻找不同的风格或者用不同的编程语言来实现。你甚至可以在网络上找一个自己喜欢的小软件,尝试着去实现这个软件。这些都是练习,可以培养你在最快的时候里弄清楚需求,培养你读懂别人代码的速度,培养你思维的活跃度,快速的完成开发。
BTW,我前几天上网发现了一个非常不错的博客,我确定要把博主的全部文章中技术代码都实现一次。做为我4月的一个任务。:)

四、即兴思维
这一点的练习跟人的创新能力息息相关,你知道你喜欢的语言编出的最小的应用程序是多大吗?当你的同学,同事向你求助的时候,你会以最快的速度拿出解决方案吗?难道你没有发现这些豆是很好的练习和挑战,这些都是你作为一个程序员的责任。在紧急的关头,以优秀并且迅速的编程能力来满足需求,这是一种能力。

绳锯木断,水滴石穿,刚才说的这些练习都不一日之功,罗马也不是一天修成的,日积月累你才会发现原来自己在成长了。大家要勤加修炼!!

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/GODYAD/archive/2011/03/28/6284835.aspx

兔子与樱花---每对结点的最短路径 http://dsa.openjudge.cn/graph/0713/ 总时间限制: 1000ms 内存限制: 65535kB 描述 很久很久之前,森林里住着一群兔子。有一天,兔子们希望去赏樱花,但当他们到了上野公园门口却忘记了带地图。现在兔子们想求助于你来帮他们找到公园里的最短路。输入 输入分为三个部分。 第一个部分有P+1行(P<30),第一行为一个整数P,之后的P行表示上野公园的地点 阅读详情

相关推荐

从零开始:Doherty功率放大器的ADS仿真实践指南

本文详细介绍了Doherty功率放大器在ADS中的仿真设计流程,从基础原理到实际工程应用。通过负载调制技术,Doherty结构显著提高了功率放大器的效率,特别适合处理高峰均比信号。文章包含ADS环境搭建、对称与非对称设计、常见问题调试等实用内容,为射频工程师提供全面的实践指南。

weixin_29313547的博客 690

如何最骚气得在linux下聊qq(mojoqq)

为什么80%的码农都做不了架构师?>>> ...

weixin_34095889的博客 361

爬取国家统计局最近10年年度数据

一、编码流程 1.目标网址:https://data.stats.gov.cn/easyquery.htm?cn=C01 2.编码思路: (1) 解析左侧指标树,实现4级标签定位 (难点:层层嵌套,下一级指标的xpath路径以上一级指标为基础;不是所有二级指标都含有三和四级指标,需要进行判断) (2) 使用selenium webdriver 点选指标,加载出右侧表格数据 (难点:当指标无法在全局页面显示时,需向下拖动滚动条) (3) 解析右侧数据,实现数据存储 3.使用模块: (1) selenium:解

weixin_39645690的博客 4558

一个技术管理者的苦逼【技术管理漫谈】

希望给你3-5分钟的碎片化学习,可能是坐地铁、等公交,积少成多,水滴石穿,谢谢关注。 角色转变    从工程师转技术管理这两年,好比头马变成车夫,除了角色认知的转变,还要看方向,定计划。不仅仅是自己拉好车的事情,更重要的是赶好车,最后到达目的地。而所有这一切的基础都要有一个底盘支撑,那就是沟通。   一个人的开发,你就是整个世界,自导自演,一人吃饱,全家不饿;一群人的开发,好...

weixin_30267785的博客 72

基于ENVI5.6与SARscape的哨兵一号时序InSAR实战:从数据准备到PS/SBAS结果解译

本文详细介绍了基于ENVI5.6与SARscape软件,利用哨兵一号(Sentinel-1)卫星数据,进行PS-InSAR与SBAS-InSAR时序分析,以监测地表形变的完整实战流程。内容涵盖从数据下载、软件配置、预处理、核心处理步骤到结果解译与质量评估,重点解析了PS与SBAS方法的关键参数设置、常见问题及解决方案,旨在帮助用户掌握从数据准备到成果分析的完整技术链条。

oo7890的博客 633

【为K8s的coredns配置上游DNS服务器】

为K8s的coredns配置上游DNS服务器一、背景描述二、如何修改coredns达到目的三、修改coredns 解析指定域名走指定dns①、get coredns configmap②、修改coredns configmap③、查询现有coredns pod并逐个重启④、验证解析是否正确 一、背景描述 有一个项目需要部署到客户内网,并通过nat映射实现外网访问! 项目中有多个服务之间调用是走的外网域名,项目采用k8s集群容器部署,客户的网络情况导致服务之间通过外网域名互调时总是 connection ti

那个那个 6670

利用记录型信号量解决不会出现死锁的哲学家就餐问题

试利用记录性信号量写出一个不会出现死锁的哲学家进餐问题的算法 规定在拿到左侧的筷子后,先检查右面的筷子是否可用。如果不可用,则先放下左侧筷子, 等一段时间再重复整个过程。 分析:当出现以下情形,在某一个瞬间,所有的哲学家都同时启动这个算法,拿起左侧的筷 子,而看到右侧筷子不可用,又都放下左侧筷子,等一会儿,又同时拿起左侧筷子……如此 这样永远重复下去。对于这种情况,所有的程序都在...

weixin_30276935的博客 1万+

Zemax实现微透镜阵列光束整形(原理+仿真)

通过Zemax实现微透镜阵列的光场整形仿真。

VJCP_90909Bu0的博客 1万+

使用资源排序解决Java线程死锁解决的方法

      经常看以前大学里面的教材中的一个解决线程死锁的例子,其技术叫做"资源排序",但代码只是一部分,我今天把它写全,这里的关键点是线程对各个对象加锁顺序一定得保持一致.   /** * 此类轻易的解决了死锁问题,其核心思想为 各线程按照顺序依次对各对象加锁, * 假设有三个线程需要竞争三个资源,线程加锁顺序是 lock1,lock2,lock3,这个应该称作为 "资源排序" ...

forchase的专栏 532

3D Slicer肺部CT病灶体积测量:阈值法实操全流程

在医学影像分析中,病灶体积的精准测量是肿瘤评估、疗效随访和科研统计的重要基础。传统逐层手动勾画不仅耗时,且主观差异大,而基于CT值的阈值分割技术,通过设定灰度区间自动提取目标体素,能够快速生成三维分割结果,具有高效、可重复、边界标准统一的优势,尤其适用于肺部实性结节这类与周围肺实质对比度高的病灶。理解体素与CT值的关系,掌握阈值范围的设定逻辑,并配合连通域分析、边缘修正等工程化操作,即可在3D Slicer中稳定获得可靠的体积数据。本文从技术原理出发,系统梳理了DICOM导入、窗宽窗位调节、阈值选择、三维重

weixin_29050271的博客 251

FD.io/VPP — VPP 的实现原理解析

目录 文章目录目录VPPVPP 的关键创新技术数据报文的矢量处理标量报文处理方式I-cache miss 问题矢量数据报文处理方式标量 v.s. 矢量报文处理流程Packet Processing Graph(数据报文处理图)Packet Processing Graph 的处理流程Graph Node Plugin 机制 VPP WIKI:https://wiki.fd.io/view/VPP Docs:https://fd.io/docs/vpp/master/index.html Github:ht

烟云的计算 2593

一些可视化的骚图

箱形图 小提琴图 * 描述 小提琴图 (Violin Plot) 用于显示数据分布及其概率密度。 这种图表结合了箱形图和密度图的特征,主要用来显示数据的分布形状。中间的黑色粗条表示四分位数范围,从其延伸的幼细黑线代表 95% 置信区间,而白点则为中位数。 箱形图在数据显示方面受到限制,简单的设计往往隐藏了有关数据分布的重要细节。例如使用箱形图时,我们不能了解数据分布是双模还是多模。虽...

kaikai_sk的博客 1万+

openclaw中文版安装教程和常用命令

OpenClaw 中文版的和,涵盖本地一键部署、Docker 隔离部署、阿里云极速部署三种方式,以及六大类高频命令,方便你快速上手和日常运维。

suny8的专栏 2998

锁的概述

一. 为什么要引入锁    多个用户同时对数据库的并发操作时会带来以下数据不一致的问题:    丢失更新  A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统    脏读  A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致    不可重复

ly_wolf的专栏 682

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

下一篇: 程序员是这样炼成的(9)- 每天有目标的编程
eric802
博客等级 码龄17年 24粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值