后端技术

个人博客

  • 面向信仰编程
  • 四火的唠叨
  • 二进制之路
  • 酷 壳 – CoolShell
  • 后端技术 by Tim Yang
  • 云风的 BLOG
  • nginx
- 四火

来,说点大逆不道的。 代码是程序员的基础能力,毫无疑问。Linus说,“Talk is cheap, show me the code.”。软件工程师,归根到底是要做工程的,代码写不好,就谈不上把工程… 阅读全文

- 四火

好久没有写一点关于曼联的文字了,上次已经是2019年年初了,作为一名铁杆曼联球迷,这期间倒是一场比赛都没有落下过。我看比赛已经过了十多年前那样尽量看直播的阶段了,如今虽说一场不落,每一场却只看录播。老… 阅读全文

- 四火

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

- 四火

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

- 四火

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

- 四火

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

- 四火

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

- 四火

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

- 四火

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

- 四火

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

- binarylife

人的一生两个最大的财富是:你的才华和你的时间。才华越来越多,但是时间越来越少,我们的一生可以说是用时间来换取才华。如果一天天过去了,我们的时间少了,而才华没有增加,那就是虚度了时光。所以,我们必须节省… 阅读全文

- 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… 阅读全文

- 陈皓

本篇文章主要想讨论一下,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… 阅读全文

- Tim

感谢读者,能看到这篇文章,也许是通过 RSS 订阅或者是博客首页来的。博客过去很长时间没有更新,大部分随想都发表在微博,由于发的内容大多是碎碎念,建议大家也不用专门去拜访。在 2010 年时候,曾写过… 阅读全文

- Tim

今天抽空将 blog 增加了 HTTPS 支持,并停止了原来的 HTTP 服务。 阅读全文

- Tim

身在中国,生长的环境已经教导好了我们如何过一个正常的春节。 阅读全文

- Tim

最近碰到了一个创业失败的朋友,由于资金紧张,暂时没有合适的事情可做,只好靠开滴滴度日。问了他下一步的打算,他说有个传统企业的老板想转型互联网+,也很有兴趣跟他合作,未来打算将自己的重点放在这方面。 阅读全文

- Tim

作者注:本文发表于 2015 年 12 月 24 日。 阅读全文

- Tim

可能通过「高可用架构」听说过在微博的系统中,单张 MySQL 在线业务表 60 亿条数据的场景。很多关注互联网架构的工程师也非常关注如何如何设计类似系统。下面是一道微博新兵训练营的分布式存储课堂练习,… 阅读全文

- Tim

上文为什么我认为架构师需要坚持写代码发出后,看到一个朋友在网上分享了他最近的变化,经过深思熟虑,这位朋友已经离职放弃了原来舒适但是不太需要技术驱动的位置,去重新寻找让自己更有激情、能更好体现技术价值的… 阅读全文

- Tim

最近在高可用架构群、EGO会员群等多个场合,大家都在讨论架构师的能力的问题,架构师应该具备哪些能力?在面试时如何合适的评估一个架构师的能力? 阅读全文

- Tim

Pinterest首页的Feed消息流,最早是按照用户的关注对象的Pin(类似微博)聚合后按时间进行排序(自然序,类似朋友圈),后来版本的feed系统放弃了自然序,而是根据一定规则及算法来设计,内部称… 阅读全文

- Tim

《火星救援》是最近一部受到广泛关注的片子,讲述在一次人类登陆火星的任务中,宇航员马克·沃特尼经历了一场恶劣的风暴后,与他的机组成员失联,所有人都认为他在这次任务中丧生。然而,马克却幸运地活了下来,然而… 阅读全文

- 云风

最近在公司内做了一次两小时的分享,介绍了一下我最近几年对 ECS 模型的一些想法以及最近在项目中的应用心得。 我分享的主题不叫 ECS ,而用了一个更宽泛的名字 Data oriented desig… 阅读全文

- 云风

我想用 C 实现一个内存紧凑的 ECS 框架,希望数据结构足够的简单,且能管理海量的对象。所以我让每个 component 就是一个不包含任何引用的 struct ,并带有一个 32bit 的 id … 阅读全文

- 云风

最近在尝试做一个类似异星工厂的游戏原型。由于最终希望在内存有限的手机上运行,所以不得不考虑内存如何有效利用的问题。 这是因为,我在玩异星工厂(加上一些 mod )时,发现 PC 内存能占到 10G 以… 阅读全文

- 云风

这两天想给一个想法做个简单的原型,因为涉及人机交互,需要在屏幕上绘制一些简单的交互元素。当然,现在有很多工具可供利用。过去遇到这种事情,我会尝试用已有的各种开源游戏引擎(我尤其推荐 PICO-8),或… 阅读全文

- 云风

最近,我们把自研游戏引擎的构建工具从 GNU Make 迁移到了 Ninja 。 迁移动机是这样的: 我为引擎编写了最初的 Makefile ,它可以很好的工作在 MinGW / MacOSX / i… 阅读全文

- 云风

最近有点关于 Lua 不成熟的想法。 Lua 目前函数原型的常量表只支持了布尔、数字和字符串类型的常量。而 table function 这些是不会存在于常量表中的。 我想,如果常量如果不限于前三种类… 阅读全文

- 云风

本周末,阿里集团会在中南大学做校招。我作为校友,被邀请面向应届毕业生做一次技术分享。我想谈谈开源的问题。 由于技术分享的时间很短,我想在现场不太可能展开谈。所以在 blog 上先写一篇相关的子话题:在… 阅读全文

- 云风

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

- 云风

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

- 云风

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

- mood

新系统打开终端默认是没有颜色输出的 不需要任何配置,可以在ls命令后添加 -G 参数来打开颜色输出: ls - […] 阅读全文

- mood

打开电脑右上角弹出更新窗口,本想点关闭,手抖点了更新,系统升级到 catalina,升级完成之后对于普通使用并 […] 阅读全文

- mood

1. 访问 https://developer.nvidia.com/cuda-10.2-download-a […] 阅读全文

- mood

安装前准备 安装gcc环境 [crayon-60fc8270226fd860392380/] 安装内核包 [c […] 阅读全文

- mood

安装完 GPU 的驱动并重启系统后,执行 nvidia-smi 报错: [crayon-60fc8270228 […] 阅读全文

- mood

近期java应用,CPU使用率一直很高,经常达到100%,通过以下步骤完美解决: 方法一: 1.jps 获取J […] 阅读全文

- mood

安装好Oracle数据库后,dbstart启动数据库报错,如下: [crayon-60fc8270234f15 […] 阅读全文

- mood

linux 下可以通过 firewalld 配置端口转发,windows 下也可通过 netsh 命令实现端口 […] 阅读全文

- mood

由于磁盘比较小,向表中插入大量数据时,如果磁盘满了,表空间自动扩展会失败,这个时候可以查看哪些表占的空间过大, […] 阅读全文

- mood

本文介绍 Oracle 最常用的基本管理命令,包括创建用户、表空间,权限分配等。 1、启动oracle数据库: […] 阅读全文

互联网大厂

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

Pike 2.0致力于为美团提供一套易接入、高可靠、高性能的双向消息投递服务。本文首先从系统架构升级、工作模式升级、长稳保活机制升级等方面介绍了Pike2.0的技术演进,然后介绍了Pike 2.0在直… 阅读全文

本地生活综合性需求图谱(GENE: lifestyle GEneral NEeds net),是从用户需求视角出发,深入挖掘本地生活场景下用户多样化的需求,并将其与多行业、多类型的供给形成关联的知识图… 阅读全文

美团搜索排序是一个典型的多业务混合排序建模问题,这种多业务场景搜索存在很多挑战,本文聚焦于到店商家多业务场景,进行了多业务排序建模优化工作。希望能对从事相关工作的同学有所启发或者帮助。 阅读全文

常识性概念图谱,是围绕常识性概念建立的实体以及实体之间的关系,同时侧重美团的场景构建的一类知识图谱。本文介绍了美团常识性概念图谱构建的Schema,图谱建设中遇到的挑战以及建设过程中的算法实践,最后介… 阅读全文

在深度学习时代,算力的需求和消耗日益增长,如何降低算力成本,提高算力效率,逐渐成为一个重要的新课题。智能算力旨在对算力进行精细化和个性化分配,实现最优化资源利用。本文主要分享美团外卖广告在智能算力探索… 阅读全文

美团到店广告平台算法团队基于多年来在广告领域上积累的经验,一直在数据偏差等业界挑战性问题不断进行深入优化与算法创新。在之前分享的《KDD Cup 2020 Debiasing比赛冠军技术方案与广告业务… 阅读全文

从 PC 时代、移动时代到万物互联的 IoT 时代,伴随终端设备的日趋多样化,跨端复用的种子自此落地,开始生根发芽。从业务角度出发,跨端技术演进更多是在不同阶段、不同时间段内业务效率上的选择,美团民宿… 阅读全文

尽管基于BERT的模型在NLP诸多下游任务中取得了成功,直接从BERT导出的句向量表示往往被约束在一个很小的区域内,表现出很高的相似度,因而难以直接用于文本语义匹配。为解决BERT原生句子表示这种“坍… 阅读全文

实例分割是计算机视觉中的基础问题之一。虽然静态图像中的实例分割已经有很多的研究,对视频的实例分割(Video Instance Segmentation,简称VIS)的研究却相对较少。而真实世界中的摄… 阅读全文

你因科技而精彩,科技因你而腾飞。 阅读全文

RSS Error: WP HTTP Error: cURL error 35: Encountered end of file

- Ashley Frieze

AWS is pretty good, with a lot of documentation. However, often you need to spot the detail you need… 阅读全文

- Yatin Batra

Hello. In this tutorial, we will implement a Node.js JWT (JSON Web Token) to protect the application… 阅读全文

- Yatin Batra

Hello. In this tutorial, we will create a simple node.js application and perform the CRUD operations… 阅读全文

- Claus Ibsen

Apache Camel 3.11 has just been released. This is a LTS release which will be supported for 1 year w… 阅读全文

- Eleftheria Drosopoulou

Dive Deeper in the World of Web Coding with 8 Courses on Python, Ruby, Javascript, PHP, HTML, Bootst… 阅读全文

- Biju Kunjummen

In a previous post I had gone over how a “Try” type can be created in Kotlin from scratch to handle … 阅读全文

- Ashley Frieze

In Java, we often have framework support for importing settings from the file system of our applicat… 阅读全文

- Ashley Frieze

When our software outputs JSON, it can be hard to test. Consider this code: 1 2 assertThat(someJson)… 阅读全文

- Rajeev Hathi

The previous article demonstrated how to implement cross-cluster Anthos Service Mesh (ASM) in a sing… 阅读全文

- Rajeev Hathi

One of the advanced mesh constructs or topologies are multi mesh or cross mesh designs that aids in … 阅读全文