Growth hacking
Growth hacking 是市场运营通过技术形式获取用户的方法,包括数据分析,社交网站,EDM 等,据说 Facebook 还有专门的 Growth Team。今天见识了这种方法的力量。
起因是乌云的这篇文章:XCode编译器里有鬼 – XCodeGhost样本分析,Xcode 被挂马,网易云音乐中招,看后顺手测了自己常用的应用,发现另外几个中招,在群里吐槽后就没再继续关注,之后又看见微博有人在转,就发了 Twitter:
通过 Charles 抓包,会向 http://init.icloud-analysis.com 发请求的有网易云音乐,中信银行动卡空间,12306,滴滴打车 #XcodeGhost 13:41
发之前就在想这个肯定会爆掉,但没想到有这么火爆:
- 迅速被 RT,涨 fo。
- 约十五分钟后被转发到微博,包括 @Fenng,@onevcat 等大 V 二次转发。
- V2EX,知乎,36kr,iApps,虎嗅等科技网站发帖,有引用 Twitter 链接/截图 1 2 3 4 5
- 15:10 腾讯科技 App Store遭病毒入侵 网易云音乐等中招,而且他们应该是有通过 Linkedin 查看我的工作信息,之后该文被其他多家引用。
根据 Tweet Activity 统计,原推一共 impressions 14000+,engagements 1300+,RT 170+,followers 增长 100+,考虑到访问 Twitter 的困难,这个数据还是非常恐怖的。微博的量应该更大。
这是 Growth hacking 的一次直观感受,如果产品推广也能有这样的效果该多好 :D
作为开发者,#XcodeGhost 要引起重视:
- 正当渠道下载应用,不限于 Xcode,检查签名/checksum。
- 用到的第三方 SDK 也要检查来源,设想微信 SDK 被调包?!
- 重视安全,一旦被人发现没穿裤子,负面信息足以摧毁一个产品。
Conway's Law
organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.
软件系统的架构反映了公司内部的组织结构、团队间的通讯结构。
CtrlP.vim
ctrlp.vim 是个非常棒的 vim 插件,可模糊搜索文件、buffer、mru 等等,原生 vim-script,相比 Command-T 更为友好的安装,速度上也没有差多少,所以几年前知道这个插件就一直在用,最近才发现原作者从 2013 年就不再维护更新,另一个社区版更为活跃,也加了不少新功能。
社区版地址 ctrlpvim/ctrlp.vim,支持扩展功能,也就是 vim 插件的插件,其中 ctrlp-funky 可以在当前文件内定义的方法之间跳转,类似 Tagbar/Taglist,但不依赖于 ctags,算是个精简版。
Plugin 'ctrlpvim/ctrlp.vim'
Plugin 'tacahiroy/ctrlp-funky'
let g:ctrlp_extensions = ['funky']
let g:ctrlp_funky_syntax_highlight = 1
:com! -n=0 D CtrlPFunky
nnoremap <Leader>fu :CtrlPFunky<Cr>
nnoremap <Leader>fU :execute 'CtrlPFunky ' . expand('<cword>')<Cr>
Monthly Review 2015-08
- 新项目紧紧的进行,客户端赶在月底上线了第一版。
- 项目进度很快,甚至有点过快,快到很多地方考虑不周,加上测试不到位,运营又急于推广,导致上线后问题一一出现。
- 所以说开发时候配上单元测试是很有必要的,可是完全的 TDD 时间上根本不允许。
- 现在我自己的开发测试模式是 httpie:
http :3000/api < data.json --session=fann
,严格意义上来说只能算开发辅助,很难 cover 到全部。
- 六六在北京一共呆了 40 天,每天回家能和孩子在一起真好。
- 婆媳关系是个永恒不变的话题,作为丈夫+儿子,大多时候都很无力,只能依靠时间来淡化解决问题。
- 又一次搬家,不对,搬宿舍。
根据时间自动切分 Nginx.log
之前是用脚本配合 crontab 来做日志切分:
#!/bin/bash
# This script run at 00:00
# The Nginx logs path
logs_path="/usr/local/webserver/nginx/logs/"
mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m%d").log
kill -USR1 `cat /usr/local/webserver/nginx/nginx.pid`
最近发现可以直接在 nginx.conf 里通过 $time_iso8601
提取时间进行设置:
if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") {
set $year $1;
set $month $2;
set $day $3;
}
access_log /var/log/nginx/$year-$month-$day-access.log;
时间粒度可以更为精细:
if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})") {
set $year $1;
set $month $2;
set $day $3;
set $hour $4;
set $minutes $5;
set $seconds $6;
}
28
28.
六六陪爸爸过的第一个生日,妈妈代笔写了贺卡,我 28 了。
Monthly Review 2015-07
- 长岛休假半个月。圈个海岸就收钱,沙滩特别差,不推荐去玩。
- 第一次带老婆去海边,所以尽管环境不行,前几天玩的还算开心。
- 按老家习俗给六六过了一岁生日,农历。
- 接六六来北京,尽管很难,尽管很多阻力,至少走出这一步,希望一切向好的方面发展。
Monthly Review 2015-06
- 用 Angular Material 写了个管理平台,体验很赞。
- 用 Gin 改写了部分接口,现在是 Python+ngx_lua+Go,目前情绪稳定。
- Gin 是个不错的框架,够轻量,middleware 扩展,封装适度,性能也不错。另一个是 Goji,两个都是我比较喜欢的。
- gorm 不错,目前项目比较简单,就直接通过 gorm 新建表结构,之前一个项目 Python+Go 都会涉及数据库,采取的策略是手动建表,ORM 只负责读写。
- 前两天看《非你莫属》,20岁小哥,完全没有互联网从业经验,就因为看现在 O2O 火了,自以为有很多 ideas,要转投移动互联网,应聘产品经理。PM 就是这么被毁的啊。
- 6月24日,六六一岁了。
Angular Material
又尝试了点新东西,Angular Material,写了一个的管理后台。
- Angular Material 是基于 Flexbox 做布局,在此基础上添加了
layout
HTML 属性,写起来非常清爽:layout="row"
横向,layout="column"
纵向。 - build-in directives 很丰富,一整套界面写下来,目前最欠缺一个日期时间选择器。
- material-start 快速上手包,完整的 Angular Material 实例。
- 迭代更新很快,相对来说文档更新差一步,有时候需要看 demo 源码。
- 自带主题支持。
- 体积较大,min css+js 将近 400K。