屏蔽macbook内置键盘

  昨天晚上和女友争吵,不小心把水洒在macbook的键盘上了,当时没有及时关机烘干,直接就把本给关上了,导致今天早上起来发现键盘按z左边的shift键失灵,有时候一直重复z键,过了一段时间z键失灵,还有其他几个键也失灵了,网上搜了一下,有可能是排线的原因,找官网修理一下, 估计也得300到1000不等;想想这些维修费用都可以买个键盘了。

id生成

背景

  用户业务数据增长过快,比如文章评论系统,feed流系统,订单系统;数据的存放模型需要从主从的单机单库 演变成 分布式集群数据库; 分库分表的数据查询需用到全局唯一标识的id来查询业务,比如莫个feed的评论数据、推送消息、购物订单、活动优惠劵等等都需要进行唯一ID标识;以便分布式存储(mysql,nosql,newsql)索引(b+tree, LSMtree,inverted index)快速查询;至于数据一致性通过约定规范协议保证(强:类Paxos算法/raft算法,弱: mq) 。

golang学习笔记

刚开始接触golang的时候是在大学时候,当时大概是2010年左右,对这门新语言比较好奇,但是没有深入去了解,只是道听途说这门语言在并发处理上很方便,对于协程这个东西也是第一次听说。自从工作之后,就一直没有接触过这门语言,最近公司想往golang上转,开发新的项目平台,毕竟golang运行效率和开发效率都要比其他语言要简单方便很多(听说c++都快20了)。

更换博客

  博客有段时间一直没有跟新过了,说白了,就是太懒了,或者没有动力去push你去干好这件事情;看着以前的博客,寥寥无几的几篇,质量也不高;早上上班经常看一些公众号文章,有个作者每天坚持写一篇文章,都已经坚持了大半年了,从生活的思考记录,到技术的积累,而且输出的文章质量不错,至少自己读了之后会产生一些共鸣,或者学到一些知识点。

经常听到技术人总结的话:技术是一个积累的过程,从别人那里看到的,和自己去动手实现的是两回事,别人趟过的坑,你再重新踩一次,也许会遇到新的坑,这些踩过之后,把这些知识点和满坑方案记录下来,日积月累,是对以后是有帮助的。

附近POI: geohash原理

问题

  现在吃穿住行的app大都有定位的功能;如何让手机app所在的定位寻找出附近的POI(Point of Interest)呢?至于用户手机是如何获取定位的可以自行Google/Baidu,有时间整理一下。

地图上定位一个地方,通过经度(longitude)和纬度(latitude)来标记,由WGS84规定(为GPS全球定位系统使用而建立的坐标系统);比如地球🌍作为一个球体,纬度是指所在位置的纬线到地心的直线赤道的纬线到地心的直线的夹角,通常北纬为正,南纬为负;经度是指所在位置的经线平面规定的本初子午线平面的夹角,以东为东经,以西为西经,通常东经为正,西经为负;

一个地点的经度一般与它于协调世界时之间的时差相应:每天有24小时,而一个圆圈有360度,因此地球每小时自转15度。因此假如一个人的地方时比协调世界UTC(Coordinated Universal Time)时早3小时的话,那么他在东经45度左右,比如北京是在东经116左右,那时区+8作为中国标准时间CST(China Standard Time)

工具盒子-GNU global

gnu global

源码标记,浏览源码挺好用的工具,轻量级的,简单易用。 gtags类似ctags,但是效率比ctags高,具体比较查看这里(OpenGrok使用相对比较复杂),而且未来支持的语言也比较多。对Linux-2.6.32源码390M的文件进行标签产出289MB的标签文件。

可以通过源码安装就OK wget http://tamacom.com/global/global-6.3.2.tar.gz; tar zxvf global-6.3.2.tar.gz; cd global-6.3.2; ./configure; make && make install

在需要查找的目录下运行gtags,会生成三个文件: GTAGS–定义的函数变量; GRTAGS–引用的函数变量; GPATH–函数变量所在文件的路径。

登泰山

登泰山看日出

会当凌绝顶,一览众山小 – 杜甫《望岳》
平明登日观,举手开云关 – 李白《游泰山》

出发

登泰山,一次突然做出的决定,木有看攻略,木有做啥子准备,备点衣服和一些吃的就走了。为了赶火车,提前下班打卡就从公司出发啦~(ps:哈哈,恰好周五公司发下午茶,多拿了一盒水果,感谢公司福利,~!~)。在南站与老宋汇合后,在车站吃了点晚餐就走了。
而且定火车那天木有直达的列车,买了到济南西,然后转泰安的车票。就这么愉快的出发鸟~~~

出发