随笔

0 永定河的枯水期在每年的十二月到次年二月。 倒不如换个说法, 不知道该怎么形容冬天时北方的山,只能看到些无端的荒凉和寂寞罢了。 大概是因为平原长大的孩子没有见过山, 1 有点逐渐迷上了咖啡。 直到察觉到之后,才发现自己已经开始十一点睡下午两点醒了。 是明明已经熬到清晨,却因为远处大厦的遮挡,看不到的夕阳的悲伤。 一直等到七点,也没看到太阳实际升起,只有远处的地平线在不断变亮。 还好,太阳依旧以缓慢的速度升起。 大概在七点半才能看到太阳的全貌吧。 回程的路上,我在想——或许我们所追求和奋斗的美好,或许就不曾存在。 但或许,人类就是在这样可能虚构的美好之下才能生存——只有幸福的创作者是没法写出令人感同身受的作品的。 在虚构的星空下缝补破碎的月亮,在现实的痛苦之中才能写出那些震颤灵魂的艺术吧。 不厌其烦的用三倍的糖浆去麻痹咖啡的苦涩的时候,凌晨三点的月光也只是微微的照在大地上,等待着太阳在地平线下再度升起。 等到海风再次拂过面颊的时候,直到刹那的阳光再次震撼到我的时候, 就能想起那个童年时坚信"亲眼见证"就能获得祝福的自己了吧。

2025/3/16
articleCard.readMore

Kiss me before I rise

黄昏线前升起的烟花,越过地平线,向上,直到世界尽头。 穿过下一个云层,我们终将到达哪里? 坠落,亦或是远去。 或许一切都不曾得知吧。 深橙的有些发暗的天空下,卡布奇诺也已然褪色。 就这样就好,一切都好。 Until you kiss me before I rise. Kiss me before I rise - chilldspot. Your browser does not support the audio element.

2024/12/6
articleCard.readMore

辛德瑞拉。

第一次看到灰姑娘这个故事是在我小的时候,大概是两岁的时候?具体的时间什么的已经忘记了。 当时觉得,即使灰姑娘再如何落魄,只要能穿上水晶鞋登上舞会,王子就一定能够找到她的。 只要等待就能获得幸福,或许我也是这样的辛德瑞拉吧。 于是就带着这样的愿望期待着快点长大,自己也能如辛德瑞拉一样获得幸福。 直到长大了之后进入学校,考试前的复习课上,出神的望着窗外。 原来,就算看着蓝天也是一种奢望啊。 世界确实是这样的,没法继续产生价值了就要被当成垃圾扔掉。 小孩子总是期望着长大,但等到长大了,才发现我们都只是,只有等待没有幸运的辛德瑞拉。 看着他人的幸福,像是自己也能把这份幸福偷走一样。 原来我也是这样的小偷啊。 明明自己已经破损不堪了,也按压不住自己逐渐增强的分享欲。最后发现,原来没有人想听我说话啊。 就算一次次落败,也觉得自己绝对不会哭出来的。 直到真的有眼泪落到手上,也只会苦笑一声,原来自己也会哭啊。 说着想要杀死某些人的话,但实际自己想要杀死的人是自己啊。 我大可劝告自己,说什么: 人生的主旋律就是失败和不得志。 但,听惯了正拍的人们啊,又怎会接受他们口中不调谐的反拍。 我们是东食西宿的大猩猩,既想得到鱼又想得到熊掌,实际比这还要愚蠢,宛若伊索寓言里的傻狐狸,丢掉嘴边的肉去追求虚无缥缈的泡影。 所以啊,梦想和希望什么的,不如拿去换成钱,把账单什么的交交就好了。 然后走在路上又一次看到了樱花,风很大,花瓣在空中不断飘落。 像是那天的蓝天一样,我看的很出神。 就在家的附近,是很常见的东西。 突然意识到,原来樱花也可以这么漂亮啊。 像是小时那个冬天,落尽了叶子的行道树,透出其后被遮挡的天空,和深绿的让人心慌的叶子相比,显得格外湛蓝。 想起来他之前所说的,“如果在八十岁死去的话,就只能看五十多次樱花了,那该多寂寞啊。” 的话。 莫名想起 “正是江南好风景,落花时节又逢君”。 虽然不是很应景。 但是,在生命最后的春天里赏花的心情;在落难时,远离繁华的长安,怀念着过去绚烂的年轻日子的心情;这样的光景里,如此难得的,与故人相遇的幸运。 大概也可以算是 “在回忆中救赎今后的人生,在未来中填补过去的遗憾” 了吧。 已经很晚了,等我喝杯速溶咖啡接着写。 嗯,忘记加糖的咖啡挺苦的,和我的人生一样苦。 要是能记得加糖就好了。 像是辛德瑞拉那般。

2024/6/21
articleCard.readMore

不断忘记一切的我和接住我的你 —— 「今夜,即使这份爱恋从世上消散」

FYI: 本文大概、应该、可能、似乎涉及严格的剧透,介意的推荐你先甭读了,赶快去电影院买票看看。 序 作为一名拿批,第一次了解到这部电影是在 22 年七月 Yorushika 为此所做的商曲 「左右盲」 发布。 拿不拿说:将 「逐渐遗忘对方的相貌与举止」 比作为左右盲,写下了这首歌。歌词的主题取自奥斯卡·王尔德的 「幸福王子」。 左右盲,也就是左右不分的症状。记忆因此变得朦胧、而渐渐记不清与对方有关的事情,就连对方是左手还是右手拿着小说都不再真切。 那时候的你,也是这样对我说着,感叹着 “喜欢上 Yorushika 真是太好了”。 还在讨论着 “电影有没有可能引进内地” 之类的事情。 22 年末的疫情可真是令人难熬,就算处境再糟糕,你也挺下来了。 寒冬终会过去,春天也会到来。我这样坚信着。 “如果在八十岁死去的话,就只能看五十多次樱花了,那该多寂寞啊。” 可惜你连这样寂寞的离别也没有等到,就和樱花一起匆匆离去了。 如今吹散繁花的这阵风暴,就如同偷走春天的小偷。 你大概也是被偷走春天的小偷一起带走了吧。 春意尚在,樱飞漫天。 今年世恋可在国内上映了,只可惜你看不到了。 …… 牡丹落尽亦是花,夏去秋来思愈切。 玻璃球样的美好,简单而易碎 为了救下孩子因而在交通事故中患上前向性失忆症的日野真织(我们以下简单说真织),一旦入睡便会忘记当天的所有事情,只能通过阅读前一天所做的笔记来了解一切。 关于失忆症的事情,在学校里,只有闺蜜小泉和老师知道。 神谷透(下称透)的朋友下川,总是被学校的小混混欺负。为了帮朋友摆脱困境,透卷进了这场校园霸凌。 但解决的方法却是向这个学校里最受欢迎的女孩真织表白。 毫不相识的两个人,表白的结局想当然肯定是被当众拒绝,被录下来的话,一定会在大众面前出丑的。 但,透为了朋友,还是选择了去表白,但死板得像是要完成一场比赛,带着他那一眼贯穿的不情愿。 透本以为会被拒绝,没想到真织竟然接受了,并提出了三个条件。 第一,放学前互相不能说话;第二,联络要简洁;第三,不可以真的喜欢上对方。 她需要时间阅读前些日子的日记理清状况;她希望避免讨论昨天的事情;她认为对于只能保持一天记忆的自己来说,是不配拥有这样的爱的。 他们的关系虽然建立在谎言之上,但透逐渐被真织所吸引。 妈妈因为心脏病离世、姐姐离开家只为写作、父亲因母亲的离世而变得颓废,透一个人肩负起了整个家。 淡漠的、疲倦的、一眼望不到头的透,为逃避现实而躲进文学里。 喜欢上了姐姐所做的小说的他,却在认识真织后慢慢露出了笑容。 在意外知道真织患有失忆症后,他请求她不要把今天的事写到日记里。 不写到日记里,就不会被记得,我们一起瞒着明天的你吧。 我也会让明天的你过的很开心。 ― 今夜,即使这份爱恋从世上消散 虽然只能活在文字之中。 真织在与透相处时也感到了 “幸福”,并在每天阅读日记时逐渐意识到自己正真心地喜欢上透。 人们都是这样,通过相遇、相识、积攒回忆,慢慢地喜欢上对方。但对真织来说,每天和透的相遇都是第一次,都是初次的喜欢。 野餐、水族馆的约会,又或者是像两支冰淇淋掉了一只这样的小事。温暖的阳光、透明的空气,又或者是美好的一切,她都全然不知。 日久生情的过程,自然躲不开闺蜜小泉的加入。毕竟小泉不仅是二人情感的催化剂,也是日野的保护者。 就算失去了记忆,但内心深处对一个人的喜欢又怎会消失殆尽。每次相遇,对透的喜欢似乎都在她心中变得更加强烈。 在烟火大会上,真织握住透的手,烟花绽放的那一刹。 即使这一刻掌心的温暖也会被一同忘记,但鼓起勇气的少女,又怎会畏惧这些。 真织: 可以打破第三个条件吗? 透: 我早就打破了。 ― 今夜,即使这份爱恋从世上消散 相互喜欢的二人终究相拥在一起,跨越记忆和时间,深情的一吻总会战胜一切的阻碍,也让少女知道了,自己也是配拥有这样的爱的。 回到了家,少女写下纸条 “不要忘记神谷透”,贴在了告示自己每天早上要去阅读日记的告知之后。 真织自小的时候便喜欢上了美术,心里有着考入美术类大学的愿望,但是因为失忆症却总之是想想而已。 透告诉她,就算记忆不见了,身体还会记得某些动作,这叫作“程序性记忆”。他说只要坚持画画,技术肯定会提升。受到这番话的鼓励,真织以透为模特,画下了一幅又一幅画作。 即使忘记了透的一切,真织看着画本上透的画像,就开始画起来。她画出来的透那么逼真,彷佛在告诉人们,透仍然存在于真织记忆深处的某个角落。 透的姐姐赢得芥川奖,在家庭的会议上,父亲也决定不再颓废,努力去生活。 二人生活的一切都在向好,可是,如同烟火之绚丽和短暂,纯挚的爱情永远也只能收获刹那间的绽放。 回家的路途上,小泉半开玩笑打趣般的向透表白,透却告知:“家族可能遗传心脏病,如果自己离开了的话,请帮我把真织的记忆消去”。 殊不知,这样的相见却是最后一次。 透在第二天,就因为心脏问题,突发离世了。 神谷透去世,但是作为日野的保护者,小泉还有更多事情要做。 再三思考下,小泉带着真织参加了透的葬礼。 真织觉得自己的人生仿佛崩塌,只剩废墟,变得精神失常。 觉得抹掉真织记忆很残忍的小泉,最后也决定与作家姐姐合谋,篡改了真织的日记,日记中再也不会存在 “神谷透” 这样一个人。 在小泉摘下告知真织早上要去阅读日记的告示之后,她看见了少女当时所写下的 “不要忘记神谷透” 的纸条,痛哭流泪。 纸包不住火,万密总有一疏。为了美术训练而完成的素描练习全部还保存着,以至于真织不断发问,这是哪里的模特? 最终,小泉无法承载如此沉重的秘密,终于向真织坦白了一切。而真织在经历崩溃之后,也接纳了这样的现实。 更重要的是,她的失忆症也逐渐康复。她开始想起过往的种种经历和细节。 故事的最后,真织带着信心去选择走上美术道路考取大学,带着透的希望继续活下去。 今夜,就算这份爱恋从世界上消失,我也会用心将你勾勒成画。 ― 今夜,即使这份爱恋从世上消散 电影最后结束于主题曲 「左右盲」 之中。 不断忘记一切的我和接住我的你 原作作者一条岬在后记中如此说: 这是一个悲伤的故事,但绝不是悲剧。 这样套用失忆症的故事或许我们见了很多,觉得落了俗套。但是当一切事物继续发展,铺垫一个个被回收,在如此细腻而真实的描写下,俗套给我们的低预期却成了故事最大的出彩之处。 说好不会爱上的开始,谁都料到一定会相爱的结局。不用考虑太多世俗,没有太多生活的鸡零狗碎,他们就像一个童话故事一样美好。 回看故事,带给我们一个非常核心的问题: 就算爱很短暂,甚至可以一眼就能望到头,我们该如何面对它? 面对这个问题,不同人当然有不同的答案。 而故事却用真织和透的故事告诉我们: 纵使记忆在闭眼后就会变得不见,我也曾真挚而真诚的喜欢过你。 如果永远很远的话,那今夜就是永远。 尽管真织在每天苏醒之后只得阅读昨天的日记来了解一切,父母不厌其烦一次次的说着 “救下孩子的你是我们的骄傲”,在生活的绝望之下,是透一次又一次接住了不断失去记忆的少女。 恋爱中的少男和少女眼里像是闪着亮光。 透逝去之后,即使真织记忆中不存在他的身影,但 “被爱的感觉”,已然成为她的 “程序性记忆”。也会在葬礼上为 “熟悉的陌生人” 而泪流不止。 “死亡不是生命的终点,遗忘才是”,而透却在死前说出 “请帮我消去真织的记忆”,为的只是一句简单的承诺: 我也会让明天的你过的很开心。 当姐姐一下下消去真织笔记中的透的时候,像是在抹去透在世上最后的痕迹。 值得慰藉的是,故事的最后,真织的失忆症得到好转,所有人都会一点一点忘记透,只有真织会接住透,再一点一滴的找到他,即使无法回想起来。 死去的透仍存于真织的笔下,即便不是永远。 而原作中的两个人:闺蜜小泉 和 透的父亲神谷幸彦 相较于男女主更带着一丝悲剧色彩。 闺蜜小泉和透的初次相见是在透一开始被迫表白之后。 小泉在小的时候父母就离婚,大概是因为此根本不相信相守到老的爱情。 作为唯一在学校中知道真织患有失忆症的人,小泉原以为透和其他不怀好意的人一样,准备以保护者的身份保护真织的时候,才发现二人或许真的是互相喜欢吧。 可惜自己貌似也慢慢喜欢上了透,或许是因为有着共同喜欢的作家,又或者只是一个 亚撒西 而已。 男女主开心在一起时也给了小泉很多落寞的镜头。 准备打趣样说出心意就放下一切的小泉,即便是打算装作开玩笑也勇敢的说出那句 “我喜欢你” 之后,在听到透的死讯之后是怎么想的呢? 明明知道最好的两个朋友之间互相喜欢,但是自己奇怪的情感也无处可放,以 ‘真织的好朋友’ 的身份来侵入到透和真织的恋情之中,好像有些自私。 也打算成人之美,但透却一句话都没有留下就离开了自己和真织。 于最绚烂之时看到零落之后的悲凉的人,只有小泉啊。 喜欢的人去世,最好的朋友因为透的去世也一蹶不振,即便是这样也要试图挤出笑容的人,是小泉啊。 透的父亲神谷幸彦在遇到妻子之后,不止一次提起自己 “想成为小说家” 的梦想。 自己所写的小说却一次次没有受到其他人的认可,但温柔的妻子在读完之后总是说:“写得很好呢”。 在妻子意外离世后就一蹶不振,整日酗酒,甚至用空白纸假装自己的小说获奖以此麻痹自己。 或许对于父亲来讲的话,人生的全部书写的就是妻子吧。 妻子死去之后,也没有再去写下去小说的动力了。 看到这里,突然想起来 Yorushika 的 「盗作」。 透喜欢真织身上那种每天面对困难还乐观的坚强,和父亲的消极对待形成了对比。 或许父亲和妻子就是另一个平行世界的真织和透吧。 或许因为于此,透才说出 “请务必要把我从真织的日记中删去”。 正因为自己感受过至亲之人的离开,才不愿意让真织知道自己也在她的人生绽放过。 互相喜欢的人,无论经过怎样的苦难,总会互相拥抱的。 所以,就算爱很短暂,甚至可以一眼就能望到头,我们该如何面对呢? 人世间的一切一切都会随着时间发生来或去的变化,人们可以承认自己无力应对,也可以选择接受并认真珍惜当下的所有。 “明天的烦恼,明天再烦。” 就算美好只会停留在这一刹,也一定要有勇气去抓住它啊。 万物流逝,有些东西总不会褪色, 以上, 于 2024 年 6 月 2 日深夜。

2024/6/2
articleCard.readMore

パレード (Parade 游行)—— 请不要忘记我孤身一人的盛装游行。

このまま夜が明けたら, 乾かないように想い出を, 失くさないようにこの歌を, 忘れないで もうちょっとだけでいい, 一人ぼっちのパレードを, ― Yorushika (n-buna & suis), パレード 「パレード」一词来源自英语中的 Parade,但和英语中的 Parade 带有反抗的游行一意所不同的是,日语中的パレード一词是更加娱乐化的,就像迪士尼乐园中的游行一样,美好的,盛大的,快乐的东西。 而在 Yorushika 的专辑「だから僕は音楽を辞めた (所以我放弃了音乐)」之下,如此盛大的游行,却是通往死亡的道路。 我们常去描写死亡的结果,死亡的原因,却缺少人去描写这美丽而盛大的凋亡。 如果死亡是必然的话,那一定要让这过程显得华丽一点吧。 游行嘛,本身是更多人胸怀共同的志向,有了想法才会去干的事情,如此这样,孤身一人的游行才更显得可贵。 有人说 「间奏的小提琴一出,就满是灿烂的悲伤了」,相较于悲伤本身,我更愿意说,小提琴相较于悲伤,更应该是灿烂。毕竟,灿烂的事物变得凋亡更令人心碎啊。 纵使心中有万马奔腾,蓦然回首,却还只是孑然一身。 即便是这份没有你在的孤独啊,也化作写在纸上抹不去的回忆,化作绝不会遗失的回忆的歌。 n-buna 在 「だから僕は音楽を辞めた」一专的特典信纸上关于 「你的笔尖一定寄居着神明大人」这样说: 每个创作者都是受到神明所眷顾的,笔下的一切都是有着神明的力量。 作者本身不是神明,作品本身才是神明所在。 开始专辑的时候,Amy 的人生还有一年,当他写下 「パレード」的时候,生命只剩下那一小段时间了。 当然,我们可以说 Amy 的死是必然的结局,是 n-buna 心中的另一个自己为了作品的献身,也就是所谓的 「艺术至上主义」。 那,该如何去面对死亡呢? 不同的人或许会有不同的答案吧。 有的人会写出那些玩世不恭,仇恨世界给了自己悲惨命运的句子。 而在「パレード」中,选择死亡如同人去选择呼吸一样自然,带着宗教一样的宿命感,我们当然可以简单的归于「艺术至上主义」,但是回看歌曲本身,Amy 选择死亡一定是经过深思熟虑的,一遍遍在脑中预演着,算尽了一切的可能,才会有着如此般的执念。 如同在「八月、某、月明かり」中一样,如果不是没有解决的办法,谁会愿意去选择死亡。 于是 Amy 选择在孤身一人的旅途中寻找离天堂最近的地方,写下书信,喝下花绿青,跳海自尽,更显着悲壮和坚定,更有对生命不幸的妥协。 宿命或许终究还是击败了他,写下的诗歌是他留在这世上最后的印证了。 如此宏大的、孑然一人的游行下,死亡的道路和死亡本身也显得没有那么恐怖了,Amy 像是看到了死亡的美丽。 再等一下就好, 请让我继续这孤身一人的盛装游行。 以上, 2024 年 5 月 27 日。

2024/5/27
articleCard.readMore

白鸟过河滩

时代流逝,再无返还。 突然发现,网易云上上架了白鸟过河滩,半夜给自己听破防了。 逐渐意识到自己已经不再惧怕他人的羞辱、现状的痛苦。 平静、理性、稳定只不过是经历带给我自己的保护而已。 活下去的动力可能也不复存在了。 我试图坚信着,说服着自己,只要能够死掉的话,就能回到一个乌托邦一样的世界,没有什么痛苦和沮丧,只有自己喜爱的人在这里,他们会接我回家。 我以为说服了自己,以为只要怎么怎么做就能更坚强、更勇敢,但当再次听到这首歌的时候,还是会再次流泪,不敢哭出声,害怕让他人听见啊。 已经不再能有 “这翅膀三千丈,扇一扇摘月亮” 一般的豪情壮志。 感觉两年前初次听白鸟过河滩的自己或许还没有清楚吧,觉得自己似乎像是白鸟一样,张开翅膀就能逆风前行,越过山海一般。 殊不知,只有懦弱而平凡的人才能创造出如此的白鸟。 比得不到更糟糕的,应该是:我们本可以做到吧。 我当然清楚每次去后悔、去感伤这些是无意义且浪费时间的,但是眼泪却会真真实实的流下来啊。 曾欲与天工试比高的少年,也在一次又一次的尝试中折了翅膀。 或许也曾经试过去追、去够,却一次次做不到和电视剧中的主人公一样有着皆大欢喜的结局,梦想好像一轮新月,或有或无罢了。 可能我们根本不是主人公,没有着什么 ‘主角光环’,一次次的努力甚至比不上他人的偶然而已。 若不是人生太糟糕,谁又会将希望寄托于他人亦或虚无的事情之上。 白鸟飞过山与河,而我却只能顺流入大海之中了。 也会下定决心去做些什么,却总是会不断地放弃,告诉自己:只要什么都不做就会好起来的吧。 可总是事与愿违。 反正,理想什么的已经做不到了,就去放弃那些无法抓住的、虚无的事情吧。 任由生活如流水一般涌入大海,或许心中依然有着白鸟憧憬远方,但是应该已经 “一去不复返” 了,也不再希望能复返了。 也根本不必再去在乎些未来什么的,或者说,应该已经说服自己不必去关心些未来什么的。 丧家之犬并不需要什么安可,落幕之后就是结束,再一次走下去也会是输。 像是在和自己的一部分告别一样。 只是理想的挽诗而已。 从此往后,我再也等不回它。 随风带走,愿在梦中再相见。 以上, 2024 年 5 月 12 日。

2024/5/12
articleCard.readMore

Shut Up and Take My Card - 奇特的大陆银行卡外刷小 Tips

如你所见,这是一篇对大陆银行外刷的情况的简单介绍。 于是,你登上了前往日本的飞机 然后发现只带了工商银行的银联复合借记卡,还把所有的出行资金在工商银行系统购买了日元现汇。 全剧终。 中国工商银行作为你国最大的银行 (同时也应该是最抠门的),新发行的银联复合借记卡,均是纯芯片卡(磁条未写)。 经验与教训:永远不要相信卡组织,尤其是银联宣称自己在海外的网络有多发达,无论如何也要备好现金,或者一张确认可以提款的银行卡。 所以,言归正传,现在让我们简单提及一些概念。 现钞与现汇 顾名思义,现钞就是钞票,cash,也就是现金账户。 对于大陆银行,现汇/现钞是你在涉及外汇业务时必须清楚的两个点,我们简单展开说一下。 功能 现钞 现汇 大陆银行柜面取/存款 ✅ ❎ 大陆银行汇出到海外 ❎ ✅ 外币信用卡使用外币还款 大部分银行可以使用现钞 大部分银行不允许使用现汇 海外银行汇入 ❎ ✅ 人民币购汇价格 较高(对小币种) 较低 (对小币种) 人民币结汇价格 较低 较高 持卡是否能在海外以原币种提款/消费 取决于银行,绝大部分不支持 取决于银行,绝大部分不支持 是否可在境内银行跨行划转 ❎ ✅ 对于绝大部分银行,在现钞和现汇之间转化会收取一定的钞汇互转费,有一些银行不存在该费用(如:厦门国际银行)。 对于绝大部分银行的核心系统来讲,对于外币而言,现钞和现汇是区分的,也存在一些银行系统内并不存在现钞现汇概念,即同时具有钞和汇的性质,也就是钞汇合一。 提款,结售汇与外汇管制 众所周知,大陆存在外管局,于是就有了外汇管制。 作为一名中国大陆公民,你应该知道: 在每个自然年,你可以持身份证或其他有效证件(如未成年使用户口本),以便利化(无须提交实际证明材料)的形式,在各大银行购买 50000 USD 等额人民币的外汇。 在每个自然年,你可以持有效身份证件,以便利化形式售出 50000 USD 等额的外汇。 在每个自然年,你可以银行卡,在海外每日提款 10000 CNY 等额外币,每年可提款 100000 CNY 等额外币,本人名下所有银行卡均共享该额度。 每次出境时,携带外币现钞总金额在等值 5000 美元以上,须到银行开具《外币携带证》。 对于结售汇的便利化额度,如果超过额度,银行会直接拒绝你的结售汇请求。 当然,如果你有合理的材料,是可以超过便利化额度的(需要提交到外管局审核),每年购买超过 50000 USD 的外汇的,但是对于只是出国旅游的你和我而言,这个显然是不可能的。 而银行卡提款这条比较麻烦,一般是在外管局和银行的日切时间才会更新,如果当年超过了 100000 CNY 限额,会导致当年和次年的取款额度被禁止使用,你就无法持卡在海外提款了。 所以,以下这些形式都会耗费你的便利化/提款额度: 在国内银行 App 渠道购买 100 USD 现汇 (便利化购汇额度 -100 USD) 持国内银行发行的人民币单币卡,以卡组织汇率扣除卡内人民币账户在美国取现 100 USD (取现额度 -100 USD) 持国内银行发行的外币信用卡,在海外消费完手动以外币购汇形式还款 (便利化购汇额度–) 在国内银行电子渠道购买 100 USD 现汇,并转入国内银行发行的外币借记卡,在海外 ATM 提款 100 USD (便利化购汇和取现额度双双扣除 100 USD) 以下的形式不会耗费你的便利化/提款额度: 持国内银行发行的人民币单币卡,以卡组织汇率在海外商户的 POS 消费外币 持国内银行发行的外币信用卡,在海外消费完直接银行转人民币出账单还款 用微信/支付宝在海外商户消费 所以,对于任何海外商户,我们优先选择刷卡的形式进行消费,如果实在不能刷卡,才推荐使用现金的方式进行支付。 一卡一户、一卡多户、无卡有户 中国大陆和海外银行户口最大的差别大概就在这里。 在中国大陆,往往在开户的时候银行会给你一个卡,我们这里称呼他为凭证。 对于银行而言,凭证并非是账户,而是一个到 link 到账户的钥匙。 在中国大陆,银行卡和账户基本遵守一卡一户(也存在多卡一户)的对应情况。 同时,银联作为大陆银行的行间网络之一,也为每个银行发行的银联卡分配了一个唯一的 BIN 标识符(银行卡号前 6-8 位)。 于是,你的银行卡号(也就是凭证号),就可以作为账户号在银行系统中成为账户的标识符。 人行的支付系统里也通过银行卡号的 BIN 码来确认你的账户开户行是哪个银行。 在绝大部分大陆银行的系统(专业一点讲叫接入人行二代支付系统的核心记账)里,银行卡号和账户号都可以作为转入账号使用。 当然,银行也并没有取消账户号的概念,在工商银行的手机银行里,你可以看到一个基本账户号,这个就是账户号。 中国银行的个人银行基本账户号为 12 位。 在海外的银行,由于不存在银联这样的行间网络,同时也不一定遵守一卡一户的原则。 一般卡号是不能够作为账户号使用的。 当然,也存在卡组织的转账网络,例如 Visa Direct,暂不在这篇文章的讨论范围中。 无卡支付、微信和支付宝 微信和支付宝的海外消费 当然,在境内消费有微信和支付宝,在海外依然也有微信和支付宝,多在旅游景点/商圈出现。 微信和支付宝是典型大陆第三方电子钱包,我们在这里统一称为非银第三方支付机构。 非银第三方支付机构通过网联清算直连二代支付系统,无卡交易一般的模型是这样的: 非银支付机构连接网联清算,通过银行和非银支付机构签约的快捷支付协议,请求银行打款 网联清算请求银行打款 银行以你账户的名义,向非银支付机构在人行/人行指定的商业银行的备付金账户进行打款 完成交易 所以我们可以看到,实际上完成交易的不是卡组织,而是银行账户。 某些银行的账户,即使凭证不是卡,依然可以绑定快捷支付。 如建设银行的结算类型存折。 所以在海外,微信/支付宝这类机构都是通过自己的汇率,将外币账单转入人民币,并通过网联清算收款的。 贯彻朴素的价值观,我推荐在支付前查询汇率,哪个汇率低用哪个。 无卡支付和 3DS 3DS 全称 3-D Secure。 为了保证信用卡和借记卡在线无卡支付时的安全性,部分商家和收单平台和发卡银行会要求进行 3DS 验证,而这个特性需要银行和卡组织进行支持,主要通过短信验证码、手机 App 授权、邮箱验证码等方式实现身份验证。 如果银行不支持 3DS 或者用户没能通过 3DS 验证,交易将会失败。 对于大陆发行的银联卡,3DS 是由银联进行进行验证的,基本所有银行的银联卡都支持 3DS。 所以,如果在海外进行消费,是否支持 3DS 是非常重要的一点。 如果没有完成 3DS 验证,如果发生盗刷,盗刷的资金将由收单平台和商家承担。 大陆银联的无卡消费 银联在海外也有无卡消费情况,一般出现在你在海外网购东西时。 例如某知名支付网关 Stripe 就支持银联的无卡交易。 大陆银联的借记卡无卡交易时,不校验你输入的 CVV 和有效期,强制跳转到银联在线支付网关(无需银行发起适配,由银联负责,大陆所有银联借记卡全部支持),也就是银联风格的 3DS 实现,由银联短信到你在银行预留的手机号来完成验证。 大陆银联的信用卡无卡交易时,由商家/收单平台/发卡行三方决定是否跳转到 3DS 完成验证。 外币支付和单双标卡 外币转换手续费 FTF 和动态货币转换 DCC 银行和卡组织作为商业组织,当涉及到记账货币和账户实际货币不同存在转换时,一般会对持卡人收取一定的转换手续费,称为 FTF (即 Foreign Transaction Fee)。 Notice: 国内发行的银联卡基本免除 FTF 费用。 双标卡可能存在 FTF 费用。 外币单标卡一般免除 FTF 费用。 DCC 是指 Dynamic Currency Conversion,即动态货币转换。是由商户收单平台收取的费用。 目前 Visa 和 MasterCard 认可 DCC 并允许该操作,其他卡组织(银联、美国运通)禁止 DCC。 DCC 的原理是,在商户使用当地货币计价时,由商户的收单平台提供货币转换服务,将当地货币的计价转换为持卡人的卡使用的基准货币进行计价。 信用卡的消费并不是实时入账的,实际对于本币的消费金额只有等到入账才能看到,如果货币的汇率波动特别大,就会存在汇率风险,DCC 服务就将这个汇率风险转嫁给了提供 DCC 的服务的平台,平台也会收取一定量的 DCC 手续费来 cover 汇率风险,一般为 2.5% ~ 8%。 正常情况下一个成熟的货币汇率是不会有很大的波动的,所以一般而言 DCC 就成了商家和第三方公司的敛财工具。 我们来简单比较一下持大陆银行 Visa 美元信用卡在以 HKD 计价的商户进行消费的情况。 我们不选择 DCC 商家以 HKD 计价,向卡组织请 HKD 款项 Visa 将 HKD 款项转换为 USD,计入信用卡账户,期间会收取 FTF 费用 你以美元或者由银行转换为人民币出账后以人民币还款 我们选择 DCC 商家以 HKD 计价,由收单平台将费用转换为 USD,向卡组织请 USD 款项 Visa 直接将 USD 款项计入卡组织账 收单平台按照约定汇率(高于你 DCC 的实际汇率)将 HKD 款项打回给商户 你以美元或者由银行转换为人民币出账后以人民币还款 正常情况下货币转换是在卡组织发生的,而有 DCC 的交易中,货币转换是发生在 DCC 环节。 DCC 的交易过程,商家是有利率优惠的(收单平台会以高于 DCC 的实际汇率给商户结款),所以 DCC 是对商家有利益的,因此境外商家都会推广 DCC。 所以,我们优先选择以商户实际标价币种结算,一般是可以得到最好的汇率情况的。 人民币借记卡和原币支付 在中国大陆,目前由人行要求,所有绑定人民币个人结算账户的借记卡,必须是由颁发人民币清算牌照的卡组织完成。目前这个卡组织只有银联和杭州连通(也就是美国运通在华的合资公司)还有尚未实际目前已经发卡了的万事网联(万事达 MasterCard 和网联清算的合资公司)持有。 于是,目前国内发行的人民币借记卡均为人民币为基准货币的银联/美运人民币借记卡。 万事网联的人民币借记卡情况比较特殊。目前仅有信银一家发行,并且是一张比较特殊的双币种 (人民币/美元)借记卡。在以人民币计价的交易中,正常的扣取人民币账户,但是对于非人民币本币交易,MasterCard 会把交易货币转为美元后直接入账,如果账户美元余额不足,就会交易失败。我们这里暂时把万事网联的人民币借记卡视为一个外挂了人民币户口的美元单币借记卡看待即可。 更新 (2024.10) 信银通过 OTA 方式为万事网联借记卡添加了多币种记账,对于美元、港币、英镑、澳大利亚元、新加坡元、欧元、日元均可使用原币支付,但是依然不支持自动购汇。 邮政储蓄也同时期在部分试点区域发行了万事网联借记卡,为人民币/美元双账户,但支持海外消费时自动购汇美元扣款,暂不支持在线支付。 对于绝大部分借记卡而言,所有外币支付都是通过卡组织将外币转换为基准货币,然后扣款。于是,在大陆的绝大部分银联和美国运通借记卡而言,在境外的付款/提款只会透过卡组织转换汇率后扣款到人民币户口,卡上外挂的所谓 “外币子账户” 是作为仅储蓄账户存在的,不能参与到实际的支付任务中。我们这里简单的把这种模式概括为人民币单币种卡。 对于一小部分银行的银联人民币借记卡,因为银行的外币系统和银联进行了对接,在境外的付款/提款会优先扣除银行的对应外币子账户余额,若扣款失败才会使用卡组织汇率转换为人民币扣款,逻辑如下: 持卡人在境外商户消费 100 GBP,如果使用借记卡,此时银联会超出冻结 115%,即 115 GBP 银联查询持卡人 GBP 现钞户口,若现钞账户有 100 / 115 GBP 足额,扣除 GBP 现钞账户,交易完成 银联查询持卡人 GBP 现汇户口,若现汇账户有 100 / 115 GBP 足额,扣除 GBP 现汇账户,交易完成 银联将 100 / 115 GBP 按照汇率转换为人民币,若人民币账户有等额人民币,扣除人民币账户,交易成功 如果上边都不满足,则交易失败。 在这种情况下,交易最后会使用人民币尝试进行货币转换完成交易,人民币就是这里的基准货币。 我们简单的把这种模式概括为人民币多币种卡。 多币种借记卡可以进行囤汇后取汇/消费外汇的能力,对于在海外长期居住者来讲很有用。 美国运通人民币卡目前均为人民币单币种卡,包括信用卡。 对于中农工建交邮六大行和 99% 的其他银行而言,发行的银联卡均为人民币单币种卡。 中国银行的 BIN 621669 的银联借记卡(例如 长城环球通多币借记卡 / 长城冰雪借记卡 均为该卡头)和汇丰银行中国的借记卡均为人民币多币种卡。 双标信用卡 双标信用卡是银联早期网络在海外布局较差,过渡时期的产物。一般是 银联 + (Visa/MasterCard/AMEX/JCB)的卡组织形式出现,卡头均为外卡组织卡头。 目前人行已经不予批准新的双标信用卡发行,并且旧的双标信用卡基本只带磁条。 中国银行在北京 2022 冬奥会期间通过特批方式,发行了一批银联 + Visa 的含芯片双标信用卡,芯片实现了一卡双应用 (Visa + 银联),现已停发。 可以正常以贴卡方式在境内银联和境外 Visa 交易,如果你手里有一张这个卡的话,先偷着乐吧。 非常不推荐使用仅带磁条的任何信用卡,磁条信息不加密,盗刷风险较高。 并且由于没有芯片,在部分已经淘汰磁条的地区交易非常麻烦。还不能够以非接的形式交易,速度会比贴卡慢很多,并且尚不支持乘坐公共交通。 由于外卡组织要求,在海外的交易一般只能够通过外卡组织,如果透过银联完成清算的话,外卡组织抓到了会罚商户和收单平台。 但一般双标信用卡可以绑定至手机 Pay 方式进行支付,但是绑定至手机 Pay 后,会被视为银联信用卡,手机 Pay 仅包含银联应用。 双标信用卡一般是银联为人民币单币结算,外卡组织为美元单币结算,并一般卡会带有 FTF。 真假多币信用卡 所以,让我们回到外币信用卡。 市面上很多银行都声称自己的外币信用卡是全币种,但实际上来看,这种全币种信用卡实际上是伪全币信用卡。 实际上讲,这种信用卡本质上是 USD 单币种信用卡,但是银行免除了 FTF 费用。在交易非 USD 币种的时候可以 0 手续费。 但是实际上,使用非 USD 币种例如 HKD 的消费,要透过卡组织先完成 HKD -> USD 的转换,再通过银行完成 USD -> CNY 的转换,实际的交易进行了两次币种转换,实际汇率并不一定有想象中理想。 Notice: 而真多币信用卡一般是卡组织直接以实际支付币种向银行请款,由银行完成 USD -> CNY 的转换。 当然,对于银行没有覆盖到的币种,依然会以卡组织汇率先转换为卡的基准货币,再以基准货币记账。 卡组织的外币汇率转换 Visa / MasterCard 的汇率实时更新,以消费时汇率为准。 银联的汇率是在工作日当天进行一次更新,法定节假日不进行更新。所以银联的汇率在境外货币相较人民币狂涨的时候会好看一点。 AMEX 美国运通的汇率数据不对外公开,但一般而言美国运通人民币卡的汇率会略优于银联。 借记卡的冻结比例 持国内银行发行的借记卡在境外交易时,为避免汇率/盗刷风险,一般银行会以超出一定额的比例进行冻结。 如果卡内余额不足以完成超出冻结,就会拒绝交易。 一般 ATM 取现不会超出冻结。 对于大陆的银联借记卡,这个比例一般是 115%。 有趣的小事实 不带钱包的手机 Pay 手机 Pay 通过和卡组织和银行的合作,通过令牌化技术为设备颁发一个唯一的设备卡号(与实体卡号不同,设备卡号对于本绑定中的所有交易唯一),再透过 EMV Contactless 完成交易。 对于大陆发行的银联卡,绝大部分银行都已经支持手机 Pay,银联中国通常以银联手机闪付这一品牌作为手机 Pay 的实际商标推广(一般包含 Apple Pay / Mi Pay / Huawei Pay / OPPO Pay / Vivo Pay 等,某些品牌会对支持银行进行阉割,通常是否接入银联闪付平台以 Apple Pay 支持情况为主),透过银联手机闪付品牌下发设备卡号时,按照银行支持情况会颁发不同的设备卡卡 BIN。 大部分银行都会直接透过银联的公用卡头 (即查询卡 BIN 发行者为 CUP Token)来完成手机闪付,透过这个卡头将无法进行 ATM 提款等操作,但正常的消费是可以完成的。 少部分银行(如中银、工银、建银)使用本行的卡头完成手机 Pay 设备卡颁发。但是对于中银支持多币记账的借记卡而言,因为设备卡头不支持多币记账,使用手机 Pay 在境外交易不能享受多币记账。 由大陆发行的外币卡 (Visa / MasterCard / AMEX / JCB 等)目前尚不支持手机内置的手机 Pay 完成交易。 但是对于中国银行和工商银行发行的外币信用卡,在 Android 设备上可以透过手机银行 HCE 卡模拟功能,完成外卡(对应闪付设备卡)的手机模拟,体验尚可。 卡组织和他们的互惠协议 AMEX 与日本 JCB 有互惠协议,持 AMEX 的卡在日本可以走 JCB 网络进行消费。 同样的,银联与 Discover (探索卡)有互惠协议,在北美地区持银联卡可作为 Discover 使用(实际体验比较糟糕,主要是北美地区基本不验密,而银联借记卡交易基本验密),Discover 可在大陆作为银联使用。 美国银行和中国建设银行有着互惠协议,中国建设银行的 Visa / MasterCard 理财卡(旧双标乐当家和新版外币借记卡)在 BofA 的 ATM 提款可以免手续费。 所以,你登上了返回大陆的飞机 然后在国内疯狂地开卡。 中国银行 你国全球服务覆盖最好的银行。 汇丰也就看个乐,真环球银行还得看我大中银。 中国银行的个人银行借记卡服务是所有银行里最有意思的,我们在这里简单介绍两张借记卡。 长城冰雪借记卡 类型 详情 学名 长城冰雪借记卡 卡 BIN 码 621669 FTF 0% 卡组织 银联 - 借记卡 记账币种 人民币多币种借记卡 - 支持美元等 19 种币种原币支付 超出冻结 115% 年费 不适用 线上支付 可用,通过银联渠道 3DS 支持情况 支持,由银联在线支付网关进行验证,向柜面预留手机号发送验证码 这张卡支持 19 种币种原币支付 (美元、欧元、日元、港币、英镑、加拿大元、澳大利亚元、瑞士法朗、新加坡元、澳门元、韩国元、丹麦克朗、挪威克朗、新西兰元、菲律宾比索、俄罗斯卢布、瑞典克朗、泰国铢、南非兰特),是目前国内支持外币币种最多的人民币多币种借记卡。 目前本卡每月免除第 1 笔境外本行、跨行 ATM 取现费,在境外取现应该是最好用的那一批。 长城跨境通借记卡 类型 详情 学名 长城跨境通借记卡 Visa 版本卡 BIN 码 Gold 400221 / Platinum 400292 / Signature 400515 MasterCard 版本卡 BIN 码 Gold 529774 / Platinum 538113 / World 533228 FTF 0% 卡组织 Visa / MasterCard - 外币借记卡 记账币种 美元 美元/英镑 双基准多币种借记卡 - 支持欧元、日元、港币等 19 种币种原币支付,不存在人民币账户 超出冻结 102% 年费 不适用 线上支付 可用,通过 Visa / MasterCard 渠道 3DS 支持情况 支持,由中行借记卡部进行验证,向柜面预留手机号发送验证码 笔者的第一张外币借记卡,估计也是很多人的第一张外币借记卡。 这张卡支持 19 种币种 (美元、欧元、日元、港币、英镑、加拿大元、澳大利亚元、瑞士法朗、新加坡元、澳门元、韩国元、丹麦克朗、挪威克朗、新西兰元、菲律宾比索、俄罗斯卢布、瑞典克朗、泰国铢、南非兰特),是目前国内支持币种数最多的外币借记卡。 具体详情可以参阅 跨境通 VISA/万事达借记卡介绍与网上支付体验 - poplite.xyz。这里不再赘述。 中国银行的外币借记卡拒付率较低,基本可以通刷。 Visa 冬奥款目前在大部分地区已经停发。 在中银的某次系统升级之后,本卡已经平滑升级为双基准(美元和英镑)多币借记卡。 目前的扣款模式是: 单一账户整额扣款。扣款的顺序是:当地货币现钞:当地货币现汇;美元现钞;美元现汇;英镑现钞;英镑现汇。 中行信用卡 中行的信用卡产品和借记卡相比就显得乏善可陈了,中行一切宣称全币种的 V/M 信用卡都是伪全币信用卡,本质上是 0 FTF 的美元信用卡。 中行的卓隽留学信用卡是以卡对应地区币种为基准货币的 V/M 信用卡,对于长期生活在该地区的留学生等体验尚可。 中行的 JCB 信用卡以 JPY 为基准货币,在日本实际消费效果尚可。 中行目前还没有发行 AMEX 人民币信用卡。 中国银行支持外币消费直接转换人民币出账单,不需要消耗便利化结汇额度来购买外汇还款。 中国银行信用卡客户可以在柜面申领 e-token (动态口令)来完成 3DS 验证,可以在境外避免遇到短信验证码收不到的情况。 工商银行 一般来讲,工商银行人民币对外币的汇率比中行稍优惠。 工行信用卡 工商银行的 V/M 多币均为真多币信用卡,支持十种外币入账 (美元、欧元、港币、英镑、日元、新加坡元、加拿大元、澳大利亚元、瑞士法郎和新西兰元)。 工商银行的 JCB 信用卡为 JPY 单币种。 工行目前发行的 AMEX 人民币信用卡均以人民币出账。 工商银行不支持外币消费转换人民币出账单,对于外币欠款,不需要消耗便利化结汇额度来购买外汇还款。 工行借记卡 工商银行的银联借记卡均为人民币单币种,并且一般磁条没有写数据,不支持在境外使用磁条交易 (如日本等国无法取现)。 牡丹国际借记卡(万事达品牌) 类型 详情 学名 牡丹国际借记卡(万事达品牌) 卡 BIN 码 519928 FTF 1.1%,仅在交易非卡支持的 10 币种时扣除 卡组织 MasterCard - 外币借记卡 (工商银行信用卡部发行) 记账币种 美元多币种借记卡 - 支持欧元、日元、港币等 10 种币种原币支付,有人民币账户但无法实际支付 超出冻结 100% 年费 10 CNY 线上支付 可用,通过 MasterCard 渠道 3DS 支持情况 支持,由工行信用卡部进行验证,向柜面预留手机号发送验证码 虽然属于借记卡但归信用卡卡部发行,所以这张外币借记卡没有汇户只有钞户。 实际消费体验会比 BOC 的外币国际借记卡略好一点,银行拒付概率几乎为 0,也可以累计信用卡积分。 所有币种的消费都是 100% 的冻结,卡内设有人民币账户,但只可用于 ATM 存取款和结售汇使用。(1. 具体是否可以使用人民币账户消费取决于当地发卡分行卡部设置。2. 因为是信用卡部发行,卡内存款为信用卡预缴款,异地存取款可能收费。) 在消费这张卡所不具备的币种账户时会通过美元进行转换并扣除 1.1% FTF,而如果消费币种为 10 支持币种但户里没有足够余额的话会直接交易失败不回落到 USD 账户。 另外,另外一张红色的 Visa 牡丹国际借记卡和这张卡有较大差别,主要在那张卡仅为 USD 单币借记卡,并含有 1.0% 的 FTF。 目前来看,该卡仅有北京、上海、深圳、成都、沈阳等城市有少部分网点发行,相对而言,申办难度较大。 建设银行 建行信用卡 建设银行的 V/M 多币比较特殊,本质上是 USD 单币种卡,但是如果选择了转换人民币出账,那则会以建行汇率转换支持的自营币种的交易。 例如,在境外消费 100 EUR 以外币还款时,会以卡组织汇率转换 100 EUR 到 USD 出账, 建行目前发行的 AMEX 人民币信用卡均以人民币出账。 建行 EMV 借记卡 类型 详情 学名 万事达 EMV 普卡 卡 BIN 码 517442 FTF 1.95%,非美元交易时扣除 卡组织 MasterCard - 外币借记卡 记账币种 美元单币种借记卡 超出冻结 100% 年费 10 CNY 线上支付 可用,通过 MasterCard 渠道 3DS 支持情况 尚不支持 笔者在 2024 年 5 月成功申请并核发了本卡,应该是北京首张 EMV 万事达持卡人,在这里向开户行的工作人员致谢。 本卡比较特殊,是一张由建设银行发行的美元单币种借记卡。 没有什么出彩的地方,如果硬要是说的话那就只有印制姓名了。 本卡的账户交易顺序是:美元现钞;美元现汇。 如果是扣除美元现汇的话,本卡会先将卡内的美元现汇自动转换为美元现钞再完成交易。 根据建行和 BofA 的互惠协议,本卡在北美的 BofA ATM 上应当可以享受双方手续费均互免(存疑,笔者拿到本卡后尚未实际在 BofA ATM 测试)。 如果常住美国,可以开一张本卡来进行 ATM 免费提款。 此外,本卡还存在 Visa 版,和 MasterCard 版大部分地方情况一致,但是不能进行网上三要素交易,不推荐开 Visa 版本。 当然,就建行当前的推广力度来看,该卡颇具收藏价值。 广发 & 兴业 & 中信银行的 AMEX 人民币借记卡 WIP 中银富登村镇银行和他的借记卡 WIP 招行和某些其他商业银行的信用卡 WIP

2024/5/4
articleCard.readMore

若存在终站之后。

自幼时便无数次幻想巴士驶向终点站后前往何方。 于是便这样做了。然后发现驶向终站的巴士只不过是返程的开始,在两点的无尽反复而已。 如果要是存在终站之后的话,循环般的人生或许就会有救吧。 <iframe src="https://player.bilibili.com/player.html?as_wide=1&high_quality=1&page=1&aid=302149706" scrolling="no" frameborder="no" framespacing="0" allowfullscreen="true" > 以上。 以上这段文字写于 2024 年 4 月 23 日。 于是,若存在终站之后的话 以下这段文字写于 2024 年 4 月 25 日。 很讨厌做计划什么的。 大概是从小学的时候就开始了。 无数次被家长和老师说教,说什么 “做计划是为了你好” “这是有效的利用时间”。 从小到大都是老师口中的 “乖孩子”,爱学习,不斗殴,不挑事,不说话。 父母所做的计划什么的只要按班就步的走下去,就一定能取得成功。 反正嘛,世间的一切成功都只是出自人的主观臆断罢了。 有人说什么物质富足的人是成功的、还有人说什么精神富足的人是成功的。 生活里只有按部就班,学校和家里的两点一线,如同巴士般稳定的计划什么的。 反复什么的,真是受够了。 真想找到巴士始末站后的第三站啊,无论是处于始站之前还是末站之后都可以。 于是,在今天下午翘课了。—— 说是翘课,实际上也只是在考试结束后的自习课偷偷摸走了。 翘课也没有被抓到,只是内心有点过意不去而已。 人生才不是说什么随处可见的东西,你的人生由你自己所有啊。 请让可观测,可预测的东西只是物理数学上的那一个个定律而已,不要让定律定义了你本身啊。 若能在行驶于两点间的巴士上找到第三个站的话,我更愿让它在终站之后。 ZA Bank 的宣传语很有意思, “做坏规矩,做好银行”。 做坏规矩嘛,不要拘泥于自己本身所在的道路,走出舒适区跳脱出来看看也挺好的。 生活不应该是单调的循环,而是不断创造意义的过程。 无论如何,要对世界抱有着最初的好奇心,在平凡的日子里找到微小的、闪光的东西。 就正如有风吹过就好了,狂风也好,清风也罢。 我这样祈求着。 如果真的存在那么一个终点之后的话,一定一定,在播放着摇滚乐,没有什么赞美诗什么的,因为神明和其他东西都不存在吧。 于是, 以上。 终站之后的后日谈 以下这段文字写于 2024 年 4 月 27 日。 回想了一下,第一次在听 Tuyu 的歌大概是在 2021 年。 然后在 2023 年开始被人拉着强制碰了 maimai,然后就选到了 Tuyu 的 「くらべられっ子(被比较的孩子)」,回到家里加到了网易云的收藏夹里,扫了一眼歌词,感觉很有共鸣感。 我们不也正是被比较的孩子吗? 明明知道自己比不过别人但又没法彻底放弃一切去摆烂。 每次被告知不如别人的时候都觉得自己像一盘冷掉的菜一样,永远不会被谁选择,自己的存在又尴尬又让人恶心。 畅想着当年的自己有多厉害,是他人父母口中的 “别人家的孩子”,成为被比较的那个对象, 被他人所抛弃以后也会躲在被子里失声痛哭,后悔着自己如果当时这么做的话事情就会有转机吧。 当时有多果断,现在就会有多狼狈。 每个人都会有不如意的时候,但更重要的是, 成为如此这样被比较的孩子也好,失恋也好,放弃了音乐也好,被抛弃也好,错过了最后的巴士和电车也好,人生有多糟糕透顶也好。 生命本身就蕴藏着无尽的价值与意义,自我接纳是我们与生俱来的权利。 但如果可以的话,明明我们也只是想找到一个能接纳自己的人,以自己为荣的人,能在最后关头站在自己这一方的人而已啊。 地球终将和往日一样,继续旋转;巴士终将和计划同样,驶向终站。 其实根本不存在想寻找着什么终站之后去了结自我的愿望, 想把告别变得漫长,想把结束变为开始。 既然也找不到什么救赎或忘记的方法的话,不如就装着吧。 比起那些再也长不大的人,我们一定会长大成人,带着过去的伤痛活下去。 以上。

2024/4/27
articleCard.readMore

雨声残响

关于题目,盗取自 Orangestar 的 「雨声残响」这一歌。 雨落尽,天渐晴,但雨声仍然还会有残响啊。 北京的天真是奇怪呢。 嗯,真的很奇怪呢。明明下午还是天晴的,过了两个小时突然就深沉下来然后狂风暴雨。很奇怪吧。感觉不是北京,像是岛国的伦敦。 突然想起 Yorushika 年初的新歌 「晴る(放晴)」也是讲的春雨后天放晴之事。刚发布的时候循环了很久,真想和你一吐为快呢。 很喜欢雨后晚上的时候出门走一走,空气很清新,麻烦的避水坑也貌似变得灵动了一点。 纷纷、扬扬、飘落。 ― Yorushika (n-buna & suis), 夜行 每次进入到副歌的时候,总会感觉有一种华丽的悲伤感,回忆如夜风般流转身边。 还记得是 23 年的暑假吧,跟着老妈回老家悼念离世已经一年的爷爷,说来也很奇怪,本打算多住几天的,突然就开始胃疼。 貌似,回忆好像也没什么啊。 你走后,有个朋友给我发了一首歌,是彩虹合唱团的 「道别是一件难事」。 既然忘不掉,那就装着吧。 我将留在此处,而你将去到遥远的彼岸。 ― Yorushika (n-buna & suis), 夜行 现在望向窗外,只闻: 以上, 2024 年 4 月 22 日

2024/4/22
articleCard.readMore

八月、某、月明かり(八月、某地、月光皎明)—— My whole life was saved by Rock & Roll.

人生、二十七で死ねるならロックンロールは僕を救った ― Yorushika (n-buna & suis), 八月、某、月明かり 那天因為犯了些粗心的錯誤而被店長罵到臭頭,但我那時一直想著別的事情。 羅伯 • 強森、吉米 • 亨德里克斯、布萊恩 • 瓊斯和吉米 • 莫里森, 這些當時很棒的音樂家,都是在 27 歲逝世的。 還有 27 俱樂部這樣觸霉頭,但卻挺有名的說法。 在我臨死之際,還會剩下所謂「這樣就滿足了」的事物嗎? 不用說 27 歲,如果壽命就這樣被限定著時, 那還不如拋開一切,全心全意地做音樂。 就這樣,如果那件事成了不可能,也只能繼續現在的生活, 到死都停滯不前,漫無目的地過著毫無意義的每一天了吧。 ― Yorushika (n-buna & suis), 八月、某、月明かり - From Youtube 27 Club 27 岁俱乐部,来自于一个奇怪的传言,有许多伟大的、富有才华的摇滚音乐人在 27 岁那年出乎意料的死去。 如果人生在 27 岁就会死去的话,那还需要什么别的呢?做好自己想要做的东西就可以了。逃避现实什么的,也无所谓了吧。 八月、某地 八月一直以来都是一个特别的月份。至于为什么特殊嘛? 那个八月的暑假格外的短,大概是因为那个暑假末尾被迫的强制补课吧。 八月,从教室向窗外看去,夏天的落日总是不同的。阴天下的落日是冷淡的,大风过后落日骤亮,是暖调的,雨后和烈日的夕阳是清爽的。 操场上也有学生在打球,似乎是八月末最后一丝青春感了。 那大概是我每天为数不多能发自内心开心的时候了吧。 等到夕阳落下,夜幕降临,教室里也会有一种阴沉、疏离的气氛再次出现。 如同机械般的再次投入到什么所谓的 “学习” 之中。 等到下了晚自习,走在回家的路上,独属于夏的微风吹过, 再次戴上耳机,站在十字路口上,等着绿灯亮起, 抬头只见朗朗月光,随机到了 「八月、某、月明かり」,听到那句: 何もいらない ― Yorushika (n-buna & suis), 八月、某、月明かり 突然觉得, 一切全都糟透了啊,快跑吧。 某地、月光皎明 初听 「八月、某、月明かり」 的时候,感觉副歌有一种奇奇怪怪的混乱感,匆匆忙忙的。 如同着急赶上回家的末班公交一样,总是感觉差一口气有话没说完。 现在一想,这应该就是 n-buna 的风格,也就是所谓的 —— 疾走感。 总体来看,「八月、某、月明かり」应该是一首相当愤世嫉俗的、偏激的、愤怒的歌。 简而言之介绍一下背景,「八月、某、月明かり」和同属专辑 「だから僕は音楽を辞めた (所以我放弃了音乐)」 的歌,都是由一名虚拟的音乐家角色 “Amy” (存在翻译 Eimy)创作,他怀才不遇、身患绝症,如果能用一个历史人物比喻成 Amy 的话,应该是屈原吧。 夏日未至,咖啡厅内,Amy 第一次遇到了 Elma,她同他一样,一个音乐家,于是第一眼之后就喜欢上了她。 在他 27 岁那年,八月末尾,他仿照自己的音乐,抛下 Elma,喝下花绿青(一种很美丽的、绿色的、剧毒的颜料)跳海,独自死在旅程中。 回到主题吧,在一句 “什么都不需要” 之后,就进入了吉他和鼓上气不接下气的演奏之中。 自行车上的飞奔 我一直是认为「八月、某、月明かり」这首歌应该是骑着自行车,在大街上飞奔的时候听的。 事实也是如此,这首歌的词曲作者 n-buna 也是这么想的。 便利店打工的过程中,因为和店长的不和,辞掉了这份工作。 把工作服洗完没晾干就装进纸袋里送回便利店之后,扭头骑着自行车一路狂奔。 初めてバイトを逃げ出した 音楽も生活も、もうどうでもよかった ただ気に食わないものばかりが増えた 「八月、某、月明かり」、月明かり、自転車で飛んで 東伏見の高架橋、小平、富士見通りと商店街 ― Yorushika (n-buna & suis), 八月、某、月明かり 骑着自行车飞奔,逃掉打工什么的,很反叛吧。 不想做的事情却会因为 “要填饱肚子” 这样残酷的理由不得不去做,所以就逃掉了打工。 这就是「八月、某、月明かり」中的第一个矛盾,即: 现实和理想的冲突。 生活一塌糊涂,令人感到无奈和厌烦。正因为生活如此糟糕,所以才要去发泄自己心中的愤怒。 摇滚的内核是反叛,反叛即为发泄。 但是「八月、某、月明かり」的发泄和例如真夜中的 「那些家伙们的校友会」 之类的歌也有不同 —— 「八月、某、月明かり」的发泄中明显带着一丝收敛,或者我们说的更简单一点,并没有说什么 “这个世界差极了,和这个世界爆了” 之类的话。 深究其原因,「八月、某、月明かり」中带着更多复杂的情感,不能用简单的一句 “和这个世界爆了” 带过吧。 我的人生只有糟糕透顶罢了 紧接着,进入副歌,矛盾继续延伸,即:我和理想的冲突。 最低だ 最低だ 僕の全部最低だ 君を形に残したかった 想い出になんてしてやるもんか ― Yorushika (n-buna & suis), 八月、某、月明かり 不断重复着什么 “糟透了” 之类的话,也应该是所谓摇滚中的反叛精神啊。 如果失去对于某物的逆反、宣泄,内心没有痛苦、挣扎的话就算不上是摇滚了吧,或许就是乐器音重的流行乐了。 初めて心を売り出した 狭心もプライドも、もうどうでもよかった 気に食わない奴にも頭を下げた ― Yorushika (n-buna & suis), 八月、某、月明かり 自己和自己看不惯的现实也逐渐找不到差别,对自己也开始鄙夷起来,所以才把自己和理想交代给歌曲中的 “Elma”。 Elma 在这里如同是神明一般的人,是理想在现实中的化身。 但他也清楚,Elma 同他一样,也只是一个普通人,也有着贪婪的私心,自己也不能强求去改变她。 最低だ 傲慢だ 君もみんな貪欲だ 君の全てに頷きたいんだ そんなの欺瞞と同じだ、エルマ ― Yorushika (n-buna & suis), 八月、某、月明かり 这样理想与现实,理想与自我,理想与平凡的三大冲突渲染了这整首歌的情感氛围,Amy 纠结于冲突之中,找不到宣泄的方法,使自己更加痛苦。 违背世俗去逃掉打工,却还是有着更多本意背道而驰的事物不断增加; 要顾虑的事情太多了,所以根本找不到发泄的道路啊。 有的时候觉得现实里的自己找到了答案,但追到最后,发现答案是牵强的。 相信宗教、相信世俗、相信摇滚、相信他人,无论是相信一切其他事物,亦或相信自己,似乎都不能让人心安吧。 所以是摇滚乐拯救了生命 而这个问题的答案,无论是「八月、某、月明かり」,还是专辑里的其他音乐,或许都没有对这个问题给出解答。 和 「だから僕は音楽を辞めた (所以我放弃了音乐)」 专辑中的其他歌曲相比,「八月、某、月明かり」更显得带着一丝狂风的感觉。 而这又可以回到开头所说的 —— 疾走感上。 乱花迷醉之夏 设身处地的想一下: 皎洁月光,凉爽夜风,路上街道无人无车,世界像是停下来了一样。 你一个人骑着自行车,飞驰在街道上,建筑和别的一切都闪过眼前的时候, 你还会想起还有这些烦恼的事情吗? 很明显,如此心旷神怡的时候,你会享受逃避烦恼的这段时间吧 —— 无论到底是多长,一分钟、一小时、一天都无所谓,需要的只是放松而已。 逃避作为宣泄来讲无疑是懦弱的、可耻的,改变不了什么,也传达不到什么,但究其根本,也是有效的、可用的。 即使你不相信什么 “爱能拯救世界” “现实什么的糟透了”,也总能在逃避中 have a break,选择去 “什么我都不管了”。 谁都有心累的时候,选择去逃避一下现实,或许也挺好的。 什么我都不需要 明明 Amy 要是能够信点什么的话,心里或许就不会这么拧巴和纠结了。 为什么所有的东西都要研究出个美恶善臭来,明明令人愤怒的事情永远都会存在,无法抹除。 看到过一个非常有意思的观点: “尊严是我平庸身体的一剂毒药” 虽然无能的自己已经不能维护尊严了,但是还是不能允许他人、自己去践踏仅存的这一丝尊严。 在面对讨厌的人也要低下头颅的时候,Amy 也应该很难受吧。 尊严告诉我们说什么,人应该自由,应该平等,应该有高尚的情操。 但是回顾到现实,能做到的人又有多少呢? 如屈原一样壮烈投江的人并不多,大部分人都出于泥泞,而又和泥泞所不容。 或许是身体里寄身的神明促使我们这么干的吧。有着这样本应高洁的神明存在,所以我们才不能忍受如此泥泞的人、事和自我。 与其说是和外物的不对付,其实是有着污秽内心的我们没有去见神明的胆量吧。 人生,即为妥协的延续吧。要想活得痛快,一定要与自己和解啊。 逃避的道路,也一定是妥协一切什么金钱、爱情、宗教、社会、他人、自我、价值观和时代论,和自我和解的道路。 所以选择摇滚,不是在相信摇滚和反叛能带给我们什么,而是在摇滚的愤世嫉俗得到妥协和和解,走向自我逃避罢了。 所以,Amy 最终选择了逃避,放弃了思考,张开手,去迎接即将到来的死亡。 今も、愛も、過去も、夢も、思い出も、鼻歌も、薄い目も、夜霞も、 優しさも、苦しさも、花房も、憂鬱も、あの夏も、この歌も、 偽善も、夜風も、嘘も、君も、僕も、青天井も、何もいらない ― Yorushika (n-buna & suis), 八月、某、月明かり 所以,什么都不用管了, 现在也好,爱也好,过去也好,梦想也好,回忆也好,哼唱也好,冷漠地眼光也好,夜光也好, 就是现在,什么都不需要了,就让耳机里的摇滚乐,飞驰的自行车,眼前闪过的景物带着我。 “一切全都糟透了啊,快跑吧。” 我、「八月、某、月明かり」和那个友人 A 东亚人总是含蓄的。正如夏目漱石把 “I love you” 翻译成 “今晚月色真美” 一样。 「八月、某、月明かり」也是如此样无声的告白吧。 八月、某地,骑着车飞奔在街道之上,抬头,月色一定是美丽的。 最低だ 最低だ 僕の全部最低だ ― Yorushika (n-buna & suis), 八月、某、月明かり 日语里,最低だ(最差劲了) 和 咲いていた(绽放着) 同音,真是个美丽的巧合啊。 说起来很有意思,n-buna 在之前 VOCALOID 活动时期的一首曲子 「白ゆき」 中也提到了一样的 最低(さいて)/ 咲(さ)いて。 即使是糟糕透顶如我,也想在你面前绽放呢。 从之前起,就无数次和友人 A 提过自己非常喜欢这首歌,也把「八月、某、月明かり」中的一句话也送给了她: 君の人生は月明かりだ 有りがちだなんて言わせるものか ― Yorushika (n-buna & suis), 八月、某、月明かり 是啊,你的人生好似朗朗月光,哪能容忍他人指手画脚呢, 只剩下被嘲笑的自己了。 可是,人生,若是现在就会迎来结局的话,那么一定、又一次、还是摇滚乐救了我吧。 My whole life was saved by Rock & Roll. 以上, 2024 年 4 月 18 日

2024/4/18
articleCard.readMore

「花与麦芽糖,最终电车。」

初听拿不拿的这张专辑还是 17 年的夏天,第一次接触 VOCALOID 的时候,当时还小嘛,也不懂什么乐理和看歌词什么的,觉得顺耳好听自然就加到收藏夹了。 第二次提到这张专辑的时候,是 21 年那天你给我发了 Yorushika 的 「说吧。」,你和我提什么 “吉他的 solo 很帅吧” 什么的话,说要去学电吉他,还说这是你最喜欢的歌。 我打开 Yorushika 的歌手页一扫成员,嗯?拿不拿?然后突然就想起来了花水电车,翻出听了很久,拿不拿那时候的歌真的和 Yorushika 很不一样啊,像是真的失去了什么重要的东西一样,真的看不见了,带着一丝丝怀念与后悔吧。 于是你便学起了电吉他——如你所说的那样。你也是真的很有天赋,自学一年过去已经可以弹出「说吧。」的 solo 了。我还半开玩笑打趣的说你什么时候可以自己开乐队写摇滚曲子,你也开玩笑去让我学乐器。 22 年的日子是真的很难过啊。也不知道自己那时候怎么了,突然就变得神经质了起来,一天天重复着一成不变的生活,一次次踏入相同的错误之中。 直到一模出分的那天,应该是真的崩溃了吧。七点半放了学到了家就开始哭,你也清楚我七点半到家,见我一直没理你,就给我打了个电话,然后和我提什么 “你的人生好似朗朗月光,哪能听他人说什么 ‘随处可见’ 之类的话”,还开玩笑说 “你先别急呢,我还没想不开你想什么” 的话。 就这样在你的开导之中,中考也过去了。疯玩了一周多,等到出分的那天,很不可思议的,拿了一个还算可以的分数。然后又在突然的家庭变故之中迎来了暑假。 八月初的时候,你突然提起来两天之后要来北京玩两周,想着什么换换心情,就打算每天陪着你出去瞎疯吧。 然后你便来了北京,晚上九点半点在北京西站接到了你,然后把东西什么的丢到酒店,就拉着你一块出去溜了两圈。 中日友好医院的北边有一条小路,叫健安东路,很清净,紧贴着元大都公园。那天就是拉着你一块走的那条路,只记得那天夜晚皎洁的月光很美。 已经有将近一年不敢走那条路了,前两天心烦突然就走到那条路上了,还是和之前一样,路灯暗的和坏了一样,只不过北边的杨树已经越长越高了,可以挡住月光和北边的房屋,嗯,还有底下的花坛里长着淡黄色的小花。 然后下边两周就陪着你瞎跑了很多地方,现在一想,只能想起来那次和神经病一样,从双井一路骑车到天通苑,还是共享单车。 北京的夏天一如既往的很热,只能躲在树荫里骑车,你一边和我提着 “要是晚上出来就好了,至少还凉快一点”,一边哼唱「八月、某地、月光皎明」。然后休息的时候突然还问你带没带电吉他,说想听你弹个 Yorushika 的曲子,你笑着跟我说没带,然后摆摆手接着上路了。 然后骑一半累了找了个便利店,看我掏了瓶可乐,然后你就给夺下来放回去了,告诉我说 “无糖的好歹还好点,侬,拿这瓶无糖的芬达就行,橙味的汽水不会出错的”,然后最后结账的时候你把所有东西堆在一块让我结的,一共你还欠我八块五。 约着 24 年你高考完之后再来一趟北京之后,这 14 天和流水一样就过去了,感觉自从上了学之后时间就变得短了起来,也没多少时间和你谈天谈地了。 北京是一个没有春天的城市。 四月份的北京更是,只有草绿、花开、杨絮乱飘、我在过敏罢了。 然后在 365 天之前,2023 年的 4 月 17 日,你突然就和我发了海子的 “面朝大海,春暖花开” 的一小段。 1 2 3 4 5 “陌生人,我也为你祝福 愿你有一个灿烂的前程 愿你有情人终成眷属 愿你在尘世获得幸福 我只愿面朝大海,春暖花开。” 然后我就感觉应该不太对劲,于是疯狂和你发着消息,问着其他熟悉的朋友,然后得到了你吃安眠药的消息。 然后无助的我就开始哭吧,印象很深的是那天我偷偷摸到麦当劳那边,麦当劳十点钟关的门,我坐在那里哭,店员看到也没有赶我走,给我打了一瓶水放在了桌子旁边。 人在极度绝望的时候会相信奇迹,但奇迹不是所有时候都会出现的。 那天一晚上都没睡着吧,十一点半的时候我才知道,以后再也看不见你了,也听不见声音什么的了。 你是一个态度恶劣,自我,自私,幼稚的孩子,要是你今天还能在这里听我说教的话就更好了。 第三次再想起来这张专辑已经是今年的四月份了,拿不拿的歌很美呢。但是要是告诉你直到现在,我还想着什么那天如果多做些什么就能挽回你之类的话,你一定会笑话我吧。 摇滚的内核是反叛,你正是这反叛最好的印证。如果当时你对这世界还抱有一丝怀念的话,也不会选择去吃五倍量吧,明明知道自己会死去,临末了还和我说什么 “面朝大海,春暖花开” 之类的话。 海子的诗真的很美啊,但是生命比什么春暖花开之类的更美丽吧。 没关系啦,因为如此的夏日终会迎来终结,即使尚未开始。 1 2 3 4 5 6 7 8 9 「朝、今日も駅の裏 人が立っていた, 夜の藍に花が咲く 絵を描いていた, 花詩 誓い 明日藍を飛ばせ, 貴方が居たくない今日を叫べ。」 “早上,今天的车站中 也站着许多人, 夜晚的靛青色中绽放出花朵 描绘着画, 花诗 誓言 明日放飞靛青色, 大声叫喊你不愿驻足的今日。” 要是忘记的话,你便会消失掉的。 敲这片文的时候,耳机里放的是花水电车里的 「Meru」,里边提着什么 “感情如夕阳西下一样” 的话。北京今天的夕阳很美呢,橙色的夕阳逐渐融入在近处的高楼、远处的山峰之中,可惜你再也看不到了吧,也传达不到了吧,承诺什么都也根本不可能再实现了吧。 要是忘记的话,便会回想起你。 若是能再次回到那个夏天的话,请让我为你、我和那个如同昨日的夏天,献上一朵淡淡的黄花吧。 以上, 2024 年 4 月 16 日。

2024/4/16
articleCard.readMore

漫谈中国支付系统和银行系统: 一些有意思的事实

前言 目前中国大陆的支付系统发展水平,可靠程度,承载负载等角度上来看,不客气地讲在全球应该能排第一,最大的银行卡组织(之一,即银联)在大陆,最大的零售网络清算体(网联清算)在大陆,世界最大的两个电子钱包服务提供商(即微信财付通和支付宝)也在大陆。 支撑如此庞大支付市场的系统是央行的 CNAPS 2,也就是 China National Advanced Payments System 2。在中国大陆一切涉及到资金的清算无论如何都会绕到 CNAPS 上完成。 一笔清算的完成都需要完成两个流上完成流动。 信息流 资金流 CNAPS 支撑着资金流的流动,负责银行间头寸的划拨。其他支付系统 (如银联,以及非银机构的网联等)通过 PMTS (Payment Message Transmission System)和 CNAPS 交换数据,完成最后资金的流动。 有关卡组织的一些有趣的事实 卡组织的清算只需要完成信息流的流动,实际的资金划拨是由银行间自行协调完成的。 银行卡 & 卡组织清算历史 最早在 1979 年秋季的广交会上,为了方便外宾交易,中国银行与东亚银行签署协议,代理东美 VISA 信用卡取现,这是国外信用卡第一次在中国内地用于交易。 1986 年,由中银珠海分行提出的发展信用卡的报告被总行批准后,在珠海发行了大陆第一章信用卡,即 “中银卡”,此时还没有银联的出现。 此时中国大陆还没有银联等卡组织的出现,一切清算都在行内完成。 早期时,中国大陆还没有统一的跨行清算设施,甚至行内也不能跨省、跨市交易。POS、ATM 等是银行自己铺开的,你是什么银行的卡,就必须用什么银行的 POS、ATM 完成交易。 长城提款卡,由中银珠海分行在 1987 年发行。是国内第一张提款卡,限于当时的电脑通讯设备的不足,当时并未实现全辖联网,而仅限于在珠海当地的储蓄所使用,因而类似于一个无人看守而又能完成提款的存钱柜。 1993 年,金卡工程开始实施。目的是在消费领域推广使用信用卡和现金卡,其中有一个重要的工作就是调和各个银行,推进银行卡联网通用。背后的本质其实就是需要建立一个全国性银行卡信息交换系统,经过最后的调研之后,决定成立一个全国银行卡联合组织,即银联。 2002 年 3 月 26 日,中国银联股份有限公司在上海浦东正式成立。 关于银联 & 连通和已经由有了的万事网联 银联、杭州连通和万事网联目前是中国大陆唯三的持牌人民币银行卡清算业务提供商。一切在中国大陆内完成的持卡人民币清算都需要通过他们三位来完成清算。(同时银联也在中国大陆作为 ATM 网络存在,类似 Jetco / Cirrus / Plus) 银联、连通和万事网联同时也是一个转接清算组织,接受支付机构的支付请求,下达对应的银行系统,最后利用央行的大小额系统(CNAPS 2 系统的重要组成部分之一)完成银行间的清算。 下边将以银联为例简单的说一下清算流程。 银联与收单清算 银联作为一个银行卡清算组织,职责就是作为基础设施把整个银行卡支付、清结算的流程串起来,就像一个外包记账公司,帮助银行、商户在银行卡支付场景下记账,帐记清楚了之后再在一个大家约定好的时间进行实际的资金交割。 一个典型的银联持卡交易流程是: 持卡人在商户持卡消费 商户对应的收单机构向银联发起授权,银联将授权转发至发卡银行 授权得到批准后持卡人支付成功 商家向收单机构请款,由银联最后完成清算将资金转入给收单机构或商户 银联在清算过程中,存在两个清算流程: 跨行清算:针对收单机构和发卡机构的清算 收付双方是发卡行和收单行,具体收单行要给商户结算多少钱、发卡行要扣持卡人多少钱不关银联的事情,银行和它的客户(持卡人、商户)之间具体的结算是银行自己的事情,理论上银联只要把银行间的帐记清楚了就行了。 收单清算:代替收单机构针对商户和收单专业化服务机构的清算 收付双方是银联和直连商户,作为银行卡清算组织,理论上来讲银联不应该同时充当收单机构。但是呢,银联同时也自己接入了一些商户,称之为 “直连商户”,把通过某些收单机构(如各大银行、第三方支付机构拉卡拉等)连接银联的商户叫作 “间连商户”。 银联在每天完成日切后 (23:00),通过多边净额清算出一份清算结果,然后通过大小额系统完成资金交割。 具体的来讲,中国银联是大额支付系统的 “特许参与者”,拥有极其高的权限,它可以直接操作其他人的清算账户,即可以贷记也可以借记其他人清算账户(在大额支付系统中称为 “即时转账业务”,仅允许特许参与者使用)。 银联的清算账户开设在人民银行上海总部,这个清算账户是一个特许账户,银联通过和位于上海的 NPC 直连,可以直接为银联的参与行进行银行卡跨行交易的资金清算。 下边是跨行清算的简单过程: 银联系统完成日切后,通过多边净额清算出一份清算结果—— 一份以银联为一方,其他参与行为另一方的即时转账业务报文,然后发送给大额支付系统。 大额支付系统检查无误后,提交 SAPS 进行轧差。 若这笔即时转账业务成功,银联会收到一份已完成的通知报文,相应的成员行也会收到一份借记/贷记的通知。 若这笔即时转账业务失败,银联和成员行会收到一份排队中的报文。这时候付差的一方应该采取措施去解决一下队列。 如果等到这笔即时转账业务预关闭的时候还不能解决的话,银联会收到一笔该交易撤销的报文,这笔清算也就算是失败了,等到下一个工作日,银联会把失败的清算并到新一天的多边净额清算中,然后再如此往复。 前面已经解释过什么叫做收单清算了,在跨行清算的流程里,还有一部分发卡行的资金被结算到了银联的清算账户里,在接下来的在收单清算的流程里,银联再通过小额支付系统将这些资金结算给直连商户。 银联同时也是小额支付系统的特殊参与者。银联给商户的结算在小额系统里面叫做 “银联代理收单机构清算商户资金业务”。收单清算的清算流程就不多说了,通常在商户的开户行收到已轧差的消息后,就会给商户入账,然后等待小额支付系统结算。

2024/2/1
articleCard.readMore

重新开始 - 所以我尝试了一下 Hugo

在疯狂的摆烂 n 年后,某个人终于想起来他还有个博客。经过好几分钟的思想斗争之后,他决定好好折腾它,以 Linux 为抓手,通过 Hugo 和 nginx 深度共建,对标 Hexo,打通原 Blog 与 Simple 之间的垂直领域屏障,实现多维矩阵闭环,为个人博客赋能(确信)。 Why Why rebuild it? 相较重建而言,我个人感觉更应该称之为重启。 这个博客建立至今其主人都没好好写过几篇文。 更多意义上来,我更希望能写写一些有意思的东西,所以就重启了。 Why choose Hugo? 我使用 Hexo 驱动博客已经三年之久了,之前写过一个开源的 Hexo 主题(虽然没几个月就 make it Archived 了)。 Hexo 对我而言过于臃肿,每次部署都要抓取不少 NPM Package,并且主题依赖的 node-sass 安装依赖 python2,对于现代的发行版而言 python2 基本已经被弃用,甚至完全被移除。 反观 Hugo,作为 golang 编写的静态网站生成器,standalone 足够简单,并且基本满足我只需要关注于文本本身的要求。 So we start with Hugo 简单的配置 Hugo 我使用了 hugo-theme-stack 作为主题。 1 2 git submodule add https://github.com/CaiJimmy/hugo-theme-stack/ themes/stack echo "theme = 'stack'" >> ./config/_default/config.toml 然后使用 DisqusJS 作为评论的实现方案。 1 2 3 4 5 6 7 # config/_default/params.toml [comments.disqusjs] shortname = "secret" apiUrl = "https://disqus.skk.moe/disqus/" apiKey = "secret" admin = "real186526" adminLabel = "Admin" 作为 RSS 用户,Hugo 默认内嵌的 RSS 实现根本不够看。我在这里使用了 hugo-atom-feed 来实现了 Atom。 1 2 hugo mod init github.com/186526/blog.186526.xyz hugo mod get -u github.com/kaushalmodi/hugo-atom-feed 1 2 3 4 5 6 7 8 ## ./config/_default/module.toml [imports] path = "github.com/kaushalmodi/hugo-atom-feed" ## ./config/_default/outputs.toml home = ["HTML", "RSS", "ATOM"] section = ["HTML", "RSS", "ATOM"] taxonomy = ["HTML", "RSS", "ATOM"] Atom 文件默认位于 /atom.xml 下。

2023/11/5
articleCard.readMore

Cloudflare Free Argo tunnel 白嫖计划

之前看到了 Cloudflare Blog 更新了 「A free Argo Tunnel for your next project」 一文,最近终于有空闲时间,搭建一个测试一下。 Why 啥是 Argo Tunnel Argo 隧道提供了一种简便的方法,可将 Web 服务器安全地公开到 Internet,而无需打开防火墙端口和配置 ACL。 Argo 隧道还可以确保请求在到达网络服务器之前先通过 Cloudflare 进行路由,因此可以确保通过 Cloudflare 的 WAF 和 Unmetered DDoS 缓解功能停止了攻击流量,并且如果为帐户启用了这些功能,则可以通过 Access 进行身份验证。 –翻译自 Argo Tunnel -- Cloudflare Docs 用人话理解 -> 可以用 NAT 机子通过 Argo Tunnel 来穿透任意端口,并且还可以享受到 Argo Smart Routing 技术,极大幅度优化了回源速度,还有一大堆网络攻击保护技术也可以被启用。 这不得爽死吗( 啥是 Argo Smart Routing Argo Smart Routing 是 Cloudflare 为优化回源性能所推出的一项技术,你可以在这里获得技术详情 在未启用 Argo Smart Routing 前, Cloudflare 将会如此回源。 Client -> Cloudflare Edge Server Cloudflare Edge Server -> Trafic over Normal Internet Node -> Origin Server 在启用 Argo Smart Routing 后, Cloudflare 将会如此回源。 Client -> Cloudflare Edge Server Cloudflare Edge Server -> Trafic over The Fast*** links -> Cloudflare Argo Server Cloudflare Argo Server <-> Origin Server (因某些词语违反广告法,已经进行处理) 相较于未启用前,Argo Smart Routing 可以有效优化请求用时。 How Install Cloudflared Cloudflared 作为源服务器和 Cloudflare Argo Server 的链接件,是必不可少的。 你可以参考这里的文档。 在 macOS 上安装: 在这里下载 releases 来安装 通过 brew install cloudflare/cloudflare/cloudflared 安装 在 Linux 上安装: 参考这里进行安装 在 Windows 上安装: 在这里下载文件并打开当前路径的 PowerShell 备用 Login 在终端执行以下操作 1 cloudflared login 选择 Tunnel 的域名,保存下来的证书请留下来备用。 Run Hello world 将需要 Tunnel 的域名解析到 Cloudflare Edge Server (仅对于 CNAME 接入情况) 运行以下 Command 1 cloudflared tunnel --hostname <tunnelDomain> --hello-world 打开被 Tunnel 的域名,如果可以看到 Congrats! You created a tunnel! 一行,则说明你的执行成功,快去搞些有意思的事情吧( Run HTTP Tunnel 既然我们已经成功运行了 Demo,我们可以来搞一些有意思的东西,例如把 http 穿透出去 参考#Run Hello World 第一步对域名进行解析 执行下列命令来穿透该 http 服务 1 cloudflared tunnel --hostname <tunnelDomain> --url <url> 使用浏览器打开 <tunnelDomain> ,测试 http 服务是否被成功穿透 Run TCP Tunnel 既然要追求刺激,就贯彻到底咯 我们同样也可以通过 Argo Tunnel 对 TCP 请求进行转发 Argo Tunnel 的 TCP 转发依赖于 Cloudflare Access ,你需要在服务端以及客户端运行 Cloudflared 来转发数据 参考#Run Hello World 第一步对域名进行解析 在服务端执行下列命令来启动一个 tcp 转发 1 cloudflared tunnel --hostname <tunnelDomain> --url tcp://${host}:${port} 在客户端进行登陆 1 cloudflared login 启动 client 侧的转发 1 cloudflared access tcp --tunnel-host <tunnelDomain> --url tcp://0.0.0.0:${localport} 访问本地的 0.0.0.0:${localPort} TCP 转发就成功了 p.s. Cloudflare Access 现暂不支持 UDP 转发

2021/1/13
articleCard.readMore

「 Run short links service with aka 」- 如何部署aka

一个简单的 aka 部署教程。 警告 aka 已被弃用。 aka (Also Known As) 是一个简洁,快速,前后端分离,运行于 Cloudflare 的短网址服务。 Demo: 186.rip aka 分别有两个 Worker 组成,分别是其的的前端以及后端,你需要在本地安装 node > 12 的环境来支持其部署。 本次部署所用环境 本次教程使用 node v12.19.0 wrangler 1.12.3 Debian GNU/Linux 10 (buster) in a Docker Container , The Host uses Archlinux 安装所需工具 你需要拥有一个良好的网络链接,并拥有一个可用的域名并已经绑定至 Cloudflare。 安装 wrangler wrangler 是一个 Worker 部署工具,你可以使用其来部署 Worker。 你可以和我一样,选择使用 npm 进行安装。 1 npm i @cloudflare/wrangler -g 如果你使用 Windows ,你可以选择下载并安装 wrangler 的二进制包。 在 wrangler 中登陆帐号 使用 wrangler login 来进行授权。 下载本项目,并安装对应依赖 这里推荐使用 git 来拉取本项目,并使用 npm 作为包管理 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 $ git clone https://github.com/186526/aka.git Cloning into 'aka'... remote: Enumerating objects: 157, done. remote: Counting objects: 100% (157/157), done. remote: Compressing objects: 100% (96/96), done. remote: Total 157 (delta 63), reused 148 (delta 54), pack-reused 0 Receiving objects: 100% (157/157), 468.87 KiB | 23.00 KiB/s, done. Resolving deltas: 100% (63/63), done. $ cd aka $ cd frontend $ npm i 后端部署 修改配置 打开 aka/backend 文件夹,你可以找到一个名为 wrangler.example.toml 的文件。 该文件是 aka/backend 的 wrangler 默认配置文件。 将其重命名为 wrangler.toml ,并修改其内容 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ## Worker名称 name = "aka" ## 项目配置信息,不要修改 type = "javascript" ## accound_id 必须修改 可以在 「 Domain - API - Account ID 」 找到 account_id = "<account_id>" ## worker.dev 域名分配,可关闭 workers_dev = true ## cloudflare route,若绑定自己域名需修改<domain>为自己域名 route = "<domain>/*" ## zone_id 只有在需要绑定域名时填写,可以在 「 Domain - API - Zone ID 」找到。 zone_id = "<zone_id>" ## <kv id> 填写为下文挂载的 kv kv_namespaces = [ { binding = "__aka__", id = "<kv id>" } ] 新建 KV 并挂载到对应项目 这里使用 wrangler 新建 kv 1 2 3 4 5 $ wrangler kv:namespace create __aka__ 🌀 Creating namespace with title "aka-__aka__" ✨ Success! Add the following to your configuration file in your kv_namespaces array: { binding = "__aka__", id = "*********" } 将 id 的内容复制到上处 wrangler.toml 的 <kv id>。 部署后端 🚀 当你已经确保本地的配置已经没有问题时,可以准备部署该项目了。 1 2 3 4 $ wrangler publish ✨ JavaScript project found. Skipping unnecessary build! ✨ Successfully published your script to 16sl.ga/* => stayed the same 验证部署 这里使用 curl 请求 api 来测试部署是否成功 1 curl -X POST -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":3,"method":"create","params":{"name":"186rip","url":"https://186.rip"}}' https://<your_domain>/api/jsonrpc | jq 当返回值为下面这样时,表明你的后端安装没问题,快去安装前端吧( 1 2 3 4 5 { "jsonrpc": "2.0", "result": "/186rip", "id": 3 } 前端部署 修改配置文件 打开 aka/frontend 文件夹,你可以找到一个名为 wrangler.example.toml 的文件。 该文件是 aka/frontend 的 wrangler 默认配置文件。 将其重命名为 wrangler.toml ,并修改其内容 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 ## 项目名称 name = "aka_frontend" ## 项目类型 不要修改 type = "webpack" ## 用户ID 看上文如何获取 account_id = "<account_id>" ## worker.dev域名 可修改 workers_dev = true ## Clouflare Route,请将 <domain> 修改为上面所用域名 routes = [ "<domain>/cdn-sources/*", "<domain>/sw.js", "<domain>/js/*", "<domain>/css/*", "<domain>/", "<domain>/index.html", "<domain>/assets/*", "<domain>/web_modules/*", "<domain>/_dist_/*", "<domain>/__snowpack__/*" ] ## zone_id 看上文进行修改 zone_id = "<zone_id>" [site] ## Cloudflare Worker kv website的存储桶设置,不建议进行修改 bucket = "./build" ## 编译时所用worker,不要修改 entry-point = "workers-site" 部署前端 🚀 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 34 35 36 37 38 39 40 41 42 43 44 45 46 $ npm run build > @ build /workspaces/aka/frontend > snowpack build;mv ./build/_dist_/sw.js ./build/sw.js;node ./build.mjs [snowpack] ! building source files... [snowpack] ✔ build complete [0.06s] [snowpack] ! installing dependencies... [snowpack] ✔ install complete! [2.76s] [snowpack] ! verifying build... [snowpack] ✔ verification complete [0.01s] [snowpack] ! writing build to disk... [snowpack] ! optimizing build... Asset Size Chunks Chunk Names js/index.026479135f133c2ca9ad.js 121 KiB 0 [emitted] [immutable] index js/index.026479135f133c2ca9ad.js.LICENSE.txt 95 bytes [emitted] js/webpack-runtime.5072755c7971ba0e8aa3.js 1.46 KiB 1 [emitted] [immutable] webpack-runtime manifest.json 223 bytes [emitted] [snowpack] ✔ optimize complete [5.75s] [snowpack] ▶ Build Complete! ## 当你看到该句时,表明编译成功 (node:16309) ExperimentalWarning: The ESM module loader is experimental. $ wrangler publish ⚠️ The following routes in your configuration file should have a trailing * to apply the Worker on every path, otherwise your site will not behave as expected. 16sl.ga/sw.js 16sl.ga/ 16sl.ga/index.html ✨ Built successfully, built project size is 13 KiB. 🌀 Using namespace for Workers Site "__aka_frontend-workers_sites_assets" ✨ Success 🌀 Uploading site files ✨ Successfully published your script to 16sl.ga/cdn-sources/* => stayed the same 16sl.ga/sw.js => stayed the same 16sl.ga/js/* => stayed the same 16sl.ga/css/* => stayed the same 16sl.ga/ => stayed the same 16sl.ga/index.html => stayed the same 16sl.ga/assets/* => stayed the same 16sl.ga/web_modules/* => stayed the same 16sl.ga/_dist_/* => stayed the same 16sl.ga/__snowpack__/* => stayed the same 至此,aka 的整个部署完成了。

2021/1/2
articleCard.readMore

如何使用 debootstrap 构建一个最小化的Ubuntu

一个简单的 debootstrap 部署教程。 debootstrap 是 Debian 及其附属分支下的一个工具,用来构建一套基本的系统(根文件系统)。生成的目录符合 Linux 文件系统标准(FHS),即包含了 /boot、/etc、/bin、/usr 等等目录,但它比发行版本的 Linux 体积小很多 debootstrap 介绍 啥是 debootstrap debootstrap 是 Debian 及其附属分支下的一个工具,用来构建一套基本的系统(根文件系统)。生成的目录符合 Linux 文件系统标准(FHS),即包含了 /boot、/etc、/bin、/usr 等等目录,但它比发行版本的 Linux 体积小很多 似曾相识燕归来 debootstrap 有啥用 debootstrap 可以用来快速 简便的构建一个最小化的 debian 及其附属分支的最小化 rootfs 我们可以用其构建一个最小化的 rootfs (主要是这个相较于 Ubuntu Server 版本还是小得多) 如何使用 debootstrap 其实 使用 debootstrap 很简单 它已经被放入到默认源了 我们只需要 apt install 即可 1 sudo apt install debootstrap 如何使用呢 自己看 详情 wiki 1 sudo debootstrap [--arch 架构(可选项)][发行版本] [目录] [映像源(可选项)] 开始动手构建自己的 Ubuntu 我们这里使用 Ubuntu Server 20.04 作为 Live CD 来进行构建 进入 Shell 并安装 debootstrap 点击 Help Enter Shell (可选)修改 sources.list update sourcelist 并安装 debootstrap 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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 $ sudo apt update && apt install debootstrap Ign:1 cdrom://Ubuntu-Server 20.04 LTS _Focal Fossa_ - Release amd64 (20200423) focal InRelease Hit:2 cdrom://Ubuntu-Server 20.04 LTS _Focal Fossa_ - Release amd64 (20200423) focal Release Get:4 http://mirrors.aliyun.com/ubuntu focal InRelease [265 kB] Get:5 http://mirrors.aliyun.com/ubuntu focal-updates InRelease [107 kB] Get:6 http://mirrors.aliyun.com/ubuntu focal-backports InRelease [98.3 kB] Get:7 http://mirrors.aliyun.com/ubuntu focal-security InRelease [107 kB] Get:8 http://mirrors.aliyun.com/ubuntu focal/main amd64 Packages [970 kB] Get:9 http://mirrors.aliyun.com/ubuntu focal/main Translation-en [506 kB] Get:10 http://mirrors.aliyun.com/ubuntu focal/main amd64 c-n-f Metadata [29.5 kB] Get:11 http://mirrors.aliyun.com/ubuntu focal/restricted amd64 Packages [22.0 kB] Get:12 http://mirrors.aliyun.com/ubuntu focal/restricted Translation-en [6212 B] Get:13 http://mirrors.aliyun.com/ubuntu focal/restricted amd64 c-n-f Metadata [392 B] Get:14 http://mirrors.aliyun.com/ubuntu focal/universe amd64 Packages [8628 kB] Get:15 http://mirrors.aliyun.com/ubuntu focal/universe Translation-en [5124 kB] Get:16 http://mirrors.aliyun.com/ubuntu focal/universe amd64 c-n-f Metadata [265 kB] Get:17 http://mirrors.aliyun.com/ubuntu focal/multiverse amd64 Packages [144 kB] Get:18 http://mirrors.aliyun.com/ubuntu focal/multiverse Translation-en [104 kB] Get:19 http://mirrors.aliyun.com/ubuntu focal/multiverse amd64 c-n-f Metadata [9136 B] Get:20 http://mirrors.aliyun.com/ubuntu focal-updates/main amd64 Packages [197 kB] Get:21 http://mirrors.aliyun.com/ubuntu focal-updates/main Translation-en [77.7 kB] Get:22 http://mirrors.aliyun.com/ubuntu focal-updates/main amd64 c-n-f Metadata [5676 B] Get:23 http://mirrors.aliyun.com/ubuntu focal-updates/restricted amd64 Packages [11.0 kB] Get:24 http://mirrors.aliyun.com/ubuntu focal-updates/restricted Translation-en [3000 B] Get:25 http://mirrors.aliyun.com/ubuntu focal-updates/restricted amd64 c-n-f Metadata [116 B] Get:26 http://mirrors.aliyun.com/ubuntu focal-updates/universe amd64 Packages [110 kB] Get:27 http://mirrors.aliyun.com/ubuntu focal-updates/universe Translation-en [51.9 kB] Get:28 http://mirrors.aliyun.com/ubuntu focal-updates/universe amd64 c-n-f Metadata [4092 B] Get:29 http://mirrors.aliyun.com/ubuntu focal-updates/multiverse amd64 Packages [1172 B] Get:30 http://mirrors.aliyun.com/ubuntu focal-updates/multiverse Translation-en [540 B] Get:31 http://mirrors.aliyun.com/ubuntu focal-updates/multiverse amd64 c-n-f Metadata [116 B] Get:32 http://mirrors.aliyun.com/ubuntu focal-backports/main amd64 c-n-f Metadata [112 B] Get:33 http://mirrors.aliyun.com/ubuntu focal-backports/restricted amd64 c-n-f Metadata [116 B] Get:34 http://mirrors.aliyun.com/ubuntu focal-backports/universe amd64 Packages [2784 B] Get:35 http://mirrors.aliyun.com/ubuntu focal-backports/universe Translation-en [1272 B] Get:36 http://mirrors.aliyun.com/ubuntu focal-backports/universe amd64 c-n-f Metadata [192 B] Get:37 http://mirrors.aliyun.com/ubuntu focal-backports/multiverse amd64 c-n-f Metadata [116 B] Get:38 http://mirrors.aliyun.com/ubuntu focal-security/main amd64 Packages [106 kB] Get:46 http://mirrors.aliyun.com/ubuntu focal-security/universe amd64 c-n-f Metadata [1612 B] Get:47 http://mirrors.aliyun.com/ubuntu focal-security/multiverse amd64 Packages [1172 B] Get:48 http://mirrors.aliyun.com/ubuntu focal-security/multiverse Translation-en [540 B] Get:49 http://mirrors.aliyun.com/ubuntu focal-security/multiverse amd64 c-n-f Metadata [116 B] Fetched 17.1 MB in 6s (3096 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done 65 packages can be upgraded. Run 'apt list --upgradable' to see them. Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: arch-test squid-deb-proxy-client The following NEW packages will be installed: debootstrap 0 upgraded, 1 newly installed, 0 to remove and 65 not upgraded. Need to get 39.4 kB of archives. After this operation, 299 kB of additional disk space will be used. Get:1 http://mirrors.aliyun.com/ubuntu focal-updates/main amd64 debootstrap all 1.0.118ubuntu1.1 [39.4 kB] Fetched 39.4 kB in 0s (221 kB/s) Selecting previously unselected package debootstrap. (Reading database ... 33860 files and directories currently installed.) Preparing to unpack .../debootstrap_1.0.118ubuntu1.1_all.deb ... Unpacking debootstrap (1.0.118ubuntu1.1) ... Setting up debootstrap (1.0.118ubuntu1.1) ... Processing triggers for man-db (2.9.1-1) ... $ debootstrap I: usage: [OPTION]... <suite> <target> [<mirror> [<script>]] I: Try `debootstrap --help' for more information. E: You must specify a suite and a target. 给硬盘分区 这步没啥好说的 用 cfdisk 进行分区 使用 mkfs.ext4 来格式化硬盘(请记住如何分区的!!!!(后面编写 fstab 会涉及到)) /dev 路径 挂载位置 分区模式 作用 /dev/sda1 /boot fat32 负责 efi 引导 /dev/sda2 swap swap 内存交换 /dev/sda3 / ext4 根目录 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 $ mkfs.ext4 /dev/sda3 mke2fs 1.45.5 (07-Jan-2020) Creating filesystem with 9311995 4k blocks and 2330160 inodes Filesystem UUID: fbe7f7fe-1997-4ab3-929f-52aa73aa72eb Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624 Allocating group tables: done Writing inode tables: done Creating journal (65536 blocks): done Writing superblocks and filesystem accounting information: done $ mkswap /dev/sda2 Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)s no label, UUID=9fe83e8e-cd78-4a25-8a1e-ab305181c46d $ swapon /dev/sda2 $ mkfs.vfat /dev/sda1 mkfs.fat 4.1 (2017-01-24) 挂载分区并释放 rootfs 这里构建选择最新的 Focal X86_64 位 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 $ mkdir /target $ mount /dev/sda3 /target $ debootstrap focal /target http://mirrors.aliyun.com/ubuntu I: Retrieving InRelease I: Checking Release signature I: Valid Release signature (key id F6ECB3762474EDA9D21B7022871920D1991BC93C) I: Retrieving Packages I: Validating Packages I: Resolving dependencies of required packages... I: Resolving dependencies of base packages... I: Checking component main on http://mirrors.aliyun.com/ubuntu... I: Retrieving adduser 3.118ubuntu2 I: Validating adduser 3.118ubuntu2 I: Retrieving apt 2.0.2 I: Validating apt 2.0.2 ………………………………………………………… I: Configuring console-setup... I: Configuring kbd... I: Configuring ubuntu-minimal... I: Configuring libc-bin... I: Configuring systemd... I: Configuring ca-certificates... I: Base system installed successfully. ##当你看到这句时 说明你的操作没有问题 chroot 并进行基本设置 修改软件源 默认 rootfs 中的软件源不完整 我们这里 cp 一下 live cd 的软件源 1 cp /etc/apt/sources.list /target/etc/apt/sources.list;sed -i 3d /target/etc/apt/sources.list 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 34 35 36 37 38 39 40 41 42 43 44 $ cat >> /target/etc/apt/sources.list << EOF # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://mirrors.aliyun.com/ubuntu/ focal main restricted # deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted # deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team. Also, please note that software in universe WILL NOT receive any ## review or updates from the Ubuntu security team. deb http://mirrors.aliyun.com/ubuntu/ focal universe # deb-src http://mirrors.aliyun.com/ubuntu/ focal universe deb http://mirrors.aliyun.com/ubuntu/ focal-updates universe # deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates universe ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## multiverse WILL NOT receive any review or updates from the Ubuntu ## security team. deb http://mirrors.aliyun.com/ubuntu/ focal multiverse # deb-src http://mirrors.aliyun.com/ubuntu/ focal multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-updates multiverse # deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates multiverse ## N.B. software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse # deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse ## Uncomment the following two lines to add software from Canonical's ## 'partner' repository. ## This software is not part of Ubuntu, but is offered by Canonical and the ## respective vendors as a service to Ubuntu users. # deb http://archive.canonical.com/ubuntu focal partner # deb-src http://archive.canonical.com/ubuntu focal partner deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted # deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted deb http://mirrors.aliyun.com/ubuntu/ focal-security universe # deb-src http://mirrors.aliyun.com/ubuntu/ focal-security universe deb http://mirrors.aliyun.com/ubuntu/ focal-security multiverse # deb-src http://mirrors.aliyun.com/ubuntu/ focal-security multiverse 编写 fstab 这里推荐一下这篇文章 linux 之 fstab 文件详解 来自 csdn richerg85 fstab 主要由这几部分组成 1 2 <file system> <dir> <type> <options> <dump> <pass> (/dev下的位置)(挂载位置)(文件系统)(挂载参数)(dump 工具通过它决定何时作备份)(fsck 读取 <pass> 的数值来决定需要检查的文件系统的检查顺序。) 这里以我的 fstab 文件作为实例 1 2 3 4 $ cat >> /target/etc/fstab << EOF tmpfs /tmp tmpfs nodev,nosuid 0 0 /dev/sda2 none swap defaults 0 0 /dev/sda3 / ext4 defaults,noatime 0 0 chroot 进入系统 先挂载 efi 分区 1 2 mkdir /target/boot/efi && \ mount /dev/sda1 /target/boot/efi 挂载 proc 等分区 1 for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /target$i; done 挂载并安装 grub 和 kernel(这里安装的是虚拟化内核) 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 34 35 36 37 38 39 40 $ sudo chroot /target $ sudo passwd ##配置passwd New password: Retype new password: passwd: password updated successfully $ sudo apt install grub-efi-amd64 linux-virtual -y ##安装grub和kernel Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: efibootmgr gettext-base grub-common grub-efi-amd64-bin grub-efi-amd64-signed grub2-common libefiboot1 libefivar1 libfreetype6 libfuse2 libpng16-16 linux-headers-generic linux-headers-virtual os-prober sbsigntool secureboot-db Suggested packages: rvice. Running in chroot, ignoring request: daemon-reload Running in chroot, ignoring request: is-active Running in chroot, ignoring request: start Setting up libefiboot1:amd64 (37-2ubuntu2) ... Setting up linux-virtual (5.4.0.26.32) ... Setting up libfreetype6:amd64 (2.10.1-2) ... Setting up efibootmgr (17-1) ... Setting up grub-common (2.04-1ubuntu26) ... Running in chroot, ignoring request: daemon-reload Running in chroot, ignoring request: daemon-reload Running in chroot, ignoring request: is-active Running in chroot, ignoring request: restart update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults Running in chroot, ignoring request: daemon-reload Running in chroot, ignoring request. Running in chroot, ignoring request: daemon-reload Running in chroot, ignoring request: is-active Running in chroot, ignoring request: restart Setting up os-prober (1.74ubuntu2) ... Setting up grub-efi-amd64-bin (2.04-1ubuntu26) ... Setting up grub2-common (2.04-1ubuntu26) ... Setting up grub-efi-amd64 (2.04-1ubuntu26) ... Setting up grub-efi-amd64-signed (1.142+2.04-1ubuntu26) ... Processing triggers for systemd (245.4-4ubuntu3) ... Running in chroot, ignoring request: daemon-reload Processing triggers for libc-bin (2.31-0ubuntu9) ... 安装 grub2 1 2 3 4 5 6 7 8 9 10 11 $ grub-install /dev/sda update-grub Installing for x86_64-efi platform. Installation finished. No error reported. $ update-grub Sourcing file `/etc/default/grub' Sourcing file `/etc/default/grub.d/init-select.cfg' Generating grub configuration file ... Found linux image: /boot/vmlinuz-5.4.0-26-generic Found initrd image: /boot/initrd.img-5.4.0-26-generic Adding boot menu entry for UEFI Firmware Settings done 设置网络 Ubuntu 18.04 及其上的 Server 版本默认使用 systemd-networkd 联网 先使用 ip a 获取设备 1 2 3 4 5 6 7 8 9 10 11 12 13 $ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 ## ens33就是网络设备 link/ether 00:0c:29:9d:a0:73 brd ff:ff:ff:ff:ff:ff inet 192.168.57.140/24 brd 192.168.57.255 scope global dynamic ens33 valid_lft 5433596sec preferred_lft 5433596sec inet6 fe80::20c:29ff:fe9d:a073/64 scope link valid_lft forever preferred_lft forever 配置所有网卡 DHCP 联网 1 2 3 4 5 $ cat >> /etc/systemd/network/ens33.network << EOF [Match] Name=* [Network] DHCP=both 重启 1 2 3 4 $ exit exit reboot PS: 第一次开机会有一点点慢(就亿点点) 重启并配置网络 启动 systemd-networkd 1 2 3 4 5 $ systemctl enable --now systemd-networkd Created symlink /etc/systemd/system/dbus-org.freedesktop.network1.service → /lib/systemd/system/systemd-networkd.service. Created symlink /etc/systemd/system/multi-user.target.wants/systemd-networkd.service → /lib/systemd/system/systemd-networkd.service. Created symlink /etc/systemd/system/sockets.target.wants/systemd-networkd.socket → /lib/systemd/system/systemd-networkd.socket. Created symlink /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service → /lib/systemd/system/systemd-networkd-wait-online.service. 修改 hostname 并添加 hosts 1 2 3 4 5 6 $ hostnamectl set-hostname vm-ubuntu-test $ cat >> /etc/hosts << EOF 127.0.0.1 vm-ubuntu-test localhost ::1 vm-ubuntu-test localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters 最后 reboot 生效 享受全新的 ubuntu 体验吧

2020/12/19
articleCard.readMore

Markdown Syntax Guide

Sample article showcasing basic Markdown syntax and formatting for HTML elements. This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme. Headings The following HTML <h1>—<h6> elements represent six levels of section headings. <h1> is the highest section level while <h6> is the lowest. H1 H2 H3 H4 H5 H6 Paragraph Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat. Blockquotes The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a footer or cite element, and optionally with in-line changes such as annotations and abbreviations. Blockquote without attribution Tiam, ad mint andaepu dandae nostion secatur sequo quae. Note that you can use Markdown syntax within a blockquote. Blockquote with attribution Don’t communicate by sharing memory, share memory by communicating. Rob Pike1 Tables Tables aren’t part of the core Markdown spec, but Hugo supports supports them out-of-the-box. Name Age Bob 27 Alice 23 Inline Markdown within tables Italics Bold Code italics bold code A B C D E F Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus ultricies, sapien non euismod aliquam, dui ligula tincidunt odio, at accumsan nulla sapien eget ex. Proin eleifend dictum ipsum, non euismod ipsum pulvinar et. Vivamus sollicitudin, quam in pulvinar aliquam, metus elit pretium purus Proin sit amet velit nec enim imperdiet vehicula. Ut bibendum vestibulum quam, eu egestas turpis gravida nec Sed scelerisque nec turpis vel viverra. Vivamus vitae pretium sapien Code Blocks Code block with backticks 1 2 3 4 5 6 7 8 9 10 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Example HTML5 Document</title> </head> <body> <p>Test</p> </body> </html> Code block indented with four spaces <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Example HTML5 Document</title> </head> <body> <p>Test</p> </body> </html> Code block with Hugo’s internal highlight shortcode 1 2 3 4 5 6 7 8 9 10 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Example HTML5 Document</title> </head> <body> <p>Test</p> </body> </html> Diff code block 1 2 3 4 5 [dependencies.bevy] git = "https://github.com/bevyengine/bevy" rev = "11f52b8c72fc3a568e8bb4a4cd1f3eb025ac2e13" - features = ["dynamic"] + features = ["jpeg", "dynamic"] List Types Ordered List First item Second item Third item Unordered List List item Another item And another item Nested list Fruit Apple Orange Banana Dairy Milk Cheese Other Elements — abbr, sub, sup, kbd, mark GIF is a bitmap image format. H2O Xn + Yn = Zn Press CTRL + ALT + Delete to end the session. Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures. Hyperlinked image The above quote is excerpted from Rob Pike’s talk during Gopherfest, November 18, 2015. ↩︎

2019/3/11
articleCard.readMore

Math Typesetting

A brief guide to setup KaTeX Mathematical notation in a Hugo project can be enabled by using third party JavaScript libraries. In this example we will be using KaTeX Create a partial under /layouts/partials/math.html Within this partial reference the Auto-render Extension or host these scripts locally. Include the partial in your templates like so: 1 2 3 {{ if or .Params.math .Site.Params.math }} {{ partial "math.html" . }} {{ end }} To enable KaTex globally set the parameter math to true in a project’s configuration To enable KaTex on a per page basis include the parameter math: true in content files Note: Use the online reference of Supported TeX Functions Examples Inline math: $\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…$ Block math: $$ \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } $$

2019/3/8
articleCard.readMore