proc-macro过程macro rust

elixir macro defoverridable 功能

基于macro 的包装函数可以使用defoverridable 可以方便进行方法的重写 参考使用 app.ex defmodule App do defmacro __using__(_options) do quote do def init do IO.puts "do init" end de ......
defoverridable 功能 elixir macro

在rust中 str和String的区别

在Rust中,str和String是两种不同的字符串类型,它们有以下区别: str是Rust中的字符串切片类型(String Slice),它是一个不可变的引用,表示一个字符串的片段。它通常使用&str类型来表示。str类型在编译时确定长度,它存储在程序的只读内存中,并且不能被修改。str类型通常用 ......
String rust str

elixir apply 结合 macro 一个方便的开发技巧

此玩法实际在Phoenix elixir 项目中使用比较多,以下是一个简单的示例 示例代码 login.ex defmodule Login do def demoapp do quote do import unquote(__MODULE__) end end def dalong do IO. ......
技巧 elixir apply macro

在windows上安装 docker容器的过程

本文为第一次记录,有遗漏问题,欢迎交流,主要用于记录,方便以后操作 先找到了微软官网教程 https://learn.microsoft.com/zh-cn/virtualization/windowscontainers/quick-start/set-up-environment?tabs=do ......
容器 过程 windows docker

apex的安装过程及问题解决

最近在复现代码时遇到了如下问题,在此记录一下问题的解决过程: 步骤一 git clone https://github.com/NVIDIA/apex.git 步骤二 cd apex 步骤三 pip install -v --no-cache-dir ./ 在此步骤中若遇到“ModuleNotFou ......
过程 问题 apex

Rust创建Hello World项目

目录安装插件创建项目运行调试参考文档 安装插件 直接安装Rust插件即可,里面包含了3个扩展包会自动安装: 各个插件的作用可以查看:如何使用VSCode配置Rust开发环境(VS Code 安装 Rust 常用插件)。 创建项目 可以手动创建目录、文件,用任意编辑器写好代码,然后用命令行编译运行,参 ......
项目 Hello World Rust

ASR项目实战-交付过程中遇到的疑似内存泄漏问题

基于Kaldi实现语音识别时,需要引入一款名为OpenFST的开源软件,本文中提到的内存问题,即和这款软件相关。 考虑到过程比较曲折,内容相对比较长,因此先说结论。 在做长时间的语音识别时,集成了Kaldi和OpenFST的进程将会占用远超出预期的内存,这个现象可能和OpenFST、glibc的实现 ......
实战 内存 过程 项目 问题

38. 干货系列从零用Rust编写负载均衡及代理,负载均衡中ip通行与禁止

IP的通行及禁止帮我们更好的保护系统的健壮性及私域的隐私性做保证。自动禁止IP的话,将是WAF等进阶能力的,更好的保护源站。 ......
干货 Rust 38

在软件测试过程中如何有效的开展接口自动化测试

一.简介 接口自动化测试是指使用自动化测试工具和脚本对软件系统中的接口进行测试的过程。其目的是在软件开发过程中,通过对接口的自动化测试来提高测试效率和测试质量,减少人工测试的工作量和测试成本,并且能够快速发现和修复接口错误,确保软件系统的稳定性和可靠性。接口自动化测试可以有效地支持持续集成和持续交付 ......
软件测试 接口 过程 软件

自用 | Rust 基础学习资料

Rust语言圣经:Github,GitBook Rustt,RusttT 翻译小组的官方仓库,这里有国外优秀的技术文章、学习教程、新闻资讯的高质量翻译。 Rust语言周刊,每周五发布,精选过去一周的技术文章、业界新闻、开源项目和 Rust 语言动态 rust-by-practice,Learning ......
学习资料 基础 资料 Rust

STM32F103C8T6移植RT_Thread nane过程记录

一、创建基于官方库的裸机工程(这教程很多,每个人创建的工程风格也不一样,就不多赘述了) 二、下载RT-Thread Nano源代码(https://github.com/RT-Thread/rtthread-nano/archive/refs/heads/master.zip) 三、RT-Threa ......
RT_Thread 过程 Thread 103C F103

记一次EasyExcel bug排查过程

问题现象 EasyExcel 在读取yyyy年MM月 hh时mm分ss秒格式的时间类单元格时,分位数据会错乱,其值为月份数据 问题复现 首先复现下出现的问题 有如下数据 总人数 合格人数 统计时间 10 8 2023年04月01日 08时00分00秒 其中统计时间按如下格式设置 这里需要注意的是,该 ......
EasyExcel 过程 bug

Rust实现线段树和懒标记

参考各家代码,用Rust实现了线段树和懒标记。 由于使用了泛型,很多操作都要用闭包自定义实现。 看代码。 // 线段树定义 pub struct SegmentTree<T: Clone> { pub data: Vec<T>, tree: Vec<Option<T>>, marker: Vec<T ......
线段 标记 Rust

全面对比 汇编、易语言、Shell、Lua、Ruby、Perl、Erlang、Rust、Scala、Python、Go、VB、PHP、C/C++、C#、.Net、Java、…… 等多种编程语言的区别

1. 语言类型:首先,C/C++、Java 、Python都是强类型的语言。强类型语言的定义如下: 强类型语言是一种强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就是该数据类型。而弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动进行转换 ......
语言 编程语言 多种 Erlang Python

解决方案 | VS2022 + AutoCAD2024 + ObjectARX2024环境搭建过程

一、准备工具 1.vs2022 自行网络搜索,各种版本均可(比如专业版、社区版),注意使用社区版必须使用最新版,目前是17.8版本,否则最终会无法使用样板。 2.cad2024 自行网络搜索 3.ObjectARX2024 SDK 和 ObjectARX2024 Wizard 3.1给出 Objec ......
2024 ObjectARX 解决方案 过程 AutoCAD

浪潮CE3000F飞腾PC安装UOS/银河麒麟双系统的过程

浪潮CE3000F飞腾PC安装UOS/银河麒麟双系统的过程 背景 为了进行兼容性验证, 部门采购过一批浪费CE3000F的PC机器. 前期系统安装的是UOS, 但是有同事借走机器后重装了银河麒麟V10SP1 结果安装人忘记了银河麒麟的密码, UOS又进不去系统. 所以没办法只能全新安装一次. 第一步 ......
浪潮 过程 系统 3000F 3000

VMto阿里云的简单过程

VMto阿里云的简单过程 第一步打开网站 https://smcnext.console.aliyun.com/sourceServers/importMigrationSource?spm=5176.13581910.welSection.2.1cc318e62j8rBy&sourceServer ......
过程 VMto

DNS原理及解析过程详解

相信大家在平时工作中都离不开DNS解析,DNS解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。下面我们将详细的给大家讲解DNS的相关知识。 什么是DNS DNS就是域名系统,是因特网中的一项核心服务,是用于实现域名和IP ......
原理 过程 DNS

linux部署Python UI自动化项目过程

1.安装chrome浏览器 下载 访问谷歌中文网站:Google Chrome 网络浏览器。 将页面滑到最下面,点击其他平台, 在弹出的页面选择linux 选择对应的系统版本进行下载。 下载后的deb包默认是arm架构,rpm包默认是x86架构的。所以在选择的时候要对应的系统架构选择安装包,可以通过 ......
过程 项目 Python linux

记一次 Arch Linux 滚完无法开机的解决过程

滚的时候说空间满了,我没在意。直到没法开机我才意识到事情的严重性。 先进安装时用的 Live CD,将 /home 下的重要文件都备份好。 df -lh 一看,鉴定为 / 满了,开始扩容。 fdisk /dev/nvme0n1 查看磁盘。 我的分区是 /boot,/,/home,所以先删掉 /hom ......
过程 Linux Arch

vscode的ssh连接报错过程试图写入的管道不存在

到网上搜,有的人是服务器ip换了,或者是其他信息换了,导致连接不上,但这些解决方法都不适用于我 我的配置文件是这样的: 我猜测是因为我给Host的命名加上了@符号,在我把@符号变成-符号的时候,就能正常连接了...... ......
管道 过程 vscode ssh

InterSystems 数据库的存储过程存在哪里

我们都知道 InterSystems 的 Studio 可以创建存储过程。 但这个存储过程我们保存的时候是保存在哪里? 存储逻辑 如果我们在 Studio 创建存储过程的话,存储过程是存储在数据库上面的。 本地文件夹中是没有存储的。 选择系统下面的存储过程,然后选择 Go 去查看系统中存储的存储过程 ......
InterSystems 过程 数据库 数据

01.一条SQL查询和更新语句的执行过程

一、MySQL 逻辑结构 首先 MySQL 整体结构上分为 server层、存储引擎层。其中 Server 层包含如下组件: 连接器:管理客户端连接,权限认证 查询缓存:缓存查询的语句和结构 分析器:分析查询SQL语句,包括词法分析、语法分析 优化器:生成执行计划,选择更高效查询方式的索引 执行器: ......
语句 过程 SQL 01

易基因:DNA甲基化和转录组分析揭示番茄黄化曲叶病毒感染过程中的转录和表观遗传学变化

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 双生病毒(Geminiviruses)是一种DNA植物病毒,可引起影响全球作物的高度破坏性疾病。在感染过程中,双生病毒调控细胞过程,抑制植物防御,并导致感染细胞的大量重编程,导致整个植物稳态重大变化。测序技术进步允许大规模同时分析病毒感 ......
表观 遗传学 甲基 番茄 基因

记录一次RPC服务有损上线的分析过程

1. 问题背景 某应用在启动完提供JSF服务后,短时间内出现了大量的空指针异常。 分析日志,发现是服务依赖的藏经阁配置数据未加载完成导致。即所谓的有损上线或者是直接发布,当应用启动时,service还没加载完,就开始对外提供服务,导致失败调用。 关键代码如下 数据的初始化加载是通过实现Command ......
过程 RPC

短小精悍(5) - Rust内存清零库zeroize介绍

title: 短小精悍(5) - Rust内存清零库zeroize介绍 zhihu-url: https://zhuanlan.zhihu.com/p/674976137 今天带来的是一个“短小精悍”的库:zeroize。zeroize可以在确保不被编译器优化的前提下安全高效地清空一段内存,适合在保 ......
短小精悍 内存 zeroize Rust

mrml mjml 的rust 实现

mrml 是mjml 的rust 实现,同时还提供了webassembly 的支持,当然比较强大的是mrml 同时也实现了python binding webassembly 使用 代码 const { Engine } = require("mrml"); const engine = new E ......
mrml mjml rust

[记]在rust中使用xml,xml的序列化与反序列化

序 在rust中有好几个xml库,但我个人比较推荐的是quick_xml库,这个库的序列化和反序列化使用体验比较好。 启用quick_xml的feature quick-xml = { version = "0.31.0",features=["serde","serialize"] } serde ......
序列 xml rust

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 ......
整数 类型 Rust

短小精悍(4) - Rust操作系统随机数getrandom库介绍

今天带来的是另一个“短小精悍”的库:getrandom。它的作用是从操作系统提供的随机数源获得一段随机数。 用法 getrandom的用法很简单,唯一需要了解的就是它内部的同名函数: pub fn getrandom(dest: &mut [u8]) -> Result<(), Error> 它将会 ......
随机数 短小精悍 getrandom 系统 Rust
共1969篇  :3/66页 首页上一页3下一页尾页