自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Program with head, not hand

Program with head, not hand

  • 博客(138)
  • 资源 (4)
  • 收藏
  • 关注

原创 个人开发者看过来,我搭了一个监控系统免费用

面向个人开发者的免费的监控系统

2023-09-09 18:44:57 236

原创 竟然还有比rust官方库更高效第三方json库

对比了serde_json、rustc_serialize、simd-json,simd-json在几个场景下都是轻松超越。simd-json提供了一些高级用法和功能,以提高JSON解析和序列化的性能和灵活性。然后,我们可以使用该值的方法来获取JSON中的特定字段的值。在这个示例中,我们首先使用。函数将JSON数据解析为。我们再来看下它的一些高级功能。

2023-08-15 23:10:11 499

原创 rust怎么做大型项目管理?学好cargo和mod是关键

一提到大型项目开发,大家都会以Java作为标准,为什么呢?一个是Java生态有很多以Maven为代表的成熟的项目管理工具,另一个是基于package的模块管理模式,提供了非常好的功能内聚和模块间解耦,而同样的rust也有类似的模块管理方式——cargo + mod。

2023-08-15 02:02:00 775

原创 标准的rust后端项目的结构是怎样的呢?

库入口文件,如果项目需要作为库供其他项目使用,可以在此处定义库的公共接口。这只是一个示例项目结构,你可以根据自己的需求和项目规模进行调整和扩展。:数据模型的模块,通常包含定义和操作数据模型的结构体和方法。:处理请求的模块,通常包含处理不同路由和请求的处理器函数。:业务逻辑的模块,通常包含处理业务逻辑的服务函数。:实用工具的模块,通常包含通用的功能函数和工具类。:单元测试目录,用于编写针对单个模块或函数的测试。:项目的配置文件,其中包含项目的元数据和依赖项。:集成测试目录,用于编写测试整个应用程序的功能。

2023-08-15 02:01:25 632

原创 20天学会rust(四)常见系统库的使用

前面已经学习了rust的基础知识,今天我们来学习rust强大的系统库,从此coding事半功倍。

2023-08-15 02:00:55 1424

原创 函数与方法有区别?

总结而言,Rust中的方法是定义在结构体、枚举或trait实现中的函数,可以通过结构体或实例来调用。方法是在结构体或类型上定义的函数,它可以访问和操作该类型的属性和方法。方法可以看作是特定类型的函数,它与该类型的实例进行交互。函数是独立的代码块,而方法是与特定类型关联的函数,可以访问和操作该类型的属性和方法。同样的,在rust里,函数与方法也是有区别的。在main函数中,我们创建了一个Rectangle实例,并分别通过函数和方法来计算其面积。,它接受一个Rectangle类型的参数,并计算其面积。

2023-08-10 00:06:33 2442

原创 今天来学习rust里最热门的ORM数据库框架Diesel

Diesel是Rust语言中的一种ORM框架,用于简化与数据库的交互。首先,你需要在Cargo.toml文件中添加Diesel和相关数据库驱动的依赖项。如果是Mysql的话,那么引入以下依赖然后,在Rust代码中导入Diesel的宏和相关模块:接下来,你需要配置数据库连接。Diesel需要连接到数据库才能执行查询和操作。你可以使用方法创建一个与MySQL数据库的连接。你可以使用方法创建一个与PostgreSQL数据库的连接。如果使用其他数据库,可以选择相应的创建连接的方法。假设有一个名为。

2023-08-08 01:12:25 2188

原创 rust里如何快速实现一个LRU 本地缓存?

LRU算法的基本思想是,当缓存空间已满时,优先淘汰最近最少使用的数据,以保留最常用的数据。这只是一个简单的示例,实际的LRU本地缓存可能需要更多的功能和处理逻辑,例如缓存过期时间、并发访问处理等。函数中,如果缓存已满,则移除链表中最久未使用的键,并从缓存中移除;在计算机系统中,LRU算法常用于缓存系统、页面置换算法等场景,以提高数据访问的效率和性能。函数获取了一个缓存数据,并添加了一个新的缓存数据。函数中,如果缓存中存在指定的键,则将其移动到链表的末尾,并返回对应的值。函数中,我们创建了一个容量为2的。

2023-08-08 00:55:12 1150

原创 怪不得rust这么省内存,原来是有内存对齐

需要注意的是,Rust的内存布局和对齐规则可能会受到编译器、操作系统和目标平台的影响,因此具体的细节可能会有所不同。在编写涉及内存布局和对齐的代码时,建议使用标准库提供的函数和类型来确保正确性和可移植性。和其他语言一样,rust也需要对内存进行对齐,下面我们学习下rust是如何做的吧。通过了解内存布局和对齐的原则,我们可以更好地理解Rust中变量和数据结构在内存中的存储方式,并编写出更高效和可靠的代码。Rust使用了与C语言相似的内存布局和对齐规则,以确保数据的访问和操作是有效和可靠的。

2023-08-08 00:49:16 446

原创 这些优秀的Rust编码技巧你得知道

这些优秀的Rust编码技巧你得知道。

2023-08-08 00:33:00 141

原创 rust里用了事半功倍的十个超热门代码库你都用过吗?

这些是Rust生态系统中的一些常用库和框架,每个库和框架都有其特定的用途和功能,大家可以根据自己的需求选择合适的库和框架来构建应用程序。Rust的生态系统中有很多常用的库和框架。

2023-08-08 00:25:48 1128 1

原创 没有synchronized,rust怎么防并发?

需要注意的是,在使用Mutex时,需要注意避免死锁和竞争条件。死锁可能发生在多个线程相互等待对方释放锁的情况下。然后,我们创建了多个线程,并在每个线程中对共享数据进行加锁、修改和解锁操作。这将会阻塞当前线程,直到锁可用。一旦获取到锁,我们就可以安全地修改共享数据。由于Mutex保证了对共享数据的安全访问,所以最终结果应该是正确的。Mutex是互斥锁的一种实现,用于保护共享数据在并发访问时的安全性。在解锁时,Mutex会自动释放锁,允许其他线程获取锁并访问共享数据。在上述代码中,我们首先创建了一个共享数据。

2023-08-08 00:16:56 981

原创 20天学会rust(三)没有object的rust怎么面向对象?

面向对象我们都很熟悉,可以说它是一种软件开发最重要的编程范式之一,那么在Rust中如何面向对象编程呢?

2023-08-06 23:33:39 795

原创 用Rust实现23种设计模式之 享元模式

享元模式是一种结构型设计模式,它通过共享对象来减少内存使用和提高性能。在上述代码中,我们首先定义了享元接口Flyweight,并实现了具体享元ConcreteFlyweight。具体享元包含一个内部状态intrinsic_state,并实现了operation方法,其中打印了内部状态和外部状态。然后,我们定义了享元工厂FlyweightFactory,它维护了一个享元对象的集合。在get_flyweight方法中,如果已存在具有相同内部状态的享元对象,则返回该对象;

2023-08-06 10:31:53 138

原创 用Rust实现23种设计模式之 备忘录模式

备忘录模式是一种行为型设计模式,它允许在不暴露对象内部状态的情况下捕获和恢复对象的状态。在上述代码中,我们首先定义了备忘录对象Memento,它包含一个状态字段state。然后,我们定义了原发器对象Originator,它包含一个状态字段state,并提供了设置状态、创建备忘录和恢复状态的方法。接下来,我们定义了管理者对象Caretaker,它维护了一个备忘录对象的集合,并提供了添加备忘录和获取备忘录的方法。在main函数中,我们创建了原发器对象originator和管理者对象caretaker。

2023-08-06 10:31:25 109

原创 用Rust实现23种设计模式之 命令模式

命令模式是一种行为型设计模式,它将请求封装成一个对象,从而使得可以用不同的请求对客户端进行参数化。在上述代码中,我们首先定义了命令接口Command,并实现了具体命令ConcreteCommandA和ConcreteCommandB。这些具体命令包含一个请求接收者Receiver,并在execute方法中调用接收者的相应操作。然后,我们定义了请求接收者Receiver,它包含了实际的操作方法action_a和action_b。

2023-08-06 10:31:03 169

原创 20天学会rust(二)rust的基础语法篇

在Rust中,函数的定义使用fn关键字,后跟函数名称、参数列表和返回类型。函数体由一对花括号{}包围,用于包含实际的代码逻辑。sum }上述代码定义了一个名为add的函数,它接受两个i32类型的参数a和b,并返回一个i32类型的结果。函数体中计算了a和b的和,并将其作为函数的返回值。

2023-08-06 10:30:38 1281

原创 rust之String、str、&‘static str 与 FastStr使用详解

StringStringStringStringstrStringStringStringStringStringString请注意,fast_strcrate是一个第三方库,需要在Cargo.toml文件中添加依赖才能使用。

2023-08-06 10:30:13 812

原创 写了这么久rust,你的变量和函数命名符合社区公约吗?

rust社区的命名公约

2023-08-06 10:29:51 434

原创 用Rust实现23种设计模式之 外观模式

然后,我们定义了外观Facade,它包含子系统A和子系统B的实例。外观提供了一个统一的接口operation,其中调用了子系统A和子系统B的操作方法。通过外观模式,我们可以提供一个简化的接口来访问复杂的子系统,隐藏了子系统的复杂性,使得客户端代码更加简洁和易于使用。外观模式是一种结构型设计模式,它提供了一个统一的接口,用于访问子系统中的一组接口。在上述代码中,我们首先定义了子系统A和子系统B,它们分别实现了各自的操作方法。

2023-08-05 23:40:33 1404

原创 用Rust实现23种设计模式之 状态模式

状态模式是一种行为型设计模式,它允许对象在内部状态改变时改变其行为。在上述代码中,我们首先定义了状态接口State,并实现了具体状态ConcreteStateA和ConcreteStateB。每个具体状态都实现了handle方法,用于处理不同的状态。然后,我们定义了上下文对象Context,它包含一个状态对象state。在Context中,我们通过set_state方法可以动态地改变状态,通过request方法可以发起请求,具体的处理行为由当前状态对象来执行。

2023-08-05 23:39:37 144

原创 用Rust实现23种设计模式之 中介者模式

中介者模式是一种行为型设计模式,它通过引入一个中介者对象来协调多个对象之间的交互。中介者模式通过降低对象之间的直接耦合,提高了系统的可维护性和灵活性。在上述代码中,我们首先定义了中介者接口Mediator,并实现了具体中介者ConcreteMediator。具体中介者维护了一个同事对象的集合,并实现了notify方法,用于通知其他同事对象。然后,我们定义了同事接口Colleague,并实现了具体同事ConcreteColleagueA和ConcreteColleagueB。

2023-08-05 23:39:13 85

原创 用Rust实现23种设计模式之 访问者模式

访问者模式是一种行为型设计模式,它允许在不改变被访问对象的结构的情况下,定义对这些对象的新操作。在上述代码中,我们首先定义了被访问者接口Element,并实现了具体被访问者ConcreteElementA和ConcreteElementB。每个具体被访问者都实现了accept方法,用于接受访问者的访问。然后,我们定义了访问者接口Visitor,并实现了具体访问者ConcreteVisitor。具体访问者实现了visit_element_a和visit_element_b方法,用于访问不同的被访问者。

2023-08-05 23:38:46 75

原创 用Rust实现23种设计模式之 解释器模式

下面是一个简单的例子,演示如何使用 Rust 实现解释器模式。

2023-08-05 23:38:23 114

原创 用Rust实现23种设计模式之 模板方法模式

模板方法模式是一种行为型设计模式,它定义了一个算法的骨架,将一些步骤的实现延迟到子类中。在上述代码中,我们首先定义了模板方法的抽象类AbstractClass,并定义了一个template_method方法,该方法定义了算法的骨架,其中包含了一些具体的步骤,这些步骤由子类实现。然后,我们创建了两个具体实现模板方法的子类ConcreteClassA和ConcreteClassB。这两个子类分别实现了AbstractClass中的具体步骤方法step1、step2和step3。

2023-08-05 23:37:47 277

原创 用Rust实现23种设计模式之 装饰者模式

通过装饰者模式,我们可以在运行时动态地向对象添加新的行为,同时又不改变其接口。装饰者模式是一种结构型设计模式,它允许动态地向对象添加新的行为,同时又不改变其接口。,并将组件对象传入。然后,我们调用装饰者对象的。这些具体装饰者包含一个组件对象,并在。具体组件表示被装饰的对象,实现了。方法,并在结果前后添加了额外的修饰。方法,并在结果前后添加了额外的修饰。函数中,我们创建了具体组件对象。方法,实际上调用了组件对象的。然后,我们定义了装饰者接口。方法中调用组件对象的。,并实现了具体装饰者。,以及具体装饰者对象。

2023-08-05 23:37:13 150

原创 用Rust实现23种设计模式之 观察者模式

观察者模式是一种行为型设计模式,它定义了一种一对多的依赖关系,使得当一个对象的状态发生变化时,其所有依赖者都会收到通知并自动更新。在上述代码中,我们首先定义了观察者接口Observer,并实现了具体观察者ConcreteObserver。具体观察者包含一个名称字段,并实现了update方法,用于接收并处理被观察者发送的通知。然后,我们定义了被观察者接口Subject,并实现了具体被观察者ConcreteSubject。

2023-08-05 23:36:51 129

原创 用Rust实现23种设计模式之 迭代器模式

迭代器模式是一种行为型设计模式,它提供了一种顺序访问集合对象元素的方法,而无需暴露集合对象的内部表示。在上述代码中,我们首先定义了迭代器接口Iterator,并实现了具体迭代器ConcreteIterator。具体迭代器包含一个集合对象的引用和一个索引,实现了has_next方法用于判断是否还有下一个元素,以及next方法用于获取下一个元素。然后,我们定义了集合对象Collection,它包含一个字符串类型的items字段,并实现了create_iterator方法用于创建迭代器对象。

2023-08-05 23:36:24 76

原创 你知道rust里的茴香豆(字符串)有多少种写法吗?

rust作为一门强类型语言,除了基础类型,用的最多的就是字符串类型了,rust提供了多种方法:String、&str、&'static str和 FastStr。ok,用法相信大部分人都会,但是他们内存分配在堆上还是栈上呢? 谁的性能最好呢?

2023-08-05 17:19:03 127

原创 用Rust实现23种设计模式之 策略模式

下面是一个简单的例子,演示如何使用 Rust 实现策略模式。

2023-08-04 13:49:28 1855

原创 用Rust实现23种设计模式之 职责链模式

下面是一个简单的例子,演示如何使用 Rust 实现职责链模式。

2023-08-04 13:49:03 1362

原创 用Rust实现23种设计模式之 代理模式

代理模式是一种结构型设计模式,它允许通过代理对象来控制对真实对象的访问。在上述代码中,我们首先定义了共享接口Subject,并实现了具体对象RealSubject。RealSubject表示真实对象,实现了Subject接口的request方法。然后,我们定义了代理对象Proxy,它包含一个RealSubject对象作为其成员。Proxy实现了Subject接口的request方法,在方法中调用了RealSubject的request方法,并在调用前后执行了一些额外的操作。

2023-08-04 13:48:32 1818

原创 没有jodatime,rust里怎么比较两个日期(时间)的大小呢?

在 Rust 中,比较两个日期的大小有多种方法。

2023-08-04 13:47:37 1311

原创 rust怎么生成随机数?

在 Rust 中,有几种不同的方法可以实现随机数生成。

2023-08-04 13:47:08 2049

原创 没有jsoup,rust怎么解析html呢?

它提供了一个简单的方式来发送 HTTP 请求并获取网页内容。标签、解析出指定 class 的元素以及解析出指定 id 的元素。在 Rust 中,你可以使用各种库来解析网页内容。库发送 HTTP GET 请求并获取网页内容。等库来解析 HTML 或 XML 格式的网页内容。库解析 HTML 内容。在这个示例中,我们使用。的其他用法,下面是三个使用。类的示例,分别用于解析出。首先,将以下内容添加到你的。元素,并提取其文本内容。在这个示例中,我们使用。

2023-08-04 13:46:25 1635

原创 没有fastjson,rust怎么方便的解析提取复杂json呢?

方法将提取的值转换为你期望的类型,如字符串、整数等。在 Rust 中解析和提取复杂的 JSON 结构,你可以使用。方法来简化代码,但在实际应用中,你可能需要处理错误情况。提供了一组功能强大的方法来解析和操作 JSON 数据。在这个示例中,我们首先将 JSON 字符串解析为。来提取特定字段的值。

2023-08-04 13:45:56 1722

原创 没有jodatime,rust里怎么将字符串转为日期呢?

/ 时间转字符串 let datetime: DateTime < Utc > = Utc::now();// 字符串转时间 let datetime_str = "2022-01-01 12:00:00";println!("时间转字符串:{}" , datetime_str);println!("字符串转时间:{}" , datetime);

2023-08-04 13:45:25 1446

原创 没有jodatime,rust怎么方便高效的操作时间呢?

当使用Rust进行日期操作时,可以使用chrono库。

2023-08-04 13:44:49 2213

原创 rust怎么解析json数据?

在 Rust 中,你可以使用serde库来实现结构体与 JSON 之间的互相转换。serde是 Rust 社区最常用的序列化和反序列化库,它提供了方便的功能来处理结构体与 JSON 之间的转换。首先,在你的项目的Cargo.toml文件中添加serde和serde_json然后,你需要在你的结构体上添加Serialize和trait 来实现序列化和反序列化。这可以通过在结构体上添加注解来自动派生实现。现在,你可以使用serde_json。

2023-08-04 13:44:08 2198

原创 用Rust实现23种设计模式之 组合模式

组合模式是一种结构型设计模式,它允许将对象组合成树状结构,并且能够以统一的方式处理单个对象和组合对象。通过组合模式,我们可以将对象组合成树状结构,以统一的方式处理单个对象和组合对象,提高代码的灵活性和可扩展性。叶子组件表示树中的叶子节点,容器组件表示树中的容器节点,可以包含其他组件。然后,我们将叶子组件添加到容器组件中,并调用容器组件的。方法,用于执行容器组件的操作。在上述代码中,我们首先定义了组件接口。方法,用于向容器中添加和删除组件。函数中,我们创建了两个叶子组件。方法,用于执行叶子组件的操作。

2023-08-03 23:48:02 1584

SecureCRT注册码生成工具

1、保持SecureCRT未打开。 2、打开注册机keygen.exe文件(Windows vista ,7,8需要以管理员身份运行),点击【Patch】按钮,会让你选择文件 ,选择SecureCRT.exe可执行文件,还会再提示LicenseHelper.exe文件。确定后都会提示成功。 3、然后打开CRT软件,按照相应的提示输入注册机上显示的信息。注意,默认打开CRT时候会是一个输入key的页面,什么都不输入,点击下一步,选择输入自己的相关信息。就会看到分别让你输入名称、序列号等相关日期了。完成结束。看看自己的是否有激活成功。

2016-01-14

动态切换Datasource

动态切换数据源,与博客http://blog.csdn.net/u013769320/article/details/47376343对应

2015-08-09

Collectiion与Map类图

整理的详细的Java集合类图 参考的JDK1 8

2015-03-07

MybatisPractice

Mybatis基础入门代码,基于注解和XML两种方式混搭使用

2015-01-02

空空如也

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

TA关注的人

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