《数据密集型应用系统设计》读书笔记--第四章

数据编码与演化 一、数据编码格式 程序中数据的两种表示形式: 内存中,保存在对象、结构体、列表、数组、树、哈希表等数据结构中。对cpu的访问进行了优化。 数据写入文件或者通过网络发送时,把其编码成字节序列。 两种行式的转化过程称为序列化和反序列化(编码和解码)。 编程语言的内置编码方案的缺点: 不同语言之间访问困难。 解码需要能实例化任意类,会导致安全问题,如远程执行任意代码。 向前向后兼容困难。 效率低。 主要格式:JSON,XML,CSV 二进制编码:Thtift,Protocol Buf
分类: 其他 发布时间: 08-09 22:24 阅读次数: 0

编译Less文件

LESS官方文档 一、通过命令行进行编译(可实时监听并编译) 用起来比较复杂,但效率比较高. 步骤一:安装Node.js nodeJS下载地址 // 配置环境变量 右键点击计算机-[属性]-[高级系统设置]-[高级]-[环境变量]-[系统变量]-[新建] NODE_PATH=安装地址 // 通过windows自带的cmd来测试NodeJS和npm的版本 // 使用命令行查看版本,检测是否安装成功 (npm是NodeJs自带的包管理工具) node -v npm -v 安装Le
分类: 其他 发布时间: 08-09 22:24 阅读次数: 0

单点触摸屏与多点触摸屏的异同

应该通过什么方法来获得多点触摸屏的数据呢? 控制IC与cpu一般来说是通过I2C或者SPI接口来连接。cpu如何得知控制IC有了数据呢?这个地方是通过中断来实现的。当发生中断以后,驱动程序就可以通过I2C或SPI总线来读取控制IC,获取电容屏的数据。因此这个驱动程序应该是I2C驱动程序与输入子系统的混合体。
分类: 其他 发布时间: 08-09 22:24 阅读次数: 0

[BZOJ 2199] [USACO11JAN] 大陆议会The Continental Cowngress(2-SAT)

[BZOJ 2199] [USACO11JAN] 大陆议会The Continental Cowngress(2-SAT) 题面 题面较长,略 分析 考虑把问题转化成一个依赖性问题 我们把每只奶牛投出的两票中至少有一票和最终结果相符合转化:一只奶牛刚好投两次票,所以只要不满足奶牛的其中一次投票,就要满足另一次,这样就转化成了依赖性问题。 然后把每个议案拆成两个点,一个代表Y,一个代表N,每次把第一票不符合的点向符合的点连边,跑2-SAT 如果用传统的tarjan算法不好判断Y,N都可以的情况,
分类: 其他 发布时间: 08-09 22:24 阅读次数: 0

FastDFS图片服务器(分布式文件系统)学习。

参考:https://blog.csdn.net/hiqingtian/article/details/79413471 https://blog.csdn.net/sinat_40399893/article/details/80548374 1、什么是FastDFS。   FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供
分类: 其他 发布时间: 08-09 22:24 阅读次数: 0

SpringBoot-yaml文件详解(三)

yaml简介 YMAL:以数据为中心,比json和xml更适合做配置文件.官网说yaml是一种标记语言,但又不是一种标记语言我们大家可以好好探讨一下. yaml是不是一个标记语言,每个人都有自己独到的理解. 不妨我们来看看官方文档:https://docs.spring.io/spring-boot/docs/2.1.7.RELEASE/reference/html/boot-features-external-config.html#boot-features-external-config
分类: 其他 发布时间: 08-09 22:24 阅读次数: 0

[NOIP模拟测试]:建设城市(city)(组合数学+容斥)

题目传送门(内部题8) 输入格式 一行三个整数$n,m,k$。 输出格式 一行一个整数表示答案。对$998244353$取模。 样例 样例输入 3 7 3 样例输出 6 数据范围与提示 对于10%的数据,$1\leqslant n,m,k\leqslant 10$。 对于40%的数据,$1\leqslant n,m,k\leqslant 1,000$。 对于70%的数据,$1\leqslant n,m,k\leqslant {10}^5$。 对于100%的数据,$1\leqslant n\le
分类: 其他 发布时间: 08-09 22:24 阅读次数: 0

从零开始到新建一个容器的镜像

一、一个官方容器的编排文件 https://hub.docker.com/search?q=centos&type=image FROM scratch ADD centos-7-docker.tar.xz / LABEL org.label-schema.schema-version="1.0" \ org.label-schema.name="CentOS Base Image" \ org.label-schema.vendor="CentOS" \ org.label-schema.l
分类: 其他 发布时间: 08-09 22:24 阅读次数: 0

【题解】51Nod 1594 莫比乌斯反演

先咕了(等我学会Markdown code 1 // 2 // main.cpp 3 // 51nod 4 // 5 // Created by gengyf on 2019/8/8. 6 // Copyright © 2019 yifan Geng. All rights reserved. 7 // 8 9 #include <iostream> 10 using namespace std; 11 namespace gengyf{ 12
分类: 其他 发布时间: 08-09 22:24 阅读次数: 0

<剑指offer> 第15题

题目: 输入两棵二叉树A和B,判断B是不是A的子结构 思路: 分为两步: (1)在树A中找到和B的根节点的值一样的节点R (2)判断树A中以R为根节点的子树是不是包含和树B一样的结构 public class Fifteenth { public static class BinaryTreeNode{ int value; BinaryTreeNode left; BinaryTreeNode right; }
分类: 其他 发布时间: 08-09 22:24 阅读次数: 0

java中级,知识点归纳(一)

一、接口和抽象类的区别 抽象类中可以含有构造方法,而接口内不能有。 抽象类中可以有普通成员变量,而接口中不能有。 抽象类中可以包含非抽象的普通方法,而接口中所有方法必须是抽象的,不能有非抽象的普通方法。 抽象类中的抽象方法的访问类型可以是public、protected和默认类型,但接口中的抽象方法只有public和默认类型。 抽象类中可以包含静态方法,接口内不能包含静态方法。 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以是任意,但接口中定义的变量只能是publi
分类: 其他 发布时间: 08-09 22:24 阅读次数: 0

模拟15 题解(waiting)

T1 70%算法 定义f[i][j]表示枚举到i位置,已经使用过了j个队, $f[i][j]+=f[i-1][t] ( t \in [max(0,j-k),j])$滚动一下 这是个O(n^3)的,考虑如何优化,发现可以使用前缀和,避免枚举t,$O(n^2)$ 100%算法 问题转化成:m个物品,放到n个抽屉里,每个至少放一个,最多放k个 若任何的限制: C(m+n-1,n-1)表示一共有m个物品,分成n组就要用n-1个挡板,把挡板也看成空位,总共m+n-1个空位,选出来n-1个 若考虑至少放一
分类: 其他 发布时间: 08-09 22:24 阅读次数: 0

字符编解码

所有的文件存储-------->字节 字节(byte) --(编码)-- > 字符 (char) 字节(byte) < --(解码)-- 字符 (char) 字节:跟机器打交道。 字符:跟人打交道。 乱码的本质原因:编码、解码不一致。 ASCII (American Standard Code For Information Interchange, 美国信息交换标准代码)。 用7bit来表示一个字符,2的7次方 = 128个字符。 ISO-8859-1(西欧的编码标准,ASCII是它的子集)
分类: 其他 发布时间: 08-09 22:24 阅读次数: 0

【Java】九大排序算法总结及实现

1.直接插入排序 思想:每一趟将一个待排的元素作为关键字,按照其关键字的大小插入到已经排好序的部分序列的适当位置上,直到插入完成。 实现: public static void insertSort(int arr[]){ for (int i=1;i<arr.length;i++){ //从第二个值开始插 int value=arr[i]; //待插入的元素 int post=i; while(post>0 && arr[post-1]>value){
分类: 其他 发布时间: 08-09 22:08 阅读次数: 0

cocos Creator 如何使用物理引擎

1: 开启物理引擎的3个步骤和一个坑: (1)开启引擎: cc.director.getPhysicsManager().enabled = true (2)配置重力: cc.director.getPhysicsManager().gravity = this.gravity (3)通过开关来控制是否开启调试模式: 开启物理引擎的脚本代码,一定要写到onLoad函数里面,否则无法开启,切记,切记; 2: 编辑物理节点与物理形状 (1)创建一个节点, 作为载体; (2)添加一个刚体组件实例,配
分类: 其他 发布时间: 08-09 22:08 阅读次数: 0

图论笔记

目录 最小生成树 例题 怎么证明合数都可以分成素数的乘积 在最大生成树上求两点路径中边权的最小值 kruskal重构树 最短路 SPFA判负环 建图技巧 拓扑排序 queue优化 tarjian 差分约束 环套树/基环树 基环树找环 欧拉图 圈套圈算法 图论 最小生成树 $N$个城市,$M$条可修的公路,每条公路有一个修的成本$w_i$,要使$N$个城市连通,所需要的最低成本? 最少需要$N-1$条边,构成一棵树。 ## Kruskal算法证明 对图的顶点数$n$做归纳,证明$Kruskal$
分类: 其他 发布时间: 08-09 22:08 阅读次数: 0

Python爬虫常见问题

第一个问题:JS加密如何突破 (1) 熟练掌握Chrome的开发者工具的各个功能,Elements, Network,Source (2) 认真观察,善于思考。Network查看加载流程,找可疑的xhr请求,设置xhr断点,通过Call Stack 回溯js执行过程,边回溯边查看上下文代码。能读懂js,知道js的相关知识,比如js里面的window变量。 (3) 以上是通过debug js找到js加密解密的代码,然后通过Python重新实现,这个过程很长,可能耗费你几天的时间,一旦网站改变一下
分类: 其他 发布时间: 08-09 22:08 阅读次数: 0

一些黑猩猩会使用草药治病,疗效还不错:3.5星|邓巴《人类的算法》

“ 从现代的欧洲社会到新几内亚的传统农民,再到东非的牧民,人们花在社交上的时间(主要指谈话交流),比例几乎均为20%。看起来,即使人类使用语言而不是通过梳毛来维系社会关系,我们也创造不出多余的时间用来交往,充其量不过是更会利用时间,将灵长类动物的能力发挥到了极致而已。” 01 — 作者是“邓巴数”概念提出人罗宾·邓巴。英文版是2004年出的,有点旧了。 主要内容是讲人类进化史上一些关键要素出现的时间与原因:思考、一夫一妻制、语言、文化、宗教信仰。 书中几个重要的观点: 1:将心比心、感同身受的
分类: 其他 发布时间: 08-09 22:08 阅读次数: 0

设计模式之GOF23原型模式01

原型模式prototype 原型模式: - 通过new产生一个对象需要非常繁琐的数据准备或者访问权限,则可以使用原型模式,比如如果new对象所需时间过长,可以通过克隆产生相同的副本 - Java中的克隆技术,就是以某个对象为原型,复制出新的对象,显然新的对象剧本原型对象的特点 - 克隆类似new但是并不相同,new出的对象都是默认值,克隆出来的对象的属性值与原型对象相同。浅复制时,复制出的对象的属性如果是引用的类型,则指向同一地址;深复制时, 复制出的对象的属性与原型对象属性的引用不应指向同一
分类: 其他 发布时间: 08-09 22:08 阅读次数: 0

python 之 前端开发(HTTP协议、head标签、img标签、a标签、列表标签)

第十一章前端开发 11.1 HTTP 1.1引入了许多关键性能优化:keepalive连接,请求流水线,chunked编码传输,字节范围请求等 1、keepalive连接: 1、长连接 允许HTTP设备在事务处理结束之后将TCP连接保持在打开的状态,以便未来的HTTP请求重用现在的连接,直到客户端或服务器端决定将其关闭为止。 2、HTTP1.1对比HTTP1.0 在HTTP1.0中使用长连接需要添加请求头 Connection: Keep-Alive,而在HTTP 1.1 所有的连接默认都是长
分类: 其他 发布时间: 08-09 22:08 阅读次数: 0