hexo again

因为之前安装hexo环境的机器已经重新安装系统了,因此还需要重新安装一边hexo。

不知不觉踩了些坑。

[vim] clighter8

随着VIM进入8.0时代,终于有了一系列的异步调用的支持。这些支持使得vim可以更好的处理复杂的异步操作,例如编译,建立tag等等。

而vim的语法渲染方案过去只能够给予纯文本的分析,因此只能够对例如关键词,基本的语法结构啊,比如括号之前的部分进行格式上的区分,但是因为没有语义的概念,所有就有一些限制,比如,就不能对函数和宏进行区分进行渲染。

clighter8就是这样的一个CS架构的vim插件。

实战 最长状态

从去年开始,陆续学习了一点Haskell的东西,当时在codewars上面着实写了一些练习题,还有H99之类的.

最近又开始回头看SICP,然后看到racket,接触到CSE341的课程,这个过程中自己也有和Haskell进行比较.

比较的结果,就是Haskell还是有着自己的独特之处的,值得再继续学习下去.

学习要结合着练习,毕竟学的都是死的,真的能够在日常生活中使用起来,才能够保持对相关知识的活力.

所以就有了今天这个实战的小code.

投票多数问题

一个算法问题,虽然简单,但是别有趣味。

问题非常简单,已知数组中有一个元素出现次数大于N/2次,其中N为数组长度。求这个元素。

YUV格式

做视频图像之流,YUV格式是最基本的知识,原不必细说的。只是现在发现自己还是会遇到很多的细节问题,现在自己对于这个的经验也越多,不免就想总结下。

这个问题居然熟悉到我以为自己已经写过这个话题了。。原来自己曾经总结过程一个wiki,不过这个是干货中的干货,就像吃压缩饼干,还没有水喝一样,囫囵吞枣,不小心还会噎着。

with statement @Python

with语句

以最常见的文件操作为例,打开文件,必须有对应的关闭文件.
这样保证资源(文件句柄)不会泄漏.但是如何手动保证这一点,在复杂的程序中,就会是一个问题.

程序的逻辑可能比较复杂,而在有异常机制的语言中,控制流就更为复杂.

在C++中,类似的问题,我们有析构函数来保证这一步.在Python中,我们有with语句.

with open(filename) as fp:
    for line in fp.readlines():
        pass

这样在with程序执行完毕,或者异常跳出的时候,都可以保证打开的文件必然会关闭.

下面就介绍下Python中的with.