- 博客(586)
- 资源 (31)
- 收藏
- 关注
原创 常见网络安全攻击分析
本文所述的常规性防御问题包括 XSS 攻击、 SQL 注入、CSRF 攻击、CRLF 注入,下面就逐一来分析这四种问题。跨站脚本攻击 XSS跨站脚本攻击(Cross Site Script,XSS,单词 Cross 可作“X”)是 Web 常见攻击的类型。同一域下面资源可以自由相互访问;不同域下面的资源,浏览器是会严格限制的。访问不同域称作“跨域”或“跨站”。如果主机名不相同(即使 a.qq....
2020-03-23 21:09:28 1964
原创 Vue Tab 组件再探究
初学 Vue 的时候,发现用 Vue 来写 Tab 组件是如此简单,利用“数据驱动”的思路还真和 js 控制 dom 不一样。请见下面第一版的代码,没有 js dom 那样 for 遍历各元素控制显示或隐藏,而是用 {‘selected’: index === selected} 控制样式,非常简洁。第一版的 tab 组件// 简单选项卡Vue.component('aj-simple-ta...
2020-03-22 23:00:46 1328
原创 Java 处理 JSON 标准规范
某日我瞎逛 Github,咦~发现 JSON 处理也有 javax,import javax.json.Json;import javax.json.JsonArrayBuilder;import javax.json.JsonNumber;import javax.json.JsonObject;import javax.json.JsonObjectBuilder;import j...
2020-03-05 15:45:17 762
原创 用 WebSocket + Java 原生功能实现 Web 实时日志(兼容Win平台)
Tomcat产生的日志以文件形式保存在服务器上。如果要在 Web 上浏览这些日志,采用 WebSocket + tail 命令是简单可行的方式,例如这文章介绍得都很好。只是在 Win 系统上面就没有类似 tail 命令行的工具,除非找第三方或者 PowerShell 的,多少有点不便,——尽管多数 Win 用于开发环境,日志直接在 IDE 控制台上看就可以了。这里为大家介绍的是一种原生 Java ...
2020-02-20 16:15:36 1728 2
原创 Java8 Zip 压缩与解压缩
网上找过几个例子都有点小问题,还是谷歌找出来的靠谱。主要是增加了指定文件的功能,通过 Java8 的 Lambda 判断是否加入 ZIP 压缩,比较方便。函数表达式的签名是 Function<File, Boolean>,参数是待加入的 File 对象,返回值 true 表示允许,反之不行。完整代码在:https://gitee.com/sp42_admin/ajaxjs/blob/...
2020-02-16 23:22:57 3835
原创 免 mysqldump 命令备份 MySQL 数据库
使用官方提供的 mysqldump 命令可以轻松地备份 SQL,让 Java 执行命令行,得到流数据转换为文本便可保存。前提是执行的 Java 程序得与 MySQL 命令行在本机上,但是通常应用服务器和数据库服务器不是放在一块的儿,是否可以通过纯 Java 或 JDBC 来实现备份呢?答案是可以的。
2020-02-10 17:01:19 1281 2
原创 H5 动画大师 TweenMax.js/GSAP
手写过 CSS3 做 H5 动画,那过程很累,很低级。于是这次改用 TweenMax 库,感觉非常不错,原来它是做动画的老行尊,失敬失敬,早在 Adobe Flash 时代,这款就是知名的类库,知道现在还可以在其 GitHub 上找到它的 ActionScript 2/3 的开源代码,怪不得现在转到 JS 上面来,都那么的成熟。官网:https://greensock.com/源码:http...
2019-12-06 17:42:27 1951
原创 GoldenDict:一款免费的词典工具
开源软件 GoldenDict 是一款“词典”管理软件。为什么称之为“词典”管理软件呢?因为准确地说,GoldenDict 它本身并没有提供任何的“词典”,而是仅提供词典所需的各方面功能,好比一些词典常见的功能也包含在内,即普通查询单词和屏幕截取单词、单词发音三大功能。GoldenDict 的界面非常朴素,并且 GoldenDict 不以大而全的功能为目标,而是经典功能、实用至上为出发点,可以说就...
2019-10-29 15:26:48 21316 1
翻译 9月Libra开发人员更新-路线图#1
9月Libra开发人员更新-路线图#1 September Libra Developer Update - Roadmap #1October 02, 2019Libra Association自六月份正式发布 Libra 项目以来,来自开发人员社区的反响一直非常令人激动。开发者已发布了多个区块链浏览器(libranaut,libraview,librabrowser 和 libex...
2019-10-09 12:15:59 717
翻译 Libra 开发者采风
Libra Developer SpotlightSeptember 12, 2019Michael Engle, Libra Association我们很高兴看到全球各地有如此众多的开发者率先在 Libra 测试网上进行创新的工作。这里就把那些有亮点的例子分享出来!We’re so excited to see so many leading developers from ar...
2019-10-07 09:39:57 912
翻译 发布 Libra Bug 悬赏项目
原文 https://developers.libra.org/blog/2019/08/14/libra-bug-bounty 2019-8-14在构建 Libra 区块链的过程中,安全问题一直是重中之重。假设人们在 Libra 上每一天都不间断运行着金融活动,可想而知最关键的是其背后的基础架构必须可靠且安全。为了显示更透明,我们在发布之前就充分计划好我们的计划,而且开源了 Libra 区块链...
2019-10-06 14:38:33 412 2
原创 学习用 JS/CSS 画一个时钟
看到某君的时钟 Clock 代码 https://www.cnblogs.com/xingzhi/archive/2011/04/16/2017645.html,想学习怎么画一个时钟,逐重构之,也里面不合理的地方改进(例如用 js 写 css)。全部代码如下:<html><head> <meta charset="utf-8" /> <title...
2019-08-05 21:42:44 1567
原创 Facebook Libra 性能初探
译自:官方文档翻译 https://developers.libra.org/docs/crates/consensus。 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行许可。Libra 中文网同步翻译 http://www.libra-cn.top/document/info/?id=18Libra 协议的使命在于至此全球的金融基础设施。性能是满足这种需求不...
2019-07-22 13:09:42 821
翻译 Facebook Libra 共识协议 Consensus 简介
译自:官方文档翻译 https://developers.libra.org/docs/crates/consensus。本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行许可。概述共识协议通过多个验证器来创建逻辑模型,这个模型实质是个数据库。共识协议下被提交的交易首先会不断地复制到不同的验证器,然后执行交易,对于交易顺序和执行结果进行检查,看是否能根据事先约定好...
2019-07-17 10:51:39 1251
翻译 官方文档翻译《The Libra Blockchain》之执行交易(二)
译自:官方文档翻译《The Libra Blockchain》之执行交易,第三小节。本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行许可。执行交易执行一次交易在 VM 内部按照六个步骤有序进行。执行交易与更新账本的两个动作是分开的。先尝试在一部分的序列上执行看交易是否能达成通过。由于执行过程是封闭的,因不会有外界插手所引致的副作用产生。随后如果达成协议,则将其输...
2019-07-16 10:50:03 494
翻译 官方文档翻译《The Libra Blockchain》之执行交易(一)
Libra 协议中,修改区块链状态的唯一方法是执行交易。本节将介绍执行一个交易所必须的条件,定义了交易的结构如何,解释了 Move 虚拟机如何执行一次交易的,还介绍了 Move 语言的关键概念。
2019-07-13 10:34:24 642
原创 SEO 小白攻略 to replace
填写网页信息title、keywords、description 等提交网址入口百度搜索资源平台,https://ziyuan.baidu.com/linksubmit/index,选择【提交非验证站点链接】https://ziyuan.baidu.com/linksubmit/url360 http://info.so.360.cn/site_submit.htmlsogou htt...
2019-07-10 10:27:06 1658
翻译 Facebook Libra 内存池组件(Mempool)简介
内存池 Mempool 是位于内存的缓冲区,那些等待执行的交易便保存于此。概述准入控制(AC)模块将交易发送到内存池。在共识提交之前,内存池将交易保留一段时间。添加新交易时,内存池会与系统中的其他验证器(验证程序节点)共享此交易。内存池是“共享的”,因为各个内存池之间的交易都与其他验证器共享。这有助于维护伪全局的排序(pseudoglobal ordering)。当验证器从另一个内存池接收交...
2019-07-04 11:36:50 735
翻译 Facebook Libra 执行组件(Execution)简介
概述Libra 区块链是一个复制的状态机。每个验证器都是一个系统的副本。从状态 S0 开始,每笔交易 Ti 更新前一个状态 Si-1 到 Si。每一个 Si 实际是一个 map,映射了账户(以 32 字节地址表示)和该账户所关联的数据。执行组件输入的交易是有序的交易,通过 Move 虚拟机计算每笔交易的输出,然后把输出结果应用到前一个状态,最后生成新的状态。执行组件使用 HotStuff 的领...
2019-07-03 23:31:08 462
翻译 Move: A Language With Programmable Resources:区块链如何管理数字资产
区块链如何管理数字资产区块链之抽象区块链是一个复制的状态机。系统中的复制器称为验证器。系统用户将交易事务发送给验证器。每个验证器都了解如何执行交易,内部状态机就会把当前状态转换为新的状态。交易详情都是共享的,验证器根据共识协议(Consensus protocol)来执行交易,这些验证码会集体决定状态如何以及维护和复制状态。如果验证器从相同的初始状态开始,并且验证器同意下一笔交易应该是...
2019-07-02 15:24:52 591
翻译 Facebook Libra 网络模块简介
网络网络组件提供了点对点与其他验证器组件之间的通讯原语。概述网络组件专门用于促进共识和共享的mempool协议。目前,它为这些消费者提供了两个主要接口:RPC,用于远程过程调用DirectSend,用于向单个接收器发送即发消息的消息。网络组件使用:用于对等寻址的 Multiaddr 方案。TCP 用于可靠的传输。用于身份验证和完整端到端加密的噪声。Yamux 用于在单个连...
2019-07-01 15:20:09 905
翻译 Facebook Move 语言设计目标
Libra 的使命是建立一个简单的全球货币和金融基础设施,赋惠于数十亿人。Move 语言旨在提供安全,可编程的基础。Move 本身必须能够体现 Libra 货币是在一个精确的,可理解的及可验证的规则下治理。从长远来看,Move 必须能为不同类型的资产及其业务逻辑提供一个完善的财务基础设施。为了满足这些要求,我们设计了 Move,考虑了四个关键目标:面向资源、灵活性、安全性和可验证性。面向资...
2019-07-01 11:51:17 518
翻译 Facebook Libra 存储(Storage)简介
存储存储模块为 Libra Blockchain 上的整个数据集提供可靠且高效的持久化存储,以及 Libra Core 内部所使用的必要数据。概观存储模块旨在实现两个主要目的:保留区块链数据,特别是验证方通过共识协议达成一致的交易及输出。为区块链数据的查询提供 Merkle 校样的响应。如果客户端已获得正确的根哈希,则客户端可以轻松验证响应的完整性。Libra Blockchain...
2019-06-30 19:35:12 1277
翻译 Facebook Libra 准入控制(AC)简介
准入控制 Admission Control准入控制(AC)是 Libra 的公共 API,它响应来自客户端的公共 gRPC 请求。概述准入控制响应客户端的两种请求:SubmitTransaction - 将交易提交给关联的验证器。UpdateToLatestLedger - 查询存储,例如帐户状态,交易日志,协议等。实施细节准入控制(AC)实现了两个公共 API:Sub...
2019-06-30 13:27:54 639
翻译 Facebook Libra 加密简介
加密 Crypto我们在 Libra 中用到的所有加密原语,都实现在 Crypto 加密组件中,它包含:散列(Hashing),签名和密钥派生/生成。 在即将到来的版本中将包含的加密原语(位于 NextGen 目录)有:新的加密 API 来保证类型安全、可验证的随机函数、BLS 签名。概述Libra 使用了几种加密算法:SHA-3 作为主要的哈希函数。它在 FIPS 202 中被标准化。...
2019-06-29 17:48:34 1290
翻译 Facebook Move 语言 IR 编译器简介
Move IR 编译器概述Move IR 编译器将 Move IR 编译为字节码。Move IR 编译器将在 Move 中编写的模块和脚本编译为各自的字节码。输出的两种数据类型分别是 CompiledModule 和 CompiledScript。这些数据类型在 file_format.rs 中定义。除了将 Move IR 转换为 Move 字节码之外,编译器还是字节码验证器的测试工具。因...
2019-06-28 13:14:33 1034 1
翻译 Facebook Move 语言虚拟机 VM 简介
虚拟机 VMMove VM 执行以 Move 字节码表示的交易。它有两个核心包:核心 VM 和 VM 运行时。VM 核心包含 VM 的低级数据类型——主要是文件格式及其抽象。此处还定义了燃气计量(Gas metering???)逻辑抽象。概观MoveVM 是具有静态类型系统的堆栈机。 MoveVM 从几个方面来约束 Move 语言规范,包括混合文件格式、验证(可参阅验证器 README)和运...
2019-06-28 13:04:09 1064
原创 为什么 Facebook 的 Move 语言叫 Move?
Facebook 提出 Move,一种安全灵活的 Libra 区块链编程语言。Move 是一种可执行的字节码语言,用于实现自定义交易和智能合约。Move 的关键特性是能够定义具有受线性逻辑启发的语义的自定义资源类型:资源永远不会被复制或隐式丢弃,只能在程序存储位置之间移动(Move)。这些安全保证都由 Move 的类型系统静态强制执行。尽管有这些特别保护,但资源还是程序中普通的一个值—...
2019-06-27 13:05:20 714 3
翻译 Facebook Move 语言简介
简介Move 是一种新型编程语言,旨在为 Libra 区块链提供安全及可编程的基础。语言组织Move 语言的目录一般由五个部分组成:虚拟机(VM),它包含了字节码格式、字节码解释器和用于执行区块链交易的基础结构。此目录还包含生成区块链的基础结构。字节码验证器,它包含一个用于拒绝无效 Move 字节码的静态分析工具。虚拟机在执行每一段新的 Move 代码之前,先对它的字节码进行验证。编译...
2019-06-27 09:42:20 1554
翻译 π-演算十三问 FAQ on π-Calculus
https://www.cs.cmu.edu/~wing/publications/Wing02a.pdfπ-演算十三问 FAQ on π-CalculusJeannette M. WingVisiting Researcher, Microsoft ResearchProfessor of Computer Science, Carnegie Mellon University27 D...
2019-06-11 14:43:04 2814
原创 收集一些免费的开发第三方服务
所谓第三方服务,就是不用我们编程就可以享受的功能。尽管大家都关心是否免费,但不得不说的是免费通常伴随着不靠谱,说不定哪天说挂就挂,即使大厂也不例外。当然有些服务还是能够经得起考验的。另外,一般优先考虑国内的服务,而且还要注重实效性。
2019-06-05 10:49:44 691
原创 利用高阶函数封装 CountDownLatch 多线程并发远程下载
CMS 里面的文章,需要把正文的图片保存到本地。这需求正好适合 CountDownLatch 来解决,它内部提供了一个计数器,完成了一件事情就减去一,最终为零表示所有任务结束。当前我们的任务就是并发下载多张图片,起初的写法是这样的(出处),import java.util.concurrent.CountDownLatch;public class PicDownload { static...
2019-06-04 14:08:59 509
原创 白话 LRU 缓存及链表的数据结构讲解(三)
双向链表链表的作用就是按照访问的实际顺序排序,无论单链表或双链表都如此。我们在单链表的例子看到,维护单链表通常离不开从头部节点开始遍历的操作,尽管有许多巧妙的优化办法,但是只要从链表中查找某个元素(随机访问),必然还是离不开遍历操作。有鉴于此,我们希望可以常数时间内(O(1))随机访问元素,这样就很容易想到 HashMap 了。另外,有人问,直接用 HashMap 不行么?HashMap 本身无...
2019-05-24 15:34:56 819
原创 白话 LRU 缓存及链表的数据结构讲解(二)
问题的讨论前文讲述了数组、单链表来实现缓存的数据结构,一步一步地反映出 LRU 是如何改进的。至今我们没有放下改进的脚步。在上一例单链表中遇到的一个问题是,提供的 T 为单一记录值,无法处理 Key/Value 结构。通过百度,我们找到一仁兄的资源,比较不错,解决了该该问题,并且单链表的思路更上例不一样,更为简洁。public class LRUCache_2<K, V> { i...
2019-05-24 12:25:24 365
原创 白话 LRU 缓存及链表的数据结构讲解(一)
阅读前提:知道缓存(cache)的概念和 Java 数据结构。为了提高性能和减少不必要的重复读取,人们提出了缓存的概念。相当于原本的数据,缓存的体量肯定是小的,而且是非常的少。于是就有缓存大小的概念,毕竟我们不可能把所有已经读取的数据都放在缓存里,缓存大小是固定的。怎么决定哪些数据放在缓存里面,当大小到达上限后,又怎么淘汰(或替换)缓存不需要的数据呢?那就是一个策略的问题——通常比较简单的做法是...
2019-05-23 22:38:46 519
原创 高级网页动画制作
现今浏览器如此地强大,以至不同形式的网页形式缤纷而至,例如动画就是必不可少的一环。早期有全站 Flash 技术制成的,现今则是多种技术混合在内,包括 CSS3+Canvas + SVG,甚至利用 AE(Adobe After Effects)强大的滤镜所做的动画都可以搬到上来。关于 AE 技术的转换,笔者早期学习 Web 时就了解过,当时是 AE 可以转换为 Flash 动画的,体积比较大的说。...
2019-05-15 16:57:23 752
原创 JavaScript 合并 Table 单元格简单做
标签初步分析HTML Table 元素允许合并单元格。通常手写代码比较“反人类”思维,于是还是通过直观的可视化的工具来完成,例如奉为经典的 Dreamweaver。研究代码,td 行元素有一 rowspan 跨行的属性,表示跨行行数。如果当前这样有 x 个跨行,那么下面 tr > td (一共 x 行)中的每一行都可以少出现一个 td。如上图,上面有 rowspan 的 tr 的,...
2019-05-14 18:42:06 4899
原创 恢复安卓谷歌套件 to replace
套件四个组件:Google Mobile ServiceGoogle Play ServicesGoogle Play StoreGoogle Login Service/Google Account Manager使用国内的套件安装器,不行,出现“Google Play 服务 已停止运行”,于是百度之,发现是版本有问题,到 https://www.apkmirror.com/ 下载...
2019-04-17 09:24:55 3403
原创 如何打造一个文件上传组件
文件上传(File Upload)在 Web 项目中广泛应用,都少不了这样一个的组件。有见及此 Servlet 3.0 将文件上传纳入 JSR 标准,通过几个注解便能配置好上传的功能,无须依赖其他组件。不过本着专研学习之目的,还是自制一款简单的文件上传组件。
2019-01-29 18:06:51 733
原创 Java 原生 JSON 序列化
首先要说的是,笔者之前着实足够奇葩,净干别人未干过的事情,居然会想到用 JS 引擎来转换 JSON(《用 Rhino/Nashorn 代替第三方 JSON 转换库》、《使用 Rhino 作为 Java 的 JSON 解析/转换包》),几经思考后,还是决然毅然放弃这个不切实际的想法,老老实实去写转换函数,几经打磨,有了下面“序列化” JSON 的 toJSON() 函数。原理分析请先过目源码。...
2019-01-29 13:30:44 3851
微软百科全书 Encarta 2002 CD-3
2022-02-02
微软百科全书 Encarta 2002 CD-1
2022-02-02
帝视尼电话商务录音系统
2022-02-02
领域驱动设计 精简版 Abel Avram 和 Floyd Marinescu 总结整理
2022-01-29
数据结构思维 中文版 Think Data Structures
2022-01-29
简简单单用OpenOffice写书 use_OO_for_writing
2022-01-29
SUPER-SCSI-驱动
2021-11-20
商城测试用图片.7z
2020-02-16
DB Browser for SQLite.zip
2019-08-12
HDTunePro 5(Win8修正版).zip
2019-08-12
JDK JavaScript 独立运行时 Nashorn,Java 7 可用
2016-01-10
数据库转换神器 ESF Database Migration Toolkit - Professional
2015-11-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人