跳转至

博客

B-Tree Data Structure

可能是以前没有接触过类似的数据结构设计,反复阅读了几遍依然有些不太理解。今天,我决定从读者的角度一步一步介绍我对这个数据结构的理解。

一个节点应该包含以下几个部分:

| type | nkeys |  pointers  |   offsets  | key-values | unused |
|  2B  |   2B  | nkeys * 8B | nkeys * 2B |     ...    |        |

每个 key-value 对的格式如下:

| klen | vlen | key | val |
|  2B  |  2B  | ... | ... |

用不到 100 行 Go 语言构建自己的容器

原文地址:https://www.infoq.com/articles/build-a-container-golang/

2013 年 3 月 Docker 的开源发布引发了软件开发行业打包和部署现代应用程序方式的重大转变。在 Docker 发布之后,许多相互竞争、相互补充和相互支持的容器技术也随之诞生,这导致了围绕这一领域的许多炒作和一些幻灭。本系列文章旨在揭示其中的一些困惑,并解释容器在企业中的实际使用情况。

本系列文章首先介绍了容器背后的核心技术以及开发人员目前的使用情况,然后探讨了在企业中部署容器所面临的核心挑战,例如将容器化集成到持续集成和持续交付管道中,以及加强监控以支持不断变化的工作负载和潜在的瞬时性。本系列最后展望了容器化的未来,并讨论了 unikernels 目前在前沿组织中发挥的作用。

使用 Go 实现 BitTorrent 客户端

原文地址:https://blog.jse.li/posts/torrent/

BitTorrent 是一个通过网络下载和分发文件的协议。与传统的客户端/服务器关系相比,下载者连接到中央服务器(例如:在 Netflix 上观看电影,或加载您正在阅读的网页),BitTorrent 网络中的参与者(称为对等点)下载彼此之间的文件片段——这就是它成为点对点协议的原因。我们将研究其工作原理,并构建我们自己的客户端,该客户端可以找到同行并在它们之间交换数据。

本轮牛市的风险与机会

这不仅仅是市场反弹,更是牛市的起点,我们可以从几个方面观察:

  1. 交易金额的增加;
  2. 情绪底。情绪底出现在恐慌性下跌时,GDP、CPI 等经济数据全线下跌;
  3. 汇率
  4. 政策组合

我们的经济政策非常保守

什么是美林时钟?

美林证券根据30多年的数据统计分析发现:虽然每个经济周期都有其独特性,但其中确实隐藏了一些相似的因素,如果可以合理运用,投资者将取得更好的收益。

于是美林将「资产」、「行业轮动」、「债券收益率曲线」、「经济周期四个阶段」联系起来,提出美林时钟投资模型。美林时钟可以帮助投资者识别经济周期的重要转折点,是一个非常实用的指导资产配置的的投资工具。

论软件系统架构风格

摘要

2015 年初,我所在的公司承担了某集团公司的移动信息化开放平台的建设工作。我在该项目中担任系统架构设计师的职务,主要负责设计平台系统架构和安全体系架构。该平台以移动信息化发展为契机,采用”平台+应用”的模式解决现有应用的集中移动化需求。平台整体的逻辑复杂,对系统的高可用和高扩展能力提出了较高的要求。(1)

  1. 包含内容:项目名称、项目金额、项目历时、项目简介、我的责任、本文主题概括

    时间、项目、简介、投入、历时、成功交付、客户好评、结合具体题目说明本文结构。

本文以平台系统架构为例,讨论了软件架构的选择和应用。在该项目中,我结合实际需要,从开发和维护难度、安全性、稳定性和扩展能力等方面综合衡量,为平台选择了具有表现层、业务逻辑层、数据访问层的三层分层架构。平台的研发耗时 10 个月,目前,系统已稳定运行了近两年时间,实践证明,这种架构设计有效的降低了系统的维护和开发成本,增强了系统的安全性、提高了系统的稳定性和扩展能力。

爱在深秋

今年中国的十一假期可谓是来的五味杂陈,就在假期前的头两个星期还是一片愁云惨雾,在经济上没有什么好消息,没人能提得起度假的心情,可是在就月份的最后一个星期——9 月 26 号的政治局会议之后,大陆的 A 股迎来了历史性的大涨,再次冲向了三千点。

9 月 30 号这天央视网登出了一则题为《股市大涨、文旅火热……金秋丰收时节,各行业满载希望喜迎国庆》的文章,当日上证指数大涨 8.06%,创造了自 2015 年股灾以来最大的单日涨幅,深成指这天的涨幅也达到了 10.67%,为低迷的股市注入了新的动能,我愿称此次上涨为 爱在深秋

沪深京指数

论软件架构的选择

摘要

2015 年初,我所在的公司承担了某集团公司的移动信息化开放平台的建设工作。我在该项目中担任系统架构设计师的职务,主要负责设计平台系统架构和安全体系架构。该平台以移动信息化发展为契机,采用”平台+应用”的模式解决现有应用的集中移动化需求。平台整体的逻辑复杂,对系统的高可用和高扩展能力提出了较高的要求。

本文以平台系统架构为例,讨论了软件架构的选择和应用。在该项目中,我结合实际需要,从开发和维护难度、安全性、稳定性和扩展能力等方面综合衡量,为平台选择了具有表现层、业务逻辑层、数据访问层的三层分层架构。平台的研发耗时 10 个月,目前,系统已稳定运行了近两年时间,实践证明,这种架构设计有效的降低了系统的维护和开发成本,增强了系统的安全性、提高了系统的稳定性和扩展能力。

Gaoman 数位板 M6 linux 配置

多屏如何设置数位板控制哪个屏幕

  1. 查看显示器信息 xrandr
Screen 0: minimum 320 x 200, current 3840 x 1200, maximum 16384 x 16384
eDP-1 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 302mm x 189mm
   1920x1200     60.00*+  60.00  
   ...
   320x240       60.00  
   360x202       60.00  
   320x180       60.00  
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-3 disconnected (normal left inverted right x axis y axis)
DP-3 connected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 345mm x 194mm
   1920x1080     59.93*+  60.00    59.94  
   1600x900      60.00  
   1280x720      60.00    59.94  
   1024x768      60.00  
   800x600       60.32  
   640x480       60.00    59.94  
DP-4 disconnected (normal left inverted right x axis y axis)

可以看到目前检索到 eDP-1, DP-3 两个屏幕

  1. 执行 xsetwacom 命令设置数位板参数

‵‵‵plain Usage: xsetwacom [options] [command [arguments...]] Options: -h, --help - usage -v, --verbose - verbose output -V, --version - version info -d, --display "display" - override default display -s, --shell - generate shell commands for 'get' -x, --xconf - generate xorg.conf lines for 'get'

Commands: --list devices - display detected devices --list parameters - display supported parameters --list modifiers - display supported modifier and specific keys for keystrokes --set "device name" parameter [values...] - set device parameter by name --get "device name" parameter [param...] - get current device parameter(s) value by name ‵‵‵

  1. xsetwacom --list devices 检索数位板设备
GAOMON GAOMON_M6 Pen stylus         id: 16  type: STYLUS    
GAOMON GAOMON_M6 Pad pad            id: 17  type: PAD       
GAOMON GAOMON_M6 Touch Ring pad     id: 22  type: PAD       
GAOMON GAOMON_M6 stylus             id: 23  type: STYLUS    
GAOMON GAOMON_M6 eraser             id: 24  type: ERASER
  1. xsetwacom set 'GAOMON GAOMON_M6 Pen stylus' MapToOutput DP-3 完成设置