自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员蒋老湿的博客

一个帮助开发者成长的博客

  • 博客(591)
  • 资源 (4)
  • 收藏
  • 关注

原创 拦截应用 error日志并发送到钉钉群|Java 开发实战

theme: channing-cyan本文正在参加「Java主题月 - Java 开发实战」,详情查看 活动链接开篇这是我参与更文挑战的第7天,活动详情查看: 更文挑战现在应用都需要对日志进行监控或者报警,现在普遍的做法是采用EKL收集日志,然后再由Grafana进行内容展示和及告警策略等,那如果项目架构比较简单(单体应用),又不想搞那么多中间件依赖怎么办,这里有一种简单的方...

2021-06-07 18:29:43 638

原创 Mybatis 标签的骚操作用法,你都知道哪些?|Java 开发实战

theme: channing-cyan本文正在参加「Java主题月 - Java 开发实战」,详情查看 活动链接开篇这是我参与更文挑战的第6天,活动详情查看: 更文挑战有时候新增一条数据,需要这条新增数据的主键,以便使用,如果采用先插入再查询的方式明显不符合要求,效率也变低了。这时候,可以使用<selectKey>标签,将insert的数据的主键返回,直接拿到...

2021-06-06 21:36:03 85

原创 怎么样可以实时知道配置文件变更了|Java 开发实战

theme: channing-cyan本文正在参加「Java主题月 - Java 开发实战」,详情查看 活动链接开篇这是我参与更文挑战的第5天,活动详情查看: 更文挑战现在很多的Java开发者都使用过Spring Cloud,那么在使用注册中心组件的时候,是不是都有自动服务发现,配置更新的功能。其底层的逻辑就是定时从配置中心去读取数据,并且更新内存中相关配置,并且通知监听的监...

2021-06-05 23:53:05 254

原创 这个需求怎么搞?指定某链接页面分享给指定人看|Java 开发实战

theme: channing-cyan本文正在参加「Java主题月 - Java 开发实战」,详情查看 活动链接开篇这是我参与更文挑战的第4天,活动详情查看: 更文挑战在日常工作中,总会遇到各种各样的需求,有些正常合理,有些异想天开,还有些闻所未闻,超乎你的想象。产品经理来一句:“给我做一个指定某链接页面分享给指定人可以看的功能”,你问他:“这个你想怎么搞,有啥思路方...

2021-06-04 23:03:15 442

原创 怎么样能把函数式接口用好|Java 开发实战

theme: channing-cyan本文正在参加「Java主题月 - Java 开发实战」,详情查看 活动链接开篇这是我参与更文挑战的第3天,活动详情查看: 更文挑战JDK8大家知道并使用的特性莫过于Lambda,这个很多人会用,比如Stream流,但都是简单浅显的使用,比如调用集合的Stream API等,但不会自己定义函数接口或API,今天通过几个案例来提高下对Java...

2021-06-03 15:43:22 58

原创 数据监控ElasticStack全家桶之容器化部署|Java 开发实战

theme: channing-cyan本文正在参加「Java主题月 - Java 开发实战」,详情查看 活动链接开篇这是我参与更文挑战的第2天,活动详情查看: 更文挑战如果我们要监控企业的IT基础设施或者说完成整个软件的端到端的全链路监控,可以通过Elastic Stack,它作为一个大数据平台的技术栈,在运维监控这个垂直领域,已经提供了一套完整的技术解决方案,从日志分析,到...

2021-06-02 18:48:07 318

原创 Java 浅拷贝和深拷贝|Java 开发实战

theme: channing-cyan本文正在参加「Java主题月 - Java 开发实战」,详情查看 活动链接开篇这是我参与更文挑战的第1天,活动详情查看: 更文挑战在开发中你有没有遇到过一些关于集合复制的问题?普通的集合复制只是将内存中栈的地址块拷贝一份,使得一个新的集合对象指向这个地址块,但是集合中的对象变量却是指向堆中的同一块区域。所以当拷贝的集合修改了自己集合对...

2021-06-01 19:09:46 73

原创 临时排查线上问题,用它Arthas| Java Debug 笔记

theme: channing-cyan问题背景:一般程序系统发生异常,可能是由于多种原因引起的,例如:由于消息队列处理超时或文件系统上传超时等导致的问题;恰好日志log又没有做对应的打印输出,ELK又未收集到对应的异常信息,无法清楚的知道程序具体的一个业务流程,对应的开发、测试环境又暂时无法使用或没有可供测试的数据。解决方案:可以通过线上监控工具,在不影响程序运行和业务使用的...

2021-05-17 20:36:06 151

原创 Java Communications link failure| Java Debug 笔记

theme: channing-cyan本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看 活动链接问题背景运营人员在系统选择了一批数据,然后提交请求处理,一段时间后,运营找到开发说,我提交的数据一部分成功了,剩下的一部分还在处理中状态,一直没有更新。定位分析思路通过kibana日志追踪(代码中业务日志),如图,请求的确是已受理,并且依赖的微服务也返...

2021-05-14 17:30:57 1243

原创 【七日打卡】spring单元测试快速入门

主题列表:juejin, github, smartblue, cyanosis, channing-cyan, fancy, hydrogen, condensed-night-purple, greenwillow, v-green, vue-pro, healer-readable, mk-cute, jzman, geek-black, awesome-green, qklhk-cho...

2021-01-17 23:49:50 147

原创 【七日打卡】centos中java开发环境准备步骤

主题列表:juejin, github, smartblue, cyanosis, channing-cyan, fancy, hydrogen, condensed-night-purple, greenwillow, v-green, vue-pro, healer-readable, mk-cute, jzman, geek-black, awesome-green, qklhk-cho...

2021-01-17 18:33:37 82

原创 【七日打卡】Spring定时任务介绍

定时任务一般会存在中大型企业级项目中,为了减少服务器、数据库的压力往往会采用时间段性的去完成某些业务逻辑。SpringBoot为我们内置了定时任务,我们只需要一个注解就可以开启定时为我们所用了。通过@EnableScheduling和@Scheduled开启定时功能@Scheduled* 作用:spring定时器(定时执行一次或定时轮询执行一段代码)* 使用场景:注解在方法上@En...

2021-01-15 16:27:20 143

原创 【七日打卡】Spring中如何方便的使用Async异步方法

在Spring提供了@Async来实现方法的异步调用。即当调用标有@Async标识的方法时,调用线程不会等待被调用方法执行完后再继续执行后续操作,而对被调用的方法启动一个独立线程来执行。这种异步执行的方式通常用于处理接口中不需要返回给用户的数据处理。比如: 当注册的时候,只需要将用户信息返回用户,而关于信息的保存操作可以使用异步执行。在异步方法中都是开发自己去定义具体对业...

2021-01-14 23:47:10 207

原创 【七日打卡】taro小程序项目入门使用

环境准备nodeTaro 项目基于 node,请确保已具备较新的 node 环境(>=8.0.0),推荐使用 node 版本管理工具 nvm 来管理 node,这样不仅可以很方便地切换 node 版本,而且全局安装时候也不用加 sudo 了。安装@tarojs/cli指定版本安装```使用 npm 安装 CLI$ npm install -g @tarojs/cli...

2021-01-13 16:45:16 469

原创 【七日打卡】三次握手概念

主题列表:juejin, github, smartblue, cyanosis, channing-cyan, fancy, hydrogen, condensed-night-purple, greenwillow, v-green, vue-pro, healer-readable, mk-cute, jzman, geek-black, awesome-green, qklhk-cho...

2021-01-12 19:14:53 88

原创 【七日打卡】TCP&IP在开发中的作用

什么是连接在网络应用开发中, 程序之间的交互都是通过TCP连接来进行通信的, 比如数据库连接, 事务连接管理。TCP抽象出来就是一个socket,当我们拥有了这个socket之后,该怎么去使用它呢,这里举几个大家都会的,来通过问题学习知识。比如在数据库连接的时候,如果是并发请求,那数据库的连接是一个并发对应一个连接还是这个连接可以复用给多个并发? 那其实这个问题很多人都知道,一...

2021-01-11 16:22:30 202

原创 微信开发学习总结(一)——微信开发环境搭建

目前移动开发处于比较火的的趋势,很多的开发者都跃跃欲试,目前移动App开发领域主要分为以下几种类型    我在平时的工作中接触得比较多的就是基于Android的Native App开发和基于微信公众号的Light App开发,今天就来带领大家快速进入微信公众号的开发领域.一、微信开发环境搭建  工欲善其事,必先利其器。要做微信公众号开发,那么要先准备好两样必不可少的东西:  1

2020-09-27 01:24:16 720

原创 MySQL查询获取行号rownum

MySQL中可以使用变量产生行号,下面是2个简单例子:使用工具:MySQL Workbench说明:表heyf_10中字段,empid(员工工号)、deptid(部门编号)、salary(薪资);rownum是自定义变量,表示行号。对员工按照部门进行分组,分组后对相同部门的员工按照工资高低排序,并显示排序序号。rownum:自定义变量,表示行号;pdept:临时存放员工所属部门号;rank:部门...

2020-09-27 01:21:26 23863 1

原创 Android开发学习总结(六)—— APK反编译

学习和开发Android应用有一段时间了,今天写一篇博客总结一下Android的apk文件反编译。我们知道,Android应用开发完成之后,我们最终都会将应用打包成一个apk文件,然后让用户通过手机或者平板电脑下载下来进行安装。正常情况下,Android应用打包成apk之后,就无法再看到开发这个应用时使用的资源文件以及代码了。但是我们通过网上提供了一些工具,还是可以将apk进行反编译的,apk反编

2020-09-27 01:20:17 1243 1

原创 技术人员如何创业《二》- 合伙人的模式(转载)

转载自LANCEYAN.COM  “合伙人”其实从古到今都有,指一帮人聚集在一起干一件大事情,这个事情必须要借助大家的力量一起完成。比如水浒里的一百单八将、西游记里的五人组合。技术创业者刚出来创业一般也都会找合伙人,毕竟一个人搞定不了太多的事情,除非自己做的东西一个人可以搞定,比如开个小店之内的。如何研发一个好的产品参考技术人员如何创业《一》- 产品及想法。是不是只要研发出软件产品就可以赚

2020-09-27 01:13:44 916

原创 windows下使用批处理脚本实现多个版本的JDK切换

一.JDK版本切换批处理脚本  我们平时在window上做开发的时候,可能需要同时开发两个甚至多个项目,有时不同的项目对JDK的版本要求有区别,这时候我们可能会在一台电脑上安装多个版本的JDK,如下图所示:    当我们想要切换使用的JDK版本时,我们可以有两种做法:  1.手动去修改JAVA_HOME环境变量,将变量的值指向对应的JDK版本的安装目录即可.  2.通过编写批处

2020-09-27 01:09:04 968

原创 VS2010发布网站

点关注,不迷路文章每周持续更新,可以微信搜索「 十分钟学编程 」第一时间阅读和催更,如果这个文章写得还不错,觉得有点东西的话 ~求点赞???? 求关注❤️ 求分享❤️各位的支持和认可,就是我创作的最大动力,我们下篇文章见!...

2020-09-27 01:06:17 588

原创 无缝切换在线升级的终极探索

本文将介绍全年4个9(99.99%)的系统可用性方案在系统的高可靠性里有个衡量其可靠性的标准——X个9,这个X是代表数字3~5。X个9表示在系统1年时间的使用过程中,系统可以正常使用时间与总时间(1年)之比系统可用性的计算公式:A=MTBF/(MTBF+MTTR)拿365天(1年)做计算吧,看看几个9要停机多久时间做能才能达到! 1年 = 365天 = 8760小时 9...

2020-09-23 17:10:26 432

原创 利用IDEA阅读主流框架源码类关系图

1、查看图形形式的继承链在你想查看的类的标签页内,点击右键,选择 Diagrams,其中有 show 和 show ... Popup,只是前者新建在标签页内,后者以浮窗的形式展示:实际上,你也可以从左边的项目目录树中,对你想查看的类点击右键,同样选择Diagrams,效果是一样的:然后你就会得到如下图所示的继承关系图形,以自定义的Servlet为例:显而易见的是:...

2020-09-01 17:55:12 219

原创 Elastic Job进阶--作业是如何被立即触发的

在运维平台中,通常作业执行失败或者想要再次执行作业的时候,会去点击 ‘触发’按钮之后就可以看到作业被成功重新触发执行,那么触发按钮是怎么做到让作业立即出发执行的呢,接下来带你一步步探索!点击触发按钮时,发起的http请求如图所示由于我是通过源码启动的运维平台,所以可以很方便的进行debug调试,通过源码发现,进入的是JobOperationRestfulApi##triggerJob(...

2020-08-06 16:32:10 242

原创 熟练使用 Elastic Job系列之作业分片策略(五)

自带的分片策略框架默认提供了三种分片策略,所有的分片策略都是接口JobShardingStrategy的实现AverageAllocationJobShardingStrategy全类路径:io.elasticjob.lite.api.strategy.impl.AverageAllocationJobShardingStrategy 策略说明:基于平均分配算法的分...

2020-08-04 17:22:03 318

原创 熟练使用 Elastic Job系列之运维平台搭建与使用(四)

系列导航:熟练使用 Elastic Job系列之概念介绍(一)熟练使用 Elastic Job系列之注册中心与节点(二)熟练使用 Elastic Job系列之入门Demo(三)运维平台功能介绍登录安全控制注册中心、事件追踪数据源管理快捷修改作业设置作业和服务器维度状态查看操作作业禁用、启用、停止和删除等生命周期事件追踪查询准备工作通过之前的入门Demo已经掌...

2020-08-03 18:42:52 162

原创 熟练使用 Elastic Job系列之概念介绍(一)

系列导航:熟练使用 Elastic Job系列之注册中心与节点(二)熟练使用 Elastic Job系列之入门Demo(三)Elastic-Job是一个分布式调度解决方案,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务,外部依赖仅...

2020-07-31 18:34:20 250

原创 熟练使用 Elastic Job系列之注册中心与节点(二)

系列导航:熟练使用 Elastic Job系列之概念介绍(一)熟练使用 Elastic Job系列之入门Demo(三)Elastic Job是使用了zookeeper做注册中心的,那么job在zookeeper中到底都有哪些数据呢,现在,基本如图所示,接下来一一介绍。注册中心数据结构注册中心在定义的命名空间下,创建作业名称节点,用于区分不同作业,所以作业一旦创建则不能修改作业...

2020-07-31 18:33:24 430

原创 熟练使用 Elastic Job系列之入门Demo(三)

系列导航:熟练使用 Elastic Job系列之概念介绍(一)https://juejin.cn/post/6855590515694551048Elastic-Job-Lite和Elastic-Job-Cloud提供统一作业接口,开发者仅需作业接口做自己的实现,再进行不同的配置以及部署即可完成一个分布式的Job。Java配置启动首先引入maven依赖<depend...

2020-07-31 17:37:56 203

原创 GitLab CI + Docker 持续集成操作手册

概述在传统软件的开发中,代码的集成工作通常是在所有人都将工作完成后在项目即将结束进行时,而这往往会花费大量的时间和精力。而持续集成是一种将集成阶段放在软件开发阶段的做法,以便更加有规律地构建,测试和集成代码。“持续集成并不能消除 Bug,而是让它们非常容易发现和改正。”持续集成可以在开发人员提交了新代码后,立刻进行构建、单元测试。从而我们可以根据测试结果以确定新的代码或者环境配置与原来的以及其他开发人员的代码或者环境配置能否正确地集成在一起。GitLab CI 就已经集成在 GitLab .

2020-07-29 15:30:04 248

原创 centos7 如何安装与使用 Anaconda

Anaconda介绍CentOS 7安装Anaconda3conda命令使用介绍帮助目录检查conda版本升级当前版本的conda环境管理列出所有的环境安装一个不同版本的python新环境复制一个环境创建一个新环境导出环境,Anaconda支持导入导出以方便迁移导入环境信息,即根据配置文件创建一个新环境:移除环境激活进入环境,请使用停用一个活动环境,请使用包管理查看已安装包向指定环境中安装包从Anaconda.org安装一个包通过pip命令来安装包conda配置添加镜像源查看当前镜像源删除镜像源设置安装..

2020-07-28 18:52:12 407

原创 Linux中Chrome无界模式动态代理IP的配置(Selenium)

Python 爬虫设置代理的方式有很多, 比如给urlib、request、selenium等方式设置代理,这部分的细节代码在网上一搜一大堆。那么问题来了,比如你要抓取淘宝或模拟验证码操作登录,是不是要采用这种方式(Selenium + Chromedriver + Chrome)实现呢?以上就是结合(Selenium + Chromedriver + Chrome)实现的淘宝商品数据爬取,在该实例代码中,并没有设置代理ip的部分代码, 说明当爬取超过一定次数之后,将无法访问淘宝,也就是本机ip被暂时封.

2020-06-23 18:55:08 1080

原创 elasticsearch 1.7升级到7.x全攻略

es 5.3升级至es 5.5.x(小版本升级)安装es 5.3通过这个网址可以下载安装指定的es版本,首先安装es5.3.0,然后再升级到5.5.3Past Releases of Elastic Stack Software | Elastic接下来请跟着执行如下命令# 选择目录cd /opt# 下载文件wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.3.0.zip# 解压缩.

2020-05-29 11:00:31 641

原创 Linux 更改用户环境变量和所有用户环境变量

Linux环境变量设置文件/etc/profile 全局用户,应用于所有的Shell。/$HOME/.profile 当前用户,应用于所有的Shell。/etc/bash_bashrc 全局用户,应用于Bash Shell。~/.bashrc 局部当前,应用于Bash Sell。查找软件安装目录whereis mongodb查看PATH#echo $PATH 显示PATH设置。#env 显示当前用户变量。以添加mongodb server为列修改方法一:export PATH=.

2020-05-28 18:03:10 92

原创 Python之Scrapy爬虫代理的配置与调试

在调试爬虫的时候,新手都会遇到关于ip的错误,好好的程序突然报错了,怎么解决,关于ip访问的错误其实很好解决,但是怎么知道解决好了呢?怎么确定是代理ip的问题呢?由于笔者主修语言是Java,所以有些解释可能和Python大佬们的解释不一样,因为我是从Java 的角度看Python。这样也便于Java开发人员阅读理解。代理ip的逻辑在哪里一个scrapy 的项目结构是这样的scrapydownloadertest# 项目文件夹 │ items.py # 定义爬取结果存储的.

2020-05-15 19:15:56 198

原创 学会这个,再也不怕Python环境安装 (CentOS 6 Python2.7 & Python3.7)

为什么举例来说这个安装过程呢, 因为现在开发部署的主流linux就是CentOS,而大部分人目前所使用的版本是CentOS Linux release 7.x该系统已经自带集成了 Python2.7版本及pip,如果没有也可以通过yum方式安装。而CentOS 6则自带Python2.6.6 且没有pip。而现行大多数的Python开源项目都要求Python在2.7及以上,所以如果你要部署项目的机器是CentOS 6, 则需要升级Python版本并安装pip。看起来就这点东西,但是在执行过程中会遇到许..

2020-05-11 15:48:11 208

原创 后端程序员也能看懂的微信小程序开发入门

小程序时至今日已经非常火爆了,作为软件体系中的一员,越来越多的公司与个人都在发展自己的小程序,而且小程序不再是单一的微信小程序了,还有百度小程序、支付宝小程序、抖音小程序等等。说明小程序是很不错的一个开发技术,也是便于找工作的一项技能,本文指在让大家快速了解微信小程序的入门与开发。准备工作在进入小程序开发之前,首先需要准备几件事情:微信公众号平台注册一个账号 了解小程序的开发文档(简单阅读) 下载并安装微信开发者工具当以上步骤准备完毕之后,我们正式进入小程序开发,跟着我的步骤往下走吧!.

2020-04-13 00:03:36 465

原创 JVM精通面试系列 | 掘金技术征文

01 Java代码是怎么运行的?Java 和 C++ 在运行方式上的区别C++ 代码无需额外的运行时编译。代码直接编译成 CPU 所能理解的 代码格式,也就是机器码。 Java 要在虚拟机中运行呢JRE 和 JDK的区别JRE 仅包含运行 Java 程序的必需组件,包括 Java 虚拟机以及 Java 核心类库等。我们 Java 程序员经常接触到的 JDK(Java 开发工具包)同样包含了 JRE,并且还附带了一系列开 发、诊断工具。为什么 Java 要在虚拟机里运行Java 作为.

2020-03-26 15:00:54 270

原创 redis事件监听的应用场景与案例实战

2020-02-27 18:35:34 173

java开发实战经典PPT

北京MLDN软件实训中心历时四年的心血之作,彻底让读者告别垃圾图书的侵害,由清华大学出版社出版的《Java开发实战经典》一书已经上市,同时本书配套有完整的PPT

2017-05-10

lazyload.js演示页面

lazyload.js可以实现图片分批次加载,不是一次性加载完毕再分批次展现。使用该插件有个注意的地方,图片要加上宽高。因为默认图是1像素的,所以如果没有给图片限制宽高,当滚动条滚动时会全部加载出来。

2017-03-02

MySQL中文手册

MySQL中文手册

2017-02-06

aspectj-1.6.10.jar+aspectjweaver-1.6.9.jar

aspectj-1.6.10.jar,aspectjweaver-1.6.9.jar,spring事务所用到的jar

2015-10-11

空空如也

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

TA关注的人

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