分类文档:编程 238篇

程序员/程序设计者的智商高吗?记忆力强吗?
2019年05月05日 09:34

这是几个月前在v2ex出现过的一个问题。我不能给出一个明确的答案,因为这个问题本身是没有结果的。智商高不高不敢说,但是从这种很特殊的职业性质来看,和别的职业有很大的不同:每天需要实际去解决在程序中的这个“现实”的问题,程序只要错一个字符,会导致整个程序无法正常运行,是极其精密的。由于长期处于这种身经百战的环境中,解决问题已经成为习惯。(智商、智慧的本质就是能够解决问题。)

但是,程序设计本身又有更特殊的一个性质,工作量极其庞大。所以一个人需要长期坐在电脑前,对社会外界的接触时间会大量减少,对八面玲珑的社交能力有一定的抑制。……

固定链接 | 发表评论(4) | Trackback(0)

回忆2001年左右的一位真正的早期电脑牛人(谈如今开发者的移动办公平台)
2019年04月29日 13:41

大约在2001年的时候,我在论坛看过网友发的一张图片,就是国外有个人,背着一台台式机+15英寸球面显示器,走在户外。因为那个时代的笔记本电脑,相当昂贵,约合人民币1万多~2万元,奔三处理器。现在在街上,很难见到这样的场景,因为大部分人都使用手机上网。然而,对于开发者,这个场景可能会再次重现。

首先回到标题的“电脑牛人”。那张图片我没有搜到,图片应该是出现拍于2001年,或者之前。15英寸球面显示器的功率我测过,约50W,那个时代的奔三处理器主机约80W-90W,含显示器整机功率在140W-150W左右。……

固定链接 | 发表评论(2) | Trackback(0)

https,想说爱你不容易
2019年04月27日 09:33

如果一个博客,一两个网站都启用https,影响不大。https,整页加密传输,防劫持,好看,跟得上趋势。但是对于多站点、多二级域名的项目,当达到50~100个以上的域名/二级域名,那么https的管理(包括安装、续期、定期检查),无疑是一场灾难,占用很多服务器资源和维护时间。这也是为什么我尽量使用http,而且鼓励使用http。

在现在各种主流的浏览器里,其实http和https加载的Cookies,是完全共享的。因此在http和https下加载的Cookies,可以互相调用、甚至能通过某个方法查阅。所以在Cookies这个单项的安全方面,http和https的安全性一样。……

固定链接 | 发表评论(11) | Trackback(0)

中国和美国的互联网技术、软件水平相比
2019年04月10日 07:43

昨天在v2ex看到这个帖子:https://www.v2ex.com/t/552910

我的回复:……

固定链接 | 发表评论(3) | Trackback(0)

JavaScript比PHP语句做得好的一个小细节实例
2019年03月31日 08:05

JavaScript这一种古老的语言,是目前唯一的网页前端编程语言,在2018年第1季度竟然排名为世界十大编程语言的第1名(新闻链接),这可能是由于JQuery的兴起。这个排名好像是受欢迎度、市场占有率,就像超级女声一样是通过投票的方式排名,但是排名不代表实力。在开发中,我个人感觉PHP很多方面比JS做得好,虽然语法几乎完全相同,PHP和JS之前我也写过几次对比(例如),它们在开发中的重要性,PHP应该在JS之前,PHP也比JS简洁很多。最近发现一个反例,这一点JS比PHP做得好。

比如获取地址栏。JS只要一个window.location.href,就可以获取整个完整的地址栏,甚至能获得#后面的数据,而且十多年前的JS版本就已经是这样的。PHP获取地址栏相对繁琐,PHP没有像JS的window.location.href一样的方法,只能是获取域名+域名之后的地址,如:……

固定链接 | 发表评论(0) | Trackback(0)

开发中遇到的安全矛盾:URL超时的设置
2019年03月30日 09:03

通过给URL设置超时的时间,能使URL只要超过这个时间,则URL失效。超时的时间设置越短,则安全性越高,内部URL通常在30秒~180秒比较好,验证超时,时间是从服务器获取的。因为项目开发中,会涉及到用户的不同服务器的数据传输,为了避免一些服务器时钟误差的问题,不得不将超时时间设置为2小时。

今天发现一个新的问题,服务器间还可能存在几个小时、十几小时的时差,那么不得不把超时时间设置为24小时。这个超时的时间太长,还得再想想别的办法,加入新的规则来验证。……

固定链接 | 发表评论(0) | Trackback(0)

程序开发中最尴尬的处境:就是不运行(更新解决方法)
2019年03月29日 09:35

昨晚写的在线更新的一个多行网址的验证功能,本来这个部分是比较简单的功能。语句明明都是正确的,但就是不运行,从昨晚临睡前到现在,为了处理这个问题,横竖左右各种办法来筛选错误所在,已经浪费了2个多小时,因为用的是top.abc.innerHTML,很难排查错误。以前遇到过很多次明明语句正确,就是不运行。要了老命了。

2019-03-29 10:26更新:……

固定链接 | 发表评论(0) | Trackback(0)

底层技术分享:PHP程序的代码如何加密
2019年03月29日 07:39

很简单,只需巧妙运用eval()函数,这个函数太重要了。方法是把源程序的字符在本机编写一个乱码器批量替换,在项目中做逆向还原,再被eval()函数调用。如果乱码太多的话,可能(可能性微小)会被某些杀毒软件报为病毒,为了避免这个问题,只需将一两个关键的PHP语句进行加密就足够。

大多数的工程、成品源程序被解读是没有意义的,因为一是无法逆向还原开发现场的思路,二是解读程序有可能比开发程序花的时间还长。因此,加密与否,很多时候并不重要。……

固定链接 | 发表评论(0) | Trackback(0)

https和iframe+JavaScript的一个重要测试、调试记录
2019年03月22日 20:57

https对于开发者而言,增加了很多不必要的工作量。在Eonval项目中,会用到很多的iframe+JavaScript。其中,有一些页面是提交后(如密码修改的功能),如果数据处理完毕,则跳转到相应的页面。https规定为iframe不能引用http的链接。

今天要做的测试是,iframe内的内页,需要用top.location.href的方法让父页跳转。测试中,如果父页是https,内页是可以用top.location.href跳转到http的站外链接,正好这条路没有堵死。如果将来堵死了,只能再多增加一个手续,先让top.location.href跳转到站内的https的一个页面A,页面A再跳转到站外的http或https链接。……

固定链接 | 发表评论(2) | Trackback(0)

开发中遇到的PHP中的一个重要bug
2019年03月22日 07:47

虽然PHP的确是公认的最好的语言,最近10年的世界TOP 20编程语言(市场份额),PHP一直名列前10名。PHP为什么好呢?个人觉得,好就好在PHP的设计者,把web开发者在编程中能遇到的问题,大部分都想到了,是一种十分完整的语言(在PHP 5时就已经达到这种水平)。大部分问题,他都有了解决方案。所以我们在开发中,会感觉更加得心应手,这是一个优秀的语言具有的特征。且PHP的执行效率,处于相对中等偏上的水平(与Golang、Node.js这些运行更快的平台相比);PHP比另外几个最受欢迎的语言执行效率高。如果程序设计中,没有瓶颈的问题,PHP的效率还是很高的。

昨天开发中,遇到PHP中的一个bug。setcookie函数,如下2行的语句:……

固定链接 | 发表评论(0) | Trackback(0)

程序开发的周期和难度
2019年03月12日 10:21

经典的PHP程序,以Discuz、WordPress为例,一个人从0开始,编写指定的和官方版功能完全一样的程序,目测至少得6-12月。3-4个月,是不可能完成的,因为光是帐号功能的开发至少都得1、2个月。开发周期的缩短,是用加班、健康、视力暴降、血拼换来的,血拼的结果就是健康出现严重问题。

为什么以Discuz、WordPress为例?因为这2个程序是应用最广的开源程序、大家都知道的程序。以前我见过很多人有Discuz、WordPress二次开发的需求,我觉得这类程序如果需要二次开发,真不如从0重新编写一套论坛、博客程序来得方便。……

固定链接 | 发表评论(1) | Trackback(0)

平台的Cookies方案设定的纠结之处(体验设计)
2019年03月09日 08:10

Cookies的设定,始终是一个矛盾的问题。如今很多APP受到用户的欢迎,有一个重要因素是Cookies的保存时间相当长,每天可以免登录打开。过去很多私密内容的平台(如电子邮箱、论坛),Cookies时间都很短,现在Cookies的时间非常长。比如我在调试服务器发邮件中,必须用到国外邮箱接收(国内邮箱接收国外服务器的邮件太慢,要慢几分钟,一天要测试几十次),所以选用了Yahoo邮箱,Yahoo邮箱的Cookies时间很长(电脑版),可以很多天不用登录。

这种情况在以前是没有出现过的,以前的电子邮箱Cookies时间很短,很多设置为关闭浏览器,即自动清除Cookies。……

固定链接 | 发表评论(0) | Trackback(0)

程序设计为什么总是会很慢很慢/为什么会有码农的说法?
2019年03月06日 15:17

无论怎样努力,速度总是有一个极限。一个看似并不复杂、心中已经有整体结构、并有把握能完成的项目,工作量常常会超出预期2-3倍。很多项目因为算法实在太多(巨量的任务),需要记很多东西,也常常会让人怀疑自己的记忆力。无论怎样努力,我常常每天至少要花费1/4以上的时间在解读昨天、以往自己写过的程序,1/3以上的时间在思考现在怎样写程序,有效的编程时间很难达到1/3。

这也是为什么工作会超出预期。……

固定链接 | 发表评论(3) | Trackback(0)

Ubuntu 12 VS Ubuntu 18 及软件的话题延续(2):为什么XP系统一直是我的编程环境首选?
2019年03月02日 09:16

第一篇得到的结论是,环境(系统、软件、硬件),有很多的细节,发展到了一定的程度,并不会在5、10、20年之后,再有发展,而是某个特定的技术细节,已经达到了无法突破的极限,就像人体无法长到3米高。特别是一些基础(底层)的技术细节,在开发的初期往往就已经达到了极限。后续的版本,仅是对基础功能的扩展,并没有性能的实质提升。

反而在环境的驱动下,使一些原本好用的基础功能变得不好用。所以,如今的很多系统、软件,变得日趋臃肿,比如最近2年的国内主流APP,很多安装包都从2年前的10M-30M,变成了现在的50M-100M。……

固定链接 | 发表评论(2) | Trackback(1)

Ubuntu 12 VS Ubuntu 18 / PHP 5 VS PHP 7
2019年02月28日 08:19

本文用这个标题,并不是将这些不同版本的平台,做细致、详细、性能跑分的比较。而是这些不同版本的平台,确实对我们的开发、程序运行有很重要的关联。以此类推,还有Win XP VS Win 7 / iPhone 6 VS iPhone 8 / G1840 VS G5500,等等……对于开发者来说,深知软件的版本,可以随意定。

不知是时间过快的原因,还是软件开发商的主版本更改过快?比如我在2011年使用的Chrome,当时的最高版本是Chrome 7.0.517.5。2018年9月,我下载的Chrome最新版是Chrome 68,到现在仅5个多月的时间,已经到了Chrome 73。导致主版本更改过快,可能还有个原因,用户有喜欢最新版本的需求,因此开发商争相加快更改主版本,但底层内核可能并未做实质的优化、提升。……

固定链接 | 发表评论(0) | Trackback(1)

PHP语句比JavaScript简短的一个最常用实例
2019年02月28日 06:47

JavaScript(简称JS),几乎是目前唯一的网页前端脚本语言(以前还有个VBScript,现在大部分浏览器不支持)。PHP和JS我之前做过很多次比较,在上手、易学方面,PHP比JS快很多,这是因为PHP能独立做出项目。对于独立的开发者(个人研究,非职场应用),JS基本上不用专门学,是一个水到渠成的过程,会了PHP,就会JS,因为语法基本上一样。

PHP语句比JS简短的一个最常用实例,比如PHP能轻松和HTML混合编写,非常灵活。JS也能用同样的方式,但是多占用了很多字节,比如最常用的输出语句,PHP这样:……

固定链接 | 发表评论(0) | Trackback(0)

Eonval项目的开发进度和最难以解决的部分(2)
2019年02月14日 06:52

做项目第一步需要完成取名,Eonval在2018年10月16日完成取名。现在已经到了Eonval帐号的开发阶段,我的本机Eonval帐号的目录创建时间为2019-02-10 15:12,经过这3天的开发,进展非常顺利,进度远超出了我的预期。因为Eonval帐号是为上百个、上千个域名的登录使用,不同域名的登录已经完成了解决方案。

注册程序已经全部完成。完成的注册页面如下图:……

固定链接 | 发表评论(2) | Trackback(0)

劳累中的开发(附截图)
2019年02月09日 11:29

标题本来是想写为“半醉中的开发”,一时找不到合适的词语来形容这种状态,因为已经连续开发了2个多月,现在常常坐在电脑前写程序,没多久就开始发困,注意力很难集中。程序开发中需要对该项目记忆非常多的东西,比如很多的关联、思路,有些关联、思路很难用笔去记录,全凭记忆力,程序开发的工作量也是巨量的。这种状态下,会记不住很多东西,以至于我多次对自己的记忆力产生了怀疑,在几年前还很少有这种问题。

年轻时,有记忆力,却没有合适的项目;如今找到了奋斗的目标、项目,记忆力好像在明显减退。……

固定链接 | 发表评论(2) | Trackback(0)

项目中的2个算法小集锦
2019年02月06日 11:29

在Eonval项目的开发中,字符串的处理和算法,比数据库关联、数据库设计要简单得多,这样的算法在程序项目中多得不计其数,一个项目下来,可能会遇到几百个这样的算法。尽量地使用数组、strpos()函数来代替循环程序,可以大大提升程序的效率。

比如在项目中,设定数值1、2、3分别代表的是语言:en、cn、tc。en为英语,cn为简体中文,tc为繁体中文(Traditional Chinese)。……

固定链接 | 发表评论(0) | Trackback(0)

底层技术分享:UTF-8/ANSI编码的混用方案终于完成(亦可拟UTF-8编码)
2019年02月01日 13:26

实现这一功能,以前想得太难,其实比较简单。开发中发现,PHP5(及以上的版本)对于UTF-8、ANSI等编码的转换、调用,很完美,所以一个站点完全可以多种编码混用。一个中文字符,在数据库中,UTF-8编码占用3字节,GBK(ANSI)编码占用2字节,因此对于中文页面,ANSI编码可以提高20%~30%的性能,节省相应的流量。

对于个人空间的程序,流量大的网页是博客、微博。所以在将要开发的独立微博Eachval项目,将支持UTF-8、ANSI编码的切换,微博主可以用UTF-8编码,也可以切换到ANSI编码。(为什么在开发初期就一定要支持这个功能?因为这个功能关联的数据库太多,最好一次做好,否则将来改起来工作量不可估量。)……

固定链接 | 发表评论(0) | Trackback(0)

Google女副总裁Marissa Mayer的作息时间不利于健康
2006年06月16日 13:26

近两天Google的女副总裁Marissa Mayer的一天作息流程被我们很多人认为是工作狂。

到了晚上11点15分还去Google运作场跑步、凌晨3点睡觉,是违反传统的科学生物钟作息规律的。如果这样她仍能一直保持健康的状态,那么其心理状况和生理状况会与别人不同,先天的,或者后天养成的这种习惯。……

固定链接 | 发表评论(10) | Trackback(0)

大慈大悲才可以解救众生
2006年06月16日 12:53

昨晚看了《小活佛》这个电影,看完后,觉得它在向我揭示一个至高的人生道理,“大慈大悲才可以解救众生”。最后9岁的小杰西在向布诺大师回礼,两个人对着叩头的这一举动,让我深受感动,受益非浅!布诺大师先向另外的两个孩子磕头,叫他们“老师”的时候,这两个孩子却没有慈悲的反应。

所以杰西就是2500年前的多吉喇嘛的转世。……

固定链接 | 发表评论(5) | Trackback(1)

致张总:关于苦难当教科书
2006年06月15日 14:26

我认识时代财富是从2003年,了解到了在电信工作了18年的Miss张(张静君)是广州之窗、163.net的创始人,之后创建了广州时代财富公司。我也是亲眼目睹了anyp.cn的成长,也常来Miss张的Blog。

张总在行业中给了我们光辉的榜样,一直是我很尊敬的人物。昨晚看到张总说《不要把自己承受的苦难当教科书》,能反映出张总公司的团结气氛。大家都是创业者,也都是过来人,经历过无数的风风雨雨,我也算小半个过来人。看过周鸿袆的故事,说他创业初离开方正时的艰苦生活;刘韧说他24岁结婚,当时很艰苦;马云说他创业初搞黄页被很多人拒绝等等。创业者所承受的压力是一般人无法想象的,比如我现在,为了创业,每天要学习很多的东西,学英语、学韩语、学日语,浏览外国的网站,国内的很多网站,接受海量的信息。每天要从早上8点忙到晚上十一二点。如果是普通员工,不需要创业,则没有那么多的压力,有很多的业余时间。……

固定链接 | 发表评论(2) | Trackback(0)

BBS的生命力
2006年06月08日 18:58

2000年到2006年这几年当中,BBS在中国成了很多网民生活中不可缺少的一部分。我是一个02年开始的BBS参与者,主要参与younet论坛、Donews论坛,以及一些技术论坛,并且在03年自己编写了一个Webshu论坛的程序,目睹了论坛中的恩恩怨怨,所以深刻了解BBS的生命力和存在的问题。

我们暂且认为BBS是一个平台、一种通讯工具。现在的BBS是一个相对成熟,也是一个相对处于初级阶段的时候。成熟是因为使用论坛的人数量多了,大家都懂得上论坛来交流。初级阶段是因为论坛中存在的问题,问题在于论坛的管理制度不完善,参与者的注意力、价值观、知识构成、思维方式、立场的不同,而产生一定的矛盾。……

固定链接 | 发表评论(21) | Trackback(6)

创业者应尽多具体地掌握自然定律
2006年06月04日 12:32

2005年几乎是互联网行业最热的一年,创业是最核心的问题。方兴东先生最近比较多地研究创业类的书籍,在他的Blog中,《创业时候的一大挑战:如何很好应对追涨杀跌?》、《钱不是最重要的,谈谈创业如何找钱?》、《创业心态——用胜利者的态度去生活和工作》、《创业成功最重要的两个素质是:对模糊性的高度容忍和对困难的高度耐受》都是很值得去读的。

通过这两年我自身的创业经历,当中阅读过很多创业的书籍,比如李嘉诚的故事、拿破仑·希尔、卡耐基的成功之道、毛主席选集、100位历史名人等等,让我明白了学习的重要性。学习完全可以改变一个人,学习的人,前途无量。如果不学习的话,我觉得成功的机会很小。……

固定链接 | 发表评论(2) | Trackback(0)

佳能A530是一款性价比极高的专业相机
2006年06月03日 18:56

请记住,是佳能A530。深圳现在报价1599元。

为什么说性价比极高?我们知道,CCD传感器的尺寸是成像效果非常关键的一个参数,直径越大,效果就会越好。并不是相机越贵,它就会越好。佳能品牌的相机一直是太平洋的评测普遍认为全球最好的一个品牌之一,在用户心中也有最好的口碑。……

固定链接 | 发表评论(20) | Trackback(3)

习惯刘韧体,还不习惯“炳叔体”
2006年06月02日 09:50

刘老师发明了刘韧体,他的每篇Blog都是1、2、3、4、5这样的段落,言之有物,不愧是资深的记者。

自从今年Donews并入了千橡集团,炳叔就在Donews开通了Blog。炳叔是一个极有吸引力的人,最近阅读他的文章总是觉得有点费劲,好像一句话就是一个段落,好像每句话之间相关性相差太远。但是,可以理解到的是,炳叔写这种文章的感觉,一定是很舒服的,他的文章,给人一种舒服、轻松的感觉。……

固定链接 | 发表评论(1) | Trackback(1)

单机版和公用版程序的区别
2019年01月05日 08:29

之前很多次提到单机版程序。这2者,公用版的开发周期,是单机版的10~20倍以上,比如正在开发中的Feedval(RSS订阅器)就是这样的例子。

为什么会有这样大的差异?因为单机版,只是程序作者个人使用,程序都是按照最精简、最底层的方式编写。不会去写很多界面,有很多参数都是通过直接修改程序里的值,或者直接修改数据库。程序是按照作者的个人需求编写,作者知道哪种情形会出现bug,而会去避免那种情形。……

固定链接 | 发表评论(0) | Trackback(0)

底层技术分享:离线版网页和缓存的程序设计思路
2018年12月22日 17:33

在前文《Webapp VS APP》,APP和网页的一个核心的区别是,APP本身是一个数据外壳,并且数据是缓存到手机中。APP和网页,两者各有优缺点。APP的优点是能离线访问,但缺点是缓存数据占用较大的手机ROM空间。这个缓存,对于运营者来说,能够节省大量的带宽,增加更多同时使用的用户。

网页,通常大多数站点不做缓存设置,只有图片、JS、CSS这些不常更新的文件,才能设置缓存。公共访问的站点,如网站、博客、论坛等等的动态页,由于更新较多,所以即使想做缓存设置,也没有意义。缓存设置,只用到一些个人版的网页,如某些数据的记录,笔记本、日记本这样的。……

固定链接 | 发表评论(0) | Trackback(0)

HTTP和HTTP2(多路复用)的实际跑分测试
2018年12月11日 10:08

前天的测试中,除去图片的因素,HTML传输方面,HTTP在几次测试中都快于HTTP2,如文中的最后6次对比。

这一次,专门制作了一个网页,加载50个完全不同的小图片,50张图片总体积195K,我们来测试一下实际的加载速度,是否能够体现HTTP2的多路复用的优势?下列表格右边的“https的图片”,都是https的链接,测试网页也是https的链接。……

固定链接 | 发表评论(0) | Trackback(0)

1 2 3 4 5 6 7 8

首页 | 上一页 | 下一页 | 末页 (共8页)

王志勇:1980-09-26 (46周岁)
程序设计,技术开发,Web站长

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

Blog存档 Archives

2025年-2026年03月(10)
2024年(13)
2023年 +

2022年 +
2021年 +
2020年 +
2019年 +
2018年 +
2016年-2017年(9)
2014年06月-09月(10)
2013年 +
2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2026 auiou.com All rights reserved.
此Blog程序由王志勇编写
生产环境提示:博客属专业平台,访问者多为专业用户,http模式能承载更高的峰值吞吐量。