ethereum开发环境搭建
准备工作
- 安装git
- 安装go开发环境安装
- 下载go-ethereum源码
编译运行
进入go-ethereum根目录,执行make编译
|
|
接下来,看看编译出来的内容:
|
|
进入go-ethereum根目录,执行make编译
|
|
接下来,看看编译出来的内容:
|
|
创建会话
删除会话
获取会话列表
获取消息列表
发消息
删除消息
撤回消息
清空聊天记录
GET /users/me/conversations?with=users,questions,messages,questions,stickers&since=2018-06-12T09:05:28.501716&limit=20
GET /users/me/conversations/3916/messages?limit=60&since=1799981794091663834&with=stickers&questions&users&moments
POST /users/me/conversations/3916/messages
|
|
PATCH /users/me/conversations/3916/messages/1799987543769416155?method=patch
|
|
PATCH /users/me/conversations/381?method=patch
|
|
DELETE /users/me/conversations/3916/messages?method=delete&until=1799987543769416155
在互联网的发展过程中,人们一直试图构建一个全球的分布式文件系统。有成功的,也有失败的。在这几十年的尝试过程中,也就AFS取得了成功,并且今天仍然被使用。在学院派之外,取得巨大成功的是共享大文件的系统,比如,Napster、KaZaA以及BitTorrent。然而,这些系统都不能作为基础设施,在其上构建应用。
到目前为止,HTTP可能是最成功的“分布式的文件系统”。HTTP配合浏览器已经成为当前最主流的架构。但是,我们正在进入一个新的数据的时代,将面临如下问题:
总结成一句话就是“海量数据,时时可达”。考虑到这些苛刻的条件以及带宽的因素,我们已经放弃使用HTTP。
Git作为分布式的源码版本控制系统,发明了很多有用的数据建模和操作的方式。Git工具链提供了很多大型分布式文件系统都缺少的版本化的功能。Camlistore、Dat都是受到Git的启发开发出来的分布式文件系统。Git的设计思想已经深深影响了分布式文件系统的设计。Merkle DAG数据模型具有很强的内容变大能力。
在接下来的部分,将介绍一种神奇的P2P版本控制的文件系统IPFS,IPFS汲取过去成功的系统设计思想,试图解决上面提到的问题。IPFS的核心思想是将所有的数据按照Merkle DAG进行建模。
DHTs被用来维护P2P系统中的元数据信息。例如,BitTorrent MainlineDHT记录了P2P网络中的节点信息。
Kademlia是一种广泛使用的DHT,它有如下特性:
有很多的P2P系统将数据块直接存储在DHT上,浪费大量的存储空间和带宽。Coral DSHT在如下三个方面扩展了Kademlia:
BitTorrent是目前被广泛使用的P2P文件共享系统,它成功的协调成千上万的互相不信任的分布式结点共享文件的片段。IPFS借鉴了BitTorrent如下几个方面:
@(示例笔记本)[马克飞象|帮助|Markdown]
马克飞象是一款专为印象笔记(Evernote)打造的Markdown编辑器,通过精心的设计与技术实现,配合印象笔记强大的存储和同步功能,带来前所未有的书写体验。特点概述:
[TOC]
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。 —— 维基百科
正如您在阅读的这份文档,它使用简单的符号标识不同的标题,将某些文字标记为粗体或者斜体,创建一个链接或一个脚注[^demo]。下面列举了几个高级功能,更多语法请按Ctrl + /
查看帮助。
|
|
可以创建行内公式,例如 $\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$。或者块级公式:
$$ x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$
Item | Value | Qty |
---|---|---|
Computer | 1600 USD | 5 |
Phone | 12 USD | 12 |
Pipe | 1 USD | 234 |
|
|
以及时序图:
|
|
使用 - [ ]
和 - [x]
语法可以创建复选框,实现 todo-list 等功能。例如:
注意:目前支持尚不完全,在印象笔记中勾选复选框是无效、不能同步的,所以必须在马克飞象中修改 Markdown 原文才可生效。下个版本将会全面支持。
马克飞象增加了@(笔记本)[标签A|标签B]
语法, 以选择笔记本和添加标签。 绑定账号后, 输入(
自动会出现笔记本列表,请从中选择。
马克飞象会自动使用文档内出现的第一个标题作为笔记标题。例如本文,就是第一行的 欢迎使用马克飞象
。
保存在印象笔记中的笔记,右上角会有一个红色的编辑按钮,点击后会回到马克飞象中打开并编辑该笔记。
注意:目前用户在印象笔记中单方面做的任何修改,马克飞象是无法自动感知和更新的。所以请务必回到马克飞象编辑。
马克飞象通过将Markdown原文以隐藏内容保存在笔记中的精妙设计,实现了对Markdown的存储和再次编辑。既解决了其他产品只是单向导出HTML的单薄,又规避了服务端存储Markdown带来的隐私安全问题。这样,服务端仅作为对印象笔记 API调用和数据转换之用。
隐私声明:用户所有的笔记数据,均保存在印象笔记中。马克飞象不存储用户的任何笔记数据。
马克飞象使用浏览器离线存储将内容实时保存在本地,不必担心网络断掉或浏览器崩溃。为了节省空间和避免冲突,已同步至印象笔记并且不再修改的笔记将删除部分本地缓存,不过依然可以随时通过文档管理
打开。
注意:虽然浏览器存储大部分时候都比较可靠,但印象笔记作为专业云存储,更值得信赖。以防万一,请务必经常及时同步到印象笔记。
右侧系统菜单(快捷键Ctrl + M
)的设置
中,提供了界面字体、字号、自定义CSS、vim/emacs 键盘模式等高级选项。
帮助 Ctrl + /
同步文档 Ctrl + S
创建文档 Ctrl + Alt + N
最大化编辑器 Ctrl + Enter
预览文档 Ctrl + Alt + Enter
文档管理 Ctrl + O
系统菜单 Ctrl + M
加粗 Ctrl + B
插入图片 Ctrl + G
插入链接 Ctrl + L
提升标题 Ctrl + H
马克飞象为新用户提供 10 天的试用期,试用期过后需要续费才能继续使用。未购买或者未及时续费,将不能同步新的笔记。之前保存过的笔记依然可以编辑。
感谢阅读这份帮助文档。请点击右上角,绑定印象笔记账号,开启全新的记录与分享体验吧。
[^demo]: 这是一个示例脚注。请查阅 MultiMarkdown 文档 关于脚注的说明。 限制: 印象笔记的笔记内容使用 ENML 格式,基于 HTML,但是不支持某些标签和属性,例如id,这就导致脚注
和TOC
无法正常点击。
Say you have an array for which the ith element is the price of a given stock on day i.
Design an algorithm to find the maximum profit. You may complete at most k transactions.
Note:
You may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again).
|
|
|
|
|
作为一个基层的后端工程师,经常会被各式各样的人丢各种各样的bug,但是,他们通常只会说相同的一句话,怎么又出错了,快去查一下。然后,就把一口大锅摔到你的头上,拍拍手就走了。这时你的心里肯定有一万只草泥马呼啸而过,难道不能再多提供一些信息嘛。但是,你面对的可能是老板,可能是屁也不懂的产品,他们唯一能告诉你的就是他们自己的帐号信息。
这个时候,你只能登录上服务器,查看日志信息。但是,你惊奇的发现,写这个服务的码农,竟然从未输出过任何日志。真是晴天霹雳呀,幸好还有tcpflow,tcpdump这两大法宝,这次介绍如何使用tcpflow抓包查看请求的数据,以及返回的结果。
tcpflow是服务器上经常使用的一个小程序,它能够捕获tcp的数据流,并将其存储为方便分析和调试的格式。每一条tcp流都会被存储到独立的文件中,因此,典型的tcp流将会被分别存储为进、出两个文件。
tcpflow和tcpdump比较相似,它们都能处理来自实时或者存储到文件中的数据包。不同点是,tcpflow会重新构建真实的数据流,并且会分开存储。
虽然tcp数据包存在重传和乱序的情况,tcpflow能够按照正常的顺序重建数据流。1.0版本支持VLAN多路复用,但是,当前不支持IP fragmentation,数据流中如果存在IP fragments,不能被正常的处理。
tcpflow基于LBL Packet Capture Library,支持丰富的过滤条件。
centos上使用yum安装
|
|
|
|
-c:将数据流打印到控制台,不要存储到文件中。
-p:非杂乱模式
-i:指定网络接口
port:指定监听的端口号
简单的说,将端口号18223的tcp流打印到控制台输出。
|
|
dst:18223是tcp数据流的目的端口
|
|
src:18223是tcp数据流的源端口
|
|