环信即时通讯云

环信即时通讯云

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

环信开发文档

环信客服云

环信客服云

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

声网开发者社区

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

技术讨论区

技术交流、答疑
资源下载

资源下载

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

iOS Library

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

Android Library

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

flutter 风车加载指示组件 Flutter

技术精选王二蛋和他的张大花 发表了文章 • 48 次浏览 • 2021-10-12 09:41 • 来自相关话题

前言Flutter 官方提供了诸如 CircularProgressIndicator和 LinearProgressIndicator两种常见的加载指示组件,但是说实话,实在太普通,比如下面这个CircularProgressIndica... ...查看全部
0
评论

kt协程 | suspend非阻塞挂起魔术解密 kotlin

技术精选王二蛋和他的张大花 发表了文章 • 64 次浏览 • 2021-10-12 09:40 • 来自相关话题

一 前言 kotin协程,一种轻量级用户态线程,能通过suspend函数避免回调地狱以及快速实现线程的切换等,已经普及到大量实际项目中。这里将解析协程核心功能suspend的「非阻塞式挂起」实现原理,从而避免管中窥豹,使得在后续使用kotlin协程开发能更加得... ...查看全部
0
评论

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

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

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

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

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

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

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

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

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

在线客服和即时通讯同时使用该怎么用? 同时集成了客服云和即时通讯云

综合技术讨论转角45°、嫣然一笑 回复了问题 • 2 人关注 • 76 次浏览 • 2021-10-11 19:33 • 来自相关话题

0
评论

java中的IO、NIO、Okio socket Android

技术精选柳天明 发表了文章 • 57 次浏览 • 2021-10-11 14:06 • 来自相关话题

java IO写这种写方法只能一个字节一个字节的写;注意把要关闭的流写在try括号中,省去了代码中finally关闭的过程,以下例子均是。private static void ioWrite() { try (OutputStream outputS... ...查看全部
0
评论

ARouter 拦截器之多 module 独立运行 arouter Android

技术精选柳天明 发表了文章 • 59 次浏览 • 2021-10-11 14:05 • 来自相关话题

本文说明上篇文章 已分享了路由配置、跳转、原理、完整的效果演示gif以及源码,而且是多 module 项目演示的,算是路由 ARouter 的入门,还没配置使用的可以先去看看。本文的内容主要涉及如下两个:路由拦截器使用module 独立运行前者在我们... ...查看全部
0
评论

Android Jetpack系列之Lifecycle lifecycle Android

技术精选柳天明 发表了文章 • 72 次浏览 • 2021-10-11 14:04 • 来自相关话题

Lifecycle介绍Lifecycle可以让某一个类变成Activity、Fragment的生命周期观察者类,监听其生命周期的变化并可以做出响应。Lifecycle使得代码更有条理性、精简、易于维护。Lifecycle中主要有两个角色:LifecycleOw... ...查看全部
0
评论

做一个透明的Dialog Activity dialog Android

技术精选柳天明 发表了文章 • 63 次浏览 • 2021-10-11 14:02 • 来自相关话题

做一个透明的Dialog Activity平时在很多软件中,肯定见到过从底部的弹窗,比如分享某个文件,从底部弹出的分享平台,大部分是通过PopupWindow 底部弹出实现,这次来讲一个不一样的。1. 什么是 Dialog Activity让Acti... ...查看全部
0
评论

Java多线程2 多个线程之间共享数据 kotlin Android

技术精选柳天明 发表了文章 • 55 次浏览 • 2021-10-11 13:57 • 来自相关话题

线程范围的共享变量多个业务模块针对同一个static变量的操作 要保证在不同线程中 各模块操作的是自身对应的变量对象public class ThreadScopeSharaData { private static int data = 0 ; ... ...查看全部
0
评论

Kotlin是如何帮助你避免内存泄漏的? kotlin

技术精选王二蛋和他的张大花 发表了文章 • 62 次浏览 • 2021-10-11 09:53 • 来自相关话题

本文的代码位置在github.com/marcosholga…中的kotlin-mem-leak分支上。 我是通过创建一个会导致内存泄漏的Activity,然后观察其使用Java和Kotlin编写时的表现来进行测试的。 其中Java代码如下: public c... ...查看全部
0
评论

建议收藏!!Flutter状态管理插件哪家强?请看岛上码农的排行榜! 状态管理 Flutter

技术精选王二蛋和他的张大花 发表了文章 • 69 次浏览 • 2021-10-11 09:50 • 来自相关话题

前言一路下来,Flutter 状态管理相关的文章写了有几十篇了,这是本人也没想到的结果。Flutter 的状态管理插件实在太多,感觉要深挖,可以继续写上几十篇。只是,这样写,怕是自己不累,看客都累了!😂😂😂授人以鱼不如授人以渔,本篇就专门对 Flutter 比... ...查看全部
0
评论

更高级的 Android 启动任务调度库 任务调度

Android Library王二蛋和他的张大花 发表了文章 • 76 次浏览 • 2021-10-11 09:48 • 来自相关话题

在之前的文章中,我介绍了自研的 Android 启动任务调度工具 AndroidStartup。近期,因为在组件化项目中运用该项目的需要,我对这个库做了一番升级。在最新的 2.2 版本中,我新增了一些特性。相比于目前市面上其他的启动任务调度库,使其具备了更多的... ...查看全部
0
评论

Flutter 入门与实战(九十三):使用 Animation 构建爱心三连动画 Flutter Animation

技术精选王二蛋和他的张大花 发表了文章 • 60 次浏览 • 2021-10-11 09:46 • 来自相关话题

前言 我们开始 Flutter 动画相关篇章之旅,在应用中通过动效能够给用户带来更愉悦的体验,比较典型的例子就是一些直播平台的动效了,比如送火箭能做出来那种火箭发射的动效——感觉倍有面子,当然这是土豪的享受,我等码农只在视频里看过😂😂😂。本篇我们来介绍基于 A... ...查看全部
0
评论

RxHttp + Flow 三步搞定任意请求 RxHttp flow

技术精选王二蛋和他的张大花 发表了文章 • 77 次浏览 • 2021-10-11 09:41 • 来自相关话题

1、前言 RxHttp 在之前的版本中,已提供了RxHttp + Await协程、RxHttp + RxJava两种请求方式,这一次,RxHttp 无缝适配了 Flow , RxHttp + Flow协程配合使用,使得请求更加简单,至此,RxHttp已集齐3架... ...查看全部
0
评论

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

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

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

优雅的命名 性能优化 Javascript

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

iOS SwiftUI 创建和组合视图 1.0 SwiftUI

iOS开发雨淋湿了天空 发表了文章 • 52 次浏览 • 2021-10-09 11:48 • 来自相关话题

创建和组合视图这个教程指导你构建一个名为Landmarks(地标)的应用。这个应用的功能是可以发现并分享你喜欢的地标。首先从创建地标详情页开始。Landmarks使用栈来按层组合图片、文本等视图元素,从而布局页面。在视图中添加地图,需要引入MapKit组件,在... ...查看全部
0
评论

了解Parcelable存在的意义 序列化 Android

技术精选柳天明 发表了文章 • 53 次浏览 • 2021-10-09 11:35 • 来自相关话题

Parcelable是Google团队专门为Android设计的序列化类,那在Java中已经有了Serializable序列化为什么还需要Parcelable呢?我们接下来就通过阅读Parcelable的实现类和源码来比较它们的区别,建议先对Serializa... ...查看全部
0
评论

高级UI事件分发、事件冲突处理 事件分发 Android

技术精选柳天明 发表了文章 • 64 次浏览 • 2021-10-09 11:31 • 来自相关话题

一、MotionEvent介绍二、事件的接收流程。可根据之前的结成介绍找到入口。viewRootImpl会对事件进行处理,首先找到DecorView,然后再找到activity再在dispatchTouchEvent()里处理。setView@ViewRoot... ...查看全部
0
评论

Android WebView H5 秒开方案总结 Android webview

技术精选柳天明 发表了文章 • 100 次浏览 • 2021-10-09 11:30 • 来自相关话题

为了满足跨平台和动态性的要求,如今很多 App 都采用了 Hybrid 这种比较成熟的方案来满足多变的业务需求。Hybrid 也叫混合开发,即半原生半 H5 的方式,通过 WebView 来实现需要高度灵活性的业务,在需要和 Native 做交互或者是调用特定... ...查看全部
0
评论

Flutter怎么样做国际化 Flutter

技术精选王二蛋和他的张大花 发表了文章 • 59 次浏览 • 2021-10-09 09:34 • 来自相关话题

什么是国际化 国际化是指在设计软件时,将软件与特定语言及地区脱钩的过程。当软件被移植到不同的语言地区时,软件本身不用做内部工程上的改变或修正。 本地化则是指当移植软件时,加上与特定区域设置有关的资讯和翻译文件的过程。 国际化和本地化之间的区别虽然微妙,但却很重... ...查看全部
0
评论

Flutter 绘制番外篇 - 圆中取形 绘制

技术精选王二蛋和他的张大花 发表了文章 • 51 次浏览 • 2021-10-09 09:32 • 来自相关话题

前言: 对一些有趣的绘制 技能和知识, 我会通过 [番外篇] 的形式加入《Flutter 绘制指南 - 妙笔生花》小册中,一方面保证小册的“与时俱进” 和 “活力”。另一方面,是为了让一些重要的知识有个 好的归宿。 一、正 N 边形的绘制 1. 正三角形绘制... ...查看全部
0
评论

Android 开发必知必会:Java 并发之三大性质、synchronized、volatile volatile synchronized

技术精选王二蛋和他的张大花 发表了文章 • 59 次浏览 • 2021-10-09 09:30 • 来自相关话题

原子性 原子(atomic) 本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation) 意为“不可被中断的一个或一系列操作”。原子性则可以表示为:一个操作是不可中断的,要么全部执行成功要么全部执行失败,有着“同生共死”的感觉。 有序... ...查看全部
0
评论

【开源项目】Compose版SmartRefreshLayout,了解一下~ SmartRefreshLayout

技术精选王二蛋和他的张大花 发表了文章 • 59 次浏览 • 2021-10-09 09:29 • 来自相关话题

下拉刷新是我们开发中的常见的需求,官方提供了SwipeRefreshLayout来实现下拉刷新,但我们常常需要定制Header或者Header与内容一起向下滚动,因此SwipeRefreshLayout往往不能满足我们的需求 在使用XML开发时,Github上... ...查看全部
0
评论

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

优雅地处理运行时权限请求 permission Android

技术精选柳天明 发表了文章 • 70 次浏览 • 2021-10-08 16:02 • 来自相关话题

前言从android 6.0(API 级别 23)开始,android引入了运行时权限,用户开始在应用运行时向其授予权限,而不是在应用安装时向其授予权限,如果应用的某项功能需要使用到受运行时权限保护的资源(例如相机、位置、麦克风等),但在运行该功能前没有动态地... ...查看全部
0
评论

Android混合开发快速上手入门 混合开发 Android

技术精选柳天明 发表了文章 • 69 次浏览 • 2021-10-08 16:00 • 来自相关话题

一 混合开发简介原生app :java/kotlin 纯原生写出的app;web app:web写出的app;hybird app:原生+web(通过webview)写出的app;当然,现在也有很多第三方混合开发框架以及简便的js桥,但是作为最基础的webvi... ...查看全部
0
评论

Glide源码解析 源码解析 Android

技术精选柳天明 发表了文章 • 63 次浏览 • 2021-10-08 15:59 • 来自相关话题

本次源码解析基于4.12.0,如有描述错误,请大佬们评论指出。一、Glide的用法 // RecyclerView中加载图片 @Override public void onBindViewHolder(PhotoViewHolder holder, int ... ...查看全部
0
评论

Android 架构之OkHttp源码解读(上) https Android

技术精选柳天明 发表了文章 • 72 次浏览 • 2021-10-08 15:55 • 来自相关话题

前言在我们编写Android程序时,OkHttp已经成为了我们必不可少的部分,但我们往往知道OkHttp怎么用,不知其原理。在本篇中,我将通过如下方式带你深入其原理。OkHttp 介绍OkHttp 调用流程socket 连接池复用机制高并发请求队列:任务分发责... ...查看全部
0
评论

Retrofit解析 retrofit Android

技术精选柳天明 发表了文章 • 70 次浏览 • 2021-10-08 15:52 • 来自相关话题

本次源码解析基于2.9.0,如有描述错误,请大佬们评论指出。一、Retrofit的作用Retrofit基于okhttp,简化了okhttp请求接口的操作,而且适配Rxjava和kotlin的协程,但目前还没有适配kotlin的Flow,如果要适配,自己封装也是... ...查看全部
0
评论

iOS 知识拓展 iOS

iOS开发雨淋湿了天空 发表了文章 • 74 次浏览 • 2021-10-08 10:57 • 来自相关话题

本期概要本期话题:什么是暗时间。Tips 带来了多个内容:Fastlane 用法总结、minimumLineSpacing 与 minimumInteritemSpacing 的区别以及一个定位 RN 发热问题的过程。面试解析:本期围绕 block 的变量捕获... ...查看全部
0
评论

iOS RXSwift 9.1 iOS

iOS开发雨淋湿了天空 发表了文章 • 52 次浏览 • 2021-10-08 09:41 • 来自相关话题

学习资源书籍RxSwift - By Raywenderlich视频Learning Path: RxSwift from Start to Finish - By Realm 团队RxSwift in Practice - By... ...查看全部
0
评论

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

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

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

设计模式-适配器模式 Javascript

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

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

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

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

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

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

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

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

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

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

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