【译】Phinx的介绍与安装-Phinx教程(1)

【译】Phinx的介绍与安装-Phinx教程(1)

2年前 (2015-08-24) 浏览: 355 评论: 0

本文由极客人原创翻译自:http://phinx.readthedocs.org,不周之处,敬请指正;系列文章请访问王柏元的博客Phinx标签页或者用极客搜搜索:Phinx 获取所有文章目录   介绍 一个训练有素的开发者,善于使用SCM系统(Software configuration management :软件配置管理)对其程序代码进行版本控制;那么,为什么他们不使用相同的方式对数据库进行版本控制呢? Phinx允许开发者一种清晰、简洁的方式来修改和操作数据库,依托Phinx提供了一个强大的API,你无需手工编写SQL,而是使用PHP代码来创建代码迁移。然后开发者可以使用他们喜欢的SCM来进行代码迁移。这使得Phinx代码迁移可以移植于不同数据库系统之间。Phinx会对已经进行过的代码迁移进行跟踪,这样你就可以少担心数据库的状态,而是专注于开发更好的软件。 目标 开发Phinx的目的如下: 在常用数据库厂商之间轻松移植。 与PHP开发框架独立。 安装过程简单。 有一套易于使用的命令行操作。 与其他PHP工具(Phing、PHPUnit))和web框架集成使用。 安装 Phinx需要使用Composer进行安装,Composer 是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。详情可参考Composer官网 注意: Phinx最低支持PHP5.3.2版本。 安装Phinx,仅仅需要使用composer工具即可:执行下面命令进行安装(运行PHP命令需要自行配置好PHP环境变量,在环境变量path中加入PHP安装根目录): 然后运行composer: 在您的项目中创建一个有可写权限的文件夹 migrations来存放迁移文件,然后在您的项目文件夹下执行命令:

使用内存做虚拟磁盘

使用内存做虚拟磁盘

2年前 (2015-08-14) 浏览: 105 评论: 0

电脑内存盘有多大 使用电脑内存当硬盘来使用将极大地提高程序运行、文件读写的速度,为了有一个直观的了解,极客人使用磁盘速度测试软件测试自己的内存盘(大小为1G)和机械硬盘分区(大小为30G),测试效果如下: 对比之下,内存和机械硬盘的速度判若云泥,我就发图不解释。 内存的特点 电脑程序一般存储在磁盘中,运行的时候数据会从磁盘读取、存写在内存中,然后CPU处理内存中的数据。由于CPU处理速度较快,磁盘无法满足这样的速度,所以需要将数据中转到高速度的内存中去。通过CPU反复处理数据必然也要频繁读写内存,内存同时对CPU的数据读写请求给予雷霆万钧的响应。 因此,内存的特点除了高速,还有读写频繁、响应速度快。至于虚拟磁盘怎样制作,可以百度关键词“大内存怎样制作虚拟硬盘”。 怎样充分利用虚拟磁盘(内存盘) 正因为内存具有上述特点,使用内存做虚拟磁盘我们也要把它用在刀刃上。我们不会用虚拟内存存储电影音乐,因为磁盘的速度完全可以满足播放电影音乐的要求(你一般不会发现你把电影保存在本地播放时出现卡顿),同时内存容量小、价格昂贵,用它存电影音乐不太现实。 举电影音乐的例子是说我们不要把读写速度要求不大、大容量的数据放在虚拟硬盘上。那哪些数据对读写速度要求较高且文件体量并不大呢? 1.系统、浏览器及其他应用程序缓存 不管你懂不懂什么是缓存,但如果你经常使用电脑管家类软件清理电脑垃圾,对“系统、浏览器及其他应用程序缓存”这些名词必定不会感到陌生。 缓存一般是系统和应用程序访问最活跃的文件,同时会产生大量的磁盘碎片(不懂自行百度),而且是读写速度要求也很高。所以把缓存放在内存盘除了提高响应速度,还可以减少对磁盘的伤害。 怎样把缓存放在虚拟磁盘,你可以百度“怎样修改浏览器缓存目录”、“怎样修改XX软件的缓存文件存放位置” 2.临时文件 临时文件会带来较多的磁盘碎片,较多的磁盘碎片对磁盘有一定伤害,修改临时文件目录的方法是修改系统环境变量。将环境变量中temp和TMP对应的值改为虚拟磁盘的地址。 右键计算机-属性-高级系统设置-环境变量。   3.软件开发中的项目文件 程序员在调试编译程序时会调用大量的项目文件,磁盘的速度往往是拖累编译速度的罪魁祸首,在没有使用固态硬盘的时候使用虚拟磁盘存放这些文件将会大幅提高编译速度,但是平时存放不要放在虚拟磁盘里,下面是原因: 4.风险 内存具有数据易失性,如果电脑意外断电虚拟磁盘里的文件可能将会全部丢失,项目文件只可放在里面编译,如果平时存放其内,可能几天的心血因为突如其来的断电归于虚无。 所以你可以看到,除了项目文件,上面的缓存、临时文件往往是你可有可无的文件,意外丢失也无关紧要,就权当帮你清除了一下电脑垃圾。    

SSD8_Ex3【JAVA_RMI】(4)会议数据库建表

SSD8_Ex3【JAVA_RMI】(4)会议数据库建表

2年前 (2015-06-11) 浏览: 199 评论: 0

为了更好管理会议和更好更有效率执行删除、添加、查询等操作,本次SSD8_Ex3【JAVA_RMI】,极客人结合数据库系统知识,决定采用数据库来管理会议。因为这次练习的各个题目都是典型的数据库题,虽然它被放在了网络与分布式计算课程上。 系列文章链接: SSD8_Ex3【JAVA_RMI服务】(1)概述RMI和网络API SSD8_Ex3【JAVA_RMI】(2)远程接口声明 SSD8_Ex3【JAVA_RMI】(3)开启RMI服务 SSD8_Ex3【JAVA_RMI】(4)会议数据库建表 SSD8_Ex3【JAVA_RMI】(5)数据库连接和会议方法定义 SSD8_Ex3【JAVA_RMI】(6)制作命令行导航菜单   会议数据库rmimeeting建表 数据库名:rmimeeting 建表三项:users(用户),meeting(会议),meetingrecord(会议记录) rmimeetingER图 建表语句  

用Navicat制作ER图及与SQL互相转化

用Navicat制作ER图及与SQL互相转化

2年前 (2015-05-21) 浏览: 8076 评论: 0

Navicat极客人在数据库学习过程中用过的个人认为最优秀的一款数据库连接、设计、编辑查询软件。它不仅是极客人用过的数据库软件中界面最美观的一款,也是功能最强大、操作最简单的一款,Navicat分别有for MySQL、for MariaDB、for SQL Server、for SQLite、for Oracle 和 for PostgreSQL等多个单一数据库版本,同时也有Navicat Premium这个综合版本,Navicat Premium 是一个可多重连接的数据库管理工具,它可让你以单一程序同时连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库,支持大部分在现今数据库管理系统中使用的功能,包括存储过程、事件、触发器、函数、视图等,同时可以在这款软件中为数据库添加用户、设置权限。 极客人使用Navicat除了以上常见功能外,还会使用navicat进行数据库数据备份、同步,将王柏元的博客上虚拟机数据库的数据备份、同步到本地,或者用navicat进行网站搬家。本人主要介绍怎样用Navicat制作ER图及与SQL互相转化:将数据库表导出成ER图和将ER图导出为SQL语句(这个功能也是极客人无意发现的,刚刚学习,欢迎共同交流!)。 一、用Navicat制作ER图   分别打开navicat的“模型”——“新建模型”   二、将ER图导出为SQL语句 如图 打开工具——导出SQL 这样只要设计出ER图,所有的建表语句,包括主键、外键关系,Navicat将自动为我们生成。 三、将现成的数据库转换为ER图 选中已连接的数据库中 数据表——右键,选择“逆向数据库到模型”,即可根据现成的数据库生成ER图模型。  

被.ytlqpo.com恶意镜像的解决、反制措施

被.ytlqpo.com恶意镜像的解决、反制措施

2年前 (2015-05-19) 浏览: 1003 评论: 19

前天在百度搜索王柏元的博客网站关键词时,猛地在百度结果的第一页中发现了一个标题、简介和我完全一样的网站,不看不知道,这个网站还不是传统意义上的抄袭、盗链,不仅仅把我的网站全部照搬,而且把网页里所有的链接都置换成那个镜像网站地址的。 我这才知道:我的网站被人家恶意镜像了。 和一般的镜像不太一样,这个镜像网站不仅仅是针对我一个网站,而是自动镜像。主要表现为: ①我的网址:http://wangbaiyuan.cn;镜像网址就是:wangbaiyuan.ytlqpo.com。另外一个网站网址:http://weixin.wangbaiyuan.cn,镜像网址就是weixinwangbaiyuan.ytlqpo.com经过本人测试:把你的网站网址去掉主机记录和顶级域名,加上.ytlqpo.com,就知道你自己有没有被镜像! ②为镜像网站里所有链接添加镜像,比如我的网站里有个友情链接:http://www.zhiyanblog.com,这个友情链接就会置换成:zhiyanblog.ytlqpo.com. 一、经过本人测试中招的大网站有: 360. ytlqpo.com 镜像360网站 sogou. ytlqpo.com 镜像搜狗搜索 qq. ytlqpo.com 镜像qq官网 net. ytlqpo.com 镜像万网官网 haosou. ytlqpo.com 镜像好搜网站 不过恭喜百度搜索主页神奇地幸免了 二、测试的站长朋友网站被镜像的有: zhiyan blog.ytl qpo.com 镜像http://www.zhiyanblog.com nai ba.ytlqpo.com 镜像naiba.im wangb aiyuan .ytlqpo.com 镜像http://wangbaiyuan.cn 三、恶意镜像很危险 恶意镜像由于照搬了源站的所有内容,如果你的网站权重不够高就苦逼了,百度如果分不清哪个源站,难保把你当抄袭,如果你的权重干不过人家的话。不管你的权重高不高,被恶意镜像的网站无疑会削弱你的权重,因为百度蜘蛛发现了大量和你网站一模一样的内容。虽然网上有很多恶意镜像的解决办法,但是我感觉我这次遇到的情况和网上的都不太一样,使用网上许多方法都不奏效。 四、解决与反制措施 在尝试多种方法无效后,我想到了一个权宜之计:禁止恶意镜像网站的访问IP,之所以说是权宜之计,因为难保它的IP会变,还有这个IP不是镜像网址的解析IP 因为多次尝试解决问题过程中,我发现这个恶意镜像的网站的原理大概是:别人访问abc.ytlqpo.com 的时候,它会访问一下(www)abc.com(cn\net\cc\xyz\wang),然后把访问的结果修改一下链接返回给你。所以,它必须有一个访问源站的过程。于是乎解决方案就是禁止这个访问IP. 在搜寻海量的网站日志没有确认这个IP后,我写了一个PHP文件来截获这个访问IP。 1.截获IP 将上述文件命名为“ip.php”放在网站根目录,然后我通过镜像网站网址访问wangbaiyuan.ytlqpo.com/ip.php,然后在上述PHP程序生成的ip.txt中获取了这个IP: 104.194.16.230 (美国) 2.屏蔽IP 在htaccess中添加下述代码: 对于htaccess屏蔽IP的方法,我的之前一篇文章有详细介绍:htaccess屏蔽ip访问。 当你再次用镜像网址访问你的网站的时候就会报403错误了,现在百度即使收录了这个网址对你的网站也不会产生任何影响. 3.反制措施 为了给这个镜像网站小小的“反击”,我决定把这个403错误页面设置为其他网站网址,实现方法是在屏蔽IP的htaccess代码中添加: 这样你访问你的镜像网址时,会发现它镜像的是其实百度新闻。(不知道百度蜘蛛发现一个网站在完全抄袭自己家的东西会是什么感觉) 演示效果: wangb aiyuan .ytlqpo.com(为了不给这个网址做传递权重和宣传,防止产生链接效果,请自行复制此链接去掉空格在浏览器中打开) 当然你写可以根据个人需求让你的镜像网址转向镜像其他的网站,比如: 借助它Fanqiang!

JAVA(安卓)接入图灵机器人

JAVA(安卓)接入图灵机器人

2年前 (2015-05-18) 浏览: 242 评论: 0

图灵机器人是极客人在一个公众号使用过程中发现的,它是一款人工智能的免费开放的API,可以对用户输入的问题(天气、问候、查火车票、看新闻、讲笑话等等)进行人性化的回复,然后我将其引入到了自己的微信公众号。在学习安卓开发过程中,我就想到将其加到java中,下面是我实现的无界面控制台代码。如果你对图灵机器人感兴趣,不妨关注我的公众号。 JAVA(安卓)接入图灵机器人代码 上面的代码需要引入json.jar包,因为图灵机器人返回的是个json格式字符串,需要用户自己做json解析。对于json解析的方法,我的前面一片转载文章又详细介绍:解析json数据,你在申请图灵机器人的API后,将 这句代码中的"yourapikey"换成你自己的。 测试效果:

notepad++的高级功能:编译java、C++

notepad++的高级功能:编译java、C++

2年前 (2015-05-17) 浏览: 633 评论: 2

Notepad++是极客人非常喜欢的一款电脑客户端的编辑器,它的安装包只有7.9M,但是功能却十分强大,界面简单、启动速度快,用它替代系统的“记事本”是个不错的选择。极客人常用的功能有查找替换(支持正则表达式)、文件转编码,同时它的代码高亮、代码折叠也十分实用,还可以根据你自己的爱好改变代码高亮的风格主题。同时它具有插件扩展功能,安装插件使它具有无限可能。 Notepad++支持的文件类型有: C、C++、Java、C#、XML、HTML、PHP、CSS、makefile、ASCII艺术(.nfo)、doxygen、ini文件、批处理文件、Javascript、ASP、VB、VBS、SQL、Objective-C 、Pascal、Perl、Python、LuaTeX、TCL汇编言、Ruby、Lisp、Scheme、Properties、DiffSmalltalk。 除了强大的编辑能力外,其实我们也可以直接在Notepad++里直接编译运行java、C++代码,这样我们不至于写一个简单的“hello world”也要新建一个eclipse项目,它可以直接编译单个的java文件,和C一样;编辑html的时候也不用打开启动速度极慢的dreamweaver了。虽然它没有专业的编程工那样具有强大的调试功能,但作为轻量级的编程工具还是十分不错的。 1.下载安装NppExec插件 分别打开插件——pluginManeger菜单,点击“Show Plugin Manager”打开Notepad++的插件管理:   在available选项卡中找到“NppExec”选择安装,重启notepad++。 2.按F6编译并运行java文件 notepad++本身并不具备编译功能,而是调用已注册为系统环境变量的JDK工具的编译功能,其实eclipse这些软件也是这样,它们只是编辑器。编译的快捷键是F6 第一次编译的时候,我们需要设置一下编译命令,下面是无参数、无jar引用的java文件编译命令   然后保存为:“java编译”,以后直接选择它作为模板编译。 3、带参数、带jar引用的java文件编译命令 不知道细心的朋友有没有发现,上面的编译命令和命令指示符里编译运行的命令是一样的,所有懂得命令指示符编译的朋友可以自己修改编译命令,编译C++的原理也是一样。 下面是带参数、带jar引用的java文件编译命令: 在上面的编译命令中,我在-cpp(classpath)参数"$(CURRENT_DIRECTORY)"后面添加了“;$(CURRENT_DIRECTORY)/json.jar”,这表示我引用了当前文件夹下“json.jar”这个外部jar引用. 实例展示:   文件路径关系:  

看了prezi你才会知道PPT有多弱

看了prezi你才会知道PPT有多弱

3年前 (2015-04-24) 浏览: 136 评论: 0

概括的来说,prezi是一款在线的演讲文稿生成软件。最大的优点可以用几个词概括:缩放,旋转,无边界,在线编辑,实时保存,简单易用,当然还有免费。 除了做演示文稿之外,还可以用来做笔记及思维导图(辅助记忆的工具)等等。缩放可以用来使观众的注意力集中到整体到局部,并且做出电影镜头的效果。旋转可以让观众感受画面的跳跃感,使演讲生动有趣。无边界是相较Powerpoint而言的,所以输入内容的时候再也不必担心会超出边框。在线编辑使多个用户可以在同一个prezi上进行创作(和现在其他的云端软件相似)。在线的实时保存让你不必担心资料丢失。简单易用,相对于Powerpoint来说,Prezi更加简单,大部分人都可以在一小时内学会基本的操作。拖拽移动物体方便,不需要借助文本框(当然输入的时候还是需要的) 今天极客人下载了prezi并使用了一下,被prezi强大的演示功能所震撼。使用prezi做的演示文稿,如同进入一幅画,欣赏它如同身临一个场景,在立体的空间中展示自己的内容,上面是我的演示效果。    

wordpress怎样写robots.txt利于SEO优化

wordpress怎样写robots.txt利于SEO优化

3年前 (2015-04-19) 浏览: 150 评论: 0

一般来说,我们希望搜索蜘蛛光顾我们的网站越多越好,我相信每个新手站长都会是站长工具的常客,一大早起来就是关注自己网站的收录量.收录量的增长是一张晴雨表,升则忧、降则喜,我想告诉广大的站长朋友这完全没有必要,收录量不是目的,我觉得我们关注的重点应该是怎样让自己的网站拥有更多的百度搜索流量。 robots.txt是搜索引擎爬行网站的控制文件,按照一定的语法告诉搜索引擎哪些网页能爬,哪些不能爬,对于robots.txtd的介绍和书写语法,你可以参考这篇博文:网络蜘蛛访问控制文件robot.txt的写法 。 可能你想说,收录量不是越多越好吗? 其实不然,网站的网页不是收录越多越好,大家都知道搜索引擎比较网络上的网页相似度(相似度太高的两个页面会分散权重)的时候,不仅仅会进行不同网站间的纵向比较,而且会进行同一网站不同页面间的比较,所以,比如对于个人博客的作者归档和首页,页面内容差不多一样,我们完全可以屏蔽蜘蛛访问作者归档的页面。下面我来详细地介绍一下wordpress怎样写robots.txt利于SEO优化。 wordpress怎样写robots.txt利于SEO优化   一、屏蔽没有必要收录的一些链接 1、屏蔽捉取站内搜索结果 Disallow: ?s=* 这个就不用解释了,屏蔽捉取站内搜索结果。站内没出现这些链接不代表站外没有,如果收录了会造成和TAG等页面的内容相近。 2、屏蔽spider捉取程序文件 Disallow: /wp-*/ 屏蔽spider捉取程序文件,wp-*表示wp-admin,wp-include等文件夹都不让搜索蜘蛛爬行,这节约了搜索引擎蜘蛛资源。 3、屏蔽feed Disallow: /feed/*  Disallow: /*/*/feed/* Disallow: /*/*/*/feed/* 头部代码里的feed链接主要是提示浏览器用户可以订阅本站,而一般的站点都有RSS输出和网站地图,故屏蔽搜索引擎抓取这些链接,相当有必要,应为feed里面的内容基本就是你文章内容的重复,相同内容会让百度降低单页面权重,同时这也节约蜘蛛资源和服务器的压力。 4、屏蔽捉取留言信息链接 Disallow:/*?replytocom* Disallow: /comments/ Disallow: /*/comments/ 屏蔽留言信息链接。需要指出的是,屏蔽留言信息链接不是说不让蜘蛛收录你文章的评论页面,而是这样的链接打开后,整个页面就只有一个评论,完全没有被收录的必要,同时也节约蜘蛛资源,故屏蔽之。 5、屏蔽其他的一些链接,避免造成重复内容和隐私问题 Disallow: /date/   Disallow: /author/   Disallow: /category/   Disallow: /?p=*&preview=true   Disallow: /?page_id=*&preview=true   Disallow: /wp-login.php 这些屏蔽规则你可以根据自己的需求决定是否创建,屏蔽data、author、category等页面都是为了避免太多重复内容, 6、Disallow: /?p=* 屏蔽捉取短链接。默认头部里的短链接,百度等搜索引擎蜘蛛会试图捉取,虽然最终短链接会301重定向到固定链接,但这样依然造成蜘蛛资源的浪费。 7.屏蔽特定格式 Disallow: /*.js$ Disallow: /*.css$ 屏蔽对js、css格式文件的抓取,节约蜘蛛资源,降低服务器压力,你可以根据实际要求是否屏蔽你的图片被抓取。 8.其它不想被抓取的页面 Disallow: /*?connect=* Disallow: /kod/* Disallow: /api/* /*?connect=*:我的博客登录链接 /kod/*:在线文件管理链接 /api/*:我自制的API链接 二、使用robots.txt需要注意的几点地方: 1、有独立User-agent的规则,会排除在通配“*”User agent的规则之外; 2、指令区分大小写,忽略未知指令,下图是本博客的robots.txt文件在Google管理员工具里的测试结果; 3、“#”号后的字符参数会被忽略; 4、可以写入sitemap文件的链接,方便搜索引擎蜘蛛爬行整站内容。 5、每一行代表一个指令,空白和隔行会被忽略; 6、尽量少用Allow指令,因为不同的搜索引擎对不同位置的Allow指令会有不同看待。 上面的这些Disallow指令都不是强制要求的,可以按需写入。也建议站点开通百度站长工具,检查站点的robots.txt是否规范。 三、百度站长工具robots.txt工具的使用方法 百度站长工具robots.txt工具网址:http://zhanzhang.baidu.com/robots/index     检测并更新:在文本框里输入网站点击检测并更新,百度将抓取你的robots.txt文件,如果你近期robots.txt最近有更新,这将马上通知百度搜索蜘蛛更新它的爬行规则,使你修改后的robots.txt马上生效。 规则校验:你可以提取自己的robots.txt,然后验证一下你的robots.txt语法是否正确,检验你想要禁止蜘蛛爬行的网址是否能有效屏蔽; 创建生成:根据你的需求,傻瓜式地生成robots.txt,对于站长小白不妨一试。 附录 王柏元的博客robots.txt分享如下:  

怎样在手机中管理、收发公众号消息

怎样在手机中管理、收发公众号消息

3年前 (2015-04-17) 浏览: 971 评论: 0

极客人最近为王柏元的博客制作了自己的微信公众号,这个公众号旨在将移动终端用户在手机上的所有操作,化繁为简,集中在一个微信公众号里,免去用户安装过多移动APP,比如天气查询、查询单词、百科、图片搜索、火车飞机票的查询,这里极客人就不赘述了,感兴趣的朋友可以访问:http://weixin.wangbaiyuan.cn扫码关注一下我的公众号——“极客中心”;虽然微信一直专注于移动终端上(比如电脑上登录必须手机扫码,移动端登录必须手机短信验证,都可以看出腾讯把微信的终端定位是放在移动终端上的),但是目前腾讯却不能为公众号管理者提供能在手机上管理公众号的平台。在手机浏览器访问电脑网页,然后在网页上管理图文消息、收发粉丝信息,这的确有点鸡肋。 相信很多公众号管理者都和我有同样的苦恼,在此,我向大家介绍一下怎样在手机上管理、收发公众号消息: 手机端管理公众号、收发粉丝私信 微信虽然没有为用户提供良好移动端管理环境,但是第三方的微信管理平台早已坐不住了。所以官方没有,我们不妨使用第三方平台管理。在此向大家介绍一款手机管理公众号APP:公众平台助手。大家可以在各大移动商店搜索下载。 这款APP是第三方开发,虽然有安全认证,但是不是腾讯的亲儿子,有没有后门不得而知,大家可酌而后行之。 这是消息列表:   这是用户管理:   当然还可以修改备注、发消息,这里极客人就不做赘述了,大家一用便知; 不过公众平台助手不提供群发图文的功能,所以接下来的经验就是解决这一问题的。 微信关注“公众号安全助手”,手机随时随地群发公众号消息 怎么关注公众号就不用我多说了,公众号安全助手是微信官方的公众号,使用起来安全也很方便,你需要为自己的公众号绑定管理员微信号,然后这个管理员微信号给“公众号安全助手”的所有消息,都会方便地群发给订阅用户。   更多IT经验、公众号运营经验,请访问:http://weixin.wangbaiyuan.cn扫码关注一下我的公众号——“极客中心”。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册