普通视图

发现新文章,点击刷新页面。
昨天以前首页

Mac新版微信4.0版本以上如何备份聊天记录到移动硬盘

2025年5月7日 11:14
这篇文章介绍了微信备份迁移的相关知识,重点针对mac用户在微信备份文件不兼容问题的解决方法。用户因微信版本更新引发的整个备份布局变化感到困惑,文章详细指导了如何迁移旧版备份文件、创建新备份文件、完成备份操作,并解决了备份文件丢失及无法截图等问题。文章还提供了具体的操作步骤:复制备份文件至移动硬盘、创建软链接、使用codesign命令重新签名微信应用、授予系统访问权限等。同时,文章提醒用户注意备份前的检查,确保硬盘连接正常,以避免操作失误。整体内容结构清晰,语言简洁明了,非常适合mac用户快速掌握微信备份迁移的技巧。

风起淀山湖

2025年5月6日 00:06

现在已经是五一的最后一天假的最后一个小时了,现在对即将逝去的五一进行一个盖棺定论,那可在适合不过了。
前两天去了淀山湖露营,之所以想去淀山湖,因为这边露营,无论是环境或者是费用上,都是相当不错的。
拍了一些风景图,选几张留在博客,也有一些随手拍的人物,拍到即是有缘人,哈哈。

DSC04514

近处的护堤,有些草,但是不多,在我看来有那么两种可能。
一是附近没有人管理,搭帐篷,烧炉子的人随意踩踏。
二是这草不想活了。
大概也就这两种可能,这边露营的人真的是非常的多,基本只要来的都是露营的。

DSC04515

这天的风超级大,刮的生活垃圾乱窜,只要过几分钟,就能看到不知道什么小垃圾,飞到帐篷边上。
DSC04581

哎 ?这张图压缩后,居然翻转了,算了,翻就翻了吧。
宝宝还是很喜欢出去游玩的,现在这个年纪正是不知疲倦的玩耍的时候。
有时候我也感慨,还是刚出厂的身体好使,玩一天都不累。
DSC04513

天幕真的很难搭起来,花了20,让这边服务人员帮忙搭的,这项服务还不错,露营椅子租借也是10元一张。
来这边才知道,原来帐篷临时租借也才一百出头,对于露营比较少的人群来说,非常的友好。
在dy上说这边不许搭帐篷,有草坪的养护期啥的。实际来这边一看,你只管扎堆就行,哪有人就去哪儿搭。

515621746459994_.pic

临走的时候,收拾帐篷,发现一根铝合金支撑杆,无法回缩了,尝试良久,发现彻底收不回去了。

515631746459995_.pic

帐篷的收纳袋也在大风吹的淀山湖边不翼而飞,大概也暗示着帐篷要报废了。
抱着侥幸心理,问了下骆驼的售后,售后的意思很明确,没有售后。
果然呀!最好的售后就是没有售后,反正我以后不会买他家的东西了,告辞!

515591746459990_.pic

回到家之后,看了下手臂,脖子,我说抓一下怎么就痛,还有点痒,果然晒伤了。
这天风很大,在天幕下居然会冷,谁能想到30度出头的天气,在天幕下居然会冷。
太阳晒得暖暖的,皮肤晒伤都没有一点的感觉!看来我还是太嫩了,手动滑稽。
515601746459991_.pic

以上风起淀山湖,愉快的露营游记。

探索扣子空间「邀请码不限量分享」

2025年4月27日 00:00

当今数字化浪潮中,人工智能正以前所未有的速度改变着我们的工作和生活方式。字节跳动于 2025 年 4 月 19 日推出的通用型 AI Agent 平台,无疑是这一变革中一颗璀璨新星,为我们带来了全新的 AI 协作办公体验。

扣子空间是啥

扣子空间是个致力于打造和 AI 协作工作全新工作方式的平台。

它基于字节跳动自研的豆包等国产大模型,用户只需将任务交给智能体,系统就能自动完成需求分析、任务拆解、工具调用、结果生成,支持从网页到文档等多种类输出形式,极大提升工作效率与执行力。

核心特点功能

  1. 双重模式协作,灵活应对任务需求

扣子空间提供了探索模式和规划模式。

探索模式下 AI 自主动态探索,完成速度更快,适用于时效性强的任务,例如查询最新资讯、获取实时数据等等;规划模式中 AI 深度思考,会先给出任务处理规划,经过用户确认后再行动,执行期间也需用户参与,适合高复杂性任务,如跨行业市场调研、复杂项目规划等等。这种双模式的协作机制,让用户可根据任务属性灵活选择,能更好地与 AI 协作完成工作。

  1. 强大任务处理能力,实现自动工作流程

扣子空间能够智能解析用户的一句话需求,精准识别意图并将其分解为多个具体任务。系统会自主调用浏览器、代码编辑器等工具执行任务,同时将每个思考和执行步骤清晰呈现,适时的与用户确认意图,确保执行方向准确。

最终输出完整结果报告,如 PPT、网页、飞书文档等等,真正实现了从需求输入到成果输出的全流程自动化。

  1. 专家级 Agent 生态,提供专业领域支持

平台内置多种领域的专业 Agent,例如华泰 A 股观察助手可生成每日股市早报并解答股票分析问题,用户研究专家可以协助进行用户研究资料深度分析。

这些专家级的 Agent 针对特定领域更专业,能处理更复杂任务,为不同领域的用户提供了便捷的专业服务。

  1. 丰富插件集成,无限拓展能力边界

扣子空间首批集成飞书多维表格、高德地图、图像工具、语音合成等 60 多款 MCP 模块化能力插件,未来还将支持开发者通过扣子开发平台发布自定义插件。

这些插件涵盖资讯阅读、旅游出行、效率办公等等众多方面,使扣子空间能够满足用户在不同场景下的各种需求,真正实现了功能的无限扩展。

应用场景广泛

扣子空间应用场景十分丰富,涵盖办公、学习、生活、电商、金融等等多个领域。

在办公场景中,可以帮助用户完成撰写文档、数据分析、制作 PPT 等各种工作任务;在学习场景下,能为学生和教育工作者提供课程资料收集、课件制作等辅助教学和学习服务;在生活场景里,可以用于制定旅游计划、查询信息等等;在电商场景中,能够进行商品推荐、用户行为分析;在金融场景下,可为股票分析、金融数据解读等等提供决策支持。

截图与邀请码

扣子空间界面非常简洁,登录后可通过左侧菜单进行任务管理,输入任务描述即可快速创建任务,开始任务后会在右侧显示 Agent 执行过程:

扣子目前机制每次能生成五个邀请码,杜老师会定期更新邀请码的使用状态,也请小伙伴使用后留言邀请码的编号,用尽后会发放新邀请码:

编号邀请地址备注
1https://www.coze.cn/space-preview?invite_code=PYFNVF90已用
2https://www.coze.cn/space-preview?invite_code=TLZTCXQN已用
3https://www.coze.cn/space-preview?invite_code=MCIEP9ZP已用
4https://www.coze.cn/space-preview?invite_code=H3M95JPB已用
5https://www.coze.cn/space-preview?invite_code=0XV6MVQ3已用
6https://www.coze.cn/space-preview?invite_code=39GL3SRL已用
7https://www.coze.cn/space-preview?invite_code=LGOQDX27已用
8https://www.coze.cn/space-preview?invite_code=W9G0P33F已用
9https://www.coze.cn/space-preview?invite_code=CEP1YQD5已用
10https://www.coze.cn/space-preview?invite_code=EFUJVJ95未用
11https://www.coze.cn/space-preview?invite_code=PGYMJSN5未用
12https://www.coze.cn/space-preview?invite_code=L33JT5Q7未用
13https://www.coze.cn/space-preview?invite_code=MCAKQH6N未用
14https://www.coze.cn/space-preview?invite_code=68TDVTNL未用
15https://www.coze.cn/space-preview?invite_code=PA55VHFS未用

LibreTV 免费的在线视频观看神器

2025年4月21日 00:00

在数字媒体盛行的今天,观看电影、电视剧等视频内容成为了人们日常娱乐的重要部分。然而,许多视频平台要么需要付费订阅,要么充斥大量广告,还有的需要复杂的注册流程,极大地影响了观影体验。今天,就给大家介绍一款名为 LibreTV 的开源工具,它将彻底改变在线观影方式。

LibreTV 是什么

LibreTV 是个轻量级、免费的在线视频搜索与观看平台,无需注册账号,也无需要下载安装任何软件,更不需要付费订阅,只要连接网络,通过浏览器就可以随时随地访问。

它采用纯前端技术构建,结合了前端技术和后端代理功能,可以轻松部署在各种支持服务端功能的网站托管服务上。

LibreTV 的优势

免费使用:无需支付任何会员费用,即可畅享海量视频内容,真正实现了看片不花钱。

多源搜索:聚合了多个视频源,能更全面地搜索到电影、电视剧等各类影视资源,可轻松找到想看的内容。

跨多平台支持:无论电脑、平板还是手机设备,均能完美适配,随时随地满足观影需求。

静态部署:不需要后端服务器,部署简单快捷,大大降低了搭建和维护成本。

广告过滤:内置广告过滤功能,有效屏蔽广告干扰,提供更加干净、更优质的观影体验。

自定义 API 接口:用户可以根据自身需求添加或修改视频源,灵活性非常强,可以不断拓展影视资源。

LibreTV 的功能

多源视频搜索:覆盖丰富电影、电视剧等内容,支持多视频源自动聚合,一次搜索即可获取更多结果。

响应式 Web 设计:能够完美适配各种屏幕尺寸设备,无论是 PC 端还是移动端,都可以获得良好的观看体验。

本地存储搜索历史:将搜索历史存储在本地,方便用户下次快速查找之前看过影视内容。

快捷键的支持:播放器支持多种键盘快捷键,如全屏快进快退等,让操作更加的便捷。

HLS 流媒体支持:兼容 HLS 流媒体格式,确保视频播放更加流畅稳定。

可选密码保护:支持设置密码保护,增强访问控制,保障观影隐私。

LibreTV 的安装

  1. 用 Cloudflare Pages 部署

Fork 或者克隆 LibreTV 仓库 到 GitHub 账户。

登录 Cloudflare Dashboard 进入 Pages 服务。

点击创建项目,连接到 GitHub 仓库。

使用以下设置:构建命令「留空」(无需构建)输出目录「留空」(默认为根目录)

最后点保存并部署。

可选:在设置环境变量中配置密码保护。

  1. 用 Vercel/Netlify 部署

与 Cloudflare Pages 类似,只需要连接仓库并部署即可,无需特殊配置。

点击仓库中的部署按钮,按照提示完成部署流程。

  1. 用 Docker 部署
1
docker run -d --name libretv -p 8899:80 -e PASSWORD=your_password_here bestzwei/libretv:latest

注意:使用 Docker 运行 LibreTV,运行以上命令。然后打开浏览器输入 http://localhost:8899 即可访问。

  1. 用 Docker Compose 部署
1
2
3
4
5
6
7
8
9
10
version: '3'
services:
libretv:
image: bestzwei/libretv:latest
container_name: libretv
ports:
- "8899:80"
environment:
- PASSWORD=111111
restart: unless-stopped

注意:将上面内容保存到 docker-compose.yml 文件中,然后运行 docker-compose up -d 命令即可启动 LibreTV。

LibreTV 的使用

  1. 搜索视频:打开 LibreTV 的网页界面,直接在搜索框中输入想看的电影、电视剧关键词,点击搜索按钮或者按回车键,系统会自动聚合多个视频源。

  2. 可选择播放源:在搜索结果中,可以看到不同视频源提供的播放链接,根据喜好选择一个合适的播放源,点击进入播放页面。

  3. 播放控制:在播放页面可通过播放器的控制按钮进行播放、暂停、调整音量、可切换清晰度、拖动进度条等常规操作。此外,还可以使用键盘快捷键来进行屏、快进快退操作,提升观影体验。

  4. 查看历史记录:LibreTV 会将搜索历史存储在本地,可在搜索框下方或相应的历史记录区域查看和点击之前搜索过的内容,方便快速查找以及继续观看。

LibreTV 的效果

杜老师提供的免费平台:

LibreTV 以其丰富的功能、简洁的界面以及便捷的操作,为用户带来全新的在线观影体验。无论是在家中放松休息,还是在旅途中打发时间,它都能满足随时随地观看影视内容的需求:

Electerm 高效便捷的开源终端工具

2025年4月18日 00:00

在数字化工作时代,一款高效、便捷的终端工具对于开发者、系统管理员和网络工程师等人群来说至关重要。Electerm 作为一款开源免费的跨平台终端模拟器,凭借其丰富的功能和优秀的用户体验,成为了众多用户的首选。

Electerm 的简介

集终端模拟器、文件管理、远程连接、SFTP 客户端等功能于一体,支持 Windows/macOS 和 Linux 等多种操作系统。不仅功能强大,而且界面简洁直观,易于上手。

Electerm 支持在同一窗口中运行多个 SSH 会话,方便用户可同时管理多个远程服务器。同时,它还支持多种认证方式,包括密码、密钥、双因素认证等,充分满足不同用户安全需求。

安装方法

  1. Windows 系统的安装方法

访问 Electerm 的 官方网站,进入下载页面,找到 Windows 相关安装包。下载完成后双击安装包,进入欢迎界面,选择安装模式,浏览选择安装位置点击安装,等待安装完成即可。

另外,也可选择下载免安装版,解压到磁盘自定义目录,直接打开 electerm.exe 就能使用了。

  1. Linux 系统的安装方法

对于一些 Linux 发行版,如 Ubuntu、Kylin 等,用户可直接通过系统的内置软件商店进行安装:

使用方法

  1. SSH 连接项

打开 Electerm 后,在主界面点击左上角的加号,选 SSH。在弹出的对话框中输入主机地址、用户名以及密码等相关信息,点击连接按钮。

  1. 文件传输

在连接到远程服务器后,点击左侧边栏文件管理选项,进入文件管理界面。在该界面中用户可以看到本地和远程服务器的文件目录,通过简单拖拽操作,即可实现文件的上传和下载。

  1. 自定义快捷键

Electerm 允许用户自定义快捷键和主题,以满足个人操作习惯和视觉喜好。点击顶部菜单栏的设置选项,进入设置界面。在快捷键部分,用户可根据自己的需求对各种操作的快捷键进行修改和设置。在主题项部分,提供多种预设的主题供用户选择,同时用户也可以根据自己的喜好对主题的颜色、字体等进行自定义调整。

  1. 其它功能

Electerm 支持多语言,包括英语和中文等,用户可以在设置中进行语言切换。此外,它还具有自动完成、自动重连、透明窗口、终端背景图像等等功能,为用户提供更加便捷和个性化的使用体验。

效果截图

Electerm 支持 SFTP 功能,方便用户在本地和远程服务器间传输文件:

成功连接到远程服务器,进行相关的操作和管理:

Wave Terminal 多功能开源终端工具

2025年4月15日 00:00

在现代开发工作中,终端是我们必不可少的工具之一。今天要给大家介绍的 Wave Terminal,无疑是一款将传统终端功能与图形化能力完美融合开源终端,能够极大地提升我们的工作效率。

Wave Terminal 的简介

Wave Terminal 是一款支持 macOS/Linux 和 Windows 三大操作系统跨平台终端。

它不仅具备常规的终端功能,还集成了诸多高级特性,例如文件预览、网页浏览、AI 对话等。这使得开发者在使用终端时,无需频繁切换其它应用程序,即可完成多种任务。

下载安装

访问 Wave Terminal 的官方网站,下载安装包后,按照安装向导进行操作即可完成安装:

使用方法

界面布局模块操作:Wave Terminal 的默认界面左侧为终端命令行模块,中间区域分别是 CPU 性能、浏览器和本地文件路径模块,右侧则有帮助、提示和 AI 对话模块。这些模块均可根据个人需求随意拖动位置、多开、添加、删除。

多命令行窗口使用:可同时打开多个命令行窗口,方便在不同项目或任务之间切换。例如,在一个窗口中运行项目服务,另一窗口中执行相关命令进行调试等操作。

文件路径浏览操作:在文件路径模块中,用户不仅可以查看文档、图片,还能播放视频。直接输入文件路径或者通过图形界面浏览文件系统,快速定位到所需文件并进行编辑或者查看。

网页浏览功能:利用内置的浏览器模块,可以直接在终端中浏览网页。这在需要查阅技术文档、搜索解决方案等场景下非常方便,无需切换到其它浏览器,节省了时间和精力。

AI 对话的功能:借助右侧的 AI 对话模块,用户可以与 AI 进行交流。无论寻求编程建议、解决问题思路,还是进行其它知识性的问答,都能得到及时的回复和帮助。

远程连接功能:通过 Wave Terminal 可以方便地连接到本地内网的 Linux 服务器。以 Ubuntu 系统为例,先在 Ubuntu 系统安装 SSH 服务,执行 sudo apt -y install openssh-server 命令进行 SSH 安装,安装完成后执行 sudo systemctl status ssh 命令查看 SSH 的服务状态,若显示绿色 running 提示则表示服务已启动。然后在 Windows 系统 Wave Terminal 中,输入 ssh 用户名@服务器 IP 命令,输入密码后即可连接到远程 Linux 服务器。

工具截图

Wave Terminal 的强大之处在于它将多种实用功能整合到一个终端工具中,无需再频繁的切换应用程序,大大提高工作效率。无论是开发人员还是系统管理员,都能在这款工具中找到诸多便利之处,它无疑是现代终端工具中的一颗新星,值得大家尝试使用:

只需一张图, AI就能拍大片: Pollo引爆短视频创作革命

2025年4月28日 20:14

AI进化迭代的速度太快了: AI视频工具Pollo (一张图片就能生成5秒公主抱/法式接吻等视频)

在AI技术飞速演进的今天,新一代视频生成工具Pollo横空出世,再次刷新了人们对AI创造力的认知。只需上传一张图片,Pollo便能生成5秒左右的动态视频,无论是充满浪漫氛围的法式接吻,还是童话般的公主抱画面,都能精准呈现,细节生动,情感自然。

相比以往动辄需要多张图片、复杂提示词、甚至训练模型的生成方式,Pollo的操作几乎简单到极致,大大降低了内容创作的门槛。这种从”静态到动态”的极速转化,不仅体现了AI在理解视觉信息和动作逻辑方面的重大突破,也预示着AI内容生产将进入一个全新的加速阶段。

回顾过去一年,AI从文生图、图生图到文生视频、图生视频的进步节奏几乎是按月计算的。Pollo的出现,标志着图生视频领域迈入了“即拍即生”的时代——未来个人创作者、小团队乃至普通用户,都有机会像专业影视团队一样快速制作高质量的短片内容。

AI的进化,远比我们想象中还要快。也许在不久的将来,”一念成片”、”一想成电影”不再是幻想,而是每个人指尖的日常。

Pollo AI视频制作 (持续更新)

PolloAI视频工具可以制作多种AI视频,只需要一段话或者一两张图片。注册后有100个积点,可以免费用10次,每天还可以打卡获得积分,感觉免费版就够用了。

pollo-ai-daily-checkin 只需一张图, AI就能拍大片: Pollo引爆短视频创作革命 AIGC-视频 人工智能 (AI) 在线工具 小技巧 视频 资讯 软件

Pollo AI视频生成工具:每天可以打卡获得免费积分。

pollo-ai-plan-prices 只需一张图, AI就能拍大片: Pollo引爆短视频创作革命 AIGC-视频 人工智能 (AI) 在线工具 小技巧 视频 资讯 软件

Pollo AI视频生成工具:付费版的价格

pollo-ai-video-tool-features 只需一张图, AI就能拍大片: Pollo引爆短视频创作革命 AIGC-视频 人工智能 (AI) 在线工具 小技巧 视频 资讯 软件

Pollo AI视频制作工具:短视频的利器,可以图生视频,文生视频,也可以在现有的视频丰添加AI效果。

公主抱 Bridal Carry

我媳妇很重,现实中我真抱不动,更不用说来一个公主抱了。

视频:油管/Youtube | B站/小破站 | 微博视频 | 西瓜视频 | 微信视频号 | X/推特 | 小红书 | Facebook

法式接吻 French Kiss – AI可以拿来喂狗粮

和媳妇来个法式接吻,秀个恩爱

视频:油管/Youtube | B站/小破站 | 微博视频 | 西瓜视频 | 微信视频号 | X/推特 | 小红书 | Facebook

也可以把ChatGPT生成的Ghibli动画图片拿来用!

也支持在Ghibli动画图上二次创作。

我媳妇说:生成视频不清楚,很模糊。确实是,感觉之后AI Agent会互相协作,视频生成后可以让AI再变高清4K无码之类的。未来可能真的要来了,听说2027年就能全面进入AGI时代,到时候平面动画、设计师、视频剪辑师、程序员、律师、医生等职业需求可能要大幅度减少了,被社会淘汰的会是那些不懂得用AI工具的人。

视频模糊变清楚

这个工具里也有视频变清楚的功能,选择了一个4k,除了生成的视频文件确实变大了一些,效果并不是感觉特别明显(当然可能确实有点效果)

和媳妇高清版本4k的法式接吻 French Kiss in 4k

Pollo立马注册,上传一张照片就能生成AI视频!

AI 图片/照片/视频 工具分享/小技巧

英文:AI Video Tool: Pollo.AI (AI Scales Fast!)

本文一共 1096 个汉字, 你数一下对不对.
只需一张图, AI就能拍大片: Pollo引爆短视频创作革命. (AMP 移动加速版本)

扫描二维码,分享本文到微信朋友圈
75a5a60b9cac61e5c8c71a96e17f2d9c 只需一张图, AI就能拍大片: Pollo引爆短视频创作革命 AIGC-视频 人工智能 (AI) 在线工具 小技巧 视频 资讯 软件
The post 只需一张图, AI就能拍大片: Pollo引爆短视频创作革命 first appeared on 小赖子的英国生活和资讯.

相关文章:

  1. 个人网站Adsense广告申请通过: 需要最少15篇文章 我的个人网站 zhihua-lai.com 本月通过了 Adsense 审核,终于可以再次放置广告,赚些零花钱了。 其实,最初 Adsense 账户通过审核后就能直接放广告,但后来规则变得严格了。如果一个网站长时间没有放置任何 Adsense 广告代码,账户资格会被撤销。重新启用时,需要进行单独审核。如今,在 Google Adsense 中新增一个域名,也必须通过审核后才能投放广告。 为了让我的网站通过审核,我尝试了几次,但总是被拒,原因之一是必须要有足够的内容支持。例如,以前我做的工具网站 SlowAPI.com...
  2. 特朗普加关税的公式竟然是EXCEL里弄的? 这两天中美关税大战越演越烈,据说,特朗普加关税的计算方式竟然是直接在EXCEL电子表格里弄的,具体如下: 其中 I 是 Import,进口;E 是 Export 出口。 优美又实用的公式家族又添新成员 勾股定理: 欧拉恒等式: 牛顿运动定律: 爱因斯坦质能等价公式: 特朗普的“互惠关税”公式:,其中 I...
  3. 新的旅途 – 离别总是伤感的, 离开了一起创业的公司 2周前, 正式离开了一起创业的公司, 这公司是我博士毕业后的第一份正式工作, 待了8年多了, 离别总是伤感的. 我是9月初提的离职, 三个月 Notice Period, 最后的几周交接完工作确实没有什么压力了. 11月30号, 在公司最后一天, 公司有个习惯, 对于 Good...
  4. Minuet in C – 小步舞曲C Posted Youtube – 油管地址 孩子弹琴的时候最帅了. 我现在成了我儿子的粉丝了. Eric (Aged 6) is playing “Minuet in C” when...
  5. 上了年纪痛风脚崴了的惨痛经历(尿酸过高) 痛风是一种疼痛性关节炎, 当血液中的尿酸水平高, 导致晶体形成并积聚在关节内或关节周围, 就会发生痛风. 当人体分解一种叫做嘌呤的化学物质时, 就会产生尿酸. 嘌呤自然存在于您的身体中, 也存在于某些食物中. 尿酸通过尿液从体内排出. 上两周, 和媳妇吵架, 然后就自己一人睡, 有一天起床后脚踝就开始疼了, 然后明显比左脚肿了. 我刚开始就以为是睡觉的时候不小心姿势不对,...
  6. 今晚可能是英国倒数第三次冬令时时间调整 来英国生活过的人都知道 英国有一个很有意思的夏令时和冬令时时间调整. 夏令时是每年3月份的最后一个星期天凌晨会暴力的把时间往后调整1个小时, 也就是1点的时候很神奇的时间会自动变成2点. 冬令时是相反, 在每年的十月份最后一个周日凌晨暴力的把时间往前调整一个小时, 也就是2点神奇的变成1点. 现在大多数电子设备都能自动调整时间了, 比如你的智能手机和电脑. 但是传统的一些钟表, 还需要人为的调整时间. 夏令时 (Daylight Saving Time)调整的那一天,...
  7. 优衣库 感觉像炒作 这几天 这个在北京三里屯 ‘优衣库’ 试衣间自拍的视频真的很火, 男女主角均被人肉. 不可否认 这个效果还真的不错 因为我之前根本不知道 “优衣库” 是干嘛的 很刺激 在试衣间XXOO是多么爽的事情 女主角 95后妹子 长相甜美....
  8. 因为一个 try catch 好几天优秀点赞程序挂掉了我却以为是节点的问题 YY银行有四个点赞程序, 分别跑于四台服务器上, 它们是: 股东点赞(代理给 @justyy ) 自己的号 足球队 优秀作者(排名前30, 还有跟随点赞) 这几天我就发现, 有些赞没有给出, 我还以为是节点的原因, 因为查看记录, 发现是...

机顶盒与消防课堂

2025年4月28日 16:50

大概是去年这个时候,在公司楼下遇到了一个推销携号转网的老乡,于是就说帮一把,完成一下他的业绩。
将联通的手机号转到了移动,还被附赠了一根宽带,实际上家里有一个电信宽带,但想着不拿白不拿。
安装宽带的时候,被塞了一个高清电视盒子,实际上家里根本用不着,当初跟安装的师傅说。
他是这样回答:你如果不需要,就自己去移动营业厅退,我们安装工人是不能退的。

IMG_6583

那也没办法,这个盒子一放,就放到了一年后的今天,上周六说去退,也没退成。
为什么没退成呢,我拿了个号,前面要等38位,平均一个客户要占用10分钟,真的无奈。

想着这周,抽个工作日,在节前把机顶盒给退了,不然后面每月要收费20,我也不知道现在社会到底哪些人需要机顶盒。
大家好像都在用手机,平板,机顶盒应该成为被淘汰的产物了吧 ?

IMG_6578

IMG_6580

跟宝宝在路上倒是拍了两张图,挺养眼 。

今天上午,请了半天假,参加了幼儿园开展的安全教育课堂,家长与小朋友有一些亲子活动环节。
安全教育家校联动的模式挺好的,主要还是在借机教育大朋友们,一些常备灭火器,灭火毯,放毒口罩。
还有车上需要备破窗带切割的安全锤等,都是很有意义的,这些东西平时不起眼,用的时候能保命。

qkaed0

最后无奖竞猜,以前的博文,网友总说我很神秘,哈哈。这下算是露脸了。

对了,最近没有更新博客,是业余在做小游戏 徒手造车小游戏 感兴趣可以提提意见。
等做的差不多了,再专门聊一下 哈哈。

以上,近况。

SimpleMindMap 开启思维可视化之旅

2025年4月12日 00:00

在信息爆炸的时代,思维导图已经成为高效整理知识、梳理思路必备工具。而 SimpleMindMap 作为一款强大的 Web 思维导图工具,凭借其独特的魅力,正吸引着越来越多用户目光。

SimpleMindMap 是什么

SimpleMindMap 既是思维导图的 js 库,也是一个完整思维导图工具。

功能丰富,能满足思维导图的各种需求,无论是简单的想法记录,还是复杂知识体系构建。

其插件化设计理念,使得除核心功能外的其它能力都作为插件提供,用户可以按需选择,避免了冗余代码的困扰。

而且易于使用,开箱即用,配置丰富,文档清晰,无论是编程新手还是有经验的开发者,都能快速上手。

安装方法

  1. 在线使用

最便捷的方式便是直接在线使用。这种方式适合临时使用或者快速尝试工具功能的场景。

访问 在线思绪思维导图,无需繁琐安装过程,即可立即开始创建思维导图。

  1. 本地部署
1
2
3
4
5
6
7
8
9
services:
mind-map:
image: hraulein/mind-map:latest
container_name: mind-map
restart: always
ports:
- "8080:8080"
environment:
- GIN_MODE=release # debug 为调试模式

注意:对于一些对数据安全和隐私有严格要求的用户,本地部署是最理想选择。将上面的内容保存为 docker-compose.yml 文件,然后用 docker-compose up -d 命令启动容器。

使用方法

  1. 创建思维导图

打开 SimpleMindMap 应用后,首先会看到一个简洁的界面。点击「新建」按钮,即可开启一张新的思维导图。

在中心出现一个根节点,这是思维导图起点。可双击根节点,为其输入主题名称,比如「我的学习计划」。

  1. 添加分支节点

确定好主题后,接下来就是添加分支节点来细化内容。先选中根节点,会发现有一些添加子节点的按钮或快捷键提示。

通常可以通过点击这些按钮或使用快捷键「如 Tab 键等」来创建子节点。例如,在「我的学习计划」根节点下,添加「语文」「数学」「英语」等学科子节点。

  1. 编辑节点内容

对于每个节点,不仅可以修改文字内容,还可以进行丰富的格式设置。在选中节点后,可通过顶部菜单栏或者右键菜单找到编辑选项。

比如,可以设置字体大小、颜色,加粗、倾斜文字,甚至可以插入图片、链接等多媒体元素。

  1. 调整布局

SimpleMindMap 提供了多种布局方式,以满足不同的展示需求。在菜单栏找到布局选项,有常见的思维导图布局。

可根据思维导图的内容结构和美观度考虑,随时切换布局,直观地看到不同的展示效果。

插件拓展

SimpleMindMap 的插件化特性是一大亮点。用户可根据自身需求安装各种插件来增强功能。

例如,有用于团队协作的插件,可让多个用户同时编辑一张思维导图,实时看到彼此修改;还有用于数据分析插件,能够对思维导图中的内容进行简单的统计分析,如节点数量统计、关键词频率分析等,为用户提供更好数据支持和决策依据。

Logseq 高效知识管理与协作利器

2025年4月9日 00:00

Logseq 以其出色的知识管理能力、便捷协作功能、强大的隐私保护以及灵活的可扩展性,成为了日常学习和工作中不可或缺的工具。不仅帮助高效地记录和整理知识,还激发了创造力和思考能力。

Logseq 的简介

Logseq 是一款开源的本地优先知识管理和协作平台,它完美融合了大纲笔记与双链笔记的优势,还注重用户的个人隐私保护。支持多种文件格式,包括 Markdown 等,满足不同用户写作习惯,同时提供了丰富的插件生态系统,用户可以根据自身需求扩展功能:

它不仅具备强大的笔记编辑能力,还内置了任务管理、日历视图、知识图谱功能,助力用户更好规划工作、学习、生活,无论整理学习资料、记录工作要点,还是进行团队协作,Logseq 都可以轻松胜任:

Logseq 的安装

Logseq 的安装十分便捷。电脑端用户可以从 官网,根据自身操作系统选择对应的安装包进行下载安装,如 Windows、Linux 等都有适配版本。首次打开会自动创建一个知识库,也可以根据需要自行创建新的知识库。

手机端用户同样可以在 App Store 或官网下载安卓端 Logseq 应用程序,实现移动端与桌面端的无缝同步,方便用户随时随地查看、编辑笔记。

Logseq 的使用

  1. 创建编辑笔记:在 Logseq 创建笔记非常简单,点击界面右下角的加号按钮,即可新建笔记。在编辑界面可以使用 Markdown 语法文本进行排版,例如设置标题、段落、列表、链接等等,还可插入图片、表格等等元素,让笔记内容更加的丰富多样。

  2. 添加标签属性:为更好地对笔记进行分类和管理,可为笔记添加标签。在笔记编辑界面中,点击右上角的「标签」按钮,输入相关标签名称即可。此外 Logseq 支持为笔记添加属性,如优先级、状态、日期等等,方便用户从不同维度对笔记进行筛选、查询。

  3. 双向链接:这是 Logseq 的核心功能之一。当在一篇笔记中提及另一个已存在的笔记内容,Logseq 会自动在两者间建立双向链接。也可以手动在笔记中入「笔记名称」的形式来创建链接,通过双向链接,可以轻松构建起一个有机的知识网络,方便在不同笔记间穿梭浏览,发现知识间的隐含关联。

  4. 知识图谱:借助知识图谱功能,可以直观地看到笔记之间的链接关系。点击界面左侧边栏「知识图谱」按钮,即可进入图谱视图。在这个视图中,节点之间的连线表示它们之间的双向链接关系。可以通过放大、缩小、拖拽等操作来浏览图谱,还可以查看某个笔记的关联笔记列表。

Logseq 的进阶

  1. 使用插件扩展功能:Logseq 的插件市场提供了丰富多样的插件,如增强的表格编辑插件、思维导图插件、PDF 注释插件等。可在 Logseq 的设置界面中找到件管理选项,浏览并安装需要的插件,以进一步提升工作效率。

  2. 数据同步备份:支持与多种云存储服务集成,如 GitHub、Google Drive 等,确保笔记数据在不同设备间实时同步。此外,还可以定期对数据进行本地备份,防止数据丢失。

自托管 Bitwarden

2025年4月17日 23:20

起因

使用浏览器保存密码,是我十年以来从使用傲游浏览器开始的习惯。得益于导出和导入的便捷,我换过很多浏览器,这些密码依然被完整的迁移到了我现在使用的 edge 浏览器上,且 edge 安卓版也支持作为密码管理器给应用填充密码,至此我都没有更换密码管理器的想法。

前阵子有博主给我推荐了 keepass,加上浏览器保存的四百多个密码中绝大多数使用的同一个密码,一旦泄露一个,被撞库的后果不堪设想,于是我有了更换密码管理器,且使用这玩意生成复杂密码的念头。

但是阴差阳错,keepass 太丑,我的服务器又可以一键部署 bitwarden,所以我最终选择了后者。

使用官方服务

一开始我并不是很愿意自己托管数据,一方面是 bitwarden 的官方服务够用,且一定程度够安全,自托管可能会面临更多的维护和容灾时间成本,所以我注册了官方的账户。

登陆后,我从 edge 导出了保存的密码——虽然需要输入系统密码,但是如柚子所言,浏览器保存的数据是很容易被导出或窃取的。导出完毕,我便删掉了浏览器保存的密码数据,决心使用 bitwarden 一条路走到黑。

起先体验还不错,但是没多久我就遇到了一个问题。在单位电脑上为某网站创建的账户使用了 bitwarden 生成的复杂密码,并且保存在了该应用中。而在家中的电脑上想自动填充时,却发现浏览器插件提示没有填充项目,即使我在本地一再点了同步密码库。

此时我意识到很可能是在单位时,该账户密码并未成功被同步到 bitwarden 的云端。

因此,我决心自部署该项目。

自部署和托管

在 1panel 中一键部署 bitwarden 是非常轻松的一件事,让我踩坑的点在于后续的配置中。

根据官方文档和碎月的建议,我决定使用域名的子目录来反向代理该服务,一定程度上减少它被恶意扫描和爆破的风险。理论上使用子目录反代很简单,只需要添加一条环境变量,在反代中添加该路径即可。

我的蠢问题

但问题来了:1.环境变量没有生效,2.反代只支持添加域名但不能包含路径。

针对问题2,我和碎月进行了较长的辩(嘴)论(硬)。我认为,一个域名都已经解析到目录 A 了,难道还能反代到目录 B 吗?

即,example.com对应网站的目录是 /opt/www/sites/,bitwarden 安装的路径是 opt/docker/bitwarden/,那么example.com/bit/是无法解析到后者的。还好碎月有耐心,让我明白了只需要在已解析域名的反向代理中添加前端请求路径和后端代理地址即可。

如图所示添加路径和带端口的地址即可

问题2解决了,问题1困扰了我好久。我添加的三个环境变量如下:

# 指定域名和子目录
DOMAIN=https://example.com/bit
# 禁用注册
SIGNUPS_ALLOWED=false
# 禁用邀请
INVITATIONS_ALLOWED=false

我首先在该服务目录下的 .env 中写入环境变量,重启服务,没生效;

docker-compose.yml 中硬写变量再重启,也没生效,碎月也不知道何故,为此,我还去 1panel 的项目中提了一个 issue (丢脸)。1panel 官方工作人员回复了我,并确认该情况不是 bug。在我多次尝试后发现了问题所在:修改 docker-compose.yml后我没有点重建!!!

不爱使用 docker 的我,最终为自己的无知感到了羞愧。

避坑

由于在应用商店更新应用会导致非持久化目录下的文件丢失(或覆写),所以我一直在考虑把 .env 添加到持久化目录中,在 docker-compose.yml里指定路径,还是把环境变量硬写在 docker-compose.yml里,最终我选择了后者。

为此,我和 deepseek 之间也有一段小小的插曲,因为允许它说脏话,所以我被它骂了,虽然后来它服软——因为我的环境变量里并不包含重要的敏感信息。

deepseek认为不应把变量写在yml

因为升级时可以勾选自定义docker-compose.yml,所以把环境变量写在这里要方便得多。

备份

虽然服务器已经稳定运行好几年了,我时不时会添加快照,但把鸡蛋放在同一个篮子里并非明智之举,所以我通过 1panle 的定时任务每天都会把 bitwarden 的数据同步到 onedrive 中,以免哪天需要恢复。如果你也选择自托管,我强烈建议使用脚本每天备份数据!

bitwarden数据备份到onedrive

体验

自部署的服务无论是增删还是同步都超级方便快捷,除了保存网站或应用的登陆密码之外,我终于把此前明文写在 onenote 中的银行登录密码给迁移到了 bitwarden 的“备注”功能之中。

但是体验也有不那么好的点,在安卓端或浏览器插件中无法批量管理密码(可能是出于安全),只能在服务端的网页上批量操作。此外,在安卓端的自动填充有时会有延迟,比如在浏览器中点好几次都不会及时显示自动填充,在 APP 上创建密码也不会及时弹窗询问是否保存。但大体上使用没什么问题。

写在最后

自托管 bitwarden 让我尝到了甜头,于是最近这些天我在折腾另一件让我苦恼的事,甚至今天水这一篇文也是为了后面的记录做铺垫。

最近我的 onenote 频繁闪退(其实也不算闪退,有退出动画那样时不时自动关闭)。为此,我决定找一个平替,期间尝试了包括但不限于知名的 notion、obsidian、joplin,以及 google play 上的很多如 notesnook、anytype、standard notes、appflowy、silentnotes等等几十款笔记应用,没有一个近乎完美符合我的需求。

需求如下:免费或者开源,非国产,多端同步,支持自托管或加密同步到如 onedrive 或 webdav,支持单篇笔记加密,界面好看不臃肿,支持剪藏更好。下一篇再来详细谈谈我的简单评测。

花海-生日-幼儿园

2025年4月17日 18:35

前段时间去周浦的四季花海,位置就在公司边上,去这边的路每天上班都走,去玩的当天,真的有种加班的错觉。

878342EF-B960-4B7C-B453-A478132BB753_1_105_c

这边地方比较大,是真的花海,露营,吊龙虾,烧烤,儿童乐园,骑马,喂动物,还有一些体育类的游乐项目。
总的来说基本上户外的热门活动都有,对于周末来说算是个比较不错的去处。

当然我们家也搭了帐篷,遮阳篷没搭好,就先拍了张照,没天幕,大概就这样罢。
帐篷是买的时候是750+,现在做活动500+,我觉得挺保值的,购入4年才降了两百多。

49CC79AA-7A43-4D7C-9823-B86B9A17D68C_1_105_c

露营的装备是这样的,只会越买越多,过两天,再拍拍我新购入的天幕,小椅子。
上海市内露营的地方还是挺多的,环境好的地方一般都是收费的,属于公园内。
我还想着等五一天气温度起来了,找个小溪边扎营玩一天,想必也是极好的,只是这样的地方不好找。

5B0251AA-F0AC-406B-A2AF-2A579F6C0620_1_105_c

过生日

前段时间宝宝过生日,也收到了舅舅,舅妈买的玩具,安静的玩了一下午,顺便又把红色的印泥翻出来,弄了一手。
幸好这次发现的早,早早的就把印泥收起来的。上次的教训还历历在目 -2025春节小记,当时宝宝把外婆家窗帘弄的都是红色巴掌。

幼儿园

宝宝在幼儿园被其他的小朋友欺负了 没问出个所以然,大概说是有一个小女孩,个子长得比较大,大概是打了她,或者玩的时候比较用力,宝宝是认为这个小姑娘打了她,身上倒是没有伤,估计也是吓到了。听说也有其他的家长跟老师说过,这个小姑娘欺负过他们家的娃。

本来我跟领导都准备去找对方家长了。提前一天跟陈老师打电话,老师的意思就是小朋友之间的打闹大人不要管,让学校去牵头,教育小朋友

第二天我俩早上送娃去幼儿园,约见了老师。还是前一天跟我通电话时候的说辞,当然陈老师说的也有道理,都是幼儿园的小朋友,都是很可爱的小朋友们,你能说她做错了什么吗,其实也不能,只能说将两个小朋友都往各自成长的正确方向上继续引导。

以上记录最近发生的一些印象深刻的几件事。

PS邀请函多名字怎么处理?批量制作证书、邀请函、奖状图片

2025年4月15日 15:27
这篇文章介绍了如何利用Photoshop的变量功能高效制作个性化邀请函。第一步是设计邀请函模板,并将替换的文本分别放置在独立的文本图层中。接着,创建一个包含名单的CSV文件,随后在Photoshop中为文本图层定义变量并导入CSV文件作为数据组。通过文件>导出>数据组作为文件功能,可以进行批量生成。最后,使用快速操作或图像处理器将PSD文件转换为图片格式。这种方法不仅节省了大量时间,还特别适合需要批量制作个性化邀请函的情况。

宝塔面板与Bitwarden插件不兼容,登录提示:验证码长度错误 解决方法

2025年4月15日 14:55
这篇文章介绍了宝塔面板与Bitwarden在开启2FA后存在不兼容问题,登录时提示“验证码长度错误”且验证码无法加载,作者经过测试发现是宝塔将2FA验证码误识为登录验证码,建议关闭宝塔的动态验证码并在Bitwarden中删除验证器密钥以解决问题,目前已向社区反馈但是否官方修复仍未知。

Photoshop换电脑如何迁移工作区,将习惯的布局拷贝到其他电脑上

2025年4月15日 11:03
这篇文章介绍了在Adobe Photoshop中导出和导入工作区设置的方法帮助用户在不同电脑之间轻松切换工作环境首先需确保已有自定义工作区接着通过保存工作区设置文件存储于用户特定路径下的WorkSpaces文件夹可将设置备份至U盘或云端在新电脑上通过复制备份文件至相应路径并重启Photoshop即可导入原先的工作区设置实现无缝切换。

1Panel 全新移动 APP 上线

2025年3月19日 00:00

1Panel 作为新一代的服务器管理面板,为 Linux 服务器运维提供了一个舒适便捷的 Web 图形界面。为了方便移动办公,1Panel 推出了 APP 移动端,目前还在测试阶段,不过足以满足大多数用户的需求。

功能满足多样需求

1Panel APP 拥有丰富且实用功能特性,涵盖服务器管理的多个重要方面。它支持 Android 和 iOS 系统,确保不同设备用户都能享受到一致的服务体验。用户可以方便地添加多个 1Panel 服务,实现对多台服务器集中管理:

首页全局概览表盘,以直观的方式展示服务器的关键信息,让用户一眼就能了解服务器整体运行状况:

应用管理方面,1Panel APP 表现得十分出色。用户不仅能够查看已安装的应用,还能轻松进行安装、配置、管理操作,极大地简化了应用部署和维护的流程:

对于网站管理,它提供专业的工具,方便用户对网站进行创建和编辑、删除操作,同时支持域名绑定和 SSL 证书配置,确保网站的安全性和稳定性:

Docker 容器管理是 1Panel APP 的一大亮点。用户可以方便创建、启动、停止、删除容器,还可以对容器的资源进行合理分配和监控,满足了开发者和运维人员在容器化部署方面的需求:

服务器状态监控功能则让用户实时掌握 CPU、内存、磁盘等资源的使用情况,及时发现潜在性能瓶颈,为服务器优化提供有力依据:

获取使用资格方式

目前 1Panel APP 正式版仅支持专业版用户使用,可以通过各大厂家应用商店安装手机端 APP。

如果还不是 1Panel 专业版用户,又感觉官方的价格太贵,欢迎选择《1Panel 专业版低价租用》数量有限,先到先得!

无锡游记

2025年4月7日 15:59

前两天游了无锡,今天抽空记录一下。
无锡之行只花了两天时间,一天时间自由行,另外一天是跟团游。

自由行是第一天,当天上午坐高铁到无锡,原本定的8点多的票,但是从家里出发堵车,到火车站要1个小时,8点出发来不及了,改到9点多的票,顺利坐上车,丛上海出发45分钟就到无锡了,可以说是非常快。

下了高铁去酒店放行李,酒店就在火车站旁边的全季酒店,打个出租车,师傅说从人行道穿过去就到了,直线距离才200米,但是我看导航上显示要1.3公里,真是坑爹的导航!最终傅很不好意思的收了10块钱起步费,载我们到达酒店。放完行李后我们步行到崇安寺附近的西新饭店,是无锡老牌饭店了,里面有很多年龄大的在吃饭,肯定是来对了,点了一个118套餐,再加了一个白丝鱼,价格还是挺美丽的。

44861744011962_.pic

吃完饭沿着崇安寺步行街走走逛逛,发现实际上是一个沿着扩建的步行街,没有寺,还有一个党支部第一办事处,广场有很多老年人在活动,感觉已经变成老年场所了,然后去买了茶颜悦色,上海没有,但是每到一个地方只要有就会喝,因为很好喝~

44851744011961_.pic

44871744011981_.pic

44901744011985_.pic

44911744011986_.pic

44921744011987_.pic

44941744011989_.pic

44951744011990_.pic

44971744011992_.pic

45001744012024_.pic

步行街走到头就是三阳广场地铁站,1号线坐一站路到南禅寺下车,先去南禅寺逛了一圈,领导烧了个香,我则是拍拍照,顺便还帮一个游客拍了几张照片。南禅寺香火挺旺盛的,然后从南禅寺走到南长街,一路上都是小吃,简直什么都有,但是领导吃了饭什么也吃不下,我还调侃说“行不行啊,出来什么也不吃”。从南禅寺走到南长街步行街入口,有点累了坐在门口星巴克休息一会,对面有个特产店,逛了一圈买了一串手链,本来自己想戴结果手太大戴不进去,怕链子崩了,领导买了把无锡的团扇,说明天拍照用。

44961744011992_.pic

在南长街一路走到头,走走逛逛拍拍照,在清明桥打卡,旁边还有个中国丝业博物馆,可惜闭园了没进去参观,再往前走发现一排别墅区,非常有特色,查了一下300多万一套,领导说好心动,好想住进去。在旁边拍照的时候一直咪咪径直向领导走过去,然后在脚上蹭了蹭,我赶紧拍了领导和咪咪的合照,很有意思,一路上还看到很多可爱狗狗。走出南长街,打车去吃了胖妹饭店,是一家人开的饭店,菜不便宜,味道尚可,都很热情,吃饭的时候有好几桌上海人,领导说每次去周边城市哪里都是家乡话,甚至比在上海听到的都多。吃完饭就打车回酒店休息了,第二天一早就要集合出发~

第二天是跟团走,跟团游有个好处,旅游团的车可以直接开进去,一路畅行,坏处也比较明显,就是比较赶时间。如果你想在短时间游览一些关键景点,并且体力较为不错,选择跟团游是可以的。跟团去的地方会比较多,热门的地方都打卡了,但也只是打了卡,要说想歇脚,那也是不行。在出发前就说明过很多次了,不能掉队,不能出现别人等你的情况。所以还是被上了压力的。

鼋头渚的景点非常大,起初的景点只是古迹庄园,后来周围由陆续开设了多家疗养院,近代又种植了樱花林。在一次次的扩建中,这边的景色也是越来越丰富。来这边玩先要坐游览车,进鼋头渚的老大门,然后直接乘船登岛,去一个人工景点。留给我们的自由活动时间只有40分钟,还没有拍几张照,就要集合登船回程,赶往下一个景点。

24D56DAB-06EC-48A5-973E-D53577B1ED72

A3E3AAF6-F0B0-49AF-B485-3F19D6013265

0681E296-8189-45B4-8CB5-DBEFE14016B2

1B90BFF3-A14B-42F6-B5D3-31AEEDB76791

0FBF5AE4-81FD-49D6-9BC9-7E8B6C5DA2EC

1AEFF02C-7288-40ED-AE5E-4FB1B41536B5

713069B6-65D6-4292-AB7E-6AE93BAE0B23_1_102_o

估计如果再去,应该会游玩一下比较集中的景点,如只去鼋头渚,不去惠山古镇。或者只去惠山玩,就不去鼋头渚,原因是这两个景点都需要刷上一天的时间,毕竟地方是很大的,我们达成的成就是一天之内刷完两个景点,也是惊人了。惠山古镇上有很多的祠堂,也就会有相当多的文字资料,有牌匾,有门联,也有一些文章,这可就触及到了我的知识盲区,甚至很多的牌匾上的字,也只能看懂个大概,另外一半靠猜。

当天人流确实大,基本在古镇上都是人推人在走,导致所有的照片只能斜线向上取景,好在还是拍了不少有趣的图。在这边发一部分,当作记录。

C9E08AD4-307E-49D5-9828-AF797830146B

12C39A70-F8F6-4F93-8D9A-BA72FCF32706_1_102_o

C3695341-8499-43DF-93CE-78038BCF83C5

804384F2-82A3-4B79-8507-25D5B16AFB3E

5DBDE562-92BE-4A39-B0A0-F54EC5EC8587

10E383C3-8367-421A-BC18-49EA71599D00

4C0D5553-71FE-4EF3-8CEF-5D8D64BFF3FA

6F608D4A-1847-450F-9250-31F2959FB2F3

A9AC878C-5D22-4A20-9857-58881A98D800

BDB8ECE2-44D8-4945-985F-4A9A21228D02

D1AA9F24-6610-4324-817B-879B01372ED4

5E7922E7-0D17-4A26-9A80-E8B0BCAAC671

惠山古镇便是我们出游的最后一站,临走时,导游跟我们聊起,你们猜猜我们无锡本地人有夜生活吗?
有人回答有,有人回答没有。
“我们本地无锡人,晚上都不出门的,都在家里辅导孩子做功课,小孩晚上都在加学习,所以我们本地人晚上都不出去”。

以上,无锡两日游。

腾讯云原生开发自动化部署Hexo

2025年4月4日 16:30

CNB 简介

前阵子偶然在雨月空间站了解到腾讯出了一个云原生构建项目 CNB,一开始以为只是另一个国产的 gitee,但是深入体验后才发现它比半死不活的 gitee 高明得很多,非常接近 github。借用评论区的简要概括:云原生开发是 github codespace,云原生构建是 github actions,制品库是 github registry。

CNB 还是很大方地提供了免费额度,详情见云原生构建定价,实际云开发使用体验也非常不错。自从我换电信宽带后,基本无法直接向 github 推代码,既然如此,那我是不是也可以将我的博客自动化迁移到 CNB 上呢?

CNB 自动化部署hexo流程

必要步骤

1.注册一个 CNB 的账号,目前只支持使用微信登陆;

2.创建一个组织,实测非常见字符可以直接创建,但是短字符或常用字符需要域名验证。因为支持 .cool 域名验证,所以我创建了组织“hin”;

CNB组织创建

3.创建仓库,和 github 一样,你可以创建公开和私有仓库,此外,github 中的私钥等环境变量在 CNB 中得通过创建秘钥仓库来实现;

4.在这里创建访问令牌,以便拉取和推送代码,场景和权限范围还是非常细致的。特别提醒:记得保存生成的令牌!

创建令牌

创建 hexo 仓库

如果你要推送 hexo 博客到腾讯云 cos,那么你可以使用 hexo-cos-demo 这个模板;如果你要推送到自己的服务器,则可以使用 hexo-rsync-remote这个模板。这两个模板都自带云原生开发环境,可以一键上手。

起初考虑到我的 hexo 以及主题版本都太低,至少有两年没更新了,所以我选择了创建空白仓库,复制原 github 仓库文件和代码,参考案例编写环境。

强烈建议:创建私密仓库,以免配置文件中的一些密钥泄露!!!

仓库根目录创建.ide/Dockerfile文件,参考内容如下:

# 帮助文档地址: https://docs.cnb.cool/zh/vscode/quick-start.html
# .ide/Dockerfile,node 版本可自定义
FROM node:18

# 设置软件源
RUN npm config set registry https://mirrors.cloud.tencent.com/npm/

# 以及按需安装其他软件
# RUN apt-get update && apt-get install -y git

# 安装 code-server 和 vscode 常用插件
RUN curl -fsSL https://code-server.dev/install.sh | sh \
&& code-server --install-extension redhat.vscode-yaml \
&& code-server --install-extension dbaeumer.vscode-eslint \
&& code-server --install-extension eamodio.gitlens \
&& code-server --install-extension tencent-cloud.coding-copilot \
&& echo done

# 安装 ssh 服务,用于支持 VSCode 客户端通过 Remote-SSH 访问开发环境
RUN apt-get update && apt-get install -y wget unzip openssh-server

# 指定字符集支持命令行输入中文(根据需要选择字符集)
ENV LANG C.UTF-8
ENV LANGUAGE C.UTF-8

# 安装环境依赖,便于云原生开发可以调试
RUN npm install #安装仓库内 package.json 的依赖
RUN npm install -g hexo-server
RUN npm install -g hexo-cli

推送 hexo 到仓库

拉取和推送项目的操作和使用 github 一样,不再赘述。在第一次拉取私密仓库或者推送时,需要登陆,在登陆框填写此前创建的令牌即可。

我复制了此前 hexo 文件夹下的 sourcethemes 等文件夹,以及 _config.ymlpackage.json 等文件,然后 git push到仓库。

hexo仓库界面

点击右上角的橙色“云原生开发”,很快就会创建好环境,可以选择使用 WebIDE,也可以使用 VSCode 等 IDE 打开。为了方便,我就直接选择了网页版的 IDE。

cnbworkspace

打开网页版的 IDE 就可以在网页上使用 vscode 进行代码编写、拉取和推送等操作了。IDE 自带了腾讯的代码助手,但是我没使用过它。

cnbwebide

和 github codespace 一样,你可以直接在网页版 IDE 中使用 hexo s这样的命令来在线运行和调试。

此外,建议你使用子模块的方式引入 hexo 主题,以便于后续主题的更新和修改。和在 github 一样,在当前仓库创建 .gitmodules 文件即可,内容参考:

[submodule "themes/butterfly"]
path = themes/butterfly
url = https://github.com/yourname/hexo-theme.git
branch = master

创建密钥仓库

在网页 IDE 中测试没有问题后,即可开始下一步了。

新建仓库,类型选择密钥仓库,参考文档在仓库里创建一个env.yml文件,内容参考如下:

# 密钥仓库 env.yml
RSYNC_KEY: |
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rABAAABlwAAAAdzc2gtcn
NhAAAAfdsghr/tUCVZVy4w5Clrs1Jgwq
-----END OPENSSH PRIVATE KEY-----
RSYNC_USER: root

# 声明指定镜像的插件任务能引用该配置文件
allow_images:
- tencentcom/rsync:latest
# 声明指定仓库的流水线能引用该配置文件
allow_slugs:
- hin/hexo

详细的参数说明参考官方的 rsync 文档。此外,一定要记得粘贴私钥内容有两个要点:

1.在 yml 中,多行内容要用|来表明;

2.由于 yml 对格式非常敏感,所以私钥的每一行都需要缩进两个空格而不是 Tab。

一开始我没注意到第二点,导致尝试推送静态文件到服务器时登陆失败,虽然构建日志中也提供满血版 deepseek 帮忙分析日志,但这也为我明明格式正确却无法连接到服务器埋下了另一个伏笔。

创建自动化工作流

在 hexo 仓库(不是密钥仓库)中创建一个名为 .cnb.yml的文件,它的作用和 .github/workflows/main.yml是一样的,写法上稍有不同,参考代码如下:

main:
push:
#声明构建环境:https://docs.cnb.cool/zh/
- docker:
image: node:18
#volumes缓存:https://docs.cnb.cool/zh/grammar/pipeline.html#volumes
volumes:
- /root/.npm:cow
stages: #安装依赖和 hexo
- name: npm install
script: npm install
- name: install hexo
script: npm install -g hexo-cli
- name: build
script: hexo generate
# https://cnb.cool/cnb/plugins/tencentcom/rsync
- name: rsync 上传到服务器
image: tencentcom/rsync
# 引用密钥仓库配置文件
# 导入环境变量:https://docs.cnb.cool/zh/env.html#dao-ru-huan-jing-bian-liang
imports: https://cnb.cool/yourgroup/env/-/blob/main/env.yml
settings:
user: $RSYNC_USER
key: $RSYNC_KEY
port: 22
hosts:
- 1.2.3.4
# 相对路径末尾带斜线表示同步文件夹里面的内容。
# 不带斜线表示通过这个目录
source: ./public/
target: /www/hexo
prescript:
- echo "prescript"
- ls /www/hexo
script:
- echo "after script"
- ls /www/hexo

到此我们要做的事已经基本完成。当这个文件创建之后,云原生构建便会自动开始。起初,我的每一次构建都在上传到服务器这一步失败了,原因是服务器拒绝了连接。后来查看服务器日志才发现,因为之前失败次数达到设定的值,IP 已经被 fail2ban 给拉黑了。

写在最后

其实这个过程我尝试并失败过很多次,比如 hexo s 的时候发现有标签报错呀,我一直很纳闷,明明主题里有这个标签。后来偶然发现,我的主题是以子模块的方式引入的,在 CNB 仓库里没有声明子模块,导致浪费了很多时间。

其实自从腾讯云的 webify 基本没什么存在感之后,我对 CNB 的期待也不会太高,不知道哪一天这个项目也会被腾讯给淡忘。但是就目前来说,拉取和推送代码快速,云端 IDE 方便,配置给得也很大方,后面试试用来编译 openwrt 的固件都是值得一试的,我们切用且珍惜吧。

吃鼻屎

2025年3月31日 17:15

家里的宝宝这个年纪是真的皮,喜欢打人,这段时间,还爱吃鼻屎。
真的我打下这段字,自己都在崩溃,真的是好气又好笑。
你跟她讲道理吧,她回头就跟你说,我不吃了,过了半小时,又在偷偷挖鼻屎。
是在是气不过了,揍她屁股,也没用,嬉皮笑脸的。
打了之后,我又后悔,刚才太用力了,应该轻一点的。
只能感慨说,这届小孩姐真难带。

昨天带宝玩,吃晚饭之前,奶奶还给宝宝买了一大袋薯片。
当然这个东西,给宝宝了就拿不回来了,我阻止速度还没有奶奶给出去的手快。

晚上吃 腊肠+鸡蛋+米饭 ,本来宝是很爱吃腊肠的,这次基本没吃多少。
一会儿跟我说,“吃饱了”,然后就是在我的视线死角,开始吃鼻屎。

!!!
我感觉自己带娃,也有问题,应该多准备点互动游戏,跟宝宝一起玩。
前段时间买的手工都做完了,今天该再补点货,跟宝一起做。

最近宝还学会了,我不爱你了,我不喜欢你了,诸如此类负面的话。
以前倒是没有跟我说过,看来这就是管的太多的后遗症。
要不吃就吃,反正也不是我吃,你说呢 ?

治疗肺炎

2025年3月27日 15:15

三月十八的时候,宝宝感冒了,确诊是呼吸道感染,后面的一周基本上好的七七八八了。
虽然宝宝的感冒好了,但好像又传染给我和领导,起初我们只以为是咳嗽,当时咳嗽频率挺高,就说我们俩周末去医院瞧瞧。

医生说让我俩验血常规的时候顺便拍个片子,本着来都来了的想法,我们就顺利的拍了片。
有点意外,双双确诊肺炎,我的肺部片子显示,炎症分布比较散,领导的片子则显示比较集中。
问了能不能吃药,被告知,只要是肺炎就六天起步,打吊针。

所以就在当天,医生就开了三天的吊水药,就是左氧氟沙星氯化钠注射液0.5g/瓶+ 0.9%氯化钠注射液100ml/盐酸氨溴15mg

32161743059185_.pic_hd

当天就打上了,已经十几年没有打过吊针了,到今天为止刚好已经是第六天的吊水了。
医院开药,一次只能开三天,三天药打完,重新挂号,重新开药,中间也问过,既然血常规的指标正常了,是否可以不继续吊水。
被急诊的医生告知:血液的指标正常,不代表肺部的炎症消失,所以继续按排打针。
当然,我不是专业人士,肯定是听取医生的建议。等六天满了,在拍个片子,看看肺部炎症的康复情况。

这里提一下费用,药物+CT 目前大概花费了930左右,两个人再翻个倍,两千不到。
基本上费用都被医保账户覆盖了,自费部分不超过十块钱。

我俩医保账户部分消费的部分,刚好还可以在保险报销,这样一进一出,基本上等于没有开销。
再次说明了,保险挺重要的,再就是在医院看病真的好贵。

32111743059157_.pic_hd

最近两个人的手都被打针打肿了,连续打吊水,真的是磨人。
现在就是下班回家,洗完澡就去医院,打好针再回家,基本都12点了。
另外左氧氟沙星的针剂会附带失眠的debuff,吊水过程中会痒。
领导怕睡不着又换成了阿奇霉素,倒不会失眠了,只是吊水过程会持续的痛。

以上,记录一次肺炎治疗过程。

dynv6 免费二级域名申请及管理

2025年3月13日 00:00

自飞牛 OS 支持虚拟机后,很多使用飞牛的小伙伴会询问杜老师有关 DDNS 的问题。希望可以白嫖一个二级域名,支持 API 变更解析值,且支持 IPv6 解析。恰好杜老师发现了一个网站,支持多后缀的二级域名白嫖,这里分享给需要的小伙伴们!

什么是 dynv6

dynv6 是一款免费的动态 DNS 服务,其专为 IPv6 设计。

它允许用户将公共主机名轻松分配给私有主机,从而实现对私有主机的远程访问。

dynv6 对所有用户免费开放。可以选择一个免费的主机名开始使用,或者将自己的域名委托给 dynv6。

然而,需要注意的是,dynv6 目前并不提供企业级的 DDoS 防护和 SLA。因此,dynv6 适合用于非关键服务。

强大的 API 支持

dynv6 提供多种方式来更新区域,满足不同用户需求。

其中包括 REST API 和 SSH 以及 DNS 更新。这些 API 的存在,使得 dynv6 的使用更加灵活、方便。

无论是开发者还是普通用户,都可以根据自己的需求选择合适的 API 来更新 DNS 记录。

此外,dynv6 支持 Webhooks 功能。当 IP 地址发生变化时 Webhooks 可以用来更新外部服务。

官网地址

dynv6 的官网地址如下:

使用截图

打开上面的官网后,点击右上角 Sign up 进行账号注册:

完成账号登录后会自动登录,也可通过右上角 Sign in 进行登录。点击 Create new Zone 可白嫖免费二级域名:

点击下拉框后,可以看到有多个后缀可选择,同时填写 IPv4 或者 IPv6 地址:

若想托管顶级域名,可以点击导航栏 My Domains:

OpenWrt如何开启SSH仅密钥登录,取消密码登录增强安全性

2025年3月24日 11:37
这篇文章介绍了如何通过家庭路由器R5S的安全配置来增强网络安全性。首先,移除了默认的密码登录功能,改用更加安全的密钥登录方式。具体来说,可以通过Bitwarden自动生成密钥或在本地计算机上生成密钥后再传输至路由器并设置权限。此外,文章还提供了如何测试SSH登录和禁用密码登录的方法,以进一步提升网络安全性。

iStoreOS统一文件共享无法连接smb怎么办,windows无法挂在smb提示拒绝访问

2025年3月24日 11:04
这篇文章介绍了如何使用SMB(Server Message Block)协议在局域网内实现文件共享,从而替代传统的WebDAV。具体步骤包括:确保Samba服务的正常运行;创建和管理用户账户;并通过SSH远程登录来配置文件共享。此外,文章还总结了成功的解决方案,并特别强调了使用命令行工具的重要性。

会网购的文盲

2025年3月21日 16:54

前两天我妈妈的店里收到一堆宝宝的东西,有猫咪玩具,还有糖果,东西还挺多的。
我妈就在问东西是谁买的,我还问了领导,是不是她买的,结果问了一圈不是家里人买的。
宝说是自己买的,起初我们都没有当回事。
直到今天,我妈打开了我爸的pdd,发现购物车里面有一堆待收货的东西,刚好和前两天店里收到的东西对上了。

问宝宝,她是这样回答的,
“是我买的,老板娘人很好的,不要钱” 这里的老板娘是指pdd的商品有个讲解视频,大概率是个小姐姐。
由于爷爷的手机是免密支付,点了就直接下单,所以宝宝认为,老板娘没收她的钱,老板娘人很好。

宝的奶奶说:“想不到我家四岁的文盲也能用手机下单,哈哈哈哈”

宝宝买的玩具还是很有品味的,这个玩具我看着,也觉得挺好玩的。
反正马上就要过生日了,就当是宝宝给自己买的玩具呗。

领导说还是要教育宝宝的,教育归教育,一些多余的零食退掉就好啦。
邮费是要出一点的,不过能退货,也还不算不能挽回。

再说说免密支付支付,与现用后付,这两样设置,我觉得是不碰为好,会有很多的误下单产生。
无论是不小心碰到了,或者是养成不好的购物习惯上来说,都是不太好的。

以前也看到过新闻,说小孩用父母的手机玩游戏,结果产生了天价账单。
这中间其实透露出一点,就是作为大人,对自己的消费账单的监管漏洞,特别是这个电子支付盛行的当下。

保险过期

2025年3月18日 21:56

周日带娃去医院看病,又感冒了。周六夜里发了高烧,周日白天倒是没发烧。
这次医生还开了雾化的药,我们是第一次做雾化的小朋友,居然还很乖乖的配合。

三岁四岁的宝宝,谁都不怕,天不怕地不怕,还很抗拒睡觉别人给她盖被子。
所以感冒也不是一次两次了,即使晚上起来给她不停的盖被子,也是会被踢掉。
突然想起了杜甫的:“娇儿恶卧踏里裂” ,大概如此。

宝宝发烧,一般都是夜里,体温上涨的特别快,容易过热,但是吃个美林大概能睡一个整觉。
这里有个小贴士:美林4-6小时,才能用一次 且体温超过38.5,冰敷贴没有这个限制,所以趁早用可以。

现在孩子发烧,基本上我都不是很担心了,心里总想着,过一天就好了,也就放松下来了,焦虑毫无作用。
事实也基本上如此,每次发烧都是1-2天内完全退烧,只是咳嗽会持续一段时间。
小孩还跟大人不一样,小孩子的恢复力会强于大人,大概是人年纪上去了,身体的机能不如从前。

周日我还专门让医生开了个病毒检测,看看是不是流感,还好不是流感。
流感的康复期会拖的更长,而且发热会反复,只要不是流感,都好说。

今天准备用沪儿宝报销一下看病的费用

你猜怎么着,它提示我,不在保单生效时间。
我想着怎么会?我明明记得去年买了呀,我看短信,1月份过期的!
现在的各种滥用短信消息通知,我都没注意到手机上何时收到了这封短信息。

算了吃一堑长一智,现在就给续费上。
对于小孩子的保险来说,上海这边基本都是社保卡+其他保险 的配置方式。
任何理财型的健康保险,我觉得都是没必要的,既然买保险都是想容易理赔的最好。

以上,记录一次娃娃感冒与保险过期的经历,以后一定要注意看下通知短信。

你见过石磙吗

2025年3月13日 15:42

我出生在农村,但是自幼便随父母在城市生活,没见过石磙。
但是我工作之后的十余年里,每到一家公司都能见到活着的”石磙“ 。
小时候不懂,我妈说不做事的人就是 ”石磙“。
我问为什么,她说:“推一下动一下的那就叫石磙,你不推他就不会动”。

在职场流传一个都市传说,是绝对不能点破别人的身份。
当你说出了,“这个人怎么是个石磙 ?!”,很有可能你就会被干掉。
毕竟人家可能是不需要工作,但是你是真的需要。

”石磙“ 人是木讷的,观察你身边的这种人。
你会发现这种人的共情能力极低,就像行走在职场的npc。
这种人套着工具人的马甲,却无法主动思考任何工作内容。

最后,你见过石磙吗?

如何在本地调试WordPress时忽略对wordpress.org的网络连接请求

2025年3月13日 10:43

本地调试WordPress时,为了保证代码的正确性,插件和主题作者往往会打开wp-config.php里的WP_DEBUG开关。如果您不知道这个开关,就不要往下看了。

define('WP_DEBUG', true);

这样PHP运行时的错误和警告就会以醒目的字体直接打印到网页上。
20250313_WP_local_debug_warning

但是这样会带来一个程序员的日经问题:是我的BUG我改,不是我的BUG莫挨老子!
按说WP这种成熟的产品是不会让用户看到警告和错误的。但是,由于众所周知的原因,WP内核、主题和插件升级所需要的WordPress的官网wordpress.org时灵时不灵,连不上的时候就会显示大面积的警告信息。
安装完成以后,后台这种需要连接到wordpress.org的地方大抵有4种:core update、theme update、 plugin update和translation api,出现在后台Dashboard、 Plugin、 Theme、 和Settings页面。其中Dashboard会调用前三种Update,Settings四种都会调用。
这些信息不仅是影响对于出错代码的判断(比如图中提示的“Cannot modify header information”,其实根本就不是本地header的问题),还会直接影响页面元素的渲染和操作。
那就必须要干掉它!

再次更新,

define('WP_HTTP_BLOCK_EXTERNAL', true);

这个宏屁用没用,还是得用我下面的方法。

开整。

//下面的action钩子调用的早,所以在加载主题或插件的时候就要直接remove掉,否则没机会了。
if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
    remove_action('admin_init', '_maybe_update_core');
    remove_action('admin_init', '_maybe_update_plugins');
    remove_action('admin_init', '_maybe_update_themes');
    remove_action('init', 'wp_schedule_update_checks');

    //translations_api默认会返回false,之后会访问wordpress.org,返回空数组之后就不访问了。
    //Since 4.0.0
    add_filter('translations_api', '__return_empty_array');
}

//调试者作为admin,默认是有各种update权限的。这里令各种内部调用user_has_cap询问4种权限的结果强行置为false。
function _debug_ignore_wp_request ($allcaps, $caps, $args){
    $server_caps = array('install_languages', 'update_themes', 'update_plugins', 'update_core', 'install_themes', 'install_plugins');
    foreach ($caps as $cap) {
        if ( in_array($cap, $server_caps)) {
            $allcaps[$cap] = false;
        }
    }
    return $allcaps;
}

function my_admin_init {
    if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
        //下面的钩子很多不能移除得太早。
        //宁杀错不放过。
        remove_action('upgrader_process_complete', 'wp_update_plugins');
        remove_action('upgrader_process_complete', 'wp_update_themes');
        remove_action('load-plugins.php', 'wp_plugin_update_rows', 20);
        remove_action('load-themes.php', 'wp_theme_update_rows', 20);
        remove_action('load-plugins.php', 'wp_update_plugins');
        remove_action('load-themes.php', 'wp_update_themes');
        wp_unschedule_hook('wp_version_check');
        wp_unschedule_hook('wp_update_plugins');
        wp_unschedule_hook('wp_update_themes');

        remove_action('wp_version_check', 'wp_version_check');
        remove_action('load-plugins.php', 'wp_update_plugins');
        remove_action('load-update.php', 'wp_update_plugins');
        remove_action('load-update-core.php', 'wp_update_plugins');
        remove_action('wp_update_plugins', 'wp_update_plugins');
        remove_action('load-themes.php', 'wp_update_themes');
        remove_action('load-update.php', 'wp_update_themes');
        remove_action('load-update-core.php', 'wp_update_themes');
        remove_action('wp_update_themes', 'wp_update_themes');
        remove_action('update_option_WPLANG', 'wp_clean_update_cache', 10, 0);
        remove_action('wp_maybe_auto_update', 'wp_maybe_auto_update');
        add_filter('user_has_cap', '_debug_ignore_wp_request', 10, 3);
    }
}

add_action('admin_init','my_admin_init');

完事。这个世界清净了。


  • (1):农历每年冬至所在的月固定为十一月。如果两个冬至间有13次朔望,则该年产生闰月。13个月中,第一个没有二十四节气里的偶数节气的月份就是闰月。因为十一月是起调点,所以农历十二月和正月是不会出现闰月的,正月初一和第一个节气春分受的影响也很小。我数学不好,但查表得到的结果,从1950年到2069的120年间,闰年就是双春,双春就是闰年,一一对应,无一例外。闰月是典型的用太阳历调整月历的规则,所以农历是阴阳历而不是纯阴(月)历。

申公豹:无法逆袭的一只蜉蝣

2025年3月12日 05:41

雷公鞭在云层摩擦时迸发的火星,总让申公豹想起父亲剥鳞的刀锋。那些嵌在鞭节中的古铜鳞片,实则是申家七代妖族渡劫失败的遗蜕——每片鳞都镌刻着质押给天庭的年份:甲子年典当嗅觉换避雷诀,丙午年抵押尾鳍得御风术。最老的那片鳞已玉化成星斑状,记录着申氏先祖被剐三千鳞仍未能列仙班的往事。

李靖的镇妖塔引的是天火,敖光的炼狱燃的是龙息,申家父子修炼的雷池却是祖传邪法:将历代渡劫失败的焦骨碾成粉,混入海蛇胆汁绘成引雷符。申正道握鞭教导儿子画符时,总强调笔锋要带“向上攀的狠劲”,那些在符纸上扭曲的雷纹,细看竟是无数妖族在登仙梯上跌倒的残影。

此处竟然窥见某种倒错的公平,小镇做题家将青春折算成模拟考分数,京漂沪漂青年把通勤时间兑换为加班绩效,与妖族质押鳞片换登云梯的本质,同属一套度量衡体系。不知当申公豹知道父亲在被鹿童断腕后却向仙人们恭恭敬敬伏低做小,暴雨中的东海泛起银屑般的光斑,像极了那个小城里你即使从象牙塔出来,却仍走不进的小社会。

李靖的登仙路铺着昆仑玉,敖光的升龙阶嵌满夜明珠,申家父子的云梯却是千万片或明或暗的发暗的鲜血粘合而成,每个印记都抄录着碎掉的人格和自尊,墨迹里游动着细小的蛊虫——啃食错别字的虫豸会分泌酸液,将妖族血脉腐蚀得更接近仙髓。每个宇宙系统里都有一套自己的服从性测试系统,打工人必须用特定频率的喉舌振动,来证明自己配得上玻璃幕墙后的氧气。

这场景令补习班玻璃窗蒙上水雾。

穿校服的少年在符咒般密集的课程表上,用红笔圈出“重点突破”,笔迹凹陷处积着上一辈们加班换来汗渍。导演饺子在此处埋了道双重闪电:银幕内雷公鞭劈开云层,银幕外霓虹灯在观众瞳孔炸开,皆是金蓝交织的阶级跃迁心电图。

雷公鞭柄暗藏九重机括,每解开一重便能调用更暴烈的天雷。申公豹成年礼那日,父亲却将最后一重机关焊死——焊料是用自己逆鳞熔成的合金。这个被申家隐瞒百年的秘密,在陈塘关决战时随雷暴倾泻:当哪吒脚踏冰火重塑肉身时,申公豹的鞭柄正渗出靛蓝色血珠,那是历代焊封者在雷击下汽化的魂灵。

龙宫最隐秘的档案不是族谱,而是签筒里十万八千根雷击木。每根木签都封印着渡劫妖族的本命法器,申家的签纹尤显诡谲——雷公鞭虚影下压着户籍变更记录。这吃人血馒头的世界,何尝不是另一种形态的封印签?

当敖丙抽出自己那根布满冰裂的玉签时,申公豹的雷击木签却乱入了不知何时的画面:暴雨夜,申正道在人才市场撕碎限制年龄身高学历职称甚至是出身的招工启事,纸屑纷飞如褪落的鳞。此刻雷公鞭在银幕炸开的电光,与上世纪的老式电视机雪花屏共振,映出三代人相似的命运噪点。

海面浮着焦黑残骸,申公豹将雷公鞭熔成船桨时,发现鞭芯填满父亲收集的雷殛灰——那些未能渡劫的妖族,骨灰里竟析出微量星尘。这艘载着两代人的烬雷舟驶向银河时,船尾拖曳的光痕酷似申正道当年在申公豹成仙通知信上的收信签名,最后一笔总带雷霆余韵。

夜深散场时,旁边的路人正在看直播带货,我听见主播声嘶力竭循环喊着“感谢榜一大哥”。我望着手机屏幕表面反光的那张脸,浮动着玉虚宫升仙考验的的虚影。

或许所有时代都有同样的器物,将某些人的命运压在永世不得翻身的权威之下,又用他们的骨血润滑星斗运转的轴承。申正道和申公豹,既非悲剧亦非逆袭,不过是千万年来,无数试图在青铜器上刻下自己星图的蜉蝣中,最普通的两只。

使用 Docker 部署 tinyMediaManager 刮削工具

2025年3月10日 00:00

杜老师使用 Emby 管理媒体文件,但刮削时经常报错。tinyMediaManager 是款功能强大的开源媒体管理工具,能够帮助轻松整理和管理媒体库。本文将详细介绍 tinyMediaManager 的搭建过程和基本使用方法。

什么是 tinyMediaManager

tinyMediaManager 简称 TMM 是一款用 Java/Swing 编写的媒体管理工具,能够为 Jellyfin、Emby 等媒体服务器提供元数据。

通过 TMM 可以抓取和整理影片详细信息、封面图像、演员列表、导演信息等元数据,让媒体库更加丰富、完整。

搭建准备

准备好想要管理的电影、电视剧等媒体文件,并将其存放在一个固定的目录中,方便 TMM 进行扫描和管理。

我们假设电影文件放入</path/to/movies>目录中,命令可参考 mkdir </path/to/movies>

电视文件放入</path/to/tv_shows/>目录中,命令可参考 mkdir </path/to/tv_shows/>

新建数据文件夹</path/to/local/data/>,命令可参考 mkdir </path/to/local/data/>

部署安装

这里我们使用 Docker 来部署,docker-compose.yml 的参考内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
---
version: "2.1"
services:
tinymediamanager:
image: tinymediamanager/tinymediamanager:latest
container_name: tinymediamanager
environment:
- USER_ID=1000
- GROUP_ID=100
- ALLOW_DIRECT_VNC=true
- LC_ALL=en_US.UTF-8 # force UTF8
- LANG=en_US.UTF-8 # force UTF8
- PASSWORD=<password>
- TZ=Asia/Shanghai
volumes:
- </path/to/local/data/>:/data
- </path/to/movies>:/media/movies
- </path/to/tv_shows/>:/media/tv_shows
ports:
- 5900:5900 # VNC port
- 4000:4000 # Webinterface
restart: unless-stopped

将上方代码中<password>改为 TMM 访问密码,配置好后执行如下命令即可:

1
docker-compose up -d

基本使用

第一次启动时,会进入 TMM 设置向导。需要选择媒体类型、设置媒体目录路径、选择元数据来源等。按照向导提示逐步完成设置即可:

设置完成后 TMM 会自动扫描指定的媒体目录,识别其中媒体文件,并尝试从在线数据库中获取相应的元数据:

TMM 会根据文件标题到电影资料网站上匹配电影信息,下载电影资料及图片到本地。可以查看和编辑这些元数据,确保信息的准确性和完整性:

TMM 还可按照一定的规则批量重命名和整理媒体文件,使文件名称更加规范和统一,方便管理、查找:

给雪花特效添加自动开启与关闭

2025年3月11日 13:58

冬天的时候给博客加了下雪特效,在这一篇博客的文末提了一嘴 –感冒了
当时当时忘记加自动关闭的功能了。
今天抽五分钟补一下,需要脚本的自取,附在本文末了。
说起为啥想起来要补关闭特效的功能,还是在「灰常记忆」的博客中,看到了「网友小宋」的留言才记起。

看了下最近的天气,反复无常,又在下雨。
上海的气温一如既往的不稳定,谨防感冒,注意添衣。

后记

我又修改了脚本,并且添加了樱花🌸效果,主要的修改为:

  1. 去除定时关闭,以后尝试不同的季节用不同的树叶飘落效果
  2. 增加樱花图片/将雪花地址更新为樱花图片地址
  3. 后面尝试添加天气效果,先待定
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
(function() {
// 配置参数
const snowflakeCount = 10; // 雪花数量
const minSize = 15; // 雪花最小尺寸
const maxSize = 30; // 雪花最大尺寸
const windEffect = 40; // 风的强度(越大,飘动越明显)
const snowflakeImage = 'https://vrast.cn/img/snow.png'; // 外部雪花图片路径

// 创建雪花元素并设置随机属性
function createSnowflake() {
const snowflake = document.createElement('div');
snowflake.className = 'snowflake';

// 随机大小
const size = Math.random() * (maxSize - minSize) + minSize;
snowflake.style.width = `${size}px`;
snowflake.style.height = `${size}px`;

// 随机水平位置、动画速度
const leftPosition = Math.random() * 100; // 随机水平位置
const animationDuration = Math.random() * 3 + 3; // 动画持续时间
const delayTime = Math.random() * 5 + 's'; // 延迟时间

snowflake.style.left = `${leftPosition}vw`;
snowflake.style.position = 'fixed'; // 使用 fixed,避免影响页面滚动
snowflake.style.top = `${-size}px`; // 初始位置设置为视口外的顶部
snowflake.style.pointerEvents = 'none';
snowflake.style.userSelect = 'none';
snowflake.style.zIndex = 9999;

// 设置雪花图片
snowflake.style.backgroundImage = `url(${snowflakeImage})`;
snowflake.style.backgroundSize = 'cover'; // 图片铺满雪花容器

// 添加动画效果
snowflake.style.animation = `fall ${animationDuration}s linear infinite`;
snowflake.style.animationDelay = delayTime;

// 随机旋转角度,模拟风吹效果
const rotateAngle = Math.random() * 360;
const translateX = (Math.random() - 0.5) * windEffect; // 风吹偏移
snowflake.style.transform = `rotate(${rotateAngle}deg) translateX(${translateX}vw)`;

// 将雪花添加到页面
document.body.appendChild(snowflake);
}

// 初始化CSS样式
function initCSS() {
const style = document.createElement('style');
style.innerHTML = `
/* 雪花的样式 - 使用图片 */
.snowflake {
position: absolute;
background-color: transparent;
opacity: 1;
transform-origin: center;
pointer-events: none;
user-select: none;
}

/* 雪花下落动画 */
@keyframes fall {
to {
transform: translateY(100vh); /* 让雪花从顶部飘落到屏幕底部 */
}
}
`;
document.head.appendChild(style);
}

// 初始化雪花数量
function initSnowfall() {
for (let i = 0; i < snowflakeCount; i++) {
createSnowflake();
}
}

// 初始化函数
function init() {
initCSS();
initSnowfall();
}

// 获取当前日期对象
const currentDate = new Date();
// 获取当前月份,注意 getMonth() 方法返回的月份是从 0 开始计数的,所以 0 代表 1 月,11 代表 12 月
const currentMonth = currentDate.getMonth();

// 判断当前月份是否为冬季
function isWinter(month) {
// 11 代表 12 月,0 代表 1 月,1 代表 2 月
return month === 11 || month === 0 || month === 1;
}

// 调用函数进行判断
if (isWinter(currentMonth)) {
// 启动雪花效果
init();
}
})();

姐妹相亲趣事

2025年3月7日 17:45

最近肖师傅在工作中一直在开发新功能,身心比较疲惫,又迷恋上了王者中的刘禅,改名为小霸王爱飙车,主要玩法就是铭文点冷却,出肉装后和敌方秦王绕柱,顺带把塔退了,没事就推塔,从不参团,肖师傅说从中获得了巨大的快乐

所以今天由我来给大家分享点我姐妹的相亲八卦~

小c是有点社恐的女孩,小c妈妈介绍了一个男孩,两人在VX上聊的还可以,但是男孩白天基本上不找小c聊天,基本要半下午或者晚上才出现,有一次男生半夜还找小c聊天,两个人的兴趣爱好也不是特别合得来。随后男生约小c吃饭,出门前还很积极,还询问小c说能不能提前出来,然后两人吃饭时,由于都比较社恐,小c很努力的找话题,但是男孩一个话题都不着,小c很尴尬,找话题的时候礼貌的问了一下之前谈过女朋友没有,于是对方说之前谈了1个女朋友,谈了4年分手了,说前女友跟他出去玩的时候从来不穿裙子,但是和闺蜜和去男性朋友家玩的时候都穿了裙子,男孩很生气这件事,男孩对前女友好像念念不忘,追忆颇深,一直在和小c说他前女友的事情,吃完饭两人就各回各家了,然后小c礼貌问男孩吃饭多少钱,男孩的回答如下:

我觉得觉得男孩真的很搞笑,吃饭时候话题不找,一直在追忆前女友,饭钱倒是算的清清楚楚,生怕自己吃亏了,感觉不太尊重小c,于是我和肖师傅都pass了这个男孩。本以为两人很明显都没看上,不会再联系,结果男孩第二天晚上莫名其妙说了给小c发了2条微信:

小c惊呆了,不知道对方什么意思,还跟我说是不是食之无味弃之可惜,还要把她当备胎,小c很礼貌的回复了一些话,随后男人又没回了,之后小c就跟妈妈说拒绝对方并删除了,她说不然很尴尬留着VX也不会在说话了。

肖师傅对这个男的评价是:连顿饭都不请小姑娘吃
我对在这个男的评价是:pass,下一个

Certimate--自动化申请并部署证书到所有平台

2025年3月7日 15:45
自从众多免费证书有效期减少到了三个月,换证书就成为了一件麻烦的事情。近期,Certimate工具更新了3.0版本,这个版本非常的强大,不仅可以部署常规的CDN,还可以部署雷池,宝塔等平台,满足了我的所有需求,所以推荐给没有使用过的朋友试试!

RSSHub 搭建指南打造个性化资讯中心

2025年3月7日 00:00

RSSHub 可以根据我们的需求生成个性化的 RSS 订阅源,让我们轻松地获取到各种平台的最新资讯。本文将详细介绍 RSSHub 搭建过程,快速搭建起属于自己的资讯中心。

RSSHub 的简介

RSSHub 是一个轻量、易于扩展 RSS 生成器,它基于 Node.js 开发,支持多种平台和类型订阅源,包括但不限于微博、知乎、B 站、GitHub 等。

通过简单的配置和路由规则,我们就能生成自己想要的 RSS 订阅链接,随时随地获取最新内容更新。

搭建前的准备

在开始搭建 RSSHub 之前,我们需做一些准备工作。需一台服务器,可以是云主机,也可以是本地的计算机。服务器需要具备公网 IP 地址,以便我们能够从外部访问搭建好的 RSSHub 服务。

RSSHub 基于 Docker 部署,因此需要在服务器上安装 Docker 环境。

RSSHub 支持缓存中间件,如 Redis。

为方便访问和使用,建议注册一个域名,并将其解析到服务器的 IP 地址上。

RSSHub 的搭建步骤

将下面的内容保存为 docker-compose.yml 文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
services:
rsshub:
# two ways to enable puppeteer:
# * comment out marked lines, then use this image instead: diygod/rsshub:chromium-bundled
# * (consumes more disk space and memory) leave everything unchanged
image: diygod/rsshub
restart: always
ports:
- "1200:1200"
environment:
NODE_ENV: production
CACHE_TYPE: redis
REDIS_URL: "redis://redis:6379/"
PUPPETEER_WS_ENDPOINT: "ws://browserless:3000" # marked
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:1200/healthz"]
interval: 30s
timeout: 10s
retries: 3
depends_on:
- redis
- browserless # marked

browserless: # marked
image: browserless/chrome # marked
restart: always # marked
ulimits: # marked
core: # marked
hard: 0 # marked
soft: 0 # marked
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/pressure"]
interval: 30s
timeout: 10s
retries: 3

redis:
image: redis:alpine
restart: always
volumes:
- redis-data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 30s
timeout: 10s
retries: 5
start_period: 5s

volumes:
redis-data:

使用下面命令来启动 RSSHub 服务:

1
docker-compose up -d

如需拉取新版 RSSHub 的镜像,可使用下面的命令:

1
docker-compose pull

如需停止服务,可使用下面的命令:

1
docker-compose down

如果不喜欢使用 Docker Compose 部署,可使用下面的命令运行有 Puppeteer 依赖的 RSSHub 服务:

1
docker run -d --name rsshub -p 1200:1200 diygod/rsshub:chromium-bundled

可使用下面的命令运行无 Puppeteer 依赖的 RSSHub 服务:

1
docker run -d --name rsshub -p 1200:1200 diygod/rsshub

为 Follow 添加实例

如果使用 Follow 调用 RSSHub 示例,需在 docker-compose.yml 中添加一些变量。其中 FOLLOW_OWNER_USER_ID 是指您的关注账户 ID 或用户名;FOLLOW_DESCRIPTION 指实例描述;FOLLOW_PRICE 指实例月费,如设为 0 表示免费;FOLLOW_USER_LIMIT 指实例用户限制,将其设置为 0 或 1 可将实例设为私有,留空则表示无限制;ACCESS_KEY 指访问密钥:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
services:
rsshub:
image: diygod/rsshub:chromium-bundled
restart: always
ports:
- "1200:1200"
environment:
NODE_ENV: production
FOLLOW_OWNER_USER_ID=杜老师说
FOLLOW_DESCRIPTION=大带宽境外服务器
FOLLOW_PRICE=1
FOLLOW_USER_LIMIT=1000
ACCESS_KEY=ubzG7H3t9TJaFp
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:1200/healthz"]
interval: 30s
timeout: 10s
retries: 3

登录 Follow 后,点击头像,选择 RSSHub 项。在显示页面中,点添加新实例。依次输入 RSSHub 的地址,访问密钥,最后点击添加即可:

如何获取视频的LUFS(响度单位)?通过视频文件测量视频音量响度水平

2025年3月3日 17:54
这篇文章介绍了视频音量的重要性及其调整方法。文中提到,视频音量过低会影响观看体验,特别是在信息流中与其他大声视频竞争时。为了解决这一问题,文章引入了LUFS(Loudness Units Full Scale)作为衡量音频响度的标准,并解释了其在广播和流媒体中的应用。作者推荐使用ffmpeg工具来测量视频的LUFS值,并提供了具体的操作命令和参数说明。最后,文章还详细解读了测量结果中各项参数的意义,帮助用户更好地调整视频音量以符合不同平台的要求。

去不图床数据清理通知

2025年3月1日 00:00

近期发现外链流量激增,经分析了解并非是攻击导致,通过 URL 判断其来源是一些匿名及到期用户所上传的图片。因此决定发文公告:清理去不图床所有匿名用户所上传的图片,并周期检查已到期用户。

免费服务的初心与挑战

2019 年,去不图床怀着为各位小伙伴提供免费、便捷图片托管服务赤子之心,正式上线!

那会儿杜老师的目标就是给大伙儿搭个稳定可靠的平台,让大家轻轻松松的分享图片,舒舒服服存储图片。

这服务的确是受到了大家的一致好评,用户数量跟图片上传量,那叫一个节节攀升,直冲云霄!

可是好景不长,随着用户规模像滚雪球一样越滚越大,这流量成本也成了杜老师心头一块大石头。

图片托管需要海量的带宽和存储空间,这费用那是哗哗地往外流啊!

杜老师也是一直在绞尽脑汁优化成本,可那流量费用,像脱缰的野马,一发不可收拾,最终,在 2021 年不得不调整策略,从免费转向了收费,这都是为了咱这平台能继续坚挺地活下去!

流量成本与运营的压力

虽然 2021 年去不图床改成收费模式,但之前游客用户免费上传的图片,一直没有清理。

这些图片,虽然丰富了平台的内容,但是占用的存储空间和流量资源,那也是相当可观啊!

据统计游客上传的图片数量,那简直是天文数字,而且很多图片访问频率低得可怜,却依然霸占着咱宝贵的存储资源!

随着平台业务蒸蒸日上,对流量成本的控制也越来越严格。

现在运营环境,杜老师得精打细算,合理分配资源,保证已兑换容量的小伙伴能享受到更优质、更稳定的服务。

所以,经过一番深思熟虑,杜老师决定对游客用户的图片进行清理啦!

匿名用户上传图片清理

为了降低流量以及存储损耗,优化资源分配,杜老师将于 2025 年 3 月 1 日起,清理所有游客用户上传图片。

这个决定,杜老师也是万般的无奈,但这是目前运营环境下,必须采取的措施啊!

希望各位游客用户能够理解杜老师的苦衷,赶紧备份需要保存的图片吧!如有疑问,欢迎随时在评论区留言!

游客数据保留至本月中「2025 年 3 月 15 日」因为无法进行用户判定,所以杜老师已经整体打包备份了,需要的小伙伴可留言索要图片压缩包。

到期用户上传图片清理

为了进一步降低流量及存储损耗,优化资源分配,杜老师将于 2025 年 3 月 15 日起,清理所有到期用户上传图片。

已到期的用户数据清理规则如下:当月 15 日之前到期用户,数据保留至当月的最后一天;当月 15 日之后到期用户,数据保留至下个月月中。

数据清理之前,杜老师都会邮件通知用户进行再续费,通知七天后未续费则会清理数据「即当月 15 日之前到期的用户,会在当月 23 日发送通知;当月 15 日之后到期用户,会在次月 8 日发送通知」

注意图片清理是多节点同步执行,不会保留备份数据!最终解释权归去不图床所有。

Hexo上传服务器建议使用rsync来替代git上传,repo文件夹越来越大解决方法

2025年2月24日 15:40
这篇文章介绍了如何通过rsync工具解决Hexo部署时服务器文件占用过大问题的方法。文章建议使用hexo-deployer-rsync插件,并通过npm安装该插件。在配置时需修改博客根目录下的_config.yml文件,添加rsync的相关参数,包括远程服务器地址、用户信息、目标目录等设置。此外,还可以选择性删除其他不必要的部署方式,并调整运行目录以适应具体环境需求。

如何静态化Docker容器的IP地址?构建网络实现容器固定IP

2025年2月21日 17:36
这篇文章介绍了如何在使用 docker-compose 部署的环境中为容器设置固定的 IP 地址,以解决容器在重启后因 IP 自动变化导致无法上网的问题。文章首先创建了一个名为 heo_global_network 的自定义桥接网络,并将其 IP 地址段设置为 172.168.0.0/16。然后修改 docker-compose 文件,将容器连接到该外部网络并指定静态 IPv4 地址。通过这些步骤,用户可以确保容器在网络重启后保持稳定的 IP 地址,并成功实现上网功能。

iStoreOS如何给硬盘分区扩容?Openwrt已经正在使用的分区如何扩容?

2025年2月21日 10:26
这篇文章介绍了在iStoreOS x86根分区中扩容的具体步骤。通过使用parted工具查看硬盘信息,用户可以确认要扩展的分区为4号分区,当前容量为21.5GB。通过执行resizepart命令,用户可以输入新的终止位置30GB,从而实现分区扩大。此外,还需要使用resize2fs -p命令对文件系统进行调整,最终完成扩容操作,无需重启服务器或卸载挂载点。

上有政策下有对策

2025年2月20日 16:38

前几天的事儿,今天才想起来写,这事儿一想起就觉的好笑,所以就在此记录。

先是在群里收到一条 “紧急通知” 如下,让家长带孩子看地方台的幼儿开学第一课。

看视频需要拍照留下 “证据” ,并且需要写观后感文档发送到群里。

由于我是比较后才看到这条消息的,所以就先看看其他的家长写的观后感,此处只例举其中一个写的比较多的。

上图节选了部分段落,说在开学第一课学习到了 消防知识,还有网络诈骗,交通安全 真的内容丰富。

然后我就跟娃一起看了老师发送的视频链接,结果你猜怎么着。

视频里只讲了小朋友在幼儿园的心理健康和一些注意事项,跟大部分家长提交到群里的文档中描述的内容,风马牛不相及。

由此可以得出结论,其他的人发的文档都是自己编的,细看之下还是ai写的。

不过拍摄的图都一板一眼,小朋友们端坐,这可都是三岁多的娃娃们,四岁都没有。

我赌一个棒棒糖,小家伙们摆拍最多30秒,就坐不住了。

这大概就叫上有政策下有对策罢。

使用 SlimToolkit 打造更小的容器镜像

2025年2月20日 00:00

现在容器技术很火,镜像又肥又大,部署较慢不说,安全风险还蹭蹭往上窜,简直让人头大!SlimToolkit 就像一位经验老道的镜像瘦身大师,能把镜像体积缩小到令人咋舌的程度,最多能瘦 30 倍!

到底是啥

简单来说,SlimToolkit 就是一个开源的镜像减肥专家,它能智能分析镜像,找出那些又大又没用的文件、库和依赖,然后干净利落地咔嚓下,统统删掉!

就像一位技艺精湛的雕塑家,将冗余的部分精雕细琢,留下最精髓的部分。

之前叫 DockerSlim,现在已经是云原生计算基金会沙盒项目了,实力是杠杠的!

它的核心思想就是原封不动优化,通过动态、静态分析,自动识别并移除镜像里垃圾文件。

支持 Docker 以及 Kubernetes,各种类云原生工具,妥妥全能选手!

不只瘦身,还可以提供命令行工具,方便检查、调试、管理镜像,简直贴心到家!

SlimToolkit 的绝活

  1. 镜像瘦身大法:这是它的看家本领!它能像一位经验丰富的裁缝,精准剪裁镜像,去除冗余部分。如一个基于 Ubuntu 的 Python 应用,原本约 438MB,经过它的一通操作,能瘦到 16.8MB,足足瘦了 26 倍!

  2. 安全防护专家:它不仅能瘦身,还可以增强安全性!它可以自动生成 Seccomp 和 AppArmor 安全配置文件,像给容器穿上了一层坚不可摧的盔甲,限制系统调用,防止各种安全漏洞入侵。再也不用担心容器被黑客攻破了!

  3. 动态分析、调试:它就像一位经验丰富的侦探,可以创建一个临时容器模拟运行环境,通过 HTTP 探针等方式收集运行数据,分析应用程序行为,确保瘦身后的镜像依然可以正常工作。而且,它还提供调试工具,在优化后的容器中运行调试命令,排查问题方便!

  4. 无缝集成:它就像一位老练的管家,能无缝集成到开发和部署流程中。不用改动 Dockerfile 或构建工具,只需在构建过程中添加 SlimToolkit 的优化步骤即可。还支持各种 CI/CD 工具,如 Jenkins、GitHub Actions 等,自动化部署 so easy!

上手玩转

先安装 SlimToolkit。SlimToolkit 提供了多种安装方式,含直接下载二进制文件、使用脚本安装或通过 Docker 运行。对于大多数的用户,使用脚本安装是最简单方式:

1
curl -sL https://raw.githubusercontent.com/slimtoolkit/slim/master/scripts/install-slim.sh | sudo -E bash -

优化容器镜像。假设已经有一个 Docker 镜像,如一个基于 Python 的 Web 应用。可使用以下命令对镜像进行优化:

1
slim build my/sample-python-app

SlimToolkit 会自动创建一个临时容器,运行动态分析,并生成优化后镜像。优化后的镜像名称会自动加上.slim 后缀,例如:

1
my/sample-python-app.slim

验证优化效果。优化完成后可以使用以下命令查看优化后镜像大小:

1
docker images

SlimToolkit 的优势

  1. 自动与智能化:它能够自动识别容器中不必要的部分,并且进行优化,无需开发者手动修改 Dockerfile 或者删除文件。这种自动化不仅节省了时间,还减少了人为错误的可能性。

  2. 安全:通过生成 Seccomp 和 AppArmor 的配置文件,SlimToolkit 为容器提供了额外的安全保障。这些配置文件能够限制容器系统调用,防止潜在安全威胁,而无需开发者深入了解安全框架细节。

  3. 无缝集成:SlimToolkit 设计目标是无缝集成到现有的开发和部署流程中。它支持多种容器运行时和 CI/CD 工具,能够轻松集成到自动化构建和部署流程中。开发者无需改变现有的工具链或工作流程,即可享受 SlimToolkit 带来的优化效果。

  4. 开源:完全开源,社区活跃,有问必答!

通过js调用ollama的api

2025年2月18日 23:23

如果你有这个需求可以参考 ollama 的官方api与本篇文章,官方的例子里很多都是用了curl进行演示。
https://github.com/ollama/ollama/blob/main/docs/api.md

在写脚本之前需要先确认本地的 ollama 网络服务是否正常启动。
http://localhost:11434 通过访问本机的11434端口确定是否ollama的服务正常运行

值得注意的是在浏览器中访问本地 index.html 文件时,一般会遇到 CORS(跨源资源共享)策略限制,导致无法调用本地的 Ollama API,所以你需要在本地搭建一个http服务器,如果没有这个服务器的话,可以使用下面这个VSCode插件。

右键你的html文件启动本地http服务器,现在就可以很方便的调试你的页面,好用推荐。

既然我们已经拿到了官网的API文档,那么下面要做的事很简单,将这个文档丢给deepseek,或者是其他的ai,让打工ai给我们造一个前端界面就用。

分析下核心代码,参考了文档中使用curl发送json的测试用例,写了一个post方式提交数据到特定的地址。

参考代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>与 Ollama 交互</title>
<style>
body {
font-family: Arial, sans-serif;
}
#messages {
border: 1px solid #ccc;
padding: 10px;
max-height: 300px;
overflow-y: auto;
}
#inputMessage {
width: 100%;
padding: 10px;
margin-top: 10px;
box-sizing: border-box;
}
#sendButton {
margin-top: 10px;
padding: 10px 20px;
background-color: #4CAF50;
color: white;
border: none;
cursor: pointer;
}
#sendButton:hover {
background-color: #45a049;
}
</style>
</head>
<body>
<h1>与 Ollama 交互</h1>
<div id="messages"></div>
<textarea id="inputMessage" placeholder="输入你的消息..." rows="3"></textarea>
<button id="sendButton">发送</button>

<script>
const sendButton = document.getElementById('sendButton');
const inputMessage = document.getElementById('inputMessage');
const messages = document.getElementById('messages');

// Ollama 服务的 URL,假设它运行在本机的 11434 端口
const ollamaApiUrl = 'http://localhost:11434/api/chat';

sendButton.addEventListener('click', async () => {
const message = inputMessage.value.trim();
if (!message) return;

// 显示用户发送的消息
addMessage('你:' + message);

try {
const response = await fetch(ollamaApiUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'deepseek-r1:8b',
messages: [
{ role: 'user', content: message }
],
stream: false
})
});

if (response.ok) {
const data = await response.json();
const reply = data.message && data.message.content ? data.message.content : '无回复内容';
addMessage('Ollama:' + reply);
} else {
addMessage('错误:无法与 Ollama 服务通信');
}
} catch (error) {
addMessage('错误:' + error.message);
}

inputMessage.value = ''; // 清空输入框
});

function addMessage(text) {
const messageDiv = document.createElement('div');
messageDiv.textContent = text;
messages.appendChild(messageDiv);
messages.scrollTop = messages.scrollHeight; // 滚动到底部
}
</script>
</body>
</html>

以上,记录通过js调用ollama的api。

一行代码在Mac上部署deepseek

2025年2月17日 23:13

前两天发了一个关于Ollama 项目的介绍的文章,今天就接着说一下通过几行代码在本地部署DeepSeek,当然如果你是windows系统也是差不多的步骤,都是控制台运行,之所以在这边都是推荐直接跑控制台是因为这样占用系统内容更少,减轻跑ai时候的系统压力。

圣兽镇楼

打开ollama软件之后,在控制台运行指令: ollama run deepseek-r1:8b
在此之前你需要先安装Ollama,这个比较简单,只需在官网下载(https://ollama.com/ ),运行即可。
随后控制台输入下面指令,运行 deepseek-r1:8b 版的大模型,如果未下载,会直接进行下载。

下图中使用的这个版本的模型较为小巧,也够日常使用,在ai思考的时候,我看下了gpu的内存占用情况,峰值大概接近90%左右。

目前我的Mac mini配置为 M4/24g/1T 版,运行起来没有卡顿,并且不影响其他工作,如果你也有类似需求,可以无痛部署一个本地ai ❤️。

下面欣赏下8b小模型生成的文章:

当了UP主四年多: 油管/Youtube上传了700多期视频, 2000个粉丝

2025年2月14日 03:46

youtube 当了UP主四年多: 油管/Youtube上传了700多期视频, 2000个粉丝 折腾 教娃 教育 育儿 视频

油管/Youtube

我曾经说过不想做UP主。后来觉得孩子大了,可以开始教他们编程,于是尝试了几节课,朋友建议把这些内容上传到油管,既能记录也能分享。我觉得这个主意不错,于是就开始了。前500期视频因为没有时间剪辑和加字幕,所以直接用iPhone拍好后就上传了。

到了500期后,我强迫自己开始剪辑,使用了手机上的“必剪”App和PC上的“剪影”软件,这两款都是字节跳动出品的。现在这两款软件的自动字幕功能已经不再免费了。

最初只上传到油管,后来也同步到了B站,接着又上传到西瓜视频、微信视频号,还尝试了小红书和微博视频。我把视频上传到这么多平台,主要是为了备份,利用这些免费的云存储多做些备份,同时还能赚点小钱。

不过要是真是按付出时间和挣得的钱来算,真是亏麻了。能挣钱的UP主并不是很多,大多数人还是不挣钱的,投入的时间和收入不成正比。我们总是在网上听人说挣了很多钱,这大概率是幸存者偏差,头部效应。UP主一旦停止更新,很有可能就会很快失去流量,失去流量就等于失去收入

到现在为止,油管还没达到YouTube Partner Program的收入门槛,B站的收入大概几千元,应该是前两年有过一些推广活动。西瓜视频提现过一次,应该也是两三千元,微信视频号的收入就几块钱。

目前,B站有四万多粉丝,油管只有2000个。留下来的都是铁杆粉丝。B站上我把所有的视频都放在一个账号里,包括教媳妇编程的内容;而在油管,我把中英文的内容分成了两个频道,也许是因为这个原因,油管/Youtube的公开观看时长不够。

我的频道:油管/Youtube | 中文油管频道/教媳妇 | B站/小破站 | 微博视频 | 西瓜视频 | 微信视频号 | X/推特 | 小红书

youtube-700-days 当了UP主四年多: 油管/Youtube上传了700多期视频, 2000个粉丝 折腾 教娃 教育 育儿 视频

油管上陆陆续续上传了700天,每期视频都几十次浏览,一两个Like/赞。

youtube-2000-subscribers 当了UP主四年多: 油管/Youtube上传了700多期视频, 2000个粉丝 折腾 教娃 教育 育儿 视频

终于在今年初过了2000个粉丝。

youtube-channel-day-1 当了UP主四年多: 油管/Youtube上传了700多期视频, 2000个粉丝 折腾 教娃 教育 育儿 视频

第一天上传视频是2020年11月22日,当时还在亚马逊AWS S3工作。

youtube-earning-public-watch-hours 当了UP主四年多: 油管/Youtube上传了700多期视频, 2000个粉丝 折腾 教娃 教育 育儿 视频

油管得YPP开通挣钱门槛需要3000/4000个小时公开观看时长。

教娃编程

本文一共 816 个汉字, 你数一下对不对.
当了UP主四年多: 油管/Youtube上传了700多期视频, 2000个粉丝. (AMP 移动加速版本)

扫描二维码,分享本文到微信朋友圈
75a5a60b9cac61e5c8c71a96e17f2d9c 当了UP主四年多: 油管/Youtube上传了700多期视频, 2000个粉丝 折腾 教娃 教育 育儿 视频
The post 当了UP主四年多: 油管/Youtube上传了700多期视频, 2000个粉丝 first appeared on 小赖子的英国生活和资讯.

相关文章:

  1. 按揭贷款(房贷,车贷) 每月还贷计算器 去年给银行借了17万英镑 买了20万7500英镑的房子, 25年还清. 前2年是定率 Fix Rate 的合同 (年利率2.49%). 每个月大概是还 700多英镑. 有很多种还贷的计算方式, 定率/每月固定 是比较常用的. 简单来说就是 每个月交的钱是...
  2. 智能手机 HTC One M9 使用测评 虽然我对手机要求不高, 远远没有像追求VPS服务器一样, 但是怎么算来两年内换了四个手机, 先是三星 S4 用了一年多, 然后 Nokia Lumia 635 Windows Phone, 后来又是 BLU, 半年多前换了...
  3. 同一台服务器上多个WORDPRESS站点的一些设置可以移出去 我自从把所有网站都挪到一处VPS服务器上 就发现很多事情省事很多 可以同时管理多个网站 包括 WORDPRESS博客. 比如我有四个WORDPRESS博客 然后我就把通用的一些资料给移出去 移到 HTTP或者HTTPS都不能直接访问的文件夹里这样就更安全许多. 文件 wp-conn.php 存储了 相同的数据库资料. 1 2...
  4. 英国房子的EPC节能报告(Energe/Efficiency Performance Certificate) EPC (Energe/Efficiency Performance Certificate) 是英国房子的节能报告, 法律上规定, 每个房子都必须要有一个EPC报告, 报告的有效期为十年. 房东在把房子出租或者想卖房的时候, 这个EPC就必须有效, 在一些情况下 比如出租房子的时候, 这个EPC报告还必须符合一些最低标准, 比如房子必须满足 F档(类似及格线)...
  5. 公司请的专业摄影师 公司来了新的CEO管理之后,很多事情都不一样了, 特别是一些公司对外形象的事情就特别的在意, 比如公司网站用上SSL.现在公司还有空闲的位置,请速来(钱多人不傻). 一月份出差回LUTON,刚好公司请来摄影师给高层管理照像放网站上的,于是我也凑了凑热闹(但是却还不够资格被放在公司网站上),不过没关系,放这里也差不多. 人到中年, 沧桑感强了些. 更新更新: 同事用他NB的单反给谢菲尔得办公室的人也拍了一组这样的照片.看起来很不错, 很专业,灯光,道具应有尽有.我已经用在了LINKEDIN页面上,立马高大上. 本文一共 230 个汉字, 你数一下对不对. 公司请的专业摄影师. (AMP...
  6. 面向猫猫编程 Cat Oriented Programming (Chessly/Pyro这一生持续更新) 家里有两只猫 Chessly/Pyro,想着找个地方记录它们的生活,最后决定还是写在这里的博客。猫的一生很短,差不多也就二十年。 Chessly(黑白猫)是我加入微软剑桥研究院MSRC第一个月带回家的,过了两三个月,又把Pyro(橘猫)也接回了家。两只猫的名字是孩子们取的:Chessly因为黑白的像棋盘,加上“ly”听起来像个女孩的名字;而Pyro的意思是一团火(烟火),充满活力。 刚开始的时候,Chessly特别喜欢待在我的工作区域。她有时候趴在键盘上或旁边,有时候藏在显示器后面。偶尔还会绕到我身边“咕咕”地撒娇,等着我去摸她。有时更干脆跑到我腿上,舒舒服服地躺着。 不过,现在它们俩的体型都大了很多,躺在桌上就会挡住屏幕,真是“面向猫猫编程”(Cat Oriented Programming)的极致体验。 记录生活的点滴,也是一种珍惜,毕竟这二十年,我们会一起走过。 2024年 2025年 Ring视频:两猫日常就是打闹,Chessly追上Pyro想舔他,在猫的世界里,地位高的才能舔地位低的。 我家猫现在越来越胖,很喜欢在我工作的时候躺在显示器钱,很影响我的工作,不过这时候我就是会休息一下摸摸她,就当放松一下了。 Pyro在窗边喝水,这是个小的煮饭锅,现在不用了,就给猫当喝水的碗。Pyro很胆小,经常看到我就跑。没法跑就咕咕叫。 Chessly很喜欢陪我工作,然后她很好厅的盯着屏幕上的鼠标光标,真怕她把屏幕抓坏了。 哥哥弹琴,弟弟唱歌,Chessly午睡,真是幸福啊,下辈子做只猫吧。...
  7. 在英国给孩子换学校的经历: 孩子离开了村里的小学 由于搬了家, 孩子上学得提前半小时出门了, 因为早上堵, 也得开车半小时才能到. 之前在 Fen Drayton 村庄上小学, 早上8:45学校门开, 9点敲钟孩子排队依次进入教室, 我们由于在村里, 只需要提前5分钟出门和孩子一起走路就可以了. 现在一下子早上变得很匆忙, 得叫孩子起床, 做早饭,...
  8. 公司给配了台高配DELL笔记本 早上例会结束的时候我顺便说了一句 我的笔记本有点慢, 当时我并不知道我的经理远程用电话也参加会议了(他全程在听), senior staff SE 对着电话说, “peter, you hear that? btw, my disks are...

DPanel 让 Docker 管理变得轻松又高效

2025年2月14日 00:00

Docker 作为容器化领域的佼佼者,其强大的功能和灵活性,赢得众多开发者的青睐。然而,对于许多用户来说,Docker 的命令行操作可能显得有些复杂和繁琐。幸运的是,DPanel 的出现为 Docker 的管理和使用带来了全新的体验。

什么是 DPanel

DPanel 是一款轻量化的 Docker 可视化管理面板,专为简化容器的管理而设计。它提供一套完善的容器管理功能,让用户可通过直观的图形界面轻松管理 Docker 容器,无需深入复杂的命令行操作。

无论是初学者还是经验丰富的开发者,DPanel 都能帮助他们更高效地管理和部署容器。

DPanel 的优势

DPanel 的界面简洁直观,操作简单易懂,即使新手也能轻松上手。

DPanel 提供了丰富功能,涵盖了网站管理的各个方面,能够满足各种用户的需求。

基于容器设计,安装和部署都非常简单。用户无需复杂配置,只需通过简单步骤即可快速启动面板。其简洁直观操作界面让用户能够轻松上手,即使是第一次接触 Docker 的用户也能快速掌握基本操作。

DPanel 与 Docker 官方的兼容性非常好,能够无缝对接 Docker 的各项功能。支持多种操作系统和 Docker 版本,确保用户在不同环境下都能稳定使用。

服务安装

我们可以使用官方提供的集成脚本安装 DPanel。当宿主机没有 Docker 环境时,集成脚本会尝试安装 Docker 环境:

1
curl -sSL https://dpanel.cc/quick.sh -o quick.sh && sudo bash quick.sh

按照提示操作。安装完成后通过浏览器访问面板地址,即可进入管理界面:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
[DPanel Install Log]: 选择你需要安装的版本 
1. 标准版 (需要绑定 80 及 443 端口)
2. Lite版 (不包含域名转发相关功能)
3. 标准版 (Pro)
4. Lite版 (Pro)
5. Beta版 (内测版本)
输入你要安装的版本编号 [默认: 2]: 1
1. Docker Hub
2. ALiYun
选择镜像源 [默认: 1]: 2
[DPanel Install Log]: 你安装使用的镜像为 registry.cn-hangzhou.aliyuncs.com/dpanel/dpanel:latest
[DPanel Install Log]: 设置 DPanel 容器名称,更新面板时请配置为当前面板容器名称
请输入名称 [默认: dpanel]:
[DPanel Install Log]: 你指定的容器名称为 dpanel
设置 DPanel 容器挂载目录 [默认: /home/dpanel]:
[DPanel Install Log]: 您选择的面板容器挂载目录是 /home/dpanel
设置 DPanel 端口 [默认: 25128]:
[DPanel Install Log]: 您设置的端口是: 25128
[DPanel Install Log]: 如果端口已经被占用,请再次执行脚本更换端口后重新安装
Unable to find image 'registry.cn-hangzhou.aliyuncs.com/dpanel/dpanel:latest' locally
latest: Pulling from dpanel/dpanel
1f3e46996e29: Pull complete
b6dde5f749cd: Pull complete
459b8d93d51a: Pull complete
7d52a0c67d85: Pull complete
4b97f8a613e7: Pull complete
1d46bacd0854: Pull complete
3eac9a9b4fcb: Pull complete
2c5c0b90bb2b: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:9daa4f411b2bd7845cfd71e747ba2827797ea5fe9e754b8db475541c3700ba01
Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/dpanel/dpanel:latest
d492b83d8c546297836a8735d73f0b3f8943f134065dea4ef5ffff834f028715
[DPanel Install Log]:
[DPanel Install Log]: =================感谢您的耐心等待,安装、升级已完成==================
[DPanel Install Log]:
[DPanel Install Log]: 请使用您的浏览器访问面板,并初始化管理员帐号:
[DPanel Install Log]: 外部地址: http://123.116.127.26:25128
[DPanel Install Log]: 内部地址: http://192.168.31.187:25128
[DPanel Install Log]: 如果您使用的是云服务器,请在安全组中打开端口 25128
[DPanel Install Log]:
[DPanel Install Log]: 官方网站及文档: https://dpanel.cc
[DPanel Install Log]: 代码仓库: https://github.com/donknap/dpanel
[DPanel Install Log]:
[DPanel Install Log]: ================================================================

面板效果

首页概览:

容器管理:

文件管理:

镜像管理:

创建镜像:

系统管理:

一文讲清楚Ollama项目

2025年2月13日 17:31

Ollama 到底是个啥东西呢,这一篇小白文给你讲清楚。

一、Ollama 项目的起源

在人工智能领域蓬勃发展的浪潮中,大语言模型(LLM)展现出了惊人的能力和潜力,然而,传统的模型使用和部署方式却存在着诸多限制。Ollama 作为一个专注于本地化部署大型语言模型(LLM)的开源框架应运而生,其诞生背景可以从以下三个关键方面进行深入剖析。

技术民主化需求

随着大语言模型如 Llama、GPT 等的相继问世并广泛应用,人工智能技术开始逐渐走进大众的视野。但与此同时,传统的云端部署模式暴露出了明显的弊端。这种模式严重依赖厂商提供的 API,用户在使用模型时需要将数据上传至云端进行处理。这不仅存在着数据隐私泄露的风险,使得用户的敏感信息可能会被第三方获取和利用,而且还需要支付高昂的使用成本。对于许多注重数据隐私和成本控制的用户来说,这种模式显然无法满足他们的需求。因此,市场上对于能够实现本地化、隐私可控的模型运行方式产生了强烈的需求。Ollama 的出现正是为了满足这一需求,它为用户提供了一种在本地运行大语言模型的解决方案,让用户能够更好地掌控自己的数据和成本。

简化部署复杂性

早期的开源大语言模型在部署过程中面临着巨大的挑战。手动配置环境、处理各种依赖项以及调试模型参数等操作,对于非专业用户来说几乎是难以完成的任务。这些复杂的步骤不仅需要用户具备深厚的技术知识,还需要花费大量的时间和精力。这使得许多有使用需求的用户望而却步,限制了大语言模型的广泛应用。Ollama 针对这一问题进行了深入的研究和创新,通过巧妙地封装模型权重、推理代码和微调脚本,实现了“一键运行”的功能。用户只需要简单地执行相应的命令,就可以轻松地启动和运行模型,无需再为繁琐的部署过程而烦恼。这种简化的部署方式大大降低了技术门槛,使得更多的用户能够方便地使用大语言模型。

通过Ollama官网下载的app实现一键下载大模型

社区驱动与开源精神

Ollama 的发展离不开开发者社区的积极推动。开发者们深刻认识到开源的重要性,他们希望通过开源的方式让更多的人参与到项目的开发和改进中来。结合 Docker 容器化技术,Ollama 将模型打包为标准化的模块(Modelfile)。这种模块化的设计使得模型可以在不同的平台上进行轻松的部署和运行,实现了跨平台的兼容性。同时,Ollama 的开源特性吸引了大量的开发者和贡献者,他们来自不同的领域和背景,各自发挥着自己的专业优势,为项目的发展贡献着自己的力量。在社区的共同努力下,Ollama 不断地进行迭代和优化,功能日益完善,性能也得到了显著的提升。

二、为何选择 Ollama 运行大模型?

1. 简化部署流程

  • 开箱即用:Ollama 提供了极其便捷的使用方式,用户只需通过简单的命令“ollama run <模型名>”,就可以自动下载并运行所需的模型。例如,输入“ollama run llama2”,系统会自动完成模型的下载和启动过程,无需用户手动处理复杂的依赖关系或进行繁琐的环境配置。这种一键式的操作极大地节省了用户的时间和精力,让用户能够快速地开始使用大语言模型。
  • 预构建模型库:Ollama 拥有丰富的预构建模型库,其中包含了 Llama、Mistral、Qwen 等主流的大语言模型。这些模型覆盖了从 3B 到 70B+ 的参数规模,能够满足不同用户的需求。无论是对于需要轻量级模型进行快速测试的开发者,还是对于需要高性能模型进行复杂任务处理的企业用户,都可以在模型库中找到合适的模型。用户可以直接调用这些预构建的模型,无需自己进行模型的训练和优化,进一步降低了使用门槛。
  • 跨平台支持:Ollama 具有出色的跨平台兼容性,它支持 macOS(特别是针对 Apple Silicon 进行了优化)、Linux、Windows(预览版)以及 Docker 容器化部署。这意味着用户可以根据自己的硬件环境和使用需求选择合适的平台进行模型的运行。无论是在个人电脑上进行开发和测试,还是在企业的服务器集群中进行大规模的部署,Ollama 都能够提供稳定可靠的支持。

2. 高效资源利用

  • 权重量化技术:Ollama 采用了先进的权重量化技术,支持 INT8、INT4 等低精度量化方式。通过这种技术,模型的显存占用可以降低至原始模型的 ¼。这使得在消费级硬件上,如配备 16GB 内存的 Mac,也能够运行 65B 参数的大型模型。权重量化技术不仅减少了对硬件资源的需求,还提高了模型的运行效率,使得更多的用户能够在自己的设备上运行大语言模型。
  • 分块加载与缓存机制:为了避免一次性占用过多的显存,Ollama 采用了分块加载的机制。在处理长文本时,模型会将文本分成多个块进行加载和处理,从而有效地减少了显存的占用。同时,Ollama 还引入了缓存机制,它会缓存历史上下文的计算结果。当再次需要使用这些上下文时,系统可以直接从缓存中获取,无需重新进行计算,大大提升了长文本处理的效率。
  • GPU/CPU 灵活调度:Ollama 支持 NVIDIA/AMD GPU 加速,利用 GPU 的强大计算能力可以显著提高模型的推理速度。同时,在没有 GPU 或者 GPU 资源有限的情况下,Ollama 也可以在 CPU 模式下运行。在 CPU 模式下,它通过 Metal(针对 Apple Silicon)或分布式推理等技术对性能进行优化,确保在不同的硬件环境下都能够实现高效的运行。

3. 隐私与安全性

  • 完全离线运行:Ollama 支持完全离线运行,这意味着用户的数据无需上传到云端进行处理。在一些对隐私要求非常严格的场景,如医疗、金融等领域,用户的敏感数据可能包含了大量的个人隐私和商业机密。使用 Ollama 可以确保这些数据始终在本地进行处理,避免了数据泄露的风险,满足了这些领域对数据隐私的严格要求。
  • 企业级定制:对于企业用户来说,Ollama 提供了私有化部署的解决方案。企业可以根据自己的需求,结合本地知识库(如 FastGPT)构建专属的 AI 应用。这种定制化的部署方式可以有效地避免敏感信息的泄露,同时还能够根据企业的业务需求对模型进行优化和调整,提高企业的竞争力。

4. 灵活扩展与定制

  • 模型微调支持:Ollama 集成了 LoRA、Prefix Tuning 等先进的模型微调技术。通过这些技术,用户只需要少量的数据就可以对模型进行微调,使其更好地适配垂直领域的需求,如法律、医疗等。这种微调方式不仅可以提高模型在特定领域的性能,还可以减少数据收集和标注的成本,提高开发效率。
  • 自定义模型导入:Ollama 支持从 GGUF、PyTorch、Safetensors 等多种格式导入私有模型。用户可以将自己训练的模型或者从其他渠道获取的模型导入到 Ollama 中进行使用。同时,用户还可以通过 Modelfile 对推理参数进行定制,根据自己的需求调整模型的行为和性能。
  • API 兼容性:Ollama 提供了类 OpenAI 的 REST API,这使得它可以无缝对接现有的工具链,如 LangChain、AutoGPT 等。用户可以利用这些工具链快速地开发和部署基于大语言模型的应用程序,无需对现有的代码进行大规模的修改,降低了开发成本和难度。

5. 生态工具集成

  • 可视化交互:为了提升用户体验,Ollama 与多种可视化工具进行了集成,如 Open WebUI、Chatbox 等。这些工具提供了类 ChatGPT 的图形界面,用户可以通过直观的界面与模型进行交互,无需使用复杂的命令行操作。这种可视化的交互方式使得大语言模型的使用更加方便和友好,吸引了更多的用户。
  • 分布式与并发处理:在高并发场景下,Ollama 支持多 GPU 并行推理和异步请求处理。通过多 GPU 并行推理,系统可以充分利用多个 GPU 的计算资源,提高模型的处理速度和吞吐量。异步请求处理则可以优化系统的响应性能,确保在大量用户同时请求时,系统能够快速地响应和处理。

三、Ollama 的核心价值

Ollama 凭借其极简部署、隐私保护和资源优化这三大核心优势,在本地运行大语言模型的领域中脱颖而出,成为了行业内的标杆工具。

其极简部署的特性使得用户可以轻松地在本地环境中运行大语言模型,无需具备深厚的技术知识和复杂的操作技能。这降低了使用门槛,提高了开发和应用的效率,让更多人能够参与到人工智能的开发和应用中。

Ollama 提供了完全离线运行和企业级定制的解决方案,确保用户的数据安全和隐私。这对于对数据隐私要求严格的行业和用户意义重大。

资源优化是 Ollama 的另一个重要优势。通过权重量化技术、分块加载与缓存机制以及 GPU/CPU 灵活调度等技术,能在有限硬件资源下实现高效的模型运行,降低对硬件的要求,提高资源利用率。

开源特性和活跃的社区生态为其发展提供了强大动力。开源让更多开发者参与项目开发和改进,不断注入新活力和功能。活跃的社区为用户提供交流和学习平台,用户可在社区分享经验、解决问题,共同推动大语言模型技术发展。

Ollama 推动了大模型技术的普惠化,使开发者、企业乃至个人用户能以低成本探索人工智能应用的潜能,为人工智能的普及和发展做出重要贡献。

如此药店

2025年2月12日 22:53

昨天去某丰大药房,买药,目标是补货奥司他韦和消炎药,头孢,氧氟沙星都行。

去药店的时候,白大褂大妈让我们等一下,她正在卖货,一个五十岁左右的大叔,正在她这边买保健品。
我倒是知道保健品可以用医保的钱买,但是我没想到,这大叔居然被忽悠着买了四千多的保健品。
具体是不是“保健品”这个分类我不太明白,也可能是营养品,当场我看这位大叔是刷医保卡的。

等他们忙好我问,“你这边有奥司他韦吗?” 领导在网上买的二十多块的奥司他韦已经快吃完了。
“我建议你吃,抗病毒中药” 药店的白大褂大妈说。
听到这我其实是挺生气的,你谋财没问题,算盘珠子都要蹦到我脸上了,未免有点不尊重人了。
“我不要抗病毒中成药,我就要奥司他韦” ,我再次强调。
“好,我拿给你,这个不可以刷社保的哦”
“可以” 我拿出手机,结果刷了我45块,
“你这边有头孢吗?“
“没有,但是有消炎中成药” 给我递上了三盒中成药,说是消炎去火的。
我说现拿一盒,结账一看价格76。扣掉社保,付7.6。

对了昨天晚上吃消炎的中成药,这药没用,早上五点喉咙肿有有咳嗽痛醒了。
为啥要记一下这个事情,单纯的觉得智商被按在地上摩擦了,用以警醒,睡不着一半是被气的。
以后我只在网上和医院买药,giao

新版本去不图床免费公测开始啦

2025年2月8日 00:00

有不少的小伙伴为去不图床提供建议,包括但不限于增加支持格式、图片处理、水印功能等等。杜老师也收集了这些建议转交给程序的设计者,经过了几个月更新迭代,V2 版本已推出。由于使用了新框架,无论是操作逻辑和功能支持,都有较大改变,所以在正式上线前,杜老师决定免费公测下!

新版界面

新版主页相较老版而言更加简洁,仅包含站点名称及描述信息,还有图片托管数据。最下方是两个功能入口,一个是图片上传的窗口,一个是用户登录的界面:

在上传界面中,可以选择从本地计算机上传图片文件,也可接入到摄影头,拍摄照片后再上传。目前支持访客上传,所有图片会经过审核后存放在服务器:

用户可以通过邮箱、用户名两种方式来登录。目前程序强制要求注册用户进行邮件验证,不能关闭验证。但因 bug 收不到验证信息,所以杜老师提供了一些体验账号用需要的小伙伴们使用:

在用户的仪表盘中可看到当前拥有的存储容量,可以查看图片、相册、分享,可以购买订阅、查看订单,提交工单或申请 API Tokens:

体验账号

体验账号密码统一为 7bu.top,默认容量为 1G。如选择了账号,请在评论区中留下编号,杜老师会根据使用备注信息,避免有小伙伴重复选择账号:

编号账号邮箱备注
1dusays1dusays1@dusays.com已用
2dusays2dusays2@dusays.com暂无
3dusays3dusays3@dusays.com暂无
4dusays4dusays4@dusays.com暂无
5dusays5dusays5@dusays.com暂无
6dusays6dusays6@dusays.com暂无
7dusays7dusays7@dusays.com暂无
8dusays8dusays8@dusays.com暂无
9dusays9dusays9@dusays.com暂无
10dusays10dusays10@dusays.com暂无
11dusays11dusays11@dusays.com暂无
12dusays12dusays12@dusays.com暂无
13dusays13dusays13@dusays.com暂无
14dusays14dusays14@dusays.com暂无
15dusays15dusays15@dusays.com暂无
16dusays16dusays16@dusays.com暂无
17dusays17dusays17@dusays.com暂无
18dusays18dusays18@dusays.com暂无
19dusays19dusays19@dusays.com暂无
20dusays20dusays20@dusays.com暂无
21dusays21dusays21@dusays.com暂无
22dusays22dusays22@dusays.com暂无
23dusays23dusays23@dusays.com暂无
24dusays24dusays24@dusays.com暂无
25dusays25dusays25@dusays.com暂无
26dusays26dusays26@dusays.com已用
27dusays27dusays27@dusays.com暂无
28dusays28dusays28@dusays.com暂无
29dusays29dusays29@dusays.com暂无
30dusays30dusays30@dusays.com暂无
31dusays31dusays31@dusays.com暂无
32dusays32dusays32@dusays.com暂无
33dusays33dusays33@dusays.com暂无
34dusays34dusays34@dusays.com暂无
35dusays35dusays35@dusays.com暂无
36dusays36dusays36@dusays.com暂无
37dusays37dusays37@dusays.com暂无
38dusays38dusays38@dusays.com暂无
39dusays39dusays39@dusays.com暂无
40dusays40dusays40@dusays.com暂无
41dusays41dusays41@dusays.com暂无
42dusays42dusays42@dusays.com暂无
43dusays43dusays43@dusays.com暂无
44dusays44dusays44@dusays.com暂无
45dusays45dusays45@dusays.com暂无
46dusays46dusays46@dusays.com暂无
47dusays47dusays47@dusays.com暂无
48dusays48dusays48@dusays.com暂无
49dusays49dusays49@dusays.com暂无
50dusays50dusays50@dusays.com暂无
51dusays51dusays51@dusays.com暂无
52dusays52dusays52@dusays.com暂无
53dusays53dusays53@dusays.com暂无
54dusays54dusays54@dusays.com暂无
55dusays55dusays55@dusays.com暂无
56dusays56dusays56@dusays.com暂无
57dusays57dusays57@dusays.com暂无
58dusays58dusays58@dusays.com暂无
59dusays59dusays59@dusays.com暂无
60dusays60dusays60@dusays.com暂无
61dusays61dusays61@dusays.com暂无
62dusays62dusays62@dusays.com暂无
63dusays63dusays63@dusays.com暂无
64dusays64dusays64@dusays.com暂无
65dusays65dusays65@dusays.com暂无
66dusays66dusays66@dusays.com已用
67dusays67dusays67@dusays.com暂无
68dusays68dusays68@dusays.com暂无
69dusays69dusays69@dusays.com暂无
70dusays70dusays70@dusays.com暂无
71dusays71dusays71@dusays.com暂无
72dusays72dusays72@dusays.com暂无
73dusays73dusays73@dusays.com暂无
74dusays74dusays74@dusays.com暂无
75dusays75dusays75@dusays.com暂无
76dusays76dusays76@dusays.com暂无
77dusays77dusays77@dusays.com暂无
78dusays78dusays78@dusays.com暂无
79dusays79dusays79@dusays.com暂无
80dusays80dusays80@dusays.com暂无
81dusays81dusays81@dusays.com暂无
82dusays82dusays82@dusays.com暂无
83dusays83dusays83@dusays.com暂无
84dusays84dusays84@dusays.com暂无
85dusays85dusays85@dusays.com暂无
86dusays86dusays86@dusays.com暂无
87dusays87dusays87@dusays.com暂无
88dusays88dusays88@dusays.com已用
89dusays89dusays89@dusays.com暂无
90dusays90dusays90@dusays.com暂无
91dusays91dusays91@dusays.com暂无
92dusays92dusays92@dusays.com暂无
93dusays93dusays93@dusays.com暂无
94dusays94dusays94@dusays.com暂无
95dusays95dusays95@dusays.com已用
96dusays96dusays96@dusays.com已用
97dusays97dusays97@dusays.com暂无
98dusays98dusays98@dusays.com暂无
99dusays99dusays99@dusays.com已用
100dusays100dusays100@dusays.com已用

站点地址

公测站点地址如下,点击访问即可。因为公测站点是单线路,与图片外链同线路,所以访问速度较慢,请访问慢的小伙伴耐心等待页面加载:

公测规则

  1. 本站仅供测试使用,请勿用于非法用途;

  2. 原去不图床的账号无法在测试平台中使用,请使用提供的体验账号;

  3. 如选择好体验账号,请将编号留言至评论区,杜老师会备注信息,方便其它的小伙伴选择;

  4. 公测平台预计运营至三月底,届时所有数据将被释放,请勿保存重要数据;

  5. 在使用的过程中如发现有任何 bug,欢迎在评论区留言,杜老师会第一时间提交给程序开发者,尽量完善新版图床程序;

  6. 最终解释权归杜老师说所有。

HomeAssistant如何设置自动备份,定期自动备份并自动删除旧备份

2025年2月8日 14:18
这篇文章介绍了HomeAssistant的新自动备份功能。用户可以通过进入系统设置并选择备份选项来启用该功能。下载紧急套件后,可以设置每日或每周一次的备份周期,例如每周一进行备份。此外,为了节省存储空间,可以选择关闭历史数据的备份功能,仅保留必要的信息。完成这些设置后,备份文件体积将大幅减少,存储在backups目录中。

《唐探1900》观后感

2025年2月7日 15:28

春节看了两场电影,分别是《唐探1900》和《哪吒之魔童闹海》
首先,恭喜哪吒2荣登中国影史票房第一!但是今天还是来讲讲《唐探1900》:历史迷雾中的华人抗争史诗,在辞旧迎新的光影盛宴中,《唐探1900》以其独特的历史纵深感令人耳目一新。影片巧妙糅合唐人街探案、印第安文化、清廷秘史三条叙事线,在旧金山淘金热的时代背景下,谱写了一曲华人劳工的悲壮史诗。

故事梗概

故事发生在1900年美国旧金山,议员候选人格兰特的女儿爱丽丝被开膛破肚惨死于剧院后巷中,同时旁边还有被割喉而亡的印第安族长六手,而嫌疑人是华人街协盛堂白堂主的儿子白振邦,因有路人指出,事出当晚白振邦出现过在剧院后巷中,且第二天早上6点出现在码头欲潜逃,此案轰动全美,称凶手为开膛手杰克。白堂主想找福尔摩斯帮忙给儿子脱罪,而此时在福尔摩斯身边当翻译的秦福被福尔摩斯忽悠来破这桩案子,听到事情原委后秦福觉得自己解决不了想逃离,恰巧在从窗户逃离时碰到了想找杀父仇人的印第安族人阿鬼,由于族里的先知珍珠说第一个撞到他的人可以帮他找到凶手,于是他盯上了秦福,无论秦福躲到哪里,都能被他发现,最终被带回了印第安族,经过一顿神奇操作以及阿鬼的身世揭露,秦福与阿鬼踏上了探案之旅。

彼时的中国还是清朝末期,慈禧太后指派费洋古前往美国抓革命叛党郑仕良,但美国人民因为开膛手杰克事件非常抵制华人,刚下船到就被扒光衣服检查,还被骗走了行囊,只能到协盛堂求助白堂主,正好白振邦被保释回到堂内,而秦福和阿鬼查到了一些线索,需要帮白振邦脱罪需要问出案发当晚他去了哪里,一行人全在堂内碰头了,可想而知是画面是混乱又搞笑的。最终费洋古没抓到人,郑仕良说出了案发当晚和白振邦一起去爱尔兰帮会偷枪的事实。

局势还未明朗之际,中医医馆的中医林月娥以同样手法被杀害,秦福和阿鬼经过调查发现凶手不是同一人,作案手法不熟练,只是模仿作案,而后从中医馆老板口中得知白振邦与爱丽丝是恋人关系,经常来林月娥这里约会,且林月娥诊断出爱丽丝怀孕了,此时白振邦和郑仕良想通过在美国大火的魔术师金陵福回国之际运输枪支,秦福和阿鬼来找他们后,白振邦坦白,并告知那天早上6点在码头是为了和爱丽丝私奔,随后在离开剧院时遇到费洋古,双方大打出手,阴差阳错下帮助金陵福完成了一场精彩绝伦的魔术表演,但费洋古也看到了枪支所在,离开后去了爱尔兰帮与之达成合作,之后在护送枪支途中搏斗,抓到秦福、阿鬼和郑仕良后发现运送的是魔术道具,3人被抓,阿鬼在狱中放出信鸽。第二天费洋古欲活埋3人,关键时刻来报,清朝被八国联军攻打,费洋古满腔愤怒与爱尔兰帮开战,与2名手下纷纷战死,最后印第安族人赶到清理了战场。

在护送枪支前一晚,白振邦去找格兰特质问是不是他杀了爱丽丝,且格兰特说出女儿已怀孕的事实并打了白振邦一枪,把他丢进地下冰窖中,白振邦被冻死后,格兰特和手下做局,在白堂主的工厂里杀害了爱丽丝的黑人女佣,并诬陷给已死去的白振邦,在随后的发布会中本以为案件会盖棺定论,且排华法案要定案。发布会当天,秦福3人出现还原案件发生经过,杀死爱丽丝的凶手竟是格兰特,因接受不了女儿与华人恋爱和怀孕,与女儿争吵过程中不慎把女儿推下楼梯而亡,因之前做过医生,所以把女儿的肚子剖开,器官也全拿了出来,而印第安族长因看到了他与手下抛尸的过程遂被杀,其余两起案件是手下做的。而在排华法案会议中,白堂主振奋人心的演讲和秦福3人的助攻下,最终投票也未通过法案,但没收了协盛堂的全部财产。

本以为故事到这结束了,没想到最后结局幕后黑手是一直在影片中帮助中国人做好人的威曼先生操纵大局,在格兰特家里商议能否取消排华法案时目睹了一切,所以出了嫁祸给白振邦的主意,最后即要了协盛堂的地和财产,又取消了排华法案,让华工做他们的奴隶。

观后感

刘昊然饰演的秦福,出身中医世家,爷爷是宫廷御医,后来全家死于战乱,于是秦福为了寻找哥哥来到美国。王宝强饰演的阿鬼是河北人,父亲在修建中央太平洋铁时死于爆炸事故,年幼的阿鬼被当地的印第安族收养。而影片最精妙处在于构建了三重身份对照:秦福的中医智慧与阿鬼的印第安生存哲学形成侦探组合的认知互补;白振邦作为华裔二代在爱情与族裔认同间的撕裂;费洋古这个清廷鹰犬在忠君思想与民族大义间的摇摆。当阿鬼用鹰羽拂过唐人街砖墙,当秦福以银针刺破凶案迷雾,两种古老文明的对话超越了探案本身。

历史褶皱里的现实回响

陈思诚将排华法案(1882)、中央太平洋铁路华工血泪史(1863-1869)、八国联军侵华(1900)三个时空折叠重构。在影片快结束时,发哥饰演的白堂主在市政厅的控诉戏,他最后孤身一人走进市政厅,独自面对几百个高高在上的白人进行辩驳的情节,他不卑不亢,他慷慨激昂,他请这些自以为高贵的洋人们睁开眼看看,建立起这座城市,修建起贯通全美铁路的,为你每天送上最新鲜蔬菜水果,为你浆洗衬衣的,都是你们蔑称为老鼠,视其为瘟疫的华工们。而从修建铁路这种最繁重的工作中一点点咬牙撑过来,在唐人街打拼多年拥有了一份家业的白轩龄,也是千千万万被卖猪仔的华人劳工的缩影。特别是这句”当你们的火车穿越内华达山脉时,每根枕木下都沉睡着一个中国灵魂!”这种艺术化的历史重述,让观众在悬疑叙事中触摸到真实的历史肌理。

文化解构中的当代启示

当结尾字幕浮现”本片致敬所有无名建设者”时,影院响起经久不息的掌声。这部电影的价值不在于推理的缜密,而在于它撕开了文明冲突的伪装——那些修建铁路的茧手、浆洗衣物的冻疮、培育菜园的佝偻身影,共同构成了美国崛起的隐秘基石。正如阿鬼的双重身份暗示的:在殖民者眼中,所有被压迫者都是”他者”。

尾声

走出影院,我和肖师傅说,作为一个中国人,我们应该自强不息,我更深刻的理解了国歌的内涵 “起来,不愿做奴隶的人们,把我们的血肉铸就我们新的长城”。在这部影片中,中国人就是美国人的奴隶,用血肉铸就了新中国的发展。现在的科技发展和和平生活都是无数前辈们造就的,应当珍惜,不要崇洋媚外,中国的大好河山值得我们爱护。《唐探1900》以其磅礴的叙事野心提醒我们:历史从不曾真正过去,那些被湮没的华人故事,正在新时代的银幕上获得重生。当秦福的银针最终刺破阴谋时,我们看到的不仅是案件的真相,更是一个民族找回历史话语权的寓言。

2 月 5 日图床故障说明

2025年1月30日 00:00

这是篇补更文,所以发布时间不符。本文对 2 月 5 日的图床故障进行详细说明,并为了避免再次出现类似的问题,所做的一系列措施。如小伙伴们有任何问题,欢迎在评论区留言。

问题描述

根据监控服务平台数据显示,于 2 月 5 日上午十点左右发生了图床故障,导致所有图床服务「包括去不官网、图片外链、容量兑换」无法访问。

问题出现后很多小伙伴前往本站的评论区留言,反馈图床问题。杜老师收到反馈后,第一时间进行了问题的排查,并尝试了多种修复作业,但因为不在服务器附近,很多操作无法进行,最终只能暂时安抚小伙伴们。

问题原因

杜老师于当日 17 点返京,18 点到达服务器所在地,第一时间确认问题,开始进行修复工作,在短时间内恢复了图床相关服务的正常访问与使用,以减少对小伙伴们影响。

经排查是短期内产生大量的流量,达到家庭版光猫的性能瓶颈,产出较大热量,又因为光猫放置的地点问题,最终导致光猫宕机,影响了数据的正常传输。

解决方案

使用去不图床的小伙伴都很清楚,图床运营成本较大,为了减少成本,杜老师将服务器放置在家里的机柜中,通过家庭网络穿透公网,通过 CDN 反向代理来加速访问。

在重启光猫后,第一时间修正域名解析,在清理 CDN 域名解析缓存后,图床恢复正常。

后续措施

为了避免再次出现类似问题,杜老师已下单企业级的光猫,并选购了半导体制冷器,放置机柜中实现光猫和服务器的降温工作,保障在高流量下的稳定运行。

同时下单了新带宽安装,在双线路下即可保证图床的高速访问,又可防止单线路的故障问题。最后杜老师会尽可能的保障去不图床服务稳定运营,不会出现数据丢失,更不会出现跑路的问题!

如何在mac上隐藏应用程序在dock栏中的图标

2025年2月6日 13:59
这篇文章介绍了如何在macOS上隐藏应用程序图标,不再显示在Dock栏中。方法是通过修改应用的Info.plist文件,将LSUIElement值设置为1,这样图标就不会出现在Dock里,但应用仍然可以在后台运行。如果想恢复,只需将值改回0或删除该行代码。这是一个适合不经常更新的后台菜单栏应用的解决方案。

如何自定义ollama模型存储位置?Mac、Windows修改模型存储位置教程

2025年2月6日 12:31
这篇文章介绍了如何自定义Ollama模型的存储位置,适用于Mac和Windows系统。文章详细说明了在两种操作系统下修改模型存储路径的方法,并强调了设置稳定存储路径的重要性。对于Windows用户,可以通过环境变量OLLAMA_MODELS指定新路径或使用软链接迁移模型;而Mac用户则需要编辑shell配置文件并设置环境变量。文章还提醒读者,在进行任何更改前应退出Ollama服务以避免意外错误,并建议选择可靠的存储设备以确保模型顺利运行。

流感康复记

2025年2月6日 11:16

本来昨日应是上班第一天,但在前天写完 -2025春节小记 的后两个小时,就突然的发烧了。
症状
下午,没有什么征兆都是好好的,写完博客就只是躺了一会儿,觉得脑仁有点痛,不是表面的皮肤,是觉得大脑深处出来的感觉,很难去形容。
约过1h后,身体开始发冷,畏寒,吹一点风就开始冷的发抖,没有出汗,伴随关节疼痛,
大约2小时,症状开始加重,体温上升至39-40°,先吃了奥司他韦。

再过后半小时左右吃了布洛芬,随后就刷刷手机,半梦半醒消磨时间。期间体温高峰期过了40°

晚上,22点左右彻底退烧,在此期间流了大量的汗, 24点左右脑子基本上清醒了,没有浑浑噩噩的感觉,脑仁还有点痛感,已经微弱。

第二天请假了,也就是昨天,上午睡觉居然睡到11点,大概近期睡得最久的一次,上午还有点恍惚,现在我判断应该是睡太久导致的。
下午被领导拉去看了一场电影吃了晚饭,期间一直在流汗,现在看来应该是吃晚饭的时候穿多了,又不敢脱外套导致的。

这次流感与前些年疫情刚放开的那会儿的病状几乎完全一致。当时没有奥司他韦,熬了一周才好,咳嗽持续了月余。
对了,咳嗽的情况也记录下,喉咙痒,有咳嗽,有痰。早起较多,日常比较少,咳嗽也不多。相对第一次感染新冠有大大的减弱,可为不幸中万幸。

近期流感高发,期望我的感染康复经历能帮助到阅读此文的朋友。
以上,流感康复记。

2025春节小记

2025年2月4日 11:41

今天是春节假期的最后一天了,然而我家也没在单位请假,所以明天就要去上班咯。
就稍微休整下心灵与身体,这段时间带娃,又是走亲戚太累了。

我也有思考过,是否有必要走亲戚?
80-90这一代,各家都是独生子多,所谓亲戚多是上一辈的兄弟姐们的走动。对我们来说,多是陪着长辈各家去拜年。
等真的到了上一代人老去,估计走动的会更少。

城市里宗族观念薄弱,农村里倒是越发提倡宗族,比如前段时间我妈跟我说,镇上蒋肖氏族人都要出钱修祠堂。
选址是个风水极佳的地段(我们那边是4A旅游区,雪场也有。所以风景必定是极好的)。
每个族人要出300,点人头,一家几口人就要出多少钱。不出钱就不准录入族谱。
换句话说 ,赞助300 = 一个名字,多少有点变味了。
在这边流传一个笑谈,如果上海人逛xxx(一般指一些上海特色景点),是要被开除沪籍的。
但是在修祠堂这件事上,不出赞助费,是真的给你开除了宗族籍。

城市里不兴这个,也省去了很多的麻烦,基本上就是往上数两代人的亲戚之间互相走动下,大多就是找个饭店一起吃饭。
厨艺好,并且相聚的人少的话,一般就自己在家里烧一下,上海男人在厨艺方面一般都是不错的,这点值得各地学习。
当然我不是土生土长的上海人,所以我厨艺自然是遗传父母,一塌糊涂也正常。
要说会烧饭的湖北人多不多,我觉得是不多的,至少我亲戚这个圈子里,基本上烧菜水平都一般。
我们家乡人吃饭,一般碳水较多,所以每顿都要吃米饭,菜吃的倒是不多,评价一顿饭好不好吃,就是这个菜下不下饭。
如果都按照“这个菜下不下饭” 的标准来评价的话,不知道这算不算是导致烧饭水平不高的原因之一。

老丈人烧饭水平还是非常高的,再就是我姑爷。都是实力相当强劲的选手,每次去吃都能吃个肚儿圆才回家。
当然这个春节也去了,老丈人的儿子去他丈母娘家了,是山东的,刚好我们就在老丈人家借住一晚。

以前领导是有房间的,后来给了他哥的女儿,装饰成了儿童房,我有时候跟她开玩笑说:
“你连个房间都没有,你要生气回娘家都回不了!”
“我干嘛要回娘家,我有自己的房子,我会把你赶到次卧的!” (原文是赶出去,迫于形势修改之

大概就是如上对话,每次去借住都会被我想起,当然我肯定不会总是提起,未免显得情商过低。
时而拿来调侃一下,倒是没有关系,领导比较豁达,从不在意这种物质上的得失。

出去住,肯定是带上古灵精怪的宝宝,如果是带娃不闯祸那是不可能的,请看VCR

我侄女的玩具很多,外婆就给宝宝都拿出来玩,我正在看他们几个打牌,还在夸我家娃:
“我家宝宝,玩玩具的专注力很好的,就自己一个人能玩好久”
这句话没说完多久,他外公就看到宝宝悄咪咪的走过了,大概就是这样子。
开始外公以为是口红,等靠近“作案现场”才知道是玩具堆里面藏了个红色的印泥。
柜子上,地上,玻璃上,白色窗帘上,都是红色的小巴掌印。
外婆说: “还好宝宝争气,没有把印泥涂在墙上“, 毕竟墙纸比较难弄。
这次外婆家之行,宝宝留下了带红手印的白色窗帘,其他地方都弄干净了。
还好是我家娃,估计是我小侄女要挨打了,所以呀,臭宝,年龄就是你的保护色。

这可真是“为所欲为”的年纪,说到这,我想起了前几天火遍全网的,小孩子鞭炮炸井盖,父母赔偿几百万的事。
据说后续是父母离婚了,我想也是,离婚的话,未必是真离婚,应该是一个人背债,一个人维持家庭开销。
这件事出来,教育意义更大,熊孩子父母还是要加强安全教育,这可马虎不得。

春节也没有出去拍照,就跟几家亲戚拍了全家福。
哦,对了,回家的时候给领导也拍摄一张美图。

以上,2025春节小记。

在Mac上部署DeepSeek R1模型,设置知识库对话、Prompt等

2025年2月2日 22:21
这篇文章介绍了在Mac上本地部署DeepSeek R1大模型的方法,并展示了如何通过Ollama进行模型运行和管理。作者详细讲解了从下载Ollama应用、安装命令行工具,到在终端中运行不同内存分配下的模型版本的过程。此外,还介绍了使用Page Assist插件设置对话界面,并通过Prompt引导AI行为。最后,文章还提到了如何通过文本嵌入模型自定义知识库,满足特定需求的对话场景。

iPhoneMirroring与DeepSeek

2025年1月31日 00:34

有些人看到标题可能会奇怪为什么这个博主要把,iPhoneMirroring与DeepSeek放在一起,该不是又是一个蹭流量博主吧。
嘿,我先不回答这个问题,先让我讲讲本期要分享的第一个主题「iPhoneMirroring」 。

第一个主题 : 当 Mac 遇见 iPhone

深度解析「iPhone Mirroring」功能与手柄游戏的革命性体验

在苹果生态系统中,跨设备协作一直是核心优势之一。2024 年 WWDC 大会上,苹果正式推出 macOS Sequoia 系统,其中一项重磅功能便是 「iPhone Mirroring」。这一功能不仅实现了 iPhone 屏幕的无缝投射,更允许用户直接在 Mac 上操控 iPhone,彻底打破设备间的壁垒。结合游戏手柄,用户甚至能在 Mac 上享受主机级的手游体验。本文将结合最新官方动态与实测数据,为你全面解析这一功能的使用技巧与玩法。

一、iPhone Mirroring:苹果官方的终极无线投屏方案

1. 功能亮点与更新

  • 无线连接,零延迟交互:与以往依赖第三方工具或数据线不同,macOS Sequoia 的 iPhone Mirroring 基于 Continuity 协议,支持无线低延迟投屏(需 iPhone XR 及以上机型,运行 iOS 18+)。
  • 直接触控与键鼠操作:用户可通过 Mac 的触控板、鼠标直接点击、滑动 iPhone 屏幕,甚至用 Mac 键盘输入文字。
  • 独立窗口,多任务并行:镜像窗口可自由缩放、置顶,支持与 Mac 应用同屏操作(如边刷短视频边写文档)。

2. 如何开启 iPhone Mirroring?

  1. 系统要求
    • Mac 升级至 macOS Sequoia,iPhone 升级至 iOS 18
    • 两台设备登录同一 Apple ID,并开启蓝牙和 Wi-Fi。
  2. 连接步骤
    • 在 Mac 菜单栏点击 「控制中心」 → 选择 「iPhone Mirroring」 → 选择你的 iPhone。
    • 首次连接需在 iPhone 上点击 「允许」 授权。
    • 连接成功后,iPhone 屏幕会以独立窗口显示在 Mac 上,且 iPhone 本体自动锁屏(防误触)。

3. 对比第三方工具的优势

功能官方 iPhone Mirroring第三方工具(如 AirServer)
连接方式无线,无需数据线部分需有线或局域网稳定环境
延迟控制<50ms(实测)100-200ms(依赖网络质量)
交互体验原生触控支持需模拟触控或手势映射
隐私保护端到端加密依赖第三方协议

二、手柄+镜像:解锁 Mac 上的主机级手游体验

1. 手柄与 Mac 的完美适配

  • 官方推荐手柄
    • Xbox Series X/S 手柄PS5 DualSense 手柄Switch Pro 手柄(需 macOS Sequoia 及以上系统)。
    • 苹果特别优化了 Xbox 手柄的震动反馈和 DualSense 自适应扳机(需游戏支持)。
  • 连接方式
    • 蓝牙直连:长按手柄配对键(Xbox 为顶部按钮,PS5 为 Share+PS 键)→ 在 Mac 的蓝牙设置中选择设备。
    • 有线连接:通过 USB-C 线直插 Mac(推荐 Xbox 手柄,延迟更低)。

2. 游戏场景实测与设置

  • 原生支持手柄的游戏
    • 《原神》:连接手柄后,镜像窗口自动识别,支持 4K 分辨率投屏(需 iPhone 15 Pro 的 USB 3.0 输出)。
    • 《暗黑破坏神:不朽》:通过 Mac 键鼠或手柄均可操作,实测帧率稳定 60FPS。
  • 非手柄游戏的按键映射
    • 使用 「Game Porting Toolkit」(苹果官方工具,macOS Sequoia 内置):
      • 将触屏手势映射为手柄按键(如《王者荣耀》技能键绑定到肩键)。
      • 支持保存多套配置,适配不同游戏类型。

3. 延迟与画质优化指南

  • 降低延迟
    • 关闭 Mac 的 「随航」(Sidecar) 功能,避免带宽竞争。
    • 使用 5GHz Wi-Fi 频段USB 有线连接(iPhone 15 系列支持有线投屏)。
  • 提升画质
    • 在 iPhone 设置中开启 「高画质投屏」(设置 → 通用 → AirPlay 与接力)。
    • 通过 Mac 的 「QuickTime Player」 录制镜像画面时,可自定义分辨率(最高 4K)。

三、生产力与娱乐的跨界玩法

1. 游戏场景

  • 多屏协作:在 Mac 主屏写代码,镜像窗口挂机手游《星穹铁道》,用手柄一键切换焦点。
  • 直播推流:通过 OBS 捕获镜像窗口,用手柄操控游戏,同步录制解说(实测 M3 MacBook Pro 可 4K 60FPS 推流)。

2. 办公与创作

  • 远程演示:在会议中镜像 iPhone 上的设计稿,用手柄代替翻页笔控制 Keynote。
  • 跨设备剪贴板:在 Mac 上复制文字,直接粘贴到 iPhone 的微信输入框(需开启「通用剪贴板」)。

四、争议与限制

  • 设备兼容性
    • 仅支持 iPhone XR 及以上机型,且 M1 以下芯片的 Mac 无法开启高画质模式。
  • 云游戏限制
    • Xbox Cloud Gaming 等流媒体平台会检测模拟器,可能封禁通过镜像投屏的账号。
  • 电量焦虑
    • 无线投屏时 iPhone 功耗增加,实测 1 小时耗电约 25%(iPhone 15 Pro Max)。

五、未来展望

  • Apple Vision Pro 整合
    消息称,未来 iPhone Mirroring 或支持将 iPhone 屏幕投射至 Vision Pro,结合手柄实现空间游戏操控。
  • 原生游戏生态扩展
    苹果正推动《生化危机 4 重制版》《死亡搁浅》等 3A 游戏登陆 Mac,未来或支持 iPhone 镜像同步存档。

小结

iPhone Mirroring 不仅是苹果生态的又一次进化,更重新定义了「设备边界」。当手游玩家在 Mac 上用手柄释放连招,当创作者用镜像窗口高效协作,这场由软硬件协同掀起的革命,正在将「无缝体验」推向新的高度。而对于普通用户,或许只需记住:你的下一台游戏主机,何必是主机?

很高兴你能阅读完第一个主题,在开始第二个主题之前,我想有必要说明下,上面这个主题的文章是由DeepSeek AI撰写的。
上文的图是我使用自己的电脑连接手柄,并且启用iPhone Mirroring截图的,并且当下iPhone Mirroring 是**不具备**手柄操作的功能。换言之,这些都有由DeepSeek AI自己联想出来的功能。
如果你没有察觉上文是由AI撰写的,那是否可以说明,现在市场上已经出现了一大批珍贵的“AI手稿” ?
举个不恰当的比如,当你发现冰山露出一角,真正的冰山远超你的想象。

第二个主题 :DeepSeek的写作能力探讨

对于 DeepSeek的写作能力,我想如果你阅读过第一篇主题,并且还被它给“骗了”那大概我们能达成一个共识,就是对于文章的撰写,它已经进化到一个不可思议的地步了。

在我使用其他AI工具的时候,提示词完全是我给出,而DeepSeek的步骤是,先根据我给出的提示词,进行解释与联想,生成更多,更详细的提示词。好处肉眼可见,生成的文章质量高了不止一筹,当然这并不是我说其他的AI工具生成的不够好,而是在用户数据输入这个步骤,DeepSeek的创作团队想的更多。
虽然在算力这块使用的更多了(增加了提示词的自我补全机制),但是总体看,生成的内容也更加贴近用户需求,这对于我们普通人来评价一款AI工具是否足够好用,非常的重要。

联网搜索

上图有个联网搜索的按钮(上图2标注),可以让 DeepSeek 抓取最新的网络文章,我第一次使用这个功能的时候,不能使用该功能的(上图1标注)。
大概是现在 DeepSeek 的服务器正在被大规模攻击的缘故,所以该功能被暂停使用了。
我突发奇想,看看能不能使用提示词,绕过这个限制,似乎是成功的绕过了(上图标注3)。

最后,强力推荐下 DeepSeek ,国产且强力又好用,希望你看了这篇文章之后,也去尝试下这个应用。

使用AI制作APP的UI

2025年1月31日 00:33

刚好前段时间制作了个像素图绘制程序,当初是简单做了一版的操作UI的排版,功能都有了但是看起来太临时。
对于一个APP来说,UI设计也是非常重要的,这直接关系到这个APP是否是个“产品”,没有设计过的UI会让项目永远停留在Demo阶段。

当下AI驱动UI设计的发展势头十分迅猛,今天我也尝试下试用一些工具,体验下高级生产力,顺便记录一下对于使用AI去生成UI的探索。

我会使用如下提示词:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
UI Components:

1. Edit Pixel Points Screen:
- Interactive grid display for pixel manipulation.
- Zoom in/out gestures.
- Color picker to select active pixel color.

2. Layer Options Screen:
- Layer management tools (add, delete, reorder).
- Layer visibility toggles.
- Opacity adjustment slider.
- Layer preview, selcted and drag to new index


3. Color Options Screen:
- Custom color palette.
- Color history and recently used colors.
- Option to create and save custom palettes.

4. Brush Options Screen:
- Selection of brush types (pencil, spray, etc.).
- Brush size adjustment slider.
- Quick-access button for frequently used brushes.

5. Image Import Screen:
- Options for importing images with pixel-level settings.
- Size adjustment controls (scaled dimensions and aspect ratio).

6. Image Export Screen:
- Scaling options for output size.
- Format selection for export (PNG, JPEG, GIF).

生成了一些设计稿

Galileo AI
UXPILOTG

Uizard
Uizard

小结

由于我这没有付费,所以在 Galileo AI 与 UXPILOTG 上获得的体验也是一般,但是在UiZard上倒是可以生成完整的,登录注册流程UI,加上核心的编辑器UI,只是部分的UI界面被置灰,告知只有付费才可以使用该UI页。

所以在自动化生成Ui流程上来说,我觉得Uizard 还是不错的,它甚至可以在线生成一个浏览设计稿的地址,点进去就是直接开始试用这个”APP样品”。

所以你更倾向哪个呢 ?

今夜 20 点口令红包雨来袭手慢无

2025年1月28日 00:00

岁末钟声渐近,万家灯火可亲。值此辞旧迎新之际,杜老师怀着无比雀跃的心情,要在今夜晚 20 点整,为陪伴杜老师走过又一年的小伙伴们送上一份特别心意。快点进文章内,看看活动的细节吧!

感恩有您

蛇年已至,万象更新,愿小伙伴们在新的一年,生活如灵蛇般灵动,事业似祥蛇般腾飞,家庭像暖蛇般温馨。蛇年,愿小伙伴们皆行大运,岁岁顺心如意,年年福满乾坤:

活动细则

今年春节,杜老师想用最传统最有仪式感的方式,把这份心意装进红包里。不是冰冷抽奖程序,而是带着温度「暗号互动」

1 月 28 日「今晚」二十点整准时开启。

输入「杜老师祝蛇年快乐」

100 位锦鲤将获得随机的现金红包。

参与攻略

进入到支付宝,点击首页中的更多:

待页面刷新后,下拉界面,找到理财管理分类,点击红包:

在红包页面中,找到输入框并填写口令,点击确定即可领取红包:

注意不要弄错口令了哦:

温馨提醒

  1. 每位小伙伴仅限领一次;

  2. 口令有效期 24 小时「截止 1 月 29 日 20 点」

  3. 欢迎在评论区晒出领取金额,分享快乐;

  4. 活动最终解释权归杜老师说所有,如有雷同,一定是特别的缘分!

关于 Opengist 开源代码片段分享工具服务关闭的公告

2025年1月25日 00:00

Opengist 开源代码片段分享工具自上线以来,一直致力于为小伙伴们提供优质服务。然而,随着时间推移,我们发现平台的活跃用户数量非常少,综合考虑资源利用效率和运营成本等因素,我们做出了关闭服务的艰难决定。

关闭原因

长时间无人使用的情况日益突出。同时,平台占用服务器资源也相对较多,这给我们的运营带来了较大压力:

关闭流程

在关闭服务前,我们会对平台上的所有用户数据进行全面备份,包括但不限于用户信息、使用记录、上传的文件等,以保障已托管用户们的数据安全。

在本文发布后,我们将正式关闭 Opengist 开源代码片段分享工具服务,届时将无法再登录平台或者使用相关功能。为提供更充裕的时间进行数据下载和备份,我们会在关闭服务后一段时间内,提供数据下载服务。

数据备份与下载

为了方便获取和保存自己的数据,我们将提供数据备份文件的下载服务。可以通过下方链接进行数据下载:

下载地址

后续安排

关闭 Opengist 开源代码片段分享工具服务后,我们将对服务器的资源进行优化调整,以更好地支持我们的其它项目和服务。同时,我们也会继续关注用户的需求和反馈,努力提供更加优质的产品和服务。

再次感谢小伙伴们对 Opengist 开源代码片段分享工具的支持与理解。如在数据备份或下载过程中遇到任何问题,欢迎随时留言。

蜷缩在电视柜的男孩

2025年1月26日 17:16

今天和我一个同事 XAN 聊起他小时候的一些事儿,那些事,小时候只觉得是“当下困苦”。
现在作为一个成年人视角,怎么看,都是父母人为给孩子制造的终身难磨灭的痛苦记忆。

“你小时候睡过电视柜里面吗 ?”

“我没有?是什么样的电视柜?”

“就是教室的电视柜,大柜子。”

“为什么要睡这里面?”

“初中时候我寄宿,周末放假回家,我妈叫我不要回去,意思是路上要花路费,还浪费时间。我只能睡在学校,宿舍周末不开,只能睡到教室的电视柜里,冬天暖气只有上半夜有,下半夜没有暖气,还很冷。那时候小,不知道把宿舍的被子拿过来。会暖和一点。晚上保安会去锁上大楼的门,就我一个人,在里面,我很害怕,我就把教室的门反锁。早上出去买早饭吃,摔了一跤,看周围没有人,就把吃的又用手扒拉到袋子里。”

“那你应该只睡过几次吧,你父母也不会让你一直这样搞吧 ?”

“大概几十次吧”,XAN 给我用手比划了一下。

“我以前还觉得你对你父母不好,现在看你现在对你父母这样也挺好了”,以前在公司 XAN 也会聊起他的父母,之前我一直认为,他对他父母做一些事,显得比较情亲淡薄,不够尊敬长辈。现在想来,也是我不了解个中情况,还是片面了,要是换个儿女,说不定会更淡薄一些,也不为过。

“还有我高中的时候,大年初一的时候生病了,发烧,要吃药,自己去药店里买了药,回家要吃,我妈把药给我一把抢走了,说大年初一吃药,一年都要吃药,还好我堂妹给我偷偷用剪刀剪了半板药,给我藏起来。平时生病的时候,买药吃,我妈也骂我,有什么用,(意思是男孩不用吃药) 现在我妈只要是生病,就立马去医院,也要吃药,我都会给她讲,我小时候不让我吃药的这个故事。我问她为什么要吃药,她说身体难受就要吃药。”

“你爸妈都干什么工作的 ?”

“我妈是幼儿园老师,我爸是小学校长”

“那估计你爸妈在当地也有有头有脸的人物”

“小时候他们常吵架,把家里的碗都摔了,后来我家都换成金属的了,那时候我害怕回家,他们还总是在亲戚,家里来的客人面前贬低我,别人也会跟着一起说,你家两口子这么有本事,怎么生个这样的儿子。所以我内心一直是有些自卑的。”

“我觉得他们缺乏与人共情的能力,毕竟当父母不需要考资格证书。”

我们这代人已经长大了,父母也即将老去,你要是说是跟上一辈人划清界限,也是不可能。
毕竟给父母养老,是这一辈人的责任与义务,只是旧日童年的回忆,又有谁去疗愈。

有些人,嘴上说与原生家庭和解,会想办法去逃离原生家庭,我直言,这非常的困难。
从自身出发,能做到的,也只是让这种粗暴的传统教育方式在我们这一代 “到此为止”。

逃离原生家庭的最佳方式:不要像父辈那样去处世,不要被他们的生活习惯影响自己的生活习惯。
破山中贼易,破心中贼难,大概如是也。

后记,摘录部分网友的小故事

Jeffer.Z
我小时候也寄宿,家里给的钱吃不饱,我和我妈说他不信,开家长会,一个女孩妈抱怨孩子太能花钱,我妈说你给多少钱吃饭,那女孩子的费用整整是我四倍,然后我妈才意识到我真的吃不饱饭。她对钱的看重大于人,上学时候总说我花了多少钱,还说我舅舅家哥哥上学都不花钱,实际上我已经算是上学孩子里最穷的,没什么消费,就是吃饭。我和我妈的情感也很淡漠,因为日常她说的最多就是钱,这个东西多少钱,谁能赚多少钱,钱每天在她嘴里出现的频次超出任何东西,我成年后才真正意识到,这已经不是说抠门,而是病态。有时候大家看到一个人和父母不亲近或者淡漠。就觉得这个人不好,或者不孝顺,其实不是这个样子。很多时候孩子和父母的接触中不停受到伤害,孩子就会启动保护自己的机制防御来自父母的伤害。我老婆性格就很开朗,我看她和父母沟通就很好,我就不行。我不喜欢和父母说话,在家尽量保持沉默,因为有时候一沟通就会吵起来,沉默和保持距离对双方都好。我经历过这些,我对孩子的态度就是,虽然孩子是孩子,但是我把她当成平等的个体对待,始终陪着她,让她开朗,而不是像我这么阴郁。你的这个朋友一定会有更多难以启齿的细节是不会和你说的。

三十海河
这篇让我想起来我的父亲,16岁就出去打工的我,住着50元一月的房间,冬天漏风、夏天漏雨,发烧到41度我给他打电话,他给我说「你多喝点水就好了」。
后来现在他也怕死,总是说自己有哮喘,三天两头去诊所挂水,呵呵,前阵子他给我说自己喘的厉害,我也用这句话回应了他「你多喝点热水就好了」。

二丫讲梵
聊两个我的故事,与此文相关。
1.我小时候,家里管教也是极为严厉的,在家里,我从来都是大气儿都不敢喘一下的那种,从小到大,只有两个字,学习。除此之外,再无其他任何事。然而,我除了要学习之外,还需要跟随父母一块儿干农活,从小也是地里的活跟着干,十岁的时候就学会开拖拉机,也学着开始做饭。这些劳动上的困苦还好,精神上的压力越来越大,高中的时候,真感觉呼吸不过来,当时把胸中苦闷化解为文字,一口气儿写了五十多页的心里话,最终拿给了父母,他们在我第二周回来之后,态度为之180度大转变,感觉到孩子长大了。
2.关于住教室,讲个神奇的,我们初中那时候(07~10),条件不好,学校宿舍有限,仅有的宿舍,是女生住的,男生则都是在教室里住,由此引发了不少有趣的故事。男生的地铺以及盖的被子全都是放在教师后边的桌子上,每当晚上放学,都会把教室的桌子拉一拉,然后在地上铺开,三五一堆儿,打地铺睡觉。有趣的故事有:晚上不睡被一帮老师来教训啦,有时候夏天太热,把地铺铺到教室门前,以及操场上啦,有时候早上起太晚,女生都在教室门口啦。凡此种种,皆成为我美好回忆的一部分。
如今,我与父母关系非常友好。

FreeFileSync 开源文件同步与备份利器

2025年1月22日 00:00

在数字化时代,文件管理和备份是每个用户都必须面对的重要任务。今天,向大家介绍一款开源的文件同步和备份软件 FreeFileSync。以其高效、免费和跨平台特点,成为众多用户在文件管理方面的首选工具。

写在前面

杜老师一直想自组个 NAS 主机,但苦于没有找到合适的系统,纠结于 Unraid 还是飞牛。Unraid 要收费,飞牛虽然免费,但很多功能的实现都是依托开源工具。就比如文件同步的功能,如需实现,还要借助第三方工具的。FreeFileSync 是非常好的选择,不仅开源免费,而且功能强大,可以帮助用户轻松完成各种文件同步任务:

什么是 FreeFileSync

FreeFileSync 是款功能强大的文件夹比较和同步软件,旨在帮助用户高效创建和管理重要文件的备份副本。与传统的备份工具不同,FreeFileSync 并不是简单地复制每一个文件,而是通过智能算法,确定源文件夹和目标文件夹之间差异,仅传输必要的数据。这种方法不仅节省了时间和带宽,还大大提高了同步效率:

开源与跨平台优势

FreeFileSync 是一款开源软件,这意味着它的代码是完全开放的,用户和开发者可以自由查看、修改、分发。开源优势在于,社区的力量可以不断优化和改进软件,使其更稳定和安全。此外,FreeFileSync 支持 Windows、macOS 和 Linux 三大主流的操作系统,无论桌面用户还是服务器管理员,都可以在自己的设备上无缝使用:

功能亮点

智能同步:FreeFileSync 的核心功能是其智能同步机制。它能够快速比较两个文件夹内容,识别出哪些文件被修改、删除、新增。用户可根据自己的需求选择同步模式,如单向同步或双向同步。这种灵活性使得 FreeFileSync 适用各种场景,从简单个人文件备份到复杂的多设备同步。

高效备份:对于备份任务,FreeFileSync 提供了多种选项。用户可以设置定时备份计划,确保重要文件定期自动备份。此外,软件支持增量备份,这意味着它只会备份自上次备份以来发生变化部分,从而节省存储空间。这种高效的备份方式对于那些需要频繁备份大量数据的用户来说非常实用。

易于使用:尽管 FreeFileSync 的功能强大,但它界面设计简洁直观,即使是新手用户也可以轻松上手。软件提供详细的教程和帮助文档,帮助用户快速掌握核心功能。此外,FreeFileSync 还支持拖放操作,用户可通过简单的拖放文件夹来设置同步任务,极大地提高了操作效率。

社区支持:作为开源软件,FreeFileSync 拥有一个活跃的社区。用户可以在社区论坛中寻求帮助、分享经验、参与开发。这种社区支持不仅为用户提供及时的技术支持,还为软件的持续改进提供了动力。许多用户反馈的功能和建议都被纳入后续版本的开发中。

适用场景

FreeFileSync 适用各种文件管理和备份场景。对于个人用户来说,它可用来备份重要文件,例如照片、文档、视频。对于企业用户,FreeFileSync 可帮助他们实现服务器之间的数据同步,确保数据的一致性和安全性。此外,FreeFileSync 还可以用于多设备之间的文件共享,例如在家庭网络中同步不同设备上的文件:

下载地址

杜老师为了方便小伙伴下载,已经打包好 14 版本的软件包。下面是 Windows、macOS 和 Linux 三大主流操作系统安装包:

下载地址

过年之前的预热

2025年1月22日 19:56

新年总要添点小物件给家人,要么是红包,要么是小礼物。年年是如此,今年就记录下。
往年也是送点小礼物,但没有记录下来,今天还是领导在催更,那就不得不记一下。
灌水多了,也是要重写的,所以我肯定认真在记录了,你说,对吗?

鞭炮

今天是小年,家附近的鞭炮声不绝于耳,大概集中在9点左右,不知道是有什么习俗还是就听个响。
反正我是不明白这些地方习俗的,单纯个响。
晚上回家,刚下车,准备跟领导去拿快递,“嘭 嘭 嘭” ,还以为有大烟花看,抬头发现这个烟花没有特效,光有声音,和闪光。这放烟花的人儿,难道是被骗了吗,怎么买了个只有响没有烟花的烟花?

今天的朋友圈里,已经有同事已经在发去烟花批发市场拿货的场景了,哦对了,准确的说是前同事,在珠海。

是我小瞧了珠海的物价,还是小瞧了烟花的身价,现在的烟花已经让我觉得有点高攀不起了。
依稀还记小时候得有几十块钱的烟花,别说他便宜,放起来还真的挺好看。

准备了一些礼物清单(部分)

下面的一些图可供参考,都是我认为的一些送娃娃的/自用的好物推荐。

送给乖宝

年前快递要停了,买了一些容易打发时间的读物与玩具。争取度过一个和谐的春节。
玩具,我感觉可以隔一天给一个新的,保持新鲜感,与对明天的期待,哄小孩也是要技巧的。




现在这个阶段的娃还是能看的进书的,投其所好,还是能静下心看一段时间的,这个阶段培养读书的爱好是很重要的。
当然我家娃还是看视频更多一些,有时候大人忙事情,就给平板娃看看,可能大多数家庭都如此。
在平板上的应用还是以宝宝巴士为主,开会员之后app内就没广告了,互动模块不错,都是益智的小游戏。


老师要求小朋友们制作一些手工活,刚好把灯笼买下来。

招待客人

家里只有咖啡,和一些袋装茶,买了两小袋茶叶招待客人
这边说下为啥要买这家的茶叶,他家的茶基本上还原了霸王茶姬的茶底味道,好物推荐。

pdd治好了我买杯子的恐惧,以前买的杯子都不便宜,有了pdd帮我解决了这个烦恼。


给侄子侄女的小礼物

侄女有点懒,就送不用拼的,前年倒是送过一个若客的拼图。大概我拼了一夜,给她拼好的。
从此之后我记住了,以后不给这个小姑娘买拼图了。人不要跟自己过不去。。。

侄子喜欢自己动手,之前也是送了一个若客的拼图,是个电视机造型的音乐盒,看他父母都挺支持他玩这种性质的玩具。
就再买一份差不多的,可以遥控的赛车拼图。
还有就是刚好前段时间挨骂了,-今日无图 送个玩具他,让他缓缓,打发时间,过个愉快的春节。

虽然也给小辈们红包,但是红包他们父母是肯定不会给他们自己支配的,所以给了也是表示心意,但小孩子感受上来说,肯定是还有一份玩具更懂他们的内心。


领导送我的小礼物

今天刚好就用上了,之前的MBP只有512这次换上1T的,这下我又能存很多拍的相片了。
现在使用Unity3D打包一个工程文件,比之前快了3倍,属实是大大减少了等待时间。

之所以说要换一个mini而不是再换一台MBP的原因也简单,MBP的掉价太快了。18年的MBP现在咸鱼只挂2-3k,要知道当时入手是17k。属实是没有意思,不如mac mini实在,这台小鸡在jd上大概10k不到,加上国家家电补贴也就8k不到的样子。
感谢祖国,感谢党。让我用上了低价高配的生产力工具,2025年一定好好干活。

上午在公司激活的时候,发生了一点小插曲,Mac mini的盒子里面居然一根视频线都不赠送。
只有一个主机加上电源线,这也太省事了吧。还好公司里的配件多,很多小东西到处借一下就把电脑激活了。

再就是通过迁移助手进行迁移,如果你也像我一样要在两台电脑间迁移数据,需要注意用type-c连接两台电脑。
并且在需要传输内容的主机,开启传输助手数据转移选项。

最后,出于领导对本人的硬件赞助,再次释放彩虹屁,祝领导千秋万代,永远十八。
哎,对了,肯定有人要问,为什么没给领导买,她说要年后买,所以没写给领导买礼物也很合理吧!
以上,过年预热,预购的一些小物件。无心上班,快进到春节吧。华仔已经在我脑子里提前解冻了。

探索浏览器性能利器 Speedometer 3.0

2025年1月19日 00:00

在当今数字化时代,浏览器已成为我们日常生活中不可或缺的工具。如何衡量浏览器性能呢?Speedometer 3.0 正为此而生。它是一款专注于测试浏览器响应速度和性能的基准测试工具,通过模拟真实用户操作,帮助我们深入了解浏览器在处理复杂任务时的表现。

Speedometer 3.0 浏览器性能的试金石

Speedometer 3.0 是由 BrowserBench.org 开发的一款浏览器基准测试工具,旨在通过模拟真实 Web 应用场景来评估浏览器的响应能力。它通过一系列的演示 Web 应用程序,模拟用户常见操作行为,例如添加待办事项、编辑文档、浏览网页等等,从而量化浏览器在处理这些任务时的效率:

测试原理、方法

Speedometer 3.0 的测试原理是基于对 Web 应用的响应时间测量。它通过运行一系列预设的 Web 应用场景,记录浏览器在处理这些任务时的响应时间。这些场景涵盖从简单的页面加载到复杂的交互操作,例如在待办事项列表中添加任务、在文本编辑器输入文字、在表格中添加数据等等。通过这些多样化的测试场景,Speedometer 3.0 能够全面评估浏览器在不同负载的性能表现。

在测试过程中,Speedometer 3.0 会自动调整测试任务复杂程度,以确保测试结果准确性和可靠性。它还会根据浏览器性能表现动态调整测试参数,从而避免因浏览器性能差异而导致的测试偏差。这种自适应的测试方法使得 Speedometer 3.0 能够在不同类型的浏览器上获得一致的测试结果,为用户提供公平的比较基准。

如何进行测试

进行测试非常简单。用户只需访问官方网站,然后按照页面上的提示操作即可。在开始测试前,Speedometer 3.0 会自动检查浏览器窗口的大小,并提示用户调整窗口大小以确保测试结果的准确性。测试过程通常需几分钟时间,具体取决于浏览器的性能和测试设备硬件配置。在测试完成后,Speedometer 3.0 会生成一份详细测试报告,用户可将这份报告保存或分享给他人。此外,Speedometer 3.0 还支持跨设备和跨浏览器比较功能,用户可轻松地对比不同浏览器或不同设备上的测试结果,从而找到适合自己的浏览器:

测试结果解读

Speedometer 3.0 的测试结果以分数的形式呈现,分数越高表示浏览器的响应速度越快,性能越好。测试结果不仅包括总分,还会详细列出各个测试场景得分情况。这使得用户可深入了解浏览器在不同任务类型下的表现,如在处理文本编辑任务时是否更高效,或者在加载复杂网页时是否更快。此外,Speedometer 3.0 还提供了一些额外的性能指标,如帧率和延迟时间。帧率反映浏览器在处理动画和交互操作时的流畅度,而延迟时间则表示浏览器在接收到用户操作指令后响应速度。通过这些详细性能指标,用户可以更全面地了解浏览器的性能特点,从而做出更明智的选择:

今日无图

2025年1月20日 00:22

最近闵行不是出了个事,一家三口跳楼了,不知原因,网传是学习问题,小的跳了,大人也跳了。
网传是学习问题,具体原因真实性不可考,没有官方通报,一切以官方通报为准。
就这件事跟我妈在家里聊起。

“妈,我觉得小孩的成绩也不是这么重要”

“是呀,你小时候我们也没逼你读书,你要读不出来也没办法”

“那确实,以后宝读书,如果读不好怎么办,要不继承你的理发店吧,开个百年老店”

“哈哈哈 哈哈哈”

“今天,你s姐(表姐)来店里,跟她wj(老公),店里还有客人,两个就在用普通话骂wjx(他儿子)”

“好好的为什么要骂他 ?”

“考试没考好呗,数学只考了七十几分,以前都考九十几,一百分的,wjx走的时候一句话都没有说”

“哦,为什么没考好?”

“说是这次的考试比较难,是普遍比较难,其他的同学也没有考好,都考的分数不高”

“那这也不能怪wjx,我跟我s姐说说,这样小孩没面子,小孩也有自尊心的”

“我店里,最近来个老两口客人,女儿就是读书成绩太好了,去国外了,不回来了”

“去国外不是挺好的吗 ?”

“好什么,他父母是离异的,她妈把房子卖掉了,换成钱全给她了,他也不回来看看,还给他爸打电话,让他爸把房子也卖掉,学学她妈,给她钱。”

“那他爸是怎么说的 ?”

“他爸说,房子不能卖,百年之后,有房子,可以换点钱,买墓地。你知道她女儿是怎说的吗?”

“怎么说的 ?”

“死了就烧掉,一把灰撒海里就可以了”

“xxxxx”

“他爸疫情的时候去国外她女儿家,他们开烧烤店的,她爸回不来,急死了,呆了三个月,天天在店里忙里忙外,他们小两口出去旅游也不带他去,告诉他爸,在那边(国外)不干活,是没有饭吃的,他爸害怕了,说再也不去国外了。”

“xxxxx”

“他们小两口回国,在市区开了个宾馆,说请老两口吃饭,找了一家快餐店,吃的不像话。结果付账的时候,是老两口请客吃的,女婿当场就说,早知道是你们请客,我就去吃贵的店了。你看国外的人说话一点都不含蓄,要是中国教育的人,怎么会说出这种话。”

“xxxxx”

“读书读的出就读,读不出就承欢膝下,也是好的”

“那确实”

后来我就把网传的这个跳楼事件的消息给我表姐了,期望她能理解分数没有孩子的自尊心重要。
毕竟条条大路通罗马,最后还是要出来当牛做马,只是读书的时间长短而已。

宽带商 DNS 地址整理「仅 IPv4」

2025年1月16日 00:00

DNS 是互联网核心基础设施的关键组成部分,当计算机配置为使用距离最近 DNS 服务器时,可以显著提升域名解析效率,从而有效降低网络延时,优化网络服务响应速度,为用户带来更为流畅高效的网络体验。

中国电信 DNS 服务器地址大全

省市主 DNS备 DNS
安徽电信61.132.163.68202.102.213.68
北京电信219.141.136.10219.141.140.10
重庆电信61.128.192.6861.128.128.68
福建电信218.85.152.99218.85.157.99
甘肃电信202.100.64.6861.178.0.93
广东电信202.96.128.86202.96.128.166
广西电信202.103.225.68202.103.224.68
贵州电信202.98.192.67202.98.198.167
河南电信222.88.88.88222.85.85.85
黑龙江电信 DNS219.147.198.230219.147.198.242
湖北电信202.103.24.68202.103.0.68
湖南电信59.51.78.21159.51.78.210
江苏电信218.2.2.2218.4.4.4
江西电信202.101.224.69202.101.226.68
内蒙古电信 DNS219.148.162.31222.74.39.50
山东电信219.146.1.66219.147.1.66
陕西电信218.30.19.4061.134.1.4
上海电信202.96.209.133116.228.111.118
四川电信61.139.2.69218.6.200.139
天津电信219.150.32.132219.146.0.132
云南电信222.172.200.6861.166.150.123
浙江电信202.101.172.3561.153.177.196

中国联通 DNS 服务器地址大全

省市主 DNS备 DNS
北京联通123.123.123.123123.123.123.124
重庆联通221.5.203.98221.7.92.98
广东联通210.21.196.6221.5.88.88
河北联通202.99.160.68202.99.166.4
河南联通202.102.224.68202.102.227.68
黑龙江联通 DNS202.97.224.69202.97.224.68
吉林联通202.98.0.68202.98.5.68
江苏联通221.6.4.66221.6.4.67
内蒙古联通 DNS202.99.224.68202.99.224.8
山东联通202.102.128.68202.102.152.3
山西联通202.99.192.66202.99.192.68
陕西联通221.11.1.67221.11.1.68
上海联通210.22.70.3210.22.84.3
四川联通119.6.6.6124.161.87.155
天津联通202.99.104.68202.99.96.68
浙江联通221.12.1.227221.12.33.227
辽宁联通202.96.69.38202.96.64.68

中国移动 DNS 服务器地址大全

省市主 DNS备 DNS
安徽移动211.138.180.2211.138.180.3
山东移动218.201.96.130211.137.191.26
山西移动211.138.106.2211.138.106.3
江苏移动221.131.143.69112.4.0.55
浙江移动211.140.13.188211.140.188.188
湖南移动211.142.210.98211.142.210.99
湖北移动211.137.58.20211.137.64.163
江西移动211.141.90.68211.141.90.69
陕西移动211.137.130.3211.137.130.19
四川移动211.137.82.4
重庆移动218.201.4.3218.201.21.132
北京移动221.130.33.52221.130.33.60
天津移动211.137.160.50211.137.160.185
上海移动211.136.112.50211.136.150.66
广东移动211.136.192.6211.136.20.204
广西移动211.138.245.180211.136.17.108
贵州移动211.139.5.29211.139.5.30
福建移动211.138.151.161211.138.156.66
河北移动211.143.60.56211.138.13.66
甘肃移动218.203.160.194218.203.160.195
黑龙江移动 DNS211.137.241.34211.137.241.35
吉林移动211.141.16.99211.141.0.99
辽宁移动211.137.32.178211.140.197.58
云南移动211.139.29.68211.139.29.69
海南移动221.176.88.95211.138.164.6
内蒙古移动 DNS211.138.91.1211.138.91.2
新疆移动218.202.152.130218.202.152.131
西藏移动211.139.73.34211.139.73.35
青海移动211.138.75.123
香港移动203.142.100.18203.142.100.21

中国铁通 DNS 服务器地址大全

省市主 DNS备 DNS
广东铁通61.235.70.252211.98.4.1

中国广电 DNS 服务器地址大全

省市主 DNS备 DNS
广东广电、珠江宽频116.199.0.200116.116.116.116

中国长城宽带 DNS 服务器地址大全

省市主 DNS备 DNS
广东长城宽带211.162.78.1211.162.78.2

被催更

2025年1月16日 18:58

今天被领导催更博客了,线下催更最致命。麻溜的上线开始更新博客。

甲流

先说说最近都发生了什么事,最近身边很多人都得了甲流,好多同事中招了,我爸也是。
在外面戴口罩还是非常有必要的,马上就要过年了,在搞感冒的话,看医生都麻烦。

所以前面几天把我妈跟娃都接到我这边来住,物理隔离,以免被我爸传染了。
在我这边娃还是睡得比较早的,主要还是有人能镇得住她。

小马宝莉

娃最近喜欢小马宝莉,给她买了几百包卡,让她忙一下,消耗一点精力。
没成想,买来的卡好像是盗版的,品质没有正版卡好,价格也便宜了一半。
下次注意,过年重新买一批

过家家

再过三个月就满四岁了,最近这一年,我充分的感受到,小家伙智力在飞速拔高。
请看VCR!

寒托班

学校下周也要开始放寒假了,我们考虑给娃娃报个托班,这边托班收费相对都较低,对上班的人群来说,都比较友好。
还有一点考虑就是娃在家里玩,不如在幼儿园玩,幼儿园伙伴还多一些,幼儿园也不像小学管理严格,去玩几个小时就能接回来。

二手群

前段时间年后抽奖,虽然我啥都没抽中,只有一百JD卡。但是我在公司的二手群里收了一个牙刷。

公司群里200收的,这比任何活动都划算

领导抽中了一个取暖器,不理解这俩好像差了一百,但都是一个档位的奖品。
她说要送给她奶奶,老人家都快一百岁了,是家里的老寿星。
我发现南方这边高寿的老人家好多,至少比我家乡那边要多一些,就我所见。

公司二手群的砍价,基本都可以用原价的2/3拿到,大概是急于在年前出掉。
最近再蹲一蹲,看看群里能不能再收到一个牙刷给领导用。

像素艺术家

最近没啥时候做自己的项目,公司太忙了,回家就跟宝玩了,最近也就抽时间重构与优化了下代码。
最新的版本没上传,基本上已经挺好用的了,后面准备再用AI生成一版UI,做个翻皮。
最后上个微信小程序,或者APP Store就齐活儿了。

以上,记录最近发生的一些事,报告完毕。

如何在不同操作系统上安装和使用 FFmpeg?macOS、Windows、Ubuntu、CentOS安装ffmpeg教程

2025年1月16日 16:14
这篇文章介绍了如何在不同操作系统上安装和使用 FFmpeg。文章详细说明了在 macOS、Windows、Ubuntu 和 CentOS 上安装 FFmpeg 的步骤,包括使用 Homebrew、APT、YUM 或手动下载的方式。每个操作系统的安装过程都配有具体命令,并提供了验证安装是否成功的方法。此外,文章还介绍了 FFmpeg 的基本使用方法,如转换视频格式和提取音频,为用户提供了简单易懂的指南,帮助读者顺利安装并使用 FFmpeg。

如何使用ffmpeg处理ProRes视频进行视频旋转?ProRes视频旋转教程

2025年1月16日 15:48
这篇文章介绍了如何使用FFmpeg处理ProRes视频进行旋转。文章首先分析了ProRes和H.264的编码差异,解释了为什么ProRes视频在旋转时需要重新编码,而H.264则通过修改元数据就能实现旋转。然后,作者提供了FFmpeg的命令行操作方法,通过指定旋转参数和输出格式,来实现ProRes视频的旋转,同时保持视频质量。文章还解答了常见问题,如旋转后文件大小变化,并提醒用户如果需要固定码率或编码格式,需额外设置参数。

AfterEffect导出的颜色偏灰偏暗解决方法,渲染的视频播放时颜色不正确

2025年1月15日 15:08
这篇文章介绍了在After Effects中导出视频时颜色偏灰偏暗的问题,并提供了解决方案。作者指出问题可能源于色彩管理设置不当,并建议在项目中依次选择“编辑 > 项目设置 > 颜色设置”,将颜色空间调整为适合的选项,如Rec.709,并将位深度设置为8位。通过这些设置调整后,导出的视频颜色可以被播放器正确识别,从而避免颜色失真问题。

Follow 开启个性化信息汇聚的新时代

2025年1月13日 00:00

在信息爆炸的当下,我们每天都会被海量的内容包围,从新闻资讯到娱乐八卦,从专业文章到生活琐事,各种信息纷至沓来。如何在繁杂信息海洋中精准地筛选出自己真正感兴趣的内容,Follow 或许就是解决这一问题的神器。

打造专属信息空间

Follow 首先吸引杜老师的是它那定制化信息中心的理念。在这个平台上,用户可订阅海量的资讯源和精选列表。无论是热门的新闻频道,还是小众兴趣部落,只要是您感兴趣的,都可轻松订阅。更重要是,Follow 允许用户对这些订阅内容进行深度定制。您可以根据自己的喜好,将不同来源的信息进行分类整理,创建出一个个个性化的信息板块。比如,您可将所有关于科技前沿的资讯归为一类,将体育赛事的最新动态单独列出,甚至还可为自己的偶像创建一个专属的信息流,实时追踪他们最新动态。这样一来,您就可以在一个小小的收件箱里,轻松的掌握所有对您来说真正重要的信息,再也不用在多个网站间来回切换,浪费宝贵时间:

多媒体内容全覆盖

在这个多媒体盛行时代,信息的表现形式早已不再局限于文字。图片、视频、音频等元素的加入,让内容变得更丰富多彩。Follow 深知这一点,因此提供动态内容支持。无论是长篇的文章、精美的图片集,还是精彩视频、动听音频,Follow 都能够完美呈现。当您在浏览信息时,无需担心因为内容形式的差异而出现兼容问题。无论是想要欣赏一段优美的音乐,还是观看一场精彩演讲,Follow 都能让您流畅地享受其中。这种全方位的内容支持,满足了用户在不同场景下的多元需求,无论工作学习,还是休闲娱乐,都可以找到适合自己的内容形式:

助力提升浏览体验

科技飞速发展,让人工智能逐渐融入到我们的日常生活中。Follow 将 AI 技术巧妙地融入到了平台的各项功能中,为用户带来了 AI 尽在指尖的便捷体验。首先,AI 驱动的翻译功能,打破了语言的障碍。在这个全球化时代,许多优质资讯可能因为语言不通而被我们错过。而 Follow 的 AI 翻译,能够快速准确地将不同语言内容翻译成用户熟悉的语言,让我们能够轻松阅读来自世界各地的信息。其次,AI 摘要功能则为用户节省了大量时间。面对篇幅较长文章,AI 能够精准提炼出核心要点,让用户在短时间内快速了解文章主旨,帮助我们更高效地筛选有价值的内容。此外,还有诸如智能推荐等 AI 功能,根据用户的浏览历史和兴趣偏好,为用户推荐可能感兴趣的新内容,不断拓展我们信息视野:

赋能创作者与用户

在 Follow 的世界里,还有一个独特的存在 Power。这是一种全新的所有权经济模式,它赋予了用户和创作者更多的权力和价值。用户可以通过 Power 直接向自己喜欢的创作者打赏,表达对他们作品支持和喜爱。这种即时打赏机制,不仅能够激励创作者持续产出优质的内容,还可以让用户与创作者之间建立起更加紧密的联系。同时,创作者也能通过自己的内容获得相应的 Power 收益,实现内容商业价值转化。更重要的,Power 还能够让用户在自己的作品中解锁更多价值。当您在 Follow 上分享自己的见解、创作自己的内容时,也有可能获得他人的打赏和支持,让您的创意和智慧得到应有回报。这种经济模式创新,真正实现了内容的价值回归,让每一个参与者都能在这个生态中找到自己的位置,共同推动内容创作繁荣发展:

超越构建社区生态

Follow 不仅仅是一个简单的应用,它更是一个充满活力的社区。在这里用户不再是孤立的信息接收者,而是能积极参与到社区的互动中。您可以与其他用户交流心得、分享观点,甚至能参与到内容的共创中。Follow 鼓励用户之间的开放合作,共同打造一个更加丰富多元信息生态。社区中的每一个成员都可以为内容的质量和多样性贡献力量,通过大家共同努力,使得 Follow 成为一个真正属于用户自己的信息家园。在这里您不仅能够获取信息,还可以结交志同道合的朋友,拓展自己社交圈子,共同探索未知世界:

杜老师说订阅地址

如果您也有 Follow 账户,欢迎访问杜老师的订阅地址,可以第一时间获取本站博文更新。可惜无法同步评论功能,所以需要交流的话,还需访问原文地址,在评论区留言:

经常有小伙伴因侧边栏的随机图,谣传说杜老师喜欢美女、黑丝啥的。这里严肃声明杜老师从来不看侧边栏,这里分享一个图集,侧边栏仅随机一张,哪里够看:

Cloudflare/Vercel项目推荐(3)

2025年1月14日 00:31
前面发布了关于 Cloudflare 和 Vercel 项目推荐的文章,收到了不少好评,许多小伙伴因此找到了实用的工具。因此,我决定将这一系列内容长期更新。考虑到 Cloudflare 和 Vercel 等 Serverless 平台有许多通用之处,这次将二者的推荐内容合并在一起,希望对大家有所帮助!

如何提取英雄联盟资源文件:获取lol客户端图片、技能图标、皮肤原画

2025年1月13日 16:03
这篇文章介绍了如何提取《英雄联盟》客户端中的资源文件,包括技能图标、皮肤原画及英雄模型等内容。首先安装Obsidian并关联游戏文件夹,然后通过搜索关键词查找所需图标或音频资源。文章还分享了提取皮肤和导出模型的方法,包括选择目标皮肤数据、使用Lol2dae工具转换文件格式、加载纹理等详细步骤,帮助用户将游戏模型导入3D软件进行进一步处理。

std::thread()使用lambda表达式调用函数导致的离奇bug

2025年1月13日 10:44

最近项目升级开发环境,从visual stdio 2017升级到visual stdio 2022,出现奇怪的现象:同样的代码,2017编译出来风平浪静,2022编译出来一运行就是段错误。

我们的函数大概长这样:

class a {
    public:
    void DoThings(std::string str1, std::string str2, int idx){...};
    void Do0(){...};
    void OnInit() {
        std::string str1 = "FileName.txt";
        std::string str2 = "X:\\Dest\\Path\";
        int i = 0;
        std::thread thd = std::thread([&]{DoThings(str1, str2, i);});
        thd.detach();
    };
};

从debug表现来看,是调用线程函数的时候,传入了典型的野指针。但是啊,三个参数,两个是std::string,另外一个是int啊!string有问题可以理解,可int怎么还能错呢?
把参数改成传入前new,调用后delete,自然是解决了。但心里各种不爽,new一个int,脸往哪搁啊!
好在问题定位的范围比较小,只是起线程调用函数这一小块地方。

2017只支持到C++ 11,而2022是C++ 14,看来问题出在这里了。
去找lambda的说明:

For the entities that are captured by reference (with the capture-default [&] or when using the character &, e.g. [&a, &b, &c]), it is unspecified if additional data members are declared in the closure type, but any such additional members must satisfy.

人家说了,你用lambda进行引用捕获的时候,必须保证捕获的成员是安全的。
看到这里差不多明白了,是[&]的锅。[&]的意思是所有参数按照引用的方式捕获。而你的三个变量都是临时变量,传个毛线的引用啊!
如果不安全会怎么样?这玩意儿叫“未定义的行为”,爱咋样咋样。也就是说,我们的写法触发了这种未定义的右值引用行为,人家可以给你实装成保留地址,也可以转换成另外的指针进行实装。故而2017和2022都没错,错的是写代码的人。
继续写个例子验证一下:

#include "stdafx.h"
#include <iostream>
#include <thread>
#include <mutex>
using namespace std;

std::mutex g_mtx;

class CTester {
public:
    CTester() {
    };

    virtual ~CTester() {
    };
    void Run() {
        for (int i = 100, j = 1, n = 0; n < 3; i += 100, j += 1, n++) {
            std::thread thd = std::thread([&#038;] { Show(i, j, "std::thread([&#038;] { Show(i, j); }): "); });
            thd.detach();
            thd = std::thread([&#038;, i, j] { Show(i, j, "std::thread([&#038;, i, j] { Show(i, j); }): "); });
            thd.detach();
            thd = std::thread([&#038;, j] { Show(i, j, "std::thread([&#038;, j] { Show(i, j); }): "); });
            thd.detach();
            thd = std::thread([=] { Show(i, j, "std::thread([=] { Show(i, j); }): "); });
            thd.detach();
        }
    }
    void Show(int x, int y, const char* pri) {
        std::lock_guard< std::mutex>lock(g_mtx);
        char szOut[128] = { 0 };
        sprintf(szOut, "pri = %s x=%d y=%d\n", pri, x, y);
        std::cout << szOut;
    }
};

int main()
{
    std::cout << "Test Start" << '\n';
    CTester t;
    t.Run();
    _sleep(500);
    std::cout << "Test End" << '\n';
    int c = getchar();
    return 0;
}

2017的运行结果:
Test Start
pri = std::thread([&] { Show(i, j); }): x=100 y=1
pri = std::thread([&, i, j] { Show(i, j); }): x=100 y=1
pri = std::thread([&, j] { Show(i, j); }): x=100 y=1
pri = std::thread([=] { Show(i, j); }): x=100 y=1
pri = std::thread([&] { Show(i, j); }): x=200 y=2
pri = std::thread([&, i, j] { Show(i, j); }): x=200 y=2
pri = std::thread([&, j] { Show(i, j); }): x=200 y=2
pri = std::thread([=] { Show(i, j); }): x=200 y=2
pri = std::thread([&] { Show(i, j); }): x=300 y=3
pri = std::thread([&, i, j] { Show(i, j); }): x=300 y=3
pri = std::thread([&, j] { Show(i, j); }): x=300 y=3
pri = std::thread([=] { Show(i, j); }): x=300 y=3
Test End

2022的运行结果:
Test Start
pri = std::thread([&] { Show(i, j); }): x=7599872 y=1992189472
pri = std::thread([=] { Show(i, j); }): x=100 y=1
pri = std::thread([&] { Show(i, j); }): x=7599872 y=1992189472
pri = std::thread([&, i, j] { Show(i, j); }): x=100 y=1
pri = std::thread([&, j] { Show(i, j); }): x=7599872 y=1
pri = std::thread([&, i, j] { Show(i, j); }): x=200 y=2
pri = std::thread([&, j] { Show(i, j); }): x=7599872 y=2
pri = std::thread([=] { Show(i, j); }): x=200 y=2
pri = std::thread([&] { Show(i, j); }): x=7599872 y=1992189472
pri = std::thread([&, j] { Show(i, j); }): x=7599872 y=3
pri = std::thread([&, i, j] { Show(i, j); }): x=300 y=3
pri = std::thread([=] { Show(i, j); }): x=300 y=3
Test End

很明显,只要敢给2022(C++ 14)传引用,它就敢给你乱引……

这部分代码是从厂商的例子里抄的。人家写的是

std::thread([&]{Do0();});

只是隐式地捕获一个this!当然写[&]就行了。
友军抄的时候根本不知道方括号是干什么的,只改了后面,才造成了这样的后果。

那么怎么解决呢?写[=]或者[&, str1, str2, i]吗?并不是。
lambda叫啥?“匿名函数”啊!你都要调用真正的函数了,就别整匿名函数那一套了。
正确的std::thread调用类函数的时候应该长这样:

std::thread thrd = std::thread(&a::DoThings, this, str1, str2, i);
thrd.detach();

我是真心的不喜欢lambda。


  • (1):农历每年冬至所在的月固定为十一月。如果两个冬至间有13次朔望,则该年产生闰月。13个月中,第一个没有二十四节气里的偶数节气的月份就是闰月。因为十一月是起调点,所以农历十二月和正月是不会出现闰月的,正月初一和第一个节气春分受的影响也很小。我数学不好,但查表得到的结果,从1950年到2069的120年间,闰年就是双春,双春就是闰年,一一对应,无一例外。闰月是典型的用太阳历调整月历的规则,所以农历是阴阳历而不是纯阴(月)历。
  • (2):白名单上的微软网址是升级补丁用的
  • (3):统计表里记作4部是因为有同名,公式如何修改还没想好

记录一次公司年会

2025年1月11日 13:25

记录下今年公司年会,本来这种事我一般都不记录的,原因是领导当选本此年会主持人之一,这就不得不记录下了。
距离上次公司办线下年会不知道过了几年了,大约是三年还是几年,已经记不清了。

大约一个多月前,领导跟我说想参选年会主持人,当时我是这样说的,
“公司也不是大学,你看,都没人愿意去参加”
“我有一个当主持人的心愿…”
既然是这样,那就参加把,结果当然是顺利的通过了主持人的筛选。
我是做不到,在千人舞台上自如的讲话的,这确实要点天赋。
台上一分钟,台下是每天晚上还要背稿,这段时间着实辛苦了。

在追逐自己的热爱事物上,领导跟我都保持一致,都会去维持自己的爱好,并愿意在此之上花费时间与金钱。
并不一定是要建立在非要获得回报上面,更重要的大家常说的情绪价值。
人生短短数十载,不要总是说为了这儿,为了那。
却忘记了,人总归也要为了自己,满足自己的情绪,这同样重要。

图片用像素艺术家进行像素化了

以上,记录2025公司年会,愿大家百忙中能抽空做自己爱的事,人生是游乐场,愿你能玩的开心快乐。

年前好忙呀

2025年1月6日 19:56

照理来说我年前不应该那么忙的,今天单位又分给我一个小活儿,大概要搞到过年了。
导致我又要拖更了,真成了周更博主,属实无奈。

指令型生物

我这人有个毛病,只要一忙起来,就顾前不顾后,在家里也经常挨批评。
活干到一半跑去写代码了,或者是忘记干家务了,当然对于这种批评,必须是保证整改,当然我也为自己找了个推脱接口。
譬如,作为一个男人,我必须是比女人更了解男人。我常跟领导说男人是指令型生物,收到的安排期望是明确的,具体的。这样能保证结果的正确性,如果这个男人没有达到你的预期,不一定是男人的错,可能是调用了错误的指令集。

配眼镜

要说上海配眼镜哪里划算,只能是上海火车站了,没有之一。我在这边配过不下4副眼镜了,平均下来都是150一副。
好了,下图的四个人都配了眼镜,共花费910,我是换了一副镜片,外加配了一副眼镜。

小闺蜜请客吃的俄罗斯餐厅,味道还行,只是排队挺久的,不过大周末的也属于正常。
说起小闺蜜,我又要批评她了,他看中一副眼镜,然后老板问:
“你以前肯定也在其他的地方配过,你以前配的多少钱,我再给你便宜点”
“四百多”
“好,那就给你四百块!”
我此刻只想把她的嘴堵上,最后领导也只是还价了20,拿下价值380的眼镜。

夜市

最近刚开业,持续到15号好像,现在夜市都是同质化比较严重的,卖的东西跟实体店价格没什么两样。
以前说吃地摊小店是便宜,现在可不能够这样说了,都一样价。味道也差不多,夜市正在逐渐失去他的原本色彩。

家附近办夜市,也是从幼儿园群里看到的消息,我们正在吃夜宵之际,同班的小伙伴也过来玩了。
比起我家宝宝,他们家的娃确实是有点内向型。

所谓结对编程模式

这大概是一个人看动画片,另外一个人可以进行工作的最好模式。并且时不时还能帮你改改代码,制造点bug。
让精神时刻保持专注。最近娃在迷小马宝莉,投其所好我也买了几个公仔。

志愿者

幼儿园有个志愿者机制,大概就是每周轮两位家长去站岗,这周轮到我了,每天早上大概要去站四十多分钟。

也不是很无聊,娃看到我表示很惊讶。去这边站岗过才知道,原来小朋友可以带玩具去幼儿园,之前没注意。
刚好新买的碧琪公仔到了,明天早上带过去给宝一个惊喜,嘿嘿。

门口站岗的有个保安大哥特别厉害,能叫出大部分娃的名字!真人才在哪儿都能发光发热!

无奖问答

你知道这个公仔叫什么吗 ?

公仔寄过来,脸破了个洞,领导手巧给缝好了,yyds !

以上,时间像海绵中的水确实不够用!希望年后能恢复我咸鱼生活。

Office 多版本产品激活密钥分享

2025年1月4日 00:00

之前有小伙伴问到是否有 Office 产品的激活密钥,杜老师在微软的官网上好顿搜索,终于是找到了!目前 Office 有两大版本,一个是年度版「如 2024」一个是订阅版「即 365」订阅版不可以破解使用,文中均为年度版的激活密钥。

GVLK for Office LTSC 2024

产品GVLK
Office LTSC 专业增强版 2024XJ2XN-FW8RK-P4HMP-DKDBV-GCVGB
Office LTSC 标准版 2024V28N4-JG22K-W66P8-VTMGK-H6HGR
Project Professional 2024FQQ23-N4YCY-73HQ3-FM9WC-76HF4
Project Standard 2024PD3TT-NTHQQ-VC7CY-MFXK3-G87F8
Visio LTSC Professional 2024B7TN8-FJ8V3-7QYCP-HQPMV-YY89G
Visio LTSC Standard 2024JMMVY-XFNQC-KK4HK-9H7R3-WQQTV
Access LTSC 202482FTR-NCHR7-W3944-MGRHM-JMCWD
Excel LTSC 2024F4DYN-89BP2-WQTWJ-GR8YC-CKGJG
Outlook LTSC 2024D2F8D-N3Q3B-J28PV-X27HD-RJWB9
PowerPoint LTSC 2024CW94N-K6GJH-9CTXY-MG2VC-FYCWP
Skype for Business LTSC 20244NKHF-9HBQF-Q3B6C-7YV34-F64P3
Word LTSC 2024MQ84N-7VYDM-FXV7C-6K7CC-VFW9J

GVLK for Office LTSC 2021

产品GVLK
Office LTSC Professional Plus 2021FXYTK-NJJ8C-GB6DW-3DYQT-6F7TH
Office LTSC Standard 2021KDX7X-BNVR8-TXXGX-4Q7Y8-78VT3
Project Professional 2021FTNWT-C6WBT-8HMGF-K9PRX-QV9H8
Project Standard 2021J2JDC-NJCYY-9RGQ4-YXWMH-T3D4T
Visio LTSC Professional 2021KNH8D-FGHT4-T8RK3-CTDYJ-K2HT4
Visio LTSC Standard 2021MJVNY-BYWPY-CWV6J-2RKRT-4M8QG
Access LTSC 2021WM8YG-YNGDD-4JHDC-PG3F4-FC4T4
Excel LTSC 2021NWG3X-87C9K-TC7YY-BC2G7-G6RVC
Outlook LTSC 2021C9FM6-3N72F-HFJXB-TM3V9-T86R9
PowerPoint LTSC 2021TY7XF-NFRBR-KJ44C-G83KF-GX27K
Publisher LTSC 20212MW9D-N4BXM-9VBPG-Q7W6M-KFBGQ
Skype for Business LTSC 2021HWCXN-K3WBT-WJBKY-R8BD9-XK29P
Word LTSC 2021TN8H9-M34D3-Y64V9-TR72V-X79KV

Office 2019 的 GVLK

产品GVLK
Office 专业增强版 2019NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP
2019 Office Standard6NWWJ-YQWMR-QKGCB-6TMB3-9D9HK
Project Professional 2019B4NPR-3FKK7-T2MBV-FRQ4W-PKD2B
2019 Project StandardC4F7P-NCP8C-6CQPT-MQHV9-JXD2M
2019 Visio Professional9BGNQ-K37YR-RQHF2-38RQ3-7VCBB
2019 Visio Standard7TQNQ-K3YQQ-3PFH7-CCPPM-X4VQ2
Access 20199N9PT-27V4Y-VJ2PD-YXFMF-YTFQT
Excel 2019TMJWT-YYNMB-3BKTF-644FC-RVXBD
Outlook 20197HD7K-N4PVK-BHBCQ-YWQRW-XW4VK
PowerPoint 2019RRNCX-C64HY-W2MM7-MCH9G-TJHMQ
Publisher 2019G2KWX-3NW6P-PY93R-JXK2T-C9Y9V
Skype for Business 2019NCJ33-JHBBY-HTK98-MYCV8-HMKHJ
Word 2019PBX3G-NWMT6-Q7XBW-PYJGG-WXD33

Office 2016 的 GVLK

产品GVLK
Office Professional Plus 2016XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99
Office Standard 2016JNRGM-WHDWX-FJJG3-K47QV-DRTFM
Project Professional 2016YG9NW-3K39V-2T3HJ-93F3Q-G83KT
Project Standard 2016GNFHQ-F6YQM-KQDGJ-327XX-KQBVC
Visio Professional 2016PD3PC-RHNGV-FXJ29-8JK7D-RJRJK
Visio Standard 20167WHWN-4T7MP-G96JF-G33KR-W8GF4
Access 2016GNH9Y-D2J4T-FJHGG-QRVH7-QPFDW
Excel 20169C2PK-NWTVB-JMPW8-BFT28-7FTBF
OneNote 2016DR92N-9HTF2-97XKM-XW2WJ-XW3J6
Outlook 2016R69KK-NTPKF-7M3Q4-QYBHW-6MT9B
PowerPoint 2016J7MQP-HNJ4Y-WJ7YM-PFYGF-BY6C6
Publisher 2016F47MM-N3XJP-TQXJ9-BP99D-8837K
Skype for Business 2016869NQ-FJ69K-466HW-QYCP2-DDBV6
Word 2016WXY84-JN2Q9-RBCCQ-3Q3J3-3PFJ6

2025:不怕慢,就怕站

2025年1月1日 18:14

筷子小手的一年

一个春秋溘然长逝,长辈身上的小病小痛随着我们而立之后逐渐显现,小辈子的崽崽转眼也成了小学生。世界上哪有什么公平可言?18岁的时候以为高考最公平,而今只觉得世上所有都是无法端平的水,唯有时间像漫长的雨季把雨水公平地倾泻在岁月之中,笼罩着人一生的潮湿。
这是筷子小手的第6年,一共更新了238篇原创旅行笔记。

今年是龙年,我们的第一篇文章从泸县的南宋石刻开始,春节假期从重庆出发武汉、走南昌、福建、柳州、重庆环线;三月底李不乖开始更新吉隆坡、马六甲、关丹、怡保等马来西亚风土人情;八九月重庆高温更新戏水攻略;十月国庆假期再次从重庆出发回武汉、到湘阴、长沙和湘西、重庆环线;新作者铁锣汉热情投稿开启银龄见闻;四季度李不乖开发新地图婆罗洲岛的风土人情。

这就是我们的一年。

世界的一年

战火纷飞的巴勒斯坦,飞扬跋扈的以色列,不知所措的乌克兰,焦头烂额的俄罗斯。光荣回归的特朗普,背水一战的马斯克。遮遮掩掩的美债规模,踉踉跄跄的美股指数,登堂入室的加密货币,大放异彩的英伟达。欲拒还迎的美联储,暗流涌动的国家博弈。

我的感受

今年的文章总量有所降低,一方面是因为要李不乖需要写论文,便会放慢筷子小手的更新进度;另一方面是停更的某段时间实在是心力交瘁,总是不由得叹气。

不过幸运的是,今年的阅读量比前些年要令人欣慰不少,2019年才开始做公众号时,阅读量能到三位数我们都觉得不错了;现在偶尔还能有一些惊喜已觉甚好。作为生活中恓恓惶惶的普通人,筷子小手在工作和学习上的糟心事不比普通人更少,有时候恨自己如一孤舟,在尘世浪花间翻滚逐流找不到出口。只是我们都比自己想象中更有韧性,原来以为过不去的事情也就过去了,有文字和旅行相伴,我也许才不会被彻底毁掉。

我真的会认真回复每条留言和私信,来自天涯海角的回复就像是无线电一样,发表就是CQCQ,回复就是信号59+。看到某篇文章被大家默默收藏时,这意味着文章对你有点儿用,内心有一些窃喜;看到某篇文章的转发量激增的时候,我知道有人对我的观点感兴趣,这比我在期刊上发表论文被引用更加直观,也更能激励创作。
总是告诉自己不要过分关注阅读量,追求阅读量只会让写作这件事情动作变质,把单纯热爱情感输出的感性的我变成追逐社会热点、制造矛盾对立的工具人。慢就是快,有价值的原创内容在互联网上的反射周期很长,需要慢慢发酵。外婆说:不怕慢,就怕站,只要步子不停,慢点也没关系。

2024由于生活重心的变化,摄入的知识明显多过过去十年。我很喜欢这种每天都被知识吸收得饱饱的感觉,不知道粉丝朋友们在李不乖的文字中是否有感觉到这种变化?

我不知道什么时候才不会有“熬”的感觉,只是常常觉得人生悲苦无法自持。然而和以往的自己不一样的是,我学会了跳过不去想。鼓励自己强撑是没有意义的,又不是撑过三五年就能顺其自然开花结果的事儿,只是在无望之中尝过了酸甜苦辣,不想在退休之际自嘲“不是日子不好过,只是我不耐烦活了。”

相较于父母辈和再上一辈老人们经历的物质匮乏年代,我们这一代人因为物质的丰裕而有了更多生存的尊严,但也正因为此我们的心理资本增多了,心理阈值也更高了。我常常庆幸自己足够开放,总是尊重理解不同人的不同选择的不同人生,从不觉得某一代人过得特别轻松,因为我总是能够对别人的痛楚和不易感同身受,只觉得每一个个体的成长都极其艰难。既然已经如此敏感,就休要频繁地自我折磨,作为与生活交过手的真正的普通人,没有一个不是在漫长的日子里竭尽全力地去活下去。

“等你自己过日子就知道了,家家有本难念的经。”

展望2025

我们每年都展望着早点退休,每年又都只能期盼着下一年,尤其是今年延迟退休政策出来,我们90后是真赶上了。但不管怎么样,25年还是有点儿小希望的。

一是继续坚持写作。一年的悲喜记录就是一年的成长轨迹,希望读者朋友们可以继续点赞、收藏、转发、评论。

二是有舍有得,只做重要的事情。不要让琐碎的事情消耗自己的心力,专注学业、写作、家人、内心、财务。

三是要学会勇敢。勇敢就是知行合一,敢想更敢做,在这点上我们都缺点儿冒险精神。给自己加个油,看准机会了勇敢一点🤏。

历年回顾

2024回忆录

2024年12月31日 17:04

我这只能算2024回忆录,对照苹果相册的时间轴,分别在每个季节选取几个代表性的图片,代表这一年令我印象深刻的一些趣事。

上个春节采购很晚才去,今年提前去了。

开春与我大姑姑,我妈一起去了趟西湖。那时候宝宝的头发还是短发。

带娃去西湖,跟长辈出行各种不适,以后估计不会在一起出游了。

公司楼下的樱花开了

春天的时候宝宝还有一些坏习惯没改回来,当时专门定制了个视频,用来教育她。成果斐然,有用!

宝宝第一次自己独立购物,跟阿姨对话,购买商品。

一看就是奥特曼老粉了

记得那天是周日,因为买了奥特曼玩具开心了一天,小孩子这个阶段的情绪价值很好满足。

公司组织过一次巅峰垂马,就是爬楼梯比赛类似,每一层都有活动。虽然我跑的快,但是活动环节掉链子了。

第一次买磁吸玩具,宝宝玩的还是很开心的,后来又复购了好几次。

我发现我家娃在和其他小朋友交流的时候容易生气,观察了下其他的宝宝,好像这个阶段的孩子都如此敏感。

截至到秋天,宝宝已经完全自己上厕所了,家长可帮可不帮了。我卖掉了最后四包没有开封的尿不湿。

第一次在外面被很凶的小男孩恐吓,原因是宝宝笑话小男孩不穿上衣,小男孩凶得很,还好我在边上,也是个家里的小霸王,看我在不敢动手。这次之后宝宝似乎懂什么话不能乱说了。果然自己人教不会,事教人一教就会。

第一次尝试探索了iPhone的相机拍照,启用了延时曝光,获得了一张比较不错的图。

第一次倾情演唱表演,能完整的唱好几首儿歌,还能背诵好几首古诗,老怀欣慰。

对于拼图这件事上来说,宝宝绝对是有天分的,能独立完成108块的拼图游戏。

今年夏天第一次游泳,稍微玩了下,宝宝表示长大了以后才能玩大大的水,让我以后别带她去了。

没多久,我就带她去浴场游乐泳池玩,结果顺着滑滑梯快速滑下去,钻到水里去了,留下了心理阴影,估计以后都不会去了。

今年去了一次武汉,虽然我是湖北人,但也就去过几次武汉,武汉很大,繁荣的地区呈现点状分布,另外东湖景点也比较好玩。

今年去了两次苏州,苏州的景点比较集中,也逛了个七七八八

今年一共修过两次车,都在车检之后,合计四千余元。车检?车检到底在检什么?

今年去了嵊泗岛团建,风浪大提前回来了。

今天的迎新活动,可惜上班未能参与,应该会很有趣。

今年也留下了很多的游记,纪念出游的快乐时光。

今年微信公众号发表了不到百篇左右的文章,明年再接再厉,争取多写一些干货。

更新:

今天下午发文的时候,领导在项目组交换礼物抽中了一个小耳机,虽然不贵,但好在给2024画上了一个美好的句号。

此刻,窗外已经听到有人放烟花的声音了,前些年还热衷出去跨年,每每到年末这一天,地铁公交都会延迟关闭,此刻外滩应该人山人海,想起来一个笑话,大意是:上海的同志们在这一天应该把外滩留给外地来玩的朋友,不然会被开除户籍的。2024.12.31 21:30

以上 2024回忆录。

感冒了

2024年12月30日 10:45

上周宝宝感冒了,这周基本上好的差不多了,只是还在流鼻涕偶尔还咳嗽,我家娃还是很坚强的,虽然请假一周没去上学,但在家也是生龙活虎的。除了晚上睡觉就咳嗽这一点之外,其他都还不错。

从前两天开始我有点鼻塞,直到今天我才意识到,这大抵是感冒导致的。这两天休息的都很早,只因为大脑告诉我要休息了,即将关机… 这真的是糟糕的体验。好在只是个小小感冒,并未有什么病来如山倒,白天不影响正常的生活。

周日老丈人过来送东西,周六我们和丈母娘去山姆买的一堆东西,有些甜点忘记分就回家。刚好老丈人就给送来了,还好两家离得不远开车也就四十多分钟。

顺道,带我老丈人去我妈理发店,剪了个头发,我则帮忙染了个黑头。去的时候好好的,回家的时候电瓶车没电了,我俩走回去。周日天气很好,边走走聊聊天,还是很让人舒服的。白天我都一度忘记我感冒了。

每次去他家都会烧一大桌子菜,领导也是得到了厨艺真传,果然是传女不传男,领导的哥哥没遗传到。当然我家是没有厨艺传承,父母烧菜都在水准线之下,当然他们也会互相比较。当他们问起,让我评价两个人谁烧饭好吃,只能说这很难评。

下午宝宝跟领导在家玩一下午,我三点多才回,宝宝真不愧是“熬拜”,这是爷爷取得外号,熬夜小能手,不爱睡觉。
一整天都没停下来,各种玩。值得表扬的是中午饭吃的很不错,晚饭也吃的很不错。

下午五点我大概是感冒导致的头晕,跟宝请了一会儿假,就睡了一个小时多。宝宝全程都没吵我,果然是长大了,现在吃东西也会主动的分享,我不爱吃水果,晚上她自己去剥了小橘子还喂给我吃,哎,好感动 😪,留下了感动的鼻涕。

感冒也不全是坏处,譬如我会11点上床,用手机码码字,记录下生活,再回忆下这两天的得失。

后记

冬季了,我给博客写了个下雪效果,如果没出现大概是缓存问题。
如你也想要这个效果,可以参考下面脚本,只需要导入js就可以,url可以替换为你喜欢的雪花图。
支持雪花数量,风力模拟,雪花大小,雪花图等控制。

1
https://vrast.cn/js/snow.js

Windows 系统多版本产品激活密钥分享

2024年12月29日 00:00

有小伙伴问到关于 Windows 的产品激活密钥,杜老师收集了一些。这里分享有关桌面及服务器各个版本激活密钥,需要配合 KMS 服务器使用,如不知道如何操作,可在评论区中留言!

Windows Server LTSC 版

Windows Server 2025 多版本产品密钥如下:

操作系统版本KMS 客户端安装密钥
Windows Server 2025 StandardTVRH6-WHNXV-R9WG3-9XRFY-MY832
Windows Server 2025 DatacenterD764K-2NDRG-47T6Q-P8T8W-YP6DF
Windows Server 2025 Datacenter:Azure EditionXGN3F-F394H-FD2MY-PP6FD-8MCRC

Windows Server 2022 多版本产品密钥如下:

操作系统版本KMS 客户端安装密钥
Windows Server 2022 StandardVDYBN-27WPP-V4HQT-9VMD4-VMK7H
Windows Server 2022 DatacenterWX4NM-KYWYW-QJJR4-XV3QB-6VM33
Windows Server 2022 Datacenter: Azure EditionNTBV8-9K7Q8-V27C6-M2BTV-KHMXV

Windows Server 2019 多版本产品密钥如下:

操作系统版本KMS 客户端安装密钥
Windows Server 2019 StandardN69G4-B89J2-4G8F4-WWYCC-J464C
Windows Server 2019 DatacenterWMDGN-G9PQG-XVVXX-R3X43-63DFG
Windows Server 2019 EssentialsWVDHN-86M7X-466P6-VHXV7-YY726

Windows Server 2016 多版本产品密钥如下:

操作系统版本KMS 客户端安装密钥
Windows Server 2016 StandardWC2BQ-8NRM3-FDDYY-2BFGV-KHKQY
Windows Server 2016 DatacenterCB7KF-BWN84-R7R2Y-793K2-8XDDG
Windows Server 2016 EssentialsJCKRF-N37P4-C2D82-9YXRT-4M63B

半年频道版本

Windows Server 版本 20H2/2004/1909/1903/1809 产品密钥如下:

操作系统版本KMS 客户端安装密钥
Windows Server StandardN2KJX-J94YW-TQVFB-DG9YT-724CC
Windows Server Datacenter6NMRW-2C8FM-D24W7-TQWMY-CWH2D

Windows 11 和 Windows 10 多版本产品密钥如下:

操作系统版本KMS 客户端安装密钥
Windows 10/11 专业版W269N-WFGWX-YVC9B-4J6C9-T83GX
Windows 10/11 专业版本 NMH37W-N47XK-V7XM9-C7227-GCQG9
Windows 10/11 专业工作站NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J
Windows 10/11 专业工作站版 N9FNHH-K3HBT-3W4TD-6383H-6XYWF
Windows 10/11 专业教育版6TP4R-GNPTD-KYYHQ-7B7DP-J447Y
Windows 10/11 专业教育版本 NYVWGF-BXNMC-HTQYQ-CPQ99-66QFC
Windows 10/11 教育版NW6C2-QMPVW-D7KKK-3GKT6-VCFB2
Windows 10/11 教育版本 N2WH4N-8QGBV-H22JP-CT43Q-MDWWJ
Windows 10/11 企业版NPPR9-FWDCX-D2C8J-H872K-2YT43
Windows 10/11 企业版本 NDPH2V-TTNVB-4X9Q3-TJR4H-KHJW4
Windows 10/11 企业版本 GYYVX9-NTFWV-6MDM3-9PT4T-4M68B
Windows 10/11 企业版本 G N44RPN-FTY23-9VTTB-MP9BX-T84FV

早期版本的 Windows Server

Windows Server 版本 1803 产品密钥如下:

操作系统版本KMS 客户端安装密钥
Windows Server StandardPTXN8-JFHJM-4WC78-MPCBR-9W4KR
Windows Server Datacenter2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG

Windows Server 版本 1709 产品密钥如下:

操作系统版本KMS 客户端安装密钥
Windows Server StandardDPCNP-XQFKJ-BJF7R-FRC8D-GF6G4
Windows Server Datacenter6Y6KB-N82V8-D8CQV-23MJW-BWTG6

Windows Server 2012 R2 多版本产品密钥如下:

操作系统版本KMS 客户端安装密钥
Windows Server 2012 R2 StandardD2N9P-3P6X9-2R39C-7RTCD-MDVJX
Windows Server 2012 R2 DatacenterW3GGN-FT8W3-Y4M27-J84CP-Q3VJ9
Windows Server 2012 R2 EssentialsKNC87-3J2TX-XB4WP-VCPJV-M4FWM

Windows Server 2012 多版本产品密钥如下:

操作系统版本KMS 客户端安装密钥
Windows Server 2012BN3D2-R7TKB-3YPBD-8DRP2-27GG4
Windows Server 2012 N8N2M2-HWPGY-7PGT9-HGDD8-GVGGY
Windows Server 2012 单语言2WN2H-YGCQR-KFX6K-CD6TF-84YXQ
Windows Server 2012 特定地区版4K36P-JN4VD-GDC6V-KDT89-DYFKP
Windows Server 2012 StandardXC9B7-NBPP2-83J2H-RHMBY-92BT4
Windows Server 2012 MultiPoint 标准版HM7DN-YVMH3-46JC3-XYTG7-CYQJJ
Windows Server 2012 MultiPoint 高级版XNH6W-2V9GX-RGJ4K-Y8X6F-QGJ2G
Windows Server 2012 Datacenter48HP8-DN98B-MYWDG-T2DCC-8W83P
Windows Server 2012 EssentialsHTDQM-NBMMG-KGYDT-2DTKT-J2MPV

Windows Server 2008 R2 多版本产品密钥如下:

操作系统版本KMS 客户端安装密钥
Windows Server 2008 R2 Web 版6TPJF-RBVHG-WBW2R-86QPH-6RTM4
Windows Server 2008 R2 HPC 版TT8MH-CG224-D3D7Q-498W2-9QCTX
WindowsServer 2008 R2 标准版YC6KT-GKW9T-YTKYR-T4X34-R7VHC
WindowsServer 2008 R2 企业版489J6-VHDMP-X63PK-3K798-CPX3Y
WindowsServer 2008 R2 Datacenter74YFP-3QFB3-KQT8W-PMXWJ-7M648

Windows Server 2008 多版本产品密钥如下:

操作系统版本KMS 客户端安装密钥
Windows Web Server 2008WYR28-R7TFJ-3X2YQ-YCY4H-M249D
Windows Server 2008 标准版TM24T-X9RMF-VWXK6-X8JC9-BFGM2
不带 Hyper-V 的 Windows Server 2008 标准版W7VD6-7JFBR-RX26B-YKQ3Y-6FFFJ
Windows Server 2008 企业版YQGMW-MPWTJ-34KDK-48M3W-X4Q6V
不带 Hyper-V 的 Windows Server 2008 企业版39BXF-X8Q23-P2WWT-38T2F-G3FPG
Windows Server 2008 HPCRCTX3-KWVHP-BR6TB-RB6DM-6X7HP
Windows Server 2008 数据中心版7M67G-PC374-GR742-YH8V4-TCBY3
不带 Hyper-V 的 Windows Server 2008 数据中心版22XQ2-VRXRG-P8D42-K34TD-G3QQC

早期版本的 Windows

Windows 8.1 多版本产品密钥如下:

操作系统版本KMS 客户端安装密钥
Windows 8.1 专业版GCRJD-8NW9H-F2CDX-CCM8D-9D6T9
Windows 8.1 专业版本 NHMCNV-VVBFX-7HMBH-CTY9B-B4FXY
Windows 8.1 企业版MHF9N-XY6XB-WVXMC-BTDCT-MKKG7
Windows 8.1 企业版本 NTT4HM-HN7YT-62K67-RGRQJ-JFFXW

Windows 8 多版本产品密钥如下:

操作系统版本KMS 客户端安装密钥
Windows 8 专业版NG4HW-VH26C-733KW-K6F98-J8CK4
Windows 8 专业版本 NXCVCF-2NXM9-723PB-MHCB7-2RYQQ
Windows 8 企业版32JNW-9KQ84-P47T8-D8GGY-CWCK7
Windows 8 企业版本 NJMNMF-RHW7P-DMY6X-RF3DR-X2BQT

Windows 7 多版本产品密钥如下:

操作系统版本KMS 客户端安装密钥
Windows 7 专业版FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4
Windows 7 专业版本 NMRPKT-YTG23-K7D7T-X2JMM-QY7MG
Windows 7 专业版本 EW82YF-2Q76Y-63HXB-FGJG9-GF7QX
Windows7 企业版33PXH-7Y6KF-2VJC9-XBBR8-HVTHH
Windows 7 企业版本 NYDRBP-3D83W-TY26F-D46B2-XCKRJ
Windows 7 企业版本 EC29WB-22CC8-VJ326-GHFJW-H9DH4

Windows Vista 多版本产品密钥如下:

操作系统版本KMS 客户端产品密钥
Windows Vista 商用版YFKBB-PQJJV-G996G-VWGXY-2V3X8
Windows Vista 商用版本 NHMBQG-8H2RH-C77VX-27R82-VMQBT
Windows Vista 企业版VKK3X-68KWM-X2YGT-QR4M6-4BWMV
Windows Vista 企业版本 NVTC42-BM838-43QHV-84HX6-XJXKV

在线开源图片批量压缩工具

2024年12月26日 00:00

有人建议杜老师为去不图床添加压缩功能,这样可以减少图片体积,同时可以减少网络传输时间。但不少小伙伴还是有保留原版图片的需求,所以杜老师搭建了在线图片批量压缩图片平台。

工具介绍

支持多种图片格式,含 JEPG/PNG/WebP/GIF。

支持 20 兆以内图片压缩,最多支持 10 张图片同时操作。

支持压缩设置,可选缩小优先、普通压缩、清晰优先。

支持设置输出目标大小,及是否转换输出图片的格式。

在线平台

点击下方网址,即可访问搭建好的在线图片批量压缩工具:

部署过程

如不放心数据安全,可以使用下方源码自行部署。点击下方网址进入到 GitHub 源码页面,点击 Fork 复刻到自己仓库:

推荐使用 Vercel 部署与托管,部署过程参考下方配置。如果出现错误提示,可在评论区中贴图,杜老师看到后会第一时间回复的:

使用效果

部署完成后的效果如下:

2024冬:千日造船 一日过河

2024年12月28日 19:04

10月

  • 一个组织或者公司,靠的是决策者,还是组织内生的力量?
  • 果断上车A股,这是一个无限子弹的加杠杆游戏,一旦烧起来就是熊熊大火,配合国家间的博弈肯定是一波行情的起点。只是,要先想好什么时候退出。什么条件下退出。
  • 反身性:反身性,简而言之,就是相互决定性。
  • 最近网站的SSL证书到期了,访问的时候说证书不受信,直接导致了我的密码管理软件不能正常同步数据。之前的证书是在腾讯云上免费申请的,有效期只有一年,现在域名托管在了 CloudFlare ,只有看看CF有没有免费证书可用。一查发现CF竟然提供有效期30年的证书,高高兴兴申请了一个,结果放在群晖里却用不了。排查了半天,发现CF的这个“源服务器证书”不是通用型SSL,只能用于网站开了CF CDN加速时,节点与源站之间通信的情形。又折腾半天ACME工具,还是有问题,最后无奈在群晖后台安装个Lucky,自动管理证书,每三个月自动续期。
  • 试试这个 Follow 呢,博客圈小有名气的RSS阅读工具。可以有8枚邀请码,哈哈~
    • 需要邀请码的,可以在本文评论区留言。
    • 最好用的功能是可以设置规则,让自动翻译和AI总结一些英文订阅源,这是其他阅读器做不到的。关键是免费。
    • 本站在 Follow 上竟然已经有500位订阅啦!感谢各位认可🙏
    • 关于Power这种代币化的尝试,个人认为是个不错的尝试,但是需要进一步观察。
  • 最近关注美国大选,好像从慈善晚宴之后大家一致认为特朗普会当选。从推动加密行业来讲,特朗普确实更为友好些。
  • 出版行业可以采用众筹模式吗?现在互联网上的内容越来越碎片化和快餐化,其实真正经久不衰的内容很少,如果可以将网络上经过时间洗涤后的精华内容以书籍(电子或纸质)形式出版,然后用众筹模式决定印刷多少份,岂不是很环保?出版商也不用承担亏损风险。
  • 为什么我们都向往内蒙古新疆西藏旅游?因为牛马都向往草原。那向往大海呢?咸鱼的故乡。😂
  • 攻击比特币网络的成本是多少?
    • 目前全网比特币算力约 725EH/s,那么就需要掌握至少 370EH/s(51%)以上的算力;
    • 370EH/s 的比特币算力成本超过 1500 亿美元;
    • 加上对应的电费,约 500 亿美元;
    • 合计远超 2000 亿美元,才能对比特币网络发起攻击。
    • 以太坊全网 POS 节点质押总量约 3500 万枚,当前价值约 900 亿美元,即攻击以太坊的成本约460亿。所以,比特币网络共识的攻击成本是以太坊网络共识攻击成本的 4 倍以上。
    • 2000亿才能发起对比特币网络的攻击,攻击成功要花多少呢?
    • 科威特这个国家,2023年GDP才1600亿美元。

11月

  • 本月第一天在山东德州出差,飞机快降落的时候我看窗下一片大平原的时候就在琢磨,土地就是这里人们赖以生存的东西:我的一亩三分地能长出来庄稼,有了粮食就能养活一家人口。所以,所有的社会规则是从耕作土地开始建立起来的,该交多少公粮,如何继承,与隔壁地块的矛盾如何解决,等等。更重要的是,土地不能挪动,所以能动的人被不能动的土地牵制,只能在附近定居。但是海洋不同,渔业资源不是像庄稼那样固定地从一个地方生长出来,要填饱肚子就得追着鱼群到处跑。造就中国人的民族性格,很大程度上是受先民们吃饭方式决定的。
  • 可以拿 Follow 的空投,哈哈~
    • 虽然4200枚也不算多,但起码把生成邀请码的收回来了。RSS这是老树发新芽了啊!
  • 最近在看电视剧《狂飙》,还是有点儿感触。曹闯、李响、张飙、张健都失败了,如果没有安欣这样的人,赵立冬可以永远高枕无忧。孟钰完全可以等安欣的,除非是安欣当年就觉得孟家就有问题了,他们喝咖啡下毒那一幕,真差一点以为人设要塌了…
  • 11 月 8 日,美国联邦储备委员会决定,将基准利率下调 25 个基点,至 4.50%—4.75%。这是美联储年内第二次降息。同时,比特币也突破 76,000 美元。
  • 财政部一揽子化债三箭齐发:
    1. 增加6万亿债务限额:全国人大常委会批准6万亿元债务限额,为近年来力度最大化债举措。6万亿元债务限额分三年安排,2024-2026年每年2万亿元。
    2. 4万亿新增专项债:从2024年开始连续五年每年从新增地方政府专项债券中安排8000亿元,专门用于化债,累计可置换隐性债务4万亿元。债务置换后将大幅节约地方利息支出,五年累计可节约6000亿元左右。
    3. 2万亿棚改隐债:2029年及以后到期的棚户区改造隐性债务2万亿元,仍按原合同偿还。
  • 更新在马来西亚的第8篇游记《雪兰莪州:出海口的萤火虫和蓝眼泪》
  • 比特币首破8万美元/枚,以太坊破3.2万美元/枚,全球加密货币市值突破2.8万亿美元。
    • 所以,持有BTC的都是什么机构呢?看这个统计⬇️
    • 更新:比特币9万了。2024.11.16
  • 美国新设立了一个政府部门,叫做“政府效率部”,其英文简称是“DOGE”,也就是中文媒体中常说的那个“狗狗币”,历史巧妙地重合了。
  • 这次去了一趟文莱,这个国家很小,人均GDP很高。全民免费医疗和教育,和出租车司机聊天发现他们不论看什么病,采取什么复杂的治疗手段,都只需要象征性地交1块钱即可。以前觉得西欧是高福利国家,没想到在东南亚也有这样的国家。
  • Discover who is making money by analyzing Stripe payment traffic
  • Your first $1,000 is from work, Your first $10,000 is from saving, Your first $100,000 is from investing, Your first $1,000,000 is from doing nothing.

12月

  • 牛市是一场伟大的撤退,警惕成为别人撤退的垫脚石。
  • 翻看2014年在香港买的一台苹果电脑里的资料,现在是2024年了,十年了这台电脑还可以用,速度还不慢,配得上经久耐用啊。打开里面一个叫“Miao”的微博客户端,竟然还有2016年微博的缓存,截个图纪念一下,哈哈
  • 读完一本老书,1835年一位法国作家写的《论美国的民主》,相隔近180年。上下两集最后的部分,作者说:“因此,最应当警惕的是普遍冷漠,而不是无政府状态或专制,因为导致无政府和专制出现的,正是普遍冷漠。” 这就是所谓的“哀莫大于心死”吧。
  • 人们无法摧毁他们不知道的东西,沉默是抵御嫉妒和消极最好的手段。在沉默中取胜、在沉默中庆祝,让成功为你的沉默发声。
  • 更新《2024年回顾和2025年展望__对冲风险VS软着陆》
  • 这本书不错!社科文献出版社的《货币金字塔》,作者尼克·巴蒂亚(Nik Bhatia),不厚,很简洁,有启发性。
  • 2024年12月5日,比特币突破10万美元一枚。换算成人民币的话,就是72万,在二三线城市能买一套房子了。放下偏见吧,不要再认为比特币是击鼓传花的庞氏骗局了。骗局不会起死回生,但是比特币在十多年的发展过程中被无数人和机构冷嘲热讽,现在网络依然稳健,并且达到2万亿美元市值。
  • 趁着双十二,在CloudCone上买了个小服务器,看搭建点什么服务呢?
  • 更新旅行笔记一篇,同时打卡一个新的国家,文莱!参看:文莱:是真富还是假富?
  • 圣诞劫 😂
  • 就债务问题而言,不论是中国还是美国,重要的其实不是在于债务的总量问题(或者上限),而是效率问题。政府投资的效率没有企业部门高,如果有一种机制让政府投资可以转换为实实在在的生产力,那么就不要束缚自己的手脚。读《债务的边界》有感。
  • 2024年即将成为过去,真的是快啊。

📝 往期记录

在线开源图片处理工具

2024年12月23日 00:00

怕小伙伴们找不到趁手工具,杜老师找了款在线开源图片处理工具。文中介绍了该工具的部署及使用方法,虽然不如本地软件功能全面,但能够满足大部分需求,欢迎一试!

工具介绍

在线图像编辑器允许您使用 HTML5 技术创建和编辑图像,无需购买、下载、安装或者过时的 Flash,且无广告。

支持图层、滤镜,开源 Photoshop 替代品。

miniPaint 直接在浏览器中运行,可以通过从剪贴板粘贴或从计算机上传来创建图像。

不会向任何服务器发送任何内容,一切都保留在您的浏览器中。

在线平台

点击下方网址,即可访问搭建好的在线图片处理平台:

部署过程

如不放心数据安全,可以使用下方源码自行部署。点击下方网址进入到 GitHub 源码页面,点击 Fork 复刻到自己仓库:

推荐使用 Vercel 部署与托管,部署过程参考下方配置。如果出现错误提示,可在评论区中贴图,杜老师看到后会第一时间回复的:

使用效果

部署完成后的效果如下,如果默认不是中文界面,可以修改源代码文件 src/js/config.js,将其中 config.LANG 项改为 zh

像素艺术家优化之路

2024年12月27日 11:14


当前20x20的绘板+UI的drawcall来到了400+ ,卡的不行,制作的时候只顾开发快可不行。
现在就开个专题记录下绘板的性能优化。

效率优化第零版

所有的物体创建/销毁都是基于池,也就避免的额外的GC开销,缩短CPU耗时。

效率优化第一版

每次用笔刷绘图的时候,当鼠标划过网格,都会记录位置,划过的这个位置就作为一个 Tile 渲染的基本点。
在这个点上再去生成一个mesh,进行染色,标注这里被画出了颜色。

由于需要渲染的Tile,是动态创建的,都具有自己的单独的Render,并且需要改变自己的颜色。
对于材质来说,就会在每次改变属性之后创建出新的instance,众所周知instance多drawcall就多。
这个问题,并不难解决,通过 MaterialPropertyBlock 去修改属性,可以避免instance的创建。

1
2
3
4
5
6
7
8
9
10
11
MaterialPropertyBlock block;
public void SetColor(MeshRenderer render, Color c)
{
if (block == null)
{
block = new MaterialPropertyBlock();
}
render.GetPropertyBlock(block);
block.SetColor("_Color", c);
render.SetPropertyBlock(block);
}

效率优化第二版

当使用 MaterialPropertyBlock 去处理材质属性修改后,画板的drawcall已经保持在一个极低的数量级了。
直到我准备给画板添加一个背景,也就是预创建tile,给画板一个背景色。这时候新的问题又出现了。

100x100的像素图编辑,就有一万个tile,需要去染色,虽然是公用材质,但是架不住节点多导致的CPU耗时过高。
这时候,我想起,既然最后需要导出到像素图片,为什么不直接将像素点写入图片呢?

遂后,新增了一个实时渲染图,展示正在绘制的像素画状态。并且修改这个渲染tile的逻辑,每次要渲染tile的时候,不再进行mesh创建与render渲染,直接将像素写入实时渲染图。
至此,突破了之前的节点瓶颈,在512x512 ,也就是差不多2.6w像素的图片上,进行流畅的编辑。

效率优化第三版

在成功的在512x512的像素图上编辑的时候,我顺便也尝试了在1000x1000,2000x2000的像素图上进行编辑。
明显会觉得有点卡顿,分析了一下卡顿的原理,原来新的瓶颈在修改实时渲染图的频率上。
每次创建新的像素点,也就是画笔在滑动的时候路过的像素点,都会立即去做一个像素图的写入。

这个问题解决起来倒是不难,就是将实时像素图的写入频率降下来。
结合第一个优化版本的实现。每次玩家开始绘制与结束绘制之间,所有的像素点,都是用第一个优化版本,仍旧去创建tile,将这个过程产生的所有tile数据进行记录。
玩家手指抬起,结束一轮绘制,再将上一轮缓存的tile信息统一写入实时渲染图。并且回池所有的tile。

至此,在至少四百万的像素图编辑上表现得很丝滑,就如同在四百个像素点的编辑。

效率优化第四版

在增加了大贴图导入后,如果拖拽整个贴图会造成画面卡顿。原因是拖拽的是由unity的meshrender组成的画面。
画面有多少个像素点,就由多少个mesh(一个meshrender只渲染了一个像素点)。
这样数量上去了,也就又出现了性能瓶颈,为此改为了给mesh增加了一个支持贴图的材质球,匹配像素图进行缩放,将像素点都渲染到这个单位上,进行整体图片的预览,效率又上去了。
这里遇到一个问题,使用 MaterialPropertyBlock 进行针对 Texture 的drawcall 优化的时候,需要注意如果N个meshrender使用了的一个材质,但使用的并不是一张贴图,drawcall仍然会增加。
所以这边我记录玩家每次画笔下落与抬起,在期间,渲染玩家绘出的像素图,都是一张贴图。用以保证 MaterialPropertyBlock 能够正常生效。

当然这个效率优化并不会停止,先记录这些。

这里有个可以白嫖三个一年 SSL 证书的网站

2024年12月20日 00:00

SSL 证书普及率很高,但目前只能申请到 90 天使用期限免费证书。虽然可以重复申请实现无限延期,但毕竟太麻烦。杜老师从淇云那里看到一个免费一年版的证书申请网站,感兴趣的小伙伴可以去领取!

网站介绍

DNSHE 是一个提供 SSL 证书服务的平台,为注册用户免费提供 3 个一年期单域名 SSL 证书。

SSL 证书对于网站安全性至关重要,它不仅能保护用户隐私,还能提升搜索引擎排名,增强网站的竞争力。

领取地址

下面是 DNSHE 官网地址,活动的截止时间为 2024 年 12 月 31 日:

在证书申请过程中,需生成 CSR 文件,可以使用以下网站在线生成:

申请步骤

点击上面的 DNSHE 官网地址,即可看到证书订购页面,确认金额为 0,点击立即订购:

在跳转的页面中找到并点击结账「可以返回之前页面,重复下单三次」

系统处理成功后会提示等待配置,点击页面下方立即配置进入申请页面:

在证书申请过程中,需生成 CSR 文件,我们通过上面网站在线生成:

返回配置页面,填写域名相关信息完成证书申请,中间需要根据提示填写域名验证信息:

填写完所有信息后,即可等待证书下发。下发后可进行重新签发、下载 SSL 证书等操作:

注意事项

用户可通过访问 DNSHE 官网,注册成为用户,然后按照提示绑定域名,完成 SSL 证书申请和安装。

每位注册的用户限领 3 个单域名证书。

证书有效期为一年,到期后可按需求续费或选择其它解决方案。

如有多个网站,可以将这些证书分别用于不同的域名。

Karabiner脚本:Mac实现大小写切换键(中英切换键)移动窗口

2024年12月24日 18:38
这篇文章介绍了如何使用 Karabiner 修改 Mac 键盘键位,将大小写切换键优化为短按切换中英文输入,长按实现窗口拖动操作。通过安装软件、配置权限,应用自定义脚本实现功能,短按模拟左 Shift,用于中英文切换,长按触发 cmd+ctrl 组合键移动窗口,提升使用效率。

记2024

2024年12月24日 08:42

说到写年报,今年好像没什么特殊的。无非就是…

1.二月份开始入驻白嫖得物,之后认识了一群有意思的人,大家最开始因白嫖(hhhh),跑步的爱好相聚,希望能够一直下去。

2.十月份去了成都,一直想写一篇游记,但是又无从下笔,总而言之,成都很好玩。

3.关于跑步,今年总共跑了9场次半马,1场次1全马,1场次越野,戳我跳转跑遍中国!半马PB停留在127.58,全马PB停留在328.42。

4.今年的FLAG基本完成,必完成项目还剩港澳没去,来年再去吧,戳我跳转2024todolist

这篇文章或许有点敷衍,但是先发布了吧,算是完成一个任务。

或许这个文章我未来的某一天,会重新写,但是我也说不准,或许吧。

我爱跑步,我爱旷野,我热爱关于自由的一切。

跳舞的洗衣机

2024年12月23日 22:28

想把这件事记录一下的想法很多次在脑子里冒出来,但是很快又被其他事打断就又忘记了。
今天稍微记录一下,带着记一下最近遇到的烦心事儿。
大概是去年夏天,搬家的时候新购入的洗衣机,那时候没找小米师傅安装。
是装修师傅帮忙弄的,结果收获了一个跳舞的洗衣机,视频有点搞笑,但是很生动。

本来连夜就想找小米保修,直到我准备睡觉的时候,在网上搜索到一个词,减震螺栓,哎呀 !
瞬间天灵盖被击中的感觉,赶紧爬起来,一看洗衣机后面果然有四只减震螺栓没有下掉。
费了大力气把洗衣机搬开,这玩意是真的重。下完螺栓后,终于正常了。
我建议是电器如果有安装服务,请务必一定要使用,除非你真的内行。

昨天又遇到洗衣机不排水

为什么我要拿这玩意拍张照片,他就是罪魁祸首了,广告的slogon很强大:开启洗衣新时代。

真强,直接把排水电机堵塞了,再开始手洗时代 ?这个吸色片会被洗衣机搅碎,最后堵死排水口的电机。
我跟小米的师傅忙活了两个小时,才完全弄好。
问题很简单,只是要搬动两台重家伙着实不容易。
洗衣机堵塞问题解决之后,点击脱水,洗衣机的水倒是排出来了。
但是不知道为什么,他不转了,师傅暗示,大概是排水泵坏了要换新。
我说,你瞧这个色片抠出来,排水正常了,说明这个泵是好的,不转是另外的事。
接了入水管,重新开机关机后,测试正常了。
这水泵到底还是没换成,这种事,还是要全程跟着,不然的话换不换就不好说了。

今天遇到台盆下水堵塞

早上准备刮胡子,结果水下不去了,无他,肯定是堵住了。
这段时间真的很魔幻,一直在出状况,领导说这是跟水犯冲。
急着去上班,先买了瓶魔法药水(威猛先生)灌下去了,顺便又买了根物理管道疏通,寄到公司。

晚上回家,你猜怎么着,威猛先生基本不威猛度,这水是一点都没有下去。
还好带了根疏通棒回来,一通操作半小时齐活儿,在搞点白泥补一下缝隙处。

疏通棒是好东西,建议家庭都备一个,这可比马桶搋子管用。
当然马桶搋子也有妙用,我用它卸扣板。

以上,最近遇到的烦心事儿,但是也吃一堑长一智。说好听点就是,永远满含热泪,永远是少年。

图床审核出现误判解决方法

2024年12月17日 00:00

有小伙伴反馈在使用去不图床上传图片时,出现上传成功却提示图片的审核失败,还有一些正常图片被误判为违规等类似的情况发生。本文简单剖析出现的原因及问题解决方法。

数据流向

通过下图可以看到,当图片开始上传后,首先图床会将数据发送给审核 API 判定是否违规,如违规会反馈失败。反之则存放至节点,并返回外链的地址:

原因剖析

审核失败及误判的原因是 API 处理错误导致。通过日志反馈的信息可判断,是因图片格式标注错误导致审核失败。有小伙伴可能好奇,图片格式怎么还会标注错误?其实现在很多图片都是存放在类似 OSS 的存储空间中,这类服务会自动转换图片的格式,使其可以用更小的流量在网络中传输。而图床是根据文件后缀判断图片格式,如果实际格式和标注格式不一致,就会导致审核失败:

还有一个原因是不支持图片格式。虽然去不图床支持的图片格式有 JPEG/JPG/PNG/GIF/BMP/ICO/WEBP,但 API 仅支持 JPEG/JPG/PNG/GIF/BMP。杜老师已联系 API 的开发者建议支持新格式,期待可以尽快更新:

解决方法

除了前面的两个原因外,最直观的原因就是图片确实违规,这时可以针对图片进行修改,例如添加水印、区域截图等等,避免再次出现违规结果:

聊天广场中有小伙伴反馈过,可以尝试使用图片压缩工具进行处理,不仅可以减少图片大小,还可以提升审核成功及通过机率「暂未亲测」

工具地址

怕小伙伴们找不到趁手工具,杜老师找了款在线开源图片处理工具,访问下面的网址即可打开和使用。该工具类似 PS,支持中文界面:

下方的链接为在线开源图片批量压缩工具,最大支持 20 兆图片压缩,最多支持 10 张图片同时操作。可设置压缩的大小、质量、输出格式参数:

感谢来自 hehe 童鞋的礼品

2024年12月8日 00:00

杜老师说运营至今,认识了很多小伙伴。除在评论区交流外,大家也会通过导航栏处「点我在线聊天」沟通。近期收到来自 hehe 童鞋的礼品,这是他的爱人经营一家网上手工店铺,里面有很多的手工艺品,推荐给喜欢的小伙伴们!

有关于 hehe

认识 hehe 童鞋是在今年的年初,因为架设网站时遇到了一些问题,选择杜老师的增值技术支持。

在问题解决后,又帮忙解决了几个小的问题,渐渐熟络起来。

有幸因为出差去了 hehe 童鞋所在的城市,但因为工作及天气原因没能线下面基。

杜老师对这位老哥的评价就是又菜又爱玩,想认识的小伙伴可以去聊天广场,没准就能逮到他了!

礼品展示

hehe 童鞋表示为感谢杜老师长期的技术支持,送了两个由其爱人亲手制作的工艺品:

杜老师在众多小玩偶中,选择了一个加菲猫和一个牛肉果:

加菲猫大一些,被杜老师的爱人抢走了,不知道挂在了哪里:

牛油果小一些,杜老师挂在了书包上面,希望可以耐脏一些:

礼品官网

除了上面图片中的玩偶,还有挂件、包包、摆件、盆栽、发卡、帽子:

官网截图

如果有喜欢的玩偶,可以打开上面官网,点击右上角关于我,添加页面中的聊天方式,沟通下单即可:

最近入手的几台心头好

2024年12月21日 17:50

写在前面

自从上次青岛之旅使用了胶片相机,被老婆点名表扬之后,就一发不可收拾的进入了胶片这个文艺复兴的大坑。拍摄胶片带给我的直观感受就是:

你无需理会参数,也不用去想后期。只管上卷按快门,剩下的交给胶片。

这真的是一种非常神奇的拍摄体验。在数码化泛滥的今天,人们似乎又开始怀念那种带有温暖感觉的所谓胶片感。也开始从拍摄胶片中去寻找一种久违的轻松愉悦的拍摄体验。

下面就说说最近新入手的几台胶片相机。

奥林巴斯 PEN-EED

PEN-EED

个人感觉是奥林巴斯整个PEN系列中,颜值最高的一台。这也是主要的入手理由。当然除了长得好看之外,个人最看重的就是:它是一台半格胶片机。

所谓半格胶片机,就是可以将一张胶片一分为二,一卷36张的胶片,可以拍摄72张。

在胶卷价格涨到飞起的当下,半格相机无疑是一个非常好的选择,省钱嘛,一卷就可以拍好久。但是这台PEN-EED有一个对于初学者不太友好的问题,就是它是一台估焦的相机。对于新手而言,它没有所谓对焦系统,因为配备了一颗32mm f1.7的定焦镜头,所以对焦这件事,只能交给拍摄者对于自己和被拍摄者之间距离的把控,简单来说,就是交给感觉。

而且这台相机的快门速度只有1/15秒,算是一台标准的阳光机。好在它足够好看,也足够轻便,就算不用来拍摄,作为一个拍摄中的道具,也可以算是物尽其用了。

奥林巴斯 PEN-F

PEN-F

在奥林巴斯的整个PEN系列中,PEN-F算是最最最经典的一台。由于它拥有完整的机械单反相机结构,又使用了半格的拍摄规格,所以它也因此有了半格之王的称号。个人感觉这台相机标志着奥林巴斯这个品牌,最杰出的制造工艺和水准了。

全金属的机身,哪怕是过去50多年,握在手里依然感觉非常精致。这台相机最了不起的一点就是,在那个年代奥林巴斯就已经将完整的单反结构塞进了这么小小的一个机器中,所以这台也算是整个相机史上一个里程碑一样的存在了。

尼康 F2

F2

尼康对于我来说,一直是白月光一样的存在。从最初的D90,到后来的D7200,再到后面的Z62,Zf。我的每一台尼康,都是我在当时最喜欢带出门的相机。只有用过别的品牌的相机,才知道尼康有多好。

许多人认为,尼康 Nikon F2 就是有史以来最好的纯机械相机,虽然可能它的技术并不是最先进的,但就综合工艺、质量、可靠性、耐用性上来说,他就是最好的。F2的机械相机王者地位难以动摇。相信没有一个男孩子可以抵抗这种纯机械的快乐。

入手它还有一个最吸引我的点,就是尼康为它搭配了非常丰富的配件世界。其中就有我非常心水的DW-1腰平取景器。

没有拍过腰平的人,永远感受不到世界真真切切在你眼前定格的浪漫。

腰平的快乐,我相信每一个拍摄胶片的人都体会过。虽然它的这腰平颗取景器没有其他中画幅、大画幅相机那么大,但是那么大的纯光学取景器,还是带给我深深的震撼,以及完全不同的拍摄体验。

最后

胶片值得,虽然它又麻烦、又烧钱,但是拍摄胶片给了我完全不同的拍摄体验。不单单是迷人的色彩和机械的结构。我会用更多时间来思考我真正想记录的画面的真实模样。正如有人说:

审美实际上是对过程的审视。

当你每一次上卷、每一次过片,每一次按下快门,每一次经历漫长过程后拿到成片。每一次拍摄胶片的过程,都是一趟有趣的旅程。

所以,去拍胶片把。

冬天是真的容易感冒

2024年12月21日 17:38

现在天气每天都很冷

我妈跟我宝都已经感冒了,由于咳嗽太厉害宝前天还呕吐了。
我们家是奶奶带睡觉,让奶奶抱到了半夜,不敢让孩子躺着,一躺下来咳嗽,就又要吐。
明天我妈要出国玩一周,那只能下周我多带带,说是多带带我也没法不工作,只能晚上带睡觉。
有句话怎么说的,搬砖的手无法拥抱你,虽然很想天天带娃,但还是不得不工作。
好在现在宝的感冒已经转好,咳嗽也没有那么厉害。老天保佑,这个冬天都不要再有感冒了。

家庭作业

又制作了手工,这次是制作了吐信子的蛇,制作起来不难,当然宝也玩的很开心。
幼儿园老师在群里说的话奇奇怪怪,诸如:”虽然xx请假了(感冒),但是家里人还是把手工作业送到幼儿园了。“
问我送没送,肯定没有送咯,但是上传了制作过程的摆拍。要问哪家不是摆拍?我才不信三岁的小孩子能独立完成。
制作手工,参与学校活动的目的对我来说就只有一个,别人家孩子有的,咱家也要有,不然孩子上学多可怜。
说到这,我想起来一件事,是这件事让我决定,以后其他幼儿园娃有的我家娃一定要有。
某日,幼儿园老师带班里小朋友去水果店,看水果,然后有的小朋友购买了水果。

宝宝回家,我问他:
“其他同学买了吗”
“买了呀”
“我问小朋友能不能跟我分享,小朋友说不行”

听到这,我真的是气呀,咱家也不差个水果钱吧,老师居然不能一碗水端平 ?
就这一件事,让我认识到,以后幼儿园需要给宝宝安排什么道具,用品,必须要安排上。
不能让娃在幼儿园受委屈,让做家长的心里也不好过。

以上,闲时小记,最后,大家都注意天气,不要感冒了,祝大家都身体健康。

感谢来自开往项目组的礼品

2024年12月5日 00:00

前段时间突然收到来自开往项目负责人的私信,说为了表示对开往项目支持,会赠送一个小礼品。杜老师告知地址后,没过几天就收到了一个礼品,礼物虽小但情谊重,这里再次推荐一下开往项目!

项目介绍

开往 Travellings 是一个友链接力项目,旨在通过网络跳转方式将流量引入那些鲜为人知的独立站点,从而推动网络的开放性和多元性。

该项目于 2020 年 3 月 12 日诞生,灵感来源于开放的网络。其 Logo 由代表世界的星环和代表穿梭的列车组成,寓意在网络世界中穿梭。

每当用户访问加入开往 Travellings 网页时,点击该网页上的开往按钮将随机跳转到另一个加入该项目的网页。无论再次点击开往还是后退网页,都会继续随机跳转到其他参与者网页。

随着越来越多的网页选择加入开往 Travellings 行列,友链网络也在不断扩大,这将进一步推动分享流量的增长,为本项目注入更多活力。

礼品展示

刚打开快递盒,感觉非常惊喜,小小的礼品包装很精致,还添加了纸条防止邮递损坏:

打开里面的礼品盒,首先映入眼帘是一封感谢信,简单说明了开往负责人交替关系:

小礼品是一个亚克力材质的徽章,上面是开往 Logo,背面有别针可以挂在衣服上「其实弄个贴纸或冰箱贴会更好些」

徽章正面有个薄膜,开始杜老师不清楚,怎么拍就感觉模糊,撕掉后的效果还是很不错的:

聊聊项目

开往是个以跳转功能为主的友链接力项目,其名字开往取自开放的网络。

将开往放入您网页,表示乐于分享并支持开放的网络。

每当有人访问加入开往的网页时,点击开往会随机跳转到另一个加入开往的网页。

之后,再次点击网页的开往或后退网页,将继续随机跳转到另一个加入开往的网页。

我们希望这个项目能让友链接力下去,让更多的网页获得流量。站长也可以用开往互相交友。

所以博主间的互动,可以带来流量,及创作的热情。而开往项目就提供一个平台,方便博主之间随机跳转,认识新朋友的同时,也会给自身的博客带来流量,在这里也祝福该项目能越办越好!

项目地址

开往项目官网地址:

像素艺术家-开发日志2

2024年12月18日 19:11

抽空发布了一个阶段版的像素艺术家项目成果。
具体描述我都写上面了,目前没做像素的擦除,这个后续版本补上。

快捷键说明没放上去:

  1. 处于非绘图状态鼠标右键,可以旋转画板。
  2. 绘图状态N键可以切换笔刷
  3. QE可以旋转画笔
  4. 鼠标右键退出编辑模式

项目主页

绘图界面

资源导出

目前支持导出 png jpg tga,注意png是透明底图

后续计划功能开发

  1. 批量框选
  2. 橡皮擦
  3. 喷涂工具
  4. 线条工具
  5. 撤销功能
  6. 图层功能
  7. 颜色覆盖
  8. 图片转像素

最后

你可以在左下角的猫咪菜单栏点击爱心,打开这个程序,或者访问 https://px.vrast.cn 均可。

清理缓存

如果之前打开过我这个站点的朋友估计要清理下缓存才能看到最新的开发进展。
这个清理缓存与清理网页缓存不同,unity的web程序会直接使用本地存储。
清理方式如下:

❌
❌