摘要: 1. EXPLAIN 优化你的 SELECT 查询 2. 当只要一行数据时使用 LIMIT 1 3. 为搜索字段建索引 like %最好放右边 4. 尽可能的使用 NOT NULL 5. 在Join表的时候使用相当类型的例,并将其索引 6. 把IP地址存成 UNSIGNED INT 7. 避免 SE 阅读全文
posted @ 2017-07-30 10:10 Parishe 阅读(117) 评论(0) 推荐(0) 编辑
摘要: Node.js停火各大技术论坛都在讨论,前段时间工作太忙没时间学习,趁着周末空闲玩玩,在网上找了些资料发现Node.js本身有windows版和unix版下载和使用都挺方便但是其扩展模块依赖复杂通过手动到网站上下载非常麻烦,所以的NPM介绍都要求在Linux或在windows上通过Cygwin进行安... 阅读全文
posted @ 2015-11-12 13:44 Parishe 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 国外镜像:"repositories": [ {"type": "composer", "url": "http://packagist.phpcomposer.com"}, {"packagist": false} ]常有命令: composer install composer ... 阅读全文
posted @ 2015-11-12 10:25 Parishe 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 ... 阅读全文
posted @ 2015-08-13 10:47 Parishe 阅读(3386) 评论(0) 推荐(0) 编辑
摘要: 内联函数的执行过程与带参数宏定义很相似,但参数的处理不同。带参数的宏定义并不对参数进行运算,而是直接替换;内联函数首先是函数,这就意味着函数的很多性质都适用于内联函数,即内联函数先把参数表达式进行运算求值,然后把表达式的值传递给形式参数。内联函数与带参数宏定义的另一个区别是,内联函数的参数类型和返回... 阅读全文
posted @ 2015-08-13 10:46 Parishe 阅读(8395) 评论(0) 推荐(3) 编辑
摘要: /**** 保证一个类仅有一个实例,并提供一个访问它的全局访问点*/#include #include using namespace std;class Singelton{private: Singelton(){} static Singelton* singel;public: static... 阅读全文
posted @ 2015-08-13 10:44 Parishe 阅读(612) 评论(0) 推荐(0) 编辑
摘要: C++强大的功能来源于其丰富的类库及库函数资源。C++标准库的内容总共在50个标准头文件中定义。在C++开发中,要尽可能地利用标准库完 成。这样做的直接好处包括:(1)成本:已经作为标准提供,何苦再花费时间、人力重新开发呢;(2)质量:标准库的都是经过严格测试的,正确性有保证; (3)效率:关于人的... 阅读全文
posted @ 2015-08-13 10:42 Parishe 阅读(7607) 评论(0) 推荐(0) 编辑
摘要: 数据对齐,是指数据所在的内存地址必须是该数据长度的整数倍。DWORD数据的内存起始地址能被4除尽,WORD数据的内存起始地址能被2除尽。X86CPU能直接访问对齐的数据,当它试图访问一个未对齐的数据时,会在内部进行一系列的调整。这些调整对于程序员来说是透明的,但是会降低运行速度,所以编译器在编译程序... 阅读全文
posted @ 2015-08-13 10:41 Parishe 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 关于全局、static对象/变量的初始化问题1. 全局变量、static变量的初始化时机:main()函数执行之前(或者说main中第一个用户语句执行之前)。2.初始化顺序。1)全局对象、外部static对象a)同一编译单元(同一源文件)中,按照对象/变量的定义顺序初始化。b)不同编译单元,C++标... 阅读全文
posted @ 2015-08-13 10:41 Parishe 阅读(2790) 评论(0) 推荐(0) 编辑
摘要: 二进制、八进制、十进制、十六进制之间转换一、 十进制与二进制之间的转换(1) 十进制转换为二进制,分为整数部分和小数部分① 整数部分方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余... 阅读全文
posted @ 2015-08-13 10:40 Parishe 阅读(640) 评论(0) 推荐(0) 编辑
摘要: 一、编译时与运行时的内存情况1.编译时不分配内存编译时是不分配内存的。此时只是根据声明时的类型进行占位,到以后程序执行时分配内存才会正确。所以声明是给编译器看的,聪明的编译器能根据声明帮你识别错误。2.运行时必分配内存运行时程序是必须调到“内存”的。因为CPU(其中有多个寄存器)只与内存打交道的。程... 阅读全文
posted @ 2015-08-13 10:39 Parishe 阅读(282) 评论(0) 推荐(0) 编辑
摘要: extern "C"的用法解析 http://blog.sina.com.cn/u/494a1ebc010004g5 C++中extern “C”含义深层探索 1.引言 C++语言的创建初衷是“a better C”,但是这并... 阅读全文
posted @ 2015-08-13 10:37 Parishe 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 【C语言的Static inline 函数的作用】【printf打印格式】%x 打印十六进制%d 打印十进制%b 打印二进制%c 打印字符%s 打印字符串%f 打印单精度float%lf 打印双精度double【关于C++中的类型转换】dynamic_cast: 通常在基类和派生类之间转换时使用,把... 阅读全文
posted @ 2015-08-13 10:36 Parishe 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 面向对象的三个基本特征(讲解)面向对象的三个基本特征是:封装、继承、多态。封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承面向对象编程(OOP)语言的一个主... 阅读全文
posted @ 2015-08-13 10:03 Parishe 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 强制转化四种类型可能很多人都常常忽略就象我一样,但是有时还是比较有用的。不了解的建议看看,一些机制我也不是十分了解,只是将一些用法写出来让大家看看。 2004-11-27 9:00强制转化无论从语法还是语意上看,都是c++中最难看的特征之一。但是基于c风格的转化的语义的不明确性及其一些潜在问题。强制... 阅读全文
posted @ 2015-08-13 10:02 Parishe 阅读(648) 评论(0) 推荐(0) 编辑
摘要: memcpy与memmove的目的都是将N个字节的源内存地址的内容拷贝到目标内存地址中。但当源内存和目标内存存在重叠时,memcpy会出现错误,而memmove能正确地实施拷贝,但这也增加了一点点开销。memmove的处理措施:(1)当源内存的首地址等于目标内存的首地址时,不进行任何拷贝(2)当源内... 阅读全文
posted @ 2015-08-13 10:01 Parishe 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 开发1https://developer.apple.com/resources/apple开发者2http://www.appcoda.com/appcode3http://nshipster.com/4http://www.raywenderlich.com/5http://www.objc.i... 阅读全文
posted @ 2015-08-13 09:58 Parishe 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 前言第三方库是现在的程序员离不开的东西 不光是APP开发 基本上所有的商业项目 都会或多或少的使用到第三方库Github上Star>100的开源库数量如下可以看到JS以绝对的优势排名第一 一定程度上也说明了JS在这几年为什么发展得这么迅速 不会点JS都不好意思说自己是码农 不过现在JS圈的造轮子浪潮... 阅读全文
posted @ 2015-07-23 15:15 Parishe 阅读(201) 评论(0) 推荐(0) 编辑
摘要: iPhone 中的线程应用并不是无节制的,官方给出的资料显示iPhone OS下的主线程的堆栈大小是1M,第二个线程开始都是512KB。并且该值不能通过编译器开关或线程API函数来更改。 只有主线程有直接修改UI的能力。一、NSOperation和NSOperationQueue 1、一个继承自... 阅读全文
posted @ 2015-07-22 17:55 Parishe 阅读(122) 评论(0) 推荐(0) 编辑
摘要: //传输数据 1 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 2 manager.responseSerializer = [AFHTTPResponseSerialize... 阅读全文
posted @ 2015-05-13 23:09 Parishe 阅读(2037) 评论(0) 推荐(0) 编辑