1. 全栈开发

    从同步 QQ 空间说说到前端呈现,我都做了些啥

    最近在捣腾我的 Timeline 时间线项目,希望将我在不同平台上的发言和活跃记录同步过来,在独立的站点上按照创建时间倒序呈现。 过去,我尝试把这个想法放到 Telegram 上实现,把发言和记录同步到我的频道上。但是格式转换的繁杂以及自由度上的限制让我大费周章,加之增量开设的同步内容会以消息的方式一条一条添加到末尾,无法按时间排序,最终我放弃了这个方案。 言归正传,在项目开发的过程中…

    10 月 17 日 2024 年
    React TypeScript Node ffmpeg
  2. 前端开发

    Electron 执行后台程序并在渲染器实时打印运行日志

    开发图像查重工具时遇到了这样一个问题:在查重之前,用户需要先对图像文件进行索引操作,后台将调用可执行文件并为每张图像生成特征值。索引操作所需的时间与图像的数量及大小呈正相关,笔者为大约 50000 张图片(约 170GB)生成特征值,需要花费将近 90 分钟的时间。在这种情况下,如果渲染器什么也不展示,卡在那里,用户难免会非常焦虑 —— 后台是否还在运行,我是不是卡死了? 那么需求也就明了了…

    08 月 05 日 2024 年
    Node Electron TypeScript React
  3. 后端开发

    基于原生 Node 备份软路由上的 Minecraft 服务器存档,并通过 Alist 上传到云端

    笔者最近在 OpenWRT 软路由上部署了一个 Minecraft 服务器,出于对数据安全的焦虑,于是折腾了一下存档备份的相关事宜,记录为此文。 在 CurseForge 等模组站上已有方便好用的 Minecraft 服务器存档备份插件,除非您喜欢折腾或高自由度的定制,不用像笔者这样编写一整个脚本。 完整的脚本可见此。 编写备份脚本 前置准备 为了脚本编写方便,约定应该在 Minecraft…

    05 月 11 日 2024 年
    Linux OpenWRT Minecraft Node JavaScript Alist
  4. 后端开发

    这位客官,要来一张我珍藏许久的图片吗

    笔者自高中到现在,游走于 Pixiv 若干载,不慎收藏了许多名家雅作。 独乐乐不如众乐乐!笔者想做一个 web 页面来随机访问我的收藏,不过在此之前,可以先实现服务端上的内容。再之后做网页时,不过是简单的读取数据库罢了! 最初,笔者以为得将我的库存全部放到服务器上项目中去,然后随机访问其中的图片实现功能,但这样做很难得同步,遂搁置。不过,笔者在最近发现有一个 Pixiv 图片代理网站 可以快速下载…

    01 月 13 日 2022 年
    Telegram Bot Node Koa
  5. 后端开发

    从零开始使用 Telegram Bot

    本文基于 Koa 从零开始搭建一个简单的 Telegram Bot 应用服务,支持获取 Github Issues 的评论并转发到 Telegram 频道,帮助笔者更好地将捣玩 Telegram! 时间推移至 2024 年,笔者现在更建议使用 Bun 开发应用服务,开箱即用的高性能服务以及完备的 TypeScript 支持,能大大提升开发体验。下面为撰写于 2022 年初的原文。 本文假设您已…

    01 月 09 日 2022 年
    Telegram Bot Node Koa PostgreSQL Sequelize
  6. 技术琐事

    使用 EditorConfig 和 Prettier 优雅地配置 VSCode 代码格式化

    编写代码时使用 EditorConfig EditorConfig 能够帮助跨各种 IDE 开发同一项目的不同开发人员保持一致的编码风格。 VSCode 没有内置对 EditorConfig 的支持,需要在插件市场中手动下载插件。 EditorConfig 会自动读取工作区中的 文件,更详细的配置说明可以参考官方介绍。下面是笔者常用的配置: 推送仓库前使用 Prettier 为了进一步确保代码…

    08 月 07 日 2021 年
    Node EditorConfig Prettier VSCode
  7. 前端开发

    为 Archer 主题更换字体

    看腻了原先的字体,亦或是想满足独树一帜的设计欲望?不妨更换一下博客的字体吧!本文将基于 Hexo 和主题 Hexo-Theme-Archer 展示如何更换博客的中文字体。 引入字体文件 这里提供两种引入的思路,一种是 CDN 引入,一种是本地引入。建议通过 CDN 的方式引入,可以大大提高加载效率。 引入 CDN 字体文件 以更换字体为思源黑体(Google 字体上叫 ,Adobe 版本叫 )为例…

    06 月 26 日 2021 年
    Node Hexo hexo-theme-archer
  8. 前端开发

    在 Nuxt.js 中引入高德地图并实现定位及逆地理编码

    迷途知反!腾讯地图的 JS API 文档实在过于简陋,且库很久没有更新,转身投入高德地图的怀抱,享受 this moment 的美好! 高德地图与腾讯地图定位功能区别 高德地图将定位功能和逆地理编码功能分开为两个操作,而腾讯地图将二者合并。 这意味着使用高德地图实现逆地理编码,首先需要执行定位操作,再将得到的结果传给逆地理编码插件获得最后的结果。 此外…

    03 月 17 日 2021 年
    JavaScript Node Vue-2 Nuxt Promise
  9. 前端开发

    使用腾讯位置服务进行 Web 前端定位

    正在开发的 Web 项目需要获取使用者的位置信息,而使用者主要通过移动端访问此 Web 服务。位置信息需要精确到区。在腾讯位置服务的定位解决方案里想要搜索可用的 JavaScript 库,只看到了服务端的 IP 定位和移动端的几个 SDK 包,甚异之。 终于在不起眼的地方找到了前端定位组件,适用于浏览器进行定位操作。 本文基于 Nuxt.js 实现前端定位功能。 它能做什么 组件旨在优化纯 HTM…

    03 月 16 日 2021 年
    JavaScript Node Vue-2 Nuxt
  10. 前端开发

    Nuxt 项目配置 ESLint 和 Prettier 检查并规范代码质量与格式

    哪位代码人不希望自己的代码总有统一优美的风格,不会因为合作开发项目而杂乱呢? 在最开始写项目代码的时候我就用起了 ESLint 和 Prettier,再装一堆预设的配置,便跑了起来。令人沮丧的是,用 ESLint 修复了代码质量问题,还是会在编译器里看到红色波浪线,提醒还有些代码风格需要修复。直到这一次,我才忽然意识到 ESLint 和 Prettier 其实分工了不同领域,协同使用体验极好。 本…

    03 月 03 日 2021 年
    Node Nuxt ESLint Prettier VSCode
  11. 前端开发

    Webpack 读取本地 Markdown 文件并进行预处理

    在开发 NetUnion 的官网页面时,有这样一个需求:读取本地目录下的新闻和博客文件,并在前端渲染,其中文件均为 Markdown 格式。 与全栈开发直接调用后端数据库不同的是,没有数据表字段来记录文件的不同属性,例如文件的题目、作者、撰写日期等,因此这些属性需要记录在 .md 文件当中。 这样的撰写方式是不是很熟悉?没错,不就是我正在写的 Hexo 博客中 .md 文件的编写格式嘛! 自动导入…

    02 月 23 日 2021 年
    Markdown JavaScript Node Webpack
  12. 技术琐事

    Hello Hexo World

    搭建一个自己的博客是多少投身于 IT 行业的男人女人们的梦想!撇开维护所花费的巨量时间开销不看,能够在网络上划得一片净土去传递自己的故事与思考,是一件何等快乐的事情! 正如许多人的第一篇博客那样,在这里记录下搭建博客的流程,也许能带给你些许决意和帮助。 开始前 假设你已了解何为 Github Pages,并充分认识到它对于一个渴望搭建博客的中国人的难以替代性(是的,我不愿意备案)。在开始之前…

    12 月 27 日 2019 年
    博客开发 Node Hexo