领域驱动设计:我为什么不用它

2024-12-29

本文作者Tony Marston是一位经验丰富的软件开发人员,在长达40年的职业生涯中,他积累了丰富的构建企业级应用程序的经验。他在这篇文章中阐述了他为什么不使用领域驱动设计(DDD)的原因。他认为DDD的一些建议过于强调面向对象的设计理论,而忽略了数据库设计的重要性以及在大型系统中代码可重用性的价值。他更倾向于一种分层架构,为每个数据库表创建一个单独的类,并使用继承和模板方法模式来实现代码重用。他认为这种方法更符合实际项目的需求,并提高了开发效率。

阅读更多
开发 代码重用

歌德的《魔法师的学徒》:权力凌驾于智慧之上

2025-01-30
歌德的《魔法师的学徒》:权力凌驾于智慧之上

歌德的诗歌《魔法师的学徒》讲述了一个古老的寓言故事,迪士尼动画《幻想曲》也将其搬上了银幕。故事中,学徒未经许可便使用魔法,结果导致失控的局面。这则寓言警示了权力凌驾于智慧之上的危险,以及人类创造物失控的风险。文章探讨了“魔法师的学徒综合征”,指出许多科幻故事中人类无法控制其创造物(例如机器人)最终反噬自身的情节正是源于此。

阅读更多

开源框架FastVideo加速大型视频扩散模型

2024-12-17
开源框架FastVideo加速大型视频扩散模型

FastVideo是一个开源框架,旨在加速大型视频扩散模型的推理和训练。它支持FastMochi和FastHunyuan等模型,能够将推理速度提升8倍。该框架利用知识蒸馏技术,并支持基于PCM的视频DiT模型的蒸馏、微调和推理。此外,FastVideo还具有可扩展的训练功能,支持FSDP、序列并行和选择性激活检查点,并能高效地利用内存进行微调。

阅读更多

Keygen:拒绝电话销售,拥抱异步沟通的企业级软件授权模式

2025-01-16
Keygen:拒绝电话销售,拥抱异步沟通的企业级软件授权模式

Keygen创始人Zeke Gabrielse分享了其公司如何通过彻底摒弃电话销售,转而采用异步沟通(邮件)的方式成功拓展企业级市场的经验。他认为,企业客户通常会因为不了解产品、使用方法、价格和公司信誉而寻求电话沟通。Keygen通过清晰的产品信息、完善的自助式上手体验、透明的价格体系和注重安全的公开文档,有效解决了这些问题,最终实现了无需电话销售即可获得企业级客户的突破。这篇文章为那些厌倦电话销售的创业者提供了一种另辟蹊径的销售策略。

阅读更多

Airbnb谨慎拥抱AI:先客服,后旅行规划

2025-02-15
Airbnb谨慎拥抱AI:先客服,后旅行规划

Airbnb首席执行官Brian Chesky宣布,公司将率先在其客户支持系统中应用AI技术,而非直接用于旅行规划。他认为目前的AI技术尚不成熟,类似于互联网早期阶段。虽然AI将在客服方面提供多语言支持和高效处理能力,但用于旅行规划的AI工具仍需时日。Airbnb计划未来将AI扩展至搜索和个性化旅行管家服务,并预计在未来几年内AI将逐步提升公司内部的生产效率,尤其是在客服和工程领域,带来潜在的成本节约和利润增长。

阅读更多
科技

Python 持续称霸 TIOBE 编程语言排行榜

2025-02-16
Python 持续称霸 TIOBE 编程语言排行榜

TIOBE 2025年2月编程语言排行榜显示,Python 继续领跑,稳坐编程语言之王宝座。尽管速度并非其优势,但Python在非软件工程师中的普及度使其持续保持高排名。C++、Go、Rust等速度型语言也表现强劲,排名上升。榜单中,SQL上升至第七位,Go下降至第八位,Delphi/Object Pascal重回前十。总体而言,排行榜反映了编程语言领域的动态变化,速度和易用性成为开发者关注的焦点。

阅读更多
开发 TIOBE指数

逆向工程揭秘TI SimpleLink射频MCU黑盒

2024-12-30
逆向工程揭秘TI SimpleLink射频MCU黑盒

在低成本射频微控制器盛行的今天,其内部射频硬件的工作原理却鲜为人知。本次演讲深入研究了德州仪器SimpleLink系列BLE和Sub-GHz射频MCU,该系列MCU的参考手册虽然详尽,但射频部分却信息匮乏。演讲者通过逆向工程,揭开了SimpleLink MCU射频子系统的黑盒,详细解释了射频运行机制,从协议栈到天线。他们还逆向工程了TI专有的射频补丁格式,并对隐藏的DSP调制解调器核心进行了研究,甚至可能开启廉价单芯片软件无线电的大门。

阅读更多

Meelo:为音乐收藏家打造的自托管音乐服务器

2025-01-28
Meelo:为音乐收藏家打造的自托管音乐服务器

Meelo是一款自托管的个人音乐服务器和Web应用程序,类似于Plex或Jellyfin,但更注重灵活性和浏览体验。它专为音乐收藏家设计,能够识别B面歌曲、稀有曲目,自动检测合唱和二重唱,支持多种格式和元数据解析,并能从MusicBrainz等平台获取信息。Meelo支持音乐视频,并区分音乐视频与采访、幕后花絮等。目前已发布,可通过Docker镜像部署。

阅读更多

Walkman播放器界面增强插件:焕新你的音乐体验

2025-02-27
Walkman播放器界面增强插件:焕新你的音乐体验

一款名为Walkman One的插件为索尼NW-A50、ZX300、WM1A、WM1Z系列Walkman播放器带来了界面增强和功能扩展。它支持Winamp 2皮肤、自定义磁带皮肤、动态换肤、音量表编辑器、每首歌的音频选项以及所有音频滤镜。此外,还增加了时钟、更大的封面图、数字时钟皮肤、低延迟USB DAC模块和FM收音机功能(部分机型)。该插件支持多种Walkman型号,但部分旧型号需要先安装Walkman One固件。安装简单,只需下载运行安装程序,选择你的机型和固件版本即可。

阅读更多

DuckDB 的流式数据处理方案:利用 Apache Arrow Flight 解锁并发写入

2025-01-29
DuckDB 的流式数据处理方案:利用 Apache Arrow Flight 解锁并发写入

Definite 公司的一篇博文介绍了如何利用 Apache Arrow Flight 巧妙地解决 DuckDB 并发写入限制的问题。DuckDB 虽然在单机分析方面表现出色,但其不支持并发写入和读取的特性限制了其在实时数据流场景下的应用。作者通过一个名为“Duck Takes Flight”的 Python 脚本,构建了一个基于 Arrow Flight 的服务器,实现了对 DuckDB 的并发写入和读取。该方案简洁高效,只需 200 行代码,无需复杂的集群部署,便可实现高性能的流式数据处理,为需要快速数据移动和实时查询的应用提供了新的思路。

阅读更多

Mac OS X Dock幕后:一位工程师的25年回忆

2025-01-06
Mac OS X Dock幕后:一位工程师的25年回忆

本文是Mac OS X Dock早期工程师James Thomson的回忆录。他讲述了在爱尔兰苹果公司参与开发Dock的经历,包括最初的设计、与乔布斯的互动、以及最终离开苹果的经过。文中充满了紧张刺激的细节,例如保密工作、乔布斯对工程师位置的苛刻要求,以及他本人在开发过程中遇到的挑战和成就。这篇文章不仅回顾了Mac OS X Dock的开发历史,也展现了一位工程师的职业历程和人生感悟。

阅读更多
开发 Mac OS X Dock

虚拟线程吞噬内存:一个网络爬虫的速度与内存之战

2025-05-30
虚拟线程吞噬内存:一个网络爬虫的速度与内存之战

作者使用Java虚拟线程构建了一个网络爬虫,起初速度大幅提升,但随后却遭遇了OutOfMemoryError。这篇文章讲述了作者如何利用虚拟线程提高爬虫速度,以及如何通过引入信号量限制并发任务数量来解决由虚拟线程导致的内存溢出问题。作者比较了使用平台线程和虚拟线程的爬虫性能,并探讨了在使用虚拟线程时需要注意的资源管理问题,提醒开发者虚拟线程虽然高效,但需要更精细的资源管理以避免内存问题。

阅读更多
开发

突破性TCA印刷技术:赋能超强耐用柔性电路

2025-02-16
突破性TCA印刷技术:赋能超强耐用柔性电路

一项名为TCA的突破性印刷技术,实现了在各种复杂3D曲面(甚至辣椒和鸡蛋壳!)上打印高精度、超耐用的电路。该技术通过将导电材料嵌入粘合剂中,形成深层互锁界面,显著增强了电路的耐磨损、耐高温和抗弯折能力,即使在液氮环境下也能保持稳定。这项技术有望革新柔性电子产品、传感器和能量存储单元的制造,为可穿戴设备、智能设备以及极端环境下的应用带来新的可能性。

阅读更多

为何高质量产品如此难以寻觅?

2024-12-16

文章探讨了为何市场上高质量产品和服务如此匮乏。作者认为,市场并非完全有效,公司和产品中的低效现象长期存在,消费者难以辨别产品优劣,往往受营销影响做出选择。即使是专业人士的建议也可能不可靠。企业为了追求效率,常选择外包或购买现成产品,但这些产品或服务质量往往难以保证,甚至存在根本性缺陷。作者以自身经历和多个案例说明,企业内部和外部都存在信息不对称和信任缺失的问题,导致高质量产品难以生产和销售。最终,作者提出,构建高质量产品并非易事,但为了获得可靠的服务,企业有时不得不选择自主研发,这对于中小企业来说是巨大的挑战。

阅读更多

自动紧急制动系统失效:反光条形衣物形同虚设

2025-01-14
自动紧急制动系统失效:反光条形衣物形同虚设

IIHS的一份报告指出,Honda CR-V和Mazda CX-5的自动紧急制动系统在检测穿着反光条的行人时完全失效。即使在不同光照条件下测试,这些系统均未能及时刹车。相比之下,Subaru Forester的表现则相对较好。研究人员呼吁汽车制造商改进技术,同时建议行人继续穿着反光衣物,以提高在夜间行走的可见度,但也要注意Honda和Mazda车型可能存在的风险。

阅读更多

1965年美国政府用高中生替代墨西哥农场工人:一次失败的尝试

2025-01-08
1965年美国政府用高中生替代墨西哥农场工人:一次失败的尝试

1964年,美国“布拉塞罗计划”(Bracero Program)终止,该计划曾将墨西哥劳工带到美国从事农业工作。为了填补劳动力缺口,美国政府启动了“A-TEAM”计划,招募高中生从事农场工作。然而,残酷的工作条件和糟糕的住宿环境导致学生们罢工,计划最终以失败告终。这段历史揭示了美国社会对移民工人的不公待遇,以及对他们工作的艰辛缺乏理解。

阅读更多
杂项 移民问题

欧洲电网面临重大安全风险:未加密无线电信号或致瘫痪

2025-01-25
欧洲电网面临重大安全风险:未加密无线电信号或致瘫痪

研究人员发现,中欧的可再生能源设施使用未加密的无线电信号来控制电网供电,这使得整个欧洲电网面临潜在的瘫痪风险。攻击者可以通过重放或伪造信号来操纵大量电力设施,从而造成大规模停电。虽然专家对攻击的可行性存在争议,但这凸显了升级现有系统以增强安全性的紧迫性。

阅读更多

沉睡333年的战舰瓦萨号:从海底打捞到博物馆奇迹

2025-03-03
沉睡333年的战舰瓦萨号:从海底打捞到博物馆奇迹

本文讲述了瑞典瓦萨号战舰的故事。1628年,这艘雄伟的战舰在首航时沉没,沉睡海底333年。工程师安德斯·弗兰岑历经五年,最终发现并打捞起这艘保存完好的战舰。打捞过程充满挑战,使用了先进技术,历时数年。如今,瓦萨号成为斯堪的纳维亚最受欢迎的博物馆,向世人展现了17世纪造船技术的巅峰和一段波澜壮阔的历史。

阅读更多
科技 打捞

中国制造业霸权:崛起之路

2025-01-04

本文利用经合组织最新数据,以八张图表描绘了中国成为世界唯一制造业超级大国的崛起之路。文章指出,中国制造业总产值超过其余九大制造国之和,其工业化速度之快前所未有。尽管中国在全球制造业出口中的份额也大幅提升,但其出口依赖度却在下降,国内消费日益重要。文章还分析了中美两国在全球供应链中的不对称依赖关系,指出“脱钩”将非常困难、缓慢、昂贵且具有破坏性。

阅读更多

Docker Desktop macOS恶意软件报告导致启动失败

2025-01-16

Docker Desktop for macOS用户近日遭遇启动问题,macOS系统将`com.docker.vmnetd`或`com.docker.socket`报告为恶意软件。Docker官方已确认问题根源在于部分已安装文件的签名错误,并发布了补丁程序,建议用户更新至最新版本或手动替换相关文件。此问题已得到解决,但Docker仍在持续监控以防出现新的问题。

阅读更多
开发

ExpenseOwl:极简主义的家庭财务追踪神器

2025-02-07
ExpenseOwl:极简主义的家庭财务追踪神器

厌倦了复杂的财务追踪软件?ExpenseOwl为你提供了一个极简的解决方案。它使用简单的JSON文件存储数据,通过现代化的饼状图直观展示每月支出,并支持命令行和Web界面。无需复杂的设置和功能,只需添加、删除和查看支出,即可轻松掌握你的财务状况。ExpenseOwl还支持自定义类别和货币,并可轻松部署在Docker中。

阅读更多

黑糖:一款自托管音乐流媒体服务器

2024-12-26
黑糖:一款自托管音乐流媒体服务器

黑糖是一个自托管的音乐流媒体服务器,你可以把它想象成你个人的音乐中心。它支持Docker一键安装,方便快捷。你可以通过Docker命令轻松部署,并使用初始管理员账户登录。黑糖默认使用SQLite数据库,但也可以配置为使用PostgreSQL。为了持久化数据,你需要挂载/app/storage目录。此外,黑糖还支持Nginx代理以提高音频文件传输效率,并提供移动端应用。

阅读更多
开发

使用BFF模式构建安全的Keycloak、Angular应用程序

2025-01-28

本文介绍了如何使用Backend for Frontend (BFF)模式,结合Keycloak和Angular构建一个安全的Web应用程序。为了避免在浏览器中存储敏感数据,该方案将所有与Keycloak交互的认证流程都委托给BFF服务器处理。BFF充当Keycloak和Angular应用之间的安全中介,管理OAuth2和PKCE流程,安全地存储令牌,并防止敏感操作(如令牌刷新)到达浏览器。Angular应用无需直接与Keycloak交互,只需与BFF提供的简化端点交互。文章详细讲解了Keycloak的配置、BFF服务器(使用Express.js)的搭建,以及Angular应用的开发,并强调了这种架构在提高安全性方面的优势。

阅读更多

LogLayer:统一你的 JavaScript 日志记录

2025-01-06
LogLayer:统一你的 JavaScript 日志记录

LogLayer 是一个 JavaScript 日志记录库的统一层,提供一致的日志记录体验。它支持多种日志库(如 Pino、Bunyan 等)和云服务(如 Datadog、New Relic 等),并允许通过插件扩展功能,例如数据过滤和加密。开发者可以轻松添加标签、元数据和错误信息,并随时切换日志提供商,而无需更改应用程序代码。

阅读更多
开发 LogLayer

司法部高层集体辞职抗议政治干预

2025-02-16
司法部高层集体辞职抗议政治干预

美国司法部因一起针对纽约市长亚当斯的案件,发生罕见的大规模辞职事件。多名检察官,包括代理检察长和部门负责人,因拒绝撤销对亚当斯的指控而辞职。此举被解读为对政治干预司法独立的强烈抗议,一位知情人士称之为“强迫,而非投降”。事件引发了关于政治压力与法律独立性的激烈讨论,也凸显了美国政治生态的复杂性。

阅读更多
杂项 司法独立

十年软件开发经验:我的想法转变

2025-02-05

一位软件工程师回顾十年职业生涯,分享了他对软件开发理念的转变。他不再迷信简单,认为优雅并非真正的衡量标准,好的管理至关重要。他认识到沟通在工程中的重要性,并强调了为年轻开发者提供空间的重要性。同时,他坚持一些观点,例如代码风格不必过于苛刻,代码覆盖率与代码质量无关,微服务需要合理性,大多数项目无需过度追求扩展性。这篇文章为软件开发者提供了宝贵的经验和反思。

阅读更多
开发 经验总结

OpenJKDF2:重写《星际大战:黑暗势力II》引擎的开源项目

2025-02-23
OpenJKDF2:重写《星际大战:黑暗势力II》引擎的开源项目

OpenJKDF2是一个用C语言编写的《星际大战:黑暗势力II》(JKDF2)的函数级重新实现,支持64位Windows 7+、macOS 10.15+和Linux系统。该项目力求忠实于原游戏,并包含用于COG脚本解析的byacc和flex的原始版本。它需要玩家拥有正版JKDF2游戏文件,并支持多种配置,包括使用OpenGL和WebGL渲染。目前项目仍在开发中,一些功能尚待实现,例如Android和iOS平台支持。

阅读更多
游戏

在Windows上运行eBPF-Go:一份开发指南

2025-03-27

本文档介绍了如何在Windows上运行eBPF-Go库。由于Windows上的eBPF尚不稳定,该库支持解释器、JIT和编译为原生Windows驱动程序三种模式。文档详细说明了与Linux的差异,平台特定ELF文件的处理,导出API,开发设置(包括使用Windows虚拟机和构建脚本),预构建二进制文件的使用,以及如何调试和解释错误代码。调试部分提到了使用WinDbg进行调试,并解释了如何使用跟踪日志进行排错。

阅读更多
开发

创客自制激光射击游戏:从乐高游乐设施到ESP32驱动的万圣节狂欢

2024-12-13
创客自制激光射击游戏:从乐高游乐设施到ESP32驱动的万圣节狂欢

作者受到乐高埃及探险游乐设施的启发,决定制作一款类似的射击游戏。他利用廉价的ESP32微处理器、红外激光枪和自制目标,成功打造了一个万圣节主题的射击游戏。过程中,他学习了Arduino和MicroPython编程,并克服了硬件连接、供电、通信等挑战,最终在学校和自家举办的活动中获得了成功。未来,他计划改进目标设计、灯光效果和电路板等方面,提升游戏体验。

阅读更多
开发

英格兰北部贫困的深层原因:权力中心化与历史遗留问题

2025-01-25

本文探讨了英格兰北部经济落后的深层原因,并非单纯的经济问题,而是根植于历史和政治权力结构。从诺曼征服到撒切尔时代,权力长期掌握在英格兰南部,导致北部在教育、基础设施和资源分配上长期受限。作者指出,南部政府对北部的持续忽视和资源倾斜,以及缺乏有效的地区性权力制衡,是导致北部经济长期落后的关键因素。文章也表达了作者对北部经济未来发展的乐观预期,认为改变权力结构和资源分配模式是扭转局面的关键。

阅读更多
1 2 1073 1074 1075 1077 1079 1080 1081 1084 1085