
编程
文章平均质量分 53
凡沙-Fanrncho
独角戏台下,水树桃花尽。
展开
-
简便的批量修改MySQL表的字符集和排序规则
原由:项目中的MySQL数据库、表、字段大部分的排序规则(collation)使用的都是以"_ci"结尾的,“ci”是“case insensitive”的缩写,即“大小写不敏感”,而项目的后台统计需求涉及的字符串等值查询、分组(GROUP BY)、排序(ORDER BY)等都要求需要区分“大小写”、以及“重音字符”,所以需要把所有的数据库、数据库的表、以及数据库的表的存储字符串的相关字段的排序规则统一修改为以“_bin”结尾,也就是区分大小写以及重音。假定: 一:首先,批量修改所有数据库的字符集和排序规则原创 2022-07-14 16:14:39 · 3360 阅读 · 0 评论 -
跳表算法总结
概述跳表是一种多层级索引数据的有序单链表加原始数据层有序单链表的结构。跳表最底层为原始数据有序单链表,各级索引层上节点数量从下往上的分布情况呈指数级递减。理论上log2n - 1层、且从上往下每层的节点数都是上一层的2倍的索引层级结构是使跳表查询效率达到最好情况的设计,但考虑到内存空间的过多消耗问题,所以一般会限制索引的层数,以及新插入的原始数据上升到不同索引层级的概率。特点跳表支持O(logn)级别的时间复杂度的查询、插入、删除操作,以及支持O(nlogn)级别的时间复杂度排序数列。它汲取原创 2020-07-18 15:28:34 · 1096 阅读 · 0 评论 -
O(nlogn)时间复杂度排序(归并、快速排序)算法总结
归并和快速排序都是利用分治的思想来把大问题拆分成一个个子问题,子问题都解决了,大问题也就解决了。归并排序归并排序算法的求解过程可以解释为层层递进式的将数列折半,当数列无法折半的时候(也就是数列内仅剩一个元素)终止递进,数列内仅有一个元素,数列就是有序的,然后回退到上一层等待另一半数列也递进终止回退到这一层,接着合并这两个有序数列,然后再回退到上一层重复逻辑,如此层层合并回退,最终完整的数列达到有序。针对这个逻辑,我们可以写出推导公式:f(n) = m(s...p) + m(p + 1...n).原创 2020-07-10 18:16:39 · 1124 阅读 · 0 评论 -
O(n^2)时间复杂度排序(冒泡、插入、选择)算法总结
冒泡排序、插入排序和选择排序的算法思想可以通过引入“已排序区”和“未排序区”概念来分解逻辑,这三种排序算法从这两个分区的求解思路可以让人更清晰的辨识它们各自的命名缘由,以及不同点。冒泡排序冒泡排序的算法求解思路是每次从未排序区中以相邻元素按照比较关系两两间可能交换位置,每次遍历下来能够找出该区间最小(求降序)或者最大(求升序)的元素,并放置到已排序区有序列入口端。比如要排序如下数值(假定为升序排序):6,5,8,1第一次冒泡遍历前,所有元素都在未排序区,已排序区目前为空,被放入已排序区的元素原创 2020-07-09 17:30:41 · 595 阅读 · 0 评论 -
Cocos creator构建游戏时报错:Build Failed: TypeError: Cannot read property ‘configs’ of null
Cocos creator构建游戏时报错:Build Failed: TypeError: Cannot read property ‘configs’ of null...错误原因是我用版本控制管理工具的使用过程中不小心导致了项目的services.json发生了冲突,所以我直接把项目下的services.json文件删除了,这样重新用cocoscreator打开项目,这个文件会从引擎库里重...原创 2020-03-22 11:51:10 · 54674 阅读 · 0 评论 -
Eclipse打包出现错误:"XXX" is not translated in "af" (Afrikaans), "am" (Amharic), "ar" (Arabic).....
老项目今天尝试重新打包,在选中项目右键 -> Android Tools -> Export Signed Application Package...后突然报错如下:这是因为在Android SDK Tool r19版本后, Android SDK Tool 把ANDROID_LINT_COMPLETE_REGIONS 改成了需要检查。解决方法如下:...原创 2019-11-09 15:42:46 · 503 阅读 · 0 评论 -
quick cocos3.6.5项目安卓打包问题:xxx/quick/lib/quick-src/lua_extensions/lua_extensions_more.o] Error 1
quick cocos3.6.5项目运行build_native.py脚本文件编译libcocos2dlua.so文件时报错:xxx/quick/lib/quick-src/lua_extensions/lua_extensions_more.o] Error 1xxx是quick源码包的路径。例如我的问题具体报道为:D:\quick\Quick-Cocos2dx-Commun...原创 2019-08-14 16:25:52 · 103323 阅读 · 0 评论 -
NodeJS日志中间件log4js的使用封装
根据框架需求,封装了一个日志中间件(log4js)的使用模块,一是留个档,二是分享给有同样需求的群众。首先通过需要通过npm命令安装log4js中间件到项目的工作目录下。然后新建一个文件(例如FLogger.js),在该文件内进行log4js中间件的使用进行封装。代码如下://// Author: Fanrncho// Date: 2019/06/24// Desc: lo...原创 2019-06-25 12:04:33 · 104868 阅读 · 1 评论 -
JavaScript对象拷贝函数实现
JS语言中并没有内置的对象拷贝方法,如果有这方面的需求的话,需要自己实现下。关于对象拷贝方法的设计,我希望可以达到以下几点要求:1. 对象实例内的函数属性仅进行指针拷贝。2. 对象实例内的Array和非Function并且非null的对象属性进行深度全量拷贝。3. 继承被拷贝对象实例内所有符合深度全量拷贝的引用类型属性(包括被拷贝对象实例本身)的原型对象。4. 不考虑含有包装对...原创 2019-05-10 16:39:28 · 103412 阅读 · 0 评论 -
设计代码的经验总结
设计模式虽然好,但也并非任何场景都适合,我觉得在设计代码时只要时刻牢记高内聚、低耦合这两个原则,并在编码中实践,写出来的代码必定不会差。衡量代码优异的标准:拓展性,复用性,维护性;23种设计模式;亦或者面向对象的封装、继承、多态在我看来无非是对高内聚低耦合原则的不同维度的阐述。下面分别阐述个人的一些理解。高内聚低耦合这两个原则都是围绕相互间的关联来定义的,内聚指的是将相互间关系密切的代...原创 2019-01-15 12:34:43 · 103072 阅读 · 0 评论