入手ESL Podcast

关于收集癖好

大学那会儿,在学习到一个新的东西的时候,有一个现在看来非常不好的习惯,就是各种收集资料,把网上别人推荐的东西
全部下载回来,然后再开始学习。花好几个小时收集这些资料的过程是非常兴奋的,感觉像捡到宝似的。但是呢,等收集完就发现没过多久
学习就断了,木有再继续学习下去。木有错,这是病,得治。

怎么治

花钱治,尝试性的买了1个月的ESL Podcast来继续断了又学、学了又断的英语,$10/月,省去天天到处找最新版的下载地址,也不去折腾ESL前
几年出的Podcast 和那些需要money的文档,改掉收集的不良癖好。如果学到后面真的发现很有用,再花$60把原先的都买下来就是了。不折腾。

总结

戒癖保平安,花钱不折腾。望儿富二代,砖头搬起来。

一次laravel权限排错过程

问题
因为是使用vagrant开发,代码目录的挂载情况是这样子的:

1
~/Documents/dev/meitubar[物理机] <=> /home/wwwroot[vagrant虚拟机]

无论在虚拟里面如何chmod或chown都无法改变app/storage的权限和归属,后面直接用将物理机的目录修改成777,权限终于是变了,但是在Laravel的
app/storage/sessions 里面新生成的文件,照样没有写入权限,表示很无奈。

排查

第一步、首先看下nginx的执行用户是谁
1
2
3
4
5
6
7
8
[vagrant@localhost app]$ sudo lsof -i :80
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   4253 root    7u  IPv4  19510      0t0  TCP *:http (LISTEN)
nginx   4255  www    7u  IPv4  19510      0t0  TCP *:http (LISTEN)
nginx   4256  www    7u  IPv4  19510      0t0  TCP *:http (LISTEN)
nginx   4257  www    7u  IPv4  19510      0t0  TCP *:http (LISTEN)
nginx   4258  www    7u  IPv4  19510      0t0  TCP *:http (LISTEN)
nginx   4259  www    7u  IPv4  19510      0t0  TCP *:http (LISTEN)

第一个进程为nginx的Master进程,下面5个为Worker进程
5个Worder进程,可以在nginx.conf里面配置 worker_processes 5; 来调整worker的数量
关于master 与 worder 可以参考初探nginx架构

14已死15起舞

2014

年底了,是时候总结下这一年来做的事情了。

  • 跳槽到ND
  • meitubar 开发持续进行中,已开发3月有余
  • 开始早起
  • 中断几个月的练字重新开始,早起第一件事就是练字半小时,很有效的防止了拖延症的影响
  • 平潭走了一回
  • Mac book pro retina 入手
  • 养成购买正版软件及游戏的习惯
  • 见了未来的岳父
  • 入手独轮车
  • 开始锻炼【可耻的又断了】
  • 认真把日常所学整理到blog上
  • 学习和使用Laravel,主要是配合meitubar的开发
  • 带她入了前端的深坑
  • PHP 更加熟悉,但是理解不深,一个熟练工罢了
  • 入了Linode JP 服务器,学习与折腾都上到一个层次
  • 被多年不联系的同学,骗走千把块钱,记下,给自己长个记性

2015

稍稍展望下2015

  • 有一个自己的开源项目
  • meitubar 上线并迁移到国内服务器
  • 学习一个编译型的语言,暂定Golang
  • 早起、锻炼、练字,这三项基本国策认真落实
  • Make more money,有钱才能干更多的事,不是么?
  • 到一个更远的地方游一把,她已经都提了N次的济州岛了
  • 买个Mac air + Ipad 给她
  • 提升服务器管理技能
  • 多和朋友联系
  • Web 安全学习,基础的攻防要明白原理
  • 学习算法
  • 捐助贫困儿童,这个想法来源于这篇帖子的11楼:今年你都败了什么提升幸福感的东西?
  • 考驾照
  • 结婚【这个应该是最难的】

一步一个脚印,2015 走起…

vim折腾记

一、原因
公司机器自从安装了Mac Yosemite后,就略卡了,虽然配置挺OK。平时都用强大的phpstorm,这玩意确实非常棒。但是无奈卡,尝试着先换MacVim来写代码。

二、插件管理
使用Vim必不可少的是从海量的Vim插件中寻找适合自己的,那么这个时候对vim插件进行管理的插件就非常有必要了。

关于这3个插件管理器的区别可以参考这里:what are the differences between Vundle and NeoBundle?

按照发展的时间排序:pathogen -> vundle -> neobundle
当然了vundle和neobundle都在迅速的发展中,目前使用vundle来管理插件,相当的方便,具体的安装方法参数 上面的github地址,说的都非常清楚了。

我的Mac正版软件

使用盗版、使用正版是种态度
用了这么多年盗版,工作后也是时候支持一下正版了,当然还要感谢下琪老大的洗脑。动不动大几百上千的软件,还略略地有点肉疼,先从便宜的软件开始培养使用正版的习惯。赚更多的钱,买更多的正版软件,支持正版。

已购软件

  • Vitamin-R ($0.99 入手)
  • Timing ($9.99 入手)
  • Manico(¥1 入手)
  • One(限免入手)

已购游戏

  • Minecraft($26.95入手)
  • Valve Complete Pack - 2013($24.99)
  • FEZ($2.49入手)
  • Braid($3.99入手)

预购软件

  • Dash
  • 1Password

php扩展分页类

Laravel 4.2官方默认提供的分页类,虽然对bootstrap添加了支持,但是很大的情况下不够用,这时候就需要对Laravel的Pagination进行简单的扩展了。
下面步骤中一、二、五、为关键的步骤,三、四可以参考官方文档
在新建的CodingInk目录下,其实就可以用来放扩展vender目录下的一些第三方库的方法,因为采用一、四、五的步骤后,它就被larave自动加载了。

一、app目录添加新目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
app/
├── CodingInk
│   └── Presenters
│       └── GeneralPresenter.php
├── commands
├── config
├── controllers
├── database
│   ├── migrations
│   └── seeds
├── filters.php
├── lang
├── models
├── routes.php
├── start
│   ├── artisan.php
│   ├── global.php
│   └── local.php
├── storage
│   ├── cache
│   ├── logs
│   ├── meta
│   ├── sessions
│   └── views
├── tests
└── views

这里的CodingInk目录可以自由定义

php 常用扩展安装

环境搭建多了,各种扩展的安装,每次都上网查一遍,想想以后有安装扩展的步骤都整理到这篇文章好了。
imagick 扩展

这玩意需要两个东西,一个命令行工具,一个PHP扩展,PHP扩展调用前者提供的API,原理就这么简单

Mac key repeat 失效问题

key repeat 对应中文为 按键重复,此问题在最新的 10.10 Yosemite上会出现。主要是因为苹果修改了机制,关闭了按住一个按键自动重复此按键的特性。
可以使用下面的命令开启原先的效果:

1
2
3
4
5
开启按键重复
defaults write -g ApplePressAndHoldEnabled -bool false

关闭按键重复
defaults write -g ApplePressAndHoldEnabled -bool true

国内使用composer的正确姿势

前段时间写的一篇文章Laravel安装遇到的几个小坑, 提到了在国内composer极其的难用。

总结了下有下面几种解决方式
一、先在VPS用composer把Laravel给拖回来,本地你就别想用Composer正常下载Laravel回来了
二、使用全局代理,暂时木有折腾过在终端下怎么折腾,GUI可以使用proxifier将socks5代理转成全局代理
三、直接使用Laravel Homestead来开发,开发完,代码直接copy到线上运行
四、从Laravel-cn下载最新的完整包

phpstorm远程调试

记录下phpstorm远程调试下使用方法

一、Xdebug 安装

使用命令可看服务端php的安装信息,其实就是phpinfo了

1
php -i

复制上面命令输出的东西到Tailored Installation Instructions页面中的输入框中,然后下载推荐的Xdebug版本
搞定上面一步后,提示我安装2.2.5版本的。

接着安装命令搞起来
1
2
3
4
5
wget http://xdebug.org/files/xdebug-2.2.5.tgz
tar -xvzf xdebug-2.2.5.tgz
cd xdebug-2.2.5
sudo ./configure --with-php-config=/usr/local/php-5.2.17/bin/php-config
sudo cp xdebug.so /usr/local/php-5.2.17/lib/php/extensions/no-debug-non-zts-20060613/

接着在php.ini中加入相关配置

1
2
[Xdebug]
zend_extension = /usr/local/php-5.2.17/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so