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

阅读更多

从零开始捣鼓一个Electron应用——文件读取

今天要实现的一个内容是,选择一个目录,读取目录中的文件,然后把扩展名为 .md 文件的文件名和文件大小列举出来,最后展示在表格中。 本篇技术栈和主要技能

阅读更多

从零开始捣鼓一个Electron应用——界面组件

上一篇捣鼓了一个Electron-vue的脚手架,把Vue的全家桶搭建了一下,也很给面子的跑了起来。接下来就是如何一步一步完成我心中的那个“她”了。 首先先巴拉巴拉自己的技能: Vue用过,了解Vue的MVVM思想,但是Vue2及其全家桶确实第一次用

阅读更多

使用electron-vue搭建脚手架

是的,最近无聊,打算开个新坑,想用Electron做点东西。涉及前端的东西总是有好多选择,也就有好多组合。 使用Electron,可以使用原生的js写,也可以用babel加点新特性什么。听说可以用React,但是被我否决了,没有基础熟悉起来太麻烦。考虑最近用了Vue,决定尝试一些Vue2什么的。

阅读更多