链表
https://github.com/sisterAn/JavaScript-Algorithms/issues/12 > https://github.com/Juns-g/leetcode-answers/tree/main/notes
常见链表:单链表、双向链表、循环链表
链表不需要连续的内存空间,而是由一组零散的内存块,通过指针链接而成,所以每一个块中都需要包含当前节点的内容以及后继指针。
链表的插入和删除操作比较高效,时间复杂度为 O(1),但是查找操作比较低效,时间复杂度为 O(n)。
学习链表的要点就是多画图多练习,一个通用做题步骤如下
确定数据结构:单/双/循环
确定思路
画图实现:画图可以帮助我们发现思维中的漏洞
边界条件
代码实现
实现链表707. 设计链表
// https://leetcode.cn/problems/design-linked-list/description/class ListNode { val: number | null next: ListNode | null construc ...
TEDxTalks 增加信心的 6 种行为 笔记记录作者总是缺少自信,但也想像别人一样自信。
研究告诉我们,为了让人们改变,你需要的不是态度,而是与这些态度相关的行为。
如果我自信 10 倍,我能取得什么成就?
给自己 20 秒的勇气
在桌子旁坐下
为其他的人成功喝彩
通过你在另一项活动中的出色表现,增强你对新活动的信心(利用之前的成功来推动自己的前进)
不断庆祝我们实现目标的频率
思考这个视频就是讲了几种方式来帮助我们增加信心,印象中我也有过很多次不够自信的时候,也会有紧张,不敢演讲之类的。我们也需要对自己充满信心,相信自己是可以的,而不是害怕以及畏缩。
Object.defineProperty 与 Proxy在 Vue2 中,响应式采用Object.defineProperty来实现,而在 Vue3 中,使用的是Proxy。同时,这也是一个十分常见的面试知识点,这里先了解一下这俩个 api 的作用和功能,之后下一篇文章来深入一下 Vue 的响应式原理。
Object.defineProperty直接在一个对象上定义一个新属性,或修改其现有属性,并返回此对象。
Object.defineProperty(obj, prop, descriptor)
type PropertyKey = string | number | symbol // 第二个参数// 第三个参数,详细含义见下文interface PropertyDescriptor { configurable?: boolean enumerable?: boolean value?: any writable?: boolean get?(): any set?(v: any): void}
基本使用const obj = {& ...
JS 中的 this在 js 里面,this是一个关键字,他的值实际上取决于函数的调用方式。this的作用是指向当前执行代码的对象,在不同的场景下会有不同的值,所以this的指向是动态的。
为什么要用 this?从概念上理解可能有点费劲,下面举例说明
function identify() { return this.name.toUpperCase()}var me = { name: 'Kyle',}var you = { name: 'Reader',}identify.call(me) // KYLEidentify.call(you) // READER
在没有学习之前我们可能不明白这是为什么,那么可以换一个思路,将context环境对象传给函数:
function identify(context) { return context.name.toUpperCase()}identify(you) // READER
结果是一样的,我们其实可以 ...
TEDxTalks 看完这个你的大脑就不一样了 笔记记录每次我们学习一项新的技能时,都会改变我们的大脑。研究发现我们所有的行为都会改变我们的大脑,这些变化不受年龄限制,一直在发生。
大脑可以通过 3 种非常基本的方式来改变来支持学习:
化学物质。神经元之间的,短期的
改变结构。长期的,学习运动技能
改变功能。使用大脑区域时会更活跃兴奋
大脑变化的主要驱动力是你的行为,没有什么比练习和帮助你学习更有效的了
思考感觉收获不多,简而言之就是要终生学习,这有助于防止中风。
前端算法学习路线选择好的摆烂了,直接刷 leetcode 的经典 150 题了
个人刷题的仓库在这里: Juns-g/leetcode-answers
参考资料链接
前端怎么能不懂数据结构呢
leetcode 面试经典 150 题
基础理论+JS 框架应用+实践,从 0 到 1 构建整个前端算法体系
利用游戏心理学重塑激励系统 笔记记录作者去年的正向改变是为了装 x,有些反响造成了激励。剖析一下我们的人生游戏,是哪里存在设计缺陷,导致我们现在没有热情、频繁拖延、无聊焦虑,同时结合他的改变来讲。
生活是垃圾游戏的原因其一是:没有明确的角色定位和主线任务,空洞的角色、套路的目标和不清晰的意义会导致我们缺少使命感。我们需要外在的欲望和内在的需求,现实中我们专注于自己的欲望,但又不擅长倾听自己的需求,因为需求和弱点挂钩,弱点又往往和痛苦挂钩。
作者今年最大的感悟是:痛苦即信息,焦虑一般是某种深层问题的信号,也是蜕变的必经之路。
人生游戏准则:
游戏的目标源于绝对的欲望和绝对的痛苦
建立人生技能树的必要条件是持续不断的自我欺骗
你即是任务的挑战者,也是任务的分配者
干了不亏准则:
骗自己某个技能可以达到目标
解锁新技能
把注意力从目标转移到技能
生活缺少即时奖励机制,可以自己来建立反馈机制,比如干了什么就奖励自己什么什么,或者得到别人的反馈。缺少难度调节,比如建立的 flag 太大了,一次难以达到
思考我的目标不够明确,或者说不够合理,比如瘦 10kg,他不够细化,也没有详细到 ...
2023 年度总结Code实习5 月份有了第一份实习,小红书安全前端,总共实习了半年。收获有:熟悉 vue2 和 3 的开发、熟悉 ts 开发、积累正式开发经验、熟悉工程化开发、了解项目组成架构、提升 debug 能力、了解安全风控相关知识、熟悉开发环境搭建、增加代码阅读能力、有效提高代码质量、了解开发流程。所以总的来看,实习带来的好处还是很多的,各方面的提升确实很大,寒假努力学习争取开学继续去实习。
技术栈目前只是熟练使用Vue,能够使vue-router、pinia、TypeScript,还没有从底层了解源码以及实现,熟练程度还是缺乏。对于React,目前还仅仅是能够使用,不够熟练,有待学习提高。
学习目标
熟练 React 技术栈开发(ddl 2024.2.1)
了解绘图相关开发,可以使用 canvas、d3、g6 进行开发(ddl 2024.2.7)
了解node,掌握简单常用的功能(ddl 2024.2.7)
掌握常见的性能优化方案,要有产出文档(ddl 2024.2.7)
学习计算机网络相关知识,主要面向面试(ddl 2024.2.7)
了解nextjs等 ss ...
TEDxTalks 如何集中注意力 笔记
How to Get Your Brain to Focus | Chris Bailey | TEDxManchester
看视频时的简单记录在日常生活中接触的屏幕太多了,尤其是手机,他们花费了我们太多时间。作者尝试将自己每天使用手机的时间减少到 30 分钟,这有效的延长了专注时间。他花了很多时间去研究技术如何影响我们的注意力。
不是我们分心了,而是我们的大脑收到了过度刺激,我们渴望分散注意力。大脑存在一种新奇偏见的机制,通过这种机制,大脑会奖励我们多巴胺。所以说不只是我们渴望分散注意力,而且大脑也会主动寻找并发现分散注意力的行为。
我们处于一种过度刺激的状态,从高刺激状态变化成低刺激状态其实就是无聊。作者花了一周时间让自己处于一种低刺激状态,研究表明这大概需要8 天,这让作者更容易集中注意力,受到的刺激减少。
研究表明,当我们故意让我们的思绪游离时,注意力会转移到三个主要地方 **12%思考过去、28%思考现在、48%**思考未来,这被称为大脑的前瞻性偏差。
我们的注意力状态决定了我们的生活状态。如果我们每时每刻都分心,分心和过度刺激的时 ...
React 学习笔记
学习的视频链接:千锋教育前端 React18 系统精讲教程,基于最新版本新特性源码级剖析
预备知识ESLint 和 Prettier 配置ESLint配置自动检查插件pnpm install vite-plugin-eslint,然后去 vite 的配置文件中导入使用,效果就是代码如果过不了 esint,网页直接弹窗报错 😐。我感觉不如直接编辑器中自动提示,之前在小红书实习的时候有配置过自动校验,这个可以研究一下 🧐。
Prettier装插件就可以,配置看自己喜好
JSX
jsx 和 React 是独立的,只不过经常放在一起使用
jsx 需要编译才能被浏览器识别
function App() { return <div className='app'>App</div>}// 会编译成一个对象const obj = { type: 'div', props: { className: 'app', children: ...