自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

charly

一直在学习

  • 博客(182)
  • 资源 (2)
  • 收藏
  • 关注

原创 动态创建自定义字段,实现自动添加到数据库及界面显示

动态添加自定义字段,实现自动添加字段

2022-10-08 22:27:51 1873 1

原创 设计模式-适配器模式

适配器模式适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。意图将一个类的接口转换成客户希望的另外一个接口。将原本由于接口不兼容而不能一起工作的类重新可以工作。主要解决在软件系统中,将一些“现存对象”放到新的环

2022-02-19 09:35:04 313

原创 DDD-实体

在现有开发方式中,开发人员和设计人员更关心的是数据库表的设计,列的属性以及表之间的关联关系(外键),每个类就只有get和set方法,没有具体的行为,也就是DDD中经常讲的贫血模型。今天用这篇文章来记录学习实体的概念。为什么要使用实体当需要定义一个对象的个性特征,或者区分不同的对象时,就引入了实体的概念。一个实体是一个唯一的东西,并且在相当长的一段时间内持续地变化。可以对实体做多次修改,因此一个实体对象可能和它先前的状态是不一致的。但是这个对象的唯一标识也就是身份标识是不变的。唯一的身份标识和可变性也

2022-02-08 21:25:44 542

原创 【面向对象分析与设计】——对象

面向对象分析与设计杂谈

2022-01-17 22:31:51 276

原创 装饰者模式-学习探讨

装饰者模式

2022-01-15 15:39:48 255

原创 mybatis根据对应view来动态设置查询列

背景在进行根据模型开发的过程中,模型是需要最精简的。各个模型物料表的列都不一样,如何在模型开发中设置一个精简模型来进行配置,查询出对应的模型数据呢?在上一篇中Mybatis无实体类查询中已经简单实现了mybatis的非预编译查询,那么如何实现对应的动态查询列呢?实现根据设置对应的视图view,来配置要显示或者查找的动态列名,当然这个列名肯定是在表中存在的。演示设置视图编号和名称,分录为要显示的列名,一定要和物理表相对应,这里后面可以通过Model的描述文件设置成过滤条件来选择查询结果修

2021-11-17 11:26:23 1319

原创 mybatis无实体类获取对应表的数据

背景在项目开发中会出现物理模型不确定,但是要根据模型去查询数据的情况,这样使用mybatis的Mapper对应xml文件来配合查询就有困难了。这就说明需要具有一个扩展性的,并且不能将表名写死的方式来实现。经过查找mybatis发现具有一个非预编译的机制可以实现。xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://

2021-11-16 17:55:19 3479

原创 rocketmq源码调试流程

新建文件夹新建conf、logs、data三个文件夹复制文件将conf下的三个文件复制到新文件夹下3、修改对应的conf信息替换成对应的文件夹地址# Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreements. See the NOTICE file distributed with# this work for additional inform.

2021-10-08 21:53:59 85

原创 java反射加载jar包

package com.example.dynamicDemo;import java.lang.reflect.Method;import java.net.URL;import java.net.URLClassLoader;public class loadJar { public static void main(String[] args) { //jar包地址 String jarPath="E:/soft/jarDemo-1.0-SNAPSH

2021-09-28 10:48:43 930

原创 rocketmq namesrv启动顺序分析

2021-09-27 16:53:33 125

原创 netty hello-world执行顺序分析

2021-09-26 21:44:06 66

原创 JSHERP-改造成不同单据获取不同的单据编号

JSHERP实现了简单的进销存和应收应付功能,但是在使用中发现不同单据使用的流水号是一样的,现在改造成不同单据类型的流水号都从1开始,不再从同一个流水号池里取号。改造表jsh_sequence增加一列,用于承接不同的单据类型alter table jsh_sequence add column seqtype varchar(20);修改表的唯一主键将唯一主键seq_name改成seq_name和seqtype修改mapper <update id="updateBuildOnlyN

2021-07-08 14:28:34 501

原创 tb设备数据保存流程

2021-06-04 19:55:33 212 2

原创 thingsboard actor消息处理流程

2021-06-01 10:56:57 714 1

原创 tb-20设备测试

本想用20个并发测试,没成想成为串行了

2021-05-16 23:05:07 106

原创 tb-多设备仪表数据监视

2021-05-15 15:29:54 100

原创 tb-javamqtt连接到tb

使用mqttclient将设备数据发送到tb核心package com.example;import org.eclipse.paho.client.mqttv3.MqttClient;import org.eclipse.paho.client.mqttv3.MqttConnectOptions;import org.eclipse.paho.client.mqttv3.MqttException;import org.eclipse.paho.client.mqttv3.MqttMessag

2021-05-15 15:05:02 187

原创 tb-属性

属性类型服务器端属性几乎所有平台实体都支持这种类型的属性:设备,资产,客户,租户,用户等。服务器端属性是可以通过管理UI或REST API配置的属性。设备固件无法访问服务器端属性共享属性此类型的属性仅适用于设备。它类似于服务器端属性,但有一个重要区别。设备固件/应用程序可以请求共享属性的值或订阅属性的更新。通过MQTT或其他双向通信协议进行通信的设备可以订阅属性更新并实时接收通知。通过HTTP或其他请求响应通信协议进行通信的设备可以定期请求共享属性的值客户端属性此类型的属性仅适用于设备。它用

2021-05-15 11:12:13 421

原创 tb-设备配置文件

设备配置文件设置规则链默认情况,根规则链处理任何设备的传入消息和事件。如果设备类型越来越多,根规则链将会变得越来越复杂。3.2版本支持用户设置设备的自有规则链来处理设备的信息。队列名称主队列用于存储来自任何设备的所有传入消息和事件。传输层将邮件提交到队列中,规则引擎将在队列中轮询是否又新邮件。但是,你可能需要对不同的设备使用不同的队列。队列分隔还允许定义不同的提交和处理策略。队列设置在yml中。rule-engine: topic: "${TB_QUEUE_RULE_ENGINE_T

2021-05-15 11:05:51 327

原创 thingsboard-tenant profile管理员配置文件

overview3.2版本后的tb允许系统管理员给多租户配置相同的设置,每个租户管理员在同一时间内只能拥有一个配置实体限制允许系统管理员定义最多的实体。实体包括设备、资产、客户、用户、仪表盘和规则链api限制和用法允许管理员定义接收信息的最大值,信息包括API调用数等等。tb连续手机和分析数据包括API用法,典型的更新时间段是1分钟。tb通过6个主要部件来跟踪api用法,包括传输、规则引擎、js方法、传输保存、邮箱和SMS服务。如果其中某个API达到了设定的阈值,tb就会将其给停用掉。比如,如

2021-05-15 10:09:10 398

原创 thingsboard-device源码分析

现在学习thingsboard源码,从设备的保存开始分析.整个保存方法如下: @PreAuthorize("hasAnyAuthority('TENANT_ADMIN', 'CUSTOMER_USER')") @RequestMapping(value = "/device", method = RequestMethod.POST) @ResponseBody public Device saveDevice(@RequestBody Device device,

2021-05-14 17:20:24 767 3

原创 thingsboard-3.2.2-源码编译运行调试

源码编译之前编译过2.5.6版本的tb,后来看到最新的3.2.2,就下来重新编译了。3.2.2的tb使用的jdk是11,这是和2.5.6不一样的,大家编译的时候需要注意。通过mvn -T 8 clean install -DskipTests编译后生成的jar包就可以运行了。部署sql如果你能执行Install服务的话,可以自己执行。我执行每次都报错,就手工去数据库里执行这些sql语句。还要对应上yml里面的datasource配置datasource: driverClassNa

2021-05-14 14:33:08 1079 1

原创 maven多线程编译thingsboard代码

thingsboard源码编译的话,需要20-30多分钟,视网络和电脑的性能。后来每次修改编译的时间都太长了,就通过maven的并行编译来缩短下编译时间。我的笔记本是联想小新15pro,AMD R7,8核 16线程。我用12线程来编译。mvn -T 12 clean install -DskipTests最终耗时6分13秒,和使用8核来编译差不多的时间。大家可以自己试试。说到这了,就说下我编译3.2.2版本遇到的问题。1、第一个3.2.2版本已经切换到了jdk11,所以一定要下载jdk11,

2021-05-09 09:33:44 583

原创 Axelor-Sales销售

Sales销售(这段是谷歌之间翻译的)此应用程序用于管理公司的销售。它允许您创建报价,打印报价或以PDF格式生成报价,并直接从应用程序发送报价。一旦确认并最终确定了报价,它将自动转换为销售订单。您可以根据销售订单生成供应商订单或计划制造订单(取决于订购产品的默认采购方法)。还可以从订单中生成交货单,以便安排客户交货和相关的货物移动。这个模块就是ERP中的销售模块,可以生成销售报价单和销售订单以及进行开票操作。模块介绍Customers 客户Contacts 联系人Products &amp

2021-03-26 16:23:11 325

原创 Axelor 开源ERP软件尝试(1)

Axelor erp套件Axelor ERPFree up your business with true Open Source ERPOptimize your time, reduce costs, and manage your entire business at a glance法国的一个公司开发的一个开源版本的ERP套件,可以实现ERP/CRM等。我最近在看odoo,安装也有点麻烦,无意发现到了这个开源。后面对这个erp进行尝试学习docker安装安装文档docker run

2021-03-26 14:12:15 1061

原创 Scheduling-tasks:spring的定时任务

spring创建一个spring程序,用于定时任务的调度pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0

2021-02-24 09:56:24 116

原创 moquette源码学习

背景最近一直在看mqtt协议,希望在后续项目中使用一个高并发高可用的mqtt broker,最后发现了moquette。在github上的点赞还是比较多的,所以学习下它的源码以更加熟悉下mqtt的协议。结构结构里主要包含broker、interception(拦截器)、logging(日志)和persistence(持久化)在这里主要分析的是brokerbroker先从server层分析开始。server类是整个代码的起始类,里面定义了各种接口的实现以及连接工厂的创建。public vo

2021-02-17 14:13:36 760 1

原创 thingsboard rpc应用程序控制传感器模拟

使用服务器端rpc来控制模拟的温度传感器效果图如下:下面把我的设置和代码记录一下:增加设备如果使用服务器端RPC命令,不需要在增加规则链了增加控制按钮注意这里的methond方法getvalue setvalue要与代码中对应的接收方法一致rpc代码(C#使用mqttnet)主要的代码是下面这些 public static void Main(string[] args) { var factory = new MqttFacto

2021-02-06 16:52:27 1242 1

原创 thingsboard终于编译通过了

thingsBoard编译太难了,我历经了两天的时间终于编译成功了。主要是根据https://www.iotschool.com/wiki/tbinstall来进行错误修改的

2021-01-30 16:55:25 189

原创 MQTTnet实现client/broker

MQTTnet是实现mqtt协议的net包可以在MQTTnet 查看详细的使用说明。实现clientusing Microsoft.Extensions.Logging;using MQTTnet;using MQTTnet.Client.Options;using MQTTnet.Client.Receiving;using MQTTnet.Protocol;using MQTTnet.Server;using Newtonsoft.Json.Linq;using System;us

2021-01-30 16:25:24 1657

原创 thingsboard编译出错

thingsboard编译时出错需要下载 fetched-v10.15.3-linux-x64 和 fetched-v10.15.3-win-x64 这两个文件。github下载慢,我下载好后放到我的网盘里,分享给大家链接: https://pan.baidu.com/s/1S9w26L0HEm8o2PTm5XnOVw 提取码: suwp 复制这段内容后打开百度网盘手机App,操作更方便哦...

2021-01-29 09:13:18 254 1

原创 thingsboard使用gateway网关

gateway网关可以将现场设备数据收集后,再联通到thingsboard后台控制中心,并自动显示设备信息这个是网关的结构图可以参照官网配置网关建立网关设备一定要勾选上是网关选项下载运行thingsboard-gateway我是在虚拟机环境通过docker安装的docker run -it -v ~/.tb-gateway/logs:/thingsboard_gateway/logs -v ~/.tb-gateway/extensions:/thingsboard_gateway/exte

2021-01-26 17:39:23 6878

原创 thingsboard(2)创建设备、仪表、分配给用户

官网上描述的非常清晰https://thingsboard.io/docs/getting-started-guides/helloworld/#step-2-connect-device创建设备连接设备我这次使用了MQTTBox进行连接我的thingsboard使用docker安装到我的虚拟机里设置好后,就可以看到已经连接上了发送数据主题是:v1/devices/me/telemetry内容里包含的是json文本,键值是temperature,一定不要写错了点击publish后

2021-01-26 09:59:30 1044

原创 jeecg-boot启动错误

git clone代码后,通过run无法正常启动项目,一直报某个依赖在远程库中不存在通过更新maven的setting设置<profiles> <profile>  <id>nexus</id> <!--所有请求均通过镜像 --> <repositories> <repository> <id>central</id>

2021-01-25 14:00:48 1626

原创 thingsboard(一):连接测试设备

安装thingsboardcentos docker安装使用Pg数据库,按照最低配置安装docker-compose.ymlversion: '2.2'services: mytb: restart: always image: "thingsboard/tb-postgres" ports: - "8080:9090" - "1883:1883" - "5683:5683/udp" environment: TB

2021-01-24 09:00:46 1298 3

原创 CULane数据集处理,可用于后续车道线检测

CULane数据集处理,将标注点显示到图片上,用于后期Fast-CNN检测以下是源码# -*- coding: utf-8 -*-"""Created on Fri Jan 15 17:22:54 2021@author: yuyanchuan"""import osimport cv2import numpy as npfrom time import sleepbasedir=r'D:\BaiduNetdiskDownload\CULane'def get_laneDa

2021-01-16 13:20:55 3175 6

原创 玩转dlib-增加白眉毛处理

经常用美颜相机什么的,可以给自己增加许多挂饰,感觉很新奇。自从学习了dlib,就发现原来dlib也支持这种处理这种处理需要在提取68个特征点的基础上进行再次处理。我这次增加的处理是把自己的黑眉毛变成了白眉毛,下次白眉大侠再演的话,可以找我给他们编辑,不用再把眉毛染白了# -*- coding: utf-8 -*-"""Created on Thu Jan 14 21:56:08 2021@author: yuyanchuan利用dlib增加白眉毛处理眉毛的特征点是18.19.20.21

2021-01-14 22:36:08 168

原创 dlib读取68个人脸特征点

可以读取到人脸上的68个特征点,可以利用这些特征点做点有意思的事# -*- coding: utf-8 -*-"""Created on Thu Jan 14 16:49:37 2021@author: yuyanchuan"""import dlibimport cv2import ospredictor_path='shape_predictor_68_face_landmarks.dat'detector=dlib.get_frontal_face_detector().

2021-01-14 21:55:38 464

原创 使用dlib detector.run检测人脸-踩坑

使用detector.run()来检测人脸,但是有的时候准确率不是很高,可以看出来,有些裤子或者背景图像都被认为是人脸了代码:# -*- coding: utf-8 -*-"""Created on Thu Jan 14 15:57:54 2021"""import dlibimport cv2detector=dlib.get_frontal_face_detector()cap=cv2.VideoCapture(0)while True: # ret,frame=

2021-01-14 17:49:31 844

原创 根据dlib脸部特征查找人脸位置

dlib的人脸特征数据shape_predictor_5_face_landmarks.dat已经可以满足普通的人脸特征提取了# -*- coding: utf-8 -*-"""Created on Thu Jan 14 14:54:23 2021@author: """import dlibimport cv2import ospredictor_path='shape_predictor_5_face_landmarks.dat'detector=dlib.get_fron

2021-01-14 15:32:49 381

IdnetityServerforImplicit认证.zip

identityserver4实现Hybird混合客户端和资源密码,实现对身份认证和资源授权的集成。netcore 2.1

2020-02-19

客户端认证源码.zip

identityserver客户端认证源码,可以保护api资源,进行API授权管理 netcore2.1

2020-02-19

空空如也

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

TA关注的人

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