Skip to main content

· 8 min read

💡想法

一个挺常见的思考场景:如何面临不确定的世界。

第一步是理清: 有意识的去做分类

先简单划分为两类

  1. 可控部分
  2. 不可控部分

这个划分并不严谨,大多数事情不是简单的是或不是就可区分,但这并不妨碍作为思考如何面对两种特点事物的思考起点

有效的分类是行动的基础

第二部是调整对应的心态

  • 可控部分

    • 主动把握,尽可能的降低非预期产生的风险
  • 不可控部分

    • 寻找方案分散风险
    • 忽略,降低心智负担
    • 思考
    • 身体

通过沉淀、多思考能够增加对思考的掌控感 通过有计划的运动、健身增加对身体的掌控感

至于外部世界,尽可能的接近现实、把握规律,现实的规律是不为人的意志所转移的,要去寻找和接近。

切新分支推远程、自动绑定

https://stackoverflow.com/questions/29422101/automatically-track-remote-branch-with-git

张三:刑不可知 则威不可测

刑不可知 则威不可测

各流派 React 状态管理对比和原理实现

各流派 React 状态管理对比和原理实现

记一次依赖安装冲突

记一次依赖安装冲突

一个统计差异的网站 What is the difference

The differences between and in the front-end development.

一个重要的 CSS 概念 Containing Block

https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block

Async in MobX

https://www.youtube.com/watch?v=r2rIen5pEbQ 一个解决 模版 action 的 bable 插件 https://github.com/mobxjs/babel-plugin-mobx-deep-action

开发命令行的新思路

https://github.com/webfansplz/temir

From 表单的设计演进思路

https://cloud.tencent.com/developer/article/1583853

https://zhuanlan.zhihu.com/p/56280821

解决数据的获取,校验

要想实现表单数据获取、校验,基本离不开 onChange 这个方法,而且是有几个表单控件,就要写几个 onChange 。

基于所有表单控件都需要绑定 onChange 做数据获取和校验的原则,所以我设计了一个 Field 工具。这个工具原理很简单,就是可以自动帮你绑定 value + onChange 解决上面一长串代码的问题。

const field = new Field(this);

field.init('username');

field.init 会自动返回 value + onChange ,内容如下:

{
value: "",
onChange: ƒ ()
}
<input {...init('username', {
props: {onChange:(value) => console.log(value)}
})} />

Field 可以解决校验、获取、赋值等数据方面的问题,但是并不能解决 UI 和 交互的问题,在布局和错误展示的时候需要自己来控制。

解决数据和UI的交互(展示、报错、反馈

这也是 Antd 在 rc-form 上做的事情

进一步优化开发使用体验

  1. 不需要关注 Field 用法,改成 Form API 的方式。用法简单直接不少
  2. 通过 name 来进行数据初始化,也更加接近原生 form 的用法,大家更容易理解。
  3. 校验功能 API 化,代码更加简洁,可读性增强
  4. 自定义事件比如 onChange 可以按照原生用法写而不会担心被覆盖,用起来更方便

Pasted image 20220820203551.png

flow this问题

Flow this 类型提示 https://github.com/mobxjs/mobx/issues/1769#issuecomment-452703686

无界微前端

无界微前端是一款基于 Web Components + iframe 微前端框架,具备成本低、速度快、原生隔离、功能强等一系列优点。

一个和前端的设计模式教学网站

Improve how you architect webapps Patterns.dev is a free book on design patterns and component patterns for building powerful web apps with vanilla JavaScript and React.

除此之外 resource 里还有 react

CSS 的省略号问题

[https://css-tricks.com/snippets/css/truncate-string-with-ellipsis/](Truncate String with Ellipsis) Pasted image 20220817163915.png

Why React Re-Renders

https://www.joshwcomeau.com/react/why-react-re-renders/#what-about-context

总结一下,什么时候会发生 re-render

  1. 组件持有的状态改变
  2. 某个组件 render 导致的后代都变化

为啥没有默认 memo 的行为?

When a component re-renders, it tries to re-render all descendants, regardless of whether they're being passed a particular state variable through props or not.

  1. 有些Props 它不好比,比如 ref
  2. 因为副作用会导致不确定性,全量是最保险的

如何看源码

  1. 先熟悉怎么用
  2. 测试用例
  3. 从某个场景作为切入点去梳理逻辑 / 现有相关文章

保存网页的插件

https://chrome.google.com/webstore/detail/singlefile/mpiodijhokgodhhofbcjdecpffjipkle?hl=en

lodash.get

https://www.lodashjs.com/docs/lodash.get 看看实现 https://segmentfault.com/a/1190000021799343

Men Are from Mars, Women Are from Venus

听文章 Wiki 上的 批评

Women and Men in a New Millennium", Kimmel contends that the perceived differences between men and women are ultimately a social construction, and that socially and politically, men and women want the same things.

Object.js

Object.is

This is not the same as being equal according to the == operator. The == operator applies various coercions to both sides (if they are not the same Type) before testing for equality (resulting in such behavior as "" == false being true), but Object.is doesn't coerce either value.

This is also not the same as being equal according to the === operator. The only difference between Object.is() and === is in their treatment of signed zeroes and NaNs. For example, the === operator (and the == operator) treats the number values -0 and +0 as equal. Also, the === operator treats Number.NaN and NaN as not equal.

React Context

  1. context re render optimize

  2. react 组合 props 可以传 react node 来实现 slot 的效果

  3. defaultValue

const MyContext = React.createContext(defaultValue);

Creates a Context object. When React renders a component that subscribes to this Context object it will read the current context value from the closest matching Provider above it in the tree.

The defaultValue argument is only used when a component does not have a matching Provider above it in the tree. This default value can be helpful for testing components in isolation without wrapping them. Note: passing undefined as a Provider value does not cause consuming components to use defaultValue.

const AuthContext = React.createContext({
user: { username: 'jakiechan', tagline: '', bio: '' },
})
AuthContext.displayName = 'AuthContext'

const AuthProvider = ({ user, ...props }) => {
return <AuthContext.Provider value={user} {...props} />
}

function useAuth() {
const context = React.useContext(AuthContext)
// 当使用上层没有 Provider, 拿的是 default Value
return context
}

function Context() {
return (
<div>Context
<Child />
</div>
)
}

function Child() {
const { user } = useAuth()
return <div>Child</div>
}

export default Context

· 4 min read

💡想法:关于工作中排期的事

前端作为研发的一环,价值是实现需求。

  1. 确认好了需求在开发
  2. 需求方有增量,如视觉提出要修改
    1. 不能因为觉得麻烦就表示不想做,而是让他去找产品,产品再找研发,研发再根据情况排期,不接受「加量不加价」
  3. ddl只是承诺,承诺的实现是建立在对已有情况的合理规划上,自己在已知的情况上规划不好,是自己的问题,要主动cover掉,但如果发生了不在预期内的事情,风险和违约是不可避免的,上报、清晰表达就好。
  4. 质量第一,上了质量差的是事故,不如不上。

语录

弱小和无知从来就不是一个文明毁灭的原因,傲慢才是。 --三体

命令行工具

非常好看的命令行工具 https://fig.io/ 我已经爱上了

学习 RxJS 的资源

React 的 change 行为不符合规范

使用 rxjs 实现可靠的异步搜索框

摘录乐聪同学的分享,分析很棒

异步搜索框的难点

  1. 针对于搜索做 debounce 操作,在用户的输入过程中不立即搜索(性能好,节省网络资源)
  2. 对于输入为空的时候不进行 debounce(体验好,从有搜索内容到无搜索内容立即响应)
  3. 对于 debounce 后的输入去重,不发送重复请求,例如从 a -> ab(debounce 掉,不发送)-> a,可能对 a 发送两次搜索请求(性能好,节省网络资源)
  4. 正确处理时序,不要被早发送的请求响应覆盖晚发送的请求响应(体验好)
  5. 正确处理异常(体验好)
  6. 正确处理 loading,只要还有请求没有返回就维持 loading(体验好)
  7. 在正确实现之前所有需求的前提下维持实现的可维护性(易维护 + 不容易出 Bug)

可靠实现的难度在哪?

如果你有一些编写异步操作的经验,会发现每增加一个 feature 都需要维护一些状态、并且由于逻辑关联,会和原有的逻辑搅在一起,就像一个线团一样。在没有高层次抽象的情况下,很难将不同的异步 feature 进行隔离。随着功能的增多,这个线团越来越大、越来越乱,直到艰难维护、崩溃、重写或者消亡。

所以解决问题的一个思路就是:将不同的 feature 以解耦、内聚的形式实现,相互独立,各自维护,再统一串联。

代码示例 https://codesandbox.io/s/snowy-darkness-l9uv2h

koa-compose 代码分析

https://bytedance.feishu.cn/docx/doxcnurwKBJJksERRVJmu4czXWf https://github.com/SedationH/koa-compose

做了个 release 仓库来放一些安装包

如变收费的 Typora https://github.com/SedationH/release

一些好听的音乐

不再犹豫 恋曲1939

影视

天道 王志文 一个牛人是如何认识世界的 (🐶

· 7 min read

💡想法

马上入职快一个月了,生活也稳定了很多,有一些生活的想法,于此分享。

5. 新生活、新开始 的文末提了关于精力的锻炼的问题,这段时间颇有进步。早上八点多晨跑一公里多,再拉接近半个小时的哑铃,整个时间成本大概在1小时多些,滴答清单、训记都是非常棒的工具软件,目前持续了三周,带来的好处是很明显的。

  1. 更充分的精力:干活、周末做饭、执行力
  2. 更好的睡眠质量,在家过的时候总是晚上睡不着觉,整个身体和精神疲惫后,睡眠就会好很多
  3. 觉得抖音上看到的一个说法比较有趣,健身确实一定程度上能改变你的体魄,但提升更明显的是自信心(普信hhh),从过程上分析,整个锻炼过程是对着镜子看着自己的形象做的,看多了确实会迷之自信,还有相关激素的影响就不深入了。

从认识上要去修正的,这个每天一个小时的投入不是对自己的消耗,而是一种增益。能让你有精力去想更多事情,做更多事情。

从今年二月份开始用Obsidian的 Daliy Note 功能(理解为日记就好),零零散散写了很多TODO,也收集了不少信息,回看的时候感觉大多都没有利用好,仅仅是当时作为信息上下文存储了,没有回顾和沉淀。

体会到的一个规律是,效率和快是要建立在扎实的吸收上的,每天都会接触很多信息,想法,能将其中有价值的部分少量的沉淀下来,也是宝贵的认识财富。我常常发现自己什么都看、都做,最后回顾的时候却乏陈可谈。

因此基于我目前的 Daliy Note 机制下,加入 Calender 提供的Week机制。

Pasted image 20220703122114.png

进行简单的周复盘和信息整理(沉淀)。

信息整理就作为博客的一部分内容进行输出。

软件工程能力漫谈(视频 & PPT

软件工程能力漫谈(视频 & PPT) 是一个蛮好的分享,用自己的话讲讲自己理解到的

软件工程话题背景

在高度分公的现代化社会,作为个体常常只用关心自己负责的部分,这是复杂度上升下的工程化方案,分层、分工、降低个体的认知负担。 研发、当前上下文是写代码的研发也是分层中一环。这一环的作用可以描述为,对上游传来的需求进行分解,执行,具体便是结合计算机和领域相关知识,进行编码、组织相关计算、存储资源,向下要交付符合质量要求的、可维护的代码来满足需求。 产业升级、计算机技术进一步融入社会的各个角落,需求、要求是在变高的。对这一环的要求也愈高。 在这一环的人常常不是单打独斗的,是一个团队,团队如何写好代码、个人如何写好代码,提交交付质量,就是软件工程的话题。

软件工程

What 与许多xxx工程类似,是一套系统化的方法。对于软件这一具体领域来说,就是指导使用系统化的方法,在保证质量的前提下,更高效率的为 客户 / 用户 持续交付 有价值的 软件或服务的能力。

一些提醒 从背景中理解研发这一环的价值

  • 系统设计、编写代码、牛逼的技术是手段而不是目的
  • 建立成本意识:学会计算投入产出比
  • 除了技术视角外,注意从需求和商业价值的角度进行思考

人是核心 个人素质排序: 项目管理 > 文档(需求分析、需求设计) > 代码

文档是思考的沉淀

  • 提高沟通效率
  • 提高对 「思考过程」的管理

aspect-ratio

Pasted image 20220702211332.png 看着兼容性还可以,但也去搜了搜兼容性方案 这里用户伪元素来实现的方式挺有趣 Link

deno

本周简单看了看 deno,这里是一处挺好的中文资源

vanilla-jsx

Link 利用 babel 编译,便捷的 DOM 生成 jsx-runtime 代码

这样的 XML 语法,天然适合嵌套场景,或者有嵌套描述的 JSON 来实现这样的嵌套描述,是用 children 这样的属性来表示的

字节小程序

字节小程序实现一些组件就用了一些 web-component 的技术

· 4 min read

离开了熟悉的大和的父母,再一次踏上了前往杭州的生活。四个多小时后,就站在了杭州的道路上。

今天是周二,来杭州刚刚一周的时间,随便记一些想法、感受。 换了新工区,浙大附近,觉得是个很漂亮的地方,回想起大一大二鼓起的浙大的考学想法,三年之后,这也算是另一种相遇的方式吧。看着那红色的建筑风格,葱绿的绿植,心情甚是喜悦。

一下午便完成了房子相关的事情,大阳台房,价格也很实惠,美中不足的是室友的声音太吵了,这对我又是很致命的,像今天我就专门拿回了我的降噪耳机,还买了耳塞,调整作息来应对,如果还是受不了,觉得可能要搬家了,新同学公司楼下的公寓房也蛮不错的,至少安静。

还是那些老朋友,不过也有走走去去的人,再次见到他们很开心,如今的工作节奏看着也没有那么忙碌了,为了不再被人吐槽头像,这次还专门花钱拍了特别专业的照片,化化妆感觉还挺好看的哈哈。

工作面临的问题常常是复杂的,我对自己接下来的期待是,在上班的时间合理的安排工作内容,规划排期和内容,在晚上七点之后不再考虑工作的事情,可以做一些和可能代码不相关的事情,能做的事情很多,书、吉他、英语、Leetcode、写文章 ... (又去看了一眼工作群,刚入职就开始被@了... 这个预期可能挺难实现的 )

前几个月给我一个比较大的感受是,身体、精力是去做很多事的基础,这个道理可能我也知道很久了,新的体会是,如果身体、精力不足 ,不仅身体跟不上,其实心也提不起力气再去做了,因此早上起来跑一跑是一个蛮不错的长期投入,新的 小区非常适合跑步,专门的跑道,恰好一千米的场地设计。

最后再提一下新买的小米平衡车 plus ,感觉也非常地 nice,30+公里的续航,上下班省了不少力气。

· 10 min read

临近毕业,不到两周后,就要离开家,前往杭州,开始真正的工作生活了。这标志着我大学生活的结束,四年的时光,因为疫情和工作的原因,感受到的校园生活也就两年多点。

自今年一月份至今,五个月的独居在家生活,给了不少生活、思考、学习的时间。本篇,着眼于当前工作,研发工程师,讲讲我理想中工程师的样子,也为自己持续的学习和成长理理思路。

脑海中浮现的人

我觉得构想一个 “完美” 的形象在我目前的视野下可能有些困难。因此,我想换个思路,回忆在我学代码这几年时光中,有一些人在我与专业相关的经历中产生了较多的影响,他们大多让我产生了一些认同感。相较于目标,行为,这种身份上的认同感可能会有更深的影响。

出于隐私性的考虑,使用关系或者代称。

高中同学、创业先锋

在我还对代码是啥还不知道的时候,这位同学拿着他老旧的华为手机给我看他做的游戏,给我把玩,这是我第一次遇到身边活生生的程序员(手动狗头),4399上也有他做的小游戏,也曾试图用从百度百科中搜的到信息尝试与他建立我也是这个圈的互动 😂,后来去了上海,自己也做起了公司,有时打起电话会说着一些我从来没听过的后端领域的名词,有幸成为其公司的第一位实习生,拿到了第一份实习工资。去上海的时候专门找他去玩,一起走在校园中的感觉真的太棒啦,与他的合伙人吃了一顿寿司,还去参观了他的工位。创业项目是后端框架服务相关的,一个人前后端都写,能感受到他的热情与投入。 他选择了一个难走很多的路,也遭遇了一些来自学校的麻烦事,又在2022年的上海,他依然有很好的心态与在专业方面的持续投入,最近还解决了一个 CDN 被墙背景下的问题

我相信长期的价值回归,也相信他的这些投入是有价值的。

计算机协会部长

进入大学之后,这是唯一所在与计算机相关的社团,他是我的高一级学长,他去了我未曾去过的 ACM 比赛,在大学初期的时光中,他或许是我一直的“目标”,与他的相处并不愉快,或许是对麻烦的例会表现出的抗拒,又或是潜意识中的竞争对抗心理,但我尝试回想大学初期的与专业相关的回忆,脑海中浮现出的第一个人便是他,操场上他带着大家围成一个群搞团建,机房中他演示着屏幕讲九皇后问题,部长竞选中他给我投了反对并对我质疑。 后来再看,我认同他的那个决定,从动机和匹配角度来看,我确实是不合适的人选,也感谢他的这个做法,没有让我犯更多的错误。

少让情绪干扰专业相关的事情。

sanyuan0704

https://juejin.cn/post/6844904106537009159#heading-16 还记得当时看这篇文章时兴奋的感觉,看到一位这么优秀的同龄人,也看到了那么多机会,春招、秋招的是我那段时间中的 “关键词”,也感谢学校提供了一个大大的桌子,无人打扰的自习室和电脑。每天七点准时起床(手机放下面跳下床),跑步,吃饭,实验室,晚上12点跑步回来,那段时间没啥周几的概念,每天都是一样的生活,专注与投入。跑步持续了一年,即使是大风、大雪,如今也难忘与大雪对抗中的感觉,那种我定胜天的自信感。

持续投入,保持身体健康,向优秀的人看齐,注意整理笔记,构建自己的第二大脑。

Mentor

https://github.com/BoltDoggy 迄今为止能接触到人中给我专业能力感觉最强的人,八月份入职字节实习,作为导师,过程中还制定了一些学习计划,很遗憾,感觉自己完成的并不好,转正答辩前通了许久的电话,帮助我考虑答辩和专业相关的问题,是一位很友善,有趣的人,给人的感觉比较佛,佛到我甚至以为他不想找对象那种...因此后面还惊讶了一波,诚心来说,我觉得自己很多的表现并不好,也有想得到他认可的想法,这种心态让我有时会很在意他的想法。

提前练习,减少工作中的错误。 何谓自由,在不确定的世界中能够最大可能的把握好自己,达到自己的预期。

上一段实习的后半段时间,我觉得对自己的消耗蛮多,有时工作本身带给我一些不可控的感觉(神奇的网络环境boe: (,小程序的开发环境,复杂项目中不敢乱动老代码的感觉...),新的开始中会尽力解决掉这些,尽可能的加入测试,并丰富自己的业务知识背景。

程序员的喵

1. 网站重启 中提过这位前辈,为我树立了好的写作榜样,也丰富了许多专业相关的知识。

写到这里,回忆了不少人和事,我此时此刻用文字的方式梳理了脑海中的他们,或许在这里,能比存在于记忆中更加持久吧。 写作成了一种享受,和自己对话的享受。

具体点呢?

持续更新

日常工作角度

需求、评审、编码、提测、合并

  1. 分解需求、合理排期。
    1. 尽可能的丰富经验,才能增加排期的合理性和精确度。
    2. 要及时向上协调时间、资源
  2. 为自己的编码增加测试(回去我第一件要做的事就是把我的第一个需求补上测试,团队中似乎没强调测试过)
    1. 分解问题
    2. 规范输入输出,测试驱动开发(面向信心驱动)
  3. 熟悉相关业务代码实现和项目整体架构,看不懂,问!
  4. 分享、影响

个人发展角度

  • 信息获取能力
    • 英文
    • podcast
    • Github Trending 、 关注开源
    • RSS 订阅认可的信息
    • 坐下来耐心读书
  • 信息整合
    • 搭建第二大脑 Wiki
    • 整理是为了方便回顾,与搜索引擎做结合。
  • 前端
    • 利用阅读组件库实现去学习业务开发,丰富经验
    • TS
    • 咋测试
  • 面试
    • LeetCode
    • mother Resume
    • behavior interview
  • 完善自己的项目,开发自己的工具 -> 面向兴趣与社区

· 3 min read

背景

最近无论是饭点还是空闲时间,看了不少有趣的视频,有些激发了我强烈的好奇心并且给予了我非常开心的思考体验。甚至有些故事或者问题我会拿出来再和朋友探讨推理一遍,这个过程中感受到他人慢慢的理解我所表达的内容,也是一件非常快乐的事情。

但这个过程中我也发现了一些问题,在重新讲述的过程中,我发现失去了视频的引导,我的表述变的没那么清晰,有时甚至直接抛出结论,再去反着想问题,这样就失去了探索和引导问题的趣味,回顾我和他人探讨的过程,觉得缺乏的不仅是知识方面,还有思维方面的,从这个角度来看,重新把他人的想法以 Wiki 或者 Blog 的形式重新讲述一遍,是很有益的补充和训练方式。

这是我的网站,因此充满了创作形式上的自由,从丰富度来看 Text / Voice -> Picture -> Video

Taget

  • 增强表达水平
  • 如何思考问题
  • 更多的了解这个世界

Action

  • 用自己的话,重述喜欢的视频的叙说逻辑
  • 重拾🖌️ 😂

目前比较喜欢的几个 Up

  • 马督工
    • 社会问题
  • 李永乐老师 ❤️
    • 数学 物理 经济
  • 小岛大浪吹-非正经政经频道
    • 社会问题 历史

已经攒了不少了,以当前为时间比对点,优先处理更靠近今天的视频(克制一下,少看新视频😭)

先暂时存到自己的Wiki,看下具体效果如何吧~

· 2 min read

本文介绍下我用于经验 / 知识沉淀的相关工具,以及他们的具体场景

Obsidian

Leetcode 和 Blog 的场景

  1. 刷题
  2. 晚上再写一遍 + 规律思考
  3. 利用 QuickAdd 快速创建模版
    1. Pasted image 20220415233439.png
    2. Pasted image 20220415233534.png
  4. 总结完成,提交博客
    1. Pasted image 20220415234137.png
    2. 脚本处理了文档之间的跳转和图片格式转换
      1. https://github.com/SedationH/sedationh-site
    3. git push 触发 Vercel Hooks 更新网站

Wiki

启发来源 https://wiki.nikiv.dev/

记录自己知道的东西

Pasted image 20220422204956.png

hypothes

网页高亮工具,浏览器插件

官网见这里 https://web.hypothes.is/

Pasted image 20220422205324.png

不仅可以高亮,还可以进行编辑信息,写下你的想法

官网提供了统一的入口进行管理,比如这个是我的地址 https://hypothes.is/users/SedationH

本地的文件,如pdf也有标记的需求,一是可以利用浏览器插件直接访问本地文件,另外也可以上传到 https://docdrop.org/ 进行标记,后者的好处在于可以和其他的浏览器插件进行协作,如沙拉查词,此外这个网页还可以和 Youtube 结合使用,放一张图自行体会。

Pasted image 20220422213002.png

沙拉查词 +Anki

利用其单词本 +Anki 的方案,沙拉查词提供上下文和快捷的记录,Anki将积累的内容安排合理的记忆周期。具体方案参考沙拉查词的官网就好。

· 5 min read

讲述

最近在刷 LeetCode,也和婷之间有些交流和互动,事实也证明了,将所学尝试输出,向他人讲清楚的方式,是加深知识理解深度和提高掌握水平的好方法,因此个人网站作为公开的地方,适合作为一个想象存在的读者,我要将自己所想讲清楚。

他人影响

在订阅的一些 RSS 源中,最近不少作者讨论了记录 / 写作对他们的影响和自己的感受,当然我这样借鉴样本肯定有问题,因为能被我读到的肯定是有限的人,但我也想尝试看看。

在下面摘录一些看的说法.

写作 12 年,我的经验和技巧

我们常说写作即思考,并不是写作让人更丰富,而是思考让人更丰富

而写作是高质量社交,是和这个世界产生更多连接的方式。文字是行走的名片,读者和作者之间虽然未曾谋面,偶尔的交流就足够,通过公开写作很容易结识到兴趣相同的人。

写作和分享是有乐趣的,能对抗生活中的焦虑和无聊,有闲暇安静下来写些东西分享出去,大概是最好的精神生活了。

不要怕写出来的东西太简单而被人嘲笑,不要怕没人关注,恐惧是糟糕作品的根源。刚开始就当写作是记录自己的学习和心得,是 Learn In Public 的最直接方式。 作为技术人员,我们通常最容易开始写的就是技术。

# 记录的意义

我们对假期的印象往往也由最开心的那几个片段决定,假期的时间长短不是那么重要。

应用在个人上,做记录就像是一个积累个人「大数据」的过程。

知识可以从书中读来,但智慧需要经验。知识只有被「内化」了才能为我们所用,不然也只能感慨「听了很多道理却过不好这一生」。什么叫「内化」?我的理解是要将道理和自己的经验结合起来。这是一个把理性道理和感性情绪相结合的过程。道理听了就忘了,但情绪(feelings) 往往是行动的源动力。

我还记得大学期间写的一些文章,或许对现在来讲没那么“有意义”,但那些确实加深了我脑海中对他们的印象,对他们的感受,比如某次折腾黑苹果到深夜的经历,比如出去打比赛的经历等等。

回顾

从二月份到如今,在家的生活已经近三个月,面临的事件也只有毕业论文,一周大多数时间也只有自己在家,这是很长时间都没有过的“空闲”了,有更多的时间思考,做自己的事情,回顾了我的一些选择和想法,我意识到回顾是总被我忽略的行为,大多数时间只想着目标、预期,留得身后一地鸡毛。

论如何 4 个月高效刷满 500 题并形成长期记忆

你今天做的事情超标了,看似赚到了,实际上是在透支明天的自己, 你每透支一次自己,节奏就会乱一次。而节奏每乱一次,将其调整到正轨又需要大量的精力,所以从全局的角度来讲你其实是亏损的

写作促进思考,思考需要沉淀,也需要多回头看看。

目标

  • 稳步推进 LeetCode
  • 二周一篇文章,聊聊这周所接触到的信息和想法