使用Laravel+AngularJS+BootStrap对公司内部系统改造总结

过完年回来需要改造公司内部系统,经过3个月的开发完善已经基本成型,应该可以满足未来一年的需求。

虽然一年多做其他项目没有碰PHP与网站前端,但在技术流行趋势上一直关注。最后选取Laravel + AngularJS + Bootstrap的组合。

选取Laravel的原因:

  1. 代码组织与架构赏心悦目,至少我很喜欢他们的风格。
  2. 可以使用composer随时添加功能组件。
  3. 有autoload机制,可以和include说再见了。
  4. 有良好的路由(Route)系统,可以满足我的各种需求
  5. 有良好的环境设置功能,可以方便配置test\production\local
  6. 有良好的用户权限验证功能,在app/filters可以配置整个程序用到的规则。再和路由(Route)配合,不需要在每一个控制器(Controller)中进行权限等验证。
  7. 有良好的表单验证功能
  8. 有良好的数据库支持,Eloquent ORM用的好可以有效减少if判断语句。
  9. IoC Container 这个功能确实非常好用

还有一些功能没有用到,例如Event,这个也是非常赞的。

选取AngularJS的原因:

  1. 非常适合开发内部系统
  2. 数据与显示绑定,非常适合数据经常更新的项目
  3. 模式固定后可以非常方便新人上手,不需要写很多的JS代码。

选取Bootstrap的原因,因为有一套现成的免费模板可以使用,挺好看的,比原来的系统高大上多了。

用到的代码在Github上面的地址:

Laravel : https://github.com/laravel/laravel

AngularJS : https://github.com/angular/angular.js

Bootstrap : https://github.com/twbs/bootstrap

Angular-ui/Bootstrap : https://github.com/angular-ui/bootstrap

ngQuickDate : https://github.com/zhouming/ngQuickDate

Laravel4-PHPExcel : https://github.com/zhouming/laravel4-PHPExcel

AdminLTE : https://github.com/almasaeed2010/AdminLTE

在Debian下使用Dropbox同步备份数据

Dropbox可以在Linux下运行,参见

https://www.dropbox.com/install?os=lnx

第一次安装可能遇到的错误,查看错误日志,需要添加local。

export LC_ALL=en_US.UTF-8<br /><br />
export LANG=en_US.UTF-8

运行 ~/.dropbox-dist/dropboxd 把链接复制出来在浏览器中打开,注意不要中断程序。

Dropbox开启同步后exclude add folder,排除不需要同步的文件夹。

ln -s folder ~/Dropbox/folder //增加需要同步的文件夹

Done!

下面这篇文章写的比较详细:

http://blog.ownlinux.net/2013/09/dropbox-backup-vps-server.html

2014重新复活的Blog

2012年底2013年初参与新项目开发,完全新的领域,在巨大压力下基本上处于苦修状态。2013年初够买了两年Linode空间浪费了一年,Blog荒废在希望的田野里,正所谓计划赶不上变化。时间流逝到2014年,项目稍微上正轨,可以有时间让自己整理一下。

本周空余做了以下几件事情:

  1. 空间从美国机房搬回日本东京机房,Ping值在70左右,推荐大家使用。
  2. 操作系统从Debian6.0升级到7.4
  3. 重新架设好Blog
  4. 开通openvpn,方便手机、电脑翻墙。

Linode新的升级计划,3T流量、48G空间远远超出我现在的需求,现在基本处于空闲状态。

Mac下openvpn软件继续使用Tunnelblick,这里说下两个小问题:

udp模式,Mac下DNS污染没有办法解决,需要手动设置机器的DNS,Google的8.8.8.8受到的关注太多,不太好使,推荐台湾电信或者opendns。

台湾的中华电信的DNS

168.95.1.1(dns.hinet.net)

168.95.192.1(hntp1.hinet.net)

168.95.192.2(hntp3.hinet.net)

opendns

208.67.222.222

208.67.220.220

使用chnroutes生成的ip-up和ip-down两个文件需要加上sh后缀,Tunnelblick会提示这个。

最后再说个小提示:

Nike+ SportWatch只可以存储15个小时跑步数据,所以需要及时同步数据。悲剧的是,我已经有一年没有同步过了,丢失了好多数据。

2012年Blog总结

眨眼间,2012年已经过去,时间流逝真心好快!

2012年原定计划每两周写一篇Blog,但没有坚持住,只有21篇Blog。两周一篇量不算多,希望在2013年能够坚持下来,用心写。方向会集中在自己看的书、使用的软件、开发工具和语言方面。

2012年圆满完成锻炼身体的计划,跑完第一个10km,2013年会继续,跑步是一种生活态度。

2012年国庆节港澳游,圆满完成旅游计划,2013年打算到东南亚看看,人生需要到处跑开阔一下眼界。

2012年目标锻炼身体,2013年目标拒宅!宅是一种生活,但宅太久了,已经不喜欢这样的生活,希望在2013年有一种全新的生活态度,遇到有趣的人有趣的事。

推荐ack,超级方便的搜索工具

一直在寻找非常好用的搜索工具代替grep,现在终于找到了,它就是ack!

官方网址:

http://betterthangrep.com/why-ack/

Vim插件地址:

http://www.vim.org/scripts/script.php?script_id=2572

以前在vim项目里搜索源代码文件中的关键词是一件非常痛苦的事情,很多时候会借助另外编辑器去做这件事情。现在有了ack一切烦恼不再存在,是需要:Ack keywords搞定。

Mac OS X 人肉数据迁移

新机器入手,需要迁移原来系统的数据到新机器上面。但第一台机器使用两年,安装软件并没有很好的规划,系统杂乱有许多垃圾数据存在。这次希望能够全新布局安排,按照良好的架构来整理新的系统。

主要做到下面两点

一 升级系统不会影响到开发环境,例如安装好的PHP、MySql、Nginx等等。如果影响到也能够使用最小的代价修复。

二 合理安排组织好文档、视频、照片等

实施过程一

需要做到第一点,可以使用Homebrew。所有开源软件安装全部使用Homebrew安装。全部全新安装需要的软件!

软件的相关配置从原有系统中拷贝出来,个人也喜欢使用Dropbox来同步配置文件,ssh、vim、php、nginx、bash_profile、openvpn、gitconfig等等

实施过程二

常用软件安装,原有系统文档整理好拷贝过来。

一 Chrome 浏览

Chrome浏览器已经能够同步所期望的所有数据,所以登录自己的账号以后可以同步所有数据非常棒!特别是收藏与历史记录。

二 从Mac App Store安装软件

从商店中重新安装以前下载的软件,例如Reeder,Alfred。

三 拷贝安装好的软件数据,例如QQ的数据,阿里旺旺的数据,iPhoto数据等

到把自己的账号文件夹复制出来拷贝到新系统相应目录下面。

QQ ~/Library/Containers/com.tencent.qq/Data/Library/Application Support/QQ

阿里旺旺 ~/Library/Application Support/AliWangwang/profiles

iPhoto 在音乐文件夹下面

四 安装好Mac App Store没有的一些常用好软件,例如utorrentBT下载工具、Dropbox、Tunnelblick等

五 安装虚拟化软件 VirturalBox

由于网银、开发需要等及个别的原因,还是会有时间要在Windows上面操作系统,所以需要安装VirtualBox。把之前系统中的vdi文件拷贝过来新创建一个虚拟机。

如果遇到uuid重复的问题,使用下面目录重新生成一个。

VBoxManage internalcommands sethduuid xp.vdi

最后,增加环境变量PATH路径,/usr/local/bin/usr/local/sbin加入 /etc/paths

 

Mountain Lion 升级经历记录

25日苹果放出Mountain Lion下载,因为新购的机器满足苹果Up-To-Date计划,可以凭借兑换码免费下载。不过事情并不像想像中那么顺利,苹果自己弄了一个大乌龙出来。第一次发送的兑换码没有办法使用,提示该兑换码已经被使用,只能够使用一次。25日当天没有顺利获得兑换码,26日早上给苹果技术支持电话后,下午再次获得新的兑换码。这一次终于下载成功,下载大概花了4个小时时间,终于在晚上7点钟开始安装。

安装第一步,请记得使用Time Machine备份原系统数据。

安装很顺利,大概30分钟完全安装完毕,基本上没有遇到软件不兼容的问题。因为之前开发全部使用brew来安装,这次升级并不会删除原来安装的程序。不过在启动php-fpm遇到一个问题:

dyld: Library not loaded: /usr/lib/libltdl.7.dylib
Referenced from: /usr/local/sbin//php-fpm
Reason: image not found

brew install libtool 安装好libtool问题解决

再次启动php-fpm的时候,会提示需要x11,下载 http://xquartz.macosforge.org/landing/ 安装,问题解决。

再次感谢brew,由于良好的安装习惯,其他程序方面基本没有遇到问题存在,现在非常舒服顺心。新的APP提醒事项也已经使用起来。

 

Macbook Pro Retina一周使用经验

上周一,通过淘宝代购在香港官方网站预定的Macbook Pro Retina到货,高配版本再加8G内存,内存提升到梦想中的16G,确保能够同时打开所有一直不想关闭的程序,例如Chrome、Reeder、Evernote、MacVim等等。

就我所关心的优点来说:

  1. 屏幕靓,Retina屏幕画面和传说中的一样,看着非常舒服,和拿到新版本iPad的感觉一样,亮丽。
  2. 无噪音,日常工作中不存在噪音,非常非常安静,让人满意。即使看Flash视频也不会像Air一样风扇狂转了。
  3. 全SSD,如果从Air系列切换过来不会感觉到不适应,而且SSD的速度比上代又有提升。
  4. 玩游戏,试玩暗黑3,在普通分辨率下非常流畅,这时不可避免会有风扇噪音起来。
  5. 内存大,16G内存想怎么用就怎么用

缺点:

  1. 还是保持苹果一贯的特点,发热量有一点高
  2. 还有一点重,形象一点差不多是一个13寸Air加一个iPad。

综合结论非常非常值得购买,接下来就是等着月末免费升级到Mountain Lion系统。

Mac系统使用Tunnelblick实现OpenVPN翻墙

一  预先准备

需要一个openvpn服务账号,可以购买第三方账号,也可以自己在国外租凭VPS搭建。

二 需要的软件与脚本

Tunnelblick

http://code.google.com/p/tunnelblick/

下载后双击安装。

chnroutes

http://code.google.com/p/chnroutes/

参看WIKI

http://code.google.com/p/chnroutes/wiki/Usage

我们需要获取中国地区IP地址列表,因为Mac下面使用max-routes最多2000条,所以需要采用下面方式实现自动切换翻墙。

  1. 下载 chnroutes.py
  2. 从终端进入下载目录, 执行python chnroutes.py -p mac, 执行完毕之后同一目录下将生成两个新文件’ip-up’和’ip-down’
  3. 拷贝ip-up 与 ip-down到 ~/Library/Application\ Support/Tunnelblick/Configurations/
  4. chmod a+x ip-up ip-down
  5. 在.conf或.ovpn配置文件中加入两行 up ip-up / down ip-down
  6. 启动Tunnelblick,需要做一个配置,点击VPN详情-》选项-》设置DNS/WINS-》不选择域名服务器
  7. 连上VPN后国外网站就可以自动翻墙了,国内的还是原来路线,圆满了!
  8. 加一条,国内DNS污染严重,最好使用Google的8.8.8.8

移动阅读时代iPad阅读App分享二

这周继续分享阅读App。因为喜欢阅读,一直在寻找汇总此类App。

一 iBooks

苹果官方App,阅读体验一流,可以书店里下载购买图书。

二 Stanza

免费阅读软件,有一些国内电子书资源可以添加下载。例如 www.cnepub.com,阅读体验尚可。

三 豆瓣阅读

豆瓣阅读正式开放,已经可以通过支付宝购买电子书。花了0.99体验购买流程,还行。

四 网易阅读

网易阅读有一些免费书籍可以下载阅读,还不错。

五 字节社

之前的唐茶电子书系列现在推出字节社阅读App,以后出版的唐茶电子书都可以在字节社App里购买。

无觅相关文章插件,快速提升流量