Sequence

数据结构-拉钩教育

血红的双手。 提交于 2020-08-11 18:05:05
感谢拉钩教育平台,感谢蔡元楠老师以及各位同仁 总的来说很好,有国外一线大厂的使用实例讲解,区块链那快通俗易懂也是我写这篇的缘由之一,但是只18章内容、不可能面面俱到,还需要多方学习,还是很感谢蔡老师的分享 https://kaiwu.lagou.com/course/courseInfo.htm?courseId=20#/detail/pc?id=513 计算机内所有数据结构本质上可归为:数组和链表 数组 一组被保存在 连续存储空间 中具有 相同类型 的数据元素 集合, 内元素可通过自身索引index进行访问 随机访问:用同等时间访问到一组数据中任意一个元素 获取数组元素的方式: base_address + index * data_size 二维数组 行优先 :每一行每个相邻元素保存在相邻的连续内存中 123456 data[i][j] base_address + data_size *( i * number_of_column + j) 2地址 0x80000000+4*(0 * 3+1) 32位计算机 int占4字节 data_size=4 列优先 :每一列每个相邻元素保存在相邻的连续内存中 base_address + data_size × (i + number_of_row × j);这里number_of_row是2 cpu读取内存:cpu缓存策略

Python 读取文本文件编码错误解决方案(未知文本文件编码情况下解决方案)

蹲街弑〆低调 提交于 2020-08-11 14:38:16
很多情况下我们是这样读取文本文件的: with open(r'F:\.Python Project\spidertest1\test\pdd凉席.txt', 'r') as f: text = f.read() 但是如果该文本文件是gbk格式的,那么将会报以下错误: Traceback (most recent call last): File "F:/.Python Project/spidertest1/test/MyTest4.py", line 14, in <module> text = f.read() UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 1129: illegal multibyte sequence 查了下资料说是添加encoding='utf-8',这个参数: with open(r'F:\.Python Project\spidertest1\test\pdd凉席.txt', 'r', encoding='utf-8') as f: text = f.read() 但是这种方式治标不治本,原因就在于你根本不知道用户打开的是utf-8的文本文件还是gbk的或者是Unicode的 所以只能采取以下这种办法: open('x:xxxx','rb'): 第二个参数为:'rb

谈谈MySQL InnoDB存储引擎事务的ACID特性

寵の児 提交于 2020-08-11 10:40:19
1、前言 相信工作了一段时间的同学肯定都用过事务,也都听说过事务的4大特性ACID。ACID表示原子性、一致性、隔离性和持久性。一个很好的事务处理系统,必须具备这些标准特性: 原子性(Atomicity): 一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚。 一致性(consistency): 数据库总是从一个一致性的状态转换到另一个一致性的状态。(其实原子性和隔离性间接的保证了一致性) 隔离性(isolation): 通常来说,一个事务所做的修改在最终提交以前,对其他事务是不可见的。 持久性(durability): 一旦事务提交,则其所做的修改就会永久保存到数据库中。 而我们最常说的隔离性其实有对应的隔离级别,MySQL规定的隔离级别有4种,分别是: READ UNCOMMITTED(读未提交): 在此级别里,事务的修改,即使没有提交,对其他事务也都是可见的。事务可以读取未提交的数据,也就是会产生 脏读 ,在实际应用中一般很少使用。 READ COMMITTED(读已提交): 大多数数据库系统的默认隔离级别都是它,但是MySQL不是。它能够避免脏读问题,但是在一个事务里对同一条数据的多次查询可能会得到不同的结果,也就是会产生 不可重复读 问题。 REPEATABLE READ(可重复读): 该隔离级别是MySQL默认的隔离级别

具有注意力机制的seq2seq模型

蓝咒 提交于 2020-08-11 09:02:31
作者|Renu Khandelwal 编译|VK 来源|Towards Data Science 在本文中,你将了解: 为什么我们需要seq2seq模型的注意力机制? Bahdanua的注意力机制是如何运作的? Luong的注意力机制是如何运作的? 什么是局部和全局注意力? Bahdanua和Luong注意力机制的关键区别 什么是注意力,为什么我们需要seq2seq模型的注意力机制 让我们考虑两个场景,场景一,你正在阅读与当前新闻相关的文章。第二个场景是你正在阅读准备考试。两种情况下的注意力水平是相同还是不同? 与新闻文章相比,你在准备考试时会相当注意阅读。在准备测试的时候,你会更加关注关键词来帮助你记住一个简单或复杂的概念。这也意味着我们要专注于某一特定领域的任何深度学习任务。 序列到序列(Seq2Seq)模型使用编码器-解码器架构 。 seq2seq的几个场景 神经机器翻译(NMT) 图像字幕 聊天机器人 文本摘要等 Seq2Seq模型将源序列映射到目标序列。在神经机器翻译的情况下,源序列可以是英语,目标序列可以是印地语。 我们将英语源语句传递给编码器;编码器将源序列的完整信息编码为单个实值向量,也称为上下文向量。然后,这个上下文向量被传递到解码器上,以生成目标语言(如印地语)中的输出序列。上下文向量负责将整个输入序列汇总为单个向量。 如果输入的句子很长

C# 加密–RSA前端与后台的加密&解密

大憨熊 提交于 2020-08-11 07:00:56
1. 前言 本问是根据网上很多文章的总结得到的。 2. 介绍 RSA加密算法是一种非对称加密算法。 对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的RSA钥匙才可能被强力方式解破。到2016年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。 1983年麻省理工学院在美国为RSA算法申请了专利。这个专利2000年9月21日失效。由于该算法在申请专利前就已经被发表了,在世界上大多数其它地区这个专利权不被承认。 具体介绍可以查看维基百科 https://zh.wikipedia.org/wiki/RSA%E5%8A%A0%E5%AF%86%E6%BC%94%E7%AE%97%E6%B3%95 3. 开始 1)在线RSA加密,请选用PKCS#1来生成公钥与私钥 http://web.chacuo.net/netrsakeypair 点击【生成秘钥对RSA】就可以生成对应的非对称加密公钥与非对称加密似钥 2)前端JS框架 http://travistidwell.com/jsencrypt/ 3)流程图 从上图可以看到

Golang 昨天、今天和明天

独自空忆成欢 提交于 2020-08-11 04:52:19
昨天 市面上有这么多语言为啥还需要开发Go这么个语言? 07年的一天,几位谷歌的大牛在讨论用C++开发一些有关庞大的分布式集群的工作,非常繁琐但很核心,很是闹心,后来听说C++又要添加35项新特性。大牛听了很是不爽啊,于是讨论能否可开发一款新的语言,运行快、编译快、开发还快。于是几位列举了新语言的主要特性,并且借鉴现有语言众家之所长。说干就干,09年go语言就诞生了。以下是当年列举的主要特性 规范的语法(不需要符号表来解析) 垃圾回收(独有) 无头文件 明确的依赖 无循环依赖 常量只能是数字 int和int32是两种类型 字母大小写设置可见性(letter case sets visibility) 任何类型(type)都有方法(不是类型) 没有子类型继承(不是子类) 包级别初始化以及明确的初始化顺序 文件被编译到一个包里 包package-level globals presented in any order 没有数值类型转换(常量起辅助作用) 接口隐式实现(没有“implement”声明) 嵌入(不会提升到超类) 方法按照函数声明(没有特别的位置要求) 方法即函数 接口只有方法(没有数据) 方法通过名字匹配(而非类型) 没有构造函数和析构函数 postincrement(如++i)是状态,不是表达式 没有preincrement(i++)和predecrement

C#7.0新特性

梦想的初衷 提交于 2020-08-11 01:32:04
out变量 可以直接在方法中使用out申明变量 int .TryParse( " 123 " , out var result); 元组 元组的申明 var alphaBetaStart = (alpha: " a " , beta: " b " ); Console.WriteLine($ " {alphaBetaStart.alpha}{alphaBetaStart.beta} " ); 解构与元组 private class User {   public string Name { get ; } = " Bob " ;   public string Email { get ; } = " 129120@qq.com " ;   public int Age { get ; set ; } = 25 ;   // 解构   public void Deconstruct( out string name, out string email)   {     (name, email) = (Name, Email);   } } // 解构元组 var u = new User(); var (name, email) = u; Console.WriteLine($ " {name}{email} " ); 弃元 // 弃元 var (_, email2) = u;

Solidity合约安全漏洞分析教程【Mythril】

Deadly 提交于 2020-08-11 00:29:50
在这个教程中,我们将学习Mythril的安装与使用方法,了解Mythril的工作原理,掌握如何利用Ether Thief和Suicide模块分析合约的安全漏洞,以及如何配置Mythril安全分析的交易数量参数和执行超时参数。 用自己熟悉的语言学习以太坊DApp开发: Java | Php | Python | .Net / C# | Golang | Node.JS | Flutter / Dart 1、安装Mythril安全分析工具 执行如下命令安装Mythril: $ pip install mythril 使用如下命令检查安装是否成功,确保版本不低于0.21.7: $ myth version Mythril version v0.21.15 Mythril最基本的安全分析命令是 myth analyze ,例如: $ myth analyze <Solidity file> $ myth analyze -a <contract address> 没有其他参数的话,myth analyze命令将执行适合大多数情况的通用分析。 2、Mythril工作原理 Mythril通过在一个特制的以太坊虚拟机里运行智能合约字节码来检查合约的安全问题,它使用 符号执行 技术来检查程序可能的状态,分析过程包含以下步骤: 1、获取合约字节码 2、初始化合约账户的状态 3

bash特性

我的未来我决定 提交于 2020-08-10 23:52:11
bash特性 一、命令别名:(自定义命令) 用alias命令查看 alias命令可以用来定义和现实命令的别名 但是使用alias命令定义的别名,其生命仅为当前shell的生命期 对于每个用户来说,都有一个私有的bash文件,用于保存别名; ~/.bashrc 注意: 1、alias命令的效果仅限于当前shell的生命期 2、如果修改.bashrc配置文件,其中保存的别名并不会立即生效,并且在重新加载按该文件内容后,才会生效。并且永久生效 3、为了保证设置的别名有效,通常两种操作都要做 撤销别名: unalias:只需+别名名称 二、命令历史: bash命令会保存用户曾经执行的命令,方便用户重复执行命令 通过bash提供的历史命令文件来永久保存以前执行过的命令,每个用户都有其私有的历史文件 登录shell时,bash会自动读取~/.bash_history文件所记录的所有 -c清空历史缓冲区的历史命令 -d OFFSET删除特定历史条目 重复使用上一个命令: 1、上方向键 2、ctrl+p 3、!-1 4、!! 重复执行缓冲区中的命令: !#重复执行历史编号为#的命令 !type从历史缓冲区中查找最后一次执行过的以“type”开头的命令,并执行 !?type从历史缓冲区中查找最后一次执行过的包含“type”的命令,并执行 !-#执行缓冲区中倒数第#条命令 ctrl

面试官:用过 ZooKeeper 吗?基本原理你明白吗?

笑着哭i 提交于 2020-08-10 21:52:24
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! ZooKeeper 简介 ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。 ZooKeeper 设计目的 最终一致性:client不论连接到哪个Server,展示给它都是同一个视图,这是zookeeper最重要的性能。 可靠性:具有简单、健壮、良好的性能,如果消息m被到一台服务器接受,那么它将被所有的服务器接受。 实时性:Zookeeper保证客户端将在一个时间间隔范围内获得服务器的更新信息,或者服务器失效的信息。但由于网络延时等原因,Zookeeper不能保证两个客户端能同时得到刚更新的数据,如果需要最新数据,应该在读数据之前调用sync()接口。 等待无关(wait-free):慢的或者失效的client不得干预快速的client的请求,使得每个client都能有效的等待。 原子性:更新只能成功或者失败,没有中间状态。 顺序性:包括全局有序和偏序两种:全局有序是指如果在一台服务器上消息a在消息b前发布,则在所有Server上消息a都将在消息b前被发布;偏序是指如果一个消息b在消息a后被同一个发送者发布,a必将排在b前面。 ZooKeeper数据模型