隔离不完全攻略
...
Rust 报错 link.exe was not found
报错简介记录一个报错 刚开始学Rust,基本的一些环境安装完建了个项目后发现跑不了,报错:linker link.exe not found 后面给的提示也很明确,please ensure that VS 2013, VS 2015, VS 2017 or VS 2019 was installed with the Visual C++ option 少安装了一些环境 解决 下载 Build Tools,等它自动下载安装 Build Tools相当于一个安装器,可以安装各种环境 安装环境时选择单个组件,够两个即可:MSVC v142 - VS 2019 C++ x64/x86 生成工具(最新)、Windows 10 SDK (xxx),版本号可能有区别 等安装完成后可能要重启,不出意外应该就能跑起来了
Electron 主进程与渲染进程通讯
Electron 的通讯机制Electron 在运行时分为主进程和渲染器进程(渲染进程),主进程可以用NodeJS的 api,渲染进程可以用浏览器的 api 两者之间需要通过 Electron 提供的 api 来通讯 渲染进程首先需要在渲染进程设置一个监听器,用来监听主进程发来的消息 然后主动发送一个消息给主进程 123456789// 监听器ipcRenderer.on('mainSend', (event, message) => { console.log('主进程发来的消息', message)})// 在合适的地方发送给主进程,比如按钮点击事件中button.onclick = function() { ipcRenderer.send('rendererSend',...
钉钉日报机器人
介绍NodeJs开发的一个根据git log自动生成日报的程序,并可以通过钉钉机器人发到群里 开发契机我们每天要写钉钉日报,最开始我是查看git的提交日志,然后选出有价值的提交 比如修复了什么问题、优化了什么功能等,像修改了配置文件、隐藏某些功能等就不会写到日报里 这样手动筛选挺麻烦,下班了还要现查git、现找有价值的提交 作为一个程序猿,当然不能麻烦了自己,于是就有了这个东西 使用我目前是放在了公司电脑上,并设置了开机启动 也就是说我只要上班,电脑开着,它到时间就会自动收集今天git提交中带有前缀的内容,整理好并发到一个钉钉群里 拉取项目Github:dingtalk-report-robot 1git clone git@github.com:imba97/imba97_project.git 进入dingtalk-report-robot目录 安装依赖包1npm i 配置打开src/config.js,进行配置 安装 pm2 和 自启动包1npm install pm2 pm2-windows-startup...
留下了遗憾的 2021
又到了写年度总结的时间了,2021年状态依然 间歇性踌躇满志,持续性混吃等死。 生活年初做了近视手术,因为打算下半年当兵,4月从巴中回到了山东(但是既然你能看到这篇文章,说明我没去成,原因下面会说) 回家后不久把我的串串(猫)也托运回来了,目前丢给我妈养了 上半年跟着朋友健身,健身一段时间后无意间一摸肱二头肌,给我自己吓到了,粗了一圈 不过下半年又回归了咸鱼状态,肌肉就又没了 虽然说去年说了“越来越想把台式机换成笔记本了”,但还是真香了,入手了HUAWEI Mate Station S 不过也入手了一台笔记本,用来玩VR游戏的,VR 设备是华为VR Glass...
Log4j 漏洞,阿里躺枪
说在前头大半夜看到新闻,大概意思是“阿里发现Log4j的漏洞后率先告知了美国的阿帕奇软件基金会,未及时向电信主管部门报告” 好像很早之前就有,但话题还没发酵的这么厉害,没看到,今天看到了感觉不太对劲,就来说说个人看法 首先这篇文章不是给阿里洗白,只针对以上论述进行探讨 个人看法从一个程序员的角度看,我认为这个论述是有点奇怪的,以下几点 1. 程序的BUG反馈对于一个程序员来说,使用别人或别的组织的程序时发现了问题,一般情况下有两个选择 向开发者或组织反馈问题,等待对方确认和修复(Issue) 如果是开源可以自己修复问题并提交到开源项目中(Pull...
位枚举
位枚举是个啥枚举首先来说一下枚举,在一些语言中我们可以用enum等关键字定义枚举,它的作用是让值更易读 比如我们设置一个人的状态:吃饭、睡觉、打豆豆,分别为0、1、2 如果我们在一个地方判断这个人当前状态是否是吃饭会用status == 0 但时间长了你可能就忘了0是指的什么,所以你还要需要去看 枚举就可以解决这个问题,以C#为例 123456enum STATUS{ EAT, SLEEP, HIT_DOUDOU}; 使用时status == STATUS.EAT,我们就明确知道是在判断状态等于吃饭 在JS中也可以实现,就是自己定义变量的方式 12345const STATUS = Object.freeze({ EAT: 0, SLEEP: 1, HIT_DOUDOU: 2}) 其中freeze可以让这个对象不会被更改 位位就是可以进行位运算(我的理解),比如C#可以用Flags将枚举标记为位域 1234567[Flags]enum STATUS{ EAT = 1...
JSDoc 让JS有类型约束
这次我们来谈谈JSDoc,首先这是个啥,本质就是个注释,可以帮助开发工具认识你的代码。你可以通过它提升开发效率、降低运行时的错误率,更好的理解强类型语言。 主流编辑器应该都支持JSDoc,但我基本没用过别的所以不太清楚,本文章中演示用的编辑器均为vscode JS中的类型在js中,虽然类型的概念没那么强,但你依然无时无刻不在受到类型约束 比如最简单的document.querySelector 它会返回一个Element类型的数据,页面元素的基础类型HTMLElement就继承了该类型 但这时如果你想修改style,你会发现它并不会给你提示,因为style是HTMLElement的属性 JS Doc这时候,JSDoc就派上用场了。在你明确知道它类型的情况下,你可以直接声明变量的类型 1234/** * @type {HTMLElement} */const test = document.querySelector('.test') 此时再看代码提示,就出现了 并且你可以开启类型检查 12345// @ts-check/**...
杭州电动车上牌记录
经历了一次非常坎坷的电动车上牌之路,记录下来造福社会。 考虑到不想看废话的人,首先说结论: 上牌流程 支付宝搜索“杭州交警” 点击左下角“预约及违法处理” → “车管所预约” 在线申请 需要带的资料 身份证 电动车合格证 电动车发票 (根据地区可能还有其他的,上牌前看一下当地的注意事项) 重要:杭州部分上牌点,要求发票上需要备注电动车型号,如果发票上有其他信息必须与合格证上的一致,比如公司名称不能是简称 正片开始网上买了个小电动车,2021-08-04 到的,中间经历了艰辛的上牌之路,三周才成功上牌 工作日上班,所以只能周末去上牌,离家近的上牌点都约不上,只能打车带着车去远的上牌点 Round...