网站服务器是一个在 Android 平台上搭建 Web 环境的小工具。
这坑爹名字……很不好介绍
就两个按钮,启动关闭。
然后访问网址就可以了。
需要 WIFI ,否则不干活。
网页文件放在 /sdcard/www/ 下,就是你 SD 卡下的 www 文件夹。
其实市场上类似应用很多,介绍这个是因为简单,而且是中文。没任何技术门槛,大家都可以用。
然后一个关键问题:究竟有什么用?
很深奥啊?但是我不说肯定有人问。
你可以放一些静态页面的小工具在里面,方便使用。比如我,把爱写字(详情见这里专注写作 – 方便易用的专心写作工具[Chrome])的源码扔进去了,完美运行,欧耶~~
DownLoad:http://g.appinn.com/um
这坑爹名字……很不好介绍
就两个按钮,启动关闭。
然后访问网址就可以了。
需要 WIFI ,否则不干活。
网页文件放在 /sdcard/www/ 下,就是你 SD 卡下的 www 文件夹。
其实市场上类似应用很多,介绍这个是因为简单,而且是中文。没任何技术门槛,大家都可以用。
然后一个关键问题:究竟有什么用?
很深奥啊?但是我不说肯定有人问。
你可以放一些静态页面的小工具在里面,方便使用。比如我,把爱写字(详情见这里专注写作 – 方便易用的专心写作工具[Chrome])的源码扔进去了,完美运行,欧耶~~
DownLoad:http://g.appinn.com/um
之前有过一款文件搜索神器 Everything!因为它的瞬间搜索速度实在让人震惊,相信很多人都对它爱不释手。但很可惜它只能搜索文件名而不能搜索文档的内容。譬如说想要搜索一份内容里带有“工资表”字样而不知道文件名的Word文档,那么就只能找外援了。 DocFetcher 是一个免费开源且跨平台的桌面文档内容搜索引擎,它能遍历你所有的文件文档内容,然后方便地对自己的电脑进行全文搜索。搜索自己电脑本地的文档内容就像使用Google或百度一样简单方便,这意味着你不必再去记忆文件名了,只要输入文件内容关键字即可搜索……
DocFetcher 桌面文档全文搜索引擎简介: DocFetcher 跟 Google Desktop 和 百度硬盘搜索 的原理一样,都是需要事先对硬盘上的文件内容进行索引。然而,它比 Google Desktop 好的地方就是可以由用户指定索引的文件夹和文件格式。由于 Google Desktop 和 百度硬盘搜索 等进行全硬盘的全文索引实在太太太太太慢了,而且很久都没更新了 (估计都被官方抛弃了)。DocFetcher 虽然速度上比它们没有多少优势,但却可以把目录设置到你最常存放文档的文件夹而不是索引整个磁盘,当然这样就相当于变相提高索引速度了。DocFetcher 另外一个优势是索引数据比较小,不像 Google Desktop 那样,扫描完之后索引文件很容易就上几个G了。
使用方法: 启动软件后,在右下角的“Search Scope”区域里右键,选择“Create Index”来选择要索引的文件夹,按“Run”确定并开始索引(文件数较多的话可能要等一段时间),当索引完成之后就可以进行搜索了!
DocFetcher 有几个选项可以让你更准确地搜索想要的结果,例如左上角可以指定最小和最大文件的大小,筛选文件类型等。搜索结果会在同一界面上显示名称、大小、文件名、类型、路径、作者、修改日期等信息。左键点击任意文件将在预览区加载文件的内容。
支持搜索的文档格式: DocFetcher 支持搜索的文档格式非常丰富,如:网页(html),文本文档 (txt),PDF,chm,rtf,Office文档 (doc、xls、ppt、docx、 xlsx、 pptx),OpenOffice (odt、ods、odg、odp),AbiWord (abw、abw.gz、zabw),Visio (vsd),svg 等等,基本上流行的文档都能被索引和搜索,应该能满足绝大部分人的需求了。
免费、跨平台、开源: DocFetcher 拥有 Windows 和 Linux 的版本,而且源代码也是开放的,你可以免费使用,甚至还能通过源代码学习它的技术。由于它使用 Java 开发,所以你的系统需要先安装好 Java 运行库才能正常使用。
写在后面: DocFetcher 的界面和功能做的算是中规中矩,支持格式还算广泛,重要的是它支持 Unicode,也就是说能完美支持中文 (简体与繁体) 搜索了!当然,大多数记得文件名的时候,神器 Everything 已经能满足文件搜索的需求了,只是偶尔需要通过文档文件内容进行搜索时,或者工作需要经常要和大量文档打交道的朋友,我推荐大家用 DocFetcher 作为一个补充吧,它同样不会让你失望的。
官网下载:http://sourceforge.net/projects/docfetcher/
介绍来自:http://www.appinn.com/docfetcher/
DocFetcher 桌面文档全文搜索引擎简介: DocFetcher 跟 Google Desktop 和 百度硬盘搜索 的原理一样,都是需要事先对硬盘上的文件内容进行索引。然而,它比 Google Desktop 好的地方就是可以由用户指定索引的文件夹和文件格式。由于 Google Desktop 和 百度硬盘搜索 等进行全硬盘的全文索引实在太太太太太慢了,而且很久都没更新了 (估计都被官方抛弃了)。DocFetcher 虽然速度上比它们没有多少优势,但却可以把目录设置到你最常存放文档的文件夹而不是索引整个磁盘,当然这样就相当于变相提高索引速度了。DocFetcher 另外一个优势是索引数据比较小,不像 Google Desktop 那样,扫描完之后索引文件很容易就上几个G了。
使用方法: 启动软件后,在右下角的“Search Scope”区域里右键,选择“Create Index”来选择要索引的文件夹,按“Run”确定并开始索引(文件数较多的话可能要等一段时间),当索引完成之后就可以进行搜索了!
DocFetcher 有几个选项可以让你更准确地搜索想要的结果,例如左上角可以指定最小和最大文件的大小,筛选文件类型等。搜索结果会在同一界面上显示名称、大小、文件名、类型、路径、作者、修改日期等信息。左键点击任意文件将在预览区加载文件的内容。
支持搜索的文档格式: DocFetcher 支持搜索的文档格式非常丰富,如:网页(html),文本文档 (txt),PDF,chm,rtf,Office文档 (doc、xls、ppt、docx、 xlsx、 pptx),OpenOffice (odt、ods、odg、odp),AbiWord (abw、abw.gz、zabw),Visio (vsd),svg 等等,基本上流行的文档都能被索引和搜索,应该能满足绝大部分人的需求了。
免费、跨平台、开源: DocFetcher 拥有 Windows 和 Linux 的版本,而且源代码也是开放的,你可以免费使用,甚至还能通过源代码学习它的技术。由于它使用 Java 开发,所以你的系统需要先安装好 Java 运行库才能正常使用。
写在后面: DocFetcher 的界面和功能做的算是中规中矩,支持格式还算广泛,重要的是它支持 Unicode,也就是说能完美支持中文 (简体与繁体) 搜索了!当然,大多数记得文件名的时候,神器 Everything 已经能满足文件搜索的需求了,只是偶尔需要通过文档文件内容进行搜索时,或者工作需要经常要和大量文档打交道的朋友,我推荐大家用 DocFetcher 作为一个补充吧,它同样不会让你失望的。
官网下载:http://sourceforge.net/projects/docfetcher/
介绍来自:http://www.appinn.com/docfetcher/
第二、无论面试的是什么职位,基础知识很重要。所有的高深技术,都要有牢固的基础知识做根基。
阅读全文
阅读全文
Jquery 操作添加缓存数据,实践如下,主要是下面这个缓存数据的设置和获取有点意思,特做记录:
阅读全文
阅读全文
新注意问题,将sprintf这个写在foreach时拼接URl时,要注意,不能直接写成:
1.sprintf错误赋值的写法(不能修改下面这个$getURlStr),如下:
2.而应该写成,如下,sprintf的值应该重新赋值给一个新的变量:
------------------------------------------------------------
接着讲:PHP的sprintf()函数用法
主要是对:在 0 后面的是 1 这个 1 是规定,小数点前面的数字占位要有1位以上。
例子,使用范例
这个 %01.2f 是什么意思呢?
首先 这个 % 符号是开始的意思,他写在最前面表示指定格式要开始了。 也就是 "起始字符", 直到出现 "转换字符" 为止,就算格式终止。
主要是想了解这一句:
如果把 1 改成 2 如果 $money 的值为 1.23 ,则 $formatted 的值将为 01.23
因为,在小数点前面的数字只占了1位,按照上面所规定的格式,小数点前数字应该占2位,现在只有1位,所以,用0来填满。
到目前,在 %01 后面的 .2 (点2) 就很好理解了,它的意思是,规定,小数点后的数字,必需占2位. 如果这时候,$money 的值为 1.234,则 $formatted 的值将为 1.23。
为什么 4 不见了呢? 因为,在小数点后面 按照上面的规定,必需且仅能占2位。 可是 $money 的值中,小数点占了3位,所以,4 被去掉了,只剩下 23。
最后,以 f "转换字符" 结尾,其他转换字符请自行参考上面的转换字符列表。
关于对齐
如果在 % 起始符号后面 加上 - (负号) 则,将会把数字以向右对齐的方式进行处理。
这时候,$formatted 将不会再是 01.40 而是 1.400
阅读全文
1.sprintf错误赋值的写法(不能修改下面这个$getURlStr),如下:
2.而应该写成,如下,sprintf的值应该重新赋值给一个新的变量:
------------------------------------------------------------
接着讲:PHP的sprintf()函数用法
主要是对:在 0 后面的是 1 这个 1 是规定,小数点前面的数字占位要有1位以上。
例子,使用范例
这个 %01.2f 是什么意思呢?
首先 这个 % 符号是开始的意思,他写在最前面表示指定格式要开始了。 也就是 "起始字符", 直到出现 "转换字符" 为止,就算格式终止。
主要是想了解这一句:
如果把 1 改成 2 如果 $money 的值为 1.23 ,则 $formatted 的值将为 01.23
因为,在小数点前面的数字只占了1位,按照上面所规定的格式,小数点前数字应该占2位,现在只有1位,所以,用0来填满。
到目前,在 %01 后面的 .2 (点2) 就很好理解了,它的意思是,规定,小数点后的数字,必需占2位. 如果这时候,$money 的值为 1.234,则 $formatted 的值将为 1.23。
为什么 4 不见了呢? 因为,在小数点后面 按照上面的规定,必需且仅能占2位。 可是 $money 的值中,小数点占了3位,所以,4 被去掉了,只剩下 23。
最后,以 f "转换字符" 结尾,其他转换字符请自行参考上面的转换字符列表。
关于对齐
如果在 % 起始符号后面 加上 - (负号) 则,将会把数字以向右对齐的方式进行处理。
这时候,$formatted 将不会再是 01.40 而是 1.400
阅读全文
php与smarty结合时:smarty下PHP一样的strpos函数的使用示例
Php/Js/Shell/Go jackxiang 2012-3-22 15:18
一.最小化释放内存。在地址栏输入 about:config,然后新建一个名为 config.trim_on_minimize,并设定值为 true,重新启动 Firefox,这样当 Firefox 最小化时就会释放内存占用。(很有效)
为 Firefox 分配指定大小的内存缓存。这招我之前没实践过,正好试试。方法很简单,在地址栏输入 about:config,利用过滤器找到 browser.cache.memory.enable,更改它的值为 true;新建一个整数值,名为 browser.cache.memory.capacity,按照如下方案设定其值:
256M 内存=> 4096
512M 内存 => 8192
1G 内存=> 16384
From:http://blog.istef.info/2007/04/17/reduce-the-memory-usage-on-firefox/
二.减少内存泄露
使用Firefox的同学可能已经发现:Firefox占用的内存会越来越多,刚启动的时候几十M,过了半个小时,会飙升至200M甚至更多!这就是Firefox的内存泄露问题。
如果觉得限制Firefox内存会影响性能的话,推荐使用foxboost这个小工具来减少内存泄露。在文章结尾下载foxboost.zip,解压后,运行foxBoost.exe即可,foxBoost安静的在后台运行,关闭时右击托盘图标,close即可。它可以有效减少Firefox的内存泄漏问题,而不是限制内存使用。
From:http://www.x-berry.com/firefox-memory 减少内存泄露:foxboost-0.0.1.19 :
http://dl.commentcamarche.net/en.kioskea.net/download/files/foxboost-0.0.1.19.zip
为 Firefox 分配指定大小的内存缓存。这招我之前没实践过,正好试试。方法很简单,在地址栏输入 about:config,利用过滤器找到 browser.cache.memory.enable,更改它的值为 true;新建一个整数值,名为 browser.cache.memory.capacity,按照如下方案设定其值:
256M 内存=> 4096
512M 内存 => 8192
1G 内存=> 16384
From:http://blog.istef.info/2007/04/17/reduce-the-memory-usage-on-firefox/
二.减少内存泄露
使用Firefox的同学可能已经发现:Firefox占用的内存会越来越多,刚启动的时候几十M,过了半个小时,会飙升至200M甚至更多!这就是Firefox的内存泄露问题。
如果觉得限制Firefox内存会影响性能的话,推荐使用foxboost这个小工具来减少内存泄露。在文章结尾下载foxboost.zip,解压后,运行foxBoost.exe即可,foxBoost安静的在后台运行,关闭时右击托盘图标,close即可。它可以有效减少Firefox的内存泄漏问题,而不是限制内存使用。
From:http://www.x-berry.com/firefox-memory 减少内存泄露:foxboost-0.0.1.19 :
http://dl.commentcamarche.net/en.kioskea.net/download/files/foxboost-0.0.1.19.zip
PHP百分号转小数,php 小数转换百分数函数
Php/Js/Shell/Go jackxiang 2012-3-20 15:04
Linux tar压缩时 排除某个文件/文件夹,tar打包排除某个目录。
Unix/LinuxC技术 jackxiang 2012-3-12 14:58
tar -zcvf jackxiang.com.2015.11.02.tar.gz jackxiang.com --exclude=jackxiang.com/data/logs
tar zcvf fd.tar.gz * --exclude=file1 --exclude=dir1
注意:
1、--exclude=file1 而不是 --exclude file1
2、要排除一个目录是--exclude=dir1而不是--exclude=dir1/
也可以在父目录打包
tar zcvf fd.tar.gz pardir --exclude=pardir/file1 --exclude=pardir/dir1
http://www.cnblogs.com/ShepherdIsland/p/3715902.html
在对某个目录进行压缩的时候,有时候想排除掉某个目录,例如:
如果123目录下有3个子目录,aa、bb、cc。
我现在想只对aa和bb目录打包压缩,命令如下:
tar -zcvf 123.tar.gz --exclude=cc 123
多个文件 用多个 –exclude=
解压的时候直接用
tar zxvf 123.tar.gz
实践如下:
tar zcvf fd.tar.gz * --exclude=file1 --exclude=dir1
注意:
1、--exclude=file1 而不是 --exclude file1
2、要排除一个目录是--exclude=dir1而不是--exclude=dir1/
也可以在父目录打包
tar zcvf fd.tar.gz pardir --exclude=pardir/file1 --exclude=pardir/dir1
http://www.cnblogs.com/ShepherdIsland/p/3715902.html
在对某个目录进行压缩的时候,有时候想排除掉某个目录,例如:
如果123目录下有3个子目录,aa、bb、cc。
我现在想只对aa和bb目录打包压缩,命令如下:
tar -zcvf 123.tar.gz --exclude=cc 123
多个文件 用多个 –exclude=
解压的时候直接用
tar zxvf 123.tar.gz
实践如下:
Editplus列选择和Word-wrap功能是相冲突的,如果选择了Word-wrap功能,说白了就是长度太长时的换行功能,就不能有alt+c的功能,否则就可以有,在右键上也得到了体现。
右键菜单-》column select然后鼠标拖动,或者alt+c用键盘扩展选择。
注意:使用这个功能时,不能使用Word-wrap功能。
右键菜单-》column select然后鼠标拖动,或者alt+c用键盘扩展选择。
注意:使用这个功能时,不能使用Word-wrap功能。
想通过.pac文件用PHP的CURL实现代理可以吗?cURL的FAQ上明确提到这点,是不可能的,呵呵,来自:http://curl.haxx.se/docs/faq.html#Does_curl_support_Javascript_or
-----------------------------------------------
Many web pages do magic stuff using embedded Javascript. Curl and libcurl have no built-in support for that, so it will be treated just like any other contents.
.pac files are a netscape invention and are sometimes used by organizations to allow them to differentiate which proxies to use. The .pac contents is just a Javascript program that gets invoked by the browser and that returns the name of the proxy to connect to. Since curl doesn't support Javascript, it can't support .pac proxy configuration either.
Some workarounds usually suggested to overcome this Javascript dependency:
- Depending on the Javascript complexity, write up a script that
translates it to another language and execute that.
- Read the Javascript code and rewrite the same logic in another language.
- Implement a Javascript interpreter, people have successfully used the
Mozilla Javascript engine in the past.
- Ask your admins to stop this, for a static proxy setup or similar.
。。。
-----------------------------------------------
Many web pages do magic stuff using embedded Javascript. Curl and libcurl have no built-in support for that, so it will be treated just like any other contents.
.pac files are a netscape invention and are sometimes used by organizations to allow them to differentiate which proxies to use. The .pac contents is just a Javascript program that gets invoked by the browser and that returns the name of the proxy to connect to. Since curl doesn't support Javascript, it can't support .pac proxy configuration either.
Some workarounds usually suggested to overcome this Javascript dependency:
- Depending on the Javascript complexity, write up a script that
translates it to another language and execute that.
- Read the Javascript code and rewrite the same logic in another language.
- Implement a Javascript interpreter, people have successfully used the
Mozilla Javascript engine in the past.
- Ask your admins to stop this, for a static proxy setup or similar.
。。。
代理的项目示例:
1)Apache 开80端口,Htdocs:D:\apmxe\htdocs\index.html
2)Nginx配置两样东西。
(1)8080端口是用来当成负载均衡的一台机器。
(2)72端口是入口,用来做入口,72下面是变的多台机器的端口来做负载均衡。
Nginx的配置文件如下,加入了对目录的浏览:
访问:http://localhost:72/index.html
测试:把Nginx里的htdocs文件index.html去掉后,一直能访问到,因为nginx这个负载均衡的proxy_next_upstream参数就是干这个事情的,于是否,我们发现一直能访问,
但如果只访问:http://localhost:72 出现当访问到Nginx那一台出现因访问到目录的情况,是因为上面的命令打开了目录浏览,认为有数据返回,不是:http_502 http_504 error timeout invalid_header http_500 http_503 http_404,所以没有转移走,于是否,出现了目录的情况。
=============================================================================
可能出现的问题:[emerg]: "upstream" directive is not allowed here in ......
后来检查了一下原来是upstream backend 位置放错了, upstream位置应该放在http模块里面 但必须是在server模块的外面.
参考:http://wiki.nginx.org/LoadBalanceExample
再就是这种多IP下的Nginx负载均衡怎么用PHP的Smarty来自动化呢?一般情况都如下:
PHP的Smarty去配置server实现思考:
经PHP的smarty翻译后如下:
server 1.1 weight=1 max_fails fail_timeout=30s;
server 1.2 weight=1 max_fails fail_timeout=30s;
localip = 72.46.128.82
这样,也就实现了Nginx的自动配置,做一个前端的Web界面,后经过zoomkeeper,进行自动重启动nginx,进而reload这个修改过的nginx的配置文件即可。
1)Apache 开80端口,Htdocs:D:\apmxe\htdocs\index.html
2)Nginx配置两样东西。
(1)8080端口是用来当成负载均衡的一台机器。
(2)72端口是入口,用来做入口,72下面是变的多台机器的端口来做负载均衡。
Nginx的配置文件如下,加入了对目录的浏览:
访问:http://localhost:72/index.html
测试:把Nginx里的htdocs文件index.html去掉后,一直能访问到,因为nginx这个负载均衡的proxy_next_upstream参数就是干这个事情的,于是否,我们发现一直能访问,
但如果只访问:http://localhost:72 出现当访问到Nginx那一台出现因访问到目录的情况,是因为上面的命令打开了目录浏览,认为有数据返回,不是:http_502 http_504 error timeout invalid_header http_500 http_503 http_404,所以没有转移走,于是否,出现了目录的情况。
=============================================================================
可能出现的问题:[emerg]: "upstream" directive is not allowed here in ......
后来检查了一下原来是upstream backend 位置放错了, upstream位置应该放在http模块里面 但必须是在server模块的外面.
参考:http://wiki.nginx.org/LoadBalanceExample
再就是这种多IP下的Nginx负载均衡怎么用PHP的Smarty来自动化呢?一般情况都如下:
PHP的Smarty去配置server实现思考:
经PHP的smarty翻译后如下:
server 1.1 weight=1 max_fails fail_timeout=30s;
server 1.2 weight=1 max_fails fail_timeout=30s;
localip = 72.46.128.82
这样,也就实现了Nginx的自动配置,做一个前端的Web界面,后经过zoomkeeper,进行自动重启动nginx,进而reload这个修改过的nginx的配置文件即可。
PHP 5.4.0 正式版发布,扩展支持还跟不上,有待学习提高,用于生产还需等待。
Php/Js/Shell/Go jackxiang 2012-3-3 21:10
PHP 5.4.0 正式版发布了,该版本包含大量的新特性,同时也修复了很多的 bug ,其中新特性有 traits、一些数组语法的提升、内建的 Web 服务器、性能提升等等,想去请看 changelog
官方发行说明:http://php.net/releases/5_4_0.php
5.3 到 5.4 的移植指南:http://php.net/migration54
下载地址:http://php.net/downloads.php#v5.4.0
来自:http://www.oschina.net/news/26249/php-5-4-0-final
新特性:http://www.oschina.net/question/54100_33123
今天试装了一下这个最新的版本,PHP的ea加速有问题:
lroot@192.168.225.128:~/software/eaccelerator-0.9.6.1# make
make: Warning: File `Makefile' has modification time 2.7e+04 s in the future
Build complete.
Don't forget to run 'make test'.
make: 警告:检测到时钟错误。您的创建可能是不完整的。
2)APC加速:
文件上传进度反馈, 这个需求在当前是越来越普遍, 比如大附件邮件. 在PHP5.4以前, 我们可以通过APC提供的功能来实现. 或者使用PECL扩展uploadprogress来实现.
虽然说, 它们能很好的解决现在的问题, 但是也有很明显的不足:
1. 他们都需要额外安装(我们并没有打算把APC加入PHP5.4)
。。。来自:http://www.laruence.com/2011/10/10/2217.html
无大文件上传和进度需求,先安一下试试:
root@192.168.225.128:~/software/APC-3.1.9# phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
config.m4:180: warning: AC_CACHE_VAL(PHP_APC_GCC_ATOMICS, ...): suspicious cache-id, must contain _cv_ to be cached
../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
root@192.168.225.128:~/software/APC-3.1.9# make
make: *** 没有指明目标并且找不到 makefile。 停止
3)Memcache Client扩展,安装成功,但有问题:
root@192.168.225.128:~/software/memcache-2.2.6# ls /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so
/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so
问题:
root@192.168.225.128:~/software/memcache-2.2.6# php -m
PHP Warning: PHP Startup: Unable to load dynamic library ' /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so' - /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so: cannot open shared object file: No such file or directory in Unknown on line 0
Warning: PHP Startup: Unable to load dynamic library ' /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so' - /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so: cannot open shared object file: No such file or directory in Unknown on line 0
其他扩展,还没有试,我估计也有很多这样那样的问题,为此,我估计这个PHP5.4.0应该是一个过渡版本,还有很多东东,不光是它本身,还有周边配合主件的完善,这还是需要一短时间的。So,建议大家还是用这个:PHP5.3.10吧,毕竟生产环境不是实验场所。
官方发行说明:http://php.net/releases/5_4_0.php
5.3 到 5.4 的移植指南:http://php.net/migration54
下载地址:http://php.net/downloads.php#v5.4.0
来自:http://www.oschina.net/news/26249/php-5-4-0-final
新特性:http://www.oschina.net/question/54100_33123
今天试装了一下这个最新的版本,PHP的ea加速有问题:
lroot@192.168.225.128:~/software/eaccelerator-0.9.6.1# make
make: Warning: File `Makefile' has modification time 2.7e+04 s in the future
Build complete.
Don't forget to run 'make test'.
make: 警告:检测到时钟错误。您的创建可能是不完整的。
2)APC加速:
文件上传进度反馈, 这个需求在当前是越来越普遍, 比如大附件邮件. 在PHP5.4以前, 我们可以通过APC提供的功能来实现. 或者使用PECL扩展uploadprogress来实现.
虽然说, 它们能很好的解决现在的问题, 但是也有很明显的不足:
1. 他们都需要额外安装(我们并没有打算把APC加入PHP5.4)
。。。来自:http://www.laruence.com/2011/10/10/2217.html
无大文件上传和进度需求,先安一下试试:
root@192.168.225.128:~/software/APC-3.1.9# phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
config.m4:180: warning: AC_CACHE_VAL(PHP_APC_GCC_ATOMICS, ...): suspicious cache-id, must contain _cv_ to be cached
../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
root@192.168.225.128:~/software/APC-3.1.9# make
make: *** 没有指明目标并且找不到 makefile。 停止
3)Memcache Client扩展,安装成功,但有问题:
root@192.168.225.128:~/software/memcache-2.2.6# ls /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so
/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so
问题:
root@192.168.225.128:~/software/memcache-2.2.6# php -m
PHP Warning: PHP Startup: Unable to load dynamic library ' /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so' - /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so: cannot open shared object file: No such file or directory in Unknown on line 0
Warning: PHP Startup: Unable to load dynamic library ' /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so' - /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so: cannot open shared object file: No such file or directory in Unknown on line 0
其他扩展,还没有试,我估计也有很多这样那样的问题,为此,我估计这个PHP5.4.0应该是一个过渡版本,还有很多东东,不光是它本身,还有周边配合主件的完善,这还是需要一短时间的。So,建议大家还是用这个:PHP5.3.10吧,毕竟生产环境不是实验场所。
本文,摘写并加工自杜洋老师的音频节目:
放下,重识,运用,自我感悟,自我思考,自我风格,创新思维,真正的授人以渔,是一种思维方式,是一种尝试,没有系统,书店里只教技术,没有创新,也是市场的空白,前人很难把这些东西归纳,在商业管理,成功学里也有讲创新,但是理论上,没有聚焦,就好像某个技术,没有应用,这个应用就是针对创新具象的应用,
不能单单的说技术,也不能空的说概念,得结合实际,创新是对现有结构有设计加以改进,是个单片机,激光技术,某个工厂的造船技术等。
放下:放下现有思维方式,有点像洗脑,只要让你接受一种观念,就叫洗脑。具有强制性,无选择性,你没有别的思维去考虑问题,没有从多个角度去考虑,你可以选择,按各种方式去选择,你有没有新的思路去解释一个技术物件?怎么去学,大部分我们接触的知识都是单向的,看书,看完后会所有功能,你会操作,但不一定花样多,人人都会用笔,但能写出好字的较少,颠倒概念,倒掉传统,这就是放下,怎么放下?是忘掉所学么?不现实。放下,也就是多一些角度,多一些思维方式干同一件事,不是倒掉,而是注入新水,溢出一部分,从多角度去考虑问题,多角度本身就是一个思想工具,你可能就不会固执了,不会切换角度和立场,就是没有放下,为什么要倒掉,赤壁里面有一个片段,满了满了。。。(略) 创新本是一种紧缺,俏丽的资源,这是一种能力。
重识:重新倒水,因放下后,不知道何去何从后,你空了,导入创新思维的水,一种行为习惯,它是一种理性思维,没有主见,给新的主见,人是有天赋的,但这个创新思维是可以学习的。一大拿因被打下山谷,不段潜移默化,不段发现,感悟,此侠客被逼也好,忍辱负重也罢,他愿意思考,思考可是实实在在的是一个工具。有一部分人,有缘遇到好的指导的人,愿意思考,愿意学,努力去完成这个转变。有思想有什么用?不能变成一个设计,一个很虚无的东西,那就是下面的运用了。
运用:转变思维,用思想这个工具,改变思想本身,用思思(是工具?),来改变其本身这个工具(有点像练习葵花宝典:欲练此功,必先自),放下和重识之后,把我们学过的东西用在我们的实例,通过实例,弄明白设计和应用,在程序的编写方法,功能设计,外观UI设计,面向客户群的营销的分析(辅)。
做一个创新思维的清道夫。。。EOF
放下,重识,运用,自我感悟,自我思考,自我风格,创新思维,真正的授人以渔,是一种思维方式,是一种尝试,没有系统,书店里只教技术,没有创新,也是市场的空白,前人很难把这些东西归纳,在商业管理,成功学里也有讲创新,但是理论上,没有聚焦,就好像某个技术,没有应用,这个应用就是针对创新具象的应用,
不能单单的说技术,也不能空的说概念,得结合实际,创新是对现有结构有设计加以改进,是个单片机,激光技术,某个工厂的造船技术等。
放下:放下现有思维方式,有点像洗脑,只要让你接受一种观念,就叫洗脑。具有强制性,无选择性,你没有别的思维去考虑问题,没有从多个角度去考虑,你可以选择,按各种方式去选择,你有没有新的思路去解释一个技术物件?怎么去学,大部分我们接触的知识都是单向的,看书,看完后会所有功能,你会操作,但不一定花样多,人人都会用笔,但能写出好字的较少,颠倒概念,倒掉传统,这就是放下,怎么放下?是忘掉所学么?不现实。放下,也就是多一些角度,多一些思维方式干同一件事,不是倒掉,而是注入新水,溢出一部分,从多角度去考虑问题,多角度本身就是一个思想工具,你可能就不会固执了,不会切换角度和立场,就是没有放下,为什么要倒掉,赤壁里面有一个片段,满了满了。。。(略) 创新本是一种紧缺,俏丽的资源,这是一种能力。
重识:重新倒水,因放下后,不知道何去何从后,你空了,导入创新思维的水,一种行为习惯,它是一种理性思维,没有主见,给新的主见,人是有天赋的,但这个创新思维是可以学习的。一大拿因被打下山谷,不段潜移默化,不段发现,感悟,此侠客被逼也好,忍辱负重也罢,他愿意思考,思考可是实实在在的是一个工具。有一部分人,有缘遇到好的指导的人,愿意思考,愿意学,努力去完成这个转变。有思想有什么用?不能变成一个设计,一个很虚无的东西,那就是下面的运用了。
运用:转变思维,用思想这个工具,改变思想本身,用思思(是工具?),来改变其本身这个工具(有点像练习葵花宝典:欲练此功,必先自),放下和重识之后,把我们学过的东西用在我们的实例,通过实例,弄明白设计和应用,在程序的编写方法,功能设计,外观UI设计,面向客户群的营销的分析(辅)。
做一个创新思维的清道夫。。。EOF
163为它的游戏用户推出了动态口令卡。售价才10元。这让我非常的诧异。首先,我觉得这几乎是无懈可击的密保技术。其次,RSA的 SecurID卡在国内在几百RMB一个。而163的这东西,实在是便宜……
RSA 令牌 SID700 RSA SecurID
以前一直对这东西的原理很好奇。今天翻了些文档,略微整理如下:
1、密码:
登陆密码=f(静态密码,动态密码)。
静态密码就是用户自己设置的一个密码。
动态密码是通过卡动态生成的密码。
f是一个简单函数。例如不进位的加法、字符串拼接。
用户的静态密码最好是不要通过电脑键盘输入不通过网络传输的,所以很不推荐采用字符串拼接的方式。
2、构成
一个8位的处理器,一个时钟,一个LCD显示屏,一块电池。可能还会有一个键盘。
外壳的设计目标:一旦打开外壳,那么立即清空内存数据。
内部的设计目标:存储一个种子文件。然后按文件中的数据和当前时间拼起来进行AES,然后hash成6-8位的数字,显示在LCD上。
如果有键盘,那么用户可以通过键盘输入一串数字(用户的静态密码)。卡把这串数字(静态密码)与卡实际生成的数字(动态密码)用一种公开的算法(前面所说的那个f)进行组合,然后显示出来。通常采用的是不进位的加法。因此这个部件不是我们所需要关心的部分。
理论上来讲,如果知道种子、如果知道时间、如果知道生成器内部所采用的算法,那么我们就可以自行的算出这个动态密码。既然RSA公司敢发布软件版的生成器,那么就意味着它不怕这个算法被知道。事实上这个算法被hacker们公开已经是10年前的事情了。一个俄国hacker在发布自己的软件模拟器后留下这样一段话:
“RSA公司的伙计们:
如果你需要人帮助你设计安全的加密算法和协议,告诉我们,我们将会帮助你做出来。俄罗斯人并不都是熊。我们的国际象棋比你们下的好,记住!”
但是难点在于从卡中取走种子文件。就目前而言,是不可能通过它产生的随机序列反推回去得到它的种子文件的。
在网上看到了另一种类似方案:
1、用户输入一个用户名,发送给服务器
2、服务器返回一个随机数,记做C
3、用户使用自己的密码unlock动态口令卡
4、用户输入C。动态口令卡计算f(C,time,seed),然后显示出来
5、用户把口令卡的结果发送给服务器6
6、用户锁住口令卡
将DKEY动态密码结合PAM认证方案,在PAM静态密码认证基础之上,增加一层宁盾动态密码(该密码是由硬件令牌产生,每隔60秒变化一次,密码一次使用有效)认证,用以提升Linux/Unix服务器安全。
网址:http://ndkey.com/zh/dkey_for_linux.html
Linux Pam认证:http://www.chineselinuxuniversity.net/articles/35383.shtml
Tencent 也有类似的产品:http://item.taobao.com/item.htm?spm=a230r.1.10.156.Stwlht&id=15704549799&_u=119u1sf4e9
淘宝一堆这样的产品:http://s.taobao.com/search?q=%C1%EE%C5%C6%CB%F8&initiative_id=staobaoz_20121201
RSA SecurID Software Token:
http://m.163.com/android/software/31teqh.html
使用TC采用RSA算法制作C语言代码:http://wenwen.soso.com/z/q188326537.htm
——————————————————————————————————————————
rsa编程1
要求输入p,q,e
输出d
算法描述为求逆元的方法
RSA 令牌 SID700 RSA SecurID
以前一直对这东西的原理很好奇。今天翻了些文档,略微整理如下:
1、密码:
登陆密码=f(静态密码,动态密码)。
静态密码就是用户自己设置的一个密码。
动态密码是通过卡动态生成的密码。
f是一个简单函数。例如不进位的加法、字符串拼接。
用户的静态密码最好是不要通过电脑键盘输入不通过网络传输的,所以很不推荐采用字符串拼接的方式。
2、构成
一个8位的处理器,一个时钟,一个LCD显示屏,一块电池。可能还会有一个键盘。
外壳的设计目标:一旦打开外壳,那么立即清空内存数据。
内部的设计目标:存储一个种子文件。然后按文件中的数据和当前时间拼起来进行AES,然后hash成6-8位的数字,显示在LCD上。
如果有键盘,那么用户可以通过键盘输入一串数字(用户的静态密码)。卡把这串数字(静态密码)与卡实际生成的数字(动态密码)用一种公开的算法(前面所说的那个f)进行组合,然后显示出来。通常采用的是不进位的加法。因此这个部件不是我们所需要关心的部分。
理论上来讲,如果知道种子、如果知道时间、如果知道生成器内部所采用的算法,那么我们就可以自行的算出这个动态密码。既然RSA公司敢发布软件版的生成器,那么就意味着它不怕这个算法被知道。事实上这个算法被hacker们公开已经是10年前的事情了。一个俄国hacker在发布自己的软件模拟器后留下这样一段话:
“RSA公司的伙计们:
如果你需要人帮助你设计安全的加密算法和协议,告诉我们,我们将会帮助你做出来。俄罗斯人并不都是熊。我们的国际象棋比你们下的好,记住!”
但是难点在于从卡中取走种子文件。就目前而言,是不可能通过它产生的随机序列反推回去得到它的种子文件的。
在网上看到了另一种类似方案:
1、用户输入一个用户名,发送给服务器
2、服务器返回一个随机数,记做C
3、用户使用自己的密码unlock动态口令卡
4、用户输入C。动态口令卡计算f(C,time,seed),然后显示出来
5、用户把口令卡的结果发送给服务器6
6、用户锁住口令卡
将DKEY动态密码结合PAM认证方案,在PAM静态密码认证基础之上,增加一层宁盾动态密码(该密码是由硬件令牌产生,每隔60秒变化一次,密码一次使用有效)认证,用以提升Linux/Unix服务器安全。
网址:http://ndkey.com/zh/dkey_for_linux.html
Linux Pam认证:http://www.chineselinuxuniversity.net/articles/35383.shtml
Tencent 也有类似的产品:http://item.taobao.com/item.htm?spm=a230r.1.10.156.Stwlht&id=15704549799&_u=119u1sf4e9
淘宝一堆这样的产品:http://s.taobao.com/search?q=%C1%EE%C5%C6%CB%F8&initiative_id=staobaoz_20121201
RSA SecurID Software Token:
http://m.163.com/android/software/31teqh.html
使用TC采用RSA算法制作C语言代码:http://wenwen.soso.com/z/q188326537.htm
——————————————————————————————————————————
rsa编程1
要求输入p,q,e
输出d
算法描述为求逆元的方法
一直以来,google android手机老是出现google talk身份验证失败,然后就是提示声音,这样道也习惯了,但偶尔还会收到在google上注册的gmail邮箱收到的邮件,但99%的时间都是身份验证失败,我估计是国内把那个域名或者System\etc\hosts文件的IP给屏蔽了,导致连接不上这个服务器,或者给防火墙堵了,不用也罢,但不想让它这样的骚扰,于是想卸载它,手机应用程序找不到google talk这个程序,有一次直接弄到root给相关服务卸载了,但手机开机挂了,返回去刷机,又给装回来了,这Google明明是一件好事,但这样整出个骚扰用户了,老是这么身份验证失败,我们也就用个google android玩玩,没有必要去细节深入其中的道理,我于是在网上找到这么一段:
./plugin/seopack/firstheader.php: $fp = @fopen('sitemap.xml', 'w+') or die('没有建立文件或者写入权限,因此保存文件失败.请设置好权限再尝试.');
grep -r "没有建立文件或者写入权限,因此保存文件失败.请设置好权限再尝试." ./
./plugin/seopack/firstheader.php: $fp = @fopen('sitemap.xml', 'w+') or die('没有建立文件或者写入权限,因此保存文件失败.请设置好权限再尝试.');
vi ./plugin/seopack/firstheader.php
查看刚迁移过这个目录下的这个文件位置:
jackxiang@72.46.128.82:~/public_html# find . -name "sitemap.xml"
./sitemap.xml
发现自己的这个突然没有了,于是给touch一个,如下:
。。。
我在想怎么会给出现这个问题呢?我有时间问一下bob。
grep -r "没有建立文件或者写入权限,因此保存文件失败.请设置好权限再尝试." ./
./plugin/seopack/firstheader.php: $fp = @fopen('sitemap.xml', 'w+') or die('没有建立文件或者写入权限,因此保存文件失败.请设置好权限再尝试.');
vi ./plugin/seopack/firstheader.php
查看刚迁移过这个目录下的这个文件位置:
jackxiang@72.46.128.82:~/public_html# find . -name "sitemap.xml"
./sitemap.xml
发现自己的这个突然没有了,于是给touch一个,如下:
。。。
我在想怎么会给出现这个问题呢?我有时间问一下bob。