amp sudo rust all

[LeetCode] 1359. Count All Valid Pickup and Delivery Options 有效的快递序列数目

Given n orders, each order consists of a pickup and a delivery service. Count all valid pickup/delivery possible sequences such that delivery(i) is al ......
序列 数目 LeetCode Delivery Options

23_rust_练习

练习编码 实现一个简单的grep工具。 建立项目: > cargo new minigrep Created binary (application) `minigrep` package 接收命令行参数 use std::env; fn main() { // args返回一迭代器,collect ......
rust 23

[Rust] 对整形溢出的处理

1. 两种不同模式下的整形溢出 坑了个爹的,书上说的没理解清楚,在Rust程序语言设计中文版3.2中提到了,当使用--release参数进行发布模式构建时,Rust不会检测导致panic的整形溢出,这里需要分两种情况考虑: 编译期就可以发现的整形溢出 程序运行过程中会发生的整形溢出 1.1 编译阶段 ......
Rust

前端开发笔记[5]-rust的webassembly

摘要 基于rust开发webassembly入门,通过rust实现在网页中弹出警告框. rust的webassembly开发方式 https://zhuanlan.zhihu.com/p/104299612 入门 Rust 开发 WebAssembly Rust 编译为WebAssembly 在前端 ......
前端 webassembly 笔记 rust

Go语言使用range修改值,需要使用切片的指针 &slice[index]

由于 Value 是值拷贝的,并非引用传递,所以直接改 Value 是达不到更改原切片值的目的的,需要通过 &slice[index] 获取真实的地址 package main import ("fmt") func main(){ slice := []int{10,20,30,40} for i ......
指针 语言 range index slice

不可靠的 Rust Lifetime Elision

众所周知,Rust 编译器在分析代码的过程中,会对含有引用参数、返回值的函数、方法进行 lifetime 检查。经历数次版本迭代后 Rust 编译器发展出了一套惯用规则用于隐式推理 lifetime 注解 (lifetime elision),从而减小开发者的编写难度,尽可能省略不必要的 lifet ......
Lifetime Elision Rust

java——kafka随笔——broker&主题-topic&分区-partition理解

首先,让我们来看一下基础的消息(Message)相关术语: 名称解释 Broker 消息中间件处理节点,⼀个Kafka节点就是⼀个broker,⼀个或者多个Broker可以组成⼀个Kafka集群 Topic Kafka根据topic对消息进⾏归类,发布到Kafka集群的每条消息都需要指定⼀个topi ......
amp partition 随笔 主题 broker

与c++比较学习rust3-2:数据类型

rust 的文章在 数据类型 数据类型 标量类型 整形,浮点型,布尔型,字符 整形 c++ rust go int8_t i8 int8 int16_t i16 int16 int32_t i32 int32 int64_t i64 int64 - i128 - int isize int unsi ......
类型 数据 rust3 rust

与c++比较学习rust3-1:变量和可变性

rust 文章: 变量和可变性 let , const 这两个在c++中,没有与let相同的 用法, let let有点像 const auto 1.1. 相同点:不需要指定类型。使用了const auto 之后,不能改变值也不能改变类型。 1.2. 不同点:rust合法, c++中不合法(即c++ ......
可变性 变量 rust3 rust

rust 指针

指针 deref()方法是将一个智能指针转换为底层数据类型的引用。 fn main() { let a = vec![1, 2, 3]; a.iter().for_each(|f| println!("{}", f)); // deref 方法是将一个智能指针转换为底层数据类型的引用。 let b ......
指针 rust

rust 集合当成智能指针

集合当成智能指针 通过为集合实现 Deref trait,提供其拥有和借用的数据视图。 Vec是一个拥有T的集合,然后通过实现Deref完成&Vec到&[T]的隐式解引用,从而提供借用T的集合(即&[T]) #[stable(feature = "rust1", since = "1.0.0")] ......
指针 智能 rust

rust 使用借用类型作为参数

使用借用类型作为参数 编码时应该总是倾向于使用借用类型而不是借用所有类型。 对于String类型来说,应该倾向于使用使用&str,而不是&String; #[allow(unused)] fn main() { let string: String = "hello".to_string(); le ......
参数 类型 rust

rust 析构器中做最终处理

析构器中做最终处理 Rust中,通常在析构函数中运行退出前必须运行的代码。 #[derive(Debug)] pub struct A(u8); impl Drop for A { fn drop(&mut self) { println!("A exit") } } #[derive(Debug) ......
rust

rust 构造器和默认构造器

构造器和默认构造器 Rust中,通常使用一个关联函数new来创建一个对象,通过Default trait来支持默认构造器。 // #[derive(Default)]来实现Default,而不必显式的实现。 #[derive(Default)] pub struct Person { name: S ......
rust

rust 使用 take 和 replace 来保留所有值

使用 take 和 replace 来保留所有值 枚举类型 enum MyEnum { A { name: String, x: u32 }, B { name: String }, } 使用 std::mem::take() 和 std::mem::replace() 在不克隆 name 的情况下 ......
replace rust take

rust PBFT

PBFT(Practical Byzantine Fault Tolerance) PBFT(Practical Byzantine Fault Tolerance)算法是一种分布式共识算法,旨在解决拜占庭将军问题(Byzantine Generals Problem)。拜占庭将军问题是指在分布式系 ......
rust PBFT

rust Unsurprising

Unsurprising(不意外) 最少意外原则 接口应尽可能直观(可预测,用户能猜对) 至少应该不让人感到惊奇 核心思想 贴近用户已经知道的东西(不必重学概念) 让接口可测试 命名实践 实现常用的 Traits 人体工程学(Ergonomic)Traits 包装类型(Wrapper Type) 命 ......
Unsurprising rust

Rust 结构体的方法描述

Rust 结构体的方法描述 原文地址:https://rustwiki.org/zh-CN/rust-by-example/fn/methods.html Rust 的 方法(method)是依附于对象的函数。这些方法通过关键字 self 来访问对象中的数据和其他。方法在 impl 代码块中定义。 ......
结构 方法 Rust

rust async

async Send 和 Sync 在跨线程时需要关注 Send: ownership(所有权) 可以 send 到其他线程 A type is Send if it is safe to send it to another thread. Sync: 可以并发,无线程安全问题 A type is ......
async rust

rust p2p

p2p [+] Expand description p2p 简介 P2P:peer-to-peer(点对点) P2P 是一种网络技术,可以在不同的计算机之间共享各种计算资源,如 CPU、网络带宽和存储。 P2P 是当今用户在线共享文件(如音乐、图像和其他数字媒体)的一种非常常用的方法。 Bitto ......
rust p2p p2 2p

牛客练习赛117 C&D

Link C 分类讨论贪心 显然的,正面考虑怎么拼团会很麻烦,所以我们从另一个视角考虑,求出可能的最大团数,然后看一看怎么踢人能够使落单的最少。 当K为偶数的时候,显然最大团数就是\((n+m*2)/k\),而当K为奇数的时候,显然男生抱团需要至少一个男生,女生抱团也需要至少一个男生,最大团数就是\ ......
练习赛 117 amp

CSRF & SSRF

CSRF & SSRF CSRF CSRF(Cross-Site Request Forgery)(跨站请求伪造漏洞) 原理 用户访问网站,网站给用户cookie,此时攻击者给用户发送了一个诱惑链接,链接里有对该网站的访问代码,用户点击攻击者的链接后,触发恶意代码,攻击者就利用用户的cookie,执 ......
CSRF SSRF amp

Princeton Algorithms, Part I week2 stack&queue

stack:先进后出 queue:先进先出 首先是stack 有两种实现方式,第一种是用链表,第二种是用数组。 Stack: linked-list representation stack: array implementation 上面这个实现是固定长度的array implementation ......
Algorithms Princeton week2 stack queue

Python 中的 __init__.py 和__all__ 详解(抄袭的joker) 因为写的实在是太好了

Python 中的 __init__.py 和__all__ 详解 JOKER 没意思先生 之前不论是自己写代码还是用别人的代码,都没有注意过这个东西,今天忽然看了一下,网上的教程感觉讲的都不是很清楚,自己又研究了研究,总结一下,如果有不对的地方,大家帮忙指正一下。 在Python工程里,当pyth ......
Python joker init all py

computed&watch

computed计算属性 对于任何复杂逻辑,你都应当使用计算属性。 computed计算属性的作用是对数据的计算和缓存,优点是能够提高性能。 vue2中,没咋用vue2写过项目,所以基本的代码展示都以vue3的格式。 method:{}, computed:{}, vue3 const num1 = ......
computed watch amp

关于scanf("%d %d", &a, &b) == 2 ?

scanf 函数的返回值可以分成三种情况 1) 正整数,表示正确输入参数的个数。例如执行 scanf("%d %d", &a, &b); 如果用户输入"3 4",可以正确输入,返回2(正确输入了两个变量); 如果用户输入"3,4",可以正确输入a,无法输入b,返回1(正确输入了一个变量)。 2) 0 ......
quot amp scanf

CRT & exCRT

一、CRT 1. 前置芝士 exgcd 2. 应用范围 求解同余方程组: \[\begin{cases}x\equiv a_1\mod m_1\\x\equiv a_2\mod m_2\\x\equiv a_3\mod m_3\\~~~~~~~~~~~~~\vdots\\x\equiv a_k\mo ......
exCRT CRT amp

22. 从零用Rust编写正反向代理,一个数据包的神奇HTTP历险记!

一个数据包在HTP的旅游中的畅游之旅,带你了解HTTPS/HTTP2,及反向代理处理,经历压缩限流等奇特的历险记。 ......
历险记 数据 Rust HTTP 22

【专题】自动泊车(APA&AVP)行业发展蓝皮书报告PDF合集分享(附原数据表)

原文链接:https://tecdat.cn/?p=34111 随着新一轮技术革命和产业变革的推动,以及国家政策的大力扶持,电动化、智能化、网联化已经成为汽车行业发展的新趋势。在这种背景下,各大企业纷纷争夺数字化人才,以推动产品的规模化落地和商业化创新应用。阅读原文,获取专题报告合集全文,解锁文末5 ......

Codeforces Round 906 (Div. 2) Doremy's Drying Plan E1.&E2

传送门 先考虑\(E1\) 只需要删除两条线使得不被覆盖的点数最多。 观察到点数只有\(200000\) 那么我们完全可以先将被至少\(3\)条线覆盖的点删掉。 考虑枚举一条线,枚举这条线覆盖的点寻找另外一条线覆盖这些点中的最大值,然后再找没覆盖这些点之外的线的最大值即可。 复杂度容易证明是线性的。 ......
Codeforces Doremy Drying Round Plan