英语学习回顾 - Stage Three

距离上一篇 英语学习回顾 - Stage Two 已经过去五个月了。 这五个月间,虽然也有保持日常的英文内容输入,但是感觉进步的速度有些放缓,预计获得阶段性提升的时间比想象的要长。当然,我学英语的目的并不是为了应试,对我而言,学习英语是一个长期的投资计划。所以在这一阶段,我调低了预期,拉长了整体的学习时间,并且改变了学习策略,采用“非均衡学习法”,以听力优先,尽可能融入生活。 什么是非均衡学习法? 费曼学习法强调了输出的重要性,利用输出来获取反馈,驱动整个学习过程。而且我也相信对于英语能力,有着短板理论,如果仅仅会听会读,但是不会写不会说,就不能证明英语能力好。 但是现在身处的环境决定了,很难有机会去说去写,也很少有人能给出准确的反馈。所以想要自学英语,采用费曼学习法并不是一个好的选择,那可以怎么做呢? 语言学习是一个 输入 -> 理解 -> 输出 的过程,使用“非均衡学习法”,就是把重心放在输入环节,通过大量的听力、阅读,优先提高辨识和理解能力。那输出呢?试想一下,如果你听不懂别人在讲的内容,又怎么能和他们正常交流。所以,先保证自己能听懂、看懂,等到有机会时,再去联系口语、写作也不迟。 在输入环节中,主要练习的就是听力和阅读,而我采用的是以听力优先,阅读为辅。 为什么是以听力优先? 因为这是最自然的学习方式。 小孩子学习语言的时候,是先学习阅读的吗?并不是。小孩子在听大人讲话,听得多了,在脑中就会建立声音与事物、概念的联系,然后再通过识字,建立与文字的联系。更何况,阅读的时候,会在心里“听到”文字所对应的声音,一定程度上,听力的辨识能力也会帮助提升阅读的流畅度。 不同于应试教育过程中听到的,那些精心设计的对话音频,你在生活中实际听到的英文内容,可能会充斥着连音、吞音,不同的地区会有千奇百怪的口音,甚至有很多“懂得都懂”的俚语,这些都会加大听力的难度,但学到的都是很实用的内容。例如,我在唢呐的嘻哈英文课里,就学习了不少嘻哈文化里常常能听到的“偷懒”发音和 slang。 当然,非均衡的输入练习需要花费大量的时间,成年人的时间总是很宝贵的,而在我学习英语的过程中,实际上并没有额外付出很多的时间,诀窍就在于把英语学习融入日常生活。 如何将英语学习融入生活 融入生活,就是将生活中的部分中文内容,平滑地替换为英文内容。例如将日常浏览的资讯源切换为英文网站,将打发时间看的长短视频换为英美剧,平时阅读的书籍改为看英文原版。不过要注意衡量自己的英语能力,挑选合适的内容,降低输入门槛。 我是怎么做的呢?15 分钟的通勤路上,我会听一期 EnglishPod 来学习单词、短语,目前已经听了 106 期;每天会检查一下邮箱列表里订阅的 newsletter,比如通过 Morning Brew 了解当天发生的世界新闻,通过 Emerging Tech Brew 了解 IT 相关的新闻。最近也有订阅一个帮助英语学习的英超周报,作者每周会更新一篇自己撰写的战报,并附上一段音频,讲解其中的词汇和术语。顺带一提,我在公众号上更新过两期 English Brew,就是受此启发,而素材来源,正是 Morning Brew 。中午午休的时候,原先都是在 bilibili 上看一些 up 主的视频,现在会固定看一集 Netflix 上的美剧,打开英文字幕。我的阅读书单,也正在逐渐更新为英文原版优先,虽然刚开始啃起来有些费劲,但能感觉到阅读能力的进步。其他零碎的冲浪时间,我会刷一刷 Reddit 或 YouTube。 以上就是我在这一阶段英语学习过程中的总结,积累的过程会比较漫长,因此我调整了学习策略,并将学习融入日常生活。而在英语学习上投资了这么久,是否有所回报呢?答案当然是有,在专业能力、各种软技能的学习上,我接触到了很多中文互联网上所没有的内容,例如软件架构编年史、David Perell 的写作课程,而通过阅读英文原版书,也能避免生涩的翻译所带来的理解偏差。 这些仅仅是开始,期待下一阶段学习所带来的成果。...

September 12, 2021

为什么读书很难获得知识

最近这段时间,我和书的关系很差,似乎有些厌倦了阅读,坐下来静静一想,或许是因为从书中得到的,有些低于自己的预期了。 正巧翻到 Why books don’t work 这篇文章,就结合自己的一些阅读经历,思考总结一下原因。 读书能获取知识,你和我都是这么认为的吧。然后花 6 - 9 个小时来阅读非虚构类的书籍,像是《思考,快与慢》、《原则》等等,但是看完书后,只记得几个句子,却回忆不起来更多的细节。所以最后收获了多少知识呢?少得可怜。 似乎得出了一个奇怪的结论:书本作为传递知识的媒介,实际上表现的很差劲,而且读者往往意识不到。可是回顾人类的历史进程,高尔基说“书是人类进步的阶梯”,也有数不清的例子能证明,人们确实能从书里汲取知识。 知识就在书里,为什么我们很难获得呢? 为什么读书很难获得知识? 我们来比较一下,三种常见的传递知识的媒介:讲座、书和课本。 在讲座上,演讲者能很好地抓住你的注意力,但是很难有效地传达知识,为什么呢,因为演讲只做了一件事:传递信息。演讲者说出想法,台下的人听到句子,然后去理解。 书也是如此,作者用文字表述想法,读者阅读文字,然后去理解作者的想法。在这种认知模型下,演讲和书本就像是赛前的热身,而真正的思考,需要听众、读者在这之后,主动地去触发。 那些获取到知识的读者,实际上是在阅读时“偷偷”地思考,一边读一边想,“这个观点让我联想到了 blablabla”,“这个观点和谁谁谁说的有冲突”,他们在整理、总结和分析,构建知识的正反馈循环。 课本则更进一步,提供了练习、讨论题,目的是为了让学生深入地参与其中。然而现实却令人失望,学生更倾向于上课,因为课程限定了范围和程度,学生不需要自己来设定学习计划,还可以通过考试获得反馈,通过课上讨论来解答疑惑。 书本承载了知识,但是仅仅通过阅读,你只能获得有限的信息,而知识,需要你主动地去收集,思考,然后消化。 那该如何获得知识? 前人已经总结了许多关于学习知识的方法论。例如费曼学习法是通过复述概念、获取反馈来促进学习。我在 《如何在一个月内,从旱鸭子变成游泳高手》 里,也总结了学习技能的正向循环。 至于获得知识的渠道,那更是多种多样了。你可以看视频,直接、生动地理解一些抽象的概念;也可以听播客,充分地利用碎片时间;或者参与线上、线下的课程,通过提问、讨论来解答心中的疑惑。重要的是,你得主动出击,积极思考,而不是被动地接受信息。 如果决定了要从书里获取知识,《如何阅读一本书》教会了我,在阅读一本书的时候,要给自己提四个问题:这本书是写什么的?它是怎么描述的?写的好吗?和我有什么关系?在阅读的同时,通过这个 check-list 来引导自己思考。读完一本书后,也可以记录、整理自己的想法,写成文章并分享出去。现在,我每看完一本书,就会写一篇阅读总结,相比较于之前单纯的笔记摘录,写作时会有更多的主动思考,也会有更深的印象。如果针对某个领域,已经有了系统的认知,又想要对某一块进行针对性的学习,就可以挑选相关的书籍,进行主题阅读,在不同的观点碰撞中找寻答案。 知识就散落在书本的各个角落,主动地拾取书中的碎片,无数渺小的阅读汇集成知识,填满你的一生。 除了知识,书里还有什么? 如果一提起书,想到的就是知识、学习,那很多时候,恨不得立马把书本扔出窗外,逃离这枯燥的文字世界。 书里还有历史,有故事,有情绪,有天马行空的想法,也有不轻易谈吐的心路历程。 还有声音。“阅读就是抛弃自己的一切意图与偏见,随时准备接受突如其来且不知来自何方的声音”,卡尔维诺在《如果在冬夜,一个旅人》里发出了这样的声音。坐在安静的书桌前,翻开书本,就像是在人来人往的聚会里穿梭,侧耳倾听一个又一个的对话,有的对话会让你感到不屑,有的对话会让你默默点头,甚至悄悄地改变你的人生轨迹。 无论是为了获得知识,还是感受不一样的生活和思考,在文字的冒险世界里,祝你旅途愉快。...

September 4, 2021

不能想象没有书的世界 | The Phoenix Project

这是一本小说,讲述 IT 运维进化为 DevOps 并帮助公司取得商业成功的“传奇”故事。 我看的是英文原版,厚厚的一本,刚开始啃起来还有点费劲,有很多不熟悉的生词,在不影响理解上下文的情况下,我都直接跳过了。 说回书中的内容,故事的主角,Bill,有些意外地成为了运维部门的 VP,新官上任,就将面临巨大的考验。混乱的项目管理,各部门之间的利益纠葛,业务步步紧逼的压力,都是 Bill 需要翻越的大山。 幸运的是,Bill 遇到了一位优秀的导师,Eric。Eric 指点 Bill 使用三步工作法梳理工作流程,将日常工作划分为四类,分析并解决工作流中的瓶颈,思考如何更快地帮助业务前进,然后逐渐形成了 DevOps 的文化。 相比较于纯粹讲述方法论或者解决方案的专业书,这本以小说的形式,生动地描述了 IT 行业内会遇到的种种难题,以第一人称的视角来思考,结合方法论来解决问题,更有带入感。 书中有两点令我影响深刻。首先是 Eric 这个角色,为 Bill 指点迷津,一步一步地帮助 Bill 思考和解决问题(所以,为什么不让 Eric 直接领导整个 IT 部门?),不得不感叹,这就是生命中的贵人吧,如果有缘遇到这样的高人,可一定要多多请教。同样地,也不能吝惜自己掌握的知识,有机会也要多帮助他人。第二点是关于信任,公司的 CEO,Steve 在动员大家全力投入凤凰项目时,轮流让高管、组员讲述个人经历,拉近相互的距离,能让大家产生信任感,“Solving complex business problem requires teamwork, and teamwork requires trust”, that’s right。 另外书中有涉及到的一些方法论,摘录在下方,方便在日后的工作过程中,回顾和思考。 一张图 这张图展示了资源使用率与等待时间的关系,当资源使用率超过 80%,等待时间就会直线上升。 例如在一个单位时间(1 小时)内,你有 90% 的时间在忙碌,依赖你的等待时间就会是 0.9 / 0.1 = 900%,也就是 9 小时,会严重阻塞工作流。 三步工作法 第一步是构建从左到右(开发 -> 运维 -> 客户)的工作流,使用 kanban 等工具将流程可视化,通过持续交付(构建、集成、部署)来优化、趋近整体目标。 第二步是沿着从右到左的价值流,持续地快速反馈,将利益最大化,防止问题重复发生或快速修复,这样就能从源头上保证质量,沉淀领域知识。 第三步是创造公司文化:勇于尝试和重复练习。尝试需要承担风险,并能从成败中吸取经验教训,而一旦出现问题,重复练习带来的成熟度,能让项目回退到安全地带,恢复正常运作。 四种工作类型 业务项目 内部项目(基础架构、运维工具和平台等) 变更(通常由 1、2 引起) 计划外的工作(生产事故等救火工作) ...

August 15, 2021

什么是事件驱动架构

Event-driven architecture (EDA) is a software architecture paradigm promoting the production, detection, consumption of, and reaction to events. - Wikipedia 什么是事件驱动架构? 按 维基百科的定义,事件驱动架构(EDA)是一种软件架构范式,促进事件的产生、观测、消费和反应。 在认识事件驱动架构之前,先来明确一下,什么是事件。 事件是已经发生的事实,并且不可变。例如,“创建订单”是个指令,而“订单已创建”就是个事件,订单的信息、订单创建的时间,在这个事件发生后就无法被修改。 在传统的架构体系下,编程思维可以说是过程驱动的,一个指令触发了一段逻辑,这其中可能包含了几个不同的方法行为,它们之间按照过程顺序来编排、嵌套。看起来似乎很清晰,但是很容易写出长长的“面条”代码。而事件驱动架构则强调了事件的产生与消费,将逻辑的过程转换为事件之间的环环相扣。 就如上图所展示的,如果采用事件驱动架构,订单服务就只负责订单的创建,然后发出“订单已创建”的事件,交由 EventBus 路由,转发给关心这个事件的各个监听者。 在我的开发经历中,也有采用事件驱动架构的项目,接下来,就结合自身经验,总结一下 EDA 的优缺点和其适用场景。 EDA 的优点 解耦 首先,解耦是事件驱动架构所带来的最明显的优点。从上述的例子中就可以看出,采用了 EDA 后,订单服务只需要负责处理对应的业务逻辑,而其他的切面逻辑,例如操作记录、发短信等,都可以通过事件的通知机制来解耦,从而保证业务逻辑的简洁、专注。并且,这些切面功能点可以考虑使用异步处理,也能很好地提升系统的响应能力。 DDD 与事件风暴 在领域驱动设计(DDD)中,如果采用 以“领域事件”为核心的建模思路,与业务人员通过事件风暴的形式来梳理业务流程,就会得到一系列的事件列表,也就是事件驱动架构中的所有事件。从业务人员到开发人员,从真实业务逻辑到系统设计实现,都以这些事件为核心,就能够形成统一语言,方便沟通和理解。 事件溯源 事件上存储了必要的信息和时间,如果将所有的事件持久化,结合最初的实体信息,你就拥有了一台来去自如的时光机。例如在一个资产管理系统中,存储了“资产已入池”、“资产归属已变更”、“资产已出池”等所有的事件,并且存储了资产初始化时的快照数据,就可以根据快照数据和给定时间范围内的事件列表,重新计算出某个时间的资产数据,这就是事件溯源。如果整个生命周期中事件量很大,可以考虑定期给实体做快照,溯源时获取最近的一份快照数据。事件溯源能给业务提供更灵活的数据支撑,同时,因为存储了所有的事件数据,也保障了系统的故障恢复能力和数据一致性。 EDA 的缺点 系统复杂度 “在软件工程中,没有一个中间层解决不了的问题”,事件驱动架构,就是通过引入中间层 EventBus 来实现事件机制,看似能带来不少诱人的优点,也必然会增加系统的复杂度。Spring 虽然有提供事件机制,但是比较简单,如果有复杂的使用场景,得考虑自己实现。 事件驱动架构改变了编程思维,一切都围绕事件的发布和订阅,将完整的功能过程,拆解为了不同的事件,也丧失了过程驱动带来的叙事能力。如果事件数量众多,就容易在“事件丛林”中迷了路。 使用场景 软件工程没有银弹,事件驱动架构也有其适用的场景,结合上述优缺点,个人认为,以下几个方向可以考虑采用 EDA: 组件解耦(消息推送、操作记录等) 数据沉淀系统(审计、资产等) 常规的业务逻辑里,如果有一些切面组件,例如消息、操作记录,可以接入轻量的 EDA 来解耦,保证业务逻辑清晰和职责的单一;而在数据沉淀系统中,例如审计、资产等领域,通常没有特别复杂、长链路的业务逻辑,由业务系统来触发更新数据,更关注的是数据的准确性、一致性,就可以考虑使用 EDA 和事件溯源机制。...

July 11, 2021

过期影像 | 20210704

“秋刀鱼会过期,肉酱会过期,连保鲜纸都会过期” 相册里的影像,放久了也是会过期的。 着急回家吃车厘子差点错过不过期的粉雾海 @涵涵 @过期头发 春天在屋里 @lilpilot 岛雨 @lilpilot 喝好咖啡 @lilpilot @lilpilot @lilpilot @lilpilot @lilpilot 一只假鸟 @lilpilot 一只真鸟 @lilpilot Summer Remains @lilpilot...

July 4, 2021

不能想象没有书的世界 | 《日常生活中的自我呈现》

这本书是关于社会生活的研究报告,从生活记录、生活经验中抽取认知框架,来分析英美社会活动中的底层逻辑。 “人”这个词,最初的含义是一种面具。 无论在何处,每个人会或多或少地意识到自己在扮演一种角色。书中就是使用了舞台剧的模型,来讨论个体在日常生活中,如何向他人呈现自我,引导和控制他人对自己的印象,以及在他人面前维持表演时可能会做、不会做的各种事情。 舞台剧这个解释模型还是挺贴切的。表演者的目的是维持特定的情境定义,所以会有舞台设置;多个表演者会形成一个剧班,在前台给观众呈现表演,又在后台有不一样的行为,例如一些“秘密”的交流;除了台下的观众,还有各种角色,例如告密者、托儿、局外人;表演可能很精彩,也有可能会崩溃,所以会有很多的行为策略。 书中有大量的引用记载和举例来支撑这个模型,例如波伏娃是这样描述女性在前后台活动的区别:女人在男人面前总是演戏,她会假装乐意接受那种无足轻重的地位,装腔作势……然而,女人与其他女人在一起时,她就像是在幕后;她擦拭装备,但并不是要投入战斗……对有些女人来说,她们之间那种温暖亲密的关系要比和男人在一起时那种严肃的虚饰可爱多了。 生活中的例子也数不胜数。不同阶级之间的阿谀奉承,职场里的尔虞我诈。出色的表演能竖立好的角色形象,演的不好会遭人耻笑,如果表里不一就容易翻车,这样的场景,微博吃瓜网友表示再熟悉不过了。 当然,因为是社会学的底层逻辑,在日常生活中或多或少都有接触和感悟,所以通过这本书很难学习到什么实用的技能,倒不如挑几个有趣的点,结合书中的模型来解释、思考一番。 首先是关于角色扮演。如果我想在行业里变得很优秀、厉害,那是不是只需要观察、模仿那些优秀的人,并且表演出与他们一致的行为,就意味着自己是这样的人了?对于这个问题,需要区分一下人和角色,人扮演的产物是角色。通过观察、模仿、学习和进步,我们可以很好的扮演一些角色,而正是在这些角色中,我们互相了解,并认识自我,在人性化的自我(人)和社会化的自我(角色)之间来回摇摆,并找到平衡。值得注意的是,在到达了一个梦寐以求的位置,成为一个新的角色后,往往会发现,新老处境会有始料未及的相似之处,因为这又是一场表演,有着光鲜亮丽的前台,以及肮脏、琐碎的后台。 然后是关于表达和行为的冲突。就像萨特说的,“一个试图显得很专心听讲的学生,两眼紧盯着老师,竖起耳朵,结果却什么也没听见”。为了解决这种困境,一些组织就会把功能委托给专家,专家只负责对工作进行戏剧化的表达,而不是真正参与工作。这让我想到了一个观点,如果要用一句话来概括创作者经济,就是 B 级玩家(内容创作者)给 C 级玩家(普通听众和新手)讲述 A 级玩家(顶级创作者和艺术家)的成功之道。在互联网上,神奇的算法决定了我们最容易接触到的内容都是来自于 B 级玩家,而需要警惕的是,真正有价值的内容是来自于 A 级玩家。所以,在浏览内容的时候,要尽可能地通过 B 级玩家的筛选管道,来靠近 A 级玩家那些有价值的思想和内容,而不是仅仅沉溺于 B 级玩家的内容创作之中。 最后是关于欣赏表演。如果是欣赏一场表演,最合适的角色自然是观众,能直接地接收表演者所要传递的内容。而除了观众之外,还有一种角色,局外人。我自己一个人去 livehouse 或者 bar 的时候,有时候就会扮演局外人。游离在演出的边缘,去观察表演者、观众的行为,去感受整个表演的氛围和情境。偶尔会因为自己这样子的“闯入”,遇到一些很有趣的人和事,例如不知道怎么点酒的人,第一次看 live 的人,当然,随后产生的一些互动,会让游离的局外人也加入了整场表演,成为了有趣的一部分。 呐,暂时只想到了这些。 人作为社会化的动物,喜欢也好,排斥也罢,是逃离不了表演这种社会行为的。所以,手捧《演员的自我修养》,练习,并做好每一场演出,在一个又一个角色之中,找自己。 最后再吐槽一句,翻译是很难做好的事,而这本书的翻译,显然不咋地。...

June 30, 2021

不能想象没有书的世界 | 《羊呆住了》

翻看完这本意义不明的书,我也呆住了。 说它意义不明,如果不是逼自己写读后感,这一本的读书笔记就会像《守门员面对罚点球时的焦虑》那样,一片空白。 书腰上赫然印刻着“坚持业余写作”,而在序章里,谈论了知识、日常事物、对词语过敏的自我诊断、在当代艺术和非虚构之中,寻找可能性。这一章的标题是,“业余作者如何摸索出路”。 余下的就是短篇集,短短的三两页,厚厚的一本书。如果把书整个翻过来,在封皮的简介里是这样描述的,“多从日常事物汲取灵感,却以一种高度自由的、超现实的手法加以表现…作者以其强大的想象力与精简、清奇的语言风格,向我们展现了当代中文写作的又一新的可能”。 妙啊。 于是翻开来细品。 但是,我不知道该如何去描述这种阅读体验。 就像书里的 1812 一样,不好描述,没法展开思路,只能指着说,那就是 1812。 读着读着,有那么一瞬间,我想起了缺省的那首《将死之时掩以水门汀》,下一首或许是《杀死那个石家庄人》,海浪拍打着爱死机里搁浅的巨人,天上飘着死亡搁浅里的人形物体。 “土就是碎了又碎的星”,我最喜欢这一句。 《风格练习》里也没有收录过这样的文字风格,不合逻辑,蔓延而肆意生长的想象力,但是冥冥之中又有一条细细的线,把这些故事牵连了起来。我又想到了 Glitch Art,故障艺术,但一点都不锋利,因为被软绵的中文所包裹。 可惜的是,看多了就觉得有点神神叨叨了,有点疲惫。 那就聊聊羊吧,第 67 章,羊呆住了。“草从哪里来?羊吃着吃着就呆住了,无法解释,它想不通”,我不知道你是否有见过羊呆住的画面,我见过,微博上。一场雨后,一群羊静止了,一动也不动。“草从哪里来”,羊会这样想吗,这个问题有没有答案?如果有,那么鱼儿为什么不能活在天上。如果没有,那这个问题的意义是什么。 再回过头来聊聊意义。得先讲个小故事,2016 年,美国的 CAH 公司想在一座岛上挖个洞,他们在网上筹钱,然后找建筑公司挖洞。没有计划挖多深,只要有钱,就不停地挖,一刻也不停,并且在网上直播。有人问"Is this real ?",他们的回答是"Unfortunately it is"。于是他们募集到了 10 多万美元,这个洞一共挖了 52 个小时。最后,他们把这个洞填上了,就像什么都没发生过一样。 妙啊。 我不想为此过多地解读什么,这也是 1812。只是抬头揉揉眼,墙壁,书桌,书本,我的手臂,脸颊,眼睛。所看之处,光滑或是曲折的表面之下,这样的洞无处不在。黑狗也是,书中的苏老师,跳狗自杀了。“他爬到一棵喜欢的树上,等一条黑狗跑过的时候,又稳又准地跳了进去”。 如果羊目睹了这一切,会又一次呆住吧。...

June 24, 2021

一招让 Spring 本地测试弹射起步

开发过程中,在本地启动系统来进行一些测试、联调是很日常的操作。然而随着项目不断壮大,系统内会依赖越来越多的中间件或服务,例如 Rocket MQ、Dubbo、定时任务等。在系统启动的时候,需要对这些组件进行初始化,导致启动过程缓慢无比。 系统启动 5 分钟,测试运行 3 秒钟,这谁顶得住啊。而且在本地测试时,通常也用不到这些组件。 如果你也有同样的困扰,接下来就教你一招,利用 Spring 的扩展点 BeanFactoryPostProcessor,无侵入地“阉割”这些拖慢启动时间的组件,让你的系统一键弹射起步。 我们就以 Rocket MQ 为例,在启动的时候加载 5 个消费者。 public class RocketMQConfiguration { /** * SpringBoot 启动时加载所有消费者 */ @PostConstruct public void initConsumer() { Map<String, AbstractRocketConsumer> consumers = applicationContext.getBeansOfType(AbstractRocketConsumer.class); if (CollectionUtils.isEmpty(consumers)) { log.info("no consumers"); } for (String beanName : consumers.keySet()) { AbstractRocketConsumer consumer = consumers.get(beanName); consumer.init(); createConsumer(consumer); log.info("init consumer: title {} , topics {} , tags {}", consumer.consumerTitle, consumer.topics, consumer.tags); } } } 运行一下测试类,系统启动耗时 30 秒,其中 Bean 的初始化过程就占了 28 秒。...

June 22, 2021

不能想象没有书的世界 | Show Your Work

It’s about half a year since I started learning English seriously. And recently I started reading English books. As I’ve written before, you can’t tell others you’re good at English if you rarely speak or write. So I’m trying to write a reading note in English. Show Your Work is a great book, it writes about how to promote yourself, and the key is process, not product, all you have to do is show your work....

May 29, 2021

过期影像 | 20210523

“秋刀鱼会过期,肉酱会过期,连保鲜纸都会过期” 相册里的影像,放久了也是会过期的。 #bilibili { width: 100%; height: 550px; } @media only screen and (min-device-width: 320px) and (max-device-width: 480px) { #bilibili { width: 100%; height: 250px; } } 🌏 亲密宝贝俱乐部(上海市黄浦区淡水路226号) 🎵 恍惚 - 蛋堡 & JABBERLOOP...

May 23, 2021