自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 问答 (1)
  • 收藏
  • 关注

原创 java 观察者模式(四)Observable 和 Observer 实现

虽然不推荐使用了,但是可以作为了解看看,实现起来不是特别复杂。加上业务的话可能会繁琐,需要理解透彻。

2023-05-09 14:57:38 370

原创 java 观察者模式(三)Subject 和 Observer 实现

从测试代码上看,优点是主题不需要知道观察者的处理,一定程度保证了松耦合,有新观察者时可以直接实现抽象主题类即可,也符合开闭原则,缺点是主题需要知道所有观察者并将观察者注册进来才能通知。这是又一种观察者模式的实现方式,可以根据项目需求选择不同实现方式。

2023-05-09 14:46:07 587

原创 java 观察者模式(二)ApplicationContext 实现方法二

该篇主要介绍了 ApplicationContext 实现观察者模式在项目中的使用,只是简单举个例子,还要根据项目情况不同做不同处理。

2023-05-08 14:34:00 168

原创 java 观察者模式(一)ApplicationContext 实现

这只是一个最基本的调用及实现方式,在真实业务场景下,当事件被触发时,不会简单输出一句话,而是有其他业务处理,如操作数据库等。观察者模式通常的应用场景是: 当发生一个行为时,其他依赖于该行为的行为或数据要相应变化时,不用在当行为发生时,每个业务都处理,而是让监听者统一处理。此处只是举例说明使用方式,真实项目上一般不会这么用,会有其他业务处理。

2023-05-08 14:21:26 144

原创 java 策略模式 + 工厂模式 实例

理解策略模式与工厂模式,及他们的实现

2023-02-17 17:44:07 1722

原创 load 镜像及 疑难杂症(一)

load 镜像及疑难杂症(一)

2022-11-17 15:08:27 808

原创 helm 及 ingress 安装

helm 及 ingress 安装

2022-11-17 15:03:14 744

原创 windows docker 及 k8s 环境搭建

docker 及 k8s 环境搭建

2022-11-17 14:54:31 1067

原创 springboot 集成 ELK 示例

一 环境准备windows 系统springboot:2.1.3.RELEASEelasticsearch: 6.2.2kibana: 6.2.2logstash: 6.2.2Java:1.8其他环境:springdata, mybatis, mysql 等强调:elasticsearch, kibana, logstash 版本一定要匹配二 集成前环境测试2.1 elasticsearch 测试下载 elasticsearch, 解压到指定目录,该步骤网上有很多教程,不细说了,解压后

2022-01-19 14:46:50 4685 2

原创 java 疑难杂症(三)springboot + spring data + elasticsearch 集成问题

一 背景描述spring boot:2.5.3elasticsearch: 6.2.2 (https://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-2-2)kibana: 6.2.2 (https://artifacts.elastic.co/downloads/kibana/kibana-6.2.2-windows-x86_64.zip)使用 sprintdata 集成 elasticsearch 时,先下载的 elasti

2022-01-10 17:31:43 825

原创 java 疑难杂症(二)StringRedisTemplate could not be found 问题解决

一 问题描述在使用 redis 中的 StringRedisTemplate 后,启动项目,启动失败,报错为:二 环境背景背景环境不同可能出现不同的问题,或者相同的问题,列一下背景,方便直接定位解决方案是否可行。springboot 2.x三 问题原因先列一下操作步骤,然后分析错误原因,先引入依赖, <dependency> <groupId>org.springframework.boot</groupId> <artifactId&

2022-01-04 09:31:48 2480

原创 java 疑难杂症(一)springboot 项目启动不起来又没有报错

一 问题新建了一个sprintboot 项目,启动时启动不起来,刚启动就关闭,还没有报错信息,启动类利用 try catch 也捕获不到异常,启动后现象如下:二 解决办法查看了网上的解决办法,没有效果,但是大体思路都是认为依赖冲突导致的,所以查看 pom 文件,试了多次终于成功,发现是 web 包和 tomcat 包同时存在引起的,所以把 tomcat 依赖注释掉就好用了。原 pom 文件依赖是:<dependencies> <dependency> <g

2021-12-08 10:57:01 4224 3

原创 使用 xpath 或者 string 生成 xml 文件节点

一 前言有需求是要用 xpath 或者 string 的路径创建 xml 文件的节点,不想一个节点一个节点的生成,判断是否已经生成了父节点等业务逻辑,在网上找了两三天,终于找到了一个方法,做个记录。二 实现如路径:/abc/bcd/cde/id/abc/bcd/cde/text/abc/ef/id实现代码为:// 其中参数 document 可以为某一父节点,或者 document,path 为想要创建节点的路径Document document = DocumentHelper.cre

2020-12-11 14:07:27 574

原创 python 深度学习之tensorflow v2.3(四)

一 tesnsorflow 读取 csv 文件创建一个 py 文件,文件内容为:import tensorflow as tf# 第七个例子 tensorflow 读取 csv 文件# !!! 注意 csv 文件的格式,有逗号分隔,csv 文件格式错误导致程序一直报错# 1.导入所需的模块并声明全局变量tf.compat.v1.disable_eager_execution()DATA_FILE = 'text1.csv'# !!! 最后输出结果的行数与该参数有关BATCH_SIZE =

2020-11-24 11:18:40 247

原创 python 深度学习之tensorflow v2.3(三)

一 tensorflow 实例发现直接实现神经网络,理解起来有些困难,经过学习整理了几个 tensorflow 使用基础实例。import tensorflow as tf# 第一个例子# tf.compat.v1.disable_eager_execution()# message = tf.constant('hello world')# with tf.compat.v1.Session() as sess:# print(sess.run(message).decode())

2020-11-24 11:10:56 296 1

原创 java 文件比对(四)-- 使用 diffutils

一 需求实现比对两个文件,第四种方法,使用 diffutils 库。二 实例2.1 准备创建 maven 项目导入 diffutils 库到 pom.xml 文件中 <dependency> <groupId>com.googlecode.java-diff-utils</groupId> <artifactId>diffutils</artifactId> <version>1.2.1</ve

2020-11-05 13:39:56 5666 3

原创 java 文件比对(三)-- 使用 xmlUnit

一 需求实现比对两个文件,第三种方法,使用 xmlUnit 库,可以比对 xml 的工具。二 实例2.1 准备创建 maven 项目导入 xmlUnit 库到 pom.xml 文件中 <dependency> <groupId>xmlunit</groupId> <artifactId>xmlunit</artifactId> <version>1.6</version> <s

2020-11-05 13:18:57 1813 3

原创 java 文件比对(二)-- 使用 CommandVisitor

一 需求要求希望实现可以用 java 比对两个 xml 文件的不同,第二种方法,使用 CommandVisitor 实现。二 实例2.1 准备准备 一个 difftemplate.html 文件,文件内容为:<!DOCTYPE html><html><head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style>

2020-11-05 11:19:46 915 4

原创 java 文件比对(一)-- 使用 diff_match_patch

一 要求希望实现可以用 java 比对两个 xml 文件的不同,在网上找了很久,有各种各样的比对方法,大多数都是文本比对,现记录下来,第一种,使用 diff_match_patch 库实现二 实例2.1 准备在网上搜索 diff_match_patch 的git 源文件下载下来,将 java 源文件放在 项目 src 路径下。准备两个需要比对的文件(最好是文本文件),我这里准备的是 xml 文件。创建 java 项目,准备工作完成。2.2 比对import xxx.diff_match_

2020-11-05 10:35:32 2573

原创 Linux shell 实用(一)

一 使用-n 判断其后变量是否为空-z “string” 判断其后 string 长度是否为零,为零时,返回true。eg: if [ -z “abc” ], z 为小写,且 中括号前后都有一个空格,否则报错find -mtime 使用方法:find / -amin -30 -ls # 查找在系统中最后30分钟访问的文件find / -atime -2 -ls # 查找在系统中最后48小时访问的文件find / -mmin -10 -ls # 查找在系统中最后10分钟里修改过的文件find

2020-10-20 17:19:46 117

原创 python 深度学习之tensorflow v2.3(二)

一 第一个神经网络实例参照《TensorFlow自然语言处理-图姗 加格内达拉》 书籍学习,经整理形成文档。1.1 神经网络步骤:准备数据定义 tensorflow 图运行神经网络中间还有许多小步骤,会逐一介绍1.2 代码实例:import structimport gzipimport osfrom six.moves.urllib.request import urlretrieveimport numpy as np# import matplotlib as plti

2020-09-07 15:29:33 1979 2

原创 python 深度学习之tensorflow v2.3(一)

一 学习实例11.1环境准备暂时用的 python 版本是 3.8anaconda url: https://www.continuum.io/downloadshttps://docs.continuum.io/anaconda/install/sckikit-learn url: http://scikit-learn.org/stable/install.htmlNLTK url: https://www.nltk.org/install.htmlmatplotlib url: htt

2020-08-25 15:57:04 1241

原创 quartz 创建、更新及删除用法示例

1 前言之前使用 quartz 进行过简单实验,体验过 quartz 进行最基本的调度,接下来深入研究更改时间调度和删除调度。目的是为了体验 quartz 的更新及删除操作,所以不做层次分离,所有方法都放在 controller 层来写,然后使用 swagger 进行测试(没有配置 swagger, 就直接在浏览器中输入链接也可以)。2 添加依赖在 springboot 项目中的 pom.xml 文件中添加 quartz 依赖:<dependency> <groupId&gt

2020-06-09 17:10:28 966 2

原创 springboot 集成 swagger-bootstrap-ui 实例

1 添加依赖还是上篇文章使用过的springboot 项目即可,或者准备新的包含controller 方法的springboot 简单小项目也可以,在 pom.xml 文件中添加 swagger-bootstrap-ui 依赖: <!-- Add support for swagger2--> <dependency> <groupId>io.springfox</groupId> <artifactId>sprin

2020-06-09 14:38:38 534

原创 springboot 集成 swagger 实例

1 添加依赖准备一个简单的有controller 的springboot 项目(简单的有几个方法就可以)。在 springboot 项目的 pom.xml 文件中添加 swagger 依赖:<!-- Add support for swagger2--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</art

2020-06-09 11:01:11 667

原创 quartz 使用示例

1 添加依赖在 springboot 项目的 pom.xml 中添加依赖 <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.1</version> </dependency> <dependency> <grou

2020-06-03 13:33:36 636

原创 RobotFramework 配置及测试

1 安装Windows10 + python3.81.1 安装 python地址:https://www.python.org/, 下载合适的版本,并配置环境变量。安装并配置成功后,可以用 cmd 命令检查安装是否成功。打开 cmd 后,使用命令:python出现 python 版本等信息时证明安装及配置成功。1.2 安装 robot 及其相关1.在线安装robotframwork,在cmd命令下输入:pip install robotframework2.在线安装wxpython,在c

2020-05-28 16:58:07 598

原创 微信小程序开发实战(二)开发及测试

1 实战案例:比较数字大小根据上节内容创建一个初始项目,项目名称为 compare在 app.json 文件里修改内容为:"pages": [ "pages/index/index" ]意思为新增一个 index 页面,会在 pages/index 目录下创建 index.js、index.json、index.wxml、index.wxss这4个文件。 .js 文件为逻辑文...

2020-04-14 16:10:56 1723

原创 微信小程序开发实战(一)

1 微信小程序环境搭建进入到微信公众平台 https://mp.weixin.qq.com/,点击右侧“立即注册”会进入到 如下界面:选择小程序,进行小程序注册,添加邮箱,密码,确认密码,验证码后,勾选已阅读并同意,进行下一步,进行邮箱激活。进入到邮箱里点击链接进行激活,激活进行后续设置,选择个人开发设置管理员信息,包括身份证上的姓名,身份证号,手机号及发送到手机号上的验证码,之后需要用...

2020-04-03 19:46:20 5229

原创 Python scrapy 爬虫入门(八)文件和图片下载

1 文件下载项目目的:爬取seaborn案例源文件seaborn的网址为http://seaborn.pydata.org/应用案例展示的网址为http://seaborn.pydata.org/examples/index.html进入想要创建项目的目录,创建爬虫项目seaborn_file_download# dir 为要创建项目的目录cd dirscrapy startproj...

2020-03-27 22:12:07 285

原创 Python scrapy 爬虫入门(七)突破反爬虫技术

1 反爬虫技术及突破措施1.1 降低请求频率降低请求频率以模仿人类用户,而不是机器。settings.py中设置DOWNLOAD_DELAY即可# 即两次请求间隔为 3 秒DOWNLOAD_DELAY = 3另外,为了防止请求过于规律,可以使用RANDOMIZE_DOWNLOAD_DELAY设置一个介于0.5* DOWNLOAD_DELAY和1.5 *DOWNLOAD_DELAY之间...

2020-03-25 16:06:36 609

原创 Python scrapy 爬虫入门(六)模拟登录

1 构造登录请求构造一个登录请求,将用户登录的信息作为参数一起传递给网站服务器。但是如果登录时有验证码,这种方法就不行了。1.1 实现data 里面的数据是登录时提交的表单数据,可以在“开发者工具”中查看。parse 里面处理登录是否成功的逻辑。如果登录成功,就由 parse_doulist 处理接下来的爬取数据的逻辑。parse_doulist 处理爬取数据的逻辑,和其他爬虫逻辑一样...

2020-03-24 17:51:41 720

原创 Python scrapy 爬虫入门(五)动态渲染页面的爬取(selenium 和 splash)

1 Selenium实现动态页面爬取1.1 安装python 支持的Selenium库pip install selenium1.2 安装浏览器驱动程序chromedriver 的下载地址:https://chromedriver.storage.googleapis.com/index.html 或者 http://npm.taobao.org/mirrors/chromedriver...

2020-03-20 17:08:02 2517

原创 Python scrapy 爬虫入门(四)爬虫数据存储到数据库

1 存储到 mysql 数据库1.1 创建数据库确认有 mysql 环境创建数据库及表 hot,创建 hot 表的sql 为:CREATE TABLE `hot` ( `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'primary key', `name` varchar(50) COLLATE utf8_bin DEFAULT NULL...

2020-03-02 15:34:42 613

原创 Python scrapy 爬虫入门(三)scrapy 爬虫示例

要实现爬虫功能,只要执行四个步骤:定义spider 类确定 spider 的名称(name)获取初始化请求(start_request)解析数据 parse()

2020-02-26 17:48:27 514

原创 Python scrapy 爬虫入门(二)scrapy 框架基础

1 scrapy 安装1.1 scrapy 安装进入 cmd 界面,使用命令:pip install scrapy1.2 安装问题如果因为权限原因导致安装失败,就以管理员身份运行 cmd,再使用上面的命令。如果出现 Microsoft Visual C++14.0 is required 错误,则在安装 Anaconda 之后执行命令:conda install -c scrapi...

2020-02-21 16:23:17 205

原创 python scrapy爬虫入门(一)环境搭建及xpath 基础

1 环境搭建环境搭建前准备:python(一定要是 python3)windows 系统1.1 下载及安装 Anaconda使用 Anaconda 安装 scrapy 来避免一些安装错误下载地址:https://www.anaconda.com/download/,或者对应的镜像地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archi...

2020-02-20 17:12:15 733

原创 Python + Django 创建用户项目实例

1 环境python 3.7(一定要是python3)djangowindows 系统mysql 数据库编写工具用 IDEA 或者 pycharm 都可以构建项目之前确认 python 等环境已搭建好(环境变量等都配好)2 项目构建2.1 创建项目用 cmd 命令进入要创建项目的目录## dir 为要创建项目的目录cd dir创建一个 Django 项目:django-...

2020-02-19 15:47:27 580

原创 Python——生成二维码

1 使用 MyQR 生成二维码先安装 myqr,使用 cmd 命令:pip install myqr如果安装失败,可以尝试使用管理员身份启动 cmd,再次安装试试python 代码为:from MyQR import myqr;myqr.run(words="https://www.baidu.com", picture="C:\\Users\\ChengYuanFeng\\Deskt...

2020-02-08 09:49:10 830

原创 Linux 入门(六)软件安装

内容来源于实验楼,经过学习整理成文档备份Linux 的软件安装主要有四种方式:在线安装从磁盘安装deb软件包从二进制软件包安装从源代码编译安装1 apt 的使用(在线安装)apt-get 是用于处理 apt包的公用程序集,我们可以用它来在线安装、卸载和升级软件包等1.1 apt 的常用工具:install 其后加上软件包名,用于安装一个软件包update 从软件源镜像服务器...

2020-02-07 17:22:53 1947

根据黑马程序员的 redis 课程自学做的 redis 笔记,备份一下

根据黑马程序员的 redis 课程自学做的 redis 笔记,备份一下,有兴趣的可以自己去看该课程,收获满满

2023-02-20

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

TA关注的人

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