自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 Android 特效大全代码资源——源码

几款实用的Android Studio 插件:1、android-butterknife-zelezny;的api接口,可以查询申通、EMS、顺风、圆通、中通、韵达、天天、汇通、全锋、德邦、宅急送等11种快递的单号信息,支持手动输入单号和扫描单号(红米测试的时候扫描单号有点问题),可以保存单号查询记录方便下次查询,,另外还包括了网络状态判断、快递自动更新、软件更新等功能,项目完美运行,有很详细的中文注释和逻辑分层。- Telegram 是一款专注于速度、安全的短信息应用,快速、简单、免费。

2025-03-01 15:32:34 906

原创 Android修行手册 - 自定义验证码输入框

/现在很多App都是输入完毕后自动进入下一步逻辑,所以咱们一般都是在这监听,完成后进行回调业务即可。//现在很多App都是输入完毕后自动进入下一步逻辑,所以咱们一般都是在这监听,完成后进行回调业务即可。//因为editText是辅助的,根本字符串是stringBuffer,所以将EditText置空。//因为editText是辅助的,根本字符串是stringBuffer,所以将EditText置空。//验证码输入完毕了,自动进行验证逻辑。//验证码输入完毕了,自动进行验证逻辑。//我们限制了4个验证码。

2025-02-06 15:03:53 496

原创 Android仿滴滴出行验证码输入框效果

··· styles.xml里添加自定义属性。输入框没有获取焦点时的背景。输入框获取焦点时的背景。

2025-02-06 15:02:09 850

原创 Android 增量更新完全解析 是增量不是热修复

解决了上述3个问题,就ok了。下面开始解决,首先我们看下增量文件的生成与合并,这个环节可以说是整个流程的核心,也是技术难点,值得开心的是,这个技术难点已经有工具替我们实现了。二、增量文件的生成与合并这个其实就是利用工具做二进制的一个diff和patch了。对了,本文环境为mac,其他系统如果阻碍,慢慢搜索解决即可。下载好了,解压,切到对应的目录,然后执行make:恩,你没看错,报错了,这个错误还比较好解决。

2025-02-06 12:09:47 820

原创 Android 使用讯飞语音SDK

/ 语音合成对象// 默认发音人// 缓冲进度// 播放进度// 云端/本地单选按钮// 引擎类型// 语音+安装助手类private String content = “你好”;= null) {// 初始化合成对象// 设置参数setParam();if (code!// 未安装则跳转到提示安装页面 mInstaller.install();} else {

2025-02-06 12:06:01 710

原创 Alibaba首发:2021最符合Java程序员的“成长路线”

JavaWeb课程内容涉及:HTML5课程、CSS3、JavaScript、MySQL使用、JDBC连接池、Servlet、JSP、AJAX、jQuery、Bootstrap。Java框架课程内容涉及:Spring、Spring MVC、MyBatis、SVN、Git、Maven、SpringBoot。Java基础课程内容涉及:Java开发介绍、Java数组、Java面向对象、常用基础类、集合、IO流、多线程、异常、反射。ArrayList和LinkedList各自的工作原理分析原理分析。

2025-02-06 00:11:25 407

原创 网络 排错五大步骤,没有解决不了的网络故障准达信息准达信息_网络面试题故障排错过程

能ping通外网,说明网络是没有问题的,当然,这里并没有提到出口放置防火墙的情况,实际上,思路是一致的,但是,你需要考虑的是,你的访问数据有没有被防火墙给过滤掉,是数据出去的时候过滤了,还是数据回来的时候过滤了?由于还要涉及到防火墙的设置,这里就不再提及了,只是仍要注意这一点就是了。上面的步骤完成了,假设你的出口路由器设置是没有问题的,比如NAT与默认路由等的设置没有问题,那么我们大致可以知道,内网的一个基本通信是正常的(至少你的电脑和出口路由器的通信没问题),我们就要看看电脑到底能不能访问互联网了。

2025-01-29 18:13:01 581

原创 统信UOS 1060上通过Fail2Ban来Ban IP_fail2ban发送邮件

10月 13 20:27:45 pdsyw-PC systemd[1]: /lib/systemd/system/fail2ban.service:12: PIDFile= references path below。10月 13 20:27:45 pdsyw-PC systemd[1]: /lib/systemd/system/fail2ban.service:12: PIDFile= references path below。bantime = 600: 这定义了封禁的持续时间(以秒为单位)。

2025-01-29 18:02:21 748

原创 如果面试官问你如何优化mysql分页查询,请把这篇文章甩给他!

idu_namevarchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ‘用户名’,u_passwordvarchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ‘密码’,u_mailvarchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ‘邮箱’,u_phone。

2025-01-29 01:26:04 581

原创 如果当时这16道题能答好,现在应该已经被录取了(记一次面试的亲身经历 2020-9-9)

StampedLock是Jdk在1.8提供的一种读写锁,相比较ReentrantReadWriteLock性能更好,因为ReentrantReadWriteLock在读写之间是互斥的,使用的是一种悲观策略,在读线程特别多的情况下,会造成写线程处于饥饿状态,虽然可以在初始化的时候设置为true指定为公平,但是吞吐量又下去了,而StampedLock是提供了一种乐观策略,更好的实现读写分离,并且吞吐量不会下降。Future:接口,FutureTask是它的实现类,配合线程池来一起工作,将任务交给线程池去处理。

2025-01-29 01:19:48 801

原创 你真的了解webpack了吗?(webpack的基本使用--上)

,在上面的示例中,我们通过和属性,来告诉 webpack bundle 的名称,以及我们想要 bundle 生成(emit)到哪里。可能你想要了解在代码最上面导入的 path 模块是什么,它是一个,用于操作文件路径。webpack 只能理解 JavaScript 和 JSON 文件,这是 webpack 开箱可用的自带能力。让 webpack 能够去处理其他类型的文件,并将它们转换为有效,以供应用程序使用,以及被添加到依赖图中。在更高层面,在 webpack 的配置中,1、test。

2025-01-28 15:42:03 511

原创 springboot集成阿里云短信

/此处需要替换成开发者自己的AK(在阿里云访问控制台寻找 本类需要修改此处)//可选:模板中的变量替换JSON串,如模板内容为"亲爱的。//选填-上行短信扩展码(无特殊需求用户请忽略此字段)//初始化acsClient,暂不支持region化。//组装请求对象-具体描述见控制台-文档部分内容。//产品名称:云通信短信API产品,无需替换。//必填:短信签名-可在短信控制台中找到。//必填:短信模板-可在短信控制台中找到。//产品域名,无需替换。//必填:待发送手机号。//验证json参数。

2025-01-28 07:05:14 675

原创 SpringBoot集成WebSocket,实现后台向前端推送信息

ServerEndpoint 注解是一个类层次的注解,它的功能主要是将目前的类定义成一个websocket服务器端, 注解的值将被用于监听用户连接的终端访问URL地址,客户端可以通过这个URL来连接到WebSocket服务器端。log.info(“有新窗口开始监听:” + sid + “,当前在线人数为:” + getOnlineCount());log.info(“收到来自窗口” + sid + “的信息:” + message);log.info(“释放的sid为:”+sid);

2025-01-28 07:03:10 750

原创 Python 接口测试框架

使用 xlrd 库来操作 excel,同时,该类只做最底层的 excel 数据提取,不做任何业务相关的判断。后面会陆续增加 json,yaml 等数据结构的操作工具。中间数据操作层 operate_data.py属于操作数据的中间层,从配置文件中拿到我们定义好的 excel 结构,这样,如果我们的 excel 结构有变化,只需要修改配置文件即可配置文件中的 excel 结构如下获取测试文件中数据工具 get_data.py。

2025-01-27 20:58:51 138

原创 Java进阶(四十)Java类、变量、方法修饰符讲解_java临时变量修饰符

public(访问控制符): Java语言中访问限制最宽的修饰符,将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。该模式下,只允许在同一个包中进行访问。synchronize: 同步修饰符,在多个线程中,该修饰符用于在运行前,对他所属的方法加锁,以防止其他线程的访问,运行结束后解锁。private(私有访问控制符): 指定该变量只允许自己的类的方法访问,其他任何类(包括子类)中的方法均不能访问。

2025-01-24 19:14:16 302

原创 Java带APP的智慧工地项目源码_java智慧工地可视化app信息平台源码

砌筑工、钢筋工、架子工、*工人类型建筑工人、管道工、变电安装工、建筑电工、司泵工、挖掘铲运和桩工机械司机、建筑门窗幕墙安装工、幕墙制作工、防水工、木工、石工、电焊工、古建筑传统彩画工、古建筑传统木工、古建筑传统油工、金属工、杂工、混凝土工、模板工、机械设备安装工、通风工、安装起重工、安装铂工、电气设备安装调试工、桩机操作工、起重信号工、建弘筑起重机械安装拆卸工、装饰装修工、爆破工、除尘工、测量放线工、线路架设工、古建筑传统石工、室内成套设施安装工、古建筑传统瓦工、管理人员、其它。

2025-01-24 18:31:29 874

原创 java共享充电宝管理系统ssm框架

5.维护记录管理模块:设计系统的维护记录信息表,管理员对维护记录数据的管理,如增加、删除、修改、查询等,管理员添加维护记录时,输入维护记录信息后,使用js函数判断输入格式是否正确,判断正确后,则往维护记录信息表中插入维护记录数据。4.维护人员管理模块:设计系统的维护人员表,管理员对维护人员数据的管理,如增加、删除、修改、查询等,管理员添加维护人员时,输入维护人员后,使用js函数判断输入格式是否正确,判断正确后,则往维护人员表中插入维护人员数据。修改维护记录:实现管理员修改维护记录,包括修改维护记录。

2025-01-24 17:49:43 495

原创 JavaScript对象详解,深入理解js对象

e:‘4’//复杂的对象。

2025-01-24 17:07:46 504

原创 html5&css&js代码 030 一个计算器

【代码】html5&css&js代码 030 一个计算器。

2025-01-24 15:31:33 142

原创 Guava Cache 原理分析与最佳实践

build();// get 缓存项的时候指定 callable 加载缓存项缓存项加载机制如果某个缓存过期了或者缓存项不存在于缓存中,而恰巧此此时有大量请求过来请求这个缓存项,如果没有保护机制就会导致。举个简单的例子,某个时刻有 100 个请求同时请求 KEY_25487 这个缓存项,而不巧这个缓存项刚好失效了,那么这 100 个线程(如果有这么多机器和流量的话)就会同时从 DB 加载这个数据,很可怕的点在于就算某一个线程率先获取到数据生成了缓存项,。【缓存击穿图例】

2025-01-24 11:07:11 750

原创 Docker常用命令总结_docker ps l grep nginx,命令的作用是

如:docker run -d -t -p 80:80 -v /home/data:/usr/data --name nginx nginx:latest。如:docker logs -f -t 容器id or docker logs -f -t --tail=100 容器id。可以在一次构建中为一个镜像设置多个标签。docker build -t 镜像标签名 .: docker build -t nginx:latest .docker rm: 删除一个容器,可加-f 表示强制 -v:并删除挂载卷。

2025-01-24 09:04:48 274

原创 Appium+Python3环境搭建,其实超简单!

1)下载安装地址:https://bitbucket.org/appium/appium.app/downloads/16(可以去官网下,也可以去网盘下,以我们公司的网速10k/s的网速,我果断 选择找人要了 个安装包)3)勾选你要下载的API版本和对应的android版本,后面模拟器会用到(不下载用其它模拟器也行,或者真机),然后坐等下载(此图是转载,自己放大)2)下载后一路傻瓜式安装,安装完成后,运行cmd,输入node –v查看版本号,然后输入npm(出现下图,就说明你安装成功了)

2025-01-24 06:58:47 720

原创 Android初级—中级进阶必须搞懂之四大组件以及Application和Context的全面理解

1.LoadedApk:所有组件在初始化的时候,如果LA没被初始化都会初始化一遍2.Context:1.只有Activity的CI有上一个Activity的Token2.Receiver的Context是继承于ContextWr App er 的 ReceiverRestrictedContext,不可绑定Service。

2025-01-24 05:01:12 645

原创 AJAX的第二春!fetch!!!_ajax还不会都出fetch了

我们需要设置fetch的第二个参数的body属性。它是基于Promise的,所以目前不了解Promise的同学,请先查阅相关文档。在第二个then函数中,我们可以得到上一个then函数处理之后的结果。发送POST请求的方式与发送GET请求的方式类似,不过要多一个配置参数。body的属性值可以是以下任意类型之一: 我们这里只演示字符串的情况。最简单的方式就是在拼接字符串的时候把查询串放在URL上。想要发送请求,非常简单:一个最简单的发送请求的方式。这些数据可以根据请求类型的不同而放在不同的位置。

2025-01-24 03:08:21 395

原创 2021-12-7【Java基础】【循环语句】

格式解释:初始化语句: 用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去循环体语句: 用于表示循环反复执行的内容,简单说就是循环反复执行的事情条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去执行流程:①执行初始化语句②执行条件判断语句,看其结果是true还是false​ 如果是false,循环结束​ 如果是true,继续执行③执行循环体语句④执行条件控制语句。

2025-01-24 00:38:28 865

原创 100个相见恨晚的Python库(建议收藏)

Python-Markdown:John Gruber’s Markdown 的 Python 版实现。Python-Markdown2:纯 Python 实现的 Markdown 解析器,比 Python-Markdown 更快,更准确,可扩展。YAMLPyYAML:Python 版本的 YAML 解析器。CSVcsvkit:用于转换和操作 CSV 的工具。Archiveunp:一个用来方便解包归档文件的命令行工具。11自然语言处理用来处理人类语言的库。

2025-01-23 23:35:27 824

原创 C++中的string类用法简介_c++ string

将char*、char[]转换为string类型时,直接进行赋值操作,将char*、char[]的变量赋值给string对象即可。**说明:**这里所说的“赋值”操作,实际上是将char*、char[]定义的字符串的首地址赋值给string对象了。替换字符串中的空格,是一种常见的应用场景,下面通过代码示例介绍使用string类实现字符串中空格替换的方法。使用string类的find方法,在字符串中检索自字符串是否存在。

2025-01-20 15:59:33 659

原创 Appium+Python3环境搭建,其实超简单!

1)下载安装地址:https://bitbucket.org/appium/appium.app/downloads/16(可以去官网下,也可以去网盘下,以我们公司的网速10k/s的网速,我果断选择找人要了个安装包)3)勾选你要下载的API版本和对应的android版本,后面模拟器会用到(不下载用其它模拟器也行,或者真机),然后坐等下载(此图是转载,自己放大)2)下载后一路傻瓜式安装,安装完成后,运行cmd,输入node–v查看版本号,然后输入npm(出现下图,就说明你安装成功了)

2025-01-20 15:25:14 454

原创 android进阶篇02、RecyclerView回收复用机制源码解析(1)

3.自定义缓存机制mViewCachedExtension4.RecyclerViewPool缓存池其中第三级自定义缓存一般不需要,这里不再讨论;滑动时主要是使用第二级和第四级缓存,这也是使用最多的情况,我们在下面会详细讨论这种情况;第一级缓存主要用于屏幕内ViewHolder的缓存和复用,例如下拉刷新等需要重新布局的操作可以直接复用ViewHolder;一、回收复用前的调用链分析。

2025-01-20 14:56:22 896

原创 Android多回退栈实践(二)_setrestorestate

上一篇:[Android多回退栈实践(一)]在上一篇文章中,我们介绍了中的多回退栈,并使用实现了最朴素的多回退栈用例。接下来,我们将借助的组件,更加方便的实现多回退栈。已知我们已经有6个页面:MusicFavoriteCollection。引入之后,我们构建一个我们仔细看下这里面的细节,我们构建的一个大的中,其实包含了三个嵌套的,里面分别有不同的跳转。。此时,我们的主Fragment跳转到详情Fragment的就已经使用套件的跳转方法了。现在,我们来配置主页。在点击的。

2025-01-20 14:10:46 592

原创 Android 天气APP(二十五)地图天气(下)嵌套滑动布局渲染天气数据

todayDetailList.add(newTodayDetailBean(R.mipmap.icon_today_temp,data.getNow().getFeelsLike()+“°”,“体感温度”));tvWindInfo.setText(data.getNow().getWindDir()+data.getNow().getWindScale()+“级”);然后对里面的一些资源数据做讲解,里面用到了一些样式资源文件,在写之前,先把所有颜色值贴出来。

2025-01-20 13:14:41 860

原创 5个拿来就能用的整人代码脚本

1)首先,我们新建一个文本文档,输入以下内容这其实就是一个死循环,确认或者关闭窗口的时候,又会弹出一个新的窗口,怎么关也关不掉。2)把文件后缀名改成.vbs3)把文件放到开机启动项找到【开始】-【所有程序】-【启动】-右键打开所在目录把文件放到目录里面,下次开机就会自动调用这个文件。4)只要一开机就会提示:“系统已损坏,请立即重启电脑”。并且点确认或者叉号都关不掉。如果他真的以为是系统坏了,重启电脑的话,又会重新调用这个程序,陷入死循环。5)想要关掉它也很简单,用任务管理器结束。

2025-01-20 11:47:24 761

原创 Python每日一练——数据存储第六关:操作MySQL数据库

创建MySQL数据表;向表中插入记录;其他数据库操作。

2025-01-18 19:48:56 442

原创 Python模块学习 - openpyxl_openpyxl sheetnames多了很多没有的名字

对于冻结的行,在用户滚动时,是始终可见的,可以设置为一个Cell对象或一个端元个坐标的字符串,单元格上面的行和左边的列将会冻结(单元格所在的行和列不会被冻结)。PS:从Worksheet对象的属性和方法可以看到,大部分都是返回的是一个Cell对象,一个Cell对象代表一个单元格,我们可以使用Excel坐标的方式来获取Cell对象,也可以使用Worksheet的cell方法获取Cell对象。dimensions:表格的大小,这里的大小是指含有数据的表格的大小,即:左上角的坐标:右下角的坐标。

2025-01-18 19:46:54 896

原创 Python办公自动化(一):从Word到Excel_python word range

接下来需要解决的是,时间我们获取的是2/1这种日/月的形式。仔细观察可以发现一个文件条目占据了3行,所以对表格全部行循环迭代时可以设步长为3。这样一张表的内容解析就完成了,注意这里用的是table[0]即第一张表,再把问题逐个划分,首先尝试获取第一张表第一个文件条目的三个所需信息。信息解析和获取完成就可以导出了,用到的包是openpyxl。运行时间在10分钟左右,大概离开了一会程序就执行结束了。注意观察表格,按照row和cell把所需内容解析清楚。,代码很简单,理清思路最重要。

2025-01-18 18:07:27 218

原创 Python制作属于自己的有声小说

通过刚才对pyttsx模块的讲解,我们已经可以了解到该模块的基本原理以及各个参数所代表的含义,接下来我们就以pyttsx3模块为基础构建一个简单的有声小说.volume=engine.getProperty(‘volume’)#获取当前的音量(默认值)(min=0andmax=1)engine.setProperty(‘voice’,voices[0].id)#改变中括号中的值,0为男性,1为女性。若你没有安装pywin32模块,则还需安装此模块作为pyttsx3模块的依赖。

2025-01-18 18:05:25 2216

原创 python pytest测试框架(一)_pytest框架图

login_website.py----准备登录----log_website.py----准备登录----print(‘-----登录百度页面-----’)print(‘\n开始执行function1’)print(‘\n开始执行function2’)print(‘\n开始执行function’)print(‘\n开始执行function’)print(‘\n开始执行module’)print(‘----准备登录----’)print(‘\n开始执行class’)print(‘—用例a执行—’)

2025-01-18 12:33:59 950

原创 Python gensim库word2vec 基本用法_使用word2vec是不是就不需要先用ji额ba分词啥的了

2.size是输出词向量的维数,值太小会导致词映射因为冲突而影响结果,值太大则会耗内存并使算法计算变慢,一般值取为100到200之间。5.negative和sample可根据训练结果进行微调,sample表示更高频率的词被随机下采样到所设置的阈值,默认值为1e-3。3.window是句子中当前词与目标词之间的最大距离,3表示在目标词前看3-b个词,后面看b个词(b在0-3之间随机)。这里只是一个示例,因此省去了调参的步骤,实际使用的时候,你可能需要对我们上面提到一些参数进行调参。这里给出三个常用的应用。

2025-01-18 12:31:57 610

原创 JavaScript入门第十四章(高阶函数 )

但是有时候可能本函数执行完毕后,根据不同的情况需要调用的函数也不同,那么我们可以使用形参来接收这个函数,然后再调用。//修改了形参,arguments也会修改。1.什么是回调函数:如果一个函数的参数也是一个函数,那么这个参数函数就叫做回调函数。//1.这行代码会报错,因为函数外部无法使用arguments。//2.定义一个无参的函数,作用是打印该函数的所有参数。//(1)arguemnt保存的是所有的实参的值。//反之,修改了argeumnts,形参也会变化。//修改了形参,arguemnt也会修改。

2025-01-17 17:45:41 276

原创 JavaScript保姆级教程 ——— 重难点详细解析(万字长文,建议收藏)_js的重点和难点

letperson1=newPerson(“小明”,18);console.log(allSum)//得到10。console.log(person[key]) //键值。obj2.func2()//小红。obj3.func2()//小猪。obj.func2()//小明。console.log(a)//此处报错,无法访问。console.log(num)//得到15。//继承父级的方法。

2025-01-17 17:43:38 308

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除