BLCL的博客小馆

归档 · 全部

首页

关于

归档

stdout

从 Leanote 迁移到 Obsidian

差不多积累了10年的笔记,因为软件开发商跑路去做 2B 了,这玩意也没人维护了。换 Obsidian Leanote 不支持导出 .md 但是它自己的格式就是 json,转换一下很简单。 把一个目录下的笔记批量导出为 Leanote 格式,比如导出到 /tmp/folder1 执行Python代码 import json dir = '/tmp/folder1' for n in os.listdir(dir): if not n.endswith('.leanote'): continue with open(f"{dir}{n.replace('.leanote', '.md')}", "w") as f2, open(dir+n) as f1: f2..

更多
loading..
Game

Abiotic Factor开服指南

Foreword Abiotic Factor 最近也很火,类似僵尸毁灭工程的一个游戏,但是剧情比僵毁要完整,有一定的解密性,同时配合探索、生存、战斗元素,有点意思 Abiotic Factor 非生物因子 https://store.steampowered.com/app/427410/Abiotic_Factor/ 服务器要求是windows,通过steamcmd 安装 下载安装游戏服务器 steamcmd +login anonymous +app_update 2857200 +quit 建议存储成bat脚本,更新也是通过这种方式 部署 服务器程序目录 steamcmd\steamapps\common\Abiotic Factor Dedicated Ser..

更多
stderr

挑简历看麻了,就业市场太卷了

最近帮挑选简历,二线城市中低端技术岗,需求是上午发的,邮箱中午就炸了。这投递量给搞麻了,这也太多了。 想到什么写什么 几个感悟 第一,学历歧视是真的。本来还想看看能不能相中一个优秀的拼搏者。可能因为岗位要求不高,个个都很匹配。大家的工作经历都很丰富,也就是雷同。唯一不同的就这学历了。所谓的985 211不是他们实力强,而是名声显赫的院校到处刷存在感。如果你第一学位不如你的经历强势,建议把教育信息这一栏放到最后。不要把你的名字和学历挂靠得那么紧密! 简历技巧:一定要写清楚 求职意向 。因为筛简历的很可能同时有多个岗位,你 hint 一下,会更容易帮助阅读者理解上下文。最讨厌看到文不对题的简历。 经验书写部分,真的不要写参与过XX项目,用XX技术,基于XX,做过XX系统了。给人看麻了,关键字都快看得不认识了..

更多
loading..
BLHeli

由于制裁,BLHeli停止开发,所有ESC产品停止支持

Foreword 前段时间刚参加完无人机展会,各种为战争服务的无人机,百花齐放,热闹程度远超前几年,没想到刚转头,无人机行业就又被打击了 BLHeli被制裁 简单说由于BLHeli广泛被无人机使用,搭载BLH的ESC并不能确定最终用途,所以整个BLH数据被禁止出口,包括BLH自身收款的银行都受到了影响,所以BLH停止开发和维护了。 实际上BLH是先停止,然后才发出来相关公告 BLH大概在无人机市场里占90%,一个无人机就至少要搭载4个BLH电调,全世界大部分电调厂商都在国内,每年出货量大概几百上千万,BLH认可度之高,远超想象。 最初BLH大概是在2013年上线的,一上线就开源,其优异的性能和相对低廉的价格,一下就爆火了。而BLH初代还是8bit的单片机,成本低,性能也相对弱一些,..

更多
loading..
Github

一日一技:如何找到Github用户的邮箱?

我经常逛Github Trend,看看每天有没有什么高级的开源项目出来。有时候发现一个项目非常好,想跟开发者交流。一般情况下,开发者会在Github主页留下自己的联系邮箱,如下图所示,这是我的Github个人主页:但有的开发者却不会留邮箱,如下图所示:这种情况下,怎么联系上这个开发者呢?你可以直接发Issue,但是这样其他人就能看到你发的消息。其实还有一个更简单隐蔽的方法,可以直接拿到这个开发者的邮箱。首先,在这个开发者的Repo中,随便找一条Commit记录,如下图所示:这个Commit对应的URL是:https://github.com/didi/xiaoju-survey/commit/3dc15aeb688f04dfdf69f0f46b0f66902303f92d。现在,只需要在这个URL的末尾加..

更多
loading..
Game

Glyphica: Typing Survival 短评

Foreword 无意间发现一个有趣的打字游戏,有点像小时候的金山打字通里的打字小游戏 Glyphica: Typing Survival https://store.steampowered.com/app/2400160/Glyphica_Typing_Survival/ 游戏模式类似吸血鬼幸存者的模式,在各种单词围攻下活下来,要做的仅仅是输入单词即可 当前是试玩demo,非完整游戏 游戏有4种难度,后两种试玩版不能解锁,感觉应该是越难速度越快,同时单词也越长 游戏画风清冷,整体UI一致性也比较好 音乐和游戏画风相得益彰 每次升级都可以获得一个升级或者新武器,在这里的选择也是通过打字完成的 拾取战利品可以解锁一个perk 死亡..

更多
loading..
Python

一日一技:如何正确处理多行字符串的缩进问题

有时候,我们需要使用多行字符串配合format格式化函数来生成Markdown文本。例如,我现在开发了一个AI对话机器人,我发送一个txt文件过去,他首先帮我总结整个文件的内容,然后以问答的形式列出10个要点。你的代码可能是这样写的:1234567891011121314def bot(text):summary = summary_text_by_gpt(text)qa = get_qa_by_gpt(text)output = '''## 文本总结{summary}## 核心问答{qa}'''return output返回Markdown以后,通过前端渲染出正常的文本。但如果你直接这样写,你会发现Markdown的渲染好像出问题了。如下图所示:为什么会出现这个问题呢?其实很简单,因为你的Markdow..

更多
loading..
PythonJSON

一日一技:为什么这个JSON无法解析?

我们知道,Python里面,json.dumps是序列化操作,json.loads是反序列化操作。当我使用json.dumps把一个字典转换为字符串以后,也可以使用json.loads把这个字符串转换为字典。那么,有没有可能出现这样的情况:某个字典,使用json.dumps转换成了字符串s。但是当我使用json.loads(s)时,却会报错?你别不信,我们来做一个实验。执行下面这段代码,打印出一段JSON字符串:12345678910111213import jsontext = '''## 摘要这篇文章主要包含xx和yy## 详情1. abc2. def'''item = {'title': '关于abc', 'raw': text}output = json.dumps(item, ensure_as..

更多
算法

DPO

简介DPO全称Direct Preference Optimization,它是RLHF算法的一种,相比PPO算法来讲,它只需要actor和ref model,少了critic和reward model。其核心期望为good loss - bad loss越来越大, 这点和排序模型中的rank loss很相似,但是又不希望和ref model偏差太多。 最小实现代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859from copy import deepcopyimport torchimport torch.nn.functional ..

更多

使用 Sequelize 事务读取数据库时的隔离级别

Sequelize 是一个流行的 Node.js ORM(对象关系映射器),它支持 PostgreSQL、MySQL、MariaDB、SQLite 和 Microsoft SQL Server 等多种数据库。在使用 Sequelize 处理事务时,可以指定事务的隔离级别。事务的隔离级别决定了一个事务可能受到其他并发事务影响的程度。在数据库管理中,隔离级别主要解决以下四种问题:脏读(Dirty Read) :一个事务读取到另一个事务未提交的数据。不可重复读(Non-repeatable Read) :一个事务在其执行期间多次读取同一数据集,但由于其他事务的修改,导致两次读取的结果不一致。幻读(Phantom Read) :一个事务执行两次查询,第二次查询结果包含了第一次查询中未出现的新行,这是因为另一个事务..

更多
123475