WGrape
WGrape
### 目录 - [1、项目的应用场景](#1) - [2、为什么不使用PHPUnit](#2) - [3、为什么不使用多线程、多进程扩展](#3) - [4、关于目前项目准备中的一些优化事项](#4) ## 1、项目的应用场景 如果你的业务中需要使用到 ES( [elasticsearch](https://www.elastic.co/cn/) ),且当数据库数据变更时,需要实现ES文档的增量变更。 特别的,可能还需要做如字符转换、连表查询数据、查询额外数据等```二次处理```的过程。 这时,就可以使用```esupdater```这个项目以一种非侵入业务代码的方式,实现这个需求。 而且在框架的约束下,无论需求如何调整,代码也会以一种较为规范的形式存在,至少不会一团糟。 ## 2、为什么不使用PHPUnit 首先项目的主要定位是轻量,考虑到```PHPunit```的安装和使用成本会提高项目的使用门槛,且都是非项目完全必要且可以被以一种轻量工具替代的。 所以在```/test```目录下以一种[轻量的单元测试](APPLICATION.md#4)方式实现对```PHPUnit```的替代。 ## 3、为什么不使用多线程、多进程扩展 由于PHP语言设计之初的理念就是简单高效,主要定位也只是Web语言。 所以无论使用多线程还是多进程扩展,都会破坏程序的稳定性和简单性。所以目前使用```exec```配合```nohup```的方式来实现启动一个新的PHP后台进程执行异步任务。 ## 4、关于目前项目准备中的一些优化事项 ###...
:robot: I have created a release *beep* *boop* --- ## [1.8.3](https://github.com/WGrape/lexer/compare/v1.8.2...v1.8.3) (2022-09-19) ### Docs * fix CHANGELOG.md ([9949b90](https://github.com/WGrape/lexer/commit/9949b9075a9bc9cd34a3d88a298cc9dfb99c518c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
项目介绍 :用PHP实现的一个基于Canal实现ES文档增量更新的轻量级框架 项目优势 :轻量级、容器化、易接入和扩展 仓库地址 :github.com/WGrape/esupdater
## 项目推荐 - 项目地址:https://github.com/WGrape/lexer - 类别:JS - 项目后续更新计划:更多语言的词法分析支持与项目日常维护、制作JS生态中的编译器前端工具链 - 项目描述 :一个基于DFA法的支持多语言扩展的JS版开源词法分析器 - 适用场景 :代码编辑器(关键字高亮、符号高亮等)、词法分析器的学习与应用 - 为需要语法分析的场景提供Token支持 - 推荐理由: - DFA算法与语言解耦,支持多语言扩展 - 代码精简、详细的源码分析文档、另附有Web演示界面,适合学习与应用 - 提供DFA内部每一次状态流转时的信息,为调试与状态流转图的生成提供支持 - 示例代码: ```js // 词法分析器 let...
:robot: I have created a release *beep* *boop* --- ## [1.4.0](https://github.com/WGrape/CIManager/compare/v1.3.0...v1.4.0) (2024-03-05) ### Features * add auto connect ([425e4ec](https://github.com/WGrape/CIManager/commit/425e4ec30844b650f4e97e8852b576c57ba15a4d)) * add install docker and docker-compose in job_pre_install.sh ([d5ff3b2](https://github.com/WGrape/CIManager/commit/d5ff3b2e9e9d5720c186377a9c88c998cc2ffce8)) * add...
## 1、新功能建议 ### (1) 新增CLI工具,通过命令自动创建 当需要业务接入的时候,通过一个简单的CLI命令,自动完成业务的接入 ## 2、发布至测试环境 在提交代码的时候,自动触发执行CI/CD,完成项目的集成和发布至测试环境。 但是对于线上来说,一般使用Jenkins等发布工具,完成发布至线上环境的操作,虽然在发布的过程中可能也会执行CI/CD和且量部署的操作,但是重点在于发布至线上的操作必须由人手动触发执行。 ## 2、统一管理 如果我们的业务是微服务架构,每个项目代码的```.gitlab-ci.yml```配置文件都可以使用 ```include``` 特性,引用远程的CI配置文件,实现统一在同一个项目中管理所有的```.gitlab-ci.yml```配置文件。 这样无论再怎么调整更新变化,所有的项目自身都不需要修改,直接由远端统一管理,批量更新即可,非常方便。
## 推荐项目 ### 项目地址 https://github.com/WGrape/sparrow ### 类别 其他(Shell/Devops/运维工具/容器化工具) ### 视频Demo [查看视频demo](https://github.com/WGrape/sparrow?tab=readme-ov-file#2-quick-start) ### 项目标题 基于Docker一键快速启动多个服务环境的容器化编排工具-超强环境打包管理器 ### 项目描述 基于Docker一键快速启动多个服务环境的容器化编排工具。是一个超强环境打包管理器,适用于个人和团队的开放式服务接入。所有环境统一规范管理,享受环境一切顺利的快乐。 作为个人和团队的环境打包器  ### 功能特性 - 镜像远程托管 :服务镜像一键上传到仓库,统一远程托管 - 配置化的管理 :镜像版本、服务端口、扩展插件等全部配置化 - 多服务的支持 :可以同时支持十几个、几十个、甚至更多服务的接入...
:robot: I have created a release *beep* *boop* --- ## [1.6.0](https://github.com/WGrape/sparrow/compare/v1.5.0...v1.6.0) (2024-05-17) ### Features * add azkaban support ([0b6f5e5](https://github.com/WGrape/sparrow/commit/0b6f5e5f0cc01fc63686c3dc2aac39493ee98bb5)) * add difylocal service ([63bbb5c](https://github.com/WGrape/sparrow/commit/63bbb5c09d939de72707799b63d101c3ce8152c6)) * add django service and delete...
增加对clojure支持的计划 目标 :在sparrow中新增clojure的支持 背景 :搭建 [metabase](https://github.com/metabase/metabase) 平台,需要clojure的支持 文档 :[clojure](https://www.clojure.org/guides/getting_started)