Archive

Author Archive

美丽樱花,“文明”武汉

4月 7th, 2015 6 comments

武大樱花季,说走就走,正好和一个刚认识不久的武汉朋友同行。最初计划着3月21和22的周末,一来因为周日晚回杭州的Z45硬卧无票,二来觉得准备时间不够充分,于是延迟到了3月28和29这个周末,虽然因此错过了武大樱花最旺盛的时候,但也不虚此行,较为满意。

樱顶·远古的呼唤

此行最喜欢的照片,摄于武大樱顶:樱顶·远古的呼唤

阅读更多…

Cordova native API和开源插件

3月 30th, 2015 4 comments

开发Cordova的APP使用到下面几个原生或者开源第三方的插件,很好用

1.Notification

org.apache.cordova.dialogs和org.apache.cordova.vibration

取代原生alert(不能控制title),提供丰富的alert、confirm等API

2.InAppBrower

org.apache.cordova.inappbrower

可以在APP内部新开一个页面打开浏览器,可以关闭

3.Network Infomation

org.apache.cordova.network-infomation

检查网络类型和状态,可以检查出当前网络是2G/3G/4G/WIFI,有事件监听断网和连网

4.Camera

org.apache.cordova.camera

调用摄像头或从文件夹中选取,可以获取图片base64后的数据

5.Screen Orientation

net.yoik.cordova.plugins.screentorientation

可以使用screen.lock等API, 锁定或者解锁屏幕转动

6.BarcodeScanner

com.phonegap.plugins.barcodescanner

https://github.com/wildabeast/BarcodeScanner/    主页地址

可以扫描二维码等,获取内部的文本信息和文本类型

 

防止数据库数据重复的几种方法

1月 7th, 2015 1 comment

在某些数据库表中,比如记录的是一些关联关系,比如某个人关注了另外一个人,person_id和target_id,这种数据表的数据如果出现了重复,可能会引起程序上其他地方的诡异bug,要尽量保持数据的唯一性。这种数据重复,要不就是插入数据时根本没有做存在检查,或者是可能由二次提交产生的比较麻烦的并发情况。

1. 代码层做同步控制,利用锁机制
2. 在数据查重时利用数据库事务 + SQL层加入排他锁,select * from xx where ... lock for update
3. 数据库层Unique检查,建表时加入unique的索引

前两个方法在代码层面,比较容易控制,第三种方法最彻底但是出现冲突时候会报异常。

不过如果在高并发的情况下,使用第三种方式然后主动捕获异常,也是很不错的甚至是最好的。

Ruby字符串的编码

12月 21st, 2014 1 comment

相比较于Java String的编码转换(先将String根据原字符集转化为字节数组,然后再用字节数组根据新字符集拼装成新的字符串),Ruby的字符串编码转化省去了中间字节数组的过程,直接string.encode(new_encoding)即可。

阅读更多…

青岛,成也机票,败也机票

11月 17th, 2014 2 comments

真是成也机票,因为真是不能再便宜的来回机票决定这次的旅行,败也机票,去青岛居然因为40分钟领登机牌的限制而误机了而重新买票,多花好多钱更影响了旅行的心情(详见:机票风波)!在作死的误机下在不对的季节里在雾霾的笼罩中,青岛的美对我始终带了太多遗憾,不过还是值得玩这3天的。

青岛-from小青岛

青岛-from小青岛

青岛除了众所周知的海水沙滩浴场和奥帆外,德国式建筑群很值得一看。青岛市区的地形也真的是醉了,如果一个人说北方的城市规划都整齐不像南方城市的小巷胡同错综复杂,那Ta一定没去过青岛!青岛市区里真是难找到一条既水平又直线的大路,坡度陡的令人咋舌,十字路口?多的是三字、五字、六字…全区好多的路名用全国省市区名来命名,也怪不得有浙江路和杭州路(杭州路在全国真的很少)。

阅读更多…

linux的timeout处理wkhtmltopdf进程超时

10月 25th, 2014 2 comments

rails程序中要调用一个系统命令,但是这个系统命令在某些时候可能会处理很久也得不到结果,就需要控制超时情况。

阅读更多…

Rails中has_many等的原理

10月 4th, 2014 2 comments

刚接触rails的时候着实被has_many给惊到,这么厉害的功能,尤其是has_many的延迟加载,直到真正需要读取数据的时候才会进行SQL查询(person.posts.size,并不会执行select *到内存后再对Array执行size),但是用普通的调试方法怎么看has_many的结果是一个Array,比如.class方法,然后就觉得很神奇。

阅读更多…

乌镇真没意思

9月 22nd, 2014 2 comments

周末去了乌镇玩。在上周连续下了3天雨并且今天也下雨的情况下,周末愣是放晴2天老天爷也真是蛮拼的,太给面子了。可惜的就是,乌镇真是太TM没意思了,晚上的西栅勉强过得去看看,东栅真TM是骗钱的地方,幸好住的东栅的民宿没付门票钱。可能主要因为是LZ本来就是南方人,水乡古镇砖瓦小船不是什么新鲜东西。

乌镇西栅-夜景

乌镇西栅-夜景

阅读更多…

T400快挂啦

9月 22nd, 2014 2 comments

8.24周日夜晚,打着dota,最后一把还输掉了,快结束前看到连着语音的笔记本的屏幕突然暗了,还以为是自动关机了。第二天发现是屏幕不会来了,OS能够正常启动,外接VGA到液晶显示器就OK。想着可能是屏幕又坏了,无奈只能送修检测。

阅读更多…

记C#和Excel开发

9月 10th, 2014 3 comments

需要一个windows环境下的工具,能够读写Excel。这个Excel比较复杂,内嵌VB脚本,写Excel的时候必须得保留这些原有的脚本数据。

阅读更多…

简析Rails:active_support 2.3.5

7月 28th, 2014 1 comment

项目中用到Rails2.3.5,就以此版本研究。和Rails本身相关的,大概有actionmailer(发邮件相关)、actionpack(HTTP和controller相关)、activerecord(ORM框架)、activeresource、activesupport(基础扩展库)。

阅读更多…

rails中慎用request.env

7月 19th, 2014 1 comment

杰伦,祝你幸福!

7月 7th, 2014 1 comment

最近拖延症真是厉害,杰伦要结婚的新闻都好久了才发出这篇博客。

想当年,记得很清楚,初一的时候在小学同学许原非爷爷家的天台上听到了《双节棍》,第一次听到了周杰伦的声音,显然被震惊吓尿了。然后就开始听《范特西》了吧,范特西特么太好听了周杰伦你造嘛,就沦陷了…小时候穷,没法用现金支持杰伦,只买过2-3盘磁带,那时候CD机什么的实在太高端,好用的一只随身听还是从2b锋那边借过来的(然后就没还,哈哈哈),唯一的CD还是温州的一个远方亲戚开过CD店送了我一盘其实我不是很喜欢的专辑《叶惠美》,一直珍藏到现在。

阅读更多…

ruby on rails

7月 7th, 2014 1 comment

工作需求,开始写ruby,因为基于web也就自然用上了rails。就这样开始接触ruby on rails,在已有代码的基础上很快就能上手开发了。刚开始对ruby可能有各种吐槽,不过写习惯了之后真心觉得ruby语言本身挺不错的,比Python的语法舒服多了呢。

阅读更多…

小心使用input的onchange事件

6月 17th, 2014 5 comments

入职两个月了,做了2个项目,都用到了这个功能:在input中输入进行搜索,每次修改(键盘敲击)都会进行一次搜索结果返回,然后对返回的结果数据进行一些js和ajax的操作。

阅读更多…