SH Blog

撵上一个时代

ElasticSearch 基础学习

ElasticSearch Github https://www.elastic.co/ https://www.elastic.co/guide/en/elasticsearch/reference/master/index.html A Distributed RESTful Search Engine. Elasticsearch 是一个分布式、RESTful 风格...

Hive开窗函数

Hive开窗函数 与聚合函数一样,开窗函数也是对行集组进行聚合计算,但是它不像普通聚合函数那样每组只返回一个值,开窗函数可以为每组返回多个值,因为开窗函数所执行聚合计算的行集组是窗口。 4类30+个分析/窗口函数: 聚合分析函数 1 2 3 4 5 SUM -- 该函数计算组中表达式的累积和 COUNT -- 对一组内发生的事情进行累积计数 MIN...

LeetCode - 数组去重

数组去重 剑指 Offer 03. 数组中重复的数字【简单】 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3 限制:2 <= n...

TOUR - SanYa

第一次看海。

LeetCode - 经典类型题目整理

LeetCode Summary LeetCode 力扣中国 用动画的形式呈现解LeetCode题目的思路 fucking-algorithm LeetCode Problems’ Solutions C++/Python Leetcode solutions in Java 目录 KeyPoint ...

CSAPP-12并发编程

CSAPP-12并发编程 如果逻辑控制流在时间上重叠,那么它们就是并发的(concurrent)。 系统层面:硬件异常处理程序、进程、Linux信号处理程序。 应用程序中:Linux信号处理程序允许响应异步事件。 应用级并发是很有用的: 访问慢速I/O设备。 与人交互。 通过推迟工作以降低延迟。 服务多个网络客户端。 在多核机器上进行并行计算。 ...

CSAPP-11网络编程

CSAPP-11网络编程 互联网络思想的精髓,封装是关键。 抽象、封装。 客户端-服务器编程模型 服务器管理某种资源,并且通过操作这种资源来为它的客户端提供某种服务。 客户端-服务器模型中的基本操作是事务,一个客户端-服务器事务由以下四步组成: 1)当一个客户端需要服务时,它向服务器发送一个请求,发起一个事务。 2)服务器收到请求后,解释它,并以适当的方式操作它...

CSAPP-10系统级I/O

CSAPP-10系统级I/O Unix I/O 所有的I/O设备(网络、磁盘和终端)都被模型化为文件,所有的输入和输出都被当做对相应文件的读和写来执行。 这种将设备优雅地映射为文件的方式,允许Linux内核引出一个简单、低级的应用接口,称为Unix I/O,这使得所有的输入和输出都能以一种统一且一致的方式来执行: 打开文件。要求内核打开相应的文件,内核返回一个小的非负整数,叫做...

CSAPP-09虚拟内存

CSAPP-09虚拟内存 虚拟内存(VM):现代系统提供的一种对主存的抽象概念。 虚拟内存是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。 通过一个很清晰的机制,虚拟内存提供了三个重要的能力: 1)它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,...

CSAPP-08异常控制流

CSAPP-08异常控制流 ======================================================== 要点:异常、进程、信号。 异常 异常类别 进程 私有地址空间 用户模式和内核模式 上下文 进程操作 fork(...