王志勇 发表于 2019年04月13日 10:18
如果“多站点更新选项”未做任何设置、或者清空这个选项,则变成单站点升级。
为什么现在一定要把“多站点升级”的功能做出来?因为多站点升级和单站点升级的程序改动非常大,趁我现在还记得程序思路,所以一步到位,一次做好。这个在线升级功能的程序,并非只是Feedval使用,而是Eonval平台下的所有应用都可以通用。
这个多站点更新的程序,我去年已经编写完成,只不过当时写的程序是我个人使用的最简化版(无帐号验证,只有超时验证)。前几天想把以前的程序移植到这次的程序开发中,后来发现一点都不能用,两者的结构有很大的不同,所以只好重新编写,不同之处在于:
去年写的程序,可遍历所有的站点,但是只能自己有新程序更新时,马上现更新,只能更新一期。而现在需要的新功能,是如果用户有好几次没有更新,则必须从那一期没有更新的版本号开始,一次更新为现在的版本。为提高速度、节省双方的资源,将10期的更新合并为一次远程请求;为避免一次下载的数据过多而出现崩溃,我在程序里设定为一次最多下载15个最新的php文件。这里,就会涉及到较为复杂的请求翻页问题,经过大量的测试、调试,还是完成了。
开发中,还需要将所有的错误提示,各种错误情形,能想到的全部都写出来,以避免出错,比如写入失败,则必须出现提示。
程序开发中理想和现实的差距,就是为了实现一个功能,未知的工作量、复杂程度,都是超出预期想象的。
2012年我编写的Arsue Blog当时也有这样的在线功能,但当时的在线功能只能单站点更新,思路现在已经彻底忘记,结构还有些不一样:比如当时的结构是记录了大约有10个左右的字段值,如果用户升级中出现中断、或关闭浏览器,下次升级时能够准确地从上次将要更新的文件接着升级,这次也能实现这一功能,但是因为算法过于复杂,时间有限,所以如果出现关闭浏览器的情况,则下次更新会从上次的更新重新开始。
在线升级程序的开发中,还需要考虑的一个重要、复杂的因素,是如果用户空间某个目录没有写入权限,这时候需要出现错误提示。在线升级程序的内部程序分为2大部分,一部分是某一期运行php文件,对重要数据直接进行修改,这种是修改式更新,这部分的写入失败的错误提示因为是刚刚想到,所以还没有写;另一部分是直接从服务器替换最新的文件,这一种我在编写的软件更新中相对使用最多,这部分的写入失败的错误提示已完成。
哈哈,对于编程,我是白痴。看了,以上内容。想问你,平时设计编程过程有没有习惯做笔记或记录,比如用纸记或用电脑记事本。
我过去,也不懂这么做,学了一些课程,最近才开始这么做。可以方便后期的查询和总结。
还有,做事前,把思路和方法先写下来,记录下来,按思路步骤做,如果中途思路有改动,则把记录的思路方法改动,这样就不会忘记突如其来的思路方法。(以上是我,最近总结的,勇哥看看有没有道理。)
自由勇 2019-04-13 12:24
谢谢支持!:)有做笔记,特别是很多写过的高频使用的程序和语句、加密程序、小程序,必须复制下来。
开发思路,非常难记笔记,所以一般不记,也不做注释。只有少量易忘记的复杂算法,需要记笔记,并保存在本机的程序调试库、代码库。
开发思路有少量记录了下来,也有少量写在了博客。
自由勇 2019-04-13 12:29
比如最近5个月开发的Eonval、Feedval平台,里面细小的功能,少说也会达到1000~2000个,工作量实在是多,这些很难做笔记,也有很多直接看语句我自己能看懂,能回想起来。
有很多程序,即使做了笔记,过了3个月也会看不懂,因为工作量多,太容易忘。
不过,不太复杂的程序,一般不会忘,分析几个小时就能想起来。或者有少量的改动,能直接找到对应的程序区域,很快能看懂。
自由勇 2019-04-13 12:33
不太复杂的程序,一年之后,我一般还是能看懂70%-95%左右。
程序,一般只有作者自己一个人能看懂。别人写的程序,我也看不懂。
学了一些课程,了解了谷歌google的程序员,刚开始入职的几个月或半年,都是在基础的规范,小到一个函数的命名规范,一个变量的命令规范。小到每个字节,以前注释规范。(重点是,任何其他的工程师看了程序或接手工作,都能很快就进入工作,接入工作。)
自由勇 2019-04-13 13:18
嗯,是的。:)
这个“在线升级/多站点在线升级”的功能,是一个大功能,单项功能的主程序已经达到10.1K,开发日记当时也记录了一些。
置顶的文章:
论朋友圈可以发什么?
短信验证开发的方案分享
巡回更新: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年 +