date: 2017-12-14 13:50:00
title: 技术分享 20171215
整理了一下上周五在团队内做的技术分享, 一开始定 2 个小时还是有点夸张了, 虽然在补水, 嗓子还是受不了. 氛围还是很不错的, 大家加油.
今天是我们团队第二次技术分享, 先感谢上次分享的 jinlin 大大 -- 7 年的互联网工作经验老兵, 之前在 HUPU
工作过, 大家可以多和他学习交流. 是不是该给他一点掌声.
不知道大家是否有个疑问, 身边为什么很少见到年过 30 的程序员? 这个问题当做一个段子就好, 毕竟我也在奔三的路上.
这是我们这次分享的主题 -- 工具.
自我介绍
不知道大家有没有听过一些技术演讲, 开场的常用套路是自我介绍, 一开场吹吹牛, 把大家的注意力吸引过来. 所以这段我尽量克制下, 低调点低调点, 不要瞎吹.
本名陈志林, 如果只记 志林~ 的话会比较好记. 英文名叫 daydaygo, 简单理解就是没事跑跑步. 比较喜欢的一句话是这个, coder at work, 他也是一本书的名字, 推荐这本书给大家, 可以看到不少骨灰级程序员, 也许可以解决为什么身边很少 30+ 以上的程序员这个疑问.
我是14年毕业后来上海这边工作, 当时的工作在闸北这边. 如果大家来得早一点的话, 可能知道闸北, 不过现在叫静安了, 然后我同事的房价都涨了~
当时在公司的大数据事业部, 主要做爬虫和数据分析相关的工作, 产品是 yii 框架(当时还是1.1)做的 web 站点, 用来展示数据.
当时日均爬取新增数据超过 2 亿. 我最后接的一个任务是全球 amazon 站点的爬虫工作, 当时先定的 八国联军计划, 没想到做完美亚和法亚发现是一样一样滴, 然后写了一套通用脚本. 爬虫主要使用脚本语言, perl lua Python PHP 都写. 由于数据量太大, 需要多进程编程, 数据落库时容易发生死锁, 花了很长时间解决.
把 amazon 爬虫这个项目做完, 差不多也是离开的时候了. 公司发展比较成熟, 每天工作基本都是重复, 全栈就是在这段时间自学出来的. 公司 「老人」 也比较多, 每天被各种奶爸奶妈连番轰炸, 再加上项目经理不时来一句下辆车换个特斯拉. 鸟哥说他离开雅虎中国, 一部分原因是这工资要在北京生活艰难. 我这不仅艰难, 还有面对巨大的贫富差距~ 提到特斯拉, 最近正好在看 硅谷钢铁侠, 推荐给大家, 了解一下 第一性原理, 会对思维有所帮助.
现场有没有喜欢打 lol 的, 战队的基地就在附近, 当时还是方便参观的. 顺带一提, 为老乡(厂长)疯狂打 call.
回到正题, 这一期的主题是 工具 - 工欲善其事. 说白了就是想帮大家偷懒. 希望这期讲完可以帮大家起到这样的作用.
sublime
先给大家推荐个文本编辑器. 文本编辑大家平时都会遇到使用到, 看到有的同学还是用 window 的 notepad, 更常用的名字是记事本, 我心里不禁涌出一句台词: 勇敢的少年呀, 快去救救他. 这里先提个醒, 珍爱生命, 远离 notepad. 推荐 sublime 给大家. 其他先不说, 先看看这个颜值, 特别是在这个 颜值就是正义的年代 (<闪光少女>). 再来看看常用的功能.
- 畅快的编辑体验: minimap 多点编辑 多窗口
- 搜索功能: 大小写/正则 替换 全局搜索
- 快速打开文件 goto C-p: 黑科技, 见证奇迹的时刻, 面板, 可以模糊匹配; 命令行(上次看到有人使用 vi, 换成 subl 是不是体验好多了), 这里需要配置 subl 这个命令到环境变量 Path 中. window 中是这样设置. 环境变量这个概念大家清楚不? 进程在运行时都有环境, 其中环境变量 Path 保存可执行文件的搜索路径, 加到环境变量 Path 中, 就不用带上全路径来执行文件了. 推荐一本书 <理解Unix进程>, 对 Unix 进程的概念进行了全面的梳理, 我也是看了这个知道 进程皆有环境, 对环境变量的理解才加深的.
- 查看当前文件的函数列表 C-r, sublime 毕竟是编辑器, 待会我们看看 phpstorm, 超级强大
- 快速执行命令 C-S-p
- 包管理 package control: 好的软件都是可以扩展的, 大家可以去官网找找需要的软件. 不过我推荐达到 好用的编辑器 这个目的就好了, 写代码还是 phpstorm 给力
- 项目管理 project: 这个看看就好
- 快速运行程序 build system C-b: 这个就比较有意思了, 我经常用这个来写一些代码片段进行验证
快捷键备注: A -> alt, C -> Ctrl, S -> shift
还有很多, 比如查看最近打开的文件, 这个有兴趣大家再交流, 这里再着重提醒一下:
模糊匹配在很多地方可以用, 显著提高效率的利器
phpstorm
像我这么帅, 通常都是主角哦
首先, subl 能有的功能, phpstorm 基本都有, 刚才体验 sublime 有多爽, 用起 phpstorm 来就有多爽
- 超牛逼的代码提示, 细致到函数的参数
- 超方便的错误检测, 明显减少低级错误
- 超方便的阅读代码
- 快速打开文件 / 最近使用的文件 / 函数列表
- 还有 N 多高级功能, 比如代码风格统一/重构/cvs管理等
功能是很多, 用好几个熟悉的, 其实也够了, 并没有什么复杂的地方. 让工具回归工具本质就好: 提高效率, 减少时间损耗.
git
团队刚切换到 git, 有些小伙伴不太熟悉, 刚好可以借用这个场合, 给大家演示一下.
- git 的安装
- 结合 gitlab 使用起来, git clone -> ssh vs https
- ssh 演示 -> 当然大家平时使用工具, 这一步直接被工具代替了
ssh root@localhost -p2202
- 密码 vs 秘钥
- 秘钥 ssh-keygen
- 对称加密 vs 非对称加密: 用对方公钥加密的数据, 只有对方私钥才能解出这个数据
git 常用操作
- git clone: 可以指定文件夹名字
- git add / git commit / git push / git pull
- git branch / git checkout / git merge
- git checkout . -> 还可以这样用
- git config -l / git config -h / git config --help
github
- 全球最大同性交友平台 -> 黑科技: 按 ? 可以显示可用的快捷键
- 全国最大同性交友平台 bilibili. 知乎上面有个问题, 大家可以看一看.
另外可以和大家八一八 git 的一些历史. 以前 linux 开发组使用的是另一个版本控制软件, 由一个商业公司免费提供. 后来这个公司停止了免费供应, 于是大神 linus 就花一周写了 git. 嗯, 你没听错, 是一周. 这还没完, 说大神可能还是有点不太恰当, 用超神可能更好. 因为 linux 操作系统, 是 linus 在研究生时期写的. 每天除了睡觉就是写 linux. 嗯, 每天睡 10 个小时, 更重要的是, 没有妹子. 还有 2 件有趣的事情是, linus 说我是一个自私的混蛋, 所以我喜欢给我写的东西, 用自己来命名, linux 是, git 也是. 另一个比较有意思的事情是, linus 在一次公开技术会议上说 I am your god. 他拥有 linux 最高且唯一的权限. 关于大神的更多细节, 可以读一读他的自传.
演示
- docker: 展示一下 fpm 与 swoft
- swoole vs fpm 压测
团队
不知道大家对我们团队的现状是否了解. 业务上面我就不多说了, 小目标 居然近在眼前. 我这边补充一下技术这边.
YC 大大, 不禁让我想起一句歌词.
迹晦光韬 不代表豪情已折耗
拿得起当年勇 傲视群雄不足道
-- 许嵩 <今年勇>
还有 WC 大大, 是不是发现, 你遇到啥事, 无论业务上, 还是技术上, 他都可以给你帮助.
还有涛哥, 好多小朋友都得到过他的帮助, 是不是很想说 「你是个好人」.
还有, 最最重要的, 我们团队里, 还有好几个程序媛小姐姐
资源推荐
- 理解Unix进程
- 只是为了好玩 - linus 自传
- 鋼鐵人馬斯克
- daydaygo's wiki
- tech share - 编程人生
- tech share - 高性能服务器入门小探
- 快乐的sublime编辑器
- 前端开发工具技巧介绍—Sublime篇
如果对 php 程序员技能图谱或者PHP 程序员打怪升级路线感兴趣的, 我们可以私下交流
网友评论