水滴石穿
文章平均质量分 50
不务正业的野猴子
这个作者很懒,什么都没留下…
展开
-
jackson
@JsonUnwrapped使用了该注解的嵌套对象在转换为json时该对象中的属性将被提到与该对象同级处原创 2021-10-11 22:36:11 · 99 阅读 · 0 评论 -
【kafka】quickstart
版本信息:组件版本kafkakafka_2.12-2.8.0zookeeperzookeeper-3.4.12quickstart参考:apache kafka quickstart启动zookeeper[root@localhost zookeeper]# bin/zkServer.sh start conf/zoo.cfg启动kafka[root@localhost kafka]# bin/kafka-server-start.sh config/s原创 2021-06-24 00:27:53 · 179 阅读 · 0 评论 -
MongoDB 入门
docker 中创建MongoDB容器并运行## 查询mongodb镜像docker search mongodb## 拉取mongodb镜像docker pull mongo## 运行mongo容器docker container run -d -p 27017:27017 --name mongodb --auth mongo ## 进入mongodb容器内部docker container exec -it mongodb bash## 启动mongodbmongodb.原创 2021-06-07 00:19:27 · 100 阅读 · 0 评论 -
【工具】idea使用git 问题整理
idea 本地修改代码后还未提交就切换分支时,会弹出确认框询问如何处理变更的代码。可以使用 stash change 将修改的内容临时保存,待需要时再执行 unstash change还原代码原创 2021-05-25 21:57:44 · 156 阅读 · 0 评论 -
【Python】Ftp上传下载
上传#!/usr/bin/python# -*- coding:utf-8 -*-from ftplib import FTPftp = FTP()# 打开调试级别2, 显示详细信息ftp.set_debuglevel(2)# 服务器IP和端口ftp.connect("127.0.0.1", 21)# 匿名登陆, 如果需要登陆, 就把两个空字符串写上用户名和密码就行了("username", "password")ftp.login("liuquan", "123456")# 使用二原创 2021-05-24 00:51:41 · 108 阅读 · 0 评论 -
Spring Cloud OpenFeign 入参对象、返回值对象 无需和提供者一致
在使用Feign时,我们通常会将provider中的Controller方法拷贝到consumer的Interface中。也就没过多关注方法名、参数名的一致性。某天有个需求需要我们使用feign调用某个接口,只提供了一个实际URL,于是乎开始纠结服务提供端的方式名(实际上不需要纠结)。...原创 2021-05-23 16:05:22 · 3211 阅读 · 0 评论 -
【Linux】下载
普通下载,当下载中断后,再次下载只能从头开始,无法从中断处继续下载wget https://downloads.apache.org/kafka/2.8.0/kafka_2.12-2.8.0.tgz断点续传,接着上次继续下载剩余部分wget -c https://downloads.apache.org/kafka/2.8.0/kafka_2.12-2.8.0.tgz后台下载wget - b https://downloads.apache.org/kafka/2.8.0/kafka_2.12原创 2021-05-22 13:13:42 · 392 阅读 · 0 评论 -
【Linux】文件解压
解压文件## 解压到当前目录下tar -zxvf zookeeper-3.4.12.tar.gz解压文件到指定目录## -C 指定文件解压路径tar -zxvf zookeeper-3.4.12.tar.gz -C ./zookeeper/解压.tgz文件tar -zxvf kafka_2.12-2.8.0.tgz原创 2021-05-22 12:09:56 · 83 阅读 · 0 评论 -
【Java面试题】利用5升和6升两个水桶得到3升水
题:有一个水池,里面装着无尽的水,现有两个空容器,容积分别为5L、6L,如何取到3L水?解题思路:尽可能获取到新的数字将5L水倒入到6L容器中,此时6L容器中还剩余1L空间将5L水倒入到6L容器中,此时6L容器装满,而5L容器中有4L水将6L容器倒空,并将5L容器中的水(此时只有4L)倒入到6L容器中,此时6L容器还剩余2L空间将5L水倒入到6L容器中,当6L容器装满时,5L容器将只有3L水...原创 2021-05-14 20:52:25 · 3237 阅读 · 0 评论 -
【MySql】索引优化~某些情况下or会导致索引失效
本机环境$ mysql --versionmysql Ver 14.14 Distrib 5.7.18, for macos10.12 (x86_64) using EditLine wrapperteacher表中有一个组合(多列)索引,在name和sex上mysql> show index from teacher;+---------+------------+--------------+--------------+-------------+-----------+----原创 2021-05-02 17:19:36 · 1160 阅读 · 0 评论 -
【Linux】参数代换
将管道流返回的结果当作命令的参数[root@localhost mydocker]# ls -l test1总用量 0drwxr-xr-x. 2 root root 6 4月 28 04:56 aadrwxr-xr-x. 2 root root 6 4月 28 04:56 bb[root@localhost mydocker]# find test1 | xargs rm -rf[root@localhost mydocker]# ls -l test1ls: 无法访问test1: 没有那原创 2021-04-28 17:14:44 · 124 阅读 · 0 评论 -
【容器】初识Docker
官网关于Docker的介绍: Docker overview资料:每天5分钟玩转容器技术尚硅谷-docker快速入门基础先看一下官网上关于Docker架构的图片图(1)Registry: 表示远程镜像仓库,如官方的镜像仓库或各个公司搭建的镜像仓库。里面存储的都是各种制作好的镜像(image)。Client: 表示执行docker命令的终端Docker_Host: 表示运行docker服务的宿主机Docker_daemon: docker的守护进行,用于接收客户端发送的命令客户端执行下载原创 2021-04-27 23:24:22 · 322 阅读 · 0 评论 -
【Linux】文件权限
权限分为 r(读)、w(写)、x(执行)文件可以属于某个人也可以属于某个群体,由此可划分出三种:文件所有者、所属用户组、其他人其他人指的是: 既不是文件所有者且也不所属用户组中的用户[liuquan@localhost ~]$ ls -l总用量 0-rwxrwxrwx 1 liuquan liuquan 4 4月 12 05:13 test.txt第一列有10个字符,第一个字符表示文件的类型,其后九个以三三分组分别表示 【文件所有者】【所属用户组】【其他人】,如下:rwxrwx原创 2021-04-19 22:29:58 · 2838 阅读 · 0 评论 -
单元测试~JUnit4
JUnit 4maven 依赖管理<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version></dependency>JUnit 依原创 2018-05-03 20:14:59 · 162 阅读 · 0 评论 -
redis 与 jedis 环境搭建
下载Redis解压进入解压后的目录 编译、安装makemake --prefix=/usr/include/redis install复制redis.conf配置文件到redis安装目录cp /root/test/redis-4.0.11/redis.conf /usr/include/redis修改配置文件#bind 127.0.0.1protected-mode no...原创 2018-10-05 13:13:40 · 178 阅读 · 0 评论 -
docker 安装 redis
查看已安装的镜像 安装redis镜像 运行容器 查看已运行的容器 进入容器内容并创建目录 从宿主机拷贝redis配置文件到redis容器中 启动redis服务端 另起一个终端启动redis客户端 docker run -i -t redis redis-cli -h ipip 为本机(宿主机)的IP地址设置并取值 ...原创 2018-09-15 15:07:25 · 236 阅读 · 0 评论 -
XXL-JOB分布式任务 初识
官网:http://www.xuxueli.com/xxl-job执行脚本 xxl-job/doc/db/tables_xxl_job.sql指定日志文件路径 xxl-job-admin/src/main/resources/xxl-job-admin.properties 启动xxl-job-admin项目 修改xxl-job-executor-sample-sprin...原创 2018-09-08 00:40:33 · 500 阅读 · 0 评论 -
java web 服务端使用数组接收参数值含有逗号的参数
之前一直以为要传数组到后台,需要在前端采用多个控件并保持名称(name)一致<input type="text" name="addr" value="中国湖北省武汉市" /><input type="text" name="addr" vlaue="中国广东省广州市" />今天发现还有另一种方式<原创 2018-08-06 20:23:42 · 1978 阅读 · 0 评论 -
Java网页解析之jsoup
官网: https://jsoup.orgjava第三方网页解析插件maven依赖&lt;dependency&gt; &lt;groupId&gt;org.jsoup&lt;/groupId&gt; &lt;artifactId&gt;jsoup&lt;/artifactId&gt; &lt;version&原创 2018-07-23 20:09:41 · 2320 阅读 · 0 评论 -
hibernate-validator
官方文档pom.xml依赖配置&amp;amp;amp;amp;amp;lt;dependency&amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;lt;groupId&amp;amp;amp;amp;amp;gt;org.hibernate&amp;amp;amp;amp;amp;lt;/groupId&amp;amp;amp;amp;amp;gt;原创 2018-07-04 00:14:52 · 3455 阅读 · 0 评论 -
FreeMarker
FreeMarker 基础语法${name}获取变量name的值并输出该值 ${&amp;amp;amp;amp;amp;amp;amp;quot;The default value for name is python&amp;amp;amp;amp;amp;amp;amp;quot;}中使用&amp;amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;amp;quot;或'原创 2018-05-13 00:30:47 · 236 阅读 · 0 评论 -
【设计模式】策略模式
《Head First 设计模式》中关于策略模式的定义定义算法蔟,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立与使用算法的客户。假设有如下一个业务流程(非真实业务流程)需要实现,后续仍有可能接入其它支付渠道(京东支付/百度支付等)就当前流程图描述的情况,简单实现的伪代码如下: if (order.getPayChannel().equals("支付宝")) { /...原创 2018-11-17 13:02:58 · 146 阅读 · 0 评论 -
【重构】坏味道~霰弹式修改
本文摘抄自《重构 改善既有代码的设计》一书Shotgun Surgery(霰弹式修改):如果遇到某种变化,你都必须在许多不同的类中做出许多小修改。如果需要修改的代码散布四处,你不但很难找到它们,也很容易忘记某个重要的修改。这种情况下你应该使用Move Method和Move Field把所需要修改的代码放进同一个类中。...翻译 2019-03-03 13:39:51 · 1026 阅读 · 0 评论 -
Sublime Text 中使用Markdown
本文是关于在Sublime Text中使用Marddown的一些记录,会持续更新….markdown是支持UML,但是在SublimeText中参考相关例子写好后查看时,发现还是代码,解决方法:点击 Preferences>Package Settings>Markdown Preview>Settings-User,在打开的文件中添加下面的代码{ "enable_uml": true原创 2016-03-27 15:42:03 · 912 阅读 · 0 评论 -
【Linux】文件拆分
在工作有时需要将较大的日志文件拆分成多个较小的文件,那么我们可以用split命令[root@localhost opt]# split --helpUsage: split [OPTION]... [INPUT [PREFIX]]Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; defaultsize is 1000...原创 2019-07-27 16:52:30 · 212 阅读 · 0 评论 -
Oracle PL/SQL 程序设计基础
最近项目在做版本升级,涉及到原有功能的表结构修改,需要将旧数据转移到新库中,项目上定的方案是在旧数据库中通过存储过程生成新数据库的INSERT语句。故对此块内容做了复习整理。通过一个简单的例子分析PL/SQL程序块结构声明部分用于声明变量、常量、游标(cursor)、记录类型(record type)执行部分用于执行各种对数据库操作的语句和对异常进行处理的逻辑声明...原创 2019-07-17 23:34:18 · 286 阅读 · 0 评论 -
Oracle 索引无效
图1图2图3表中建有两个索引,其字段分别是:system_codelogos、business_type对比图(1)和图(3)可知:字段类型为 varchar 值为数值 当条件中的值未加引号时 会导致索引无效对比图(1)和图(2)可知:or 会导致索引无效...原创 2019-07-06 14:53:19 · 314 阅读 · 0 评论 -
正则表达式
正则表达式中 ^ 在 [] 表示 排除String businessType = "";businessType = businessType.replaceAll("[^(a-zA-Z0-9)]","");eclipse 替换内容 $1 表示第一个分组 即 <f:th.* 所匹配的内容(<f:th.*)(width="[0-9]*")$1...原创 2019-06-27 11:20:55 · 105 阅读 · 0 评论 -
初识HttpClient
初识HttpClientpom依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.3</version>...原创 2019-06-25 19:59:08 · 219 阅读 · 0 评论 -
Oracle 批量新增语句
mybatisinsert into SYS_RULE( ID, BUSINESS_TYPE, CREATE_INSTRUCT, STATUS, BANK_CODE, DATA_VERSION ) <foreach collection ="list" item="rule" separator ="union all"> ( ...原创 2019-03-31 11:26:42 · 719 阅读 · 0 评论 -
fastjson 对象转换时重命名字段名
import java.io.Serializable;import java.util.List;import java.util.Map;import com.alibaba.fastjson.annotation.JSONField;public class CascadeSelectVO implements Serializable { private static f...原创 2019-03-30 20:35:41 · 11800 阅读 · 0 评论 -
Redis 基础数据结构
数据类型(5种):string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合) string 使用SET、GET命令SET name &amp;quot;roob&amp;quot; //设置name的值为roobGET name //获取name的值hash 使用HMSET、HGETALL命令HMSET user:1 roob pwd point 200 //设原创 2019-03-09 11:44:01 · 256 阅读 · 0 评论 -
单元测试~JUnit4 参数化测试
参数化测试官方demoimport static org.junit.Assert.assertEquals;import java.util.Arrays;import java.util.Collection;import org.junit.Test;import org.junit.runner.RunWith;import org.junit.runners.Par...原创 2018-05-03 12:20:24 · 860 阅读 · 0 评论 -
Java中的字符串属于引用传递?
原文:String is passed by “reference” in Java这是Java中的一个经典问题,在Stack Overflow上有许多相似的问题,有些是错误的或并不完整的回答。如果你不考虑许多情况这问题是简单的。但如果你考虑更多的情况,它可能是令人困惑的。一个令人感兴趣且令人困惑的代码片段public static void main(String[] args)...翻译 2018-04-01 18:46:39 · 4320 阅读 · 0 评论 -
通用代码 js获取URL参数
URL参数格式http://localhos:8080/demo?a=b&c=d&e=f 获取参数a对应的表达式为 ^a=([^&]*)& 获取参数b对应的表达式为&b=([^&]*)& 获取参数c对应的表达式为&c=([^&]*)$ http://localhos:8080/demo?h=i 获取参数h对应的表达式为^h=([^&]*)$请思考: 为什么[^&]*要使用()包裹?代码fu原创 2017-10-09 11:39:55 · 361 阅读 · 0 评论 -
Cordova 学习笔记二
调用相机拍照并将图片保存到相册中添加插件cordova plugin add cordova-plugin-file --文件操作插件corodva plugin add cordova-plugin-camera --拍照操作插件在.html文件中添加cordova.js的引用 图(1) 注意cordova.js文件与.html文件的相对位置添加调用方法function getPic原创 2017-09-17 18:01:44 · 725 阅读 · 0 评论 -
Cordova 学习笔记四
cordova android 版本打包背景一个Cordova android项目升级打新版本,之前开发、打包使用的是Eclipse,而我本机的Eclipse并没有安装Android开发插件,只有Android Studio。根据历史文档获得了密钥.keystore文件,storePassword、password,唯独缺少alias对应的值根据.keystore文件获取ali...原创 2017-09-20 18:56:36 · 268 阅读 · 0 评论 -
Cordova 学习笔记三
自动更新添加插件cordova plugin add cordova-plugin-app-updatecordova-plugin-app-update插件依赖于cordova-plugin-appversion插件,故会自动安装cordova-plugin-appversion插件调用脚本 app.jsvar app = { initialize: function() {原创 2017-09-18 21:43:54 · 543 阅读 · 0 评论 -
AngularJS +Ionic 移动端开发 三
使用 provider 提供服务创建 provider在终端进入项目根目录后执行如下命令ionic g provider contactList生成的文件结构如下 模拟网络请求封装数据 注册 providerprovider在使用前需要先在app.module.ts文件中注册 引用 provider在需要调用的组件中导入后使用 显示效果 通过利用provider可以达到代码重用的效果原创 2017-08-31 23:34:05 · 756 阅读 · 0 评论 -
Cordova 学习笔记一
cordova create HelloCordova com.cordova.hello cordovaTest命令完成后,可看到生成了一个HelloCordova文件夹,其内部结构如下图 图(1) 图(2) HelloCordova 为新建项目所在的文件夹 com.cordova.hello 为包路径进入HelloCordova目录执行如下命令添加平台支持cordova p原创 2017-09-16 22:02:04 · 434 阅读 · 0 评论