h2

「吐血整理」再来一打Webpack面试题🔥(持续更新)

二次信任 提交于 2020-03-23 22:41:04
3 月,跳不动了?>>> 「 观感度:🌟🌟🌟🌟🌟 」 「 口味:清蒸鲈鱼 」 「 烹饪时间:15min 」 本文已收录在 Github github.com/Geekhyt ,欢迎Star。 从头发的浓密程度和干练的走路姿势我察觉到,面前坐着的这位面试官也是一把好手。我像以往一样,准备花3分钟的时间进行自我介绍。在此期间,我的目光被16寸的MacBook Pro所吸引,这次的自我介绍我做足了准备,很有信心征服面试官。不出我所料,面试官被我引入了我擅长的领域。 ❝ 看来你对Webpack很熟悉,那我来考考你 ❞ 0.有哪些常见的Loader?你用过哪些Loader? (我开始熟悉的报起了菜名) raw-loader :加载文件原始内容(utf-8) file-loader :把文件输出到一个文件夹中,在代码中通过相对 URL 去引用输出的文件 (处理图片和字体) url-loader :与 file-loader 类似,区别是用户可以设置一个阈值,大于阈值时返回其 publicPath,小于阈值时返回文件 base64 形式编码 (处理图片和字体) source-map-loader :加载额外的 Source Map 文件,以方便断点调试 svg-inline-loader :将压缩后的 SVG 内容注入代码中 image-loader :加载并且压缩图片文件 json

预测最近面试会考 Cookie 的 SameSite 属性

橙三吉。 提交于 2020-03-23 22:32:30
3 月,跳不动了?>>> 前言 2 月份发布的 Chrome 80 版本中默认屏蔽了第三方的 Cookie,在灰度期间,就导致了阿里系的很多应用都产生了问题,为此还专门成立了小组,推动各 BU 进行改造,目前阿里系基本已经改造完成。所有的前端团队估计都收到过通知,也着实加深了一把大家对于 Cookie 的理解,所以很可能就此出个面试题,而即便不是面试题,当问到 HTTP 相关内容的时候,不妨也扯到这件事情来,一能表明你对前端时事的跟进,二还能借此引申到前端安全方面的内容,为你的面试加分。 本文就给大家介绍一下浏览器的 Cookie 以及这个"火热"的 SameSite 属性。 HTTP 一般我们都会说 “HTTP 是一个无状态的协议”,不过要注意这里的 HTTP 其实是指 HTTP 1.x,而所谓无状态协议,简单的理解就是即使同一个客户端连续两次发送请求给服务器,服务器也识别不出这是同一个客户端发送的请求,这导致的问题就比如你加了一个商品到购物车中,但因为识别不出是同一个客户端,你刷新下页面就没有了…… Cookie 为了解决 HTTP 无状态导致的问题,后来出现了 Cookie。不过这样说可能会让你产生一些误解,首先无状态并不是不好,有优点,但也会导致一些问题。而 Cookie 的存在也不是为了解决通讯协议无状态的问题,只是为了解决客户端与服务端会话状态的问题

参考这套代码,辩论赛也能搬到线上

一曲冷凌霜 提交于 2020-03-23 22:14:34
3 月,跳不动了?>>> 你熟悉辩论么?如果不熟悉,“奇葩说”总是看过的吧?我们这次想聊聊辩论赛的“未来”。 说是“未来”,或许现在也同样适用。在疫情还未解除的情况下,很多线下活动都无法进行,辩论就是其中之一。不过已经有人将这个场景从线下搬到了线上。 我们 2019 年 RTC 创新编程挑战赛的三强之一,“辩之竹”团队实现了一套功能完整的辩论系统,能计时、在线辩论、裁判视频点评,还能统计票数等。而且,它已经应用于很多辩论比赛中。于是我们让“辩之竹”撰写分享了一下作品的初衷,还有核心功能的实现: 项目介绍 为解决传统辩论赛UI丑、各系统相互割裂、线下举办各类成本等问题,特开发此系统。该套系统完全体包括: 可定制的赛事计时器 赛程、评委和辩手 管理后台 赛程查看和无纸化提交分数的小程序 赛后即时点对点反馈个人表现的辩力提升系统 远程裁决的视频会议部分 项目初心 作为一个大学生,我们经常在大学举办各类辩论赛,但是在当前的辩论赛事中,长期存在着五大问题,即如图: image.png 日程查看不直观 计时器简陋不美观 统计票数麻烦且不环保 复盘数据获取困难 优质裁判资源稀少 除了以上问题,其实我们也发现现在的辩论赛非常受限于场地的局限,就算同一学校的两支辩论队也要解决申请教室、邀请评委、宣传吸引观众等问题,更别说如果是两所学校,两个城市,甚至两个国家的辩论队之间要举办比赛了

NTP网络时钟系统技术参数与详细介绍

ぐ巨炮叔叔 提交于 2020-03-23 22:11:53
3 月,跳不动了?>>> NTP网络时钟系统技术参数与详细介绍 安徽京准电子科技 更多资料参考 ahjzsz.com 第一部分 网络时间同步显示系统概述 : 医院、学校网络时间同步显示系统是由高精度GPS(北斗)网络母钟、高品质,高稳定性系统网络子钟、智能化控制设备及其它配套设备组成的计时和时钟显示系统,其作用是为保证校园或医院网络提供标准统一的时间服务. GPS(北斗)网络时间同步显示系统是我公司独立研发,拥有自主知识产权的,根据多年行业经验,按照我体育场馆的设计与使用习惯设计的计时与显示系统. 第二部分 网络时间同步显示系统特点: 2.1 精确度高 本系统能够采集来自于GPS的标准时间信号,经中心网络母钟处理后发 至系统的各个部分,实现无累积误差运行。 2.2 可靠性高 本系统对中心网络母钟的关键部位采用双重热备份,当主单元发生故障时,能够自动切换到备用单元,实现主备之间的自动转换。 2.3 便于扩容 系统采用分布式结构,便于用户按照自己的需要进行配置和扩容。 2.4 操作简单 系统采用了人性化的设计,使界面整洁、直观,更由于单片机技术的引进与完善,使得系统的自动化程度很高,操作极为简单。 2.5 维护方便 本系统采用了目前国际上流行的模块化设计,实现点对点监控、自动报警功能,采用标准元器件,使相同规格的设备与部件之间具有可互换性,维护极为方便。 第三部分

802.11协议精读27:再谈802.11e的优先级(Admission Control)

折月煮酒 提交于 2020-03-23 22:10:53
3 月,跳不动了?>>> 序言 本文按照顺序是应该讨论EDCA/HCCA的,但是在此之前,我们需要重新回顾下802.11e中的优先级部分。我们知道802.11协议实际上是一个纵深很长的协议,因为802.11既需要考虑到商业级WiFi的场景和需求,又需要考虑到低成本轻量级的终端。所以其设计的部分实际上有很多潜在内容,很不好让别人理解。 好比前面我们说了802.11e的优先级有默认的4种类型,但是实际上情况下,用户能不能根据自己需求自定义呢。这里就是本文讨论的Admission Control机制了,所以本文我们要说明下802.11e中几个非常容易混淆的概念, TID , TC , TS , TSpec,TClas 。 再谈802.11的优先级 在我们前面的说明中,我们知道在802.11e中一共定义了4种流量种类。分别如下: 上图说明,当流量MSDU到达802.11e定义的MAC层时,会根据其802.1D的tag标识被分别存放到4个不同的queue里,分别是AC_VO,AC_VI,AC_BE,AC_BK。这里对应关系我们在《 802.11协议精读21:802.11e的优先级 》一文中梳理过。 但是如果结合下图,估计很多人会比较晕,前面是4个优先级队列,然后下图变成了8个优先级队列了,笔者在这个点上也晕了很久。 这是802.1D(802.1p)和802.11的QoS对应关系

802.11协议精读26:802.11e(TXOP,Block_ACK)

风流意气都作罢 提交于 2020-03-23 22:10:32
3 月,跳不动了?>>> 序言 802.11e是802.11协议中,一个阶段性的改良版本。我们目前绝大部分802.11协议用到的MAC层接入机制,都是基于802.11e时期开始定义的。在802.11初期,仅有的PCF和DCF两种机制,不能够满足网络不同业务的增长,所以才有了802.11e诞生。在此之后,关于QoS问题也俨然成为802.11中的一个典型问题被进一步讨论,在实现上有ATF,在协议上还有802.11aa和802.11ae等相关版本,都是针对QoS而言的。 本文针对802.11e的相关功能做一份阐述。之前我们有一篇关于《 802.11协议精读21:802.11e的优先级 》阐述了802.11协议中的QoS映射关系,本文着重讨论的就是802.11中的协议规则,也就是当给数据包标记后,如何为其在无线端口提供QoS保障的功能。 Remark: 以下几篇有关802.11e的文章,参考《802.11 QoS Overview》 by Philippe Klein,该资料笔者也备份如下, 802.11e slide (Philippe Klein) 。 802.11e和WMM 802.11e于2004年正式通过,是802.11协议中关于QoS的一份重要补充。802.11协议最初是为了数据的无线通信,而针对于语音等相关有QoS需求的业务没有考虑。所以随着802.11发展的越来越快

Service Worker简易教程

两盒软妹~` 提交于 2020-03-23 21:47:25
3 月,跳不动了?>>> 面试中经常问 service worker 的内容,但是网上没有一篇文章完整的 简介 W3C 组织早在 2014 年 5 月就提出过 Service Worker 这样的一个 HTML5 API ,主要用来做持久的离线缓存。 浏览器中 js 运行中单一主线程中,同一时间只能做一件事情。 如果一段代码运算太过耗时,就会一直占用浏览器主线程,造成性能下降。基于这个问题, W3C 提出了 web Worker ,将耗时太长的任务交给 web worker ,然后通过 post Message 告诉主线程,主线程通过 onMessage 得到结果。 但是 web Worker 是临时的,每次运行的结果不能持久的保持下来,下次有复杂的运算,还需要重新计算一次。为了解决这个问题,推出了 Service Worker ,相对于 web worker 增加了离线缓存能力。 Service Worker 主要有以下特点和功能: 离线缓存 消息推送 请求拦截 如何使用 Service Worker 注册 创建一个 html ,底部加入注册 service Worker if ( 'serviceWorker' in navigator) { window .addEventListener( 'load' , () => { navigator.serviceWorker

Edge换谷歌内核是好事?扒扒Chrome的黑历史-太平洋电脑网

≡放荡痞女 提交于 2020-03-23 21:47:12
3 月,跳不动了?>>>   [PConline 杂谈]微软Edge 浏览器 换用Chromium内核已经不是新闻了,Chromium内核的Edge也已经正式发布,虽然没有通过Windows Update推送,但大家可以手动到Edge官网下载安装。很多人认为这是一件好事,毕竟Edge在过去几年不成气候,兼容性似乎不太令人满意,早换成主流的Chromium内核,对于用户体验是有好处的。 Edge已经换用了Chromium内核   Edge换用Chromium内核后,产品力的提升,是显而易见的。但这对于整个网络生态来说,真的是一件好事吗?Edge换用Chromium,乃至更早之前的Opera浏览器弃用自家内核、换用和Chrome一样的Blink,都有自己的苦衷。Chrome系浏览器已经形成垄断之势,Chrome面对竞争,耍过不少小手段,今天就一起来说说这方面的话题,大家应该对垄断心怀警惕。 Opera/Vivaldi:资深受害者   我们先从经典的Opera浏览器说起。如果你关注浏览器,应该知道Opera引领了很多浏览器的先进设计,例如快速拨号、标签页等等。   而Opera的原创内核Presto用户体验也很好,这个内核的渲染机制比较独特,会首先读取网页的框架,然后再文字、图片和其他元素逐渐在框架的相应位置显示。这样的好处就是,文字等可读性高的内容可以第一时间就呈献给用户

React Hook + TS 购物车实战(性能优化、闭包陷阱、自定义hook)

丶灬走出姿态 提交于 2020-03-23 21:32:42
3 月,跳不动了?>>> 前言 本文由一个基础的购物车需求展开,一步一步带你深入理解React Hook中的坑和优化 通过本篇文章你可以学到: ✨React Hook + TypeScript编写 业务组件 的实践 ✨如何利用React.memo 优化性能 ✨如何避免Hook带来的 闭包陷阱 ✨如何抽象出简单好用的 自定义hook 预览地址 https:// sl1673495.github.io/rea ct-cart 代码仓库 本文涉及到的代码已经整理到github仓库中,用cra搭建了一个示例工程,关于性能优化的部分可以打开控制台查看重渲染的情况。 https:// github.com/sl1673495/re act-cart 需求分解 作为一个购物车需求,那么它必然涉及到几个需求点: 1. 勾选、全选与反选。 2. 根据选中项计算总价。 需求实现 获取数据 首先我们请求到购物车数据,这里并不是本文的重点,可以通过自定义请求hook实现,也可以通过普通的useState + useEffect实现。 const getCart = () => { return axios ( '/api/cart' ) } const { // 购物车数据 cartData , // 重新请求数据的方法 refresh } = useRequest < CartResponse > (

你们还在做2D的物体检测吗?谷歌已经开始玩转 3D 了

久未见 提交于 2020-03-23 21:25:57
3 月,跳不动了?>>> 物体检测作为计算机视觉领域最广泛的研究主题之一,虽然2D 物体检测已在工业界得到了比较成熟的应用,然而实现 3D 物体检测目前还困难重重。 一方面是由于现有的3D 数据非常匮乏,另一方面则是因为单个类别下的物体外观和形状本身就非常多样化。 在当前条件下,如何基于现有的 2D 图像数据来做3D 检测呢? 日前,谷歌发布了一个针对日常物体的移动实时 3D 物体检测管道——MediaPipe Objectron。 该管道可以检测2D图像中的物体,然后通过机器学习模型估计物体的姿势和大小,再在谷歌最新开发的3D数据集上对模型进行训练。 其中,MediaPipe 是一个开源跨平台框架,用于构建管道来处理不同模式的感知数据,而Objectron则是在MediaPipe中实现,能够在移动设备中实时计算面向检测物体的3D 边框。 (雷锋网) 单个图像的 3D 物体检测。MediaPipe Objectron在移动设备上实时确定日常对象的位置、方位和大小。 获取现实世界 3D 训练数据 随着依赖于激光雷达等 3D 捕获传感器的自动驾驶汽车研究工作的日益普及,目前已有大量的街道场景 3D 数据,然而针对更细粒度的日常物体的带有真实 3D 标注的数据集极度有限。 为了解决这一问题,谷歌使用移动增强现实会话数据开发了一个新的数据管道。随着ARCore 、ARKit等工具的出现