- 博客(29)
- 收藏
- 关注
原创 递增字符串
定义字符串完全由 ‘A’ 和 ‘B’组成,当然也可以全是’A’或全是’B’。如果字符串从前往后都是以字典序排列的,那么我们称之为严格递增字符串。给出一个字符串s,允许修改字符串中的任意字符,即可以将任何的’A’修改成’B’,也可以将任何的’B’修改成’A’,求可以使s满足严格递增的最小修改次数。0 < s的长度 < 100000。
2025-01-18 16:28:01
232
原创 MyBatis在SQL语句中的一些总结
最近需要把前端传回来的两个字符串列表查找数据库一张表,当两张表为空时要返回全部的数据,重要的是还要做分页,因此就限定了条件判断只能在SQL完成。${} 是进行字符串拼接,相当于sql语句中的Statement,使用字符串去拼接sql;#{}能够有效防止SQL注入,但是也有它的缺点,它会把传入的数据自动加上一个双引号,所以如果要的是数字的话,就会比较尴尬。list.size用#{}是取不出来的,需要用${},把#换成$就可以了。而${}可以直接解析出原本的数据,所以需要数值比较的话,还是要加${}。
2024-12-17 10:47:16
303
原创 vue开发环境,生产环境实现跨域请求使用nginx
上述配置文件中,http对象中包括一个server,是用来搭建服务器的,linsten和server_name是你项目要部署的地址和端口号,location后面的/api是为了快速匹配下面的对应地址,proxy_pass是实际要请求的服务器地址,第二个location下面的root指向项目地址,这里是xiangmu文件夹下的dist文件夹,因为我们知道vue项目打包后会生成dist文件夹,文件夹中会有一个index.html文件。可以部署nginx解决此问题。然后我们再浏览器中访问我们的部署地址即可。
2024-10-15 09:32:49
342
原创 AttributeError: ‘NoneType‘ object has no attribute ‘write‘
pyinstaller打包生成的exe打开报这个错误,起初我以为数组中有None这个类型写入文件就会报这个错误,但查了资料发现有可能导入的文件有parser = argparse.ArgumentParser()这个需要命令行输入的代码导致了这个错误,发现降低pyinstaller版本可以解决这个问题,于是把pyinstaller6.9.0降到5.6.2。,这个就是该模块没能正确配置,于是又把pyinstaller升级回6.9.0,并取消导入需要命令行输入的文件。
2024-07-29 14:44:38
608
原创 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)解决办法
quit(退出mysql)(输入新密码,再次登录)图示:成功!
2024-05-08 17:04:16
1543
1
原创 Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveE
一般就是配置出了问题,所以要记住自己加入了哪些插件。有可能上一次编译通过,这一次就出现这样的问题,有可能是这一次虽然没有添加插件,但是增加的代码使用到了这些插件,造成冲突,因此解决冲突才行。我就是自己加的compose.runtime和系统加的冲突了,去掉自己加的就可以了,
2024-04-03 09:15:29
2371
1
原创 关于compose和kotlin的一些兼容性问题
最近需要将项目中的一些模块封装成aar给客户使用。于是新建了构建脚本为KSL项目。但在项目模块迁移的过程中出现了兼容性问题。以下是需要封装模块下的build.gradle.kts。以下是app下的build.gradle.kts。以下是项目下的build.gradle.kts。和kotlin的兼容性问题。
2023-12-18 14:26:26
2752
原创 android studio新版本gradle Tasks找不到assemble
最近需要打包arr,但android studio新版本为了加快编译速度,取消了gradle下的assemble任务,网上还没有博主更新解决方案,因此一直找不到解决方案,后来尝试如下操作才解决,方便后来者解决。
2023-11-13 14:24:38
1688
2
原创 关于compose AndroidView更新及生命周期的监听。
从源码中可以看出有三个参数,factory就是要添加的view控件,在update中对控件进行更新。有时候需要在compose中使用原生view体系,那么将会用到AndroidView这个控件。
2023-08-04 10:10:57
645
原创 如何使两个compose LazyColumn同步滑动
在这个示例中,我们创建了两个 Compose LazyColumn,并将它们的滚动状态指定为 `scrollState`。2. 在每个 Compose LazyColumn 中使用 `rememberScrollState()` 来创建一个可以记忆和共享的滚动状态。1. 创建一个共享的可滚动控制器(ScrollState),用于控制两个 Compose LazyColumn 的滚动位置。4. 监听可滚动控制器的滚动位置变化,并将其应用到另一个 Compose LazyColumn 中。
2023-07-05 10:00:41
584
原创 两个compose LazyColumn滚动同步联动
有个需求是列表数据比较多,因此列表需要实现上下左右滑动,并且表头固定。也就是第一列和第一行要固定,以方便用户对齐查看。在View体系下实现是将list滑动数据通过接口发给表头联动,但在compose下如何联动呢。查找发现这里也有这样的需求。
2023-07-04 15:42:48
651
原创 DataBindingUtil.setContentView报Not enough information to infer type variable T
解绝Not enough information to infer type variable T
2022-12-16 16:12:58
1029
原创 android studio 新版本2021.3.1依赖库新方式
今天构建项目发现有依赖下载不下来,发现新版本增加依赖库不再在项目的build.gradle中增加而是在settings.gradle中增加。
2022-10-24 13:50:13
1445
原创 Collections.sort排序问题
当服务端返回的字段为字符串时要转成整型,不然排序是这样1,10,11,12,2,3,4,5,6,7,8,9//排序if(Build.VERSION.SDK_INT <= Build.VERSION_CODES.N_MR1){ Collections.sort(data, new Comparator<H5AppModel>() { @Override public int compare(H5AppModel o1, H5AppModel o
2022-05-23 11:51:41
429
原创 2021-03-15
在安卓清单文件AndroidManifest中的Application标签中的name属性用于标记继承自application的类,如果不增加这一属性,系统将默认该类为普通类,相关继承将得不到执行,该类也不会以application进行初始化。在获取实例时将报空指针错误。...
2021-03-15 17:24:25
147
原创 重新进入应用,或者activity被finish()后Fragment不显示的问题。
今天开发过程中遇到按返回键退出程序或者使用finish()退出活动返回登录界面后重新进入fragment不显示的问题。后来发现活动被finish()后之前创建的fragment依然存在,而重新进入活动后活动重新创建,而由于在创建fragment单例模式中使用懒汉模式,使fragment不能重新创建,而之前创建的fragment不能显示在新创建的活动中,因此将出现fragment不显示的情况。创建fragment的代码如下:将其改为饥饿模式后如下:这样每次重新进入活动后fragment就会重新
2020-10-17 21:13:56
1065
原创 三次握手中确认号和序列号为什么要加一?
网上没有明确的说明为什么三次握手中为什么确认号和序列号要加一,三次握手如下:其中客户端的序列号在第二次握手中被服务端的确认号加一,而客户端在第三次握手将自己的序列号加一,在确认号中将服务端的序列号进行加一,那么这些序列号和确认号不加一行不行呢,答案肯定是不行的,这样设计肯定有他的道理。先来看看实际数据收发的过程:在图中可以看到序列号和确认号不一定加一,而是和发送和接收的数据有关。如果没有发送数据序列号是要加一的,但如果发送了数据则下一次发送的序列号就不是加一了而是加上发送的数据量,而如果
2020-10-01 20:34:35
2188
原创 记一题有趣的有关操作系统的题目
题目如下:众所周知,fork()执行一次将给父进程创建一个子进程,在创建成功的情况下父进程将返回子进程的pid,而子进程将返回0。那么来看题目,第一行的fork将为main()函数创建一个子进程,此时共有2个进程。第二行的fork的第一个fork()函数将为2个进程创建一个子进程,此时将有4个进程。但子进程的返回值是0,所以第二个fork()函数只有2个父进程创建了2个子进程,此时将有6个进程。同理,第三个fork()也只有2个父进程创建了子进程,此时将有8个进程。第三行的fork的第一个for
2020-08-06 20:41:20
819
原创 怎么根据0-5随机函数得到0-8随机函数
先说说想法,可以使用0-5随机函数产生0-11的随机函数,再使用0-11随机函数产生0-8的随机函数,代码如下:#include<stdio.h>#include <stdlib.h>#include <time.h>int rand0to5(){ return rand() % 6;}int rand0to11(){ if (rand0to5() <= 2) { return rand0to5(); } else {
2020-07-26 22:49:13
1461
2
原创 输出斐波那契数列的前n项,n由键盘输入
问题描述:输出斐波那契数列的前n项,n由键盘输入,你只能使用有限个中间变量,不能使用数组。#include <stdio.h>void fib(int n){int i,a,b,c;for(i=0;i<n;i++){if(i>1){ c=a+b; printf("%d ",c); a=b; b=c;}else{ a=1; b=1; printf("1 ");}}}int main(void)
2020-07-19 11:20:07
7337
原创 编写一个程序,能在数组中查找某个特定的数据元素。
任务描述本关任务:编写一个程序,能在数组中查找某个特定的数据元素。 与第一关不同的是,数组中的元素是从小到大有序存放的。编程要求根据提示,在右侧编辑器补充代码,能在数组中查找某个特定的数据元素,无论是否找到,都将返回数据比较的次数。 你的查找算法的复杂度要满足O(logn)测试说明平台会对你编写的代码进行测试:测试输入:66 预期输出:1测试输入:123 预期输出:3测试输入:-90 预期输出:0测试输入:900 预期输出:0测试输入:189 预期输出:3#in
2020-07-18 23:04:04
5838
1
原创 记一题在腾讯笔试中遇到的题
题目大概是有一颗无限深的满二叉树,从根节点为1开始编号,第二层为2、3,第三层为4、5、6、7以此类推。输入x、k代表节点序号和层数,输出x在k层上的祖先节点,如果不存在则输出-1,输入x、k之前需要询问要输入多少次。输入输出示例如下:input:410 110 210 310 4output:125-1以下是测试没有通过的代码:#include<std...
2020-04-27 16:39:17
259
原创 总结一下快速排序算法
使用快速排序算法将数组中的数从小到大排序:先取数组第一个数,先用最后一个元素这个元素比较,如果比这个小,就将这个数放到第一个位置。如果比这个数大,就往前取数,直到遇到的数比这个数小。然后用数组第一个数和这个数比,如果比这个数大就将这个数放到之前取数的位置,如果比这个数小就向后取数,直到比这个数大。然后把这个数放到这里。第一步排序完成。数组就会被按这个数分成两部分,前面部分中的数都比这个数小...
2020-04-22 17:04:44
336
原创 Android studio 升级3.6.2后出现的问题
鉴于Android studio近期刚刚升级到3.6.2,遇到问题网上的方法并不一定能解决问题,因此总结一下。首先安装时不要导入之前版本的设置,还有不要设置代理,之前设置代理的请检查是否去掉了VPN代理,检查C:\Users***.gradle 下面的 gradle.properties文件中,去掉代理的那几行内容。如果还是不行就修改文件 build.gradle将buildscrip...
2020-04-16 18:05:29
632
原创 AndroidStudio导入项目报Error:Unsupported method: BaseConfig.getApplicationIdSuffix().解决方案
这个报错是在Event log窗口中报出的,不能根据提示到设置中勾选他提示的选项,而是由于build:gradle版本过低导致的,应按提高其版本,如下:
2019-12-23 11:48:35
423
原创 android studio导入eclipse项目后报error: file failed to compile.
最简单的方法是用文件管理器把.9.png中的.9删掉,让文件名只有一个点,Android studio会自动在项目中修改,当然如果文件很多的情况下可能比较麻烦,这种情况下推荐在app中的build.gradle下添加这是比较推荐的方法。...
2019-12-22 14:01:12
6065
1
原创 关于python继承类的问题
在file1创建一个类后,想要在file2中继承fiel1中的父类,需要在file2中引入file1中的类,使用的是from file1 import A而如果直接import file1编译就会出错,当在file3中想调用file2中的继承类时,需要直接import file2而不是from file2 import B。当然如果想使用file2中的继承类的同时使用file1中的父类,也需要im...
2019-10-02 10:27:51
238
原创 IT从业者的内心直白:牛逼都是苦逼造就的
天是无比的燥热,如同人心一般,每天都茫茫碌碌,竟忘了自己究竟需要什么。时光总是匆匆而过,而功业如此难成。每个人都有失意的时候,谁都不可能一帆风顺,所谓生活,大概就是这个样子吧。世界总是如此的微妙,你以为自己足够优秀,在别人所谓膜拜的目光中暗暗自喜,做着凌驾于他人之上的美梦,其实,你并没有多优秀,甚至很多方面你比别人如此的平庸,人家在某些方面不如你而膜拜你,那是人家的涵养,而你却把它当作炫耀的资本,...
2018-05-22 20:59:39
375
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人