自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

swebin的专栏

海纳百川,腾飞万里

  • 博客(491)
  • 资源 (5)
  • 问答 (1)
  • 收藏
  • 关注

原创 搭建普罗米修斯Prometheus监控系统

Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库的组合。适合监控docker容器。因为K8S的流行带动了Prometheus的发展。时间序列数据(TimeSeries Data):按照时间顺序记录系统、设备状态变化的数据被称为时序数据。应用场景很多,如:无人驾驶车辆中要记录信息、传统证券行业实时交易数据等等。在远程主机上安装node_exporter组件(这样普罗米修斯就可以接收到其收集系统)

2022-09-16 23:50:16 26

原创 数字化之单点登录的三种方式

独立系统太多,常见的三种方式

2022-08-02 11:53:51 55

原创 说透数据库、Redis zookeeper分布工锁

我们的系统都是分布式部署的,日常开发中,秒杀下单、抢购商品等等业务场景,为了防止库存超卖,都需要用到分布式锁。分布式锁其实就是,控制分布式系统不同进程共同访问共享资源的一种锁的实现。如果不同的系统或同一个系统的不同主机之间共享了某个临界资源,往往需要互斥来防止彼此干扰,以保证一致性。业界流行的分布式锁实现,一般有这3种方式基于数据库实现的分布式锁基于Redis实现的分布式锁基于Zookeeper实现的分布式锁‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍。...

2022-07-21 12:16:50 52

原创 零代码平台-iwx,是想革我们程序员命?

前言最近发现了一些新名词——0代码编程,和大家分享一下。并且这个和当前比较流行的前端框架React,谷歌的Go语言,Node这些最新技术关系很大,持续分享一下。最近一些年互联网发展迅猛,应用从简单架构向复杂架构发展,架构变向复杂之后相应的环境、平台等管理就变得复杂,例如利用docker容器来管理环境。也在发展中诞生了很多新技术和简化代码的工具和平台例如Jeecj这种代码生成工具平台,各种脚手架平台简化代码量,但仍需编写代码。在我以前的时候就想过会不会有一个工具之类能够开发网站和app,就像PS一样不懂图

2022-07-12 22:01:08 133

原创 velocity.properties配置说明

1.Runtime Logruntime.log = velocity.log用以指定 Velocity 运行时日志文件的路劲和日志文件名,如不是全限定的绝对路径,系统会认为想对于 当前目录.runtime.log.logsystem这个参数没有默认值,它可指定一个实现了 interface org.apache.velocity.runtime.log.LogSystem.的自定义日志处理对象给 Velocity。这就方便将 Velocity 与你己有系统的日志机制统一起来runtime.log.

2022-07-11 20:52:44 68

原创 JPA与JDBC的区别,JPA详用的注解

一、JPA与JDBC的区别JPA 概念JPA(Java Persistence API)用于对象持久化的 API,是 Java EE 5.0 平台标准的 ORM 规范,使得应用程序以统一的方式访问持久层。ORM:object relation mapping与 JDBC 的对比JDBC 也是一种规范和接口,不过 JDBC 是面向 SQL 的,使用起来比较繁琐。所以就有了 ORM 框架,建立了 Java 对象与数据库表之间的映射关系,可以通过直接操作对象来实现持久化,简化了操作的繁杂度。而 JPA 就

2022-07-10 20:49:32 168

原创 30款低代码平台介绍及目前的排名

目前很火爆是云计算、大数据、人工智能等,而目前低代码火得发紫,查一下一此资料,发现自己7年前就用了。一、30款低代码平台介绍史上最全“低代码开发平台”介绍合集,2022年国内30家优秀低代码开发平台汇总盘点!这些平台必须拥有姓名!(以下排名不分先后)1、宜搭——阿里宜搭是阿里巴巴自研的低代码应用搭建平台,可极大提高开发效率。于2019年3月上线,用户可以在可视化界面上以拖拉拽的方式编辑和配置页面、表单和流程,并一键发布到PC和手机端。2、织信Informat——基石协作织信Informat是面向业务人员的低

2022-07-09 13:15:10 2560 2

原创 scrapy架构及执行流程(记框架、流程、故事)

1、概述官网架构及执行流程图:官方文档地址:https://docs.scrapy.org/en/latest/topics/architecture.html#components 2、scrapy 组件Scrapy Engine(引擎):负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。Scheduler(调度器):它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。......

2022-07-01 19:07:50 59

原创 通过http数字代码判定错误类型(400,404,300,500等)

1.该类型状态码表示接收到请求并且继续处理100:客户端必须继续发出请求。101:客户端要求服务器根据请求转换HTTP协议版本。2.该类型状态码表示动作被成功接收、理解和接受。200,表明该请求被成功地完成,所请求的资源发送到客户端。201,提示知道新文件的URL。202,接受并处理,但处理未完成。203,返回信息不确定或不完整。204,收到请求,但返回信息为空.205,服务器完成了请求,用户必须复位当前已经浏览过的文件。206,服务器已经完成了部分用户的GET请求。...

2022-06-22 23:56:52 243

原创 xpath和css读取爬虫语法

一、xpath:选取节点 XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。 [1] 下面列出了最有用的路径表达式:二、css:

2022-06-22 17:03:23 37

原创 virtualenv与anacanda 创建python虚拟环境的区别

2. 创建运行环境 linux: Windows 10: linux:Windows 10:没有使用virtualenvwrapper前,可以直接删除venv文件夹来删除环境进入环境后,一切操作和正常使用python一样 安装包使用Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做: - 将所有虚拟环境整合在一个目录下 - 管理(新增,删除,复制)虚拟环境 - 快速切换虚拟环境

2022-06-22 12:41:32 82

原创 解决访问出现404和500的问题(Tomcat与Servlet、JSP、JDK的版本适配问题)

一、问题描述在Maven创建Java Web项目的过程中,常常出现了配置Servlet后访问出现404和500的问题,如下二、出现原因在网上查了许多资料之后,我发现这是因为Tomcat版本的适配问题。 在Tomcat的官网中,我们可以看到不同版本的Tomcat适配的JDK、Servlet、Jsp以及EL的版本,如下: 由于我使用的是Tomcat10.0.12的版本,而我使用Maven导入的依赖如下三、解决方法既然是由于Tomcat版本与Servlet版本不匹配造成,那么自然就有对应的两种解决方..

2022-06-20 18:33:53 418 1

原创 解决java.lang.NullPointerException和java.lang.ClassNotFoundException报错和出现原因

一、java.lang.NullPointerException出现的几种原因:二、下图为异常分布图:

2022-06-16 11:34:20 209

原创 springboot依赖springframework版本关系&springframework各版本框架源码及与jdk版本的对应关系

一、springframework各版本框架源码(速度快)Tags · spring-projects/spring-framework · GitHub2.springframework各版本与jdk对应关系,及期发布时期

2022-06-15 17:21:10 1157 1

原创 如何让spring5.x支持velocity

新版spring5.0已经移除了对velocity的支持,下面就说说如何让spring5.x支持velocity。spring从4.3开始不再支持velocity,官方说法是:Velocity 1.7 dates back to 2010. After more than five years of nomaintenance in the original project, it's about time to deprecate Velocity support on Spring's side.来自

2022-06-15 13:45:00 122

原创 ​实体entity、JavaBean、Model、POJO、domain的区别​

Java Bean、POJO、 Entity、 VO , 其实都是java 对象,只不过用于不同场合罢了。一、按照 SpringMVC分层结构:JavaBean: 表示层 (PresentationLayer)Service: 业务层 (Service layer)Dao: 数据访问层 (data access layer)。Entity接近原始数据,Model接近业务对象~Entity:是专用于EF的对数据库表的操作,Model:是为页面提供数据和数据校验的,所以两者可以并存...

2022-05-29 00:19:34 159

原创 spring aop 表达式详解

1. 简介面向对象编程,也称为OOP(即Object Oriented Programming)最大的优点在于能够将业务模块进行封装,从而达到功能复用的目的。通过面向对象编程,不同的模板可以相互组装,从而实现更为复杂的业务模块,其结构形式可用下图表示:面向对象编程解决了业务模块的封装复用的问题,但是对于某些模块,其本身并不独属于摸个业务模块,而是根据不同的情况,贯穿于某几个或全部的模块之间的。例如登录验证,其只开放几个可以不用登录的接口给用户使用(一般登录使用拦截器...

2022-05-27 12:40:19 322

原创 jdbcTemplate.queryForXXX等方法的总结

使用jdbcTemplate查询数据的时候可以使用queryForXXX等方法。下面我们就一一解析一下:1、jdbcTemplate.queryForInt()和jdbcTemplate.queryForLong()--使用queryForInt返回user表中的记录数量,queryForInt搭配这样的sql可以在分页的时候计算总记录数jdbcTemplate.queryForInt("select count(*) from user");2、jdbcTemplate.queryForObjec

2022-05-21 10:52:29 265

原创 Java调用第三方http接口的方式

1. 概述在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适。很多项目都会封装规定好本身项目的接口规范,所以大多数需要去调用对方提供的接口或第三方接口(短信、天气等)。在Java项目中调用第三方接口的方式有:①通过JDK网络类Java.net.HttpURLConnection;②通过common封装好的HttpClient;③通过Apache封装好的CloseableHttpClient;④通过SpringBoot-RestTemplate;2.J...

2022-05-07 15:23:15 981

原创 常见的算法和数据结构的时间复杂度和空间复杂度

英文版链接:Big-O Algorithm Complexity Cheat Sheet (Know Thy Complexities!) @ericdrowell搜索算法 数据结构 时间复杂度 空间复杂度 平均 最差 最差 深度优先搜索 (DFS) Graph of |V| vertices and |E| edges - O(|E| + |V|) O(|V|) 广度优先搜索 (BFS) Graph of |V

2022-05-07 11:10:10 74

原创 常说的java加锁有哪三种方法

1、synchronized方式(重量级锁)加锁方式:synchronized(object)传入对象,不同对象代表不同锁,可以在线程外部新建对象。public class SellCinemaTicketThread implements Runnable { static int num = 100; Object object = new Object(); @Override public void run() { while (tru..

2022-05-03 15:12:28 4549

原创 API接口之webservice接口

一、准备工作:apache cxf,axis,httpclient等,目前流行是用cxf,本节也是用cxf实现1.引入apache cxf包,点击----->apache-cxf-2.6.16下载2.下载完成后解压放入项目lib目录下重新编译,如下图二、实现方法:1.webservice在项目中的配置,如下:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springfram

2022-04-28 18:20:05 4042

原创 vue是如何调用RESTful风格接口的(axios)

首先是简单的java接口代码写了四个让前端请求的接口,以下为代码 @GetMapping("/v1/user/{username}/{password}") public Result login2(@PathVariable("username") String username, @PathVariable("password") String password){ return Result.succResult(200,username+"--"+password); }

2022-04-28 18:16:43 735

原创 API的总结-分类

一、前言:API作为应用程序编程接口,(API:Application Program Interface),可以使用不同的编程语言进行API的开发API 与图形用户接口(GUI)或命令接口有着鲜明的差别:API 接口属于一种操作系统或程序接口,而后两者都属于直接用户接口。二、按照接口表现形式,分类三、其他区别:(1)把socket和http、webservices等等放在一起对比不是很合适,所谓http等的都是对socket进行了一次包装而已,socket更加底层。(2)不过

2022-04-28 16:26:49 428

原创 uniapp全局传值方式总结(跨端:ios android和小程序)

uniapp的架构跟小程序一样,这样便于整体的管理和转译小程序,而uniapp的页面架构是借鉴的vue.js的单页面架构,由template(html)、script(js)、style(css)三部分组成。这样的页面架构是非常方便而独立的,不会影响到其他页面中的数据,那么问题来了,想要共享数据甚至在本页面要操控其他页面的数据怎么办?uniapp有着小程序和vue.js的有点,当然也有它们共享数据的方法。下面是分类说明一下uniapp的大部分传值方式,每种方式都粗略的介绍下几种方法。一、全局变量glo

2022-04-26 17:41:04 1447

原创 电商架构+综合物流架构

一、电商架构二、物流架构

2022-04-21 11:14:42 190

原创 spring springmvc 注解的总结和归纳

一、spring注解:(1)@Controller控制器(2)@Autowired按照类型匹配,可以完成对类成员变量,方法及构造函数进行标注,完成自动装配的工作@Autowired(required=false)在找不到匹配Bean时也不报错(3)@Qualifier注释指定注入bean的名称,防止冲突,可以对成员变量、方法入参、构造函数入参进行标注(4)@Component通过使用@Component注释类就可以完成bean的定义,使用@Component("...

2022-04-19 18:01:44 52

原创 架构演变单位->单一应用-集群-微服务

一、单一应用(解藕)二、分布线(高类聚,低藕合)四、DevOps系统之间调用逻辑

2022-04-18 14:15:56 2134

原创 zookeeper vs nginx 负载均衡 及注册中心 nacos zookeeper euraku consul Coredns

2022-04-17 21:26:29 1953

原创 虚拟机打不开文件“D:\***\**.vmdk“问题解决

1. 仔细查看虚拟机的状态发现,其中硬盘部分没有任何内容。2. 点击运行显示无法打开“D:\***\******.vmdk"系统找不到指定文件。但是虚拟机安装文件存在该名称文件。3. 发现虚拟机安装目录少了东西。方法:尝试:将安装目录下缺少的文件名从vmdk中删除。虚拟机就可以启动了...

2022-04-17 15:21:32 3030

原创 appium-desktop Capability

Appium-Desktop Capability配置介绍desired capability的功能是配置Appium会话。为什么要配置capability,目的就是为了告诉Appium服务器您想要自动化的平台和应用程序。Desired Capabilities是一组设置的键值对的集合,其中键对应设置的名称,而值对应设置的值。(如:"platformName": "Android")Desired Capabilities主要用于通知Appium服务器建立需要的Session。Appium的客户端和服务

2022-04-15 17:29:42 36

原创 Css中的“.”,“#”,”*“的区别和作用

一、“.”,“#”,”*“作用1.#:#号的作用是控制对应div的css样式,具体事例如下:HTML代码:<div id="jinghao"></div>CSS代码:#jinghao{background:#F00;height:20px;width:500px;}上面的代码运行后,你会发现,页面中出现一个高20px,宽500px,红色背景的一个层,它可以表明#号是控制id为“jinghao”的这个DIV的,也就是说css中#号是控制和他同名的网页元素的。2.*

2022-04-09 15:25:27 1760

原创 $在js中的三种用法

$在JS中本身只是一个符号而异,在JS里什么也不是。但在JS应用库JQUERY的作者将之做为一个自定义函数名了,这个函数是获取指定网页元素的函数,使用非常之频繁,所以好多新手不知道,还以为$是JS的什么特殊语法。后来,可能有些程序员JQUERY用得多了,发现$这个函数很好用,很方便,所以,在不用JQUERY的情况,一般自己也会自定义一个$函数。即:function $(Nid){return document.getElementById(Nid);}就这么简单(在JSQUERY里可能稍微功.

2022-04-09 15:20:51 428

原创 React 创建项目流程+配置 eslint、 prettier 和 commitlint 规范工程

一、 利用create-react-app创建TS项目React中文文档npx create-react-app projectName --template typescript// --template typescript :创建TS项目二、 配置 eslint、 prettier 和 commitlint 规范工程1.prettier安装与配置: prettier官网1.1 安装命令yarn add --dev --exact prettier1.2 创建空文件:.pret.

2022-04-09 11:46:14 578

原创 JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、jinfo、jconsole使用详解

JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention) Java进程消耗CPU过高 ....

2022-04-01 13:33:37 167

原创 Major /minor /Full GC

掌握了这3个要点,full gc相关的问题就易如反掌了。一、gc的定义GC,即就是Java垃圾回收机制。目前主流的JVM(HotSpot)采用的是分代收集算法。与C++不同的是,Java采用的是类似于树形结构的可达性分析法来判断对象是否还存在引用。即:从gcroot开始,把所有可以搜索得到的对象标记为存活对象。二、gc的基础知识准备要了解GC的触发条件,就要先对 JVM的内存结构有一定的了解。我们通常所说的GC主要是针对运行的数据区的。作为程序员要关注的区域主要有5块,分别是方法区(Meth

2022-04-01 12:14:48 53

原创 如何使用thread dump和分析Thread dump?

新建状态(New)用new语句创建的线程处于新建状态,此时它和其他Java对象一样,仅仅在堆区中被分配了内存。就绪状态(Runnable)当一个线程对象创建后,其他线程调用它的start()方法,该线程就进入就绪状态,Java虚拟机会为它创建方法调用栈和程序计数器。处于这个状态的线程位于可运行池中,等待获得CPU的使用权。运行状态(Running)处于这个状态的线程占用CPU,执行程序代码。只有处于就绪状态的线程才有机会转到运行状态。阻塞状态(Blocked)阻塞状态...

2022-04-01 10:31:20 66

原创 java并发优化之锁lock

一.synchronized的缺陷  synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为什么会出现Lock呢?  在上面一篇文章中,我们了解到如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取锁的线程释放锁只会有两种情况:  1)获取锁的线程执行完了该代码块,然后线程释放对锁的占有;  2)线程执行发生异常,此时JVM会让线程自动释放锁。  那么如果

2022-04-01 09:15:47 228

原创 正则表达式常用符号说明

正则表达式常用符号(* + ? . ^ $ \ |等)练习:1、[0-9A-Za-z_] 可以匹配一个数字、字母或者下划线。2、[0-9A-Za-z_]+ 可以匹配至少由一个数字、字母或者下划线组成的字符串,如‘1_2’、‘a2b’等。3、[a-zA-Z_][0-9a-zA-Z_]* 可以匹配由字母或下划线开头,后接任意个由一个数字、字母或者下划线组成的字符串。4、[a-zA-Z_][0-9a-zA-Z_]{0,19} 可以匹配由字母或下划线开头,后接0到19个由一个数字、字母或者下划线组成的

2022-03-28 17:08:33 94

原创 python的版本\包库\包管理器\虚拟环境\开发工具等概念

一些概念Python 虚拟环境,涉及到很多概念和工具,会对使用造成困扰和障碍,所以我们先了解一些概念和与之相关的工具python 版本Python 版本指的是 Python 解析器本身的版本。由于 Python3 不能与 Python2 兼容,而且两大阵营之争持续了很长时间,导致一些软件库需要设配两种版本的 Python,同时开发者可能需要在一个环境中,部署不同版本的 Python,对开发和维护造成了麻烦。因此出现了版本管理器 Pyenv,类似于 nodejs 的 nvm,可以创建出相互隔离的

2022-03-28 15:52:55 116

Myeclipse项目导入常见问题的设置

Myeclipse项目导入常见问题的设置

2017-04-18

常见问题设置

2017-04-12

windows server2008 iis 7部署及网站部署完整步骤.docx

windows server2008 iis 7部署及网站部署完整步骤

2015-09-12

服装电子商务运营方案

随着电子商务的蓬勃发展,越来越多的传统服装品牌开始重视网络销售,像报喜鸟、 佐丹奴等品牌很早就已经开始了B2C,而优衣库和杰克琼斯涉水B2C更是引爆了传统服装品牌扎堆进入互联网行业的热潮。但因服装企业缺乏对互联网和电子商务运营的经验以及未处理好与传统渠道的关系而面临诸多问题。我们希望通过,我们多年的B2C电子商务从业经验,为传统服装品牌的互联网之路提出些切实可行的意见和建议。

2013-01-21

酒店管理系统(.net 2.0)

酒店管理系统(.net 2.0),vs2005+2005

2008-09-18

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

TA关注的人

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