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...
lambda小技巧
人类最不道德订户,是不诚实与懦弱。——高尔基 经常有朋友问我,老是遇到参数为一些lambda的函数,我怎么知道对应的lambda怎么写呢? 这函数式编程,真是一件美事啊~ 对于这种情况,我们依靠我们强大的idea即可 例如此处我写到这里写不会了 1234User user = new User();// idea提示下方参数,如果没显示,光标放到括号里按ctrl+p主动呼出 |Function<? super User,?> mapper|Opt.ofNullable(user).map() 这里idea为我们提示了参数类型,可这个Function我也不知道它是个什么 实际上,我们new一个就好了 123Opt.ofNullable(user).map(new Fun) |Function<User, Object>{...} (java.util.function) | <-戳我 ...
vue中props中值未监听
每段记忆都是零碎的,犹如残破的蛛丝,无声无息的藏在黑暗的角落里——桐华 我今天简短测试了一下: 编写一个组件,给它设置一个props属性user 这里给它一个默认值{ age: 21 } 12345678910111213141516<template> <div> <slot :user="user">默认内容</slot> </div></template><script>export default { props: { user: { type: Object, default: () => ({ age: 21 }) } }};</script> 然后我们在外部引用该组件并传入该props 编写一个方法来改变当前userInfo的值 123456789101112131415161718192021222324252627282930<templ...
vue中新增属性视图问题
计利当计天下利,求名应求万世名——于右任 我们在进行vue前端开发的时候,可能会遇到这种情况: 首先我们此处双向绑定了一个变量中的属性 12345<template> <div> <div>{{ myObject.newProperty }}</div> </div></template> 然后下面的data只有该对象变量,并无此属性 12345678<script>export default { data() { return { myObject: {} }; }</script> 此时我们调用一个方法,给它的新增变量赋值 1this.myObject.newProperty = 'ruben'; 可以看到外部是并未监听到,视图没有更新,导致我们页面没渲染上去该变量属性的值 此处我们当然可以使用vm.$forceUpdate去强制更...
js数组去重
最大的挑战和突破在于用人,而用人最大的突破在于信任人。——马云 我们使用数组解构+Set去重: 12let list = [1,1,2,3]list = [...new Set(list)] 这里set是一个不重复的集合类,构造函数中我们传入了另一个list 如果是两个数组去重 123let list = [1,2,3]let array = [2,3]list = [...new Set([...list,...array])] 写法如下:
小程序 define is not defined
你如果认识从前的我,也许你会原谅现在的我。——《倾城之恋》 今天小程序报错define is not defined 结果是因为新项目默认用的最新的基础调试库。。。 改回调试库就好了
