ReZero's Utopia.

ReZero's Utopia.

Everything is permitted.

Site Architecture
SummaryThe whole process of evolutionThe initial tiny site Application server needs much stronger CPU to control the complex business. Database server need much faster disk and larger memory to get disk retrieval & data cache faster So as file server need the disk. 123Note: There are 80...
(译)缓存参数无关算法
缓存参数无关算法 笔记参考链接: Cache Oblivious Introduce blog Cache Oblivious paper 假设 硬盘 存在 M bits,以 B bits 作为分页大小,缓存按页加载,介绍相关的缓存参数无关的命中算法,这里的参数指 B 转化问题: N 个整数, 按 B 个 一页,求最快找到 N 所在页的算法 算法低效但是参数无关: 二分查找假设 N 个整数本身是有序的,采用方法: 总长 O(N) 所以计算查找次数为 O(logN -logB),因为二分范围降到 B 时直接取出该页 参数无关是因为该算法并不知晓 B 的值,它只是按照标准的二分查找去搜(调用...
Netty note
netty note线程数影响原因Nio影响 Nio 线程数的因素是客户端延时,网络延时,服务端延时。也就是说当客户端建立连接后,因为延迟的原因,没有做出响应回复,建立的连接就会一直被占用,消耗的线程数也就会剧增。 BIOBio 不受客户端网络延时的影响而增线程,它主要受服务端(比如慢sql)会影响到线程数。 Tomcat 阻塞式 IO 模型
(转)Java Debug
Debug 基础知识笔记 (一)JDK 1.4.x: -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 JDK5-8: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 JDK9 or later: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 远程 debug 的机理大致猜一下应该也就是客户端和远程虚拟机建...
Sql Optimization
Sql 优化笔记大批量插入数据优化 导入的数据按照主键的顺序保存 导入数据前执行SET UNIQUE_CHECKS=0,关闭唯一性校验,带导入之后再打开设置为1:校验会消耗时间,在数据量大的情况下需要考虑。 导入前设置SET AUTOCOMMIT=0,关闭自动提交,导入后结束再设置为1 尽量使用多个值表的 INSERT 语句,这种方式将大大缩减客户端与数据库之间的连接、关闭等消耗。 如果在不同客户端插入很多行,可使用INSERT DELAYED语句得到更高的速度,DELLAYED含义是让INSERT语句马上执行,其实数据都被放在内存的队列中。并没有真正写入磁盘。LOW_PRIOR...
(转) RabbitMq 笔记
RabbitMq 基础整理参考链接芋道源码 csdn 概念介绍Message acknowledgment不存在timeout概念,一个消费者处理消息时间再长也不会导致该消息被发送给其他消费者,除非它的RabbitMQ连接断开引发问题:忘记回执,消费者重启后会重复消费这些消息并重复执行业务逻辑 Queue多个消费者可以订阅同一个Queue,这时Queue中的消息会被平均分摊给多个消费者进行处理,而不是每个消费者都收到所有的消息并处理。 Exchangerouting key设定的长度限制为255 bytes 在绑定(Binding)Exchange与Queue的同时,一般会指定一个bin...
(译) Git Myers diff 笔记
Git Myers diff 笔记参考文章链接: Myers diff paper Myers diff algorithm blog Diff Usage: 尚未提交时可以检查 单个commit 节点的变更 merge 前比较两个分支的不同 可选择性地打 patch: merge 时通常会使用两个及以上的变更历史(往往是针对同一文件)进行调和来生成新的 tree (git的Bolb 和 tree 对象),这就意味着可以有选择地对change进行应用变更,而不是直接拷整个文件。并且因为这点,很多版本系统都采用了非快照而是存 变更 地方式。 GIst阐述该算法使用的基本模型,并实现一个简...
Spring Boot Remote debug on K8s
Basic Setting Append -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 to your JAVA_TOOL_OPTIONS enviroment variables. Set your contaier mapping policy as node port and mapping your container port 5005 to any host port. redeploy your app workload. new idea remote run config...
如何写一个简易的爬虫
如何写一个简易的爬虫基本概念有言在先本文只是新手文,望各位指正 本文图片之类链接打不开,可直接科学上网走外链,参考 原博文 啥是爬虫按一定规则,遵循协议实现的请求模拟接口。 学会爬虫的好处 了解一些法律常识 吃牢饭 学习 web 相关的基础知识 推荐阅读robots 协议 Requests 官网文档 大才哥的 Blog Scrapy 官网文档 基础12with open('/usr/bin/ls', 'w') as f: f.write(parse(request.get("http://api.com?id=1' or 1='1))) 上面是一个基础爬虫的所有内容,包括了...
如何写一个简易的chrome插件
如何写一个简易的chrome插件推荐阅读https://developer.chrome.com/extensions/getstarted 推荐阅读官方文档,本文只做简单的演示。 本文图片之类链接打不开,可直接科学上网走外链,参考 原博文 概念介绍基本配置 manifest.json 可以类比 AndroidManifest,几乎所有的项目都会有一个主配置文件,用来配置全局的基本信息和属性来保证系统的基本启动运行,该文件为 chrome plugin 主配置文件。基于浏览器插件考虑所占体积这个特性,几乎所有关键的配置属性信息都可以在此找到,除了名称,版本等必要的信息,尤为值得关注...
avatar
ReZero
大屁水饺的理想国.