工具网站 前端 2019 前端开发者学习路线汇总 工具 i18ns: 国际化 i18n 全语言翻译 codepen: 前端页面代码分享(HTML/CSS/JavaScript) appsgeyser: 封装前端/网站为 App cloudflare: CDN/免费的 HTTPS netlify: 前端免费 CI(持续集成) smms: 免费稳定的图床(国内) office-converter: 文档在线转
实现一个玩具 lisp 运行时与解析器 前言之前看元循环求值器一节中使用 lisp 实现了一个 lisp 的运行时,吾辈也尝试使用 ts 来实现它。首先,这里展示一张曾经在书中出现过的图,表示一个运行时的基本组成是由 eval 和 apply 组成(看起来很像太极就是了)。eval 负责执行一个表达式,在 lisp 中,所有的代码都是表达式,这没什么问题。apply 则负责执行一个函数,将计算实参列表,并创建一个新的闭包环境绑定到形参上
流与延迟计算 前言在此之前,吾辈介绍了如何 从函数中无中生有的构造数据结构。现在,吾辈将使用它构造一个更强大的数据结构:Stream(流)。 或许你曾经见过这张图 一些数据经过一系列的处理,然后得到结果,而只需要迭代每个元素一次,就像魔法一样。 之前的想法最初,吾辈的想法是让操作保存起来,只有等待某个显式调用的时候才真正执行。 即调用 map/filter/reduce 时将 action 与参数保存起来,等
cons: 无中生有的数据结构 前言lisp 中有一种有趣的数据结构,Cons,它使用函数闭包封装了一个两元组的数据结构,并在此之上构建出其他需要的任何数据结构。在此之前,虽然也知道闭包之类的概念,写过一些高阶函数,但并未想过可以使用函数来构建数据结构,下面吾辈会说明如何在 ts 完成。 lisp cons 的 wiki 基本定义如下 $$c=cons(a,b)\car(c)=a\cdr(c)=b$$ 初始实现cons 初始
vite 构建正确内联 svg 资源 场景目前 vite 构建时内联媒体资源的功能有 bug,从 2020 年底就已经存在一个 github issue,感觉短期不太可能解决,于是吾辈决定自行使用插件恢复这个功能。 下面是一个使用 vite 构建的 dist,可以看到其中的 svg 并未被正确内联到代码中,而是单独分割为了一个 bundle,而 jpg 图片则被正确内联。 现有插件为什么不使用插件 @rollup/plugin-im
前端使用工具强制实行代码规范(Vue) 场景 GitHub Demo 非强制性的规范都不会成为真正的规范。在之前,我们也会在团队内编写一些开发规范文档,却总是不能真正有效的执行下去,原因何在? 其一,人是健忘的,就算真正看完了规范文档,也不可能记住每一条规范,并且在代码中正确实践。 其二,人是懒惰的,即便有着规范,但只要写代码的时候没有强制性,那总是不会在意的。 那么,使用自动化的工具是为首选,而前端恰好有了一些可用的工具来帮助我
使用 ESBuild 插件机制实现需要的功能 前言esbuild 是一个通用的代码编译器和构建工具,使用 golang 构建,它非常快,性能上比现有的 js 工具链高 1~2 个数量级。它目前还不是一个开箱即用的构建工具,但通过它的插件系统,我们已经可以做到许多事情。 自动排除所有依赖项在构建 lib 时,我们通常都不希望捆绑依赖的模块,希望能够默认排除掉所有的依赖项,这个插件就是用来实现这个功能的。它会将所有不是以 . 开头的导入模块设置
读书笔记-低智商社会 为什么我们的企业家都忌讳向亚洲国家学习,没有人质疑过为什么日本不能借鉴中国好的东西(比如说向民众转让更多的权利等) 【批注】本质上并非如此,目前更加封闭专制了 Q:日本股市有什么理由能保持上涨? 【批注】话虽如此,我也确实不了解股市。但我相信,经济危机会影响全球,不可能有人能独善装身。 Q:“引进外资有害,所以要维护日本本土企业的利益。”我想这就是现在大家公认的“日本的常识”,那么请从经济全球
VSCode 搭建 markdown 写作环境 场景Markdown 是一种轻量级的标记语言(Wiki),目前已经是很流行的写作语言了。因为 Markdown 真的非常简单,易读易写是 Markdown 的目标。然而,虽然 Markdown 已经足够简单了,但我们还是希望能有一个专门的写作环境,用于实现诸如 语法高亮,快捷键,即时预览,导出其他格式 等功能。而如果你和吾辈一样是个 Developer,那么 VSCode 应该是最好的选择,不仅能
Code Review 漫谈 02 场景继上次的 code review 之后,吾辈这两天在迁移 vpn ip => domain 的过程中,需要帮忙修改一些之前写死的 vpn ip 地址为动态从后端获取,所以有幸见到了一些有趣的代码,便于此继续分享一下。 在 vue3 项目中仍然写 vue2 的 options 组件 完全没有分层的概念,想到哪儿写到哪 神奇的获取 url 参数的方式及变量命名 错误处理仅仅只是打印在控制台
Windows 上 Maven 安装与使用 官网, GitHub 介绍Maven 已经是 Java 事实上的依赖管理标准工具了,所以学习使用 maven 有益无害。 前置要求 必须已经安装了 JDK 并设置了环境变量,如果还没有安装,请参考 Windows 上安装 JDK 并设置环境变量 进行安装 下载在官网 下载页面 找到 Binary zip archive 下载二进制数据。 这里不使用二进制安装包的原因是绿色版更容易迁移,
Code Review 漫谈 01 场景 某些言辞可能略微辛辣,请勿对号入座。 最近在帮同事做代码的 code review,发现了一些日常很难见到的奇妙代码,其中有些吾辈可能都不知道可以这样写。所以发布出来,便于其他刚入坑的萌新警戒。 先发一份快乐源泉 下面列一些吾辈发现的问题 目录结构和命名混乱这似乎是多人协作天生就会遇到的问题,但吾辈确实还是想吐槽一番。如果说按照业务分割顶级目录,然后在子目录分割类型,那么 asssets