- 博客(174)
- 收藏
- 关注
原创 零序电压保护、过电压保护和低电压保护
零序电压保护、过电压保护和低电压保护是电力系统中常见的三种电压保护方式,它们在原理、作用对象、保护目标等方面存在显著区别:
2025-04-30 16:41:57
2
原创 一、Flutter介绍
Flutter,谷歌精心打造的开源 UI 框架,犹如一位全能的“魔法师”,能在 Android、iOS、Web、Windows、macOS、Linux 等多个平台上,瞬间变出高质量的 App。它就像一个“超级英雄”,拥有跨平台和高性能的“超能力”,轻松穿梭于不同设备之间。Flutter 基于 Dart 语言,这就好比它的“魔法咒语”。如果你对 Dart 一无所知,直接学 Flutter 就像试图在没有学会走路的情况下跑步。
2025-04-30 14:56:39
476
翻译 一个随机的善举
上个月,我进行了一次美妙的旅行,穿越瑞士美丽的风景。我的妻子和我来到了卢塞恩,并计划在第二天去铁力士山一日游,但我们不知道那天晚上该做些什么。在沿着卡贝尔桥漫步并享受了湖边的美妙午餐后,我和妻子一致决定预订当晚的卢塞恩湖游船之旅。这看起来像是一个浪漫约会之夜的完美安排,至少我是这么认为的!我们从信息亭拿到了晚上的船票,然后回到酒店稍作休息和放松。我们正好在6点45分到达,正如票上所说的时间,然后开始等待。然而,只有我们两个人在等。我们等了可能有半个小时,直到7点15分,也就是出发时间。考虑到瑞士交通系统通常
2025-04-28 16:54:02
4
翻译 构建一个费用追踪应用
几周前,我决定开始记录和追踪我的开支。我的目标并不是记录每一个小额购买,而是大致了解我的钱都花到哪里去了。在这篇文章中,我将深入探讨构建Gullak——一个带有AI(是的,有AI)的费用追踪应用的幕后故事。
2025-04-27 10:07:06
10
翻译 使用Tailscale旅行
我找到了一个相关的GitHub问题,但不幸的是,由于需求有限,它被关闭了。然而,我遇到了一个小问题,因为我需要带上工作用的笔记本电脑,以便在旅行期间处理紧急的生产事件。在我的公司,我们使用Netbird作为VPN,它和Tailscale一样,会在不同设备之间创建一个P2P覆盖网络。由于这些规则是临时的,而且我想添加许多类似的网络路由,因此我创建了一个小型的shell脚本来自动化添加/删除规则的过程。这促使我深入研究Tailscale是如何传播IP路由的,看看是否有办法为我添加具有更高优先级的自定义路由。
2025-04-27 10:06:51
6
翻译 Go 中的十亿行挑战
本周早些时候,我偶然发现了1brc,它提出了一个有趣的任务:尽可能快地在Java中加载一个巨大的文本文件(10亿行)。十亿行挑战(1BRC)是一个有趣的探索,旨在测试现代Java在聚合文本文件中的十亿行数据时可以被推向多远。利用所有你的虚拟线程,利用 SIMD,优化你的垃圾回收,或者采用任何其他技术来为这个任务创建最快的实现!这个挑战主要针对Java,但我决定用我偏好的语言——Go来完成相同的任务。这篇文章将介绍我是如何对我的Go程序进行多次迭代以减少时间,并讨论每次迭代中使用的主要技术以使其更快。
2025-04-26 10:26:08
2
翻译 让悲伤的服务器变得快乐
最近,我偶然发现了SadServers,这是一个被描述为“Linux版LeetCode”的平台。其基本理念是:你将获得对一个预配置了问题的完整远程Linux服务器的访问权限。你的任务是在固定的时间窗口内诊断并修复这些问题。为了记录我解决这些挑战的旅程并分享所获得的知识,我决定不仅要解决这些难题,还要以视频格式记录我的解决方案。这种格式有两个目的:它使我能够反思我的解决问题的方法,并为可能遇到类似问题的其他人提供资源,无论是在现实场景中,还是为SRE/DevOps面试做准备。
2025-04-26 10:25:51
5
原创 TypeScript 接口
可以同时使用两种类型的索引,但是数字索引的返回值必须是字符串索引返回值类型的子类型。需要注意的是,我们传入的对象参数实际上会包含很多属性,但是编译器只会检查那些必需的属性是否存在,并且其类型是否匹配。我们只会去关注值的外形。可索引类型具有一个 索引签名,它描述了对象索引的类型,还有相应的索引返回值类型。可选属性的好处之一是可以对可能存在的属性进行预定义,好处之二是可以捕获引用了不存在的属性时的错误。接口里的属性不全都是必需的。当你操作类和接口的时候,你要知道类是具有两个类型的:静态部分的类型和实例的类型。
2025-04-26 10:25:19
856
原创 TypeScript 变量声明
我们提过使用var声明时,它不在乎你声明多少次;你只会得到1个。var x;var x;var x;在上面的例子里,所有x的声明实际上都引用一个相同的x,并且这是完全有效的代码。这经常会成为bug的来源。好的是, let声明就不会这么宽松了。let x = 10;let x = 20;// 错误,不能在1个作用域里多次声明x并不是要求两个均是块级作用域的声明TypeScript才会给出一个错误的警告。并不是说块级作用域变量不能在函数作用域内声明。
2025-04-26 10:24:54
321
原创 TypeScript 基础类型
为了让程序有价值,我们需要能够处理最简单的数据单元:数字,字符串,结构体,布尔值等。TypeScript支持与JavaScript几乎相同的数据类型,此外还提供了实用的枚举类型方便我们使用。
2025-04-25 22:10:58
499
原创 TypeScript 快速入门
TypeScript是由微软开发的自由和开源的编程语言。TypeScript是JavaScript的一个超集,从今天数以百万计的JavaScript开发者所熟悉的语法和语义开始。可以使用现有的JavaScript代码,包括流行的JavaScript库,并从JavaScript代码中调用TypeScript代码。TypeScript可以编译出纯净、 简洁的JavaScript代码,并且可以运行在任何浏览器上、Node.js环境中和任何支持ECMAScript 3(或更高版本)的JavaScript引擎中。
2025-04-25 22:09:49
748
翻译 Nomad可以做到K8s能做到的一切
这篇博客文章是由以下Twitter交流引发的:我不会轻易接受的论点,尤其是在技术问题上。我坚信有根据的论点,因此,我在这里详细阐述我的立场。如果发现我错了,我愿意接受纠正并改变我的立场。
2025-04-25 09:14:35
6
翻译 存储AWS Pinpoint日志
在$dayjob,我们使用AWS Pinpoint向客户发送短信。我们还撰写了一篇详细的博客文章,介绍我们如何使用Clickhouse + vector堆栈来满足我们的日志需求。此外,我们还希望存储由Pinpoint服务生成的投递日志。但在AWS中,即使是这些简单的任务,通常也会依赖于AWS的其他组件——在这种情况下,是AWS Kinesis。所有包含短信投递元数据的投递日志都被流式传输到Kinesis。我们的设置涉及将Pinpoint配置为使用Amazon Kinesis Data Firehose流。
2025-04-25 09:14:22
3
原创 103规约详细解析教程
1.1 接口标准:RS232、RS485、光纤。1.2 通信格式:1位起始位,8位数据位,1位校验位,1位停止位,字符型字符传输。1.3 通信速率:1200、2400、4800、9600、19200、38400、57600、115200bps。1.4 通信方式:主从一对多,Polling方式。
2025-04-24 15:23:24
264
翻译 Nomad中的桥接网络
为了铺垫背景,理解“桥接网络”的含义至关重要。简而言之,它是一种Linux中的网络连接类型,允许虚拟接口(如虚拟机和容器所使用的)共享一个物理网络接口。在Nomad中,当一个任务被分配时,它会创建一个带有自己网络栈的网络命名空间。在这个命名空间内,会建立一个虚拟以太网(veth)对,其中一端被分配给分配的网络命名空间,另一端保留在宿主命名空间中。
2025-04-24 15:22:28
16
翻译 使用GPT和Python分析信用卡交易
我希望能有一种简单的方法来列出我在哪里花费了最多的钱,并找出一些经常性的支出,这样我就可以为下个月做好准备。当然,我知道有些人养成了预算的习惯,但我只希望我能一直坚持下去。最初,我想用一些简单的Excel来分析这些数据,但我意识到我的Excel技能有多糟糕。我很高兴在短短10分钟内,几乎没写代码就得到了我想要的结果。但我也很难过,因为从下个月开始,我需要限制那些空热量的摄入(这话说了多少次了)。看到这个结果,我有点印象深刻,因为它发现CSV中包含一些无用的空列,并将其删除(尽管我没有提供任何相关信息)。
2025-04-24 15:19:51
5
翻译 日志丢失和重复的奇怪案例
在工作中,我们使用 Vector 流水线来处理和将日志发送到 Clickhouse。我们还自行托管 SMTP 服务器,并且最近开始使用 Haraka SMTP。尽管 Haraka 在原始性能和吞吐量方面表现出色,但它需要一个外部日志插件用于审计和合规目的。我编写了 haraka-plugin-outbound-logger 来记录基本元数据,如时间戳、主题、SMTP 响应等,并将它们记录在 JSON 文件中。计划是将这些日志转储到文件中,并使用 Vector 的文件源来读取它们并进行进一步的转换。
2025-04-22 23:40:29
15
翻译 Go中使用 slog 进行结构化日志记录
您会注意到,默认情况下不会暴露调用者信息。原因可能是查找调用行的堆栈跟踪是一个相对昂贵的操作。slog 是一个出色的提案,Go 很需要一个官方的结构化日志库。该 API 设计易于使用,并且为希望实现高性能/零分配的用户提供了明确的路径,他们可以通过创建自己的 Handler 来实现这些性能改进。
2025-04-22 23:18:43
9
原创 java: JPS incremental annotation processing is disabled. Compilation results on partial
这个错误信息表明在使用 Java 的 JPS(JetBrains Project System)进行编译时,增量注解处理(Incremental Annotation Processing)被禁用了。这可能会导致部分重新编译时的编译结果不准确。
2025-04-22 23:17:37
365
翻译 构建一个CoreDNS插件
CoreDNS是一个可扩展的DNS服务器(实际上是Caddy v1的一个分支),可以用来为一个域名提供DNS记录服务。它使用Go语言编写,非常易于扩展。它有一个插件系统,允许你编写自己的插件来扩展其功能。在这篇文章中,我将为CoreDNS编写一个插件,使其能够为Nomad服务提供DNS记录服务。最近,我遇到了一个特定的用例,需要使用一个解析器地址来查询Nomad服务。目前,Nomad原生的服务发现只能通过(它会渲染服务的静态地址/端口块)和HTTP API来实现。
2025-04-21 00:36:25
9
翻译 用Golang实现一个基于磁盘的键值存储
在BarrelDB中,一个goroutine会定期运行,检查活跃数据库文件的大小是否超过了阈值,然后轮换活跃文件。所有新的写入操作仅发生在“活跃”的数据文件中,过时的文件将作为“压缩”过程(稍后在文章中描述)的一部分进行合并。需要对数据文件进行修剪,以删除过期/已删除的记录,并将所有过时的文件合并到一个活跃文件中——以控制打开的文件数量。一旦更新了新的键/值,它就会将它们写入新的活跃文件中。在快速阅读了这篇篇幅较短的论文后,我决定用Golang实现它,因为这看起来是一个令人兴奋的项目。
2025-04-21 00:35:18
11
原创 JavaFX是什么技术可以用于开发前端web页面吗
定义:JavaFX 是一个用于创建和交付桌面应用的软件平台,同时也支持移动设备和嵌入式系统。它提供了丰富的用户界面控件、图形和多媒体支持,能够让开发者构建具有现代感和交互性的应用程序。特点丰富的UI组件:提供了各种各样的控件,如按钮、文本框、表格、图表等,还支持自定义控件,方便开发者构建复杂的用户界面。强大的图形和多媒体支持:可以绘制2D和3D图形,支持音频和视频播放,能够实现一些视觉效果较好的功能,比如动画、特效等。跨平台性。
2025-04-21 00:33:57
377
原创 保护测量量码表是什么意思
测量是保护装置获取系统状态信息的重要手段,而“量码”可能是指对测量得到的信号进行编码、分类或量化处理的方式。例如,将电压、电流等测量值按照一定的规则转换为便于保护装置处理和判断的数字信号或代码,这种编码规则或对应关系的表格就可能是“保护测量量码表”。如果是在数据处理或计量相关的场景中,“保护”可能是指对数据的保护,确保数据的准确性、完整性和安全性。例如,对于不同来源、不同格式的测量数据,通过量码表将其统一转换为标准的量纲、单位或编码格式,以便于后续的数据分析、处理和存储。
2025-04-21 00:33:27
751
原创 第 103 篇 继电保护设备信息接口配套标准
配套标准是对 IEC 60870-5 基本标准或功能文件集的定义增加语意 表现在对信息体定义特定用途或定义另外的信息体 服务规则和定义标准的参数编制配套标准的原则是不得违反所引用的基本标准的规则但将这些基本标准共同用于某一特定的活动范围中时 配套标准会使这些基本标准的规则之间的关系变得更加明确。为了在兼容设备之间达到互换的目的 国际电工委员会 TC-57 技术委员会又在 IEC 60870-5 系列标准的基础上 根据各种应用情况下的不同要求制定了一系列的配套标准它们分别是。中华人民共和国电力行业标准。
2025-04-20 16:27:49
211
原创 保持寄存器”和“寄存器”的区别
保持寄存器和输入寄存器在Modbus协议中都有重要的作用。保持寄存器主要用于存储可读写的设备参数和控制命令,而输入寄存器则用于存储只读的外部设备数据。这种区分使得Modbus协议能够灵活地满足工业自动化中不同的数据存储和访问需求。
2025-04-20 16:26:10
438
翻译 Nomad 与 Vector 的日志处理
因此,依赖节点的可用性来搜索这些日志并不是一个实用的想法,因为节点随时可能宕机。在这种情况下,必须有一个日志传输代理,将所有集群节点的日志进行收集和聚合,并将它们存储在中心位置(例如 Elasticsearch、Clickhouse、Loki)。更关键的是,要求每个开发者也配置一个 Vector 侧车作业,并且要保持所有这些配置同步,以确保它们在命名空间中统一,这也是另一个头痛的问题。我的下一个选择是监听 Nomad 事件流,并生成一个 “vector” 配置模板,以收集日志并用事件流中的元数据进行丰富。
2025-04-20 16:24:58
8
原创 103协议的FCB和FCV应该如何理解
当FCV为0时,通信逻辑主要依赖于报文的内容和上下文,而不是通过FCB来保证数据的完整性和顺序。这种机制适用于广播、单向传输或非关键数据的场景,但不适合需要高可靠性的数据传输。
2025-04-19 22:31:19
652
原创 VSQ(可变结构限定词)
在IEC 60870-5-103协议中,VSQ(可变结构限定词)是一个重要的组成部分,它规定了应用服务数据单元(ASDU)信息体中信息元的个数和寻址方式。综上所述,VSQ在IEC 60870-5-103协议中扮演着关键角色,它不仅提高了数据传输的灵活性与效率,还通过优化数据传输的序列,减少了数据在队列中的等待时间,提升了通信效率。对于重复或周期性的数据,VSQ可以指定只在变化时发送新数据,或者只发送变化的数据部分,而不是每次发送相同的数据。根据应用场景的不同,可以包含不同类型的信息,如遥测、遥信、遥控等。
2025-04-19 22:30:47
199
翻译 参加 IndiaFOSS 2022
接下来是一系列精彩的演讲,尤其是印度杰出的开源(FOSS)贡献者科维德的演讲。然而,去班加罗尔(一个我在疫情夺走我们生活乐趣之前居住了五年的地方)的想法却在我脑海中萦绕了一整天。我的朋友迪拉杰从金奈赶来参加这次会议,接下来的两天我大部分时间都和他一起度过。我自认为是一个内向的人,但我想与开发者在一起时,我会更愿意敞开心扉,因为我们通常会忽略闲聊。我很高兴看到一个没有“企业”产品演讲的会议。我花了一些时间复习我的演讲幻灯片,我的演讲安排在纳巴伦关于 Kubernetes 发布团队工作方式的精彩演讲之后。
2025-04-19 22:30:19
8
翻译 在 Nomad 中调试 DNS 问题
在工作中,我和我的同事们遇到了一个令人抓狂的网络问题,涉及连接到 Kafka 集群时的一个特定问题。我们在 Golang 应用程序中使用 franz-go 库与外部 Kafka 集群进行交互。这些 Go 应用程序托管在 Nomad 集群中,并使用 exec 驱动程序运行。
2025-04-19 22:29:39
10
翻译 自托管 Outline 维基
最近,我发现了 Outline,这是一个协作知识库。我想在我的服务器上自托管它,但强制要求身份验证提供程序让我有些反感。我的服务器位于一个私有加密网络(Tailscale)中,只有我批准的设备才能访问该网络,因此对于我个人使用的单用户应用程序,我不需要身份验证。我找到了一些使用 Authelia/Keycloak 的指南,但这些是重量级应用程序,会消耗大量资源(数据库、缓存、代理等),仅仅为了给 Outline 提供一个 OIDC 提供程序。,您将拥有一个准备就绪的 Outline 服务器。
2025-04-18 13:57:42
9
翻译 我如何使用LLMs
这篇文章的标题是《How I use LLMs》(我如何使用LLMs),作者分享了他如何使用大型语言模型(LLMs),特别是Claude 3.5 Sonnet,以及他如何通过Aider工具在编程任务中高效利用这些模型。
2025-04-18 13:56:31
8
原创 名词解释:103协议的“发送/无回答”服务
发送/无回答”服务是一种简单高效的通信机制,适用于广播或非关键数据传输场景。通过设置FCV为0,主站和子站可以快速完成通信,但这种机制无法保证数据的可靠传输,因此需要根据实际应用场景谨慎选择。
2025-04-18 13:50:37
325
原创 DL/T667-1999(IEC60870-5-103)通信规约基本要点 2.2:报文格式
对于继电保护装置,每个动作元件(如1段距离动作)、报警信号和压板状态等都有一个唯一的FUN和INF与之对应。对于远动装置,每个遥测、遥信、遥脉、遥控通道也都有一个唯一的FUN和INF与之对应,具体定义如下。(对于容量小的分散式测控单元如9601等FUN=1,如果信息量较大,FUN编号顺序增加,以满足信号容量的要求)对于保护管理机,ASDU_ADDR = 产生信号的保护装置的物理地址。ASDU的类型标识号,870-5-103 通信规约出于传送各种不同类型信息的需要,规定了很多种格式的ASDU。
2025-04-18 13:49:47
400
原创 DL/T667-1999(IEC60870-5-103)通信规约基本要点 2.1:报文格式
(帧计数位),FCB=0/1——主站每向从站发送新一轮的“发送/确认”或“请求/响应”传输服务时,将FCB取反。主站为每个从站保存一个FCB的副本,若超时未收到响应,则主站重发,重发报文的FCB保持不变,重发次数最多不超过3次。对于广播报文不考虑报文丢失和重复传输,无需改变FCB状态,这些报文的FCV常为0。ACD = 1,通知主站,从站有1级数据请求传送。注:功能码等于3、4的报文为可变帧长报文,其余报文均为固定帧长报文。注:功能码等于8的报文为可变帧长报文,其余报文均为固定帧长报文。
2025-04-17 11:09:06
300
原创 DL/T667-1999(IEC60870-5-103)通信规约基本要点 1:通信接口
DL/T667-1999(IEC60870-5-103)通信规约基本要点
2025-04-17 10:40:13
94
3D-Atom-Model-PowerPoint-Templates-Widescreen PPT模版
2025-04-02
3D Printing Technology PowerPoint Templates
2025-04-02
2-2004-Central-Contrast-Comparison-PGO-16-9.pptx PPT模版
2025-03-26
Abstract Color Wave PowerPoint Templates.pptx
2025-03-26
Microsoft.Office.Interop.Word.dll
2025-03-23
AI + VUE的可能性
2025-03-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人