分类: 随想

  • 2025

    时间很快,仿佛一眨眼的功夫就到了2025年,新的一年,生活还要继续,这个网站也将会持续更新,在把之前的技术笔记更新完成之后,打算写一些系列教程,或者更新一些关注的技术资讯。

    关于这个网站的名字,一直想换个名字,但是苦于没有合适的,所以也就将就用了。这个名字最初是另一个网站备案的时候,备案客服给我起的,后来索性就用了下来。

    其实名字也无所谓了,主要的还是内容,能给中文互联网提供有价值的内容才是最主要的。

    今天已经是腊月十三了,还有不到半个月的时间就要过年了,时间飞一般,稍有不慎就悄悄溜走了,新的一年,有什么想法要抓紧去做,要加油呀!

  • 旧文章

    利用接近2天的时间,整理了从2009年到2019年10年间的近500篇旧文章,并发布到了网站上,这真的是一个体力活。

    纯手工整理,整理完发布完后,手腕都酸了,需要好好休息一下。

    整理的大部分文章都是原创,还有相当多的文章是从网上收集的,这些就不放上来了,没有什么意义。

    至此,“技术点滴”基于汇集了我的绝大部分原创文章,以后新的文章也会尽量更新上来。

    虽然很多文章都不成系统,技术点都很零碎,但这都是在开发过程中随手记的,所以没有那么多的时间写成系列的文章,很多的文章甚至都只有代码。

    整理文章的这两天,有时一边整理一边在想,这些年来做的这些都有什么意义?有时夜深了还在电脑前,这么多的付出,值得吗?

    现在想来,最大的意义就是把时间换了钱,养了家糊了口,仅此而已。

    现在整理出来,分享出来,希望能帮助更多的人,就像曾经的我。

    这个站,也算是对自己15年编程生涯的一个交代。

  • 网站启用新域名

    今天,新的域名jsdd.net备案通过了,域名是“技术点滴”的拼音首字母,更契合这个网站。以后就使用这个新域名了,不再更换。

    从此,jsdd.net将作为我的小窝,用来记录和分享一些编程技术。


    2025年2月4日,启用了新域名www.lwbj.cn,详情见:https://lwbj.cn/domain-change-and-website-rebranding/

  • 天翼云和华为云初体验

    今天博客园送的华为云服务器开通了,晚上花了一个小时的时间简单体验了一下,感觉还不错。

    我安装的是 Debian 系统,华为云直接有最新的12版本,只要apt update && apt upgrade一下就可以一键升级到的最新的12.7版本了,这点比天翼云方便,天翼云只有 Debian11。

    华为云服务器 Debian 镜像已经设置好了华为云的源,使用起来非常方便,不用自己再进行调整。而天翼云就没有,要自己动手修改。

    另外,天翼云的 Debian 镜像配置有点小问题,/etc/hosts 里面没有和 hostname 关联的记录,导致使用起来有点小问题,具体什么问题当时忘记记录了,反正是有。还有就是系统的区域配置有问题,只有 en_US,没有 en_DK,导致对日期格式的支持有些问题,apt 安装包时有警告。还有一些小问题记不太清了。反观华为云就用的很顺畅,命令敲下去一气呵成、酣畅淋漓。

    还有,天翼云比较严格,常用的端口都是不能用的,直接用 IP 都不行。要用的话只能迁移备案,但众所周知,这是个麻烦事,这台37块钱的服务器大概率要吃灰。

    总体来说,华为云用的比较安逸,体验比天翼云要好。

    注:本文始发于我的博客园博客 https://www.cnblogs.com/art ,之后重新发于本站。

  • 网站改了个版

    其实有这个想法很久了,但由于人的惰性,一直没有行动。最近正好有些时间,就顺手把这事做了。

    网站改版,前前后后花了几天的时间,看似没什么功能,但的的确确是花了很多的工夫。经过几天的折腾,终于形成了现在的样子,总算是能看了。此时,再切换到以前的旧版,简直可以用“辣眼睛”来形容。之前那版真的是草草行事的产物,搜索没有,标签没有,配色难看,图片是网上找的……总之就是没走心。现在,新主题基本上做到整站原创。想用心设计好一个网站,还是要花些时间的。

    最初建这个网站,是想着能接点活,赚点钱,但是现实很残酷,这个网站从建站到现在,接的单子寥寥无几,很多的项目都是从其它途径接到的。现在,这个网站基本上也就剩下了案例展示功能,但上传的案例也不全,还有很多需要整理,需要搭建环境,然后截图,比较麻烦,就没弄,也不想弄了,感觉意义不是很大。

    后续可能会把这个网站转成技术站点,用来记录和分享编程技术,方便自己查询的同时,如果能帮助到别人,也算没枉费这番辛苦。

    PS. 本站已于2024.10.20转型为纯技术站点,不忘初心,砥砺前行。

  • 全站上了HTTPS

    既然改了个版,那么趁此机会把SSL证书也上了吧,这也是以前一直想做但却一直没做的事。

    之前弄SSL证书,基本就是阿里云或腾讯云,但是现在阿里云的免费SSL证书已经从一年时长变成了三个月,非常麻烦不说,还经常忘。虽然腾讯云还支持一年,但是既然有这个趋势,还是早换了好。

    这次用的是自动证书管理环境(ACME)。ACME(Automatic Certificate Management Environment)协议是由互联网安全研究组织Let’s Encrypt开发的一种协议,用于自动化管理SSL/TLS证书的获取和续期。现在不仅支持Let’s Encrypt,还支持ZeroSSL等证书颁发机构。ACME协议通过与证书颁发机构(CA)进行通信,实现证书的自动化管理,消除了手动配置和更新证书的繁琐步骤。以下是ACME协议的主要特点和流程:

    主要特点

    1. 自动化:ACME协议能够自动化地完成域名验证、证书申请、颁发和续期的全过程,减少了人工干预。
    2. 安全性:ACME使用加密通信和域名验证机制,确保证书颁发过程的安全性。
    3. 开放性:ACME协议是开源的,任何人都可以实现和使用它,与任何支持ACME的证书颁发机构进行交互。
    4. 兼容性:许多常见的Web服务器和应用程序已经支持ACME协议,如Apache、Nginx等。

    工作流程

    1. 注册账户:客户端向证书颁发机构(CA)注册一个账户,用于后续的认证和证书管理。
    2. 域名验证:客户端向CA提出证书请求,并提供需要保护的域名。CA会向该域名发送验证请求(如HTTP-01或DNS-01挑战),以确认域名的所有权。
    3. 验证成功:如果客户端能够正确响应CA的验证请求,则证明了其对该域名的控制权,验证成功。
    4. 证书颁发:验证成功后,CA会向客户端颁发SSL/TLS证书。
    5. 证书安装:客户端将获取到的证书安装到Web服务器上,使其能够提供加密的HTTPS服务。
    6. 证书续期:在证书即将过期时,客户端会自动向CA请求证书续期,重复域名验证和证书颁发的流程。

    这么搞完后,基本就高枕无忧了,只要服务器不停机,HTTPS就永远在线!

  • 术业有专攻,列举一些专业成熟的工具和解决方案

    提示:本文发布于八年前,已不具有参考意义。

    不折腾,多年走弯路的经验告诉我,不遵守以下原则必将浪费生命和时间。
    没有问题就不要折腾,遇到问题或需求再去研究并解决。
    用成熟的技术,不要做技术小白鼠。
    不要追求完美 ,世界本来就是不完美的,好和坏是一半一半的。任何事物都有两面性。要接受不完美。
    追求简单、 实用、快速、高效。

    1. 工具的选用:选择对所使用的语言支持最好的IDE(以下只针对windows平台)
      • .NET就用Visual Studio
      • Java就用JetBrains IntelliJ IDEA
      • Python就用JetBrains PyCharm
      • PHP就用JetBrains PhpStorm
      • 数据库开发用Navicat或不同数据库的专用工具(如sql server management studio 和 plsql developer)
      • 编辑器可以选用Notepad++或sublime
    2. Web开发:
      • 没有要求,就用PHP,专为Web而生
        • 给客户做网站,如果不需要维护,可以不用框架
        • 需要长期维护的必须用框架,可以选择的框架有CodeIgniter3或现代化的框架YII2。
        • Laravel虽然流行,但比较吃资源,性能有点弱,真正做项目时要好好考量。
        • IDE用PHPStrom
        • 数据库层用PDO
        • 自己搭建环境用nginx+php-fpm+php7+pgsql
      • 如果需要.net
        • 自己一个人开发就用 asp.net webform简单粗暴效率高
        • 团队开发用asp.net mvc,方便分工合作
        • 跨平台用mono来支持。Linux上服务器用Jexus。
        • asp.net core刚出来,先不用,过几年再说。
      • 如果需要JAVA,就用JFinal,国人开发,据说还不错,我没实践。
    3. 前端框架
      • 考虑兼容性就用pintuer或bootstrap2,兼容性最好,兼容IE8。不考虑兼容性就用bootstrap3或bootstrap4
      • 弹层用国产layer http://layer.layui.com/
      • js框架用jquery
    4. 数据库
      • 给客户做可以用mysql或者mssql,通用性更好。mysql在linux下直接用apt-get安装,省事。不要自己编译,不要没事找事。
      • 没要求或自己用也可以用pgsql(pgsql管理工具使用Navicat for PostgreSQL)。pgsql省内存,性能好,稳定,功能强大——实践出来的。
    5. 做底层的C/C++
    6. 做windows程序的.NET
    7. 做安卓开发的Java
    8. 做苹果应用的oc和swift
    9. 做跨平台桌面程序的Qt
    10. 做服务器的Linux
    11. 做桌面系统Windows或MAC
    12. 服务器后台服务程序可以用C/C++和Java以及Python
    13. 做博客的WordPress或Typecho(这货稍微有点折腾)
    14. 做笔记的evernote或为知笔记
    15. 主机能备案最好选择国内,否则就用香港阿里云或日本conaha,PHP虚拟空间用香港londit,asp.net虚拟空间用webweb香港云。
  • 放下对技术的执着

    选择技术的标准

    选择能既好又快完成需求的,不浪费时间的、不折腾的,最主要的是自己熟悉的技术;而不是选择最新最潮的技术。许多新技术就像潮流一样,一年一个新花样,无穷无尽层出不穷。人的精力是有限的,我们不能把有限的精力放到追求无限的技术潮流上。

    放下对技术的执着

    技术是工具,是用来解决问题的,解决问题需要好用的工具和趁手的工具。不要沉迷于那些“洋”工具上,不要做小白鼠。如果一直沉迷其中,那么很可能的结果就是一直在坑里打转,爬不出来,最终会一事无成,到头来什么都没得到。

    应该怎么做?

    放下执着,不要浮躁,潜心学习基础知识,比如数据结构和算法;或学习市面上使用率最高的编程语言,如 C、C++、Java、C#、PHP、Python等。但要一定要使用它们的稳定版本,因为我们是用这些知识和工具来解决问题的,当然要用稳定成熟的。

    感想

    由于我是一个自由开发者,有大量的时间,曾经长期把时间浪费在了搞新技术上,投入的时间成本很大,但收益很低,因为市场上可能还不接受最新的技术,学来没什么用,只能用来装装逼。但装逼能当饭吃吗?能当钱花吗?

    编程对我来说只是工作和爱好,但远远不是生活的全部。闲暇时间应该陪陪家人,或出去散散步,或锻炼身体,或看看书,或出去旅旅游,世界这么大,应该出去看看。

  • Linux历险记

    今天我犯了个大错,我在服务器上的htdocs目录下使用了 rm -rf * ,造成所有网站文件全没有了。犯这个错误的原因是:我以为当前的操作目录是网站目录。

    当按下回车键后就傻了,愣了几秒钟。赶紧到网上找恢复方法,显示用debugfs试了下,发现只能一个文件一个文件的恢复(或许可以恢复目录,我没查到),不可行。继续插,又找到了extundelete,这个可以恢复目录,使用命令如下:

    extundelete  /dev/vda1 --restore-directory /web/httpd/htdocs

    /dev/vad1是用命令df -h找出来的(看第一列)。

    这个倒是可以恢复,可能由于我extundelete是的误删了以后才装的,造成覆盖了磁盘,所以博客网站的文件没能恢复全。其他几个没用的网站倒是恢复了。

    “算了,反正数据库还在,重新下载一个WordPress”,心里这么想着。于是备份了数据库,开始全新安装。神奇的是,安装好后,数据还在!!这说明WordPress做了检测,如果数据存在,就不覆盖。然后安装代码高亮插件。Ok,到这里,一切如初。

    以后使用rm要考虑好!!!

  • php开发心得

    php一个页面一个页面的写,页面逻辑全部高度自治,除了通用配置,做到业务上无依赖。