IMBoy技术专栏
文章平均质量分 82
实现IMBoy项目中遇到的即时聊天相关技术的一些经验和思考,及一些有价值的技术文章翻译等。
李燚
码农 erlang golang python3 tornado php laravel8 thinkphp* git redis rabbitmq
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Flutter项目移动端SQLite升级指南:解决json_extract函数缺失问题
Flutter移动端项目中依赖于SQLite的高级功能(如json_extract),在低版本的Android系统上部署时,可能会遇到函数不支持的问题。本文将指导你如何通过升级项目中使用的SQLite版本来解决这一问题。原创 2024-08-15 11:58:24 · 1331 阅读 · 0 评论 -
深入理解 Cowboy WebSocket:使用 Erlang/OTP 构建高效的即时通讯(IM)应用
实时通信技术在现代 Web 应用中扮演着核心角色,而 WebSocket 作为其中的关键技术,已成为即时通讯(IM)系统不可或缺的一部分。Cowboy,这个基于 Erlang/OTP 的轻量级 HTTP 服务器框架,以其强大且用户友好的 WebSocket 功能,为开发者提供了构建高效 IM 应用的利器。本文将深入分析如何利用 Cowboy WebSocket 来打造高性能的即时通讯解决方案。原创 2024-07-08 09:13:16 · 1648 阅读 · 2 评论 -
Erlang-pure-migrations 在 IMBoy 项目中的应用实践
一个Erlang语言的强大而灵活的数据库迁移工具,它帮助开发者以纯函数的方式管理PostgreSQL或MySQL数据库的迁移;它遵循Unix哲学,即“一切皆文件”,将数据库迁移脚本视为文件系统中的普通文件,它允许开发者使用纯SQL语句来编写迁移脚本,而无需编写任何Erlang代码;这不仅简化了迁移过程,而且提高了代码的可读性和可维护性。通过在IMBoy项目中应用,我们成功构建了一个健壯、灵活且易于维护的数据库迁移功能。它不仅提高了开发效率,而且确保了数据库迁移的安全性和一致性。原创 2024-06-20 21:43:44 · 948 阅读 · 0 评论 -
实时交互新篇章:WebSocket在Flutter中的应用与实践
WebSocket技术为实时通信提供了强大的支持,使得开发者能够构建动态和交互性强的应用。在Flutter中,通过包,我们可以轻松实现WebSocket功能,为应用添加实时通信的能力。无论是实时数据推送、在线游戏还是即时通讯,WebSocket都是关键技术。通过本文的代码示例,我们学习了如何在Flutter应用中实现WebSocket的连接、消息监听、发送、关闭处理及重连机制,这些是构建实时应用的基础。原创 2024-04-21 18:58:08 · 1797 阅读 · 1 评论 -
Niku:设计平衡框架的思考过程
太棒了,现在我可以对内部的属性做同样的事情,我只需要创建一个继承的类......哦,如果我碰巧抽象了像 TextFormField 这样的小部件,你不能直接在 Dart 中这样做。它是一个库,可以帮助开发人员使用相同的代码在每个主要浏览器上工作,不仅如此,它还使编码变得更容易,删除样板文件并处理冗余的东西,以便开发人员可以更轻松地开发 Web。小部件来防止内存分配,因为小部件接受回调函数,如果需要重绘,该回调函数将被执行,甚至它会分配内存,但这样做会损失属性生成器的一些开发人员经验,所以问题是, 你应该?转载 2024-04-21 18:54:31 · 295 阅读 · 0 评论 -
我认识的Git-史上最强的版本控制系统
大家好!欢迎大家来一起交流Git使用心得,相信很多同事对Git都很熟悉了,如果下面说的有错误的“知识点”,欢迎批评指正。其中“Git工作流”这节,本身就是一个大的课题,我这里只做一个知识汇总,希望起到抛砖引玉的作用;希望我们有自己的“工作流”;希望“我们的工作流”能够更加规范化、文档化,使得我们的工作更高效!我认识Git已经很多年了(我在有道云笔记里面“Git”文件夹的创建时间是: 2014-03-24 11:04)。我接触的第一个软件版本控制系统是SVN(在Windows7系统下面)。原创 2024-04-04 21:27:41 · 802 阅读 · 0 评论 -
IMBoy项目的缓存机制:高效数据处理的秘诀
IMBoy项目的缓存机制是其高性能架构的关键部分之一。通过使用depcache和进程字典记忆化缓存,IMBoy能够提供快速的数据访问,同时保持系统的稳定性和可扩展性。无论是处理常规的数据检索还是管理复杂的依赖关系,IMBoy的缓存策略都能确保用户享受到流畅、高效的即时通讯体验。随着IMBoy项目的不断发展,其缓存机制也将继续演进,以满足不断增长的用户需求和技术挑战。原创 2024-03-30 17:49:45 · 553 阅读 · 0 评论 -
我为什么要做这个IM项目?我为什么要用erlang语言做这个IM项目?
在那里,我偶遇了一本《Erlang/OTP并发编程实战》,书中的Erlang语言以其简洁的语法和独特的“Let it Crash”哲学深深吸引了我。随着对Erlang的深入了解,我在网络上发现了WhatsApp的成功故事——一个利用Erlang构建的、支持数亿用户并发通讯的系统。IMBoy项目不仅是我深入学习Erlang的实验场,更是我追逐创业梦想的起点。尽管我对IM系统的复杂性起初知之甚少,但我坚信Erlang的高并发处理能力、卓越的容错性以及软实时性能将是我构建稳定、高效、安全通讯平台的坚实基础。原创 2024-03-30 17:46:51 · 334 阅读 · 0 评论 -
IMBoy缓存系统深度解析:为何选择depcache而非ETS或Redis
综合考虑,depcache以其深度融合Erlang生态、高效的依赖管理、卓越的性能和低维护成本,成为IMBoy缓存系统的最佳选择。随着IMBoy平台的持续发展,depcache将持续提供稳定、可靠和高效的缓存服务,保障用户体验的流畅性和系统的高可用性。原创 2024-04-02 20:44:31 · 1000 阅读 · 0 评论 -
基于 Erlang 的随机账户分配机制
我们创建了一个名为 `account_server` 的模块,它负责处理分配账户编号的任务。这个过程确保了每个用户都能得到一个独特的账户编号,并且整个过程是高效和公平的。我们可以将这个过程想象成一个装满数字的帽子,我们要做的是从这些数字中随机选一个作为你的账户编号。* 如果列表中的数字都已经被取完了,我们会重新设定一个新的数字池范围,并重复上述步骤。* 我们从这个已经打乱顺序的列表中取出一个数字,这个数字就是你的账户编号。* 然后,我们创建一个列表,包含这个范围内的所有数字,并将它们顺序打乱。原创 2024-04-02 23:24:23 · 358 阅读 · 0 评论
分享