用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
by ourjs keys devops 1767754837774
简单来说,Gitea Actions CI/CD的核心目标是自动化代码从提交到部署的全流程,减少人工操作、提升交付效率、保障代码质量。
1. 自动化验证代码质量  
这是 CI/CD 最核心的初衷,通过配置自动化脚本,在代码提交 / 合并前完成校验,避免有问题的代码进入主分支:
代码检查:自动运行 lint(如 ESLint、Pylint)、代码格式校验(如 Prettier、black),确保代码风格统一;
单元测试 / 集成测试:自动执行测试用例(如 JUnit、pytest),统计测试覆盖率,未通过测试则阻止合并;
编译 / 构建验证:对需要编译的项目(如 Go、Java、C++),自动编译检查是否有语法错误,避免「本地能跑、线上编译失败」。
E2E 端到端测试: 模拟真实用户操作,比如:打开网页 → 输入账号密码 → 点击登录 → 提交表单 → 查看结果。从头到尾验证整个系统流程是否能正常跑通的测试方法。
2. 自动化构建与打包  
代码验证通过后,自动完成构建和制品打包,减少人工打包的繁琐和错误:
构建产物:前端项目自动打包成 dist 静态文件、后端项目编译成可执行文件 / JAR 包;
制作镜像:自动构建 Docker 镜像并推送到镜像仓库(如 Gitea Registry、Harbor);
版本管理:自动生成版本号(如基于提交记录、Tag),打标签并归档制品,方便追溯。
3. 自动化部署(CD)  
将验证、构建好的产物自动部署到目标环境,实现「代码合并即上线」:
多环境部署:配置不同流水线,自动部署到测试环境(Test)、预发布环境(Staging)、生产环境(Production);
部署方式灵活:支持容器化部署(K8s 发布)、传统部署(SSH 上传文件)、云服务部署(如云函数、容器服务);
回滚机制:配置失败自动回滚,或一键回滚到上一个稳定版本,降低部署风险。
FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
by ourjs keys react hooks Python 1767145815981

这篇文章是一份关于 FastAPI + SQLModel + PostgreSQL + React 全栈项目的环境搭建与初始化指南。它详细介绍了从数据库部署、后端环境配置到前端启动的整个流程,并提供了标准化的项目目录结构。

valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
by ourjs keys react hooks 1738807546079

Valtio基于Proxy实现响应式状态管理,当状态发生变化时,能够自动触发组件的重新渲染。

而Redux需要手动触发dispatcher通知其它组件状态变化,通过创建actions、reducers和store,并结合react-redux库使用Provider、connect/useSelector、useDispatch等,相对繁琐。

React结合vite使用vue3,在纯typescript的react hooks中使用vue
by ourjs keys react hooks vue 1736914220899

在React中使用vue的前题是,整个react组件只能渲染一次,这样vue绑定的事件才不会被多次渲染冲掉。
React中的StrictMode会调用函数组件两次,保证其为纯函数。可以先把这个模式禁掉,或采用其它方法,保证vue只渲染一次。

React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
by ourjs keys react hooks 1732786120722
React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
by ourjs keys java react hooks 1732592783263

React Native 的网络层(基于 RCTNetworking 或底层的 OkHttp、NSURLSession 等)默认不暴露 Set-Cookie 给 JavaScript 层。这是出于安全考虑。对于原生Android应用也通常有同样的限制。从 Android 9(API 级别 28)开始,默认情况下,Android 应用是不允许使用明文网络流量的。这意味着,如果你的应用尝试通过 HTTP 而非 HTTPS 发送或接收数据,应用将会失败。

克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法
by ourjs keys react hooks 1732419889463

Redux是内存中的状态存储,每次状态更新都会返回新的状态对象,这可能会导致内存的过度使用。其内存占用高,性能差。因此更加不适合在 React Native 中使用。

Redux采用全局状态管理,但更多时侯,我们可能只需要一个用于组件间通信的消息中间件,dispatch 触发的状态,并不需要集中存储。使用Redux可能会显得繁重和冗余。

我们可以通过 PubSubJS 使用类似消息中间件(发布、订阅)的方法来管理组件间的通信和数据的传递,其本身并不存储状态和处理状态变化,流程大概如下:

Springboot+Gradle+Mysql+Jpa最简单实例教程
by ourjs keys java 1732279298390

JPA是全自动的ORM(对象关系映射)框架,通过注解配置来映射Java对象和数据库表。
JPA提供了丰富的功能,如事务管理、缓存、查询语言(JPQL)等,简化了数据库操作。
与MyBatis半自动化的持久层框架,需要编写SQL语句来不同。JPA封装了常见的数据库操作,如CRUD(创建、读取、更新、删除),减少了开发人员的工作量。

SpringBoot+Spring6入门指南: 使用命令行快速搭建restful web api模板
by ourjs keys java 1732180161951

使用SpringBoot可以快速搭建Spring项目,有如下的优点:

  1. 快速搭建Spring应用,可即大简化spring项目的开发配置
  2. 嵌入Tomcat、Jetty、Undertow,不需要手动配置服务器
  3. 提供starter简化marven/gradle配置、直接声明所需的依赖即可,不再需要手动处理版本冲突和依赖安装
如何通过 winax 的 ActiveXObject 或 Excel.Application 往 excel 中插入一张图片
by ourjs keys ActiveX|COM+ ChatGPT Node.JS 1703057237606

winax 是一个 JavaScript 库,用于在 Windows 平台上调用 ActiveX 控件。在使用 winax 将图片插入到 Excel 中时,你需要使用 Excel 的 ActiveX 对象模型来实现这个目标。

以下是一个示例代码,用 winax 在 Excel 中插入一张图片:


 近期热门 - 点击最多
  1. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  2. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  3. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  4. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  5. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  6. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  7. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法
  8. Springboot+Gradle+Mysql+Jpa最简单实例教程
  9. SpringBoot+Spring6入门指南: 使用命令行快速搭建restful web api模板
  10. 如何通过 winax 的 ActiveXObject 或 Excel.Application 往 excel 中插入一张图片

  全端社区 - 最新回复
  1. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  2. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  3. Node.js 打印vite react+go项目目录树
  4. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  5. Windows与Mac通过git ssh和rsync实现文件共享互传
  6. Windows与Mac通过git ssh和scp实现文件共享互传
  7. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  8. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件
  9. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  10. ReactNative获取Android/iOS的MAC/IP地址: react-native-device-info模块的安装与使用

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA