两个极限编程大赛题解

引子

上周基友忽然问我,周六能不能帮他写写代码,说是参加什么比赛,可以多个人一起做题,赛程好像是24小时。

当时我感觉应该是比较麻烦的事情,准备不做的,不过后面一想,万一很有趣呢,哈哈。

到了周六,都差点忘了有这回事,被一个QQ消息提醒了,就开始做题了。后面才知道,这个活动叫“极限编程大赛”,会临场发布一些网上基本上搜不到的问题,给你解决,分数根据跑过的测试用例来计算。

我帮他做了两个题,都还算比较理想,也花了不少时间,但感觉颇有收获:)

由于问题都比较长,所以我用附件的形式附上英文原文,在下面的文字里面会简单的描述一下问题。

 

Continue reading 两个极限编程大赛题解

重新理解变量在函数内作用域和栈的关系

 

引子

以前对于函数作用域和栈的关系非常不清晰,只知道栈是系统为一个程序预分配的一块空间,程序的预声明变量都存在系统的栈当中,用malloc*分配的空间则在堆当中。

“作用域”和“栈”是一个抽象的概念,并没有深入的理解他们之间的联系。

一直以来都对代码如何在计算机中运行这一块饶有兴趣,最近刚好有时间来了解一下这里面的原理。

Continue reading 重新理解变量在函数内作用域和栈的关系

【树莓派折腾记】-有了树莓派可以做的几件事

前段时间买了一个树莓派,最初的想法是可以用来挂一些下载,或者挂一些爬虫,做做简单的NAS之类的。

最后到手之后,发现树莓派3 B+还是很快的,4个CPU核心+1G RAM,外接移动硬盘的情况下,IO上也可以接受。

 

添加风扇控制

我从淘宝上弄了一个风扇,直接接到树莓派的5v-0v接口上,这样风扇会一直运转,其实还挺烦的……因为声音比较大……所以希望风扇能在温度低于45度的时候,能够自动关闭就好了。

Continue reading 【树莓派折腾记】-有了树莓派可以做的几件事

我为什么要写[CmdTree]这个命令行库

CmdTree是一个命令行库,参见 这里

轮子满地都是……然而我又再造了一个(自尽

现有的库虽然有各自的设计哲学,却无法满足某些特定的需求:)。

能不能享受click带来的便利的同时,也能获取到argparse的子命令支持呢?

为了不再每次都要重复解决这个问题,复制粘贴代码,我写了CmdTree.

Continue reading 我为什么要写[CmdTree]这个命令行库

URL Parttern 在Flask里怎样被解析

老坑,现在来填掉:)

之前做一个需求,是需要解析Flask里的URL Rule里的参数名字和类型,用来自动生成命令行内的Rest Client的参数。

Rule:  /disks/<int:disk_id>

需要得到参数: disk (type int)

解铃还须系铃人,直接看Flask源码吧:),看看它是如何管理/解析用户在 route 内添加的URL Parttern的.

Continue reading URL Parttern 在Flask里怎样被解析

余生皆假期

起了个很有B格的标题,实际上只是要讲一件简单的事情:同事离职。

同事离职之后在豆瓣上发的第一个状态:余生皆假期。

抛开那本同名的推理小说不谈,很难想象一个人在何种情况下能够说出这种话,不过除了中二青年之外,大概只有那种对于自己的人生有着确实把握的人才能说出这句话,因为他已经到了几乎可以随心所欲的安排自己的生活的程度了,又或是有了摒除杂念,择一路而独行的觉悟。

今晚和他一起出去吃了个饭,算是离职送行,走了半天还是不知道吃啥,只能选择了一家冒菜2333.

他年前入职的吧,在公司呆了一共不到三个月,试用期都还没结束,他就选择了离开。

如果说理由的话,也无外乎是一般程序员离职的两个理由之一:钱不够,干得不开心。

Continue reading 余生皆假期