自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(342)
  • 资源 (5)
  • 收藏
  • 关注

原创 Slint学习文档

用于定义一个组件,这样就可以再rs文件中进行书写{}通过自定义结构体就能声明复杂的类型,这通常来说并不能再称之为属性,而是内部数据!(按照作用)但在本文还是称为属性,但请严格进行辨别。

2023-09-04 16:49:36 2468 3

原创 区块链开发:JS/TS本地|项目环境搭建

这个错误起初我以为只出现6+的版本,去Github上查看无果,别人也遇到这个问题,解决的方法最后在我修改到5.7.2版本后解决,但是这不是正确的解决方法而是在deploy的时候添加Gas限制以保证Gas足够就解决了,无论6+版本还是5.7.2都OK。出现 “could not coalesce error” 错误通常表示在处理交易期间发生了无法合并的错误,但从结果看智能合约确实被部署了。这里的compile用来编译solidity写的智能合约,deploy则是进行合约部署。安装solc,ethers。

2023-07-02 17:44:20 900

原创 Rust-Rocket框架笔记

该Respondertrait文档详细说明了如何通过显式实现trait来实现您自己的自定义响应器。然而,对于大多数用例,Rocket使得自动派生的实现成为可能Responder。特别是,如果您的自定义响应程序包装了现有的响应程序、标头或设置了自定义状态或内容类型,Responder。

2023-05-03 02:32:18 2270 2

原创 研读Rust圣经解析——Rust learn-16(高级trait,宏)

接下来我们就直接自定义宏,少说废话,直接开干(为什么要学这个?因为甚至可以使用这个自己写一门语言)tt词条树是指Rust编译器使用的一种数据结构,通常用于处理宏(Macro)和代码生成(Code Generation)。tt指的是"Token Tree",它是由一系列"Token"构成的树形结构。"Token"是编程语言中最基础的语法单元,例如关键字、标识符、运算符、括号等等。而"Token Tree"则是这些"Token"按一定的层次结构排列而成的树。

2023-04-29 17:35:22 1681 3

原创 研读Rust圣经解析——Rust learn-15(unsafe Rust )

不过千万注意,使用不安全 Rust 风险自担:如果不安全代码出错了,比如解引用空指针,可能会导致不安全的内存使用。我们在学习一些Rust项目的时候,我们很可能在代码中看到一些使用其他语言的例子,事实上这个特性并不是Rust所独有的,只是你在Rust中使用起来更加为所欲为,在其他语言中,很可能是语言帮你隐式的调用,而非你能够感受的到(如:Java获取环境变量)extern关键字可以创建一个外部函数接口以使用其他语言的函数,以下是调用了C语言中的abs函数,至于成不成功,这需要程序员保证,而不是Rust。

2023-04-28 20:21:26 1423 1

原创 研读Rust圣经解析——Rust learn-14(面向对象)

继承(Inheritance)是一个很多编程语言都提供的机制,一个对象可以定义为继承另一个对象定义中的元素,这使其可以获得父对象的数据和行为,而无需重新定义。面向对象讲究封装,调用者无需知道如果实现,只需要知道如何使用即可,Rust的包管理、模块管理、pub关键字、函数fn,trait这些符合封装的思想。多态是面向对象的一个重要特征,指同一类事物同时具有多种形态,即同一类事物,在不同时刻,代表的对象不一样,指的是对象的多种形态。从这里看,Rust不是面向对象的,因为Rust没有继承只有实现(trait)

2023-04-26 16:16:55 823 1

原创 研读Rust圣经解析——Rust learn-13(并发)

并发编程(Concurrent programming),代表程序的不同部分相互独立的执行,而 并行编程(parallel programming)代表程序不同部分于同时执行,这两个概念随着计算机越来越多的利用多处理器的优势时显得愈发重要。因为我们的线程常和闭包一起使用,所以也自然产生通过move关键字获取环境中取得的值的所有权并将这些值的所有权从一个线程传送到另一个线程。如下,这段程序是有问题的,在线程中并不能打印x的值,因为x的所有权还在main线程,所以我们应该通过使用move转移所有权。

2023-04-26 15:30:28 481

原创 pinia持久化存储方案——pinia-storage(自己写的,持续更新)

Pinia-Storage是使用TypeScript编写的Pinia的持久化存储解决方案,可根据业务需求将state中的数据存储到localStorage和sessionStorage中,依赖于性能更好、扩展性更强、灵活度更好的fastify组织提供的序列化方案:fast-json-stringify和反序列化方案:secure-json-parse,因此在性能上强于pinia的持久化插件pinia-plugin-persist。的性能主要取决于被序列化对象的大小和结构,以及机器的硬件配置。

2023-04-19 21:35:58 919

原创 研读Rust圣经解析——Rust learn-12(智能指针)

我们也可以自己去写一个Box其实这并不难,首先我们需要为结构体实现new方法,这很简单,传入一个泛型返回带泛型的结构体即可let x = 5;assert_eq!(5 , x);assert_eq!(5 , * y);type:你看作一个类型代指(想想TypeScript中的type)后面会讲deref方法:需要返回引用自身的target,也就是我们上面的类型代指,其实就是返回本身的self中的实际内容(想想unwrap系列的解构)此时我们自己定义的智能指针就可以使用进行解引用了。

2023-04-19 17:04:00 852

原创 研读Rust圣经解析——Rust learn-11(测试,迭代器,闭包)

如下,我们使用||{}10 };println!fn->i32,对于但语句来说将{}省略也是OK的。

2023-04-19 11:02:13 329

原创 研读Rust圣经解析——Rust learn-10(泛型,trait,生命周期)

为结构体的实现方法也可以设置泛型?不是的,是应为结构体就是个泛型,所以为结构体实现方法的时候需要在impl上设置println!使用trait关键字就可以定义一个trait,我们在其中去定义我们需要的子类实现的方法,无需指定方法的具体行为fn init();我们为一个变量定义生命周期只需要再加上'a实际上你可以写任意的字母或单词(static,等关键词除外,因为是静态生命周期,后面说),生命周期一般设置在方法上,为了指明作用域结束后的回收println!b } else {

2023-04-18 23:30:37 533

原创 研读Rust圣经解析——Rust learn-9(集合,错误处理)

当出现 panic 时,程序默认会开始 展开(unwinding),这意味着 Rust 会回溯栈并清理它遇到的每一个函数的数据,不过这个回溯并清理的过程有很多工作。幸运的是,枚举的成员都被定义为相同的枚举类型,所以当需要在 vector 中储存不同类型值时,我们可以定义并使用一个枚举。如果值是 Err,Err 中的值将作为整个函数的返回值,就好像使用了 return 关键字一样,这样错误值就被传播给了调用者。vector 允许我们在一个单独的数据结构中储存多于一个的值,它在内存中彼此相邻地排列所有的值。

2023-04-17 14:07:19 315

原创 研读Rust圣经解析——Rust learn-8(match,if-let简洁控制流,包管理)

比如:当周一的时候我要上课,周三的时候我要去钓鱼,而其他时间都得要上班,这时候使用other和占位符就很好,我只要处理周一和周三即可,其他都是相同的操作。实际上if-let就是if+let的结合模式,来处理只匹配一个模式的值而忽略其他模式的情况,若你只想处理一种情况,这比使用match更加好。通过使用use关键字,我们可以对内部可公开的引用直接使用,无需通过模块名称进行指定,这对于一些深模块是非常有用的。,这是一个特殊的模式,可以匹配任意值而不绑定到该值。当我们不想使用通配模式获取的值时,请使用。

2023-04-16 16:35:14 669

原创 研读Rust圣经解析——Rust learn-7(结构体与枚举,Option)

如下我们定义了一个父母的枚举,使用enum关键字其实这和struct中是一样的也是使用impl关键字。

2023-04-16 15:19:36 411

原创 研读Rust圣经解析——Rust learn-6(引用与借用,Slice)

我们来理解一下:r1和r2都是不变的,我们将其看成只读,当两个人在看一个非常严谨的文章时,r3这个可变的去把文章修改了,这就出现了问题,不可变的引用和可变引用若同时进行处理,那我们应该以哪一个为准呢?在上一篇文章中我们说了所有权转移-作用域消费的问题,我们应该清楚这样的问题很平常,十分常见,而我们更希望我们能够在变量传入作用域之后依然能够使用,甚至是使用在作用域中经过一些处理之后的变量,因此引用产生。如何处理引用紊乱呢?这个问题是我们在使用不可变引用的同时也使用了可变引用产生的,当然换一下顺序依然!

2023-04-15 22:53:54 499 2

原创 研读Rust圣经解析——Rust learn-5(所有权,强大的String)

String but not only String,这是我认为对Rust中的String最准确的一句话,因为Rust中String不是简单的一个char数组,它有很多花样,以至于我看来,如果你弄懂了Rust的String你就掌握了类型精髓的三分之一(可能大家觉得三分之一很少,但是真正了解后你会知道这是很多的内容),接下来我会详细的解析’String’类型。String是存在堆上的。借用的值在移动后,也就是说所属于a的值被移动了,移动到了b,此时b抢占了a的String的所有权,致使a的值失效了!

2023-04-15 21:56:20 858

原创 研读Rust圣经解析——Rust learn-4(函数,注释,控制流)

我们可能会遇到多个循环叠加的情况,当内部循环结束需要跳出外部循环时这很有效,而这也是Rust生命周期的妙用。Rust可以检测你的文档注释中的代码是否有问题,这既可以保证代码的正确性也能保证文档的实时性。所有程序员都力求使其代码易于理解,不过有时还需要提供额外的解释,这就是注释。loop 关键字告诉 Rust 一遍又一遍地执行一段代码直到你明确要求停止。在Rust中我们可以为一个变量设定一个函数表达式以设定变量的值。Rust中的for比较像python的因为他就是for-in。函数的用处在于代码封装和复用。

2023-04-14 16:19:45 510

原创 研读Rust圣经解析——Rust learn-3(变量与可变性,数据类型)

所以Rust中直接声明的变量无法改变也是因为需要保证系统的安全,要知道如果程序的模块庞大而分散的时候,在一个地方声明的一个变量在另一个遥远的地方被改变了很容易引发难以追踪的错误。关键字进行变量声明,但是我们要知道如此声明的变量是不可变的!我们可以通过声明同一个变量名来修改变量,这样的修改是可以做到无视原始类型的,相当于重新进行了声明,官方称之为隐藏,但我更倾向于覆盖。这是个非常经典的问题,因为其他语言中也会有,在Rust中你多数时候不会意识到整型溢出,因为这并不会被检测出来,只有你使用。

2023-04-14 01:07:38 448

原创 研读Rust圣经解析——Rust learn-2(Cargo)

本来我是想要使用英语来写的,但是想了一下很多意思可能用英语无法表述出来,由于我的第一语言目前依然是JAVA所以在解释的时候可能会沿用一些JAVA中的概念进行类比,后续我也会录制相关视频进行讲解。

2023-04-13 14:53:09 616

原创 Rust-learn-1

Rust 语言由 Mozilla 开发,最早发布于 2014 年 9 月。Rust 的编译器是在 MIT License 和 Apache License 2.0 双重协议声明下的免费开源软件。截至目前( 2020 年 1 月)最新的编译器版本是 1.41.0。Rust 语言是一种高效、可靠的通用高级语言。其高效不仅限于开发效率,它的执行效率也是令人称赞的,是一种少有的兼顾开发效率和执行效率的语言。

2023-04-09 02:46:55 416

原创 mongodb文档操作——查询

1. 查询所有的员工信息。1.查询语文是81分,英语成绩是88分的学生信息。使用$all相当于包含,而不是精准匹配1. 查询Java有4本的学生信息。$elemMatch表示遍历每一个元素插入两条记录。1. 查询age值为null的文档,包括age缺失的文档。$type:10就表示null你可以将游标视作迭代器2. 使用游标mycursor访问stu集合中的每个文档,并打印;查找不同的字段值查询emp集合中有哪些职位。

2023-04-05 19:30:29 646

原创 RouterBootUI组件库(Vue3+TS+Scss/Sass+Vite+Lerna+Rollup)

RouterBootUI组件库(Vue3+TS+Scss/Sass+Vite+Lerna+Rollup)基于localStorage的优化页面存储方案wosqljwtToken解决方案jquicker-spring-boot-starteralibaba-oss解决方案routerboot-oss-spring-boot-starter对axios的封装方案日程时间轴引擎timepipe本人在此承诺,相关所有组件开源,文章免费。

2023-04-05 17:01:21 705

原创 Three.js——learn05

平行光是沿着特定方向发射的光。这种光的表现像是无限远,从它发出的光线都是平行的。常常用平行光来模拟太阳光的效果。我们可以清楚看到周围的环境光给了一个粉色的光源,所以反射到我们眼睛里的就是粉光,而正上方y轴射过来的是白光。其中第三个参数是光源到光照强度为0的位置,设置100即光可以找到100的位置,超过一百则无光。从一个点向各个方向发射的光源,我们可以用这个光来制作灯光的效果。只有我们使用标准材质的时候才能结合光源产生光的效果。环境光会均匀的照亮场景中的所有物体,

2023-03-20 20:18:25 111

原创 Three.js——learn04

我们使用到的是BufferGeometry对象构建几何体,然后设置点的位置,最后将几何体通过点绘制出来。通过使用dat.gui可以动态调整视图。

2023-03-20 17:51:21 126

原创 Three.js——learn03

从这里我们可以知道在使用getElapsedTime的时候已经记录了oldTime,下一行getDelta获取的是oldTime到当前调用的秒数,自然很短很短约等于0,所以会导致输出为0。如果performance.now可用,则 Clock 对象通过该方法实现,否则回落到使用略欠精准的Date.now来实现。缩放其实也是使用Vector3做的所以和移动一样可以通过x,y,z属性调整,也可以使用set直接设置。旋转使用是Eular欧拉角,也可以设置x,y,z当然也能用set方法直接设置。

2023-03-20 13:57:55 329

原创 Three.js——learn02

用于简单模拟3个坐标轴的对象,红色代表 X 轴. 绿色代表 Y 轴. 蓝色代表 Z 轴。用于模拟相机视锥体的辅助对象,它使用 LineSegments 来模拟相机视锥体。Orbit controls(轨道控制器)可以使得相机围绕目标进行轨道运动。和动画不同的是,轨道控制器由用户操控,手动调整位置来观察物体。用于模拟方向的3维箭头对象。

2023-03-19 17:43:37 1099

原创 Three.js——learn01

登录GitHub搜索three.js。然后我们任意选择我们需要看的即可。在package.json中。使用VSCode打开。

2023-03-19 17:00:20 1624

原创 mongodb文档操作1

{“_id”:12,“stu_name”:“张依”,“favorite”:{“swimming”:10,“jogging”:3}}{“_id”:10,“stu_name”:“张三”,“favorite”:[“badminton”,“swimming”]}{“_id”:11,“stu_name”:“自己姓名”,“favorite”:[“piano”,“yoga”]}表示要删除指定的字段,favorite 表示要删除的字段名,“” 表示要删除的字段值(此处为空字符串)包括插入3条文档记录,并更新2条文档记录。

2023-03-18 21:58:22 667 1

原创 Android上架构建KeyStore应用签名

需要有Java环境,注意尽量使用JDK8!使用管理员权限的CMD,不然很有可能出现乱码情况。选择使用自有证书,然后将我们设置好的别名,密码,证书文件设置好。我们的应用在上架前需要构建应用签名,使用的是Java进行构建。当我使用的时候需要使用32位的签名。这里的MD5的才是真正的签名。全部删除然后转换为32位。然后我们就可能进行打包了。即16进制–>32进制。所以我们需要将里面的。

2023-02-22 19:20:33 360

原创 前端系列——SVG Tag Builder 一个实用的项目标签构建工具

很简单,我们直接输入名称、版本、以及设置出的颜色就可以直接生成了,注意颜色需要为16进制的颜色,若修改输入需要刷新一下。生成后选择下面的代码复制即可使用了,可以直接复制到HTML中或Markdown里。

2023-02-19 15:46:53 229

原创 JS生成UUID(GUID)

用处:我们可以使用这个方式生成全局唯一的标识以动态设置组件的ID标识,用于绑定,生成等等。需要注意版本,支持版本为TypeScript 4.6+直接调用以下方法即可获得。

2023-01-29 00:26:01 3921

原创 SCSS函数——Map

现在有以下场景:我们在写一个组件时设置了很多个主题,但是主题的名称由用户传入,我们也不知道用户会使用哪个主题,此时我们要怎么做呢?设置存放css属性的地方,如果这个地方看不懂的话,你需要再去好好学习以下scss的基础函数(mixmin)部分。解答:其实我们这时候只要设置用户能够传入的主题然后,通过遍历设置好于主题响应键的Map集合即可。函数进行取用,其中第一个参数是map的名称,第二个参数开始是map的键,通过键取到值。我们需要注意的是若你想要这样去取值的时候,我们需要映入。说明:获取map中所有的键。

2023-01-28 19:26:42 1997

原创 Jenkins系列——Jenkins安装以及环境配置day1-2

在这里,DEBIAN_PRIORITY是一个环境变量,它使我们能够在常规安装Postfix的同时配置额外的功能。这些选项将以提示或对话框的形式出现在终端上,允许我们从给定的选项列表中选择一个选项。这里会让你选择服务配置,我选择了internet site,当然你们可以自行选择。映射端口到宿主机的8488端口,因为多数情况8080都会被占用,所以更改。这里可以看到最新的包,对应自己的操作系统进行选择即可。然后设置邮箱名,一般都是xxx.com的。点击头像展开Edit profile。

2023-01-01 23:55:35 565

原创 Spring事件监听机制

如我们需要激发一个调用RabbitMq的事件,我们需要继承ApplicationEvent类,继承后重写构造方法,很简单只要返回这个参数source即可。简单来说,就是当代码执行到激发事件的那一行时,由spring发布一个事件,这个事件会被设置好的监听器所捕获,然后进行某种处理,这就是事件监听。其中的泛型就是事件的类型,说明我们这个监听器是专门监听这个事件的!注入后通过Application Context激发事件。我们需要把应用程序上下文注入。

2022-12-24 11:58:21 262

原创 Sentinel系列——概述与安装1-1

随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。

2022-12-24 01:33:39 1127

原创 Nacos系列——Java SDK(2.x版本)2-1

本工程是Nacos的Java SDK 2.x版本的实现,并非官方文档而是本人经过学习后自己构建的工程,官方文档目前还未更新,仅供学习交流,请勿进行任何商业用途。

2022-12-19 15:39:38 710

原创 Nacos系列——配置的创建与获取

这里仅需要一个简单的SpringBoot工程即可,如果您下载了对应的资源,那么仅需要查看资源内部README文档进行对应修改即可,下面我们将从0构建Nacos-easy。如果我们增加新的配置只需要在yaml中进行修改即可,输出就会改变了。选择下载:Nacos-easy。

2022-12-18 17:04:06 2885

原创 Nacos系列——Nacos架构(2.x版本)1-2

本文仅作为笔记用途,文章所用专业性内容均出自nacos文档,并非本人构写,请查看Nacos官方文档,后续实际应用才是原创。

2022-12-18 14:59:01 268

原创 Nacos系列——Nacos概述(2.x版本)1-1

本文仅作为笔记用途,文章所用专业性内容均出自nacos文档,并非本人构写,请查看Nacos官方文档,后续实际应用才是原创Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

2022-12-18 14:27:55 1089

原创 前端系列——Canvas

canvas的用途有很多,常用于绘制各类图形,如我们常用的Echarts就是使用canvas构建的。canvas的默认大小为长:300px,宽:150px。使用drawImage函数。

2022-12-17 13:25:55 2115

SQLQuery5.sql

sqlserver实验五

2021-12-17

sqlserver4.sql

SQL server实验四完整过程sql文件

2021-12-08

SQLQuery1.sql sqlserver练习题3资源

sqlserver练习题3资源

2021-11-21

Linux学习——命令.pptx

Linux学习——命令.pptx

2021-06-07

Lnmp2安装php,apache,mysql,nginx

Lnmp2安装php,apache,mysql,nginx

2021-06-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除