自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

后台开发拾遗

分享后台开发和架构设计的干货

  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 《凤凰架构》读书笔记——第11章 虚拟化容器

一、容器发展历程:二、Kubernetes的两大核心设计理念:三、Kubernetes学习和使用还是很复杂的,因此未来云原生的方向是简化使用。有4个方向:

2024-02-02 16:58:10 191

原创 李宏毅ML2022 Spring HW3解析

因为作业不能采用预训练的模型,我尝试了ResNet18,发现要训练的次数比一般自己拼凑的CNN要多得多,计算资源都不太够了,最后用cross validation只训练了3个模型,都跑了600 epochs。我加的都是Random的变换,因为每次获取训练数据的时候,都是把所有的变换操作都执行一遍的,如果不是随机变换,那原图就永远不会参与训练,只有转换以后的图片才会参与训练,那训练效果可能就不好了。TTA是在test阶段的数据增强,即在预测的时候将原图变换出来的多张图片分别进行分类,再综合分类结果的方法。

2024-01-22 12:05:50 1204 1

原创 Pytorch view函数报错解决

这些操作其实没有改变数据在内存中存储的顺序,它们只是修改了Tensor的元数据,例如前面的3*4的Tensor调用transpose()转置后,会变成4*3的Tensor,但是底层的存储还是同一份,只是把stride改成(1, 4)了。简单地说,tensor的数据其实是按行优先的方式存储为1维的连续空间的,这跟我们学习的数组是类似的,以下是3*4的tensor a,底层存储在一行。有详细的解释,一句话就是因为性能问题,CPU读取连续的一行数据是非常快速的,但是如果读取不连续的一行数据就要做多次的IO。

2024-01-19 18:35:21 1700 1

原创 干货:如何打造一个直播平台

上几篇介绍了如何实现一个百万级别的语音聊天室,本篇将介绍直播平台的设计。开始分享这个项目其实有点犹豫,因为我所参与的直播平台跟业界常用的方案不太一样。但是仔细想想,架构设计本来就是在各种条件约束下的因地制宜,没有绝对的正确和错误,合适才是关键。我们是国内做直播相对比较早的团队,也缺乏一些行业通用方案的参考,因此很多地方是自己通过踩坑摸索出来的。因为最开始我们产品只支持语音聊天,后来随着直...

2020-03-15 11:35:38 3164

原创 如何实现百万级的语音聊天服务

上篇我们介绍了如何从零开始搭建一套语音聊天室后台,设计方案比较基础,本篇我们将介绍语音聊天室的升级版本——在海量用户同时在线的情况下,语音服务器的架构将如何升级改造。互联网产品后台开发信奉一句话:先扛住再优化。工程师当然是希望把系统设计得尽善尽美,但是业务发展往往是不允许的,因此后台工程师的工作就是在技术和业务之间寻找平衡点。大部分的系统都是逐步迭代演进而来的,没有一蹴而就的完美系统。前文...

2020-01-27 18:03:31 677

原创 你真的知道聊天室架构设计这两个问题吗?

上篇我们介绍了下面这个简单的语音聊天室的架构,遗留了两个问题。首先,语音服务器是怎么转发语音数据的?我们直接上图。图中虚线框表示连接到同一台语音服务器。当A说话的时候,客户端将语音数据上传到A所连接的语音服务器;语音服务器向房间服务器查询A所在房间的其他用户(B-E)所在的语音服务器IP,分几种情况:对于同服务器用户B只需要下发语音数据,对于其他服务器上的用户(C-E)需要转发给相应的...

2019-12-04 08:18:44 242

原创 如何打造一个语音聊天室

语音聊天室这个名词可能有点陌生,实际上相关的产品还是很多的,例如游戏里的开黑语音、在线课堂等。语音聊天室可以认为视频直播的前身,很多音视频平台的架构是从语音聊天室演进为视频直播室的。本文主要介绍语音聊天室的架构设计,后面的文章会逐步介绍从语音到视频的演进历程。语音聊天室怎么实现呢?互联网产品设计万变不离其宗,一套QQ的架构设计可以走遍天下。QQ群聊是怎么实现的,那么把群聊中的文字消息换成语...

2019-11-29 08:28:56 891

原创 QQ是怎样创造出来的?——解密好友系统的设计

本篇介绍笔者接触的第一个后台系统,从自身见闻出发,因此涉及的内容相对比较基础,后台大牛请自觉略过。什么是好友系统?简单的说,好友系统是维护用户好友关系的系统。我们最熟悉的好友系统案例当属QQ,实际上QQ是一款即时通讯工具,凭着好友系统沉淀了海量的好友关系链,从而铸就了一个坚不可摧的商业帝国。好友系统的重要性可见一斑。熟悉互联网产品的人都知道,当产品有了一定的用户量,往往会开发一个好...

2019-11-20 23:11:41 263

原创 后台服务器框架中的瑞士军刀——MCP

上篇介绍了一个简单的UDP服务框架,但是面对海量的请求,同步框架显然有点力不从心。于是在我接手好友系统的接口服务的时候,就采用了一个强大的异步框架——MCP框架。MCP框架是一个多进程异步框架,支持UDP、TCP和http,结构很灵活,可以根据需要将各组件像搭积木一样组装。下面是MCP最基础的进程结构。分为3种进程:CCD、MCD和DCC。CCD是面向客户端的进程,是服务的入口,负...

2019-11-12 22:19:30 744

原创 后台开发小白必学服务器框架——UDPServer

毕业后加入了一家大型的互联网公司的音视频产品部门做后台开发,其实我本身是学习自动化的,研究生的方向嵌入式系统,对互联网可是一知半解,因此能进入这样一个大公司还是很幸运的。刚开始工作的半年应该是在上份工作最快乐的时光,那时候我们十来个人被抽调出来做好友系统,由Z组长负责。从产品到开发,大部分都是新入职员工,pm给画了一个大饼,大家都满怀憧憬。闲话少说,先介绍一下刚开始接触后台开发用到的服务器...

2019-11-12 22:16:02 503 6

原创 路漫漫其修远

离开原公司已经有3个多月了,新工作也基本适应和熟悉,虽然都是后台开发,不同行业差别还是挺大的。以前涉及的都是互联网产品,用户量巨大,访问高并发,对时延敏感,因此在服务的高性能高可用方面考量较多;而现在做金融产品的后台开发,并发量很少,业务逻辑复杂,出错成本高,性能已经不是重要考量,可靠性才是。二者没有绝对的优劣,只有合适二字。这也是这么多年后台开发中体味出来的道。一直想创建这样一个公众...

2019-11-12 22:11:35 135

Visual C++ 简易网络五子棋游戏的实现

Visual C++ 简易网络五子棋游戏的实现。用vc写的五子棋游戏,供大家学习交流。

2010-10-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除