- 博客(86)
- 资源 (6)
- 收藏
- 关注
原创 python多线程编程
本文介绍了Python多线程编程的两种实现方式:直接使用threading.Thread类和继承threading.Thread类。基础方式通过定义目标函数并创建线程对象实现,进阶方式则通过重写run()方法自定义线程行为。文章还重点讲解了线程安全问题及解决方法(使用threading.Lock),并介绍了线程池和守护线程两种常用工具。线程池适用于大量线程场景,守护线程则会在主线程结束时自动终止。代码示例展示了各种实现方式的具体应用。
2025-12-23 08:59:07
297
原创 Spring Boot 数据库连接池入门
在我们的项目中,数据库连接池基本是必不可少的组件。在目前数据库连接池的选型中,主要是至于怎么选择,两者都非常优秀,不用过多纠结。
2025-08-29 11:28:17
1102
原创 剖析 Spring 多数据源
虽然笔者提供了一个RoutingDataSource,并发布到了maven中央仓库,但是并没有期望真的会有人使用。想告诉读者的是,“知其然,知其所以然”。研究源码时,请主要思考以下问题:1、笔者提供了一个@Routing注解,但是并没有spring aop配置,就实现了AOP切换功能,是如何实现的。因为@Routing本身也要对类代理,才能告诉spring框架使用哪个数据源。2、@Routing注解和spring提供的@Transactional注解,都需要对类进行代理,且前者需要在后者之前发挥作用。
2025-08-29 10:13:41
1046
原创 Spring Boot 多数据源(读写分离)入门
简单来说,通过继承 AbstractRoutingDataSource 抽象类,实现一个管理项目中多个 DataSource 的。
2025-08-29 10:05:25
886
原创 Spring Boot 定时任务入门
在产品的色彩斑斓的黑的需求中,有存在一类需求,是需要去的,此时就需要使用到。例如说,每分钟扫描超时支付的订单,每小时清理一次日志文件,每天统计前一天的数据并生成报表,每个月月初的工资单的推送,每年一次的生日提醒等等。在日常开发中,我们很少直接使用 Timer 或 ScheduledExecutorService 来实现定时任务的需求。所以,一般情况下,我们会选择专业的。关于“”的叫法,也有叫“”的。在英文上,有 Task 也有 Job。本质是一样的,本文两种都会用。然后,一般来说是调度任务,定时执行。
2025-08-28 15:23:47
1056
原创 Spring Boot 参数校验 Validation 入门
文章摘要:本文介绍了在Spring Boot中使用Hibernate Validator进行参数校验的方法。概述了参数校验的重要性,列举了Bean Validation和Hibernate Validator提供的常用校验注解,并对比了@Valid和@Validated注解的区别。文章包含快速入门指南,展示如何通过引入依赖、配置Application类来实现对Controller和Service层的参数校验。核心要点包括:1)参数校验是保证API可靠性的必要环节;2)通过注解方式实现声明式校验;3)@Val
2025-08-11 09:29:15
1154
原创 Spring Boot Lombok 入门
Lombok 是一个 Java 工具,通过使用其定义的注解,自动生成常见的冗余代码,提升开发效率。举个例子,在 Java POJO 类上,添加 @Setter 和 @Getter 注解,自动生成 set、get 方法的代码。安装完成,需要重启 IDEA 来让该插件生效。生效完成后,我们可以在 IDEA 的设置中,找到 IDEA Lombok 功能。如下图所示:Lombok 设置。
2025-08-08 15:47:18
1052
原创 Spring Boot 对象转换 MapStruct 入门
友情提示:MapStruct 和 Spring Boot 没有直接关系,单纯放在这个系列。为了让应用的代码更易维护,我们往往会将项目进行分层。在《阿里巴巴 Java 开发手册》中,推荐分层如下图:显然,手动进行对象的转换,虽然执行性能很高,但是开发效率非常低下,且可能会存在漏写的情况。因此,我们会选择借助框架或是工具来实现对象的转换。例如说:MapStruct 示例MapStruct 是用于生成类型安全的 Bean 映射类的 Java 注解处理器。
2025-08-08 15:19:35
940
原创 pyinstall 打包Django程序
需要配置.spec文件项目中的对应项目需要写入hiddenimports里面,提示缺少什么,添加上该模块,然后重新打包。复制模板templates文件夹和static文件夹到。启动服务时提示 No module named XXX。文件,需要检查所有应用,添加上改文件,内容为空。执行如下命令,生成mannage.exe文件。如果有其他外部文件也需要手工复制。解决办法:只需在命令末尾加上。原因是不是每个应用中都有。
2024-11-17 17:34:53
589
原创 Django入门教程——补充功能
第七章 补充功能登录验证码为什么网站登录的时候需要验证码为了防止机器人,通过程序多次进行网站密码的验证,从而进行网站密码的破解。避免用户过快点击,缓解了服务器的请求压力。Captcha库安装第三方库验证码库captcha:pip install captcha# 生成图片验证码import randomfrom captcha.image import ImageCaptcha # 生成随机字符串code = random.sample('abcdefghijklmnopqr
2024-10-28 09:16:06
1191
原创 Django入门教程——用户管理实现
第六章 用户管理实现教学目的复习数据的增删改查的实现。了解数据MD5加密算法以及实现模型表单中,自定义控件的使用中间件的原理和使用需求分析系统问题员工档案涉及到员工的秘密,不能让任何人都可以看到,主要是人事部门进行数据的维护,公司领导具有数据的查看权限。现在我们开发出来的功能,所有人都可以进行访问,都可以进行数据的修改,不符合需求。系统功能管理员用户可以进行用户管理,实现用户的添加、修改、删除等普通用户可以登录系统,修改个人密码等用户管理相关数据模型数据模型设计
2024-10-28 09:13:54
1575
原创 Django入门教程——动态表格分页展示数据
基本语法结构:-- html标签 -- > </ script >-- html标签 -- > </ script >-- html标签 -- > </ script >-- html标签 -- > </ script >-- html标签 -- > </ script >!---- html标签 -- > </ script >---- html标签 -- > </ script ></-- html标签 -- > </ script >
2024-10-28 09:06:38
1706
原创 Django入门教程——员工数据管理
如果您正在构建一个数据库驱动的应用程序,那么您很有可能会用到与Django模型密切相关的表单。Django 提供了一个辅助类让你可以从一个 Django 模型创建一个表单,就是将Model与Form进行绑定,Form有自动生成表单的作用。参考:https://docs.djangoproject.com/zh-hans/5.1/topics/forms/modelforms/
2024-10-28 09:05:45
927
原创 Django入门教程——部门数据的管理
简单查询记录的基本语法,参考:https://docs.djangoproject.com/zh-hans/5.1/ref/models/querysets/#django.db.models.query.QuerySet.get。创建表格用于数据的展示,参考:https://layui.dev/docs/2/table/#examples。layUI的弹出层组件,参考:https://layui.dev/docs/2/layer/函数,返回查询集匹配的第一个对象,如果没有匹配的对象,则返回。
2024-10-28 09:04:46
1092
原创 Django入门教程——数据模型建立
动态网站就是当用户发起访问请求时 ,网站实时地从数据库提取内容并呈现在网页上,在这类动态网站中,大多数是通过数据库实现对数据的保存和读取的,所以数据库是网站最基本和底层的组成部分。Python 本身有读取数据库的模块可以通过 SQL 语句直接实现程序和数据库的交互。Django 用另外一种方式解决了这个问题 ,在这种方式中不需要开发者使用 SQL 语句,而是使用更 Python 化的方式实现对数据库的操作,这就是 ORM,对象关系映射。
2024-10-28 09:01:32
1752
原创 Django入门教程——实战课程简介
一般认为 Django开发框架(简称 Django)诞生的时间是 2003年的金秋时节。大洋彼岸的美国有两位程序员在使用后来被冠名为Django的框架做网站开发,这是全世界首次使用。2008年虽然遇到了金融危机,但依然挡不住技术的进步,Django有了自己的DSF(Diango Software Foundation),后来 Django的发展就由这个基金会来主导了。项目(project):一个包含了组成单个网站的所有文件的目录。
2024-10-28 08:58:25
1757
原创 中文系统网站开发易错误词语
登录”的意思是“登记”,“登陆”的意思是“登上陆地”或“比喻商品打入某地市场”,因此路由器、网址、APP上填写用户名、密码的行为只能称为“登录”。“稍候”是一个短语,意思是“稍微等一下”;“请稍后”这句话没有完结,后面必须出现动词或动词短语,如“请稍后给我打电话”“请稍后去办公室”等。“在互联网上发表帖子”,因此“发帖”“帖子”为规范用法。
2024-09-18 10:55:12
264
原创 VScode 修改 Markdown Preview Enhanced 字体以及大纲编号
按 F1 或者 Ctrl + Shift + P,输入 Customize CSS,选择 Markdown Preview Enhanced 对应的css (建议全局)在刚才打开的style.less 文件中输入以下样式,注意样式不要放在.markdown-preview.markdown-preview 中。
2024-07-23 09:41:34
1148
1
原创 通过VSCode开发Python项目
一、插件准备Python 插件,必须autoDocstring生成注释,和Pycharm一样输入三个引号"""会生产注释结构Todo Tree高亮显示 TODO/FIXME二、python相关设置一)设置python环境按"F1"打开命令面板(如果这个"F1"被占用,点击vscode左下角的齿轮,选择"Command Palette…")选择"Python:Select Interpreter"(可输入"Python Select"进行筛选)选取自己想要使用的python环境
2024-02-19 20:57:02
1542
原创 Pygame打球游戏教程
一、绘制瞄准器定义一个函数,给出瞄准器的中心点坐标,实现瞄准镜的绘制。通过pygame.mouse.get_pos()获取鼠标移动的位置调用函数在鼠标位置绘制瞄准器二、绘制小球建立一个类存储小球的属性和方法。属性主要有坐标和下落速度,方法是下落。创建一个下落小球的字典ballArrs={}通过循环语句创建10个小球存放在字典中,x坐标为随机值,y坐标为默认的0.并且判断x坐标不能重叠。ballArrs={} #下落小球的字典for i in range(10): x =
2022-05-07 09:47:18
1221
原创 Axure RP9快捷键
左侧为Windows系统的快捷操作,右侧Mac系统下的快捷操作.常见操作剪切: [Ctrl]+[X] ,[CMD]+[X]复制: [Ctrl]+[X], [CMD]+[C]粘贴: [Ctrl]+[V], [CMD]+[V]粘贴为文本: [Ctrl]+[Shift]+[V] ,[CMD]+[Shift]+[V]粘贴包含锁定的元件: [Ctrl]+[Shift]+[Alt]+[V] ,[CMD]+[Shift]+[option]+[V]粘贴样式: [Ctrl]+[Alt]+[V] ,[CMD]+[
2022-03-11 11:13:59
1505
原创 解决支持双面打印的打印机不能双面打印PDF
1. 打开打印机属性2. 找到 配置——> 点击 可安装选项——> 找到 双面组件,并选择 有 ——> 最后 点击确定3. 完成
2021-10-12 12:15:23
10503
原创 LayUI学习笔记
layui(谐音:类 UI) 是一套开源的 Web UI 解决方案,在项目开发中,前面经常用到LayUI的对话框、文件上传等组件,觉得非常好用,后面尝试与Vue进行结合使用效果不佳,很多地方有冲突,这次重新研究了一下Laui在一个小项目中前端全部使用Layui框架效果良好。模块的使用//layui 模块的使用layui.use(['mod1', 'mod2'], function(args){ var mod = layui.mod1; //…… }); //引用所有模块(l
2021-08-18 15:09:32
2040
原创 python爬虫scrapy项目入门(1)
一、用pycharm创建scrapy项目创建一个pure python项目下载scrapy选择file—setting——project Interpreter创建项目选择Terminal窗口,输入命令“scrapy startproject Testscr”这里的Testscr为项目名称二、项目结构说明scrapy.cfg是整个项目的配置文件items.py存储的是所有爬取数据的模型middlewares.py是中间件pipelines.py用于处理爬取到的数据三、创建结构
2021-06-10 09:39:43
676
3
原创 产品经理人需要培养的基本素质
好的产品应该能够改变企业、政府的工作方式,管理形式,作为一个ToB产品经理,怎么提高自己的基本素质,我认为应该从以下几点做起:1、眼,会看产品人员要有敏锐的眼光,能从其他人熟视无睹的事物中发现问题,还要富有发现新事物的观察力,从观察中了解业主方的倾向性意见和想法。对市场上新产品、新技术的变化也要有敏锐的洞察力。2、脑,会想产品人员要善于思考,这是他们的精华之所在,空有一肚子知识,而缺乏创造性的思维能力、准确的分析、判断能力、抽象提炼能力是不行的。产品人员要有聪明的头脑,要有灵气,在与业主的沟通过程中
2021-05-25 13:46:32
229
转载 自动化测试selenium+java
selenium元素的定位以及操作 1. 元素的定位Selenium自动化,我们需要做的最基本的事情就是在页面找到元素并通过脚本程序去操作这个元素,实现模拟人工操作。我们有多种定位元素的方式可以选择: 通过元素的ID定位元素: findElement(By.id(element)); 通过元素的名称定位元素: findElement(By.name(elem...
2018-12-17 15:48:17
1008
转载 张小龙2011年饭否日记
猿人撬不开果子时就拿石头猛砸,延续至今,电脑前的人打不开网页就猛砸Enter键。所以苹果的“轻触”是多么的文明和远离习性啊。 人是环境的反应器。微博像是一个环境,但它不会主动刺激人,所以是个伪环境。到微博看东西是不人性的,哪有到环境里逛逛再决定做什么的,那不叫反应。而是当环境发生了点什么事情刺激到人了,人做出的行动才叫反应。所以,微博之后,将是推送。 互联网产品,好友是如何来的?必须是用户自己...
2018-03-19 20:44:00
925
转载 页面静态化技术Freemarker技术的介绍及使用实例.
FreeMarker简介FreeMarker原理 FreeMarker是一个基 于Java的开发包和类库的一种将模板和数据进行整合并输出文本的通用工具,FreeMarker实现页面静态化的原理是:将页面中所需要的样式写入到 FreeMarker模板文件中,然后将页面所需要的数据进行动态绑定并放入到Map中,然后通过FreeMarker的模板解析类process()方 法完成静态页面的...
2018-03-16 11:05:45
426
转载 如何编制一份软件项目开发计划书
一、项目提出的背景和必要性 包括国内外现状、知识产权状况和发展趋势;技术突破对产业技术进步的重要意义和作用;项目可能形成的产业规模和市场前景。 二、国内外市场分析 包括国际市场状况及该产品未来增长趋势、国际市场的竞争能力、产品替代进口或出口的可能性;国内市场需求规模和产品的发展前景、在国内市场的竞争优势和市场占有率。 三、项目主要开发和建设内容 包括项目的主要科技攻关内容、项目目标及开发任务。 四...
2018-03-09 10:16:49
4012
原创 EditPlus常用正则表达式整理
【1】数字替换 希望把 asdadas123asdasdas456asdasdasd789asdasd 替换为: asdadas[123]asdasdas[456]asdasdasd[789]asdasd 解决: [0-9][0-9][0-9] → [\0]【2】标记表达式替换希望把 asdadas123asdasdas456asdasdasd789asdasd替换为: ...
2018-02-24 17:30:11
1710
转载 HTTP错误 404.17 - Not Found" IIS 7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理
出现这种情况的原因通常是因为先安装了Framework,后安装的IIS;运行cmd,输入:C:\Windows\Microsoft.NET\Framework\V4.0.30319\aspnet_regiis -i 注:C:\Windows\Microsoft.NET\Framework\V4.0.30319\ 是 netfram
2015-02-08 14:57:02
639
转载 CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\web
制权限,如图:其他的解决方案均没有成功如: 1 设置c:windows\temp 目录访问权限 temp--> 属性-->安全-- > 添加network service -->并赋予其权限为 读 和 写--> 确定(注意:操作系统为windows server2003 framework 版本在 1.1及以上)2 设置发布网站的程序目录中bin文件夹的
2015-02-08 14:56:05
722
USB短信猫驱动
2015-01-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅