自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 资源 (18)
  • 收藏
  • 关注

原创 java -jar自动化

问题场景入职公司,基建有待提高,考虑将命令行部署服务进行脚本自动化。分析写了find.sh、findAndKill.sh、start.sh 3个脚本实现find.shjarName='business-start-1.0.0.jar'pid=$(echo `ps -ef | grep $jarName` | cut -d' ' -f2)echo "pid $pid"if [ -n "$pid" ] then echo "$jarName STA

2021-10-15 16:39:50 229

原创 storm-关于Tick的坑

问题场景优化storm下的一个bolt任务,测试时注释掉了一段关于Tick代码(为了不影响客户数据一致性),部署到测试环境报了个类型转换的错误。现象用了以下代码,是一个bolt部分代码测试环境启动后stormUI中的bolt作业报错 java.lang.RuntimeException: java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String @Override public Map&l

2021-01-07 19:52:37 329

原创 统计git工程代码行数

问题场景统计git上工程代码行数,去重不必要的文件,例如图片,idea的默认文件,日志文件等。开发环境idea+Java8+springboot2分析单个工程统计,脚本命令实现。Java代码通过JGit实现与git通讯,通过遍历主分支最新的commit实现。方案一实现切换到工程目录下后执行echo `find . "(" -name "*.java" ")" -print | xargs wc -l | tail -n -1`方案二实现引入maven依赖<dependen

2020-07-27 20:04:15 877 1

原创 慢SQL查询工具后台实现

问题场景来了个需求,给各业务线提供慢SQL查询提供一个工具,要求慢查询规则可定制,系统要实现SQL聚类及指标排序。本文着重对SQL聚类实现进行解析。开发环境idea+Java8+springboot2+perl+MySQLpercona-toolkit.ar.gz分析运维把慢SQL日志文件放在了ES集群里,需要每天定时抓取慢SQL进行聚类操作,调研发现2种方案:HanLP-面向生产...

2020-03-05 11:58:19 465

原创 纯后台生成echarts图片-phantomjs-2.1.1

问题场景后端需要定时发邮件,邮件正文带图片,图片要求每次即时生成。开发环境idea+Java8+springboot2echart-convert.jsphantomjs-2.1.1与字体分析phantomjs可以模拟浏览器执行js请求ajax等效果,俗称无头浏览器,可以用于客户端渲染。步骤下载上述资源,放入工程里,待调用。安装phantomjs-2.1.1及微软雅黑字体[图...

2019-12-27 15:18:25 1076

原创 ITEXT 把表格定位在固定位置

问题场景用itext生成pdf时,需要把某部分内容固定在一个位置,比如盖章位置被固定在每页最下方。环境IDEAjdk1.8导入的jar包:itext-pdfa-5.5.6.jar、itext-xtra-5.5.6.jar、itext-5.5.6.jar、itext-asian.jarcodeimport com.itextpdf.text.*;import com.itextpdf...

2019-05-16 17:05:58 7140 2

原创 修改第三方jar包

问题场景从别的公司交接一个项目,用到一个jar包,根据需求需要修改某个class文件。环境jd-gui.exeidea解决步骤用jd-gui.exe直接打开jar包点击File -> Save All Sources 保存成压缩包 project_name.jar.src.zip解压压缩包,重命名为project_nameidea打开project_name在idea中...

2019-04-30 18:06:58 958

原创 pdf.js正式部署的坑

问题场景公司需要把出具的报告在PC端在线预览,之前一直用embed标签解决,效果很好。产品提出在手机端(微信链接或者手机浏览器)也要在线预览,尴尬的是安卓端提示的是下载,IOS端只能看不能滑动。经一番调研采用pdf.js完美解决,参考手机端与PC端在线预览PDF。测试环境完美展示,正式部署提示pdf文件损坏或者缺失。。。正式环境nginx+tomcat8测试环境tomcat8分析测...

2019-04-22 17:25:20 2837 3

原创 Redis-AOF重写,AOF后台重写实现原理

whyAOF(append only file)对Redis进行持久化是通过保存被执行的写命令来记录数据库状态的,随着服务器运行,AOF文件内容越来越多,载入AOF文件的时间会越来越长,影响Redis服务。所以有必要对’冗余‘的AOF文件进行优化,即AOF文件重写。那为什么要进行AOF后台重写?因为Redis单线程特性,AOF重写操作会引入大量写操作,引起stop the world,所以f...

2019-03-17 20:40:07 1561 3

原创 Redis-字典

场景最近在读《redis设计与实现》,记录下第4章字典这个常用数据结构。定义字典又叫关联数组或者映射,是一种用于保存键值对的数据结构。用途Redis的数据库就是使用字典作为底层实现,例如执行set msg &amp;amp;quot;hello world&amp;amp;quot;,在数据库中会保存为一个key为’msg‘,value为’hello world‘键值对。实现Redis字典底层采用哈希表实现,一个hash表有多个has...

2019-03-17 14:09:10 238

原创 MYSQL-查看每个数据库的大小和每个表的大小

每个数据库大小select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),'MB') as data_size,concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_sizefrom information_schema.tablesgroup b...

2019-02-12 17:33:56 2965

原创 短语去重

场景负责的一个报告系统中需要对2个有’重复’词的短语去重,这2个短语必须符合第一个末尾的若干个词和第2个开头的若干个词一样,示例:ABC和BCD。去重后ABCD才有意义,最后展示在报告上,特此记录。环境idea Java8code/** * 抗疟疾能力 能力正常 =&gt; 抗疟疾能力正常 * @param name 抗疟疾能力 ...

2019-02-12 17:14:10 199

原创 脚本常用总结

问题场景常用脚本记录示例1、把文件夹下的所有符合*.txt的文件重命名为*_reupload.txt格式for var in *.txt; do mv "${var}" "${var/.txt/_reupload.txt}";done

2019-01-18 16:00:56 261

原创 java生成PDF的几种方法

问题场景总结一下用java生成PDF的方法:A、itext-PdfStamper pdfStamper(俗称抠模板)B、itext-Document document(正常代码撰写)C、wkhtmltopdf(使用工具)分析比较方法优点缺点A代码简单模板要先提供,且字段长度固定、不灵活B模板可根据代码调整、但样式不如C灵活要维护的后台代码较多C...

2018-12-28 17:24:44 143443 23

原创 手机端与PC端在线预览PDF

问题场景公司需要把出具的报告在PC端进行在线预览,之前一直用embed标签解决,效果很好。产品提出在手机端(微信链接或者手机浏览器)也要在线预览,尴尬的是安卓端提示的是下载,IOS端只能看不能滑动。经一番调研采用pdf.js完美解决。实现方式与资源链接pdf.js环境IDEAJDK1.8TOMCAT8解决步骤1、把下载的资源放到工程的webapp下2、页面代码 pdfShow...

2018-12-26 18:07:34 3022

原创 spring-ScheduledExecutorService+TimeTask-定时器实现

问题场景需求:每隔2小时抓取集群固定文件夹下的数据包进行分析产生报告。实现方式1、spring+ScheduledExecutorService+TimeTask2、https://blog.csdn.net/sand_clock/article/details/77866286解决步骤a 编写任务类b 编写监听类c 用ScheduledExecutorService调用任务a ...

2018-11-21 13:55:33 659

原创 基础排序整理

上代码(java)冒泡排序, 堆排序,插入排序,希尔排序,归并排序,快速排序,选择排序冒泡排序package sort;/** * Created on 2017/6/12 * Author: youxingyang. */public class BubbleSort { public static void main(String[] args) { ...

2018-11-01 17:07:39 137

原创 OSS分块上传实例

问题场景项目需要和OSS交互,对大文件进行上传,在此记录一下。环境jdk8, idea,pom.xml片段&lt;!-- https://mvnrepository.com/artifact/com.aliyun.oss/aliyun-sdk-oss --&gt; &lt;dependency&gt; &lt;groupId&gt;com.aliy...

2018-11-01 16:54:05 2483

原创 监控文件夹下大小是否有变化

问题场景在写定时器时遇到个问题,当定时器扫描某一固定文件夹下的内容进行处理时,可能这个文件夹还在被追加内容,这样定时器处理的内容就不准确了,为了解决它,笔者准备了一个哨兵,在每次轮到定时器处理前让哨兵进行一次检测,通过检测进行处理,否则这次任务跳过。CODE/** * 判断指定目录下文件大小是否变化 * * @param dir 监控的目录绝对路径 ...

2018-10-31 16:33:15 1821

原创 python多线程带返回值案例

问题场景业务需要对网页进行PDF转换,用到了python的pdfkit模块。因报告是成批下来,每批几百例需要转换,为了加快报告生成效率,python里采用了多线程写法。笔者语言是java,所以利用了**Runtime.getRuntime().exec(cmd)**进行调用。环境:jdk8, python 2.7, ideaCODEimport threadingimport asti...

2018-10-31 16:17:16 2035

原创 Linux命令-查看目录下文件个数

查看当前目录下文件个数ls -l | grep “^-” | wc -l查看当前目录下文件个数(包含子目录下的文件)ls -lR | grep “^-” | wc -l查看当前目录下目录个数ls -l | grep “^d” | wc -l查看当前目录下目录个数(包含子目录下的目录)ls -lR | grep “^d” | wc -l...

2018-07-04 10:37:07 7905

原创 插入大数据量方法-MySQL

背景有一个4千万行的4列字段文件data.txt要插入数据库,假设表名为table_name,字段分别为A,B,C,D,其中每行唯一标识为A+B,文件里面有重复数据(根据A+B确定),需要保留行数大的记录。解决方案方案一: 1、表结构设计:设置A,B为联合主键; 2、逐行读取文件,插入前根据A+B判断是否有重复,有则更新,没有则插入。 方案二: 1、表结构设计:先不设置A,B为...

2018-07-03 12:35:02 2924

原创 ChannelSftp下载文件含有中文名称的解决办法

问题描述项目里有一功能,要从FTP上上传或者下载文件,使用的是ChannelSftp来完成任务,jar包为com.jcraft.jsch_0.1.31.jar,一直运行稳定,直到有一天下载一个中文名称的文件却发现文件大小为0KB。问题分析尝试把文件名称各种编码再传参不好使。查看源码发现根本没有指定文件编码的方法。去官网下载一个最新的jar包jsch-0.1.54.jar,查看源码

2018-01-12 11:24:56 9534 2

原创 python requests post方式抓取公开数据-示例

问题场景最近的项目需要抓取一些公开的网站数据,本文利用Python3下的requests方法举一个简单例子。环境介绍Windows Python3.6 IDEA15 Chrome目标本文试图抓取一个公开网站下搜索到的数据:http://dbsearch.clinicalgenome.org/search/思路打开Chrome浏览器,输入网址输入查询条件,并点击按钮右键->检查->Elem

2017-12-26 19:37:36 6821

原创 web: _show -> _info 造轮子编程

问题场景用Java进行web开发过程当中,当遇到很多很多个字段的实体时,最苦恼的莫过于编辑字段的查看和修改界面,发现2个页面存在很多重复信息,能不能写一遍?有没有轮子用都不如自己造。解决方式笔者根据自己页面的长期特点编写了自己的转换规则,其中采用模板模式实现,个性化转换直接继承抽象类即可。效果before: after: CODEpackage regular;/** * Created on

2017-11-13 17:21:45 320

原创 Java统计脚本代码行数

问题场景项目完结后写软件操作手册时,需要统计一下整个项目有多少有效的代码行数,项目使用Java语言,涉及到前后台的脚本格式有.java、.xml、.jsp三种。问题分析一个脚本文件无非由注释语句,空行,和正常代码组成。发现注释语句由特定标签识别,例如Java里用’//’表示单行注释,‘/**/’表示多行注释,xml与jsp文件里用‘’表示注释,可以逐行读取脚本判断是否有这些特定标志与空行,剩下的就是

2017-11-02 13:16:04 523

原创 文件工具类的实用方法记录

文件工具类的实用方如题不定期更新。package file;import java.io.*;import java.math.BigDecimal;import java.math.BigInteger;import java.security.MessageDigest;/** * Created on 2017/10/19 * Author: youxingyang. */public final

2017-10-19 10:31:31 244

原创 Javaweb多次调用Rengine re=new Rengine(args, false, new TextConsole()); 报错

问题场景按照前文rJava的安装与测试-不用每次设置VM参数‘-Djava.library.path’所述弄好了JRI,但是在项目里重复调用Rengine re = new Rengine(args, false, new TextConsole());这段代码时,项目会停止响应或者报错。解决方式既然重复调用不行那就让项目初始化时只调取一次Rengine实例就好了,采用单例模式即可。另外将你对应的j

2017-09-29 17:36:42 844

原创 python爬虫爬取糗事百科的段子

问题场景之后的项目需要爬虫抓取一些信息,找个例子练练手,特此记录。环境介绍Windows Python2.7 IDEA15通用抓取流程本文思路1、给爬虫一个目标即网页地址及参数 2、设置一些必要的参数 3、抓取网页源代码 4、提取数据 5、保存数据(本文是保存在文件里,多数是存在数据库里)目标CODE#!/usr/bin/env python# -*- coding: UTF-8 -*

2017-09-25 18:16:26 434

原创 正则匹配 ‘任意字符’,‘邮箱’,‘手机号码’

/** * Created on 2017/9/22 * Author: youxingyang. */public class Regular { public static void main(String[] args) { //匹配任意字符 String a = "ee878**62_-+=fasdf@汉字"; String ev

2017-09-22 14:42:07 673

原创 rJava的安装与测试-不用每次设置VM参数‘-Djava.library.path’

问题场景项目一直在用Java开发,但接下来要在Java中调用R的脚本执行某一制图任务,笔者采用JRI方式,先记录一下。笔者环境OS:win-10-64位 JDK:1.8.0_31(32位)如果不知道怎么看32位还是64位,打开cmd窗口输入java -version 命令, 如果有64字眼说明是64位,如果没有则是32位。R:R-3.4.1 官网:https://www.r-project.o

2017-09-19 15:55:10 2146

原创 js-某个字段有值即把该行用颜色标记

问题场景需求:classfication字段98%为空,其余的为adsss,当值为adsss时把该行用红色标记下并排在前面。解决方法后台SQL查询的时候语句末尾加上order by classfication desc 实现排在前面; 前台用一个if标签设置tr的style。效果CODE<c:choose> <c:when test="${not empty re

2017-09-13 09:46:35 1514

原创 MYSQL-利用if函数把NULL或者空串儿排在后面

问题场景表名:tb_a 表字段:id,gene_id,chr [都是varchar] 值: 要求按照chr数值大小升序并且没有值(NULL或者空串)的放在后面。前言在MySQL里按照chr字段升序排列的话(默认升序),NULL或者空串儿会被放在前面 降序则相反 但是降序满足不了chr按照数值大小升序排序(因为是chr被定义为varchar类型)解决方式a 用if函数判断NULL或者空

2017-09-08 13:28:26 1579

原创 发送邮件

问题场景利用Java发送邮件作为审核流程的通知方式。CODEmail-1.4.jarpackage itext;import java.io.FileInputStream;import java.io.InputStream;import java.util.Properties;/** * Created on 2017/8/21 * Author: youxingyang. */p

2017-09-08 12:55:19 490

原创 spring-quartz-定时器实现

问题场景需求:每隔30分钟抓取集群固定文件夹下的数据包进行分析产生报告。实现方式使用quartz-1.8.5.jar解决步骤a 导入上述的jar包 b 编写作业类import com.jcraft.jsch.ChannelSftp;import itext.CommonUtil;import java.io.IOException;import java.io.InputStream;imp

2017-09-06 16:48:53 331

原创 回收站功能实现

问题场景有这样一个类似回收站的需求,要求记录删除只是暂时的,可以还原回去。这很像我们删除文件到回收站的流程。解决方式a 增加一个字段标记删除的状态 b 当点击删除时只是把标记标为‘DELETED’ c 在回收站界面只展示这些状态为‘DELETED’的记录,在回收站界面点击删除就是真正删除记录了,同时在该界面增加还原按钮。效果a 点击展示回收站模块按钮显示带有回收站功能的界面(iframe展示)b

2017-09-05 13:22:36 5769 3

原创 MYSQL-实现split函数

问题场景表名:tb_a 表字段:id,gene_id,chr [都是varchar] 值: 要求按照以’_’分割后的第三位大小倒序排序记录。解决思路a 取出目标数字字符串(首先实现split函数),起一个别名为num b 按照MYSQL-对varchar类型字段(都是数字)按照整数大小倒序排列 文章思路排序SQLselect *, SUBSTRING(SUBSTRING_INDEX(gene

2017-09-04 16:03:08 1504

原创 iframe-页面展示PDF

问题场景手头的项目有这样一个需求,审核报告开发,左侧是PDF,右侧是审核的辅助信息。解决方案a 写一个总的iframe,分为两个小iframe; b 利用itext生成所需要的报告并把绝对路径赋值到pdfTumor.jsp; c 调用controller里的pdf方法把数据传输到页面展示。效果code点击下载

2017-08-31 17:31:28 8039 1

原创 MYSQL-对varchar类型字段(都是数字)按照整数大小倒序排列

问题场景表名:tn_name 表字段:id,name,chr [都是varchar] 值: name chr zhangsan 10 lisi 1233 wangwu 45要求:见标题。SQLselect * from tb_name order by -chr asc;效果

2017-08-30 18:07:45 1208

原创 springmvc实现多字段查询

问题场景在进行web开发时,需求方提出多字段查询的要求。解决方式一般的页面查询只给了一个输入框接收查找值,在后端通过like方式实现,多字段查询即是对SQL语句的扩展而已(多几个if判断)。具体解决思路: a 在要添加的父页面增加一个高级查询按钮; b 通过这个按钮触发多字段子页面(表单接收多字段的值); c 在子页面提交父页面的表单。code子页面的取到多字段的值<script type="

2017-08-28 17:36:28 2065

percona-toolkit.tar.gz

percona是一个主要做MySQL的二次开发的公司,提供了该工具,特别好用。

2020-03-05

phantomjs-2.1.1.zip

phantomjs2.1.1安装包以及生成图片中遇到中文需要安装的字体包 运行于本地或者正式环境上需要安装这些软件

2019-12-27

echarts-convert.zip

java用Runtime.getRuntime().exec&#40;cmd&#41;调用js即可,

2019-12-27

pdf.js资源

此插件可以支持PC端和手机端的在线查看PDF等格式的文件

2018-12-26

mail-1.4.jar

用Java发送邮件,支持附件传输。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2017-09-08

quartz-1.8.5.jar

每隔20分钟抓取集群固定文件夹下的数据包进行分析产生报告。spring定时器用到的jar包。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2017-09-06

pdf-iframe.zip

手头的项目有这样一个需求,审核报告开发,左侧是PDF,右侧是审核的辅助信息。 解决方案: a 写一个总的iframe,分为两个小iframe; b 利用itext生成所需要的报告并把绝对路径赋值到pdfTumor.jsp; c 调用controller里的pdf方法把数据传输到页面展示。

2017-08-31

poi读取Excel用到的jar包

利用POI取得Excel所用到的jar包

2017-08-14

jcifsjar包

利用此框架对Samba服务器上的文件进行上传与下载

2017-07-31

com.jcraft.jsch_0.1.31.jar

使用此包实现在不同平台下文件夹与文件的上传与下载

2017-06-23

ganymed-ssh2-build210.jar

使用ganymed-ssh2-build210.jar实现scp命令

2017-05-20

itext目录生成的一种方法

用itext方法生成与Word一样的目录

2017-05-08

脚本判断操作系统类型

该脚本可以判定类unix操作系统的名称

2017-05-03

Linux下的MySQL安装与导入数据示例

centos下安装MySQL与数据导入MySQL

2017-04-28

itext5.5.6

用itext写pdf用到的jar包

2017-04-27

ITEXT 目录生成的第二种方法源码

itext中PDF目录生成例子。

2016-09-08

1UML_STUDY

本资源是共大家学习UML之用,内容充实新颖。你值得拥有。

2015-05-28

centos忘记用户名和密码

在使用centos系统过程中,有时候忘记了登陆密码,怎么办?

2015-05-28

空空如也

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

TA关注的人

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