- 博客(282)
- 资源 (1)
- 问答 (6)
- 收藏
- 关注
原创 解决mac运行scrcpy报错库找不到的问题
scrcpy是一个手机投屏工具,非常好用,但运气不佳也会遇到一些问题。本文记录了在mac上碰到的libmbedcrypto找不到问题的解决方案
2024-02-24 14:49:14 1027
原创 git学习笔记之用命令行解决冲突
一般来说,当使用git检测到源分支和目标分支发生冲突时,我们习惯用IDE在本地进行冲突的解决,再合并、push。但如果冲突文件不多,我们大可以直接用命令行去解决冲突。
2023-10-22 17:16:38 479
原创 Android开发之lint代码检测编写和使用方法
本文记录了Android开发中使用lint对代码进行静态检测的方法,并用Log方法检测和Toast硬编码检测对项目结构、依赖方式、lint检查器的注册、编写和使用方式进行了详细说明。
2023-09-09 11:50:54 776
原创 MySQL学习笔记之分析查询语句explain
本文记录了MySQL中explain语句的学习过程,结合实例展示了explain中的常用字段的含义。
2023-07-15 11:00:42 1407
原创 MySQL学习笔记之监控分析视图-sys.schema
类型开头描述主机相关主要汇总了IO延迟信息InnoDB相关innodb汇总了InnoDB的缓存信息和事务等待InnoDB锁的信息IO相关io汇总了等待IO、IO使用量情况内存使用情况memory从主机、线程、事件等角度展示内存的使用情况连接语会话信息processlist和session相关视图总结了会话相关信息表相关展示了表的统计信息索引信息统计了索引的使用情况,包含冗余索引和未使用的索引语句相关statement包含执行全表扫描、临时表、排序等语句信息。
2023-07-09 11:04:26 656
原创 MySQL学习笔记之索引优化与查询优化
本文记录了MySQL学习笔记中的查询优化和索引优化。索引优化部分列举并分析了索引失效的各种场景,查询优化部分包括了关联查询优化、子查询优化、排序优化、分组查询优化、分页查询优化,还介绍了覆盖索引、索引下推等概念和使用场景。最后,对比了普通索引和唯一索引、count(*)、count(1)和count(字段)的效率、exists和in的区分等优化手段。
2023-06-22 11:29:31 1117
原创 MySQL学习笔记之数据提交与回滚、DDL和DML
DML默认情况下也是执行后不可回滚,但如果在执行之前执行了set autocommit = false,则可以回滚。DDL:数据定义语言,包括建库、建表、设置约束、加列、删列、删库、删表;DML:数据操作语言,表内容数据级别的增删改查,和存储过程或函数调用。DDL的操作一旦执行,而且执行后肯定会执行一次数据提交,不可回滚;: 删除表内容,数据范围可定义,可以回滚。: 清空全部表内容,不可回滚;
2023-06-18 09:01:22 550
原创 MySQL学习笔记之触发器
触发器是由事件触发的某个操作,事件包括增删改事件,操作就是我们定义的触发器操作。本文结合使用案例,介绍了触发器的创建、触发、删除、查看等生命周期,最后说明了触发器的优缺点和注意事项。
2023-05-13 09:57:34 651 1
原创 MySQL学习笔记之存储过程与存储函数
本文记录了MySQL中存储过程和存储函数的学习过程,包括创建、调用、传参、返回值的使用方法,以及存储过程和存储函数本身的修改、查看和删除,最后对比了存储函数和存储过程的区别,和优缺点。
2023-04-22 13:24:59 572
原创 MySQL学习笔记之多表连接
多表连接,就是从多张表中查找符合条件的数据交集,包括自连接、内连接、外连接(左外连接、右外连接),顺便介绍下union关键字。
2023-04-05 10:47:14 177
原创 MySQL学习笔记之常用辅助函数
本文记录了MySQL中一些常用的辅助函数,如加密函数、信息函数(查看版本、连接ID、schema、字符集等),以及进制转换、四舍五入、IP地址和数字的转换等
2023-03-11 10:50:27 208
原创 git用命令行解决冲突
一般来说,我们用github/gitlab向远程推送代码、遇到冲突时,都会选择在IDE中通过点击按钮来解决冲突。但有时IDE卡死了,不想重启、不想等的话,就不得不转用命令行来解决冲突了,本文介绍两种在IDE之外,解决冲突的方法。
2023-02-18 11:16:35 525
原创 git中cherry-pick报错fatal: bad object commit_id的解决方法
本文记录一下git中cherry-pick报错fatal: bad object commit_id的解决方法
2023-02-11 10:03:40 2954
原创 Gradle学习笔记之build.gradle文件
是gradle构建脚本文件,支持java、groovy等语言。每个gradle项目或模块都会有一个文件,该文件是项目构建的入口,可配置版本、插件依赖库等信息。每个build文件都有一个对应的project实例,配置文件,实际就是设置project实例里面的属性,或者调用里面的方法。根项目的project实例可以获取到所有子项目或子模块的project实例,因此我们可以在根项目的文件中对子项目进行统一配置,比如应用插件、依赖的maven中心仓库等,常见的Project和Task。
2023-01-14 10:41:10 3676
原创 Gradle学习笔记之依赖
本文描述了Gradle中依赖相关知识,包括依赖方式、api和implementation的区别、依赖冲突时的处理方法等
2022-12-31 12:01:11 6183
原创 Gradle学习笔记之文件操作
Gradle中的文件操作方式有五种:本地文件、文件集合、文件树、文件拷贝和归档文件,本文给出了这五种文件操作方式的案例
2022-12-24 11:03:09 2051
原创 Gradle学习笔记之Groovy简单使用
groovy可以当成java的脚本化改良版,同样运行于JVM之上,可以很好地和java代码及相关库进行交互,既可以面向对象编程,也可以用作纯粹的脚本语言。Groovy支持动态类型转换、闭包、元编程、函数式编程、默认作用域为(不支持)、基本类型为对象(可以直接调用对象的方法)、支持领域特定语言DSL和其他简洁语法,并且完全兼容java语法。
2022-12-04 14:19:06 1143
原创 Gradle学习笔记之第一个Gradle项目
Gradle是Android构建的基本工具,因此作为Android研发,有必要系统地学一学Gradle,环境windows就可以。
2022-11-26 11:34:37 1183
原创 ClickHouse学习笔记之备份和恢复
ClickHouse允许使用查询已创建表分区的本地副本,这是利用硬链接到目录中实现的,所以它通常不会因为旧数据而占用额外的磁盘空间。创建的文件副本不由ClickHouse服务器处理,所以不需要任何的外部系统就可以有一个简单的备份。为了防止硬件问题,最好将这些备份复制到另一台主机上,再删除本地副本。
2022-11-19 10:45:34 2573
原创 ClickHouse学习笔记之监控
ClickHouse运行时会将一些自身的运行状态记录到众多系统表中(system.*),所以我们对于ClickHouse的运行指标的监控,也主要来自于这些系统表,但是这种方式有两个弊端:1)、过于底层,不够直观,我们需要可视化展示;2)、系统表只记录了ClickHouse自身的运行指标,有时候我们需要通过外部系统的指标进行关联分析,比如ZooKeeper、服务器CPU等。
2022-11-12 10:41:55 1372
原创 ClickHouse学习笔记之MaterializeMySQL引擎
MySQL用户群体很大,为了增强数据的实时性,很多解决方案会利用binlog将数据写入到ClickHouse。为了能够监听binlog事件,我们需要利用类似canal这样的中间件,但这样会增加系统的复杂度。ClickHouse20.8.2.3版本新增了MaterializeMySQL这一数据库引擎,该引擎能够把ClickHouse中某个数据库映射到MySQL中的某个数据库,并自动在ClickHouse中创建对应的`ReplacingMergeTree`。ClickHouse以此作为MySQL的副本,读取B
2022-11-05 17:36:24 550
原创 ClickHouse学习笔记之数据一致性
ClickHouse中,即使是对数据一致性支持最好的合并树引擎,也只能保证最终一致性。例如,对数据的去重只会在数据合并期间进行,合并会在后台一个不确定的时间进行,因此我们不能与先做出计划,从而有一些数据在被读取时可能仍未被处理。尽管我们可以通过optimize语句发起计划外的合并,但那会引发大量的数据IO,因此不要依靠该语句。所以,适用于后台清除重复数据以节省空间,但不能保证没有重复的数据出现。我们在使用、这类表引擎时,会出现短暂的数据不一致的情况。
2022-10-22 11:39:36 1082
原创 ClickHouse学习笔记之分片集群
副本虽然可以提高数据的可用性,但每台服务器必须容纳全量数据,没有支持数据的横向扩容。要解决数据水平切分问题,需要引入分片的概念,通过分片把一份完整的数据进行切分,不同的分片分布到不同的节点上,再通过分布表引擎把数据拼接起来使用。分布引擎本身不存储数据,而是通过分布式逻辑进行不同分片的分布式数据的写入、分发和路由。因为ClickHouse的集群是表级别的,所以实际企业大部分做了高可用,但没有分片,以避免降低查询性能和操作集群的复杂度。
2022-10-08 10:49:32 1698
Android中的assets目录,如何对其进行文件的删除?
2019-01-22
Andfix报错NotADexFile,如何解决?
2018-12-04
Android的ndk开发,动态注册报错
2018-05-20
有人尝试过在Android的Application里创建文件吗?
2018-04-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人