cargo配置镜像源
活着不一定要鲜艳,但一定要有自己的颜色。——张曙光 找到目录C:\Users\你的用户\.cargo 下面新建一个文件config 填入以下内容: 12345[source.crates-io]registry = "https://github.com/rust-lang/crates.io-index"replace-with = 'ustc'[source.ustc]registry = "git://mirrors.ustc.edu.cn/crates.io-index" 保存即可
prettier格式化问题
惟沉默是最高的轻蔑——鲁迅 今天用prettier插件格式化js代码时发现解构赋值被换行了,可读性变得很低 原来我的代码样式: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748module.exports = { executeMiniLogin(vm) { uni.login({ provider: 'weixin', success: async ({ code, errMsg }) => { if (errMsg != 'login:ok') { uni.$u.toast(`登录失败, 原因: ${errMsg}`); return } uni.$u.api.getTokenByCode(code).then(({ data, sessionKey,...
windows窗口归位
道之所在,虽千万人吾往矣——《孟子》 今天发现在双屏时使用的finalShell变回但屏后没有改回原来的位置,跑到屏幕外边去了 怎么点也点不回来,最后用了个大佬写的窗口归位 点一下就好了 非常好用,下载链接我这备份一份: 点我下载
INSERT ... ON DUPLICATE KEY UPDATE Statement
打开mysql文档,总会有新发现。——碧安瑶 我们在使用INSERT语句时,有时会有这样的需求,不存在就新增,存在就更新 此时我们可以使用INSERT ... ON DUPLICATE KEY UPDATE语句 就像mysql官方文档中提到的那样,我们如果将a列设为UNIQUE唯一索引或者主键时,并且当前表已经存在了a=1的数据,对于这种情况,下面两条sql的结果是相等的 当然如果不满足上方条件,则会新增一条数据 1234INSERT INTO t1 (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;UPDATE t1 SET c=c+1 WHERE a=1; 对于InnoDB引擎的表,此处的新增可能会触发自增列,但修改操作不会触发 如果上方的唯一索引再加一个b列,则上方第一条sql和下方sql结果相等 1UPDATE t1 SET c=c+1 WHERE a=1 OR b=2 LIMIT 1; 注意如果此处a=1 or b=2匹配多行,则只会更新一行,所以我们需要避免在有多个唯一索引的表上使用本语法 我们在表内没...
标签模板
不慕古,不留今,与时变,与俗化。——《管子·正世》 按照阮一峰ES6入门中写到的 我们可以使用函数名+模板字符串写法来调用函数,例如: 定义这样一个函数 123function templateFun(arguments){ return `Hello ${arguments[0]}!`} 这里简单用模板字符串,返回Hello +参数数组第一项元素+! 我们普通调用写法: 1templateFun(['Ruben']) 输出'Hello Ruben!' 我们如果使用标签模板,写法如下: 1templateFun`Ruben` 如果其中有变量,则会进行剥离拆分,我们对函数稍加修改,参数改为可变参数 12345function templateFun(...arguments){ console.log(arguments) return `Hello ${arguments}!`}templateFun`Ruben${'...
js原型对象
不存在十全十美的文章,如同不存在彻头彻尾的绝望。——《且听风吟》 我们首先定义一个对象 1234567891011class Person { constructor(name,age) { this.name = name; this.age = age; } toString() { return '(' + this.name + ', ' + this.age + ')'; }};let ruben = new Person("ruben",21);console.log(ruben.toString()) 打印结果为: 1(ruben,21) 我们可以使用Person.prototype去获取Person的原型对象,从而更改类其中的方法 1234567Person.prototype.toString = function(){ return "Person{&q...
使用cargo创建rust程序并运行
如果问我思念多重,不重的,像一座秋山的落叶。——简媜 我们按照文档在路径中打开命令行终端 1cargo new world_hello 我们现在就可以运行了 12cd .\world_hello\cargo run 可以看到输出了Hello, world 我们用vscode打开 可以对我们的代码进行少许更改,然后再次运行 123fn main() { println!("world, Hello!");} 再次运行 1cargo run 可以看到我们的修改生效
安装vscode的rust插件
故乡处于大地的中央——海德格尔 我们使用vscode进行rust开发时可以下载一些插件来提升开发效率 rust-analyzer:rust语言支持 然后是Better TOML:更好的展示.toml文件 接下来是Error Lens:更好的获得错误展示 以及CodeLLDB:Debugger程序
rust安装
你真正的凯旋,在于你不断地毁坏你的凯旋门。——阿多尼斯《我的孤独是一座花园》 根据这本rust语言圣经入门 首先安装C++环境 进入:https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/ 点击下载: 下载完毕后打开 选择C++,修改路径 我们重启。。。 然后安装rust 进入:https://www.rust-lang.org/learn/get-started 点击下载 打开后弹出黑框 按下回车 我们打开cmd输入命令测试一下是否安装完成: 12rustc -Vcargo -V 都显示了版本号即为成功
MP-p6spy日志分析打印
我们杀人不用愤怒,而用笑。——尼采。 按照官方文档步骤 首先引入GAV: 12345<dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>最新版本</version></dependency> 然后是修改配置: 注意此处协议前加上p6spy 驱动也要改为P6SpyDriver 1234567spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver username: xxx password: xxx url: jdbc:p6spy:mysql://localhost:3306/ruben?autoReconnect=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useUnicode=true&char...
