Java

Performance Optimization

Homepage优化方案分享2022.4.11 Open Homepage优化方案分享-甘梦杰.pptx   Homepage优化方案分享-甘梦杰.pptx 19 10 2022, 10:10 上午 一、性能检测工具lighthouse(可使用调试器里lighthouse) 公司已搭建lighthouse-ci工具 ,可用vpn访问http://10.16.12.74:

Frontend Security

一、Cross-Site Scripting(跨站脚本攻击)简称 XSS,是一种代码注入攻击。攻击者通过给目标网站注入脚本,诱导用户点击,使得脚本最终在用户的浏览器上执行。为了和 CSS区分,改名为 XSS。 防范方法:CSP通用策略、HTML转义、过滤能够注入脚本的标签如 < script>、Cookie设置HttpOnly 修复xss问题建议统一步骤: 1、使用第三方库x

生成带重复的笛卡尔乘积过程 Cartesian Product with Repetition

目录What is Cartesian Product with RepetitionCode Demo What is Cartesian Product with Repetition 比如说有两个集合: ({1, 2, 3}) ({A, B, C}) 想把他们组合成所有可能组合,比如, 1AAA 1AAB 1AAC ... 这种组合可以称为"有重复的笛卡尔积"或"带重复的笛卡尔乘积"(Ca

javac编译java后缀编成class

前言全局说明 一、编译独立.java后缀文件 此java文件,没有依赖外部任何jar包。 文件名:test_print.java 注意:在网页内容复制到.java文件里时,中文可能会导致编译报错,删除或手动输入中文内容即可。 编译命令: 编译出 .class 文件 运行命令: 二、 三、 四、 免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,

导入文件报错(common.AssertionFailed at common.Assert.verify)

导入的时候报这个错,后来发现是导入的模板格式被破坏了,本来excel中设置的下拉被粘贴没了,用原有的模板重新做了数据再导入就可以了

[转帖]oracle SGA详解

    SGA(System Global Area)系统全局区。这是一个非常庞大的内存区间,也是为什么开启oracle之后占用了很大内存的原因。     SGA分为不同的池,我们可以通过视图v$sgastat查看,如下所示。 SQL> select pool ,sum(bytes) bytes from v$sgastat gro

dbt test block 简单说明二

以前简单说明过dbt test block,属于一个自定义的扩展,同时也简单说明了一些使用,实际上dbt 的test 也是一个物化处理,支持物化的类型为test 参考manifest test 类型的定义 因为存在此定义,按照dbt 的处理会基于物化的规则来进行sql 生成处理 test 物化参考定义 参考macro 定义 老版本的global,新版本的adapter 中 test

面试官:素有Java锁王称号的‘StampedLock’你知道吗?我:这什么鬼?

一、写在开头 我们在上一篇写ReentrantReadWriteLock读写锁的末尾留了一个小坑,那就是读写锁因为写锁的悲观性,会导致 “写饥饿”,这样一来会大大的降低读写效率,而今天我们就来将此坑填之!填坑工具为:StampedLock,一个素有Java锁王称号的同步类,也是在 java.util.concurrent.locks 包中。 需要声明的是,这个类在Java的面试过程中极少被问及,

vue优化

使用key 对于通过循环生成的列表,应给每个列表项一个稳定且唯一的key,这有利于在列表变动时,尽量少的删除、新增、改动元素 使用冻结的对象 冻结的对象不会被响应化 使用函数式组件 参见函数式组件 使用计算属性 如果模板中某个数据会使用多次,并且该数据是通过计算得到的,使用计算属性以缓存它们 非实时绑定的表单项 当使用v-model绑定一个表单项时,当用户改变表单项的状态时,也会随之改变数据,从而

composition api

setup context对象的成员 成员 类型 说明 attrs 对象 同vue2的this.$attrs slots 对象 同vue2的this.$slots emit 方法 同vue2的this.$emit 生命周期函数 vue2 option api vue3 option api vue 3 composition api beforeCrea

reactivity api

reactivity api: https://v3.vuejs.org/api/reactivity-api 获取响应式数据 API 传入 返回 备注 reactive plain-object 对象代理 深度代理对象中的所有成员 readonly plain-object or proxy 对象代理 只能读取代理对象中的成员,不可修改 ref any { value:

Pinia 使用

安装 Pinia 在 Vue 应用中挂载 Pinia 在 src 目录下面创建仓库目录 store,在该目录下面创建对应的仓库文件,注意名字一般是 useXXXStore 在仓库文件中,我们可以通过 defineStore 来创建一个 pinia 仓库,如下: 创建的时候支持两种风格,选项式 API 以及组合式 API。 选项式风格 该风格基本上和之前的 Vuex 是非常相似的,只不过没有

java学习-接口

01、定义接口 接口用interface关键字去表示,不可以带私有化修饰符,比如protected、final等。接口就是用来被继承implements实现的,如果不允许访问,那就没意义了。接口同样不允许new实例化。 02.接口的作用 第一,使某些实现类具有我们想要的功能,比如说,实现了 Cloneable 接口的类具有拷贝的功能,实现了 Comparable 或者 Comparator 的类具

UES-04-扩展的对象功能

对象类型 普通对象:拥有 js 对象所有默认的内部行为。 奇异对象:某些方面,内部行为不同于默认行为。 标准对象:标准中定义的对象,可以是普通的,也可以是奇异的。 内置对象:js 运行环境提供的对象。 对象字面量扩展 当对象字面量只有属性名称时,js 引擎会在周边作用域中查找与该名称相同的变量,将变量的值赋给对应的属性。如: 对象的方法可以直接在属性名后面添加 '()' ,这种书写形式(称为

spring-cache 源码解析(无图)

spring-cache 源码解析(无图) 简介 spring-cache 提供了高效的缓存相关数据存储和删除,通过运用注解@Cachable就可以简单完成从缓存中读取数据,减少在业务代码中加入缓存,读取缓存的操作,相对方便快捷。 用例 spring-boot-starter-cache spring-boot-starter-data-redis 结合 redis + spring-cache,

Hooks

Hooks 基本介绍 Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。 Hooks 的出现,首先能解决如下的一些问题: 告别令人疑惑的生命周期 例如下面的例子,相同的代码在不同的生命周期中存在了两份 告别类组件中烦人的 this 在类组件中,会存在 this 的指向问题,例如在事件处理函数中

c++ 快速复习第一部份

去年有事无事学过一c++ ,,由于工作用不上,学来没有用,所以学得乱七八的,最近需要复习一下,因为最近想学习一下硬 件相关 第一   引用头文件和自定义头 使用建议 对于小型代码或示例代码,使用 using namespace std; 通常是安全的。对于大型项目或库,建议显式地使用 std:: 前缀,以避免潜在的名称冲突,并提高代码的可读性 和可维护性。std 命名空

PostCss

PostCss类似于一个编译器,可以将样式源码编译成最终的CSS代码 PostCss和LESS、SASS的思路不同,它其实只做一些代码分析之类的事情,将分析的结果交给插件,具体的代码转换操作是插件去完成的。 官方的一张图更能说明postcss的处理流程: 这一点有点像webpack,webpack本身仅做依赖分析、抽象语法树分析,其他的操作是靠插件和加载器完成的。 官网地址:https:

Chrome插件(Extensions)开发攻略

Chrome插件(Extensions)开发攻略   本文将从个人经验出发,讲述为什么需要Chrome插件,如何开发,如何调试,到哪里找资料,会遇到怎样的问题以及如何解决等,同时给出一个个人认为的比较典型的例子——获取网页内容,和服务器交互,再把信息反馈给用户。OK,准备开始吧,我尽量把文章写得好看点,以免读者打瞌睡。 目录 为什么需要 为什么是Chrome 需要准备什么 如何开始

Chrome插件开发1234

Chrome插件开发(一)   作为一个开发人员,我们在日常工作中肯定会用到 Chrome 浏览器,同时也会用到谷歌的一些插件,比如 Tampermonkey,AdBlock等,在之前的文章本人还用过 Tampermonkey 插件,好使又好玩,传送门  在某些时候我们会自己开发一些简单实用的插件,本章开始我们就开始学习一下如何做一些简单的谷歌插件。   一

Mysql事务原理与优化最佳实践

学习来源-图灵课堂 https://vip.tulingxueyuan.cn 说到MySQL的innodb的一大特性,就不得不说到事务。今天就学习事务。 事务 事务的定义:逻辑上的一组操作,要么一起成功,要么一起失败,中间绝对不会存在别的状态。逻辑上的一组操作,就是说这些操作都是有逻辑关系的。 我们通常说的事务是针对修改操作(新增,编辑,删除),但是查询操作也是可以加事务的。 事务有四大特性:AC

Chrome插件(扩展)开发全攻略 写在前面 我

Chrome插件(扩展)开发全攻略   写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处。本文所有涉及到的大部分代码均在这个demo里面:https://github.com/sxei/chrome-plugin-demo ,大家可以直接下载下来运行。 另外,本文图片较多,且图片服务器带宽有限,右下角

[Themaleaf]springboot添加Themaleaf,在html中获取上限文

script中 <script> var contextPath= [[@{/}]]; </script> html中,以form为例,将form前面添加"th:",其中“/account/index”为controller里定义的路径   le.li

Atomic 原子类详解

1.AtomicInteger、AtomicLong、AtomicBoolean、AtomicReference:基础 // atomicInteger:整型原子类 AtomicInteger atomicInteger = new AtomicInteger(0); atomicInteger.incrementAndGet();// 自增取新值 atomicInteger.decrementA

springboot集成redis配置及使用

首页引入redis依赖 <parent>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-parent</artifactId>  <version>2.7.12</version&

为啥在编程的世界里,日期时间处理这么难?

做过开发的同学都有体会,日期时间的处理很麻烦,稍不注意就会出现日期格式不一样,或者时间差8小时。 那为何日期时间这么难处理呢?今天我们就来梳理一下在编程的世界里,为啥日期时间这么难处理。 我们先来熟悉几个概念 1、时区(Timezone) 由于各地的日出日落时间不同,所以把全球所有地区共分为24个时区,每个时区跨越360/24=15个经度,比如伦敦位于北京的西面,那么当北京的太阳已经升起的时候,伦

[羊城杯 2020]A Piece Of Java

发现我java基础不牢,做点老题,多思考思考。 打开jar包先看到MainController.class: /index路由设置一个cookie,访问的时候没设置cookie就会重定向到hello路由。 这个cookie也就是username和password进行serialize来的,看到下面序列化和反序列化的方法: 序列化没什么好说的,反序列化这里有个serialkiller.conf,

google浏览器插件开发

项目结构 在开发Chrome插件时,以下几个文件的作用如下: manifest.json:这是Chrome插件的清单文件,用于配置插件的基本信息、权限、页面跳转等。其中包括插件的名称、版本号、图标、后台脚本、浏览器动作等信息。 background.js:这是Chrome插件的后台脚本文件,用于处理插件的后台逻辑。可以监听事件、与浏览器进行交互、执行一些后台任务等。在manifest.js

RuoYi v3.8.7(若依前后端分离版本)放行指定接口地址,不需要登录就可以访问。

注解 控制器方法上加上 @Anonymous 注解,使用这个注解需要引用 ruoyi-common 模块 修改代码 打开 src/main/java/com/ruoyi/framework/config/SecurityConfig.java 文件 96行 protected void configure(HttpSecurity httpSecurity) throws Exception

<<  <  372  373  374  375  376  377  378  379  380  381  382  >  >>