Vue 3.2 <script setup> 摘要 2021-08-26 Vue 约 407 字 预计阅读 1 分钟 在 Vue 3.2 发布的内容中,最主要内容就是 <script setup> 。 <script setup> 想必大家都有使用过,跟当初作为实验特性不同,这次正式发布还是有很多的修改的。 废除 useContext() 原先获取全局 ctx 的方法就是 useContext() ,现在不行了。 Vue 还是希望用户摆脱全局变量的使用,进而使用 useXXX 代替。利弊各有吧,总体来说利大于弊。 阅读更多 »
使用 Sharp 压缩图片、改变图片大小 2021-08-24 后端 约 264 字 预计阅读 1 分钟 因为业务需要就写了个图片压缩服务,顺带改变大小,因为用的是 nodejs ,于是我就选择了 sharp ,基于 libvips。 代码非常好写: function resize(input, x, y) { return sharp(input) .resize(x, y, { fit: 'inside' }) .toBuffer(); } 默认是裁剪模式,但我们要保持比例,因此用 “inside” 。因为我们还要调整一下质量,因为原始文件太大了。 阅读更多 »
函数式的骨感 2021-08-24 编程随笔 约 592 字 预计阅读 2 分钟 最近读了点 rambda 的源码。函数式是个很诱人的概念,借助函数式,你可以以十分数学的方式解决一些问题。虽然如此,函数式对于现实来说仍然过于抽象,如果我们不去关注底层,那他确实是好的,然而一旦我们逼视其实现,我们就会发现它的窘迫与骨感,对于 js 来说尤是。 阅读更多 »
如何写一个深拷贝函数 2021-08-22 Javascript 约 716 字 预计阅读 2 分钟 跟小伙伴们讨论的时候发现,es6 的解构其实和 Object.assign 一样属于是浅拷贝。那么一个深拷贝到底该怎么写呢?我个人阅读了一下 lodash 、 rambda 、 rfdc 的实现,发现思想其实都是一样,由于 rfdc 放弃了对一些内容的支持,使得它的速度飞快,但这些内容实际上我是需要的,所以 rfdc 不考虑。剩下两个实现思想基本上是一样的,但是 lodash 的实现内容很多,没有 rambda 简洁,所以我以 rambda 为蓝本自己写了一个深拷贝函数。 阅读更多 »
如何编写一个 Chrome 扩展 2021-08-15 前端 约 1065 字 预计阅读 3 分钟 最近工作需要用到 Chrome 扩展,于是就特意学习了一下。起初,我以为 Chrome 扩展权限挺大,操作起来应该挺方便的,但是,实际情况各种权限需要申请,而且有些操作还要不停的绕过,写起来也是挺烦的。 阅读更多 »
安装 Anbox for Arch 2021-07-24 Linux 约 717 字 预计阅读 2 分钟 台风天写这篇文章。 最近更新了 Linux 的内核,然后日常发布合并,日常逛 Issues 的时候,发现有人提出要 Anbox 的需求。Anbox 我试着安装过几次,然后每次装上都因为各种问题而失败。然后这次我就想顺便把它成功装上。 阅读更多 »
v8 学习(一)——编译个v8 好麻烦啊! 2021-07-11 V8 约 386 字 预计阅读 1 分钟 想要学习一下 v8 ,于是就尝试了一下编译 v8 源码,说实话,以国内的网络去做这件事超级麻烦。在折腾一番后,最后决定直接在我的海外服务器上进行编译。 安装 depot_tools 你不能直接拉 v8 源码编译,你得用 depot_tools 下来拉取代码,安装依赖。建议不要用 root 安装,切到有 sudo 权限的用户为好。 阅读更多 »
flex 布局简说 2021-07-10 前端 约 1760 字 预计阅读 4 分钟 最近同事开分享会讲到了一点 flex 布局相关的东西,但是讲得很仓促,于是决定私下里整理一下,也算是对 flex 知识的总结。内容基本参考了 MDN 还有 W3C 文档的内容,当然,并不是面向初学者的内容,是知识整合。 阅读更多 »