GRC (二)
昨天姑且算是完成了GRC的开发. push这个命令不是很想加,想了一下也没有必要. GRC的0.8.0版本昨天算是发布了, 应该也算是头一次正经的用Rust来开发软件. 在crate.io上看起来有100的安装了. 不知道他们脸上是什么表情 wwww ...
昨天姑且算是完成了GRC的开发. push这个命令不是很想加,想了一下也没有必要. GRC的0.8.0版本昨天算是发布了, 应该也算是头一次正经的用Rust来开发软件. 在crate.io上看起来有100的安装了. 不知道他们脸上是什么表情 wwww ...
ooo! 一个不错的消息. 目前GRC的commit规范的功能已经完全实现了. 之前还说要几个星期, 看来比我想得要快很多 👴勤勉 基本上已经和git-cz有着完全一致的功能. 我也已经把GRC发布在了crates.io网站上. 在crates.io上搜索grc就能看到. 同时我也在v2ex上写了关于GRC的文章. ...
昨天草草的完成了通信协议适配器, 至少能做到自由切换协议, 纵看整个编程模型还是有缺陷, StateMachine的内部结构比我想的要复杂的多, 多个状态实现的切换,以及对一些内部事件的触发. StateMachine模块的密度和其他模块完全不同. 反而RaftKernel存在的意义却减小了. ...
今天开始算是正式编写Sraft这个库, 开发的原因有两个: 我需要通过这次开发来熟悉Raft这个协议.(以后面试或者和人攀谈也更有底气) 我的微服务框架的服务中心需要一个能达成分布式一致性的功能. 语言采用的是Go, 目前的编程模型大概也完成了, 下面我来介绍: ...
目前还是个5月份刚毕业的应届生, 今年还是撞到了疫情这个时间口上, 工作真是相当的难找, 6月到7月的样子, 我去尝试去考驾照, 目前还在科目二这边卡着, 中间有空也是各种找单位去面试. 比较幸运, 我在8月初的时候收到了来自安恒信息的面试通知, 他们是一家上市公司, 规模也不小, 我也是被别人内推才有这个面试资格的, 面试一共三轮, 前两轮技术面试, 最后一轮综合面试, 第一轮技术面试大概就是问了我一些JVM原理, 以及编码思路, 还有一些我比较擅长的分布式存储的问题. 第一轮过的呢也还算惊险. 第二轮是在几天后, 问的内容基本上是一些JDK源码, 数据结构, 还有一些框架问题.我回答的还算是流畅, 也算是过了.可惜,最后一轮面试之前,因为安恒不招收985,211以外的应届生, 所以我被淘汰了. ...
以前一些小白经常问我的问题. Q: 我想自己建立一个网站, 我应该使用什么技术? A: Ruby on Rails. ROR是一款老牌的WEBMVC框架, 到现在有10多年的历史了. 在中国, ROR使用的并不多, 这并不能说明它不优秀, ROR拥有非常多的功能模块, 几乎没有ROR做不到的. 论开发效率,ROR绝对能满足你, Ruby这个语言, 如果你有去学过, 会发现他的语法非常的随意. 自己造一个语法Ruby都能支持, 我认为, Ruby是在所有语言中开发体验最好的语言. 良好的开发体验加上优秀的开发效率, ROR是值得你去使用的. ...
其实很早就想写一篇 iBatis 的源码分析了, 不过有段时间去学习 Go 了, Java 就放下了, 最近 重新捡起 Java 就把以前没填的坑,填一下. Init 现在开始正片. 首先是 iBatis 的初始化工作.我们看下面的代码: 1// `BlogDataSourceFactory`的主要作用: 通过你的配置文件, 初始化一个DataSource 2DataSource dataSource = BlogDataSourceFactory.getBlogDataSource(); 3// JdbcTransactionFactory一个New就能得到, 没什么依赖条件 4TransactionFactory transactionFactory = new JdbcTransactionFactory(); 5// Environment要你交出数据源和事务工厂还有你的环境是开发还是生产 6Environment environment = new Environment("development", transactionFactory, dataSource); 7// Configuration有基本上你所有的配置 8Configuration configuration = new Configuration(environment); 9// 添加你的mapper到配置列表中, 等会我们去分析它 10configuration.addMapper(BlogMapper.class); 11// 通过你的配置类,让我们初始化一个SqlSessionFactory! 我们终于进入正题了!! 12// 可能你觉得很快... 其实本人在这里面分析还是花了很长时间 13SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration); 好, 上文有说configuration.addMapper(BlogMapper.class)这个方法, 现在我们来分析一下它. ...
今天在看Sentinel-golang源码的时候发现sentinel在内部使用了sync.Pool该结构体.看到Sync和Pool的我第一反应想到应该是线程池之类的东西.在实际看过原理之后发现并不是这样的. ...
这篇文章以数据库存储的数据结构来引出本文的重点B树,以及后面还有另一种数据结构B+树. 试想, 如果你想持久化大量的数据在硬盘上, 同时还希望能高效的查询和修改他们, 你会怎么做, 使用哪种数据结构. 数组和链表, 他们的缺点很明显, 我们寻找数据需要遍历整个数据结构, 试想一下你的数据库中有50PB的数据, 这个开销是我们无法接受的. ...
这几天修改了这个Blog的主题, 加载速度应该是更快了, 而且优化了整个项目的自动部署. 取消了双仓库的部署策略, 在部署任务的执行上也用上了异步. 现在每次修改完成后的生成以及部署的速度比以前快了大概40%左右.但是访问Github Page的速度还是一如既往的的满.