碎碎念一

如果这段时间问我最喜欢的节气是哪个的话,我一定会说清明。好像在中国人观念里,清明是一个略带丧的节日,可在我眼里,清明附近才是真正的春天,它基本褪去了春寒料峭,脱下人们繁厚的冬装,浴乎沂,风乎舞雩,万物都是欣欣向荣的样子,春和景明。

我是一个从小就向往城市的人,金陵三载,历经些许事后,这次回来,我好像格外喜欢家乡这片土地,爱她平坦辽阔,爱她春日里充满生机的样子,心境不同了吧。这次在家我也额外向往着去田野里走走,像是把二十几年来的过往于这片土地上回忆。但如果让我选择的话,这个年龄的我还是会去城市吧。肉体选择城市,灵魂回归自然。

在家的日子里总是和过往离得最近的日子。刚回家时与父亲带着熊猫去运河玩,走过胡同时,看着墙上孩子们稚嫩的字迹画迹,心中不禁有些许长大的后悔。在小时我的眼里,这些东西应该是乐园吧,墙上孩子们歪七扭八画的车,就是世界上真正的车;画的奇奇怪怪的生物,是我未曾见过又极力想了解的新世界;写的数学题目,描出的田字格,也像是那个年龄生活的映像。可我现在长大了,终不再完全是小时候那份心情了,只有怀念。这些年,我收获了什么,又失去了什么呢。

胡同里没有看到孩子,是因为画上这些东西的孩子们也要长大吗。风在胡同里回旋着。

碎碎念二

今天下午开班会,讲了返校以及毕业事宜。本来早就知道了一些事情,几个月里也早就走过了那些遗憾与伤感,但看着朋友圈里的一些遗憾,又不得不想起这些碎碎念。

关于大学,关于金陵,我有着太多遗憾,没想到转眼已匆匆到了毕业季。大学里,我好像还未像寻常学生一样享受大学时光,不知道会不会与刚入大学时许下的那句 “愿我的大学,比我的高中更努力” 或者林语堂那句 “梦想无论怎么模糊,总潜伏在我们心底,使我们的心境永远得不到宁静,直到这些梦想成为事实才止,像种子在地下一样,一定要萌芽滋长,伸出地面来,寻找阳光” 有关。大四上学期突然意识到这点,像是哺乳期的婴儿想要喝奶一般,珍惜着最后的一点点学生生涯。却未料到,最后这一段时光,也要被疫情无情掠去。前些天父亲才讲到他告别学校的经历,恍惚间却轮到了我。

在南京,我还有着太多想去的地方。一开始来到南京,我只像一个孩童,在里面嬉戏,没有付诸太多情感,可越往后我越知道,我很早就已经爱上了这座城市。与女朋友异地时,精打细算着金钱,计划着相见的日期,也便没有太多地光顾这座城市;女朋友来南京后,精打细算着生活,计划着柴米油盐,与这座城市成为擦肩过客。一梦醒来,才觉自己血液着已流注着南京的气息。本来打算大四下没有课时,在这座城市里好好看看,与她度过我大学里最后的温存。夫子庙的科举博物馆,我从大一就想去呀,可 80 块的门票让我犹豫再三;莫愁湖我还没有去看过;还有,我好想再看一次鸡鸣寺三四月份的樱花呀,还想再看看春日的秦淮河,发朋友圈的文案我早就准备好了,“这三春水暖,俺也曾睡过风流觉”(改自《桃花扇 余韵》);还想和国学社的朋友们围炉夜话,备好羊羔美酒,与你谈谈心;6.23 在保利大剧院还有于魁智李胜素出演的《龙凤呈祥》,想着在深圳实习赚点钱,有机会的话和家里人再来南京看出戏,位置买好一点;还想……

这里面很多愿望,很多都没有机会了吧。

遇到问题

最近使用 C++ 遇到了中文处理问题,今天下午想测试 C++ 宽字符使用时,发现如下程序并不能如愿输出汉字。

1
2
3
4
5
6
int main()
{
std::wstring wstr(L"你好");
std::wcout << wstr << std::endl;
return 0;
}

在网上多处搜索处理方法后仍不能解决,于是自己探索了一波。收获蛮大的,于是记录下。

该文章程序及结果皆在 Linux 环境下。

阅读全文 »

面试时有一个经典问题是 “在构造函数和析构函数中能否调用虚函数”,准备面试时,我还没有系统学习 C++,故而硬背的答案:不能。记得腾讯技术终面的时候面试官也问了我这个问题,我较为熟练地说出了自己的答案,如在构造函数中能否使用的回答大致为:

不能。我想从两个方面来回答这个问题。首先一个对象的虚函数表是在其构造过程中生成,构造过程中还没有完全生成好,在这个角度看在构造函数中调用虚函数是不合理的。第二,构造过程中,编译器按照从基类到派生类的顺序依次构造,在一些阶段处于未完成状态,这时编译器会将我们的对象看做是其当前状态的类,而非目的类的当前类阶段,故不可以调用虚函数。

现在几天在看 《C++ Primer》,打算系统地学习下 C++。在 P556 页中,刚好讲到了这个问题,读起来总有些不懂的地方,于是特意上网搜索了下,搜到了份我感觉不错的代码,在这解析下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include<iostream>
class A
{
public:
A() : val(0) {test();}
virtual void func()
{
std::cout << val << std::endl;
}
void test()
{
func();
}
int val;
};

class B : public A
{
public:
B() {test();}
void func()
{
++val;
std::cout << val << std::endl;
}
};

int main()
{
A* p = new B;
p->test();
return 0;
}

自己运行了下,其结果为

1
2
3
0
1
2

解析下程序,我们首先看到在 AB 两类的构造函数中都调用了非虚函数 test(), 而 test() 函数功能则是调用虚函数 func(), 在 AB 两类中都定义了自己的 func 函数, Afunc 直接输出 val, 而 Bfunc 则先自增 val , 而后输出。

main 函数中,A* p = new B 构造了一个类 B 的对象,而将其赋给基类 A 的指针。在构造 B 的对象时,我们依次调用了 A 的构造函数和 B 的构造函数。A 的构造函数向 val 赋值为 0,并输出它,这是结果中输出 0 的缘由。在 B 的构造函数中,我们调用 this->test()test() 函数又调用了 this->func(),故调用了类 B 版本的 func() 函数,这是结果中 1 的来源。

main 函数中 p->test() 语句,由于 test() 为非虚函数,故静态绑定到了类 Atest() 函数,test() 函数调用 this->func()p->func(),为动态绑定,故绑定到类 Bfunc() 函数,故输出 2。

如此看来,在构造函数、析构函数中调用虚函数是有规律可循的,但较易出错。假若我们要使用时,一定要理解其中机制,合理谨慎设计。如果让我再回答这个问题,我较倾向回答为谨慎使用、尽量不使用。

一月初的时候在一个博客中看到了很漂亮的诗词排版,于是不会啥前端排版的我想要在自己博客中复现他。当时刚好是期末考试周,连复习的心情都么得了,狗头。

大概费了一上午的时间,终于算是实现了这个功能。当时实现好就去复习了,没有记录实现过程,今天补录下。由于刚才为了解决 Chrome 卡顿的问题删除了 Chrome 历史记录,所以这里不能提供我看到该排版的博客链接了,表示遗憾与感谢。

阅读全文 »

我出生在农历 98 年腊月十三,阳历 99 年的 1 月 29 日。因此有很多人分不清我是 98 还是 99 的,属虎还是属兔。这两年里,谷歌、腾讯、阿里先后诞生,百度弟弟也迎着 2000 年的曙光成立。我几与它们同时出生,所以我自诩为这是我的时代。我亲见了几眼上世纪最后的昼夜,经历了一场跨千年,古往今来中降落在这个时间点,也算是幸运。想来假若我能活 102 岁,或许能看到三个世纪。

阅读全文 »

            听颖师弹琴
            韩愈
昵昵儿女语,
恩怨相尔汝。
划然变轩昂,
勇士赴敌场。
浮云柳絮无根蒂,
天地阔远随飞扬。
喧啾百鸟群,
忽见孤凤皇。
跻攀分寸不可上,
失势一落千丈强。
嗟余有两耳,
未省听丝篁。
自闻颖师弹,
起坐在一旁。
推手遽止之,
湿衣泪滂滂。
颖乎尔诚能,
无以冰炭置我肠!
        

月赋
谢庄
陳王初喪應劉,端憂多暇。綠苔生閣,芳塵凝榭。悄焉疚懷,不怡中夜。迺清蘭路,肅桂苑。騰吹寒山,弭蓋秋阪。臨濬壑而怨遙,登崇岫而傷遠。於時斜漢左界,北陸南躔。白露曖空,素月流天。沈吟齊章,殷勤陳篇。抽毫進牘,以命仲宣。

仲宣跪而稱曰:臣東鄙幽介,長自丘樊,昧道懵學,孤奉明恩。臣聞沈潛既義,高明既經。日以陽德,月以陰靈。擅扶光於東沼,嗣若英於西冥。引玄兔於帝臺,集素娥於後庭。朒朓警闕,朏魄示沖。順辰通燭,從星澤風。增華台室,揚采軒宮。委照而吳業昌,淪精而漢道融。

若夫氣霽地表,雲斂天末。洞庭始波,木葉微脫。菊散芳於山椒,鴈流哀於江瀨。升清質之悠悠,降澄輝之藹藹。列宿掩縟,長河韜映。柔祇雪凝,圓靈水鏡。連觀霜縞,周除冰淨。君王迺猒晨懽,樂宵宴。收妙舞,弛清縣。去燭房,即月殿。芳酒登,鳴琴薦。

若迺涼夜自淒,風篁成韻。親懿莫從,羇孤遞進。聆皋禽之夕聞,聽朔管之秋引。於是絃桐練響,音容選和。徘徊房露,惆悵陽阿。聲林虛籟,淪池滅波。情紆軫其何託,愬皓月而長歌。

歌曰:美人邁兮音塵闕,隔千里兮共明月。臨風歎兮將焉歇,川路長兮不可越。歌響未終,餘景就畢。滿堂變容,迴遑如失。又稱歌曰:月既沒兮露欲晞,歲方晏兮無與歸。佳期可以還,微霜霑人衣!

陳王曰:「善。」迺命執事,獻壽羞璧。敬佩玉音,復之無斁。

2019 年伴随着不开心的事情到来,元旦的时候整个人都有些崩溃。 我又是有点迷信的人,觉得一件事的开端闹心那么后面也不会太好,觉得 2019 对我不太友好。幸好我是个乐天派,想到这些的时候我干脆不信这迷信就好了。毕竟在我们所认知的范围内时间是连续的,新年不过是人为主观地划分,这样一想心情算是舒慰了些。

每次展望前面要经历一段时间的时候总会觉得很漫长,而事后却觉得白驹过隙。仔细回想起来整个 2019 我也没做什么事,除去春招秋招外,大部分时间碌碌而过。总是在时间将逝的时候才倍加珍惜时间,回过头来感叹实在是浪费了太多的大好时光。不禁想起那句 “子在川上曰:‘逝者如斯夫,不舍昼夜’”。越来越觉得告别学生身份的时刻将近,尤其是在大我们一届学长拍照、收拾行装、毕业离开校园,告别学长们后,这种感觉日日加深,几乎没怎么过过大学生活的我突然很留念大学生活,想拼命地抓住它的尾巴。

阅读全文 »

TyporaAsh 主题实在是太爽了,但唯一一点美中不足就是我们在 md 中编写 html 格式时, html 编辑框的背景颜色和文字颜色几乎一样,看起来十分的晃眼,带来了不便。

要解决这个问题,我们在 ash.css 文件的 :root 下增加一行格式即好。

1
--rawblock-edit-panel-bd: #555;

因为 Ash 主题的背景为 #666,于是我选择了 #555 与它搭配。

不知道大家会不会被自己电脑桌面排列杂乱的图标给气到,作为强迫症的我在之前每次看到自己乱糟糟的桌面时就会感觉很别扭。后面就特意在桌面设了个文件夹,加图标放到里面,但这样桌面虽然整洁了点,但打开软件时就要点开文件夹,很麻烦。直到后来在大一下的时候遇到了 Wox,这个问题才得到了解决。 Wox 真的是解救我的一款软件,在解决桌面问题的同时它也意外地带来了意外惊喜 —— 改变了我使用电脑的工作方式。首先先秀一下我的桌面吧。

mark

阅读全文 »

秋招的一些经验(后台开发方向)

秋招可以说是学生时代的重要一战,秋招的成败牵系着职业的起点。想在秋招中得到心仪的 offer,正确的意识和打法就尤为重要。有很多学生以为秋招是在自己毕业后的那个秋天,到了八九月份才意识到是现在这个秋天,再慌乱地进行准备,结果可想而知了,虽不能一棒子打死,但总归不能够充分发挥出自己的实力。意识如此,打法也是这样子,有了意识,却没有正确的打法,也极有可能事倍功半。

阅读全文 »
0%