2023-01-24
|
作者:
甘耀通
本文介绍了静态网站的定义和特点,以及与动态网站的区别。静态网站由html、css和javascript等前端语言组成,没有后端服务提供功能接口,因此功能较少,适合个人和企业入门。动态网站则需要其它语言提供后端服务接口,可以提供更多的功能。静态网站的数据是直接写在html文件中,而动态网站则把数据保存在数据库中。静态网站优点在于速度最快,使用CPU和内存较少,运营费用较低,但功能较少;动态网站的优点则在于可以提供更多的功能,但缺点是速度较慢,使用CPU和内存较多,运营费用较高。
阅读
2023-01-23
|
作者:
甘耀通
本文介绍了企业在不同阶段与网站的关系及需要遵守的原则。企业刚成立阶段需要建立简单、稳定的启动型网站,满足少量内容和产品的需求;企业稳定阶段需要扩展网站内容和功能,达到内容与版式平衡;企业成熟发展阶段网站进入良性循环,满足企业与客户需求,但更改频率很低。如果企业建立的网站与阶段不对称,会导致需求与目标不匹配,浪费资金和资源。作者建议企业把资源投入到合适的位置上,把多出来的资源投入到重点业务上,待到业务发展改变后再升级改版网站。
阅读
2023-01-14
|
作者:
甘耀通
本文是关于坦克NS-v1.2.0制作计划的调整。坦克NS是一个使用Go语言开发的轻量级DNS服务器,支持常用记录类型,配置简单。根据持续改善的原则,坦克NS将进行进一步的配置文件改善,从零设计解析器并开发自己的TCONF标准。虽然开发解析器需要大量资源,但这项技术对坦克NS有巨大的改善,因此值得坚持开发。坦克NS-v1.2.0的制作计划与该调整计划合并,因此发布时间将被推迟。感兴趣的人可以关注作者的抖音,了解软件开发的日常进度。
阅读
2023-01-12
|
作者:
甘耀通
该文章介绍了一个名为“tanki18n”的多语言支持包,该包提供输出到日志或标准输出的功能,包括Trans()、Printf()和Println()三个方法。语言文件是embed的,可以直接使用二进制包运行。该包已经开放源代码,可以在码云上访问。文章提供了一个简单例子,展示了如何使用该包输出不同语言的字符串。
阅读
2022-12-25
|
作者:
甘耀通
本文介绍了一份长达45页的演示文稿,讲解如何在SOHO环境下搭建开发环境辅助之Git服务器搭建。主要内容包括Linux基本知识、Git基本知识、SHOS、坦克AW、坦克NS、Gogs以及利用这些工具搭建Git服务器。该演示文稿可用于搭建SHOS之Git服务。同时,文章提供了一份资源下载,包括SHOS搭建git服务器的PDF文件。
阅读
2022-12-11
|
作者:
甘耀通
这篇文章介绍了MySQL安装后使用的mysql_secure_installation命令,该命令需要进行一系列选项的设置来确保数据库的安全性。其中包括设置root用户密码、切换使用unix_socket通信方法、删除匿名用户、关闭root远程登陆、删除测试数据库等。建议在生产环境中运行所有步骤来确保数据库的安全性。
阅读
2022-11-26
|
作者:
甘耀通
本文介绍了坦克NS-v1.2.0版本的制作计划。该版本将添加一个HTTP接口,以便开发者能够访问坦克NS系统内部并根据自己的需求进行控制和培训。该接口能够使软件系统与坦克NS进行交互。
阅读
2022-09-18
|
作者:
甘耀通
本文是关于坦克DNS第一次重构计划的文章。坦克DNS之前的版本仅仅实现了A记录,后来为了学习和商业目标,增加了AAAA、MX、NS、TXT和CNAME等记录类型。然而,由于开发初期计划不完善、时间紧迫以及作者精神分裂的原因,代码的质量较差,可读性差,难以维护和扩展。因此,作者计划进行重构,以最低成本慢慢开发下一个版本。重构计划将遵循RFC、《DNS in Action》、《DNS-primer》等书籍资料,并以中位数为目标。重构后的坦克DNS将重命名为坦克NS,NS代表名称服务器。作者表示,完成计划后将去平南县玩半天,看看无趣的人生又能生产什么。
阅读
2022-07-26
|
作者:
甘耀通
这篇文章探讨了朋友的含义以及孔子对朋友的看法。作者认为孔子的朋友观是基于他对需要帮助的人的援助,而今天的人则应该根据自己的实际情况来对待朋友的请求,拒绝也是一种实事求是的态度。作者认为朋友就是那些需要帮助但自己无法帮助的人。这篇文章是作者首次在互联网上发表的非技术类文章。
阅读
2022-06-12
|
作者:
甘耀通
本文介绍了整数分拆的问题,即给定正整数n,求不同数组(a1,a2,...,ak)的数目。在数论上,跟这些和式有关的问题称为整数拆分、整数剖分、整数分割、分割数或切割数。使用golang代码实现求解,代码为:func main() { n := 20 for i := 0; i <= n; i++ { fmt.Print(q(i, i), ",") } } func q(n int, m int) int { if n == 0 || m == 0 { return 1 } if n == 1 || m == 1 { return 1 } if n < m { return q(n, n) } if n == m { return q(n, m-1) + 1 } if n > m { return q(n, m-1) + q(n-m, m) } return 0 } 输出结果为:1,1,2,3,5,7,11,15,22,30,42,56,77,101,135,176,231,297,385,490,627。
阅读