• 博客(36)
  • 收藏
  • 关注

原创 记录一次Java微服务打包瘦身操作

问题来源:此次项目共有28个微服务,打包后有2.1G处理思路:在maven打包时,将依赖包与执行jar分离打包,但resources内容(包括静态文件与配置文件)需要保留在执行jar包内,以减少部署的麻烦父工程添加plugins<build> <pluginManagement> <plugins> <plugin> <groupId>org.sprin.

2021-03-07 00:04:02 669

原创 记录一次centos环境下配置直播流nginx并使用ffmpeg对rtsp转rtmp进行推流

问题来源:ffmpeg切片m3u8卡顿严重,只能另找出路

2021-03-06 23:38:47 394

原创 记录一次Java对接监控(大华、海康、onvif)

需求获取视频流并在内嵌video标签进行播放操控监控进行转向、调焦操作解决流程官方SDK一个赛一个的不靠谱,尤其是mac开发无法加载dll文件,就算可以加载,服务器也加载不了,果断pass从onvif入手,写一个全通用的微服务不需要依赖,但需要如下几个包org.oasis_open.docsorg.onvif.ver10org.onvif.ver20org.w3._2004_08.xop.includeorg.w3._2005org.xmlsoap.schemas...

2021-03-06 02:13:11 6146 32

原创 问题解决方案 : mybatis 关键字解析异常

出现问题:sql语句在sql console中运行正常,执行时报如下错误ParseException: Encountered unexpected token: "is" "IS"解决方案:在对应Mapper接口加注解 @SqlParser(filter=true) 对sql解析进行忽略操作

2021-03-06 01:41:32 2212 1

原创 Spring Alibaba Cloud Nacos 配置及连接Mysql

nacos下载解压缩下载文件新建一个mysql数据库用~/nacos/conf/nacos-mysql.sql中的sql语句在mysql创建数据表修改~/nacos/conf/applicaton.properties#*************** Config Module Related Configurations ***************#### If use MySQL as datasource:spring.datasource.platform=mysql### .

2020-10-20 10:45:15 912

原创 架构学习之路(一)源码分析 10 设计模式与编程思想总结

架构学习之路(一)源码分析 9 观察者模式1.1.4 设计模式总结不要生搬硬套 , 根据业务场景选择不要把简单的事情复杂化 , 设计模式是用来解决复杂问题 , 把复杂的问题编的简单十种设计模式归纳工厂模式 ( Factory )只对结果负责 , 不管过程原始社会—>农耕社会—>小作坊—>工厂—>流水线生产Spring : BeanFactory , FactoryBean单例模式 ( Singleton )保证独一无二为了提高资源重.

2020-09-29 20:52:20 235

原创 架构学习之路(一)源码分析 9 观察者模式

架构学习之路(一)源码分析 8 适配器模式与装饰器模式观察者模式(Observer)行为型角色发布者:Publish订阅者(观察者):Subscriber(Observer)观察者通常有一个回调观察者与发布者之间没有必然联系,注册的时候才产生联系,主要目的是为了解耦通常与 Proxy 混合使用定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新Spring 中 Observer 模式常用的地方是 Listener 的实现.

2020-09-27 22:37:36 178

原创 架构学习之路(一)源码分析 8 适配器模式与装饰器模式

架构学习之路(一)源码分析 7 委派模式适配器模式(Adapter)结构型Spring AOP 模块对 BeforeAdvice、AfterAdvice、ThrowsAdvice 三种给你通知类型的支持就是借助适配器的模式来实现的,这样的好处是使框架允许用户向框架中加入自己想要支持的任何一种通知类型,这三种通知类型都是 Spring AOP 模块定义的,是 AOP 联盟定义的 Advice 的子类型注重兼容、转换适配者与被适配者之间没有层级关系,也没有必然联系满足 has-a 关系生.

2020-09-26 22:44:27 206

原创 架构学习之路(一)源码分析 7 委派模式

架构学习之路(一)源码分析 6 策略模式与模板模式委派模式(Delegate)行为型角色客户请求委派者:持有被委派者的引用被委派着区分 Proxy 与 StrategyDelegate 相当于静态 Proxy 一种非常特殊的情况:全权代理,中介自己不干活,只负责调度工作、分配任务Delegate 在分配任务之前,要做一个选择,类似于 StrategyDelegate 相当于 Proxy 与 Strategy 的特殊组合Proxy 注重过程,Delegate 注.

2020-09-26 07:58:20 157

原创 架构学习之路(一)源码分析 6 策略模式与模板模式

架构学习之路(一)源码分析 5 代理模式策略模式(Strategy)行为型最终执行结果是固定的,但执行过程和执行逻辑不一样,供用户选择客户本身不知道要采用什么算法,但是知道每种算法的过程,并且客户有选择权定义一系列的算法,把他们一个个封装起来,并且使它们可以相互替换,使算法可以独立于使用它的客户而变化Spring 在实例化对象的时候用到 Strategy 模式,在 SimpleInstantiationStrategy 有使用通常与抽象工厂模式配合使用生活.

2020-09-24 21:40:52 326

原创 架构学习之路(一)源码分析 5 代理模式

架构学习之路(一)源码分析 4 原型模式代理模式(Proxy)结构型目标对象被代理人这件事一定要做,但是没时间坐或者不想做做最终决定方法代理人执行者拿到被代理人的引用能够调用被代理人的做最终决定的方法只参与过程或者过程的某几个环节为其他对象提供一种代理,以控制对这个对象的访问结构上与 Decorator 类似,但 Proxy 是控制,更像是一种对功能的限制,而 Decorator 是增加职责Spring 的 Proxy 模式在 AOP .

2020-09-23 21:39:21 210

原创 架构学习之路(一)源码分析 4 原型模式

架构学习之路(一)源码分析 3 单例模式原型模式(Prototype)创建型有一个原型数据内容相同,但对象实例不同DTO、VO、POJO、Entity…DTO 和 VO 之间存在一些属性名称、类型都相同,数据库中表查询出来的对象会赋值给 DTO,MVC 中的 Model 把 DTO 中的值赋值给 VO,再把 VO 中的值传输到 View 中去复制,属性名称相同、属性内容相同、属性值相同Spring scope=“prototype”:把对象中配置的依赖关系,在每次使用对象之前,都会.

2020-09-22 21:30:47 145

原创 架构学习之路(一)源码分析 3 单例模式

架构学习之路(一)源码分析 2 简单工厂模式与工厂方法模式单例模式(Singleton)创建型保证从系统启动到系统终止,全过程只会产生一个实例,并提供一个访问它的全局访问点初衷是使资源共享,只需要初始化一次,所有人都可以重复使用当我们在应用中遇到功能性冲突的时候,需要使用单例模式Spring 没有从构造器级别去控制单例,因为 Spring 管理的是任意的 Java 对象Spring 下默认的 Bean 均为单例解决并发访问时候的线程安全问题,序列化与反序列.

2020-09-21 22:32:24 158

原创 架构学习之路(一)源码分析 2 简单工厂模式与工厂方法模式

架构学习之路(一)源码分析 1 设计模式与设计原则常用的设计模式简单工厂模式(Factory)归类特点穷举创建型复杂工厂模式的思维模型。不属于23种设计模式之一。Spring 中的 BeanFactory,根据传入一个唯一的标识来获得 Bean 对象,但是否是在传入参数后创建还是传入参数前创建要根据具体情况来定。由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。解决产品与用户之间的问题。批量生产标准化public interface Milk { pu.

2020-09-20 20:34:47 191

原创 架构学习之路(一)源码分析 1 设计模式与设计原则

架构师学习笔记1. 源码分析1.1 Spring 中常见的设计模式设计模式设计模式都是组合使用,不会独立应用。设计模式通常来源于生活,反过来帮助我们更好的生活。利用穷举法充分理解设计模式的应用场景。在平时的应用中,不是用设计模式去生搬硬套,而是根据业务场景,选择设计模式。经典设计模式分类设计模式创建型工厂方法模式(Factory Method)抽象工厂模式(Abstract Factory)建造者模式(Builder)原型模式(Prototype)单例模式

2020-09-20 20:24:46 238

原创 linux安装nginx并配置tomcat代理

1.安装gcc-c++,pcre,zlib,opensslyum install gcc-c++yum install -y pcre pcre-develyum install -y zlib zlib-develyum install -y openssl openssl-devel2.下载nginx安装包,nginx官网,download下,Stable version代表稳定版本,我这里选用的是1.18.0wget --no-check-certificate --no-coo

2020-05-15 23:34:52 514

原创 python3.8 安装 pygame

在阿里云镜像市场下载对应系统版本的.whl文件 pip install .whl文件路径

2020-01-22 20:06:44 4397 7

原创 mac OS因系统占用无法推出移动硬盘问题

打开终端,输入命令,获取占用移动硬盘的PID diskutil unmount /Volums/disk_name PID是12345,输入命令结束占用进程 kill -9 12345 可以正常推出硬盘

2020-01-08 23:39:20 2506 3

原创 mysql创建新用户并授予用户固定数据库操作权限

create user 'username'@'%' identified by 'password';grant all privileges on test_database.* to 'username'@'%';flush privileges;

2020-01-08 23:35:42 369

原创 Linux创建新用户,并赋予ssh访问权限

创建用户,-m会直接在/home下创建该用户名的工作空间 useradd -m username 为新用户创建密码 passwd username 此时可以尝试使用ssh进行登录,如果说权限不足,再进行如下配置 ssh [email protected] 编辑/etc/ssh/sshd_config文件,找到AllowUsers...

2020-01-08 23:30:26 3477

原创 远程ping服务器ip地址及端口命令记录

查看服务器是否可以链接,可以直接使用域名,如果有收发包则说明服务器正常工作 ping xxx.xxx.xxx.xxxping domain.comping xxx.domain.com 测试端口是否放通,同样可以输入域名,如有返回值则说明端口是放通的,如果返回值不是success可能是因为端口没有开启 nc -zv xxx.xxx.xxx.xxx 8080 ...

2020-01-08 22:40:01 7305

原创 Linux服务器下配置tomcat宕机重启

在服务器上创建一个bush文件,我命名为tomcatMonitor.sh 编辑tomcatMonitor.sh文件,if及fi必须成对出现,如果if then写在一行需要用;隔开 #!/bin/sh# 获取tomcat的PIDTOMCAT_PID=$(ps -ef|grep tomcat|grep -w 'tomcat'|grep -v 'grep'|awk '{print $2}')...

2020-01-08 22:32:15 530

原创 Springboot2.x yaml文件整合logback+druid+mysql及多个环境管理

新建项目,首先配置pom.xml,有其他需要可以自行加入,这些都是我写项目必备的 <?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" ...

2020-01-07 23:52:47 528

原创 Linux服务器下配置多个tomcat及SSL配置

安装Java 上传tomcat.tar.gz并解压两次,重命名两个文件夹 tomcat-dev(生产模式) tomcat-test(测试使用) vim /etc/profile 在最后面追加代码# 用户主路径配置export USER_HOME=/home/user# Java配置export JAVA_HOME=$USER_HOME/java/jdk-13.0.1ex...

2020-01-07 22:36:54 528

原创 IDEA如何使用SVN进行管理

发了工作任务每天都要使用SVN进行代码提交4月1日前要交第一版我负责整个商家的后台压力很大从没用过的IDE从没有写过的东西从没有团队配合去写过东西中间还要穿插着各种乱七八糟的任务还要随时增加新需求这里主要转发一个博客全的不要不要的感谢大师兄http://blog.csdn.net/qq_27093465/article/details/74898

2018-01-17 13:53:56 1677

原创 IDEA快捷键

常用:F3 查找下一个F12 将焦点移动到最后操作的窗口Ctrl+E 最近使用文件Ctrl+F 查找Ctrl+H 显示类的结构Ctrl+I 实现方法Ctrl+N 快速打开类Ctrl+R 替换--可以单个操作Ctrl+U 转到父类Ctrl+Y 刪除当前行Ctrl+[ OR ] 去大括号开始或结尾Ctrl+F2 停止Ctrl+F4 关闭Ctrl+

2018-01-16 12:51:05 170

原创 Python入门记录10

# 整数输出整数,小数输出小数def myMath(a,b): try: c = a/b except Exception as e: print('exception',e) else: if c == int(c): return int(c) else: return '%.2f

2018-01-15 11:32:57 278

原创 Python入门记录9

class myMath(): # 两个数最大值 def max(self,a,b): try: float(a) float(b) except Exception: print('类型不符') else: return max(a,b)

2018-01-11 18:18:50 186

原创 Python入门记录8

# 分针时针秒针什么时候重合coincide = []for hour in range(0,12): for minute in range(0,60): for second in range(0,60): secondAngle = second*360/60 minuteAngle = int((minute+se

2018-01-11 17:40:38 313

原创 Python入门记录7

import osimport pickle# 查看地址print(id(0),id('0'),id(int('0')),id(str(0)))a = str(0)print(a)b = '0'print(b)print(a==b)#trueprint(id(a),id(b))print(id(a)==id(b))#false# 名片关系系统# 添加名片# 删除名片#

2018-01-11 15:08:49 186

原创 Python入门记录6

# python--轻型语言--互动# PyPy解释器--提升执行速度# CPython--官方# IPython--增强交互# Jython--运行在Java平台上的# IronPython--运行在微软import random# 这种随便也太粗糙了-。-print('游戏开始,输入exit结束')a = ''while a!='exit': a = input(

2018-01-11 13:38:41 175

原创 Python入门记录5

import os# 查看当前工作路径绝对路径print(os.path.abspath('.'))# 查看当前工作路径print(os.path)# 创建一个目录os.mkdir('myDir')# 删除一个目录os.rmdir('myDir')# 查看操作系统类型:windows:nt,linux/unix:posixprint(os.name)# 对目录文件路径拆分:不

2018-01-11 11:45:29 207

原创 Python入门记录4

import osfi = open('my.txt','w+')fi.write('今天是2018年1月11日')# 写入完直接读会输出空,因为指针已经在末尾# 输出当前指针位置print(fi.tell())# 设置指针回到文件最初fi.seek(os.SEEK_SET)print(fi.readlines())fi.close()# 异常处理# BaseExcepti

2018-01-11 10:54:07 162

原创 Python入门记录3

# python模块--python文件,包含python对象定义和python语句# import关键字引入模块-->当前搜索路径-->shell变量pythonpath-->默认路径from time import timezone#只引入模块中的一个属性或方法from time import *#引入全部模块import sysimport osimport picklei

2018-01-10 17:58:20 182

原创 Python入门记录2

# 日期和时间 1970-2038import time #加载time模块import calendar #加载日历模块import datetime #加载datetime模块time_ = time.time()#获取当前时间戳print(time)localtime_ = time.localtime(time_)#将时间戳转化为元组print(localtime_)# 0

2018-01-10 16:56:37 165

原创 Python入门记录1

#编码格式设置#coding=utf-8# -*- coding:UTF-8 -*-#python缩进需要严格执行#python以新行作为语句的结束符,也可以使用\讲一行语句分为多行显示#语句中包含[],{},()不需要多行连接符'''这里是多行注释'''"""这里也是多行注释"""#等待用户输入# input1 = input('等待用户输入')# pri

2018-01-10 15:18:06 253

空空如也

空空如也

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

TA关注的人

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