一次「分答」记录

Thumbnail

尝试在团队内部发起一次类似「分答」的沟通方式,一对一面聊。 回答其他工程师的问题,这种沟通的方式暨在提供一个特定的场合,帮助加强双方了解, 解决团队中其他工程师的一些实际的问题。 在征得对方同意之后,我将他的问题和我的回答 PO 出来。 喜欢什么游戏,玩游戏的问题 喜欢和人玩游戏,不喜欢和不认识网友玩游戏 小学从红月开始玩,传奇、CS、魔兽、真三、DOTA,大学时候和舍友玩游戏,毕业后不玩 minecraft 尝试着玩过,没有玩下去,找不到人 日活的桌面游戏,三国杀等蛮喜欢 不喜欢浪费时间,怕没控制 从玩游戏里面学习什么么?不,就是纯粹享受游戏,不会想这么多 喜欢什么语言 看场合,小东西,小场景用 Python,生产环境用 Java,生产环境又有时间,考虑 Scala 只允许选一门语言,就用 Python 最吸引的特点,熟悉程度高,生产效率高,第三方库丰富,粘合性强 为 Python 做一些功能扩展?不同时期答案会不一样,目前来说,希望有一个开发效率更高的 framework;有时间的话,会考虑如何绕过底层 GIL 问题 有什么事情投入精力,铩羽而归 工具向重的人,推广 git 花了两年,推广 Restful 不利 做业务开发 leader,和 tsu、小管一起做,项目管理、团队管理没做好,没做好,有挫败感。 职业迷茫期 我作为一个学渣,并且长期以来没有人给予职业生涯规划,一直对自己未来发展有困惑 如何在无领导的情况之下,探索未来道路,规划自己工作内容?跟优秀的人聊,跟外部的人聊,看博客,看书 迷茫是客观存在的,并且可能持续存在很久,正视它 现实中一定会遇到各种挑战和困难的,用挑战和困难填充自己,丰富自己的生活 迷茫是未知,有恐惧,有兴奋。对当前的我来说,恐惧可能更多,但是要面对 职业生涯里面,前期的同质度更高,资深工程师可以会给初级工程师规划清晰一些,但是越往后期,越难规划,需要自己探索 推荐书 https://book.douban.com/people/alswl/collect?sort=rating&start=0&filter=all&mode=list&tags_sort=count 学习来源 博客,infoq 等专业信息来源 书籍 周围的人 尽可能从每天时间挤出时间阅读 生活和工作平衡点 不同的人,同一个人的不同时期所需要的平衡不一样 对自己人生期望不一样的人,平衡点不一样 对我来说,目前阶段不存在明显边界,尽可能投入工作 如何保持激情 人总是有低谷期的,不可能一直保持亢奋,除非是甲亢 短期情绪会有起伏,长期来看,保持梦想和对自己高要求,可以帮助保持激情 我有低谷期,低谷期适合反思 如何擦屁股 现实是残酷的,总有屁股要擦,自己也有脏屁股,今天要给昨天的自己擦屁股 现实中存在脏屁股,尽可能了解它,看代码、文档,设计方案,了解的人,让自己变舒服 责任心的体现,做好当下的事情;解决这样的问题,解决当前的问题;避免留下脏屁股,设计好,规划好 责任心的话很虚。一个人做擦屁股、低产值的事情,从长远来看,是错的;短期需要撑下来;并且帮助团队避免这样的事情发生 最有成就感的事情 顶着家庭压力,到上海来 在堆糖改造环境,提升自己心智水平,不害怕问题,自信,自省

2016-06-15 · alswl

海贼王和创业团队

Thumbnail

一个同事在知乎提了一个问题 如果把草帽海贼团比作一个创业团队,这个Team的组织架构是怎样的?有哪些优势,又有哪些不足? 这个话题很有趣,作为追了多年的 fans ,又是身处互联网创业团队的我要来强答一记。 海贼王的世界很大,富有个性的角色和团队也很多,恰好可以和显示世界中的互联网创业团队进行对比。 柳传志讲的好,做大事,要「建班子,定战略,带队伍」,我们就着金句来看看草帽这个团队怎么样。 产品和战略 我先讲产品和战略。 由于海贼王世界的设定,以及作为一个全年段漫画动画的原因。 海贼王世界的整体战略是较为简单,海贼团的目标都较为单一,即「找到 哥尔 D 罗杰 留下的宝藏」。 海贼团们实现目标的路径也较为单一,打斗增强战斗力,不断寻找线索,去伟大航道寻找宝藏。 ...

2016-04-27 · alswl

Windows management for hacker

Thumbnail

团队里的同学有时看见我键指如飞,可以用快捷键将 Mac 的窗口玩转于手心。他们表示酷炫非常, 心生羡慕的同时,希望掌握这门技艺,我就把使用的 Phoenix 介绍给大家。结果过了一段时间, 发现普及率并不高,本着好为人师的精神,今天我就来八一八这款优秀的桌面管理工具。 在介绍我使用的工具之前,我要先介绍一下我选择的原因和历史。 ps:配图是我长草多年的 Ergodox Infinity。(@夫人,看到这里的时候,请留步思考 5s)。 Alt+Tab = 苦难的历史 当我还年轻的时候,曾经对 Alt+Tab 这个快捷键愤慨无比,觉得这种设计虽然简单但是很蠢。 ...

2016-04-24 · alswl

技术之外

Thumbnail

这是一天一本书的第二次执行,这次选了一本比较薄的书,上周的书看了一天,脑仁疼。 在我组织团队新兵训练营(入职之后一段时间内容集中的培训)时候, 经常和新同事聊到一个词:软实力。 我将其描述为专业技能之外的能力。每个人都这种能力的解读可能会不一样, 我将其拆解为:「对工作的热情;观察力和反思能力;做计划和决策是否周全」。 这种拆解是不全面的,「多年」以后,我意识到,硬实力考衡的是专业的能力, 而软实力则是考衡人的因素。这种晚来的意识让我在一段时间里面, 将自己的工作陷入困境,并且得不到解药。 ...

2016-02-28 · alswl

一例 Timeout 故障

Thumbnail

早晨刚到公司, HAProxy 报警,Trtornis(第三方云存储网关,用来统一管理阿里云和七牛云的对象存储) 全飘红。 检查日志,并没有 ERROR 信息,但是大量 WARN 报错。 WARN [2015-12-09 11:01:02,730] org.eclipse.jetty.util.thread.QueuedThreadPool: dw{STARTED,8<=50<=50,i=0,q=1024} rejected org.eclipse.jetty.io.AbstractConne ction$2@62c021c6 WARN [2015-12-09 11:01:02,731] org.eclipse.jetty.io.SelectorManager: Could not process key for channel java.nio.channels.SocketChannel[connected local=/10. 1.1.78:8350 remote=/10.1.1.74:63290] ! java.util.concurrent.RejectedExecutionException: org.eclipse.jetty.io.AbstractConnection$2@62c021c6 ! at org.eclipse.jetty.util.thread.QueuedThreadPool.execute(QueuedThreadPool.java:362) [tritonis-shaded.jar:0.0.1-SNAPSHOT] ! at org.eclipse.jetty.io.AbstractConnection$FillingState.onEnter(AbstractConnection.java:379) ~[tritonis-shaded.jar:0.0.1-SNAPSHOT] ! at org.eclipse.jetty.io.AbstractConnection.next(AbstractConnection.java:273) ~[tritonis-shaded.jar:0.0.1-SNAPSHOT] ! at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:563) ~[tritonis-shaded.jar:0.0.1-SNAPSHOT] ! at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:82) ~[tritonis-shaded.jar:0.0.1-SNAPSHOT] ! at org.eclipse.jetty.io.SelectChannelEndPoint.onSelected(SelectChannelEndPoint.java:109) ~[tritonis-shaded.jar:0.0.1-SNAPSHOT] ! at org.eclipse.jetty.io.SelectorManager$ManagedSelector.processKey(SelectorManager.java:636) [tritonis-shaded.jar:0.0.1-SNAPSHOT] ! at org.eclipse.jetty.io.SelectorManager$ManagedSelector.select(SelectorManager.java:607) [tritonis-shaded.jar:0.0.1-SNAPSHOT] ! at org.eclipse.jetty.io.SelectorManager$ManagedSelector.run(SelectorManager.java:545) [tritonis-shaded.jar:0.0.1-SNAPSHOT] ! at org.eclipse.jetty.util.thread.NonBlockingThread.run(NonBlockingThread.java:52) [tritonis-shaded.jar:0.0.1-SNAPSHOT] ! at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) [tritonis-shaded.jar:0.0.1-SNAPSHOT] ! at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) [tritonis-shaded.jar:0.0.1-SNAPSHOT] ! at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51] 这是七牛 API 调用出现问题,通过应用 Metrics API 检查 Threads: http http://A-DOMAIN:8351/threads | sort | uniq -c | sort -gr G qiniu 正常的实例: 异常的实例: 确认是七牛服务慢导致现成爆掉,但是 46 这个值来自于哪里? ...

2016-02-02 · alswl

一次艰难的 Wiki 升级

Thumbnail

公司使用 Confluence 管理自己的知识库, 现在使用的版本还是 3.0.1,而最新的 Confluence 版本已经是 5.4+。 新版本加入的一些现代化 Web 系统的新特性很吸引人(拖拽上传,可见即所得编辑), 在群众的强烈呼声下,我着手开始升级。 官方的升级路线很扯,3.0.1 的升级路线是: 3.0.1 -> 3.5.17 5.0.3 -> 5.4.4 中间两次大版本升级,第一次原因不明,第二次是更新了 markup 渲染引擎, 改为 HTML 格式类型的渲染模式。 由于一些原因,我们系统还跑在 embedded 模式下(其实就是 HyperSQL),这种大版本升级, 需要先从内置库升级到外部数据库,比如 MySQL。 ...

2016-01-12 · alswl

SS with Haproxy

Thumbnail

以前用自己的 SS,Linode 美国,后来 Linode 日本,但是始终拼不过上海电信的国际带宽。 经常不稳定,丢一半的包。 于是买了 SS 服务, 9 台服务器,自己挑觉得速度快的服务器。 但一直固定某台服务器也会偶尔出问题,导致邮件出不来,网页打不开。 需要手动切换一下服务器。 于是用 HA 做了一个本地代理,调整了一些参数,让 SS 总是有快速的服务器供选择。 结构: +-----------------+ +----------------+ | | | | | Server 1 |>>>>v >>| Mail.app | | | v ^ | | +-----------------+ v ^ +----------------+ v ^ +-----------------+ v |----------------+ +------------+ ^ +----------------+ | | v | | | | ^ | | | Server 2 |>>>>>>>>>| HAProxy |>>>>>>| SS-Client |>>>| Browser | | | ^ | | | | v | | +-----------------+ ^ +----------------+ +------------+ v +----------------+ ^ v +-----------------+ ^ v +----------------+ | | ^ v | | | Server 3 |>>>>^ v>| Evernote... | | | | | +-----------------+ +----------------+ 配置: ...

2015-11-27 · alswl

几步拥有一个安全密码

Thumbnail

给团队非开发同学写的邮件,对其他人也有些意义,遂贴出来。 这个互联网越来越不安全 https://www.baidu.com/s?wd=%E5%AF%86%E7%A0%81%E6%B3%84%E9%9C%B2%E4%BA%8B%E4%BB%B6。密码数据库泄露,黑客暴库攻击,社会工程学攻击层出不穷。我给大家介绍几个小方法,轻松提高自己各类密码的安全等级。 先给个地址,大家可以测试一下自己常用密码的复杂度:https://howsecureismypassword.net/ 认为自己电脑水平还可以的,请直接翻到文章最后。 如何管理密码 给普通用户的建议: 密码设置复杂一些,不要使用生日、日期、姓名等有意义的信息 使用一套合理的密码生成策略 重点来了,密码生成策略: 选择自己喜欢的诗词或者某句话,比如「床前明月光,疑是地上霜」,取其拼音的第一个字母 cqmygysdss 将每个句子第一个单词大写,cqmygysdss -> CqmygYsdss 加上对应网站的信息,比如 163:CqmygYsdss163,qq: CqmygYsdssqq 大功告成,你的密码安全级别提升了。 ...

2015-10-28 · alswl

怎么打日志

Thumbnail

需要解决的问题: 业务日志打太乱,没有位置和格式约束 什么情况打日志,如何避免滥用,提高日志作用 打日志最佳实践 Dropwizard 列出的打日志原则: Be human readable. Be machine parsable. Be easy for sleepy ops folks to figure out why things are pear-shaped at 3:30AM using standard UNIXy tools like tail and grep. eg.: TRACE [2010-04-06 06:42:35,271] com.example.dw.Thing: Contemplating doing a thing. DEBUG [2010-04-06 06:42:35,274] com.example.dw.Thing: About to do a thing. INFO [2010-04-06 06:42:35,274] com.example.dw.Thing: Doing a thing WARN [2010-04-06 06:42:35,275] com.example.dw.Thing: Doing a thing ERROR [2010-04-06 06:42:35,275] com.example.dw.Thing: This may get ugly. ! java.lang.RuntimeException: oh noes! ! at com.example.dw.Thing.run(Thing.java:16) ! splunk 的最佳实践: 使用清晰的键值对:key1=val1, key2=val2 对开发者易读 全部添加时间戳 使用唯一标记,比如 user_id, transaction_id 使用文本 使用开发者易用格式,比如 JSON 尽可能多加一下数据 标记调用来源,比如方法名,类名 将多行事件拆分 除了一些浅显易懂的原则,还是 dropwizard 的三条原则和解决方案靠谱。 但是两篇文章都没有告诉如果在复杂系统里面记录有用的日志,打日志生命周期是怎样的。 ...

2015-10-18 · alswl

Redis 集群扩容

几乎每一个网站都需要用户登录状态系统,其中核心是存储 Session 的用户登录状态存储系统。 主流的实现之一是使用 Redis 存储用户登录信息,Redis 特点是功能简单、无依赖、 存储结构丰富、有持久化功能。 我大堆糖的 Session 存储系统也正是基于 Redis。 可是 Redis 也存在一些问题,比如 Redis 自身没有 Sharding 功能,Replication 也是在逐步完善完善过程中 (2.4 支持 Replication,2.8 加入 Replication partial resynchronization 功能)。 纵观当下流行的 DB 系统,哪个不是自带这两个特性,这两个分布式特性应该成为新出产的 DB 系统的标配。 而且作者还经常发布延期,放烟雾弹,不知道 Redis 自带 Sharding 特性要等到何年马月。 ...

2015-07-26 · alswl