Redian新闻
>
Redis创始人开源最小聊天服务器,仅200行代码

Redis创始人开源最小聊天服务器,仅200行代码

公众号新闻

👉 这是一个或许对你有用的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入芋道快速开发平台知识星球。下面是星球提供的部分资料: 

👉这是一个或许对你有用的开源项目

国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。

功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号等等功能:

  • Boot 地址:https://gitee.com/zhijiantianya/ruoyi-vue-pro
  • Cloud 地址:https://gitee.com/zhijiantianya/yudao-cloud
  • 视频教程:https://doc.iocoder.cn

来源:TJ君


中午时候,在技术交流群里聊起关于Redis创始人的一些趣事,比如离开Redis之后,去写科幻小说之类的。

因为好奇科幻小说,我就去搜索了一下。结果一搜,发现Redis作者最近居然又搞了个新活儿!

世界上最小的聊天服务器

这次Redis作者的新开源项目名叫:SmallChat

从关于内容中可以知道,这个开源项目是要打造最小的聊天服务器。再从开源项目的内容中来看,确实如此,就下面这些:

代码部分除去大量注释之后,更是惊人的只有200+行代码,可以说真的是做到了极致的精简。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro
  • 视频教程:https://doc.iocoder.cn/video/

起源与未来

在该项目的README中,目前还没有更多关于该项目的使用说明,更多的是关于该项目的背景和未来展望。

内容也是非常值得大家细品,TJ君从中感受到一名优秀开发者的思维模式,是非常值得大家去学习的。我们也可以去多学习这种思维方式,来多创造一些更有意思的东西。

下面一起来看看他的故事:

昨天和几个朋友聊天,大部分都是前端开发人员,离系统编程有点远。我们正在回忆 IRC 的旧时光。我说道:编写一个非常简单的 IRC 服务器是每个人都应该做的经历(我向他们展示了我用 TCL 编写的实现;我很震惊我在 18 年前写了它:时间过得很快)。这样的程序中有一些非常有趣的部分。单个进程执行多路复用、获取客户端状态并在客户端拥有新数据后尝试快速访问此类状态,等等。

但后来讨论发生了变化,我想,我将向您展示一个用 C 编写的非常简单的示例。您可以编写的最小的聊天服务器是什么?为了真正做到最小化,我们不应该需要任何合适的客户。即使不是很好,它也应该与 telnet 或者 netcat 一起使用。服务器的主要操作只是接收一些聊天行并将其发送到所有其他客户端,有时称为扇出操作。然而,这需要适当的功能,然后是缓冲等等。我们希望它更简单:让我们使用内核缓冲区进行欺骗,并假装我们每次都从客户端收到完整的行(这个假设在实践中通常是正确的,所以事情还算有效)。

好吧,通过这些技巧,我们可以实现一个聊天,甚至能够让用户在短短 200 行代码中设置他们的昵称(当然,删除空格和注释)。因为我写了这个小程序作为给我的朋友们的例子,所以我决定也将它推送到 GitHub 上。

关于未来的工作:

在接下来的几天里,我将继续修改这个程序,以使其进化。不同的演变步骤将根据我的写作系统软件系列的 YouTube 剧集(涵盖此类变化)进行标记。这是我的计划(可能会改变,但或多或少这就是我想要涵盖的内容):

  • 实现读和写的缓冲
  • 避免使用线性数组,使用字典数据结构来保存客户端状态
  • 编写适当的客户端:能够处理异步事件的行编辑
  • 从 select(2) 切换到更高级的 API
  • 用于聊天的简单对称加密

怎么样?一个有趣的开源项目就这样诞生了。好了,今天的分享就到这里。最后,老规矩,奉上开源地址,感兴趣的可以去围观代码。

  • https://github.com/antirez/smallchat

欢迎加入我的知识星球,全面提升技术能力。

👉 加入方式,长按”或“扫描”下方二维码噢

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

文章有帮助的话,在看,转发吧。

谢谢支持哟 (*^__^*)

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
不到1000行代码,PyTorch团队让Llama 7B提速10倍威马关闭后台服务器,客服失联,车机服务全没了;新浪上海被网信办约谈;华为派出工程师检查,赛力斯工厂急招大量员工丨雷峰早报2023 国产服务器操作系统发展报告发布:服务器操作系统进入 2.0 时代,面向云计算、智能计算进化指针没用好,一行代码让公司损失6000万美元简单有效!Direct Inversion: 三行代码提升基于Diffusion的图像编辑效果列宁主义救中国 (第五章摘要)老土骗局卷土重来!咖啡馆成“杀猪场”,团伙轻松进账200万,最小“酒托女”仅20岁空巢感姗姗来迟隐退三年重出山!身价4800亿的谷歌创始人亲自给Gemini写代码,经常加班到凌晨网友600行代码做出翻版“愤怒的小鸟”,却没有一行是自己写的!Redis 创始人用 C 语言编写最小聊天服务器,核心代码仅 300 行趣图:菜鸟开发向生产服务器发布代码OrbiMed创始人开了一家新公司,两年融资2.5亿美元隐退 3 年,身价 4800 亿元的谷歌创始人写 Gemini 代码,还经常加班到凌晨一点!两行代码解决大语言模型对话局限!港中文贾佳亚团队联合 MIT 发布超长文本扩展技术Redis创始人用C语言编写最小聊天服务器,核心代码仅300行2行代码,「三体」一次读完!港中文贾佳亚团队联手MIT发布超长文本扩展技术,打破LLM遗忘魔咒部分旧版Chase Freedom用户被强制“暖心升级”成Chase Freedom UnlimitedRedis实战 | 使用Redis 的有序集合(Sorted Set)实现排行榜功能,和Spring Boot集成祖传“屎山代码”终于有解了,GitHub Copilot Chat 下个月全面上线,聊聊天就能看懂代码、捉Bug!看房子720亿参数大模型都拿来开源了!通义千问开源全家桶,最小18亿模型端侧都能跑航天服同款材料做双软绒绒拖鞋!亲肤仿兔毛,加厚鞋底,踩上暖呼呼还不打滑微软发布基于LLM的代码生成神器,动动嘴就能写代码!不到 600 行代码实现了《愤怒的小鸟》翻版,GPT-4+DALL·E 3+Midjourney 撼动游戏圈!字节宣布除夕放假、不占年假;印度“IT之父”要求年轻人每周工作70小时;Redis创始人用C语言写出最小聊天服务器|AI一周资讯简单有效!Direct Inversion:三行代码提升基于扩散的图像编辑效果从风靡欧洲到走向世界 | 胡润百富专访Rituals创始人:坚持从不同维度提升品牌商业向善的影响力。疯狂马斯克的“极限”计划居然成功了?!“下云”后成本降低 60%,部分功能代码精简 90%,30 天急速迁移服务器十行代码让日志存储降低80%贾佳亚韩松团队新作:两行代码让大模型上下文窗口倍增 | GitHub热榜新闻解读:2023年G20最终声明专访Pika Labs创始人:探索视频生成的GPT时刻开源版 GPT-4 代码解释器,可安装任意 Python 库,本地终端运行可能会陪你走完人生的不是爱情
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。