- 博客(80)
- 资源 (9)
- 收藏
- 关注
原创 发布一个Yii2扩展把debug信息存储到MongoDB中
本项目为yii2-debug的扩展,使用MongoDB对debug数据进行存储。如果使用Yii2进行多个应用的开发的话,把debug信息汇聚到一起可以方便查阅。
2024-06-26 17:02:06
402
原创 创建和认识Ruby On Rails控制器
因为 Ruby On Rails 框架是一个约定优先于配置的 MVC 结构的框架,使用约定来代替XML配置文件说明Rails本身完成了大量的底层工作,这意味着使用更少的代码来实现应用程序是极有可能的。此外,代码量的缩减也减小了出现bug的可能性,降低了维护程序和升级程序的难度。必然他的控制器,视图,数据都是分开的,我们将对他们进行分解,逐个了解他们。所以后面使用 Ruby On Rails 框架进行应用开发时,他将有助于帮助我们使用更少的代码实现更健壮的程序。可以使用命令启动服务进行检查。
2024-03-16 19:38:59
695
原创 Ruby On Rails集成Bootstrap的方法
使用Bootstrap进行前端开发可以提高开发效率,减少重复工作,同时保证页面质量和用户体验。所以把 bootstrap 集成到 Ruby On Rails中是一个重要的一步。
2024-03-02 21:25:58
631
原创 记录一下我的Ruby On Rails的systemd服务脚本
自己也是一个 ROR 框架的学习者,同时也是 Ruby 的新手。对于如何让 ROR 应用随系统自动启动并不是很了解。在尝试了各种方法之后,我最终找到了一条可行的途径。虽然不确定是否完全正确,但服务已经成功启动了。因此,我决定在这里保留一份脚本,记录下这个过程。
2024-02-23 10:58:31
819
原创 SM2公私钥及PKCS8格式转换
从国家证书中心申请到的国密证书,在PHP中能正常加载,但是在JAVA中没法使用。原来是需要进行PKCS8转换。
2021-07-26 21:33:14
5173
原创 Yii2单元测试
初识单元测试测试驱动开发(TDD)测试驱动开发是敏捷软件开发的推荐做法。TDD 希望在编写代码之前先编写测试。这些测试提供了必须遵循预期功能的代码。保持测试领先于开发,永远不会有未被测试的代码。编写测试代码的数量和代码和质量是成正比的。例如下面的例子:class UserTest extends \Codeception\Test\Unit{ public function testValidation() { $user = new User();
2021-02-02 14:21:56
959
原创 把Codeception添加到PHPStorm菜单上
把Codeception添加到PHPStorm菜单上菜单的位置:File / Settings / Tools / External Tools单击面板上的 “+” 号键添加一个新的快捷菜单Program: 工具的安装位置,一般情况下是安装在项目根目录下的vendor/bin目录下。所以使用phpstorm的环境变量 $Projectpath$ 定位到工具文件上就好了。$Projectpath$\vendor\bin\codecept.batArguments:命令的参数,此处以Yii
2020-12-21 10:00:13
348
1
原创 设计一个请求接收的思路
有这么一个设计需求:提供一个仅支持POST请求的接口,用于收集提交过来的数据,并实现数据持久化存储。并要求提供对数据的过虑及对不同存储介质提供可扩展,提高代码的可复用性。根据设计模式原则:对修改关闭,对扩展开放。模型中需要引入数据中间件和依赖注入。数据中间件可对数据进行过虑依赖注入可实现对不同介质的存储操作根据以上需求,初步构想得到以下结构模型:// 存储介质接口模型interfac...
2019-06-21 10:15:24
230
转载 排除acme.sh目录不进行https跳转
location /.well-known/acme-challenge/ { try_files $uri /dev/null =404;}return 301 https://$host$request_uri;
2019-06-11 22:06:35
793
原创 HTML5自定义调试跨域请求设置 for PHP
header("Access-Control-Allow-Origin:*"); header('Access-Control-Allow-Methods:POST,GET,DELETE,PATCH,OPTIONS'); header('Access-Control-Allow-Credentials:true'); header('...
2018-07-26 11:03:23
321
原创 让Mac终端保持(SSH)与远程的连接状态
经常性需要联机工作,一开就是好几个终端窗口来回的切换。有的窗口离开时间长了再切回来的时候就无法操作了,随便的敲几下键盘要等一会才有反应说已经断开了ssh连接。
2017-10-30 18:07:00
8692
1
原创 javascript判断页面访问类型进行跳转
收集的网易判断页面浏览器类型的脚本,以备日后的不时之需:<script type="text/javascript"> (function(){ var ua = navigator.userAgent.toLowerCase(), iphone = (ua.match(/iphone/i) == "iphone"),
2017-08-26 10:42:31
956
原创 2016年我所涉足的技术栈大盘点
为移动APP提供数据支持REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:“我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、
2017-02-03 23:45:43
1574
原创 npm镜像使用手记
使用vue进行前端的开发,需要使用webpack进行打包工作。可是npm的资源都在国内,访问进来慢而且不稳定,还有些资源要用VPN才可以获取得到,可是苦了我们这些国内的开发者们。难道就没有什么办法解决了吗?非也,这还要感谢一下国内的镜像站点,让我们可以调整获取到npm上的资源。不废话了,直接上代码npm --registry http://r.cnpmjs.org install webpack个人
2016-11-22 17:32:42
467
原创 编译OpenCV for Python的所需类库
编译OpenCV for Python的所需类库屡次在CentOS 6.4下为Python编译OpenCV都不成功,没有生成支持Python的包。网上找了好久也试了好久,才知道是自己的类库不完整。现在终于试出都需要哪些库的支持了。记录一下以免忘记。yum install cmake gcc gcc-c++ gtk+-devel gimp-devel gimp-devel-tools gimp-hel
2016-08-08 11:01:18
1775
原创 使用sphinx创建搜索引擎(一)----简单索引
朋友让我写一篇关于使用sphinx的教程,想了想我对sphinx的掌握程度,还不足以对他写些什么教程之类的。但,总要写点什么吧!那就从怎么建索引开始好了。建立数据库索引表从最简单的索引开始建立好了(此处省去了sphinx的安装过程)。-- 建立索引表create table sphinx_searchs( id int(10) unsigned auto_increment, key varcha
2015-12-02 16:59:47
5680
原创 自己动手开发简易的Web服务器
使用python实现一个简易版的web服务器,旨在了解web服务器的工作原理,及了解HTTP协议。没有涉及多线程处理,并发之类的内容,以后再专门另外研究。
2015-07-06 21:40:28
1746
原创 密码加密的算法
加密原理:采用不同的加密算法对字符串进行加盐加密处理。用以防止密文被md5字典进行反向暴力破解。采用美国家安全局公布的加密算法(RFC 4357)加密,不采用自己创建的加密算法,以避免有安全漏洞。
2015-07-05 02:34:05
2352
原创 用Python对MySQL同步状态进行监控
使用Python对MySQL数据库服务器是否可访问,及主从同步是否中断进行监控,是一件非常简单的事情。感谢Python给我们带来了如此简单,强大,快捷的开发环境。
2015-04-02 16:21:15
9565
原创 最后一根救命的稻草
由于数据库链接到达设定值的最大上限,新的请求被无情的拒绝,以为只能重新启动数据库才可能登陆并管理。但由于业务原因无法重启服务,万念俱灰的时候 ps -ef 的列表中发现了最后的一根救命的总稻草:screen -dmS mysqld。记得好像是上一回操作数据库时创建的一个管道,因为执行的脚本比较慢,需要放在服务器上执行然后等过后有时间再回来检查执行情况的,所以是已经连接上了数据库的,还没有退出。结果
2015-01-26 17:06:55
1125
原创 学习Python的对象继承
Python是面向对象的语言,以下我对ConfigParaser.ConfigParaser对象的扩展。添加了 get_client 方法,对自定义参数的分解过程。
2014-11-27 14:21:44
1063
原创 数据加密与解密的简单原理
当下网络上频频报道某网站用户密码泄漏,用户数据被黑客下载等等新闻。对用户的敏感数据、私隐没有任何的安全可言。做为开发者我们应该对用户的敏感信息负责,用户的隐私需要进行加密之后再存储,读取需要解密才能正常显示,以增加敏感信息泄漏的难度。不知道加密算法及盐密码,就算数据库被下载也可保护用户数据的相对安全不被别人获取。我设计的加密和解密的算法如下,仅为大家提供一个参考。读者可以自行改进设计出属于自己的加解密算法,以保护用户的数据安全。
2014-11-06 14:22:34
4796
原创 MySQL存储过程:批量为用户授权
编写出这些脚本的需求是把慢查日志写入数据库中,方便查看。1. 由于默认的mysql.slow_log表使用的是csv数据引擎,不支持对数据进行索引,所以需要将其修改为MyISAM引擎,并对query_time字段进行索引以优化查寻效率。2. 需要对所有的用户进行授权,让大家要可通过调用 pub_getSlowQuery( limit ) 存储过程获取一天的慢查记录数据。3. 存储过程命名约定:priv_ 起头的为私有存储过程,不需要对用户授权,以pub_起头的存储过程对所有的会员进行授权,只允许运行,
2014-09-19 12:46:52
3010
1
原创 同一主机开启多个MySQL端口需要注意的设置
[mysqld_multi]mysqld = /usr/local/mysql/bin/mysqld_safemysqladmin = /usr/local/mysql/bin/mysqladminuser = _mysql[mysqld1]user = _mysqlbasedir = /usr/local/mysqldatadi
2014-09-15 22:07:22
2717
原创 SQL Server中调用存储过程发送邮件
EXEC msdb.dbo.sp_send_dbmail @profile_name = N'smtp', /** 发送邮件的配置文件名称 **/ @recipients = @recipients, /** 邮件接收者email地址 **/ @copy_recipients = @copy_recipients, /** 抄送给email地址 **/
2014-09-15 11:42:08
2154
原创 关于缓存的话题
有一个项目,大家都直接使用Yii::app()->memcache->get方法从缓存中获取数据。咋一看,好像没有什么不妥。但是随着项目的扩大,流程越来越复杂,缓存内容的增多,这个方法所带来的隐患就越发明显了。每一次的改版或数据变动,都需要查找一大片的代码进行修改(有可能还会有隐式的组装调用)。哪怕漏掉了一个地方没有更正过来都会造成系统的BUG,甚至是找不到根源的未知错误。面对以上问题,我说说我的改进方案。以下的改进方法仅代表我的个人看法,如果有更好的方法,欢迎大家一起讨论。
2013-11-20 09:15:58
1147
原创 记录我对cygwin的个性化设置
1, 首先是设置命令的别名,新建文件 .aliasesvim .aliases添加内容如下:alias ll="ls -la --color=tty"修改文件 .bash_profile,在尾部添加如下内容:if [ -f "${HOME}/.aliases" ] ; then source "${HOME}/.aliases"fi2
2013-10-19 13:36:38
1203
原创 自定义函数替代file_get_contents获取远程数据
传说中的file_get_contents占用系统资源问题终于也在我们的项目里出现了. 无内容返回时, file_get_contents无法释放资源, 导致服务器经常发生504错误. 所以, 以下的自定义函数就诞生了. /** * 获取URL路径的HTML数据 * @param string $url * @return mixed|string */ fu
2013-10-17 09:56:22
2204
原创 SQLite创建自增值字段表
先放例子再做说明CREATE TABLE tbl_user ( id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, username VARCHAR(128) NOT NULL, password VARCHAR(128) NOT NULL, email VARCHAR(128) NOT NULL);自增值
2013-09-28 13:32:11
1764
原创 关于Linux设置跟随系统启动的服务
将脚本 nginx 复制到 /etc/init.d 目录下,然后执行下面的脚本for CentOSchkconfig nginx onfor Ubuntusudo update-rc.d nginx defaults 99
2013-01-07 00:52:28
1119
原创 使用Yii框架CHtml助手生成城市下拉选择框
在yii框架中CHtml类库主要负责协助我们使用优雅的方法生成HTML代码,例如:下拉选择列表框,完整的代码如下: 北京 上海 天津 武汉以上的结构,如果不使用助手,我们可能会使用以下的方法实现:/** Controller: **/$provices = array( 1 => '北京', 2 => '上海', 3 => '天津', 4 =>
2012-12-28 00:20:39
6459
原创 在PHP中自定义session的存储方式
描述在PHP中可以通过定义session_set_save_handler,将服务器session数据存储在不同的介质上,比如存储在文件里,apc或memcache缓存中,或存储在数据库里。可对统计在线人数,或踢除特定会员的登陆状态等等。自定义session_set_save_handler,基本上就是使用自定义的读写方法覆盖了系统默认的session的读写方法,以实现对session的管
2012-05-23 13:39:19
10037
1
原创 让CentOS下PHP5.3+支持mcrypt
居说红帽子将不再对mcrypt提供支持,导致一些国外的开源PHP项目无法正常工作。其实解决的方法依然很简单。步骤如下:下载同版本PHP的源代码解压PHP源代码后,进入 ext/mcrypt目录自己手工编译 mcrypt 源代码,生成 mcrypt.so修改 /etc/php.ini 文件,添加 mcrypt.so编mcrypt步骤:进入mcrypt目录,执行以下操作ph
2012-05-12 23:42:40
1418
原创 定期自动备份SVN版本并发送致邮箱中
自动定期导出版本库进行备份。对早期比较小巧的版本库比较适用。可以将导出的SVN版本库文件打包后发送到企业邮箱里保存。crontab -e* * * * * 1 /usr/local/bin/svndump > /dev/null 2>&1/usr/local/bin/svndump#!/bin/bash#~ 自动导出版本版库,发送到企业邮箱进行备份t
2012-05-10 23:58:26
1752
原创 把nginx和spawn-fcgi设为随系统自动启动
把 nginx 和 spawn-fcgi 设为随系统自动启动。#!/bin/bash## chkconfig: - 64 36# description: This script take care of starting and stopping the nginx + spawn-fcgi server# processname: nginx + spawn-fcgi# fil
2011-11-25 15:08:17
2449
原创 nginx日记分割脚本
此脚本实现把nginx日志按时期进行分割备份。可以添加到crond内定期执行。#!/bin/bash# backup log file for nginx## author: yagas# msn: yagas60@msn.com# date: 2011/11/25pidfile="/var/run/nginx.pid"logdir="/usr/local/nginx/log
2011-11-25 14:26:16
927
php开发环境套件
2012-01-14
PHP Image 图片处理模块
2009-08-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人