नमस्ते

archiveTitle('%s', '', ''); ?>

你好,欢迎!我已经迫不及待地要跟你一起学习命令行界面这一个神秘而有趣的交互方式了。无论你是因为什么打开这篇文章、也不管你对命令行界面的了解几何,我都希望你能够有收获。

让我们开始吧!

继续阅读

最近尝试学习 Haskell 的时候发现一个在线评测系统(online judge),不同于算法竞赛用的 OJ,exercism 没有任务点、明确的运行时间和内存限制以及严格的输入输出要求。相反,你可以直接看到用于测试你的程序使用的代码,这包括了输入输出的规则以及真正用来测试代码的测试点。

更有趣的是,在把所有的测试点过掉之后,exercism 提示你可以邀请一位 mentor 来看看你的代码、指出可以改进的地方。我尝试性地使用了一下这个功能,然后跟一个大哥讨论一个小问题讨论了一下午。

继续阅读

写在前面

本文是笔者在一次社团活动讲演的文字底稿,略经修饰后刊于此处。主要谈了谈我们为什么需要版本控制,以及版本控制系统提供给我们那么多功能是做啥的,并在最后尝试给出一些关于如何上手版本控制的建议。

继续阅读

互联网上使用 Visual Studio Code 开发单文件 C/C++ 大多数都是采用微软提供的 C/C++ 拓展和 mingw 工具链,微软也写了一篇非常详尽的教程来指导配置。不过,微软提供的 C/C++ 拓展在很多方面并不好用,比如转到定义、快速修复或者代码高亮之类能够在编程的时候防止分心提高效率的功能。我对此的解决方案是使用 LLVM 提供的 clangd 来完成代码补全和代码高亮等现代集成开发环境会提供的功能。同时,我个人偏好使用 Clang 作为编译器前端,这几乎成了配置环境中最困难的一部分。

继续阅读