• mybaits-plus lambdaQuery() 和 lambdaUpdate() 常见的使用方法

    目录 mybaits-plus lambdaQuery() 和 lambdaUpdate() 比较常见的使用方法 简介 前言 学生类 mybaits-plus lambdaQuery() 和 lambdaUpdate() 比较常见的使用方法 简介 MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 愿景我们的愿景是成为 MyBa

    2023-01-17
  • 一文掌握git push命令

    目录 PS:git push 命令详解 直到最近通过一写练习才更加清晰了一点 1. 无参数,直接 git push 2. git push -u origin 当前分支名 or git push --set-upstream origin abc 3. git push --all 以上列举的参考文献将的非常棒,是目前我见到的写的最完整的. git push命令用于将本地分支的更新,推送到远程主机.它的格式与git pull命令相仿. git push <远程主机名> <本地分支名>

    2023-01-17
  • Android蓝牙服务启动流程分析探索

    目录 1.SystemServer 2.BluetoothService 3.BluetoothManagerService 首先我们要知道,主要系统服务都是在 SystemServer 启动的,蓝牙也是如此: 1.SystemServer 源码路径:/frameworks/base/services/java/com/android/server/SystemServer.java private void startOtherServices(@NonNull TimingsTraceAnd

    2023-01-17
  • 如何利用rabbitMq的死信队列实现延时消息

    目录 前言 mq基本的消息模型 mq死信队列的消息模型 maven依赖 配置普通队列和死信队列 死信队列消费者 发送消息测试 测试成功 总结 前言 使用mq自带的死信去实现延时消息要注意一个坑点,就是mq只会检测队首的消息的过期时间,假设先放入队列10s过期消息,再放入2s过期. mq会检测头部10s是否过期,10s不过期的情况下,2s就算过去也不会跑到死信. mq基本的消息模型 mq死信队列的消息模型 简单的说就是先弄一个正常队列,然后不要设置消费者,接着给这个正常队列绑定一个死信队列,这个死

    2023-01-17
  • python中统计相同字符的个数方法实例

    目录 输入描述: 输出描述: 知识点: 1.Python 字符串中strip()方法 2.Python 字符串中split()方法 3.Python 字符串中lower()方法 补充:python统计两个字符串从首字符开始最大连续相同的字符数 总结 描述 写出一个程序,接受一个由字母.数字和空格组成的字符串,和一个字母,然后输出输入字符串中该字母的出现次数.不区分大小写,字符串长度小于500. 输入描述: 第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字母. 输出描述: 输出输入

    2023-01-17
  • 内存泄漏检测工具LeakCanary源码解析

    目录 前言 使用 源码解析 LeakCanary自动初始化 如何关闭自动初始化 LeakCanary初始化做了什么 ActivityWatcher FragmentAndViewModelWatcher RootViewWatcher ServiceWatcher Leakcanary对象泄漏检查 总结 前言 LeakCanary是一个简单方便的内存泄漏检测工具,它是由大名鼎鼎的Square公司出品并开源的出来的.目前大部分APP在开发阶段都会接入此工具用来检测内存泄漏问题.它让我们开发者可以在

    2023-01-17
  • Go经典面试题汇总(填空+判断)

    目录 填空题 1.   [初级]声明一个整型变量i__________ 2.   [初级]声明一个含有10个元素的整型数组a__________ 3.   [初级]声明一个整型数组切片s__________ 4.   [初级]声明一个整型指针变量p__________ 5.   [初级]声明一个key为字符串型value为整型的map变量m__________ 6.   [初级]声明一个入参和返回值均为整型的函数变量f__________ 7.   [初级]声明一个只用于读取int数据的单向ch

    2023-01-17
  • pandas归一化与反归一化操作实现

    import numpy as np import pandas as pd import matplotlib.pylab as plt if __name__ == '__main__': """ 原数据 """ df = pd.DataFrame({'A': [10, 20, 30], 'B': [1, 2, 6]}) # 图表 plt.plot(df) plt.show() """ 归一化 "&qu

    2023-01-16
  • Pandas检查dataFrame中的NaN实现

    目录 检查Pandas DataFrame中的NaN值 方法1:使用isnull().values.any()方法 方法2:使用isnull().sum()方法 方法3:使用isnull().sum().any()方法 方法4:使用isnull().sum().sum()方法 参考 NaN代表Not A Number,是表示数据中缺失值的常用方法之一.它是一种特殊的浮点值,不能转换为浮点数以外的任何其他类型. NaN值是数据分析中的主要问题之一,为了得到理想的结果,对NaN进行处理是非常必要的.

    2023-01-16
  • Flutter封装组动画混合动画AnimatedGroup示例详解

    目录 一.来源 二.AnimatedGroup使用示例: 三.AnimatedGroup源码 最后 一.来源 项目中遇到混合动画的情况,每次实现都需要生命一堆属性,让代码变得杂乱,难以维护. 参考 iOS 组动画 CAAimationGroup, 随花半天时间封装一个混合动画组件 AnimatedGroup. 此组件基于极简.高扩展.高适用的封装原则,基本满足当前项目开发. 二.AnimatedGroup使用示例: // // AnimatedGroupDemo.dart // flutter_

    2023-01-16
  • Vue3源码分析reactivity实现方法示例

    目录 深入分析对于map.set.weakMap.weakSet的响应式拦截 (1).mutableInstrumentations (2).shallowInstrumentations (3).readonlyInstrumentations (4).shallowReadonlyInstrumentations ref.computed等方法的实现 (1).ref与shallowRef源码解析 (2).toRefs (4).computed (5)其他api源码 最后总结: 深入分析对于m

    2023-01-16
  • SpringBoot整合Mybatis与MybatisPlus方法详细讲解

    目录 一.整合MyBatis操作 1.配置模式 2.注解模式 3.混合模式 二.整合 MyBatis-Plus 完成CRUD 1.什么是MyBatis-Plus 2.整合MyBatis-Plus 3.CRUD功能 一.整合MyBatis操作 官网:MyBatis · GitHub SpringBoot官方的Starter:spring-boot-starter-* 第三方的starter的格式: *-spring-boot-starter <dependency> <groupId>

    2023-01-16
  • PostgreSQL 复制表的 5 种方式详解

    目录 CREATE TABLE AS SELECT 语句 CREATE TABLE LIKE 语句 CREATE TABLE AS TABLE 语句 SELECT INTO 语句 CREATE TABLE INHERITS 语句 PostgreSQL 提供了多种不同的复制表的方法,它们的差异在于是否需要复制表结构或者数据. CREATE TABLE AS SELECT 语句 CREATE TABLE AS SELECT 语句可以用于复制表结构和数据,但是不会复制索引. 我们可以使用以下语句基于

    2023-01-16
  • Golang精编49面试题汇总(选择题)

    目录 Golang精编100题 能力模型(测试) 选择题 1.   [初级]下面属于关键字的是() 2.   [初级]定义一个包内全局字符串变量,下面语法正确的是() 3.   [初级]通过指针变量 p 访问其成员变量 name,下面语法正确的是() 4.   [初级]关于接口和类的说法,下面说法正确的是() 5.   [初级]关于字符串连接,下面语法正确的是() 6.   [初级]关于协程,下面说法正确是() 7.   [中级]关于init函数,下面说法正确的是() 8.   [初级]关于循环

    2023-01-16
  • pandas按某列降序的实现

    升序 import pandas as pd import numpy as np data = np.random.randint(low=2,high=10,size=(5,3)) data2 = np.random.randint(low=2,high=10,size=(5,3)) df1 = pd.DataFrame(data,columns=["a","b","c"],index=range(5)) df2 = pd.DataFrame

    2023-01-16
  • Python import导入上级目录文件的方法

    目录 1.导入同级模块 2.导入下级模块 3.导入上级模块 4.导入隔壁文件夹下的模块 5.常见错误及import原理 假设有如下目录结构: -- dir0 | file1.py | file2.py | dir3 | file3.py | dir4 | file4.py dir0文件夹下有file1.py.file2.py两个文件和dir3.dir4两个子文件夹,dir3中有file3.py文件,dir4中有file4.py文件. 1.导入同级模块 python导入同级模块(在同一个文件夹中的

    2023-01-16
  • FastJson实现驼峰下划线相互转换方法详解

    目录 PropertyNamingStrategy 发挥作用的是translate方法 指定反序列化格式 智能匹配功能 fastjson智能匹配处理过程 关闭智能匹配的情况 PropertyNamingStrategy 有四种序列化方式. CamelCase策略,Java对象属性:personId,序列化后属性:persionId – 实际只改了首字母 大写变小写 PascalCase策略,Java对象属性:personId,序列化后属性:PersonId – 实际只改了首字母 小写变大写 Sn

    2023-01-16
  • 图文详解Vue3没有代码提示问题的解决办法

    在上一篇笔记中提到了Vue3+vite+Ts写代码过程中,出现的代码自动补全失效功能,今天来谈谈如何解决这个问题. 首先,我们已经很明确的就是安装了volar插件之后,HTML标签片段补全已经失效,即在template中书写HTML标签时,不会再有代码补全,即输入“div”,就是“div”,而不再是“<div></div>”,为了解决这个问题,我们需要在不删除volar插件的同时,对Vscode做一些配置. 打开设置,进入到如下界面: 选择 文本编辑器 -> 文本 ->

    2023-01-16
  • python3 wechatpy微信支付的项目实践

    目录 1.公众号申请及配置流程 2.python wechatpy操作 记录一下微信支付整个流程 1.公众号申请及配置流程 使用微信支付的前提是必须要有公众号. 申请链接: 微信公众号申请.记得选择服务号,根据操作提示完成资料填写配置公众号参数(JS接口设置,ip白名单设置,关联商户,微信支付申请,获取开发者ID(AppID),开发者密码(AppSecret),商户号id,商户号秘钥,证书和证书秘钥) JS接口设置:由于最终是前端调起JSAPI支付,所以得配置下前端域名. 2.ip白名单设置,获

    2023-01-16
  • mysql alter添加列的实现方式

    目录 mysql alter添加列 alter的执行过程如下 mysql基础之alter字段解读 1.先创建一张表testalter_tbl 2.删除,添加或修改表字段 3.修改字段类型及名称 4. ALTER TABLE 对 Null 值和默认值的影响 总结 mysql alter添加列 当表中的数据量不是很大的时候可以直接使用alter命令添加新列,5.6及其之前的版本会将表锁住. alter的执行过程如下 1.将原表锁住,不能进行更新.插入.删除等修改操作 2.创建了一个临时表,添加想要的

    2023-01-16