React中文社区

其他

2023年, 从零开始带你构建自己的 React+ChatGPT全栈聊天应用

,我们组建了高级前端交流群,如果您热爱技术,想一起讨论技术,交流进步,不管是面试题,工作中的问题,难点热点都可以在交流群交流,为了拿到大Offer,邀请您进群,入群就送前端精选100本电子书以及
2023年7月17日
其他

透过现象看本质: 常见的前端架构风格和案例

所谓软件架构风格,是指描述某个特定应用领域中系统组织方式的惯用模式。架构风格定义一个词汇表和一组约束,词汇表中包含一些组件及连接器,约束则指出系统如何将构建和连接器组合起来。软件架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将系统中的各个模块和子系统有机的结合为一个完整的系统没多少人能记住上面的定义,需要注意的是本文不是专业讨论系统架构的文章,笔者也还没到那个水平.
2022年5月11日
其他

面试官: Async是如何被JavaScript实现的

最终延伸到它们的实现原理。其实文章中的很多代码都是精简的实现版本,如果对哪个步骤阅读完文章还存在疑惑的话你也可以在评论区留下你的见解我们共同探讨,或者你可以去查看每个章节末尾对应的源码地址。最后,
2022年5月10日
其他

面试官: 说一下前端组件设计的原则

举例说明。但是组件设计的思想是通用的。及时模块化我们在实际进行组件抽离工作的时候,需要考虑到不要过度的组件化,诚然将大块代码变成松散耦合且可用的部分是很好的实践,但是并不是所有的页面结构(HTML
2022年5月6日
其他

微服务/API前端开发时代之 BFF 速学入门教程

当用户打开页面时,页面展示白屏,通过AJAX请求后端服务加载数据后构建DOM,展示页面。同时,对于爬虫来说,获取的内容也仅仅是模版文件的内容。解决在BFF中间层中,我们可以用SSR(服务端渲染)
2022年4月27日
其他

前端需要了解的计算机网络知识, 这一篇就够了!(图文并茂,万字长文,点赞收藏哦!)

本文主要目的也是为了非科班前端补充计算机科班基础知识,比如你要做node开发,不熟悉数据如何在网络中传输的话,理解很多API会比较疑惑,那接下来,来看看这篇为你精心准备的文章吧😁!这些内容其实比较枯燥,但我采取图文并茂的形式,并且对于不重要的知识会标注,尽量减少阅读的枯燥感。啥也不说了,喝口水,开撸!1、计算机网络概念(简单扫一眼即可)计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。这里需要注意的是,按分布范围,计算机网络里有局域网LAN和广域网WAN,
2022年4月23日
其他

写给前端的 计算机组成原理 "十全大补文"

前端开发人员中,有相当大比例的同学不是科班出来的,所以对于基本的科班必修课,例如:计算机组成原理、操作系统、计算机网络、数据结构和算法等知识接触不多。当你越深入学习,越会发现这些知识的重要性。比如大家都知道js里面0.1
2022年4月22日
其他

React 绝地反杀之万字长文彻底搞懂渲染更新流程

转前端好多年了,平时接触最多的框架就是React。在熟悉了其用法之后,避免不了想深入了解其实现原理,网上相关源码分析的文章挺多的,但是总感觉不如自己阅读理解来得深刻。于是话了几个周末去了解了一下常用的流程。也是通过这篇文章将自己的个人理解分享出来。在具体的源码流程分析之前,根据个人理解,结合网上比较好的文章,先来分析一些概念性的东西。后续再分析具体的流程逻辑。React
2022年4月20日
其他

你不知道的 React v18 的任务调度机制

React的任务调度机制是我早就想要探究但直到现在才基本捋清楚的一个议题。因为想要弄清楚React中任务的调度,需要的前置知识还是蛮多的,首先你要对jsx->vNode->fiber树和hooks的实现有源码级的了解,其次要对scheduler这个独立的包有源码级的了解,然后你才有可能探究React的任务调度。所以从我想了解到基本了解,已经有大概两年多的时间了。期间我读过一些社区关于任务调度的文章,但感觉都比较抽象,缺乏结合实例相关的讲解,导致我虽然理解了一部分,但无法把源码中的逻辑和日常开发中的代码对应上,进而无法深入。因此我试图写一篇更具体易懂的关于React调度的文章。我的叙事逻辑是先说明一些最重要的概念具体指什么,然后在分析一些日常代码的具体调度逻辑时,点出React调度的关键行为,我觉得这样是更好的说明方式。文章以最新的React
2022年4月18日
其他

送给React开发者十九条性能优化建议

console.log(document.documentElement.scrollTop)}window.addEventListener("scroll",
2022年3月16日
其他

全网最全 React16.0-16.8 特性再总结

,字符串React16新增加了render的返回格式,你可以return返回number,boolean,null,portal(Portals提供了一种很好的将子节点渲染到父组件以外的
2022年3月7日
其他

微前端qiankun+docker+nginx配合gitlab-ci/cd的自动化部署的实现

源码[面试必问]-一文掌握JavaScript函数式编程重点[面试必问]-一文读懂React16.0-16.6新特性[面试必问]-阿里,网易,滴滴,头条等20家面试真题[架构分享]-石墨文档
2022年3月5日
其他

石墨文档 Websocket 百万长连接技术实践

连接成功后,服务端下发心跳上报参数;客户端依据以上参数进行心跳包传输,服务端收到心跳后会更新会话时间戳;客户端其他上行数据都会触发对应会话时间戳更新;服务端定时清理超时会话,执行主动关闭流程;通过
2022年3月4日
其他

全网最简单的React Hooks源码解析,看不懂,打我

放在条件语句内执行,并且在update阶段中因为不满足条件而没有执行的话,那么没法正确的重Hooks链表中获取信息。React也会给我们报错。Hooks链表放在哪?好的,现在我们已经了解了React
2022年3月2日
其他

连前端都看得懂的《Nginx 入门指南》

是一样的效果。(跟代购的原理一样)这是一个反向代理最简单的模型,只是为了说明反向代理的配置。但是现实中反向代理多数是用在负载均衡中。示意图如下:nginx
2022年3月1日
其他

金三银四,如何写自己简历才能一鸣惊人?

面试一直是程序员跳槽时期非常热门的话题,现在正值金三银四跳槽的旺季,所以我来讲讲面试官心中想要看到的简历的样子,从面试官的角度去教你写简历。现在看到这篇文章还不晚,抓紧时间准备,一键三连,点赞,收藏,在看,希望这篇文章的内容可以帮助到你。简历准备简历是你进入面试的敲门砖,也是留给意向公司的第一印象,所以这个很重要,必须在这上面做足了文章,一份优秀的面试简历是整个面试成败的重中之重,我们会详细分析如何准备简历才能保证简历不被刷掉。简历通常有这几部分构成:基本资料专业技能工作经历项目经历教育背景我们会逐一进行分析。准备简历模板万事开头难,简历的编写如果从头开始需要浪费很多时间,其实最快速也最聪明的办法就是先找一份还不错的简历模板,之后我们只需要填写信息即可。简历模板的选择很讲究,有些简历基本不看内容就会被刷掉,这些简历一般会对面试官进行视觉攻击,让简历给面试官的第一印象就是反感。有两种坑爹的简历模板:一种是经典简历模板,真是堪称『经典』,这种简历模板在我上小学的时候就有了,以现在的眼光看有点不够看了,配色也比较『魔幻』,加上表格类的简历属于low到底端的简历类型,基本上扫一眼就扔了,这种简历只需要3秒钟就能被面试官扔到垃圾堆。另一种是设计感十足的简历模板,这种简历设计感十足,这五颜六色的配色一定能亮瞎面试官的双眼,这种花里胡哨的简历同样也是3秒钟沉到垃圾堆底部的简历。以上两类简历模板堪称面试官杀手,我相信只要你用了上述两类模板,绝对连让面试官看第二眼的兴趣都没有。面试官筛简历要的是高效、清晰、内容突出,不管是HR还是技术面试官都想在最快速的情况下看到有效信息,你眼中所谓的『视觉效果』在别人眼里就是『视觉噪音』或者『视觉垃圾』,严重影响看简历的心情和寻找有效信息的速度。其实我发现不仅仅是在互联网技术招聘这个领域,大部分企业招聘的简历要求都很简单,清晰、简洁即可,最重要的是要内容清晰,突出主题。就像这样,颜色不超过黑白灰三色,把强调的内容讲清楚,让面试官一眼就看到重点即可:准备个人信息个人信息部分主要包括姓名、电话、点子邮箱、求职意向,当然这四个是必填的,其它的都是选填,填好了是加分项,否则很可能减分。接下来才是重点:github:如果准备一个基本没有更新的博客或者没有任何贡献的github,那么给面试官一种为了放上去而放上去的感觉,这基本上就是在跟面试官说『这个候选人平时根本没有总结提炼的习惯』,所以如果有长期维护的github或者博客一定要放上去,质量好的话会非常有用,如果没有千万别放。学历:如果你的学历是专科、高中毕业之类的,还写在简历头部强调一遍,这就造成了你是『学渣』的印象,没有公司喜欢学渣的,这又增加了简历被刷的几率,如果是研究生以上学历可以写,突出一下学历优势,本科学历在技术面试领域基本上敲门砖级别的,没必要写。年龄:如果你是大龄程序员,尤其是你还在求一份低端岗位的时候千万别写,一个大龄程序员在求职一个中低端岗位,说明这些年基本原地踏步,还不能加班,到这里基本上此简历就凉了一半了。照片:形象优秀的可以贴,尤其是形象优秀的女程序媛,其它的最好不要贴,如果要贴的话,最好是贴那种PS过的非常职业的证件照,那种平时搞怪的、光着膀子的生活照,基本就是自杀行为。如果你没有特别之处,直接按下面这种最简单的个人信息填写方式即可,切勿给自己加戏:准备专业技能对于程序员的专业技能其实就是技术栈,对于自己的技术栈如何描述是个很难的问题,比如什么算是精通?什么算是了解?什么是熟悉?关于对技术技能的描述有很多种,有五种的也有三种的,而且每个人对词汇的理解都不一样,我结合相关专家的理解和自己的理解来简单阐述下描述词汇的区别,我们这里只讲三种的了解、熟悉、精通。了解:使用过某一项技术,能在别人指导下完成工作,但不能胜任复杂工作,也不能独立解决问题。熟悉:大量运用过的某一项技术,能独立完成工作,且能独立完成有一定复杂度的工作,在技术的应用层面不会有太大问题,甚至理解一点原理。精通:不仅可以运用某一门技术完成复杂项目,而且理解这项技术背后的原理,可以对此技术进行二次开发,甚至本身就是技术源码的贡献者。我们就以Vue这个框架为例,如果你可以用vue写一些简单的页面,单独完成某几个页面的开发,但是无法脱离公司脚手架工作,也无法独立从0完成一个有一定复杂度的项目,只能称之为了解。如果你有大量运用vue的经验,有从0独立完成一定复杂度项目的能力,可以完全脱离脚手架进行开发,且对vue的原理有一定的了解,可以称之为熟悉。如果你用vue完成过复杂度很高的项目,而且非常熟悉vue的原理,是vue源码的主要贡献者,亦或者根据vue源码进行过魔改(比如mpvue),你可以称得上精通。那么有两个坑是候选人经常犯的,『杂』和『精』,这种两个坑大量集中在应届生和刚毕业每两年的新手身上,其主要特点是『急于表现自我』、『对技术深度与广度出现无知而导致的过度自信』。首先说说杂,比如你要应聘一个Java后端,老老实实把自己的java技术栈写好就行了,强调一下自己擅长什么即可,最好专精某领域比如『高并发』、『高可用』等等,这个时候一些简历非要给自己加戏,自己会的不会的一股脑往上堆,什么逆向、密码学、图形、驱动、AI都要体现出来,越杂越好,这种简历给人的印象就是个什么都不懂的半吊子。再说说精,一个刚毕业的应届生,出来简历就各种精通,精通Java、精通Java虚拟机、精通spring全家桶、精通kafka等等,请放心,这种简历是不会没头没脑投过来了,这种在大学里就精通各种的天才早被他的各种学长介绍进了大厂或者外企做某某Star重点培养了,往往看到的这种也是半吊子。再给大家一个技术栈模板:这样写的后果就在于让面试官一眼就看出你是个吹牛的半吊子,那些各种精通的全才在业界早就出名了,根本不可能还在投简历。准备工作经历工作经历本身不用花太多笔墨去写,面试官主要想看的就是每段工作经历的持续时间、在不同公司担任的职责如何、是否有大厂的工作经验等等。那么什么简历在这里给面试官减分呢?频繁跳槽:比如三年换了四家公司,每个公司呆的时长不要超过一年常年初级岗:比如工作五六年之后依然在完成一些简单的项目开发末流公司经历:在技术招聘届,大厂的优先级最高比如BAT、TMD甚至微软、谷歌等外企,知名度独角兽其次,比如商汤、旷视等等,一般的互联网公司排在第三,就是工作中小型的互联网公司一般大家叫不上名字,排在最后的就是外包和传统企业的经历所以,如果你有频繁跳槽的经历怎么办?在本公司老老实实等到满一年再跳槽。如果常年初级岗怎么办?想办法晋升或者参与一些业界知名项目,再或者写一个有一定复杂度的私人项目。如果有末流公司经历怎么办?如果是很久以前的末流公司经验可以直接不写,也没人在乎你很早之前的工作经历,如果你现在就在末流公司,赶紧想办法跳槽,去不了大厂,去非知名的互联网公司也算是胜利大逃亡了。不建议任何形式的简历造假,如果去一些大厂,分分钟背调出来,与其简历造假,不如现在就行动起来,比如从现在到年底跳槽季,深度参与一个知名开源项目或者做一个有一定复杂度的私人项目绰绰有余,除非996.准备项目经历项目经历不管对于社招还是校招都是重中之重,很多时候成败就在于项目经历这块,一个普通本科可以通过优秀的项目经历逆袭985,一个小厂的员工也可以获得大厂的面试机会。但是必须要说一下项目经历的编写很讲究,这是为后面面试部分铺路的绝佳机会,也是直接让你的简历扑街的重点沦陷区域。先说容易让简历扑街的几个坑位。切忌流水账写法项目经历流水账写法是绝大多数简历的通病,通篇下来就讲了一件事『我干了啥』。大部分简历却是这样的:用Vue、Vuex、Vue-router、axios等技术开发电商网站的前端部分,主要负责首页、店铺详情、商品详情、商品列表、订单详情、订单中心等相关页面的开发工作,与设计师与后端配合,可要高度还原设计稿。这个描述有什么问题?其实看似也没啥问题,但是这种流水账写法太多了,完全无法突出自己的优势展现自己的能力。项目经历是考察重点,面试官想知道候选人在一次项目经历中扮演的角色、负责的模块、碰到的问题、解决的思路、达成的效果以及最后的总结与沉淀。而上面的描述只显示了『我干了啥』,所以这种项目描述几乎是没意义的,因为对于面试官而言他看不到有效信息,没有有效信息的项目描述基本就没价值了,如果这个时候你还没有大厂经历或者名校背书,基本上也就凉了。切忌堆积项目堆积项目这种现象往往出现在没有什么优秀项目经历的简历身上,候选人企图以数量优势掩盖质量的劣势,其实往往适得其反,项目经历的一栏最好放2-3个项目,非常优秀的项目可能放一个就足够了,举个极端例子如果有一天尤雨溪写简历,其实只需要在项目经历那些一行『Vue.js作者』就行了,当然,他并不需要投简历。有一些项目切忌放上去:demo级项目:很多简历居然还在放一些仿xx官网的demo,这是十足的减分项,有一些则是东拼西凑抄了一些框架的源码搞了个玩具项目,也没有任何价值。烂大街的项目:这种以vue技术栈的为最,由于视频网站的某门课程流行,导致大量的仿饿了么、仿qq音乐、仿美团、仿去哪儿,同样Java的同学也是仿电商网站、仿大众点评等等,十份简历5份一模一样的项目,你是面试官会怎么想。低质量的开源项目:一个大原则就是低star的尽量别放(除非是高质量代码的冷门项目),长期弃坑的也不要放,不要为了凑数量把低质量的项目暴露出来,好好藏着。如果只放两个项目,最好的搭配是一个公司内部挑大梁的项目和一个社区内的开源项目,后者之所以可以占据一席之地,是因为通过你的开源项目,面试官可以通过commit完整看到你的创造过程,比如工程化建设、commit规范、代码规范、协作方式、代码能力、沟通能力等等,这甚至比面试都有用,没有比开源项目更能展示你综合素质的东西了。切忌放虚假项目一个项目做没做过只要是有经验的面试官一问便知,如果你真的靠假项目忽悠过了面试,那这个公司八成也有问题,人才把关不过硬,你可以想象你的队友都是什么水平,在这种公司大成长价值也不大。好,如果你说实在没项目可写了,我只能造假了,那么你应该想一下这多层追问。比如你说你优化了一个前端项目的首屏性能,降低了白屏时间,那么面试官对这个性能优化问题会进行深挖,来考察候选人的实际水平:你的性能优化指标是怎么确定的?平均下来时间减短了多少?你的性能是如何测试的?有两种主流的性能测试方法你是怎么选的?你是根据哪些指标进行针对性优化的?除了你说的这些优化方法还有没有想过通过xx来解决?你的这个优化方法在实际操作中碰到过什么问题吗?有没有进一步做过测试?我们假设这么一种情况,比如xxxx,你会这么进行优化?面试官多层追问的逻辑是这样的:了解背景
2022年2月26日
其他

写给前端的 Docker 上手指南

最近公司在推进容器化和k8s,项目都要改成Docker部署。负责的工程里有几个node项目,只能从零开始学习Docker了。基础篇安装Docker支持window,
2022年2月24日
其他

页面可视化搭建工具前生今世

组成.页面可视化搭建工具用于提升各类人员的页面搭建效率.页面可视化搭建其实是前端服务化的方式.页面可视化搭建工具需要平衡自由度和效率.组件和模板是页面可视化搭建框架的核心.全文结束,
2022年2月23日
其他

写给前端的 K8S 上手指南

很好的体现了“容器”的特点——程序就像一个个集装箱,彼此隔离的运行在宿主机上。区别于传统的宿主机部署模式,容器化技术提供了一个隔离环境。程序之间既不会互相影响,也不会影响宿主机的稳定。Docker
2022年2月20日
其他

你不知道的 React Hooks 那些糟心事

)}从上面示例可以看到,当useCallback之前存在依赖关系时,它们的引用维护也变得复杂。调用某个函数时要小心翼翼,你需要考虑它有没有引用过时的问题,如有遗漏又没有将其加入依赖数组,就会产生
2022年2月18日
其他

面试必考之React合成事件原理[视频+源码解析]

为什么要自己实现一套事件机制由于fiber机制的特点,生成一个fiber节点时,它对应的dom节点有可能还未挂载,onClick这样的事件处理函数作为fiber节点的prop,也就不能直接被绑定到真实的DOM节点上。为此,React提供了一种“顶层注册,事件收集,统一触发”的事件机制。所谓“顶层注册”,其实是在root元素上绑定一个统一的事件处理函数。“事件收集”指的是事件触发时(实际上是root上的事件处理函数被执行),构造合成事件对象,按照冒泡或捕获的路径去组件中收集真正的事件处理函数。“统一触发”发生在收集过程之后,对所收集的事件逐一执行,并共享同一个合成事件对象。这里有一个重点是绑定到root上的事件监听并非我们写在组件中的事件处理函数,注意这个区别,下文会提到。以上是React事件机制的简述,这套机制规避了无法将事件直接绑定到DOM节点上的问题,并且能够很好地利用fiber树的层级关系来生成事件执行路径,进而模拟事件捕获和冒泡,另外还带来两个非常重要的特性:对事件进行归类,可以在事件产生的任务上包含不同的优先级提供合成事件对象,抹平浏览器的兼容性差异本文会对事件机制进行详细讲解,贯穿一个事件从注册到被执行的生命周期。事件注册与之前版本不同,React17的事件是注册到root上而非document,这主要是为了渐进升级,避免多版本的React共存的场景中事件系统发生冲突。当我们为一个元素绑定事件时,会这样写:
2022年2月14日
其他

一文彻底搞懂React的调度机制原理

Scheduler作为一个独立的包,可以独自承担起任务调度的职责,你只需要将任务和任务的优先级交给它,它就可以帮你管理任务,安排任务的执行。这就是React和Scheduler配合工作的模式。对于多个任务,它会先执行优先级高的。对于单个任务,它会有节制地去执行。换句话说,线程只有一个,它不会一直占用着线程去执行任务。而是执行一会,中断一下,如此往复。用这样的模式,来避免一直占用有限的资源执行耗时较长的任务,解决用户操作时页面卡顿的问题,实现更快的响应。我们可以从中梳理出Scheduler中两个重要的行为:多个任务的管理、单个任务的执行控制。基本概念为了实现上述的两个行为,它引入两个概念:任务优先级
2022年2月10日
其他

你不知道的React 18 新特性

18默认情况下(为了向前兼容),所有的更新都会认为是紧急更新。而startTransition提供api给用户来手动将某些更新标记为非紧急更新,从而避免浪费时间去渲染不必要的内容。如下面的例子://
2022年2月9日
其他

一文掌握GO语言实战技能(二)

数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。
2020年5月17日
其他

一文掌握GO语言实战技能(一) - 万字长文

now.Year()...)获取当前时间戳,time.Now().Unix()。时间戳转Time类型。time.Duration用来表示纳秒一些常量a.
2020年5月15日
其他

一文达到Mysql实战水平-习题答案

表的关系题目答案表的关系题目1、自行创建测试数据2、查询“生物”课程比“物理”课程成绩高的所有学生的学号;3、查询平均成绩大于60分的同学的学号和平均成绩;4、查询所有同学的学号、姓名、选课数、总成绩;5、查询姓“李”的老师的个数;6、查询没学过“叶平”老师课的同学的学号、姓名;7、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;8、查询学过“叶平”老师所教的所有课的同学的学号、姓名;9、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;10、查询有课程成绩小于60分的同学的学号、姓名;11、查询没有学全所有课的同学的学号、姓名;12、查询至少有一门课与学号为“001”的同学所学相同的同学的学号和姓名;13、查询至少学过学号为“001”同学所选课程中任意一门课的其他同学学号和姓名;14、查询和“002”号的同学学习的课程完全相同的其他同学学号和姓名;15、删除学习“叶平”老师课的SC表记录;16、向SC表中插入一些记录,这些记录要求符合以下条件:①没有上过编号“002”课程的同学学号;②插入“002”号课程的平均成绩;17、按平均成绩从低到高显示所有学生的“语文”、“数学”、“英语”三门的课程成绩,按如下形式显示:学生ID,语文,数学,英语,有效课程数,有效平均分;18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分;19、按各科平均成绩从低到高和及格率的百分数从高到低顺序;20、课程平均分从高到低显示(现实任课老师);21、查询各科成绩前三名的记录:(不考虑成绩并列情况)22、查询每门课程被选修的学生数;23、查询出只选修了一门课程的全部学生的学号和姓名;24、查询男生、女生的人数;25、查询姓“张”的学生名单;26、查询同名同姓学生名单,并统计同名人数;27、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列;28、查询平均成绩大于85的所有学生的学号、姓名和平均成绩;29、查询课程名称为“数学”,且分数低于60的学生姓名和分数;30、查询课程编号为003且课程成绩在80分以上的学生的学号和姓名;31、求选了课程的学生人数32、查询选修“杨艳”老师所授课程的学生中,成绩最高的学生姓名及其成绩;33、查询各个课程及相应的选修人数;34、查询不同课程但成绩相同的学生的学号、课程号、学生成绩;35、查询每门课程成绩最好的前两名;36、检索至少选修两门课程的学生学号;37、查询全部学生都选修的课程的课程号和课程名;38、查询没学过“叶平”老师讲授的任一门课程的学生姓名;39、查询两门以上不及格课程的同学的学号及其平均成绩;40、检索“004”课程分数小于60,按分数降序排列的同学学号;41、删除“002”同学的“001”课程的成绩;答案2、查询“生物”课程比“物理”课程成绩高的所有学生的学号;思路:获取所有有生物课程的人(学号,成绩)
2020年5月14日
其他

一文达到Mysql实战水平

varchars数据类型用于变长的字符串,可以包含最多达255个字符。其中m代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。
2020年5月13日
其他

一文掌握Linux实战技能-系统管理篇

screen创建会话:最简单的就是直接输入screen回车,一个新会话就完成了(debian下会有提示,再按一次回车就可以了),但偶还是推荐用下面的命令来创建会话:screen
2020年5月12日
其他

一文掌握linux实战技能-系统操作篇

进行区分:对于内部还是外部命令使用help是不同的方式:内部命令使用help帮助:
2020年5月11日
其他

一文深度剖析Axios源码

若config没有配置adapter使用的是defaults的adapter,我们首先看下defaults中的adapter函数,稍后会详细介绍defaults源码,function
2019年12月11日
其他

一文掌握Webpack编译流程

本文概要Webpack事件流机制Webpack流程概览Webpack流程图示Webpack流程详解Webpack执行流程源码分析Webpack事件流机制Webpack是基于事件流的插件集合,它的工作流程就是将各个插件串联起来,而实现这一切的核心就是Tapable,Tapable是一个类似Node.js的EventEmitter的库,主要是控制钩子函数的发布与订阅,控制着webpack的插件系统。Webpack中最核心的负责编译的Compiler和负责创建的捆绑包的Compilation都是Tapable实例。Tapable库暴露很多Hook类,为插件提供挂载的钩子。const
2019年11月25日
其他

你不知道的 React Diff

节点后面的现象。在此,读者们可以讨论思考:如何优化上述问题?建议:在开发过程中,尽量减少类似将最后一个节点移动到列表首部的操作,当节点数量过大或更新操作过于频繁时,在一定程度上会影响
2019年11月15日
其他

Javascript条件逻辑设计重构

3:以卫语句替代嵌套条件表达式条件表达式通常有两种风格,一种是两个条件分支都属于正常行为,第二种风格是只有一个分支是属于正常行为,另一个分支则是异常行为。如果两个分支都属于正常行为,就应该使用例如
2019年11月14日
其他

实战LeetCode - 前端面试必备二叉树算法

后序遍历查找二叉树最小值查找二叉树最大值删除二叉树最小值删除二叉树最大值判断二叉树是否存在某值求二叉树节点个数求二叉树层级求二叉树第
2019年10月31日
其他

实战LeetCode 系列(一) (题目+解析)

利用替换删除字符思路:循环第一个字符串,将第二个字符串中替换当前字符为空,即,如果当前字符在第二个字符串中存在,则删除,不存在,则什么也不干循环结束后,如果第二个字符串中还有字符,则不是异位词,返回
2019年10月23日
其他

你不知道的GIT 神操作

文件名后面+和-的数量是这个提交造成的更改中增删的相对比例。它给你一个直观的感觉,关于这次提交有多少改动。如果你想知道每次提交删改的绝对数量,你可以将-p选项传入git
2019年10月15日
其他

RxJS 入门

操作符就好了。推荐阅读(点击标题可跳转阅读)Promise知识点自测程序中代码坏味道(上)程序中代码坏味道(下)学习Less,看这篇就够了从表单抽象到表单中台vue源码分析(1)-
2019年10月11日
其他

一文读懂 React16.0-16.6 新特性(实践 思考)

,字符串React16新增加了render的返回格式,你可以return返回number,boolean,null,portal(Portals提供了一种很好的将子节点渲染到父组件以外的
2019年9月24日
其他

程序中的代码坏味道(下)

良药与毒药的区别在于剂量,当你感觉到代码中右一些坏味道,开始腐烂,但是你却并不知道到底哪里出了问题,何时去拯救?实现业务代码很容易,写好代码比较难坏味道十:
2019年9月18日
其他

程序中的代码坏味道(上)

如果可变数据的值能在其他地方计算出来,这就是一个特别刺鼻的坏味道。它不仅会造成困扰、bug和加班,而且毫无必要。消除这种坏味道的办法很简单,使用以查询取代派生变量即可。
2019年9月16日
其他

从表单抽象到表单中台

从表单抽象到表单中台相信前端开发的同学,对表单其实并不陌生,而且时至今日,表单应用的编写因为React、Vue等框架的出现,也变得更加地便捷了。在前端工作中,有着很多中后台应用-表单的开发工作量,笔者自己深陷其中,所以为了让头发别掉得太快,重新去理解了表单这个东西,从而重新去思考和设计表单的开发模式,提升效率。理解表单其实大家都知道表单是什么,但大多数人对它应该没有一个明确地认识,至少我之前是没有的。基础表单
2019年9月5日
其他

学习Less,看这篇就够了

#fontcolor,如果加类选择器或者id选择器前缀,调用时候就直接是@{prefixClass}。大括号括起来选择器是变量。.status(@name;@prefixClass)
2019年9月4日
其他

30分钟学会 snabbdom 源码,实现精简的 Virtual DOM 库

}}阿里、网易、滴滴、今日头条、有赞.....等20家面试真题关注公众号加微信获取.....推荐阅读(点击标题可跳转阅读)
2019年9月3日
其他

阿里、网易、滴滴、今日头条、有赞.....等20家面试真题【保真】

Componentpromise里面和then里面执行有什么区别介绍pureComponet介绍class和ES5的类以及区别React数据流props和state的区别介绍react
2019年8月31日
其他

一文掌握JavaScript函数式编程重点-- 实践 总结

好记性不如烂笔头,有时间将JS函数式编程,在JS方面毕竟有限,如果真要学习好函数式编程,建议学习下Haskell,本文就是将关于JS方面知识点尽可能总结全面。柯里化偏应用组合与管道函子Monad1.
2019年8月29日
其他

面试分享:2019阿里巴巴前端面试总结(题目+答案)

使用js实现一个持续的动画效果最开始的思路是用定时器实现,最后没有想的太完整,面试官给出的答案是用requestAnimationFrame。定时器思路var
2019年8月28日
其他

Promise知识点自测

console.log('setImmediate')})console.log('end')运行结果:endnextTickthensetImmediate解释:process.nextTick
2019年8月27日
其他

002期 - Vue源码解析(2)-$mount实现

上一节,我们讲到了在创建一个vu实例时候,vue的构造函数会执行this._init()函数,然后启动函数的最后会执行_init方法里面执行vm.$mount(vm.$options.el),将实例挂载在dom上,至此启动函数结束。可以看出vue.$mount为vue
2019年2月21日
其他

vue源码分析(1)- new Vue

key)会将_data作为sourceKey传入,这就是我们可以使用this.message可以访问到this._data.message。
2019年2月19日