易栈网-膘叔

浏览模式: 标准 | 列表 | 图文
买了个香港的VPS

买了个香港的VPS

好象,最近我的VPS越来越多了。会慢慢精简掉一点,之所以买香港的VPS,原因有2:1是速度,2是不要备案。

不要备案,真的很重要啊。。。
开始要关注性能了

开始要关注性能了

不得不说,我现在要开始关注性能和稳定性了

最近检查命令行下程序的输出,发现最后退出的LOG大多数是allow memory ....的问题,固然这个命令行下面内存释放有问题有关,但主动释放还是必要的。
毕竟web页在处理完当前请求后,还能够被回收掉一点。php-fpm之类的,还能帮忙,但命令行,它就没有断开过,一直在运行,因此,需要注意一下释放了
或者在无法释放的时候,自己设置一个临界点。到临界点的时候自我重启一下也OK。
逐步开始研究下

mbp换ssd硬盘后,无线和蓝牙没了,怎么办?

这是一个转载的内容,对自己可能有用,记录下来:

问题:
如题:
我的笔记本是老本子,总体还是比较满意,只是觉得传统机械硬盘太慢(以前升级到500G),前几天心痒,购入镁光 M4 256G固态硬盘,并买了光驱硬盘托架,今天更换成功,更换的细节如下:
1、将SSD安装在原HD位置;
2、将原光驱拆下,并将500G原来的机械硬盘放入光驱托架,完美;
3、按上各种连接排线,安好螺丝后;重启,2个硬盘成功显示,并能格式化SSD,并重装了10.8GM;原硬盘上的系统仍在,还未删除。


但找不到WIFI和蓝牙了,SSD上的10.8GM和原硬盘上的10.7.4都找不到了,显示:未安装硬件。
我反复拆机,不知道问题出在哪里?貌似也比较仔细,没有动其他的排线或硬件,求解!!!


另:曾经尝试的工作:
1、修复磁盘权限;
2、用重置系统硬件(shifit+control+option+power共10秒)、重置SMC管理器(option+command+r+p+power共4次),无效;
困惑了,是不能更换原硬盘位置,将SSD放在光驱位???(想想应该不是这个原因),还是把无线的部分搞坏了?(应该也没碰别的地方啊)
然后有高人回答:
光驱的排线接口旁边还有个接口,是蓝牙,WIFI和摄像头的三合一接口,估计有可能是那个接口松动了,拔下来重新插一次,然后用上面自带的贴纸固定一下。
---EOF---
记录一下,可能会用到

完成两个小工具

今天完成了两个小工具
1、靖江日报电子版的提取

2、上海交通违章的自动查询
靖江日报电子版的难点不多,很快就解决了,基本上也就半小时
上海交通违章的查询就有点麻烦了
1、验证码是bmp的。。
2、验证码的提交经常失败
3、post的时候,模拟数据用的是utf-8,死活不对。。
解决这三个问题,剩下的就是一些细节了。
---
其实这两天还做了很多小玩意
1、淘宝商品的获取和商品详情的取得
2、上述功能的自动更新和批量处理
3、不足:不知道淘宝客的点击怎么生成(目前我没有isv权限,如果说用接口的,请绕路)
4、测试了阿里妈妈的jssdk,但无法跳转(点击的时候是可以生成s.click的url,但没法入库,很纠结)
5、暂时没有办法生成阿里妈妈后台的:单品自定义链接(用flash的,我一下子不会生成),不过应该很快了。。。
不能绑定域名的appfog

不能绑定域名的appfog

AppFog不能绑定域名其实有好久了。但我因为有几个域名一直绑定在上面,没有受到影响,所以我也就没有过多的关注这个。

直到最近,我想绑定一个域名的时候,才发现,原来。。。已经不能绑定了。
这让我对appfog的好感下降了不少,当然最主要的是,他的最低版本的费用20刀,所能做的也就仅仅绑定一个域名罢了。那增加的一点点流量和数据库空间与没增加没什么区别。
失望 ,看一下ZendCloud再说了
不过,要说纯没有用嘛,那也不至于,至少,如果你流量不大,你拿来做cdn也不错,毕竟他有新加坡节点。你的站如果在美国,用它做cdn也能提高点速度。
Mac QQ 经常崩溃

Mac QQ 经常崩溃

今天中午开始。macQQ开始每几分钟崩溃一次。之前是某个群的聊天记录死活打不开,删不掉,这回好了。改成经常崩了

到系统目录下面看了一下,哇塞,1.1G啊。然后再看一下,靠图片700多M啊。再ls了一下。不是吧?700多M的图片放在同一个目录下。你这不是诚心要我死嘛 。
一个图片1M也得有700个文件,QQ传图怎么可能1M1个呢。。统计了一下,14000多个文件。
拜托,你QQ就算放图片难道不会分级 存储吗?这样不是要死人、??
不得已。把这个目录清空了。现在好象好一点了。
Java木马集合

Java木马集合

最近structs很火啊,因此很多人中招了,有人发现自己的网站上被挂了N个马。居然还各不相同,于是他贴了出来。

我下载下来看了下,大家可以学习。其实,其中有一些并不是木马,而是文件浏览的程序。
不过针对那些木马程序,心里的自豪感油然而生,PHP的木马只要一行。而java的木马要。。。。。
你自己看吧。怪不得那些人说java笨重,连写个木马都得上K的字节,这放哪个文件 里就不能被认出来?
附件:
将typecho移植到bae

将typecho移植到bae

发现一个问题,BAE可以直接用$_FILES变量,所以相对来说,移值到BAE上面的项目其实就只不过将数据库的配置改一下罢了。在正常情况下,因为没有办法使用install.php(主要是因为大部分的安装文件 都不允许你在form表单里输入常量,而只能是一个字符串)。

OK,下载原版的typecho ,然后在本地安装一下。将config.inc.php中的数据库配置调整一下。改为线上配置

同时将你的mysql导出,到线上去的phpmyadmin里执行一下。

整个世界就清静多了。

如果你觉得我说的太简单,或者你觉得太麻烦,不想先在本地安装,你可以参考这个:http://mrasong.com/item/typecho-for-bae.html,注意文章的最后有一段不要忘了,就是它的密码。。。。。否则你会发现你没办法登录。

---
BAE有另一个很严重的问题,那就是我之前说的$_FILES可以直接使用,同时可以直接将文件上传在项目目录下,但这部分代码是不受控制的。很让人麻烦。

typecho也能够在线修改模版文件 ,即这些修改的文件,又不在代码控制的范围了。。。
---有时候我不知道BAE究竟是什么,只是一个虚拟空间吗?或许我这样理解,就不会有感慨 了。。

phing的配置文件

phing的配置文件

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

官网配置文件:
<?xml version="1.0" encoding="UTF-8"?>

<project name="FooBar" default="dist">

<!-- ============================================ -->
<!-- Target: prepare -->
<!-- ============================================ -->
<target name="prepare">
<echo msg="Making directory ./build" />
<mkdir dir="./build" />
</target>

<!-- ============================================ -->
<!-- Target: build -->
<!-- ============================================ -->
<target name="build" depends="prepare">
<echo msg="Copying files to build directory..." />

<echo msg="Copying ./about.php to ./build directory..." />
<copy file="./about.php" tofile="./build/about.php" />

<echo msg="Copying ./browsers.php to ./build directory..." />
<copy file="./browsers.php" tofile="./build/browsers.php" />

<echo msg="Copying ./contact.php to ./build directory..." />
<copy file="./contact.php" tofile="./build/contact.php" />
</target>

<!-- ============================================ -->
<!-- (DEFAULT) Target: dist -->
<!-- ============================================ -->
<target name="dist" depends="build">
<echo msg="Creating archive..." />

<tar destfile="./build/build.tar.gz" compression="gzip">
<fileset dir="./build">
<include name="*" />
</fileset>
</tar>

<echo msg="Files copied and compressed in build directory OK!" />
</target>
</project>
第三方配置文件 :
<?xml version="1.0" encoding="UTF-8"?>

<project name="ucenter" default="deploy">

<!-- Target: config 设置变量,控制部署到不同环境-->
<target name="config">
<property name="svn_user" value="leric" />
<property name="svn_pass" value="" />
<input propertyname="deploy_env">Deploy to Env(prod|test):</input>
<if>
<equals arg1="${deploy_env}" arg2="prod" />
<then>
<property name="project_home" value="/opt/www/ucenter" />
<property name="web_servers" value="www.ucenter.com,www2.ucenter.com" />
<property name="web_server_user" value="leric" />
<property name="web_server_pass" value="leric" />
</then>
</if>
<if>
<equals arg1="${deploy_env}" arg2="test" />
<then>
<property name="project_home" value="/opt/www/ucenter" />
<property name="web_servers" value="127.0.0.1" />
<property name="web_server_user" value="root" />
<property name="web_server_pass" value="123456" />
</then>
</if>
</target>

<!-- Target: build Checkout from svn, and make tar.gz -->
<target name="build" depends="config">
<echo msg="Export code from svn..." />
<input propertyname="export_revision">Revision to export from svn:</input>
<svnupdate
svnpath="svn"
revision="${export_revision}"
username="${svn_user}" password="${svn_pass}"
nocache="true"
todir="./"/>

<echo msg="Creating archive..." />
<delete file="./dist.tar.gz" />
<tar destfile="./dist.tar.gz" compression="gzip" prefix="rev_${export_revision}">
<fileset dir="./" defaultexcludes="true">
<include name="**" />
<exclude name="**/.svn" />
</fileset>
</tar>
</target>

<!-- Target: deploy Upload tar.gz, switch to uploaded revision -->
<target name="deploy" depends="config,build">
<foreach list="${web_servers}" param="web_server" target="deploy_one" />
</target>
<target name="deploy_one">
<scp username="${web_server_user}" password="${web_server_pass}"
host="${web_server}" todir="${project_home}/revs"
file="./dist.tar.gz" />

<ssh username="${web_server_user}" password="${web_server_pass}"
host="${web_server}"
command="cd ${project_home}/revs; tar zxf dist.tar.gz; rm dist.tar.gz;" />

<ssh username="${web_server_user}" password="${web_server_pass}"
host="${web_server}"
command="rm -f ${project_home}/current; ln -s ${project_home}/revs/rev_${export_revision} ${project_home}/current" />
</target>

<!-- Target: switch Switch current revision -->
<target name="switch" depends="config">
<foreach list="${web_servers}" param="web_server" target="switch_one" />
</target>
<target name="switch_one">
<ssh username="${web_server_user}" password="${web_server_pass}"
host="${web_server}"
command="ls -al ${project_home}/revs" />
<input propertyname="revision">Revision to set as active:</input>
<ssh username="${web_server_user}" password="${web_server_pass}"
host="${web_server}"
command="rm -f ${project_home}/current; ln -s ${project_home}/revs/rev_${revision} ${project_home}/current" />
</target>


<!-- Target: update_deps Update server setting by execute scripts(database, crontab, restart service, etc.) -->
<target name="update_deps" depends="config">
<foreach list="${web_servers}" param="web_server" target="update_deps_one" />
</target>
<target name="update_deps_one">
<ssh username="${web_server_user}" password="${web_server_pass}"
host="${web_server}"
command="cd ${project_home}/current; sudo cp crontab /etc/cron.d/ucenter" />
<ssh username="${web_server_user}" password="${web_server_pass}"
host="${web_server}"
command="cd ${project_home}/current; php app/scripts/migration.php" />
<input propertyname="confirm_sql">Confirm database migration sql script(yes|no):</input>
<if>
<equals arg1="${confirm_sql}" arg2="yes" />
<then>
<ssh username="${web_server_user}" password="${web_server_pass}"
host="${web_server}"
command="cd ${project_home}/current; php app/scripts/migration.php execute" />
</then>
</if>
</target>
</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进行测试了
淘宝客程序中获取图片尺寸

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

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

然而,官方早就有了文档,只是我们没有看到罢了。比如在这里:http://www.taobao.com/market/market/mobile/yuanjin.php?spm=0.0.0.0.Zz1B0Y,点击【获取图片】,你会发现,原来官方提供了N个尺寸,
淘宝后台的图片尺寸规格如下:
ZoomAddType _80x40.jpg 84(代表相素为80*40)以下类似
ZoomAddType _60x30.jpg 63
ZoomAddType _300.jpg 300
ZoomAddType _81x65.jpg 81 65
ZoomAddType _110x90.jpg 110 90
ZoomAddType _24x24.jpg 24
ZoomAddType _30x30.jpg 30
ZoomAddType _40x40.jpg 40
ZoomAddType _60x60.jpg 60
ZoomAddType _70x70.jpg 70
ZoomAddType _80x80.jpg 80
ZoomAddType _100x100.jpg 100
ZoomAddType _110x110.jpg 110
ZoomAddType _120x120.jpg 120
ZoomAddType _160x160.jpg 160
ZoomAddType _170x170.jpg 170
ZoomAddType _250x250.jpg 250
ZoomAddType _310x310.jpg 310
ZoomAddType _670x670.jpg 670
ZoomAddType _620x10000.jpg 620 10000
这时候,你是什么情况?有没有和你的小伙伴一样都惊呆了?嗯,我在网上看到的这些:
缩图常见尺寸:

_40x40.jpg
_70x70.jpg
_100×100.jpg
_120x120.jpg
_160x160.jpg
_320x320.jpg
_480x480.jpg
_600x600.jpg
_sum.jpg(缩略图专用,其实是80x80)
_b.jpg(大图专用,220x220)
和上面的尺寸不太一样,不过也差不多了,做一个merge吧。
获取淘宝图片的方法如下:
不算太复杂吧?