我的个人博客已经走过二十多年,却在最近几年彻底荒废。每次想重新打理,总忍不住先折腾服务器、代码这些技术问题——可代码实在太老旧,本地连基础环境都搭不起来,这点刚燃起的热情,很快就被消磨殆尽。
昨天试着用Claude Code,本想把这套上古PHP技术转换成现在的Node.js,结果只成功转了前端页面,后端管理界面因为逻辑复杂,始终没能搞定。看着它自作主张生成的后端界面,我反倒格外想念自己当年用PHP写的版本,那里面藏着太多曾经的思考与心血。
转念一想,PHP又没有死,为什么不让Claude Code把旧代码升级到最新版本呢?没想到过程意外顺利,很快就完成了。我也顺势把服务器从十多年没更新的Linux系统,迁移到了阿里云,还顺便配置了免费的HTTPS证书,全程靠Claude Code协助,轻松得超乎预期。
过去十年,我一直忙着追逐赚钱,彻底断了博客的更新。如今回头看,才惊觉早已忘了初心。其实现在没多少人看博客也没关系,有些东西的分享,本就与有没有人关注无关。
完。
阅读:530
我配了台电脑,主板是华硕z790,cpu是i9 13900k,显卡是 nvidia 4090。 底层系统我打算装esxi8,过程中遇到很多坑,在这里记录一下。
首先是esxi8不支持intel 13代cpu的大小核心。需要在启动esxi安装程序的时候按shift+o,添加参数:cpuUniformityHardCheckPanic=FALSE
然后又遇到问题是esxi不认识板载网卡(Realtek RTL8125 2.5GbE)。解决办法是买一张intel i226的pcie网卡。(点这里可以查看esxi8的硬件支持情况)
然后就能顺利安装esxi8了。 然后在esxi里面安装ubuntu22, 遇到了4090显卡无法直通的问题。 试了很多办法都不行。 后来我又装了一个windows 11虚拟机, 尝试把网卡直通给win11。 最后通过调整bios的显卡设置(本来是auto, 改成pcie才可以),成功把4090显卡直通给了win11。
最后又通过一些尝试才成功把显卡直通给ubuntu22。以下是一些关键步骤:
-
首先在esxi后台的 主机->管理->硬件->PCI设备 里面,找到显卡设备选中,然后点击切换直通来打开直通开关。
-
ubuntu虚拟机设置里面,添加高级参数:
hypervisor.cpuid.v0=FALSE
pciPassthru.use64bitMMIO=TRUE
pciPassthru.64bitMMIOSizeGB=64
-
ubuntu虚拟机预留全部内存
-
/etc/modprobe.d/blacklist-nvidia-nouveau.conf 文件添加:
blacklist nouveau
options nouveau modeset=0
-
/etc/modprobe.d/nvidia.conf 文件添加:
options nvidia NVreg_OpenRmEnableUnsupportedGpus=1
-
sudo update-initramfs -u
-
下载对应的nvidia驱动
-
sudo chmod u+x NVIDIA-Linux-x86_64-525.89.02.run
-
sudo apt install build-essential
-
sudo apt install pkg-config libglvnd-dev
-
sudo ./NVIDIA-Linux-x86_64-525.89.02.run -m=kernel-open
-
然后运行nvidia-smi就能看到显卡信息了
一些参考资料:
完。
阅读:6786
在iOS系统里面,任意webview在可滚动状态下,都是可以拖超出边界然后反弹回来的。这个效果非常的好看和实用。但是如果我要做一个web app,我就不希望我的整个app界面也被用户拖动。
在很久以前,iOS的浏览器是不支持overflow scroll的,也就是说除了整个网页可以滚动以外,其他部分是不能局部滚动的。要实现局部滚动,一般都是用iScroll等插件,用javascript来模拟滚动。这技术说起来容易做起来难,我看了无数个类似的东西,没有任何人能做到原生一样的滚动反弹效果。最接近原生效果的是我从某牛逼网站上8下来的代码:https://github.com/longbill/ScrollPane
后来iOS退出了iOS5,其中的浏览器支持了overflow scroll。在配合 -webkit-overflow-scrolling: touch; 的情况下滚动起来是比较理想的。但是唯一有一个弊端就是当局部滚动区域处于滚动边缘的时候(比如处于最上面),此时继续网下滚动手指,滚动操作不会体现在局部滚动区域,而是会作用于整个网页。这个在做web app的时候,是完全无法忍受的。做出来的效果跟把web app界面的头部和底部用position fixed固定是一样的。
所以,即使overflow scroll从iOS5起就被支持,但是用javascript模拟滚动的需求还是十分旺盛。其中很重要的一点就是滚动会传递到外面的网页。另外也很重要的一点就是原生的滚动很难实现类似pull to refresh的操作。
后来我打算将我的精选文章做成web app的形式。尝试了无数的scroll插件,都让人失望。被逼无奈仔细研究了一下原生的overflow scroll。再后来被我找到了一个奇怪的方法,来阻止滚动操作传递到整个网页。
就是。
在手指放在屏幕上的时候,判断里面的滚动部分的 scrollTop 是不是 0 或者 最底下。如果是,那么将 scrollTop 轻轻位移1个像素。就可以了。
另外,我还实现了一个pull to refresh,虽然效果跟原生的不太一样,但是看起来也还不错。
代码我空了会整理写文档然后放到github上。大家可以先看这个 demo。 暂时只支持iOS系统。安卓请忽略。
http://jszen.com/public/demo/ptr/index.html
完。
阅读:23095