Giter Club home page Giter Club logo

blog-zh's Introduction

blog-zh's People

Contributors

linde7777 avatar

Stargazers

 avatar

Watchers

 avatar

blog-zh's Issues

《霍乱时期的爱情》摘录

父亲未能及身见证自己的荣耀。当他发现那种他在别人身上见到并深表同情的无法医治的病症出现在自己身上时,甚至都没有徒劳地去尝试抗争,便把自己隔离起来,以免传染给他人。他把自己关在仁爱医院的一个杂物间里,对同事的叫门声和亲人的哀求声充耳不闻,对人满为患的走廊地板上那些垂死挣扎的霍乱病人的惊恐号叫也泰然处之,他给自己的妻子儿女写下了一封充满炽烈爱意的信。在信中,他流露出对生命无比的热爱与眷恋,以及由此而生的感恩之情。那是一封长达二十页的诀别书。信纸被揉搓得皱皱巴巴,从越来越糟糕的字迹中可以看出他的病情每况愈下。不需要认识写信的人,也能看得出那个签名是用尽最后一口气写上去的。遵照他的遗愿,他那灰白色的遗体被混葬在公共墓地,没有让一个爱他的人看见。

回忆总是会抹去坏的,夸大好的,而也正是由于这种玄妙,我们才得以承担过去的重负。

城市的灯火已消失在地平线上。从漆黑的瞭望台上看去,平缓而沉寂的河水和一轮满月下两岸的草丛,都变成了一片泛着磷光的平原。偶尔可以看到一间间茅屋,旁边点着熊熊的篝火,示意人们那里出售供轮船锅炉使用的木柴。

弗洛伦蒂诺·阿里萨小心翼翼地把谈话转向不那么敏感的话题,但他的彬彬有礼是如此明显,她知道自己已被识破,而这更增加了她的愤怒。

他本想像箭一般快速地凭借本能做出反驳,但年龄的重负战胜了他:他从未在这样短暂的谈话中感到如此筋疲力竭,他觉得心脏在隐隐作痛,每跳一下,便在动脉中产生一声金属般的回响。他感到自己衰老、凄凉、无用,有一种想哭出来的急切渴望,以至于再也说不出什么话来。

“这样的死法真是荒唐啊!”她说。 “死是不会有滑稽之意的。”他说,又感伤地补了一句:“特别是到了我们这个年纪。”

他颤抖是因为被一种恐惧感所包围:他以某种令人难以置信的清醒意识到,如果他死了,丧钟也会这样为他而敲。

那个世界上他最爱的女人,那个他毫无怨言地从一个世纪等到另一个世纪的女人,很可能会来不及挽着他的手臂穿过到处是圆形坟冢和在风中摇曳的罂粟花的漫漫长街,帮助他平安到达死亡的彼岸。

她丈夫爱她胜过一切,胜过世间所有的人,但这也仅仅是为了他自己:这是他的神圣义务。

照片中的他穿着一件大衣,仿佛钻进了一只熊的身体,倚在一座只剩下绑腿的雕像底座上。

她看见弗洛伦蒂诺·阿里萨正在与船长交谈。她觉得他像变了个人似的,不是因为她此时已对他另眼相看,而是因为他真的变了模样。他没有穿他那身穿了一辈子的参加葬礼似的衣服,取而代之的是一双舒适的白皮鞋,亚麻长裤,亚麻开领短袖衬衫,胸前的口袋上绣着他姓名首字母的花押字。此外,他头上还戴了顶苏格兰帽,也是白色的,那副他始终戴着的近视镜上则夹了一副可拆卸的深色镜片。显然,这些东西他都是第一次穿戴,而且是专为这次旅行才买的。只除了那条早已过旧的棕色皮带,费尔明娜·达萨一眼就看见了它,仿佛发现了汤中的苍蝇一般。看到他如此明显地为自己着意打扮,她的脸颊不禁泛起一抹火辣辣的红晕。跟他打招呼时,她心慌意乱。见她如此,他也慌乱起来。当两人意识到他们的举止竟像情侣一般,便越发不知所措,而当他们又意识到自己的窘态时,更是慌乱得一发不可收拾,以至于萨马利塔诺船长也注意到了这一点,心中不禁同情地为之一颤。

练习引体向上

抓杆的时候,用手心握杆容易起茧子,把杆子靠近指跟可以减少老茧的产生,不过更费力。建议买个手套。

关于“道理我都懂,但就是不去做”的思考

我觉得有两个原因:

  1. 忘了
  2. 骗自己会成为幸运的那一个人
  3. 几乎每个人都有的拖延症

列个清单,每天看一遍,或者自己纠结该怎么做的时候看一遍。

  1. 当你身体有点不舒服:定期检查身体,尤其是身体有不适的情况下,无论是在健康方面还是金钱方面,都对你有利。
    身体的健康绝对不能受到拖延症的影响!我们总是以“没空'"耽误我复习”等理由推迟去医院,身体的健康应该放在最高优先级!
  2. 当你遇到挫折:遇到挫折的时候,情绪是没有用的,一步一步行动起来才有用。
  3. 尽量保持友善

再强调一遍,是每天看一遍这个清单,把它放在你容易看到的地方,阅读一遍一分钟都不到。

《经济学原理》

这是一本教科书,但写得很有趣。

这本书回答了这些问题:
为什么很少有奢侈品税?
为什么贸易能使每个人的状况更好?
为什么给汽车配置安全带后,行人的死亡率反而上升了?
一条人命值多少钱?
设置商品价格上限、下限会带来什么影响?
设置工资下限会带来什么影响?
设置房租上限会带来什么影响?
政府赤字为什么会抑制商业发展?
为什么石油输出国组织(OPEC)不能保持石油的高价?
禁毒增加还是减少了与毒品相关的犯罪?
通货膨胀的好处和坏处
(未完待续)

Git教程哪家强?

MIT的课程语速太快,某付费课程讲的太拖沓,Git的官方文档我也看不下去,最后发现廖雪峰的Git教程挺适合我的。
补充:
1.进入你的github主页,点击右上角头像,点击settings,点击左侧的Respositories,把Repositories default brach的名字从 main 改为 master
2.在VS Code中,用Ctrl+`打开终端,用Ctrl+J关闭终端,你可以在终端中输入git指令,也可以用VS Code里面的git插件

另外一个图形化教程https://learngitbranching.js.org/

如何无痛地减少玩游戏的欲望?

原理

“由俭入奢易,由奢入俭难”,当你玩过高质量的3A作品,就不想再碰低质量的游戏,而高质量游戏的数量是很少的。

以下游戏都能给你带来思考和感触,帮助你“由俭入奢”:

Red Dead: Redemption II (荒野大镖客:救赎2)

我心目中的Top1,最能代表“第九艺术”这一称号。剧情、画质、音乐一流,历史还原得很好,细节很多,8年的开发时间不是盖的,唯一一部我完整看完结尾名单的作品(长达30分钟)。 故事发生在1899年美国西部,主角是一个帮派的二把手,看到这里你可能会想:“什么**西部牛仔游戏,狗都不玩!” 我之前也是这么想的,然而通关之后我只想给R星磕头。

玩过这款游戏后,不仅手游不想玩了,以后接触其他3A作品也觉得不香了。这个剧情的沉浸感很强,不要在网上搜索相关攻略,以免被剧透,实在要搜,开访客模式,以免平台记住你的喜好给你推荐相关的视频导致剧透。

Metro: Exodus (地铁:离乡)

画质不错,不过流程要比大镖客短得多,建议每章都慢慢探索一遍。故事发生在全球核战后的废土世界,第一遍玩这游戏还是挺吓人的(不得不承认,即使猛男如我也会被吓到)。被吓得玩不下去就下载个风灵月影修改器吧,开修改器之前唯唯诺诺,开修改器之后重拳出击!这部作品是地铁三部曲之一,前两部是 Metro: 2033 和 Metro: The Last Light,画质比GTA5低一点,依旧很吓人,但剧情不错,值得一玩。 开二周目的时候,可以试下油管上的二周目的全收集存档

The Witcher 3 (巫师3)

如果你玩过大镖客2之后再来玩这个,你会觉得很劝退,因为它的前期地图氛围压抑,马的操作手感僵硬,画质跟大镖客没法比,但瑕不掩瑜,值得一玩,剧情和音乐很不错。它的次世代版本快出来了,画质会有一波提升,可以等一等。你在游戏里作出的选择会影响剧情的走向,你要认真思考应该怎么做。一定要买年度版,不要只买本体,为了避免剧透,血与酒DLC建议在主线通关后玩,石之心DLC什么时候玩都行。

补充

凡是要像打工一样收集资源的游戏,最好都开个修改器刷资源。比如GTA Online,刷钱之后我已经玩腻了,节省了一笔时间。我实在不能理解为什么有人每天像打工一样刷副本。

游戏如LOL、CS之类的竞技类游戏,都是要练技术的(补兵,瞬狙,甩狙),玩个游戏还要苦练技术对我来说是不可接受的,那是游戏玩我,不是我玩游戏。

一个PS5的价格是六七千左右,跟你几年下来买的皮肤的价格也差不多了,再加点钱就可以配置一台不错的电脑。攒点钱买套设备,然后把平时玩手游的时间投入到3A作品上,最后自然而然地减少玩游戏的欲望,你不会后悔的。

尽量保持友善

如果有人打扰到你,比如半夜大喊大叫,用友善的语气说“这位仁兄能不能小点声?”,还是把人家的族谱问候一遍?肯定是前者更容易让对方闭嘴,如果没有效果,再去问候他的族谱。这样做的另一个好处是:如果将来你不得不求助于他,气氛也不会很尴尬。

看到违反直觉的东西,不相信它是很自然的,但应该尽量保持友善,不要还没搞清楚就开始嘲讽。比如你听到这么一种说法:“舰载机着陆后要加大油门”,可别嘲讽,这是对的,见冷知识

烹饪

鸡蛋煎饺

把饺子煎得焦黄之后,把蛋液倒入,一个鸡蛋就够了,否则鸡蛋太厚,背面已经焦黄了,正面还没凝固
相比于在碗的边缘敲鸡蛋,在平面上敲鸡蛋能够大大降低吃到碎蛋壳的概率。
推荐千味央厨的速冻饺子

烤肉

最好用那种带炙烤功能的烤箱,或者用木炭。普通烤箱没法把肉表面的水分带走。

薯条

把土豆条弄干很麻烦,不如切成小块直接放进烤盘里烤做薯角,烤完后撒点盐就行。可以搭配豌豆、花生一起烤。

牛排

牛排的厚度很重要,要用铸铁锅来煎牛排,不要用不粘锅,会烧坏。

炖牛肉

一斤牛肉配两个洋葱,放入高压锅,洋葱切片放下层,不用加水,一定要放姜片。有人说要在炖完之后再加盐,不然会很柴,我没遇到过这种情况。

爆米花

加热前就要把盖子盖上,大部分都爆出来的时候关火,别想着把全部玉米粒都能爆出来,剩下那些爆不出来的玉米粒拿筛子筛掉。

烤生蚝

快递寄过来的冷冻生蚝会有股腥味,附赠的蚝刀不好用,特别难撬,撬完之后还得清洗碎渣,十多个生蚝处理了两个小时,给我留下了很深的心理阴影。

剥虾线很麻烦,建议直接买那种剥好的虾仁 冷冻虾仁的虾线也没有去除

烤苹果

如果你不怎么喜欢吃苹果,可以试试这个,B站有教程,味道跟炖雪梨差不多。

烤乳鸽

一定确认一下肉够不够多,我之前在某买菜软件买了一个,给我整了个皮包骨的鸽子......

每天30分钟,3天掌握Vim的基本操作

为什么要学Vim?

因为用Vim来写代码是真的很爽,用了之后就再也回不去了。
就我个人而言,相比于B站上那些动辄二十几分钟的教程以及那些教学游戏,Vim自带的Vim tutor更适合我。

用VS Code学习Vim tutor

  1. 安装VS Code的Vim插件
  2. 安装Vim
  3. 进入Vim的安装目录(我的是:D:\vim\vim82\tutor),找到tutor.zh_cn.utf-8这个文件,用VS Code打开,然后就可以开始练习了。

当你练习了3天后,建议学下这些按键,很有用(没练过Vim tutor看这些会很痛苦):
Ctrl d 往下移动半页
Ctrl u 往上移动半页
b 将光标移动到上一个单词的开头
A 将光标移动到该行的末尾,然后进入insert模式
= 按两次'='即可整理该行格式,或者按v选中几行代码,再按“=” 。如果是在IDE中,建议用IDE的整理格式快捷键,IDEA的快捷键是Ctrl+Shift+L,VS Code的快捷键是Shift+Alt+F

补充

如果你要在Linux上使用Vim,可以试试这个:https://github.com/amix/vimrc ,复制个指令就能配置好。
谷歌和火狐浏览器推荐Vimium插件
推荐《Vim实用技巧》


更新:看到有人说用Vim tutor,花了好几个星期才适应Vim。我好像是个例外,我三天练了三次后就开始适应用Vim写代码了。用Vim tutor练习的朋友能留个言吗,我想统计一下这个方法的有效程度。

公开课踩坑

建议

母语不是英语的老师,说话反而更容易让人听懂,他们一般没有过快的语速,没有很多连读, 比如CS186 Fall 2020的两位老师。 我得承认印度英语有时候不太容易听懂

建议用Anki记录课后习题的错题,Windows的截屏键是Shift+win+S,截屏后Ctrl+V即可粘贴

大多数不公开的课程视频都能在B站上找到,没有字幕的视频,可以用Chrome自带的实时字幕功能:Settings->Advanced->Accessibility->Live Caption

先Fork官方给出的代码,再克隆到自己的本地,这样省事点。如果你是直接从官方克隆仓库到本地,你可以用以下步骤:

  1. Fork官方仓库,你会得到官方仓库的一个副本
  2. 复制该仓库的SSH链接
  3. 在你的本地仓库输入git remote -v查看你的remote链接,确认你的remote链接是官方仓库的,接下来我们要替换这个链接。
  4. 在本地仓库输入git remote set-url origin 你复制的SSH链接,再输入git push -f-f会让你的本地仓库的内容强制覆盖你远程仓库的内容

资料

https://github.com/PKUFlyingPig 飞猪的仓库里有很多公开课资料

https://conanhujinming.github.io/comments-for-awesome-courses/ 名校公开课程评价网

https://github.com/izackwu/TeachYourselfCS-CN/blob/master/TeachYourselfCS-CN.md TeachYourselfCS

《麦田里的守望者》

讲的是一个辍学高中生在外面到处逛的故事,我读了两三遍也没悟出什么大道理来,但就是很喜欢。
英文原版的词汇不难。

大学生活(更新:图书馆)

除了图书馆,你也可以去教室自习。图书馆有个坏处就是,有些图书馆管理员一天不管人就浑身难受,过一两个小时就过来大声提醒同学们戴口罩,30度以上才能开空调,置物架上面的雨伞周四前要清走,垃圾一点的图书馆九点半就关门。

假期在家如果是自己做饭,不要做那些费时费力的菜,很消耗精力,导致没心思学习。
推荐:
1.千味央厨的速冻饺子,玉米猪肉味的很好吃,我试过其他家的饺子,都没这家好吃
2.半成品肉排(鳕鱼排,鸡排, 牛排等,一般不需要解冻)
3.速冻什锦菜,倒进米饭里一起煮
4.香肠
5.肉丸
6.不建议买速冻虾仁,因为这玩意一般没去虾线,去虾线是很痛苦的。
7.买几包一次性手套,洗锅、切菜的时候戴上,免去洗手的麻烦。

我个人用的是美团买菜,下单后第二天在家附近的便利店就可以自提。

Debug记录

先判断再赋值还是先赋值再判断?

            for (int i = 0; i < k; i++) {
                if (lastNode == null) {
                    return dummy.next;
                }
                lastNode = lastNode.next;
            }
            ListNode next = lastNode.next;

这是Reverse Nodes in k-Group中的一个问题。
这样写会导致ListNode next=lastNode.next出错,因为lastNode可能为null,null.next是非法的。
要把if(lastNode==null) return dummy.nextlastNode=lastNode.next调换一下位置。

安装8.0版本的Mysql时在Starting the server步骤卡住

安装5.7版本的Mysql server,问题解决

用指针处理int数组

  int len = 9;
  int *arr0 = (int *)malloc(sizeof(int) * len);
  int *arr1 = (int *)malloc(sizeof(int) * len);
  
  //wrong version:
  for (int i = 0; i < len; i += 1) {
    *(arr0 + sizeof(int) * i) = i + 1;
    *(arr1 + sizeof(int) * i) = i + 1;
  }

  //correct version:
  for (int i = 0; i < len; i += 1) {
    *(arr0 + i) = i + 1;
    *(arr1 + i) = i + 1;
  }
  

写汇编写懵了,C语言的编译器会自动帮你乘上sizeof(int)。

Junit Test在Debug模式闪退

在跳出一个循环的时候,Debug模式自动退出,Console显示Junit抛出了一个Timeout Exception。把原作者给出的@Test(timeout = 1 0000)的限制改为@Test(timeout = 1 0000 0000)后,问题解决。
奇怪的是执行Junit Test不会抛出Timeout Exception。

if if if 还是if else if else if?

我平时一直喜欢用

if( ) {
}
if( ) {
}
if( ) {
}

这种格式写if语句,很少用else,因为我觉得if else叠加次数后很乱。
不过有时候必须要用if else if,比如下面的代码:

if (array[x][y] > target) {
     y -= 1;
}
else if (array[x][y] < target) {
     x += 1;
    }
return false;

假设第一个if语句是if(array[3][0]>target),执行完第一条if语句后,y变为-1,如果进入第二条语句,会产生IndexOutOfBoundaryException

if if if 判断完一个if语句后,会接着判断下一个if语句。
image

if else if else只会判断其中的一个if语句
image

相同的hashcode

public static int hashCode(int[] array) {
        int total = 0;
        for (int element : array) {
            total = total * 256;
            total = total + element;
        }
        return total;
    }

public static void main(String[] args) {
    int[] array1 = {80, 103, 142, 91, 160, 250, 7, 7, 7, 7};
    int[] array2 = {130, 105, 209, 7, 7, 7, 7};
    int hashCode1 = hashCode(array1);
    int hashCode2 = hashCode(array2);
    System.out.println("hashCode1: " + hashCode1);//117901063
    System.out.println("hashCode2: " + hashCode2);//117901063

    }

这个hashCode()函数会产生相同的hashCode,256=2^8,相乘几次后会溢出,hashCode取决于数组的最后几位数字

变化的stack.size()

for (int i = 0; i < stack1.size(); i++) {
       stack2.push(stack1.pop());
}

for循环写习惯了,干啥都要用for循环。
for循环判断条件中的stack1.size()会随着stack1.pop()变小
应该改为while(stack1.size>0)

《随机漫步的傻瓜》

别关注概率,而是关注数学期望

假如玩一局俄罗斯转盘游戏,赢了就能得1亿元,你应该玩吗?你应该不会,你有六分之一的概率会去见马克思。
假如这个俄罗斯转盘的弹匣有三千发,其中只有一发子弹,你应该玩吗?感觉风险挺低的,似乎值得一玩,然而如果你不幸抽到有子弹的那一发,那么一切都将归零。

未完待续

游戏是一种很好的讲故事的方式

小说无法描述画面,没法让读者身临其境;电影能表现画面,但受限于时长;把故事放到游戏中能解决这些问题,典型的如 Red Dead: Redemption II (荒野大镖客:救赎2)

由于没有电影那么小的篇幅限制,《大镖客》有足够的时间在游戏任务中刻画23个帮派成员的形象(这23个成员我每个都能叫得上名字,比我能叫出的大学同学的名字还多)。在游戏中,你能听到帮派成员的日常对话,
TODO

《异类》

书中提到的几个例子:

为什么比尔盖茨、乔布斯等IT界大佬大部分都出生于1953到1955年间?

为什么加拿大青年冰球联赛的精英球员大都出生在1到3月?

客机的失事和机长的族裔有什么关系?

计算机组成原理

介绍

建议学习Summer 2020版本,视频在课程主页可以观看,Disscussion公开,还有视频解答。
15年版本的Homework虽然公开了,但是没有答案,不建议学习。

RISC-V插件

VS Code有RISC-V插件,作者是hm,比课程官方给的网页版模拟器和JAR包要好用,强烈推荐。

在Run and Debug之后,会弹出新的Terminal
image
点击bash就可以切换到原来的Terminal
Debug的时候把鼠标移动到变量的上方就能查看变量的值

资料推荐

如果你补码和浮点数没看懂:
https://www.cs.cornell.edu/~tomf/notes/cps104/
里面有解释补码和浮点数的文章

Adobe Acrobat DC使用踩坑

如果你阅读pdf的时候感觉鼠标滚轮滑动页面很慢,你要把鼠标移动到页面下方,在弹出的窗口中选中“启用滚动”(见下图)

image

在阅读pdf的时候,如果出现了输入符号
image
按Esc键即可退出输入模式,这样方便用方向键控制页面滑动

怎么长期坚持一件事

让你的大脑产生不愉悦的激素的事情都是无法长期坚持的,如果意志力能长期压制激素,那几百万年的进化真是白费了,举个例子,大多数抑郁症患者都不能通过意志力长期硬刚激素,得通过服药来调节激素。

所以说想要长期坚持一件事,你得让你的大脑多分泌多巴胺,减少分泌那些让你不愉快的激素。你要选一个不那么痛苦的方法来达成你的目标,完成每日任务后给自己奖励。

比如每天背30个新的单词很痛苦,就通过看自己感兴趣的油管视频,看自己喜欢的英文书来学英语。

学数据结构,学校的课不想听,浙大的课听得云里雾里的,左程云的教程居然有100多个小时,最后发现CS61B挺适合我的,完成今天的计划后,晚上奖励自己放松一个小时。从长期来看,学习这些课程能让我在未来得到理想的工作,每完成一课,我就离目标更进一步,这也是一种奖励。

学Git,官方文档看不下去,就再去找其他教程,直到找到适合自己的。

你想减脂,不一定非要吃鸡胸肉,你可以吃去皮鸡腿肉。

从另一个角度来看,一天之中总得有什么活动来打发时间。玩游戏?好玩的游戏不多(见:如何无痛地减少玩游戏的欲望?);看电影、电视剧?好的电影、电视剧也不算多;出去玩挺不错,但一直玩也是很累的;而计算机领域的学习资源是很多的,非常杀时间。

更新
学习的时候应该抱着一种好奇的心态。计算机科学家们是如何从数组和链表这两个基本的数据结构,发明二叉树、红黑树、堆等数据结构的?C/Java是如何变为只有0和1的机器码的,CPU又是怎么理解机器码的?

CS144 计算机网络

介绍

我学的版本是Fall 2021
Youtube视频,搭配字幕插件使用,但是部分视频的字幕被识别成了其他语言
B站视频,没法用插件,但字幕没问题

Lab是用C++写的,如果没学过C++但是有Java基础,可以看下https://www.cprogramming.com/tutorial/java/syntax-differences-java-c++.html
C++和Java的区别不是只有那么一点,我写不动了,等有空学官方建议的前置C++课程再来。

自顶向下方法

Computer Networking: A Top-Down Approach 写得很好,有很多比喻来帮你理解概念,配套网站有动画演示。这本书没有很多长难句、生词,大部分都是描述性的东西,不需要停下来思考很久,一天看二三十页真不难,整本书也就700来页。
配套网站的练习是Python的,没有答案,建议写Java版本的,有答案:
http://gaia.cs.umass.edu/kurose_ross/programming/
其他资料:
http://gaia.cs.umass.edu/kurose_ross/index.php
checks: http://gaia.cs.umass.edu/kurose_ross/knowledgechecks/
PPT: https://gaia.cs.umass.edu/kurose_ross/ppt.php
exercise: https://gaia.cs.umass.edu/kurose_ross/interactive/
lecture: https://gaia.cs.umass.edu/kurose_ross/lectures.php

环境配置踩坑

我用的是官方提供的镜像,省事一点。

  1. 在Connect to your VM环节,教程是这么说的:

For Windows users needing an SSH client, we recommend Putty.

具体步骤:在VirtualBox中,点击右下方的Network->Advanced->Port Forwarding,就能看到Host IP 和 Host Port,这就是你在Putty中要填写的。

  1. 配置教程中提到的Shared Folder在哪?
    进入系统后的默认路径是/home/cs144,你要切换到/home,再输入cd ..,就能看见media文件夹,Shared Folder就在这里面

Git配置踩坑

别忘了添加CS144虚拟机的ssh
最坑的一点就是,如果你用vim打开id_rsa.pub,然后复制,在GitHub的文字框里粘贴出来的文本是和原文件不一样的,对比下原文件你会发现,某些地方多了很多空格,你得把那些空格删了,否则GitHub会警告你格式错误

需要删除空格的地方已用红圈标注:
image

Lab 0

看lab0的pdf就行,lab0的环境搭建里面有写。
make语句要在build文件夹里面执行,执行测试前,记得先执行一下make -j4

提示:Webget.cc要用哪些API? Address类 TCPSocket类以及其中的一些方法

冷知识

舰载机在降落到甲板后必须加大油门,直到确认飞机已经稳稳地勾住拦阻索。这样做的原因是万一飞机没勾到拦阻索,也能有足够的速度复飞。

在恐怖袭击发生之前,股票市场会出现异常交易。因为恐怖分子在实施袭击之前,会告诉亲朋好友,提前做空特定股票(航空、游乐园等受袭击影响的股票)。911事件发生的几天前,就出现了这种现象。伦敦警方曾利用这个现象阻止过一起袭击。

所有系统都能解压Zip格式,但Rar就不一定了,所以发压缩包的时候最好用Zip格式 。

把客机的机身削薄1mm,不会对机体强度产生什么影响,但减轻的重量可以节省相当一笔燃油费(一年大概是50到150万美元之间,具体数字忘了)。

美国空军飞行员可以戴眼镜。

《软技能:代码之外的生存指南》效率提升部分

1.番茄工作法起作用的原因是:它能够量化你的工作时间,你可以看到自己一周能完成多少个番茄钟。
注意,一天你有8小时的时间并不代表你能完成16个番茄钟,这是很正常的。
2.制定一些惯例,比如周一、周三、周五固定跑步三圈。不要安排远超你能力的任务,如果增加一些任务量之后你觉得很难,以至于无法长期坚持下去,也一定要坚持一周,再把任务量减下去,否则你会失去对惯例的尊重。

用VS Code连接服务器真是爽爆了

VS Code的界面比PuTTY的好看。
官方的连接教程太长,这里有个简短视频版本https://youtu.be/7kum46SFIaY?t=59

文字版本:

  1. 进入插件商店,搜索remote,安装

  2. 选SSH链接
    image

  3. 输入用户名和地址。用户名和地址是啥?去看你的服务器提供商的远程链接教程,里面有。
    image

《枪炮、病菌与钢铁》

这本书回答了这些问题:
为什么是欧洲殖民者屠杀美洲原住民,而不是反过来?
抛开地形的因素,大陆的形状如何影响物种传播?
(未完待续)

英语学习

插件推荐

Chrome自带的字幕功能:Settings->Advanced->Accessibility->Live Caption,可以配合任何网站上的音频内容。

Youtube按C键可以隐藏字幕,方便对课件截屏。

沙拉查词Chorme内置划词插件,比欧路词典好用,还支持Anki自动制卡。

Language Reactor, 根据你的词汇量自动高亮单词(好像没啥用,不能自动显示高亮单词的释义)
功能:可以通过快捷键在各个句子之间切换、重复播放一句话、智能暂停、自动隐藏Youtube状态栏。
缺点:经常报错

Language Learning with Netflix & YouTube跟上一个插件差不多。
缺点:使用一段时间后,字幕大小有问题,需要刷新页面;查词速度比较慢。我个人觉得不如Language Reactor好用

语法检查插件Grammarly

Youtube频道推荐

Mustard 介绍历史上有意思的载具:“里海怪物”,装了6台喷气发动机的超音速轰炸机, 力大砖飞的米格25
Talk at Google 人物访谈:演员、科学家、脱口秀演员都有
SmarterEveryDay 有趣的科普视频:海岸警卫队的Z字搜救法,大名鼎鼎的魔术师Houdini是怎么死的
Vsauce 科普
MIT OpenCourseWare F-22的飞行控制, 如何做一个演讲,线性代数,算法
Harvard Business School 推荐Take a Seat in the Harvard MBA Case Classroom,看得我都想去读了

递归练习

网址:https://codingbat.com/java/Recursion-1

我的答案https://github.com/Linde7777/CodingBat_Recursion1_Solutions

建议先在里面注册个账号(花不了你一分钟的时间),写代码之前记得登录,这样它就会帮你把你的代码保存下来。
第一次接触递归一脸懵逼很正常,我一开始也这样,现在我感觉我的递归写得比以前好很多了。

刚接触递归,你可能很想定义一个变量来存储数据,使用return 常数+function(); 这种语句,不用声明新的变量(实际上你也不应该声明新变量),就能实现类似static修饰符的效果。
return func(...); 会让函数开始“循环”。
递归函数里面必须设置一个退出条件,比如 if(n==0) return 123; 不然函数执行起来的时候就会陷入死循环。

被说烂的话题:人总是会给自己找借口

  1. “学校教学质量太烂,拖累我学习“
    实际上,你完全可以在课堂上写代码,就我个人情况而言,不管是专业课还是水课,老师都不会理,辅导员来了也不会理。
    "可是我们班上都没有人带电脑来上课“ 我是班上第一个带电脑来上课的,我起了头之后现在也有人带电脑上课了,目前我还没受到制裁。
    唯一的例外就是毛概课上老师说“有些同学上课旁若无人地看电脑,......,最好把电脑收起来,给彼此留一份体面”。我没理他,继续写代码,不知道期末会不会被穿小鞋。 悲报:以后不能在毛概课上用电脑了

  2. “学校统一热水供应,没法洗冷水澡”
    浴室里一般都有水龙头,买水管就可以洗冷水澡了。

  3. “学校一刀切封校,领导随意进出,想抗议又怕被处分,而且我现在也没有出去的需求”
    别等铁拳砸到了你才觉得疼,要是你将来想出去实习面试,结果领导不给批,你就会后悔当初没加入抗议队伍。
    权利是抗争得来的,不是领导施舍的。
    打举报电话的时候用小号打;用网站举报的话,开虚拟机,在虚拟机里面举报。

  4. “学校图书馆插座太少,搞得我电脑支撑不了多久,所以我很少去图书馆”
    买个排插就行了。

广州和深圳的生活

广州的医疗资源比深圳多,深圳的医院刚放出来号,就没了。

不要穿白鞋子坐广州3号线,我晚上10点多坐的,鞋被踩了十多个脚印。白天10点多后还好。

《成长的边界》

  1. 一些有趣的事实:
    你一定听说过那个“棉花糖实验”,参与这个实验的研究人员正田佑一(Yuichi Shoda)反复强调过,有很多吃掉棉花糖的学龄前儿童在长大后的发展也很不错。
    心力衰竭或心脏骤停的病人如果在全国心脏病学会议期间被收治,死亡的可能性就会降低,那时,数千名全国顶级心脏病专家都不在医院里。因为专家手里有了锤子,看谁都像钉子,本来不适合做支架的也给支架专家整上了支架。
    2014年获得世界杯冠军的德国队,队员们全都是典型的“后发制人”型选手——直到二十二岁甚至二十二岁以上,他们此前都没有踢过专业联赛,最多只是在业余联赛中登场。在儿童和青少年时期,他们把时间都花在踢野球或者其他项目上。

  2. 你可能听说过一万小时定律,它建议从小进行专业化训练,众多高手都积累了一万小时经验,但在某些领域,这是不适用的。
    在高尔夫或者国际象棋中,每一球或者每一步都是在既定的范围内按照规则行事,即刻就能看到结果,类似的挑战会重复出现。当我们在打高尔夫球时,球的落点不是太远就是不够远;球的线路不是左曲球、右曲球,就是直球。球手发现问题,尝试改正,再次击球,如此练习数年。这也是“刻意练习”的定义——既要遵循一万小时定律,又要尽早开始技术性练习,越早越好。
    有些领域与高尔夫和国际象棋相反:竞赛规则通常不甚明晰,或者不够完整;重复的模式时有时无,或者不够清楚;而反馈常常滞后,或者不准确,或者两者兼有——这就是学习环境“恶劣”的领域。当专业消防员面临全新的情况,比如摩天大楼火灾,他们会发现自己突然失去了多年来在普通房屋灭火中所培养出的直觉,很可能就做出错误的决定

  3. 在研究领域,如果团队里来自不同学科的成员越多,那么这个团队解决问题更快。 在一个预测某个事件的发生概率的比赛上,由一些来自不同专业的志愿者组成的队伍击败了专家队伍,所以,你应该向专家咨询事实,而不是意见。

学习一门技能可以让你在观察事物时多一个视角

有段时间闲得无聊去学了一点PPT制作技巧,从那以后看发布会的PPT都会注意一下它们是怎么设计的;后面看了公开课 How to speak,了解到了以教学为导向的PPT应该尽可能地简洁,而不是像发布会的PPT那样需要什么技巧。

看了摄影的入门教程后,看电影、照片、游戏的过场动画时都会顺带观察一下它们的拍摄角度,光线布局。

学了算法后,会意识到电脑的普通删除其实就是把那块存储区域定义为“空闲状态”,以后下载文件时可以直接覆盖那部分区域,并没有真正地删除;上传文件到XX网盘时,网盘会先让你的电脑计算文件的MD5码(特征码),利用这个特征码,XX网盘会检查服务器里是否已经存有这个文件,如果已经存了,就不用再花费带宽、分配新的存储空间,把一个指向该文件的指针放到你的网盘账户就可以了。

犹豫不定的时候怎么作出选择?

  1. 来自杰夫·贝索斯的方法(Regret Minimization Framework):如果你在80岁的时候回想起来会后悔没做这件事,那就去做。

  2. 抛硬币,如果结果出来之后你还想再抛一次,那么你的心中已经有答案了

《How to: 如何不切实际地解决实际问题》

很有趣的一本书。
你将学到(但不限于):
如何驾驶没有安装阻拦钩的客机在航空母舰上着陆?
如何在敌对的航空母舰上着陆?
如何驾驶国际空间站着陆?(当然,只是保证能着陆,可没保证你能活下去)

有时候仅到脚踝那么深的水就能把人冲倒

地球大气层的重量相当于一层10米深的水。要想算出一颗流星能不能砸穿它,你可以想象它真的砸中了10米的水层。如果一个东西的重量比它抵达地面时排开的水量还要沉,那它多半可以砸穿地面。

航天飞机有可能在世界上任何地方被迫脱离轨道,机上带有一本书,里面画了所有跑道的图表,就像是一大本图画书,显示了跑道朝向之类的所有信息。

撑杆跳:跳出的高度其实和杆子的关系远没你想象的那么大。关键不是杆子的弹性有多好,而是运动员跑得有多快。杆子只不过是一个把速度从向前变成向上的好工具。从理论上讲,运动员完全可以用别的办法来改变方向。比如,他们可以不用杆子,而是跳到滑板上,沿着平滑的弯曲斜坡向上,也能跳到几乎相同的高度。

冰很重,堆在地上的时候会把海洋往自己这边拉动一点。冰融化后,海平面的平均高度是会上升的,但是因为大海不再被那么用力地拉向陆地,所以在冰融化的周边地区,海平面其实会下降的。

PuTTY使用踩坑

PuTTY怎么默认最大窗口,怎么设置字体,自行谷歌即可。

要注意的点在于:

  1. 更改设置后,记得回到Sessions界面,选择对应的Saved Sessions,点击Save

  2. 如果你有多个服务器要连接(比如一个远程服务器,一个本地虚拟机),配置完后,双击对应的Session就能连接上,不要点Open

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.