2022 08-14

WPF中使用System.Windows.Interactivity实现事件绑定的替代方法

一、问题描述 对于Button等控件,在MVVM中我们能通过Command绑定解决Click事件。具体如下所示: <ButtonMargin="10"Height="50"Content="Clear"Command="{BindingPath=Clear}"></Button> 对于TextChanged、MouseMove等事件可以借助System.Windows.Interactivity文件后也可实现事件的绑定,具体描述见WPF之事件绑定。 那如何实现不使用Sy

2022 08-14

深入理解Spring注解机制(一):注解的搜索与处理机制

前言 众所周知,spring从2.5版本以后开始支持使用注解代替繁琐的xml配置,到了springboot更是全面拥抱了注解式配置。平时在使用的时候,点开一些常见的等注解,会发现往往在一个注解上总会出现一些其他的注解,比如@Service: @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Component//@Component public@interfaceService{ @Alia

2022 08-14

React性能优化,六个小技巧教你减少组件无效渲染

壹❀引 在过去的一段时间,我一直围绕项目中体验不好或者无效渲染较为严重的组件做性能优化,多少积累了一些经验所以想着整理成一片文章,下图就是优化后的一个组件,可以对比优化前一次切换与优化后多次切换的渲染颜色深度与按钮的切换速度: 关于减少组件无效渲染,与其说是提几点建议,不如说是在优化过程中所记录的一些不规范的写法,能写出更好的代码总是更棒的,也希望这几点建议能对大家能有些许帮助。当然,以下建议不管class组件还是hooks中其实都会犯,所以都有参考意义,那么本文开始。 贰❀减

2022 08-14

移动端实现HTML5 mp3录音踩坑指南:系统播放音量变小、一些机型录音断断续续 之 MediaRecorder和AudioWorklet的终极对决

目录 H5录音见坑填坑 采用MediaRecorder采集音频 音频格式:WebM和PCM 从WebM封装容器中提取PCM数据 录音的兼容性 困扰已久的H5录音时系统播放音量变小的问题 H5录音见坑填坑 在2022-06-19那天,RecorderH5录音开源库(https://github.com/xiangyuecn/Recorder)群里有用户反馈手机上录音有bug,前后反馈过来几段测试过程完整录像;分析后初步发现在他那个手机上表现确实是断断续续的,从而音质非常差;此版

2022 08-14

数据结构与算法【Java】03---栈

前言 数据data结构(structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构才可以编写出更加漂亮,更加有效率的代码。 要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决. 程序=数据结构+算法 数据结构是算法的基础,换言之,想要学好算法,需要把数据结构学到位 我会用数据结构与算法【Java】这一系列的博客记录自己的学习过程,如有遗留和错误欢迎大家提出,我会第一时间改正!!! 注:数据结构与算法【Java】这一系列的博客参考于B站尚硅谷

2022 08-14

Docker常用命令

原文链接:https://www.zhoubotong.site/post/68.html Docker常用命令 删除安装包: sudo apt-get purge docker-ce 删除镜像、容器、配置文件等内容: sudo rm -rf /var/lib/docker 清理掉所有处于终止状态的容器 sudo docker container prune 使用 dockerportb

2022 08-14

PerfView专题 (第三篇):如何寻找 C# 中的 VirtualAlloc 内存泄漏

一:背景 上一篇我们聊到了如何用PerfView去侦察NTHeap的内存泄漏,这种内存泄漏往往是用C的malloc或者C++的new分配而不释放所造成的,这一篇我们来聊一下由VirtualAlloc方法造成的泄漏如何去甄别? 了解VirtualAlloc的朋友肯定说,C#这种高层语言怎么可能会用VirtualAlloc呢?即便是C++大概率也不会用这个,其实这么说还是世面见少了,经历的案例太少,接下来我们就来简要聊一聊。 二:C#中真的会用VirtualAlloc吗 常规的C#内存分配确实不会直

2022 08-14

红黑树以及JAVA实现(一)

前言 红黑树是一种特殊的B树是B树种2-3-4树的一种特殊实现,红黑树保证了每个节点只会有两个子节点,通过对每个节点进行染色,然后通过不同颜色的节点组合来分别代表2-3-4的2节点、3节点、4节点树的情况。在学习红黑树之前,我们需要先去了解2-3-4树。 一、B树 那么如果想要对红黑树有一个较为深刻的理解,我认为首先去理解其根源,也就是B树是必不可少的 1.1概念 树形结构首先可以分为等叉树和不等叉树,等叉树是每个节点的键值个数都相同、子节点个数也都相同,不等叉树是每个节点的键值个数不一定相同、

2022 08-14

MapReduce入门实战

MapReduce思想 MapReduce是Google提出的一个软件架构,用于大规模数据集的并行运算。概率“Map(映射)”和“Reduce(归约)”以及它们的思想都是从函数式编程语言借鉴的,还有从矢量编程语言借来的特性。 当前的软件实现是指定一个“Map”函数,用来把一组键值对映射成一组新的键值对,指定并发的“Reduce”函数,用来保证所有映射的键值对中的每一个都共享相同的键组。 HadoopMapReduce的任务过程分为两个阶段: Map阶段:把大任务分解为若干个小任务来并行处理。这

2022 08-13

八个解决你80%需求的CSS动画库

八个解决你80%需求的CSS动画库 点击打开视频讲解 在学习和工作的过程中,我们总免不了要写各种各样的css动画,给某个部分添加动画效果,如果觉得自己写的动画效果单一乏味,不妨试试这8个CSS动画库,值得收藏使用。 一、hover.css 开箱即用的鼠标悬停动画,支持的动画类型有: 2DTransitions(2D过度) BackgroundTransitions(背景过度) IconsTransitions(图标过度) BorderTransitions(边框过度) ShadowandGl