后端技术

个人博客

  • 面向信仰编程
  • 四火的唠叨
  • 二进制之路
  • 酷 壳 – CoolShell
  • Error
  • 云风的 BLOG
  • nginx
- 四火

最近blog没怎么更新,是因为忙于写一个新的专栏——《技术面试官识人手册》。 你有没有听过这样一句话,“招聘是研发团队日常活动的第一要务”。这么说并不夸张,做好面试,匹配到合适的优秀人才,是组建高效能… 阅读全文

- 四火

我不知道有多少朋友和我一样,业余搞一搞股票,觉得生活很充实。但是作为典型的散户,或多或少都有着韭菜的特质,在股市里面折腾,做出一些成功的决策,然后得意;或者做出一些失败的决策,然后后悔。 事先声明,我… 阅读全文

- 四火

短网址系统可能是最常见的分布式系统设计问题之一了,本身从业务需求上说,读远多过写,而且数据结构确定且简单,数据量小,还易于使用缓存,因此本身难度在分布式系统的问题里面算是比较低的。另外,这个系统本身“… 阅读全文

- 四火

这篇讲的是证券交易系统,这类系统包含的内容很多,但是我们还是把目光放在核心的交易部分,比如说股票交易。在某个可交易时间,如果卖家A要以至少y的价格卖掉股票x,卖家B愿以至多y的价格买入股票x,那么这个… 阅读全文

- 四火

今天这篇是关于实时流处理(real-time stream processing)的,这一类的系统这几年比较多了,但相对而言并没有之前提到的几类基础设施系统常见。为什么说这类系统如今更为常见呢?因为一… 阅读全文

- 四火

这篇是讲数据监控系统的,常见的包括Datadog和Prometheus等等。一个比较完整的数据监控系统要包括数据采集和数据展示两个部分。在此基础上,还可以具备告警和其它数据处理的功能。 对于监控的数据… 阅读全文

- 四火

这篇是关于电商平台秒杀系统的。 首先,我觉得“秒杀”是一个中国色彩浓重的词,这样的概念在西方电商系统中也有,但只有在中国,本来业务量就已经如此之巨大了,还将其如此发扬开来。因此顶尖的秒杀高并发场景,还… 阅读全文

- 四火

这里讲的“协同编辑”,指的是“Collaborative Editing”,多个人同时一起编辑同一个文件,比如说Google Docs,国内的有有道云协作、石墨文档之类的。这样的系统倒不如我们前面提到… 阅读全文

- 四火

其实对于MR(Map Reduce)系统来说,可能更重要的是分治和分步处理的思想,因为现在的基于MR的数据处理框架或者平台,在实现上数据处理往往已经和最经典的对于MR的理解(最早应该是来自Google… 阅读全文

- 四火

这一篇记录分布式的流量控制系统。 首先,关于流量控制系统,从功能性需求上考虑,它涉及到使用怎样的规则去限制流量,以及,流量超出限制以后的策略是怎样的。 其次,从非功能性需求上考虑,对于单机系统,有一些… 阅读全文

- binarylife

人生 人生是一场长跑,可能输在起点,但可以赢在终点。 最快乐的人 一项针对英国12000名成年人的调查结果显示,最快乐的是那些比邻居富有的人。相对富裕比绝对富裕更重要。 这个道理是具有通用性或普适性的… 阅读全文

- binarylife

在Java的java.util.concurrent.atomic包中,提供了许多原子类。这些原子类,主要都是依赖于底层的CAS机制来实现内部值的原子更新操作。 AtomicInteger源码 以下为… 阅读全文

- binarylife

找到了毕业前的一篇旧文,觉得挺有意思。 原来,我未曾改变:上进心和乐观的心态,一直驱使着我去努力做得更好。 经历过,回忆里,这属于我人生中珍贵的一部分。 今天,我学到了很多东西,但同时意识到自己更多的… 阅读全文

- binarylife

偶然间翻到了一篇12年前的总结,觉得还不错,分享一下: 1、做人要自信,做事要努力,待人要诚实 – 用心做事,诚信做人 2、做事要知其所以然,一样一样的学,别想一步登天 – 理解原理,循序渐进 3、人… 阅读全文

- binarylife

关于阅读本篇内容的一些汇编预备知识,可以参考: x86汇编指南之寄存器与内存寻址模式 GCC汇编语法与Intel汇编语法的几个差异点 通过使用asm关键字,允许在C代码中嵌入汇编指令。 GCC提供了两… 阅读全文

- binarylife

本指南描述了32位x86汇编语言编程的几个基础知识,主要介绍寄存器和内存寻址。 有几种不同的汇编语言可用于生成x86机器代码,本文使用标准的Intel语法来编写x86汇编代码。 寄存器 如图1所示,现… 阅读全文

- binarylife

cmpxchg是一个比较交换指令,原意是Compare and Exchange。 本文根据《Intel64和IA-32架构软件开发者手册》第2卷(《Intel® 64 and IA-32 Archi… 阅读全文

- binarylife

Java语言支持在一个类中定义另一个类,这样被定义的类称为嵌套类。例如: class OuterClass { ... class NestedClass { ... } } 在类OuterClass… 阅读全文

- binarylife

ZGC垃圾收集器是一个可伸缩的低延迟垃圾收集器。 ZGC通过并发的执行所有耗时的工作,使得应用线程的暂停时间不会超过10ms。因此,它适合于要求低延迟,或者使用非常大的堆(如数TB)的应用程序。 ZG… 阅读全文

- binarylife

GCC最初是一个GNU C语言编译器(GNU C Compiler),只能处理C语言。 后来扩展并支持了更多的编程语言,现在GCC代表的是GNU编译器集合(GNU Compiler Collectio… 阅读全文

- 陈皓

本篇文章主要想讨论一下,Kubernetes 的 kubectl 命令中的使用到到的一个编程模式 – Visitor(注:其实,kubectl 主要... Read More Read More Th… 阅读全文

- 陈皓

本篇文章,我们着重介绍Go编程中的Pipeline模式。对于Pipeline用过Unix/Linux命令行的人都不会陌生,他是一种把各种命令拼接起来完成一个更强... Read More Read M… 阅读全文

- 陈皓

反转控制IoC – Inversion of Control 是一种软件设计的方法,其主要的思想是把控制逻辑与业务逻辑分享,不要在业务逻辑里写控制逻... Read More Read More Th… 阅读全文

- 陈皓

在本篇文章中,我们将要学习一下Go语言的代码生成的玩法。Go语言代码生成主要还是用来解决编程泛型的问题,泛型编程主要解决的问题是因为静态类型语言有类型,所以,相... Read More Read M… 阅读全文

- 陈皓

在本篇文章中,我们学习一下函数式编程的中非常重要的Map、Reduce、Filter的三种操作,这三种操作可以让我们非常方便灵活地进行一些数据处理——我们的程序... Read More Read M… 阅读全文

- 陈皓

在本篇文章中,我们来讨论一下Functional Options这个编程模式。这是一个函数式编程的应用案例,编程技巧也很好,是目前在Go语言中最流行的一种编程模... Read More Read M… 阅读全文

- 陈皓

错误处理一直以一是编程必需要面对的问题,错误处理如果做的好的话,代码的稳定性会很好。不同的语言有不同的出现处理的方式。Go语言也一样,在本篇文章中,我们来讨论一... Read More Read M… 阅读全文

- 陈皓

在本篇文章中,我会对Go语言编程模式的一些基本技术和要点,这样可以让你更容易掌握Go语言编程。其中,主要包括,数组切片的一些小坑,还有接口编程,以及时间和程序运... Read More Read M… 阅读全文

- 陈皓

今天早上看到一篇文章《百度不要用户》这篇文章里的大意是:百度错过了移动互联网,等反应过来的时候,在2013年猛收购了一些公司来追赶对手或是时代,但都不成功,然后... Read More Read M… 阅读全文

- 陈皓

这篇文章的主要内容主要是我今年3月份在腾讯做的直播,主要是想让一些技术人员对世界有一个大体的认识,并且在这个认识下能够有一个好的方法成就自己。而不是在一脸蒙圈的... Read More Read M… 阅读全文

RSS Error: WP HTTP Error: cURL error 60: Peer's Certificate has expired.

- 云风

TL;DR 系统中每个和系统活得一样久的单元(服务),都应该提供一个关闭接口,而不是释放接口。关闭只做必要操作,不必释放资源,不必和其它单元协调。整个系统退出时,只需要命令所有单元关闭,然后让世界戛然… 阅读全文

- 云风

我们的游戏引擎采用的资源格式是 gltf 2.0 。 gltf 在这几年发展很迅猛,我认为是 3d 文件格式中标准化做的最好的一个。可惜,游戏行业中,美术创作人员常用的 max maya 等工具对其支… 阅读全文

- 云风

TCP 连接是双工的,既可以上行数据,又可以下行数据。连接断开时,两侧通道也是分别关闭的。 从 API 层面看,如果 read 返回 0 ,则说明上行数据已经关闭,后续不再会有数据进来。但此时,下行通… 阅读全文

- 云风

ltask 是我前两周实现的一个 lua 的多任务库 。 这个项目复用了我之前的一个类似项目的名字 。目的是一样的,但是我做了全新的设计。所以我干脆将以前的仓库移除,以同样的名字创建了新的仓库。 和之… 阅读全文

- 云风

这篇是继续上次的一些想法。 我最近想重新做一个新的基于消息管道的 N:M 多任务调度器。主要用在我们的客户端上。算是解决在使用 skynet 多年来总结出来的一些问题。 首先,我想改变 skynet … 阅读全文

- 云风

stdatomic 已经是 C11 的标准,并且成为了 C++ 标准的一部分。msvc 也将会支持 stdatomic 。在 skynet 项目开始的时候,还没有这个可以用,所以我采用的是更早一点的 … 阅读全文

- 云风

上次谈到服务器上寻路算法的优化。文末提到,其实,针对具体需求,我们实际上可以预运算所有的路径,把结果持久化在文件中,运行时用 O(1) 的时间就可以查询到任意路径。 对于半径为 N 的地图网格,选取任… 阅读全文

- 云风

这两天和同事讨论一个问题,我写了个小玩意。 事情起因是,我们公司上海的工作室的一个 MMO 项目做服务器压力测试。谈及优化,涉及到服务器中使用的 C 模块。他们把同一套 C++ 加上 namespac… 阅读全文

- 云风

粒子系统中,势必会引入多种材质。要么按材质分为不同的管理器对象,要么把所有粒子片放在一个管理器下,但增加材质的属性。 如果是前者,即使粒子的其它属性都有共性,也无法一起处理;而后者,则涉及材质分类的问… 阅读全文

- 云风

这篇接着上一篇 粒子系统的设计。 TL;DR 在花了一整个晚上用 C++ 完成了这一块的功能后,我陷入了自我怀疑中。到底花这么多精力做这么一小块功能有意义么?强调类型安全无非是为了减少与之关联的代码的… 阅读全文

- mood

Oracle  外连接 (OUTER JOIN) 分为三种: 左外连接,右外连接,全外连接。left join […] 阅读全文

- mood

Macbook 上只有一个删除键 delete,默认是向前删除一个字符。 delete 不能向后删除,需要使用 […] 阅读全文

- mood

1.新建Personal access tokens 点击自己头像,选择 Settings : 在左边栏选择  […] 阅读全文

- mood

ruby /usr/local/rvm/gems/ruby-2.4.9/bin/puma -C /home/w […] 阅读全文

- mood

1.查看show slave status\G发现 Last_SQL_Errno: 1594 Last_SQL […] 阅读全文

- mood

1.直接输入sql执行 MySQL> select now(); +------------------ […] 阅读全文

- mood

mac 使用 sort 对结果排序报错: Illegal byte sequence Error 解决办法:~ […] 阅读全文

- mood

permanent: 永久性重定向,请求日志中的状态码为301。 redirect: 临时重定向,请求日志中的 […] 阅读全文

- mood

1. last 和 break 当出现在location 之外时,两者的作用是一致的没有任何差异。 注意一点就 […] 阅读全文

- mood

rewite 在 server 块下,会优先执行 rewrite 部分,然后才会去匹配 location 块。 […] 阅读全文

互联网大厂

  • 美团技术团队
  • Error
  • Java Code Geeks

对美团安全团队来说,引入领先的安全技术设计能力,构建全方位、多维度智能防御体系,是我们不懈追求的目标。美团有众多基础设施,核心业务系统也需要以成熟的方法论进行威胁评审。本文将着重分享威胁建模是如何帮助… 阅读全文

美团有比较多的图数据存储及多跳查询需求,亟需一种组件来对千亿量级图数据进行管理。海量图数据的高效存储和查询是图数据库研究的核心课题,如何在大规模分布式场景中进行工程落地是我们面临的痛点问题。下面介绍美… 阅读全文

弹性伸缩具有应突发、省成本、自动化的业务价值。平台侧将各业务零散、闲置资源进行整合,形成一个大规模资源池,通过弹性调度、库存管控技术在公司运营成本和业务体感中寻求较好的平衡。本文将介绍弹性伸缩系统落地… 阅读全文

谷歌 2017 年正式提出神经网络架构搜索用于自动化生成模型架构,这项技术即被业界寄予厚望,成为 AutoML 的核心组成部分。凭借日益增强的算力和持续迭代的 NAS 算法,视觉模型在架构层面诞生了像… 阅读全文

此前,前端工程师尝试过将业务组件模块化构建成通用视图库,并通过拖拽、拼接等形式搭建业务模块,从而实现视图复用,降低设计稿转代码的研发成本。但随着业务的发展和个性化的驱动,通用视图库无法覆盖所有应用场景… 阅读全文

美团外卖商家端业务围绕数百万商家,在 PC 和 App 上分别提供了交易履约、运营、广告、营销等一系列功能,且经常有外投 H5 的场景(如外卖学院、商家社区、营销活动等)。在这种多形态的业务场景下,如… 阅读全文

OCTO 2.0是美团下一代分布式服务治理系统,它基于美团现有服务治理系统OCTO 1.0与Service Mesh通信基础设施层的结合,是命名服务、配置管理、性能监控、限流鉴权等服务治理功能的全新演… 阅读全文

本文介绍了外卖特征平台在特征生产、特征获取计算以及训练样本建设过程中遇到的挑战以及优化思路,为外卖业务的算法迭代提供了有力支撑。 阅读全文

本文介绍了美团平台自研的一款cocoapods插件,该插件可以大幅提升iOS工程代码的编译速度。文章前半部分主要介绍相关的原理,后面阐述了在工程层面的实践,希望能给从事相关开发的同学带来一些帮助或者启… 阅读全文

本文从预编译的基础知识入手,由浅至深的介绍了Objective-C和Swift的工作机制,并通过这些机制来解释混编项目中使用到的技术和各种参数的作用,由此来指导开发者如何进行混编。 阅读全文

RSS Error: A feed could not be found at `http://jm.taobao.org/atom.xml`; the status code is `200` and content-type is `text/html; charset=utf-8`

- Bozhidar Bozhanov

As a founder of a security company, I’m constantly looking for open source tools to either incorpora… 阅读全文

- Sebastian Daschner

I wanted to share my tips and tricks that and especially keyboard shortcuts that make me more produc… 阅读全文

- Eric Schabell

We’re kicking off another series sharing a new architecture blueprint. It’s focusing on presenting a… 阅读全文

- Eric Schabell

In our  previous article from this series we shared a look at the logical common architectural eleme… 阅读全文

- Eleftheria Drosopoulou

Increase Your Website’s Leads & Traffic with 26 Hours of Content on Google SEO, Video SEO, Amazo… 阅读全文

- Eric Schabell

In our previous article from this series we’ve introduced a use case around point of sale imaging fo… 阅读全文

- Ashley Frieze

When testing code there are four ways to handle the dependencies that code has: Plug in the real thi… 阅读全文

- Stacktraceguru

In the previous post we saw baiscs about java 9 modules like, what is module, how to create module p… 阅读全文

- Johanna Rothman

A manager said to me, “I’m responsible for this department of people.” I asked, “What does that mean… 阅读全文

- Fahd Shariff

This post shows how you can convert a keyed table to a hierarchical tree format in kdb+/q. This coul… 阅读全文