go

字符串哈希 哈希表

谁说胖子不能爱 提交于 2020-12-24 08:00:34
1.字符串哈希 方法概述: 选取两个合适的互质常数b,h(b<h),把字符串看成b进制数,算出这个数模h 设H(C,k)为前k个字符构成的字符串的哈希值,则:H(C',k)=H(C,k+n)-H(C,k)*b n --------具体见《信息学奥赛一本通提高篇》 关于正确性:可以用双哈希降低出现相同哈希值的概率 取10 9 +7和10 9 +9,就几乎不可能发生冲突,因为它们是孪生质数 板子题: poj3461 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #define R register 5 #define go(i,a,b) for(R int i=a;i<=b;i++) 6 #define il inline 7 #define ll unsigned long long // 记得是unsigned long long 8 #define M 1000001 9 using namespace std; 10 il int rd() 11 { 12 int x= 0 ,y= 1 ; char c= getchar(); 13 while (c< ' 0 ' ||c> ' 9 ' ){ if (c== ' - ' )y=- 1 ;c= getchar();} 14 while (c>= ' 0

使用ivx实现时间倒退效果的经验总结

倾然丶 夕夏残阳落幕 提交于 2020-12-24 03:20:53
今天要实现一个时间倒退的动画效果,案例初始时会显示当前日期,用户可以从日期选择器上选择过去的某一天,开始播放后显示日期会逐渐倒退至选中日期。主要用到的组件是触发器,设计思路是将当前日期和选中日期都转化成时间戳格式,然后通过触发器不断改变当前日期的值,直到等于选中日期。 (Unix时间戳是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数) 1.参数 下图是案例中使用的几个变量,“当前日期”是存储2020-04-26格式的当前日期,数值变量“选中日期”和“当前日期转换时间戳”是对应日期时间戳的值,另外在案例中我们可以设置动画的时长,所以需要添加一个数值变量“速度”,即触发器每次触发的变化量。 2.前台初始化事件 在案例初始化时,我们获取系统当前时间的时间戳,从中提取年、月、日展示出来,并将时间戳值保存在“当前日期转换时间戳”中。 3.选择日期 这里使用了拓展组件中的日期选择器,我们可以选择过去的任意一天,选取后会将该日期的时间戳赋值给“选中日期”。 4.速度 当输入框失焦后我们就计算“速度”的值,不过输入框输入的速度是以秒为单位的,而触发器的时间间隔是0.01秒,所以每次触发的变量值就是(当前日期-选中日期)/(输入速度*100)。 5.播放 点击播放按钮“Go back”

vscode 配置 go 开发环境

本秂侑毒 提交于 2020-12-24 01:45:31
一、下载vscode并安装 https://code.visualstudio.com/Download 二、下载go 并安装 https://golang.google.cn/dl/ 三、配置环境 1、配置goroot , 这个是go的安装根目录;gopath,这个是go开发的工作目录 2、 配置 path 3、在cmd 命令中输入go version 和 go env 有如下提示,则说明配置成功 4、在gopath 对应的文件夹下新建 bin、pkg、src三个文件夹,在src下面新建 golang.org/x 文件夹 5、在x文件夹下 ,执行 git clone https://github.com/golang/tools.git tools 和 git clone https://github.com/golang/lint lint 下载github上go相关的工具源码;或者直接去 github 上下载对应的源码,解压并命名为 tools 和 lint 文件下放在 x文件夹下 6、在gopath 对应的文件夹下执行 如下命令,则会在bin目录下,生成对应的exe文件 go install github.com/mdempsky/gocode go install github.com/ramya-rao-a/go-outline go install github

ubuntu 18.04 安装go并配置proxy

前提是你 提交于 2020-12-23 10:51:08
1. 安装 ubuntu 更新 sudo apt-get update sudo apt-get -y upgrade 2. 下载 Go 二进制文件 接下来的逻辑步骤是下载 Go 二进制文件,最新软件将在 golang.org/dl/ 上提供,并在终端中的命令下方安装 ubuntu 运行的版本 mkdir tmp cd /tmp wget https://dl.google.com/go/go1.15.6.linux-amd64.tar.gz 解压缩下载的 tar,然后安装到系统中的所需位置。但是通常遵循文档最好将其安装在 /user/local/go 下。在终端中运行以下命令进行安装 sudo tar -xvf go1.15.6.linux-amd64.tar.gz sudo mv go /usr/local 3. 环境设置 我们正在设置的三个 Go 语言环境变量是 GOROOT,GOPATH 和 PATH。 GOROOT 是 Go 在机器中安装的路径 GOPATH 是工作目录的位置。 编辑.bashrc,添加以下几行 # loads go export GOROOT="/usr/local/go" export GOPATH="$HOME/go" export PATH="$GOPATH/bin:$GOROOT/bin:$PATH" export GOPROXY="https:

SQLServer之FOREIGN KEY约束

久未见 提交于 2020-12-23 04:37:48
FOREIGN KEY约束添加规则 1、外键约束并不仅仅可以与另一表的主键约束相链接,它还可以定义为引用另一个表中 UNIQUE 约束的列。 2、如果在 FOREIGN KEY 约束的列中输入非 NULL 值,则此值必须在被引用列中存在;否则,将返回违反外键约束的错误信息。 若要确保验证了组合外键约束的所有值,请对所有参与列指定 NOT NULL。 3、FOREIGN KEY 约束仅能引用位于同一服务器上的同一数据库中的表。 跨数据库的引用完整性必须通过触发器实现 。 4、FOREIGN KEY 约束可引用同一表中的其他列。 此行为称为自引用。 5、在列级指定的 FOREIGN KEY 约束只能列出一个引用列。 此列的数据类型必须与定义约束的列的数据类型相同。 6、在表级指定的 FOREIGN KEY 约束所具有的引用列数目必须与约束列列表中的列数相同。 每个引用列的数据类型也必须与列表中相应列的数据类型相同。 7、对于表可包含的引用其他表的 FOREIGN KEY 约束的数目或其他表所拥有的引用特定表的 FOREIGN KEY 约束的数目, 数据库引擎 都没有预定义的限制。 尽管如此,可使用的 FOREIGN KEY 约束的实际数目还是受硬件配置以及数据库和应用程序设计的限制。 表最多可以将 253 个其他表和列作为外键引用(传出引用)。 SQL Server 2016 (13

如何写投稿信 (How to write a cover letter)

落爺英雄遲暮 提交于 2020-12-23 03:16:02
如何写投稿信 (How to write a cover letter) 投稿信主要是为了帮助编辑快速寻找合适的审稿人。一般要在投稿信中写明文章的意义、论文的主要内容及创新点等。投稿信要简洁明了,但是不能直接拷贝摘要部分。要避免使用 “Dear Sir” 之类的称谓,避免某些女性编辑的反感。 1、投稿信的意义 Cover letter 可以帮助编辑尽快地判断提交的论文是否处于期刊的范围(scope),可以更加方便地帮助编辑寻找审稿人。对于某些能上能下的论文,cover letter 可能会决定你的论文是否会被送审。 2、六要 主要是第一点和第二点。 Do give a brief, largely non-technical summary of the method. Explain how it will have an impact and why the method and its applications will be interesting to a broad biological audience. 1)简要阐述你的方法,解释为什么你的方法很重要,并且能吸引期刊的受众(文章的意义)。 Do put the work in context. Briefly explain the novelty and the specific advances over

SDN 与 NFV 到底是什么关系?

大兔子大兔子 提交于 2020-12-23 00:30:00
阅读本文大概需要 6.5 分钟。 转自:https://www.sdnlab.com/11368.html 作者:SDNLAB 君 什么叫网络虚拟化? 为了解释这个问题,先上两张简单粗暴的图。 所有的通信应用无非就是两部分组成: 计算和网络 。这两者关系密不可分,但两者关系 严重缺乏对称性,网络一直拖累着计算 。 4G 网络 RAN 将会不断进化,据说,未来的 4G 网络空口速率将是现在的 10 倍。随着智能硬件的爆发,大量的应用接入 4G 网络,人们的流量需求如同海啸般汹涌而至,我们似乎赶上了好时代。不过, 传统的通信网络里,每一类服务对应基于专用集成电路的带有专用处理器的专用服务器 。网络里的设备很多,但是,这些家伙就像霸道总裁的办公室,仅供总裁专用,不管他在与不在,位置都占在那里,谁也不敢冒然挪用。 这样下去,网络会严重拖计算的后腿。 于是,有人想到了虚拟化 。 或者,可以这么理解, 服务器觉得老这样拖着网络跑不是办法,迟早会被累死 ,就开始向网络扔砖头了! 专用的硬件对应专用的服务,这样的花费是昂贵的 ,为了节省成本,我们得想想物尽其用。 想想你有一栋超级大的空置的公寓,你想出租, 但是每一位租客的需求是不一样的 。这个时候,你想到了 “虚拟化” 。根据租客的需求,把这栋公寓虚拟化成不同的建筑风格。于是,你对租客1说,“我有两栋公寓要出租,你喜欢红色那一栋还是蓝色那一栋?”

Redirecting godoc.org requests to pkg.go.dev

风流意气都作罢 提交于 2020-12-22 23:53:19
还在用 godoc.org 吗?Golang 官方即将把 godoc.org 的流量重定向至 pkg.go.dev 现状 随着 Go Module 的引入和 Go 生态系统的发展,pkg.go.dev 于 2019 年启动,为开发人员提供了了一个查找 Go package 的地方,官方称之为 center place to find package 。像 godoc.org 一样,pkg.go.dev 提供 Go 文档,但它也支持 Go Module、更好的搜索功能以及帮助 Go 用户找到正确 package 的指引。 正如官方在 2020年1月分享的那样,官方的目标是最终将流量从 godoc.org 重定向到 pkg.go.dev 上的相应页面。用户可以还可以选择将自己的请求从godoc.org 重定向到 pkg.go.dev。 今年官方收到了很多反馈,很多问题已经在 pkgsite/godoc.org-redirect 和 pkgsite/design-2020 进行跟踪和解决。用户的反馈意见支持对 pkg.go.dev 上的高频功能的改进,以及最近对pkg.go.dev 的重新设计都有很大的帮助。 下一步 一旦在 pkgsite/godoc.org-redirect 里程碑中跟踪的工作完成, 官方就会将所有请求从 godoc.org 重定向到 pkg.go.dev

【图雀早报】2020年6月2日星期二

空扰寡人 提交于 2020-12-22 08:01:55
❝ 【图雀社区9点钟】1分钟了解科技、技术圈热点、动态 2020年6月2日 星期二 ❞ 【今日热点】 「◆ 苹果因暴乱再关美国门店,却在天猫 618 用 5 小时拿下 5 亿元」 苹果在疫情中失去了九成以上的零售门店,而刚刚重启的美国零售店又遭到了打击。美国各地爆发的抗议活动使众多品牌线下商店成为暴徒袭击目标,店面被严重破坏,商品也遭到抢掠,苹果也没有例外。美国零售店被迫关闭的时候,苹果却悄悄加入了电商 618 的厮杀大潮。5 月 29 日,苹果宣布首次以官方形式参加天猫 618。据阿里巴巴披露,零时开始的 6·18 活动,苹果智能手机 iPhone 用了 5 个小时成交额就超过了 5 亿元。阿里巴巴方面称,这个数字超 iPhone 在中国市场 1 天的成交额。 来源: 「https://www.infoq.cn/article/d1d3MFxYpMvJPBhrhXkV」 「◆ 三年打磨,几百线上服务验证,斗鱼开源 Go 微服务框架 Jupiter」 Jupiter 是斗鱼开源的,面向服务治理的 Golang 微服务框架,以开发效率和治理效率为核心目标,从统一开发规范、完善监控埋点、降低开发难度等多个维度来帮助 Gopher 开发高性能、高可靠性的微服务框架。Jupiter 在斗鱼内部经过三年打磨、几百个服务的线上验证,在多种应用场景中适配、历经多次基础架构迭代

聊聊golang的zap的level

纵然是瞬间 提交于 2020-12-22 00:15:08
序 本文主要研究一下golang的zap的level Level zap@v1.16.0 /zapcore/level.go // A Level is a logging priority. Higher levels are more important. type Level int8 const ( // DebugLevel logs are typically voluminous, and are usually disabled in // production. DebugLevel Level = iota - 1 // InfoLevel is the default logging priority. InfoLevel // WarnLevel logs are more important than Info, but don't need individual // human review. WarnLevel // ErrorLevel logs are high-priority. If an application is running smoothly, // it shouldn't generate any error-level logs. ErrorLevel // DPanicLevel logs are particularly