- 博客(244)
- 资源 (3)
- 收藏
- 关注
原创 顺时针遍历方阵
昨天去面试,考到了这个题,当时写的不是特别好,回到家重新梳理了一下思路就是采用递归遍历,先遍历最外圈,然后四角收缩,遍历内圈矩阵,递归的终止条件有两种,一种是中间剩一个元素,一种是中间剩四个元素代码如下package r.w.practice;public class MatrixTraverser { public static void main(String[] args...
2019-11-20 09:33:26
423
原创 哈尔滨编程大赛编程题目一
好久没写算法题了昨天一个远方弟弟找到我,让我帮做个题,正好练练手吧,记在这里题目任务:随机给出三个整数分别存放在变量【A】、【B】、【C】中,如果将它们连成一排,将会得到一个多位整数。请你找出各种 连接方法得到的最大的多位整数,将它存放到变量【结果】中;注意:【A】、【B】、【C】的值已经帮你存好了,你不需要再修 改它们,直接使用即可;举例:【A】为13,【B】为312,【C】为343,...
2019-10-24 16:14:33
345
原创 几本技术书籍的关系
《设计模式》《重构》《重构到模式》《敏捷开发》《敏捷软件开发:原则、模式与实践》《设计模式》展示了优秀的软件代码应该具有怎样的结构《重构》教会了我们如何改进自己的代码结构《重构到模式》连接了上面两本书,对《重构》中的具体技术进行了应用,将代码改进到了《设计模式》中描述的优秀状态,让我们体会到了《设计模式》中的概念如何在代码中进行落地环境,问题,解决方案之间的关系软件的三大目的...
2019-10-04 17:24:01
275
原创 组合模式在 Spring MVC 中的应用
HandlerMethodArgumentResolver 是一个策略接口,用来将方法的参数解析为参数的值,HandlerMethodArgumentResolver 有很多的实现类,比如RequestParamMethodArgumentResolverRequestHeaderMethodArgumentResolverPathVariableMethodArgumentResolve...
2019-07-20 23:30:45
936
原创 日进一寸 2019-W11
关于阅读阅读之后一般会掌握一些新知识,当你掌握的新知识可以提高你的工作效率,或者让你生活的更好的时候,你会忍不住的去用,因为使用这些知识对你有好处啊,当你尝到甜头之后,就会更加喜欢阅读,读的越多,学到的知识也就越多,对你生活的帮助也就越大,这样就形成了一个正反馈现在,没有什么知识是在互联网上找不到的,所以,重要的是你要有阅读这个心有些书籍是这个样子的首先,不要试图一下子就全部搞懂。这不...
2019-03-19 20:23:44
309
原创 日进一寸 2019-W10
技术知识MySQL 行宽MySQL 的行宽是有限制的,最大 65535,如果一个列为 VARCHAR(65535),其他的就没地方存了,除非定义为 TEXT 或者 BLOB 类型,他们会单独存放Java 中怎样通过 JSR303 注解校验集合类型的字段?https://stackoverflow.com/questions/4106772/jsr-303...
2019-03-10 20:25:11
309
原创 日进一寸 2019-W9
公众号欢迎关注效率提升知道了 IntelliJ IDEA 中进入方法的快捷键 Command + B我们知道,在复杂软件操作中,快捷键能大幅度提高操作效率,但是,有些操作由于习惯问题,还是下意识的去用鼠标,因为已经是无意识的操作了,所有并没有觉得有多大的问题,但其实也是无形中浪费了一些时间比如 Java 开发中,进入方法就是一个很常用的操作,但是之前在 Mac 上一直是用 Command...
2019-03-10 09:39:10
283
原创 ActiveMQ 连不上
报错信息如下 Wire format negotiation timeout: peer did not send his wire format原因是连接错了端口java tcp 是 61616 python stomp 是 61612java 连 61612 是连不上的
2018-05-24 21:21:52
3285
原创 将 base64 图片编码转换成图片文件
import sun.misc.BASE64Decoder;import javax.imageio.ImageIO;import java.awt.image.BufferedImage;import java.io.ByteArrayInputStream;import java.io.File;import java.io.IOException;import java.uti...
2018-03-09 10:14:50
933
原创 Idea 的 task server 配置为 Gitlab
Idea 的 task server 配置为 Gitlab找到配置窗口,Preferences -> Tools -> Tasks -> Servers点击加号,添加 Gitlab点击增加之后的条目,可以看到下面的配置项在 Server URL 填 Gitlab 服务器的地址,如 https://gitlab.xxx.domain然后你的 Gitlab 账户下...
2018-02-08 14:44:15
1620
原创 分割 PDF 文件
分割 PDF 文件增加依赖dependency> groupId>org.apache.pdfboxgroupId> artifactId>pdfboxartifactId> version>2.0.4version>dependency>编写代码package wang.ronnie.pdf;import org.apache.pdfbox.mu
2018-02-01 17:15:19
722
原创 修改 /usr/bin/java 的指向
修改 /usr/bin/java 的指向update-alternatives --install "/usr/bin/java" "java" "/usr/java/bin/java" 1update-alternatives --config java
2017-11-07 14:36:15
5212
原创 使用索引覆盖查询优化limit分页查询
我们有分页查询订单详细信息的需求,订单表目前有300多万的数据,而且order表在orderNo列上有索引,传统的写法可能使用limit offset, pageSize的写法来实现,但是有一个问题,在offset非常大的时候,查询会很慢,因为会使Mysql扫描大量的无用行,然后再扔掉,例如下面这样的语句select orderNo, state, payType, ctime from `ord
2017-04-03 09:22:50
2467
原创 Mysql交换两列的值
创建一个测试的表create table test_swap(x char(10), y char(10));插入几条数据insert into test_swap values('x1', 'y1'), ('x2', 'y2'), ('x3', null), (null, 'y4');看一下现在表的样子select * from test_swap;输出+------+------+| x
2017-04-03 09:00:46
2007
原创 重训你应该知道的
动作做几下才好 减重 8-15下 8-1010-1212-15每2-4周改变次数增肌 高中低不同次数2-4周改变次数,或者每次训练都改变例如,周一5次,周三15次,周五10次重量选多重才好 根据你想重复的次数决定,当你每次做到你想重复的次数时,感到力竭,也就是再做一个动作就会变形的地步,就可以了每一个动作要做几组才好 每个肌群至少累计25次以上,但不要超过50次,如果你5
2017-01-27 16:57:48
923
翻译 查询语句优化
原则避免全表扫描方法在where及order by涉及的列上建立索引避免在where子句中避免null值的判断,否则会导致进行全表扫描,例如 select id from t where num is null 可以在num上设置默认值0,确保num列没有null值,然后 select id from t where num = 0尽量避免在where子句中使用!=或<>操作符,否则
2017-01-23 15:41:28
774
原创 我读之《拉伸——最好的运动》
概述长久缺乏运动会导致肌肉紧绷缩短,失去弹性,拉伸可以使肌肉保持弹性,为运动做好准备,运动前后的拉伸回降低运动损伤的可能性根据自己的肌肉灵活度,紧张度柔韧度做个性化的练习拉伸的目的是降低肌肉的紧张度,保持灵活性运动要循序渐进,从易到难,不要为难自己,要逐渐增大强度谁应当拉伸只要身体健康,没有特殊疾病,就可以拉伸,如果近期生过病或者做过手术,需要咨询专业人士之后再进行拉伸何时拉伸随时随地有何益处缓解
2017-01-07 09:33:04
1978
原创 在名词前和在名词后意义有所不同的形容词
有一些形容词既可以在名词前也可以在名词后但是意义有所不同, 例如: concerned, elect, involved, present, proper, responsible:可以从下面几个例句中看出其中的不同The concerned( = worried) doctor rang for an ambulance.The doctor concerned( = responsible)
2016-12-20 08:13:22
2591
原创 在python中使用xlwt操作excel
python操作excel还是挺简单的主要有两个库,openpyxl和xlwt,但是由于openpyxl只能支持2010以上的版本,mac上的numbers无法打开,所以就改用了xlwt# -*-coding:utf-8-*-from __future__ import divisionimport MySQLdbimport sysimport datetimeimport timef
2016-12-10 10:46:18
2348
原创 mac修改eclipse的内存配置
mac修改eclipse的内存配置找到eclipse的安装路径我的在~/eclipse/jee-neon3/Eclipse.app进入Contents/Eclipse目录打开eclipse.ini修改Xmx配置为-Xmx4096m
2016-09-19 14:19:04
2619
原创 idea中更改svn的commit message
在某些提交代码的时候,我们写的提交信息或者不完整,或者不准确,还有时候是因为懒,随便写了点乱七八糟的这种情况对项目的管理和以后问题的复查都是很大的阻碍所以,就需要可以更改svn的commit message,将已提交的信息改为合适的准确的信息在idea中可以这样干右键->Subversion->Show History在打开的history的tab中,右键你要修改的一条logEdit Revi
2016-08-27 09:58:10
8382
4
原创 split-huge-file
有时候日志文件太大了,vim根本打不开,想找点东西更是不可能了这时候可以用split命令将文件分割成小部分,处理小文见就ok了split --bytes 500M --numeric-suffixes --suffix-length=2 passport.log passport.--bytes选项表示一个文件的大小--numeric-suffixes表示以数字作为拆分文件的后缀--suffix-l
2016-08-25 10:24:19
869
原创 epoll为什么快
epollepoll是linux下的一种I/O多路复用的操作方式,是event poll的意思I/O多路复用,举个栗子,在酒吧,一个服务员,10个顾客在喝酒,服务员有这么几种服务方式服务员从第一个顾客开始问,你要酒吗,再问第二个,你要酒吗,依次问下去,问完一圈,再从头开始,服务员就是不停的在BBB,要酒吗,要酒吗,这种服务方式就叫做轮询(poll)后来,服务员生气了,累了,就告诉顾客,你们谁要酒就喊
2016-08-17 07:45:27
1050
原创 《程序员必读软件架构 Part5 为软件生成文档》
概述代码能说明一些问题,但不会讲述所有的故事,很多事情通过代码无法说清楚,或者从代码了解会比较费功夫,例如软件系统如何融入已有的系统形态为什么会选择正在使用的技术软件系统的整体结构各个组件在运行时部署在哪里,如何相互沟通Web层如何知道在哪里找到中间层日志/配置/错误的处理/其他采用了什么方法,在代码库中是否一致代码库中是否使用了通用的模式和原则栈的安全性是如何实现的如何实现可伸缩
2016-08-17 07:44:20
852
原创 微信支付的坑
server端签名的顺序参与签名的key,不是app secret,而是商户中心设置的keytimestamp参数是秒数,不是毫秒数
2016-08-11 10:02:05
860
原创 《程序员必读软件架构 Part4 可视化软件》(二)软件架构中用到的图
概述从静态结构的角度来看,按理解层次从高到低,可分为三种图,分别为语境图,容器图,组件图语境图表达的内容我们构建的软件系统是什么谁会用它如何融入已有的IT环境要素用户系统交互关系实例容器图表达的内容软件的整体形态高层次的技术决策职责的分布容器之间的交流要素容器:名称,职责,技术交互系统边界组件图表达的内容系统有哪些组件组成高层次上,系统如何工作是否清晰所有的组
2016-07-10 16:52:48
1340
原创 牛顿法求平方根
牛顿法求平方根common lisp实现(defun square (x) (* x x))(defun abs (x) (if (< x 0) (- x) x ))(defun good-enough? (guess x) (< (abs (- (square guess) x)) 0.001))(defun average (
2016-07-07 07:42:56
1042
原创 Idea关于Module is not backed by gradle的问题
背景:有一个Maven项目,想引入Gradle作为构建工具,添加builde.gradle文件现象运行时Idea报错,Module is not backed by gradle解决方案关闭项目,重新导入,Idea会提示Import Gradle,点击,设置即可
2016-05-29 09:54:25
13150
2
原创 我读《精进》——05 修炼思维
外界信息太多,杂乱无章,挤满我们的大脑,是我们无法腾出地方进行思考,如何对这些信息进行过滤呢选择可信的信息源(专注,深度,有态度,有责任,有监管)避免追逐当下的流行和热门(大多是营销手段)重事实信息,轻观点和评论定期闭关,原理纷扰培养简洁的表达能力基于足够的深入了解,进行删除基于足够的深入了解,进行浓缩基于足够的深入了解,进行模式化(英雄电影) 任何孤立的事物都毫无简洁可言,一切事
2016-05-21 11:04:45
1071
1
原创 Windows端口占用情况
Windows端口占用情况打开命令行输入netstat -ano查找对应的端口和pid去任务管理器,点到详细信息选型卡,找到pid,干掉
2016-05-16 16:02:33
911
原创 为Spring MVC开启异步任务
为Spring MVC开启异步任务配置自定义AsyncTaskExecutorpackage com.spider.config;import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;im
2016-05-16 15:45:27
4520
1
原创 我读《精进》——04 怎样学习
学习是一个主动构建知识的过程,吸收知识并不等于学习,看了一套教程,做一堆笔记,并不是真正的学习,学习是探索的过程,针对每一个学习材料,不妨考虑下面四我已经知道的有哪些有哪些现在知道了有哪些未知 哪些是稍加探索可以搞定的哪些是有价值可以长期探索的问题是学习的引导线,通不断提出新的问题,我们构建出连续的相关的知识体系,而没有问题引导的知识摄取得到的知识分散的,不成体系的信息对信息进行解码,深
2016-05-15 07:42:54
977
翻译 Spring Data JPA进阶——Specifications和Querydsl
Spring Data JPA进阶——Specifications和Querydsl本篇介绍一下Spring Data JPA中能为数据访问程序的开发带来更多便利的特性,我们知道,Spring Data repository的配置很简单,一个典型的repository像下面这样:public interface CustomerRepository extends JpaRepository<Cus
2016-05-08 15:30:23
21752
2
原创 持续交付之三——持续集成
其他持续交付相关文章:《持续交付》系列文章目录第三章 持续集成1. 引言持续集成的目标是让软件一直处于可工作的状态2. 实现持续集成2.1. 准备工作版本控制自动化构建团队共识2.2. 一个基本的持续集成系统开发人员使用持续集成服务的简单流程查看一下是否有构建正在运行,如果有的话,等它完事,如果它失败了,就和团队的其他人把他一起修复,然后再提交代码一旦构建完成且测试完全通过,就从版本控制
2016-05-08 08:45:34
1637
原创 我读《精进》——03 即刻行动
03 即刻行动1. 精益创业的启示种一棵树最好的时间是十年前,其次是现在,事情堆积起来之后对心理的影响是很大的,越堆积越会由于压力的增大而止步不前,最后只能无限拖延能现在做的事,就赶紧做了2. 任务的分解方法按照认知复杂度和认知类型去分解任务,而不是按机械的执行熟悉去划分例如,写文章,并不是按照第一段,第二段这样写 而是先思考结构,列出大纲,然后在填充内容的顺序人的认知类型分为哪几种?图形啊,数字
2016-05-07 11:50:40
943
原创 持续交付之二——配置管理
第二章 配置管理1. 引言 定义: 配置管理是指一个过程, 通过该过程, 所有与项目相关的产物, 以及他们之间的关系, 都被唯一的定义, 存储, 检索和修改2. 使用版本控制2.1. 对所有内容进行版本控制至少要将那些用于重新创建应用程序的安装文件和安装环境所必需的所有信息保存在版本控制库中,包括代码文档工具构建环境的信息持续集成,自动化测试,一键式部署的前提都是所有与项目相关的内容
2016-05-07 08:39:34
2435
原创 持续交付之一——软件交付的问题
第一章 软件交付的问题1. 引言本书的核心模式是部署流水线,以持续集成理论作为其理论基石部署流水线有三个目标让软件构建,部署,测试和发布过程对所有人可见,促进合作改善反馈,能在整个过程中更早的发现和解决问题(做一件事,有问题发生是一定的,重要的是快速的定位和解决问题)使在任何环境下部署和发布任意版本的应用成为自动化的过程,提高效率一个简单的简单的部署流水线提交阶段 ==> 自动化验收测试 =
2016-05-07 07:30:23
7825
原创 我读《把时间当做朋友》
近日读完了李笑来老师的《把时间当做朋友》,距离出版已近十年,到读来仍然收获颇丰,就算不是醍醐灌顶,至少也是当头棒喝了读来最大的收获有两个其一,书中观点令我印象最深刻的就是对于效率低下的论述一个人看似很忙,做很多事情,但是效率低下,因为效率的高低是以一件任务是否完成为标志的,就算你同时做很多事情,但是每件事情都没有结果,对于没有完成的事情,效率从何谈起呢为何会有如此情况,因为人都是有逃避困难的倾向,而
2016-05-06 20:53:23
971
1
原创 为Spring MVC开启异步任务
为Spring MVC开启异步任务配置自定义AsyncTaskExecutorpackage com.spider.config;import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;im
2016-05-06 20:49:43
2427
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人