前端食堂

其他

前端食堂技术周刊第 106 期:TypeScript 5.3、Nuxt DevTools v1.0、Rspack 0.4

前端的渲染模式是如何一步一步演进的,包括设计思路、优劣之处、适用场景以及技术选型。3.
2023年11月28日
其他

为什么React一年不发新版了?

遥想前几年,不管是React还是Vue,都在快速迭代版本,以至于很多同学抱怨「学不动了」。而现在,React已经一年没更新稳定release了。上一次发版还是22年6月甚至有人认为,这就是「前端已死」最直接的证据:那么,React最近一年为什么不发版了呢?是因为前端框架领域已经没有新活儿可整了么?React
2023年7月18日
其他

前端食堂技术周刊第 68 期:Astro 2.0、Nuxt 3.1.0、Bun 0.5、Turborepo 1.7

https://nuxt.com/docs/guide/directory-structure/components#server-components[13]onNuxtReady:
2023年1月27日
其他

前端食堂技术周刊第 67 期: 2022 State of JS、ESLint 2022、pnpm 2022、大淘宝Web端技术

day.js。但需要从目标目录导入所需的工具函数,上手难度大。在引入了多种工具函数或涉及解析时间字符串时,还会导致包体积过大。(推荐存在轻度需求时使用)3.
2023年1月16日
其他

React 设计原理【送书】

模式,会自动开启StrictMode。此时,整个应用的“并发不兼容警告”都会上报,开发者需要修复整个应用中的不兼容代码。从这个角度看,“渐进升级”的目的并没有达到。其次,React
2023年1月12日
其他

开发现代 JavaScript 库的正确姿势【送书】

文末赠书大家好,我是童欧巴。喜迎新年,给堂友们搞几波送书福利,在此感谢博文视点大力支持,具体送书规则请移步文末。最近一年,互联网裁员现象愈演愈烈,很多大厂裁员的消息冲上了微博热搜,这不禁让很多程序员心中焦虑。我也时常在想,什么样的人能够抵御这场互联网寒冬,抑或不怕重走一遍求职路呢?答案其实很简单,就是那些在无意义的“重复造轮子”内卷中依然能够修炼技术水平,具备真正的技术实力的人!对于前端开发工程师而言,很多人在日复一日的“写页面”中慢慢弱化了自身的技术实力,当意识到这一点时,又希望能够扭转这种局面,提升技术功力。但这又带了一个新的问题:通过什么来提升技术功力呢?我认为,开发JavaScript库是一个很好的途径。回首过去十年,我一直致力于开源库的开发和维护,一路走来,我也从这个领域的“小白”慢慢成长为“专家”。这十年,支撑我坚持在库开发领域耕耘的是热爱分享,我特别希望能把自己做的东西分享给别人,分享的内容既可以是课程、博客文章,也可以是代码。在我看来,一份分享出去的代码片段,就是一个开源库。十年来,前端技术推陈出新,新的开源库如雨后春笋般涌现,相信大部分读者都曾从这些开源库中受益。平日里,我们更多关注的是库的使用,很少关注库开发技术。其实,JavaScript库开发技术在这十年中也经历了快速发展,其中基于新的技术标准开发而成的库,我将其称为“现代JavaScript库”。由于前端技术发展迅速,如今开发一个现代JavaScript库并不容易,其中涉及非常多的知识、工具和经验。比如,库如何兼容日益复杂的前端环境,库如何使用打包工具,库的单元测试如何做,等等。正因为这种复杂性,目前npm上的开源库并不都是现代JavaScript库,很多开源库还在使用十几年前相对比较原始的技术。除了依赖开发技术,将一个库开源还需要很多准备工作。一个库开源后的运营和维护也涉及很多知识。由于缺乏经验,很多库开源后并没有被推广开来。有人可能会问,为什么要学习JavaScript库开发技术呢?学会开发JavaScript库有什么好处呢?其实,开发JavaScript库能够带来非常多的好处。就像我前面提到的,从开发JavaScript库开始,修炼自己的技术水平,对于求职、转型、技术进阶,都大有裨益。我现身说法,开发和开源库不仅可以帮助他人解决问题,也能给自己带来很多成长。开发库的特殊要求,极大提升了我的技术深度;开发库涉及的技术非常多,极大拓宽了我的知识面;开源库使我融入了开源社区,在那里获得了很多技术之外的东西。总之,开发和开源现代JavaScript库可以带来非常大的收获,我希望每一个前端开发者都不要错过这个机会。其实,我有一个愿望,那就是,人人都可以开发自己的JavaScript库。再小的个体也应该有机会在社区中发声,社区不应该只要月亮的光辉,漫天繁星同样是美好世界的重要组成,只要我们愿意,每个人都可以开发属于自己的JavaScript库。每一个前端开发者都身处两个世界,即业务世界和开源世界。大部分人熟悉业务世界,但对开源世界了解不多。所谓“技多不压身”,多了解开源世界,融入开源世界,你一定会有更多收获。当然,开发和开源一个现代JavaScript库并非易事,上述困难阻碍了很多读者开发自己的JavaScript库,我也曾被这些困难深深折磨过。经过十年的摸爬滚打,我不禁想:如果能有一个师傅手把手教我该多好,那我当初能少走多少弯路!基于此,我终于下定决心写一本现代JavaScript库开发领域的图书,将自己十年的经验总结沉淀,希望能够手把手教各位读者快速掌握现代JavaScript库开发技术,于是便有了《现代JavaScript库开发:原理、技术与实战》一书。本书内容本书主要涵盖三部分内容,可以满足读者不同阶段的学习诉求。第1~5章介绍如何开发和开源一个现代JavaScript库,这部分内容可以帮助读者快速达成库开发目标。第6~7章介绍现代JavaScript库的设计最佳实践和安全最佳实践,这部分内容可以极大提高读者开发JavaScript库的质量。第8~11章为实战部分,本书精选了9个典型库作为案例,带领读者了解不同类型的JavaScript库的开发要点。专家书评每个前端工程师都想开发自己的框架或库,然而大部分开发者在繁杂的业务代码中都在使用别人的框架或库。本书教你如何从零开始创建自己的库,如何突破技术瓶颈。——Deno核心代码贡献者、vscode-deno作者
2023年1月11日
其他

前端食堂技术周刊第 66 期:2022 JS Rising Stars、Lightning CSS、年度最受欢迎文章

博物馆”——其中大体可分为四个展馆——计算机博物馆、互联网博物馆、人工智能博物馆、程序设计博物馆。下面这张图可以简单概括日历内容涵盖的范围。版式调整2023
2023年1月9日
其他

前端食堂技术周刊第 65 期:2022 Vue 年终总结、2022 HTTP 状态、12 月登陆 Web 平台的新功能

https://developer.apple.com/documentation/safari-release-notes/safari-16_2-release-notes[26]Bun
2023年1月4日
其他

前端食堂技术周刊第 37 期:Google I/O 2022、TS 4.7 RC、WinterCG 社区组成立、Lerna 复活

https://tommymerlin.gitee.io/%E6%B1%87%E6%80%BB/GitHub%E9%A1%B9%E7%9B%AE%E7%B2%BE%E9%80%89/[11]Web
2022年5月15日
其他

前端食堂技术周刊第 35 期:Vitest 、Jest 28、Ant Design v4.20.0、Lerna 官宣停止维护

周刊[14]:关于产品、设计、前端、软件等内容的精华资讯邮件列表参考资料[1]食堂技术周刊仓库地址:https://github.com/Geekhyt/weekly:
2022年5月1日
其他

前端食堂技术周刊

欢迎光临前端食堂,如果你想了解食堂老板的话可以看我去年的年终总结。为什么要写?创办食堂技术周刊的初心是:沉淀、分享和利他。既想写给现在的你,也想贪心写给
2022年3月22日
其他

【无限进步】我的 2021 年终总结

Rust,可是你的同学叫你去滑雪。在面对选择时,我们要保持真实。必要时,要懂得拒绝别人,也可能你拒绝的事情是紧急重要的,但如果不拒绝,就一定会阻碍我们做好其他的事情。保险和投资保险和投资无疑也是
2021年12月22日
其他

为什么 Vue 源码及生态仓库要迁移 pnpm?

https://www.raulmelo.dev/blog/replacing-lerna-and-yarn-with-pnpm-workspaces)。作者算是比较详细的介绍了如果从yarn
2021年12月7日
自由知乎 自由微博
其他

Dan Abramov 接受油管 UP 主的面试挑战,结果差点没写出来居中……?

代表兔子的位置在第二个洞,如果你查看了第三个洞,那么兔子就可能会跳到它左边的第一个或右边第三个洞中去。要求写出找到兔子的算法,并且给出复杂度。这是一个比较开放性的问题,具体
2021年12月6日
其他

【第15期】前端食堂技术周刊

https://www.joshfinnie.com/blog/using-webassembly-created-in-rust-for-fast-react-components/[11]JS
2021年12月4日
其他

简明 CSS Grid 布局教程

1fr);}传入repeat函数的第一个参数表明了后续列宽配置要重复多少次,而第二个参数表示需要重复的配置,这个配置还可以具有多个长度设定,举个例子:repeat(2,
2021年12月3日
其他

Next.js 强劲对手来了! Remix 正式宣布开源

提供基于文件的路由,将读取数据、操作数据和渲染数据的逻辑都写在同一个路由文件里,方便一致性处理,这样可以跨客户端和服务端逻辑共享同一套类型定义。看一段官网的代码:import
2021年11月30日
其他

【第14期】前端食堂技术周刊 2021-11-26

https://engineering.tines.com/blog/understanding-why-our-build-got-15x-slower-with-webpack[12]Rome
2021年11月26日
其他

6.7K Star 的知名开源项目源码,该怎么看?

"../../_utils";这些叶子依赖可以直接对照着原仓库建立对应的目录结构和文件命名,然后把代码拷贝过来。对于那些非叶子依赖,我们需要再下一番功夫继续解析其依赖,重复之前的两项操作:删除
2021年11月25日
其他

【内部分享】看向未来 - 近期 TC39 提案汇总

20212022No939115我们正在实现一个方法。在这个方法中,调用的某个外部方法抛出了异常,而且:我们的方法无法处理它;我们和调用方约定了会抛出的异常,不能抛出未约定的异常;我们也不能直接
2021年11月24日
其他

有道云笔记新版编辑器架构设计(下)

给前端食堂标星标,吃好每一顿饭!上期文章,我们从整体上介绍了富文本编辑器的背景,并分享了有道云笔记新版编辑器技术选型中的模型和渲染部分。有道云笔记新版编辑器架构设计(上)本期文章,我们将继续分享技术选型中的编辑和指令部分内容,并详细解读有道云笔记编辑器的分层架构设计。作者/
2021年11月22日
其他

有道云笔记新版编辑器架构设计(上)

给前端食堂标星标,吃好每一顿饭!在开发有道云笔记的新版编辑器的过程中,我们遇到很多实际问题,愈发感觉到这是一个非常有深度的前端技术领域,所以我们将新版编辑器的技术选型、架构和部分实现细节拿出来分享给大家,希望对大家开发富文本编辑器、做复杂系统的架构设计有一定参考意义。作者/
2021年11月22日
其他

【第13期】前端食堂技术周刊

https://stackoverflow.com/questions/10350142/why-is-document-all-falsy/62005426#62005426[8]你应该知道的那些
2021年11月20日
其他

编程界也有修仙秘籍?程序员码字3年终得《JavaScript 百炼成仙》

百炼成仙》,不少读者表示越看越上头,越学越着迷。甚至有读者在文章留言表示把修仙和编码融为一体,达到天人合一的境界,达到屏幕有码,心中无码的境界了,还有网友表示作者真乃鬼才也。《JavaScript
2021年11月19日
其他

JavaScript 基础设施的未来

JavaScript,TypeScript,也许还有CSS)中工作得很好。B)能够重新定义社区对构建工具速度的期望。对于JS快速构建工具来说,到底什么才是快?在我看来,我们目前的工具都太慢了。——
2021年11月17日
其他

2021 年你需要知道的 CSS 工程化技术

工具链、工程化领域的主要方案如下:而我们技术选型的标准如下:开发速度快开发体验友好调试体验友好可维护性友好扩展性友好可协作性友好体积小有最佳实践指导目前主要需要对比的三套方案:Less/Sass
2021年11月16日
其他

教女朋友学前端之深入理解JS引擎

根据反馈信息,会优化并编译字节码,最后生成优化的机器码。食堂老板娘:也就是说,当这段代码再次执行时,解释器就可以直接运行优化后的机器码,不需要再次解释,这样会提升很多性能吧?食堂老板:对的!V8
2021年8月16日
其他

从酒桌游戏看二分查找算法

二分查找,顾名思义。(看上文欧巴熟练的灌酒操作也可以知道)每次的查找都是和区间的中间元素对比,将待查找的区间缩小为一半,直到找到目标元素,或者区间被缩小为
2020年7月7日
其他

你不知道的 TypeScript 泛型(万字长文,建议收藏)

首先来思考一个问题:为什么要有泛型呢?这个原因实际上有很多,在这里我选择大家普遍认同的一个切入点来解释。如果你明白了这个点,其他点相对而言理解起来会比较轻松。还是通过一个例子来进行说明。
2020年6月28日
其他

都快0202年了,还不会Linux 基础命令?

https://raw.githubusercontent.com/Homebrew/install/master/install)"安装tree命令brew
2020年6月8日
其他

《JavaScript 20 年》中文版之语言诞生

声明。而它的值则是函数对象,可以赋值给变量、设置为属性值、在函数调用中作为参数传递,以及作为函数的返回值。因为函数也是对象,所以在它们上面同样可以定义属性。以下示例展示了如何将属性添加到函数对象上:
2020年5月27日
其他

Git命令行备忘录

https://www.liaoxuefeng.com/wiki/896043488029600/896067008724000/awesome-git
2020年5月6日
其他

「时间管理」JavaScript算法时间、空间复杂度分析

经过数据结构与算法先导篇的洗脑,不知道大家对数据结构与算法重要性的认知有没有上了一层台阶。(虽然阅读量少的可怜)。没看过的建议先去看先导篇前端如何搞定数据结构与算法(先导篇)
2020年4月30日
其他

14亿人的战争:中国人用了30年望见计算力的珠峰

这是一个终身学习的男人,他在坚持自己热爱的事情,欢迎加入前端食堂,和这个男人一起开心的变胖~
2020年4月28日