自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 Git 如何合并commits成一个(squash)

Git 如何合并commits成一个(squash)

2022-06-23 17:50:41 1561 1

原创 linux指令的一些个人总结

查看443端口被什么占用sudo netstat -tulpn | grep :443 在目录下搜寻文件中的关键字grep -rni "keyString"JQ获取json的key值cat someJson.result | jq .someField | jq keys获取某key值下的子key值内容cat someJson.result | jq .someField.childFiled > 2.json...

2021-05-28 17:18:55 116

原创 Spring配置文件application.yml加密

总体来说需要使用jasypt分以下几步选择加密算法将敏感信息使用加密算法加密在配置中使用ENC关机字标记需要解密的敏感信息在启动时/配置时/环境变量中输入公钥用于使用中的解密具体配置可参照以下这两个链接中的文章https://medium.com/@mail2rajeevshukla/hiding-encrypting-database-password-in-the-application-properties-34d59fe104ebhttps://www.geeksforgeeks

2021-05-11 15:02:56 300

原创 gradle打包fat jar记录

使用gradle项目打包jar包的时候如果不使用fat jar的打包模式会造成dependency没有全部被打在一个包中的结果譬如在denpendency的情况为如下的情况时dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' compile fileTree(dir:'libs',include:['*.jar']) implementation group: 'commons-v

2021-05-10 10:46:44 1911

原创 Spring MVC接受formdata

在日常的工作中有时候我们会需要上传一些文件到服务器。这个时候的接口接受的数据可以使用MultipartHttpServletRequest在requestBody中可以定义string和file类型的入参 @RequestMapping( value = "test", produces = { "application/json" }, consumes = { "multipart/form-data" },

2021-04-16 15:03:33 3042 1

原创 系统资源(CPU, MEM)占用率测试和改善

在产品的开发上线过程中 程序的资源占用率(主要是cpu和内存)是必须考虑的重要因素之一下面收录一下有用的工具和方法内存/CPU压爆工具: stress-ng以下指令可吃掉系统95%的可用内存stress-ng --vm-bytes $(awk '/MemAvailable/{printf "%d\n", $2 * 0.95;}' < /proc/meminfo)k --vm-keep -m 1其他的cpu占用可参考https://wiki.ubuntu.com/Kernel/Ref

2021-03-09 20:20:14 1341

原创 javax.websocket 使用指南

除了https://blog.csdn.net/u011556070/article/details/105844786 的建立ws server方法之外这里在收集一种JSR356的方法javax.websocket需要注意在这种方法中使用spring的bean会需要额外的工作@Configurationpublic class WebConfig { @Bean public ServerEndpointExporter serverEndpointExporter() {

2021-03-05 16:42:37 2363 2

原创 Spring支持跨域

服务端的CORS是一个经典的需要注意的问题。具体CORS原理网上有很多资料不多重复,可参考https://en.wikipedia.org/wiki/Cross-origin_resource_sharing在spring中允许跨域可参考以下代码。下述代码允许所有方法,所有接口被所有origins访问,如果需要改方法和origins可以在参数中修改@Configurationpublic class WebConfig implements WebMvcConfigurer { @Ove

2021-03-03 14:53:54 450 2

原创 Shell脚本help_msg及入参摸版记录

记录一下 下次用的时候直接可复制黏贴#!/bin/bashhelp_msg() { echo "============== usage ===============" echo "./some_script.sh [参数1] [参数2] [参数3]" echo "./some_script.sh parm1 parm2 parm3"}if [[ $# -lt 3 ]] || [[ $# -gt 3 ]] ; then help_msg exit 1fi

2021-02-26 16:33:35 286

原创 Linux下创建超级用户

以debian系统举例搬运自https://linuxize.com/post/how-to-create-a-sudo-user-on-debian/Thesudo command(short for Super-user do) is a program designed to allow users to execute commands with the security privileges of another user, by default the root user.In ..

2021-02-05 11:38:33 1397

原创 调查java中高cpu使用率的进程

两种方法1.最简单的方式是使用图形界面java visualvm 简单快捷2. 使用jstack 配合top和htop等指令具体可参考https://backstage.forgerock.com/knowledge/kb/article/a39551500

2021-02-04 11:38:59 60

原创 ws 前端连接案例

<!DOCTYPE html><html><head> <meta charset="utf-8"> <title></title></head><body> Welcome<br/><input id="text" type="text"/> <button onclick="send()">发送消息</button>

2021-01-26 20:54:21 2332

原创 Java 多线程工作之CompletableFuture.runAsync案例

在实际的工作中,我们会需要执行一些无返回的多线程任务以改善系统的运行效率。接受kafka消息并对这些消息进行处理是一个典型案例,如果这里使用多线程的处理方式可以大大提高系统的处理性能。以下就对CompletableFuture.runAsync的使用方式做一个案例展示先定义一个处理的任务,这里可能是一个Runnable也可能是一个Callable,区别就是在于有无返回值import lombok.extern.slf4j.Slf4j;/** * @author yhgu * @date 20

2021-01-26 11:58:17 30291 3

原创 jenkins pipeline jenkinsfile 案例

#!/usr/bin/env groovypipeline { agent { node { // 机器label 在Jenkins node设置页面添加设置 label "10.10.10.10" // 自定义化的jenkins工作设置目录 customWorkspace '/home/jenkins/workspace' } } paramete

2021-01-25 20:27:02 269

原创 log输出等级小技巧

使用ch.qos.logback可调整log的输出等级可以方便线上生产环境输出debug级别的日志定位问题在线上环境稳定的时候又可以调整成info等级避免日志杂乱具体做法示例如下package log.test;import ch.qos.logback.classic.Level;import ch.qos.logback.classic.Logger;import ch.qos.logback.classic.LoggerContext;import lombok.extern.slf

2020-12-25 14:10:28 407

原创 gradle中使用protobuf方法个人总结

谷歌的protobuf作为数据序列化生成工具是当下比较流行的一种(还有的譬如thrift,区别可以自行谷歌)在多关联项目,RPC场景以及不同语言类型的交互项目下的数据结构定义提供了极大的方便(此处省略一万字proto的优势,具体可以google一大把优势)具体的语法规则和使用方法可以参考官网:https://developers.google.com/protocol-buffers这里总结一下在一个gradle项目里怎么使用总体的项目结构如下首先我们需要有一个文件夹存放所有的proto文件

2020-12-24 20:35:47 2531 1

原创 java 获取resource底下文件的字符内容

避免每次都要查 先记在这里参照https://stackoverflow.com/questions/17351043/how-to-get-absolute-path-to-file-in-resources-folder-of-your-projecthttps://stackoverflow.com/questions/326390/how-do-i-create-a-java-string-from-the-contents-of-a-file```javaURL res = ge

2020-12-17 16:20:21 547

原创 flink stateful functions 使用心得

Actor Model概念: https://www.brianstorti.com/the-actor-model/flink的概念介绍和相关tutorial: https://flink.apache.org/stateful-functions.htmlflink statefun的UT可参照 https://github.com/apache/flink-statefun/tree/release-2.0.0/statefun-testutil...

2020-12-15 15:23:07 798

原创 探究redis过期机制

redis中有关eviction的几个参数:maxmemory-policy,maxmemory,maxmemory-samples和hz上面这几个参数的具体解释可以参见官网但是redis的expiration其实是假过期, 只有在被读的时候才会去看expiration time是否满足,如满足再删除参见https://stackoverflow.com/questions/36172745/how-does-redis-expire-keysNow, the expiration ...

2020-12-08 17:52:01 229

原创 nohup不输出后台运行

nohup[命令行]>/dev/null 2>&1 &

2020-11-04 14:40:50 381

原创 ffmpeg剪辑视频

ffmpeg -i movie.mp4 -ss 00:00:03 -t 00:00:08 -async 1 cut.mp4从视频的第三秒起剪辑8秒(到视频的11秒)

2020-11-04 14:40:17 93

原创 查linux端口被哪个进程占用

sudo netstat -tulpn | grep LISTEN | grep xxxxsudo lsof -i -P -n | grep LISTEN | grep xxxx

2020-11-04 14:39:36 64

原创 k8s cheat sheet

https://kubernetes.io/docs/reference/kubectl/cheatsheet/k8s端口转发examplekubectl port-forward --address 0.0.0.0 service/xx-storage-service-xxxe 9743:9743 >/dev/null &kubectl port-forward --address 0.0.0.0 service/tomcat 8079:8079 >/dev/null .

2020-10-21 15:00:51 220

原创 Spring Mongo分页获取方式(附基础MongoTemplate使用案例)

在向应用获取数据的接口通常会面临的一个问题是,获取的数据量级过大。前端无法全部展示。譬如一个日志系统中,前端需要查询一些日志信息就会遇到这样的问题。这个时候可以使用分页的方式,既方便前端页面展示,又避免回复数据的大小过大。下面贴一个简单的使用案例。首先在我们的service层根据controller层传进来pageSize及currentPage做一个PageRequest PageRequest pageRequest = PageRequest .

2020-09-23 14:52:00 696

原创 Java gradle项目中日常使用swagger总结

总结一下日常使用的swagger这个东西可是java开发接口的利器,不仅可以根据文档生成可视化网页(swagger-ui),更可以生成相应的接口代码(swagger-codegen)主要是三个文件起作用 上图xxxx.yaml: 定义接口的swagger文档当然根据需求对于swagger oneapi的定义有很多技巧,详细可以参见官网https://swagger.io/docs/specification/about/openapi: 3.0.0info: title: Sample

2020-09-12 11:56:01 1334

原创 linux获取机器配置信息方法

GPU数量:ls /proc/driver/nvidia/gpus/ | wc -l内存大小: free -gdisk space:df -hl --total显存大小:nvidia-smi -q (只对nvidia显卡有效)

2020-08-01 14:49:13 298

原创 Linux shell信息操作提取替换小技巧

对于k8s的启动yml一般来说无法在里面使用变量。这时候有两种解决方法:使用helm package做一个yaml template, 对需要使用变量的地方用特殊符号标识之后再用sed或者envsubst替换导出成kubectl apply可用的yml举例,譬如想动态分派yaml中的镜像名,可以自定义如下变量 spec: containers: - image: $IMAGE_NAME然后使用自制的install.sh脚本export $IMAGE_NA

2020-07-29 14:42:18 541

原创 gradle create jar with dependencies

转载: https://mkyong.com/gradle/gradle-create-a-jar-file-with-dependencies/apply plugin: 'java'apply plugin: 'eclipse' version = '1.0'sourceCompatibility = 1.7targetCompatibility = 1.7 //create a single Jar with all dependenciestask fatJar(type: Jar

2020-07-17 20:59:07 496

原创 Kafka概念图

盗一张图:取自:https://sookocheff.com/post/kafka/kafka-in-a-nutshell/

2020-07-07 17:19:42 169

原创 图片压缩

图片压缩主要可以使用ImageWriter这个类 byte[] input = Base64.getDecoder().decode(sceneImageBase64); InputStream myInputStream = new ByteArrayInputStream(input); BufferedImage img = ImageIO.read(myInputStream); ByteArrayOutputStream outSt

2020-06-12 19:46:30 180

原创 k8s使用configmap载入环境变量

从官网 https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/ 搬运configmap配置如下apiVersion: v1kind: ConfigMapmetadata: name: special-config namespace: defaultdata: SPECIAL_LEVEL: very SPECIAL_TYPE: charmdeployment/statef

2020-06-10 20:43:22 4194

原创 spring kafka 使用案例

/** * Represents kafka config. */@Data@Configuration@EnableKafka@ConfigurationProperties(prefix = "kafka", ignoreUnknownFields = false)@ConditionalOnProperty(name = "deploy.enabled-kafka", havingValue = "true")public class KafkaConfig { private

2020-06-02 20:49:15 280

原创 k8s yml使用案例

https://github.com/guyuanhao/counter-app

2020-05-28 14:57:46 173

原创 python之多线程(thread & process)工作方式

python的多线程工作模式有thread和process两种模式。这两种的使用方法几乎一模一样。其最大的区别在于threads之间使用的内存都是同一块而process则是不同的内存。这样的直接后果就是threads之间共享variable的值,而process不共享。贴张图:使用样例如下thread#!/usr/bin/env python3 import threading...

2020-04-29 17:39:33 841

原创 ssh without password

/etc/hosts127.0.0.1 localhost127.0.1.1 YTSHDT190401510.40.xx.xx test01d10.40.xx.xx test02dadd ssh to remote serverssh-keygenssh-copy-id user@host## or if your server uses custom port no:ssh-...

2020-04-29 17:37:06 130

原创 我爱Kafka Kafka爱我

kafka-topics.sh --list --zookeeper 10.40.55.14:2181kafka-consumer-groups.sh --bootstrap-server 10.40.55.14:9092 --group 1 --describekafka-console-consumer.sh --bootstrap-server 10.40.55.14:9092 --to...

2020-04-29 17:35:37 168

原创 多线程工作之Countdown latch样例

package com.example.demo; import lombok.extern.slf4j.Slf4j; import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import j...

2020-04-29 17:34:48 110

原创 多线程工作之Completable Future样例

Integer threadNum1 = 100;Integer threadNum2 = 100;ExecutorService taskExecutor1 = Executors.newFixedThreadPool(threadNum1);ExecutorService taskExecutor2 = Executors.newFixedThreadPool(threadNum2);...

2020-04-29 17:34:07 163

原创 Spring Websocket使用指南

Spring Websocket使用指南首先需要一个类去实现WebSocketConfigurer, 并且指定ws的地址/*** Represents the web socket configuration.*/@Configuration@EnableWebSocketpublic class WebSocketConfig implements WebSocketConfi...

2020-04-29 17:32:29 287

原创 令人欢愉的AOP

先介绍一下不用annotation的方式@Slf4j@Aspect@Componentpublic class RecorderAspect { @Before("execution(* com.a.b.controller.*.methodname*())") public void recordAdvice() { log.info("LOG FROM...

2020-04-29 16:56:29 111

大屏幕倒计时器

大屏幕倒计时器

2013-07-30

空空如也

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

TA关注的人

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