美文网首页程序员
tech share: 工具篇

tech share: 工具篇

作者: daydaygo | 来源:发表于2017-12-16 20:41 被阅读237次

date: 2017-12-14 13:50:00
title: 技术分享 20171215

slide: https://c.daydaygo.top/landslide/TS20171215.html

整理了一下上周五在团队内做的技术分享, 一开始定 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 大大, 是不是发现, 你遇到啥事, 无论业务上, 还是技术上, 他都可以给你帮助.

还有涛哥, 好多小朋友都得到过他的帮助, 是不是很想说 「你是个好人」.

还有, 最最重要的, 我们团队里, 还有好几个程序媛小姐姐

资源推荐

如果对 php 程序员技能图谱或者PHP 程序员打怪升级路线感兴趣的, 我们可以私下交流

相关文章

网友评论

    本文标题:tech share: 工具篇

    本文链接:https://www.haomeiwen.com/subject/hqrewxtx.html