坑
6 篇VNC 连接到物理屏幕
如果搜索 Linux 远程桌面,大部分教程基本上都是 xrdp + xfce4 的组合。一般情况下这样的组合的确不错,不过有一些诡异的特殊需求的时候就没那么好用了。在我的使用场景中,有的时候在实验室的 Linux 工作站上开启了一个比较长时间的任务,回到宿舍后可能需要检查下运行过程是否正常。如果是一般的 CLI 程序,用 screen 或者 tmux 之类的 terminal multiplexer (终端多路复用器)就绰绰有余了,可惜我用的是一个 GUI 程序。因此试着搜索了一番,发现是可以实 …
如果搜索 Linux 远程桌面,大部分教程基本上都是 xrdp + xfce4 的组合。一般情况下这样的组合的确不错,不过有一些诡异的特殊需求的时候就没那么好用了。在我的使用场景中,有的时候在实验室的 Linux 工作站上开启了一个比较长时间的任务,回到宿舍后可能需要检查下运行过程是否正常。如果是一般的 CLI 程序,用 screen 或者 tmux 之类的 terminal multiplexer (终端多路复用器)就绰绰有余了,可惜我用的是一个 GUI 程序。因此试着搜索了一番,发现是可以实 …
MS RDP 无法连接到在使用了 802.1x 认证的无线网络中的电脑
昨天遇到了一个诡异的 bug,笔记本电脑放在 lab,连上了学校的 WiFi,但是回宿舍后却无法用 RDP 连接上。具体表现是一开始可以 ping 通,使用 RDP 连接时卡几分钟,随后超时断开,最后远端(笔记本电脑)就再也 ping 不通了。 以「RDP wifi disconnect」为关键词进行搜索,找到了微软知识库里的一篇文章:Remote laptop disconnects from wireless network | Microsoft Docs,描述的症状和我体验的很相似。文章 …
昨天遇到了一个诡异的 bug,笔记本电脑放在 lab,连上了学校的 WiFi,但是回宿舍后却无法用 RDP 连接上。具体表现是一开始可以 ping 通,使用 RDP 连接时卡几分钟,随后超时断开,最后远端(笔记本电脑)就再也 ping 不通了。 以「RDP wifi disconnect」为关键词进行搜索,找到了微软知识库里的一篇文章:Remote laptop disconnects from wireless network | Microsoft Docs,描述的症状和我体验的很相似。文章 …
Markdown 表格内的代码块
Markdown 自带表格支持,不过表格内只支持基本的文本格式(加粗、斜体、inline code 等),而不支持更复杂的文本格式(如代码块、水平线)。如果需要在表格中加上复杂格式支持,如果使用的是 Github Flavored Markdown,一种做法是用 HTML 定义表格框架,再在内部 inline Markdown 文本,示例如下。 需要注意之处: 对应的 table cell 的 <td>, </td> 标签需要在新行的行首(前面不能有缩进) table cell 内的 …
Markdown 自带表格支持,不过表格内只支持基本的文本格式(加粗、斜体、inline code 等),而不支持更复杂的文本格式(如代码块、水平线)。如果需要在表格中加上复杂格式支持,如果使用的是 Github Flavored Markdown,一种做法是用 HTML 定义表格框架,再在内部 inline Markdown 文本,示例如下。 需要注意之处: 对应的 table cell 的 <td>, </td> 标签需要在新行的行首(前面不能有缩进) table cell 内的 …
Python __hash__ 继承
最近写作业的时候踩上了一个 Python 的坑: 如果父类实现了 __hash__ 方法,而子类重写了 __eq__ 方法,为了保证 hash 和 eq 的语义一致,子类不会隐式继承父类的 __hash__ 方法。如果需要子类的 __hash__ 方法调用父类的实现,则需要手动声明。 这个之所以是一个坑,因为在代码中的行为看起来很正常: Pycharm 的方法跳转可以定位到父类 __hash__ 方法 inspect.getmro 的父类列表正常 dir(object) 得到的方法列表中的确含有 …
最近写作业的时候踩上了一个 Python 的坑: 如果父类实现了 __hash__ 方法,而子类重写了 __eq__ 方法,为了保证 hash 和 eq 的语义一致,子类不会隐式继承父类的 __hash__ 方法。如果需要子类的 __hash__ 方法调用父类的实现,则需要手动声明。 这个之所以是一个坑,因为在代码中的行为看起来很正常: Pycharm 的方法跳转可以定位到父类 __hash__ 方法 inspect.getmro 的父类列表正常 dir(object) 得到的方法列表中的确含有 …
Hugo 的 Disqus 整合
Hugo 是内置了 Disqus 支持的,理论上只需要在站点的 config.toml 的顶层设定 disqusShortname 属性即可,不过实际用起来稍微有些坑。具体步骤如下。 在 Disqus 官网注册自己的账户 在 Disqus 官网登陆后,选择右上角 Settings - 左侧 Moderation,然后在这里新建一个站点,站点名字 ({site_name}.disqus.com)就是 disqusShortname 应该用的值 站点创建完成后,Billing 页选择 Free …
Hugo 是内置了 Disqus 支持的,理论上只需要在站点的 config.toml 的顶层设定 disqusShortname 属性即可,不过实际用起来稍微有些坑。具体步骤如下。 在 Disqus 官网注册自己的账户 在 Disqus 官网登陆后,选择右上角 Settings - 左侧 Moderation,然后在这里新建一个站点,站点名字 ({site_name}.disqus.com)就是 disqusShortname 应该用的值 站点创建完成后,Billing 页选择 Free …
Python, Flask, Jinja, SQLite 里的坑
上完 CS50,决定按照课程进度完成最后的 Final Project。于是开发了 Project SFLS ♫,途中遇到了许多坑,记载如下。 400 Bad Request 问题:表单与后台程序不匹配(后台调用了表单里没有的项) 坑:手动用不可见文本框传递id,但是误将readOnly设置成了disabled,id读取不能,于是报错。重新改回来即可解决,亦可使用session中转。 Bootstrap 框架不对劲 问题:本来是10-2的排布,但是却变成上面2 下面10 坑:最后发现上面的 …
上完 CS50,决定按照课程进度完成最后的 Final Project。于是开发了 Project SFLS ♫,途中遇到了许多坑,记载如下。 400 Bad Request 问题:表单与后台程序不匹配(后台调用了表单里没有的项) 坑:手动用不可见文本框传递id,但是误将readOnly设置成了disabled,id读取不能,于是报错。重新改回来即可解决,亦可使用session中转。 Bootstrap 框架不对劲 问题:本来是10-2的排布,但是却变成上面2 下面10 坑:最后发现上面的 …