Loading......

朋友圈

朋友们的最新动态

12 Updates
楠南NanNan 头像
楠南NanNan

鸿易通(HOA):当安卓设备也能“尝鲜”纯血鸿蒙

2026年5月,开源项目“鸿易通”(HOA)引发关注,旨在让安卓设备直接运行鸿蒙原生HAP应用。作为实验性项目,其已验证ArkTS渲染及.so加载,但系统API缺失导致兼容有限,实测存在白屏、闪退等问题。目前处于早期阶段,距实用尚有距离。尽管体验不佳,但其以开源方式尝试打破安卓与鸿蒙壁垒,展现了技术探索精神,对开发者而言具有研究价值,普通用户则宜保持好奇而非实用期待。

link-vkx7vwjz
楠南NanNan 头像
楠南NanNan

鸿易通(HOA):当安卓设备也能“尝鲜”纯血鸿蒙

2026年5月,开源项目“鸿易通”(HOA)引发关注,旨在让安卓设备直接运行鸿蒙原生HAP应用。作为实验性项目,其已验证ArkTS渲染及.so加载,但系统API缺失导致兼容有限,实测存在白屏、闪退等问题。目前处于早期阶段,距实用尚有距离。尽管体验不佳,但其以开源方式尝试打破安卓与鸿蒙壁垒,展现了技术探索精神,对开发者而言具有研究价值,普通用户则宜保持好奇而非实用期待。

link-vkx7vwjz
meytao 头像
meytao

FastAPI系列-13-SQLAlchemyORM

本文介绍了在FastAPI异步环境中搭建SQLAlchemy ORM基础的四件套:应用级单例Engine(通过`create_async_engine`管理aiomysql连接池)、`async_sessionmaker`工厂(按请求创建独立`AsyncSession`)、声明式基类`Base`(统一注册模型元数据)以及`yield`依赖函数`get_async_db`(请求始建会话,响应后自动关闭)。重点强调了分层解耦与生命周期安全:Engine全局共享连接池,Session按请求隔离事务。关键配置如`expire_on_commit=False`避免提交后属性过期引发序列化时的隐式查询,`pool_pre_ping=True`保障云环境连接有效性。通过四件套搭建,后续可直接使用`Mapped`和`mapped_column`声明模型并执行异步CRUD操作。

link-aepan49i
meytao 头像
meytao

FastAPI系列-12-ORM介绍

本文介绍了ORM(对象关系映射)在Python与MySQL之间的作用,对比了aiomysql原生SQL路径和SQLAlchemy异步ORM路径。ORM核心在于将数据库表映射为Python类,自动完成SQL生成、参数绑定和结果转换,从而减少样板代码、统一防注入参数化,并通过会话集中管理对象状态与事务。原生路径需手动控制连接、游标和结果字典构造,适合需要精细控制执行计划的复杂场景;ORM路径通过查询表达式和会话协调,提升代码可读性与开发效率,但要求理解底层SQL。选择取决于对控制权与便利性的权衡,常规CRUD优先使用ORM,复杂报表或批量操作可结合原生SQL,且均须坚持参数绑定。

link-aepan49i
meytao 头像
meytao

FastAPI系列-11-中间件与依赖注入的区别

中间件与依赖注入的核心区别在于触发时机和可见范围:中间件作用于整个ASGI调用栈,在路由匹配前即执行,覆盖所有请求(包括404和异常),适合协议级的全站横切需求(如访问日志、CORS、请求ID);依赖注入仅在路由匹配成功后解析,仅对特定端点生效,适合业务级复用(如分页、当前用户、数据库会话)。选型遵循三条原则:协议级需求走中间件,业务级需求走依赖,跨层数据通过`request.scope`传递以保持两者职责分离。两者并非替代而是协作关系,中间件提供请求维度,依赖提供业务维度。

link-aepan49i
meytao 头像
meytao

FastAPI系列-10-依赖注入

FastAPI 通过依赖注入实现上下文解析与业务逻辑的解耦。处理函数在签名中用 `Depends` 声明“需要什么”,框架启动时构建依赖图,请求时按拓扑序解析并注入结果,无需关心资源构造细节。`yield` 依赖形态将资源生命周期分为两段:`yield` 之前准备资源并注入,响应返回后自动执行 `yield` 之后的清理逻辑,框架借助 `AsyncExitStack` 保证即使处理函数异常也能完成回收。依赖支持嵌套,子依赖结果可在同一请求内缓存复用,避免重复解析。该机制旨在实现声明式协作为 IDE 和文档提供精确信息,以及便于通过 `dependency_overrides` 进行测试替换。实践上,`yield` 之后仅做资源关闭等轻量收尾,嵌套层数宜控制在三层以内,以保持可维护性。

link-aepan49i