- 博客(51)
- 资源 (28)
- 收藏
- 关注
原创 Rust之Some()与OK()
Rust : 独一无二的SomeRust中的关键字“Some”和“Simple”有什么作用?Rust中,Some到底是什么类型?因为枚举内可以包含多种类型,那么Some是什么类型?
2021-06-30 17:38:06 4844
原创 Rust之使用 macro_rules! 来创建宏
macro_rules!使用 macro_rules! 来创建宏Rust 1.7.0的macro宏-语法分析和使用举例
2021-06-30 16:06:48 1145
原创 Rust之代码组织与模块系统
https://www.rust-lang.org/learn/get-startedhttps://www.runoob.com/rust/rust-tutorial.html
2021-06-30 15:50:03 201
原创 以太坊的智能合约
一、什么叫智能合约智能合约其实不是合约也不智能,它只是能跑在区块链上的代码…什么是以太坊?什么是智能合约?以太坊智能合约—工作原理以太坊的智能合约是什么意思?智能合约如何在以太坊上发布自己的智能合约...
2021-06-30 15:25:40 236
原创 Rust之type
可以使用type关键字声明另一类型的别名。比如:type Name = String;然后就可以把Name当做String类型来使用:let x: Name = "MyName".to_string();https://doc.rust-lang.org/book/first-edition/type-aliases.htmlhttps://wiki.jikexueyuan.com/project/rust/type-aliases.html什么是Rust类型关键字?...
2021-06-30 15:08:17 676
原创 Rust知识点总结
pub: 表示struct字段, impl块和模块的公共可见性。pub mod xxx 与 pub use xxxpub mod xxx ;相当于把xxx复制到这个pub mod语句处,再冠以pub (这个比较好理解)pub use yyy 相当于java的import(即use本来的意义) ,或者说 建立快捷方式链接Rust 中的关键字(Keywords)as: 基本类型变换, 消除某个项中包含的特定trait的歧义性, 或者是重命名use和extern crate中所用到的项.
2021-06-29 16:42:59 769
原创 Rust学习资料
Rust的代码组织可以分为函数,模块,crate,workspace。workspace管理不同的crate,crate管理不同的mod,mod管理不同的函数。函数函数是组织代码最小的单位,例如:fn main() { greet(); //do one thing ask_location(); //do another thing}fn greet() { println!("Hello!");}fn ask_location() { println!("Where are
2021-06-29 16:42:29 300
原创 sudo apt update:仓库 “http://mirrors.aliyun.com/docker-ce/linux/debian ulyana Release” 没有 Release 文件。
$ sudo apt update获取:1 https://mirrors.aliyun.com/docker-ce/linux/debian bullseye InRelease [43.3 kB]命中:2 http://dl.google.com/linux/chrome/deb stable InRelease
2021-06-28 17:17:12 8772 3
原创 Substrate Tutorials:Start a Private Network (multi-node)
https://substrate.dev/docs/en/tutorials/start-a-private-network/
2021-06-28 15:25:28 3377
原创 Substrate Tutorials:Create Your First Substrate Chain (single-node)
https://substrate.dev/docs/en/tutorials/create-your-first-substrate-chain/
2021-06-28 15:22:37 2862
原创 substrate学习资料汇总
官方资料:https://substrate.dev/https://substrate.dev/docs/en/knowledgebase/getting-started/https://substrate.dev/en/tutorials网上资料:Substrate学习思路梳理
2021-06-28 13:08:03 166
原创 Substrate 基础知识(knowledge base)
https://substrate.dev/docs/en/Getting StartedSubstrate Key ConceptsRuntime DevelopmentPalletsFRAMEMacrosMetadataStorageOriginExecutionEventsErrorsTransaction Fees and WeightsBenchmarkingDebuggingTestsOn-Chain RandomnessUpgradesSmart Cont
2021-06-28 13:06:07 585
原创 substrate介绍
官网 https://substrate.dev/ 的介绍:Substrate is a modular framework that enables you to create purpose-built blockchains by composing custom or pre-built components.Substrate是一个模块化框架,它使您能够通过组合自定义或预构建的组件来创建定制的区块链。参考:https://substrate.dev/https://substrate.d
2021-06-28 12:08:07 1102
原创 单向加密,对称加密,非对称加密
单向加密:单向加密又称为不可逆加密算法,在加密过程中不使用密钥,明文由系统加密处理成密文,密文无法解密。一般适合于验证,在验证过程中,重新输入明文,并经过同样的加密算法处理,得到相同的密文并被系统重新认证。广泛使用于口令加密。一:base64常见于邮件、http加密,截取http信息,你就会发现登录操作的用户名、密码字段通过BASE64加密的。主要就是BASE64Encoder、BASE64Decoder两个类BASE加密后产生的字节位数是8的倍数,如果不够位数以=符号填充二:md5messa
2021-06-25 18:05:51 3327
原创 Linux系统搭建Rust开发环境
系统:linux mint下载并安装IntelliJ IDEAhttps://www.jetbrains.com/idea/download/#section=linux下载Community社区版,是免费的。下载时,版本是:Version: 2021.1.2Build: 211.7442.401 June 2021安装1.解压:sudo tar -zxvf ideaIU-2018.1.6.tar.gz2.赋予权限:sudo chmod 777 -R idea-IC-211.74
2021-06-25 16:27:52 1271
原创 聊天-服务端消息发送逻辑
客户端发送消息的时候,服务端会把收到的消息push到redis里面缓存,如果对方websocket在线,则直接发送给对方,如果对方websocket不在线,那么用户下次websocket连接上的时候会去服务端redis拉取缓存的消息。...
2021-06-25 12:56:31 120
原创 聊天:send timeout
log:2021-06-23 10:13:23.938 15791-16913/org.coming.securesms W/SignalServiceMessageSender: java.util.concurrent.TimeoutException at org.whispersystems.signalservice.internal.util.concurrent.SettableFuture.get(SettableFuture.java:84) at org
2021-06-23 15:17:09 454
原创 http的请求的数据不能太长,否则报错:Request Line is too large
如果get请求的参数携带的数据太长会报错:Request Line is too large,如下图:
2021-06-23 12:53:17 1238
原创 域名解析: DNS_PROBE_FINISHED_NXDOMAIN
解析新域名发生DNS_PROBE_FINISHED_NXDOMAIN问题的解决浏览器DNS_PROBE_FINISHED_NXDOMAIN报错解决办法解决谷歌浏览器的 DNS_PROBE_FINISHED_NXDOMAIN
2021-06-16 21:07:15 1213
原创 axios http请求报错: Request failed with status code 400
参考:关于chrome,Request failed with status code 400问题求助https://github.com/axios/axios/issues/972解决axios发送post请求返回400状态码的问题Error: Request failed with status code 400 - AXIOS NODEJS
2021-06-16 17:33:20 6298
原创 HTTPDNS
移动解析 HTTPDNS 基于 Http 协议向腾讯云的 DNS 服务器发送域名解析请求,替代了基于 DNS 协议向运营商 Local DNS 发起解析请求的传统方式,可以避免 Local DNS 造成的域名劫持和跨网访问问题传统DNS与HTTPDNS区别:传统DNS使用的是DNS协议,53端口;HTTPDNS使用的是https/http协议,443端口或者80端口传统DNS解析过程需要层层递归查询或者迭代查询,需要查询很多层的DNS服务器(local服务器,根服务器,顶级服务器,权威服务器),而H
2021-06-16 11:20:37 172
原创 HTTP之PUT请求
PUT请求浏览器在发PUT请求前会先发OPTIONS请求进行预检,看服务端是否可以接受PUT请求,若可以就在响应头添加字段告诉浏览器可以继续发送PUT请求response[“Access-Control-Allow-Methods”] = “PUT” 就是添加这个字段所以PUT请求实际上浏览器会向服务端发两次请求if request.method=="OPTIONS": # 预检 response = HttpResponse() respon
2021-06-15 21:22:36 19064
原创 broken pipe和connetion reset by peer
网络编程中经常会遇到类似 broken pipe 或者 connetion reset by peer 的问题,但是都没有仔细的思考原因。参考:深入分析broken pipe和connetion reset by peer
2021-06-15 12:48:37 158
原创 聊天-libsignal的加密
libsignal加密协议github:https://github.com/signalapp/libsignal-protocol-java一、基础概念PreKey协议使用了称为“ PreKeys”的概念。PreKey是存储在服务器中的ECPublicKey和关联的唯一ID(如上图的结构)。PreKeys也可以被签名。在安装时,客户端会生成单个已签名的PreKey以及大量未签名的PreKey,并将它们全部传输到服务器。public class PreKeyEntity { @JsonP
2021-06-15 12:10:48 1043
原创 prekey
能通过猜测和边信道去窃取储存在内存中的密钥。现在,流行的网络传输加密协议 SSH 引入了,保护储存在内存中的密钥。新的改变主要是当私钥未被使用时用对称密钥进行加密,而对称密钥则源自于大的随机数构成的 prekey。在尝试破解被保护的私钥前,攻击者必须首先高精度的恢复整个 prekey,目前的边信道都存在较大的误码率,使得恢复 prekey 变得不可能。参考:SSH加入抵御边信道攻击的功能whatsapp协议简单分析之-端对端加密...
2021-06-15 09:53:38 222
原创 客户端app多个线程对一个socket发送数据
客户端一般是一个发送线程,一个socket多个发送线程竞争一个socket没什么意义,不会提高发送速度,因为socket只有一个,只要socket在发送一个线程的数据时,该socket就被占用了,是不会响应其他线程的发送数据请求的。除非客户端维护有多个socket。服务端使用多线程向多个客户端同时发送数据是因为服务端维护着多个socket,每个socket对应一个客户端session连接。参考:客户端:多线程使用单个SOCKET发数请教:多线程使用同一个socket进行数据收发会出现什么问题?
2021-06-11 19:22:15 1381
原创 聊天-群聊(2)
4.66.1版本的源码。UnidentifiedAccess是如何生成的加密的时候需要用到UnidentifiedAccess,看下UnidentifiedAccess是如何生成的。//SignalServiceMessageSender.java /** * Send a message to a single recipient. * * @param recipient The message's destination. * @param message The
2021-06-11 12:03:21 1824 1
原创 Jenkins
Jenkins简介Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。官网:https://jenkins.io/官方文档:https://jenkins.io/doc/参考:Jenkins入门(一)...
2021-06-10 17:48:48 62
原创 ubuntu linux mint安装wps
下载地址:https://linux.wps.comlinux mint是ubuntu的发行版,因此下载deb包参考:wps for linux 安装
2021-06-10 17:11:51 386
原创 Android WebView的setOnClickListener无效
webview设置setOnClickListener是无效的: webView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } });可以设置setOnTouchListener: webView.set
2021-06-10 14:32:24 1612
原创 java 的long型整数的最大值
java 的long型整数的最大值:9223372036854775807,即19位十进制数64位二进制数16位16进制数
2021-06-09 12:21:54 10540
WindowManagerService相关类图.eddx
2020-03-20
WindowManagerService相关类图.eddx
2020-03-20
WindowManagerService相关类图.eddx
2020-03-19
Binder.rar
2020-03-19
A Kafka-based Ordering Service for Fabric
2019-01-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人