LocatorJS 源码分析、 超完整的Nuxt3踩坑实录,那真是泰裤辣 | 每日掘金第239期

1,222 阅读7分钟

Hello,又到了每日掘金时间。酱酱们的每日掘金新增优质作者介绍和码上掘金板块,专注于发掘站内优质创作者和优质内容,欢迎大家多提宝贵意见!

本文字数2100+,阅读时间大约需要 15分钟。

  • 【本期每日掘金】亮点:
  • 解锁 PDF 文件:使用 JavaScript 和 Canvas 渲染 PDF 内容
  • LocatorJS 源码分析
  • 盘点 Solid.js 源码中的那些迷惑行为
  • 超完整的Nuxt3踩坑实录,那真是泰裤辣
  • 以useState的视角来看Hooks的运行机制
  • 热修复之我看
  • ……

筛选规则:文章发布时间在本期「酱酱们的每日掘金」发布时间的 1-3 天内,且符合社区推荐标准,也会同步发布在掘金相关技术社群。

今日主理人|每日掘金

本期每日掘金由 帅气的法医 负责制作,法医是一个长期活跃于沸点的最佳摸鱼手,热爱Coding,喜欢分享,五湖四海皆兄弟,欢迎大家一起在沸点摸鱼,在掘金创作。

每日干货|每日掘金

主理人们会对近期(1-3 天)社区深度技术好文进行挖掘和筛选,优质的技术文章有机会出现在下方列表,排名不分先后。

『前端』

最近研究了 Web 的 FileSystemAccess Api,它弥补了 Web 长期以来缺少的能力:操作用户设备中的文件;而如今通过这个 Api 我们能够实现常见的文件操作:创建、删除、修改、移动等。

前段时间发现了一个好玩的东西 -- LocatorJS。它可以在浏览器界面快速定位到 IDE 里的具体代码,并且支持 React、Preact、Solid、Vue 和 Svelte 这些主流的框架。顿时觉得好神奇,简直就是开发神器,YYDS!于是,马上按照官方文档,一步步在项目中进行操作一番。对于react 项目,它提供了 2 种接入方式。第一种是基于 data-id,第二种是基于 react devtools 和 Chrome 插件。对于它的实现特别好奇,所以拉取它的源码,进行探索一番。

看过源码之后感觉有的地方设计的很巧妙,但有些地方又不是很严谨。也怪 jsx 太灵活了,不可能做判断把所有情况都做到面面俱到,当你要写一些在 React 里能运行的骚操作可能在 Solid 里就哑火了。所以说模版语法和 jsx 各有千秋,同为无虚拟 DOM 框架的 Svelte 就依靠着灵活性受限的模版语法才能编译成命令式 DOM 操作,而 Solidjsx 也已经不再是那个异常灵活的 jsx 了,而是有一定的限制以及在某些情况下有 bug 的阉割版。

Nuxt 使用.nuxt/目录在开发中生成您的Vue应用程序。你不应该碰里面的任何文件,因为整个目录将在运行 nuxt dev 时重新创建

我们都知道,在 React v16.8 之前,函数式组件只能接收 props、渲染 UI,做一个展示组件,所有的逻辑就要在 Class 中书写,这样势必会导致 Class 组件内部错综复杂、代码臃肿。所以有必要做出一套函数式代替类组件的方案,因此函数式编程 Hooks 诞生了。

『后端』

装饰器模式通过组合替代继承的方式在不改变原始类的情况下添加增强功能,主要解决继承关系过于复杂的问题(Java IO 就属于这种复杂情况)。

眼下这位正襟危坐的男子,名为小竹,他正是本次事件的主人公,也即将成为熊猫集团的被告,嗯?这究竟怎么一回事?欲知内幕如何,且听下回分解……,啊不对,欲知内幕如何,还需将时间拨回三周之前.......哒、哒、哒,那是高跟鞋接触地板发出的碰撞声,而此时慵懒瘫坐在工位上的小竹浑然不知,身后有着一位女子正在快速接近,只见此女身穿黑色职业装,定睛一看,原来正是熊猫集团董事长的千金!

本篇主要要介绍的就是controller层的处理,一个完整的后端请求由4部分组成

ThreadLocal 是 Java 中的一个线程本地存储机制,它允许每个线程拥有一个独立的本地存储空间,用于存储该线程的变量。ThreadLocal 提供了一种简单的方式来解决多线程环境下共享变量的问题,避免了在多线程环境下出现的线程安全问题。

『移动端』

移动端热修复是指在移动应用程序中对已发布的应用进行动态修复和更新,而无需用户重新下载安装新版本的应用。以下是一些研究移动端热修复的原因

在项目迭代过程,可能有一个专门负责 CI/CD 的人员,但当想做一些静态代码检查,依赖检查,图片大小检查等事情的时候,就自己需要了解 CI/CD,编写特定 Pipeline Job。本文将做一些 CI/CD 基本介绍,看完后能够在 .gitlab-ci.yml 中配置需要的 Job 就行,所以这篇文章适合未接触过,或者刚想入手Gitlab CI/CD 的人。

原生架构+H5页面的组合是很常见的项目开发模式了,H5的优势是跨平台、开发快、迭代快、热更新,很多大厂的App大部分业务代码都是H5来实现的,众所周知H5页面的体验是比原生差的,特别是网络环境差的时候,如果首屏页面是H5的话,那酸爽遇见过的都懂

担心泄密!外媒:苹果公司限制员工使用ChatGPT,中新经纬 5 月 19 日电 据华尔街日报中文网 19 日报道,其获悉的一份文件以及知情人士的消息显示,苹果公司已经限制使用 ChatGPT 和其他外部 AI 工具。根据这份文件,苹果公司担心员工使用这类程序可能会泄露机密数据。该文件还称,苹果公司还告诉员工,不要使用微软所有的 GitHub 的产品 Copilot。Copilot 可以自动编写软件代码。

本文基于 WWDC 2022 Session 10157和 Session 10158梳理,为了更方便没有 SF Symbols 经验的读者理解,也将往年的 SF Symbols 相关内容一并整理。本文从 SF Symbols 4 的新特性切入,讨论 SF Symbols 这款由系统字体支持的符号库有哪些优点以及该如何使用。在这次 WWDC 2022 中,除了符号的数量的增加到了 4000+ 之外,还有自动渲染模式、可变符号等新特性推出,让 SF Symbols 这把利器变得又更加趁手和锋利了。

📖 投稿专区|每日掘金

👉 大家可以在评论区推荐认为不错的文章,并附上链接和推荐理由,有机会登上下一期。文章创建日期必须在近 1-3 天内;可以推荐自己的文章、也可以推荐他人的文章。