博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
移动端仿钉钉聊天 git_使用Git作为聊天的后端
阅读量:2526 次
发布时间:2019-05-11

本文共 2476 字,大约阅读时间需要 8 分钟。

移动端仿钉钉聊天 git

是那些设法将大量现代计算封装到一个程序中的罕见应用程序之一,最终成为许多其他应用程序的计算引擎。 尽管它最着名的是跟踪软件开发中的源代码更改,但它还有许多其他用途,可以使您的生活更轻松,更有条理。 在4月7日Git成立14周年之前的系列文章中,我们将分享7种鲜为人知的Git使用方法。 今天,我们将介绍基于Git的聊天应用程序GIC

认识GIC

虽然Git的作者可能期望为Git创建前端,但毫无疑问,他们从未期望Git会成为聊天客户端的后端。 但是,这正是开发人员Ephi Gabay使用其实验性概念验证所做的工作:一个使用Git作为后端数据库,以编写的聊天客户端。

GIC绝非用于生产用途。 这纯粹是一种编程练习,但它证明了开源技术的灵活性。 令人惊讶的是,该客户端仅由300行代码组成,不包括Node库和Git本身。 这是关于聊天客户端和开源的最好的事情之一。 以现有工作为基础的能力。 眼见为实,所以您应该给GIC自己看看。

设置好

GIC使用Git作为引擎,因此您需要一个空的Git存储库作为其聊天室和记录器。 只要您和需要访问聊天服务的任何人都可以访问该存储库,就可以在任何地方托管该存储库。 例如,您可以在免费的Git托管服务(如GitLab)上建立Git存储库,并向聊天用户授予贡献者对Git存储库的访问权限。 (他们必须能够对存储库进行提交,因为每个聊天消息都是文字上的提交。)

如果您自己托管它,请创建一个位于中央的裸存储库。 聊天中的每个用户都必须在裸存储库所在的服务器上拥有一个帐户。 您可以创建帐户特定的Git Git的托管软件像或 ,或者你可以给他们单独的用户帐户的服务器上,可能使用Git壳限制他们的Git访问。

在自托管实例上,性能最佳。 无论您自己托管还是使用托管服务,您创建的Git存储库都必须具有活动分支,否则由于没有Git HEAD,GIC在用户聊天时将无法进行提交。 确保分支被初始化并处于活动状态的最简单方法是在创建时提交自述文件或许可证文件。 如果您不这样做,则可以在事实发生后创建并提交一个:

$ echo "chat logs" > README     
$ git add README
$ git commit -m 'just creating a HEAD ref'
$ git push -u origin HEAD

安装GIC

由于GIC是基于Git并用Node.js编写的,因此您必须首先安装Git,Node.js和Node软件包管理器npm(应与Node捆绑在一起)。 安装这些命令的命令因您的Linux或BSD发行版而异,但这是Fedora上的示例命令:

$ sudo dnf install git nodejs

如果您未运行Linux或BSD,请按照和上的安装说明进行 。

因此,GIC没有安装过程。 每个用户(在本示例中为Alice和Bob)必须将存储库克隆到其硬盘驱动器:

$ git clone https://github.com/ephigabay/GIC GIC

将目录更改为GIC目录,并使用npm安装Node.js依赖项:

$ cd GIC     
$ npm install

等待节点模块下载并安装。

配置GIC

GIC唯一需要的配置是Git聊天库的位置。 编辑config.js文件:

module.exports = {     
    gitRepo: 'seth@example.com:/home/gitchat/chatdemo.git',
    messageCheckInterval: 500,
    branchesCheckInterval: 5000
};

在尝试GIC之前,请测试您与Git存储库的连接,只是为了确保您的配置是合理的:

$ git clone --quiet seth@example.com:/home/gitchat/chatdemo.git > /dev/null

假设您没有收到任何错误,就可以开始聊天了。

与Git聊天

从GIC目录中,启动聊天客户端:

$ npm start

客户端首次启动时,它必须克隆聊天库。 由于它几乎是一个空的存储库,因此不会花费很长时间。 输入您的消息,然后按Enter以发送消息。

GIC

基于Git的聊天客户端。 他们接下来会怎么想?

如问候消息所述,Git中的分支充当GIC中的聊天室或频道。 无法在GIC UI中创建新分支,但是如果您在另一个终端会话或Web UI中创建分支,则该分支会立即显示在GIC中。 将一些IRC样式的命令修补到GIC中并不需要太多。

聊天了一会儿后,看看您的Git存储库。 由于聊天发生在Git中,因此存储库本身也是聊天日志:

$ git log --pretty=format:"%p %cn %s"     
4387984 Seth Kenlon Hey Chani, did you submit a talk for All Things Open this year?
36369bb Chani No I didn't get a chance. Did you?
[...]

退出GIC

自从Vim出现以来,就没有像GIC那样难以停止的应用程序了。 您会看到,无法停止GIC。 它会继续运行直到被杀死。 准备停止GIC时,请打开另一个终端选项卡或窗口,然后发出以下命令:

$ kill `pgrep npm`

GIC是新颖的。 这是一个很好的例子,说明开源生态系统如何鼓励和实现创造力和探索力,并挑战我们从不同角度看待应用程序。 尝试GIC。 也许它将为您提供想法。 至少,与Git度过一个下午是一个很好的借口。

翻译自:

移动端仿钉钉聊天 git

转载地址:http://ptbzd.baihongyu.com/

你可能感兴趣的文章
POJ刷题计划
查看>>
css3 背景透明
查看>>
Android适配API23之后权限的动态申请
查看>>
【AUTO Uninstaller - 使用教程】Autodesk系列软件终极完美修复卸载工具【转载】
查看>>
项目管理5大过程9大知识域44个定义
查看>>
扩展easyui treegrid 级联选择
查看>>
[operator]ELK6 index pattern的问题
查看>>
广而告知
查看>>
HTML 自动刷新页面
查看>>
HTML基础3
查看>>
Microsoft NTLM
查看>>
在C#用HttpWebRequest中发送GET/HTTP/HTTPS请求(转)
查看>>
代码自动生成工具版本更新,新增支持Arduino uno R3
查看>>
CSS list-style属性控制ul标签样式
查看>>
课堂小记---JavaScript(3)
查看>>
Python文件操作
查看>>
求解: Windows Phone XAML Controls 为什么是disable状态?
查看>>
【Codeforces 382C】Arithmetic Progression
查看>>
数据库练习
查看>>
JS面向对象编程之对象(简化版)
查看>>