kvs

Rust学习笔记1

試著忘記壹切 提交于 2021-02-19 11:45:33
这是一份不错的rust教程 ,目前包括4个block和4个project。全部完成后可以用rust实现一个简单的key-value存储引擎。 注意:Windows下rust貌似会遇到一些bug,强烈建议使用Linux来开发 Building Block1 一开始就是Hello World啦......通过实现一个简单的命令行程序来体验一下rust 比如我们希望程序能获得命令行参数 use std::env; fn main() { let args: Vec <String> = env::args().collect(); println!( " {:?} " , args); } 运行结果: F:\My Drive\19fall\talent-plan\rust\building-blocks\bb1\src>main.exe 11 22 ["main.exe", "11", "22"] 这一段看起来和c++差不多......(其实感觉rust比go好理解多了...) println!结尾的叹号!表示调用了一个Rust宏。如果是调用函数,应该输入println 但是一个复杂的cli程序(比如Linux中的ls),命令行参数是很复杂的。比如我们想给写个help(比如ls -h)供用户参考,该怎么办呢?我们可以使用rust的clap库来实现。 首先需要定义一个yml

golang使用etcd实现分布式锁

女生的网名这么多〃 提交于 2021-02-14 16:21:54
1 package main 2 3 import ( 4 " context " 5 " fmt " 6 " time " 7 8 " go.etcd.io/etcd/clientv3 " 9 ) 10 11 func main() { 12 var ( 13 client * clientv3.Client 14 cfg clientv3.Config 15 err error 16 lease clientv3.Lease 17 ctx context.Context 18 cancelFunc context.CancelFunc 19 leaseId clientv3.LeaseID 20 leaseGrantResponse * clientv3.LeaseGrantResponse 21 leaseKeepAliveChan <-chan * clientv3.LeaseKeepAliveResponse 22 leaseKeepAliveResponse * clientv3.LeaseKeepAliveResponse 23 txn clientv3.Txn 24 txnResponse * clientv3.TxnResponse 25 kv clientv3.KV 26 ) 27 28 cfg = clientv3.Config{ 29 Endpoints:

Python API 操作Hadoop hdfs详解

Deadly 提交于 2020-10-25 00:35:38
1:安装 由于是windows环境 (linux其实也一样),只要有pip或者setup_install安装起来都是很方便的 >pip install hdfs 2:Client——创建集群连接 > from hdfs import * > client = Client("http://s100:50070") 其他参数说明: classhdfs.client.Client(url, root=None, proxy=None, timeout=None, session=None) url:ip:端口 root:制定的hdfs根目录 proxy:制定登陆的用户身份 timeout:设置的超时时间 session:连接标识 client = Client("http://127.0.0.1:50070",root="/",timeout=100,session=False) >>> client.list("/") [u'home',u'input', u'output', u'tmp'] 3:dir——查看支持的方法 >dir(client) 4:status——获取路径的具体信息 其他参数: status(hdfs_path, strict=True) hdfs_path:就是hdfs路径 strict:设置为True时,如果hdfs_path路径不存在就会抛出异常

[Swift]LeetCode632. 最小区间 | Smallest Range

自闭症网瘾萝莉.ら 提交于 2020-05-08 10:22:46
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝( https://www.cnblogs.com/strengthen/ ) ➤GitHub地址: https://github.com/strengthen/LeetCode ➤原文地址: https://www.cnblogs.com/strengthen/p/10478921.html ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。 ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创! ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ You have k lists of sorted integers in ascending order. Find the smallest range that includes at least one number from each of the k lists. We define the range [a,b] is smaller than range [c,d] if b-a < d-c or a < c if b-a == d-c . Example 1: Input:[[4,10,15,24,26],

golang循环语句

走远了吗. 提交于 2019-11-30 19:27:20
重要的事情: for 是 Go 语言里面唯一的循环语句。 1. for 语句基础形式 for 语句有几种形式,先以最基础的为例: // 基础for循环与C语言for循环结构类似 for init; condition; post { // 零个或多个语句 } 例如: for i := 0; i < 100; i++ { fmt.Println("i=",i) } 其中: init(初始化)语句在循环开始之前执行。如果存在,它必须是一个 简单的语句 ,例如一个简单的变量声明语句。 condition(条件)语句是一个布尔表达式,在循环的每一次迭代前计算,如果计算结构为真,则循环继续。 post 语句在循环体之后被执行,然后进行条件计算。 在 Go 的 for 语法中,init,condition 和 post 语句都是可以省略的。 不同的省略方式产生不同的形式。 // 省略init和post,类似传统的"while"循环 for condition { // ... } // 例如 var i = 0 for i < 100 { fmt.Println("i=",i) i++ } // init,condition 和 post 都省略, 类似传统的无限循环 for { // ... } 2. for 语句迭代形式 for 语句还有另一种形式,即与 range 语句一起的迭代形式。