0%

编解码器

数据在网络中传输时都是二进制字节码数据,在发送数据时需要编码,接收数据时需要解码,所以就需要解码器(decoder)和编码器(encoder)来完成该操作

encoder编码器是将指定的消息对象转为二进制流,负责处理出站数据;decoder解码器是将二进制流转为指定的消息对象,负责处理入站数据

Netty本身提供了一些编解码器

  • StringEncoder、StringDecoder 对字符串数据进行编解码
  • ObjectEncoder、ObjectDecoder 对java对象进行编解码

Netty本身提供的ObjectEncoder、ObjectDecoder 底层使用的是Java序列化技术,而Java序列化技术本身效率不高,序列化后太大,且无法跨语言,所以可以使用Protobuf

编解码器本身也是ChannelHandler

阅读全文 »

数据仓库的概念

数据仓库提供集成化的和历史化的数据,它集成种类不同的应用系统,数据仓库从事物发展和历史的角度来组织和存储数据,以提供信息化和分析处理之用,是面向主题的、集成的、具有时间特征的、稳定的数据集合,用以支持经营管理中的决策制定过程

特征

  • 数据仓库的数据是面向主题的。传统数据库是面向应用而设计的,它的数据为了处理具体应用而组织到一起的。而主题是一个在较高层次将数据进行归类的标准,每个主题基本对应一个宏观的分析领域,满足该领域分析决策的需要。因此,主题的抽取是按照分析的要求来确定的,数据在进入数据仓库之前必须要经历加工和集成,将原始数据结构做一个从面向应用到面向主题的转变
  • 数据仓库的数据是集成性的。数据仓库中的数据来自于多个应用系统,要将这些数据统一到数据仓库的数据模式中来
  • 数据仓库的数据具有时间特征。数据仓库随着时间变化要不断增加新的内容,将数据库的数据变化追加到数据仓库中
  • 数据仓库的数据是相对稳定的。数据仓库是随时间而变化的,但又是相对稳定的。这种稳定是指数据仓库中的数据主要供企业决策分析之用,决策人员所涉及的数据操作主要是数据查询,一般情况下并不进行数据修改
阅读全文 »

URL访问工具

有时候想在命令行下通过http访问接口/网页,可以使用curl来进行操作

发起请求

1
curl www.baidu.com

会返回网页内容

参数选项

-i参数

使用-i参数,会返回响应header

1
curl -i www.baidu.com

-I参数

使用-I参数,只会返回响应header

1
curl -I www.baidu.com
阅读全文 »

SpringBoot打成jar包的结构

springboot通常会打成jar包,然后使用java -jar来进行执行,那么这个jar包里的结构是什么样的呢

springboot打成jar包的结构

其中

阅读全文 »

搜索引擎重要概念

倒排索引

倒排索引(inverted index),也称为反向索引,是搜索引擎中最常见的数据结构,几乎所有的搜索引擎都会使用到倒排索引,它将文档中的词作为关键字,建立词与文档的映射关系,通过对倒排索引的检索,可以根据词快速获取包含这个词的文档列表,这对于搜索引擎来说至关重要

存储的结构大概是这样的

单词 文档ID
this 1,2,3
people 5
love 13
阅读全文 »