Web Workers 使用 JavaScript 中的盒状阴影实现实时光线追踪
- • **问题:**作者在使用 Three.js 实现光线追踪器时遇到了性能问题,这可能是由于垃圾收集开销造成的。
- • 解决方案:Web Workers为了解决这个问题,他们利用 Web Workers 实现多线程。每个 Worker 负责渲染整个帧,而不是单个像素,以最大限度地减少通信开销。
- • 实施细节:
- • 设立了工人经理来汇集和管理工人。
- • 工作代码是原始跟踪器的修改版本,带有用于场景交换的数据编组。
- • PostMessage API用于主线程和工作者之间的通信。
- • 挑战与解决方案:
- • 交互性:场景变化使先前计算的光线无效,导致交互期间屏幕变黑。引入了“isDirty”标志来发出需要渲染新帧的信号。
- • **性能改进:**与单线程版本相比,Web Worker 的性能显著提高。
- • 未来的增强功能:
- • 从对象模型加载三角形数据以适应更复杂的场景。
- • 实现加速结构(例如,边界体积层次结构)以优化射线相交测试。
- • 使用更精确的照明模型来提高视觉质量。
- • **动机和意义:**作者希望证明光线追踪盒阴影的可行性,挑战“不可能”的观念。此示例为有兴趣探索光线追踪技术的其他人士提供了宝贵的代码和见解。
Inkbase:一种用于平板电脑上交互式手绘数学草图的新型编程模型
- • **计算草图本:学习数学的新方法:**想象一下,有一款软件可以让你直接绘制图形和图表,然后自动对它们执行数学运算。这就是计算草图本的理念——通过视觉探索让数学变得更直观、更容易理解。
- • 实际示例:
- • **物理模拟:**绘制弹跳球的路径,软件会实时计算其速度(一阶导数)和加速度(二阶导数)。尝试不同的路径,看看它们如何影响球的运动。
- • **统计分析:**可视化卷积,这是一种统计操作,用于了解受测量误差影响的数据。绘制一个表示鸟类翼展的图表和另一个表示测量误差的图表。用误差核“涂抹”翼展数据,看看它是如何掩盖底层模式的。
- • 成功的关键因素:
- • **空间查询:**询问有关绘制对象之间关系的问题(例如,一个形状是否在另一个形状内?)。
- • **实时反馈:**在您绘制或修改草图时立即更新计算和可视化效果。
- • **直观的界面:**易于使用的软件,让您专注于数学概念,而不是技术细节。
- • **INK-12:迈向可编程草图:**该项目旨在使手绘草图像电子表格一样可编程。它将手绘草图与表示工具和动态计算机辅助相结合,以更灵活地处理数学概念。
- • 面临的挑战:
- • 分组对象: 要找到一种有效的方法将多个笔画分组为复合对象以进行空间查询和计算属性,这非常困难。需要一个专门的接口来有效地处理集合。
- • **编程模型:**现有的基于 Lisp 的编程模型被认为对于平板电脑使用来说过于复杂。需要一种完全不同的方法来在草图环境中表达“程序”。
- • 积极发现:
- • 可重复使用的工具包: INK-12 可以轻松构建可重复使用的工具包(迷你工具)以完成常见任务,从而节省时间和精力。事实证明,这种创建和重复使用工具的模式非常令人满意且富有成效。
- • 未来研究方向:
- • **共享行为和可重用性:**需要一个更复杂的系统来在对象之间共享行为(如原型或类/实例关系)。
- • **反应性对象创建:**根据用户交互或其他事件创建新对象具有挑战性。潜在的解决方案包括命令式对象创建或通过 Spread 创建对象(类似于 Apparatus)。
英特尔称第 13 代和第 14 代移动 CPU 正在崩溃
- • 英特尔承认其第 13 代和第 14 代移动处理器存在不稳定报告,但是,他们声称这种不稳定与困扰其台式机的问题不同。
- • 英特尔将移动设备不稳定归咎于常见的软件和硬件问题,而不是像台式机那样的特定芯片缺陷。他们建议联系系统制造商寻求帮助。
- • 游戏开发商 Alderon Games 对英特尔的解释提出异议。 他们报告称,在搭载移动版 Raptor Lake 和 Raptor Lake Refresh CPU 的笔记本电脑上也出现了与台式机类似的崩溃情况,这表明存在共同的潜在问题。
- • 文章指出 HX 系列移动芯片与台式机芯片有相似之处,这导致人们猜测这两种芯片可能都存在不稳定性。不过,更严格的 TDP 指导方针和更低的电压要求_可以_解释为什么移动芯片崩溃的频率较低。
- • 英特尔正在调查 Raptor Lake 和 Raptor Lake Refresh 不稳定的根本原因,但尚未得出具体结果。 这种长期的不确定性正在损害英特尔的声誉和消费者信任。
- • 这些问题出现的时机对英特尔来说尤其糟糕,因为他们即将推出下一代 Core Ultra 200(Arrow Lake)处理器。与此同时,AMD 的 Ryzen 9000 系列采用 Zen 5 架构,即将进入市场,可能会利用英特尔的困境。
Moocable 将学习者连接起来,进行协作式在线课程和书籍学习
- • Moocable 是一个在线平台,旨在帮助学习相同在线课程或书籍的学习者建立联系。
- • 核心功能:
- • 寻找学习伙伴:与参加同一课程或阅读同一本书的人联系,进行合作学习。
- • 浏览图书馆:探索精选的热门在线课程、书籍、路线图(结构化学习路径)、微证书(短期、重点认证)和问题集。
- • 课程类别: Moocable 提供广泛的科目,包括计算机科学、商业、数学、艺术与设计、编程和科学。
- • 热门课程:
- • CS50 计算机科学导论(哈佛大学)
- • 全栈 JavaScript (Odin 项目)
- • 数字世界中的营销(伊利诺伊大学香槟分校)
- • 基础:数据,数据,无处不在(谷歌)
- • 神经网络和深度学习(斯坦福大学,DeepLearning.AI)
- • 畅销书:
- • 设计数据密集型应用程序 (O'Reilly Media)
- • Python 速成课程,第三版(No Starch Press)
- • 高级工程师之路 (O'Reilly Media)
- • **路线图:**针对特定领域(如计算机科学(OSSU)、全栈 JavaScript 开发(TechSchool)和物理学)的结构化学习路径。
- • 微证书: IBM 和 Google 等机构提供的短期、重点认证,涵盖数据科学、用户体验设计、机器学习和 IT 支持等主题。
- • **问题集:**收集编码挑战和练习以练习和提高技能,包括 LeetCode Curated Algo 170、Select Star SQL、Project Euler、DailyUI Challenge、Strivers A2Z DSA Course/Sheet 和 Advent of Code。
- • 浏览方式:
- • 主题
- • 提供商(Coursera、edX、FreeCodeCamp 等)
- • 大学(哈佛大学、斯坦福大学、佐治亚理工学院等)
- • 出版商(O'Reilly、Wiley、Manning 等)
- • 机构(谷歌、微软、IBM、亚马逊、DeepLearning.AI、Meta)
- • 社区功能: Moocable 可能包括讨论论坛、学习小组以及发布问题和共享资源的能力。
Prometheus 主机指标显示在命令行上禁用 AppArmor 会引发内核内存泄漏
- • 作者的 Prometheus 监控系统帮助识别了他们的 Ubuntu 22.04 服务器上的一个严重内核内存泄漏问题。
- • 在最近的内核升级之后,一台服务器由于过多的 slab 内存使用而开始频繁出现“内存不足”(OOM)的情况。
- • 检查 Grafana 仪表板显示,自内核更新以来,所有 22.04 服务器的 slab 内存使用量均呈稳步增长。
- • 进一步调查指出,禁用 AppArmor 的内核命令行选项可能是罪魁祸首,因为启用此选项的服务器无论内核版本如何都显示出相同的平板泄漏模式。
- • 在受影响的服务器上禁用 AppArmor 选项可解决该问题,并确认其在内存泄漏中的作用。
- • 作者强调了他们的 Prometheus 和 Grafana 设置在快速识别和诊断问题方面发挥的关键作用。如果没有它,他们可能会经历一个更加漫长和痛苦的故障排除过程,可能会将问题错误地归咎于内核更新。
Zettlr 是一款免费的开源写作应用程序,专为研究人员和作家设计,提供引用支持、Zettelkasten 组织和可自定义的导出选项等功能
- • 核心功能: Zettlr 旨在成为您写作项目的一站式商店,从博客文章到学术论文甚至整本书。它强调简单和效率,让您专注于内容,而不是陷入格式或组织中。
- • **隐私第一:**您的数据保留在您的计算机上。没有强制云同步、遥测或 A/B 测试。Zettlr 尊重您的隐私。
- • **参考文献管理集成:**与 Zotero、JabRef 和 Juris-M 等热门参考文献管理器无缝集成。使用超过 9,000 种引用样式进行准确引用。
- • 灵活的工作流程: Zettlr 可与您可能使用的其他工具集成,例如用于语法检查的 LanguageTool。以各种格式导出您的作品以满足不同的出版要求。
- • **自定义:**根据您的喜好定制界面。您可以选择简约的所见即所得体验或更注重代码的方法。使用自定义 CSS 实现更深层次的个性化。
- • **轻松提交期刊:**使用预定义模板创建期刊提交和会议演示文稿的配置文件(Beamer、reveal.js、PowerPoint)。
- • 自动化功能: 使用代码片段快速插入标准化文本块或样板代码,从而节省您的时间和精力。
- • Zettelkasten 支持: Zettlr 完全支持 Zettelkasten 知识组织方法。使用唯一 ID 创建笔记,将它们链接在一起,并使用图形视图可视化您的想法网络。
.hljs.code__pre::before { position: initial; padding: initial; content: ''; display: block; height: 25px; background-color: transparent; background-image: url("doocs.oss-cn-shenzhen.aliyuncs.com/img/123.svg"); background-position: 14px 10px!important; background-repeat: no-repeat; background-size: 40px!important; } .hljs.code__pre { padding: 0!important; } .hljs.code__pre code { display: -webkit-box; padding: 0.5em 1em 1em; overflow-x: auto; text-indent: 0; }
本文使用 文章同步助手 同步