Harbon'Blog


  • 首页

  • 归档

  • 标签
Harbon'Blog

社交货币

发表于 2017-07-17  |  2017-07-17   |   分类于 鸡汤

这个术语的原意是,利用人们乐于与他人分享的特质,来塑造我们自己的产品或者思想。

        简单来说,我们在微博或者微信上天天发东西,和朋友们聊天所拥有的谈资,其实这些东西代表并定义了我们自己,而这种可以获取认同感和联系感的东西就是我们的社交货币。在社交媒体上,我们会倾向于分享那些使我们看起来健康向上,学识渊博的内容,当然也不乏“高富帅”和“白富美”。比如,今天我与xxx大佬共进晚餐(装逼,以提升自己在别人眼中的社交逼格),再比如,拍张与猫咪的合照(卖萌,展示自己有爱心,喜欢小动物)。还有,这帖子不转不是中国人(表现自己强烈高尚的爱国情怀,但我对这种以爱国情怀绑架他人的行为很想说句MMP)。。。,如此种种行为,我们都可以称之为社交货币。

        都说人类是生活在自己编织的意义之网上的动物,即我们都有一个假想的共同体,拥有着相同基本价值观,比如不能杀人,不能放火,遵守交通规则,没有这种货币是无法融入社会的,这是社会的准入条件,我暂且称之为社会准入币。基于准入币之上的还有主流社交币,代表着社会的主流价值观,譬如,摒弃重男轻女,相信科学不要迷信等等,没有这种货币你可以生存,但你得承受相应的社会排挤的代价。在社会的变迁中,准入币是变化最小的毕竟这是人类赖以生存的基本,但主流币的变化却是不断地变着。如果你把时间跨度放大,并且分割之,你就会发现,历史上不同时期,社会主流社交币存在着相当大的不同,甚至会出现两个极端,格格不入的现象,不要歧视同性恋,保护动物,科技是第一生产力,这些都是当代社会所谓的政治正确的货币,但如果回退500年,这些东西好像又并不是那么回事。你在当今社会能生存,说明你认同当今社会的主流价值观,你的言行举止无不反应着当今社会的意识形态。读过中国国民性演变历程的人都知道,我国的国民性经历了多次变革,从商周春秋战国的贵族文化到秦汉魏晋南北朝的士族文化,再到隋唐宋的平民文化,再到元明的流氓文化,再到满清的奴隶文化。。。虽然这是一个渐变的过程,但如果你单独把贵族文化和奴隶文化拿出来比对,你会发现他们确实是两个极端。一个追求独立发展,一个追求绝对服从,一个追求内在修养的精致高雅,一个追求外在的愚昧野蛮(天朝上国)。

        虽然每个时代主流币都尽不相同,但基于这种主流币衍生出的各种各样的社交币其作用却不尽相同,爱国币,鸡汤币,爱心币。。。清一色正能量。至于为何人们喜欢分享一些正能量的东西来展示自我,答案我们都清楚,因为我们喜欢。对于每天和一个杞人忧天,见识短浅,满口粗鄙之语,感觉全世界都对不起他的人相处来说,我们更喜欢和积极向上,饱读诗书,待人礼貌,广交朋友的人相处。不只是正能量能够互相传染,而且我们能从他们身上学到更有价值的东西,并且通过他们我们能进一步拓展我们的社交圈,从而提升自我价值,这就形成了一个正反馈逻辑圈。除此之外,跟他们相处,会让我们更有面子,对,就是有面子。无论是夫妻之间,亲戚之间,朋友之间,如果其中一方让另一方觉得他/她在他/她的社交圈中,能让他/她觉得有面子,那他们之间的关系会形成一种单向增益效应,即会让有面子的一方更喜欢对方,对对方更好。说是单向,但其实可以理解为镜面反射,即你对我好,那我也相应地对你好。

        总的来说,发社交货币,对于提升我们的社交来说是必要的,但每个人他的社交货币总价值存量在一段时间内是一定的,它的价值依赖于你的知识存量,你每次发行都在消耗你的知识存量。当存量一定时,它总有一天会用完,这时候就会发生如真实世界通货膨胀一样的效应,你的购买力会降低。这就是为什么你第一次看到这个人发个鸡汤文会觉得他很上进,但如果他经常发这样的鸡汤文,你就会觉得厌烦。所以啊,拓展知识存量就是增值你的社交货币,只有社交货币价值足够高,你才能购买与其等值的认同感和联系感,自我价值也能以更高的形式实现。人生苦短也好,乐长也好,人总归是社会动物(不包括极少数想要田园牧歌,箪食瓢饮的人),虽然任何人都有选择自己生活的权利,这点我不反对,但只吃存量者比将被存量所吃(来来来,喝点鸡汤补补身子)。

Harbon'Blog

对 Linux 服务器硬盘扩容

发表于 2016-07-11  |  2016-07-11   |   分类于 服务器

        最近在开发中遇到因为服务器硬盘满了,需要对硬盘进行扩容的需求,因为用的是青云的 ECS ,所以就以青云为例,记录下如何为服务器硬盘进行扩容(由于没找到如何对特定硬盘升级容量操作,所以搞了一个新的更大的硬盘)。

1.创建和挂载硬盘

首先在青云的后台管理界面创建一块硬盘,具体参数根据需要而定。
创建硬盘
创建好硬盘后,勾选中新建的硬盘,然后点击更多操作,选择加载硬盘到主机。
加载硬盘到主机

2.对硬盘进行分区,格式化,mount

新的硬盘是没有分区的,所以首先要做的就是对硬盘进行分区。用如下命令查看

1
fdisk -l


这个命令会显示所有硬盘的信息,可以看到 “Disk /dev/sdc” 下面显示 “Disk /dev/sdc doesn’t contain a valid partition table” 表明当前硬盘未进行分区。
接着运行分区命令:

1
fdisk /dev/sdc

/dev/sdc 是硬盘盘符,然后根据提示,依次输入 n, p, 1, 以及 两次回车,然后是 wq,完成保存。 这样再次通过 fdisk -l 查看时,你可以看到新建的分区 /dev/sdc1

分区好后还需要对硬盘进行格式化操作

1
mkfs -t ext4 /dev/sdc1

最后是挂载硬盘:

1
mount -t ext4 /dev/sdc1 /mount_dir

运行后你会发现系统会报错,原因是你没把 /mount_dir 以及硬盘信息添加到 /etc/fstab 文件
运行 vim 命令后你会发现这个文件是这样的

/etc/fstab: static file system information.
UUID=5c51f0c7-6ad1-41e5-8026-a75466a07617 / ext4 errors=remount-ro 0 1
UUID=553cdacd-cc3d-4409-99e5-4d6ab5db975f /var/lib/docker ext4 defaults 0 2
LABEL=YUNIFYSWAP none swap sw 0 0
UUID=8ae65141-3051-48a5-826d-1e1ddc3ca70a /home ext4 defaults 0 2

我们只需要关心前 3 个字段,第一个是UUID是你的硬盘的唯一标识,可通过

1
blkid /dev/sdc1

命令来获取,第二个字段是你要挂载的目录绝对路径,第三个是你分区的格式化格式, 后面 3 参数一般就填 defaults 0 2。
添加好后再运行之前的挂载命令就可以了。

Harbon'Blog

Docker 的一些常用命令

发表于 2016-07-11  |  2016-07-11   |   分类于 服务器 , docker
新建一个前台容器
1
docker run -it --name=container_name image_name(ubuntu) execute_command(/bin/bash)
新建一个后台容器
1
docker run --name=container_name -d image_name(ubuntu) execute_command(/bin/bash -c "echo 'test'");
进入后台容器交互命令台
1
docker exec -it container_name /bin/bash
查看当前所有容器状态
1
docker ps -a
导出容器
1
docker export container_name > xxx.tar
导入压缩包到镜像
1
cat xxx.tar | docker import - image_name:tag_name
查看容器 logs
1
docker logs -f --tail=100 container_name
Harbon'Blog

天才和疯子

发表于 2016-03-19  |  2016-03-19   |   分类于 读书笔记

        当我们睁开人生的第一眼,无论看到了什么,对你来说都是未知的,你好奇,以至于什么都要往嘴里塞,去亲身认知这个世界。随着年龄和阅历的增长,我们知道了地球是圆的,天是宇宙,太阳是恒星,我们的地球围绕着太阳转。。。。于是
我们觉得原来这个世界就这样啊。是的,这个世界就是这样,但这仅仅是我们人类科学家认识的世界,是整个人类公认的那部分,是被现有科学证明的那部分,我们就这样默默的把这部分作为了自己认知的世界。但总有人是个例外,就像总有那么一两只蚂蚁会抬头看天一样,整个人类的认知就在这些特殊的人身上开始了拓展的尝试。于是,拓展成功的人成为了天才,失败的人或者还在尝试的人被称为疯子。

        《天才在左 疯子在右》这是一本精神病人访谈记,如果你认为精神病人有什么好访谈的,都是些风言风语不值得深究,那你就大错特错了。在读这本书之前,我也曾抱着开卷有益的心态去拿起这本书,但读着读着就沦陷了。逻辑清晰且严谨的对话,天马行空的想象,书里充满了各种你意想不到的世界观。原来精神病人并不都是我们想象的那样刺激下就伤人连带口吐白沫之类。我们的印象其实只是其中的一部分人且正好是他们的发病期罢了。精神病人之所以被称为精神病人,是因为他们的世界观中的人类公认那部分存在着一定程度的扭曲,但也只能称之为扭曲,因为许多奇怪的言论我们正常人也是无法做出任何证明。这本书说所谈论的精神病人对象都是经过筛选的,他们都有着各自固守的信念,且有着严谨的依据来支撑他们的信念,如果你尝试施加以正常人的世界观给他们,也许下一个精神病人就是你。因为他们的信念牢不可破,不然也不会成为精神病人了。

        下面简单介绍其中的两篇,确实很有意思,真的。

1.生命的尽头:
        精神病人可分为两种,你马上会反应,男人和女人。确实啊,但我所说的两种是基于交流难易程度的。一种是口诺悬河涛涛不绝的,思维出乎意料的跳的那种,而另一种则是生活在自己世界的,闭口不言,或笑或哭,反正你不懂他/她在想什么,而这节讲的就是这么一位精神病人。她曾经是个很好的老师,后来突然变了。每天除了吃饭睡觉上厕所就是蹲在石头或者花草前仔细研究。好几年没跟任何人说过一句话。但要跟精神病人交流你得进入他们的世界,自己在角色上要成为精神病人,否则没法谈。于是在多次交流失败后作者选择了跟她一样做同样的事。说到这里我不得不佩服作者的毅力,真的很难想象一个正常人你要装作有精神病,整天面对的就是花草石头会是什么感觉,不疯也疯了。半个月之后她终于开始对作者感兴趣了,首先发起了对话,这之后就开始了让我不得不沉思的对话。
        生命是什么?可能你会说生命具有稳定的质量和能量代谢功能,能回应刺激及进行繁殖的开放性系统。这是科学上对地球生命的定义,看似严谨实则是模糊且广泛的定义,因为我们人类现如今对已知的生命都知之甚少,更何况是未知的生命。我们大部分人都有自己的生命观,虽然或多或少都有些出入,总不可能出现你看是条狗我看是只鸡的情况。但她的生命观就是这么特殊,我们知道大量的不同种类的细胞构成了我们整个人,我们人是一个生命。如果单单拿出人身上的一个细胞,它也是生命。按照这样的逻辑,我们来看看被她叫做松散生命的蚂蚁,蚁后是大脑,兵蚁是身体的防卫组织,工蚁都是细胞,也是嘴,也是手用来找食物,用来传递,和维持大脑。蚁后作为大脑,还得兼顾生殖系统,蚂蚁之间靠化学物质传递信号,如果你把单个细胞从人体取出,它是无法存活的,蚂蚁也一样,你养不活几只蚂蚁。这就是她眼中的松散生命,很神奇是吧。还有更神奇的,在她生命观中,石头也是生命,这又怎么解释呢?沙子和泥土种出了生命,生命最终也会变回沙子和泥土,石头是由沙子和泥土组成的,聚在一起就是生命。你可能会问为何聚在一起就是生命呢?大脑也只是各种物质的聚合体,怎么就有思维了呢。石头感觉不到我们的存在,因为我们动作太快,生得太快,死得也太快。我们就算一辈子站在石头面前它也感觉不到我们,太短了。石头那漫长的生命,在人类看来几乎没有尽头。

2.苹果的味道
        武侠小说里面经常会出现这么一个片段,“老祖在闭关修行。。。。”,一般比较牛逼一点的人物动不动就闭关,而且不是几天,而是几个月或者几年,然后出来变得更厉害了。对于闭关这种行为我们电视剧看多了,也习以为常了,最多也只是感叹下,认为那只会出现在武侠小说里,现实里?别搞笑了,你怎么可能断绝与现代文明的联系,那会疯掉的。确实这样么,但书中就有这么一位,我们暂且称之为精神病人,因为无论是什么方面他都谈不上怪异,除了闭关。对,就是闭关。根据谈话,他闭关的动机就是想体验下古代高人闭关的感觉,然后就拉了电闸,带上馒头和水,关上门窗。饿了就吃点没有味道的干馒头,困了就睡觉,其他时间就冥想打坐。据他描诉,前 48 小时大脑会各种回味美食的味道,甚至出现幻觉。但过了 48 小时后,他说,他体味到感觉的存在了。当你被各种感官所带来的信息淹没的时候,你体会不到感觉的存在。感觉其实就像浮在体表的一层薄薄的雾气。每当接触一个新的人物或者新的事物的时候,感觉会像触手一样去探索,然后最直接地反馈给自己信息。我不知道是不是真的存在这种精神上的雾气,但的确我们很擅长给新的人或事物打标签(俗称第一印象)。就这样他能隔绝现代生活,闭关一个星期,据说以后还会更长,值得注意的是他每次闭关都会准备一个苹果作为“重新回来”的开始。当决定结束的时候,他就拿出预先准备好的苹果,把苹果洗干净,看着果皮上细小颗粒觉得很陌生,愣了一会,试探性地咬下去。。。。引用他的原话“用牙齿割开果皮的时候,那股原本淡淡的清新味道冲破一个临界点开始逐步在嘴里扩散开,味道逐渐变得浓郁。随着慢慢的嚼碎,果汁中的每一个细小的颗粒都在争先恐后地开裂,释放出更多苹果的味道,苹果的清香伴随着果汁滑向喉咙深处。。。天呐。。。刚刚被冲刷过的味蕾几乎是虔诚地向大脑传递这种信息。。所有的感官,经过好几天的被遗忘后,由精神、感觉统驭着,伴随着一个苹果,卷土重来!”说道这里我不由地咽了口口水,默默地从冰箱拿起一只苹果,尝试性地咬下去,然后问自己,我真的知道苹果的味道么?我们确实被社会上各种感官刺激刺激得麻木了,但如果你真的静下心来,细细体味每一件事,你会发现大自然真的很奇妙,我们一直在寻找美,但可笑的是我们又非常擅长忽略美,是我们的审美太高了还是人类社会固有的诟病,我想我们都清楚。

        这是一个怎样的世界,我们存在的目的又是什么,这种涉及到人类终极哲学的东西真的玄之又玄,哲学也是产生疯子最多的领域,在真想没有浮出水面之前,任何的猜测都是可能的,每个人都可以保留自己独特的世界观,也许世界上唯一正常的人就是他。。。。。。

Harbon'Blog

关于捕获异常处理注意点

发表于 2016-03-19  |  2016-03-19   |   分类于 Android , 开发雷区

        在开发中经常需要写一些 try catch,不是我们有意去捕获可能存在的异常,而是 IDE 提示我们此处需要 try catch,不然编译不通过。于是我们按照 IDE 的提示写了 try catch,习惯性地也没多考虑直接在捕获体里面写了大量的逻辑交互。示例代码如下:

1
try {
  JSONObject json = new JSONObject();
  String name = JSONObject.getString("name");
  ............
  // do some thing
}catch(Exception e) {
  e.printStack();
}

如果 name 字段不存在就会直接到 catch 中,下面所有的代码都会被跳过,如果你之后的操作需要依赖被跳过的代码,那么后果你懂得。所以尽量在 try catch 中只保留真正需要 catch 的代码,如果真的需要写在 try catch 中,请检查如果某处抛出了异常保证不影响后面的执行。

Harbon'Blog

Rust OwnerShip

发表于 2016-03-11  |  2016-03-11   |   分类于 Rust

如果一个变量有被引用,那么在引用被释放之前,变量不可释放,示例如下:

1
fn eat_box(boxed_int: Box<i32>) {
    println!("Destroying box that contains {}", boxed_int);
}
fn main() {
    // Create a boxed integer
    let boxed_int = Box::new(5);

    {
        // Take a reference to the data contained inside the box
        let _ref_to_int: &i32 = &boxed_int;

        // Error!
        // Can't destroy `boxed_int` while the inner value is borrowed.
        eat_box(boxed_int);
        // FIXME ^ Comment out this line

        // `_ref_to_int` goes out of scope and is no longer borrowed.
    }

    // Box can now give up ownership to `eat_box` and be destroyed
    eat_box(boxed_int);
}

如果一个 mutable 的变量被一个不可 mutable 的引用引用,那么在引用被释放之前,变量不可更改。示例代码如下:

1
fn main() {
    let mut _mutable_integer = 7i32;

    {
        // Borrow `_mutable_integer`
        let _large_integer = &_mutable_integer;

        // Error! `_mutable_integer` is frozen in this scope
        _mutable_integer = 50;
        // FIXME ^ Comment out this line

        // `_large_integer` goes out of scope
    }

    // Ok! `_mutable_integer` is not frozen in this scope
    _mutable_integer = 3;
}

immutable 引用和 mutable引用不可同时存在,mutable 引用只可存在一次,immutable 引用可多次存在,示例代码如下:

1
struct Point { x: i32, y: i32, z: i32 }

fn main() {
    let mut point = Point { x: 0, y: 0, z: 0 };

    {
        let borrowed_point = &point;
        let another_borrow = &point;

        // Data can be accessed via the references and the original owner
        println!("Point has coordinates: ({}, {}, {})",
                 borrowed_point.x, another_borrow.y, point.z);

        // Error! Can't borrow point as mutable because it's currently
        // borrowed as immutable.
        //let mutable_borrow = &mut point;
        // TODO ^ Try uncommenting this line

        // Immutable references go out of scope
    }

    {
        let mutable_borrow = &mut point;

        // Change data via mutable reference
        mutable_borrow.x = 5;
        mutable_borrow.y = 2;
        mutable_borrow.z = 1;

        // Error! Can't borrow `point` as immutable because it's currently
        // borrowed as mutable.
        //let y = &point.y;
        // TODO ^ Try uncommenting this line

        // Error! Can't print because `println!` takes an immutable reference.
        //println!("Point Z coordinate is {}", point.z);
        // TODO ^ Try uncommenting this line

        // Mutable reference goes out of scope
    }

    // Immutable references to point are allowed again
    println!("Point now has coordinates: ({}, {}, {})",
             point.x, point.y, point.z);
}
Harbon'Blog

ubuntu 配置 nginx

发表于 2016-02-27  |  2016-02-27   |   分类于 Linux

        之前买了一台阿里云,用于搭建博客用,博客是搭好了,但访问时网址后面要加端口号,这个是个问题,感觉一点都不酷。想到 nginx 可以做反向代理转发,于是配置了 nginx.为了以后配置不用再查资料走坑,把整个配置步骤写下来作为笔记。

安装 nginx

因为是 ubuntu 系统,所以可以使用自带的 apt-get.

1
sudo apt-get install nginx

然后就是自动安装了,你不用管。如果网速慢的话可以去喝杯茶。

配置 nginx

安装好后进入 /etc/nginx/ 目录下修改配置文件,查看下 nginx.conf 文件,看看 http {} 中是否 include 了几个文件夹。一般是

1
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

至于 conf.d 和 sites-enabled 的区别,只是为了分类而已。我选择编辑 sites-enabled 文件夹下的 default 配置文件。server{} 中加入如下代码:

1
listen 80;

server_name xxxxx;

location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        proxy_pass http://0.0.0.0:4000/;

        # Uncomment to enable naxsi on this location
        # include /etc/nginx/naxsi.rules
}

因为需求比较简单只是单一端口的转发,所以只配置了一个 4000 端口,就是我的博客的监听端口。

检查配置文件正确性

执行如下命令检查配置文件语法的正确性:

1
nginx -t nginx.conf

如果有错会直接报错到具体行数

重新加载配置文件

如果修改了配置文件不需要重新启动 nginx 服务器,只需执行如下命令:

1
nginx -s reload

到此为止简单的端口转发完成了。

Harbon

Harbon

7 日志
8 分类
2 标签
友链
  • GAY轲
  • FogFog
  • xuezhang东
© 2017 Harbon
由 Hexo 强力驱动
主题 - NexT.Mist