如何免费用云服务搭建博客评论系统

Thumbnail

问题 博客自 2012 年从 WordPress 迁移到静态站点后,就选择了 Disqus 作为评论系统。 但最近 Disqus 硬广告过于频繁,迫切寻找新的评论系统。 Disqus 官方 明确说明,要去掉广告就付费。 What if I want to remove Ads? If you’d like to remove Disqus Ads from your integration, you may purchase and ads-free subscription from your Subscription and Billing page. More information on Disqus ads-free subscriptions may be found here. OK,那再见吧 Disqus,我会找到可靠、免费、易用的评论系统。 最后既然是寻找新的评论系统,现在 2023 年了, 我希望这个新系统充分使用云服务的便利,要做到 免费、可靠、易运维。 选型原则 在进入...

2023-11-25 · alswl

GitOps 和版本管理

Thumbnail

image via shipvehicles 使用 GitOps 管理交付内容是一个常见的 DevOps 使用模式。 我们会使用 Git 进行版本管理, 并通过 Git Tag 来跟踪部署软件的版本。 虽然这看上去可以工作,但在云原生技术的推动下,版本的概念远非如此简单。 版本问题 在引入 GitOps 到 DevOps 流程后,我们可以借助 GitOps 的能力进行持续集成和持续交付。 GitOps 解决了三个核心问题:内容、版本 和 协作。然而,我们经常将注意力集中在内容上,却经常忽略了版本管理问题。 在 GitOps 过程中,有哪些版本管理问题需要解决呢? 一套完整...

2023-09-23 · alswl

架构设计 the Easy Way

Thumbnail

image via Pixabay 概览 前几日,我在团队内部举行了一场技术分享,我介绍了关于架构设计的最佳实践。将这些实践凝练成了 20 字口诀: 架构看问题 需求看用例 设计看模型 细节看时序 我将顺口溜转到了 Twitter,不少朋友对这些顺口溜产生了浓厚兴趣,希望深入了解。因此,我将我分享中的观点扩展成了这篇文章。 架构设计和系统分析 让我们首先澄清 什么是架构设计和系统分析(简称系分)。有些朋友对前者很熟悉,对后者却不太了解。 不过没关系,以下...

2023-07-29 · alswl

实用 Web API 规范

Thumbnail

当开始创建一个新系统,或参与一个新团队或项目时,都会面临一个简单却深刻的问题:这个系统(Web Server)的 API 是否有设计规范? image by stable difussion, prompt by alswl 这个问题困扰了我很长时间,始于我求学时期,每一次都需要与团队成员进行交流和讨论。 从最初的自由风格到后来的 REST,我经常向项目组引用 Github v3 和 Foursqure API(已经无法访问,暴露年龄) 文档。 然而,在实践过程中,仍然会有一些与实际工作或公司通用规范不匹配的情况, 这时候我需...

2023-04-03 · alswl

如何做好 PRR(Production Rediness Review)?

Thumbnail

image from pixabay.com SRE 工程师往往会负责一个具体组件,有时也称为服务或系统(下文都称之为组件)。 需要关注的有这个组件生命周期各类事项:运行状态、日常迭代、变更计划,以及在大促等活动中的筹备、预案等等, 有些组件是团队已经在长期持续维护着的,而有些则是要去新接入。 那么,当 SRE 接手(on-borading)这样组件时, 需要做哪些事项呢, 如何将「接手」这个行为做得有掌控力、顺畅且体面? 了解组件现状 第一步永远是了解现状,孙子...

2021-06-11 · alswl

Python 的类型系统

Thumbnail

image from pixabay.com 静态类型正在逐渐成为潮流, 2010 年之后诞生的几门语言 Go、Rust、TypeScript 等都走了静态类型路线。 过往流行的一些动态语言(Python、PHP、JavaScript)也在积极引入语言新特性(Type Hint、TypeScript)对静态类型增强。 我曾使用 Python 开发规模较大的项目,感受过动态语言在工程规模变大时候带来的困难: 在重构阶段代码回归成本异常之高,很多历史代码不敢动。 后来技术栈转到...

2020-06-23 · alswl

浅谈 Code Review 之事前准备

Thumbnail

随着业务规模扩大、团队组成变复杂,如何降低项目实施风险,降低软件复杂度变得尤为关键。 我从 Martin Flower、Joel Spolsky(软件随想录 作者) 等巨匠智慧中寻找解决复杂工程之道,其中 Code Review 是行之有效手段。 我认同 Code Review 价值也是忠实执行者。 加入蚂蚁以后,我在所接触项目中都大力推广 Code Review。 感谢团队信任和支持,目前 CR 协作进展顺利, 项目 CR 从最早不主动,到现在形成基于模块 Owner 制度 CR 和 Peer Review。 我也曾经...

2020-03-31 · alswl

从 SQL Server 到 MySQL(三):愚公移山 - 开源力量

Thumbnail

该系列三篇文章已经全部完成: 从 SQL Server 到 MySQL(一):异构数据库迁移 - Log4D 从 SQL Server 到 MySQL(二):在线迁移,空中换发动机 - Log4D 从 SQL Server 到 MySQL(三):愚公移山 - 开源力量 - Log4D 我们用了两章文章 从 SQL Server 到 MySQL(一):异构数据库迁移 / 从 SQL Server 到 MySQL(二):在线迁移,空中换发动机 介绍我们遇到问题和解决方案。 不管是离线全量迁移还是在线无缝迁移, 核心 ETL 工具就是 yugong。 Yugong 是一个成熟工具, 在阿里巴巴去...

2018-06-20 · alswl

从 SQL Server 到 MySQL(二):在线迁移,空中换发动机

Thumbnail

该系列三篇文章已经全部完成: 从 SQL Server 到 MySQL(一):异构数据库迁移 - Log4D 从 SQL Server 到 MySQL(二):在线迁移,空中换发动机 - Log4D 从 SQL Server 到 MySQL(三):愚公移山 - 开源力量 - Log4D (image via https://pixabay.com/en/military-stealth-bomber-refueling-602729/ ) 在上篇文章 从 SQL Server 到 MySQL (一):异构数据库迁移 - Log4D 中,我们给大家介绍了从 SQL Server 到 MySQL 异构数据库迁移的基本问题和全量解决方案。 全量方案可以满足一部分场景的需求,但是这个方案仍然是有缺陷的: 迁移过程中需要停机,停机的时长和...

2018-05-21 · alswl

从 SQL Server 到 MySQL(一):异构数据库迁移

Thumbnail

该系列三篇文章已经全部完成: 从 SQL Server 到 MySQL(一):异构数据库迁移 - Log4D 从 SQL Server 到 MySQL(二):在线迁移,空中换发动机 - Log4D 从 SQL Server 到 MySQL(三):愚公移山 - 开源力量 - Log4D 背景 沪江成立于 2001 年,作为较早期的教育学习网站, 当时技术选型范围并不大: Java 的版本是 1.2,C# 尚未诞生,MySQL 还没有被 Sun 收购, 版本号是 3.23。 工程师们选择了当时最合适的微软体系,并在日后的岁月里, 逐步从 ASP 过度到 .net,数据...

2018-03-12 · alswl