环信即时通讯云

环信即时通讯云

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

环信开发文档

环信客服云

环信客服云

无需下载,注册即用
声网开发者社区

声网开发者社区

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

技术讨论区

技术交流、答疑
资源下载

资源下载

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

iOS Library

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

Android Library

不需要辛辛苦苦的去找轮子, 这里都有
1
回复

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

此木 回复了问题 • 2 人关注 • 30 次浏览 • 2021-10-25 14:58 • 来自相关话题

0
评论

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

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

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

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

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

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

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

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

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

封装一个底部导航 插件化

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

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

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

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

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

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

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

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

你真的了解border-radius吗? CSS3

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

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

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

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

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

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

马师傅 发表了文章 • 41 次浏览 • 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

优雅的命名 性能优化 Javascript

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

国庆假期,整整七天,我使用Flutter终于做出了即时通信!!!? Flutter

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

前言:在这个假期,我完成了一个小Demo,Flutter 与 Springboot 进行websocket的通讯,为啥想要去做这个Demo呢,主要是在各大平台以及google搜索后发现,没有一个详细的例子来教大家进行一对一、一对多的通讯,大多数都是教你怎么连接... ...查看全部
0
评论

设计模式-工厂方法模式 前端面试 Javascript

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

工厂方法模式(Factory Method)又称为多态性工厂模式,其核心不再像简单工厂模式那样负责所有的子类的创建,而是将具体的创建工作交给子类去完成 在前文已经介绍简单工厂模式 时,写了如下代码: /** * type:角色类型 - 管理员、员工 * n... ...查看全部
0
评论

设计模式-适配器模式 Javascript

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

适配器模式又称为包装器模式,将一个类的接口转化为用户需要的另外一个接口,主要是为了解决对象之间接口不兼容的问题,比如随着业务迭代升级出现了旧的接口与心的接口不兼容,这个时候不可能强制使用旧接口的用户去升级,而是在中间加一个适配器进行转换,让旧接口的使用者无感使... ...查看全部
0
评论

两个 Node.js 进程如何通信? node.js

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

两个 Node.js 进程之间如何进行通信呢?这里要分两种场景: 不同电脑上的两个 Node.js 进程间通信 同一台电脑上两个 Node.js 进程间通信 对于第一种场景,通常使用 TCP 或 HTTP 进行通信,而对于第二种场景,又分为两种子场景: ... ...查看全部
0
评论

还在为后端提供接口慢而发愁?试试这个,自己动手丰衣足食 性能优化

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

介绍 本期给大家介绍一个可以随机模拟数据的库——mock.js,它是一个模拟数据生成器,帮助前端开发和原型与后端进程分离,减少一些开发时联调测试成本。它支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等数据的模拟。而且不需要修改既有代码,就可以拦... ...查看全部
0
评论

?十分钟学会打字动画 前端面试 CSS3

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

前言 背景知识:基本的CSS动画,逐帧动画,闪烁效果 有些时候,我们希望一段文本中的字符逐个显现,模拟出一种打字的效果。这个效果在技术类网站中尤为流行,用等宽字体可以营造出一种终端命令行的感觉。如果使用得当,它确实可以让整个网页的设计感提升一个档次。 这篇... ...查看全部
0
评论

当面试官问Webpack的时候他想知道什么 前端面试 webpack

马师傅 发表了文章 • 79 次浏览 • 2021-09-28 22:24 • 来自相关话题

前言 在前端工程化日趋复杂的今天,模块打包工具在我们的开发中起到了越来越重要的作用,其中webpack就是最热门的打包工具之一。 说到webpack,可能很多小伙伴会觉得既熟悉又陌生,熟悉是因为几乎在每一个项目中我们都会用上它,又因为webpack复杂的配置和... ...查看全部