syntax-parser 是一个 JS 版语法解析器生成器,具有分词、语法树解析的能力。
在上一篇文章《浏览器中的手写数字识别》中,讲到在浏览器中训练出一个卷积神经网络模型,用来识别手写数字。值得注意的是,这个训练过程是在浏览器中完成的,使用的是客户端的资源。
从一个快要下班的BUG开始,由于原部门同事想要基于一个项目再拆分出几个项目,我们本来用的是qiankun(基座模式)的微前端模式,再拆分其实是比较简单的
当浏览器接收到一个Html文件时,JS引擎和浏览器的渲染引擎便开始工作了。从渲染引擎的角度,它首先会将html文件解析成一个DOM树,与此同时,浏览器将识别并加载CSS样式,并和DOM树一起合并为一个渲染树。有了渲染树后,渲染引擎将计算所有元素的位置信息,最后通过绘制,在屏幕上打印最终的内容。JS引擎和渲染引擎虽然是两个独立的线程,但是JS引擎却可以触发渲染引擎工作,当我们通过脚本去修改元素位置或外观时,JS引擎会利用DOM相关的API方法去操作DOM对象,此时渲染引擎变开始工作,渲染引擎会触发回流或者重绘。下面是回流重绘的两个概念:
如果要使用import scss的用法 ,可以在css-loader上添加 options属性 importLoaders 让import进来的css也能使用到postcss loader 和sass loader
自顶而下一般采用递归下降方式处理,称为 LL(k),第一个 L 是指从左到右分析,第二个 L 指从左开始推导,k 是指超前查看的数量,如果实现了回溯功能,k 就是无限大的,所以带有回溯功能的 LL(k) 几乎是最强大的。LL 系列一般分为 LL(0)、LL(1)、LL(k)、LL(∞)。
webpack是当下最流行的js打包工具,这得益于网页应用日益复杂和js模块化的流行。webpack2增加了一些新特性也到了预发布阶段,是时候告诉大家如何用webpack2优化你的构建让它构建出更小的
你需要一些HTML和css的基础知识,掌握JavaScript和ES6的基本语法,对事物的好奇心。
作者:俊劫 https://juejin.cn/post/6942988170208215076
重回 “手写 SQL 编辑器” 系列。之前几期介绍了 词法、文法、语法的解析,以及回溯功能的实现,这次介绍如何生成语法树。
webpack是当下最流行的js打包工具,这得益于网页应用日益复杂和js模块化的流行。webpack2增加了一些新特性也到了预发布阶段,是时候告诉大家如何用webpack2优化你的构建让它构建出更
有时候,当你完成一个项目后,想要展示这个项目的目录结构(如下图所示),对该项目进行文档描述性说明,用于解释其项目中各个目录以及文件代表的含义,这样便于自己和后来的同学理解
这是为SQL爱好者准备的ORM层。因为其实一旦逻辑复杂了,往往就得靠自己手写SQL来做。所以一个ORM做得如何恰到好处,很重要。
上一篇文章我们讲了Koa的基本架构,可以看到Koa的基本架构只有中间件内核,并没有其他功能,路由功能也没有。要实现路由功能我们必须引入第三方中间件,本文要讲的路由中间件是@koa/router,这个中间件是挂在Koa官方名下的,他跟另一个中间件koa-router名字很像。其实@koa/router是fork的koa-router,因为koa-router的作者很多年没维护了,所以Koa官方将它fork到了自己名下进行维护。这篇文章我们还是老套路,先写一个@koa/router的简单例子,然后自己手写@koa/router源码来替换他。
源码demo地址:https://github.com/JinJieTan/react-keepAlive-dynamic
Webpack 是前端很火的打包工具,它本质上是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 Webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有模块打包成一个或多个 bundle。
Vue.js 利用 createElement 方法创建 VNode,它定义在 src/core/vdom/create-element.js 中:
webpack是当下最流行的js打包工具,这得益于网页应用日益复杂和js模块化的流行。webpack2增加了一些新特性也正式发布了一段时间,是时候告诉大家如何用webpack2优化你的构建让它构建出更
webpack是当下最流行的js打包工具,这得益于网页应用日益复杂和js模块化的流行。webpack2增加了一些新特性也正式发布了一段时间,是时候告诉大家如何用webpack2优化你的构建让它构建出更小的文件尺寸和更好的开发体验。
年初突然有了个想法,前端也做了几年了,但是很多知识还很零散,应该系统的把知识归纳起来,于是给自己制定了一个计划,决定花大半年的时间整理一下大前端的知识,把他们都写成文章。这个计划包括页面布局,JavaScript,计算机网络,Vue.js,React.js,Node.js,设计模式,架构,工程化,数据结构和算法,实战项目。 所谓学习的三个阶段:学一遍,做一遍,讲一遍。这个计划就是讲一遍,同时在讲的过程中,对自己的知识进行查漏补缺。 本计划所有文章都托管在GitHub上:github.com/dennis-jian… 下面是已经写作完成的文章列表,标题前加了推荐!!的都是点赞还不错的文章。
TDesign 是腾讯各业务团队在服务业务过程中沉淀的一套企业级设计体系,于2021年12月底正式对外开源。TDesign 用到了哪些广受欢迎的开源技术,选择这些技术的原因是什么?TDesign 官方支持了众多开发技术栈,为什么选择各仓库原生开发而不是转译生成代码?本篇会从从仓库目录结构开始,通盘分析 TDesign 的技术选型和原因。
前几天写了一篇 【中高级前端】必备,30+高频手写题及详细答案(万字长文),看“你”怎么难倒我总结了30+常见手写题实现,广大兄弟姐妹指出了其中不少问题,还有人提出没有防抖和节流等实现,胖头鱼不吃不睡又搞了12+手写题(已接近42+),一起来看看吧。
在 4 月 21 日晚,Vue 作者尤雨溪在哔哩哔哩直播分享了Vue.js 3.0 Beta最新进展。以下是直播内容整理
https://github.com/luoxue-victor/learn_webpack/
为什么用PaddlePaddle ?因为百度的AI Studio开发平台可以用免费GPU ~ AI Studio上只能用PaddlePaddle。
第一部分 MVVM如何实现模板绑定,依赖是如何收集的? vue2中的diff算法是怎样实现的? 请详细说出vue生命周期的执行过程? vue组件间的交互有七种你知道几种? vue-cli3.0如何实现的? 说说hash路由和history路由,你能自己编写一个前端路由吗? 你能手写vuex状态管理吗? 你能开发自己的组件库吗(树组件,日期组件,表格组件)? 第二部分 vue里面的虚拟dom是怎么回事 vue双向绑定讲一讲 讲vue-lazyloader的原理,手写伪代码 讲express框架的设计思想 讲事
在上面的示例中,我们通过 output.filename 和 output.path 属性,来告诉 webpack bundle 的名称,以及我们想要 bundle 生成(emit)到哪里。可能你想要了解在代码最上面导入的 path 模块是什么,它是一个 Node.js 核心模块,用于操作文件路径。
【新智元导读】Hinton 上周发表的一篇论文 Dynamic Routing Between Capsules 提出用 Capsule 这个概念代替反向传播,引起广泛关注,大数医达创始人,CMU计算机学院暨机器人研究所博士邓侃用浅显的语言梳理解读了论文。邓侃认为,capsule 作为视觉数学表征,很可能是为了把视觉,听觉、阅读的原本相互独立的数学向量,统一起来,完成多模态机器学习的终极目标。 邓侃也是 AI WORLD 2017 世界人工智能大会智能医疗论坛的讲者,届时他将以《多模态智能疾病诊断系统的四
明天就是一轮省选了啊。。这可能是退役前的最后一篇博文了吧(如果心情不好怕是连游记都会咕)
如果两个 URL 的 protocol 、 port (如果有指定的话)和 host 都相同的话,则这两个 URL 是同源。
这几天ChatGPT是真火呀!相信大家都被刷屏了吧。不仅能编程,还能教我学编程给我讲逻辑
理解React中虚拟DOM的概念 理解React中三种Diff算法的概念 使用JS中createElement的方式创建虚拟DOM 使用ReactDOM.render方法 使用JSX语法并理解其本质 掌握创建组件的两种方式 理解有状态组件和无状态组件的本质区别 理解props和state的区别
❗️至此经历了字节一轮的面试感觉到了难度,对整体知识的把握,绝对不可能靠背的,同样给一面的面试官点赞
二叉树是一种常见的数据结构,由根节点自上而下,通过比较,将数据按照和父节点比较结果大右小左的插入的一种数据结构.
为了让提升用户体验,微软在IE5中引入了XMLHttpRequest, 简称XHR,XMLHttpRequest的出现,可以让网页无需刷新,即可从服务器获取最新的内容,这项技术也就是所谓的Ajax
最近在赶一个后台系统,用的是elementUI,早之前写个太多的后台管理系统使用elementUI了,只是这一次有了一些感触。
先问大家一句,日常项目开发中你能离开 ES6 吗? 一、前言 对于前端同学来说,编译器可能适合神奇的魔盒?,表面普通,但常常给我们惊喜。 编译器,顾名思义,用来编译,编译什么呢?当然是编译代码咯?。
老孟导读:此文介绍一个自定义组件,欢迎大家到 Github 上给个小星星,Github 还有很多我整理的 Flutter 资源。 Github 地址:https://github.com/781238222/flutter-do WriteText 组件是一个文本步进组件,即字符一个一个显示,就像手写一样。 pub 地址:https://pub.dev/packages/write_text Github 地址:https://github.com/781238222/flutter-do/tree/mas
上回 精读《手写 SQL 编译器 - 语法分析》 说到了如何利用 Js 函数实现语法分析时,留下了一个回溯问题,也就是存档、读档问题。
接着往期的3篇继续,一步步动手做: 自己动手做一个识别手写数字的web应用01 自己动手做一个识别手写数字的web应用02 自己动手做一个识别手写数字的web应用03 如果你练习里前面三篇,相信你已经熟悉了Docker和Keras,以及Flask了,接下来我们实现一个提供给用户输入手写字的前端web页面。 前端画板我们可以自己用最基本的canvas写,也可以选择封装好的开源库: 下面介绍2个比较好的模拟手写效果的画板库: 1 signature_pad https://github.com/szimek/s
三月份有很多朋友辞职跳槽,也遇到了许许多多的面试题,在交流群里和网站上总结了一些常见的面试题,细细分析,其实基本都是万变不离其宗,所有的问题都是从某一技术点的基础出发,综合考量,如果懂得了这项技术的原理所在,题目答起来内容都差不多能答对。 基础 首先介绍一下自己最近的项目? 项目介绍一下,最有成就感的一个项目? 介绍一下你自己对自己满意的能力? 为什么学前端?除了前端你还写什么? 你认为前端的主要工作职责是什么?为什么需要前端? 概念: 什么是同源策略? 怎么设计好的组件 HTTP和HTTPS的区别?HTT
曾经多次在不同的平台写博客,但全部都以失败而告终。去年七月选择微信公众号做为平台开始了又一次的技术分享,庆幸一直坚持到现在,但随着文章发表的越来越多,发现公众号对于PC端很不友好,文章列表没有PC端入口,查看分享很不方便,所以就利用github pages搭建了一个【运维咖啡吧】的网站,分类展示公众号内发表的所有文章以及一些未在公众号发表的琐碎内容
Hello各位,本葡萄又来啦,今天遇到的场景是这样的:在日常业务流程中,经常需要某一流程环节中相关责任人员进行审批签字,早期许多公司为了省事就直接会把这位负责人的签名以键盘打字(楷体)的形式打印出来,但是这样的坏处就是会导致所有的负责人的签名都是一样的,没有美感,为了解决这个问题,一些公司就开始使用手写签名(用鼠标写出来的签名)代替电子签名,今天本葡萄就为大家简单的介绍下手写签名到底是怎么实现的。话不多说,先上效果图:
听说程序员里存在一个鄙视链,而前端则在鄙视链的最底端。这是因为以前大多数的前端工作内容都相对简单(或许现在也是如此),在大多数人的眼中,前端只需要写写 HTML 和 CSS,编写页面样式便完成了。
在 README.md 文件中写明一个项目的目录结构时,通常会用到树形结构——Tree,假如文件目录很多,自己手写会非常麻烦,其实在win和mac系统中,有相应的命令可以快速输出目录结构
希望大家在每天闲暇之余学习其中几道题目,日积月累,去 BAJT 面试时,一切都水到渠成。
大家好,我是多选参数的程序锅,一个正在“研究”操作系统、学数据结构和算法以及 Java 的硬核菜鸡。本篇将带来的是二叉树的相关知识,知识提纲如图所示。
往期的4篇已经把Docker+Keras+Flask+JS的全栈+深度学习介绍完整了: 自己动手做一个识别手写数字的web应用01 自己动手做一个识别手写数字的web应用02 自己动手做一个识别手写数字的web应用03 自己动手做一个识别手写数字的web应用04 今天更新一篇关于:图像处理。 再回顾下MNIST手写字数据集的特点:每个数据经过归一化处理,对应一张灰度图片,图片以像素的重心居中处理,28x28的尺寸。 上一篇文章中,对canvas手写对数字仅做了简单对居中处理,严格来说,应该做一个重心居中的处
领取专属 10元无门槛券
手把手带您无忧上云