使用git中的rebase简化commit提交历史

Git作为“现代”开发中不可获取的一部分,平时的最常用的几个命令是 init clone push pull origin。但Git包含的功能却远远不止这些。说起命令,就想起之前面试官提到了rebase,然后就尝试了一下rebase这个命令,最后发现这完全是强迫症的福利。只要平时的开发流里再多几个简单操作,世界就能变得很美好,而且有了IDE的加持,用起来更加简单便捷了。然后,虽然这个前言感觉很唐突,天道好轮回,技术债也是要还的。

阅读更多

魔法の筆 呪文で絵描くよ 君も描こう!

好久没更新博客了,今天趁着月末就再来水一篇吧。 起因原来是太鼓达人 前十几天刷微博的时候发现一个有意思的歌曲,就是歌曲的歌词其实是一个程序,有人还把这首歌的歌词听写出来,然后跑起来了。

阅读更多

记一次简单的域名解析找回操作

前段时间搞了点东西,想放到自己的域名上。很自然的在域名解析里配置了将域名解析到自己服务器上,结果过了一段时间发现,域名被解析到一个**彩网站上面去了。以为自己搞错了解析,再三确认了配置没有错误。然后开始了解析错误查找之旅。 首先确认了解析有没有过来,使用了站长工具Ping检测测试了域名的连通情况,发现国内的解析都指向了一个IP地址,国外的解析都是正常的。而直接访问这个IP地址,就是那个什么什么的网站。

阅读更多

优化SQL查询时候的性能

最近是特殊时期,都在强调系统性能的优化。在师傅的指导下,对系统中一个比较费劲的功能进行了优化。师傅的理念是: 能用SQL解决的问题绝不用程序处理 。在实际场景下,通过优化,将3分钟无法完成的业务优化到了1分钟以内。虽然没有优化到极致,但对SQL查询性能的了解前进了一大步,于是稍微记录一下。

阅读更多

自定义域名在Github Pages中支持通过HTTPS访问

最近Github官方博客上已经宣布自定义域名也支持通过HTTPS进行访问。之前也没想过要弄个HTTPS,借着这个机会就搞一搞HTTPS访问吧。不过都现在了,已经过了尝鲜期了。

阅读更多

一个处理JavaScript日期的时候出现的问题

好久没写博客了,有半年之久了吧。今天就之前遇到的一个bug聊一聊在用JavaScript处理日期的时候出现的一个问题。 代码需要获取startDate和endDate之间的所有间隔的天数,传入的日期格式为 YYYY-MM-DD 。代码的逻辑很明朗,设置开始时间,给开始时间增加天数,与结束时间相比较,直到多于结束时间为止。当时的代码如下:

阅读更多

制作《求生之路2》喷漆

最近比较迷《求生之路2》,不过现在的水平也只能打打普通难度。网上有许多个人的服务器,可以支持多于4人的游戏。游戏人多了就感觉比较有意思了。过程中看到好多人都会往墙上或地上画一些个性的图画(或者不可描述的图片),感觉比较有意思。查了查发现制作喷漆也很简单,于是打算动手制作一个。

阅读更多

深搜&广搜一二三

搜索是一种求解的方法,通常来说就是将所有情况探索一遍,找出其中符合要求的情况作为最后的解。按照生成解的顺序有两种基本的求解顺序:深度优先搜索(Depth-first Search) 和 广度优先搜索(Breadth-first search)。关于这两种搜索方式的基本原理不做过多介绍了,下面只说明个人对这两种搜索方式的一些理解。

阅读更多

用Java实现C++::std中的upper_bound和lower_bound

Cpp的Std标准库中包含了很多算法,以前写Cpp的时候受益于Std库,确实方便了不少,在Java语言下还是要慢慢适应Java语言的方式。 Java没有迭代器指针这个概念,所以很多内容与C++有所不同。Java中有二分的实现,叫做java.util.Arrays.binarySearch()。使用二分的前提是数组必须有序(从小到大)。如果没有排序,那么方法无法确定返回哪个值。对于有序的数组,如果数组中包含多个相同的目标值,方法也无法保证找到的是哪一个。若找到了目标值,方法会返回目标值所在的下标;如果没有找到目标值,则方法会返回一个可以插入该值的位置,以负数表示 -(插入点 - 1) 。

阅读更多

背景《球球大作战》实现要点

很早以前有个游戏叫 agar ,就是类似大球吃小球的游戏。最近国内在手游上也出现了类似的游戏,比较好的有《球球大作战》和《疯狂贪吃蛇》。对于这两款游戏,不是很感冒,不过还是想把其中的一些内容提取出来,做成一个博客背景动画。 从想法到实现花费了大约一天半的时间,具体实现细节可以参考代码,这里只记录一下一些实现难点。

阅读更多