手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2013年07月的文章

phing的配置文件

 官网上有一份phing的基本配置文件,网上又找了一份比较复杂的,根据自己的项目对比一下喽

官网配置文件:
http://www.phing.info/docs/guide/stable/chapters/GettingStarted.html
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2.   
  3. <project name="FooBar" default="dist">  
  4.   
  5.     <!-- ============================================  -->  
  6.     <!-- Target: prepare                               -->  
  7.     <!-- ============================================  -->  
  8.     <target name="prepare">  
  9.         <echo msg="Making directory ./build" />  
  10.         <mkdir dir="./build" />  
  11.     </target>  
  12.   
  13.     <!-- ============================================  -->  
  14.     <!-- Target: build                                 -->  
  15.     <!-- ============================================  -->  
  16.     <target name="build" depends="prepare">  
  17.         <echo msg="Copying files to build directory..." />  
  18.   
  19.         <echo msg="Copying ./about.php to ./build directory..." />  
  20.         <copy file="./about.php" tofile="./build/about.php" />  
  21.   
  22.         <echo msg="Copying ./browsers.php to ./build directory..." />  
  23.         <copy file="./browsers.php" tofile="./build/browsers.php" />  
  24.   
  25.         <echo msg="Copying ./contact.php to ./build directory..." />  
  26.         <copy file="./contact.php" tofile="./build/contact.php" />  
  27.     </target>  
  28.   
  29.     <!-- ============================================  -->  
  30.     <!-- (DEFAULT)  Target: dist                       -->   
  31.     <!-- ============================================  -->  
  32.     <target name="dist" depends="build">  
  33.         <echo msg="Creating archive..." />  
  34.   
  35.         <tar destfile="./build/build.tar.gz" compression="gzip">  
  36.             <fileset dir="./build">  
  37.                 <include name="*" />  
  38.             </fileset>  
  39.         </tar>  
  40.   
  41.         <echo msg="Files copied and compressed in build directory OK!" />  
  42.     </target>  
  43. </project>  
 
第三方配置文件 :
参考:https://gist.github.com/leric/1216551
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2.    
  3. <project name="ucenter" default="deploy">  
  4.    
  5.     <!-- Target: config 设置变量,控制部署到不同环境-->  
  6.     <target name="config">  
  7.         <property name="svn_user" value="leric" />  
  8.         <property name="svn_pass" value="" />  
  9.         <input propertyname="deploy_env">Deploy to Env(prod|test):</input>  
  10.         <if>  
  11.             <equals arg1="${deploy_env}" arg2="prod" />  
  12.             <then>  
  13.                 <property name="project_home" value="/opt/www/ucenter" />  
  14.                 <property name="web_servers" value="www.ucenter.com,www2.ucenter.com" />  
  15.                 <property name="web_server_user" value="leric" />  
  16.                 <property name="web_server_pass" value="leric" />  
  17.             </then>  
  18.         </if>  
  19.         <if>  
  20.             <equals arg1="${deploy_env}" arg2="test" />  
  21.             <then>  
  22.                 <property name="project_home" value="/opt/www/ucenter" />  
  23.                 <property name="web_servers" value="127.0.0.1" />  
  24.                 <property name="web_server_user" value="root" />  
  25.                 <property name="web_server_pass" value="123456" />  
  26.             </then>  
  27.         </if>  
  28.     </target>  
  29.    
  30.     <!-- Target: build  Checkout from svn, and make tar.gz -->  
  31.     <target name="build" depends="config">  
  32.         <echo msg="Export code from svn..." />  
  33.         <input propertyname="export_revision">Revision to export from svn:</input>  
  34.         <svnupdate  
  35.            svnpath="svn"  
  36.            revision="${export_revision}"  
  37.            username="${svn_user}" password="${svn_pass}"  
  38.            nocache="true"  
  39.            todir="./"/>  
  40.    
  41.         <echo msg="Creating archive..." />  
  42.         <delete file="./dist.tar.gz" />  
  43.         <tar destfile="./dist.tar.gz" compression="gzip" prefix="rev_${export_revision}">  
  44.             <fileset dir="./" defaultexcludes="true">  
  45.                 <include name="**" />  
  46.                 <exclude name="**/.svn" />  
  47.             </fileset>  
  48.         </tar>  
  49.     </target>  
  50.    
  51.     <!-- Target: deploy   Upload tar.gz, switch to uploaded revision  -->  
  52.     <target name="deploy" depends="config,build">  
  53.         <foreach list="${web_servers}" param="web_server" target="deploy_one" />  
  54.     </target>  
  55.     <target name="deploy_one">  
  56.         <scp username="${web_server_user}" password="${web_server_pass}"  
  57.                 host="${web_server}" todir="${project_home}/revs"  
  58.                 file="./dist.tar.gz" />  
  59.    
  60.         <ssh username="${web_server_user}" password="${web_server_pass}"  
  61.                  host="${web_server}"  
  62.                  command="cd ${project_home}/revs; tar zxf dist.tar.gz; rm dist.tar.gz;" />  
  63.    
  64.         <ssh username="${web_server_user}" password="${web_server_pass}"  
  65.                  host="${web_server}"  
  66.                  command="rm -f ${project_home}/current; ln -s ${project_home}/revs/rev_${export_revision} ${project_home}/current" />  
  67.     </target>  
  68.       
  69.     <!-- Target: switch    Switch current revision  -->  
  70.     <target name="switch" depends="config">  
  71.         <foreach list="${web_servers}" param="web_server" target="switch_one" />  
  72.     </target>  
  73.     <target name="switch_one">  
  74.         <ssh username="${web_server_user}" password="${web_server_pass}"  
  75.              host="${web_server}"  
  76.              command="ls -al ${project_home}/revs" />  
  77.         <input propertyname="revision">Revision to set as active:</input>  
  78.         <ssh username="${web_server_user}" password="${web_server_pass}"  
  79.              host="${web_server}"  
  80.              command="rm -f ${project_home}/current; ln -s ${project_home}/revs/rev_${revision} ${project_home}/current" />   
  81.     </target>  
  82.       
  83.       
  84.     <!-- Target: update_deps  Update server setting by execute scripts(database, crontab, restart service, etc.)  -->  
  85.     <target name="update_deps" depends="config">  
  86.         <foreach list="${web_servers}" param="web_server" target="update_deps_one" />  
  87.     </target>  
  88.     <target name="update_deps_one">  
  89.         <ssh username="${web_server_user}" password="${web_server_pass}"  
  90.              host="${web_server}"  
  91.              command="cd ${project_home}/current; sudo cp crontab /etc/cron.d/ucenter" />  
  92.         <ssh username="${web_server_user}" password="${web_server_pass}"  
  93.              host="${web_server}"  
  94.              command="cd ${project_home}/current; php app/scripts/migration.php" />  
  95.         <input propertyname="confirm_sql">Confirm database migration sql script(yes|no):</input>  
  96.         <if>  
  97.             <equals arg1="${confirm_sql}" arg2="yes" />  
  98.             <then>  
  99.                 <ssh username="${web_server_user}" password="${web_server_pass}"  
  100.                      host="${web_server}"  
  101.                      command="cd ${project_home}/current; php app/scripts/migration.php execute" />  
  102.             </then>  
  103.         </if>  
  104.     </target>  
  105. </project>  
详细的文档还是看官方吧:http://www.phing.info/trac/wiki/Users/Documentation,我目前是在利用phpstorm的phing进行测试,但事实上还不如直接用命令行罢了,自从phpstorm升到6之后,对于一些可执行文件都开始用phar进行封装了。这是一件好事。
 
为了更好的使用phing,还是需要把文档看完的:http://www.phing.info/docs/guide/stable/,事实上phing在几年前就准备开始尝试了,但最终都没有正式在项目里使用。为了以后更好的管理和发布项目,想了想,还是先试一下。
事实上,我是想将一份代码分发到N台服务器,所以我最近在做不停的尝试。。。也考虑过用git进行分发,只是还没有开始罢了。估计下一步就会用git进行测试了

Tags: phing

淘宝客程序中获取图片尺寸

 在sablog上看到淘宝客图片的尺寸,还有,在各种各样的网站上都看到了一些尺寸,其实,这些都是大家在摸索

然而,官方早就有了文档,只是我们没有看到罢了。比如在这里:http://www.taobao.com/market/market/mobile/yuanjin.php?spm=0.0.0.0.Zz1B0Y,点击【获取图片】,你会发现,原来官方提供了N个尺寸,
XML/HTML代码
  1. 淘宝后台的图片尺寸规格如下:  
  2. ZoomAddType _80x40.jpg 84(代表相素为80*40)以下类似  
  3. ZoomAddType _60x30.jpg 63  
  4. ZoomAddType _300.jpg 300  
  5. ZoomAddType _81x65.jpg 81 65  
  6. ZoomAddType _110x90.jpg 110 90  
  7. ZoomAddType _24x24.jpg 24  
  8. ZoomAddType _30x30.jpg 30  
  9. ZoomAddType _40x40.jpg 40  
  10. ZoomAddType _60x60.jpg 60  
  11. ZoomAddType _70x70.jpg 70  
  12. ZoomAddType _80x80.jpg 80  
  13. ZoomAddType _100x100.jpg 100  
  14. ZoomAddType _110x110.jpg 110  
  15. ZoomAddType _120x120.jpg 120  
  16. ZoomAddType _160x160.jpg 160  
  17. ZoomAddType _170x170.jpg 170  
  18. ZoomAddType _250x250.jpg 250  
  19. ZoomAddType _310x310.jpg 310  
  20. ZoomAddType _670x670.jpg 670  
  21. ZoomAddType _620x10000.jpg 620 10000  
这时候,你是什么情况?有没有和你的小伙伴一样都惊呆了?嗯,我在网上看到的这些:
XML/HTML代码
  1. 缩图常见尺寸:  
  2.   
  3.   _40x40.jpg  
  4.   _70x70.jpg  
  5.   _100×100.jpg  
  6.   _120x120.jpg  
  7.   _160x160.jpg  
  8.   _320x320.jpg  
  9.   _480x480.jpg  
  10.   _600x600.jpg  
  11.   _sum.jpg(缩略图专用,其实是80x80)   
  12.   _b.jpg(大图专用,220x220)  
和上面的尺寸不太一样,不过也差不多了,做一个merge吧。
 
获取淘宝图片的方法如下:
 
大小: 42.1 K
尺寸: 500 x 352
浏览: 1316 次
点击打开新窗口浏览全图
不算太复杂吧?
 
 
 
 

Tags: 淘宝客

macjournal打开隐藏选项

 Macjournal是一款??软件。这个问号,我实在不知道怎么说,主要是因为:

  1. 它支持wordpress等的导入导出,也能将写的文章发布到wordpress上面
  2. 它也有日程
  3. 它也能写作,专门有一个book的模版
  4. 笔记也能够按日历查看还有记录等
  5. 可对单一文章进行特殊标识:打tag,设置地点,rating,设置心情。。。等等,我晶,太多了吧?比如设置颜色、设置。。。。
我用它来是做笔记的,本来是用evernote,但新版的evernote实在是不支持层级关系了。觉得不爽,所以还是一咬牙换成了macjournal,可以设置备份,我将备份扔到了快盘的目录下。
 
跑题了跑题了,我这里是说,如何打开macjournal的隐藏选项,因为隐藏选项支持markdown。。。
1、进入设置
2、点击advance
3、按住cmd+ctl键,你会发现,原来的:reveal in fiider 变了,变成打开隐藏选项
4、点击,打开了隐藏选项,oh yeah,居然这么多??
大小: 152.99 K
尺寸: 440 x 376
浏览: 1212 次
点击打开新窗口浏览全图
 
 PS:如果你的版本不是6.x,建议你看这个:http://danschimpf.com/hiddenprefs.html
 
 

Tags: macjournal

PHP招聘群:221415375

【由于配套设施没有准备好,本群已沦陷。暂时关闭,不加新人。如觉得没有帮助,可先退出。我先筹备配套设施 】 

我建了一个PHPer的招聘群,欢迎大家加入到:221415375,只求职、招聘,不聊天

现在还没有几个人,希望慢慢人会多吧

其实,我在我首页也放了一个 招聘,不过基本上是上海地区的:工作机会,慢慢的,一步一步来吧

取得html中的comment的内容

 Html中的comment其实也有nodeType的,只是我们一直不用罢了。它的nodeType = 8哦。于是,就有了一个基于jQuery的插件:comments

它来自:http://www.bennadel.com/blog/1563-jQuery-Comments-Plug-in-To-Access-HTML-Comments-For-DOM-Templating.htm

JavaScript代码
  1. <--- --------------------------------------------------------------------------------------- ----  
  2.       
  3.     Blog Entry:  
  4.     jQuery Comments() Plug-in To Access HTML Comments For DOM Templating  
  5.       
  6.     Author:  
  7.     Ben Nadel / Kinky Solutions  
  8.       
  9.     Link:  
  10.     http://www.bennadel.com/index.cfm?event=blog.view&id=1563  
  11.       
  12.     Date Posted:  
  13.     Apr 14, 2009 at 7:01 PM  
  14.       
  15. ---- --------------------------------------------------------------------------------------- --->  
  16.   
  17.   
  18. // This jQuery plugin will gather the comments within  
  19. // the current jQuery collection, returning all the  
  20. // comments in a new jQuery collection.  
  21. //  
  22. // NOTE: Comments are wrapped in DIV tags.  
  23.    
  24. jQuery.fn.comments = function( blnDeep ){  
  25.     var blnDeep = (blnDeep || false);  
  26.     var jComments = $( [] );  
  27.    
  28.     // Loop over each node to search its children for  
  29.     // comment nodes and element nodes (if deep search).  
  30.     this.each(  
  31.         function( intI, objNode ){  
  32.             var objChildNode = objNode.firstChild;  
  33.             var strParentID = $( this ).attr( "id" );  
  34.    
  35.             // Keep looping over the top-level children  
  36.             // while we have a node to examine.  
  37.             while (objChildNode){  
  38.    
  39.                 // Check to see if this node is a comment.  
  40.                 if (objChildNode.nodeType === 8){  
  41.    
  42.                     // We found a comment node. Add it to  
  43.                     // the nodes collection wrapped in a  
  44.                     // DIV (as we may have HTML).  
  45.                     jComments = jComments.add(  
  46.                         "<div rel='" + strParentID + "'>" +  
  47.                         objChildNode.nodeValue +  
  48.                         "</div>"  
  49.                         );  
  50.    
  51.                 } else if (  
  52.                     blnDeep &&  
  53.                     (objChildNode.nodeType === 1)  
  54.                     ) {  
  55.    
  56.                     // Traverse this node deeply.  
  57.                     jComments = jComments.add(  
  58.                         $( objChildNode ).comments( true )  
  59.                         );  
  60.    
  61.                 }  
  62.    
  63.                 // Move to the next sibling.  
  64.                 objChildNode = objChildNode.nextSibling;  
  65.    
  66.             }  
  67.    
  68.         }  
  69.         );  
  70.    
  71.     // Return the jQuery comments collection.  
  72.     return( jComments );  
  73. }  

代码其实并不多,大概知道就好,本来是用phpQuery也这样写的。但发现。。。stick的时候,即使我选择了nodeType=8也取不到值。我晕啊,最后我只能用正则将注释取出来当成内容用了。

早先有人把代码扔在textarea里,用来当成数据加载,现在也有人开始无耻的利用注释了。真不厚道

 

 

Tags: jquery, comment

Records:181234