SpringAOP的基本概念和使用 AOP 基本概念(1)面向切面编程(方面),利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得 业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。(2)通俗描述:不通过修改源代码方式,在主干功能里面添加新功能(3)使用登录例子说明 AOP AOP(底层原理)a)AOP 底层使用动态代理 ,动态代理有两种情况: 第一种 有接口情况,使用 JDK 动态代理 ; 创建 接 2023-08-30 计算机 > 后端 > Java > Spring > SpringAOP #article
Unity Task的原理 为什么有些原生的c# 异步方法使用await后可以被转化为Unitask而不是TaskUniTask 内部实现了一些扩展方法,能够将原有的C#异步的方法转化为Unitask。这是因为Unitask对于一些特定的继承自AysncOperation的类进行了扩展,然后实现了它们内部的GetAwaiter的方法,返回的是一个自定义的Awaiter struct。而这个Awaiter就可以高效率地使用Un 2023-08-27 计算机 > Game > 框架源码分析 > Unitask #article
Unitask 的使用 Token的使用方法UniTaskCompletionSourceUniTaskCompletionSource<T>可被实例化传入泛型,泛型可作为结果通过Task属性返回。如 123456789public static UniTask<T> LoadAssetsAsync<T>(string path){ var utcs = new UniTas 2023-08-27 计算机 > Game > 框架源码分析 > Unitask #article
Unitask 概述Unitask是一个 Unity异步解决方案的代码框架库。Unity本身是提供了一个协程解决方案。通过创建一个IEnumerator 的生成器方法,并且在其中使用 yield return 来中断程序运行达到异步执行的效果。但是这个方案无法得到异步的返回值,也无法处理错误信息。并且其还需要限制在Unity的MonoBehavior中执行,编写上也不便,需要写一个IEnumerator方法。很难 2023-08-27 计算机 > Game > 框架源码分析 > Unitask #article
Profiler Profiler是Unity自带的性能分析工具。可以查看CPU,GPU,物理,UI等等详细位置的消耗。日常使用的时候,最常使用的是CPU分析工具,通过这个可以查看代码的执行速度,执行次数,执行所产生的GC等等。 常见的查看具体方法模式有三个,最常使用的是hierarchy视图,可以查看什么方法执行了,方法的子方法的执行等等,timeline有时也会使用,可以查看job的内容。profiler 还有 2023-08-27 计算机 > Game > 框架源码分析 > Profiler #article
Obsidian插件基础原理 概要Obsidian的插件主要是继承于Obsidian提供的Plugin接口,随后从该接口调用实现各种功能。这里Obsidian主要功能可以是添加命令、添加全局提示、添加设置面板。 对于添加命令,只需要在软件页面调用ctrl+p则可以显示所有的命令,在插件里只需要调用 this.addCommand({id:"",name:"",callback 2023-04-26 杂记 #article
Pupeteer 概要Pupeteer是一个谷歌出版的类似于selenium库的操作浏览器的一个框架。不同之处为,该框架可以使用用户数据,还可以很方便的链接一个已经打开的浏览器进行爬取操作。 安装npm i puppeteer 基础使用12345678910111213141516171819202122232425import puppeteer from 'puppeteer';(async 2023-04-26 计算机 > 有用的代码库 > NodeJs代码库 > Pupeteer #article
水排序 简介主要是水面倾斜,水分层,水波纹三合一的效果。 有关水面倾斜计算方案 方案来源于 白玉无冰链接: https://mp.weixin.qq.com/s/DXl7_rvI5fS3Fg-OmHvgmg 核心原理水面倾斜后水体的体积不变,已知水体高度,水体的宽度,以及旋转的角度,那么可以求得在水倾斜到某个角度后,倾斜各点的顶点位置,即可进行水体的绘制达到倒水的效果。 那么以最底层为例子,朝着一边倒水 2023-02-21 计算机 > 计算机图形 > Shader解析 #article
水波纹效果 简介鼠标点击某个位置后,周围生成波纹的一个效果。核心思路是以点击中心基点,周围所有的点与其求得一个方向向量,那么这个方向向量与这个点的关系通过计算就能够得到一个圆圈的效果。 具体代码 顶点着色器只干了传递坐标转换坐标的事情仅包含有关片元着色的代码 123456789101112131415161718192021222324252627282930313233343536373839unifor 2023-02-14 计算机 > 计算机图形 > Shader解析 #article
对于复杂难以解析的网站请求爬取办法 使用selenium 打开网页进行模拟selenium 是一个自动化工具,提供了一套API供给python这类语言调用控制浏览器的功能,其中包含最基础的点击,前进后退等浏览器基本功能,还包含可以直接运行Js在浏览器上,实现各类复杂效果。 selenium环境安装安装selenium 包含两部分,一部分是python需要下载selenium包,另一部分是下载浏览器驱动。 python 下包1pip 2023-01-15 计算机 > Python > 爬取最佳实践 #article