记录:我眼中的产品经理

送给想做一个产品经理的人

产品经理就是把人话翻译成技术语言,或者把技术语言翻译成人话。

产品经理可替代性强?

不同人对产品理解的不同导致他是不可被替代的。一旦替代整个项目的进度把控、上线周期规划、产品市场定位都可能发生变化,技术只负责每个技术细节的实施,产品经理or技术经理负责整体推进和把控。想想工地的包工头。

不同的公司、项目、需求对产品经理的要求也不一样:

比如我认为产品经理必须要有市场敏锐的洞察力和产品分析能力,对一个陌生产品不需要多长时间能分析出运营模式。懂点技术的能分析出技术应用和技术实施成本,再进一步还要能分析出整个产品开发可能需要多少人,什么水平,多少钱,多长时间能出什么样的版本。相关法规如何规定该产品的运营方法等等。

一个大型产品的某个小功能点也是可以要求一个产品经理盯梢的。让后他向整个项目的大leader做报告就可以了。

产品经理不需要实际参与开发(甚至可能压根儿就不懂技术)但是他必须每天都知道项目今天有什么进度,谁请假了今天本来该干什么他的活要交给谁做,跟技术怎么沟通,今天是不是需要开个会了,是不是可以向公司申请点钱开开荤,项目碰到了什么问题,新出台的什么法律法规是不是要给老板报告一下是不是需要砍掉某个小功能。

2018年目标

年前立个flag

  1. 完成Secure Key
    • 基于TOTP的一次性密码管理、生成APP(iPhone版和Android版)
    • 扫码添加
    • 密钥库本地加密
    • iCloud及其他云工具同步(AES256加密)
    • 自定义分类
    • 自定义icon
    • 多应用版和内部私密版(一键替换LOGO、布局、主题颜色等信息)
  2. 使用Go/Python完成C-Queue初版
    • 可指定Broker
    • 兼容:AMQPBeanstalkdKafka
    • HTTP带Token回调
    • 运行时任务保持和回收
    • HTTP命令接口
    • 支持分布式部署
    • 并发一致性
  3. 使用Go/Python完成C-Mail。实现域名绑定、收发邮件,数据库存储,磁盘限额。兼容SSL/STARSSL,可分布式部署。
    • 实现域名绑定
    • 收发邮件
    • 数据库存储(或整合ElasticInbox)
    • 磁盘限额
    • 兼容SSL/STARTTLS
    • 可分布式部署
    • 私有HTTP接口
    • EventPush接口
  4. 完善C-DMSDocker Manage System 基于Go开发的Docker分布式运维监控系统)
    • 管理全局Swarm
    • 实现SSH协议
    • 主机发现
    • SSH安装部署Docker接入Swarm
    • 全局监控报警
  5. 完成C-DHUB(Docker Hub)
  6. 完成C-GSG(Global Sockets Gateway)

使用openssl生成ECDSA密钥

生成密钥

openssl ecparam -genkey -name secp256r1 | openssl ec -out ./domain.key

其中secp256r1表示256密钥,使用521直接替换即可,即secp521r1

生成SAN多域名CSR

openssl req -new -sha256 -key domain.key -subj "/" -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:domain.com,DNS:www.domain.com")) > domain.csr

撸了个自用的轮子
https://github.com/cevin/ssl_certificate_tool

拒绝 WoSign(沃通)从我做起

沃通根证书出了个大新闻! – https://www.v2ex.com/t/301768
某国内CA 忽悠又出新花样了:使用国外CA 违法 – https://www.v2ex.com/t/168870
Mozilla 考虑对沃通CA 采取行动 – https://www.v2ex.com/t/301741
Mozilla 正在讨论是否需要吊销多次出现安全问题的中国CA 机构Wosign – https://www.v2ex.com/t/302830
WoSign 签发的数字证书,谷歌、火狐、Safari 都表示不信任? – https://www.v2ex.com/t/284464

更多资料点这里

新的起点,新的开始

之前的域名忘记续费了,换了个新的域名。

算是一个新的开始,添加了支持markdown的插件。

开始学习Laravel

Test markdown format

Title 1

  • list 1
  • list 2
  • list 3
// 代码块
echo 'Hello world';

音频片段:需要 Adobe Flash Player(9 或以上版本)播放音频片段。 点击这里下载最新版本。您需要开启浏览器的 JavaScript 支持。

音频片段:需要 Adobe Flash Player(9 或以上版本)播放音频片段。 点击这里下载最新版本。您需要开启浏览器的 JavaScript 支持。

Git的分支创建与合并

1、创建分支

创建分支很简单:git branch <分支名>

2、切换分支

git checkout <分支名>
该语句和上一个语句可以和起来用一个语句表示:git checkout -b <分支名>

3、分支合并

比如,如果要将开发中的分支(develop),合并到稳定分支(master),
首先切换的master分支:git checkout master
然后执行合并操作:git merge develop
如果有冲突,会提示你,调用git status查看冲突文件
解决冲突,然后调用git addgit rm将解决后的文件暂存
所有冲突解决后,git commit 提交更改

4、分支衍合

分支衍合和分支合并的差别在于,分支衍合不会保留合并的日志,不留痕迹,而 分支合并则会保留合并的日志
要将开发中的分支(develop),衍合到稳定分支(master)
首先切换的master分支:git checkout master
然后执行衍和操作:git rebase develop
如果有冲突,会提示你,调用git statu查看冲突文件
解决冲突,然后调用git addgit rm将解决后的文件暂存
所有冲突解决后,git rebase --continue 提交更改

5、删除分支

执行git branch -d <分支名>
如果该分支没有合并到主分支会报错,可以用以下命令强制删除git branch -D <分支名>

程序员专用佛祖注释……

//                            _ooOoo_
//                           o8888888o
//                           88" . "88
//                           (| -_- |)
//                            O\ = /O
//                        ____/`---'\____
//                      .   ' \\| |// `.
//                       / \\||| : |||// \
//                     / _||||| -:- |||||- \
//                       | | \\\ - /// | |
//                     | \_| ''\---/'' | |
//                      \ .-\__ `-` ___/-. /
//                   ___`. .' /--.--\ `. . __
//                ."" '< `.___\_<|>_/___.' >'"".
//               | | : `- \`.;`\ _ /`;.`/ - ` : | |
//                 \ \ `-. \_ __\ /__ _/ .-` / /
//         ======`-.____`-.___\_____/___.-`____.-'======
//                            `=---='
//
//         .............................................
//                  佛祖保佑             永无BUG
//          佛曰:
//                  写字楼里写字间,写字间里程序员;
//                  程序人员写程序,又拿程序换酒钱。
//                  酒醒只在网上坐,酒醉还来网下眠;
//                  酒醉酒醒日复日,网上网下年复年。
//                  但愿老死电脑间,不愿鞠躬老板前;
//                  奔驰宝马贵者趣,公交自行程序员。
//                  别人笑我忒疯癫,我笑自己命太贱;
//                  不见满街漂亮妹,哪个归得程序员?

撸了个MySQL转PostgreSQL脚本

https://github.com/cevin/mysql2postgresql

1.为了最大兼容,字段用的都是character varying(varchar,char等)、numeric(mysql的int,bigint,smallint,float,double等).mysql的enum类型使用的是character varying check(field in array)
2.PostgreSQL系统保留字段为’ctid’,’cmax’,’xmax’,’xmin’,’tableoid’,’oid’。转换过程中冲突的自动改名加p前缀比如ctid=pctid

记录SVN cannot set locale错误

解决问题之前,先吐槽一下西部数码(fuck west263.com)

西数一直吹嘘自己的云主机多么多么牛掰,别人家的怎么造假,怎么不如他。经不住诱惑购买了一台云主机,第一个月左右还行,没有什么问题,甚至真的感觉他就如当初吹嘘的蜡样流弊!

好景不长,尼玛,就在第二个月!!!刚刚认为靠谱了,突然收到监控短信,HTTP服务异常,马上尝试连接SSH查看情况,诶,还能查看!?为毛?为毛http挂了?查看nginx状态,没问题啊!?@[email protected],见鬼了?,,,,,然后正在维护的过程中,进入到了web目录,ls了一下。。。。尼玛。。。你猜是什么结果!!!!直接尼玛输出 total 0。fk!!!!为毛!!!我的数据呢!!!!!到/data目录,ls,total 0。fk!!!!!神马情况!!!于是,抱着试试看的心态,进入根目录,执行ls,,,,是的,你没猜错。。。total 0!!!!!fk!!!!!!!,  哎,说多了都是泪。。现在正在筹划搬家。

 

——-我是华丽丽的分割线———

 

好了,开始 解决问题。

 

vi /etc/default/locale # 设置LC_ALL=en_US.UTF-8
vi /etc/locale.gen     # 删除掉不需要的
locale-gen             # 重置语言包
echo 'export LC_ALL=C' >> /etc/profile
source /etc/profile

ok。搞定。