Category Archives: 杂物间

Ubuntu再淌坑

Ubuntu18.04貌似也穩定了,又換了回來。 先裝一下NV顯卡驅動。Ubuntu現在也使用Nouveau,如果你使用驅動文件安裝,它會幫你寫一個禁用腳本。但是在我的fedora和ubuntu下,都沒生效。 大致的解決方式就是 sudo vi /etc/modprobe.d/blacklist-nouveau.conf 添加 blacklist nouveau blacklist lbm-nouveau options nouveau modeset=0 alias nouveau off alias lbm-nouveau off 禁用nouveau

Posted in 杂物间 | Leave a comment

POSTG+REST

学习了一下PostgREST,我觉得这古怪的东西早该出现了。多少2B业务都在上Java全家桶,就我的浅见,一般框架的服务层都几乎可以杀掉,大多数只起转发作用。PGREST在某种程度代表了左派的观念,消灭臃肿的后端。

Posted in 杂物间 | Tagged , | Leave a comment

看那头大象

业界有三只有名的大象,Hadoop, PHP和本回要说的PostgreSQL。 本文起因是一个数据聚合的问题。在说它之前先看一些基本的东西。 P.S. 后期修补很多,导致内容看起来没Postgres什么事了ಠ_ಠ

Posted in 杂物间 | Tagged , | Leave a comment

重拾Python

我最初学习的语言就是Python,不记得为什么之后没再用过它。那时候刚有python3,完全没普及。本文从初学者的角度,看看python3在语言层面,有什么有趣的东西。 运算符 python的运算符比常规语言多一点,而且令人印象深刻。 常规运算,+ – * / % 地板除,//;乘方,** 交互模式下有_,上一次输出的字符。 赋值,=。可以多重赋值,比如交换变量 Go貌似也学了这一招。

Posted in 杂物间 | Tagged | Leave a comment

发声技术简论

最近学习了一点声乐理论,颠覆了我的认知。首先,它经历过很多变革;其次有大量数据具有误导性。本文选择从国内流行乐展开讲述。接下来的内容没有图片和音频,我只打算从逻辑上说通问题。 声带 有一种说法叫喉头振动机制(Laryngeal Vibratory Mechanisms)。将声带振动分为M0, M1, M2, M3。 M0,也就是气泡音(vocal fry)的振动方式 M1,重机能发声,以甲杓肌收缩为主导。也就是广义的真声。一般男性极限音高在F4,女性在C5。说的是未经训练,下同。 M2,轻机能发声,以环甲肌拉长为主导。也就是广义的假声。一般男性音高极限在G5,女性在A5。 M3,哨音,貌似又叫海豚音。这个东西很有意思,理论上有分歧,主流观点认为M3几乎不振动声带,而是由整个喉腔形成哨的结构。

Posted in 杂物间 | Tagged | Leave a comment

C++之无聊小技巧三.1

上文讨论了一工厂和访问者,为了贯彻娱乐精神,我们接下来组合这两个机制,看能搞出什么花样? 使用的时候是这样: 哈哈,是不是有一种想打人的冲动?这也正体现本文的关键字——无聊。

Posted in 杂物间 | Tagged | Leave a comment

C++之无聊小技巧三

上一篇扯了一点设计模式,本文接着讨论。以下内容仅供娱乐。 先看一个朴实的例子:

Posted in 杂物间 | Tagged , | Leave a comment

C++之无聊小技巧二

接下来扯一点设计模式。一般的业务框架会包含大量的模板方法模式,它的目的主要是为了复用代码。看个简单例子:

Posted in 杂物间 | Tagged , , | Leave a comment

C++之无聊小技巧

通用编程语言的基本特性都相差不远,同时也各有各的玩法。C++特性之多首屈一指,各种其他语言看不到的玩法,当然其实用性也有限。本文简单探讨一些无聊并有趣的技巧,特性或者Idiom。演示这些的目的在娱乐,并不建议在工程中使用。 诊断 C语言本身就有assert(),不过没有输出信息。C++11又加上static_assert(),支持输出信息。 在这之前可以自己实现带输出的诊断: 或者这样:

Posted in 杂物间 | Tagged , | Leave a comment

C++,STL的小故事

一位逻辑学家Robert Kowalski说过Algorithm = Logic + Control。什么是Logic?什么又是Control?其实就是业务逻辑和控制流。 大多情况下,我们要简化的流程就是循环。有个理念叫“no raw loop”,不是说禁止你用for loop,而是将循环流程封装起来,只在业务层暴露抽象算法接口。《Effective STL》中也有过类似探讨——Item 43. Prefer algorithm calls to hand-written loops。

Posted in 杂物间 | Tagged , | 3 Comments