- 博客(75)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 gitlab内置pgsql数据库迁移
检查 /var/opt/gitlab/postgresql/data/pg_hba.conf文件。原因:postgres只开启了对等认证,可以用其他用户,或者修改postgres为md5密码认证。默认的gitlab的账户是开启了对等和映射,如果出现下面的错误,请继续看,没有则跳过。加入 gitlab root gitlab ,讲gitlab映射到root用户。下面的开启了对等和映射,直接登录的话,本地没有gitlab的会无法通过。默认会备份到 /var/opt/gitlab/backups路径中。
2025-04-10 17:12:57
1152
原创 sqlserver-对已存在的数据表新增主键
填充新列的数据: 使用ROW_NUMBER()函数为每条记录生成一个唯一的ID值。注意:这里的(SELECT NULL)只是一个占位符,表示无特定顺序。根据实际需求选择合适的排序依据。修改列以添加IDENTITY属性: SQL Server不允许直接修改一个已存在的列以添加IDENTITY属性。因此,通常的做法是创建一个新表,然后复制数据过去。然后,删除旧表并重命名新表:最后,添加主键约束(如果在前面步骤中未定义):方法二(快速有效,但是要注意锁表)一. 直接添加IDENTITY类型的字段
2025-03-18 14:18:15
370
原创 gitlab修改root密码详细详情,高版本通用
如果新密码不起作用,可能是电子邮件确认问题。您可以尝试在 Rails 控制台中修复此问题。Rake 任务可以接受用户名作为参数。通过设置和 的值来重置密码user.password_confirmation。GitLab 请求用户名、密码和密码确认。完成后,用户密码将被更新。使用以下信息来解决重置用户密码时出现的问题。1.打开Rails 控制台。果:重新设置复杂密码。
2024-11-11 11:43:41
754
原创 【已解决】docx4j 结合Thymeleaf 的各种依赖问题(坑)
最近来个需求,复杂的word样式。这边采用的是docx4j 结合Thymeleaf。寻求chatGPT快速使用引发了一些问题。
2024-10-16 15:46:12
1082
原创 某乎接口zse96解析(附带可直接运行js)
某乎接口zse96解析下面是作者呕心沥血,观看各路大神和某乎js拼接在一起的js,附带浏览器环境,可以直接运行示例接口多请求几次发现,出来zse96在变化之外,其余的基本不变,那么源码中直接搜索x-zse-96,得出下面2个函数var tE = eo(te, tp.body, { xUDId: tv, zse93: tT, xAppVersion: tm, authId: tw, x
2024-10-14 11:35:55
609
原创 组网神器wireguard快速入门及常见问题
由 Jason Donenfeld 等人用 C 语言编写的一个开源 威屁恩 协议,被视为下一代 威屁恩 协议,旨在解决许多困扰IPSec/IKEv2、Open威屁恩 或 L2TP 等其他 威屁恩 协议的问题。它与 Tinc 和 MeshBird 等现代 威屁恩 产品有一些相似之处,即加密技术先进、配置简单。从 2020 年 1 月开始,它已经并入了 Linux 内核的 5.6 版本,这意味着大多数 Linux 发行版的用户将拥有一个 开箱即用的 WireGuard。
2024-09-23 17:20:01
6773
原创 android studio 无法识别androidTest模块Test模块
androidTest是UI测试,可以运行在设备或虚拟设备上,需要编译打包为APK在设备上运行版本依赖 android studio 2023.2.1gradle + kts架构。
2024-07-31 17:39:28
661
原创 Compose:页面重组分析案例
刚刚开始学安卓的时候,各种xml,activtiy,以及监听的事件的繁琐调用,接触了compose大大简化了代码量,但是随着页面复杂化,出现重组次数太多导致页面卡顿感。
2024-07-18 11:18:36
939
原创 【QQ】创建一键加群链接,ios代码,安卓代码
1.进入QQ群WEB管理页面: https://qun.qq.com。选择指定的群,选择生成代码方式,直接生成即可。登陆QQ账号,点击加群组件。
2024-06-28 15:21:41
2657
原创 material3中不存在PullRefresh及rememberPullRefreshState
存在material1.3中,并不存在于material3中,请各位水文不要打着material3的名头,发无意义的文章。在安卓开发中,下拉刷新是一个非常常用的功能,几乎只要是涉及到列表展示数据的界面都会用到它。而 Compose 却直到 2022年10月份才在 compose.material:1.3.0 中添加了对下拉刷新的支持:Modifier.pullRefresh。在此之前,我们只能使用 accompanist-swiperefresh 来实现下拉刷新。
2024-05-09 11:46:26
721
原创 compose-material3 实现Dropwmenu下拉菜单并弹窗
下拉菜单的行为类似于弹出窗口,并将使用父布局的位置来定位自己在屏幕上的位置。通常,下拉菜单将被放置在一个具有兄弟框的框中,该框将被用作“锚”。请注意,DropdownMenu本身不会占用布局中的任何空间,因为菜单显示在一个单独的窗口中,位于其他内容的顶部。DropdownMenu的内容通常是DropdownMenuItems,以及自定义内容。使用DropdownMenuItems将产生一个与菜单材质规范匹配的菜单。
2024-04-30 14:26:02
1294
原创 compose调用系统分享功能分享图片文件
本案例采用 provider来分享当前应用下的文件,其他系统文件直接通过context地址直接获取本案例是直接 【MediaProvider】content://media/external/images/media,来让其他app直接访问,如果是系统文件请直接忽略provider相关设置。
2024-04-29 15:57:11
841
原创 material3 中底部弹窗ModalBottomSheet
如果你在on遣散请求之外提供逻辑来删除表单,你必须额外处理预期的状态清理,才能使用sheetState.hide()进行清理。由于ModalBottomSheetLayout在material3中被抛弃,所以采用ModalBottomSheet。通过State来重新重组ui,实现点击开启,点击关闭的结果,
2024-04-26 16:57:25
819
原创 android studio启动虚拟器失败
#问题二:android studio启动虚拟机长时间无响应,无法启动。在任务管理器中找到该进程,结束任务即可。提示已经运行中,可以删除锁重试。无法删除,提示已经在运行。
2024-04-18 18:18:18
3640
2
原创 python-泛型实现,类型检查
在Python中,没有像Java中的泛型那样的明确语法来指定类型参数。Python是一种动态类型语言,可以灵活地处理不同类型的对象。然而,如果你希望在Python中添加泛型的注释或提示,以提高代码的可读性和类型安全性,可以使用类型提示。类型提示是一种Python的特殊语法,用于指定变量、函数参数和返回值的类型信息。要在Python中添加类型提示,你可以使用typing模块中的泛型类或泛型类型。下面是几个常用的泛型类型的示例:List[T]: 表示元素类型为 T 的列表。
2023-11-22 18:50:06
458
原创 Atomic原子类详解
为什么需要Atomic原子操作类?在并发环境中,代码如果操作相同的数据,就会产生资源竞争,导致结果远小于预期值例如在A线程B线程中同时获取到变量数据为1,同时执行变量+1操作,结果可能也是1,存在脏读幻读问题,因为在同一个进程中,资源是共享的,因此需要进行原子操作。
2023-10-09 18:19:18
276
原创 淘宝sign签名js逆向代码
淘宝对于h5的访问采用了和客户端不同的方式,由于在h5的js代码中保存appsercret具有较高的风险,mtop采用了随机分配令牌的方式,为每个访问端分配一个token,保存在用户的cookie中,通过cookie带回服务端分配的token,token: 关于cookie的有效时长,cookie的有效时长为7天,但是token的有效时长目前为60分钟。客户端利用分配的token对请求的URL参数生成摘要值sign。淘宝登陆签名js逆向代码。appKey:固定数值。data: 提交的参数。
2023-10-08 13:47:24
1476
原创 基于cv2识别图像实现jd滑动块验证
通过保存滑动图片,将图片进行灰度化,然后进行二值化,将图片变成黑白,获取所有矩形,并进行过滤,然后进行补偿机制。本教程无任何意向,纯纯的技术娱乐。
2023-09-21 18:22:20
642
原创 【solon生态】- solon.cloud.micrometer插件使用指南及micrometer详解
如果您的目标是Prometheus、Atlas或Wavefront,则更喜欢这种方法,因为您可以跨维度聚合直方图(通过将一组维度上的桶的值相加),并从直方图中获得可聚合的百分位数。然而,对于不支持基于直方图的服务器端百分位数计算的监控系统,它提供了对百分位数分布的某种程度的了解。(点)字符分隔小写单词。计时器是消耗内存最多的仪表,它们的总占用可能会有很大的变化,这取决于您选择的选项。从一个监视系统到另一个监视系统,还有其他更小的期望差异,例如它们的基本度量单位(特别是时间)的概念和度量标准的规范命名约定。
2023-08-09 17:19:57
1550
2
原创 b站网页版视频投稿接口分析
partNumber= 分页起始(1开始)+ &uploadId= uploadId + &chunk=起始位置(0开始)+&chunks= 分区结束位置+&size= 本次传输最大长度 + &start= + 文件开始偏移位置 + &end= 文件结束偏移位置+&total=文件长度。这里不用携带cookies,通过上方返回的auth参数,并加入到header中X-Upos-Auth,post请求。X-Upos-Auth auth(上方的auth)X-Upos-Auth auth(上方的auth)
2023-07-12 14:25:55
1788
原创 conda在 powershell下不能激活虚拟环境
此执行策略适用于 PowerShell 脚本内置于较大应用程序的配置,或针对 PowerShell。不需要在本地计算机上编写且未从 Internet 下载的脚本上使用数字签名。需要受信任的发布者对从 Internet 下载的脚本和配置文件(包括电子邮件和即时消息程序)的数字签名。要求所有脚本和配置文件都由受信任的发布者签名,包括在本地计算机上编写的脚本。从尚未分类为受信任或不受信任的发布者运行脚本之前,会提示你。运行已签名但恶意脚本的风险。以外的源的未签名脚本以及可能是恶意的已签名脚本的风险。
2023-06-04 10:31:58
1364
原创 将字符串拆分成固定字符串,并且使用正则表达式,不可分割,并替换(阿里云ai配音小工具)
源代码 https://gitee.com/baichen9187/common-utils。3,将字符串拆分成固定字符串,并且使用正则表达式,不可分割,并替换(阿里云ai配音小工具)2,将字符串拆分成固定字符串,某个单词不可分割。1,将字符串拆分成固定字符串数组。
2023-05-18 16:50:13
146
原创 事件驱动设计模式
是一种常见的设计模式,其核心思想是:系统中发生的事件会触发相应的事件处理器或监听器,从而实现特定的业务逻辑或功能事件驱动架构是一种常见的软件设计架构,它包括多个组件之间的事件交互。在事件驱动的架构中,事件是所有通信的中心点,组件通过订阅和发布事件来进行通信。下面是几种常见的事件驱动设计模式:观察者模式(Observer Pattern):观察者模式是一种经典的事件驱动设计模式。在这个模式中,一个被观察者对象(也称为主题)会维护一组观察者对象,当主题发生变化时,会通知所有观察者对象进行更新。
2023-02-26 00:13:10
2778
原创 io的基本原理-nio
操作系统将内存(虚拟内存)划分为两部分:一部分是内核空间(Kernel-Space),另一部分是用户空间(User-Space)应用程序不允许直接在内核空间区域进行读写,也不允许直接调用内核代码定义的函数。每个应用程序进程都有一个单独的用户空间,对应的进程处于用户态,用户态进程不能访问内核空间中的数据,也不能直接调用内核函数,因此需要将进程切换到内核态才能进行系统调用。
2023-02-12 20:53:51
1162
原创 websocket技术详解,附带springboot实例
WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在Web
2022-11-07 16:48:57
685
原创 模板模式实战,采用泛型+函数式+策略封装mybatis的IService的方法,进行关联表操作
意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。主要解决:一些方法通用,却在每一个子类都重新写了这一方法。需求: 多个资源设计表,关联多个资源,重复操作。关键代码:在抽象类实现,其他步骤在子类实现。如何解决:将这些通用算法抽象出来。提取公共的类属性,关联属性。
2022-10-05 22:09:06
454
原创 HTTP1.x协议详解和HTTP2.0
http简称超文本传输协议,属于应用层协议,基本用于应用之间的数据传输,常用于web方向,是基于tcp的应用层协议,有时候还会基于ssl,tsl就是我们说的https协议HTTP协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。注意:客户端与服务器的角色不是固定的,一端充当客户端,也可能在某次请求中充当服务器。这取决与请求的发起端。HTTP协议属于应用层,建立在传输层协议TCP之上。
2022-09-18 21:09:34
7717
1
原创 Found interface org.apache.poi.util.POILogger, but class was expected
Found interface org.apache.poi.util.POILogger, but class was expected错误代码,没有任何地方报错,猜测应该是jar包问题我们使用idea自带的pom依赖图来分析这是原本的pom文件,我们分析一下冲突<dependencies> <dependency> <groupId>fr.opensagres.xdocreport</groupId>
2022-03-02 13:52:20
5341
2
原创 nacos持久化配置(mysql)
nacos持久化配置(mysql)持久化配置系统配置:服务器unbuntu: 20.04 本地windows10nacos准备工作从官方下载源码,并编译安装git clone https://github.com/alibaba/nacos.gitcd nacos/mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U 持久化配置j进入到编译完成的目录中// 将$version更改为您的实际路径cd nacos/dist
2022-02-24 11:09:51
914
原创 cloudconfig客户端报错 Caused by Could not resolve placeholder‘config.info‘ in “${config.info}“的最终解决答案
cloudconfig客户端报错 Caused by Could not resolve placeholder’config.info’ in "${config.info}"的最终解决答案相信很多小伙伴都在学习cloud-config时遇到这个错误,网上千篇一律的报错解答,全是不行,各种博主该反思了先上最终解决答案:在bootstrap.yml配置文件中找到,对应的配置文件,在最终配置中找到xxx.yml是否存在config.info这个属性(这里的Could not resolve pla
2022-01-10 17:15:45
1757
9
原创 设计模式必备知识点----六大设计原则
设计模式,即Design Patterns,是指在软件设计中,被反复使用的一种代码设计经验。 使用设计模式的目的是为了可重用代码,提高代码的可扩展性和可维护性。 设计模式这个术语是上个世纪90年代由Erich Gamma、Richard Helm、Raplh Johnson和Jonhn Vlissides四个人总结提炼出来的,并且写了一本 Design Patterns 的书。一,开闭原则开闭原则的定义开闭原则是最基础的设计原则,它指导我们如何建立一个稳定,灵活的系统。开闭原则定义如下:Softw
2021-10-10 23:09:41
648
2
原创 普利姆算法--求最小生成树
在普里姆算法中,我们从一些根顶点开始的单个集群生成一颗最小生成树,主要思想与Dijkstra算法一些,属于贪心算法算法思想我们先初始定义一个顶点,然后在相邻的所有边中迭代算这一个最小权值的边 e = (u,v),将顶点u链接到初始点c之外的顶点v,之后将顶点v放到c中,并且一直重复知道完成,算法分析prim算法与dijksta类似,都比较依赖与一个适应性比较强的优先队列Q,我们最初将n放到q中,然后在取出操作,并且更新全部m的优先权作为算法的一部分,这些都是主要花费的世界,如果是一个基于堆的优先对立
2021-09-14 00:58:34
5385
原创 动态规划算法
概念引入在现实生活中,有一类活动的过程,由于它的特殊性,可将过程分成若干个互相联系的阶段,在它的每一阶段都需要作出决策,从而使整个过程达到最好的活动效果。因此各个阶段决策的选取不能任意确定,它依赖于当前面临的状态,又影响以后的发展。当各个阶段决策确定后,就组成一个决策序列,因而也就确定了整个过程的一条活动路线.这种把一个问题看作是一个前后关联具有链状结构的多阶段过程就称为多阶段决策过程,这种问题称为多阶段决策问题。在多阶段决策问题中,各个阶段采取的决策,一般来说是与时间有关的,决策依赖于当前状态,又随即引
2021-08-30 23:23:12
1393
原创 字符串暴力匹配
简单粗暴,编程思想如下:如果当前字符匹配成功(即strl[j]=str2[ji) ,则i++, j++,继续匹配下一个字符如果失配(即str[j]!= str2[j), 令i = i - (j - 1), j = 0,相当于每次匹配失败时, i回溯, j被置为0。.用暴力方法解决的话就会有大量的回溯,每次只移动一位,若是不匹配,移动到下一位接着判断,浪费了大量的时间。(不可行!)步骤依次匹配匹配失败,i移动到 i减去(j - 1)的位置,j指针重置 private st
2021-08-25 13:46:35
313
原创 分治算法,汉诺塔问题
基本思想分治法的基本思想:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。分治策略分治策略:对于一个规模为n的问题,若该问题可以容易的解决(比如规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解决这些子问题,然后将各个子问题的解合并得到原问题的解。分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题…直到最后子问题可以简单的直接
2021-08-25 13:29:40
333
原创 常用算法--贪心算法
简介贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解 。算法思想:贪心算法一般按如下步骤进行:建立数学模型来描述问题 。把求解的问题分成若干个子问题 。对每个子问题求解,得到子问题的局部最优解 。把子问题的解局部最优解合成原来解问题的一个解 。贪心算法是一种对某些求最优解问题的更简单、更迅速的设计技术。贪心算法的特点是一步一步地进行,常以当前情况为基础根据某个优化测度作最优选择,而不
2021-08-25 13:13:40
471
原创 二分查找算法
二分查找属于递归查找的一种,其主要思想是将一个有序数组,分为二分,进行递归,反复为之。注意:二分查找法只适用于从有序的数列中进行查找(比如数字和字母等),将数列排序后再进行查找二分查找法的运行时间为对数时间O(log2 n) ,即查找到需要的目标位置最多只需要log2 n步,假设从[0.99]的队列(100个数,即n-100)中寻到目标数30,则需要查找步数为log2 100,即最多需要查找7次(2~6< 100<2^7)算法思想我们需要一个有序数组,查找的值为3进行对分,查找
2021-08-10 09:11:26
4739
算法题,求大佬帮解决一下逻辑,有偿
2021-06-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人