大家好,才是真的好。
又到了喜闻乐见的周五了,今天我们再讲几个技术有关的信息。
一、使用Apache作为Nomad Server的反向代理
从Nomad Web 1.0.5开始,Nomad Server组件就可以直接运行在Domino服务器上;从Domino 14版本开始,Nomad就作为了Domino内置功能,可选择安装使用,用户可以不使用Notes客户机,而使用浏览器直接访问Domino上的Nomad Web功能,在浏览器中体验Notes客户机功能。
不过单台Domino上的Nomad Web虽然理论上能支持数千个用户,但一旦企业到了一定规模,更多用户需要使用到Nomad,这时就要考虑到提供统一的入口,以支持多台Nomad Web服务器等等。
Nginx是很好的反向代理支持。
不过近日,HCL也推出了一篇技术文档描述在Apache上设置反向代理以访问Nomad Web:https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0108484
二、Domino 14运行账户问题
从Domino 14版本开始,将要安装的 Windows服务器上的Domino安装程序,更改为默认以非管理员用户身份运行。
默认用户为“NT Authority\LocalService”,但你可以选择将此设置更改为任何有效的 Windows 用户。
LocalService账户是Windows服务器控制管理而使用的预定义本地账户,在本地计算机上具有最低权限,并在网络上提供匿名凭据,是Domino运行的较好账户;该账户可以在没有密码的情况下使用,并且该账户存在于任何计算机上,也不能直接用于直接登录Windows。
值得注意的是,如果你早先启用过多米的里面一些功能,例如事物日志,那么事物日志的文件夹可能需要权限设置,否则会报错:
如要修改权限,假如你的事物日志在d:\translog目录,可以在cmd当中运行如下命令:
icacls “d:\translog” /grant *S-1-5-19:(OI)(CI)(F)
icacls “d:\translog” /setowner *S-1-5-19 /t /c /q
icacls “d:\translog” /remove:g Everyone /t /c /q
对该账户的详细描述和相关操作,可以参考以下站点:
https://blog.nashcom.de/nashcomblog.nsf/dx/domino-14.0-on-windows-important-to-read-before-updating.htm
三、Domino Appstore时代的即将来临
还记得我们前面提到过的在2023年的 Collabsphere 大会上,HCL宣布将开发新HCL Domino应用程序市场吗?应用提交地址是:https://hclsofy.com/managecontent
今年(2024年)应该会有很多新的消息宣布,而其他厂商也开始尝试制作一些标准化的基于Domino的应用产品,例如我看到国外https://nsfappstore.gumroad.com有一个收费项目,这个应用主要是知识问答、考试或培训一类的应用。
四、HCL Domino与Exchange的邮箱功能比较
知名的软件采购比较平台peerspot最近发布了一篇HCL Domino与Exchange的邮箱功能比较报告,发布站点为:https://www.peerspot.com/products/comparisons/hcl-domino_vs_microsoft-exchange
很多评论者的评论详细而中肯,值得好好阅读,如下图:
五、AI生成png
AI时代,应用网站层出不穷,今天介绍的是https://www.findpng.com,通过输入关键字,会自动生成一张去除背景的PNG素材文件
有了这个网站,处理一些图片素材会非常方便。
六、代码和技术债
有一种观点是人们把代码带来的负担,称之为技术债。
我觉得这个观点很不错,因此记录在这里。
“技术债”(technical debt)源自著名程序员沃德·坎宁安(Ward Cunningham)的一篇文章[7]。他写了一句话:“交付代码就像负债累累。”
代码是公司的资产,公司总是鼓励大家多写代码。但是,很多人(尤其是管理层)没有意识到,代码也是负债。
代码越多,债越多,这就是程序员常说的“技术债”。
你的代码一旦进入生产环境,就像背上一笔债务,将来需要不断支付利息,除非代码不再使用。
为什么代码好比负债累累?这有两个原因。
第一个原因是,由于各种限制,代码的实现有问题,包含了 Bug,或者选择了有问题的组件,后期需要修改或重写。
第二个原因是,即使代码是完美的,但由于技术进步,它会逐渐腐化过时,后期需要不断维护和更新,这通常比原始开发成本更高(这在Domino上没说通,很久之前的Domino平台上的原始代码,现在都兼容)。
这意味着,无论多么小心,上线的代码总是有“技术债”。可以这样说,所有的代码都是技术债。
“技术债”的可怕之处,在于你必须按时偿还,如果拖着不还,它就会像雪球一样越滚越多,维护成本越来越高,直到再也无法维护,只能放弃这段代码。
既然所有代码都是技术债,程序员写代码时,就必须考虑到它的长期成本,尽量减轻自己或别人日后的负担(利息)。
一个基本的事实是 代码越少,技术债越小;没有代码,就没有技术债。从这个角度看,软件开发的正确做法是下面两点。
(1)冗余的代码都要删除。
(2)只实现那些必须实现的功能,除非绝对必要,不要引入新功能。新功能必然带来新的代码,而且新功能一旦添加,就很难废除,总是会保留下来。
以上内容和观点来自于阮一峰《科技爱好者周刊#292:所有代码都是技术债》。
今天我们就介绍到这里。更多文章可关注微信公号:协作者