定时自动删除ACR images在之前 Azure App Service 部署时,使用到了 Azure Container Register,对于许多项目而言,超过一定时限的历史 images 再次使用的几率近乎为零。 因此,无论从制品管理,还是存储成本,定期清除不使用2023-11-17 AzureAzure 云平台 在 Python 技术栈下做 DB Migration —— Alembic(Flask Migration)在 Java 技术栈常用的 DB Migration 工具有 Flyway、Liquibase,可以快速集成在Spring boot中运行。 那在 Python 技术栈中,相似功能的工具有么?自然是有的。 有人编写了 pyliquibase2023-11-12 PythonPython Sqlalchemy 对于 sequence 的支持sqlalchemy 对于 sequence 的支持(底层数据库引擎必须具有 sequence 功能),具有简单易用性。 比如下面这个例子: 假设创建不同类型的 World 时,需要一个序列码,此序列码单类型内唯一。 import piny2023-10-18 PythonPython 使用 GITHUB WORKFLOW 自动发布 Azure CR 和部署 Azure App ServiceAzure App Service 概述 Azure 计算服务提供了多种类型:VM、Container apps、App service、static App service、AKS、Logic apps、Functions。 区别于其他计2023-09-01 AzureAzure 云平台 Azure Administrator Associate 考试知识点Azure Administrator Associate 涉及五个知识块,下面是官方考证角度给出的清单: Azure Administrator Associate 知识图谱 Azure Basics 1. Identit2023-05-30 AzureAzure 云平台 使用Gradio&huggingface快速搭建一个ChatGPT APP在现在的NLP领域,GPT系列模型已经成为了NLP领域的标配之一,而ChatGPT是基于GPT的一个聊天模型,可以用来生成对话,其效果非常好,可以说是目前最好的开源聊天模型了。 不少使用者已经将ChatGPT当做了日常工作的助手,下面这个c2023-05-18 ChatGPTPython ChatGPT ML 反手回摸Oracle最后一次用 Oracle 应该还是在2012的时候,之后就一路用开源数据库。 没想到现在还有反手回摸的时候。 回摸也就算了,等准备好 Oracle 知识回顾,最后发现计划赶不上变化,暂时用不上了。 重新 review 了一把自己的kanba2022-08-23 数据库数据库 聊聊研发效能治理方案的理论框架(下篇)已经过了一旬,下篇居然还没开始动笔。 反思了一下人生:P 书接上回。2022-07-18 敏捷精益软件精益 聊聊研发效能治理方案的理论框架(上篇)最近几年,国内业界越来越常提及“研发效能”这个词,追其根源大部分是始于“DevOps”运动的活跃。 知道 DevOps 发展历史的,基本都了解 DevOps 是受敏捷的影响,是敏捷原则在软件研发到运维运营层面的延伸。 很多云厂商在推广自己2022-07-02 敏捷精益软件精益 数据库的ACID和分布式事务前面写了一篇关于CAP原理的博文,说到一致性 Consistency,有人往往会想到事务ACID特性中的C: Consistency,虽然都叫一致性,但完全是两个东西。 CAP的一致性指:数据库的同一复制集(replicaSet)之间数据2022-05-10 数据库数据库 分布式架构必须重视的CAP理论CAP定理,说起来程序员们应该耳熟能详:C(Consistency)、A(Availability)、P(Partition Tolerance),构成在分布式数据存储中的“不可能三角”,三者只能保证其二。 来,再展开说说?这时候,多数人的2022-05-03 分布式架构分布式架构 重启最近回忆过往工作经历,发现以往知识经验、林林总总,所思所想胡乱堆积,没有整理成一套逻辑明了的结构纲要。 因此,予以记忆而言,效率不高,且没有关联的知识块容易遗忘;予以表达而言,易思维阻塞,前后逻辑不顺;予以认清知识本质而言,重复颇多,而且只2022-04-29 随笔写作 Docker JVM通用工具诊断指南Docker container 和 JVM的问题诊断,从来都不是静态的,所有来源数据都是一个动态的过程。 一个时间点的快照数据、或者一个单一数据项的字面值,并不能充分进行上下文分析,而是需要一段时间内持续的观测和数据获取,然后在时间维度上2021-01-18 JavaJava JVM 微服务线上治理之监控微服务架构已经是时下后端应用开发的主流架构之一。微服务的整个生命周期包括微服务拆分和定义(产品规划)、微服务研发、微服务构建与部署、监控与运维几个阶段。 对于一般企业的微服务改造而言,极少部分企业认为用上微服务概念 + Spring clo2021-01-18 微服务治理微服务治理 MySQL InnoDB 聚集索引数据结构关系型数据库系统的世界是非常复杂的 —— 如果我们思考一下我们需要做哪些事情才能满足SQL语句的查询需求,就能意识到这种复杂是必然的。但具有讽刺意味的是,书写SQL是如此简单,表、行与列的概念也非常容易理解。 —— 《数据库索引设计和2020-12-27 MySQL数据库 MySQL 研发效能之层级测试研发效能不等于研发效率。 在我司的研发平台解决方案的定义中,研发效能 = 可持续快速交付价值的能力 = 效率 + 质量 + 用户价值。 如果不能达到相应的质量标准和用户价值,再高的研发效率也是枉然。 这里我专门聊一下效率和质量之间的结合一个2020-06-30 敏捷精益软件敏捷测试 研发效能 在gradle管理可共享的依赖版本管理“可共享的依赖版本管理” —— 用过 Maven 的小伙伴们可能说,这不就是BOM么。 对,这里聊的就是如何使用 gradle 实现 BOM 生成和导入。 没用过 Maven 的小伙伴们也不用被劝退,想想在使用Spring plugin i2020-06-05 JavaJava Gradle DDD概念概览软件的核心,是为其用户解决领域相关问题的能力。 1. 何为DDD DDD是Domain Driven Design的简称。领域驱动设计,“领域”指业务领域,“设计”指软件设计。 DDD可以看成一种开发思想体系,促成了一种新的以领域为中心的思2020-02-09 DDDDDD