
后端学习
-眭-
这个作者很懒,什么都没留下…
展开
-
设计模式-单例模式
最近工作比较少,赶紧抓紧时间给自己充电。 万万不能,现在不充电,到时候关键时刻断电就high了。 正好新买了电脑加机械键盘,coding都要飞起来了。单例模式单例模式用的最多的地方应该是sqlHelpler吧,笼统的来说应该是需要全局唯一的东西,类似于全局变量,但是在面向对象里应该是单例模式,通过一个不可以copy的类来统一管理这些变量,同时依靠着class的访问设置,保证了原创 2016-01-17 15:55:22 · 380 阅读 · 0 评论 -
Php 不重新编译安装openssl 扩展
1。 不编译安装扩展\ 亲测可用2. 重新配置php.ini文件编译的时候忘了指定--with-config-file-path=/usr/local/Php5.6/etc/,现在打开phpinfo,的时候发现:当时这个Loaded Configuration File null ,简直坑爹,这让我怎么扩展我的mysql。。后来知道应该把源码目录里的: php.ini-development原创 2015-12-10 12:06:24 · 1545 阅读 · 0 评论 -
MySql 各类引擎
1. 了解一下Mysql的各种引擎以及优劣 引擎 介绍 优 劣 适用 ISAM ISAM是一个定义明确且历经时间考验的数据表格管理方法 ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源 不支持事务处理,也不能够容错 MYISAM MyISAM是MySQL的ISAM扩展格式和缺省的数据库引擎 提供ISAM里所没有的索引和字段管理的大量功原创 2015-12-03 11:32:52 · 421 阅读 · 0 评论 -
ThinkPHP & jQuery.ajax 登录功能,无法重定向,自动刷新
最近自己搞一个管理系统玩玩,登录模块为了人性化一些,使用ajax,判断用户输入的数据的正确与否。 但是遇见两个问题: 1. 无论登陆成功与否,ajax的success方法执行完毕之后都会隐形刷新一次界面。 2. 登陆成功之后,在后台使用TP的redirect方法重定向无效。1.总是刷新界面。因为当时代码里提交按钮的type=”submit”,结果虽然是使用了onclick事件,通原创 2016-01-05 15:56:50 · 1616 阅读 · 0 评论 -
后端工作流
本地编辑到远程更新,后端的代码让我心碎。 好在最近找到了真正合适的工作流。Created with Raphaël 2.1.0本地编辑代码git commit修改git push 所有的commit远程服务器git pull 拉下来所有更新的代码部署代码原创 2015-12-21 15:50:16 · 929 阅读 · 1 评论 -
js 计算中英文字符串长度
/** * 多字节字符串长度计算 * @param str * @return int * @author sui * @date 2015-12-23 */ function strlen(str) { var len = 0; for (var i = 0; i < str.length; i++原创 2015-12-23 16:51:00 · 840 阅读 · 0 评论 -
Thinkphp源码分析-命名空间自动加载
一.命名空间自动加载 (PHP 5 >= 5.3.0, PHP 7) 什么是命名空间?从广义上来说,命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色。 具体举个例子,文件 foo.txt 可以同时在目录/home/greg 和 /home/other 中存在,但在同一个目录中不原创 2016-01-24 21:25:04 · 2364 阅读 · 0 评论 -
Http session cookie
一、术语session 在我的经验里,session这个词被滥用的程度大概仅次于transaction,更加有趣的是transaction与session在某些语境下的含义是相同的。session,中文经常翻译为会话,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个session。有时候我们可以看到这样的话“在一个浏览器会话期间,…转载 2015-08-21 15:13:42 · 535 阅读 · 0 评论 -
Thinkphp Rbac
一、什么是RBAC 基于角色的访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注。在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色原创 2015-08-25 16:32:22 · 537 阅读 · 0 评论 -
bootstrap 点击图片弹出大图
效果: 在一个table里显示很多的小图,每点击一个图片,显示一张大图。小图的html<td><img height='120px' width='200px' src="{$vo['img']}?imageView2/1/w/200/h/120" onclick="showBigImg('{$vo['img']}')"/></td>图片的url来自TP的模板替换图片的末尾的?imageV原创 2015-12-08 12:37:09 · 36446 阅读 · 5 评论 -
Phpstorm 调试ThinkPHP项目
前一阵子一直在搞TP,但是用phpstorm调试的时候一直有问题。 一开始不懂应该从入口文件开始调试,直到要调试的方法。但是后来发现这么搞的话也不能调试某个我想要调试的controller,都是固定的。因为这种调试方法不能接受外部输入,只是静态的调试。 直到今天才发现,phpstorm的调试功能里还有好多自己没有看到的功能,一个一个试下去,果然发现了一个可以随意指定controller进原创 2016-01-14 10:58:43 · 17410 阅读 · 4 评论 -
重写js 的alert,自定义alert的样式,定时关闭
由于目前的任务要求将js的alert的样式修改,并且要设置延时关闭。 网上查了很多,一个结论是原生的alert是不能修改的,只能绕过去。 我选择的方式是重写alert方法。一、重写alert js代码:window.alert = function(msg){ $("#alertContentId").html(msg); $("#alertModalId").moda原创 2016-02-15 15:07:08 · 9110 阅读 · 2 评论 -
mysql 重置主键
alter table test AUTO_INCREMENT = 1000;原创 2015-12-16 10:56:51 · 862 阅读 · 0 评论 -
Ubuntu 14.04 源码安装mysql-5.6
搜索了好久,怎么安装mysql。 因为坑爹的mysql的源码安装还需要cmake这个步骤。1. 下载源码包wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16.tar.gztar xvf mysql-5.6.16.tar.gzcd mysql-5.6.162. 使用cmake组织源码cmake \-DCMAKE_I原创 2015-12-15 15:09:40 · 1690 阅读 · 1 评论 -
form 表单提交, html中ID, name 的区别
HTML ID和Name属性的区别 可以说几乎每个做过Web开发的人都问过,到底元素的ID和Name有什么区别阿?为什么有了ID还要有Name呢?! 而同样我们也可以得到最classical的答案:ID就像是一个人的身份证号码,而Name就像是他的名字,ID显然是唯一的,而Name是可以重复的。 上周我也遇到了ID和Name的问题,在页面里输入了一个input type=”h转载 2015-09-19 15:12:10 · 1926 阅读 · 0 评论 -
HTTP 报头字段 以及 返回值
HTTP请求模型一、连接至Web服务器一个客户端应用(如Web浏览器)打开到Web服务器的HTTP端口的一个套接字(缺省为80)。例如:http://www.myweb.com:8080/index.html在Java中,这将等同于代码:Soceet socket=new Socket("www.myweb.com",8080);InputStream in=socke转载 2015-08-18 12:04:10 · 1299 阅读 · 0 评论 -
OAuth 的机制原理
本想前段时间就把自己通过QQ OAuth1.0、OAuth2.0协议进行验证而实现QQ登录的心得及Demo实例分享给大家,可一直很忙,今天抽点时间说下OAuth1.0协议原理,及讲解下QQ对于Oauth1.0的认证开发。闲话多说了点,下面直接进入主题。 1、OAuth的简述 OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全、开放及简单转载 2015-08-20 10:41:10 · 390 阅读 · 0 评论 -
Redis 缓存与 mysql 数据库
redis+mysql和内存+硬盘类似的地方首先看图:首先,我们知道,mysql是持久化存储,存放在磁盘里面,检索的话,会涉及到一定的IO,为了解决这个瓶颈,于是出现了缓存,比如现在用的最多的 memcached(简称mc)。首先,用户访问mc,如果未命中,就去访问mysql,之后像内存和硬盘一样,把数据复制到mc一部分。redis和mc都是缓存,并且都是驻留在内存转载 2015-08-21 15:05:53 · 920 阅读 · 0 评论 -
导出数据库数据
1、select * from table into outfile “/tmp/xxx.txt”mysql登录的时候也有权限之分,如果权限不够,那么就导出不了、原创 2015-10-14 16:20:06 · 349 阅读 · 0 评论 -
jpg png gif 图片的区别
目前网站图片的采用一共有流行三种,分别是JPG、PNG、GIF,然而很多人并不知道三者在选择的时候究竟应该选谁(BMP就不考虑了吧)。虽然都可以存储图片,但是如果要发布到网上,就必须考虑速度、大小和失真程度的问题。如果你运用得好,选对图片,那样便会使网站的整体体验上升,如果你运用得不好,就会引起反效果。下面我通过文件大小等多方面的元素来讲一下网站图片的合理选择。指引 / 跳至转载 2015-10-21 20:08:12 · 1121 阅读 · 0 评论 -
数据库重复数据
查询有重复数据的记录select * from F group by a,b,c,d having count(*)>1删除重复一模一样的记录,只保留一条记录select distinct * into #Tmp from tableNamedrop table tableNameselect * into tableName from #Tmpdrop table #TmpSQL删除重复数据转载 2015-10-09 19:26:53 · 334 阅读 · 0 评论 -
Crontab 定时任务
前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。一、crond简介crond是linux下用来周期性的执转载 2015-10-10 10:39:51 · 385 阅读 · 0 评论 -
Linux find
find一些常用参数的一些常用实例和一些具体用法和注意事项。1.使用name选项:文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用。 可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来。 不管当前路径是什么,如果想要在自己的根目录HOME中查找文件名符合∗.log的文件,使用 作为′pathname′参数,波浪号 代表了你的HOME中查找文件名符合*转载 2015-10-10 11:40:38 · 651 阅读 · 0 评论 -
js 比较日期
比较两个 2015-9-21 2015-10-12 日期的时间。一开始想着写代码,不过发现挺麻烦的,不能纯粹的比较各个参数,后来发现可以用这个参数去初始化js的Date对象,通过Date对象的getTime转换成unix时间戳在进行比较。然后有几个坑。1、网上查资料有人说必须得按照2015-09-02,这种格式。月份和日期有0填充。折腾了一会填充0,后来发现完全用不到。。(可能原创 2015-09-22 17:14:05 · 354 阅读 · 0 评论 -
php踩坑
1、从secureCRT的mysql查出来的数据,复制到windows的txt文本,然后写了一个小函数想要下载这些数据对应的url的图片。但是一直不可以,别的创建文件都是没问题的,但是这个url下载就是不可以,期间还出现了%BF%BB%BF… 解决: 因为linux和unix系统的换行符和windows的换行符是不一样的。所以虽然看起来没有换行符,但是其实是有换行符的,原创 2015-11-25 11:43:50 · 658 阅读 · 0 评论 -
Nginx 安装
前言 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。(百度百科- htt转载 2015-12-09 17:53:15 · 551 阅读 · 0 评论 -
bootstrap的pages控件分页获取数据
近期使用了bootstrap的pages控件和ajax来分页获取数据。学习了很多东西,记录下来。引用文件<link href="__PUBLIC__/js/jBootstrapPage-master/jBootsrapPage.css" rel="stylesheet" /><script src="__PUBLIC__/js/jBootstrapPage-master/jBootstrapP原创 2015-11-25 12:16:10 · 2483 阅读 · 0 评论 -
设计模式-简单工厂模式
一、为什么要用工厂模式用一个简单的场景举例为什么要用工厂模式。 假如我们要开发一个计算器,计算器目前有加减乘除四种运算,目前我们可以在一个函数里用一个switch来判断。 function operate($number1,$number2,$operate){ switch ($operate){ case '+': return $numb原创 2016-02-15 16:28:47 · 585 阅读 · 1 评论