《目送》——龙应台

“啼血杜鹃”

前几天在图书馆突然听见窗外有人喊叫,细一听”苦啊,苦啊,苦啊苦”,这是哪个落魄之人发出的哀号呢?
过了几会儿,感觉有点熟习,这叫声似乎很像在哪听过,后来想起,原来是龙应台《目送》中写到的杜鹃的叫声,以前我从来没有注意,也不知道原来这种“苦儿”的叫声,是这似乎“苦命”的杜鹃发出来的,今天我上网找了找看这 “苦儿”还真有点像是落魄受难之人。

继续阅读

发表在 读书明智 | 标签为 | 留下评论

《在细雨中呼喊》

今天是清明放假的最后一天,一大早就骑上我新买的MERIDA Duke 300 来到图书馆,早上来图书馆一般第一件事就是读英文书或者看看单词,读了半个小时的《Lord of the flies》之后就开始看看高数做做题目,大概又过了半个小时,我就耐不住寂寞,打开书包拿出余华的《在细雨中呼喊》,我很喜欢余华的作品,他主要的作品我读了三部《活着》,《许三观卖血记》,还有就是今天一口气读完的《在细雨中呼喊》,似乎他的这三部作品我都是一口气看完的,前两部让我感受到了还有像福贵和许三观这样悲惨的人生,那时候的心情是很不平静的,但是今天看的这本却给我不一样的感受,虽然也是悲剧,但是里面也存在很多喜剧的细节,甚至是荒诞。

继续阅读

发表在 读书明智 | 标签为 | 留下评论

对 Hamming Code(海明码) 的分析和总结

码距:是两组 字码组 之间,位数不同的个数,比如说 1100、1010 他们的码距为2,有2位不同。
我这里统一将:00010 这样的一组二进制称为码组,下面不再重复。
海明码的最短码距为3,这时候有三个校验位。(我不太明白码距和检错,纠错能力的关系,所以不讨论)
先来看一张图,在信息位为4位,海明码3位的时候,每位校验位能覆盖的范围。
海明码简单分析
海明码校验范围

海明码校验范围

上面的内容只是热身,下面是如何计算海明码,很简单,跟我一起学习!

海明码简单分析

确定校验位个数

海明码的码组长度需要符合:2^r – 1 (r代表校验位个数)
为什么是这个公式呢?因为:只有这样才能保证校验位足够覆盖整个需要校验的码组。
比如说:校验位有3位,那就是2^3 = 8 – 1 = 7 这样就可以校验长度为7的码组,如果按实际来说,也就是信息位 4 位,校验码 3 位。
通过上面分析,我们知道校验位 r 加上信息位 k 就等于 2^r – 1 , 这也就是为什么书上有 k + r <= 2^r – 1 的原因,下面是一些 R 和 K的关系表

继续阅读

发表在 计算机那些小事 | 标签为 | 留下评论

Write a generic function chainer

Quiz

Write a generic function chainer that takes a starting value, and an array of functions to execute on it (array of symbols for ruby).
The input for each function is the output of the previous function (except the first function, which takes the starting value as it’s input). Return the final value after execution is complete.

继续阅读

发表在 算法与数据结构 | 标签为 | 留下评论

Reversing Fun

Quiz

You are going to be given a string. Your job is to return that string in a certain order that I will explain below:
Let’s say you start with this: 012345
The first thing you do is reverse it:543210
Then you will take the string from the 1st position and reverse it again:501234
Then you will take the string from the 2nd position and reverse it again:504321
Then you will take the string from the 3rd position and reverse it again:504123
Continue this pattern until you have done every single position, and then you will return the string you have created. For this particular number, you would return:504132

继续阅读

发表在 算法与数据结构 | 标签为 | 留下评论

Caffeine Script

Quiz

Complete the function caffeineBuzz, which takes a non-zero integer as it’s one argument.
If the integer is divisible by 3, return the string “Java”.
If the integer is divisible by 3 and divisible by 4, return the string “Coffee”
If the integer is one of the above and is even, add “Script” to the end of the string.
Otherwise, return the string “mocha_missing!”

继续阅读

发表在 算法与数据结构 | 标签为 | 留下评论

MongoDB:The Definitive Guide》管理

启动MongoDB

  • --port 指定服务器监听端口。
  • --fork 以守护进程的方式运行MongoDB,创建服务器进程。
  • --logpath 指定路径输出路径,而不是输出到命令行。
  • --dbpath 指定数据目录。

继续阅读

发表在 前端 | 标签为 | 留下评论

《MongoDB:The Definitive Guide》查询

前一篇MongoDB:The Definitive Guide笔记,主要记录的是一到三章的内容,数据库其实大部分都是在做查询操作,这章单独记录。

指定返回键

有时候并不需要返回整个文档,这时候可以通过设置,find第二个参数来指定想要返回的键。例如:

继续阅读

发表在 前端 | 标签为 | 留下评论

《MongoDB:The Definitive Guide》索引

MongoDB的索引技巧和MySQL/Oracle/SQLite类似,都可以互相借鉴。创建索引使用ensureIndex方法:

对某个键创建的索引,会加速对该键的查询,其它查询包含被索引的键,不会有任何性能提供。但是也不能对每一个键进行索引。

扩展索引

索引创建的好坏,能很大程度影响查询性能,比如:

继续阅读

发表在 前端, 数据库 | 标签为 | 留下评论

《MongoDB:The Definitive Guide》基础知识

MongoDB 中几个基本概念:

  • Document 是基本数据单元。
  • 集合 相当于关系型数据库中的表,无模式,同一集合文档类型可以不同。
  • 每一个文档都有一个特殊键_id,在一个集合中,唯一标识一个文档。

集合

无模式

在同一个集合中,文档类型可以是任意的。但是不能将所有文档放在一个集合中,这将会影响数据库的性能,同一集合中的文档最好是同一类型,这样建立的索引会更加高效。
继续阅读

发表在 前端, 数据库 | 标签为 | 留下评论