首页 文章 精选 留言 我的

精选列表

搜索[安全机制],共10000篇文章
优秀的个人博客,低调大师

LibreOffice技术解析:开源办公套件的架构设计与实现机制

LibreOffice是一款开源办公套件,由The Document Foundation社区维护,包含Writer(文字处理)、Calc(电子表格)、Impress(演示文稿)、Draw(矢量绘图)、Base(数据库)、Math(公式)六个组件,运行于Windows、macOS、Linux平台。它的特殊之处在于:一个共享核心支撑六个不同文档类型的处理,同时原生支持开放文档格式(ODF)并兼容微软OOXML格式。

优秀的个人博客,低调大师

反思机制在运维Agent中的应用:自我纠错与策略调整

在AI原生运维(GenOps)浪潮全面落地的当下,运维Agent已逐步替代传统自动化脚本,成为承载业务变更发布、故障应急处置、集群资源调度的核心智能化载体。但传统单次执行、无复盘、无迭代的运维Agent架构,普遍存在策略固化、场景适配性差、误操作不可逆、故障阻断能力弱等短板,极易引发业务故障蔓延、SLO指标不达标、高危变更事故等生产风险。

优秀的个人博客,低调大师

夜间无人值守变更:AI 风险雷达与自动拦截机制详解

夜间低峰变更窗口是保障日间核心业务连续性的主流运维手段,但天然存在人力值守不足、值班人员疲劳、故障响应链路拉长、夜间系统基线漂移、定时任务资源抢占等多重风险,导致夜间变更故障率、故障处置超时率显著高于日间。传统静态规则风控仅能拦截显性高危操作,无法识别服务关联隐性风险,难以支撑 7×24 小时可信无人值守变更场景。

优秀的个人博客,低调大师

我国科学家研究揭示多模态大模型概念表征机制

中国科学院自动化研究所与中国科学院脑科学与智能技术卓越创新中心的联合团队在《自然·机器智能》(Nature Machine Intelligence)发表相关研究,首次证实多模态大语言模型能够自发形成与人类高度相似的物体概念表征系统,为人工智能认知科学提供了新路径,也为构建类人认知结构的人工智能系统提供了理论框架。 研究采用认知心理学经典的“三选一异类识别任务”(triplet odd-one-out),要求大模型与人类从物体概念三元组(来自1854种日常概念的任意组合)中选出最不相似的选项。通过分析470万次行为判断数据,团队首次构建了AI大模型的“概念地图”。 实验范式示意图。a,物体概念集及带有语言描述的图像示例。b-d,分别针对 LLM、MLLM 和人类的行为实验范式和概念嵌入空间。 研究人员从海量大模型行为数据中提取出66个“心智维度”,并为这些维度赋予了语义标签。研究发现,这些维度是高度可解释的,且与大脑类别选择区域(如处理面孔的FFA、处理场景的PPA、处理躯体的EBA)的神经活动模式显著相关。 研究还对比了多个模型在行为选择模式上与人类的一致性(Human consistency)。结果显示,多模态大模型(如Gemini_Pro_Vision、Qwen2_VL)在一致性方面表现更优。 此外,研究还揭示了人类在做决策时更倾向于结合视觉特征和语义信息进行判断,而大模型则倾向于依赖语义标签和抽象概念。本研究表明大语言模型并非“随机鹦鹉”,其内部存在着类似人类对现实世界概念的理解。 全文链接:https://www.nature.com/articles/s42256-025-01049-z 代码:https://github.com/ChangdeDu/LLMs_core_dimensions 数据集:https://osf.io/qn5uv/

优秀的个人博客,低调大师

深入解析 PostgreSQL 外部数据封装器(FDW)的 SELECT 查询执行机制

引言 PostgreSQL 中的外部数据封装器(Foreign Data Wrapper, FDW)是一种扩展,允许您像访问 PostgreSQL 数据库中的表一样,访问和操作存储在外部数据源中的数据。FDW 使 PostgreSQL 能够与多种数据存储系统(包括关系型和非关系型)进行集成,并以统一的方式在 PostgreSQL 环境中呈现这些数据。将一个表拆分成多个位于远程的较小表的操作也称为 sharding。外部数据库节点有时被称为外部分片或简略为分片。在本文中,我们将探讨在使用 postgres_fdw 处理外部 SELECT 查询时,其内部的具体工作流程。 以下是一些背景历史: 2003 年,SQL 标准中新增了一个名为 SQL/MED(SQL 管理外部数据)的规范,该标准定义了远程访问数据库的SQL规范。 2011 年,PostgreSQL 9.1 版本发布,开始支持此标准的只读操作。 2013 年,新增了对写入操作的支持。 当前有许多不同的 FDW 可供使用,允许 PostgreSQL 连接到各种远程数据存储(包括其他关系型数据库管理系统到平面文件等)。 这些 FDW 大多数没有 PostgreSQL 全球开发组(PGDG)的官方支持,一些项目仍处于 beta 阶段。请谨慎使用! 一些与 FDW 相关的文档: https://wiki.postgresql.org/wiki/Foreign_data_wrappers https://pgxn.org/tag/fdw/ https://www.postgresql.org/docs/15/fdwhandler.html 配置一个简单的 FDW 环境 在配置之前,请确保已将 postgresql_fdw 扩展编译并安装到您的 PostgreSQL 二进制安装路径中。我们将配置一个由 1 个协调节点和 4 个外部数据节点组成的分片环境。 初始化所有数据库实例 $ initdb -D c1 $ initdb -D d1 $ initdb -D d2 $ initdb -D d3 $ initdb -D d4 编辑 d1 到 d4 节点的配置文件,并将它们的端口号分别更改为 5433、5434、5435、5436,同时保持 c1 节点运行在默认端口 5432。这样做的原因是我们将在同一台机器上运行所有节点以便演示。 在 C1 节点: postgres=# CREATE EXTENSION postgres_fdw; postgres=# CREATE SERVER s1 FOREIGN DATA WRAPPER postgres_fdw OPTIONS (dbname 'postgres', host '127.0.0.1', port '5433'); postgres=# CREATE SERVER s2 FOREIGN DATA WRAPPER postgres_fdw OPTIONS (dbname 'postgres', host '127.0.0.1', port '5434'); postgres=# CREATE SERVER s3 FOREIGN DATA WRAPPER postgres_fdw OPTIONS (dbname 'postgres', host '127.0.0.1', port '5435'); postgres=# CREATE SERVER s4 FOREIGN DATA WRAPPER postgres_fdw OPTIONS (dbname 'postgres', host '127.0.0.1', port '5436'); postgres=# CREATE USER MAPPING for postgres SERVER s1 OPTIONS(user 'postgres'); postgres=# CREATE USER MAPPING for postgres SERVER s2 OPTIONS(user 'postgres'); postgres=# CREATE USER MAPPING for postgres SERVER s3 OPTIONS(user 'postgres'); postgres=# CREATE USER MAPPING for postgres SERVER s4 OPTIONS(user 'postgres'); postgres=# CREATE TABLE t (a INT, b TEXT) PARTITION BY RANGE; postgres=# CREATE TABLE t_local PARTITION OF t FOR VALUES FROM (1) TO (1000); postgres=# CREATE FOREIGN TABLE t_s1 PARTITION OF t FOR VALUES FROM (1001) TO (2000) SERVER s1 OPTIONS(schema_name 'public', table_name 't'); postgres=# CREATE FOREIGN TABLE t_s2 PARTITION OF t FOR VALUES FROM (2001) TO (3000) SERVER s1 OPTIONS(schema_name 'public', table_name 't'); postgres=# CREATE FOREIGN TABLE t_s3 PARTITION OF t FOR VALUES FROM (3001) TO (4000) SERVER s1 OPTIONS(schema_name 'public', table_name 't'); postgres=# CREATE FOREIGN TABLE t_s4 PARTITION OF t FOR VALUES FROM (4001) TO (5000) SERVER s1 OPTIONS(schema_name 'public', table_name 't'); 在所有数据节点: postgres=# CREATE TABLE t (a INT, b TEXT); 到此为止,我们完成了一个简单的 postgres_fdw 设置。当数据插入到 c1 节点的 t 表时,数据可以存储在 c1 节点本地(范围 1 到 1000),也可以根据范围值分发到外部节点(d1 ~ d4)。 从外部节点查询数据 Postgres_fdw 并不会简单地转发您的 SELECT 查询并将其发送到外部节点处理,等待响应。这种方式的性能极低。与常规的 SELECT 查询一样,外部查询也需要仔细的分析和规划,以确保性能。远程查询通常包括以下几个步骤: 分析器 – 创建查询树 根据 pg_catalog.pg_class 和 pg_catalog.pg_foreign_table 中的外部表定义创建查询树。 连接到外部服务器 规划器从 pg_catalog.pg_foreign_server 和 pg_catalog.pg_user_mapping 获取网络和用户映射信息。 通过 FDW 连接到远程服务器。 Postgres_fdw 使用 libpq 连接到远程 PostgreSQL 数据库。 规划 规划器使用 EXPLAIN 命令创建计划树。 Postgres_fdw 支持使用 EXPLAIN 获取远程表的统计信息,但也可以使用本地默认值。 EXPLAIN 返回远程服务器的启动成本和总成本,允许规划器准确评估语句。 use_remote_estimate 参数可以通过 ALTER SERVER 修改(默认关闭)。 反解析 规划器生成的计划树通过 FDW 获取了远程服务器的扫描路径。 Postgres_fdw 负责解析计划树并重构一组适合远程服务器的 SQL 语句。 扩展查询协议 + 游标 Postgres_fdw 使用扩展查询协议,并借助游标从远程节点检索或获取数据。 它使用可重复读的隔离级别,以确保在事务期间数据的一致性,不会被其他并发事务更改。 相关的 FDW API 在访问远程服务器执行查询之前,规划器会调用 IsForeignScanParallelSafe()、GetForeignPlan() 和 GetForeignPaths() 来了解远程数据的规模,并确定是否将 WHERE 条件评估本地执行或外部执行等。 准备好之后,使用 BeginForeignScan 和 IterateForeignScan 来获取一行或多行数据。 最后,通过 EndForeignScan 释放资源,包括释放已分配的内存、打开的文件和连接到外部数据源的连接等。 IsForeignScanParallelSafe() 是否支持并行扫描。如果支持,当执行大量数据的 SELECT 时,可以启动多个工作进程并行执行。 GetForeignRelSize() 获取远程表的大小估算。规划器在扫描开始前调用。 GetForeignPaths() 获取所有可能的远程表扫描执行路径,并将每个扫描路径添加到扫描路径列表中。 GetForeignPlan() 在查询规划的最后阶段,从选定的访问路径创建 ForeignScan 计划节点。 此函数非常重要,它包含要输出的目标列表、执行的 WHERE 语句以及由谁执行。 BeginForeignScan() 准备执行远程扫描。负责扫描开始前的必要初始化工作。 IterateForeignScan() 从远程节点获取一行数据,并将其返回为元组槽,结束时返回 NULL。 EndForeignScan() 结束扫描并释放资源。释放通过 palloc 分配的内存,清理打开的文件和连接到远程服务器的连接。 总结 本文对 postgres_fdw 内部工作原理的快速概述,涵盖了 SELECT 查询的基本知识。 > 本文由博客一文多发平台 OpenWrite 发布!

优秀的个人博客,低调大师

马斯克称 Twitter 数据被极端抓取,紧急上线“限流”机制

当地时间7月1日,数以万计的用户抱怨Twitter没有发布他们的新推文,用户会收到“超出限制”的错误提示。 在一条推文中,马斯克详细介绍了修改后的使用配额。经过验证的账户每天最多可以浏览6000条推文,而未经验证的账户则最多浏览600条推文。新注册的未经验证的账户面临着更严格限制,每天最多发300条推文。 随后,马斯克又发布一条推文称,已验证的账户浏览推文数量的限制将增加到8000条,未验证的账户将增加到800条,新注册的未验证用户将增加到400条。 马斯克表示,Twitter正在努力应对“极端程度的数据抓取”和“系统操纵”。他说,这些新的限制是遏制这些紧迫问题的重要措施。他没有透露谁在抓取Twitter的数据,也没有说明这个问题持续了多长时间和详细解释系统如何被操纵。 马斯克此前曾对Twitter上的数据抓取表示担忧,并暗示他可能会对不良行为者采取行动。 另外,有人分析这次事件其实是因为Twitter和谷歌云的合同在6月30号到期了。 传言称,马斯克一直在努力将所有内容迁出,以避免支付10亿美元(据报道)的费用。合同到期后,谷歌云可能对Twitter的数据进行了速率限制。而马斯克此番限制用户访问数量,也是试图减轻损失或协商降低使用费用,并通过这种限制保持网站运行正常,直到数据迁移完成,或达成与Google Cloud的账单合同。 简单总结: - Twitter 和 Google Cloud 的合约六月底到期 - 马斯克想迁移,所以没续费 - 但迁移工作没完成…… - 七月 Google Cloud 对Twitter的数据进行了速率限制 - 其它网站嵌入的 tweet 无法显示,于是反复访问进一步堵塞 - 马斯克出台各种限流措施,并且可能觉得这是个卖会员的好机会…… 最后再转一个说法: 昨天晚上(美中时间),Twitter更新了一个版本的网页版前端,导致一个component不断反复刷新,只要你用浏览器点开一条推文,就会每秒钟给Twitter server带来近100次的request压力,整个div肉眼可见地在抖。 然后Twitter压力巨大,Elon Musk官宣自家被爬虫们DDoS攻击了, 为了对抗爬虫,全面限制访问数。 然后昨天晚上大家发现Twitter不能打开了,所有的request都被limit了。 今天早晨,这个前端的bug偷偷被修好了,那个div已经不抖了,但是全球Twitter用户来骂Elon Musk。 然后Elon Musk又在找借口,"你们应该放下手机"、"这些已经够用了",开始在推特上胡言乱语,为这个决策买单负责。 Elon Musk被手下人逐级上报,真的认为是DDoS攻击,坚决咬死不松口,后来在舆论的压力下,提升了一点点request limit。 再后来,因为整个问题在今天早晨被偷偷全部解决了,所以Twitter官方也把这个limit偷偷彻底放开了。 但是Elon Musk不懂,非程序员不懂,非前端不懂——如果你是前端,昨天晚上那一阵子没上Twitter,没把那个版本的烂前端cache到你浏览器里,你也不会懂。 为什么我懂呢?因为我昨天晚上刚好刷到Twitter,发现了这个问题,肉眼可见地看到了它的thread在抖,在刷新,看了chrome的console,发现这事儿挺可怕。 但是Twitter内部大概率不会这么上报给Elon Musk,前端惹祸,后端背锅,逐级上报,稀里糊涂做了最高决策,然后恶心了全球用户。 然后前端偷偷更新擦屁股,全球人民骂Elon Musk,推特也偷偷放开限制,这件事就算过去了。 嗯,以上就是从昨天到今天,整个Twitter乌龙事件的来龙去脉。 来源1、来源2

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册