首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
与众不同的程序员
LiuTao9292
创建于2021-05-22
订阅专栏
与众不同
等 4 人订阅
共37篇文章
创建于2021-05-22
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
一箭双雕——org-mode中的ID和CUSTOM_ID字段
在org-mode中,一个条目(entry)可以设置多个属性(Properties)。有的属性是org-mode内置的,有它们的特殊用途。有的属性是自定义的,用在一些插件或仅仅用于记录信息。CUSTOM_ID属于前者,而ID属性后者。 CUSTOM_ID用于跳转。org-mod…
精确之美——用TikZ画硬盘示意图
备考某等级考试的时候,在教材中碰到了几个一直不太理解的、关于硬盘的概念:磁道、柱面号、扇区。然而教材没有配图,无法直观地了解这些概念的物理形态。维基百科的硬盘词条页中倒是有一副不错的示意图,我截图搬运了过来 原图是一张SVG图片,本质上是一堆指令——也就是所谓的语绘啦。我是一个…
Emacs的avy插件
怎么弄的呢?一般是先按C-x 3分出左右两个window,再到各个window中用C-x 2分出上下两个window——这不是我的笔误,在Emacs的术语中,用来显示一个buffer的区域就叫做一个window。而常常被人们冠名为window的、最外层的窗体,则叫做frame。…
手指疼,写点代码缓解一下
我经常使用Emacs来干写字的活——有时候是写代码、有时候是用org-mode管理待办事项、有时候是用restclient-mode来测试HTTP API。Emacs丰富的快捷键让我可以双手不离主键盘区就做到很多事情,不过这也带来了别样的烦恼:快捷键按多了,手容易累。 导致手累…
那么,Prolog,告诉我怎么走
今年四月左右,我心血来潮地为自己立了一个学习Prolog的目标——对,就是那门以逻辑编程和人工智能为卖点的语言。不仅要学会它的基本用法,还妄想用它像朋友圈广告里的Python那样,用来处理Excel文件中的大数据! 尽管处理大数据是开个玩笑,但学习Prolog的目标是真的。既然…
没有除法的除法——LeetCode第29题
7月初的时候挑战了一下LeetCode的第29题(中等难度,似乎没什么值得夸耀的),题目要求在不使用除、乘,以及模运算的情况下,实现整数相除的函数。 既然被除数和除数都是整数,那么用减法就可以实现除除法了(多么naive的想法)。一个trivial的、用JavaScript编写…
如何高效地给多行文本添加前后缀
理论上,开发人员是不允许操作生产环境的,更别说是像商品、订单这样的重要业务数据。不过对小公司来说,后台系统往往不是很完善,总有一些需求让运营或客服部门的同事操作起来捉襟见肘,不得不寻求开发人员的帮助。 通常这些部门的同事会给过来一批需要处理的商品或订单的ID,我会将它们粘贴到一…
你知道吗?2和10的整数次幂永不相等
《编码》这本书曾经在我的豆瓣“想读”列表中躺了很久,大概在今年年初才开始看。但读着读着发现书中的电路图越来越多,而我的阅读热情也随之被慢慢浇灭。五月初的时候,终究还是把它合上,并在豆瓣上羞愧难当地将其标注为“读过”。 第一次读到这里时,我想作者应当会在下一段给出具体的证明过程—…
如何写一个命令行的秒表
有一天心血来潮,便想要“复刻”一个命令行版本的秒表程序——主要是想尝试一下新学会的、“原地更新”的技能,而不是一行接一行地输出。程序的运行效果如下 要实现一个秒表,首先要知道从开始计时至今过了多久。在*nix系统中,表示时刻的事实标准是Epoch Time,在shell脚本中要…
MySQL的NOT EXISTS遭遇战
最近老婆在看视频学习MySQL,然后碰到了这样一道习题:有三个表,分别记录学生、课程,以及学生选修了什么课程的信息,问如何用NOT EXISTS找出选修了所有课程的学生。 为了避免想破脑袋编造一些尴尬的学生姓名和课程名,我简化了一下习题中的表的结构,只留下它们的ID列。建表语句…
用org-mode管理API测试用例
在互联网大行其道的今天,身为一名电商平台的程序员,必定经常与HTTP API打交道,一个常见的情况便是做API测试。抛开可以用单元测试代替的,很多时候需要真地发出HTTP请求才行。这些负责发出HTTP请求的东西可能是一行curl命令,可能是一个.js文件,也可能是一个在post…
数据库schema不是CRUD服务的一切
谨以本文向我脑海中那些不成熟的想法致敬。 受疫情影响呆在家中的这段时间里,我收尾了《Clean Architecture》。这本书给了我许多新知识和启发,包括本文的中心论点——数据库schema不是CRUD服务的一切,也是在读书过程中想到的。在书中,作者的原话是 它出现在书中第…
当我们git-merge的时候到底在merge什么.
我在上大学的时候并没有接触过VCS(版本控制系统)。虽然曾经在Google Code发布过去项目,但是以压缩包的形式发布的;与室友合作开发计算机网络这门课的课程设计时,也没有用上。直到入职第一家公司后才真正开始使用,当时用的是Git,此后也始终没用过其它的VCS——SVN仅仅耳…
把GitHub作为图床
最近又迷恋上了写博客,尤其是前一段时间很想要写点东西分享一些软件的使用感想。但当写完文章想要发表时就会碰到一个问题:由于我是现在本机的编辑器中用Markdown写好了全文的内容,再发表到各个平台(曾经是GitHub Pages搭建的博客,后来又多了简书,现在再加上Segment…
重定向的时候shell在干什么?
上面代码中的2和1分别是标准错误(C语言中的stderr)和标准输出(C语言中的stdout)的文件描述符,2>&1的意思便是将打印到标准错误中的内容转移到标准输出中去——这个转移在shell中的术语便叫做重定向(redirection)。 将代码保存到文件foobar.js中…
程序员特有的画图方式——语绘工具小入门.
为了表达复杂的业务实体在整个生存期中状态的变化,会画状态图。 除此之外,还有流程图、甘特图、火焰图,等等。 尽管软件开发过程中产出的这些图不一定逼真、漂亮,或严谨,但凭着图上不同的形状、颜色,以及布局,也可以做到一图胜千言的效果。 图很有用,画图的工具也同样举足轻重。如果是本地…
你或许不知道,shell不能比较大小
当我写这个的时候,date '+%s'的值为1587901648,所以运行后走的是else的分支。 大部分写shell代码的人或许会认为,[]是shell语言用于实现一系列的比较操作的特殊语法。但实际上,[]并不是一个语法——[是一个独立的命令行程序,]则什么都不是,仅仅是一个…