自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 咖啡汪日志——JAVA导出pdf文件加水印 文字+图片、文字

java 给pdf文件加 图片+文字 水印

2023-03-25 23:43:15 1631 1

原创 咖啡汪笔记 —— 微服务架构下如何保证事务的一致性(InfoQ公开课)

Hello, 大家好!我是不作死就不会死,智商不在线,但颜值超有品的拆家队大队长 ——咖啡汪一只不是在戏精,就是在戏精路上的极品二哈前几天在 InfoQ 公开课上看到了自己感兴趣的东西,所以便简单做了下记录附上原视频链接:微服务架构下如何保证事务的一致性 | InfoQ 公开课讲师:梁桂钊视频链接:https://www.infoq.cn/video/K7pDdIP5ZvqY9aAbf5vY前言课程目录,你能了解到什么:什么是分布式事务?分布式事务用的多吗?二阶段提交协议/三阶段提

2021-02-25 17:07:54 1719 4

原创 咖啡汪日志——遇见数仓,理想与现实的碰撞,前景与难点的对接

本汪最近又接了个新活儿做数仓,主要用于支撑大数据分析,和架构层决策城市数字化转型,首当其冲的,便是要实现数据富足2020.12.26 日在江苏南京举办的第二届全国中台战略大会暨第四届互联网构架峰会,本汪也是有幸参会,收获了大量前沿信息开篇有益:一、OLTP 和 OLAP 的区别这两种其实我们平时工作中,都是有处理过的。业务通常由 OLTP 支撑,而现下最火的大屏展示,则有 OLAP 支撑。OLTP:On-Line Transaction Processing,联机事务处理,主要是业务数

2021-02-12 07:41:19 1925 5

原创 咖啡汪日志———数值计算,精度、舍入、溢出(极客时间)

一直想要去跑跑数值计算的坑今天终于还是抽出了时间一,开篇有益不知道你有没有用手机计数器计算过10%+10%其实结果是:惊不惊喜,意不意外为什么不是0.2呢?因为国外的计数器使用的都是单步计算法a+b% 代表的是 a*(1+b%)Java采用了IEEE745标准实现浮点数的表达和计算0.1二进制为:0.0 0011 0011 0011无线循环十进制为:0.1 000 000 000 000 000 555 111 512 312 …5625下面是实际的展示:二、浮点数运算避坑

2020-10-13 23:55:12 628 2

原创 咖啡汪工作日志————简单的nginx 配置文件参考

Nginx 配置文件,主要目的是让新手快速理解 nginx 配置文件中的参数与我们代码配置文件参数的对应关系,以便进行快速有效的部署

2022-03-15 08:10:14 4514

原创 apache2.4配置服务器,文件都是从配好的服务器上直接拿下来的,极具参考性

hello , 大家好,我是咖啡汪今天刚好给服务器配置了 SSL 证书,所以写这篇文章来分享下心得。以下文件包括了80 端口监听代理映射 和 443 端口监听代理映射1、下载下来的ssl 证书截图如下:2、修改 httpd.conf,内容如下:这个不用动直接粘贴就行# 这个用来定义根路径Define SRVROOT "C:\Apache\Apache24"ServerRoot "${SRVROOT}"# 监听80端口, 80端口对应的是 http 请求Listen 80

2022-02-23 15:49:13 777

原创 mqtt协议调用示例(包括MQTT一键启动服务+测试工具 MQTTFX云盘下载),对捷顺门禁温感一体机进行人员信息下发

hello, 大家好,新年上班第一天,给大家贡献一篇 MQTT 协议使用示例文章也是本汪自己的一篇实用笔记1、 基本原理RRPC 请求消息: 服务器通过 MQTT 下发给设备端的消息;RRPC 响应消息: 设备端通过 MQTT 回复给服务器的消息;RRPC 消息 ID: 服务器为每次 RRPC 调用生成的唯一消息 ID;RRPC 订阅 Topic: 设备端以及服务器订阅 RRPC 消息时传递的 Topic,含有通配符2、添加MQTT订阅在Web管理后台的 设备管理 → HTTP/MQTT订

2022-02-07 11:35:58 8108 2

原创 JAVA 实用时间工具类

实用的java 时间工具类,基本覆盖了日常工作中的所有情景

2022-01-23 09:45:39 790

原创 java通过Excel 模板导出复杂统计类excel文档,在ruoyi前后端分离框架中的应用

Hello, 大家好!我是不作死就不会死,智商不在线,但颜值超有品的拆家队大队长 ——咖啡汪一只不是在戏精,就是在戏精路上的极品二哈前几天刚做了java通过Excel 模板导出复杂统计类excel文档这么一个小功能,特此记录下,分享给需要的小伙伴示例用的框架是nuoyi的单体前后端分离框架,开源地址:https://gitee.com/y_project/RuoYi-Vue首先让我们先来看一下要求:(1)这是客户提供的模板:(2) 这是本汪修改后的模板:(3)这是最终实现的可导出的exc

2022-01-12 11:11:50 2175 4

原创 咖啡汪日志——做人脸图片上传时,用到的一个very好用的java图片压缩工具类,

java 图片压缩工具类

2021-12-14 21:50:27 111

原创 使用kettle配合kettle-monitor-platform 对数据进行增量和全量抽取,软件包可云盘下载——咖啡汪

一、这套系统搭建的背景:本汪带领的团队,需要配合政府某局, 接入其下属全部国企集团待处理数据,进行数据统计,我方负责前置库构建。需要将oracle, sql server, mysql 等数据统一归集入mysql数据库。二、开源框架的选择:开源软件:开源软件 kettle 版本:Pentaho Data Integration 8.3.0.-371kettle可视化管理平台:kettle-monitor-platform数据库: mysql这套系统,已经部署使用1年,未出现问题。系统全部软件,

2021-11-08 13:47:51 840

原创 阿里云短信发送源码,采用建造者模式,可灵活构建及拓展——咖啡汪推荐

yml文件内配置aliyun: accessKeyID: LTAIfyfd345itvUTqJRhhVx accessKeySecret: DEdgwTdlkfuREHodiflhHozNiem6l signName: 生态环保院数字园区 template: systemnotice: SMS_227249650 meetingrefuse: SMS_227249645 meetingjoin: SMS_227249644

2021-11-06 16:54:05 717

原创 vue+ springboot 实现本地文件上传快速示例(整流程代码)

vue布局 <el-upload class="upload-demo" ref="upload" :show-file-list="showList" action="no" accept="image/jpeg,image/gif,image/png" :http-request="onChange" &

2021-08-24 15:30:01 344

原创 vue+springboot项目,vue调用服务器本地图片(以nuoyi诺依框架为例,非诺一框架不建议看这篇)

诺依框架:前后端分离,调不到本地图片,别急,咖啡汪带你操作。记得养成好习惯:所有路径都小写example:<img src="/dev-api/faceimage/checkonwrokimage/72a57261-47ab-4e76-a0de-08e8ae6c8206.jpeg" alt="" class="img2">问题分析:1、数据库存放的是图片路径,图片本身在服务器的某个盘内。2、调不到是因为需要路径映射。3、拦截器放开就OK了。诺一系统自行搭建测试流程:本地

2021-08-13 10:33:14 3230 1

原创 咖啡汪日志:如何生成并在局域网内部署 docker 镜像,数据源配置启动时注入

Hello, 大家好!我是不作死就不会死,智商不在线,但颜值超有品的拆家队大队长 ——咖啡汪 Husky Yue一只不是在戏精,就是在戏精路上的极品二哈今天给大家带来的,是jar 包生成docker镜像,数据源配置启动时注入,docker镜像存入本地文件夹并重新加入入docker之中的简易教程1、需要将数据库连接的url, username, password 全部设置为从环境变量中获取,以方便后面启动镜像时,对这些参数进行修改。2、在桌面新建一个文件夹,更名为“docker-build”(

2021-03-25 11:51:26 507

翻译 咖啡汪译文 —— 2021最新IBM消息 祝贺2020年度 Code for Global挑战赛冠军Agrolly! 结识全球五强 这些方案正在争夺20万美元的大奖,并有机会看到他们的解决方案的部署。

祝贺2020年Code for Global挑战赛冠军 Agrolly!前言:Now in its fourth year, the Call for Code initiative is the largest tech for good initiative of its kind. The world is facing unprecedented, interconnected challenges and we believe technology can help, whether that

2021-02-12 07:39:59 1199 1

原创 Husky Yue Daily Record—— HahMap 、Hashtable、ConcurrentHashMap Resourse Code Annotation

一、HahMap Resourse Code AnnotationinitCapacity: 11loadFactor: 0.75resize: doublestatic final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16static final int MAXIMUM_CAPACITY = 1 << 30; //1073741824if ((newCap = oldCap << 1) < M

2021-02-09 08:45:39 167

原创 咖啡汪日志 —— 一文看懂Spring Cloud 网关ZuulFilter的使用和源码(包括FilterFactory 的讲解)

作为乐死不疲的汪界翘楚本汪每天不是在戏精就是在戏精的路上了作为一只纯种哈士奇玩,就要玩得尽兴而归!今天与大家一起溜溜,看看 Spring Cloud 网关 ZuulFilter ,从使用到源码的规律特此感谢:Mikey Cohen 老哥FilterLoader 和 ZuulFilter 、IZuulFilterSpring Cloud 网关这块儿,都是这位老哥的杰作。有图为证,嗷呜嗷呜!!:那么,和本汪一起去看一下吧,走你!一、开篇有益(5%的小伙伴到此为止)Here are th

2021-02-03 22:11:45 413

原创 咖啡汪参会纪实(第一部分)—— 腾讯全球数字生态大会(产业区块链专场),简明扼要,带给你最直观的参会体验

链动产业,连接生态

2020-12-23 21:55:15 483

原创 咖啡汪日志——实际工作中好用的集合工具类(org.apache.commons.collections4.CollectionUtils)

判断list为空的情况:if(list == null || list.size() == 0){ }判断list不为空的情况:if(list != null && list.size()>0){ }

2020-12-09 05:17:48 1810

原创 咖啡汪日志—— 回退兜底 及实用的服务降级策略

本汪作为一名资深的哈士奇每天除了闲逛,拆家,就是啃博客了作为不是在戏精,就是在戏精的路上的二哈今天就来给大家说说在实际工作中如何进行简单的回退兜底,熔断降级一、 开篇有益1.什么是Hystrix?Hystrix是一个供分布式系统使用,提供延迟和容错功能,保证复杂的分布系统在面临不可避免的失败时,仍能有其弹性。比如系统中有很多服务,当某些服务不稳定的时候,使用这些服务的用户线程将会阻塞,如果没有隔离机制,系统随时就有可能会挂掉,从而带来很大的风险。SpringCloud使用Hystrix组件提

2020-12-05 22:20:57 578

原创 咖啡汪日志——实际开发中如何避免缓存穿透和缓存雪崩(代码示例实际展示)

一、 开篇有益1、什么是缓存穿透?通常缓存系统,都是按照key去进行缓存查询,如果不存在对应的value,就应该去数据库查询。一些恶意的请求会故意大量查询不存在的key(例如使用“-1”,“#”,或者UUID生成100万个Key进行查询),就会对数据库造成很大的压力。我们把这种情况称之为缓存穿透。2、缓存穿透有什么具体的防护方法?(1)采用布隆过滤器,将所有可能存在的数据存到一个bitMap中,不存在的数据就会进行拦截。(2)对查询结果为空的情况也进行缓存,缓存时间设置短一点,不超过5分钟。二、

2020-12-01 20:44:55 333

原创 咖啡汪日志——JPA定义实体类+ 枚举 + 枚举属性转换器 +自定义序列化器

优惠券实体类package com.tjslzhkj.coupon.entity;import com.fasterxml.jackson.databind.annotation.JsonSerialize;import com.tjslzhkj.coupon.converter.CouponCategoryConverter;import com.tjslzhkj.coupon.converter.DistributeTargetConverter;import com.tjslzhkj.co

2020-11-25 21:42:53 562

原创 咖啡汪日志——stream常用的分组处理

自建分组类型进行分组public enum ValueLevel{GGS,AGE,TTS}Map<ValueLevel,List<Transaction>> map = transactions.stream().collect(Collectors.groupingBy(t -> { if(t.getValue() <= 700) return ValueLevel.AGE; else if (t.getValue() <=10

2020-11-24 20:00:00 596

原创 咖啡汪日志——Java9中,takeWhile()和dropWhile(),使用Java8来进行自定义

众所周知,Java9中引入了两个新的方法takeWhile和dropWhile,他们可以高效地选择或者丢弃流中的元素, 按照设定的大小,对流执行截断操作,从而提高效率。这里,本汪提供了使用Java8,对这两个方法的实现,希望可以帮到有需要的小伙伴package net.huskyyue.collector;import java.util.List;import java.util.function.Predicate;import java.util.stream.Stream;/**

2020-10-18 21:45:50 482 2

原创 咖啡汪日志——行为参数化及Collectors.toConcurrentMap源码浅析

作为不是在逗比,就是在逗比路上的,拆家霸主本汪今天就拆了Collectors.toConcurrentMap看看他里面是怎么搞的额,不了解函数式编程的小伙伴,推荐看下《java实战第二版》看懂这篇博客,需要一定的函数式编程基础,起码得懂什么是行为参数化不了解泛型的子类型规则,无限制的通配符类型的小伙伴,推荐以下博客https://www.cnblogs.com/jian0110/p/10690483.html一、开篇有益行为参数化就是可以帮助你处理频繁变更的需求的一种软件开发模式。本汪简

2020-10-11 12:21:45 2542 1

原创 咖啡汪日志————Netty 4.1.45.Final新手引导之Echo服务的简单演示

作为不是在逗比,都是在逗比路上的二哈节假日也不能闲从今天开始本汪要进入Netty的拆家行当了,哈哈解析源码分析底层参数配置,对性能的影响熟悉netty的各种使用场景顺便了解下装配器模式不知道这家够本汪拆多久。。。。。。Echo服务的各组件名称和作用1)EventLoop和EventLoopGroup线程和线程组NIOEventLoopGroup就是一个线程池实现2)Bootstrapt启动引导类数据的预加载,参数配置,不同使用端启动类不同3)Channel 生命周期,状态变化

2020-10-08 20:23:18 214 2

原创 咖啡汪日志————一个实用的加盐加密组件

import cn.hutool.core.lang.Snowflake;import com.google.common.collect.Maps;import org.springframework.util.DigestUtils;import java.util.Map;import java.util.UUID;/** * MD5加盐加密 * ** * * @author: Yuezejian Created in 2020/9/28 上午10:40 * @modifi.

2020-09-29 11:12:03 1038

原创 咖啡汪日志——自己写的一个布隆过滤器(BloomFilter)

import java.io.Serializable;import java.util.HashMap;import java.util.Map;/** * 布隆过滤器 * ** * * @author: Yuezejian Created in 2020/9/29 上午9:02 * @modified By: */public class BloomFilter implements Cloneable, Serializable { private static fi.

2020-09-29 11:06:24 144

原创 咖啡汪日志——高可用分布式点赞缓存系统(redis)

开篇有益:为什么点赞信息要放在缓存中?考虑一下:你的新发布app,号称两亿人同时在线中午吃饭时间,大家都休息点赞排行榜,所有人都想看,高频操作,同一时间200万查询量,怎么处理?要放缓存,那么。。。如何设计一套高效可用得点赞缓存系统?缓存同步,缓存雪崩,缓存穿透,瞬间并发如何解决?存储点赞排行榜信息:sortedSet减轻DB负载:使用时间扰动...

2020-09-26 22:42:00 782 2

原创 咖啡汪日志————使用Redisson延迟队列,实现会员到期前N天提醒

来随本汪一探究竟0.application.properties#用户会员到期提醒vip.expire.first.subject=会员即将到期提醒【泰达便民服务平台-http://www.tjxstech.com/】vip.expire.first.content=手机为:%s 的用户,您好!您的会员有效期即将失效,请您前往平台续费~祝您生活愉快【泰达便民服务平台-http://www.tjxstech.com/】vip.expire.end.subject=会员到期提醒【泰达便民服务平台-

2020-09-24 19:50:06 1273 2

原创 咖啡汪推荐————基于Redisson缓存映射MapCache,实现会员到期前N天邮件提醒

1.controller/** * Vip到期提醒Controller * * @author Yuezejian * @date 2020年 09月03日 21:29:43 */@RestController@RequestMapping("user/vip")public class UserVipController extends AbstractController { @Autowired private UserVipService vipService;

2020-09-21 22:39:20 1853

原创 咖啡汪推荐————使用RabbitMQ进行邮件发送,并确保发送成功(带思维导图,源码在github上,需要的自行下载哦)

郑重声明:本汪作为一名资深的哈士奇,每天除了闲逛,拆家,就是啃博客了作为不是在戏精,就是在戏精的路上的二哈今天就来啃啃RabbitMQ邮件100%发送成功这块小骨头吧开篇有益:本汪带大家先看看什么是RabbitMQ:消息队列,他官网是这样吹的:1.异步消息,支持多种消息传递协议,消息排队,传递确认,到队列的灵活路由,多种交换类型。2.使用BOSH,Chef,Docker和Puppet进行部署。使用喜欢的编程语言来开发跨语言消息传递,例如Java,.NET,PHP,Python,JavaSc

2020-09-14 21:32:46 1236 1

原创 咖啡汪推荐————使用Redisson组件,缓存映射MapCache进行短信验证码失效验证

(一)开篇,本汪先讲使用Redisson的MapCache的优点1.Redisson组件,缓存映射MapCache 可以很好地解决DB负载过高的问题,每次进行校验,只需从缓存中查询,不需再查数据库。2.可以解决定时任务处理不及时的问题,通过实现ApplicationRunner, Ordered两个接口,可以在应用启动和运行期间,不间断监听,并执行我们所需的业务逻辑代码。3.解决了批次查询的数据量可能过大占用过多的缓存的问题我们使用纯sql加定时器进行短信验证码失效验证和使用redis进行短信验证码

2020-09-06 22:04:43 1865 1

原创 咖啡汪——极客时间课堂笔记——IOC和AOP拓展核心——多例注入的BUG解决办法

Spring框架:IOC 和 AOP是拓展的核心1.SayHelloService extends Say, SayByService extends Say, 需要将SayHelloService注入到SayContorller给子类加@Service注解,要看类是否有状态,默认为单例,但此时应为多例,RestController注解其实也是一个Spring BeanBean默认单例,所以单例的Controller注入的Service也是一次性创建的,即使services设置了多例也没用解决方法

2020-09-04 07:44:35 144 1

原创 咖啡汪推荐————使用AOP实现日志记录,包括bug点,bug讲解(源码在汪哥Github上,自行下载)

郑重声明:创作不易,请大家多多支持本汪作为一名资深的哈士奇每天除了闲逛,拆家,就是啃博客了作为不是在戏精,就是在戏精的路上的二哈今天就来给大家说说前后端分离项目-AOP如何实现日志记录让我们一起傻嗨浪告诉大家个秘密————文章最后会有bug讲解哦,本汪意在使大家能够自己定义AOP注解,而不是只会用别人的,所以讲的会比较贴底层,有些底层,不想看都可以直接跳过,不影响代码复用( 一 ) AOP介绍本汪介绍下:其实她的目的就两个字----省事本汪说下:基本的概念必须要有所了解,所以下面的介绍

2020-08-30 12:39:37 338 2

原创 咖啡汪日志———搭建灵活的统一响应模型,应对各种响应情况

1.创建状态码的维护实体类code为状态码,msg为错误信息,可根据业务需要添加enum类型,设置响应的code,msg,本汪说明下:此处配置的msg信息,在异常抛出时会被前端统一拦截,作为 提示内容反馈给用户public enum StatusCode { Success(200,"success"), Fail(500,"false"), InvalidParams(300,"非法的参数!"), UserNameHasExist(301,"用户名已存在"),

2020-08-30 09:15:30 299 1

原创 rabbitmq安装资源MQ3.8.4+erl23.0及部分操作

MQ3.8.4+erl23.0链接:https://pan.baidu.com/s/1-GrLWV_2x0OXzPjBYBVEoQ提取码:a2q8安装自行参考:https://blog.csdn.net/weixin_39735923/article/details/79288578https://www.cnblogs.com/ericli-ericli/p/5902270.html安装完成后,看需求进行以下操作1.直接左下角搜索框搜索“命令提示符”,右击鼠标选择以管理员身份运行2.启动r

2020-08-23 19:09:38 519

原创 咖啡汪对敖丙老哥Java后端面试心得体会————阿里一面

自我介绍:XXX之前做过的项目有两个:1.政企业务的支撑系统偏业务,主要做了两个(1)业务沟通,系统迭代(2)搭建线下的预发环境,测试环境,去用做CI,CD(https://blog.csdn.net/qq_18975791/article/details/85860105),用CI,CD做一个敏捷开发(3)对服务进行了一个模块化的划分,把原来一个集成度很高的项目,拆成了一个主Web服务,拆出来了附件服务,定时任务,还有Redis帮助去更好地做一个服务能力的沉淀和模块化(4)用设计模式对现

2020-08-02 17:40:42 413 1

原创 Mysql设置事务隔离级别解说(主演:咖啡汪,隔壁加菲猫)

不可重复读:一个事务范围内,两个相同的查询却返回了不同的结果;重复读: 一个事务执行期间,不允许另一个事务执行update操作;eg:加菲早上借了汪哥的卡,说是下午去买包包,卡里有1000元1、执行查询操作:加菲借卡时当面查了卡里余额:1000元2、执行update操作:结果中午本汪出去吃饭时,和隔壁柴犬互相挑衅,一时没忍住干了一架,把他咬伤了于是乎,用手机把卡里的钱,全陪给柴犬媳妇了。3、执行查询操作:加菲挑好了包包,付款时发现卡里余额:0元,直接炸毛了,于是乎汪哥帅气的脸,当天晚上就被猫爪挠

2020-08-01 22:04:12 136 1

分布式中间件依赖——咖啡汪项目启动依赖包(全)

分布式中间件依赖——咖啡汪项目启动依赖包(全) 咖啡汪推荐————使用RabbitMQ进行邮件发送,并确保发送成功(源码在github上,需要的自行下载哦) 咖啡汪推荐————使用Redisson组件,缓存映射MapCache进行短信验证码失效验证 咖啡汪日志————使用Redisson延迟队列,实现会员到期前N天提醒 咖啡汪日志——点赞缓存系统,获取点赞排行榜,获取点赞详情信息

2020-09-20

oracle.zip pom文件依赖包,不易下载的三个其三

pom文件依赖包,不易下载的三个 <dependency> <groupId>org.apache.http</groupId> <artifactId>httpclient</artifactId> <version>4.5.10</version> </dependency> <dependency> <groupId>org.apache.http</groupId> <artifactId>httpcore</artifactId> <version>4.4.12</version> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-http</artifactId> <version>5.2.4</version> </dependency>

2020-07-07

hutool.zip pom文件依赖包,不易下载的三个其二

pom文件依赖包,不易下载的三个 org.apache.http httpclient 4.5.10 org.apache.http httpcore 4.4.12 cn.hutool hutool-http 5.2.4

2020-07-07

http.zip pom文件依赖包,不易下载的三个其一

pom文件依赖包,不易下载的三个:<dependency> <groupId>org.apache.http</groupId> <artifactId>httpclient</artifactId> <version>4.5.10</version> </dependency> <dependency> <groupId>org.apache.http</groupId> <artifactId>httpcore</artifactId> <version>4.4.12</version> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-http</artifactId> <version>5.2.4</version> </dependency>

2020-07-07

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

TA关注的人

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