Volley是Google于2013年推出的Android网络数据传输框架。用起来非常简单。但是字符编码的问题让人头痛。Volley默认获取Response Headers中Content-Type来转换字符编码。若该值获取不到,则默认ISO-8859-1。问题就在于很多网站都没有设置该值。只能自己改为默认UTF-8。
把收集到的相关资料记录一下: 1)Transmitting Network Data Using Volley
2)Android Volley完全解析
Volley是Google于2013年推出的Android网络数据传输框架。用起来非常简单。但是字符编码的问题让人头痛。Volley默认获取Response Headers中Content-Type来转换字符编码。若该值获取不到,则默认ISO-8859-1。问题就在于很多网站都没有设置该值。只能自己改为默认UTF-8。
把收集到的相关资料记录一下: 1)Transmitting Network Data Using Volley
2)Android Volley完全解析
豆丁买了蔓越莓干,提议烤蔓越莓曲奇。第一次烤糊了,饼干很脆,蔓越莓干变得很硬。第二次调低温度,算是成功了。整理一下材料和步骤。
原文见:http://blog.sina.cn/dpool/blog/s/blog_4a5089ff0100avgm.html
戚风蛋糕是“Chiffon Cake”的音译。Chiffon是“雪纺绸”的意思。制作时注意,蛋白的打发,正确的搅拌对戚风的成功至关重要。糖的份量可以根据个人口味调节(本配方偏淡)。
这是8吋蛋糕的份量。
使用“搬瓦工”的vps已经接近半年了。期间升级过配置,拥有128m内存“大内存”(真是泪流满面)和2GB硬盘空间。于是把blog和自己的网站都丢上去,抛弃那个又慢又小的虚拟空间。把过程中的问题都记录一下。
第一次绑定域名和IP,走了点弯路。一开始不知道域名提供商不提供DNS服务,要自己找一个。 1)申请DNSPod,国内的免费DNS服务。添加域名,然后针对该域名添加两条A类型的记录,主机分别是“@”和“www”。 2)设置域名的DNS服务器地址为DNSPod的地址: f1g1ns1.dnspod.net f1g1ns2.dnspod.net 3)剩下就只有等待了。不过不用等多久就开通了。
主要是PHP相关的设置:
location ~ \.php(\/.+)?$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock; #用SOCK比较快
fastcgi_index index.php;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_buffers 8 16k; #避免跳转报502错误
fastcgi_buffer_size 32k; #避免跳转报502错误
}
后面还要设置HTTPS,用于部署OwnCloud。
这里基本用的是默认配置,后面再考虑优化。
前面已经配好了,而且是针对小内存的机器来优化的。
增加支持显示中文字符。修改 /etc/vim/vimrc 文件,字啊末尾增加如下代码:
set fileencodings=utf-8,gb2312,gbk,gb18030
set termencoding=utf-8
set fileformats=unix
set encoding=prc
主要是Wordpress太臃肿了,对于一个几乎只有自己看的Blog来说,不需要那么多东西。于是直接部署Typecho。利用相关的插件,导入Wordpress的数据即可。
大概就这样完成了迁移。后面的计划是部署OwnCloud,用来同步一些小文件。对了部署个私有SVN或者GIT服务器也是不错的。然后就是Laravel框架的学习了。
在128MB内存的VPS上折腾了一下MySQL,把过程总结一下记录下来。
备份原配置文件,把官方配置样例中最低配置的配置文件复制过来,就可以了。命令如下:
mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
cp /usr/share/doc/mysql-server-5.5/examples/my-small.cnf /etc/mysql/my.cnf
禁用InnoDB,为了节省内存。
详细参考:小内存VPS上MySQL5.5内存优化——禁用Innodb引擎
简单来说,就是修改my.cnf,在[mysqld]下增加以下配置:
default-storage-engine = MyISAM
loose-skip-innodb
innodb=OFF
文中还提到MySQL 5.5,还需要添加以下配置,否则程序会很容易退出的:
loose-innodb-trx = 0
loose-innodb-locks = 0
loose-innodb-lock-waits = 0
loose-innodb-cmp = 0
loose-innodb-cmp-per-index = 0
loose-innodb-cmp-per-index-reset = 0
loose-innodb-cmp-reset = 0
loose-innodb-cmpmem = 0
loose-innodb-cmpmem-reset = 0
loose-innodb-buffer-page = 0
loose-innodb-buffer-page-lru = 0
loose-innodb-buffer-pool-stats = 0
登录MySQL后,用以下命令查看字符集设置:
show variables like ‘character%’;
默认字符集一般是latin1,最简单是修改my.cnf文件
[client]增加:
default-character-set = utf8
[mysqld]增加:
character-set-server = utf8
[mysql]增加:
default-character-set = utf8
PS. MySQL的错误日志在/var/lib/mysql/*.err。
使用“搬瓦工”的超级便宜VPS已经快3个月了,除了有时晚饭时间比较卡以外,其它方面都工作良好。于是心里开始发痒,想再利用它做更多的事情。
首先,肯定是升级Micro中最高性能的服务,128MB内存版。用过64MB版后,才深深感受到内存的重要性,而“搬瓦工”的空间就是内存比较少。升级过程很简单,用PayPal花费足够的美刀就OK了。付款后立刻看到效果!第一次感受到128MB原来也可以很爽(记得第一台电脑的内存也有256MB啊)。
然后是重装Shadowsocks服务。就为了以后升级方便,因为一开始是用源码编译安装的。关于Shadowsocks服务,真心推荐shadowsocks-libev,用C写的就是效率高、省内存,小内存主机必备。详细安装教程见:http://shadowsocks.org/en/download/servers.html
简单来说就是加入安装源,再用apt-get install安装。
wget -O- http://shadowsocks.org/debian/1D27208A.gpg | sudo apt-key add -
sudo bash -c "echo deb http://shadowsocks.org/debian wheezy main >> /etc/apt/sources.list"
sudo apt-get update
sudo apt-get install shadowsocks
再然后是想学下Laravel这个PHP框架(感觉没CodeIgniter那么容易上手),慢慢来吧。
PS.昨天一个网友说也买了个“搬瓦工”的VPS,但是3个月后开始变得好慢。虽然有点担心,但是起码还有三个月可以玩玩,重点是就算不能用,损失也不会很严重(毕竟我的那个才5.99美刀/年)
上个月,旧同事小曼问我能不能拯救她朋友的iPhone4S,机器不能开机,想把里面的文件拷贝出来。
本来就没用过iPhone,但是还是试着找了一下解决方法:http://iphone.91.com/wap/tutorial/syjc/130718/21591468.html
原理大概是,先让iPhone进入DFU模式,并运行ssh_rd_rev04a.jar来建立SSH服务,再用SSH客户端(例如PuTTY)连上去挂载相关分区,然后用SFTP客户端(例如Winscp)拷贝文件,最后退出DFU模式。
如果一切就绪的话,应该不难,但是没有想象中的简单。
第一个问题是进入DFU模式。因为跟Android不同,进入DFU模式后是黑屏,没有任何提示,只能用ssh_rd这个工具来检测。网上找了很多教程,就是电源键和Home键协同操作的结果。
第二个问题是ssh_rd这个工具。试了好久,也查了好久,才发现可能是ssh_rd这个工具的版本不够新,所以才不能建立SSH。找到项目版本发布地址:https://github.com/msftguy/ssh-rd/releases 下载了最新版ssh_rd_rev04b.jar。
最后一个问题是退出DFU模式的脚本。其实就是执行itunnel_mux --autoboot。当然,前提是下载itunnel_mux.exe,运行时会提示缺少一些dll文件,相关的dll文件都可以在iTunes的安装目录中找到。
第一次见面时,因为那些问题卡住了,搞不了。回去后找了把问题解决了,并找了台iPhone4来测试,证明方法可行。第二次见面时,不知道怎么弄的,iPhone 4S居然可以正常启动,并且系统自动恢复了。于是赶紧用什么手机助手把照片、视频,统统拷贝出来。
心得体会是,更加坚定不用iPhone的信念。
某天发现“搬瓦工”的特价优惠,推出4美元/年的VPS!(https://bandwagonhost.com/cart.php)配置如下:
Micro-64
Self-managed
HDD: 1.5 GB
RAM: 64 MB
CPU: 1x Intel Xeon
BW: 100 GB/mo
虽然配置很差,但是比我原来用的国外空间还要便宜!除了内存比较难看以外,其它配置都非常满意,而且这是VPS,不是普通网站空间!最后,经过胖子的试用和帮助付费后,终于入手了属于我自己的VPS!
入手后,第一件事是装上“Debian 7 x86_64 minimal”,然后是部署现在比较流行的Shadowsocks,解决接上Google的问题。
Shadowsocks服务,选择用shadowsocks-libev,部署起来比Python的版本简单。详细部署过程参考了这个:http://www.lucong.com.cn/lulu/centos-debian-shadowsocks-libev.html
简单总结了一下命令如下:
apt-get install build-essential autoconf libtool libssl-dev gcc -y
apt-get install git -y
git clone https://github.com/madeye/shadowsocks-libev.git
cd shadowsocks-libev
./configure
make && make install
运行服务:
nohup /usr/local/bin/ss-server -s IP地址 -p 端口 -k 密码 -m 加密方式 &
设置开机启动
echo "nohup /usr/local/bin/ss-server -s IP地址 -p 端口 -k 密码 -m 加密方式 &" >> /opt/ss_start
echo "ssh /opt/ss_start" >> /etc/rc.local
然后,为了安全起见,新建了一个普通用户来登录ssh。这时才发现没学好Linux。经过一番Google后勉强新建了一个用户,但是登录后发现方向键乱码。按这个 http://bbs.chinaunix.net/thread-1942074-1-1.html 去修改默认的shell后解决。
总结一下吧。首先,深深感受到国外的美好生活,这么便宜的VPS在国内是永远找不到的,更不要提那几百块/月的云服务。其次,Linux的命令需要努力学习。
4月份换到新的公司,5月初公司换了个新的笔记本Thinkpad E440,于是卖掉原有的Acer AO522-C6Ckk。今天终于发货给买家了。细数这段日子(从2011年12月6日至今),原来经历了我人生的三个阶段————男朋友、丈夫和父亲。
当初入手AO522,是看中了AMD APU C60集成高性能显卡Radeon HD6290的优势,而且传说中很省电。最重要的是,屏幕是10.1吋,分辨率达到1280x720,同尺寸的屏幕中,分辨率最高,而且方便携带。后来发现,电池也就4个小时多一点吧,体积还是有点大,放小包里还是有点勉强。不过总体还是挺满意的。
AO522主要还是用来看电影,但是要换上Ubuntu 12.10后,才能流畅播720p的电影。跟豆丁拍拖时,吃饭或者吃cake时一起看电影,是最主要的节目。印象比较深的是《春娇与志明》、《3 idiots》、《独裁者》,因为太搞笑了。去旅游也带上了,但真正发挥作用的是,公司组织的旅游,接到房间的电视机看电影。去海南那次,回来时飞机晚点,AO522就在候机室满足了N个人的娱乐————播电影的同时,给手机、平板充电。
由于入手AO522后,台式机都送给锋表哥了。于是AO522成了主要的个人装备了。装上Ubuntu是必然的,然后学习过PHP,用CodeIgniter开发过小网站。装上Eclipse,还开发过Android小程序。还帮豆丁的HTC Incredible S解锁、刷系统和获取Root权限。渐渐适应了这家伙的移动性,还习惯了不关机,直接合上屏幕进入挂起模式。婚前还经常下班后,一个人坐在千禧广场,偷着i-Cafe的WiFi上网。还有考车牌时,用来看教学视频和做笔试练习。
结婚时,整纪念标志、电子请帖,也是用AO522。那时认识了Inkscape这个画图软件,也尝试了用Javascript代替Flash制作动画效果。
现在用着E440,AO522就显得多余了。毕竟背着两个笔记本上班是很辛苦的事情。还有一个原因是,现在的平板已经发展得足够好了————8小时续航时间,数量庞大而且轻易获取的应用程序,足够的娱乐性能,超高的屏幕分辨率,更加轻薄的体型,便宜的价格。那么,夹在高性能笔记本和平板之间的上网本还有什么生存空间呢?
对比上一个“二奶”,这次没那么伤感。或者一切都来得那么自然,而且用着AO522的这两年多,我已经不是一个人了。
2013年1月10日到15日,去了云南度蜜月。感觉太棒了!云南确实是个好地方,跟别的省区别很明显,而且各个市都有各自的特色。换电脑时,找到当时写的路线总结,于是记录到这里吧。
旅游计划:
飞机(已订):东方航空 MU5742 16:00~18:25 434元+50+130 航班起飞前一天16:00到航班起飞前2小时预订座位: http://www.ceair.com/OnlineCheckin/init/home.shtml
昆明长水机场到火车站全程30公里,打车100左右,选择机场大巴吧。
火车K9636 23:39~07:05 软卧 127*2-5=249 订单号:E291976101
古城住宿: 大理古城皇后客栈 订房电话:13388725255 0872-2517878 地址: 大理古城玉洱路232-1号8路公交古城专线叶榆路站下
1月12日大理去丽江,火车两个半小时 车次K9627 9:27–11:59 硬座29*2=58 订单号:E209776099
住宿: 旅人驿站 2楼纳西风格大床房(130元/晚) 电话13688780681 0888-5186518 网址:www.farerinn.com
1月13日 丰闲居客栈 http://kezhan.trip.taobao.com/item.htm?item_id=16326937745&spm=a1z10.5.4002-61404119.14.EiXUJw
1月14日丽江去香格里拉坐大巴(丽江客运站 票价47)
住宿: 香格里拉烟雨阳光客栈 商家电话:13988799460 商家地址:独克宗古城东廊20号(原金龙街57号) http://kezhan.trip.taobao.com/item.htm?item_id=7723679486&spm=686.1000925.1000774.6.qx34Y9
1月15日香格里拉到丽江 坐大巴
丽江飞昆明 飞机 23:20–00:10(1月16日凌晨到昆明 航班:KY8260) 昆明飞广州 飞机 8:00–9:45(航班:MU5731)