2023-02-03 16:30:00 ~ 2023-02-04 16:30:00
In this article, we will look at Jib, a 100% Java-based tool for Java developers to build highly optimized images for their Java apps.
本文主要介绍了去重算法在之家小视频流的优化实践,偏重理论方面的介绍,涉及到网络结构、数学公式等,对项目的实现流程做了一个大致梳理。
声纳系统是一个集数据采集、存储、展示、报警为一体的解决方案,本文将从实际案例切入,重点介绍声纳系统在springboot项目中的应用、我们的设计方案和系统架构、声纳系统未来的规划。
Flutter是Google推出的一款UI工具包,可以通过一套代码同时在iOS和Android两大移动平台上构建媲美原生体验的精美应用。本文将逐步介绍Flutter从起源到特性,到工程开发的一些细节。
系统平台研发团队自主研发iOS真机平台,为汽车之家提供7*24小时稳定的iOS云真机服务。
本文基于电商团队内应用从虚拟机迁移到容器的过程为背景,分享Java在云原生环境下的挑战,上云的一些最佳实践以及踩坑经历。
谈到 Web 性能优化,可以从渲染层、项目构建、网络层等多个维度出发,提出诸多优化的方向,在这里,我们无法通过一篇文章涵盖到方方面面。本文,将会以 HTTP 为切入点,谈一谈我们似懂非懂的 --- HTTP 缓存。
App广告截图系统基于PhoneBus设备管理平台和App自动化引擎,结合图片对比算法,稳定、准确、及时的捕捉广告的真实投放效果,可以将落地顾问从重复繁重的人工截图归档工作中解放出来。
词语不陌生,但是回回看,回回忘记,究其根本就是没理解。让我们先忘掉这两个词语,进入一个新的情境~
RxJava通常的解释是通过观察者模式来实现的反应式函数式编程框架,借助RxJava可以提升自己的研发效率和了解到反应式函数式编程思想的魅力。
Golang处理并发安全有锁和channel
两种方案,前者通过加锁方式保证同一时刻只有一个操作在访问数据,后者是将操作串行化来来实现同一时刻只能有一个操作访问数据。这两种方法都是在通过约束并发访问/修改数据来解决并发安全问题。
有句话讲,技术总是在短期内被高估,而在长期内被低估。您认为人工智能技术目前是被高估还是被低估呢?
随着新东方APP团队的不断发展,在需求迭代快、参与人数多,多个版本同时并存快速迭代的背景下,新东方APP团队升级和使用新的APP持续交付平台提升发版效率。
RabbitMQ最早起源于金融系统,是AMQP协议的Erlange语言实现。整体上是一个生产者消费者模型,主要负责接受、存储和转发消息。
做动效经常会用到缓动,市面上的缓动库也有好多,不同的语言、引擎都有自己的缓动库,比如比较出名的TweenLite。
说到IO大家并不陌生,平时的日志存储、网络请求都涉及到IO。这些IO的底层工具基本上是HTTP Client或者Netty,而这两个工具的底层则都是Java的NIO包。
Java程序运行时,必须经过编译和运行两个步骤。首先将后缀名为.java的源文件进行编译,最终生成后缀名为.class的字节码文件。然后Java虚拟机将编译好的字节码文件加载到内存(这个过程被称为类加载,是由加载器完成的),然后虚拟机针对加载到内存的java类进行解释执行,显示结果。
InnoDB是一个高性能、高可用、高可扩展,是MySQL 第一个完整支持ACID事务的存储引擎,其特点是行锁设计、支持MVCC、支持外键、提供一致性非锁定读,同时被设计用来最有效的利用以及使用内存和CPU。
“手动”递归,并不是说没有缺点,虽然没有那么多函数调用,但是重复计算度依然很高。另外,迭代循环,对于线性结构的还好理解些,对于非线性结构的理解起来会更困难。
缓存不具有一致性。 使用 redis 或 memcached 之类的称为分布式缓存,在多实例的情况下,各实例共用一份缓存数据,缓存具有一致性。缺点是需要保持 redis 或 memcached服务的高可用,整个程序架构上较为复杂。
我们基于canvas做互动课件开发,本质上更接近游戏开发,而非前端(指DOM)开发。由于当前设备的分辨率种类太多,而且用户可以任意改变浏览器窗口尺寸,所以我们必须要做自适应。
很多程序员在学习java语言的第一步就已经对“并发”、“同步机制”有一定的认识和理解,但是并发这个新事物,是建立在硬件基础之上。在计算机设计早期,为了更多的计算性能的需求,将单处理器系统发展成为多处理器系统,而在现在,更是将多个计算核放在单个芯片上,无论是多个计算核还在多个CPU芯片上,还是在单个CPU芯片上,都为多核处理器系统。随着前人的苦苦探索,在1996年,java终于诞生了,由于站在巨人的肩膀上,在JDK1.0版本就提出了java语言的内存模型,并有了多线程模式,这个创新,太伟大了。但是仍有不足,在2004年的9月,JDK1.5发布,并正式更名为5.0,这个版本发布了大规范,即java内存模型和线程规范,并引入了java.util.concurrent包。Doug Lea(下图)这位带来里程碑的大人物,大家一定不陌生。java继续进步,在JDK7中进一步完善了并发控制功能,并引入了fork-join框架。
网络传输是整个直播过程中的第三个环节,传输的阶段包括三部分:主播端推流到服务端、服务端的流分发、观众端的拉流。
视频之所以能动,原理其实就是咱们经常用的帧动画;将采集到的图片一帧帧组成连续播放的动画即构成视频中可视的部分。
栈,是一种基本的数据结构,就像我们放盘子一样,一个一个往上放,用的时候,从上一个一个往下拿,不能从中间抽。
简介作为在线教育系统,课后回放视频的生成,对于用户来说至关重要,是直播系统中必不可少的一部分。
直播的整体框架主要分为五个流程:采集、编码、网络传输、解码、播放。
专项测试使QA拓宽了测试思路、发现了更多的问题、保障了云教室的功能稳定。
基于业务需求,我们需要将试题组装成试卷,然后导出 .docx 格式的 word 文档,同时需要支持公式数据在 word 中正常展示,并且能够重新编辑。
我们选取一个开源的2D力学引擎,进行力学实验的开发,在引擎的选取和初期开发过程中遇到以下问题。
Sentinel是阿里于18年开源的面向分布式服务架构的流量控制组件,主要以流量为切入点,目前至少有80+主流企业使用其以保障微服务的稳定性。
线上教育领域更需要孩子和老师进行实时的互动。互动视频中针对 K12 教育的特殊场景做的专门优化,可以为不同学员提供独特的学习体验。
本文介绍在两个端点之间的导线,如果只能按照水平和垂直两个方向,如何自动计算导线的路径。
本文介绍在实验中如何将两个器材绑定到一起并能够解绑。
Transformer是一种基于encoder-decoder结构的模型,其编码器和解码器均是由注意力模块和前项神经网络构成,是第一个用纯attention搭建的模型,不仅计算速度更快,在翻译任务上获得了更好的结果。
本文介绍了kafka使用SASL安全认证的配置方式。
本文介绍了前端依赖管理NPM包的基本知识,并说明了如何发布一个包,以及需要注意的事项。
新东方架构部统一管理平台,主要包括Redis、微服务、网关、APP管理和权限管理中心五大模块。
导线是电学实验的基础元件,本文探寻当鼠标在拖动导线时,如何让导线状态效果看起来比较自然。
本文介绍了单页web应用的两种路由实现模式,以及如何在server端实现history模式的支持。
当两个端点连接在一起时,我们怎么来存储端点之间的关系,如何执行连接和断开操作。
使用并查集分割连通子图效率上并不是最优的,但是使用并查集,逻辑简单,易扩展。
本文向大家分享五种延迟消息实现方案,逐一讨论各种方案的大致实现和优缺点。
触屏设备中实现双指缩放的常见解法,以及常见解法中可能遇到的一些问题。
道格拉斯-普克算法是将曲线近似表示为一系列点,并减少点的数量的一种算法。它的优点是具有平移和旋转不变性,给定曲线与阈值后,抽样结果一定。
通过一年多的技术改造,整个2020年暑期,新东方APP没有发生一起线上事故,平稳的度过了一个暑期。
新东方续班体系的建设和优化介绍。
新东方云教室目前已经服务100+个分校/机构上直播课,支撑百万用户同时在线上课,用户前端已经覆盖全端支持包括PC的Windows、Mac,移动的iOS、Android,以及H5。
快速掌握并使用gitlab-ci工具快速代码编译、集成和发布。
作为一名开发,最头疼最担心的莫过于生产环境出问题了。
关注公众号
接收推送