I'm putting a tariff on the word "tariff"a year agohttps://bsky.app/profile/guydupont.bsky.social/post/3lmukx5d5ck2m该网络应用高度交互,必须使用JavaScript。简单的HTML界面可以实现,但此处未采用。盖伊·杜邦提到要对'tariff'(关税)这个词征收'tariff'(费用)。他连接了一个街机出票器,每次屏幕上出现'tariff'这个词就会吐出一张票。20张票可以兑换1杯啤酒。
Archeology of React (2016)a year agohttps://legacy.reactjs.org/blog/2016/09/28/our-first-50000-stars.htmlReact在三年半前开源,自那以来已经显著成长。为庆祝获得50,000个GitHub星标,设计了一款纪念T恤,收益将捐赠给CODE2040。React的起源可追溯至Facebook内部项目,包括BoltJS和FaxJS。React从FBolt演变而来,融合了函数式编程原则并采用了新名称。受XHP和其他原型启发,JSX被引入作为编写UI组件的方式。早期React经历了重大API变更,之后才稳定下来准备开源发布。Instagram采用React推动了其与Facebook基础设施的解耦,使其为开源做好准备。React的发展离不开许多早期采用者和合作者的贡献,经过时间打磨不断完善这一理念。
What I don't like in JavaScripta year agohttps://waspdev.com/articles/2025-04-16/what-i-dislike-in-javascriptJavaScript设计简洁,易于学习。采用统一的变量模型,允许变量存储任意类型数据。原生支持闭包特性,便于实现复杂函数行为和封装。异步设计配合async/await语法显著提升编码体验。符合人体工学的语法(类似Python)增强了可读性与可写性。Monkey patching机制支持灵活修改内置功能。作为动态类型语言性能优异,某些场景可比肩C/C++。突破底层编程的泛用性和向后兼容性是其核心优势。类型强制转换的怪异行为是设计缺陷,但可通过规范规避。因历史遗留问题,`typeof null`返回'object'造成困惑。两个NaN值的比较会返回false,需要特殊处理。默认的`Array.prototype.sort()`按字典序而非数值排序。换行符敏感特性可能导致return语句出现意外行为。遗漏`var`/`let`/`const`会意外声明全局变量。前导零的八进制数可能引发解析歧义。Array构造函数根据参数数量会产生不可预测的行为。
Show HN: Fp-filters – A curated collection of TS/JS array filter functionsa year agohttps://www.npmjs.com/package/fp-filters精选整理了130多个函数式编程风格的常用过滤函数集合。通过消除重复编写常见过滤函数的需求,提升代码可读性并减少冗余。函数按语义分组,包含诸如`isEven`(是否偶数)、`isWeekend`(是否周末)、`isNotEmpty`(是否非空)等示例。支持函数取反版本(如`isNot`、`isNotBetween`),并利用`fp-booleans`实现函数组合与逻辑取反。所有函数均为纯函数,部分为高阶函数,多数为零依赖或极简依赖的单行实现。完整类型声明,经过130+单元测试,支持Tree-Shaking优化以按需打包。已发布为npm包(`fp-filters`),无冗余桶文件,确保最小化打包体积。兼容Node.js环境,提供详细文档和代码示例说明。
SmallJS Release 1.6a year agohttps://small-js.org/News/News.htmlSmallJS 1.6 于2025年4月18日发布,新增对多AI服务商的支持,包含Smalltalk库、示例、编译器、构建工具及文档。SmallJS 1.5 于2025年1月21日发布,新增数据库支持与多线程功能,同步更新Smalltalk库、示例及官网。SmallJS 1.4 于2024年10月8日发布,新增示例、Smalltalk库及官网改进。SmallJS 1.3 于2024年8月23日发布,包含编译器、Smalltalk库、构建工具、浏览器项目示例及官网更新。SmallJS 1.2 于2024年2月1日发布,包含编译器、构建工具、Smalltalk库及示例。SmallJS 1.1 于2023年11月25日发布,主要更新示例、构建工具及编译器。SmallJS 1.0 初始版于2023年8月30日发布,支持将Smalltalk编译为浏览器/Node.js的JavaScript代码,通过Smalltalk封装DOM实现浏览器开发,兼容Linux/Mac/Windows系统。
JavaScript Views, the Hard Way – A Pattern for Writing UIa year agohttps://github.com/matthewp/views-the-hard-way《以艰难方式编写JavaScript视图》是一种无需React或Vue等框架即可创建可维护、高性能视图的模式。关键优势包括:性能(直接命令式代码)、零依赖、跨框架可移植性、通过严格约定实现可维护性、广泛浏览器支持、更易调试以及函数式编程风格。该方法通过模板、DOM变量、状态变量、DOM更新函数、状态更新函数和初始化逻辑来结构化视图。模板使用纯HTML并预留动态内容占位符,为避免浏览器兼容性问题而放弃插值语法。`init`函数作为视图实例的闭包,通过明确定义的模块来管理DOM和状态更新。诸如用'Node'后缀命名DOM节点、用'set'前缀命名状态更新函数等约定,有助于保持代码清晰度和可调试性。状态更新与DOM更新分离,确保高效渲染和明确的变更追踪。该模式能以最小开销创建可复用、框架无关的组件。
Turing-Drawingsa year agohttps://github.com/maximecb/Turing-Drawings随机生成的图灵机在二维画布上创建图像和动画。提供JavaScript+HTML5演示程序可体验图灵绘图。项目网址:http://maximecb.github.io/Turing-Drawings/生成的图案包括分形、扫描、矩阵、运动等多种类型。采用修改版BSD许可证分发。附有描述该项目的博客文章。
Better Error Handlinga year agohttps://meowbark.dev/Better-error-handling糟糕的错误处理已导致重大财务损失、事故和运营故障。TypeScript和JavaScript中的错误处理缺乏标准化,传统的try/catch是最常用的方法。传统try/catch存在局限性,包括缺乏类型安全性和与类型系统的集成。现代错误处理方法包括Go风格的返回元组和单子式Result类型,这些方法将错误视为值。Go风格错误处理简单但可能冗长,而单子式方法功能更丰富但学习曲线较陡。在try/catch和现代方法之间的选择取决于项目复杂性和团队专业水平。社区讨论凸显了性能、开发者体验和错误处理策略之间的权衡。实际实施策略建议尽早捕获并封装来自外部库的错误。文章最后表达了对Rust风格错误处理的偏好,但也承认不同方法应根据具体场景选择适用性。
The Effect of Deactivating Facebook and Instagram on Users' Emotional Statea year agohttps://www.nber.org/papers/w33697浏览器中禁用了JavaScript。由于浏览器扩展、网络问题或浏览器设置等原因,网站的必需部分无法加载。建议用户检查网络连接、禁用广告拦截器或尝试使用其他浏览器。
Molecules that fight infection also act on the braina year agohttps://news.mit.edu/2025/molecules-fighting-infection-act-in-brain-inducing-anx...您的浏览器已禁用JavaScript。由于浏览器扩展、网络问题或浏览器设置等原因,网站的必要部分无法加载。建议的解决方案包括检查网络连接、禁用广告拦截器或尝试使用其他浏览器。
Making AI-generated code more accurate in any languagea year agohttps://news.mit.edu/2025/making-ai-generated-code-more-accurate-0418您的浏览器已禁用JavaScript本网站需要JavaScript才能正常运行可能的原因包括:浏览器扩展程序、网络问题或浏览器设置建议解决方案:检查网络连接、禁用广告拦截器或尝试使用其他浏览器
RISC-V RVA23 Profile: A major milestonea year agohttps://riscv.org/ecosystem-news/2025/04/risc-v-rva23-a-major-milestone/浏览器中禁用了JavaScript。由于浏览器扩展、网络问题或浏览器设置等原因,网站的必需部分无法加载。建议操作包括检查网络连接、禁用广告拦截器或尝试使用其他浏览器。
Can Citizen Science Be Trusted? New Study of Birds Shows It Cana year agohttps://www.ucdavis.edu/news/can-citizen-science-be-trusted-new-study-birds-show...您的浏览器中禁用了JavaScript。由于浏览器扩展、网络问题或浏览器设置等原因,网站的必要部分无法加载。建议的操作包括检查网络连接、禁用广告拦截器或尝试使用其他浏览器。
Bloat – Rob Pikea year agohttps://docs.google.com/presentation/d/e/2PACX-1vSmIbSwh1_DXKEMU5YKgYpt5_b4yfOfp...浏览器禁用了JavaScript功能。未启用JavaScript无法打开该文件。请启用JavaScript并重新加载页面以访问文件。
"Periodic table of machine learning" could fuel AI discoverya year agohttps://news.mit.edu/2025/machine-learning-periodic-table-could-fuel-ai-discover...您的浏览器禁用了JavaScript。由于浏览器扩展、网络问题或浏览器设置等原因,网站的必要部分无法加载。建议的解决方案包括检查网络连接、禁用广告拦截器或尝试使用其他浏览器。
MIT engineers print synthetic "metamaterials" that are both strong and stretchya year agohttps://news.mit.edu/2025/mit-engineers-print-synthetic-metamaterials-strong-and...您的浏览器禁用了JavaScript。由于浏览器扩展、网络问题或浏览器设置等原因,网站的必需部分无法加载。建议的解决方案包括检查网络连接、禁用广告拦截器或尝试使用其他浏览器。
Protecting NATS and the integrity of open sourcea year agohttps://www.cncf.io/blog/2025/04/24/protecting-nats-and-the-integrity-of-open-so...您的浏览器禁用了JavaScript。由于浏览器扩展、网络问题或浏览器设置等原因,网站的必需部分无法加载。建议操作包括检查网络连接、禁用广告拦截器或尝试使用其他浏览器。
ATS3 Xanadu Releaseda year agohttps://github.com/githwxi/XATSHOMEATS3是ATS语言的第三个版本,目前正在ATS-Xanadu项目下开发中。XATSHOME是ATS3的学习与贡献中心平台。'contrib'目录中包含'contrib/githwxi'作为个人目录配置的示例。ATS3转JS编译器存放在'xassets/JS/xats2js/xats2js_jsemit01_dats_opt0.js'路径下。需将环境变量XATSHOME设置为其目录路径(例如'~/Research/XATSHOME')。使用'node --stack-size=8000'命令配合编译器脚本将ATS3代码编译为JS。生成的JS代码需要依赖'xassets/JS/xats2js/runtime/'中的运行时文件才能执行。完整编译示例可参考'contrib/githwxi/pground/proj001@250424/misc001/Makefile'文件。
Stuffed-Na(a)N: stuff your NaNsa year agohttps://github.com/si14/stuffed-naan-js解释NaN(非数字)在JavaScript中是如何产生的,例如通过除以零或无效的数学运算。介绍'stuffed-naan'这个库,它能将数据编码为NaN值,使得数据即使在数学运算中也能被保留。强调'stuffed-naan'的特点,包括紧凑性、速度和隐私优势,并以幽默的方式调侃其压缩比和隐私保护特性。提到企业版的可用性,该版本具有更高效的编码和对大端处理器的支持等额外功能。描述JavaScript中NaN的技术基础,解释IEEE 754浮点数以及NaN值在内存中的表示方式。鼓励支持本地企业或慈善机构,为技术讨论增添轻松或社区关怀的注脚。
An Engineering Leader's Behavioral Interview Templatea year agohttps://docs.google.com/document/d/1nHh6Ucb1G3ub1wWMSmbl-IDfWRreVKVfPJnIEQDhyuE/...文本显示浏览器未启用JavaScript,导致文件无法打开。当前使用的浏览器版本已不再受支持,建议进行升级。标题提到《工程领导者行为面试模板》。提及了分享、登录、文件、编辑、查看、工具、帮助及调试功能等选项。