我是一名自学的软件工程师,后来去研究生院获得了软件工程硕士学位。在这个过程中,我发现许多关于算法和数据结构的复杂主题其实比我想象中简单得多,也不那么可怕。
我希望这本书能够帮助自学的开发者与拥有计算机科学学位的人在某种程度上站在同一起跑线上——至少是在算法课程方面,因为我一直认为这对面试最为重要。在这个过程中,我意识到大O符号、对数和算法复杂性并没有我最初想象的那么令人困惑。这本书希望缩小自学开发者与正式计算机科学知识之间的差距,这种差距常常让我感到自我怀疑。
附上的PDF是书中关于你在JavaScript中会遇到的常见数据结构的完整章节,省略了一些你可能永远不会见到的数据结构(如链表)。
注意:这是书中已出版的一章,现已在亚马逊上有售。PDF的最后一页有指向书籍网站和亚马逊链接。
返回首页
最新
嗨,
请问你们使用什么工具进行网站分析?我正在进行一个小的副项目,过去我使用过谷歌分析,但现在想找一些更注重隐私的工具,你们使用的是什么?
我想了解有多少人访问我的网站,以及一些关于地理位置、来源等的细分信息。
- 加里
最近,科技领域出现了一种趋势,即软件开发不再关注代码本身,而是仅仅关注输出结果。<p>一些近期的例子包括Bun Rust迁移等。我想了解初创公司和经验丰富的个人对这一趋势的看法,我们是否真的在朝着一种工作流程发展,在这种流程中,我们只是优化循环或图形,而代码仅仅是这一工作流程中产生的一个产物,类似于字节码或其他东西?
嗨,
我已经在一个名为 Invelinux 的项目上工作了一段时间,现在我发布了候选版本,想在 Hacker News 上分享一下,让大家试用一下。
这个项目的亮点在于它使用了 Toybox 用户空间项目,这是一个 BSD 许可的 Busybox 替代品,并且使用 musl C 库而不是 GNU C 库。它还具有一个非常简约的框架,称为 AMPS(自动挂载打包系统),该框架挂载一个外部驱动器,作为操作系统的非易失性存储部分。系统配置、应用程序和脚本等都存储在 /storage/AMPS 目录中。由于基础系统运行在 RAM 上,当系统重启时,整个系统会被清空。但外部存储和配置保持不变,使您能够轻松加载您的配置。
为了访问和编辑这些配置,开发了一些自定义的 TUI 工具,用户无需手动在 /storage/AMPS/etc 文件中进行操作。
作为初始化系统,我们没有使用 systemd 或 sysvinit,而是使用了 toybox 的初始化系统和自定义的 shell 脚本,使得管理系统进程变得简单明了。
该项目仍在开发中,需要测试人员,因此如果您能帮助测试或提供一般反馈,将非常感谢。
代码库:https://codeberg.org/sumtas/invelinux
Wiki/手册:https://sumtas.codeberg.page/wiki
通常,我本打算在 Show HN 发布这个,但由于 Hacker News 阻止新账户,我只能选择在 Ask HN 发布。如果有更好的选择,请告诉我,因为我在这里还是新手 :)
- sumtas
与这个主题相关的[1],哪些Jabber客户端不仅在中间使用有效证书时检测到中间人攻击(MitM)篡改,而且该证书并不是服务器上的证书,这意味着某个实体获得了一个证书,并利用它进行中间人攻击,客户端不仅拒绝这个替代的有效证书,还会提醒用户存在中间人攻击。XEP-0474 SASL SCRAM 降级保护 <i>(实验性)</i> [2],Claude似乎并不知道,我也找不到任何澄清的文档,只有很多未解决的问题。
这篇文章的目的是关于端到端加密(E2EE),但我想建议一些客户端,它们能够以一种用户无法意外忽视的方式警告中间人攻击篡改。<i>即:用户不能仅仅点击通过警告</i>。
在服务器端,eJabberd和Prosody似乎是唯一支持XEP-0474的服务器守护进程,但我就是找不到一个明确的支持客户端列表,即使它们处于实验阶段。<i>它们可能支持SCRAM+,但在使用有效证书时不会警告篡改。</i>
我对大型语言模型(LLM)的回答不感兴趣。LLM似乎并不知道答案,而是给出了官方立场,称XEP-0474是实验性的,这对那些希望进行实验的人没有任何价值。
[1] - https://news.ycombinator.com/item?id=37955264
[2] - https://xmpp.org/extensions/xep-0474.html
我注意到最近很多人对此感到很困惑。你们这些高水平或高薪的开发者,能否分享一下你们的日常工作与中级开发者相比是怎样的?你们在做什么不同的事情或者做得更好?
你好,HN,
如果你将你的代理与Decispher集成,你可以通过两种方式在代理之间传递上下文:
1) 如果你正在使用git分支,那么branchstory功能会持续记录你的会话活动,包括用户提示 → 代理的推理 → 代理的行动 → 编辑的文件。这些记录可以被接手任务的其他代理或人类播放。代理还可以为其他代理撰写交接说明。
2) 如果你通过Decispher mcp连接,那么这个mcp为你提供了一个工具,包括copy_context和paste_context。copy_context工具会给你一个密钥,你可以在任何其他代理的任何机器上使用paste_context(key),这样你的聊天上下文就会被转移。
请访问decispher.com试用。