轶哥

📚 Having fun with AI Agent. Always learning.

PHP实现Github头像缓存
  •   更新:2020-08-07 13:56:57
  •   首发:2020-07-21 14:56:34
  •   源代码
  •   3108

在开发博客Github登录功能,缓存Github头像的时候,发现下载头像是个很费劲的事情。

利用位于HK的PHP虚拟主机,可以轻松解决这个问题。

伪静态依赖Apache的Rewrite模块。

将新网址推送到百度、谷歌、Bing搜索引擎
  •   更新:2020-08-05 00:00:38
  •   首发:2020-08-04 23:44:06
  •   源代码
  •   4212

为了方便大家快速集成,我将推送URL到百度、谷歌、Bing搜索引擎的功能整合至submit-url模块中。

模块支持两种方式调用,如果您使用的是海外服务器,且使用Node.js作为服务器端,可以通过npm install submit-url的方式安装该模块。否则,请运行模块作为HTTP服务,您的程序通过调用此HTTP API来提交网址,确保推送到谷歌和Bing搜索引擎的稳定。

Github 仓库迁移至 Gitea 脚本
  •   更新:2020-07-21 15:02:09
  •   首发:2019-06-12 08:38:10
  •   源代码
  •   7022

迁移 github 私有/公有仓库到 gitea 是一件容易的事情,不过可能由于网络原因,部分较大的项目可能会失败。此脚本会自动过滤已经迁移完成的仓库,因此重复执行脚本直至 gitea 中的仓库和 github 中的仓库数量一致,即表示迁移完成。gitea 迁移失败的仓库会被系统自动删除,因此可能出现仓库数量浮动。为了确保代码资产安全,您在迁移完成后应该间隔十分钟再次执行,直到 gitea 中的仓库和 github 中的仓库数量仍然一致。

需要注意,使用该脚本前,需创建一个Github Token,并且需要临时关闭Two-factor authentication

K个一组翻转链表
  •   更新:2020-05-16 21:10:05
  •   首发:2020-05-16 21:04:29
  •   源代码
  •   2975

LeetCode 25. K 个一组翻转链表 https://leetcode-cn.com/problems/reverse-nodes-in-k-group/
LintCode 450. K组翻转链表 https://www.lintcode.com/problem/reverse-nodes-in-k-group/

这是一道用常规思路就能解的算法题。目标清晰、题目易懂,不涉及复杂的算法。

按照题目要求,遍历链表,遍历的同时每经过k个节点就进行一次翻转。需要注意的是,第一次翻转后,记录下整个链表的head作为返回值。从第二次翻转开始,需要将之前翻转过的最后一个结点与新翻转后的第一个结点相连。

Windows应用以管理员权限开机自启(开源)
  •   更新:2020-02-16 14:21:14
  •   首发:2020-02-16 14:21:14
  •   源代码
  •   4658

在研发自助硬件设备的时候,需要实现Windows下的软件以管理员权限自启。

  1. Windows服务:需想办法调用UI进程。
  2. NSSM:一个方便的服务封装程序。但以管理员权限启动UI进程较困难。
  3. 注册表:常见方法在最新版win10测试失败。可尝试抓取Windows任务计划程序对注册表的修改。

测试了多种方法,发现最终可靠的方法是通过Windows任务计划程序进行注册。

树莓派挂载硬盘Shell脚本
  •   更新:2019-12-20 13:32:46
  •   首发:2018-12-31 18:39:25
  •   源代码
  •   3509

快速挂载Raspberry PI硬盘,可挂载USB硬盘。
注意:此脚本一次性将硬盘整个空间分为一个区,格式化为ext4格式,如果需要分多个区请手工操作。

理论上此脚本适合大部分Linux系统,不推荐在服务器中使用这样的脚本。

Node.js打印PDF文件
  •   更新:2019-03-23 10:44:17
  •   首发:2019-03-23 10:42:48
  •   源代码
  •   9378

在Windows平台,使用Node.js实现原生打印PDF通常需要借助C++。例如node-printer,需要安装Python、Visual Studio,同时还需要使用node-pdfium进行PDF转EMF。

也有一些二进制(exe)命令行打印解决方案,但是都有一些缺陷。

例如:

  • 借助 Adobe Reader 或 Acrobat 实现打印,则Windows XP、7、10需要安装不同版本的 DPF 软件,并且在打印时会打开该软件。
  • Sumatra PDF可以静默进行命令行打印,但是在80mm热敏纸打印机中的打印效果较差(不清晰)。

理论上这些方案支持所有能在Windows中安装驱动的打印机,包括非串口的热敏纸打印机。大多数方案都是基于PDFium的实现,如果您有足够的时间精力,可以深入研究PDFium

JS推测Base64图片类型
  •   更新:2019-03-04 15:01:42
  •   首发:2019-02-23 22:21:25
  •   源代码
  •   26935

部分业务中会碰到Base64图片文本。

例如:

  • 微信JS-SDK - “拍照或从手机相册中选图接口”,wx.chooseImage与wx.request结合获取Base64数据。“获取本地图片接口”,wx.getLocalImgData返回Base64数据。
  • 微信小程序中,图片访问地址受到白名单限制,有可能采用base64数据直接在接口返回。
  • 某种读卡器获取到的图片数据以Base64格式返回。

如果返回的图片数据中不包含格式前缀(甚至某个微信接口在ios中错误返回image/jgp类型),那就需要推测图片类型。

  上一页 下一页