Girl project

今天继续写Girl项目,遇到一点问题。

第一个是布局。昨天晚上在Chrome里调试,写好的效果是这样的:Girl project - login但是今天起来在火狐13里测试,看到那个submit按钮往下沉了4~5个像素。调试了很久都没有解决,索性改成这样了:Girl project - login - final

同时注意到Chrome和火狐在处理placeholder的时候也有不一样的策略,Chrome的placeholder在输入文字时才消失,火狐则是在input聚焦时就消失。

另一个问题出现在连接mongolab的远程数据库时,mongolab提供的连接方法是这样的:

mongodb://:@***.mongolab.com:33307/mongodb

开始我以为这意思是:从33307端口以user的身份连接上了***.mongolab.com上的数据库mongodb,然后我就可以操作mongodb这个数据库里的collection了。结果发现不行。在stackoverflow上找到了这个:php mongodb : Call to undefined method MongoDB::insert() in db.php,大概是说,这样连接上了之后,只是一个连接而已,并没有选择数据库,所以还得自己选择一下数据库才能操作collection。

有一个没有解决的问题是,在配置文件(config.php)里写了DB_NAME这个参数,但是在实际上调用时,比如这样:$connection -> DB_NAME -> collection -> findOne($query, $fields),会把DB_NAME作为字符串"DB_NAME"对待,提示没有DB_NAME这个数据库还是什么的。

刹那间有风

写得比较乱,因为都是一些回忆。今天正好是高考,作为自我剖析系列的第一篇文章,拿来回忆高中毕业的那个夏天是理所当然。学弟学妹们高考加油。

阅读剩余部分 -

速记——js/php加密通讯

做的一个东西有用户登录模块,希望把这个部分做成密码加密传送的,毕竟明文暴露出来不太好。参考了很多资料,无解。先把参考的东西列一下,留着以后研究。

Mkvtoolnix

找到一部很老的动画电影的资源,mkv 格式的,但是没有字幕,外挂字幕不仅麻烦,而且存储起来页不方便,就想自己解封装然后再重新打包。安装了 mkvtoolnix 。折腾了好半天,终于学会了解封装。

mkvinfo yo.mkv #查看mkv 的信息,主要是轨道信息,从这里找到需要提取的轨道。
mkvextract tracks "yo.mkv" 1:track1.mp4 2:audio.aac 3:subtitle1.ass #这里提取需要的轨道,格式为:轨道号:输出文件名

打包就简单多了,安装 mkvtoolnix 的时候已经安装了 gui 工具,在 gui 工具中操作就行了。

新一轮的折腾——配置Ubuntu上的Apache2

系统安装好了之后就开始新一轮的折腾了,其中以安装必要的服务器和服务器扩展为最折腾也是最有成就感的。一些命令留在这里,免得到时候忘了。

sudo apt-get install apache2 mysql-server php5 php5-mysql # 安装apache2服务器、php5和MySQL数据库
sudo apt-get install phpmyadmin # 安装MySQL的php管理工具
sudo apt-get install mongodb # 安装MongoDB数据库
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl #安装php5的curl扩展
sudo apt-get install php5-dev php5-cli php-pear 
sudo pecl install mongo # 安装php的MongoDB Driver
sudo /etc/init.d/apache2 restart # 重启apache2服务器(要先将extension=curl.so和extension=mongo.so加入/etc/php5/apache2/php.ini中)
# 重启MySQL服务器的命令是 sudo /etc/init.d/mysql restart

连个黄网都找不到,你还能干什么?

昨天在知乎看到有人提到了和菜头老师的这篇文章,就去找来看了看,觉得写得非常好,就转过来了。在和菜头博客上没有找到具体的协议,但是看到有“创作共同”这几个字,应该是指CC协议吧。

话说之前 Max 说过,找资源也是一种能力。之前还真没觉得,后来发现好多人只会抱怨这个抱怨那个,自己却不懂得动手解决这些问题,才感觉到自己动手真的是种能力。

阅读剩余部分 -

又一个小玩意

文中描述的服务已经停止。

上次爬的海盗湾的数据,还有百度知道的数据,因为没有设计好数据表的结构,觉得没什么用,重装系统的时候没有备份了。系统装好之后迁移数据时,发现留下来一个小东西,是从别人的小爬虫改的,用来抓取链到某一个页面上的所有链接地址。看着好像挺有用的,就顺手改了一下。

现在可以接受两个参数,url 和format 。url 指明要抓取的目标网址,需要带http:// 前缀;format 指明返回结果的格式,有xml 和json 两种。要注意的是json 格式可能返回的是json 字符串,需要eval 一下才能作为json 对象使用。Update:小修改了一下,现在只返回json格式数据,只需要传入url参数即可。点击这个链接可以查看返回的数据结构示例:http://mynook.info/try/spider/linker.php?url=http://mynook.info

地址在:http://mynook.info/try/spider/linker.php (直接访问会返回一个参数错误)。

快高考了

花了一个多小时把 Eric Church 的 Springsteen 字幕做好了,是 srt 格式的。地址在:Joker 的资源链 - Source, 这个文件夹下还有我昨天下午修正之后重新发布的 Florence & The Machine 的Breath of Life 字幕( ass 格式)。我对 ass 字幕了解不是很多,如果这个字幕字体方面有 bug 的话欢迎反馈给我。

Eric Church 的Springsteen 非常不错的,让人想器很多事情。用这个字幕向我已逝的17岁致敬。还有,嗯,快高考了,希望学弟学妹们考个好成绩。

全新的Ubuntu

前天 4GB 内存条到了之后马上就开始重装系统。期间遇到了一件奇怪的事情,之前我有备份过软件列表和软件源,但是全部恢复之后系统却没有了桌面环境,而且无法安装。这样虽然能从命令行登录,不过对我这种GUI 重度依赖者来说,系统已经跟死了没什么两样。所以索性重装了两次。

现在的分区策略是这样的:

/ 20GB # 主分区
/usr 20GB # 逻辑分区
/var 20GB # 逻辑分区
SWAP 4GB # 逻辑分区
/home 所有剩余空间(大约455GB) # 逻辑分区

我对于磁盘这一块的知识似乎总是不得要领,以至于无法作出一个很好的策略判断。现在这样的分区对我来说是比较不错的了。分区策略

在安装软件的过程中发现原来用的Conky 配置文件,就是有个很酷的圆形钟表,下面带很多酷酷的圆形指示器,还有实时天气信息的那个,在论坛里有人提到了会导致比较严重的内存泄露。因为我有飞信天气预报服务,所以实时天气对我来说不是很重要,更重要的是原来那个配置无法监控网络状态。所以我现在换成了这个OSD 通知风格的配置。Conky

还有就是我不再使用 wine QQ 了, libqq-pidgin 已经支持 QQ2010 协议,所以我可以使用 Pidgin 或是 Empathy 软件登录 QQ ,缺点是不能传送文件,不能音视频,不过我并没有那么多时间来跟谁视频通话,所以影响不大。至于文件和图片,可以选择使用邮件或是网盘分享,现在我每天都会检查邮箱的。使用 Empathy 自带的 Ubuntu 主题就有不错的体验,如果你使用 Pidgin 客户端,可以尝试搜索 Pidgin 安装 Adium 主题的教程,或是直接点击这里:让pidgin 用上adium 主题Pidgin

一个全新的系统,哈, 6GB 内存。全新的开始。顺便说一句, Windows 再见!

一个Ajax在IE下的问题

昨天做的那个voa41week,今天早上起来用朋友电脑测试了下(我电脑没有IE),环境是win7旗舰64位IE9,发现页面什么都是正常的,但是无法获取文件列表。开F12工具看一下,每生成一次Ajax请求就输出一次错误:SCRIPT70: 没有权限。

大概知道这个是Ajax的同源策略方面的东西,原来在Chrome下刚开始也不让向其他域发送Ajax请求,获取不到数据,那时候用php输出以下header就可以了。

<?php
header('Access-Control-Allow-Origin: *');
?>

大概搜索了一下,发现一个还算可以的办法,在同一个域下新增一个 php 文件,将 Ajax 请求发送到这个文件,运行这个文件去获取其他域的数据。大概就是一个代理的意思。这个文件逻辑比较简单,而且可以当作中间层,用来检查一下请求的合法性,无形之中增加了安全等级。速度当然会受到影响,但是我测试后发现速度变化不大,结果比较让人满意。