社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

Gitee 又一款超赞的开发神器问世,代号「Kooder」!

GitHubDaily • 5 年前 • 750 次点击  
公众号关注 “GitHubDaily”
设为 “星标”,每天分享更多优质开源项目!

大家好,我是小 G。

随着 Git 这一代码版本控制工具的诞生,越来越多企业选择将项目代码托管至开源平台或自有部署服务器,并采用版本持续迭代的方式,在团队间进行协同开发。

由于企业中有越来越多的项目需要进行本地部署,代码审查的工作量与难度系数也呈指数型上升。

对于开发人员来说,对代码质量的管控、代码风格的统一以及函数方法作用的定位检索,便成为其日常工作必不可少的一部分。

因此,企业全库代码的搜索效率与精准度变得愈加重要。尤其对于将代码通过 GitLab 部署在本地服务器的企业,由于缺少了云端托管平台自身集成的搜索引擎,想要在本地进行全局的代码搜索就变得异常困难。

为解决该问题,Gitee 团队在近日开源了代码搜索工具 Kooder,Kooder 的目标是为包括 Gitee/GitLab/Gitea 在内的代码托管系统提供自动的源码、仓库和 Issue 的搜索服务。

仓库地址:

https://gitee.com/koode/kooder

Kooder 架构

Kooder 服务包含两个模块,分别是 gateway 和 indexer(默认配置下 indexer 被集成到 gateway 中)。

其中 gateway 用来接受来自 HTTP 的索引任务, 对任务进行检查后存放到队列中;同时 gateway 还接受搜索的请求,并返回搜索结果给客户端。

而 indexer 进程负责监控队列中的索引任务, 并将这些要新增、删除和修改索引的任务更新到索引库中。

数据流图

在运行过程中,Kooder 会自动处理所有索引动作,包括推送代码的自动更新。同时 Kooder 也提供了搜索的 API 可以方便的嵌入到别的应用中。

搜索界面效果

在搜索框中输入你想要搜索的函数、变量或方法名,即可在全仓库内搜索它们,并为搜索结果进行了语言的归类,查看更方便。

主要技术栈

Kooder 不依赖于 Java 容器服务,是一个独立的应用程序,它的主要技术栈有:

  • lucene
  • jgit
  • vert.x
  • jcseg
  • velocity
  • jackson
  • gitlab4j
  • Spectre.css

进行贡献

Kooder 遵循 Apache-2.0 开源协议,欢迎开发者们踊跃提交 Issue 和 PR。

Kooder 刚刚在前两天完成了 1.0 Alpha2 版本的更新,更多详细信息请前往代码仓库查看,别忘了给它一个 Star 哦:

https://gitee.com/koode/kooder

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/110182