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', 'xxx')} 主进程接下来是主进程中,需要创建一个监听器,用来监听渲染进程发过来的消息 1234567ipcMain.on('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 -g pm2可以管理NodeJs项目,也用于开机启动 自启 ...
留下了遗憾的 2021
又到了写年度总结的时间了,2021年状态依然 间歇性踌躇满志,持续性混吃等死。 生活年初做了近视手术,因为打算下半年当兵,4月从巴中回到了山东(但是既然你能看到这篇文章,说明我没去成,原因下面会说) 回家后不久把我的串串(猫)也托运回来了,目前丢给我妈养了 上半年跟着朋友健身,健身一段时间后无意间一摸肱二头肌,给我自己吓到了,粗了一圈 不过下半年又回归了咸鱼状态,肌肉就又没了 虽然说去年说了“越来越想把台式机换成笔记本了”,但还是真香了,入手了HUAWEI Mate Station S 不过也入手了一台笔记本,用来玩VR游戏的,VR 设备是华为VR Glass 6DoF 遗憾本年度最大的遗憾就是当兵没去成,原因是刚刚刚刚好下半年征兵年龄修改 本来是通过了,武装部的短信都来了 6月份的某天我一看征兵网,发现年龄不合格了 非常的巧,今年下半年开始,征兵年龄修改为全日制18-24,非全日制18-22,我刚好是非全日制 工作其实在打算当兵时我就做好了没去成的准备,没去成就继续当我的程序猿 7月来到杭州开始找工作,当时方向是PHP和web前端,更偏向web前端,但我没web前端的实际 ...
Log4j 漏洞,阿里躺枪
说在前头大半夜看到新闻,大概意思是“阿里发现Log4j的漏洞后率先告知了美国的阿帕奇软件基金会,未及时向电信主管部门报告” 好像很早之前就有,但话题还没发酵的这么厉害,没看到,今天看到了感觉不太对劲,就来说说个人看法 首先这篇文章不是给阿里洗白,只针对以上论述进行探讨 个人看法从一个程序员的角度看,我认为这个论述是有点奇怪的,以下几点 1. 程序的BUG反馈对于一个程序员来说,使用别人或别的组织的程序时发现了问题,一般情况下有两个选择 向开发者或组织反馈问题,等待对方确认和修复(Issue) 如果是开源可以自己修复问题并提交到开源项目中(Pull Request) 比如以下是我的一个开源项目中,用户给我提的BUG反馈,以及我确认修复后关闭的反馈 再比如我发现了别人项目的问题,修复并提交到他的项目中 个人猜测阿里为什么要先联系阿帕奇软件基金会? 因为他们是Log4j的开发组织,问题的确认及修复会更快 个人猜测阿里为什么会未及时向电信主管部门报告? 可能是我见识短,我猜测是一个开源软件出了严重的BUG,需要第一时间上报给电信主管部门的先例,很少 或者说因为没有上报被曝出来的,很 ...
bsr-hepler 使用教程 - 信息回传
简介bsr-hepler是一些小工具,帮助蓝天队员快速完成一些日常在手机上的操作 目前只有一个功能:信息回传 使用在工具主页:https://bsr.imba97.cn 可以看到这唯一的一个功能 点击进入该功能,可以看到这样一个页面(默认是全部展开的,这里演示我手动收起了) 最上面是出发、到家的选项,不同选项生成的信息回传文本会有所区别 右侧的复制点击可快速复制文本 设置项如果什么都不设置,这段话看起来怪怪的,所以你需要设置每一项的内容 这些设置会在你点击复制按钮时保存,所以大部分只需要设置一次即可 任务简介可以设置任务简介,比如:“马拉松安保训练” 时间可以设置使用当前时间、设置开始时间和结束时间 如果你需要自选时间,请关闭使用当前时间开关 关闭后可自选时间 自定义时间时,可以选择结束时间,一般用于到家的消息回传,会显示一个时间段 出发地、目的地可以设置地点,点击复制按钮后,本次设置的地点会保存在历史地点 人员可以添加人员、设置姓名、左滑删除 程序将根据打勾的人自动生成人数,无需手动输入 交通工具可以选择交通工具、设置车牌号、设置自定义交通工具 如果设置为“开车 ...
位枚举
位枚举是个啥枚举首先来说一下枚举,在一些语言中我们可以用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 << 0 ...
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/** * @t ...
杭州电动车上牌记录
经历了一次非常坎坷的电动车上牌之路,记录下来造福社会。 考虑到不想看废话的人,首先说结论: 上牌流程 支付宝搜索“杭州交警” 点击左下角“预约及违法处理” → “车管所预约” 在线申请 需要带的资料 身份证 电动车合格证 电动车发票 (根据地区可能还有其他的,上牌前看一下当地的注意事项) 重要:杭州部分上牌点,要求发票上需要备注电动车型号,如果发票上有其他信息必须与合格证上的一致,比如公司名称不能是简称 正片开始网上买了个小电动车,2021-08-04 到的,中间经历了艰辛的上牌之路,三周才成功上牌 工作日上班,所以只能周末去上牌,离家近的上牌点都约不上,只能打车带着车去远的上牌点 Round 1头一回不知道如何上牌,网上搜的是到车管所或者交警大队,于是我搜了搜发现家附近有个车管所,离我公司挺近,于是找了个中午去那边看了看。去看了发现好像跟电动车上牌没太大关系,那边都是考驾照的 隔天我又给交警大队打了个电话,警察叔叔让我在支付宝搜“杭州交警”,可以直接在里面预约 就这样我预约了周末上牌,到了后没怎么等,递交资料也没怎么等,直接跟我说你这发票上没有备注车辆型号给我打回了 我问 ...
TypeScript 浏览器插件开发
总结一篇 TypeScript 浏览器插件开发经验 推荐模块 webextension-polyfill-ts 浏览器插件API的TS包,开发插件必备 1import { browser } from 'webextension-polyfill-ts' 避坑:封装网络请求用browser.runtime.onMessage.addListener不能直接返回axios,虽然TS不会报错,但运行结果会是undefined 正确方法: 123456789101112131415browser.runtime.onMessage.addListener((request) => { const params = request.type === 'GET' ? { params: request.params } : { data: request.data } return new Promise((resolve, reject) => { ...