Recent Posts

贺兰星辰's avatar

耗时半天,我用 Kotlin 实现了 helang 何语言

耗时半天,我用 Kotlin 实现了 helang 何语言 起因 事情是这样的:一天下午,我偶然看到了这个仓库 […]

耗时半天,我用 Kotlin 实现了 helang 何语言最先出现在HikariLan's Blog

贺兰星辰's avatar

解决 Argon 主题浏览页面时滑动过快的问题

解决 Argon 主题浏览时页面滑动过快的问题 问题发现 Argon 这个主题也用了不短的时间了,在使用的过程 […]

解决 Argon 主题浏览页面时滑动过快的问题最先出现在HikariLan's Blog

贺兰星辰's avatar

解决 Windows 11 在 HDR 模式下截图 Edge 浏览器界面时画面过曝的问题

解决 Windows 11 在 HDR 模式下截图 Edge 浏览器界面时画面过曝的问题

问题复现

众所周知,Windows 11 内置了 HDR(高动态色域) 支持,当我们的显示设备支持 HDR,并启用 HDR 时,我们便可以看到比平常(SDR)更细腻的颜色。但是,默认情况下,当我们在 HDR 模式下试图使用任何截屏工具(甚至录制工具)截取 Edge 浏览器界面时,你会愕然地发现截图(录制)出来的画面会突然过曝:

这其实是由于 Edge 使用了错误的颜色档案导致的,我们可以通过修改默认颜色档案配置来修复这个问题。

问题解决

访问 edge://flags/,搜索 Force color profile,并按照你的 HDR 颜色档案进行配置:

作为参考,我的联想 R9000P 2021H 笔记本在 启用 HDR(Dolby Vision)时,将 Force color profile 设置为 Display P3 D65 档案可以完美解决这个问题。设置完成后,截图便不会再过曝:

如果你不清楚什么颜色档案是适合你的,你可以一个一个试试,注意,这有可能会导致你的 Edge 浏览器无法正常显示内容(例如内部全黑,全白),因此,建议你新开一个 Edge 浏览器档案单独测试,以免无法 rollback。

解决 Windows 11 在 HDR 模式下截图 Edge 浏览器界面时画面过曝的问题最先出现在HikariLan's Blog

贺兰星辰's avatar

面试经历 – Troph(北京时代传浮科技有限公司)

面试经历 – Troph(北京时代传浮科技有限公司) 在 August 9, 2022 和 Aug […]

面试经历 – Troph(北京时代传浮科技有限公司)最先出现在HikariLan's Blog

tdiant's avatar

2022年7月总结

不知不觉已经上了两年的大学了,也很久没在自己的博客里更新总结文章了。现在正在暑假期间,时间稍微充裕了一些,索性 […]
单项式's avatar

PsychoPy 简明扼要上手指南——进阶篇

[hplayer][Music server="netease" id="29774186" type="song"/][/hplayer]开始之前[post cid="216" cover="...
贺兰星辰's avatar

长沙六日游记 – 第五天/第六天

第五天早上: 凤凰古城瞎转悠
然后,从十一点开始,做了八个小时的车回长沙
晚上,恰了个饭。
在这里点名批评长沙的核酸检测机构,单检窗口比混检窗口多三个,结果混检那边排了一堆人,最后排了好久没办法只能花 16 块钱做单检。

第六天: 大早上去橘子洲头逛逛~

时间过得真快啊,下午六点就坐飞机返回西安啦~

长沙六日游记 – 第五天/第六天最先出现在HikariLan's Blog

贺兰星辰's avatar

长沙六日游记 – 第四天

六星级酒店的早饭也是这么的「端着」呢:

今天主要的观景地就是云台山。

坐缆车上山,很快,也很长,半个小时才到山上。

过玻璃栈道的时候偶然看到绿色,很喜欢。

山上的景色也十分不错。

接下来,就是四五个小时,前往凤凰古城的车程(车上一直在写前几天的游记,一直写到凤凰古城的游客中心,呜呜)

晚上:蹦迪古城




大晚上不睡觉来这是我做过的最错误的决定。

虽然但是,世界树挺好看的(bushi

DLC: 蹦迪古城珍贵视频

长沙六日游记 – 第四天最先出现在HikariLan's Blog

贺兰星辰's avatar

长沙六日游记 – 第三天

Tips: 原文著于 July 23, 2022,对应时间实为 July 22, 2022

先是去了个玻璃栈道,本来没啥意思,结果底下有人蹦极,吸引了一堆人来看,还挺有意思:

接下来,前往张家界国家森林公园,风景很好:







最后,今天晚上住了个度假酒店,似乎是六星级酒店,十分豪华(附本来是给班里同学发的介绍视频):

长沙六日游记 – 第三天最先出现在HikariLan's Blog

贺兰星辰's avatar

长沙六日游记 – 第二天

Tips: 原文著于 July 23, 2022,对应时间实为 July 21, 2022

来到长沙的第二天!早上六点半起来,匆匆吃完早饭后,七点半左右就出发前往景区了。

行程过程中路过的橘子洲头:

上午前往了韶山,参观了毛主席故居。由于个人不太感兴趣,因此过多拍照(题外话,里头收费有够恶心的)

正当我以为长沙之行也就这样的时候,晚上前往的「黄龙洞」震撼了我,让我觉得不虚此行:

黄龙洞外景



进入黄龙洞


奇山怪石:
















实在是拓展眼界(就是有点废脚,逛了俩小时,爬来爬去,回程的时候走一步腿抖三步,hhh)

长沙六日游记 – 第二天最先出现在HikariLan's Blog

贺兰星辰's avatar

长沙六日游记 – 第一天

Tips: 原文著于 July 23, 2022,对应时间实为 July 20, 2022

经过多天的筹划,终于决定了本次前往长沙旅游的行程,为了不留下遗憾,特此撰写游记记录下来这次旅程(其实本来打算去成都的,结果恰恰成都爆发了疫情,最后只得换成长沙)

早上十点左右,收拾好行李,吃好早餐(吃了碗糊辣汤,味道不错),站在路上等待接机师傅的车。

前往机场ing…


到达 T3 航站楼!

虽然这不是我第一次来机场,但是确实是我第一次坐飞机,所以心情十分激动!

经过安检

拍一些大飞机ing…


其实本来是两点的航班,结果由于前序航班晚点,导致我们的航班也延迟了两个小时,煎熬ing…

登机咯




等待起飞…

飞行中…

经过了两小时的飞行,终于到达了长沙!

第一天并没有安排什么行程,因此我们研究过后决定去扬帆夜市整点吃的。冰粥和生蚝很好吃!(臭豆腐一般

最后晒一张酒店房间照片

就是这样,晚安啦~

行程简表:

长沙六日游记 – 第一天最先出现在HikariLan's Blog

单项式's avatar

PsychoPy 简明扼要上手指南——入门篇

[hplayer][Music server="netease" id="35470288" type="song"/][/hplayer]前言容我想想要从哪开始写啊……前一阵子因为各种机缘巧合...
's avatar

简记C语言清空输入残留内容

为了在命令行程序中实现和用户的交互,我们编写的程序的运行过程中往往涉及到对标准输入/输出流的多次读写。在C语言中接受用户输入这一块,有着一个老生常谈的问题:“怎么样及时清空输入流中的数据?”这也是这篇小笔记的主题内容。
's avatar

【小记】与指针和二维数组过几招

在C/C++中有个叫指针的玩意存在感极其强烈,而说到指针又不得不提到内存管理。现在时不时能听到一些朋友说指针很难,实际上说的是内存操作和管理方面的难。(这篇笔记咱也会结合自己的理解简述一些相关的内存知识)最近在写C程序使用指针的时候遇到了几个让我印象深刻的地方,这里记录一下,以便今后回顾。“经一蹶者长一智,今日之失,未必不为后日之得。” - 王阳明《与薛尚谦书》
tdiant's avatar

初学Java NIO

Java中目前有两套I/O库,分别是BIO(Blocking I/O,位于java.io包)与NIO(Non- […]
's avatar

想法子记忆Vi/Vim常用操作及指令

在Linux系统中编辑文本总是离不开一位老帮手——Vi。而因为其诞生的年代有些久远,有些操作在现在看来可能有点“反直觉”。于是我决定写这样一篇小笔记,记录一下我记忆Vi的这些这些 常用 操作和指令的方法(主要靠的是英语和图示了)。当然,正如“好记性不如烂笔头”所言,多实践才是熟练掌握技能的王道。
tdiant's avatar

双拼输入法,好使还是不好使?

本来我是用全拼的。有一天在上厕所的时候刷B站,突然刷到一条安利双拼输入的视频。了解过后我就感觉这玩意儿确实有实 […]
贺兰星辰's avatar

Forge 开发经验 —— 创造一个通过消耗耐久值进行合成的物品

Forge 开发经验 —— 创造一个通过损坏耐久值进行合成的物品

如果你玩过工业 2,你应该知道“锻造锤”这个物品,它可以通过消耗耐久值来将矿物锻造成矿物片,但是实际上“消耗耐久值合成”这个功能在原版是不受支持的,那么,应当如何实现这个功能呢?

环境:Minecraft 1.18.2, Forge 40.1.0, Mapping ‘parchment’ 2022.03.13-1.18.2

刚开始的想法

首先我们肯定还是要按照正常的情况(直接消耗整个物品,而不是消耗耐久值)将 recipe 的数据包 json 制作好的,接下来,我们要想办法让他消耗耐久值:

通常我们会想到用数据包直接实现,但是这个上面说了是不受支持的;

然后我们可能会想到用事件来捕获,但是 PlayerEvent.ItemCraftedEvent 被触发时合成已经结束了,因此我们是无法获知合成信息的;

然后我们可能会想到覆盖 Item.onCraftedBy 方法,但是这个方法的和上面的事件一样,被触发时合成也已经结束;

利用原版已经存在的机制

事实上,我们可以先退一步,看看看原版有什么东西是可以在合成时保留原来的物品的,诸如水桶这样的容器,都拥有这样的属性,经过查看,我们发现 Item 事实上存在一个 craftingRemainingItem 属性,代表的就是合成剩余的 Item,应该在初始化时通过 Item.Properties 传入。

但是我们不能按通常的办法向 Item.Properties 传入 Item:在对象初始化期间传入 this 显然是不可能的,传入一个新的对象实例则会直接导致无限递归调用。

这时,我们就需要退而求其次,看看 craftingRemainingItem 属性是否存在访问方法,然后通过 override 这些访问方法,间接的传入 craftingRemainingItem。恰巧,我们可以看到 IForgeItemItemStack getContainerItem(ItemStack itemStack)boolean hasContainerItem(ItemStack stack) 方法提供了这些功能,接下来,只需要编写代码,便可以完成我们要的效果了:

package io.hikarilan.examplemod.items

import net.minecraft.world.item.Item
import net.minecraft.world.item.ItemStack
import net.minecraft.world.item.Rarity
import kotlin.random.Random
import kotlin.random.asJavaRandom

class ExampleItem : Item(
    Properties()
        .stacksTo(1)
        .durability(10)
) {

    override fun getContainerItem(itemStack: ItemStack): ItemStack {
        return itemStack.copy()
            .apply { hurt(1, Random.asJavaRandom(), null) }
            .let { if (it.damageValue >= it.maxDamage) ItemStack.EMPTY else it }
    }

    override fun hasContainerItem(stack: ItemStack): Boolean = true

}

简单来说,首先覆盖 hasContainerItem 方法让 Minecraft 知道,craftingRemainingItem 字段应该是存在的(即使实际上它是空的),然后,覆盖 getContainerItem 方法,当每次需要的时候,就复制一份 itemStack,然后令其耐久减少,当减少到 0 的时候返回空物品(也就是物品消失)

Forge 开发经验 —— 创造一个通过消耗耐久值进行合成的物品最先出现在HikariLan's Blog

's avatar

关于我

我是SomeBottle.英文昵称源于以前我喜欢收集瓶子的习惯,先前名字是Sam..后来觉得太土了,就自己取了个SomeBottle.# 捐赠小站的发展需要持续的动力!点我前往# MOTTOStay hungry, stay foolish.# 个人博客对我来说是什么展开查看个人博客对我来说是分享想法,记录生活的一个有温度的地方。很喜欢博主7gugu的一句话:现在太多学CS的,仅仅是把Blog变成...
tdiant's avatar

关于为什么不加学校学生干部好友的解释

在我博客的关于页面的“关于拉黑”里,我已经写明了这么一条约定,满足后就会直接拉黑: 你是我们学校校干、院干的有 […]
单项式's avatar

关于社区型Minecraft服务器的一些思考——续篇

[scode type="blue" size=""]前情提要:关于社区型Minecraft服务器的一些思考 - 单项式的笔记本RE: 关于社区型Minecraft服务器的一些思考 - Ghos...
单项式's avatar

关于社区型Minecraft服务器的一些思考

“是谁将足迹留在绝无退路的方向/当作只属于自己的宝藏”——《北归信使》,CPK(我也不知道我为什么要引句这个,别问)从去年3月19号创建这篇文章到现在,一年多时间,我已经参观/调查/卧底/(wh...
tdiant's avatar

ArchLinux!冲!

正在用的笔记本是锐龙R5款的联想小新Pro16,GTX1050+16G内存+512G SSD,出厂预装了Win […]
tdiant's avatar

POJ3889 Fractal Streets

由于自己一直不刷题,越来越菜,为了拒绝躺平,我决定刷刷题! 题意 现在我们要负责城市扩建的规划工作。建筑位于每 […]
's avatar

关于-赞助

# 我一直在用比较低廉的机子。希望你能出一份力,让我能有个更好用的服务器或者搞一碗泡面吃~另外如果不希望匿名,可以在捐助的时候备注一下~爱发电!微信&支付宝# 记录感谢大家的支持!日期数额SponsorPlatform留言2020.5.2215¥匿名朋友n*e微信收款2020.2.1025¥匿名朋友微信收款2020.210¥BigGaySheep,OMG,匿名朋友爱发电2021.2.118...
's avatar

暑日至寒天,掠过大二上

转眼就到寒假了,主博客都快长草了,是时候总结一下过去这段时间了!(屁嘞!寒假都结束了喂,你这篇文章写了多久啊ヽ(`⌒´メ)ノ)这篇总结之所以憋了这么久是因为这段时间一直在更新博客系统,现在终于整完了。(你每天都码的话1月就能写完吧喂)咳咳...闲话不多说,我们开始!# 暑假接上一篇日常小记青岛&威海小游流水账,之后剩下的暑假日子咱过得算是比较悠闲了:炒菜吃为了成为将来的家庭主夫以后能照顾好...
's avatar

邻居们~

# Ta们暂时离开了 ↓这些小伙伴们的站点遁形在了互联网中,或许有一天我们会再会! vdbvbd - 站点变视频站了YCwei - 以前咱在短片圈的好朋友,现在没在做博客了Ghosin - 似乎退网了的大佬,现在应该在做网安了~...
tdiant's avatar

论维护学校OJ有多生草(1)

我们学校的OJ系统是我们学校程序设计基础这门课期末考试的考试平台。我大概是大一的时候,被老师拉去看着它,从此我 […]
's avatar

写在将开发环境迁移至Linux一个月后

从毕业进有赞之后,有赞发了一台13寸的MBP作为工作机,我就开始用MacOS作为开发环境了。后续发的机器性能实在不够用,就在16款touchbar MBP发布后,买了15款顶配的MBP。MacOS开箱即用的桌面环境和靠谱的命令行工具链确实非常吸引人,当时还没有WSL,Windows底下各种魔法的bug着实有些让人头秃。
即使离开有赞后,MBP依旧是我的主力开发环境,家里的Windows基本只用来打

...
tdiant's avatar

今天突然想搞一下Python

在之前对Python的印象,也仅仅是停留在口嗨阶段,也就是一直说要学要看,但是从来没看过也没学过。自己明白Py […]
单项式's avatar

ATRI -My Dear Moments- 评价&吐槽——“为什么这个游戏有个结局”

[hplayer media="netease" id="1487339803" type="song" size="large" auto="true"/][scode type="red"...
单项式's avatar

Midnight_Radio 命令列表

[scode type="yellow" size=""]出于管理需求,Midnight_Radio 不自动接受各项邀请,以防滥用。私聊使用暂不限制。如需在群聊中使用本 bot,请联系单项式并将...
's avatar

Python正则表达式细节小记

最近做Python课实验发现正则表达式和它在py中的的标准库re有很多能多琢磨一下的点,遂决定写成一篇小记,以后想复习能再来看看。#名词因为不同文献书籍对正则表达式的描述有差别,我在这里列出一...
单项式's avatar

安装并使用 caj2pdf 的傻瓜式指南

作为文献大户专业,心理学需要阅读的文献量巨大。但众所周知,CAJViwer 这玩意的响应速度实在不行,而且处理文献十分不便。虽然其内置了导出 PDF 的功能,但是其导出的为没有大纲的纯图片 PDF。

又不是不能用.jpg

好在 Github 上有这样一个项目:caj2pdf

然而这并不是一个标准的 Python 包,我不能一个 pip install caj2pdf直接开跑,然后我又不会别的了。

行吧,感谢 Eter 雪中送炭(

所以,这是一篇傻瓜式指南,旨在给像我一样没有任何编程基础(其实还是有那么一点点)但是又需要用这玩意的同志提供帮助。


0. 安装 Python

这里就不讲了,参考:Python 3 环境搭建 | 菜鸟教程

1. 下载 caj2pdf

在其 Github 项目页上下载其完整源码。该项目处于持续更新状态,所以其实可以考虑时不时回来更新一下。

下载后解压,记住存放路径备用。

2. 安装 mutool

根据其指引文件,该程序需要 mutool 才能运行,因此前往下载:https://www.mupdf.com/downloads/index.html

解压之后,记住存放路径备用。

3. 安装 PyPDF2

打开命令行,输入:

pip3 install PyPDF2

如果你 Python 装得没问题的话,这一步应该会成功。

4. 设置环境变量

根据指南,需要把 mutool 设置为 Python 运行的环境变量,以便程序调用。

右键“此电脑”——属性——高级系统设置——环境变量,编辑如下键值:

点击编辑,出现如下界面,点击新建,将 mutool 的路径填进去。

5. 程序理论上能跑了

打开命令行(CMD),cd 到你解压 caj2pdf的目录,然后运行:

# 转换文件
python caj2pdf convert [CAJ文件的完整目录(包含输入文件名)] -o [你准备输出文件的目录(包含输出文件名)]
# 从 CAJ 文件中提取大纲信息并添加至 PDF 文件
## 遇到不支持的文件类型或 Bug 时,可用 CAJViewer 打印 PDF 文件,并用这条命令为其添加大纲
python caj2pdf outlines [CAJ文件的完整目录(包含输入文件名)] -o [你准备输出文件的目录(包含输出文件名)]

拿我自己的举个例子:

python caj2pdf convert D:\Documents\BNU\文献\中英字幕对中国英语专业大学生附带词汇习得影响的实证研究_马超.caj -o D:\Documents\BNU\文献\中英字幕对中国英语专业大学生附带词汇习得影响的实证研究_马超.pdf
python caj2pdf outlines D:\Documents\BNU\文献\中英字幕对中国英语专业大学生附带词汇习得影响的实证研究_马超.caj -o D:\Documents\BNU\文献\中英字幕对中国英语专业大学生附带词汇习得影响的实证研究_马超.pdf

一切正常的话,你的文件已经输出了。

6. 善后

这个运行方式说实话非常不优雅,显然不是为外行设计的(

原计划自己写个批处理,但是我 CMD 语法早八百年忘干净了,正在我重新捡起来的过程中 Eter 给我发来了一段代码:

这段代码有 bug,我不会修,不是很好用,大家还是自己手动算了(
@echo off

for /f tokens^=* %%i in ('where .:*.caj') do python [替换成caj2pdf路径] convert ^%%~dpi^%%~nxi -o %%~dpi^converted^\^%%~ni^.pdf
for /f tokens^=* %%i in ('where .:*.caj') do python [替换成caj2pdf路径] outlines ^%%~dpi^%%~nxi -o %%~dpi^converted^\^%%~ni^.pdf

把路径填进去,保存成一个 .bat文件,然后把这个脚本放进你有 CAJ 文件的目录里运行,高效快捷全自动。就是其实也不是很优雅(

但是我水平就到这了(

后记

原作者本人表示,该软件仍然无法处理全部的 CAJ 文件,但是应付日常应该是够用了。

总之就是这样,也没什么技术含量也没什么别的,纯属帮帮像我这种小白(

DDL 越多越想摸鱼,十篇文献摘要还没写,然后我花了半个小时写了个这个,溜了(

单项式's avatar

关于在BNU实现流量自由的那几档子事

众所周知,在北京正态大学,想要上网冲浪是个及其肉疼的事情(此处并不打算对比其他大学,单从平时上网体验而言),就不说有看视频/下游戏需求的我了。引用我们的一段对话:“这年头看个直播,第一件事打开清...
's avatar

MORE 探寻更多...

.post-contentimg{max-width:20px;}.topbackpic{max-width:100%;}#[音乐盒]♪♪#[搜索文章]🤔#[标签页]🔖#[实验室...
's avatar

【动画解释】关系数据库de关系代数小记

本文章在Github撰写,同时在博客园进行了发布。最近学数据库概论学到了关系数据库的关系代数了。哎嘛,真的把我整晕了,尤其是关系代数的使用,很容易让人被蒙在鼓里。对我来说槽点最大的莫过...
tdiant's avatar

今年我当了一次傻逼

大一过完了,副本打完了该开新副本了,接着滚去上大二了。 既然有大二,肯定会有大一新生进来。 于是今年,我就当了 […]
's avatar

大物实验有效数字与测量值小记

不得不说,大学物理实验这个有效数字和测量值的表达真的把我搞晕了,老师也就粗略过了一下绪论,结果实验报告要求又严格…这里根据网上搜集到的资料和个人理解做个总结,也以便后期参考我学校使用的教材:《大...
's avatar

JS小记:闭...闭包?

最近在重打JavaScript基础…看廖雪峰博客的基础教程时看到了闭包这个字眼,但有点意思的是文章并没有更进一步去探讨闭包到底是什么,而是列出代码让大家去体会。但既然是打基础,我觉着有疑惑的概念...
's avatar

青岛&威海小游流水账

高中三年因为学业忙碌和其他各种原因没能和家人一起出去游玩一趟,今年暑假咱就计划了去看看海~结果事出意料,7月底疫情又来了,但咨询了一下发现酒店和飞机都很难办理退款手续,研究了一下发现山东和湖北情...
tdiant's avatar

关于怎么更好地骂人不带脏字的简单研究

背景 我觉得任何一个人都需要有一个不得不回怼一个哈皮的时候。显然,适当简单的研究一下怎么骂人是一个很有意义的事 […]
's avatar

简掠大一下学期生活

大一下学期总体给我的印象就是接踵而至的小任务和小烦恼,这里就简单写个小记掠过一下~学习变困难了些当拿到大一下学期的课表时我就开始暗叹不妙了,一大敌人啪的一下就打在了我面前:有机化学...
单项式's avatar

深夜有关“第二个Undertale”的随想

原本是一段24小时自动删除的说说,想了想可以归档到这里

稍微看了一些文章
感想是
没有任何剧情向RPG游戏应该被称作“第二个Undertale”。

所有以剧情为导向的游戏,其故事内核必定是独特的、不可替代的。像这样简简单单将其和别的游戏作比是在否定作者的独创能力。

Undertale在游戏史上一定是浓墨重彩的一笔,但这不代表后来的作品一定是步其后尘。

Undertale是独特的,其他优秀的剧情类RPG游戏也是独特的,独一无二的。

单项式's avatar

Nitrome 吧文献收集处

以下为Nitrome吧整理的相关文献资料:


必修课

Mat访谈

【中文翻译】专访Nitrome创始人Mat Annal: Flash小游戏的消亡与未来


建议修读

Nitrome发展与未来预测

浅评Nitrome游戏:困境与重生

Indie Spotlight: Nitrome's Matthew Annal on coming back from the brink


选修课

Nitrome音乐汇编

Nitrome音乐汇总

Nitrome程序员访谈

Nitrome Lead Programmer Interview: Romain Macré

Nitrome合作伙伴关系史

Interview: Why Poki is partnering with Nitrome and more to preserve the Flash games of old

Why Yacht Club is Handing Shovel Knight Dig to Nitrome


参考资料

译名对照表

Nitrome游戏名对照表

Nitrome文献综述

Nitrome 相关资料年表 - DOC.CPK.MOE

调色板

B站Nitrome相关话题稿件统计


班级公告

Nitrome 吧有关“女巫之眼”的正式声明

Nitrome Wiki 迁移计划正式启动

Langua's avatar

...于是重新把博客开起来了...

其实重开博客是 2020 年 12 月就在考虑的事情了,结果拖到了现在。

's avatar

给服务器上clash透明代理

下载之类的就不在赘述了,直接从配置开始

首先在服务器上最重要的需求之一就是尽量不要影响到服务的流量性能,所以和家用代理会有一些细微的规则调整。

Clash本体

我的网关机器上原始是没有dns服务的,直接转发给114,所以现在要让clash接管53端口,但是又不希望clash进程跑在root用户下,所以需要给特殊权限
setcap 'cap_net_admin,cap_net_bind_servic

...
's avatar

再见了,我的友基数位板

四月中旬的时候我参与了学校的艺创杯视频创作比赛,规划视频草稿的时候决定加一点点动画部分在里面直到五月头我才开始做动画这部分,结果发现这数位板画出的这线条怎么也不直,弯弯扭扭的。想了一下,我技术再...
's avatar

nestjs provider TRANSIENT作用域下获取注入目标

最近在写nestjs-bunyan的时候,想要实现decorator自动创建childLogger,记录当前class的功能,最初的实现也很简单粗暴,在decorator上记录当前类名,然后给每个类名创建一个Provider。

但是这样做缺点也很明显,在应用启动后,没法创建新的日志模块,也不能手动添加日志模块。正好最近公司基建在做日志改造,就决定优化一下这个逻辑。

经过一阵深思,觉得nestjs的

...
's avatar

大一上学期生活剪影

多图预警!主要内容:院运动会,环服比赛,神奇的高数老师,拿到流媒体纪念品,激动人心的英语选课,室友的一天,武汉寒潮,麦当劳排队,初雪,期末考试。嘛,因为学习太忙了(懒),本来我要详细记录的大一上...
's avatar

用图床看视频的体验·改

去年年初我看到了meto萨摩的博客发了篇新文章:用图床看视频是什么体验看完后顿时十分向往,有着折腾魂的我也想整个,但当时还在备战高考,便暂时搁置了(随后差不多半年也忘了这事)直到今年寒假即将...
's avatar

解决Office365订阅的SMTP服务器验证问题

今日下午阳光正好,散步回家的我看到新文章有人发表了评论,便也回复了一下。转念一想,现在博客所用的Comment.B系统评论互动并不像别的博客有邮件提醒,导致略显冷漠,遂想着做个发邮件队列。想法一...
's avatar

反向代理Onedrive之路

从小时起我一直蛮喜欢免费低成本的东西,这也养成了我喜欢折腾的性格。好好想想,免费、稳定、速度这三者有共存过吗。没错,既然免费了,稳定和速度都成了待选项目。直到我遇到了onedrive(国际...
's avatar

搜索页OvO

输入文章内容或者标题以搜索....(回车)input{border:1pxsolid#ccc;border-radius:2px;color:#000;font-family:'OpenSans...
's avatar

关于雷电3带宽,你所不知道的事情

TLDR

曾几何时,我也以为雷电3传输数据,能跑出标称的40Gbps带宽,不过仔细翻了翻文档,我才发现只传输数据,最大带宽是22Gbps。这个“40Gbps”的标称值,有点类似于电信的“3000M宽带”(1000M家庭宽带+千兆无线+千兆5G)

0x00

第一次发现这个说法,是在一篇知乎专栏中发现看到的

但是文章中并没有给出这个数据的出处,所以一开始内心也表示怀疑,于是搬出Google

Goo



...
's avatar

解决Windows10 莫名端口占用,而又找不到占用应用

这个问题已经有一阵子了,最初是WebStorm启动的时候报端口占用,本来以为是WebStorm的问题,所以问了jetbrains。回复是重置winsock,好了一段时间。
不过好景不长,接着是Shadowsocks-win启动的时候又报1080端口被占用。
而用"netstat -ano|findstr 1080"命令却找不到任何占用这个端口的程序,网上一阵搜索也没找到相关的修

...
's avatar

记录一下bmclapi请求量


单日请求量已经快两千万次了,高峰期也超过了600QPS


请求的文件其实也挺集中的,基本上就是最近几个版本的asset和libraries补全。其实根据这些特征,可以考虑下一步openbmclapi根据热度区分节点文件优先级了




...
's avatar

写给BMCLAPI单日调用次数超过一千万次


本数据包括MCBBS源
今天你贡献流量了吗

最初开始做BMCLAPI的时候只是因为对BMCL的下载速度不满意,有些启动器在我之前是通过多线程分段下载加速的。至于我,就发挥老本行,自己做镜像。最初的BMCLAPI其实还没有名字,我只是用我自己的网页服务器+ftp上传文件。1.2.5时代的资源文件还很简单,游戏内F3+S就可以下载。下载完之后我再手动上传到服务器上,于是这就是最初的BMCLAPI。


...
's avatar

升级windows 10 1903 时遇到 Intel® Rapid Storage Technology (Intel® RST) 驱动版本错误

最近在升级到windows 10 1903时遇到了驱动错误,具体报错如下图

之后我发了条微博吐槽这件事情https://weibo.com/1457585272/HFKVVzYaa

结果发现不少人也有同样的问题,而且Google和百度也并没有找到靠谱的方案。我来记录一下我的解决过程,希望能帮助到有同样报错的人吧。

不过我也不确定我的方法能够适用于所有情况,不过据微博的反应来看应该似乎是可以的,由


...
's avatar

爱发电赞助名单生成脚本

自从bmclapi赞助开始用起爱发电,就一直在手动维护赞助名单,随着名单越来越长,每次维护名单的时候都要手动添加然后人肉去重。问了一下官方,也暂时没有打算做webhook。
每次手动维护名单实在好烦,于是花几分钟研究了一下赞助名单接口,又花了几分钟糊了个脚本,来自动生成赞助名单的markdown。
以下代码只要打开爱发电的网页,登陆后打开开发者工具,粘贴执行即可得到对应的赞助名单

!async f

...
's avatar

Todoist,让你的生活井井有条

很久以前我就在寻找一款靠谱的todo list应用,但是一直没有找到一个彻底满意的。
在此之前也陆陆续续跟朋友一起用过Habitica。但是Habitica有一些缺陷,以至于一直无法让我把它作为一款生产力工具对待。比如

  • 虽然有移动端APP,但是对弱网支持不好,没网的时候连想看下有些什么事情都不行。
  • 没有定时提醒
  • 分组功能太鸡肋
  • 定期任务不能改日再做

中间也考虑过自己动手丰衣足食,但是自己搞还要

...
's avatar

socket.io的一个“坑”

0x00 背景

厂里有一个推送服务,负责网页推送和数据同步,基于socket.io。
网页推送通过rabbitmq监听队列实现组织成员变化和对应socket.io房间用户的同步。

0x01 表现

新建一个组织后,立即邀请一个用户B,则当前用户A(不是被邀请的,是邀请别人的)用户也会收到目标用户的邀请通知推送,但是由于A并不是这个通知的接收人,所以点开会丢出403。
正常情况下用户A根本不应该收到这

...
's avatar

搭建私有邮件服务器——从入门到放弃

0x00 为什么要搭建私有服务器

最近看到了LWL的https://blog.lwl12.com/read/mta-of-the-elite.html

于是也计划了一下自己的邮件服务器,由于饱受各类垃圾邮件骚扰,所以一直想要一个支持wildcard收信的邮件服务。
而国内各类公开的邮件服务,无论是付费的也好,收费的也罢,似乎都并没有退出这个功能的计划,于是就想趁这个机会一起搞定。

0x01 准备工

...
's avatar

nginx使用h2c协议时会导致http/1.1失效

最近有个朋友问我nginx反代什么都变成了下载。
第一反应当然是content-type的问题,于是用命令行访问先检查一下返回的content-type到底是啥,结果

难道是httpie的问题,于是又试了试curl

这就很尴尬了

查看一下返回的hexdump,基本和httpie的报错是一样的
那让我们回退最原始的telnet

结果依旧令人崩溃,而且nginx的access log以及err









...
's avatar

有生之年又踩到了tengine的bug

今天新上线一个项目的时候用到了一个上传的接口,在本地测试和内网环境下都正常,上服务器以后一直504,应用log显示文件没有被上传上来,而浏览器log却显示文件正常上传。
初步推断是tengine上没把请求转发完全,导致后端一直在等待剩下的body,直到90s超时。

于是在服务器上架起了ssh隧道,通过本地直传服务器,就能够正常上传,于是将问题确定在了反代的tengine上

最初以"ng

...
's avatar

node.js的v8.serialize和v8.deserialize

这两天翻nodejs的api文档时发现了两个新API,v8.serialize和v8.deserialzie,官方给出的说明是这样的

The serialization API provides means of serializing JavaScript values in a way that is compatible with the HTML structured clone alg

...
's avatar

这可能是我写过的最沙雕的应用了……

GIF倒放

https://lab.bangbang93.com/gif-reverse

...
's avatar

BOSS直聘认证bug

最近我厂准备招人,所以我也搞了个BOSS直聘准备看看人选。
不过在准备BOSS认证的时候,发现输完姓名和身份证号后点击下一步没反应了

在与客服一阵交流后,我觉得效率太低了,等他们修好我再用都要过年了,于是拎起logcat先看看报错
有趣的是,报错没找见,却发现


有个js文件的log,打开这个文件,简单看了一下内容(没混淆),刨除格式验证的代码后,就是拿着用户名和身份证号请求后端,后端返回了一个




...
's avatar

kubeadm折腾记录

首先是某伟大的的防火墙问题,需要给kubeadm和docker都套一层代理

kubeadm只需要在命令行前面加HTTP_PROXY即可,docker需要编辑/etc/systemd/system/docker.service.d/http-proxy.conf文件

[Service]
Environment="HTTP_PROXY=http://10.9.96.169:8118/&quo
...
's avatar

我似乎也是有gfw认证服务器的人了

ss突然连不上服务器,ping也不通,ssh也连不上,但是走国外服务却能够正常ping通和连接,看了一下mtr

从国内出发的mtr,是一直到机器前一跳才丢包

从服务器出发的mtr,在国际入口丢包,很典型的gfw认证了

换个IP重新做人吧

...
's avatar

elasticsearch中文分词+拼音搜索

最近厂里的项目在做全文搜索,于是上了elasticsearch,顺带还要折腾一下中文分词的问题
首先拿出两个插件

第一个是用了ik分词器的中文分词插件,第二个就是转换为拼音索引的插件了

...

via these people and places