返回首页

一周热榜

1作者: rhgraysonii大约 16 小时前
我把它拼凑起来是因为一个朋友说它听起来很酷。<p>感觉它实际上是一个相当不错的媒体探索工具。<p>哈哈,所有的氛围代码都写出来了,我需要让它合理/可展示,但它运行得还不错。<p>我想着假期就要来了,HN 可能会想找一些新的剧集来追。<p>节日快乐!
1作者: olivdums大约 15 小时前
大家好,我是Oli,今年32岁,远程办公,每天坐在办公桌前10个小时。<p>这正在慢慢地(而且肯定地)毁掉我(也毁掉你)。 它不仅损害我的身体,也降低了我的生产力,所以我想尝试解决这个问题:<p>连接你的日历,Movely会找到空闲时段,并在其中添加5分钟的微休息(力量训练、活动、缓解眼疲劳或压力)。<p>每个周日晚上,我都会运行一个任务,根据你的空闲时段为下周创建这些休息时段。<p>如果你想知道我的技术栈: * Monorepo:Nx (web / 后端 / 市场营销 + 共享库) * 前端:Next.js, Tailwind, Radix UI, Zustand * 后端:NestJS, PostgreSQL (Prisma), Redis (BullMQ 用于调度任务)<p>如果你有任何意见、对产品不清楚的地方或改进建议,或者调度功能是否感觉有帮助或打扰,我很乐意在此获得直接反馈!<p>感谢你的阅读!
1作者: telui大约 15 小时前
# Dragonlang 基于行的微型语言,其最小解释器位于 `__main__.py` 中。 ## 文件扩展名 源文件使用 `.dragon` 扩展名。解释器也接受没有扩展名的文件名,如果存在,将尝试 `<name>.dragon`。 ## 运行 文件模式: ```bash python __main__.py path/to/program.dragon ``` REPL 模式: ```bash python __main__.py ``` 键入 `exit` 或 `quit` 退出 REPL。 ### 文件解析 当路径参数没有扩展名(名称中任何地方都没有 `.`)时,解释器首先尝试 `<path>.dragon`(如果存在)。 ## 执行模型 - 解释器一次处理一行。 - 没有多行语法、块结构或语句分隔符。 - 解析基于简单的子字符串检查,而不是词法分析或语法。 ### 匹配顺序 行按此顺序检查,第一个匹配胜出: 1. `+`(加法) 2. `-`(减法) 3. `print` 4. `on error` 5. 精确的变量查找 6. 备用错误 这意味着包含 `+` 或 `-` 的行永远不会到达 `print` 或 `on error` 处理,即使这些词出现在该行中。 ## 语法和行为(基于 `__main__.py`) 每一行都被独立处理。解析是最小化的,基于子字符串检查,而不是正式的语法。 ### 打印 打印字符串字面量: ```dragon print "hello" print 'world' ``` 如果 `print` 之后的文本与解释器环境中的变量名匹配,则打印其值。(变量尚不可赋值。) 注意: - `print` 在该行的任何位置都会被检测到,而不仅仅是在开头。 - 解释器会删除 `print`,然后从两端修剪空格和引号(`"`、`'`)。没有转义处理。 ### 整数运算 支持整数的加法和减法: ```dragon 2+3 10-4 ``` 运算符周围允许有空格。 注意: - 解释器会在它看到的第一个 `+` 或 `-` 处进行分割。 - 在解析之前,两边都会被修剪并在环境中查找。 - 非整数值会引发 `ValueError`,并报告为通用错误。 ### 变量(只读) 如果变量已存在于解释器环境中,则可以读取它们。目前没有语法来分配新变量。变量存储在 `__main__.py` 中的 `env` 字典中。 ### "on error" 有一个特殊的行前缀 `on error`,它会被解析,但目前不会产生输出。它会删除前缀,如果存在,会在环境中查找剩余的文本,然后返回,不打印。 ## 错误行为 - 文件模式:`run()` 中的任何异常都会打印 `Error in line: <line>`。 - REPL 模式:异常被捕获,但当前代码打印异常类对象,而不是实际的错误消息。 ## 示例程序 ```dragon print "hello" 2 + 3 10-4 ``` ## 当前限制 - 尚未进行变量赋值(环境是只读的)。 - 没有条件语句、循环或函数。 - 没有注释、字符串转义或多行语句。 - 错误报告为 `Error in line: <line>`。 - `on error` 行被解析,但没有可见效果。 ## 保留字 以下单词在解释器中使用: - `webcollect` - `list` - `open` - `system` - `shutdown` - `warn` - `go to` - `enter` - `info` - `time` - `pause` ## 使用 `pause` ```dragon pause <amount> ```
1作者: tootyskooty大约 14 小时前
我花了几个月时间构建这个项目,起因是我对使用 LLM 学习的方式感到沮丧。你得到的是一堆文本,然后消失在聊天记录里。维基百科则恰恰相反:无休止的兔子洞,缺乏结构。我想要介于两者之间的方式。 Periplus 将课程生成为相互关联的 Markdown 文档,并根据你的水平量身定制。它首先会问几个问题,构建一个教学大纲,并且每个概念都链接到相关的概念。点击你不理解的术语,它会并排打开一个新文档。 很大程度上受到了 Obsidian 的启发——图谱视图很相似,并且如果你想在本地保存笔记,可以导出到 Obsidian。 它还可以从任何文档生成测验和抽认卡,这有助于解决我总是遇到的被动阅读带来的遗忘问题。 技术栈:React、Node/Express、Postgres 搭配 pgvector、Sonnet 4.5 用于生成内容。图谱使用 D3,并结合了我制作的 WASM 优化的多体模拟 [1]。 还有很多需要改进的地方!很希望收到关于课程质量的反馈,我主要测试了技术类主题。 [1]: <a href="https://www.npmjs.com/package/d3-manybody-wasm" rel="nofollow">https://www.npmjs.com/package/d3-manybody-wasm</a>