Giter Club home page Giter Club logo

gitalk's Introduction

Hello, world! 我是 Liutos,一名钟爱 Common Lisp 的程序员。

尽管我最钟爱的是 Common Lisp,但我是从 C 语言开始接触编程的,入行后最先使用的是 Ruby,后来是 PHP、Node.js。现在则是 Python 和 Go。

但无论如何,最有意思的当然是 Common Lisp 了——尽管从来没有在工作中正经用过。

我写字的地方,欢迎订阅或关注

我的开源项目

Readme Card

Readme Card

技术栈

Top Langs

Liutos' github stats

gitalk's People

Watchers

 avatar  avatar  avatar

gitalk's Issues

PE的第26题 | 小打小闹写点bug

https://liutos.github.io/2012/08/24/PE%E7%9A%84%E7%AC%AC26%E9%A2%98/

今天上百度贴吧的ProjectEuler吧时发现大家在讨论第26题的一个解法的原理[求值]求解释原理,然后话题很快又从对解法的原理的解释转移到了对性能的攀比之中——这也是人之常情啦,哪个做PE题目的人不希望自己的方法是尽量快的呢^_^看了一下吧主的解法的运行时间,发现居然不是毫秒级别的,顿时对自己以前的解法需要运行多久心生好奇,于是在已经打开的SLIME中加载了以前的源文件,一运行,发现相当地快,

连分数与ProjectEuler的第66题 | 小打小闹写点bug

https://liutos.github.io/2012/08/31/%E8%BF%9E%E5%88%86%E6%95%B0%E4%B8%8EProjectEuler%E7%9A%84%E7%AC%AC66%E9%A2%98/

可耻的蛮力法ProjectEuler的第66题的传送门。话说今天挺累的,去实习单位那边做了一下小小的阶段性总结,然后走回了学校的另一个门,吃完饭又走回学校另一头的我自己的宿舍,别提有多累了。看来今天这样的运动量也够了,今晚的跑步就先搁置了吧。好了,回到正题,也就是ProjectEuler的第66题。第66题乍看起来似乎很简单,无非就是查找一个满足条件的所有x当中的最大值而已。于是像几乎所有的其它题

此数绵绵无绝期——欧拉计划第66题 | 小打小闹写点bug

https://liutos.github.io/2021/02/11/%E6%AD%A4%E6%95%B0%E7%BB%B5%E7%BB%B5%E6%97%A0%E7%BB%9D%E6%9C%9F%E2%80%94%E2%80%94%E6%AC%A7%E6%8B%89%E8%AE%A1%E5%88%92%E7%AC%AC66%E9%A2%98/

仅以此文膜拜八年前的自己 序言欧拉计划(Project Euler)就像LeetCode,是一个编程答题的网站。不同于LeetCode的是,欧拉计划只要求用户提交最终答案即可(一般是一个数字),而不需要完整代码。因此,可以尽情地使用自己喜欢的编程语言——不少题目甚至光靠笔和纸便能解决。 欧拉计划的第66题非常有意思,它的题目很简单,就是要求找出在不大于1000的整数中,以哪一个数字为丢番图方程

自己动手丰衣足食——用Hammerspoon控制Emacs的窗口 | 小打小闹写点bug

https://liutos.github.io/2020/12/20/%E8%87%AA%E5%B7%B1%E5%8A%A8%E6%89%8B%E4%B8%B0%E8%A1%A3%E8%B6%B3%E9%A3%9F%E2%80%94%E2%80%94%E7%94%A8Hammerspoon%E6%8E%A7%E5%88%B6Emacs%E7%9A%84%E7%AA%97%E5%8F%A3/

有一天,我用Homebrew安装了一些软件——因为已经是一个月前的事情了,所以已经记不清是安装了什么。安装后并没有立即出现什么问题,只是又过了两天我重新启动电脑后,发现同样是由Homebrew安装的Emacs不由分说地无法启动了。这下可麻烦了,毕竟我是org-mode的重度使用者,还需要偶尔用SLIME写点Common Lisp的代码,而它们都运行在Emacs中。 直觉告诉我,也许重新安装一下Em

多重返回值的阵营九宫格 | 小打小闹写点bug

https://liutos.github.io/2021/03/14/%E5%A4%9A%E9%87%8D%E8%BF%94%E5%9B%9E%E5%80%BC%E7%9A%84%E9%98%B5%E8%90%A5%E4%B9%9D%E5%AE%AB%E6%A0%BC/

通常在糊业务代码的时候,不管是函数、方法,还是宏,都只会有一个返回值。比如在C语言用于检查一个字符是否为阿拉伯数字的isdigit函数就只会返回是(1)或否(0) 12345678910#include <ctype.h>#include <stdio.h>intmain(int argc, char *argv[]){ char c = 'a'; p

format,不只是格式化 | 小打小闹写点bug

https://liutos.github.io/2021/01/29/format%EF%BC%8C%E4%B8%8D%E5%8F%AA%E6%98%AF%E6%A0%BC%E5%BC%8F%E5%8C%96/

《实战Common Lisp》系列主要讲述在使用Common Lisp时能派上用场的小函数,希望能为Common Lisp的复兴做一些微小的贡献。MAKE COMMON LISP GREAT AGAIN。 序言写了一段时间的Python后,总觉得它跟Common Lisp(下文简称CL)有亿点点像。例如,Python和CL都支持可变数量的函数参数。在Python中写作 12def foo(*

如何写一个命令行的秒表 | 小打小闹写点bug

https://liutos.github.io/2020/07/03/%E5%A6%82%E4%BD%95%E5%86%99%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%9A%84%E7%A7%92%E8%A1%A8/

序言相信各位读者对秒表都不陌生,智能手机上通常都有这样一款软件 有一天心血来潮,便想要“复刻”一个命令行版本的秒表程序——主要是想尝试一下新学会的、“原地更新”的技能,而不是一行接一行地输出。程序的运行效果如下 那么这是怎么做的呢? 实现思路及代码如何获取流逝的时间长度?要实现一个秒表,首先要知道从开始计时至今过了多久。在*nix系统中,表示时刻的事实标准是Epoch Time,在shell脚

从AOP到method-combination | 小打小闹写点bug

https://liutos.github.io/2021/06/14/%E4%BB%8EAOP%E5%88%B0method-combination/

“实战Elisp”系列旨在讲述我使用Elisp定制Emacs的经验,抛砖引玉,还请广大Emacs同好不吝赐教——如果真的有广大Emacs用户的话,哈哈哈。 Emacs的org-mode用的是一门叫Org的标记语言,正如大部分的标记语言那样,它也支持无序列表和检查清单——前者以-(一个连字符、一个空格)为前缀,后者以- [ ]或- [x]为前缀(比无序列表多了一对方括号及中间的字母x) 此外,

精确之美——用TikZ画硬盘示意图 | 小打小闹写点bug

https://liutos.github.io/2020/10/29/%E7%B2%BE%E7%A1%AE%E4%B9%8B%E7%BE%8E%E2%80%94%E2%80%94%E7%94%A8TikZ%E7%94%BB%E7%A1%AC%E7%9B%98%E7%A4%BA%E6%84%8F%E5%9B%BE/

序言备考某等级考试的时候,在教材中碰到了几个一直不太理解的、关于硬盘的概念:磁道、柱面号、扇区。然而教材没有配图,无法直观地了解这些概念的物理形态。维基百科的硬盘词条页中倒是有一副不错的示意图,我截图搬运了过来 原图是一张SVG图片,本质上是一堆指令——也就是所谓的语绘啦。我是一个语绘爱好者,也想试试看能否用代码画一幅差不多的图出来。 在旧文《程序员特有的画图方式——语绘工具小入门》中,我演示过

当你SET的时候,Redis到底在SET些什么 | 小打小闹写点bug

https://liutos.github.io/2021/04/17/%E5%BD%93%E4%BD%A0SET%E7%9A%84%E6%97%B6%E5%80%99%EF%BC%8CRedis%E5%88%B0%E5%BA%95%E5%9C%A8SET%E4%BA%9B%E4%BB%80%E4%B9%88/

准备过互联网公司的服务端岗位面试的人,对Redis中的5种数据类型想必是如数家珍。而网上很多面试题里也会出现这道题目 随着行业曲率的增大,光是知道有这些数据类型已经不够了,还得知道同一个类型也有不同的底层数据结构。例如同样是string类型,不同内容或不同长度会采用不同的编码方式: 123456789101112131415161718127.0.0.1:6379> SET key1

涂色笔试题的动态规划解法 | 小打小闹写点bug

https://liutos.github.io/2012/10/18/%E6%B6%82%E8%89%B2%E7%AC%94%E8%AF%95%E9%A2%98%E7%9A%84%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E8%A7%A3%E6%B3%95/

链子涂色问题的动态规划解法话说大四已经开始了一个半月了,自己自从开学以来也一直在找工作,相继投了很多家IT公司。可悲的是,笔试过后就完全没有回音了——参加了多益网络的笔试两天后倒是有回音,只是收到的是拒绝的邮件QAQ。说实话,现在对于自己能不能够顺利地找到工作还是很担忧的,所以最近开始了紧张的复习。不过自己实在是懒,所以也没有像别人考研那么地拼命,只是在刷完微博读完邮件逛完豆瓣后开始看一些讲数据结

2019年总结 | 小打小闹写点bug

https://liutos.github.io/2020/01/02/2019%E5%B9%B4%E6%80%BB%E7%BB%93/

序言9102年都已经过去好几天了,现在才来产出年终总结。 个人项目cuckoo——定时提醒工具在18年的总结中,我提到自己开发了一个名为cuckoo的工具,用来代替macOS的提醒事项、日历,以及由crontab调用的shell脚本。这个目标在19年得以实现,cuckoo已经完全取代了它们。 cuckoo实现了以下功能: 创建一次性和周期性的提醒。cuckoo甚至可以在正确的二月最后一天弹出提醒

一箭双雕——org-mode中的ID和CUSTOM_ID字段 | 小打小闹写点bug

https://liutos.github.io/2020/11/18/%E4%B8%80%E7%AE%AD%E5%8F%8C%E9%9B%95%E2%80%94%E2%80%94org-mode%E4%B8%AD%E7%9A%84ID%E5%92%8CCUSTOM-ID%E5%AD%97%E6%AE%B5/

在org-mode中,一个条目(entry)可以设置多个属性(Properties)。有的属性是org-mode内置的,有它们的特殊用途。有的属性是自定义的,用在一些插件或仅仅用于记录信息。CUSTOM_ID属于前者,而ID属性后者。 CUSTOM_IDCUSTOM_ID用于跳转。org-mode支持丰富的外部链接格式,其中之一便是链接到指定.org文件的指定CUSTOM_ID的条目。 比如在一个

手指疼,写点代码缓解一下 | 小打小闹写点bug

https://liutos.github.io/2020/09/28/%E6%89%8B%E6%8C%87%E7%96%BC%EF%BC%8C%E5%86%99%E7%82%B9%E4%BB%A3%E7%A0%81%E7%BC%93%E8%A7%A3%E4%B8%80%E4%B8%8B/

我经常使用Emacs来干写字的活——有时候是写代码、有时候是用org-mode管理待办事项、有时候是用restclient-mode来测试HTTP API。Emacs丰富的快捷键让我可以双手不离主键盘区就做到很多事情,不过这也带来了别样的烦恼:快捷键按多了,手容易累。 导致手累的第一个因素,是Emacs的不少快捷键需要按住ctrl来使用,而ctrl常常不容易按到。以我的键盘为例,ctrl键分布在主

年轻人的第一个VSCode扩展 | 小打小闹写点bug

https://liutos.github.io/2021/01/02/%E5%B9%B4%E8%BD%BB%E4%BA%BA%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AAVSCode%E6%8F%92%E4%BB%B6/

序言入坑VS Code前,我已经是一名久经考验的Emacs老用户了,因此开始正式使用VS Code后,我第一时间启用了它的Emacs Keymap。但不久我便发现,这套键映射缺少一个重要的快捷键——ctrl-l。 在Emacs中,ctrl-l对应的命令是recenter-top-bottom,它用于将光标所在的行轮替地滚动到可视区域(即Emacs中的window)的中间、顶部,以及底部(如下图所示

非递归遍历二叉树到底有什么用 | 小打小闹写点bug

https://liutos.github.io/2021/05/03/%E9%9D%9E%E9%80%92%E5%BD%92%E9%81%8D%E5%8E%86%E4%BA%8C%E5%8F%89%E6%A0%91%E5%88%B0%E5%BA%95%E6%9C%89%E4%BB%80%E4%B9%88%E7%94%A8/

准备过互联网公司的服务端岗位面试的人,对于二叉树的三种遍历方式想必是如数家珍。假设以类BinaryTree定义一棵二叉树 12345class BinaryTree: def init(self, left, right, value): self.left = left self.right = right self.value = val

终端看片指日可待 | 小打小闹写点bug

https://liutos.github.io/2021/02/27/%E7%BB%88%E7%AB%AF%E7%9C%8B%E7%89%87%E6%8C%87%E6%97%A5%E5%8F%AF%E5%BE%85/

序言在旧文《如何写一个命令行的秒表》中,借助命令tput,我实现了“原地更新”所输出的时分秒的效果 其中用到的是ASCII转义序列\x1b[8D和\x1b[0K。除此之外,ASCII转义序列还有许多其它功能。例如,可以用来定制输出内容的前景色 将转义序列中的参数38改为48,可以定制输出内容的背景色 将打印内容改为两个空格,看起来就像是在一块黑色的画布上涂了一个红色的方块 既然如此,只要尺

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.