- 博客(105)
- 资源 (6)
- 收藏
- 关注
原创 docker开发环境搭建(windows)
使用容器离线开发,更换设备只需一行代码即可完成环境搭建,满足了所有设备以及服务器通用一套镜像的刚需,解决了多个环境部署管理监控多套开发环境的弊端,删除重复操作大大节省了人员成本,本篇介绍关于mysql、nacos、nginx、redis在docker在开发设备上(windows)上部署
2022-11-14 16:33:18 5964 3
原创 v-model动态选取绑定的属性
需求:根据前一个表单项用户选取的值,动态选择后面的表单项应该绑定哪个属性。比如前者选了1,那么后者绑定formObj.stu,选2,后者绑定formObj.tea坑那么针对这个场景我们第一个想法肯定是三目,你肯定会写出如下的代码<el-input :v-model:'formObj.xx == 1?this.formObj.stu':'this.formObj.tea'></el-input>恭喜你,这么些不生效。因为vue有自己的规则针对v-model是不允许使用表达
2022-05-06 10:48:47 2408
原创 我的2021
技术总结2021年接触到的应用到的技术点我罗列了一个清单大概如下历程今年走了好多路,从青岛去济南到上海再到杭州最后又回到青岛,我走完了一个闭环,这期间做过开发,做过运维,也做过架构,当然也在年底毅然决然的拿起adobe全家桶与ue4配合蓝湖学习了UI设计以及CG动画,2021有幸能给我机会让我接触到很多很多的技术点和工具类让我拥有更多型号的手术刀来解决相对棘手的问题,相应的生活也得到了不错的回报吧,感概很多,愿接下来的100篇博客更多的是引入项目管理,产品对接,业务测试相关的内容,能够快速从一个开发
2021-12-13 18:37:25 849 3
原创 css解决web页面拖拉组件变形
前言作为前端开发人员,calc()这个函数一定不陌生,但是它存在一定的局限性,假如无限缩小页面或者无限放大页面都会导致calc()标签里面的内容变形,所以紧跟着它还要有一个最小宽度min-width / min-heightdiv{ width:calc(100vw); /**最小宽度固定大小**/ min-width:1400px; }拓展响应式要求摒弃px,web字体使用rem,app使用rpx页面布局div使用calc()配套min-width去使用位置属性使用% 例如:(p
2021-12-13 11:17:34 830
原创 一个vue工程下表单+分页表格的组件
在开始之前请先这样做在main.js中添加Date和String的扩展方法效果图-级联:做到监听 没大不有小-添加表格空数据处理-添加表格loadding加载-分页总条数存至计算属性 一般不会变动则不吃消耗-传参处理:使用计算属性传递参数 不会导致频繁访问data()中的内容 而且由于存在缓存所以请求效率会提高很多-时间处理:使用组件封装的date.prototype使js date类型转yyyy-MM-dd-表单校验<template> <a-card :bor
2021-12-07 18:05:20 602
原创 vue工程为date转字符串以及字符串提取数字提供扩展方法
在你的mian.js中添加Date.prototype.Format = function (fmt) { // author: shang var o = { "M+": this.getMonth() + 1, // 月份 "d+": this.getDate(), // 日 "h+": this.getHours(), // 小时 "m+": this.getMinutes(), // 分 "s+": this.getSeconds(), // 秒
2021-12-07 17:16:40 1511
原创 使用||优化js冗杂的三目运算
通常来说在dom中使用三目运算的频率很高,但是很多小伙伴可能不知道如下写法但是有的时候我们并不需要if else中的else所以可以用||来优化一下写法经典三目{{this.count?this.count:'0'}}替代{{this.count||'0'}}...
2021-12-07 16:57:59 785
原创 elementUI在环形进度条el-progress中添加图标
效果图由于’饿了么’进度条不支持中心添加图标所以我们采用最原始的’父相子绝’来调整位置和大小<div class="progress-div"> <el-progress type="circle" :percentage="100"
2021-12-07 16:49:20 2735
原创 .gitignore 不生效的解决方案
前言在第一个push代码前,先将.gitignore文件放到根路径下,贴一下我的.gitignore文件# Compiled class file*.class*.iml*.ideatarget/logs/# Log file*.log# BlueJ files*.ctxt# Mobile Tools for Java (J2ME).mtj.tmp/# Package Files ##*.jar*.war*.ear*.zip*.tar.gz*.rar# v
2021-11-25 00:37:15 689
原创 idea配置tomcat代理jsp项目
下载tomcat下载tomcat下载tomcat->解压idea配置最后配置项目访问路由的前缀也就是上图Application context 它是端口号之后的url前缀,建议用/配置完毕启动项目
2021-11-25 00:30:02 347
原创 Vue实现侧边导航栏于Tab页关联
技术栈侧边栏用 Antdtab使用element效果<template> <div class="main-card"> <el-row> <el-col :span="3"> <div class="menu-all"> <div class="menu-head"> <
2021-11-11 11:16:36 5155 3
原创 Vue封装axios
封装请求请求拦截器响应拦截器设置响应等待时间、baseUrl、反向代理断网处理错误跳转首先需要安装 qs axios vant在src目录下新建request目录,request下新建http.js,api.js两个文件http.js/** * axios封装 * 请求拦截、响应拦截、错误统一处理 */ import axios from 'axios'; import router from '../router'; import store from '../sto
2021-09-12 17:46:16 138
原创 Vue-cli proxy前端解决跨域问题
前端解决跨域如果是Vue-cli3 则需要在根目录下建立vue.config.js下载http-proxy-middleware依赖npm install http-proxy-middleware -save -devvue.config.jsvar proxy = require('http-proxy-middleware');module.exports = { devServer: { proxy: { '/api': { // api表
2021-09-10 11:58:05 176
原创 Camunda工作流集成SpringBoot(四)
节点之间的参数传递书接上回Camunda工作流集成SpringBoot(三)业务场景:还是一条请假申请,总不能没有请假的理由,直接申请到领导那里请求领导批示吧,所以在工作流之间参数的传递怎么做呢TaskServicesetVariable和setVariableLocal区别:前者全局,后者只能本节点使用//如果是职员任务节点需要提交任务参数if(task.getAssignee().equals("zhangsan")) { /** 1.使用基本数据类型设置流程变量
2021-09-09 19:46:54 1625 1
原创 Camunda工作流集成SpringBoot(三)
Camunda监听两种常用的监听方式监听位置start:启动监听 不能加在序列流上面end:结束监听 不能加在序列流上面take:执行监听 只能加在序列流上面create:流程启动assigment:流程部署complete:流程完成delete:流程结束ExecutionListener直接写js脚本的方式1.选择lnline Script,则Script里面写javascript的实现方式2.引用脚本路径的方式Script Type选择External Resource,则
2021-09-09 18:32:28 2172
原创 Camunda工作流集成SpringBoot(二)
创建流程实例注册流程相当于java中创建一个Class 后续的流程相当于该流程的一个一个的实例首先需要给大家展示一下流程图的xml文件后续我们会通过name创建流程类,通过id创建流程实例所以不要弄混了 @Autowired RepositoryService repositoryService; /** * 注册流程 **/ @Test public void registerProcesses(){ Deployment deploy
2021-09-09 16:10:26 2521
原创 [翻译]什么是Kubernetes?
原文在RedHat的一篇关于项目管理,资源分配的文章英文原文译文资源管理的挑战在架构中,作为开发人员,您可以通过设置请求和资源,以规定指定容器需要多少资源(CPU、内存和其他)。“Request”是容器保证得到的内容。容器的总请求之后被程序调度器使用,而且它会决定放置在哪个相对空闲的Pod节点上。实际上设置请求资源是十分困难的为容器设置请求不是一项简单的任务。在实践中,开发人员通常会过度供应容器的资源,以避免供应不足的风险,包括由于内存不足而导致的pod迁移以及由于资源不足而导致的应用程序性
2021-09-03 16:12:27 550
原创 shiro
Shiro使用Shiro进行登录权限校验官方解释:个人理解:首先Shiro进行登录校验是不与数据库交互的,可以直接通过控制层校验身份shiro主要有三大功能模块:Subject:主体,一般指用户。SecurityManager:安全管理器,管理所有Subject,可以配合内部安全组件。(类似于SpringMVC中的DispatcherServlet)Realms:用于进行权限信息的验证,一般需要自己实现。细分功能Authentication:身份认证/登录(账号密码验证)。A
2021-08-31 16:02:29 255
原创 golang原生net/http手写自己的rpc框架
前言首先golang 原生的net/http就已经很强大了,正因如此,手写框架的门槛就很低了,所以既python之后的go,框架多之又多,那不如我们自己写一个看看效果目录scgo/|__api| └──Controller.go├── router│ └── Router.go├── stock│ └── RouterStock.go├── scgo.go原理核心点:实现http.server.go中这个接口RouterStock.go这是一个存放url的map
2021-07-29 19:13:15 654
原创 使用Beego开发项目以及和SpringBoot的异同
前传本文笔者使用的goLand做开发至于go环境的搭建和beego的安装 在这里就不介绍了配置打开goLand 首先把这个勾上终端执行Bee new beego-hello完活后可以拿到一个beego生成的架子大概这样废话不多收直接 go build 或者main.go点进去debug,编译完浏览器打开http://localhost:8080我们Beego的欢迎界面就出现了Controller和SpringBoot不同的是没有@RequestMapping()这种东西,他的路由
2021-07-28 18:26:10 745
原创 Golang语法与Java异同
介绍这篇我会从语法的角度上说说Golang和java有什么异同,适合已经精通java然后开始转型到golanggo的切片与java的集合slice的初始化arr1 := [] int {}//或者 make()arr2 := make([]int,10,20)//这就定义了一个初始大小未10 容量为20的int[]//或者arr3 := make([]int,10)//不指定容量很容易联想到java中的ArrayList 底层也是数组slice的追加arr2 :=append(arr
2021-07-28 18:04:47 241
原创 微信订阅消息后端实现
获取templateId微信开放平台-订阅消息-选定一个模板前端用户授权(绑定点击事件)wx.requestSubscribeMessage({ tmplIds:[ // 这里填写需要发送的订阅消息ID。 ], success:function(res){ // 通过判断 res 的返回结果,来查看用户是否授权 if(res[TEMPLATE_ID]=="accept"){ } // 再发起网络传递
2021-06-24 10:53:45 411
原创 websocket 404解决方案
一 @ServerEndpoint没有加@Component二 没写@Bean ServerEndpointExporter <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency>
2021-06-23 18:23:32 875 1
原创 Aes解密工具类
/** * @Author: shang * @Date: Created in 9:26 2021/6/15 * @ClassName: AesCbcUtil * @Description: 微信用户加密信息解密工具 */public class AesCbcUtil { static { // BouncyCastle是一个开源的加解密解决方案 Security.addProvider(new BouncyCastleProvider());
2021-06-23 17:49:18 332
原创 Springboot集成shiro过滤器拦截策略配置
依赖 <!-- shiro 认证与授权 --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>${shiro.version}</ver
2021-06-23 17:44:21 1032
原创 @ServerEndpoint无法注入service
WebSocketClient 是没有办法注入bean的,所有有时候我们需要在 onOpen()或者onMessage中执行入库操作 那么就需要直接从ioc容器中获取beanSpringUtil工具类引入项目import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.Application
2021-06-23 17:28:17 1447 5
原创 Mqtt服务自动重启,以及防止clientId重复被顶
mqttClient是一个储存在内存中的对象,一旦服务器重启或者项目发版,必须让刚刚正在工作的消费方重新启动起来同时我们需要将这些对象储存起来,方便我们手动关闭监听一个仓库+一个线程哨兵上代码package com.datacvg.config;import com.datacvg.dao.ExchangeMqWithDatabaseMapper;import com.datacvg.mqtt.DatasourceCrossClient;import com.datacvg.vo.Excha
2021-06-18 10:43:29 2626
原创 Mqtt消费方数据实时入库 cv即用
mqtt队列中必须为json对象,才能使用此类 <!--Mqtt--> <dependency> <groupId>org.eclipse.paho</groupId> <artifactId>org.eclipse.paho.client.mqttv3</artifactId> <version>1.1.0</version&g
2021-06-18 10:30:10 519
原创 Vue 3.x内网穿透需要的配置
在根目录创建vue.config.js复制下面代码进去// vue.config.jsconst path = require('path');function resolve (dir) { return path.join(__dirname, dir)}module.exports = { chainWebpack: config => { //路径配置 config.resolve.alias .set('as
2021-05-11 15:30:08 737 2
原创 Websocket vue+Springboot前后端案例
前端js根目录创建一个js文件import Vue from 'vue'//创建websocket对象import store from '@/store/index'let webSocket = null;//创建webSocket连接let createWebSocket = () => { try { let url = window.location.href const ip = url.split('//')[1].split
2021-05-11 15:14:09 632 6
原创 vuex如何持久化state中的数据
前言Vuex中储存的的数据由于是存放在内存中的,浏览器刷新之后,state就清空了,我们需要将state持久化操作下载vuex-persisterdstatenpm install vuex-persistedstate配置打开store/index.jsimport Vue from 'vue'import Vuex from 'vuex'import createPersistedState from 'vuex-persistedstate'//在此引入Vue.use(Vuex)
2021-04-27 10:43:36 395
原创 Camunda工作流集成SpringBoot(一)
下载工具官网链接:https://camunda.com/download/modeler/,选择如图,然后下载自己所需要idea添加外部工具idea中File -> Settings -> Tools -> External Tools里添加外部工具开始绘图右键项目,点击刚刚添加的外部工具我们使用BPMN格式来绘图注意右侧参数提交申请经理审批审批条件,排他网关,选中箭头添加条件字符串:${flag.equals('xxx')}数字: ${flag==/
2021-04-22 18:07:36 6752 6
原创 axios发请求,SpringBoot接请求的各种对应
四类请求方法GetPostPutDelete其中发axios自动发json的是Post和Delete,而Get和Put请求则是发k=v的表单形式,这一块有时候比较混乱,我试着给大家解释一下Get发参数发一个对象axios.get('url',{params:{Student:this.addForm}}).then(res=>{ ..})//发送表单对象后端接这个对象,因为不是发的Json,千万不要加@RequestBody@GetMapping("/")public
2021-04-08 21:37:09 902
原创 表结构设计的基本思路
首先在开启一个项目时,至关重要的第一步就是设计表结构,很多小伙伴在初入职场的时候找不清如何下手只是感觉很乱,那么今天我提供几个基本的思路切入点找到一个主表,比如你要设计一个某某产品的的管理系统,那么ok这张产品表就是我们的主表,它作为主干来分支,一个产品基本的字段我们先创建出来比如(id,name,status…),何为基本呢?就是不涉及第二张表的字段.第二步需要考虑业务逻辑了,比如一个产品对应一个用户啊,一个产品对应多个供销商啊,一个供销商对应多个商品啊,一个产品对应多条评论啊,一个产品对应多张l
2021-04-08 21:23:51 2688 1
原创 RocketMQ在Springboot项目中的应用
配置文件application.yml中关于RocketMQ的配置如下:bg: rocketmq: # namesrvAddr地址 # namesrvAddr: 0.0.0.0:9876 namesrvAddr: 192.168.2.68:9876 # 生产者group名称 producerGroupName: producerGroupName # 事务生产者group名称 transactionProducerGroupNam
2021-04-07 22:03:57 898 4
原创 XXLJob与SpringCloud整合
图示下载,建表网上链接一堆,自己找去,下载完了解压之后是个聚合工程,复制doc>db>.sql文件里面的内容,打开数据库的可视化工具,新建查询粘贴,执行admin配置,logback.xml配置配置端口号我习惯用7001…配置contextpath…随便配置datasource…改驱动改用户名和密码配置警示邮件…随便写其他不用动logback.xml不改它启动admin是否成功 成功的话 直接打包就ok新建SpringCloud项目注册中心->提供者->消
2021-04-07 09:46:59 4000
RedisUtil.zip
2021-02-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人