SQL 优化分享 还有那大部门 TB

今天例会中,作为新同学,向大家分享了自己在工作中关于SQL优化的分享(长微博)。尽管只是皮毛,但不积跬步无以至千里,不积小流无以成江海。下面给出PPT的内容。分析浅显,大家海涵! ^.PP问题其中,有同学指出:“如果复合索引中的state字段为0的概率大于50%,可以考虑不建立state的索引;否则,反之”。天天T前段时间,我们大部门TB啦!猜猜这是哪里?走到这里才发现,这不是跑男第二季中某一集的场地么。难怪这一路都觉得似曾相识 Read More

PHP 可变变量的运用与 TB 的美食

前景有的时候,在编写PHP脚本时,通常会根据当前的情况,比如,某个参数,来判断我应该调用哪个类,哪个变量等。为了实现,我看到过很多糟糕的代码。if($_param['category'] == self::MAN) $person = new Man();} elseif($_param['category'] == self::WOMAN) $person = new Woman();} elseif(...) {...可见,这些IF ELSE充斥在了代码里,真是不爽。如果运用可变变量呢?$person = new $_param['category']();当然,上述的例子是利用变量名充当类名(这个专业术语是什么?),不过大同小异。通常这种方式应用于一种叫做委托模式的设计中。需求有一个“吃货”数组,里面装满了很多种好吃的。形如$foodie[0] = array('apple'... Read More

抓包工具 tcpdump 的使用说明与官方文档

一直在Linux下开发的人一定会用到tcpdump,下面就是关于tcpdump的使用方法说明tcpdump的选项-a —— 将网络地址和广播地址转变成名字-d —— 将匹配信息包的代码以人们能够理解的汇编格式给出-dd —— 将匹配信息包的代码以c语言程序段的格式给出-ddd —— 将匹配信息包的代码以十进制的形式给出-e —— 在输出行打印出数据链路层的头部信息-f —— 将外部的Internet地址以数字的形式打印出来-l —— 使标准输出变为缓冲行形式-n —— 不把网络地址转换成名字-t —— 在输出的每一行不打印时间戳-v —— 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息-vv —— 输出详细的报文信息-c —— 在收到指定的包的数目后,tcpdump就会停止-F —— 从指定的文件中读取表达式,忽略其它的表达式-i —— 指定监听的网络接口-r —— ... Read More

Git 与 SVN 的使用感受

这是一篇上网一搜一大堆的文章,所以,重在个人感受(不说具体实现,当然现在也不懂!)。工作环境需要,分别接触了Git和SVN版本控制工具。接触不久,尽管这两种工具都不是很熟悉,目前仅能达到满足简单的工作需求(有时还需要查引擎)。但,还是有一些感受以记录。分支(branches)与里程碑(tagsGit的分支和里程碑很有趣和简单,可以快速地在当前工作区切换不同的分支和里程碑。SVN的分支和里程碑本身就是一个目录(拷贝),目录下分别有一个.svn的文件夹以存储版本信息。所以,SVN切换分支很麻烦,需要切换工作区(每一个工作区只对应服务器的某一分支)。而Git却很方便。集中式与分布式这个事情和上面的分支和里程碑是有重叠的地方的。Git采取的是分布式。简单的说就是每台checkout过代码的笔记本上都有着一个完整的代码库。而SVN却是集中式的,只有一个是代码仓库,就是服务器。所以,Git可以本地提交,SVN需联网提交。... Read More

2014 年度回忆与总结 – 创业

2014年,我在上大学(大三下-大四上)。依稀记得确实做了几件事,确实心思发生了比较大的转变。创业“不屑于”当前现状的情况下,我有了创业的想法。创业的项目是一个垂直(自动化)门户网站。就这样,一个同学也认同这个想法,再拉进来一个同学。三个人,开始了我们(其实,就是两个人)的创业之旅。和父母聊了自己的想法;和同学开始计划创业进度;自己开始着手设计并搭建网站;同学开始收集相关资料等等。就这样,开始了。之后,我们有了公司(沈阳晨信网络科技有限公司)。当然,也买了办公桌,在学校附近租了房子。但是,好景不长。由于我们自身的不成熟,只好放弃创业的想法。和同学聊了心里话,退回了房子,我收回了公司的全部股份。各自开始谋求自己的路。这件事,整整持续了6个月有余。最后,懊悔和伤心免不了的。不过,不管怎么说都是好的。我得到了一些不同的想法和态度。做事情要有一个长远的规划和准备。问问自己有什么?缺少什么?谁能弥补缺少的东西?... Read More

MySQL 数据库优化笔记

视频地址:http://www.imooc.com/video/368可以从以下几个方面进行优化硬件系统配置数据表结构SQL语句和索引一般来说,上述方式的实现成本(自上而下)由高到低,而效果(自上而下)由低到高。使用慢查询日志使用系统的慢查询日子来监控有问题的SQL。show variables like 'slow_query_log'set global slow_query_log_file = '/home/mysql/log/slow_query_log.log'set global log_queries_no_using_indexes = onset global long_query_time = 慢查询分析工具pt-query-diges如何发现有问题的SQ查询次数多,且占用时间长的(通常为pt-query-digest分析中前几个SQL);IO大得SQL(注意... Read More

WEB 开发之前端与后端通信解决方案篇

每天都得找点乐子,今天的乐子就是“WEB开发中前端与后端通信的解决办法”。首先,说一下“神圣”的需求。假设,我们面前是一个报名活动的页面。所有的逻辑都发生在这报名按钮上,下面是导图做法一按钮是一个链接,当我们用可爱的手指轻轻抚摸他时。他会告诉浏览器,我是一个链接。之后,浏览器被跳转到一个新的连接上。与此同时,后端会执行当前的逻辑,渲染对应的WEB页面。这种做法很糟糕1、用户体验不好,跳转页面的吞吐量比较高,加大用户的等待时间2、同时,也加大服务器的负担;3、代码冗余度较高,需要写若干个前端页面和后端方法。做法二那么,用 AJAX 来实现前后端的通信(异步)也许是个不错的做法。既然,谈到通信,那么必定要有个标准。那,标准是个什么东西?举个例子(秒懂!哈哈公认的标准脸型不符合标准的脸型所以,你知道。如果程序没有标准,是一件多么令人“恼怒”的事情。需要两个 PHP 类库标准接口namespace Common\Library\Int;... Read More

微信支付 JSAPI 开发中的问题

前言:这篇文章讲的是利用微信官方提供的 JSPAI 接口,实现微信网页支付。希望在看之前,要确认一下几件事情,否则会让您在解决问题是很费解。① 接口文档版本号是 V3.3(在官方提供的 PHP DEMO 中的 README.txt 文件中查看。当然,也可以参考压缩包的名字(wxm-payment-biz-api218f8e.zip,我想官方不会把不同版本的文档压缩成一个名字吧!)来确认版本;② 微信支付 PDF 文档的版本为 V3.3.7(如果上述版本对了,这步应该也是一致的,因为这两个文件是在一个包里);③ 该文章说的是 JSAPI 的开发;今儿是工作的第五个工作日。前两天在调整页面,后两天在调整微信支付功能。今天是周日,工作周的第一天。调了两天的微信支付(JSAPI:调用微信 JSAPI 接口实现微信网页支付功能),经过今天早上的一分钟“努力”解决,感觉很爽。下面说说我在开发微信支付过... Read More