2021 10-18

想实现前端酷炫的打字机一样的效果吗?

实现酷炫的打字机效果插件typed.js 前言: 最近在写前端项目的过程中,在逛别人的优质的个人博客的时候,发现一个好玩有趣的东西。看下图,类似在打字的效果,然后又在思考的感觉,感觉整个网页都充满了思想。于是我就去百度这种效果怎么实现。有很多原生的实现办法,但几乎都是js在操作Dom元素,但是我是在vue项目上编写的,显然不妥。这个时候发现了typed.js,他会在vue使用的时候多封装了一层,使得不是操作dom。现在分享下这个插件。 一、typed.js的介绍 typed.js是一个类型化库,

2021 10-18

性能测试之测试指标

前言   本指标适用于使用性能测试进行性能测试项目技术质量评价依据,规范技术测试结果评价,统一性能测试 技术测试质量度量。应用系统技术质量度量指标范围广泛,本文难以涵盖全部。预期读者为测试管理人员、测 试实施人员、技术支持人员、项目管理人员等系统技术质量相关人员。 系统性能指标 交易响应时间 定义及解释响应时间指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,整个过程所耗费的时间。在性能检测中一般以压力发起端至被压测服务器返回处理结果的时间为计量,单位一般为秒或毫秒。平

2021 10-18

服务发现-从算法到实现

读前福利,本文的参考内容,均可在下面链接获取(免费哦) 必备经典书籍     服务发现,作为互联网从业人员,大家应该都不陌生,一个完善的服务集群,微服务是必不可少的功能之一。 最近一直想写这个话题,也一直在构思,但不知道从何入手,或者说不知道写哪方面。如果单纯写如何实现,这个未免太乏味枯燥了;而如果只是介绍现有成熟方案呢,却达不到我的目的。想了很久,准备先从微服务的架构入手,切入服务发现要解决什么问题,搭配常见的处理模式,最后介绍下现有的处理方案。 微服务服务于分布式

2021 10-18

Vue3学习(五)之集成HTTP库axios

一、安装axios npminstallaxios@0.21.0--save 二、axios的使用 1、在主页中引用axios 在Vue3新增了setup初始化方法,所以我们在这里开始使用并测试,示例代码如下: <template> <a-layout> <a-layout-siderwidth="200"style="background:#fff"> <a-menu mode="inline" v-model:selectedKeys="selec

2021 10-18

Winform同步调用异步函数死锁原因分析、为什么要用异步

1、前言 几年前,一个开发同学遇到同步调用异步函数出现死锁问题,导致UI界面假死。我解释了一堆,关于状态机、线程池、WindowsFormsSynchronizationContext.Post、control.BeginInvoke、APC、IOCP,结果我也没讲明白、他也没听明白。后来路过他座位时看到他在各种摸索、尝试,使用Task、await、async各种组合,当时的场景是这样的: 。问题有点复杂,随着那个开发同学离职转做产品后,就不了了之了。工作中许多同事对于同步、异步也不是特别了解,

2021 10-18

简单的 Go 入门教程

Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言 Docker和Kubernetes都是使用Go进行开发的,这几年Go越来越流行,生态也越来越好了 初学Go的时候会遇到了一些小问题,在一些教程中没有提及或者因为时效性的缘故,经常需要查阅很多资料才能弄懂,所以想写一篇比较新人视角的文章帮助大家入门 安装 Go的官网就是golang.org,点击首页的DownloadGo就可以跳转到下载页面,然后下载对应操作系统的Go,如果国内访问缓慢,可以访

2021 10-18

Spring的JDK动态代理如何实现的(源码解析)

前言 上一篇文章中提到了SpringAOP是如何决断使用哪种动态代理方式的,本文接上文讲解SpringAOP的JDK动态代理是如何实现的。SpringAOP的实现其实也是使用了Proxy和InvocationHandler这两个东西的。 JDK动态代理的使用方式 首先对于InvocationHandler的创建是最为核心的,可以自定义类实现它。实现后需要重写3个函数: 构造函数,将代理的对象闯入 invoke方法,此方法中实现了AOP增强的所有逻辑 getProxy方法,此方法千篇一律,

2021 10-18

面试官:Java从编译到执行,发生了什么?

面试官:今天从基础先问起吧,你是怎么理解Java是一门「跨平台」的语言,也就是「一次编译,到处运行的」? 候选者:很好理解啊,因为我们有JVM。 候选者:Java源代码会被编译为class文件,class文件是运行在JVM之上的。 候选者:当我们日常开发安装JDK的时候,可以发现JDK是分「不同的操作系统」,JDK里是包含JVM的,所以Java依赖着JVM实现了『跨平台』 候选者:JVM是面向操作系统的,它负责把Class字节码解释成系统所能识别的指令并执行,同时也负责程序运行时内存的管理。

2021 10-18

Mybatis一级缓存的锅

问题背景 项目开发中有一个树形数据结构,不像经典组织结构树、菜单级别树,我们这个树形结构是用户后期手动建立起来的关系。因此数据库表结构为两张表:数据记录表、记录关系表,通过业务规则限制,形成的树形结构像下面这样: 特殊之处就是树结构节点是有重复的 不复制重复节点 复制重复节点 项目要求前端展示、导出时使用复制重复节点的方式。开搞吧 Mybatis树结构查询 树结构查询,在mysql下当然是使用Mybatis框架提供的递归查询了。 xml配置文件 <resultMaptype=

2021 10-18

Python字典和集合

1.什么是字典 Python内置的数据结构之一,与列表一样是一个可变序列 以键值对的方式存储数据,字典是一个无序的序列 在存储数据时要经过hash(key)的计算,计算的结果就是存储的位置,因此字典的键值对顺序并不是按照存储时的先后顺序决定的,而是经过计算得到的存储位置。 字典中的键必须时不可变序列,否则当键改变时,hash计算的结果就会发生变化,导致存储位置发生变化。因此键必须要使用不可变序列 字典的实现原理 与查新华字典类似,差字典是先根据部首或者拼音查找相应的页码,Pytho