月度归档:2013年07月

Eclipse快捷键 10个最有用的快捷键

Eclipse中10个最有用的快捷键组合
一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合。通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升。
1. ctrl+shift+r:打开资源
这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*.xml。美中不足的是这组快捷键并非在所有视图下都能用。
【转】eclipse快捷键 10个最有用的快捷键
2. ctrl+o:快速outline
如果想要查看当前类的方法或某个特定方法,但又不想把代码拉上拉下,也不想使用查找功能的话,就用ctrl+o吧。它可以列出当前类中的所有方法及属性,你只需输入你想要查询的方法名,点击enter就能够直接跳转至你想去的位置。
【转】eclipse快捷键 10个最有用的快捷键
3. ctrl+e:快速转换编辑器
这组快捷键将帮助你在打开的编辑器之间浏览。使用ctrl+page down或ctrl+page up可以浏览前后的选项卡,但是在很多文件打开的状态下,ctrl+e会更加有效率。
eclipse快捷键 10个最有用的快捷键
4. ctrl+2,L:为本地变量赋值
开发过程中,我常常先编写方法,如Calendar.getInstance(),然后通过ctrl+2快捷键将方法的计算结果赋值于一个本地变量之上。 这样我节省了输入类名,变量名以及导入声明的时间。Ctrl+F的效果类似,不过效果是把方法的计算结果赋值于类中的域。
5. alt+shift+r:重命名
重命名属性及方法在几年前还是个很麻烦的事,需要大量使用搜索及替换,以至于代码变得零零散散的。今天的Java IDE提供源码处理功能,Eclipse也是一样。现在,变量和方法的重命名变得十分简单,你会习惯于在每次出现更好替代名称的时候都做一次重命名。要使 用这个功能,将鼠标移动至属性名或方法名上,按下alt+shift+r,输入新名称并点击回车。就此完成。如果你重命名的是类中的一个属性,你可以点击alt+shift+r两次,这会呼叫出源码处理对话框,可以实现get及set方法的自动重命名。
6. alt+shift+l以及alt+shift+m:提取本地变量及方法
源码处理还包括从大块的代码中提取变量和方法的功能。比如,要从一个string创建一个常量,那么就选定文本并按下alt+shift+l即可。如果同 一个string在同一类中的别处出现,它会被自动替换。方法提取也是个非常方便的功能。将大方法分解成较小的、充分定义的方法会极大的减少复杂度,并提 升代码的可测试性。
7. shift+enter及ctrl+shift+enter
Shift+enter在当前行之下创建一个空白行,与光标是否在行末无关。Ctrl+shift+enter则在当前行之前插入空白行。
8. Alt+方向键
这也是个节省时间的法宝。这个组合将当前行的内容往上或下移动。在try/catch部分,这个快捷方式尤其好使。
9. ctrl+m
大显示屏幕能够提高工作效率是大家都知道的。Ctrl+m是编辑器窗口最大化的快捷键。
10. ctrl+.及ctrl+1:下一个错误及快速修改
ctrl+.将光标移动至当前文件中的下一个报错处或警告处。这组快捷键我一般与ctrl+1一并使用,即修改建议的快捷键。新版Eclipse的修改建 议做的很不错,可以帮你解决很多问题,如方法中的缺失参数,throw/catch exception,未执行的方法等等。
eclipse快捷键 10个最有用的快捷键
更多快捷键组合可在Eclipse按下ctrl+shift+L查看。
让我们按照使用频率来看看我最爱用的一些热键组合。(注:以下内容在Eclipse3.02及一上版本通过测试)
1. Control-Shift-T: 打开类型(Open type)。如果你不是有意磨洋工,还是忘记通过源码树(source tree)打开的方式吧。用eclipse很容易打开接口的实现类的,按ctrl+t会列出接口的实现类列表
2. Control-Shift-R: 打开资源(不只是用来寻找Java文件)。小提示:利用Navigator视图的黄色双向箭头按钮让你的编辑窗口和导航器相关联。这会让你打开的文件对应显示在导航器的层级结构中,这样便于组织信息。如果这影响了速度,就关掉它。
3. F3: 打开申明(Open declaration)。或者,利用Declaration Tab(在Java视图模式下,选择Windows –> Show View — > Declaration)。当你选中代码中的一个方法,然后按这个按键,它会把整个方法在申明方框里显示出来。
4. Alt-left arrow: 在导航历史记录(Navigation History)中后退。就像Web浏览器的后退按钮一样,在利用F3跳转之后,特别有用。(用来返回原先编译的地方)
5. Alt-right arrow: 导航历史记录中向前。
6. Control-Q: 回到最后一次编辑的地方。这个快捷键也是当你在代码中跳转后用的。特别是当你钻的过深,忘记你最初在做什么的时候。
7. Control-Shift-G: 在workspace中搜索引用(reference)。这 是重构的前提。对于方法,这个热键的作用和F3恰好相反。它使你在方法的栈中,向上找出一个方法的所有调用者。一个与此相关的功能是开启“标记”功能 (occurrence marking) 。选择Windows->Preferences->Java-> Editor-> Mark Occurrences,勾选选项。这时,当你单击一个元素的时候,代码中所有该元素存在的地方都会被高亮显示。我个人只使用“标记本地变量”(Mark Local Variables)。注意:太多的高亮显示会拖慢Eclipse。
8. Control-Shift-F: CodeàJavaàPreferencesà根据代码风格设定重新格式化代码。我 们的团队有统一的代码格式,我们把它放在我们的wiki上。要这么做,我们打开Eclipse,选择Window Style,然后设置Code Formatter,Code Style和Organize Imports。利用导出(Export)功能来生成配置文件。我们把这些配置文件放在wiki上,然后团队里的每个人都导入到自己的Eclipse中。
9. Control-O: 快速概要(quick outline)。通过这个快捷键,你可以迅速的跳到一个方法或者属性,只需要输入名字的头几个字母。
10. Control-/: 对一行注释或取消注释。对于多行也同样适用。
11. Control-Alt-down arrow: 复制高亮显示的一行或多行。
12. Alt-down arrow: 将一行或多行向下移动。Alt-up arrow会向上移动。
其他的热键在菜单里有。你可以通过按下Control-Shift-L(从3.1版本开始), 看到所有快捷键的列表。按下Control-Shift-L两次,会显示热键对话框(Keys Preferences dialog),你可以在这里自己设置热键。我欢迎你在Talkback部分发表你的Eclipse提示。
其他的Eclipse窍门
我总结了几个相关的小窍门:
锁定命令行窗口:在命令行视图中(Window ->Show View ->Other ->Basic ->Console),试试看用滚动锁定按钮来锁定控制台输出不要滚屏。
使用Ant视图: 在我的Java或Debug模式下,我喜欢显示出Ant视图,这样我就可以迅速的运行Ant任务。通过Window Ant可以找到该视图。把Ant视图放在屏幕的一角, 通过“添加编译文件(Addà Other à Show View à Buildfiles)”按钮来添加build.xml文件。在3.1版本中,甚至支持Ant调试脚本语言。
自动遍历一个集合:for + Control-Space: 如果你还不知道,那么你应该记住Control-Space是自动完成功能。在Eclipse中,你还可以自动完成结构。在一个数组或集合范围内,试试看 输入“for”然后按下Control-Space键。Eclipse会问你你想要遍历哪一个集合然后自动完成循环代码。
使用分级布局: 在包浏览视图(Package Explorer view)中默认的布局(扁平式)方式让我困惑,它把包的全名显示在导航树(navigation tree)中。我更喜欢我源码的包和文件系统视图,在Eclipse中叫做分级布局(Hierarchical Layout)。要切换到这种模式,点击包浏览视图中向下的按钮,选择布局(Layout),然后选择分级(Hierarchial)。
一次显示多个文件:你可以一次浏览多个文件。把不在激活状态的编辑窗口拖到激活窗口的底部或侧边的滚动条上,就可以打开该编辑窗口。这是我能描述该窍门的最好方式了。
同时打开两个Eclipse: 要将改动从一个CVS分支上合并到另外一个上,我喜欢通过同时打开两个工作目录(Workspace)不同Eclipse来实现。这样我可以通过比较 CVS上的最新版本看到所有的变化(右键单击工程,然后选择Compare Lastest from HEAD)然后把每一个变化都合并到另外一个CVS分支上。启动多个Eclipse的最简单的方法是利用Eclipseàwith Launcher。
Implementors插件:安装一个能够跳到一个接口的实现的插件。如果你是个dependency injection 粉丝,或者正在基于编写优良的接口工作,那么你需要一个这样的插件来加速代码导航。 你可以在SourceForge找到这个插件。
Ctrl+Alt+H
如果你想知道一个类的方法到底被那些其他的类调用,那么请选中这个方法名,然后按“Ctrl+Alt+H”,
Eclipse就会显示出这个方法被哪些方法调用,最终产生一个调用关系树。
1. Ctrl+左键
这个是大多数人经常用到的,用来查看变量、方法、类的定义
2. Ctrl+O
查看一个类的纲要,列出其方法和成员变量。提示:再多按一次Ctrl+O,可以列出该类继承的方法和变量。
助记:”O”—>”Outline”—>”纲要”
3. Ctrl+T
查看一个类的继承关系树,是自顶向下的,再多按一次Ctrl+T, 会换成自底向上的显示结构。
提示:选中一个方法名,按Ctrl+T,可以查看到有这个同名方法的父类、子类、接口。
助记:”T”——->”Tree”—–>”层次树”
4.Alt+左右方向键
我们经常会遇到看代码时Ctrl+左键,层层跟踪,然后迷失在代码中的情况,这时只需要按“Alt+左方向键
”就可以退回到上次阅读的位置,同理,按“Alt+右方向键”会前进到刚才退回的阅读位置,就像浏览器的
前进和后退按钮一样。
导入包:Ctrl+Shift+O
编辑
作用域 功能 快捷键
全局 查找并替换 Ctrl+F
文本编辑器 查找上一个 Ctrl+Shift+K
文本编辑器 查找下一个 Ctrl+K
全局 撤销 Ctrl+Z
全局 复制 Ctrl+C
全局 恢复上一个选择 Alt+Shift+↓
全局 剪切 Ctrl+X
全局 快速修正 Ctrl1+1
全局 内容辅助 Alt+/
全局 全部选中 Ctrl+A
全局 删除 Delete
全局 上下文信息 Alt+?
Alt+Shift+?
Ctrl+Shift+Space
Java编辑器 显示工具提示描述 F2
Java编辑器 选择封装元素 Alt+Shift+↑
Java编辑器 选择上一个元素 Alt+Shift+←
Java编辑器 选择下一个元素 Alt+Shift+→
文本编辑器 增量查找 Ctrl+J
文本编辑器 增量逆向查找 Ctrl+Shift+J
全局 粘贴 Ctrl+V
全局 重做 Ctrl+Y
查看
作用域 功能 快捷键
全局 放大 Ctrl+=
全局 缩小 Ctrl+-
窗口
作用域 功能 快捷键
全局 激活编辑器 F12
全局 切换编辑器 Ctrl+Shift+W
全局 上一个编辑器 Ctrl+Shift+F6
全局 上一个视图 Ctrl+Shift+F7
全局 上一个透视图 Ctrl+Shift+F8
全局 下一个编辑器 Ctrl+F6
全局 下一个视图 Ctrl+F7
全局 下一个透视图 Ctrl+F8
文本编辑器 显示标尺上下文菜单 Ctrl+W
全局 显示视图菜单 Ctrl+F10
全局 显示系统菜单 Alt+-
导航
作用域 功能 快捷键
Java编辑器 打开结构 Ctrl+F3
全局 打开类型 Ctrl+Shift+T
全局 打开类型层次结构 F4
全局 打开声明 F3
全局 打开外部javadoc Shift+F2
全局 打开资源 Ctrl+Shift+R
全局 后退历史记录 Alt+←
全局 前进历史记录 Alt+→
全局 上一个 Ctrl+,
全局 下一个 Ctrl+.
Java编辑器 显示大纲 Ctrl+O
全局 在层次结构中打开类型 Ctrl+Shift+H
全局 转至匹配的括号 Ctrl+Shift+P
全局 转至上一个编辑位置 Ctrl+Q
Java编辑器 转至上一个成员 Ctrl+Shift+↑
Java编辑器 转至下一个成员 Ctrl+Shift+↓
文本编辑器 转至行 Ctrl+L
搜索
作用域 功能 快捷键
全局 出现在文件中 Ctrl+Shift+U
全局 打开搜索对话框 Ctrl+H
全局 工作区中的声明 Ctrl+G
全局 工作区中的引用 Ctrl+Shift+G
文本编辑
作用域 功能 快捷键
文本编辑器 改写切换 Insert
文本编辑器 上滚行 Ctrl+↑
文本编辑器 下滚行 Ctrl+↓
文件
作用域 功能 快捷键
全局 保存 Ctrl+X
Ctrl+S
全局 打印 Ctrl+P
全局 关闭 Ctrl+F4
全局 全部保存 Ctrl+Shift+S
全局 全部关闭 Ctrl+Shift+F4
全局 属性 Alt+Enter
全局 新建 Ctrl+N
项目
作用域 功能 快捷键
全局 全部构建 Ctrl+B
源代码
作用域 功能 快捷键
Java编辑器 格式化 Ctrl+Shift+F
Java编辑器 取消注释 Ctrl+/
Java编辑器 注释 Ctrl+/
Java编辑器 添加单个import Ctrl+Shift+M
Java编辑器 组织多个import Ctrl+Shift+O
Java编辑器 使用try/catch块来包围 未设置,太常用了,所以在这里列出,建议自己设置。
也可以使用Ctrl+1自动修正。
调试/运行
作用域 功能 快捷键
全局 单步返回 F7
全局 单步跳过 F6
全局 单步跳入 F5
全局 单步跳入选择 Ctrl+F5
全局 调试上次启动 F11
全局 继续 F8
全局 使用过滤器单步执行 Shift+F5
全局 添加/去除断点 Ctrl+Shift+B
全局 显示 Ctrl+D
全局 运行上次启动 Ctrl+F11
全局 运行至行 Ctrl+R
全局 执行 Ctrl+U
重构
作用域 功能 快捷键
全局 撤销重构 Alt+Shift+Z
全局 抽取方法 Alt+Shift+M
全局 抽取局部变量 Alt+Shift+L
全局 内联 Alt+Shift+I
全局 移动 Alt+Shift+V
全局 重命名 Alt+Shift+R
全局 重做 Alt+Shift+Y
(1)Ctrl+M切换窗口的大小
(2)Ctrl+Q跳到最后一次的编辑处
(3)F2当鼠标放在一个标记处出现Tooltip时候按F2则把鼠标移开时Tooltip还会显示即Show Tooltip
Description。
F3跳到声明或定义的地方。
F5单步调试进入函数内部。
F6单步调试不进入函数内部,如果装了金山词霸2006则要把“取词开关”的快捷键改成其他的。
F7由函数内部返回到调用处。
F8一直执行到下一个断点。
(4)Ctrl+Pg~对于XML文件是切换代码和图示窗口
(5)Ctrl+Alt+I看Java文件中变量的相关信息
(6)Ctrl+PgUp对于代码窗口是打开“Show List”下拉框,在此下拉框里显示有最近曾打开的文件
(7)Ctrl+/ 在代码窗口中是这种//~注释。
Ctrl+Shift+/ 在代码窗口中是这种/*~*/注释,在JSP文件窗口中是〈!–~–〉。
(8)Alt+Shift+O(或点击工具栏中的Toggle Mark Occurrences按钮) 当点击某个标记时可使本页面中其他
地方的此标记黄色凸显,并且窗口的右边框会出现白色的方块,点击此方块会跳到此标记处。
(9)右击窗口的左边框即加断点的地方选Show Line Numbers可以加行号。
(10)Ctrl+I格式化激活的元素Format Active Elements。
Ctrl+Shift+F格式化文件Format Document。
(11)Ctrl+S保存当前文件。
Ctrl+Shift+S保存所有未保存的文件。
(12)Ctrl+Shift+M(先把光标放在需导入包的类名上) 作用是加Import语句。
Ctrl+Shift+O作用是缺少的Import语句被加入,多余的Import语句被删除。
(13)Ctrl+Space提示键入内容即Content Assist,此时要将输入法中Chinese(Simplified)IME-
Ime/Nonlme Toggle的快捷键(用于切换英文和其他文字)改成其他的。
Ctrl+Shift+Space提示信息即Context Information。
(14)双击窗口的左边框可以加断点。
(15)Ctrl+D删除当前行。
Eclipse快捷键大全
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)
Ctrl+D: 删除当前行
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面
Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)
Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)
Shift+Ctrl+Enter 在当前行插入空行(原理同上条)
Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)
Ctrl+M 最大化当前的Edit或View (再按则反之)
Ctrl+/ 注释当前行,再按则取消注释
Ctrl+O 快速显示 OutLine
Ctrl+T 快速显示当前类的继承结构
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一个
Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
Ctrl+/(小键盘) 折叠当前类中的所有代码
Ctrl+×(小键盘) 展开当前类中的所有代码
Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用
Alt+/来代替)
Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有
,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)
Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
Ctrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+X 把当前选中的文本全部变味小写
Ctrl+Shift+Y 把当前选中的文本全部变为小写
Ctrl+Shift+F 格式化当前代码
Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之
)
下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开
头的了)
Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)
Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)
Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)
Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)
Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)
Alt+Shift+I 合并变量(可能这样说有点不妥Inline)
Alt+Shift+V 移动函数和变量(不怎么常用)
Alt+Shift+Z 重构的后悔药(Undo)

mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法

mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法分析总结:

话说有一文章表article,存储文章的添加文章的时间是add_time字段,该字段为int(5)类型的,现需要查询今天添加的文章总数并且按照时间从大到小排序,则查询语句如下:

1 select * from `article` where date_format(from_UNIXTIME(`add_time`),’%Y-%m-%d’) = date_format(now(),’%Y-%m-%d’);
或者:

1 select * from `article` where to_days(date_format(from_UNIXTIME(`add_time`),’%Y-%m-%d’)) = to_days(now());
假设以上表的add_time字段的存储类型是DATETIME类型或者TIMESTAMP类型,则查询语句也可按如下写法:

查询今天的信息记录:

1 select * from `article` where to_days(`add_time`) = to_days(now());
查询昨天的信息记录:

1 select * from `article` where to_days(now()) – to_days(`add_time`) < = 1; 查询近7天的信息记录: 1 select * from `article` where date_sub(curdate(), INTERVAL 7 DAY) <= date(`add_time`); 查询近30天的信息记录: 1 select * from `article` where date_sub(curdate(), INTERVAL 30 DAY) <= date(`add_time`); 查询本月的信息记录: 1 select * from `article` where date_format(`add_time`, ‘%Y%m') = date_format(curdate() , ‘%Y%m'); 查询上一月的信息记录: 1 select * from `article` where period_diff(date_format(now() , ‘%Y%m') , date_format(`add_time`, ‘%Y%m')) =1; 对上面的SQL语句中的几个函数做一下分析: (1)to_days 就像它的名字一样,它是将具体的某一个日期或时间字符串转换到某一天所对应的unix时间戳,如: 01 mysql> select to_days(‘2010-11-22 14:39:51’);
02 +——————————–+
03 | to_days(‘2010-11-22 14:39:51’) |
04 +——————————–+
05 | 734463 |
06 +——————————–+
07
08 mysql> select to_days(‘2010-11-23 14:39:51’);
09 +——————————–+
10 | to_days(‘2010-11-23 14:39:51’) |
11 +——————————–+
12 | 734464 |
13 +——————————–+
可以看出22日与23日的差别就是,转换之后的数增加了1,这个粒度的查询是比较粗糙的,有时可能不能满足我们的查询要求,那么就需要使用细粒度的查询方法str_to_date函数了,下面将分析这个函数的用法。

提醒:

(1)to_days() 不用于阳历出现(1582)前的值,原因是当日历改变时,遗失的日期不会被考虑在内。因此对于1582 年之前的日期(或许在其它地区为下一年 ), 该函数的结果实不可靠的。

(2)MySQL”日期和时间类型”中的规则是将日期中的二位数年份值转化为四位。因此对于’1997-10-07’和’97-10-07’将被视为同样的日期:

1 mysql> select to_days(‘1997-10-07′), to_days(’97-10-07′);
2
3 -> 729669, 729669
(2)str_to_date

这个函数可以把字符串时间完全的翻译过来,如:

1 mysql> select str_to_date(“2010-11-23 14:39:51”,’%Y-%m-%d %H:%i:%s’);
2
3 +——————————————————–+
4 | str_to_date(“2010-11-23 14:39:51”,’%Y-%m-%d %H:%i:%s’) |
5 +——————————————————–+
6 | 2010-11-23 14:39:51 |
7 +——————————————————–+
具体案例操作如下:

1 select str_to_date(article.`add_time`,’%Y-%m-%d %H:%i:%s’)
2 from article
3 where str_to_date(article.`add_time`,’%Y-%m-%d %H:%i:%s’)>=’2012-06-28 08:00:00′ and str_to_date(article.`add_time`,’%Y-%m-%d %H:%i:%s’)<='2012-06-28 09:59:59';

临时笔记

临时笔记

vi /etc/ssh/sshd_config

/etc/init.d/sshd restart
/etc/init.d/httpd restart

vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1922 -j ACCEPT

42.121.123.229

1.iptables -F
service iptables save
service iptables restart

/string

#test

ServerAdmin code@zmq.cc
DocumentRoot /var/www/html/test
ServerName test.upadd.cn
ErrorLog logs/test.upadd.cn-error_log
CustomLog logs/test.upadd.cn-access_log common

#test

ServerAdmin code@zmq.cc
DocumentRoot /var/www/html/test
ServerName test.upadd.cn
ErrorLog logs/test.upadd.cn-error_log
CustomLog logs/test.upadd.cn-access_log common

/etc/init.d/httpd restart

#error

ServerAdmin code@zmq.cc
DocumentRoot /error
ServerName upadd.cn

rpm -ivh http://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm

CSS 编码中超级有用的工具集合

当你开发网站和 Web 应用时,使用合适的工具可以节省大量的时间。本文我将收集一些非常有用的 CSS 编码工具,希望对你有帮助。

Pure CSS

Pure 是来自雅虎的 CSS 框架,使用 Normalize.CSS 无需任何 JavaScript 代码。框架基于响应式设计,提供多种样式的组件,包括表格、表单、按钮、表、导航等。标识使用非常简单,整个框架非常轻量级,压缩后只有 5.7k。

主页: http://purecss.io/

CSS only responsive navigation

在今天响应式排版已经非常流行了,这里包含一些可下载和可重用的响应式导航菜单,只需要 CSS 足以。

主页: http://valdelama.com/css-responsive-navigation

CSS Trashman

当我们在开发一个大项目时,很难让 CSS 代码保持短小精干,但无需担心,CSS Trashman 可以帮你不少忙。这是一个很有用的在线工具用来检测你的网站,压缩样式,并最终下载最精简的 CSS 文件。

主页: http://www.csstrashman.com/

Glue

加载大量的图片,还是将这些图片变成一张大图片一次性加载,当然是后者更好,降低浏览器和服务器的交互。这样的技术成为 CSS Sprites。Glue 是一个简单的命令行工具可以让你轻松的将图片合并到一张大突破,然后通过 CSS 来使用这些图片。

主页: https://github.com/jorgebastida/glue

Helium CSS

Helium 是一个前端响应式 Web 框架,用于使用 HTML5 + CSS3 快速制作原型以及开发产品。Helium 很像 Twitter Bootstrap 和 ZURB Foundation,事实上 Helium 使用了二者不少的代码。但与这两个框架不同的是,Helium 设计更加轻量级,而且更容易修改。Helium 只有30k 左右,而 Bootstrap 有 100k 之多,ZURB 有两百多k。

主页: https://github.com/geuis/helium-css

Topcoat

Topcoat 是一个 CSS 框架用于快速创建简单、简洁的 Web 应用。

主页: http://topcoat.io/

.Fitgrd

.Fitgrd 是一个用来构建响应式网站的基础

主页: http://www.fitgrd.com/

Normalize.css

Normalize.css 是一个可以定制的CSS文件,它让不同的浏览器在渲染网页元素的时候形式更统一。

主页: http://necolas.github.io/normalize.css/

Bear CSS

Bear CSS 是一个漂亮的网站,同时提供了强大的工具。你只需创建一个 HTML 文档并上传,Bear CSS 会自动帮你生成 CSS 文件,大量节省时间。

主页: http://bearcss.com/

PHP中判断字符串是否含有中文


$str = '中文测试';
if (preg_match_all("/^([\x81-\xfe][\x40-\xfe])+$/", $str, $match)) {
echo '全部是汉字';
} else {
echo '不全是汉字';
}

当$str = ‘中文测试’; 时输出”全部是汉字”;
当$str = ‘中a文3测试’; 时输出”不全是汉字”;

应用说明:当某个地方要求用户输入的内容必须全部是中文时,这个就派上用场了。

2.测试二


$str = '中a文3测试';
if (preg_match("/([\x81-\xfe][\x40-\xfe])/", $str, $match)) {
echo '含有汉字';
} else {
echo '不含有汉字';
}

应用说明:当某个地方要求用户输入的内容中必须含有中文时(而不一定全部是中文),这个就派上用场了。

经测试,上述变量$str的内容与utf8还是gbk编码无关,判断结果均是一样的。

Linux下开源的虚拟主机管理系统

收费的虚拟主机控制面板(比如CPanel,DirectAdmin)由于价格昂贵,花钱买不划算。于是一直在苦苦寻找免费或者破解的类似于DirectAdmin的虚拟主机管理系统,没想到开源界已经产生了如此多优秀的免费的虚拟主机管理系统:ZPanel,web-cp,VHCS,virtualmin,PHPMyWebHosting,SysCP。另外还有Kloxo
 
 1. ZPanel – 在Windows下的免费Hosting Panel
  ZPanel已经更名为RapidCP,最新版本为RapidCP 3.0
  网址:
  http://sourceforge.net/projects/zpanel/
  http://www.rapidcp.com/
  RapidCP新功能介绍:http://www.rapidcp.com/features/
  ZPanel 2.6 is the latest stable release. It is recommended for production environments.
  RapidCP 3.0 is the latest beta release. It is intended for testing purposes only.
 
 2. web-cp – *nix的虚拟主机管理
  网址:
  http://sourceforge.net/projects/webcp/
  http://www.web-cp.net/
  用PHP-CLI写的一个Web服务器
  支持多种脚本Scripting PHP,sun asp,cf,perl…
  支持shell access
  支持 SSI
  支持.htacess
  支持多种DNS服务 bind,powerdns,mydns,tinydns
  完全使用PHP开发,支持Shell Access
  要安装PHP CLI(Command-LIne ) 控制面板的后端服务器 server/webcp.php 和 httpd服务器 server/webcp-httpd.php 都需要 PHP CLI二进制支持,以便能够操作系统进程
  个人:个人信息,密码,邮件,ftp
  域:允许域的所有者在该域下增删用户,设定别名,子域名,数据库
  销售商:增加domain
  服务器: 监视服务,管理服务
  
3. VHCS – Virtual Hosting Control System
  支持*nix系统的,用Perl和C实现核心功能,PHP实现管理界面。
  网址:
  http://sourceforge.net/projects/vhcs/
  http://www.vhcs.net/
 
 4、webmin的虚拟主机管理模块virtualmin
  webmin是一个可运行于Linux/freebsd的web界面的主机管理系统,有中文包
  而virtualmin则是它的一个虚拟主机管理模块,提供中文支持。
  webmin官方站: http://www.webmin.com/
  virtaulmin站点: http://www.swelltech.com/virtualmin/
 
 5、基于php/mysql的虚拟主机控制程序PHPMyWebHosting
  PHPMyWebHosting是个开源的,基于php/mysql的虚拟主机控制面板程序,你可以用它建立带有邮箱,mysql支持的多域名虚拟主机,它须建立在Linux/freebsd之上,不支持windows。
  安装phpmywebhosting你必须拥有系统管理员(root)权限,并依次安装以下套件:
  MySQL
  Apache and PHP
  Postfix
  Maildrop
  Courier
  ProFTPd
  PHPMyWebHosting
  官方站上有基于各平台详细的安装说明 http://www.ladse.de
  phpmywebhosting下载:http://www.ladse.de/index.php/Files
  
6、SysCP虚拟主机管理系统[全php版]
  1.有中文包
  2.admin,reseller,client 三级管理
  3.全部为php代码构成
  4.有不少模块(modules)供选择安装
  5.开源,免费(基于GPL)
  6.Linux/bsd环境,特别是debian(最初是专为它开发的)
  是德国人写的,有简体中文,英文,法文,德文语言包,是多语言的
  具有以下特性:
  Customer Interface
  * managing email accounts
  * managing email forwarders
  * managing subdomains
  * managing mysql databases
  * managing additional ftp account
  * managing .htaccess password protections for directories
  * managing path options for example directorylisting
  Admin Interface:
  * managing of customers: you can define exactly what kind of resources your customers get (e.g. amount of pop accounts, amount of mysql databases etc.)
  * manage domains: you can individualy edit zone files and directory index per domain
  支持以下配套服务器或引擎:
  # webserver: [Apache 1.3] with [PHP4] (apache2.0.x也可以)
  # mail transfer agent: [Postfix]
  # pop/imap server: [Courier]
  # ftp server: [ProFTPd]
  # database server: [MySQL]
  # nameserver: [Bind9]
  # traffic accounting and statistics: [Webalizer]
  官方站:http://www.syscp.de/ 
  下载:http://www.syscp.de/wiki/EnDownloads
  模块下载:http://modules.syscp.de/
  在线演示:http://www.syscp.de/onlinedemo/index.php

  Webmin是目前功能最强大的基于Web的Unix系统管理工具
  Webmin是目前功能最强大的基于Web的Unix系统管理工具。管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作。目前Webmin支持绝大多数的Unix系统,这些系统除了各种版本的linux以为还包括:AIX、HPUX、Solaris、Unixware、Irix和FreeBSD等。

 Webmin 让您能够在远程使用支持 HTTPS (SSL 上的 HTTP)协议的 Web 浏览器通过 Web 界面管理您的主机。这在保证了安全性的前提下提供了简单深入的远程管理。这使得 Webmin 对系统管理员非常理想,因为所有主流平台都有满足甚至超出上述需求的 Web 浏览器。而且,Webmin 有其自己的“Web 服务器”,因此不需要运行第三方软件(比如 Web服务器)。万事具备。Webmin 的模块化架构允许您在需要时编写您自己的配置模块。除了在此介绍的模块之外,Webmin 还包括许多模块。尽管目前我们将主要关注网络服务,但是您会看到,几乎您系统的每一部分都能够通过 Webmin 来配置和管理。
  开源主机/虚拟主机管理系统
  ISPCONFIG:安装简单,可以满足基本的虚拟主机服务商需求.
  VHCS:感觉安装复杂,相关说明文档少.
  WEB-CP,SYSCP:功能有点弱.
  PHPMyWebHosting:需要改动的东西很多.
  GNUHH:功能最强大,管理模块最多,用户和管理员的操作流程也比较清晰.推荐系统管理员和IDC使用.
  评价参考
  用户群最多的 VHCS. 而 Web-CP,DTC和SysCp也都有许多用户
  功能最强大的 GNU Hosting Helper 支持机群,文档,订单
  单机版本功能最强大的是ISPConfig
  结构最好的 SysCP, 采用类似结构的有Web-Cp,DTC,VHCS
  结论:大型IDC,推荐GNU Hosting Helper,备选ISPMan
  单台主机,推荐 VHCS2,备选 Web-CP,DTC,ISPConfig,WHT,RavenCore(推荐程度依次降低,其实这几个系统都不错,看个人的喜好了)
  DTC是一个即适合单机使用,也适合集群使用的主机管理系统,Apple欧洲公司就是选用这套系统在Mac OS X上使用

  ——————————–华丽的分割线———————————-
  Case1: ISPConfig
  Download ==) http://www.ispconfig.org/downloads.htm
  Forums ==) http://www.howtoforge.com/forums
  The current version is: 2.2.22 (== 2008/15/04
  Case2: ISP-Manager
  Download ==) http://www.projektfarm.com/updates_en.html
  The current version is: 2.0.4 (== 2005/24/10
  ispconfig使用手冊
  ispconfig user_guide ==) http://ispconfig.org/downloads/manual_big5/toc.html
  中文版的管理員手冊_chinese: Administrator manual
  ref: http://ispconfig.org/downloads/manua…n_big5_src.htm
  中文版的reseller手冊_chinese: Reseller manual
  ref: http://ispconfig.org/downloads/manua…r_big5_src.htm
  中文版的客戶手冊_chinese: Clients manual
  ref: http://ispconfig.org/downloads/manua…e_big5_src.htm

  ———————————-再分————————————–
  一些独立主机之_Control_Panel_全部都免费.
  1. xpanel.com
  2. webmin
  3. webcp ==) http://web-cp.net/
  4. vhcs.net
  5. isp-control.net
  6. syscp ==) http://www.syscp.de
  7. dtc ==) http://www.gplhost.com/?rub=softwares&sousrub=dtc
  8. zpanel ==) http://www.thezpanel.com/
  9. http://phpanel.net
  0. http://www.ispconfig.org/
  a. http://www.parsv.com/winpanel.htm
  b. http://cubepanel.com/download/index.htm

Linux端口以及防火墙端口的查看命令

Linux下如果我们需要知道2809号端口的情况的话,我们可以这样,如下命令:
$netstat -pan|grep 2809
tcp    0   0 0.0.0.0:2809   0.0.0.0:*   LISTEN   9493/java
下面是常用参数的解释:
NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]
-a            显示所有连接和监听端口。
-b            显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件
拥有多个独立组件,并且在这些情况下
包含于创建连接或监听端口的组件序列被显示。这种情况下,可执行组件名
在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP 部分。注意此选项
可能需要很长时间,如果没有足够权限可能失败。

-e            显示以太网统计信息。此选项可以与 -s选项组合使用。

-n            以数字形式显示地址和端口号。
-o            显示与每个连接相关的所属进程 ID。
-p proto      显示 proto 指定的协议的连接;proto 可以是
下列协议之一: TCP、UDP、TCPv6 或 UDPv6。
如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
-r            显示路由表。
-s            显示按协议统计信息。默认地,显示 IP、
IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;
-p 选项用于指定默认情况的子集。

-v            与 -b 选项一起使用时将显示包含于
为所有可执行组件创建连接或监听端口的组件。

interval      重新显示选定统计信息,每次显示之间
暂停时间间隔(以秒计)。按 CTRL+C 停止重新
显示统计信息。如果省略,netstat 显示当前
配置信息(只显示一次)
netstat -nl | grep 110
看到有结果的话就是可以使用了(则端口号开启了)
先可以看看/etc/services文件,改文件定义了linux里所有的服务及其使用的端口

防火墙端口:
当Linux打开防火墙后,你会发现,从本机登录23端口是没有问题的,但是如果从另一台pc登录该linux系统后,你会发现提示这样的错误:
不能打开到主机的连接, 在端口 23: 连接失败
因为linux防火墙默认是关闭23端口的,如果允许远程登录,可以关掉防火墙,也可以开防火墙开放23端口,具体如下:
即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop
重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
在开启了防火墙时,做如下设置,开启相关端口
修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 23 -j ACCEPT

查看防火墙 iptables -L
——————
netstat -nupl (UDP类型的端口)
netstat -ntpl (TCP类型的端口)
你可以使用 lsof 命令来查看某一端口是否开放。查看端口可以这样来使用,我就以80端口为例:
lsof -i:80
如果有显示说明已经开放了,如果没有显示说明没有开放。
linux端口和服务:
一、端口和服务的关系
端口号与相应服务的对应关系存放在/etc/services文件中,这个文件中可以找到大部分端口。使用netstat命令
显示的服务名称也是从这个文件中找的。有人说将这个文件中的相应端口号注释掉,就可以禁用该端口。
我试了却不起作用,这种方法应该是没有用的,是误传!将相应端口号注释掉,唯一的作用就是使用netsat
命令时,将不显示服务名(比如ftp)而是显示端口号(比如21)。原理也很简单:netstat无法在/etc/services
文件中找到端口号对应的服务名,自然就无法显示了。所以/etc/services文件只是起到端口号与相应服务的
映射关系,与端口的启动和关闭没有关系!
二、查看本机开放的端口
1、netstat 查看端口和连接
netstat 列出目前已经连接的服务名
netstat -a 列出目前已经连接的和正在监听的服务名
netstat -an 列出目前已经连接的和正在监听的端口号(与上面的命令功能一样,只是不解释端口号对应的服务名)
netstat -ap 在上面命令的基础上列出连接的PID(进程号),用这个PID,可以使用KILL 来杀死连接
例如:某个连接的PID=111,想踢出去就使用 KILL -9 111。ok!
netstat -rn 输出路由表
2、nmap
nmap 127.0.0.1 查看本机开放的端口,会扫描所有端口
nmap -p 1024 65535? 127.0.0.1 扫描指定端口范围
nmap -PT 192.168.1.1-111? 扫描一组范围的电脑
三、关闭和开启端口(服务)
关闭端口的方法:
1、因为每个端口都有对应的服务,因此要关闭端口只要关闭相应的服务就可以了。
2、用IPTABLE对端口进行限制,这样也能使端口不被访问,但端口本身并没有关闭。
在这儿只介绍关闭服务的方法,IPTABLE的应用以后再讨论。
linux中开机自动启动的服务一般都存放在两个地方:
/etc/init.d/文件夹下的服务:
这个文件夹下的服务都可以通过运行相应的SCRIPT来启动或关闭。
例如:启动sendmail服务 ./sendmail start (打开了TCP 25端口)
关闭sendmail服务 ./sendmail stop (关闭TCP 25 端口)
查看sendmail服务当前状态 ./sendmail? status (查看服务是否运行)
/etc/xinetd.d/文件夹下的服务:
这个文件夹下的服务需要通过更改服务的配置文件,并重新启动xinetd才可以。
例如:要启动其中的auth服务,打开/etc/xinetd.d/auth配置文件,更改“disable=no”,保存退出。运行/etc/rc.d/init.d/xinetd restart
要停止其中的auth服务,打开/etc/xinetd.d/auth配置文件,更改“disable=yes”,保存退出。运行/etc/rc.d/init.d/xinetd restart
四、控制开机自动启动的服务
上面说的控制服务开关方法是在启动linux之后进行操作的,如果我想在linux启动时控制哪些服务启动、哪些服务关闭怎么做
控制服务自动启动的方法有3个:
1、更改/etc/rc.d下的对应文件夹:
如果你登陆的默认界面是字符界面,那么修改rc.3文件夹,如果登陆界面默认是图形界面,那么修改rc.5。
在文件夹中,每个服务的名字前都带有“K”或“S”,S就代表这个服务开机自动运行了,把它删了或前缀改为“K”下次就不会启动了。
2、使用ntsysv命令:
输入ntsysv命令,将会出现一个服务列表,需要启动的打“*”,简单。
3、使用chkconfig命令:
让某个服务不自动启动:例如httpd:chkconfig –level 35 httpd? off ;35指的是运行级别
让某个服务自动启动:例如httpd:chkconfig –level 35 httpd? on ;
查看所有服务的启动状态:chkconfig –list
查看某个服务的启动状态:chkconfig –list |grep httpd

8 个最佳 PHP 库

PHP标准库 (SPL)的目的就是提供一组接口,让开发者在PHP5中充分利用面向对象编程。因此本文我们搜集了8个最好的,能辅助开发者简化他们的工作,为他们的开发任务服务的PHP库。

如果你喜欢本文,也许你对我们的其他文章感兴趣:8个给开发者的最好的PHP工具和应用

 

1. Whoops : 更好的php错误报告库

whoops

Whoops是一个易于处理和调试错误的PHP库 。它提供基于堆栈的的错误处理和好看的错误界面。它有个简单的API来处理异常,跟踪帧和数据,并能和任何框架整合(随时可用的集成端和Silex)。

Source

2. PhpFastCache

phpfastcache

phpFastCache 是一个开源的 PHP 缓存库,只提供一个简单的 PHP 文件,可方便集成到已有项目,支持多种缓存方法,包括:apc, memcache, memcached, wincache, files, pdo and mpdo。可通过简单的 API 来定义缓存的有效时间。

Source

 

3. Eden : 功能强大的 PHP 库

eden-php-library

Eden是一个开源且免费的PHP快速开发类库。它包含很多组件用来自动加载、事件驱动、文档系统、缓存、模板、国际化、数据库、web服务、支付网关、装载和云服务技术。为了给我们最好的选择,他已经将现有的函数实现了与谷歌服务(Youtube, Drive, Contacts, Analytics, Checkout, Maps),Facebook(脸谱), Twitter(推特), Tumblr(轻博客), PayPal(贝宝), Authorize.net, FedEx(联邦快递), UPS(联合包裹服务公司), Amazon + Rackspace Clouds(亚马逊+Rackspace 云)等服务的交互。

Source

 

4. Php Error

php-error

PHP Error 是一个开源的 PHP 库,用于转换标准的 PHP 错误信息,主要用于开发过程中的调试。PHP Error 紧密集成到 PHP 环境中,显示带语法高亮的错误提示。

Source

 

5. Detector

detector

Detector是一个开源的PHP类库用于检测关于用户的浏览器环境的许多东西。它可以获得浏览器的使用和浏览器的html5 css3功能,分析是否移动电话、平板电脑、桌面或网页爬虫和其他项如:颜色深度, 视口尺寸、cookie等支持。类库可以自动适应新的浏览器、版本和设备对每一个浏览器使用独特的用户代理字符。

Source

 

6. Opauth

opauth

Opauth 是一个开源的 PHP 库,提供了 OAuth 认证的支持,让你无需关注不同 Provider 之间的差别,提供统一标准的访问方法。目前支持 Google、Twitter 和 Facebook,其他的 Provider 支持也将陆续提供。同时也支持处理任何 OAuth 认证提供方。

Source

 

7.pChart

pchart

pChart 是一个 PHP 类库用来创建各种图表,可从 SQL 查询、CSV 文件以及手工提供图表的数据来源。强项是图表的渲染质量,该项目开发活跃,每周都有新特性和 bug 修复。

Source

 

8. Php Thumb

phpthumb

PHP Thumb 是一个 PHP 的类用来生成图片的缩略图。 只需数行代码即可,支持多种图片来源,包括文件系统或者数据库,支持大多数图片格式。并可对图片进行旋转、剪切、加水印等等。可执行定义缩略图的质量,提供内建的缓存以降低服务器的负载。

Source