go

day1

折月煮酒 提交于 2020-11-22 07:22:06
**1,gopath中结构src存放源代码,bin存放可执行文件,pkg存放编译中的产生文件 2,第一行代码 package main 定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。 3,Printf//格式化输出(%T,v1)打印v1的数据类型,%T类型占位符,%v值占位符 来源: oschina 链接: https://my.oschina.net/u/4243168/blog/3132904

loj #117. 有源汇有上下界最小流

元气小坏坏 提交于 2020-11-22 05:22:37
题目链接 有源汇有上下界最小流,-> 上下界网络流 注意细节,边数组也要算上后加到SS,TT边。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cmath> 4 #include<cstring> 5 #include<iostream> 6 7 using namespace std; 8 9 const int N = 150010 ; 10 const int INF = 1e9; 11 12 struct Edge{ 13 int to,nxt,c; 14 }e[ 500100 ]; 15 int head[N],dis[N],cur[N],M[N]; 16 int q[ 500100 ],L,R; 17 int tot = 1 ,n,m,S,T,Sum; 18 19 inline char nc() { 20 static char buf[ 100000 ],*p1 = buf,*p2 = buf; 21 return p1==p2&&(p2=(p1=buf)+fread(buf, 1 , 100000 ,stdin),p1==p2)?EOF:*p1++ ; 22 } 23 inline int read() { 24 int x = 0 ,f = 1 ; char ch = nc(); 25 for (; ch

LOJ117 有源汇有上下界最小流(上下界网络流)

好久不见. 提交于 2020-11-22 04:30:56
  跑出可行流后从原来的汇点向原来的源点跑最大流,原图最小流=inf-maxflow。显然超源超汇的相关边对其也没有影响。原图最小流=可行流-原图新增流量,因为t向s流量增加相当于s向t流量减少。但为什么等于inf-maxflow呢?显然最大流会把这条inf边跑满,这样会增加inf-可行流的流量,然后又继续在原图中增加可增加的流量,移项就可以得到这个式子了。 #include<iostream> #include <cstdio> #include <cmath> #include <cstdlib> #include <cstring> #include <algorithm> using namespace std; int read() { int x= 0 ,f= 1 ; char c= getchar(); while (c< ' 0 ' ||c> ' 9 ' ) { if (c== ' - ' ) f=- 1 ;c= getchar();} while (c>= ' 0 ' &&c<= ' 9 ' ) x=(x<< 1 )+(x<< 3 )+(c^ 48 ),c= getchar(); return x* f; } #define N 50010 #define M 500000 #define S 0 #define T 50001 #define inf

c语言----实战植物大战僵尸

帅比萌擦擦* 提交于 2020-11-22 04:03:55
1. 原理   通过指针先找到阳光的地址,然后修改地址对应的值即修改阳光值。 2. 工具   CheatEngine --- 查询进程中变量的地址   Dll注入工具 ----- 注入   VS2017 3. 实战   (1) 现在阳光地址为50,收集一个阳光后变为75   (2) 打开CheatEngine 点击file -> open process -> 找到植物大战僵尸 Plant vsZombies     (3) 将现在的阳光值75(你的可以是其他的数字)输入进去 ->点击first scan (or new scan)        (4) 消耗一次阳光,现在我的阳光值为25     (5)将现在的阳光值25再次输入进去,点击next scan,现在找到了一个唯一的变量地址 --- 阳光  也就是说对于数据地址的查找,基本两次就可以确定其地址(如果还是有多个地址,多次改变阳光的值,直到只有一个地址)     (6) 打开VS2017,创建一个新项目,并且将项目的类型设为dll _declspec(dllexport) void go(){ int *p = 0x20EEE160 ; //刚刚查询到的变量地址 if (*p< 100 ){ *p += 99 ; //如果阳光值小于100 加99个阳光 } }     (7) 生成解决方案     (8)打开dll注入工具

WebAssembly 与 Kubernetes双剑合璧

我是研究僧i 提交于 2020-11-22 02:48:26
https://yq.aliyun.com/articles/744001 无处不在的WebAssembly 如果评选2019年编程技术的“网红”,无论是前端圈还是后端圈 WebAssembly (WASM) 都绝对能够高票入选。然而,如果评选最被“低估”的技术,我觉得 WebAssembly 也可以轻松入围。借用伏尔泰曾评价神圣罗马帝国的句式 “既不神圣,也不罗马,更非帝国”,我们也可以说WebAssembly “既不限于Web,更不是Assembly(汇编语言)”。 在2019年12月,万维网联盟 (World Wide Web Consortium - W3C) 宣布 WebAssembly核心规范正式成为Web标准 , 这使得 WebAssembly 成为互联网上与 HTML, CSS, and JavaScript并列的第四种官方语言,可以原生的运行在浏览器上。而更加重要的是,WebAssembly 作为一个安全的、可移植、高效率的虚拟机沙箱,可以在 Internet 的任何地方、任何平台(不同操作系统,不同CPU体系架构下)安全运行应用。WebAssembly已得到了所有主流浏览器厂商的广泛支持(Google Chrome, Microsoft Edge, Apple Safari, Mozilla Firefox等),然而它的影响已经远超Web。

在以太坊上如何实现联盟链

早过忘川 提交于 2020-11-22 01:29:45
搞了三个月联盟链,基本上算是告一段落,大概梳理下所做的东西,希望能对要做联盟链的人有所帮助。 在写这篇文章前,简单介绍下联盟链的功能。 国密和国际算法切换 参数toml配置 有币无币 支持Gmssl P2P的证书准入 委员会成员更新 Solc编译器 Tendermint共识 权限准入 交易校验 Rpc 状态存储 系统合约 加密算法 国密和S256,P256 支持国密sm2,sm3,sm4,国际的支持p256,比特币和以太坊都使用的s256.刚开始做的时候计算支持p256和国密,因为go sdk里面证书使用了p256。后在做的过程中发现国外证书很多还需要支持RSA,遂引入了gmssl,委员会中的PK公钥和证书做了分离。 统一的接口,外部调用同一签名验签方法 国密里面有个问题,无法 recover公钥 ,校验签名比较慢。 Toml文件配置 toml文件的优点在于不需要在启动的时候指定一系列参数 节点信息 网络ID 同步模式 委员会私钥 IP和端口 txpool gas门槛 txpool账户数 节点rpc端口api 存储目录 ipc websocket 开放api rpc 端口 p2p节点配置 证书 节点私钥 节点连接数 监听地址 创世区块 创世里面指定了 UseGas 指定有无币, KindOfCrypto 指定加密类型, PermisionWlSendTx ,

golang几种常用配置文件使用方法总结(yaml、toml、json、xml、ini)

让人想犯罪 __ 提交于 2020-11-22 00:43:50
1,yaml配置文件的使用方法总结 首先介绍使用yaml配置文件,这里使用的是github上第三方开源 gopkg.in/yaml.v2 第一步:下载 go get gopkg. in /yaml.v21 import " gopkg.in/yaml.v2 " 第二步:新建一个yaml文件,比如conf.yaml host: localhost: 3306 user: tigerwolfc pwd: 654321 dbname: tablename 特别需要强调的是冒号后面必须有一个空格,以user: tigerwolfc为例, user: tigerwolfc//冒号后面有空格 第三步:在程序中使用配置文件获取参数,比如main.go package main import ( " io/ioutil " " gopkg.in/yaml.v2 " " fmt " ) func main() { var c conf conf: = c.getConf() fmt.Println(conf.Host) } // profile variables type conf struct { Host string `yaml: " host " ` User string `yaml: " user " ` Pwd string `yaml: " pwd " ` Dbname

腾讯SNG的实习offer(多篇面经分享)

大兔子大兔子 提交于 2020-11-21 04:41:34
本人双非一本,春招实习投的岗位是后端开发(主要是C++和Go),平时做项目用的语言都是Go,简历上的项目都是Go web(已经上线了),没有C++的项目经验。现在拿到了腾讯SNG后台开发的实习offer。下面是我的春招找实习的经历。 百度 这里先感谢下在百度工作的师兄,谢谢他的内推,我正式投百度连笔试机会都没有。 百度是我春招面的第一家,3月初就来了电话。当时还没开始复习,慌的不行。 下面是面经。 2018-3-12 一面(电面50多分钟) 为什么喜欢后端开发? 你觉得创新班怎么样?在创新班学到什么? Go的数组、slice、map Go的多个channel如何处理 Go的错误处理机制 Go的调度和协程 堆和栈的区别 项目中用到了队列吗,怎么用的? tcp和udp的区别 postgresql和mysql的区别和优缺点比较 列举10个linux常用的命令 用shell实现从文件取出某个列并且去重 如何定位很难重现的bug 两个有序链表合成一个有序的链表 寻找有环链表的相交点 进程和线程的区别 为什么使用多线程? 项目部署后如何监控? 谈谈熟悉的排序算法 C++的多态,动态绑定的实现原理 C++的深拷贝和浅拷贝 C++的引用和指针的区别 线程的同步机制 团队的同事如果提出不同的建议怎么处理? 因为没准备,有很多问题答的不好,然后挂了。 腾讯(SNG腾讯云) 2018-3-13

修改kubeadm证书过期时间

一曲冷凌霜 提交于 2020-11-21 04:08:11
修改kubeadm证书过期时间 2018-11-07 文章目录 修改kubeadm证书过期时间 代码编译 修改代码 kubernetes集群三步安装 修改kubeadm证书过期时间 本文通过修改kubeadm源码让kubeadm默认的一年证书过期时间修改为99年 我已经编译好了一个放在了github上,有需要的可以直接下 使用方法: 1 2 3 [root@dev- 86 - 202 ~] # chmod +x kubeadm && cp kubeadm /usr/bin [root@dev- 86 - 202 ~] # rm /etc/kubernetes/pki/ -rf [root@dev- 86 - 202 ~] # kubeadm alpha phase certs all --config kube/conf/kubeadm.yaml 更新kubeconfig 1 2 3 [root@dev- 86 - 202 ~] # rm -rf /etc/kubernetes/*conf [root@dev- 86 - 202 ~] # kubeadm alpha phase kubeconfig all --config ~/kube/conf/kubeadm.yaml [root@dev- 86 - 202 ~] # cp /etc/kubernetes/admin.conf

做一切为了好玩的极客,TiDB Committer 王贺的心路历程

社会主义新天地 提交于 2020-11-20 16:49:53
王贺看起来是一个不走寻常路的大三学生,从小就喜欢计算机,对于很多大学才开始接触编程的同学来说,高三就可以自己做一个 Linux 发行版无疑是同龄人中的佼佼者了。 今天就来了解一下 TiDB Committer,DDL SIG 的 xhebox 的贡献之路。 当时怎么想到要自己做一个 Linux 发行版呢? 开始接触 Linux 的时候我觉得 glibc 太大了,下载下来有几十 MB 所以想换掉它。当时正好接触到了除了 glibc 以外的 libc,我就萌生了自己做发行版这个想法,甚至还想把 GNU 所有的东西都换掉,虽然最后失败了,但发行版还是做了下来。 我从小就喜欢折腾这些东西,小学的时候用 Discuz 搭建过网站,高中时折腾苹果系统,这些都是因为兴趣所以自学的,也给我高三做 Linux 发行版打下了基础。我也是那个时候开始了解到 Go,我的 Linux 发行版的包管理器就是用 Go 写的,最近也开始在学习 Rust。 你做的 linux 发行版现在可以下载到吗? 以前是可以在 GitHub 上下载,现在不行了,我没有维护二进制包管理器,如果别人想用的话恐怕需要见到我本人,我可以用硬盘复制一份:)主要原因是维护二进制包非常耗时间,以前有 600 个包,现在被我削减到只有 300 个。我平时上课做实验也没有这么多时间, 几百个包都是手动编译,如果开源再维护,那可能没办法做其他事了