注册
环信即时通讯云

环信即时通讯云

单聊、群聊、聊天室...
环信开发文档

环信开发文档

Demo体验

Demo体验

场景Demo,开箱即用
RTE开发者社区

RTE开发者社区

汇聚音视频领域技术干货,分享行业资讯
技术讨论区

技术讨论区

技术交流、答疑
资源下载

资源下载

收集了海量宝藏开发资源
iOS Library

iOS Library

不需要辛辛苦苦的去找轮子, 这里都有
Android Library

Android Library

不需要辛辛苦苦的去找轮子, 这里都有
0
评论

我阅读源码的五步速读法 前端面试

马师傅 发表了文章 • 1520 次浏览 • 2021-10-28 22:16 • 来自相关话题

阅读代码是程序员最重要的技能之一,我们每天都在读同事的代码或者第三方库的代码,那怎么高效的阅读代码呢?分享下我的源码阅读方法。 我的阅读源码的方法分为五步: 第一步,通过文档和测试用例了解代码的功能 阅读源码前要先了解代码的功能,可以通过文档或者测试用例,了解... ...查看全部
0
评论

复杂web动画,不慌,选择 web Animations API 前端面试 动画 CSS3

马师傅 发表了文章 • 1713 次浏览 • 2021-10-28 22:15 • 来自相关话题

说动前端动画,我们熟知的有两种 CSS 动画 (requestAnimation/setTimeout/setInterval + 属性改变) 动画 当然有人可能会说canvas动画,从运动本质了还是第二种。 今天说的是第三种 Web Animations... ...查看全部
2
回复

请问下发送单聊文本卡在了send报错,一模一样的代码放在demo里面就没问题了,是怎么回事 环信_WebIM WebIM API

imaGeeker 回复了问题 • 2 人关注 • 1700 次浏览 • 2021-10-28 13:44 • 来自相关话题

0
评论

小程序原理 及 优化 性能优化 微信小程序

马师傅 发表了文章 • 2566 次浏览 • 2021-10-27 21:07 • 来自相关话题

小程序使用的是双线程 在这种架构中,视图层使用 WebView 作为渲染载体,而逻辑层是由独立的 JavascriptCore 作为运行环境 > 两者都是独立的模块,并不具备数据直接共享的通道。视图层和逻辑层的数据传输,要由 Native 的 JS... ...查看全部
0
评论

Vue 开发规范(下) vue 前端面试

马师傅 发表了文章 • 1386 次浏览 • 2021-10-27 21:03 • 来自相关话题

提供组件 API 文档 使用 Vue.js 组件的过程中会创建 Vue 组件实例,这个实例是通过自定义属性配置的。为了便于其他开发者使用该组件,对于这些自定义属性即组件API应该在 README.md 文件中进行说明。 为什么?良好的文档可以让开发者比较容易的... ...查看全部
0
评论

Vue 开发规范(中) vue 前端面试

马师傅 发表了文章 • 1435 次浏览 • 2021-10-27 21:00 • 来自相关话题

上一篇:https://www.imgeek.org/article/825358938将 this 赋值给 component 变量 在 Vue.js 组件上下文中,this指向了组件实例。因此当你切换到了不同的上下文时,要确保 this 指向一个可用的 c... ...查看全部
0
评论

Vue 开发规范(上) 性能优化 vue

马师傅 发表了文章 • 1676 次浏览 • 2021-10-27 20:56 • 来自相关话题

基于模块开发 始终基于模块的方式来构建你的 app,每一个子模块只做一件事情。 Vue.js 的设计初衷就是帮助开发者更好的开发界面模块。一个模块是应用程序中独立的一个部分。 怎么做? 每一个 Vue 组件(等同于模块)首先必须专注于解决一个单一的问题,独立的... ...查看全部
0
评论

带你理解scoped、>>>、/deep/、::v-deep的原理 vue 前端面试

马师傅 发表了文章 • 4557 次浏览 • 2021-10-27 20:54 • 来自相关话题

前言 平时开发项目我们在使用第三方插件时,必须使用element-ui的某些组件需要修改样式时,老是需要加上/deep/深度选择器,以前只是知道这样用,但是还不清楚他的原理。还有平时每个组件的样式都会加上scoped,但是也不知道他具体的原理。今天我就带大家理... ...查看全部
0
评论

手摸手教你用webpack搭建TS开发环境 webpack

马师傅 发表了文章 • 1449 次浏览 • 2021-10-24 23:08 • 来自相关话题

前言 最近在学习typescript,也就是我们常说的TS,它是JS的超集。具体介绍就不多说了,今天主要是带大家用webpack从零搭建一个TS开发环境。直接用传统的tsc xx.ts文件进行编译的话太繁琐,不利于我们开发,经过这次手动配置,我们也能知道vue... ...查看全部
0
评论

用 JS 写算法时你应该知道的——数组不能当队列使用!! Javascript

马师傅 发表了文章 • 1551 次浏览 • 2021-10-24 22:58 • 来自相关话题

在初学 JS 时,发现数组拥有 shift()、unshift()、pop()、push() 这一系列方法,而不像 Java 或 CPP 中分别引用队列、栈等数据结构,还曾偷偷窃喜。现在想想,这都是以高昂的复杂度作为代价的QAQ。 举个例子 - BFS 一般队... ...查看全部
0
评论

如何“优雅”地修改 node_modules 下的代码? 性能优化

马师傅 发表了文章 • 1692 次浏览 • 2021-10-24 22:54 • 来自相关话题

在实际开发过程中当我们遇到 node_modules 中的 A 包有 bug 时候,通常开发者有几个选择: 方法一:给 A 包提 issue 等待他人修复并发布:做好石沉大海或修复周期很长的准备。 方法二:给 A 包提 mr 自行修复并等待发布:很棒,不过你最... ...查看全部
0
评论

封装一个底部导航 插件化

马师傅 发表了文章 • 1513 次浏览 • 2021-10-24 22:47 • 来自相关话题

前言 在我们日常项目开发中,我们在做移动端的时候会涉及到地步导航功能,所以封装了这个底部导航组件。 底部导航 BottomNav组件属性 1. value选中值(即选中BottomNavPane的name值)值为字符串类型非必填默认为第一个BottomNavP... ...查看全部
0
评论

你知道为何跨域中会发送 options 请求? 前端面试

马师傅 发表了文章 • 2438 次浏览 • 2021-10-21 23:37 • 来自相关话题

同源策略 同源策略是一个重要的安全策略,它用于限制一个 origin 的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。 简单说,当我们访问一个网站时,浏览器会对源地址的不同部分(协议://域名:端口)做检查... ...查看全部
0
评论

移动端常见问题汇总,拿来吧你! 插件化 前端面试

马师傅 发表了文章 • 1343 次浏览 • 2021-10-21 23:34 • 来自相关话题

1px适配方案 某些时候,设计人员希望 1px在手机显示的就是1px,这也是....闲的,但是我们也要满足他们的需求, 这时候我们可以利用缩放来达到目的 .border_1px:before{    content: '';  ... ...查看全部
0
评论

你真的了解border-radius吗? CSS3

马师傅 发表了文章 • 1767 次浏览 • 2021-10-21 23:31 • 来自相关话题

水平半径和垂直半径 现在很多人都不知道我们平常使用的圆角值是一种缩写,例如我们平常写的top圆角10px就是一种缩写: border-top-left-radius:10px; 等同于 border-top-left-radius:10px 10px; 其中... ...查看全部
0
评论

写给vue转react的同志们(5) react vue

马师傅 发表了文章 • 1789 次浏览 • 2021-10-21 23:26 • 来自相关话题

写给vue转react的同志们(4)我们知道 React 中使用高阶组件(下面简称HOC)来复用一些组件的逻辑。HOC 自身不是 React API 的一部分,它是一种基于 React 的组合特性而形成的设计模式。具体而言,高阶组件是参数为组件,返回值为新组件... ...查看全部
0
评论

写给vue转react的同志们(4) react vue

马师傅 发表了文章 • 1926 次浏览 • 2021-10-19 22:56 • 来自相关话题

下一篇应各位老爷要求,这篇文章开始拥抱hooks,本文将从vue3与react 17.x(hooks)对比来感受两大框架的同工异曲之处。 今天的主题:vue3与react 定义与修改数据vue3与react 计算属性vue3与react 实现监听 vue3与r... ...查看全部
0
评论

写给vue转react的同志们(3) 前端面试 react vue

马师傅 发表了文章 • 1781 次浏览 • 2021-10-19 22:54 • 来自相关话题

下一篇我们都知道vue上手比较容易是因为他的三标签写法以及对指令的封装,他更像一个做好的包子你直接吃。 相比react他的纯js写法,相对来说自由度更高,这也意味着很多东西你需要自己手动封装,所以对新手没那么友好,所以他更像面粉,但可以制作更多花样的食物。 今... ...查看全部
0
评论

写给vue转react的同志们(2) react vue

马师傅 发表了文章 • 1433 次浏览 • 2021-10-19 22:51 • 来自相关话题

下一篇react中想实现类似vue中的插槽 首先,我个人感觉jsx的写法比模板写法要灵活些,虽然没有像vue那样有指令,这就是为啥vue会上手简单点,因为他就像教科书一样教你怎么使用,而react纯靠你手写表达式来实现。 如果你想实现类似插槽的功能,其实大部分... ...查看全部
0
评论

写给vue转react的同志们(1) react vue 前端面试

马师傅 发表了文章 • 1700 次浏览 • 2021-10-19 22:49 • 来自相关话题

学习一个框架最好的办法就是从业务做起。首先我们要弄清做业务需要什么知识点去支持 今天的主题:react 是怎么样传输数据的react 怎么封装组件react 的生命周期 实际上vue熟练的同学们,我觉得转react还是比较好上手的,就是要适应他的纯js的写法以... ...查看全部
0
评论

手把手教你利用XSS攻击 性能优化

马师傅 发表了文章 • 2024 次浏览 • 2021-10-18 23:07 • 来自相关话题

前两天我收到安全部门的一个通知:高风险XSS攻击漏洞。 我们部门首先确定风险来源,并给出了解决方案。前端部分由我解决,并紧急修复上线。 一:那么什么是XSS攻击呢? 人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但... ...查看全部
0
评论

产品经理又开始为难我了???我。。。。 性能优化 插件化

马师傅 发表了文章 • 1626 次浏览 • 2021-10-18 23:02 • 来自相关话题

最近做项目的时候,就是产品经理给的图总是很大,不压缩。每天要处理这些图片真的很累哇。于是一怒之下写下了这个**「vscode 插件」。「插件核心功能是压缩,然后上传图片」。 压缩的网站其实就是「tinypng」** 这个网站然后图片压缩后,然后再上传到cdn上... ...查看全部
0
评论

TypeScript 想更深入一层?我推荐自定义 transformer 的 compiler api typescript 前端面试

马师傅 发表了文章 • 2020 次浏览 • 2021-10-18 22:54 • 来自相关话题

现在 JS 的很多库都用 typescript 写了,面试也几乎必问 typescript,可能你对 ts 的各种语法和内置高级类型都挺熟悉了,对 ts 的配置、命令行的使用也没啥问题,但总感觉对 ts 的理解没那么深,苦于没有很好的继续提升的方式。这时候我推... ...查看全部
0
评论

JavaScript之彻底理解EventLoop Javascript 前端面试

马师傅 发表了文章 • 1386 次浏览 • 2021-10-18 22:51 • 来自相关话题

在正式学习Event Loop之前,先需要解决几个问题:什么是同步与异步?JavaScript是一门单线程语言,那如何实现异步?同步任务和异步任务的执行顺序如何?异步任务是否存在优先级? 同步与异步 计算机领域中的同步与异步和我们现实社会的同步和异步正好相反。... ...查看全部
0
评论

优雅的使用注释 性能优化 前端面试

马师傅 发表了文章 • 1613 次浏览 • 2021-10-14 22:52 • 来自相关话题

代码千万行,注释第一行。 代码不规范,同事泪两行。 前言 注释相信小伙伴们都不陌生,但是就是这个小小的注释就像项目文档一样让许多小伙伴又爱又恨。不喜欢写注释,又讨厌别人不写注释。在此我们将讨论 JavaScript 和 CSS 的注释,希望通过这篇文章,让你... ...查看全部
0
评论

技术总结 | 前端萌新现在上车Docker,还来得及么? 前端面试 Docker

马师傅 发表了文章 • 2762 次浏览 • 2021-10-14 22:48 • 来自相关话题

序言 作为一名爱学习的前端攻城狮,在当下疯狂内卷的大环境🐱, 不卷一卷Docker是不是有点说不过去,再加上现在我司前端部署项目大部分都是Docker,所以现在赶紧上车, 跟着Up主来look look,欢迎有big old指正 Q:你能说一下你怎么看待Do... ...查看全部
0
评论

实现无感刷新token,我是这样做的 性能优化 前端面试

马师傅 发表了文章 • 1656 次浏览 • 2021-10-14 22:43 • 来自相关话题

前言 最近在做需求的时候,涉及到登录token,产品提出一个问题:能不能让token过期时间长一点,我频繁的要去登录。 前端:后端,你能不能把token 过期时间设置的长一点。 后端:可以,但是那样做不安全,你可以用更好的方法。 前端:什么方法? 后端:给你... ...查看全部
0
评论

JavaScript之彻底理解原型与原型链 Javascript 前端面试

马师傅 发表了文章 • 1490 次浏览 • 2021-10-13 21:18 • 来自相关话题

前言 原型与原型链知识历来都是面试中考察的重点,说难不算太难,但要完全理解还是得下一定的功夫。先来看一道面试题开开胃口吧: function User() {} User.prototype.sayHello = function() {} var u1 = ... ...查看全部
0
评论

18 个杀手级 JavaScript 单行代码 前端面试 Javascript

马师傅 发表了文章 • 1342 次浏览 • 2021-10-13 21:16 • 来自相关话题

1、复制到剪贴板 使用 navigator.clipboard.writeText 轻松将任何文本复制到剪贴板。 const copyToClipboard = (text) => navigator.clipboard.writeText(text);... ...查看全部
0
评论

抛弃Vue转入React的六个月,我收获了什么? react 前端面试

马师傅 发表了文章 • 4133 次浏览 • 2021-10-13 21:10 • 来自相关话题

对不起,我抛弃了Vue,转入React阵营。不因为其它,就因为在我这边使用React的工资比使用Vue的工资高。 在六月前,我硬背了几百道的React面试题,入职一家使用React的公司,薪资增幅120%; 入职就马上进入开发阶段,完全是从零开始,随着时间的推... ...查看全部
0
评论

转动的CSS“loading”,全都是技巧! CSS3

马师傅 发表了文章 • 1761 次浏览 • 2021-10-13 21:06 • 来自相关话题

loader-1 这应该是最简单的CSS加载了。在圆圈上有一个红色的圆弧,仔细观察会发现,这个圆弧正好是1/4. 实现逻辑: 一个宽高相等容器,设定border为白色。然后给底边bottom设置红色, 当设定border-radius是50%,那他正好可以... ...查看全部
0
评论

有了for循环 为什么还要forEach? Javascript

马师傅 发表了文章 • 1533 次浏览 • 2021-10-12 23:50 • 来自相关话题

js中那么多循环,for for...in for...of forEach,有些循环感觉上是大同小异今天我们讨论下for循环和forEach的差异。 我们从几个维度展开讨论:for循环和forEach的本质区别。for循环和forEach的语法区别。for循... ...查看全部
0
评论

如何在你的项目中使用新的ES规范 Javascript

马师傅 发表了文章 • 1506 次浏览 • 2021-10-12 23:47 • 来自相关话题

JavaScript 和 ECMAScript 的关系 JavaScript 是一种高级的、编译型的编程语言。而 ECMAScript 是一种规范。 JavaScript 是基于 ECMAScript 规范的脚本语言。ECMAScript(以下简称 ES)在 ... ...查看全部
0
评论

Vue 3 凉凉了吗 - 10 个灵魂拷问 vue

马师傅 发表了文章 • 3161 次浏览 • 2021-10-12 23:45 • 来自相关话题

很多人问我,现在可以用 Vue 3 了吗,Vue 2升级成本高吗,我想借着早早聊的场子把大家经常问的问题,跟大家谈一谈我的看法,我会尽量公平公正,客观正向,但尽然是看法,难免会有一些有争议的地方,或者不认可的地方,你可以留言。我总结了 10 个问题,期望能帮助... ...查看全部
0
评论

React 中 setState 是一个宏任务还是微任务? react 前端面试

马师傅 发表了文章 • 2029 次浏览 • 2021-10-11 23:15 • 来自相关话题

最近有个朋友面试,面试官问了个奇葩的问题,也就是我写在标题上的这个问题。 能问出这个问题,面试官应该对 React 不是很了解,也是可能是看到面试者简历里面有写过自己熟悉 React,面试官想通过这个问题来判断面试者是不是真的熟悉 React 🤣。 面试官的... ...查看全部
0
评论

正确介绍自己的项目经验 再也不为面试发愁了 前端面试

马师傅 发表了文章 • 2286 次浏览 • 2021-10-11 23:07 • 来自相关话题

在面试时,经过简单寒暄后,面试官一般先从让候选人自我介绍开始,紧接着就是问候选人简历中所列的项目,让介绍下项目经验。常见的问法是,说下你最近的(或感觉不错的)一个项目。面试中很多人忽视对这一个环节的准备,不仅回答不了面试官的追问,甚至连自己的项目都讲不清楚,说... ...查看全部
0
评论

就因为JSON.stringify,我的年终奖差点打水漂了 前端面试 Javascript

马师傅 发表了文章 • 1473 次浏览 • 2021-10-11 23:01 • 来自相关话题

产品同学在诉苦:线上用户不能提交表单了,带来了好多客诉,估计会是p0故障,希望尽快解决。 测试同学在纳闷:这个场景测试和预发环境明明验过的,怎么线上就不行了。 后端同学在讲原因:接口缺少了value字段,导致出错了。 就是木有人说问题怎么解决!!! 就是木有人... ...查看全部
0
评论

通过命令行玩转Git,需要记住那些命令? iOS git提交 Git

马师傅 发表了文章 • 1840 次浏览 • 2021-10-10 23:46 • 来自相关话题

Git 简介 什么是 Git ? Git 是目前世界上最先进的分布式版本控制系统!!!什么?啥意思?不懂,没关系,你只要记住,它很重要,非常重要,程序猿的必备技能即可。 Git 的命令非常非常多,这里强调一下,不要傻傻的去背这些命令,没啥卵用,有些命令可能你这... ...查看全部
0
评论

优雅的命名 性能优化 Javascript

马师傅 发表了文章 • 1367 次浏览 • 2021-10-10 23:34 • 来自相关话题

前言 优秀的代码往往是最通俗易懂的代码,在于它的易于维护。在开发过程中,变量/方法优秀的命名往往有助于理解该变量/方法的用途,起到命名即注释的作用。而糟糕的命名往往会让人摸不着头脑。为了提高代码的可维护性,我们需要更优雅的命名方式。 一、通用规则 1. 有意义... ...查看全部
0
评论

❤️谈谈grid布局(细读必有收获) CSS3 性能优化

马师傅 发表了文章 • 2133 次浏览 • 2021-10-10 23:31 • 来自相关话题

grid布局的理念是把网页划分成一个一个网格组合成不同样式的布局,再通过对网格进行内容填充,组成一个网页。通过一下这个案例了解grid的基本概念👇👇 经典九宫格布局: 🚨关键点🚨: 容器: 需通过display:grid设置为grid容器,容器中包含所有i... ...查看全部
0
评论

构建大型前端业务项目的一点经验 Javascript 性能优化

马师傅 发表了文章 • 1631 次浏览 • 2021-10-10 23:18 • 来自相关话题

目前工作中接手的几个项目都是 B端 PC 项目,业务逻辑都比较复杂,并且代码历史较久,在日常的维护中经常会遇到想摊手的技术问题,发现问题、解决问题、避免再次出现同样的问题,既是项目可持续维护的因素之一,也是个人工作经验积累的一个过程 本文可当做 接手前端新项... ...查看全部
0
评论

npm install之后发生了什么 前端面试 性能优化

马师傅 发表了文章 • 2198 次浏览 • 2021-10-09 23:41 • 来自相关话题

  下载项目后,执行的第一个命令行一般都是 npm install 。在这个过程中可能一帆风顺,也可能遇到大大小小的报错,有时候花点时间各种搜索能解决,可下次遇到还是一头雾水的上网找各种方案尝试解决报错。   那么,你清楚当你输入 npm instal ,按下... ...查看全部
0
评论

进来聊聊!Vue 和 React 大杂烩! vue react

马师傅 发表了文章 • 1706 次浏览 • 2021-10-09 23:38 • 来自相关话题

相信应用层面的知识,大家都比较熟悉了,实际 React 用来实现业务对于熟悉 Vue 的开发人员来说也不是难事,今天我们简单的了解一下 React 和 Vue 。(瞎聊聊) 先来两张源码编译图对比一下: 由于每个步骤能涉及的东西太多,所以本篇就简单聊一下他... ...查看全部
0
评论

前端必学的flip动画思想 前端面试 CSS3

马师傅 发表了文章 • 2387 次浏览 • 2021-10-09 23:34 • 来自相关话题

前言 相信大家在用Vue的时候,一定用过他的transition-group组件。在该组件下方可以看到这么一句话 这个看起来很神奇,内部的实现,Vue 使用了一个叫 FLIP 简单的动画队列,使用 transforms 将元素从之前的位置... ...查看全部
0
评论

什么是 Promise.allSettled() !新手老手都要会? 前端面试 Javascript

马师傅 发表了文章 • 1602 次浏览 • 2021-10-09 23:31 • 来自相关话题

Promise.allSettled() 方法返回一个在所有给定的 promise 都已经 fulfilled 或 rejected 后的 promise,并带有一个对象数组,每个对象表示对应的 promise 结果。 接着,我们来看看 Promise.all... ...查看全部
0
评论

说一说Web端侧AI 前端面试 Javascript

马师傅 发表了文章 • 1554 次浏览 • 2021-10-09 23:25 • 来自相关话题

前言 AI 正在不断拓展前端的技术边界, 算法的加持也为前端研发注入了全新的力量。本文为大家介绍什么是端智能,端智能的应用场景以及 Web 端侧实现 AI 的基本原理概念。 什么是端智能 首先,回顾一个AI应用的开发流程,具体步骤包括了数据的采集与预处理模型的... ...查看全部
0
评论

可恶,又学到了一点 CSS Javascript CSS3

马师傅 发表了文章 • 1321 次浏览 • 2021-10-08 22:57 • 来自相关话题

昨天在做笔记整理的时候,看到一个面试题,如何实现水平垂直居中,虽然心里有一点点数,但是看到好几种答案,还是决定亲自动手验证一番,这验证一开始就出现了小问题,接着就像捅了个马蜂窝一样,各种疑惑扑面而来,而我又想弄清楚,折腾大半天,终于把问题锁定到了 line-h... ...查看全部
0
评论

Vue中 前端实现生成 PDF 并下载 Javascript vue

马师傅 发表了文章 • 1650 次浏览 • 2021-10-08 22:53 • 来自相关话题

思路: 通过 html2canvas 将 HTML 页面转换成图片,然后再通过 jspdf 将图片的 base64 生成为 pdf 文件。 1. 安装及引入 // 将页面 html 转换成图片 npm install html2canvas --save ... ...查看全部
0
评论

你还在为pc端适配而烦恼吗?相信我,看了之后就不烦恼了 Javascript CSS3

马师傅 发表了文章 • 2969 次浏览 • 2021-10-08 22:48 • 来自相关话题

作为一名前端开发者,你有没有遇到过这种头痛的事情。每次开发pc端的网页时,不管是官网还是管理后台,UI设计师都是按照1920*1080(16:9)的比例来给你提供设计稿的,导致你画页面的时候。会出现两种情况。第一种按照设计师提供的设计稿比例画页面的话,导致在不... ...查看全部
0
评论

你会用ES6,那倒是用啊! Javascript

马师傅 发表了文章 • 1432 次浏览 • 2021-10-08 22:43 • 来自相关话题

不是标题党,这是一位leader在一次代码评审会对小组成员发出的“怒吼”,原因是在代码评审中发现很多地方还是采用ES5的写法,也不是说用ES5写法不行,会有BUG,只是造成代码量增多,可读性变差而已。 恰好,这位leader有代码洁癖,面对3~5年经验的成员,... ...查看全部