新人在中小公司遇到的成长困境 (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 查看详情
响应至上:打造无卡顿的滚动列表 (fed.taobao.org)
在技术变化与发展如此之快的今天,web用户对页面的访问速度与响应度提出了越来越高的要求。

其中的“响应度”不仅仅是实现层面的问题,更是个设计问题,仅靠性能优化与更快的硬件是难以解决的。

本文以常见的「无尽滚动列表」场景为案例,阐述如何从交互的角度看待和提升用户体验的思路,提升页面的「响应度」。


by @技术头条 2021-05-27 07:19 查看详情
大话 JavaScript 动画 (fed.taobao.org)
前端做动画不是什么新鲜事了,从jQuery时代,到当下,无不是前端动画横行的时代。

我们知道多张不同的图像连在一起就变成了动态的图像。

在前端的世界里,浏览器在视觉暂留时间内,连续不断的逐帧输出图像。每一帧输出一张图像。

提及动画一定会讨论到帧率(FPS, Frame Per Second),代表每秒输出帧数,也就是浏览器每秒展示出多少张静态的图像。


by @技术头条 2021-05-27 07:17 查看详情
浏览器缓存和 CDN 在前端的落地 (xuexb.com)
提到浏览器缓存,大多数人肯定知道以下几点:
1、设置 Response Headers cache-control;
2、静态文件添加版本号;
3、静态文件添加最大缓存;

但其实缓存还可以更具体、更合适,下面是我在工作业务开发中对缓存的理解,具体基础的概念这里就不提了。
by @技术头条 2021-05-27 07:15 查看详情
如何写出内存泄露的程序? (colobu.com)
Go语言语法简单,学习起来容易,也容易上手,所以越来越多的公司和个人采用Go语言开发应用程序。不管使用什么语言,内存泄露是经常遇到的一类问题,而使用Go语言编写内存泄露的代码却不容易,本文将教你几招编写出内存泄露的代码,以满足你创造出内存泄露bug的心里需求。

即使你编写出内存泄露的bug,一般来说也很容易通过pprof查找出来,或者通过pprof的两次对比中找出哪一块出现的问题,所以不要因为写出bug就沾沾自喜,此类bug还是很容易被发现的。
by @技术头条 2021-05-27 07:12 查看详情