摘要: 前段时间给一个新库配只读账号,执行了这么一句: GRANT SELECT ON ALL TABLES IN SCHEMA app TO readonly; 应用连上去还是报 permission denied for schema app。当时还纳闷,表权限都给了,怎么连 schema 都不让看。后 阅读全文
posted @ 2026-11-01 12:00 Y00 阅读(143) 评论(1) 推荐(1)
摘要: 前段时间接了个小项目,需要把一套 KNX 照明系统接进 .NET 后台做集中控制。原本以为跟普通 IoT 差不多,发个 HTTP 请求就完事,结果发现 KNX 的逻辑跟消费级智能家居完全不是一回事。折腾了几天,把原理和代码都跑通了,顺手记下来,给后面要踩坑的人省点时间。 这篇分两块:前半部分讲 KN 阅读全文
posted @ 2026-10-31 10:34 Y00 阅读(236) 评论(0) 推荐(1)
摘要: 上周同事问我,为什么给一张表加个字段,整个表就像被冻住了一样,连普通的 SELECT 都进不来。其实这就是 PostgreSQL 的锁在起作用。 很多人用 PG,觉得它 MVCC 很厉害,读写互不阻塞。这没错,但 MVCC 主要解决的是“读”和“写”之间的冲突。真到了写和写、DDL 和 DML 之间 阅读全文
posted @ 2026-09-26 17:31 Y00 阅读(292) 评论(1) 推荐(3)
摘要: 前几天把本地开发机上的一个 PostgreSQL 18 库挪到服务器上。两边都是 Windows,大版本一致,库不到 10G,业务也能接受停一会儿。本来想偷懒直接拷 data 目录,后来还是老老实实走了逻辑迁移。过程不复杂,但有几个地方容易卡住,记录一下。 先说结论:用 pg_dump 导出成自定义 阅读全文
posted @ 2026-09-25 12:24 Y00 阅读(39) 评论(0) 推荐(0)
摘要: .NET 8 中 Program.cs 的标准结构详解 一个典型的 .NET 8 Web 应用 Program.cs 看起来像这样: // .NET 8 Program.cs - Minimal API 风格 var builder = WebApplication.CreateBuilder(ar 阅读全文
posted @ 2025-07-03 16:35 Y00 阅读(377) 评论(0) 推荐(1)
摘要: 泛型(Generics)是C#中的一个重要特性,它允许您编写灵活、类型安全且可重用的代码。下面我将详细介绍泛型的概念、使用方法及其在C#中的实现细节。 泛型的基本概念 1. 什么是泛型? 泛型是一种允许您定义类型参数的机制,这些类型参数可以在编译时由具体的类型替换。这样,您可以编写一个通用的类或方法 阅读全文
posted @ 2024-08-19 11:34 Y00 阅读(394) 评论(0) 推荐(0)
摘要: 在C#中,集合是用于存储和操作一组数据项的数据结构。这些集合通常位于 System.Collections 和 System.Collections.Generic 命名空间中。下面我将概述C#中几种常用的集合类型及其特点: 1. System.Collections 命名空间中的集合 这个命名空间 阅读全文
posted @ 2024-07-31 16:18 Y00 阅读(1142) 评论(4) 推荐(5)
摘要: 在C#中,委托是一种引用类型的数据类型,允许我们封装方法的引用。通过使用委托,我们可以将方法作为参数传递给其他方法,或者将多个方法组合在一起,从而实现更灵活的编程模式。委托类似于函数指针,但提供了类型安全和垃圾回收等现代语言特性。 基本概念 定义委托 定义委托需要指定它所代表的方法的原型,包括返回类 阅读全文
posted @ 2024-07-11 11:50 Y00 阅读(1345) 评论(2) 推荐(5)
摘要: 我们都知道,我们写的Java程序需要先经过编译,生成了.class文件(字节码文件)。然而,计算机并不能直接解释.class文件里面的内容,这时候就需要一个能加载、解释.class文件并且能按.class文件里的内容进行处理的一个东西--JVM。 JVM,就是Java虚拟机。它是一种规范,有针对不同 阅读全文
posted @ 2024-03-15 10:27 Y00 阅读(685) 评论(0) 推荐(0)
摘要: 背景 在一个微服务架构的项目中,一个业务操作可能涉及到多个服务,这些服务往往是独立部署,构成一个个独立的系统。这种分布式的系统架构往往面临着分布式事务的问题。为了保证系统数据的一致性,我们需要确保这些服务中的操作要么全部成功,要么全部失败。通过使用RocketMQ实现分布式事务,我们可以协调这些服务 阅读全文
posted @ 2024-03-12 08:57 Y00 阅读(1373) 评论(0) 推荐(4)
摘要: 缓存作为磁盘以外的一种存储数据的方式,它有着比磁盘更快的存取效率,因此,可以有效提高系统的性能。在单体系统中,一般会用到本地缓存。但在分布式系统中,本地缓存就显得不够用了,这时往往要用到分布式缓存。 分布式缓存特性 本地缓存因为就在应用系统进程的内存里面,不需要网络和对象拷贝的开销所以性能非常高,不 阅读全文
posted @ 2023-01-16 11:10 Y00 阅读(2308) 评论(1) 推荐(2)
摘要: Git是一个开源的分布式版本控制系统,是目前主流的版本控制系统,很多软件项目都会用它做源代码管理。Git的常用操作想必很多人都会,但是可能了解Git内部原理的人并不多。了解一些底层的东西,可以更好的帮你理清思路,遇到问题的时候也可以更好的去解决。 准备工作 在介绍Git如何存储数据之前,我们先做一些 阅读全文
posted @ 2022-12-04 12:00 Y00 阅读(246) 评论(0) 推荐(0)
摘要: 每年的双十一期间,各大电商平台流量暴增,同时,电商平台系统的负载压力也会很大。譬如订单支付的场景,每个订单支付成功后,服务器可能要完成扣减积分、扣减优惠券、扣减商品库存、发短信等一系列操作。单个用户请求,服务器处理起来并没有什么问题,但是,瞬时并发的多个请求到了服务器,数据库压力上来了,导致请求响应 阅读全文
posted @ 2022-11-13 18:03 Y00 阅读(946) 评论(1) 推荐(4)
摘要: top命令可以用来监控服务器CPU、内存的运行情况,是Linux一个经常使用到的命令。 基本用法 第一行 显示当前系统运行信息,系统当前时间是23:23:21,运行了315days,当前有2个用户登录(2 users),系统平均负载压力情况(load average)为0.08(1min的平均负载压 阅读全文
posted @ 2022-10-24 00:12 Y00 阅读(462) 评论(0) 推荐(0)
摘要: 什么是数据库事务? 事务,就是一系列操作的整体,其结果就是这一系列操作要么全部成功,要么全部失败。 譬如说,一个经典的例子--转账。 A要转帐给B 100块钱,要经历以下步骤: 1、扣除A账户100块钱。 2、增加B账户100块钱。 以上例子里的两个步骤,要么全部成功,要么全部失败,不然,就乱套了。 阅读全文
posted @ 2022-10-20 23:39 Y00 阅读(212) 评论(0) 推荐(0)