王志勇 发表于 2018年12月12日 07:25
使Webshu中断最大的原因是2004年3月,我去了深圳,当时在华强北,差一点就转向另一个行业──电子元件,2004年底才又重新回到了互联网。华强北有国内最大的电子元件采购市场:华强电子世界、赛格广场、都会、新亚洲。
这些年,我写过的程序不计其数。因为我喜欢把关联较强的语句,都写在同一行,所以无法计算出写过多少行程序,只能以小时计算。我从一个网页制作者,变成了设计者、前端开发者,2002年编写了第一个留言板程序之后,成了程序员。
虽然程序的工作量是难以想象地庞大,但是只有程序才能创造想要的平台。
经过这十几年的开发和测试,每写一段程序,都需要考虑它在高并发时候的情景,所以对于程序效率是十分谨慎的。写程序时,一次就写好,将来无需再优化,因为写程序时已经做到优化。如果将来再优化,改动的工作量可能是惊人的。
促使我爱上编写开源软件的原因,也是因为开源软件能够把作者的想法传播出去。无论是作者通过别的渠道有较高收入,或者较少收入,那么你仍然是优秀的程序员。因为想成为优秀的程序员,你必须有作品,必须有能够说得出来的作品。这也是我废寝忘食、奋力加班编写开源软件的原因,哪怕生活中有各种事情阻断我写程序。
程序和平面设计、诗歌一样,同样优美。但不同的是,尽管程序的工作量异常庞大,但程序相对较容易完成。因为平面设计、诗歌,如果没有题材和素材,是很难凭想象而产生作品。程序是根据需要、根据功能来编写,不需要像设计那样去凭空想象。程序开发就像做数学题一样,很多思路是不可预知的,是在开发中自动产生的。
同时,由于程序的工作量庞大,我写过的程序一般也不再去阅读。当程序完成之后,3个月之后,自己写过的程序还能马上读懂70%-80%;有些复杂的部分,可能要解读半天~一两天的时间才能还原开发时的思路。因为程序的工作量庞大,要记的东西实在太多太多,这种情况下记忆力不好是很正常的。
如果别人给我一个类似的程序成品让我看,我也看不懂,因为思路无法在程序中体现,无法还原。所以,很多程序,只有作者一个人懂。对于成品,我一般不写注释,因为一是很花时间,二是影响程序效率。只有单机版的程序,便于二次开发,我才会写注释。
程序里曾经出现过很多巧妙的解决方法、高效率的优化方式,这部分对我来说是像诗歌一样优美,单一小段优美的程序,说3天都说不完。
虽然程序工作很繁重,但促使我爱上写程序的原因之一是:程序能越写越优美。
促使我爱上写程序还有一个原因:不用框架,而大部分语句都用原生的程序语言、函数,这样能够写出自己风格的程序;或者需要时也会常常用到别人写的代码、少数时候需要用到类。比如一个预计20K的程序项目,如果用框架,光是一个JQuery文件就是100多K,或者一个框架就是几百K、几M,怎么能够实现自己需要优化的效果呢?所以应该脱离框架,用原生的程序语言才能让程序达到最优的优化效果,因为框架里有大量模块是用不到的。
也可以自己编写模块、框架。尽管如此,程序的开发工作量依然庞大,我最近最常谈到的词是重构、从0编写,因为可重复复制的模块,并不多。当然,程序开发最开心的事情就是能够重复复制模块,可以大大缩短开发时间。
在不久的时间里,大家将能免费下载到我编写的第一个开源程序:Feedval RSS阅读器,敬请关注!
2018-12-12 09:09更新:关于bug的问题,因为程序我在编写时都有很多的情形测试,所以bug较少。只有超出测试情形的时候,才会有少量的bug出现。
或者由于客户端的网速很慢,也会造成一些bug的出现、数据写入错误,在这种情况下程序里是能够写防错、或者自动纠错的程序,防错的程序已经写了很多;但是自动纠错的程序、自动重建数据表的工作量很大,因为程序里面对数据库的写入语句实在太多,一般在服务器的内部传输不会出错,只有在用户post数据的时候,网络阻塞时,input或textarea区域会有一定的数据丢失,这一块儿将会重点编写防错程序。自动纠错的部分,暂时不编写。除非是一个极其重要的数据项目,才会大量写入自动纠错的程序(工作量会增加很多)。
万一实在是出现了软件崩溃,我会编写相应的修复程序,并且在用户数据不丢失的情况下,这种情形一般不会出现,这么多年也尚未遇到过。
自由勇 2018-12-12 16:39
谢谢关注!真是有缘。当时的IP数每天大约2000~3000。平台虽然有一定访问量,但是没有成功。在那个时候也不好接广告,广告一般要求每天1万IP以上。
那时候维护Webshu真的很辛苦,写了将近1年的文章。
也许将来Webshu会重新改变角色,成为我的开源程序的发布平台。
年轻时,因为种种原因,总是需要保护自己的代码。现在随着年岁的增长,我巴不得把源代码(我的作品)免费送到用户的手中。年岁越大,这种想法越强烈,因为好东西不去分享,终会烂在自己的手里;到年老时,年轻时创造的这些,终究会离你而去。
置顶的文章:
论朋友圈可以发什么?
短信验证开发的方案分享
巡回更新:2018-09-21
速度是永恒的主题
UTF-8、HTTPS原来都是浮云
https安全吗?
独立博客有必要安装https吗?
近期的主题:
夜晚靓歌(10):你没看过的《星雨心愿》
Feedval、Blogval将下线/谈理财和生存
2024.9感言
人生讨论(20):有人借钱怎么办?(2)
人生讨论(19):迄今为止最强的情感频道
数码评测(67):让小米/红米手机的反应提高1~2倍
数码评测(66):无线网卡FW150UH VS FW150UH
数码评测(65):如何快速自制CPU天梯图?
数码评测(64):2024年,你还在用VGA线吗?
人生讨论(18):6年就可以实现财务自由
人生讨论(17):为什么总是受欺负?
人生讨论(16):要钱的最新妙招
创业杂谈(17):什么项目能赢利?
人生讨论(15):有人借钱怎么办?
数码评测(63):高清切换超级神器
数码评测(62):再谈视频的尺寸
数码评测(61):近期数码采购和折腾
人生讨论(14):看穿尊重
数码评测(60):图拉丁-最佳中配工作“免费”手机
创业杂谈(16):博客何时终结?
版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。
与此相关的链接
自由勇专栏
Blog存档 Archives
2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +