写给新人的沟通建议 (wklken.me)
很多年前写过一篇在自己博客里面, 后端不高兴——关于协作和沟通, 做后端的同学可以看看吐槽哈。

工作也好多年了, 前前后后跟不少新人合作过, 实际合作中不免各种问题, 都是从新人过来的, 所以打算写一些点, 算是一些感受吧。
by @技术头条 2021-05-27 08:14 分享 查看详情
h5 秒开方案大全 (www.alloyteam.com)
老板说 , 页面打开速度过慢? 页面加载性能不达标? 下面我们来看下各个大厂和团队的秒开经典方案,有没有一款适合你去探索?

本页面会列举和总结偏向与客户端结合的 hybrid 秒开方案,纯前端方案也会部分提及。
by @技术头条 2021-05-27 08:13 分享 查看详情
浅谈协同文档中的数据一致性 (www.alloyteam.com)
在线文档是一个数据一致性要求很强的项目,我们经常会提到一个在线文档的技术:“协同冲突处理算法——OT”。这是协同编辑处理的核心。因为它保障了在多客户端同时提交修改的情况下的数据一致性,用通俗一点的方式描述:多人在线编辑,每个人提交的内容不一样,但通过协同冲突算法,最终都能看到一样的内容。

但在这里我们不想深入去探讨协同编辑冲突算法的具体内容,对这块有兴趣的朋友可以参考之前我们团队的博客,已经有过很多介绍。本文主要是介绍协同冲突算法产生的原因,以及它背后关于数据一致性的问题。
by @技术头条 2021-05-27 08:13 分享 查看详情
陆奇:除了好代码,工程师怎样才算优秀? (androidperformance.com)
转自:百度Family,内容为陆奇 2017 年 7 月 的百度内部分享,非常值得技术人员学习和思考。
by @技术头条 2021-05-27 08:12 分享 查看详情
新人在中小公司遇到的成长困境 (www.barretlee.com)
有个童鞋在一家创业公司工作,近期遇到了些 疑问:“如何才算是高级前端开发工程师,以及在创业公司比较繁忙的情况下,如何更好的成长?”,对此他自己做了总结,以下几类事情占据了他主要的时间:
1、公司最近为了融资需要快速更迭产品,所以需要大家在短时间内上线产品;
2、工作不到一年,写代码熟练度还不够,所以开发速度不够快;
3、为了产品更快上线,需要改同事写的 bug;

“所以导致工作以来属于自己的个人学习时间变少”,他说。
by @技术头条 2021-05-27 08:12 分享 查看详情
从升级服务器系统聊聊编写脚本 (soulteary.com)
当服务器运行几十天或几百天后,你总会收到需要报警、许多需求积压:又有严重漏洞了,软件如果不升级那么新的功能使用起来很麻烦...即使容器技术已经帮助我们减少了许多生产开发过程中对于服务器的依赖,然而运行容器的宿主机总归还是需要一些基础的维护。如果你的服务器数量不多,那么登陆每一台机器,然后执行命令显然效率并不低,但是如果需要维护的机器从几台变更为几十台后,你就不得不编写一些简单的脚本了。
by @技术头条 2021-05-27 08:11 分享 查看详情
美团MySQL数据库巡检系统的设计与应用 (tech.meituan.com)
本文介绍了美团MySQL数据库巡检系统的框架和巡检内容,希望能够帮助大家了解什么是数据库巡检,美团的巡检系统架构是如何设计的,以及巡检系统是如何保障MySQL服务稳定运行的。
by @技术头条 2021-05-27 08:05 分享 查看详情
Go反模式之越俎代庖 (colobu.com)
反模式(anti-pattern或antipattern)又叫做反面模式,指的是在实践中经常出现但又低效或是有待优化的设计模式,是用来解决问题的带有共同性的不良方法。Andrew Koenig在1995年造了anti-pattern这个词,灵感来自于GoF的《设计模式》一书。

按《AntiPatterns》作者的说法,可以用至少两个关键因素来把反面模式和不良习惯、错误的实践或糟糕的想法区分开来:
1、行动、过程和结构中的一些重复出现的乍一看是有益的,但最终得不偿失的模式;
2、在实践中证明且可重复的清晰记录的重构方案;
by @技术头条 2021-05-27 08:02 分享 查看详情
GitLab 简明维护指南(v2020.05) (soulteary.com)
之前写过不少 GitLab 相关的内容,从搭建到迁移到优化都有聊过,但是从未系统的聊聊该怎么在日常进行维护,趁着假期为代码仓库升级来聊聊吧。

GitLab 是一款优秀的软件,我从 13 年开始用它到现在,并使用它对个人/团队/公司的项目进行管理,从个人到十数人再到百人甚至到几百人、上千人以上的场景下它都未曾掉过链子,软件品质值得信赖。前公司们也不乏使用它的企业版作为公司代码资产管理方案,或者以它为竞品进行内部软件开发。

以下各种维护操作,均基于容器部署方案。
by @技术头条 2021-05-27 07:58 分享 查看详情
Android App 链式唤醒分析 (androidperformance.com)
MIUI 12 的发布, 将之前一直是应用开发者和 Rom 开发者斗争最激烈的部分展示给了普通消费者, 让普通消费者也知道了这场斗争的细节, 正所谓 “魔高一尺道高一丈” , Rom 开发者由于有更高的代码修改权限, 始终占据着上风 ; App 开发者当然也不甘示弱, 各种保活拉起黑科技层出不穷,甚至 Google 都参与到了这部分斗争中, 居中调和, 制定各种规则来规范双方. 当然斗争对双方来说都算是好事, 毕竟任何一方完全的胜利都会导致 “狡兔死走狗烹,飞鸟尽良弓藏”

不过双方斗争的受害者无疑还是使用手机的消费者 , App 如果斗争成功, 那么手机上各种后台进程乱跑, 杀不掉, 占用 CPU 和内存 , 这不是消费者想看到的 ; 如果 Rom 开发者斗争成功 , App 的体验必定会大打折扣 , 各位 App 开发者应该深有体会.

从文章最后一段可以看到, 其实各个手机厂商对付这一套都有自己的策略, 基本上都可以搞定自启动和关联启动. 至于隐私 , 李彦宏曾经说过 “中国人对隐私问题的态度更加开放,也相对来说没那么敏感。如果他们可以用隐私换取便利、安全或者效率。在很多情况下,他们就愿意这么做“ . 大家想想在微信里面复制一段话打开到淘宝就可以自动跳转到这个物品, 方不方便? 好不好用? 还想不想用? 剪贴板再借我看一看?


希望大家在隐私问题上不要打哈哈, 技术是把双刃剑, 如果隐私落到别有用心的人手上, 后果是很严重的, 就算不是为了自己, 为了下一代. 欧盟为什么要搞《通用数据保护条例》(General Data Protection Regulation,简称 GDPR), 就是为了隐私. 举个例子 , 国内很多厂商的产品现在要区分是否在欧盟买, 如果是在欧盟卖的话, 就得把里面那些收集用户数据的功能都关掉 , 否则抓住了就能罚你罚到吐血 . 至于中国和印度, 随便收集.

本篇文章不涉及到隐私部分, 我是对隐私保护无条件支持的 . 这里只从技术的角度 , 来讲一下 MIUI 12 爆出来的应用自启动和关联唤醒的问题.
by @技术头条 2021-05-27 07:58 分享 查看详情
复杂风控场景下,如何打造一款高效的规则引擎 (tech.meituan.com)
在互联网时代,安全已经成为企业的命脉。美团信息安全团队需要采用各种措施和手段来保障业务安全,从而确保美团平台上的用户和商户利益不会受到侵害。

本文主要介绍了美团在打造自有规则引擎Zeus(中文名“宙斯”)的过程中,信息安全团队遇到的挑战以及对应的解决方案,并分享了很多踩过的坑,同时还有一些思考和总结。希望对从事安全领域相关工作的同学能够有所启发或者帮助。
by @技术头条 2021-05-27 07:57 分享 查看详情
美团命名服务的挑战与演进 (tech.meituan.com)
命名服务主要解决微服务拆分后带来的服务发现、路由隔离等需求,是服务治理的基石。

美团命名服务(以下简称MNS)作为服务治理体系OCTO的核心模块,目前承载美团上万项服务,日均调用达到万亿级别。为了更好地支撑美团各项飞速发展的业务,MNS开始从1.0向2.0演进。

本文将围绕本次演进的初衷、实现方案以及落地的效果等方面进行展开,同时本文还介绍了命名服务作为一个技术中台组件,对业务的重要价值以及推动业务升级的一些成果。希望本文对大家能够有所启发。
by @技术头条 2021-05-27 07:56 分享 查看详情
Nginx 基础用途拾遗 (soulteary.com)
Nginx 是一款大家日常再熟悉不过的软件,稳定高效是这款软件的标签。常见 Nginx 会做为地址转发服务或提供文件托管能力。但是 Nginx 的用法其实不止于此,原生 Nginx 还有许多实用的功能,能够实现一些业务中麻烦的小细节。

本文将介绍三种基础用法,如果你熟悉 Nginx 和容器,阅读时间大概是五分钟。
by @技术头条 2021-05-27 07:55 分享 查看详情
生人勿近之Linux里养僵尸 (www.felix021.com)
Linux里养僵尸是怎么回事呢?Linux相信大家都很熟悉,但是Linux里养僵尸是怎么回事呢,下面就让小编带大家一起了解吧。
by @技术头条 2021-05-27 07:55 分享 查看详情
用Go撸一个二叉搜索树 (colobu.com)
前几天Redis的作者antirez说他朋友面试的时候考到排序问题,然后他说要是他也会考实现一个二叉搜索树,我说在中国某公司,据说面试直接就撸一个红黑树。不是说你技术渣,试问在座的各位有几个现在直接裸写出红黑树?

红黑树太过偏门,但是常用的二叉搜索树你能写出来吗?快排呢?堆排序呢?
by @技术头条 2021-05-27 07:54 分享 查看详情
踩坑记: Go 服务灵异 panic (www.felix021.com)
这个坑比较新鲜,周一刚填完,还冒着冷气。在字节跳动,我们线上服务的所有 log 都通过统一的日志库采集到流式日志服务、落地 ES 集群,配上字节云超(sang)级(xin)强(bing)大(kuang)的监控能力,每一条 panic log 都可以触发一个打给值班同学的电话。
by @技术头条 2021-05-27 07:53 分享 查看详情
速查表:学习 Kubernetes 的基本命令 (linux.cn)
开始探索 kubectl、容器、吊舱等,接着下载我们的免费的速查表,这样你就可以随时掌握关键的命令了。

云计算主要是在 Kubernetes 上运行,Kubernetes 主要是在 Linux 上运行,而 Linux 在有熟练的系统管理员控制时运行得最好。无论你认为自己是云计算架构师还是只是一个保守的系统管理员,现代互联网都需要了解如何在容器中创建应用和服务,按需扩展,按需扩展以及如何明智地进行监视和管理。
by @技术头条 2021-05-27 07:52 分享 查看详情
All in one:项目级 monorepo 策略最佳实践 (fed.taobao.org)
在最近的项目开发中,出现了一个令我困扰的状况。我正在开发的项目 A,依赖了已经线上发布的项目 B,但是随着项目 A 的不断开发,又需要不时修改项目 B 的代码(这些修改暂时不必发布线上),如何能够在修改项目 B 代码后及时将改动后在项目 A 中同步? 在项目 A 发布上线后,如何以一种优雅的方式解决项目 A,B 版本升级后的版本同步问题? 经过一番调研,我发现解决这些问题的最佳方案便是本篇要介绍的 monorepo 策略。
by @技术头条 2021-05-27 07:50 分享 查看详情
业务系统的稳定性建设 (fed.taobao.org)
在当下微服务、分布式架构的背景下,一次简单的接口调用背后可能涉及到了多个业务服务单元和服务器。如何才能在当前架构下准确、高效、即时地了解业务系统的运行情况、保障系统稳定性、快速定位线上异常?本文正是针对于该问题解决方案的探讨。并立足于讨论如何通过建立完善的日志分析系统来保障业务系统的稳定性。

PS:本文主要在业务服务的范围内去讨论稳定性建设,并不包含非业务相关的服务器级别(如:网络、CPU等)稳定性内容。
by @技术头条 2021-05-27 07:50 分享 查看详情
为什么开发一款软件只要 3 个月,开发一款硬件却要一年 (blog.devtang.com)
小结:
1、硬件研发链条长,在研发过程中的任何调整,都可能对整个产品的研发进度产生极大的影响。
2、硬件的研发需要基础量和开模,使得资金门槛高,给后续库存和资金周转带来挑战。
by @技术头条 2021-05-27 07:45 分享 查看详情