Open-IM-Server:开源即时通讯应用 Open-IM 的服务端安装部署
OpenIM 是一款开源即时通讯 IM。服务器端用 Golang 编写。OpenIM 服务端中的一切都是消息,因此你可以轻松扩展自定义消息,无需修改服务器代码。使用微服务架构,可以使用集群部署 Open IM Server。在客户服务器上部署 Open IM Server,开发人员可以免费快速地将即时消息和实时网络功能集成到自己的应用程序中,并确保业务数据的安全和隐...
Laravel 10 中如何生成二维码
本文中,我们将探讨如何在 Laravel 中生成二维码。首先,我们需要引入 Laravel 的第三方支持包 simple-qrcode。这个包封装了 Bacon/BaconQrCode 包,它本身是 ZXing 库的一个端口,但适用于 PHP.你也可以直接和 BaconQrCode 包进行交互,而无需通过 simple-qrcode。不过在使用 Larave...
使用 Laravel Process 运行命令的技巧
Laravel 10 发布了 Laravel Process facade,这使得运行外部命令非常容易。$result = Process::run("php -v"); echo $result->output();底层使用的是 Symfony Process,同时添加了许多改进。你运行命令的目的是什么?我个人曾使用它在早期版本的Chipper CI...
Playwright,一个用于 Web 测试和自动化的框架
Playwright 是微软开源的一个用于 Web 测试和自动化的框架, 提供了可靠的端到端测试, 功能非常强大, 可以在测试, 爬虫,自动化场景中使用。跨浏览器Playwright 支持所有现代的渲染引擎,包括 Chromium、WebKit 和 Firefox。跨平台在 Windows, Linux 和 macOS 提供相同的使用体验。跨语言多语言支持,...
Babylon.js 简介
Babylonjs 是一款强大、漂亮、简单、开放的游戏和渲染引擎,以 Javascript 框架发布。BabylonJS 及其模块发布在npm上,并提供全类型支持。使用下面命令安装:npm install babylonjs --save或者,您现在可以依赖ES6 软件包。使用ES6版本将允许树抖动以及其他捆绑好处。引入整...
数据库 Auto Increment 的实际问题
本文中,我将展示我以后将在 Postgres 和 MySQL 中避免使用 auto-increment 自增长字段的两个原因。我更愿意使用 UUID 字段除非有非常好的不使用的理由。 MySQL 8.0 auto-increment ID 重用 如果运行的是旧版本的MySQL,那么自动递增的ID可能会被重复使用。让我们看看这个动作..
API 设计:真实世界的情况 2
在前面的文章中,我们研究了一些真实存在下的 API,对其中好的和坏的进行了特别说明。本文中,我们将继续同样的事情!› Python 的 datetime.datetime大多数经验丰富的Python爱好者在职业生涯的某个阶段都写过这样的代码:import datetime now = datetime.datetime.now() print(now)虽然没...
API 设计:真实世界的情况
在此前的文章中,我们已经探索了一些基本原则,不过还没开始使用新发现的技能。让我们休息一下,看看一些今天真实场景下的一些代码示例,以及我们如何对其改进。› Go的 math/big 库大部分语言都有处理超大数值的库,Go 也不例外。下面是一个操作示例:package main import ( "fmt" "math" "math/big" ...