1作者: theogravity7 个月前
我是 LogLayer 的作者,这是一个 TypeScript 库,它是一个日志库的抽象层,同时也提供了将日志发送到云服务提供商(如 DataDog)的传输方式。 它专为输出结构化日志而设计,并且我设计的日志 API 也反映了这一点: ```typescript log.withMetadata({ userId: 123 }) .withError(new Error()) .error("Something's wrong!") ``` 根据您与 LogLayer 一起使用的日志库,它可能看起来像这样: ```json { "msg": "Something's wrong!", "metadata": { "userId": 123 }, "err":{ "type": "Error", "message": "test", } } ``` 其理念是,如果您认为日志库无法满足您的需求,您可以轻松地更换初始化 LogLayer 的库,而无需更改您已经编写的与日志相关的代码。 这个周末,我发布了 LogLayer 的 v7 版本,它增加了对 mixin 的支持。我希望 LogLayer 的 API 专注于日志记录,但同时也能够根据需要进行扩展。 出现的一个用例是我的工作场所希望获得更好的指标。我们确实有针对我们系统的自动插桩,但有时我们需要更精确的指标。我注意到在某些情况下,指标和日志记录是齐头并进的,并且认为如果我能够访问相同的日志客户端并能够在我编写日志时将指标发送到 StatsD,那将非常棒。 在 node.js 领域,我相信 "hot-shots" 是大多数人会使用的 StatsD 客户端,并使用它创建了一个 mixin,它将 hot-shots 方法添加到 LogLayer API 中。因此,现在您可以在需要此功能时同时发送指标 + 日志: ```typescript log.statsIncrement("error.count") .withMetadata({ userId: 123 }) .withError(new Error()) .error("Something's wrong!") ``` 除了将您的日志发送到您的日志库/云服务提供商之外,现在还将向 StatsD 发送一个 increment 调用。 我希望通过这种 DX,考虑指标不会成为事后诸葛亮,因为您现在可以轻松地在编写日志时发送它。 (您也可以在不发送日志的情况下使用 mixin 发送指标。)
1作者: n1xis10t7 个月前
似乎没有现代的元搜索引擎能够从其来源获取所有可用结果(通过分页),然后抓取它们并重新排序。据我从论文中了解,这正是最初的元抓取器所做的。<p>我的问题是:您知道有哪个现代搜索引擎这样做吗?除了元抓取器之外,您还记得有哪个旧的搜索引擎这样做吗?<p>这可能比较慢,但我认为类似这样的东西会非常棒,特别是如果它是开源的,这样我就可以提出并试验我自己的排序方法。
1作者: n1xis10t7 个月前
Common Crawl 数据库大约有 3000 亿个网页,如果以提取文本格式下载所有内容,压缩后大约需要 816 TB。如果有人用它来制作搜索引擎,我认为会比 Bing 更全面,甚至可能与 Google 相当。据我所知,现有的基于 Common Crawl 的搜索引擎只使用了其中一小部分数据。您知道有哪个搜索引擎使用了全部数据吗?
4作者: hyerramreddy7 个月前
嘿,HN!我是一名产品经理,制作了一个 DIY 狗狗摄像头(使用 Claude 和树莓派),用来帮助训练我患有分离焦虑症的狗狗。我写了一篇博文,分享了我使用 AI 构建这个项目的经验。