Hey, I’m JoeZhao, a software engineer, and a gamer.
在 hugo 中插入游戏信息卡片
起因:受到 https://immmmm.com/hugo-shortcodes-douban/ 的启发,看了一下也不是特别复杂,简单仿照了一下,获取游戏数据并展示。 目前支持游研社的链接(数据相对比较全,也比较好获取),后续有空的话可能会考虑一下支持一下 Steam 商店 之类的平台。 代码不复杂,直接开源了:gameinfo-api 框架使用的是 expressjs,使用起来并不复杂,直接看文档吧。 顺便撸了一个免费的 Node 服务:https://gameinfo-api.onrender.com,限制如下: 每月 100G 流量 每月 750 小时的时候时间 超过 15 分钟没有流量的话,服务会被睡眠,睡眠后如果重新收到请求,服务冷启动的时间可能需要 30s 或者更长的时间 如果不嫌弃的话,可以直接使用以上的 URL。 使用方法和案例如下: hugo 的 shortcode 和 CSS 在此:https://gist.github.com/bobolo2ex/7ffd163cc99d7891c8c362b19b632b34 <!-- shortcode --> {{ $dbUrl := "https://https://gameinfo-api.onrender.com/" }} {{ $dbID := replaceRE `.*yystv.cn/g/([0-9]+)/.*` "$1" (.Get 0) }} {{ $db := getJSON $dbUrl "yys/v1/" $dbID }} {{ $score := div (int $db.score) 10.0 }} <div class="post-preview game"> <img referrer-policy="no-referrer" loading="lazy" class="post-preview--image" src="{{ $db....
Test [draft]
《一日三秋》8.4作者:刘震云 / 花城出版社 / 2021-7刘震云2021重磅新作,人间多少事,两三笑话中 【编辑推荐】 ★《一日三秋》是当代著名作家刘震云的现实魔幻主义新作,《一句顶一万句》的升级版,从百年延宕到千年求索。 ★从《一地鸡毛》中的一斤豆腐到《一日三秋》中的一把韭菜,我们走过三十年,心态却如同经历了三千年。 ★神界鬼界 画里画外 戏里戏外 梦里梦外 故乡他乡 历史当下——“一日三秋”不止于时间体验,更是六重矛盾中的空间体验。 ★《一日三秋》是刘震云对故乡、对人生的多维反思,以笑话结构全书,以冷幽默消解严峻。 ★在人与故乡渐行渐远的年代,故乡成为一个遥远的记忆符号,然而它对人的影响却是连绵不绝的。刘震云以其独特的观察和幽默风格,写出了人类本质的命运。 【内容介绍】 小说《一日三秋》引用民间“花二娘”的传说,以想象的故事描述“我”记忆中的六叔生前所画的画作,探讨延津人幽默的本质。 从两米见方的剧团人物群像素描中挑出陈长杰、李延生、樱桃,围绕几位主人公身边出现的人物,有开车的、扫大街的、开饭馆的,串联起几个家庭的人生经历和故事,把世人被忘却的情感和心事复刻出来。后引出寻常父子二人遍尝生活辛酸后对人生至理的了悟,在不同时间和地点悟出:一个重要的的瞬间,在人生中犹如一日三秋,但这瞬间永不再来。 小说充满了黑色幽默,世俗生活所包含的哲理,及打破日常生活壁垒的想象力。刘震云写出现实与想象中的人性、土地、命运。既是幽默,也是讽刺;既是魔幻,也是现实。 流浪地球28.2导演:郭帆 / 片长:173分钟 / 类型:科幻 / 冒险 / 灾难 / 2023太阳即将毁灭,人类在地球表面建造出巨大的推进器,寻找新的家园。然而宇宙之路危机四伏,为了拯救地球,流浪地球时代的年轻人再次挺身而出,展开争分夺秒的生死之战。 转生王女与天才千金的魔法革命8.7导演:玉木慎吾 / 片长:24分钟 / 类型:动画 / 奇幻 / 2023在童年时重拾前世记忆的公主艾妮丝菲亚,因为无法使用魔法而遭到贵族的鄙视。但她却建立了独特的魔法理论并一直独自研究魔法,在某个机缘巧合下,艾妮丝菲亚撞见了天才公爵千金尤菲莉亚遭到剥夺王妃候补地位的场面。为了帮助尤菲莉亚重拾名誉,艾妮丝菲亚所选择的方法竟是要对方跟她同居,一起研究魔法!? “尤菲,你愿意跟我来吗?” “只要您不嫌弃,无论是去天涯海角,我都会陪在您身边,艾妮丝殿下。” 怪咖转生公主与冰山美人天才千金的邂逅,将持续为这个国家、这个世界,还有两人的未来带来变化。 王宫百合奇幻物语,就此揭幕! 本作改编自鴉ぴえろ的同名轻小说。 战场女武神4 7.1 发售时间: 2018-03-21 产商: 世嘉 动作 角色扮演 策略 一座正被战争的怒火吞噬的大陆! 《Valkyria Chronicles 4》与初代《Valkyria Chronicles》设定在同一时期,但故事将聚焦在联邦某E小队的士兵身上。Claude Wallace指挥官与他的童年好友将投身于一场绝地反击,但凛冽的暴风雪,如潮的帝国士兵与女武神的天生神力将是他们赢得胜利的巨大阻碍。 BLiTZ战斗系统与CANVAS图形引擎盛大回归! 游戏特色 战争年代的成长故事 以意志坚定的年轻指挥官Claude Wallace、工程师/重型武器专家Riley Miller、性格冲动的Darcsen Raz、冷若冰霜的神射手Kai Schulen等角色的身份展开故事。他们将一同体验战争的痛苦现实——以友谊之力作为纽带的E小队能否在冰冷的战场上生存下来? 次世代的"BLiTZ"战斗系统 融合俯视角回合制策略、角色扮演和实时第三人称射击游戏元素的"BLiTZ"战斗系统重回战场。 加入了新的游戏元素,如使用爆炸物的全新职业“投弹手”,多种攻防兼具的飞空艇支援选项,以及单位在濒死状态可能触发“拼死一搏”动作。此外,与帝国的威胁交战的舞台也将是史无前例庞大的全新地图。 CANVAS绘制风格 系列标志性的手绘画风回归,并为全新世代进行了全面革新。CANVAS图形引擎的创意来自水彩画作,将真实与幻想的视觉元素结合起来,呈现出风格明晰、色彩斑斓的世界。像观赏互动绘画一样见证E小队的旅程吧! 传奇音乐制作人的回归 初代《Valkyria Chronicles》以及多款经典作品的作曲者,极具感染力的崎元仁先生将回归,为本作创作宏大的交响风格配乐。 为PC版特别优化 4K分辨率、可自定义的键盘与鼠标操作,甚至包括超宽屏支持。还包括成就与Steam集换式卡牌支持。 星之卡比 探索发现 9....
Switch Emulators Guide
Ryujinx 指引 该指南将分为几个部分。您可以使用目录轻松找到您需要的部分。 如果想要更详细的内容,可以直接参考 Ryujinx 的官方文档 here 如果按照本指南进行操作后仍有问题并需要帮助,请加入我们的 Discord 服务器提问. 你可以在这里加入: Discord 下载说明(重要) 您下载的大部分(不是全部)内容都将采用压缩格式 (例如 .7zip, .zip or .rar). 你需要安装解压缩软件才可以使用。例如 7zip 和 WinRAR 目录 一、安装模拟器 二、安装 Keys 和固件(Firmware) Keys Firmware 三、安装游戏、更新以及DLC Loading Games into Ryujinx Loading Updates and DLCs 四、模拟器性能优化 Settings for all GPUs Nvidia GPU settings AMD GPU settings Intel GPU settings 五、安装模组(Mods)、存档(Saves)和着色器(Shaders) Mods Shaders Saves 六、杂项 Fixes for errors 一、安装模拟器 (可选) 你可以在 https://ryujinx.org/download 下载到最新的稳定发行版本. (可选) Github Source (手工编译): https://github....
Read and Parse JSON With Rust
主要讲讲 Rust 是如何处理 JSON 格式/文件的。 我的需求主要如下: 从一个远程地址下载 JSON 文件,保存到本地 读取这个 JSON 文件 对这个 JSON 文件内容进行搜索匹配 返回搜索结果 本文章的内容主要是集中讲讲第 2 步的内容。 首先需要解析 JSON 格式如下: { "0100000011D90000": { "bannerUrl": "https://img.../37fdb...f83a.jpg", "category": [ "Adventure", "RPG" ], "description": "Welcome to the Sinnoh region! ", "developer": null, "id": "0100000011D90000", "isDemo": false, "language": "en", "name": "Pok\u00e9mon\u2122 Brilliant Diamond", "nsuId": 70010000039950, "numberOfPlayers": 1, "publisher": "Nintendo", "rank": 30712, "ratingContent": [ "Mild Cartoon Violence", "Users Interact", "In-Game Purchases" ], "size": 7334789120, "version": 0 }, ....
Rust 基本知识
更多是从一个前端开发者的角度,来比较一下两门语言的区别,以助于更方便的入门。 基本类型(DataType) 多数情况下,基本类型直接代表了最底层的语言实现。 JavaScript 是弱类型,基本数据类型有以下 7 种: String Number BigInt Boolean Symbol ( ECMAScript 2016 新增 ) null undefined Rust 是 静态类型 ( statically typed ) 语言,也就是说在编译时就必须知道所有变量的类型。每一个值都属于某一个 数据类型 ( data type ),这告诉 Rust 它被指定为何种数据,以便明确数据处理方式。基本都属于两类数据类型子集:标量(scalar)和复合(compound)。 Integer (整数类型) 位长度 有符号 无符号 8-bit i8 u8 16-bit i16 u16 32-bit i32 u32 64-bit i64 u64 128-bit i128 u128 arch isize usize 每一个有符号的变体可以储存包含从 $-(2^{n-1})$ 到 $2^{n-1}-1$ 在内的数字,这里 $n$ 是变体使用的位数。所以 i8可以储存从 $-(2^7)$ 到 $2^7-1$ 在内的数字,也就是从 $-128$ 到 $127$ 。无符号的变体可以储存从 $0$ 到 $2^n-1$ 的数字,所以 u8 可以储存从 $0$ 到 $2^8-1$ 的数字,也就是从 $0$ 到 $255$。...
Switch 第三方自制工具列表 [draft]
如果不想研究的话,可以直接看这三个的整合工具(下载解压即可使用): DeepSea - All-in-One 工具包,有三个版本可以选择 ShallowSea - All-in-One 工具包,带商店 SDSetup - 可以自定义你需要的 CFW 工具 其他版本的整合工具 NeutOS StarDustCFWPack AtmoPack-Vanilla(有整合签名) rashevskyv RR_RetroReloaded Void-NX 唠叨几点: 开源软件几乎都是无收入来源的,条件允许的话可以适当赞助开发者,为爱发电。 工具版本可能跟系统版本有互相以来关系,如果出现闪退、报错,属于正常情况。 这个列表只是整理,因所有的操作都需要一定的技术基础,因操作失误导致的各种后果,本人不负任何责任。 任何利用第三方工具谋利的行为跟本人无关,建议直接举报。 如果你要通过搜索内存来修改数值的话,SD 卡不建议使用 exfat(出错概率太高了) 分类目录 【应用商店】 【关联绑定 Nintendo Switch ID】 【档案编辑管理】 【档案传输】 【游戏修改】 【游戏存档备份+转移】 【系统工具 for 大气层】 【系统工具 for SX】 【主机内档案转存】 【连接其他品牌无线手柄】 【网路应用】 【其他辅助】 【模拟器】 ============工具删除须知============ 放了一堆工具,不想要必须删除乾淨,要整理前请参考 # 大气层(Atmosphere) SDcard/atmosphere/contents 文件夹说明,删除前请确认 00FF0000000002AA : bootsoundnx 00FF0000636C6BFF : sys-clk 00FF747765616BFF : sys-tweak 01000000000000XX : 尾数 “08.32.34.36.37” 都是大气层系统组件,均不可删除 0100000000000038 : Noexes(制作金手指) 010000000000003C : Kosmos v16....
WordPress 如何禁止明文传输用户名密码,防止中间人攻击
虽然全站已经 HTTPS 了,但是因为某些原因,不允许明文传输用户名密码,也就意味着需要在客户端做一层加密,然后在服务端解密。 了解下来只能选择 RSA 的方式了。 准备工作,首先需要生成秘钥: # 生成 1024 位的 RSA 私钥 openssl genrsa -out key.pem 1024 # 导出相对应的公钥 openssl rsa -in key.pem -pubout -out pubkey.pem # 复制出来备用 cat key.pem cat pubkey.pem 打开 wp-login.php 文件,将以下代码补充到 loginform 后面,我是放在 $login_script 后面。 主要是为了捕获登录表单,在 submit 的时候,把 user_login 和 user_pass 各自加密后再发送到服务端。 <script src="https://cdn.jsdelivr.net/npm/jsencrypt@3.2.1/bin/jsencrypt.min.js" type="text/javascript"></script> <script type="text/javascript"> (function($) { var user_pass = $("#user_pass"); var user_login = $("#user_login"); var loginform = $("#loginform"); var sign = '公钥'; var encrypt = new JSEncrypt(); encrypt....
定时检查 unraid 网络情况,并重启
主要是为了解决机器不知道为啥突然掉 ip 的问题,就写了一个简单地监测脚本。 这是一个简单的小技巧,直接使用 unraid CA 的 User Scripts Plugin 即可。 新建一个 Script, 名字简介随便填,Script 内容如下: #!/bin/bash ping fun2ex.com -c 1 >/dev/null if [ $? -ne 0 ];then # powerdown -r echo `date` powerdown restart >> /tmp/powerdown_logs.txt fi 检查时间选手动,按照 cron 的规则添加即可,考虑到阵列关机的时间,我这里设定了 30 分钟检查一次。 # cron setting */30 * * * * –EOF–
解决华擎 Z370M-Pro4 主板在 Unraid 无法获取风扇转速
主板型号:华擎 Z370M-pro4 安装了「Dynamix System Temperature」却发现怎样也获取不了主板的温度和风扇的转速。 经过一番资料搜索,大致确定问题如下: Dynamix System Temperature 非商业应用,实际上能够校验的主板不多 coretemp 不支持 ITE IT8686E Super IO Sensors 华擎的部分主板是 nct6683 感应器,只能通过手动加载 mod 处理 知道了问题,那么解决起来也简单,打开终端手工加载一下驱动即可: $ modprobe coretemp $ modprobe -r nct6683 $ modprobe nct6683 force=1 然后回到 了「Dynamix System Temperature」 看看是不是已经可以正常了。 –EOF– 参考资料: 温度检测插件无法检测到主板风扇的转速 Unraid插件篇—重点解决ITE IT8686E芯片驱动无法获取阵列风扇信息
解决 Unraid 在关机的之后无法 unmout NFS 的问题
先说一下场景: 主机安装了 unraid 6.9.2 开了一个虚拟机跑黑群晖, 并直通了一个网口+两块硬盘 unraid 通过 Unassigned Devices 来挂载黑群晖的硬盘, 使用 NFS 协议 问题: 想更换硬盘的时候, 直接点停止阵列, 等了大半天都没有停止成功。 检查了一下系统日志, 发现一直卡在 Unmounting Remote SMB/NFS Share 不成功, 并且一直在重试。 造成这个问题的原因是因为黑群晖也是跑在 unraid 上面的, 停止阵列的操作会优先把 Docker 和虚拟机服务优先关闭掉, 导致 NFS 链接失去响应无法正常 Unmoun。 搜索了一下发现好多人都碰到过类似的问题:NFS 服务器某些原因断网后, NFS 客户机无法 umount 直到最新的 nfsv4 都是这样子, 所以会造成进程一致卡住在重试。 解决办法有以下两种: 更换成 SAMBA, SMB 无法卸载不影响关机,不会造成假死。 在关机前, 手动在 Unassigned Devices umount 所有已经挂载的 NFS mount, 或者可以打开终端运行 umount -l /mnt/remotes/* 强制卸载所有 NFS umount. 剩下在问题就是如何把方案 2 改成自动化,不需要每次去手工执行,在 unraid forums 看到一个解决方案:...