Social Icons

自主武器的伦理:人工智能在战争中能否被监管?

自主武器系统是能够在没有人类干预的情况下选择和攻击目标的军事平台。可以把它们想象成自动驾驶汽车的致命表亲。不同的是,它们不是在交通中导航,而是在战场上导航。而且它们不是为了避免碰撞,而是……你明白我的意思。 这些系统可以包括: * 能够识别和攻击敌方阵地的自主无人机 * 能够在飞行中调整轨迹的AI导弹系统 * 守卫边界或敏感设施的机器人哨兵 这里的关键特征是自主性。与遥控武器不同,自主武器系统根据预先编程的参数和实时数据分析自行做出决策。 伦理雷区 现在我们已经了解了基本知识,让我们进入伦理的泥潭。自主武器系统的开发和部署引发了一系列道德问题,即使是最有经验的哲学家也会感到困惑。 1. 责任空白 当自主武器犯错时,谁该负责?是编写算法的程序员?还是部署它的军事指挥官?还是AI本身?这种“责任空白”是伦理辩论中的一个主要障碍。 “能力越大,责任越大” - 蜘蛛侠的叔叔本 但当这种能力由不理解责任概念的AI掌握时,会发生什么?...

10 days ago
6 分钟阅读

Rust驱动的Java扩展:使用不安全的Rust提升JVM性能

为什么我们要考虑 Java 和 Rust 之间这种不太正统的结合呢? * 性能:Rust 的速度非常快,通常可以媲美甚至超过 C/C++。 * 内存安全:Rust 的借用检查器就像代码的严格家长,确保其安全无虞。 * 低级控制:有时候你需要直接操作底层硬件。 * 互操作性:Rust 可以很好地与其他语言协作,非常适合扩展现有系统。 现在,你可能会问:“如果 Rust 这么安全,为什么我们还要使用不安全的 Rust?”好问题!虽然 Rust 的安全性保证非常出色,但有时我们需要突破这些界限,以榨取每一滴性能。这就像摘掉辅助轮——令人兴奋,...

11 days ago
6 分钟阅读

使用 Gerrit 和自定义钩子自动化大规模代码审查:开发者理智指南

首先,让我们来谈谈Gerrit。如果你还没听说过它,Gerrit就像学校里那个总是拥有最新小玩意的酷小孩——只不过在这里,小玩意是一个强大的代码审查工具,它可以无缝集成到Git中。 Gerrit工作流程:快速概览 1. 开发者将代码推送到Gerrit 2. Gerrit创建一个变更请求 3. 审查者对变更进行评论和投票 4. 开发者根据反馈更新变更 5. 变更被批准并合并 听起来很简单,对吧?但等等,还有更多!Gerrit允许我们通过自定义钩子和自动化检查来增强这个过程。让我们深入了解一下! 设置自定义钩子:你的秘密武器 Gerrit中的自定义钩子就像是一群小机器人,孜孜不倦地工作以确保代码质量。它们可以运行检查、执行策略,甚至为你煮咖啡(好吧,也许最后一个还不行……)。 创建你的第一个自定义钩子 让我们创建一个简单的钩子来检查提交信息的格式是否正确:...

11 days ago
6 分钟阅读

NixOS:实现可重现开发环境的关键

NixOS不仅仅是另一个Linux发行版。它在系统配置和软件包管理方面带来了思维方式的转变。NixOS的核心是基于Nix包管理器,它采用了一种函数式的方法来进行包管理。那么,这对我们开发者来说到底意味着什么呢? * 可重现性:每次构建都是独立且确定的 * 回滚:搞砸了?没问题,只需回滚到之前的状态 * 多用户支持:不同用户可以拥有不同的环境而不会发生冲突 * 声明式配置:整个系统配置在一个文件中?当然可以! 秘密武器:Nix表达式 NixOS的核心魔力在于Nix表达式。这些基本上是用于构建软件包和整个系统配置的配方。让我们快速看一下其中一个是什么样的: { pkgs ? import {} }: pkgs.stdenv.mkDerivation { name = "my-awesome-project"; buildInputs = [ pkgs.nodejs pkgs.yarn...

12 days ago
4 分钟阅读

深入解析Windows内存管理

记忆迷宫:概述 在深入探讨页表之前,让我们快速回顾一下Windows内存管理: * 虚拟内存:无限内存的幻觉 * 物理内存:你机器中的实际RAM * 页表:虚拟世界和物理世界之间的神奇桥梁 * 内存管理器:操控一切的幕后大师 现在我们已经了解了基本情况,让我们卷起袖子,开始一些实际的探索。 工具:为旅程做好准备 要开始我们的页表冒险,我们需要合适的工具。以下是我们的工具库: * WinDbg:Windows调试的多功能工具 * LiveKd:无需重启即可进行实时内核调试 * VADExplorer:用于可视化虚拟地址描述符的巧妙工具 * Sysinternals Suite:一系列让生活更轻松的实用工具 确保你已经安装并准备好这些工具。相信我,它们将是你旅程中的好伙伴。 深入探索:页表结构 好了,让我们开始吧。...

12 days ago
6 分钟阅读

深入探讨:Linux上的低级USB通信

让我们花点时间来欣赏一下Linux的USB栈。它就像一台运转良好的机器,多层结构和谐地协同工作: * USB核心:USB操作的核心部分 * 主机控制器驱动:可以将它们视为USB与计算机硬件之间的翻译者 * USB设备驱动:应用程序与USB设备之间的中间人 * 用户空间库:我们今天将主要在这里花时间 现在,让我们撸起袖子,进入精彩的部分吧! libusb:通往USB奇境的门户 如果你想与USB设备通信而不想编写内核驱动(说实话,谁不想呢?),libusb就是你的新好朋友。这个用户空间库是USB通信的多功能工具。 首先,让我们安装libusb: sudo apt-get install libusb-1.0-0-dev 现在,让我们编写一个简单的程序来列出系统中连接的所有USB设备: #include <stdio.h> #include...

13 days ago
5 分钟阅读

用 step-ca 驯服内部 PKI 的狂野西部

step-ca 是一个开源工具,可以让你比说“HTTPS 无处不在”更快地设置自己的轻量级证书颁发机构 (CA)。 为什么要使用本地 CA? * 不再有自签名证书警告,让你的开发人员不再怀疑 * 自动化证书颁发,比上油的左轮手枪还顺畅 * 精细控制内部 PKI,而不需要花费大量资金 * 提高安全姿态,让你的信息安全团队心悦诚服 准备就绪:设置 step-ca 首先,让我们安装 step-ca。就像从木头上掉下来一样简单: brew install step 或者对于使用 Linux 的朋友: wget https://github.com/smallstep/...

13 days ago
4 分钟阅读

磁盘手术101:让你的分区起死回生

简要说明:分区表复活工具包 我们将探讨以下内容: * MBR和GPT分区表的结构 * 检查和修复分区表的工具 * 手动恢复分区信息的分步指南 * 避免未来分区表灾难的建议 分区表:硬盘的无名英雄 在我们开始动手之前,先了解一下我们要处理的对象。分区表就像硬盘的目录,告诉系统在哪里找到不同的分区以及它们的类型。主要有两种类型: MBR(主引导记录) 老派的冠军,有限但可靠: * 位于磁盘的第一个扇区 * 最多可处理4个主分区 * 限制在2TB磁盘大小 GPT(GUID分区表) 新兴的选择(但不再那么新): * 默认支持多达128个分区 * 可处理大于2TB的磁盘 * 在磁盘末尾存储备份表 工具箱:你的分区救援小队 在我们开始操作之前,先准备好工具箱: * fdisk:经典的MBR分区编辑器 * gdisk:fdisk的GPT版本...

14 days ago
4 分钟阅读

深入了解Keycloak:定制认证野兽

今天,我们将深入了解 Keycloak,亲自动手进行自定义映射、扩展和集成。系好安全带,因为这次旅程将会非常刺激! 总结 我们将深入探讨 Keycloak 的自定义,包括: * 自定义用户属性映射 * 构建 Keycloak 扩展(SPI) * 实现自定义认证流程 * 与外部系统集成 如果你准备好将 Keycloak 变成你的个人认证游乐场,那就继续阅读吧! 自定义用户属性映射:因为一刀切并不适合所有人 说实话,Keycloak 中的默认用户属性就像香草冰淇淋一样无趣。但别担心!我们可以通过自定义属性映射来增加趣味性。 添加自定义属性 首先,让我们为用户添加一个自定义属性。在 Keycloak 管理控制台中:...

14 days ago
5 分钟阅读

解锁隐藏的力量:提升性能的稀有x86操作码

欢迎来到稀有 x86 操作码的世界——这些指令集架构中的隐藏宝石,可以在你最需要的时候为你的代码提供额外的提升。今天,我们将深入探索现代 Intel 和 AMD CPU 的鲜为人知的角落,揭开这些独特的指令,看看它们如何为性能关键的代码加速。 被遗忘的武器库 在我们开始旅程之前,让我们先设定舞台。大多数开发者都熟悉常见的 x86 指令,如 MOV、ADD 和 JMP。但在表面之下,隐藏着一批可以在一个时钟周期内执行复杂操作的专用操作码。这些指令往往不被注意,因为: * 它们在初学者友好的资源中没有广泛记录 * 编译器不总是自动利用它们 * 它们的使用场景可能非常具体 但对于那些对性能痴迷的人来说,这些稀有的操作码就像为我们的代码找到了一个涡轮按钮。让我们来探索一些最有趣的操作码,看看它们如何提升我们的优化能力。...

15 days ago
7 分钟阅读

英伟达推出3000美元紧凑型超级计算机项目Digits

由GB10 Grace Blackwell超级芯片驱动,并与联发科合作开发。 * 高性能AI模型 * 原型设计、微调和部署多达2000亿参数的大型AI模型。 * 连接两台超级计算机可以运行多达4050亿参数的模型,例如Meta的Llama 3.1。 * 强大的硬件规格 * 内存:128 GB RAM。 * 存储:最高4 TB NVMe。 * 处理器:20核Arm中央处理器。 * GPU:Blackwell GPU。 * 每秒可执行多达一千万亿次AI计算。 * 灵活的软件支持 * 兼容流行的框架,如PyTorch、Python和Jupyter。 * 运行在基于Linux的操作系统上。 * 可以作为独立工作站使用,也可以连接运行Windows或macOS的PC。 * 项目Digits的可用性和定价 * 计划于2025年5月发布。 * 起价:...

15 days ago
2 分钟阅读

Sed 和 Awk:动态二人组即时配置生成

有时候,你需要一个轻量级、无依赖的解决方案,能够在任何类Unix系统上运行。这就是 sed 和 awk 发挥作用的地方: * 它们几乎在每个类Unix系统上都可用 * 无需额外安装或依赖 * 快速执行,适合即时更改 * 足够强大,可以处理复杂的转换 动态二人组的实际应用 让我们从一个实际场景开始:你需要根据环境变量和模板动态生成一个 Nginx 配置文件。以下是一个模板: server { listen 80; server_name {{SERVER_NAME}}; location / { proxy_pass {{UPSTREAM_URL}}; } } 现在,让我们使用 sed...

15 days ago
3 分钟阅读

Kaniko:轻松构建安全的 Docker 镜像

Kaniko 是一个工具,可以在容器或 Kubernetes 集群中从 Dockerfile 构建容器镜像,而无需依赖 Docker 守护进程。没错,你没听错——不需要 Docker 守护进程。这就像魔法,但有更多的 YAML。 使用 Kaniko 的好处 * 在无法轻松或安全运行 Docker 守护进程的环境中构建镜像,例如 Kubernetes * 告别特权访问的噩梦 * 享受更安全的构建过程(你的安全团队会爱上你) * 快速、高效,不需要你做出巨大的牺牲 设置 Kaniko:三步走 第一步:...

16 days ago
4 分钟阅读

理解HLSL:DirectX 11着色器的强大引擎

HLSL,全称为高级着色语言,是微软为DirectX开发的着色语言。它是开发者在游戏和应用中创造惊人视觉效果的秘密武器。但关键在于:它不仅仅适用于图形专家。如果你是一名开发者,想为你的DirectX应用增添一些视觉效果,HLSL就是你进入高级领域的通行证。 HLSL的基本原理 从本质上讲,HLSL是一种类似C语言的语言,专为编写着色器而设计。但不要被它的外表所迷惑——它有一些独特的技巧,使其特别适合图形编程。 HLSL的关键特性 * 内置函数:HLSL自带许多常见图形操作的内置函数。需要计算点积?有专门的函数来实现。 * 着色器模型:不同的着色器模型支持不同的复杂度水平,让你可以针对各种硬件进行开发。 * 语义:这些特殊的注释帮助你指定数据在着色器阶段之间的流动方式。 * 效果框架:这允许你定义多种技术和通道,使创建复杂的渲染效果变得更容易。 HLSL实战:后期处理效果示例 让我们动手制作一个简单但有效的后期处理着色器。我们将创建一个灰度效果,因为有时候,生活在黑白中更美好。 顶点着色器...

16 days ago
5 分钟阅读

Celery + RabbitMQ:快速原型设计的秘密武器

快速了解我们的明星选手: * Celery:一个分布式任务队列,让处理异步任务变得轻而易举。 * RabbitMQ:一个强大的消息代理,确保我们的任务像充满活力的小兔子一样在服务之间跳跃。 它们共同组成了一个强大的组合,让你的分布式管道启动和运行的速度比你煮一杯咖啡还快。(相信我,你会需要那杯咖啡来应对即将进行的快速原型设计!) 设置我们的实验场 首先,让我们准备好环境。打开终端,安装我们的依赖项: pip install celery pip install rabbitmq 现在,让我们为项目创建一个简单的目录结构: mkdir celery_rabbit_prototype cd celery_rabbit_prototype mkdir service_a service_...

17 days ago
4 分钟阅读

加入我们的社区 👋

解锁 Suddo.cn — 技术新闻、信息技术课程、教程、编程 的完整会员资格,探索我们丰富的 独家内容

立即注册,随时取消

查看我们的计划