
技术应用
文章平均质量分 55
咖啡汪
探究方向:中台战略和产业区块链
技术宣言:重拾极客精神,提升技术认知
人生理念:对本汪而言,无常便是有常,无知所以无畏。
展开
-
咖啡汪工作日志————简单的nginx 配置文件参考
Nginx 配置文件,主要目的是让新手快速理解 nginx 配置文件中的参数与我们代码配置文件参数的对应关系,以便进行快速有效的部署原创 2022-03-15 08:10:14 · 4628 阅读 · 0 评论 -
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 · 921 阅读 · 0 评论 -
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 · 8631 阅读 · 2 评论 -
JAVA 实用时间工具类
实用的java 时间工具类,基本覆盖了日常工作中的所有情景原创 2022-01-23 09:45:39 · 928 阅读 · 0 评论 -
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 · 2770 阅读 · 5 评论 -
咖啡汪日志——做人脸图片上传时,用到的一个very好用的java图片压缩工具类,
java 图片压缩工具类原创 2021-12-14 21:50:27 · 181 阅读 · 0 评论 -
使用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 · 1077 阅读 · 0 评论 -
阿里云短信发送源码,采用建造者模式,可灵活构建及拓展——咖啡汪推荐
yml文件内配置aliyun: accessKeyID: LTAIfyfd345itvUTqJRhhVx accessKeySecret: DEdgwTdlkfuREHodiflhHozNiem6l signName: 生态环保院数字园区 template: systemnotice: SMS_227249650 meetingrefuse: SMS_227249645 meetingjoin: SMS_227249644原创 2021-11-06 16:54:05 · 811 阅读 · 0 评论 -
docker日常使用记录
portiner:docker run -d -p 9000:9000 \ --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock \ --name prtainer-test \ portainer/portainermysql5.7:原创 2021-04-26 11:33:56 · 155 阅读 · 0 评论 -
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 · 418 阅读 · 0 评论 -
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 · 3671 阅读 · 1 评论 -
咖啡汪日志:如何生成并在局域网内部署 docker 镜像,数据源配置启动时注入
Hello, 大家好!我是不作死就不会死,智商不在线,但颜值超有品的拆家队大队长 ——咖啡汪 Husky Yue一只不是在戏精,就是在戏精路上的极品二哈今天给大家带来的,是jar 包生成docker镜像,数据源配置启动时注入,docker镜像存入本地文件夹并重新加入入docker之中的简易教程1、需要将数据库连接的url, username, password 全部设置为从环境变量中获取,以方便后面启动镜像时,对这些参数进行修改。2、在桌面新建一个文件夹,更名为“docker-build”(原创 2021-03-25 11:51:26 · 657 阅读 · 0 评论 -
咖啡汪日志——实际工作中好用的集合工具类(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 · 2041 阅读 · 0 评论 -
咖啡汪日志—— 回退兜底 及实用的服务降级策略
本汪作为一名资深的哈士奇每天除了闲逛,拆家,就是啃博客了作为不是在戏精,就是在戏精的路上的二哈今天就来给大家说说在实际工作中如何进行简单的回退兜底,熔断降级一、 开篇有益1.什么是Hystrix?Hystrix是一个供分布式系统使用,提供延迟和容错功能,保证复杂的分布系统在面临不可避免的失败时,仍能有其弹性。比如系统中有很多服务,当某些服务不稳定的时候,使用这些服务的用户线程将会阻塞,如果没有隔离机制,系统随时就有可能会挂掉,从而带来很大的风险。SpringCloud使用Hystrix组件提原创 2020-12-05 22:20:57 · 726 阅读 · 0 评论 -
咖啡汪日志——实际开发中如何避免缓存穿透和缓存雪崩(代码示例实际展示)
一、 开篇有益1、什么是缓存穿透?通常缓存系统,都是按照key去进行缓存查询,如果不存在对应的value,就应该去数据库查询。一些恶意的请求会故意大量查询不存在的key(例如使用“-1”,“#”,或者UUID生成100万个Key进行查询),就会对数据库造成很大的压力。我们把这种情况称之为缓存穿透。2、缓存穿透有什么具体的防护方法?(1)采用布隆过滤器,将所有可能存在的数据存到一个bitMap中,不存在的数据就会进行拦截。(2)对查询结果为空的情况也进行缓存,缓存时间设置短一点,不超过5分钟。二、原创 2020-12-01 20:44:55 · 427 阅读 · 0 评论 -
咖啡汪日志——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 · 669 阅读 · 0 评论 -
咖啡汪日志——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 · 707 阅读 · 0 评论 -
咖啡汪日志——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 · 597 阅读 · 2 评论 -
咖啡汪日志——高可用分布式点赞缓存系统(redis)
开篇有益:为什么点赞信息要放在缓存中?考虑一下:你的新发布app,号称两亿人同时在线中午吃饭时间,大家都休息点赞排行榜,所有人都想看,高频操作,同一时间200万查询量,怎么处理?要放缓存,那么。。。如何设计一套高效可用得点赞缓存系统?缓存同步,缓存雪崩,缓存穿透,瞬间并发如何解决?存储点赞排行榜信息:sortedSet减轻DB负载:使用时间扰动...原创 2020-09-26 22:42:00 · 921 阅读 · 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 · 1448 阅读 · 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 · 2148 阅读 · 0 评论 -
咖啡汪推荐————使用RabbitMQ进行邮件发送,并确保发送成功(带思维导图,源码在github上,需要的自行下载哦)
郑重声明:本汪作为一名资深的哈士奇,每天除了闲逛,拆家,就是啃博客了作为不是在戏精,就是在戏精的路上的二哈今天就来啃啃RabbitMQ邮件100%发送成功这块小骨头吧开篇有益:本汪带大家先看看什么是RabbitMQ:消息队列,他官网是这样吹的:1.异步消息,支持多种消息传递协议,消息排队,传递确认,到队列的灵活路由,多种交换类型。2.使用BOSH,Chef,Docker和Puppet进行部署。使用喜欢的编程语言来开发跨语言消息传递,例如Java,.NET,PHP,Python,JavaSc原创 2020-09-14 21:32:46 · 1449 阅读 · 1 评论 -
咖啡汪推荐————使用Redisson组件,缓存映射MapCache进行短信验证码失效验证
(一)开篇,本汪先讲使用Redisson的MapCache的优点1.Redisson组件,缓存映射MapCache 可以很好地解决DB负载过高的问题,每次进行校验,只需从缓存中查询,不需再查数据库。2.可以解决定时任务处理不及时的问题,通过实现ApplicationRunner, Ordered两个接口,可以在应用启动和运行期间,不间断监听,并执行我们所需的业务逻辑代码。3.解决了批次查询的数据量可能过大占用过多的缓存的问题我们使用纯sql加定时器进行短信验证码失效验证和使用redis进行短信验证码原创 2020-09-06 22:04:43 · 2062 阅读 · 1 评论 -
咖啡汪推荐————使用AOP实现日志记录,包括bug点,bug讲解(源码在汪哥Github上,自行下载)
郑重声明:创作不易,请大家多多支持本汪作为一名资深的哈士奇每天除了闲逛,拆家,就是啃博客了作为不是在戏精,就是在戏精的路上的二哈今天就来给大家说说前后端分离项目-AOP如何实现日志记录让我们一起傻嗨浪告诉大家个秘密————文章最后会有bug讲解哦,本汪意在使大家能够自己定义AOP注解,而不是只会用别人的,所以讲的会比较贴底层,有些底层,不想看都可以直接跳过,不影响代码复用( 一 ) AOP介绍本汪介绍下:其实她的目的就两个字----省事本汪说下:基本的概念必须要有所了解,所以下面的介绍原创 2020-08-30 12:39:37 · 391 阅读 · 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 · 394 阅读 · 1 评论 -
rabbitmq安装资源MQ3.8.4+erl23.0及部分操作
MQ3.8.4+erl23.0链接:https://pan.baidu.com/s/1-GrLWV_2x0OXzPjBYBVEoQ提取码:a2q8安装自行参考:https://blog.youkuaiyun.com/weixin_39735923/article/details/79288578https://www.cnblogs.com/ericli-ericli/p/5902270.html安装完成后,看需求进行以下操作1.直接左下角搜索框搜索“命令提示符”,右击鼠标选择以管理员身份运行2.启动r原创 2020-08-23 19:09:38 · 611 阅读 · 0 评论 -
idea查看字符串长度,时间段查询除between..and...还可以怎么写,isEmpty不同框架的不同,sessionID算法
最近怎么发现每天出去high,都有新收货呢?今天汪哥在数字符串长度时,被加菲猫给取笑了才发现,还能这样?选中了,右下角居然会显示出来长度 无语了。。。。。。原创 2020-07-09 21:59:40 · 980 阅读 · 2 评论 -
咖啡汪工作日志之Java编码小技巧两个(代码复用和时间段查询)
O(∩_∩)O哈哈~在本汪的带领之下,咖啡汪拆家大队已经越来越受欢迎了其实二哈们受欢迎的原因除了长得帅还有一点,很关键————每个人心里都有一只哈皮汪————————只是不怎么表现出来...原创 2020-07-07 22:56:18 · 155 阅读 · 0 评论 -
咖啡汪日志之oracle数据库表被隔壁加菲那只蠢猫锁了,本汪秒解,顺便解决下数据库乱码
公司这几天已经被本汪拆的没剩什么了————额哈哈,本汪果然是拆家小能手本汪想着今天闲着也是闲着就把Oracle数据库一些隔壁加菲猫正用的数据表里的数据给删一删捣捣乱没想到删的时候才发现好多表都被锁了第一反应:难道是加菲提前做了防备?结果本汪一抬头,就看见加菲急匆匆地向我跑来。。。。。。原来是这只蠢猫不小心和其他人同时操作数据库表,结果把好多表给锁了既然她自己已经把自己坑惨了,那本汪今天就”放过”她吧于是本汪果断帮她把表给解锁了(还顺便删了她几条关键数据,嘿嘿),SQL如下:selec原创 2020-07-07 22:15:15 · 174 阅读 · 0 评论 -
wxml页面中,字符串转为Boolean类型,实现组件隐藏功能,同时进行消息提示----本汪要蹭微信小程序的热度
今天本汪在闲逛时, 遇到了隔壁加菲猫, 她正在做一个根据数据库某字段的属性,实现前端微信小程序wxml页面checkbox隐藏的任务作为根本闲不住的哈皮汪, 本汪又没忍住诱惑, 于是乎,帮了她这个忙-----------其实本汪也想静静地装高冷,奈何本汪不是这性格啊-----------爱心+100000000让我们来看一下————此处是任务要求1.当车辆信息的flag属性为“已经被AI判为违法车辆”时,红标处的checkbox将不能被勾选,2.同时提示消息“该车辆已被AI智能监控系统预警,原创 2020-07-02 22:38:40 · 1173 阅读 · 1 评论 -
本汪突然发现,一个login的Controller,竟然可以被人(隔壁加菲猫)写成这样,本汪也是醉了!!!
作为拆迁大队大队长,本汪今天也没闲着中午休息时,偷偷去看了隔壁加菲猫发现这货写了这么段代码当场没忍住,笑出来汪叫声代码如下:public boolean login(HttpServletRequest request, HttpServletResponse response,String username,String password) {String tableName=“ai_user”;AiUser aiUser= aiVideoService.getAiUserByUserNam原创 2020-07-02 21:25:04 · 216 阅读 · 0 评论 -
15分钟在阿里云服务器CentOS 7.3 64 位完成jdk1.8(也包含1.6,1.7的教程),tomcat8(也包含7和8的教程),mysql8.0.19(mysql5.7.23也可以)部署
15分钟在阿里云服务器CentOS 7.3 64 位完成jdk1.8,tomcat8,mysql5.6.47部署请认真看好每一个细节!全程只需要复制和粘贴即可一、会用到的Linux命令简介(必须了解):cd + 文件夹 ——> 进入下一级文件夹cd + ~ ——> 回到根目录vim + 文件名 ——...原创 2020-03-16 01:01:14 · 365 阅读 · 0 评论