自定义博客皮肤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)
  • 收藏
  • 关注

原创 Spring项目中策略模式实现方案

在基于 Spring 的项目中通过SpringBean很方便地实现策略模式方案的介绍说明设计模式系列中分类为行为型模式的一种,通过把不同处理逻辑封装为策略对象,然后在代码逻辑中通过context 上下文对象来选择合适的策略对象处理事物策略模式常用来替代代码中的 if-else 分支逻辑,不过并非代码中有多重 if-else 就需要用策略模式进行重构,只有当这些分支逻辑会经常需要扩展新的分支逻辑场景时才适合使用策略模式,策略模式下只需增加新的策略对象而不需要修改原来的if-else分支处理逻辑,即符合开闭原

2022-07-09 17:05:15 1952 1

原创 服务端识别上传文件 ContentType 方案笔记

0 本文主要涉及在基于 Spring 和 SpringMVC 的前后端分离的 JavaWeb 项目中一种服务端识别上传文件 ContentType 方案的介绍说明1 方案简介在文件上传接口中识别出上传文件 ContentType ,通过配置实现限制上传文件类型以及不同文件上传大小限制功能经过筛选实测最后选择的可用方案为通过 Apache Tika;其他方案出现识别错误,识别类型不全等问题。2 配置实现pom.xml 依赖配置<!-- 识别 ContentType 只需引用.

2021-05-09 15:45:21 560

原创 JSON格式字符串解析思路及基本实现

0,本文主要涉及使用Java语言将JSON格式字符串解析为Map或List等Java数据结构。1,一些说明网上有很多示例,但是有的将词法解析和语法解析同时实现,有的则关注了很多细节的部分(错误处理,转义字符校验等),真题的思路不是很明显,这里提供一版思路清晰,但是缺乏细节的实现代码及思路。2,解析思路假定JSON格式字符串格式无错误首先解析字符串获取关键字符{ } [ ] ...

2019-12-21 07:10:14 476

原创 IDEA项目模块、项目、 根目录 重命名方法

模块重命名根目录重命名项目重命名​​模块重命名:Project项目视图下使用Refactor的Rename功能即可根目录重命名:需要先调整项目视图Project为ProjectFiles,然后使用Refactor的Rename功能项目重命名:...

2019-05-17 12:56:30 6890

原创 Redis笔记总结

目录0,本文主要涉及1,Redis简介2,基础数据结构以及API1,字符串(String)2,列表(List)3,集合(Set)4,有序集合(Sorted Set)5,散列(Hash)6,位图(Bitmap )7,HyperLogLog8,地理坐标(GEO)3,扩展功能1,连接相关命令2,与 key相关基础功能3,过期机制4,排序功...

2019-04-29 03:16:16 516

翻译 Redis Manifesto 中译(Redis 宣言)

本文发表于2011年3月1日我经常不知道如何准确回应很多功能需求的添加请求,以及 Redis 中为什么要以某种特定方式来实现某种功能的疑问。大多数情况下这些疑问都很有意义,在编程领域总是有不止一种方法来完成一件事,这更多关乎于你对如何编码开发软件的品位、感觉以及想法。因此我尝试在这篇宣言中简要的说明我对于 Redis 甚至软件开发的一些想法,这个宣言以后也将会被包含在Redis 软件的分发包中...

2019-04-27 01:53:27 156

原创 基于Spring AOP实现注解功能(示例、原理及无效情况说明)

1,正确示例示例中通过注解增强被注解方法功能:数据保存到本地 db 时,同时将该数据封装成统一的消息格式发送到 kafka1.1 定义注解package com.demo;import java.lang.annotation.Retention;import java.lang.annotation.Target;@Target(ElementType.METHOD)//...

2019-04-22 00:21:00 562

原创 Windows环境下IDEA等JetBrains系列软件自动更新文件最后编辑时间(update last modify time)方案

刚实现的方案,趁热公布一下,网上找了一下官方还没有支持(https://youtrack.jetbrains.com/issue/IDEABKL-7178),也没找到这种小功能的插件。话不多说:0,安装File Watchers插件(用于监控文件更新)1,设置File Watchers配置,红框中的配置在后续中说明2,其中updateTime.exe是本人用Python实现的一个字符串替...

2019-04-17 16:08:25 3061

原创 Python2字符串编码问题总结

Python2.7中的字符串编码问题的关键是:str其实并不是字符串而是字节串(八位二进制数据串),而Unicode字符串对象才是真正的字符串。所以只要弄清楚str字节串中保存的到底是什么编码格式的二进制数据即可解决编码问题。1,源码文件(.py.pyw)编码问题。只要保证文件编码为无BOM的utf-8格式,然后在源码的第一行加上# -*- coding: utf-8 -*-就可以保证...

2019-04-08 18:53:50 843

原创 BitTorrent协议DHT网络爬虫BitTorrentNetworkSpider

代码连接:https://github.com/zhangbohun/BitTorrentNetworkSpider代码简要介绍,主要分为几个部分0 lib库,包括bencode(用于处理B编码),decodeh(用于处理可能的编码问题),pymmh3(用于实现简化版的布隆过滤器),SQLiteUtil(用于实现sqlite3单线程操作)1 sinffer用于获取网络内的Node节点信...

2019-04-05 20:35:28 523

原创 自制微博那年今日

发表于2016年 02月 15日很喜欢QQ空间的“那年今日”功能,这样就可以和不同时空的自己说话了,也可以看到一年前的今天发生了什么,自己做过什么。我想到的方案:写个脚本把微博的数据保存到本地,再写一个脚本获取日期是今天的微博内容发送到我的邮箱里,然后用本机的计划任务每天执行这个脚本。如今这个已经运行了两个月了,效果不错。首先,获取微博内容并保存直接抓取wap版本的微博...

2019-03-19 19:45:37 396

原创 Kademlia协议学习总结

0,本文主要涉及主要为Kademlia协议学习笔记,以及个人的理解总结。1,Kademlia几个关键点1 网络逻辑结构2 节点结构3 RPC协议4 节点加入移除更新算法5 节点查询算法(包括路由算法,距离算法)2,基本概念简介分布式散列表(DHT),用来将一个关键值(key)的集合分散到所有在分布式系统中的节点,并且可以有效地将消息转送到唯一一个拥有查询者提供的关键值的...

2019-03-18 16:12:47 775

原创 Kafka时间轮学习总结

0 本文主要涉及说明时间轮算法原理和优势,以及Kafka中改良版的时间轮1时间轮算法说明时间轮算法来源于 George Varghese 和 Tony Lauck 1996 年的论文 &lt;Hashed and Hierarchical Timing Wheels: data structures to efficiently implement a timer facility&g...

2019-01-26 19:31:45 1817 2

原创 Kafka学习笔记总结

目录0 本文主要涉及1研究的几个点2基本概念简介消息队列KafkaKafka相关概念TopicProducerConsumerConsumer GroupBrokerPartitionReplicaKafka数据流概览Kafka本质Kafka 使用Kafka为开发者提供了四类API:3kafka生产者客户端实现Produc...

2019-01-25 00:05:33 1730

原创 SpringMVC全局Web异常处理以及接口参数校验方案笔记

0 本文主要涉及在基于Spring和SpringMVC的前后端分离的JavaWeb项目中一种异常处理以及接口参数校验方案介绍说明1 方案简介网上介绍的全局异常处理一种是老的基于ModelAndView后端返回的是错误页面并不适合前后端分离架构的后端使用,还有一种需要在每个controler里写点代码不是全局的方案,接下来介绍的是一种全局处理的的返回JSON格式数据的后端异常处理方案,顺...

2018-12-25 18:54:38 625

原创 Mybatis源码学习总结

目录0本文主要涉及1各模块概要说明1接口层2基础支持层反射模块:类型转换模块日志模块资源加载模块解析器模块数据源模块事务管理缓存模块Binding 模块3核心处理层配置解析SQL 解析参数映射SQL执行结果集映射总体运行逻辑4插件扩展0本文主要涉及Mybatis源码学习总结1各模块概要说明接口层...

2018-12-24 15:41:25 2588

原创 JavaWeb中Mybatis使用笔记

0 本文主要涉及在基于 Spring 和 SpringMVC 的前后端分离的 JavaWeb 项目中使用 Mybatis,以及一些相关的笔记。1 Mybatis简介Mybatis官网:http://www.mybatis.org/mybatis-3/zh/index.htmlMybatis-Spring官网:http://www.mybatis.org/spring/zh/index...

2018-12-10 00:22:00 376

原创 Lucene使用笔记

0 本文主要涉及大致介绍了Lucene相关的知识点,然后记录了在基于 Spring 和 SpringMVC 的前后端分离的 JavaWeb 项目中实现了关键词反向索引搜索功能。1Lucene简介Lucene是什么?一个用Java语言实现的用于文档信息的反向索引的工具库。反向索引又称为全文索引,可以实现文档的快速搜索。与普通的根据id的数据库查找不同,反向

2017-12-09 01:07:12 956

原创 Android EditText控件使用

0 本文主要涉及Android EditText控件的一些实际使用中的需求实现。1 隐藏默认样式去除框样式 设置属性 android:background="@null"去除光标 设置属性 android:textCursorDrawable="@null"2 首次进入页面不需要弹出输入法给父view设置 android:focusableInTouchMode="true

2017-12-08 15:16:27 723

原创 Log4J使用笔记

0 本文主要涉及Log4j在基于 Spring 和 SpringMVC 的前后端分离的 JavaWeb 项目中记录日志。1 Log4j 简介 Log4j 是 Apache 提供的开源日志记录工具,使用他我们可以通过配置文件控制日志信息输送的目的(控制台,文件等),输出格式,日志信息的级别等等不同的日志记录需求。官网:http://logging.apache.org/l

2017-11-11 23:31:27 252

原创 JavaWeb项目中集成Swagger API文档

0 本文主要涉及在基于Spring和SpringMVC的前后端分离的JavaWeb项目中生成Swagger API文档(使用SpringFox来实现)。1 SpringFox和Swagger简介结合SpringFox通过注解的形式自动生成Swagger API文档(HTML页面形式),该文档还具有简单的接口调试功能。官网:http://springfox.github.io/spri...

2017-09-24 18:06:02 10278 2

原创 Shiro使用笔记

0 本文主要涉及shiro在基于Spring和SpringMVC的前后端分离的JavaWeb项目中认证和授权授权功能的使用1shiro简介shiro是Apache提供的开源的基于Java实现的安全框架官网:http://shiro.apache.org/index.html优点:配套功能完善,接口易于使用主要功能:身份验证,权限验证,会话管理、加密等等基本架构:Su...

2017-09-24 16:33:14 1944

原创 前端代码目录该怎么分类

看了很多项目的源码,产生了一个很大的疑问,前端文件夹该这么分类?一般的项目里都有分img css js html font 这些目录,然后按照不同类型的文件放入对应的目录。但是发现有个问题他们会把引入的第三方库也这么分类放到这些目录里,这不好!应该专门设置一个lib(或者别的什么)的文件夹然后按照第三方库一个文件夹把相关的js或者css图片什么的按照原始下载下来的组织方式放在这个文件夹下即可...

2017-09-23 18:40:29 3008

原创 JavaWeb项目中的URL

几种Web项目中的URL:1,以协议开头的URL,例如http://www.exampl.com:8080/project1/img/example.png ,这个很清楚写什么就是什么。2,以/开头的URL,如/project1/img/example.png,这种URL在浏览器中会被解析成域名根路径+URL为完整的URL,(http://www.exampl.com:8080/project...

2017-08-08 03:17:50 5183

原创 JetBrains系IDE Windows系统下快捷键分类整理

提示类Ctrl+P 方法参数提示Ctrl+Q 提示文档说明Ctrl+Shift+I 没注释时快速查看方法或者类的实现源码快速生成类Tab 修正并补全.后代码代码另外还有几个补全提示,没啥用因为可以设置直接弹出提示 Ctrl+Space 代码提示,不需要, Ctrl+Shift+Space 智能自动补全代码(文档提示) Ctrl+Alt+Space 类名或接口名提示(建...

2017-04-17 23:39:24 9633

原创 日期格式化参数

不同编程语言的格式化参数不一样!!!Java SimpleDateFormat格式化参数:字母日期或时间元素表示示例GEra 标志符TextADy年Year1996; 96M年中的月份MonthJuly;

2017-04-11 15:39:35 1286

原创 C#语法杂碎笔记

数组定义:数组类型[] 数组名=new 数组类型[数组长度];int[] a=new int[10];string所有的类型都能够转换成string类型,调用ToString()ToCharArray();将字符串转换为char数组new string(char[] chs):能够将char数组转换为字符串字符串提供的各种方法

2017-04-07 02:17:54 485

转载 WebForm GridView使用

VS2008中GridView小结:一:列字段类型:1 列类型:BoundField:绑定列,将数据库中的数据以字符形式绑定显示CheckBoxField:复选框列,一般用来绑定数据库中的Bit型数,以复选框的形式显示在GridView中HyperLinkField:超链接列,可以用数据源中的数据作超链接文本也可以把所有超链接文本设为统一的文本ImageField:图片列,

2017-04-07 02:03:34 3184

原创 Android开机启动

Android 手机在启动的过程中会触发一个Standard Broadcast Action,名字叫 android.intent.action.BOOT_COMPLETED(只会触发一次), 在这里我们可以通过构建一个广播接收者来接收这个这个action. 下面我就来简单写以下实现的步骤:第一步:在AndroidManifest中添加权限<uses-permission and...

2017-04-06 18:10:12 286

原创 HTTP状态码

1xx 消息这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于 HTTP/1.0 协议中没有定义任何 所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。100 Continue客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应

2017-04-04 13:56:24 470

原创 JS常用

Array 数组,残疾的抽象List列表//定义数组var list = [];//预定长度的用new Array(size);//数组长度list.length;//不支持+-,不过可以拼接合并list.concat(list)//原数组不变,返回新的总数组//截取数组,返回截取内容list.slice(0,-2);list.slice(1);//第二位不写默认取到最后l...

2017-03-15 19:47:42 442

原创 前端工具库Bootstrap,jQuery,Underscore

Bootstrap通过设置html标签的class属性设置一些比较顺眼的固定统一的CSS样式,通过复制粘贴做一个又不是不能用的网页吧!12格网格系统,页面排版辅助类,浮动,显隐,常用背景色等等字体图标,各种定制的基本表单元素,按钮,表格样式常用的页面控件,按钮组,输入框组,下拉菜单,导航栏,分页,缩略图,进度条,弹出框,模态框,轮播等等jQuery简洁优美地封装了html页面所涉及...

2017-03-13 23:05:58 668

原创 前端入坑,先入了React坑

一来就入了深坑呢,React系。。。记录两个点,开发环境配置,React本身。1,开发环境配置由于React中可以使用jsx语法,也为了方便以后开发调试,需要装好些个东西,配置环境等等。。。nodejs必须要装,基本都npm的命令要会。webpack这玩意儿要装,否则基本不能实现正常的开发。babel解析jsx需要在webpack打包的过程中实现,配合使用webpack-dev...

2016-08-17 19:59:39 5504

原创 毕设总结

毕设即将完成,一直靠搜索来学习技术点,最大的问题就是知识点零散容忘记,总结一下所使用到的技术点。ASP.NET,SQLserver,C#,压缩解压文件,NPOI读写Excel,还有一些简单的前端技术。

2016-06-15 15:50:08 2864

原创 C#使用杂碎笔记

IDE功能Ctrl+K+D:快速对齐代码Ctrl+J:快速弹出智能提示Shift+End 、Shift+HomeCtrl+K+C:注释所选代码Ctrl+K+U:取消对所选代码的注释Ctrl+R+U:生成字段对应属性F1:转到帮助文档折叠冗余代码:#Region 和#EndRegion程序调试方法:1)、F11逐语句调试(单步调试)2)、F10逐过程调试3)、断点调试...

2016-06-15 15:47:04 1989

原创 使用Ionic.Zip.dll压缩和解压文件代码笔记

下载 Ionic.Zip.dll 组件,添加引用,引用命名空间 using Ionic.Zip;[html] view plain copy#region Ionic.Zip 压缩文件       // 压缩方法一       public void ExeCompOne()       {           string File

2016-06-15 15:39:06 6428 2

原创 NPOI读取Excel笔记总结

NPOI读取Excel文件protected DataTable getExcelData(string FilePath, string sheetName)//NPOI读取Excel,不会出现日期错误 { using (Stream stream = File.OpenRead(FilePath)) { HSSFWorkbo...

2016-06-15 15:38:19 769

原创 一些前端相关的笔记

My97 日期控件http://t.cn/R5XR8Mvselect option 顺序调换需要 jquery/*** 移动选中 OPTION 的顺序向上*/function moveSelectedOptionUp(){    // 选中的索引    var option_num = $("#selecttop").

2016-06-15 15:30:23 314

原创 ASP.NET相关笔记总结

asp.net常用页面控件介绍Label控件 功能说明:用于显示文本,提示信息,如窗体标题,文本框的标题 命名前缀:Lbl ASPX代码:<asp:Label ID="LblSample" runat="server" Text="Label Sample"></asp:Label> 重要属性:Text 显...

2016-06-15 15:14:15 771 1

原创 SQLserver相关笔记总结

SQLServer服务启动bat脚本@echo offfor /f "skip=3 tokens=4" %%i in ('sc query MSSQLSERVER') do set "zt=%%i" &goto :next:nextif /i "%zt%"=="RUNNING" (echo 已经发现该服务在运行,开始停止net stop MSSQLSERVERecho s...

2016-06-15 14:48:51 611

空空如也

空空如也

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

TA关注的人

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