- 博客(220)
- 资源 (2)
- 收藏
- 关注
原创 MoP 与清单革命
简单说,清单就是:“在你忙到想骂人的时候,替你记得那些必须不能忘的小破事儿。手术前确认病人身份(要不然你开错人了咋办?发布代码前记得切到正确分支(别又把推到生产了)部署服务器前关掉防火墙(不然你远程连不上只能自闭)清单不是在羞辱你的智商,而是帮助你在压力山大的时候,不犯蠢。问题类型举例适用清单简单问题比如安装一个nginx确认步骤,不要漏复杂问题比如发布一个大型微服务系统多人配合,协调流程极端复杂问题比如处理线上突发全链路故障。
2025-04-29 22:14:43
798
原创 打造最适合自己的即时贴和笔记系统
创建便签:用户可以随时创建新的便签,方便记录突发的想法或待办事项。便签管理:每个便签都可以单独编辑、移动、调整大小,确保高度的灵活性。持久化存储:使用 YAML 配置文件保存用户的设置, 使用 markdown 保存每天的便签内容,定时自动保存,数据也能被恢复。简洁界面:界面设计极简,不占用过多屏幕空间,同时能够灵活调整。番茄钟功能: 可以启动,停止和重置番茄钟,帮助用户管理时间。多模板支持: 可以创建多个不同的模板,方便用户定制自己的便签格式。支持调用常用脚本和程序。
2025-03-14 21:46:47
658
原创 Just 又一个自动化工具
此配方以跨平台的方式设置 Python 虚拟环境,处理 Windows 和类 Unix 系统之间的差异。的任务管理需求,适用于各种项目类型,而不仅仅是编译代码。Just 兼容 Linux、macOS 和 Windows,确保在不同操作系统上具有一致的行为。的简单语法定义这些被称为“配方”的命令,您可以简化重复性任务,并在项目中保持一致性。Just 就是一个命令执行工具,旨在简化项目中特定命令的管理和执行。允许定义变量、处理命令行参数等,为任务的指定和执行提供了灵活性。,Just 可能是更好的选择!
2025-03-14 21:38:47
436
原创 如何证明你是你 - SPIFEE
如何证明你是你 - SPIFEE1. 你是谁?— 身份认证的挑战AWS IAM Role工作原理:优势:AWS Security Token Service (STS)使用场景:工作流程:2. 你是你吗?— SPIFFE 的登场SPIFFE IDSVID(SPIFFE Verifiable Identity Document)信任域(Trus...
2025-02-11 10:27:57
742
原创 AI 把字幕组的活都干了
AbstractAI 把字幕组的活都干了AuthorsWalter FanCategorylearning noteStatusv1.0Updated2025-01-12LicenseCC-BY-NC-ND 4.0详细步骤第一步:将mp4文件的语音提取为 wave 文件第二步:调用 whisper 识别语音为文本。第三步:调用...
2025-01-12 18:25:15
642
原创 JMPP 让 XMPP 协议老树开新花
AbstractJMPP 让 XMPP 协议老树开新花AuthorsWalter FanCategorylearning noteStatusv1.0Updated2025-01-02LicenseCC-BY-NC-ND 4.0XMPP 是若干年前流行的即时通信 IM 协议, 据说起初的 QQ 就采用了这个协议, 我多年以前也用过它实现过...
2025-01-02 22:35:20
1029
原创 程序员会不会被 AI 取代
Abstract程序员会不会被 AI 取代AuthorsWalter FanCategorythinkingStatusv1.0Updated2024-12-17LicenseCC-BY-NC-ND 4.0"Unbelievable", 我前两天试了试 https://bolt.new/ , 惊了, 通过 AI 自动生成程序代码, 不是一...
2024-12-29 23:41:29
710
原创 伸缩的艺术
Abstract伸缩的艺术AuthorsWalter FanCategorylearning noteStatusv1.0Updated2024-11-30LicenseCC-BY-NC-ND 4.0伸缩的艺术1. 垂直扩展:先给单车上外挂1.1 内功修炼:让单车跑得更快1.2 防护措施:别让车子熄火2. 水平扩展...
2024-12-21 10:50:11
554
原创 编程江湖中的道与术
Abstract编程江湖中的道与术AuthorsWalter FanCategorylearning noteStatusv1.0Updated2024-11-29LicenseCC-BY-NC-ND 4.0术是什么?术是刀枪剑戟的武器。道是什么?道是你的内功心法。几个“术与道”的栗子 ????为什么道比术重要?如何修炼道与术?道与...
2024-12-21 10:47:49
832
原创 编程语言的局限
最近重新复习了 Java 这门我曾经非常熟悉的语言 , 翻阅到 Bruce Ekecl 的 ON JAVA 一书, 他在卷首就引用了维根斯坦(Ludwig Wittgenstein)的名言: 'The limits of my language means the limits of my world.' 我的语言的局限即我的世界的局限.作为程序员, 一种语言会悄然无息的引导你进入某种思维模...
2024-11-23 10:10:12
440
原创 2023 CWE Top 25
原文参见 2023 CWE Top 25中文版排名ID名称分数KEV 中的 CVEs与 2022 年相比排名变化1CWE-787越界写入 (Out-of-bounds Write)63.727002CWE-79网页生成期间输入未正确中和 ('跨站脚本')45.54403CWE-89SQL 命令中特殊元素未正确中和 ('SQL 注入'...
2024-11-17 10:37:58
153
原创 AI 辅助编程到底能帮程序员干什么
最近一段时间,使用了一些 AI 编程工具, 在我的 VSC 上安装了 Codeium, Tongyi, 以及试用了一段时间的 Cursor这些 AI 工具, 的确是程序员的好帮手,不仅能提高生产力、减少重复劳动,还能帮忙解决烧脑的问题, 在写代码的时候, 有时候它的提示比我的脑子转得还快, 虽然有时有点过于勤快, 自以为是的给出了一些错误提示。以前是 "内事不决定问度娘, 外事不决问谷哥", ...
2024-11-09 11:01:50
797
原创 挖矿病毒来势汹汹
病毒来了, 我的个人站点使用了 wordpress, 它的不知哪个漏洞让黑客攻入了我的站点使用 top 命令看到了有不明进程始终占据了 100% 的 CPUsnapshot 1snapshot 2通过以下 "三板斧"可以查杀这个进程先用 top (shift+p) 查找占据 CPU 最多的进程根据其进程号 pid 查看这个进程在哪里$ sudo ls -l /...
2024-10-20 10:56:49
1081
原创 用 logfire 提高应用的可观测性
Logfire是由 Pydantic 团队打造的平台, 还有供 app 使用的 library, 我们经常提到对应用要做 LMT(Log, Metrics, Trace),Logfire 可以用来收集、存储、分析和可视化日志数据和应用性能指标。通过集成日志和度量,Logfire 提供了一个统一的界面来管理应用程序和系统的可观测性.Logfire 其实是基于 OpenTelemetry构建的,可...
2024-10-10 22:05:07
820
原创 利用 langchain 和 LLM 来给 PDF 做总结
在网上看到一个PDF, 讲的是 Gstreamer 的的动态管道的构建, 一瞥而过, 没时间细看, 先写个小程序通过 langchain 和 LLM 给它做个快速总结代码如下from langchain.document_loaders import UnstructuredPDFLoaderfrom langchain.llms import OpenAIfrom langchain.c...
2024-10-10 22:03:06
1091
原创 图数据库查询语言 cypher 与 memgraph
Cyper作为声明式查询语言, SQL 在计算机行业无人不晓, 无人不知. 而 Cypher 就是 Graph Database 图数据库的 SQL.Cypher 用"圆括号"来表示节点, 用"方括号,连接线及箭头"表示关系这样一句话 - "Sally likes Graphs. Sally is friends with John. Sally works for Neo4j."表示...
2024-08-25 22:39:49
566
1
原创 你的软件系统安全吗
如果你的软件系统可以通过网络访问, 可以由多人操作, 可以访问或操作敏感数据, 或者可能暴露隐私, 等等, 请一定要保护你的系统.那么你的软件系统安全吗?一. 先问自己如下 4 个问题1. What are we working on? 我们的系统在干啥?例如电商系统:我们在卖啥?提供什么售前和售后服务?用户和帐备信息怎么管理的?数据是如何防护和归档的?等等2. What ...
2024-08-22 23:46:00
1094
原创 密码到底怎么存放才安全?
发现有小伙伴在源代码以及配置文件中存放明文的帐号密码, 我报了一个 git issue, 结果小伙伴不乐意了, 代码里不让放, 配置文件不让放, 那到底放哪里?我回答这些地方没说一定不让放, 代码里一般是不要放, 配置文件里当然可以存放密码, 只是不能放明文的未加密的密码, 必须是加密后的密文.可是加密得有密钥, 那密钥又放哪里呢?今天我就来介绍一个简单易用的方案:用 Ansible V...
2024-08-19 22:37:02
1245
原创 人工神经网络的 Hello World - 手写数字识别
Abstract神经网络的 Hello World - 手写数字识别AuthorsWalter FanCategorylearning noteStatusv1.0Updated2024-07-13LicenseCC-BY-NC-ND 4.0就象编程语言中的 hello world 那样, 手写数字识别是神经网络入门最常用的例子.它的训...
2024-07-18 23:01:57
805
原创 如何创建一个GStreamer插件
GStreamer是一个开源的多媒体框架,用于创建各种媒体处理组件。它的最大亮点就是其管道 (pipeline)与插件(plugin)机制, 为扩展提供了多种可能.Plugin 创建的基本步骤环境设置:确保你的开发环境中安装了GStreamer开发库和头文件。创建插件基础结构:使用gst-plugin模板生成插件的基础结构。编写插件代码:定义插件的元数据,如名称...
2024-07-08 08:31:48
396
原创 DeepStream 入门一
DeepStreamNVIDIA 的 DeepStream SDK 提供了一套完整的流分析工具包,用于基于 AI 的多传感器处理、视频和图像理解。Deepstream SDK 大量使用开源多媒体处理库 Gstreamer。DeepStream SDK 可用于构建端到端 AI 驱动的应用程序来分析视频和传感器数据。它可将来自 USB/CSI 摄像头的媒体流数据、来自文件的视频或通过网络传输的媒体...
2024-07-07 22:39:05
1130
原创 程序员百宝箱-正则表达式助手
1. 为什么要写这个小工具正则表达式在日常编程中用得很多, 可是它挺难记的, 写得不好, 就有可能出错或者效率不高2. 简单介绍一下这个工具这是一个我很久以前编写的用于正则表达式编写和测试的小工具。它对我很有帮助,也许其他人也需要,所以我从旧的代码库中提取出来,并将其构建成为一个独立的工具。代码仓库https://github.com/walterfan/regex_helper...
2024-06-15 08:57:41
330
原创 程序员百宝箱-编码转换助手
1. Why编程转换是程序员日常工作, 与其到网上找一些在线工具转来转去, 不如自己手写一个放在手边, 随时能用, 有需要还可以随时改动2. What这是一个我很久以前编写的用于转换编码的小工具。它对我很有帮助,也许其他人也需要,所以我从旧的代码库中提取出来,并将其构建成为一个独立的工具。下载链接:windows: https://gitee.com/walterfan/e...
2024-06-09 16:56:55
905
原创 树莓派上的语音识别一
Abstract树莓派上的语音识别一AuthorsWalter FanCategorylearning noteStatusv1.0Updated2024-05-25LicenseCC-BY-NC-ND 4.0ASR(自动语音识别) 作为日常的应用已经飞入寻常百姓家了, 小米音箱, Apple Siri, 汽车上的各种语音小助手.这些技...
2024-05-26 17:11:56
761
原创 如何快速验证 GStreamer Pipeline?
简介GStreamer是一个开源的、模块化的多媒体框架,它允许开发者轻松地创建各种复杂的媒体处理管道。GStreamer的设计哲学是将媒体处理分解成许多小的、可重用的部分,这些部分被称为“元素”,通过这些元素的组合,开发者可以构建出几乎任何类型的媒体处理应用。GStreamer由两部分组成:核心库和一系列的插件。核心库提供了管道管理、线程处理、缓冲区管理等基础功能,而插件则提供了具体的功能实现...
2024-04-21 23:35:59
288
原创 物联网的世界里 MQTT 独领风骚
MQTT 是一种基于发布/订阅模型的轻量级消息传递协议,专为低带宽和不稳定网络环境中的物联网应用而设计。 它可以用最少的代码为网络连接设备提供实时可靠的消息服务。 MQTT协议广泛应用于物联网、移动互联网、智能硬件、车联网、智慧城市、远程医疗、电力、石油、能源等领域。MQTT 由 IBM 的 Andy Stanley-Clark 和 Arlen Nipper 创建的。 Nipper 认为,MQ...
2024-03-22 23:23:36
806
原创 我心目中的好代码
在我心目中,好代码必须要符合以下四条标准正确易懂易改高效而烂代码,只有一个衡量标准,那就是你在阅读或修改代码时骂的脏话的程度与次数1. 正确这是最基本的要求,代码当然要满足需求,运行起来正确无误,这一点并不那么容易做到,尤其是运行环境比较复杂,各种异常情况较多的时候。好代码要考虑周到,各种逻辑流程和意外情况的处理要面面俱到, 单元和模块测试要覆盖异常逻辑和边界。对于服务质量 ...
2024-03-01 23:14:34
387
原创 GStreamer 基础教程三: 动态管道
目标我们可以在应用程序开始时定义整体管道,也可以在有足够信息时“动态”构建管道。这篇教程的目标是搞清楚如下问题:如何在链接元件时获得更精细的控制?如何收到感兴趣事件的通知,并及时反应?元件可能处于的哪些不同的状态?介绍这篇教程中的管道在设置为 “Playing” 状态之前并未完全构建好。这没问题。如果我们不采取进一步的行动,数据将到达管道的尽头,管道将会产生一个错误消息并停止。...
2024-01-22 21:20:34
1340
原创 GStreamer 基础教程二: 核心概念
-- 老范编译自 GStreamer 官方教程目标上一篇教程展示了如何自动构建管道。这篇教程将通过实例化每个元素并将它们链接在一起来手动构建管道。在此过程中,我们将学习:什么是 GStreamer 元素以及如何创建一个元件?如何将元件相互连接?如何自定义元件的行为?如何监视总线的错误情况并从 GStreamer 消息中提取信息。程序流程@startumlsta...
2024-01-21 10:41:49
395
原创 GStreamer 基础教程一 Hello World
-- 老范编译自 GStreamer 官方教程GStreamer 是如此著名的多媒体框架,它的管道和插件模式令人印象深刻,眼界大开,原来管道模式可以玩得这么精妙。目标熟悉使用任何一种新的开发软件语言或者软件代码库的方法,最莫过于在屏幕上打印 "Hello world".而对于多媒体框架来说,播放一段视频比 hello world 更合适于快速上手。下面代码远多于一个标准的 Hello w...
2024-01-21 09:46:43
368
原创 GStreamer Probe 探针的妙用
探针 Probe 是一种可由应用程序安装的回调,可将数据流的状态及内容回调给应用程序,在实现中妙用无穷,既可以用来检查在 GStreamer Pipeline 中流传的 Data, Query 和 Event, 还可以用来检查和修改在回调函数中收到的数据,以及阻塞或传递在 pipeline 流传的数据。先总结一下我在 GStreamer Probe 看到的内容,然后写一个简单的小程序演示一下探针...
2024-01-07 08:49:31
1145
原创 GStreamer 媒体能力协商一
AbstractGStreamer 媒体能力协商AuthorsWalter FanCategorylearning noteStatusv1.0Updated2023-12-10LicenseCC-BY-NC-ND 4.0概述在 GStreamer 中, 媒体能力协商 Capabilities negotiation (缩写为 Caps...
2023-12-31 11:36:13
955
原创 修改代码之道 Merge Request Rules
Merge Request Rules代码修改过后提交主干分支的合并请求称为 Merge request , 在 github 中也称 Pull request在实践过程中,总结了如下的规则如无特殊需求,所有的开发都是基于 master branch 的, merge request 来自于你的开发分支(feature branch, hot-fix branch, etc) 与 mast...
2023-12-02 10:18:28
291
原创 用 GStreamer 使用 HLS 快速搭建直播系统
前提条件是要先安装 gstreamer, 我使用的是 macbook air, 具体的安装步骤不在这里赘述,请参见官方文档 Installing GStreamer快速开始其实步骤很简单简单测试一下,确保你安装的 gstreamer 工作正常,并能从摄像头中读取视频将摄像头视频显示出来gst-launch-1.0 avfvideosrc device-index=1 ! \v...
2023-10-19 23:37:23
149
原创 GStreamer 对于 WebRTC 的支持
1. GStreamer 简介GStreamer 是与 FFmeg 齐名的多媒体框架,它最引人注目的就是它的 pipeline 和 plugin 机制,提供了高度可定制化的扩展性。有关 Gstreamer 的基础知识请参见GStreamer 官方教程GStreamer 开发手册GStreamer 插件开发指南GStreamer 中文开发手册_ZONGXP的博客-CSDN博客这里不...
2023-09-12 23:07:59
806
原创 WebRTC 安全之一
WebRTC 的安全需要满足三个基本需求Authentication 用户访问需要认证Authorization 用户访问需要授权Audit 用户的访问应该可被追踪和审查其中前两项也可以归结为 CIAConfidentiality 机密性:信息需要保密, 访问权限也需要控制Integrity 完整性:信息需要保持完整,在存储和传输过程不被未授权,未预期或无意地篡改或销毁,或者可以...
2023-09-02 19:43:02
773
原创 OWASP Top Ten 十大安全问题
OWASP 是 Open Worldwide Application Security Project 的缩写,它是一个旨在提高软件安全的非营利性组织。它每四年会发布一个十大安全问题,最新的是 2021 年发布的 OWASP Top Ten 2021。OWASP Top TenA01:2021-Broken Access Control 受损的访问控制 位列第一,从四年前的第 5 ...
2023-08-14 00:21:56
72
原创 WebRTC 内部度量文件的分析
AbstractWebRTC stats analyzeAuthorsWalter FanCategorywebrtc noteStatusv1.0Updated2023-07-01LicenseCC-BY-NC-ND 4.0Overview在 WebRTC 的开发过程中, 我们看的最多的度量数据来自 getStats 接口, 我接触...
2023-08-04 00:36:50
37
原创 WebRTC 之音视频同步
在网络视频会议中, 我们常会遇到音视频不同步的问题, 我们有一个专有名词 lip-sync 唇同步来描述这类问题,当我们看到人的嘴唇动作与听到的声音对不上的时候,不同步的问题就出现了而在线会议中, 听见清晰的声音是优先级最高的, 人耳对于声音的延迟是很敏感的根据 T-REC-G.114-200305 中的描述大于~280ms 有些用户就会不满意大于~380ms 多数用户就会不满意大于~...
2023-08-03 23:33:11
1869
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人