Pulpcode

捕获,搅碎,拼接,吞咽

0%

git 的文档中会介绍到git reset 有几个参数

git reset [–soft | –mixed [-N] | –hard | –merge | –keep] [-q] []

其中 soft, mixed, hard 比较常用。之所以写这样一篇博客是想借此来总结git的一些底层知识。

首先你要知道git reset 用来让代码回退到某个commit,而且–mixed 是默认选项。接下来你要知道git reset,无论使用哪个参数,你的那些回退之前的commit都“找不到”了。(用git reflog可以找回来)

阅读全文 »

不知不觉已经写了200篇博客了,总要写点东西纪念一下吧。

当然我并不会搞几句华丽的词藻,甚至引用几句诗(eg: 宝剑锋从磨砺出 梅花香自苦寒来),然后再给自己写几句鸡汤,然后说自己会坚持下去的。这明显不是我的风格唉。

不过话说回来,试问自己,一个多孤独的人,才能坚持写完200篇博客?

阅读全文 »

说明

  1. 我尽量用我理解的方式收集和整理这些资料,而不是对网上的东西进行大量的洗稿来完成自己的博客。更详细的东西肯定在原著小说和冰与火之歌维基。
  2. 主要为了对影视版描述的不够详细的,或者是没有介绍的剧情进行整理,还有就是不多看几遍不会注意的内容进行整理。这些可以说是作为理解《冰与火之歌》的必备知识。
  3. 我不会去网上随便搜集一些冷知识。或者把整个主线故事回顾一次,因为这显然都是大家所知道的或者没必要知道的,我整理的主要目的是为了能够对故事有个全局的回忆和概括,尤其是对一些剧情的模糊和质疑。

世界地图

all-land

冰与火之歌的世界主要有三块大陆,分别是上图中偏小,左上角的维斯特罗大陆(westeros),它的设定大致基于中世纪的欧洲, 面积与南美洲大致相等,冰与火之歌的主要故事都在这片大陆发生,也就是七国之地。
右边那块较大的大陆是广阔的厄索斯大陆(Essos), 映射现实世界的欧亚大陆,但面积可能更大。九大贸易城邦和奴隶湾以及多斯拉克海位于这片大陆的西部,向东是红色荒原,再东边则是亚夏和阴影之地。
龙母丹妮莉丝·坦格利安白手起家的故事就发生在这里。
下方的那块大陆被称为索斯罗斯大陆(Sothoryos),这片大陆有点映射非洲大陆。对这块大陆所知甚少,只知道那里的生活着黑皮肤的居民。小说对此处的描写很少。

阅读全文 »

初玩dota的时候,并不知道兵线的意义,所以在线上,看到兵就打,这完全是小白的游戏方式。这篇博客会整理moba游戏中兵线的意义,当然主要是dota的兵线,英雄联盟和望着荣耀的兵线类似,不过因为这两个游戏不能tp到塔下,没有中路高低坡,不能拉野,没有反补。所以兵线的操控要简单的多。

dotaline

控制兵线

兵线主要是指双方由基地(电脑)负责控制的兵(常称小兵)的交战处。这里是你获得金钱和经验的主要地(击杀英雄和打野同样能够获得经验和金钱。),控制兵线可以简单的理解为,前期要保证拉兵线,让兵线向己方塔靠进,但同时不能让对方的小兵被自己的塔打到,后期要保证推兵线,让兵线直逼对方塔。

阅读全文 »

很多人说懂幽默的人,一定很聪明。所以为了让自己聪明,很多人都会把自己“打扮”的幽默有趣。也就是所谓的会开玩笑。而这其中,最能体现”智慧“的,就是和性有关的幽默。

可以说和性有关的幽默就像一把双刃剑,开得好谁都爱听,开的不好,谁都嫌弃。正应为如此,更多的人冒着风险去开这种玩笑,因为它巧就巧在不是谁都能开的出来的。

之所以这样,毕竟是因为人这辈子离不开性,我们小的时候,就在学校调侃男女关系,到了社会,又在调侃男女同事之间的关系。

而且还有一个原因是,中国是一个谈性色变的国家,当然我觉得这是受封建父权社会的影响,保护女人保护的像保护财产一样。其实骨子里是支持禁欲的,所以为什么开性玩笑这么刺激。因为中国男人一直很压抑。

我在上学的时候,很喜欢做一道叫做:“面对这个场景,如何回答才能显得得体化解尴尬的语文题。”搞得最后每次同学们都指定让老师读我的答案。不过并不是没翻过车。

阅读全文 »

有一个经典的交互场景,A让B做一件事情,然后B做完了再告诉A。

1
BResponse  bResponse = unBlockCallB();

这种交互最简单的方式是使用阻塞。也就是说在B做这件事的时候,A什么也不做,干干的等它做完,再继续执行。这种简单又实用,但是我们为了效率,觉得让A这么白白的等着太浪费了。所以决定把A对B的调用做成非阻塞的,也就是说A在调用B的时候,会马上返回。那么一个问题是,B在做完之后,如何通知给A?

轮询

一种方式是A其实专门就有一部分代码轮询这个返回结果,另一部分专门做别的事情:

1
2
3
4
5
6
7
8
9
unBlockCallB();
while(true){
boolean ok = checkBResponse();
if(ok) {
dosomethingForBResponse();
}else{
sleep();
}
}
阅读全文 »

作为一个程序员,你一定知道这个简单的模型,你想从文件中读取数据,你需要调用read函数,然后read函数会阻塞直到有数据返回给你,之后你就可以进行下一步操作了。一个简单的模型,就像是一个远景画,而你是否了解细节,在于当你把镜头拉近的时候,你能看到的是清晰的细节还是一堆马赛克。

所以在这个基础之上,你可能理解的比这更复杂一些,你知道有些资源只能在核心态才能被访问。知道进程缓冲区和内核缓冲区。那么这个模型在你眼里就变成了这个样子:

blocking-io

阅读全文 »