设计模式之依赖倒转原则
设计模式之依赖倒转原则定义123依赖倒转原则:抽象不应该依赖细节,细节更应该依赖抽象。// 说白了就是要针对接口变成,不要对现实编程。官方解释:高层模块不应该依赖于低层模块,两者都应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象。通过依赖抽象(如接口或抽象类)而不是具体实现,代码可以更灵活和易于维护
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950public class Main { // 高层模块 static class Application { private final MessageService messageService; // 通过依赖注入的方式,使得高层模块依赖于抽象接口而不是具体实现 public Application(MessageService messageService) { this.messageSe ...
设计模式之开放封闭原则
设计模式之开放封闭原则定义123开放-封闭原则:是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。【ASD】// 对于扩展是开放的,对于更改是封闭的。在开发过程中面对需求,对程序的改动是通过增加新代码进行的额,而不是更改现有的代码。// 有点像一国两制,对于大陆来说社会主义是不可改变的,对于香港来说长期在殖民统治进行彻底的变化是不现实的。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657import java.util.List;// 抽象形状接口interface Shape { double area();}// 矩形类class Rectangle implements Shape { private double width; private double height; public Rectangle(double width, double he ...
设计模式之单一职责模式
设计模式之单一职责模式12// 单一职责模式顾名思义就是一个类尽量保证只有一个职责。比如生活中相机只用来拍照、MP3只用来听歌。当我们把这些功能如果放在一起的话 就会变得很复杂。代码也一样 会导致代码维护困难。牵一发而动全身。// 手机的发展有他自己的特点:然而编程时,我们却是要在类的职责分离上多思考,做到单一职责,这样的代码才是真正的以维护、易扩展、易复用、灵活多样。
例子
员工薪资计算// 构建一个员工类
12345678910111213141516171819202122232425262728public class Employee { private String id; private String name; private double salary; public Employee(String id, String name, double salary) { this.id = id; this.name = name; this.salary = sa ...
设计模式之简单工厂模式
设计模式之简单工厂模式优点1// 包含了必要的 `逻辑判断` 根据外部信息决定究竟应该创建那个具体类的对象。通过使用简单的工厂模式,用户无需了解对象如何创建的,只需要传入必要的信息就可以了
缺点12// 工厂类集中了所有实例的创建逻辑,违背了高内聚责任分配原则。随着系统中具体产品类不断增多,势必要不断修改工厂类,不易维护和扩展。也违背了开放封闭原则。// 注:开放封闭原则:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
例子实现一个计算器
// 构建一个抽象父类
123456// Product 角色,所有实例所共有的公共接口abstract class Operation { public int numA; public int numB; public abstract int GetResult();}
// 构建实现类。具体产品角色,实现 Product 中的接口
123456789101112131415161718192021222324252627282930313233343 ...
7月份打工日记
自动化写字机1234567采用Python写的自动化程序,打开自动写字机操作。 1:Java服务端的模板内容的替换 2:Java与Python的连接选型(WebSocket) 3:Python读取Java发送的信号 写字模板 4:Python替换脚本成功后执行模拟点击写字程序。 5:写字完成后调用摄像头拍照,Java服务端接受Base64照片 上传存储至订单 其他:笔的选型、打印机的调试(打孔)、摄像机的位置、与瑞鑫联调测试。
登录采用手机号验证码登录123456新增手机号验证码登录逻辑 1:阿里云验证码模板申请、资质认证 2:代码逻辑的新增(内网外网的校验) 2-1:写了一个vbs程序向服务器发送请求判断是内网还是外网 3:验证码的发送 4:验证码Redis保存、校验
接入企业微信的投诉页面12345新增的投诉页面支持查看所有记录 以及用户进行投诉 1:创建企微BOT 2:找一个企微发送消息的模板、调用API 3:将用户投诉推送到企微中页面内容:订单号、描述、上传聊天记录、手机号等
自定义页面编辑1 ...
小程序BUG记录
域名非法问题小程序发布必须是合法的https域名 ,尽量是一级,二级域名证书小程序中的前端默认不可以像不在域名列表中的端口发送url请求,例如微信的登录url必须去访问本服务器的后端,通过本服务器的后端做中转站像微信的后端去发送url请 微信支付问题
public class PayUtil {private static Logger logger = Logger.getLogger(“com.wade.common.utils.payUtils.PayUtil”);
public static Map<String, String> wxPay(String openid, HttpServletRequest request) {
JSONObject json = new JSONObject();
SortedMap<String, String> packages = new TreeMap<>();
try {
//生成的随机字符串
String ...
微信SDK
Web端调用微信sdk扫一扫功能常见问题
没有调用成功摄像头?12345/** 我们使用的是wxsdk,那自然是只有在微信中才能打开喽。你要是在浏览器上打开那怎么调用摄像头(很蠢,自己一开始是在浏览器上测试的)* 另外看一下自己是否成功的鉴权了。如果密钥没错的话那就没问题* 另外注意参数的大小写问题哦*/
准备工作
微信公众号订阅号即可 绑定自己的域名(JS接口安全域名),添加IP白名单、获取AppSecret
在Java后端写一些Utils去向微信发送请求,以达到鉴权获取 ticket
后端代码12public static final String TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token";// 获取access_tokenpublic static final String TICKET_URL = " https://api.weixin.qq.com/cgi-bin/ticket/getticket";// 拿到token以后获取ticket
获取签名的接口
1234 ...
Hexo笔记
Hexo g/Hexo generate1执行通过md生成index.html资源 会在根目录下生成public文件夹
hexo clean1清楚缓存
hexo s/hexo server1本地启动
hexo d / hexo deploy1部署至线上 本地生成.deploy.git 文件夹上传至github
hexo new title1生成文章 eg: hexo new First,会生成一个名称为first.md的markdown
Delete12只需要将本地的source/_posts文件夹下的对应文章的资源删除就行之后执行 hexo clean && hexo g && hexo s // 一定要先 clean,防止灵异事件发生
YoloBaseNode
Yolo的任务分类Train(训练)概念
YOLOv8 中的 “训练 “模式充分利用现代硬件能力,专为高效训练物体检测模型而设计。可以训练出自己的模型
demo123456789from ultralytics import YOLO# Load a modelmodel = YOLO("yolov8n.yaml") # build a new model from YAMLmodel = YOLO("yolov8n.pt") # load a pretrained model (recommended for training)model = YOLO("yolov8n.yaml").load("yolov8n.pt") # build from YAML and transfer weights# Train the modelresults = model.train(data="coco8.yaml", epochs=100, imgsz=640)
参数
参数
默认 ...