一致性 小点 所有权rust
[go 面试] 为并发加锁:保障数据一致性(分布式锁)
原创 TimLiu 爱发白日梦的后端 2023-12-01 08:01 发表于广东 爱发白日梦的后端 专注 Go 语言领域的发展,学习成为更牛逼的架构师,日常分享 Go 语言、架构、软件工具的使用。 159篇原创内容 公众号 在单机程序中,当多个线程或协程同时修改全局变量时,为了保障数据一致性,我们 ......
自用 | Rust 基础学习资料
Rust语言圣经:Github,GitBook Rustt,RusttT 翻译小组的官方仓库,这里有国外优秀的技术文章、学习教程、新闻资讯的高质量翻译。 Rust语言周刊,每周五发布,精选过去一周的技术文章、业界新闻、开源项目和 Rust 语言动态 rust-by-practice,Learning ......
关于__int128和short,你需要知道的所有
高精度大家都认识吧? 但是,高精度这货是真滴长…… 于是,人们又发明出了一个东西 __\(int128\)! __\(int128\)(注意前面有\(2\)个下划线)嘛,把特点写脸上了:占用\(128\)位,也就是\(16\)个字节。储存范围,自然也是占用\(64\)位的\(long\) \(lon ......
关于三目运算符,你需要知道的所有
\(if...else\)语句常写吧? \(But\),你会不会觉得: 写\(if...else\)? 烦死了! 写\(switch\)?就俩我写啥…… 于是,又一个\(C\)艹利器——三目运算符诞生啦! 先上代码: mn = (a < b) ? a : b; /* 其中,? :为三目运算符,一般为 ......
关于switch,你需要知道的所有
话说写代码时要写 \(1\) 吨 \(\text{if}\) 的题你们有木有遇到? 比如这道题。\(6\) 个操作要写 \(6\) 个 \(\text{if}\)!那么你的代码可能会成这德行: if (op == 1) { // 一顿操作猛如虎 } else { if (op == 2) { // ......
关于auto,你需要知道的所有
话说咱写 $\text{STL}$ 的时候经常会要写迭代器,大概是这么一大串东西: vector<int>::iterator iter = data.begin(); 好烦啊!而且,$\text{iterator}$ 这个单词容易写错($\text{CE}$:走好不送)…… 于是,在 $\text ......
关于类,你需要知道的所有
众所周知,Python是一种面向对象的语言,而C不是。 为啥呢? 因为Python引入了Class! 那都说C++也是面向对象的语言,C++有Class吗? 有!跟结构体差不多! 例如,下面这段代码: struct OIer{ int age; string name; }; 如果改用Class,就 ......
Rust实现线段树和懒标记
参考各家代码,用Rust实现了线段树和懒标记。 由于使用了泛型,很多操作都要用闭包自定义实现。 看代码。 // 线段树定义 pub struct SegmentTree<T: Clone> { pub data: Vec<T>, tree: Vec<Option<T>>, marker: Vec<T ......
全面对比 汇编、易语言、Shell、Lua、Ruby、Perl、Erlang、Rust、Scala、Python、Go、VB、PHP、C/C++、C#、.Net、Java、…… 等多种编程语言的区别
1. 语言类型:首先,C/C++、Java 、Python都是强类型的语言。强类型语言的定义如下: 强类型语言是一种强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就是该数据类型。而弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动进行转换 ......
【C/C++】通过下面的工作来改进String类声明(即将String1.h升级为String2.h)。 a. 对+运算符进行重载,使之可将两个字符串合并成一个。 b. 提供一个Stringlow()成员函数,将字符串中所有的字母字符转换为小写(别忘了cctype系列字符函数)。 c. 提供String()成员函数,将字符串中所有字母字符转换成大写。
通过下面的工作来改进String类声明(即将String1.h升级为String2.h)。 a. 对+运算符进行重载,使之可将两个字符串合并成一个。 b. 提供一个Stringlow()成员函数,将字符串中所有的字母字符转换为小写(别忘了cctype系列字符函数)。 c. 提供String()成员函 ......
【MySQL】一文看懂MySQL所有常见问题
MySQL作为一款开源关系型数据库,如今绝对是占据关系型数据库的主导地位,不仅是面试中的常客,也是日常工作中最主要接触的数据库。因此,无论是背面试八股,还是工作使用,都是一定要深度掌握的一个知识点。今天就用一篇文章讲清楚MySQL的所有问题 ......
Python OpenCV 去除截图中的所有图片
1 import cv2 2 import numpy as np 3 import matplotlib.pyplot as plt 4 5 # 读取图像并转换为灰度图像 6 image = cv2.imread('./a.jpg') 7 gray = cv2.cvtColor(image, cv ......
代码随想录算法训练营第十七天 | 110.平衡二叉树,257. 二叉树的所有路径,404.左叶子之和
一、110.平衡二叉树 题目链接: LeetCode 110.平衡二叉树 学习: 思路: 后序遍历。实际上是由叶结点到根结点,若有一颗子树不是平衡二叉树,则直接返回给根结点 二、257.二叉树的所有路径 题目链接: LeetCode 257.二叉树的所有路径 学习: 思路: 递归+回溯。因为是线=先 ......
力扣448-找到所有数组中消失的数字
难度:【简单】 常规笨方法做一遍:先遍历一遍记录到哈希表中,再从1到n遍历一遍,不在哈希表中的记入返回数组中,时空复杂度都是O(n)。 尝试优化空间复杂度到O(1):先填满返回数组,再遍历原数组,原数组中出现的元素删掉。也是朴素的笨方法,所以超出了时间限制。这让我体会到了数组查找元素的时间代价。 抄 ......
深入浅出一致性哈希
哈希是什么 哈希又称散列,是一种计算数据指纹的方法。 哈希函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来 业务场景 常见的业务场景;网站用户请求后,为了性能一般都会加一层缓存。 缓存有多个节点,每个节点存储了不同数据。 获取数据,先根据数据取模(哈希)找到缓存节点,如果命中缓存则直 ......
更新所有docker
解析这个命令:docker images | grep -v REPOSITORY | awk 'BEGIN{OFS=":"} {print $1,$2}' | xargs -L1 docker pull 这个命令的作用是从Docker镜像仓库中拉取所有的镜像。 具体的步骤如下: docker im ......
如何使用 Shell 命令在 linux 当中统计很多文件当中所有的中文字符
grep -P '[\p{Han}]+' **/*.md -oh | tr -d '\s' > cat.log -P 是正则表达式匹配 -h, --no-filename Suppress the prefixing of file names on output. This is the defa ......
短小精悍(5) - Rust内存清零库zeroize介绍
title: 短小精悍(5) - Rust内存清零库zeroize介绍 zhihu-url: https://zhuanlan.zhihu.com/p/674976137 今天带来的是一个“短小精悍”的库:zeroize。zeroize可以在确保不被编译器优化的前提下安全高效地清空一段内存,适合在保 ......
mrml mjml 的rust 实现
mrml 是mjml 的rust 实现,同时还提供了webassembly 的支持,当然比较强大的是mrml 同时也实现了python binding webassembly 使用 代码 const { Engine } = require("mrml"); const engine = new E ......
[记]在rust中使用xml,xml的序列化与反序列化
序 在rust中有好几个xml库,但我个人比较推荐的是quick_xml库,这个库的序列化和反序列化使用体验比较好。 启用quick_xml的feature quick-xml = { version = "0.31.0",features=["serde","serialize"] } serde ......
Rust中的12中整数类型
长度 有符号 无符号 8-bit i8 u8 16-bit i16 u16 32-bit i32 u32 64-bit i64 u64 128-bit i128 u128 arch isize usize ......
短小精悍(4) - Rust操作系统随机数getrandom库介绍
今天带来的是另一个“短小精悍”的库:getrandom。它的作用是从操作系统提供的随机数源获得一段随机数。 用法 getrandom的用法很简单,唯一需要了解的就是它内部的同名函数: pub fn getrandom(dest: &mut [u8]) -> Result<(), Error> 它将会 ......
oracle virtualbox虚拟机时间保持宿主机一致
1.查看当前的虚拟机 C:\Users\Administrator>cd C:\Program Files\Oracle\VirtualBox C:\Program Files\Oracle\VirtualBox>VBoxManage.exe list vms "12C-rac01-ogg" {0f ......
Rust爬取大A股票数据.rs
extern crate simple_excel_writer as excel; use excel::*; fn main() -> Result<(), Box<dyn std::error::Error>> { let url: &str = "http://94.push2.eastmo ......
Rust error : usize 类型不能进行 - 操作
return (- low - 1 as isize) as isize; cannot apply unary operator - Rust编写程序时候 usize 类型 进行-1 运算时报的错误 写了下BinarySearch, 对于if 判断修正为平衡版本,同时解决了 取得的midVal 已 ......
C练习——1到100的所有整数中出现多少次数字9
题目:编写程序数一下 1到 100 的所有整数中出现多少次数字9。 解析:这类题目要分步骤。个位和十位分开判断,再具体确定判断条件。个位上的9就是 9、19 、29、39.....99。模10都等于9;十位上的是90、91、92....99.。注意:99数了两遍 逻辑:循环遍历1~100,if条件判 ......
Windows 安装 Rust 并设置镜像加速
目录下载rustup-init.exe(Rust安装工具)使用镜像加速rustup安装安装Rust安装标准库源码使用镜像加速cargo包下载安装结果确认更新、卸载和文档查看参考文档 下载rustup-init.exe(Rust安装工具) 下载安装程序 https://www.rust-lang.or ......
linux su 所有用户,permission denied
查看文件/etc/pam.d/su,将wheel行全部加上注释 auth required pam_wheel.so use_uid #这一行要求了只有wheel组的用户才能通过su登录,如果不注释掉该内容,将用户添加到wheel组也可以解决su 登录问题 ]# grep wheel /etc/pa ......