随着鸿蒙系统的不断完善,许多应用厂商都希望将自己的应用移植到鸿蒙平台上。最近,Taro发布了v4.0.0-beta.x版本,支持使用Taro快速开发鸿蒙原生应用,也可将现有的小程序转换为鸿蒙原生应用。 在《使用Taro开发鸿蒙原生应用》系列文章中,我们已经介绍了鸿蒙的基本概念和Taro适配鸿蒙的原理。本文作为该系列的第三篇,将正式为开发者提供一份完整的鸿蒙应用开发指南,帮助大家使用Taro开发自己的第一个鸿蒙应用。   一、环境配置 首先要准备鸿蒙运行所需的环境,根据参考文档提示的步骤在HUAWEIDevEcoStudio的IDE中完成MyApplication项目的创建,熟悉鸿蒙开...

  D9d3LXjpXl7o   2024年01月17日   13   0   0 鸿蒙

开篇: 图片是本人随笔画的,有点粗糙,望大家谅解,如有不妥之处,请联系我们,感谢 一、索引到底是什么 .索引是帮助mysql高效获取数据的排好序的数据结构 .索引是存储在文件里的 .数据结构:二叉树HASHBTREE       如果没有索引的话,循环一条一条的找,找一次就是一次IO,这样速度就会很慢 我们知道数据库数据都是存在磁盘上的,当我们查找数据时,就会从磁盘上取数据,每取一次就是一次IO,IO是非常耗时的,为了速度快会把数据放到缓存里,然后在缓存里进行操作   二、磁盘存取原理       当查找数据的时...

  D9d3LXjpXl7o   2024年01月16日   14   0   0 Java

1前言 自网站诞生以来,页面白屏时间、用户交互的响应速度等一直都是开发者关心的问题,这直接影响了一个网站能否为用户的浏览提供舒适的服务,而这种舒适度,直接关系着对用户的吸引力,毕竟谁都不能忍受一个页面长达10秒的空白屏时间,更别说点击按钮后,页面长时间的毫无反应。 web的性能一定程度上影响了用户留存率,GoogleDoubleClick研究表明:如果一个移动端页面加载时长超过3秒,用户就会放弃浏览。BBC发现网页加载时长每增1秒,用户就会流失10%。在2006年,Amazon曾做过一个报道,响应时间每提高100ms,他们便会增加1%的收入。从中可以看出,页面性能的重要性,但是到底多快才是快呢...

  D9d3LXjpXl7o   2024年01月15日   15   0   0 Html/Css

    前言 通天塔搭建页项目是用来搭建各类活动页面,比较老且业务复杂的项目,可优化点还是非常多的。今年侧重对运营页首屏加载的性能优化,在保证系统稳定可控、需求持续迭代前提下,最终提升了58.8%速度。 回顾一年的不断探(cai)索(keng),得出的感受的是: 选择大于努力了,努力的方向不对,想取得成果就会越来越费劲,事倍功半;方向选对了,事半功倍。 性能优化是长期的工程,需要优先确立正确的分析方法,真正且更早地找出系统的症结所在,而不是想当然或者仅停留于表面现象来下判断。 市面上有很多性能优化方案,数不胜数,但如果开始就只是模仿一些边边角的优化,虽然也会略有效果...

  D9d3LXjpXl7o   2024年01月15日   13   0   0 Html/Css

1、简介 小编最近在使用系统的时候,发现尽管应用已经使用了redis缓存提高查询效率,但是仍然有进一步优化的空间,于是想到了比分布式缓存性能更好的本地缓存,因此对领域内常用的本地缓存进行了一番调研,有早期的Guava缓存、在Guava上进一步传承的Caffine以及自称在Java中使用最广泛的EhCache,那么我们该怎么选择适合自己应用的缓存呢,小编下面会简单介绍,并将以上缓存进行一个对比,希望帮助大家选择最适合自己系统的本地缓存。 2、Guava缓存简介 Guavacache是Google开发的Guava工具包中一套完善的JVM本地缓存框架,底层实现的数据结构类似于ConcurrentHa...

  D9d3LXjpXl7o   2024年01月11日   17   0   0 Java

作为开发人员,总是在寻找能够简化工作流程并提高工作效率的工具。Oxlint是一个用Rust编写的JavaScriptlinter,现在提供了可以替代ESLint的新方案,其性能比ESLint提升了50-100倍。 在本文中,将学习如何将Oxlint集成到开发流程中,充分利用其速度和效率。 了解Oxlint Oxc(TheOxidationCompiler)是一个用Rust编写的JavaScript和TypeScript高性能工具集合。Oxc正在构建一个解析器、linter、格式化程序、转译器、压缩器、解析器。 Oxlint是一种静态代码分析工具,旨在通过检测错误和执行代码样式规则来提高代码质量...

  D9d3LXjpXl7o   2024年01月11日   16   0   0 JavaScript

一、从痛点中思考答案 痛点一:复杂系统的设计和逻辑碎片化散落,缺少沉淀导致系统后期维护、迭代以及架构升级都非常困难。 痛点二:由于新需求或新项目导致的系统的老旧逻辑梳理往往耗费大量人力,甚至造成人才的流失。 痛点三:多团队共建场景下需要参与各方了解跨应用系统的整体设计,沟通效率低成本高、共建初期花费时间长。 痛点N:像这样的痛点还有很多...   如何解?怎么破?我们从ERD中寻找答案。   二、ERD规范制定与核心价值主张 2.1ERD是什么 ERD是源自于硅谷的工程技术实践,其核心价值沉淀应用系统全生命周期的技术资产,理解应用系统整体设计演进过程,促进技术与业务理解,降...

  D9d3LXjpXl7o   2024年01月10日   15   0   0 架构设计

前言 本文记录了由于JSF异步调用超时引起的接口可用率降低问题的排查过程,主要介绍了排查思路和JSF异步调用的流程,希望可以帮助大家了解JSF的异步调用原理以及提供一些问题排查思路。本文分析的JSF源码是基于JSF1,7.5-HOTFIX-T6版本。 起因 问题背景 1.广告投放系统是典型的I/O密集型(I/OBound)服务,系统中某些接口单次操作可能依赖十几个外部接口,导致接口耗时较长,严重影响用户体验,因此需要将这些外部调用切换为异步模式,通过并发的模式降低整体耗时,提高接口的响应速度。 2.在同步调用的场景下,接口耗时长、性能差,接口响应时间长。这时为了缩短接口的响应时间,一般会...

  D9d3LXjpXl7o   2024年01月09日   15   0   0 Java

一、为什么要了解常见JS错误 1、调试和故障排除: 了解常见的JavaScript错误可以帮助你更好地调试和故障排除代码。当你遇到错误时,能够快速识别错误类型并找到解决方法,可以节省大量的时间和精力。 2、代码质量和稳定性: 通过了解常见的JavaScript错误,你可以编写更健壮和稳定的代码。你可以预先考虑到可能出现的错误情况,并采取适当的措施来处理或避免这些错误,从而提高代码的质量和稳定性。 3、用户体验(很重要): JavaScript错误可能会导致应用程序崩溃、功能失效或不可预料的行为。通过了解常见的JavaScript错误并处理它们,可以提供更好的用户体验,避免应用程序因错误而中断或...

  D9d3LXjpXl7o   2024年01月09日   15   0   0 JavaScript

一、前言 小程序性能是指小程序在微信APP或者其他宿主APP中加载和呈现的速度,以及小程序对用户交互的响应程度。性能欠缺的小程序渲染和响应速度较慢,甚至会出现无法正常打开小程序的情况,在不同程度上极大地影响了用户体验,从而导致用户流失。 京东购物小程序随着更多业务不断的更新迭代,启动性能逐步下降,微信后台打开率仅86%,每天有几百万的流失。随着互联网人口红利的结束,增量变缓,如何通过技术手段提升启动性能成为重中之重,以便更好地留住来之不易的增量用户,进一步助力业务的成长。 二、性能指标与衡量 使用性能指标来评估小程序的加载速度是非常必要的,我们回顾一下京购小程序页面加载的几个关键阶段: 这几...

  D9d3LXjpXl7o   2023年12月26日   16   0   0 JavaScript

软件系统是通过软件开发来解决某一个业务领域或问题单元而产生的一个交付物。而通过软件设计可以帮助我们开发出更加健壮的软件系统。因此,软件设计是从业务领域到软件开发之间的桥梁。而DDD是软件设计中的其中一种思想,旨在提供一种大型复杂软件的设计思路和规范。通过DDD思想可以让我们的业务架构、系统架构、部署架构、数据架构、工程架构等都具备高扩展性、高维护性和高测试性。 但是落地DDD是一件很困难的事情。首先在思想认知层面就比较难以突破。 DDD本身是一种思想,不是某种具体的技术,因此在代码实现和系统架构层面没有约束。而由于市面上成熟的ORM框架(比如hibernate、mybatis等),使得大部分软...

  D9d3LXjpXl7o   2023年12月25日   17   0   0 领域驱动设计

在实际的业务开发中,我们经常会碰到VO、BO、PO、DTO等对象属性之间的赋值,当属性较多的时候我们使用get,set的方式进行赋值的工作量相对较大,因此很多人会选择使用spring提供的拷贝工具BeanUtils的copyProperties方法完成对象之间属性的拷贝。通过这种方式可以很大程度上降低我们手动编写对象属性赋值代码的工作量,既然它那么方便为什么还不建议使用呢?下面是我整理的BeanUtils.copyProperties数据拷贝一些常见的坑。 1:属性类型不一致导致拷贝失败 这个坑可以细分为如下两种: (1)同一属性的类型不同 在实际开发中,很可能会出现同一字段在不同的类中定义的...

  D9d3LXjpXl7o   2023年12月22日   85   0   0 Java

本文将介绍如何用JS实现简单的屏幕录像机。 一、录制准备 创建一个按钮 <buttonid="recording-toggle">Startrecording</button> 书写JavaScript varRECORDING_ONGOING=false; varrecordingToggle=document.getElementById("recording-toggle");//按钮 recordingToggle.addEventListener("click",function(){ RECORDING_ONGOING=!RECORDING_ONGOI...

  D9d3LXjpXl7o   2023年12月22日   19   0   0 JavaScript

一、前言 1.1京东LBS门详业务介绍 京东LBS门详目前已经支持了仓网、药急送、天选、小时达POP多种业务,并且具备了多端的能力,一套代码可以在京东app、健康app、微信小程序中运行,一定程度上研发效率的提升能够更加快速的支持业务迭代。 随着业务需求猛增、各种AB场景线上测试,交互复杂度提升,所以对门详的整体交互体验,小程序加载速度、列表的滚动性能以及业务数据层面都有更高的要求,因此作为前端研发团队,我们也迎来了一些新的挑战。 1.2面临的挑战 基于以上的业务与用户体验的要求,门详急需解决的问题如下: 1.2.1页面加载速度缓慢:在中高端机型,实测从点击到店头渲染数据在1.2s左右【iph...

  D9d3LXjpXl7o   2023年12月22日   15   0   0 JavaScript

1引言 前几篇文章主要针对单点功能的测试用例设计方法展开介绍。然而,当拿到一个测试任务时,并非先关注某个功能的细节测试,而是先要使用场景法对主要业务流程和主要功能展开测试,当业务场景没有问题后,再使用等价类、边界值、判定表等方法对细节功能进行测试(先整体后细节)。 2概念及原理 2.1场景法概念 场景法是一种通过使用事件触发流程,对系统的功能点或业务流程进行描述的方法。对于同一事件不同的触发顺序和处理结果,可以形成不同的场景。 在日常工作中,针对同一业务需求可以模拟出不同场景,测试用例中对所有功能点及业务流程的覆盖,有利于测试人员设计测试用例,从而提高测试效果,使测试用例更容易理解和执行。 2...

  D9d3LXjpXl7o   2023年12月22日   21   0   0 软件测试

你知道奇怪的移动视口错误(也称为100vhbug)吗?或者如何以正确的方式创建全屏块? 一、100vhbug 什么是移动视口错误? 你是否曾经在网页上创建过全屏元素?只需添加一行CSS并不难: .my-page{ height:100vh } 1vh是视口高度的1%,正是我们所需要的。但当我们在移动设备上测试时,就会出现问题。移动浏览器的视口可以动态改变,但值保持不变。因此在移动浏览器中vh变成静态值并且不反映视口的实际高度。 在下图中,可以看到移动屏幕的两种状态: 带有隐藏的地址栏 具有可见的地址栏 核心问题是移动浏览器(Chrome和Safari)有一个“有用”的功能,地址栏有时可见...

  D9d3LXjpXl7o   2023年12月22日   46   0   0 Html/Css

一问题重现 夜黑风高的某一晚,突然收到一条运营后台数据库慢sql的报警,耗时竟然达到了60s。 看了一下,还好不是很频繁,内心会更加从容排查问题,应该是特定条件下没有走到索引导致,如果频繁出现慢查询,可能会将数据库连接池打满,导致数据库不可用,从而导致应用不可用。 二问题排查 报警自带定位慢sql语句,这个是很早就上线的一条sql语句,下面对sql语句进行了简化: selectfromxxxwheregear_id=xxxandexamine=xxxorderbyiddesclimit10,这是个简单的根据流量池gear_id查询,按照主键id倒序进行分页查询10条数据的语句。 在exami...

  D9d3LXjpXl7o   2023年12月18日   16   0   0 MySQL

1背景 在分布式系统应用中,高可用、一致性是经常面临的问题,针对不同的应用场景,我们会选择不同的架构方式,比如master-slave、基于ZooKeeper选主。随着时间的推移,出现了基于Raft算法自动选主的方式,Raft是在Paxos的基础上,做了一些简化和限制,比如增加了日志必须是连续的,只支持领导者、跟随者和候选人三种状态,在理解和算法实现上都相对容易许多。 1)DLedger是openMessaging发布的一个基于Raft实现的JAVA类库,可以方便引用到系统中,满足其高可用、高可靠、强一致的需求,其中在RocketMQ中作为消息Broker存储高可用实现的一种解决方案。 2)R...

  D9d3LXjpXl7o   2023年12月15日   17   0   0 算法与数据结构

1引言 前面几篇文章为我们讲述了因果图、判定表、正交试验等几种方法,主要是针对于不同条件输入输出的组合进行测试,但在实际需求中,我们也常会遇到需要对被测对象的状态流转进行验证的情况,此时前面几种方法将不再适用,对于这种状态转换类问题,功能图法则可大展身手。 2概念及原理 2.1基本概念 功能图:也称状态图法,该方法是一种专门解决动态说明问题的测试用例设计方法,主要由状态迁移图和逻辑功能模型两部分构成。 2.1.1状态迁移图 用于描述一个特定对象生命期中满足某些条件的所有状态,以及由于各种事件的发生而引起的状态之间的转移。关于状态迁移图,有如下几点需要注意: 1)一个状态迁移图中包含如下几种状态...

  D9d3LXjpXl7o   2023年12月14日   18   0   0 软件测试

1引言 上篇讲了因果图和判定表法,而这两种方法在变量值很多、排列组合数量极大的场景下,会生成非常庞大且冗余的测试用例,此时我们很难对所有组合场景进行全量测试用例覆盖,基于此短板,正交试验法应运而生。 2概念及原理 2.1定义 正交试验法是研究多因素、多水平的一种试验法,它是利用正交表来对试验进行设计,通过少数的试验替代全面试验思想:用部分试验来代替全面试验,通过对部分试验结果的分析,了解全面试验的情况。全面试验:可以分析各因素的效应,交互作用,也可选出最优水平组合。但全面试验包含的水平组合数较多,工作量大,在有些情况下无法完成。 2.2正交表 使用正交试验法设计测试用例的核心在于正交表的选取,...

  D9d3LXjpXl7o   2023年12月13日   15   0   0 软件测试
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~