自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

读万卷书,行万里路

deniro's thinking

  • 博客(991)
  • 资源 (9)
  • 收藏
  • 关注

原创 说说 Spring Boot 的核心概念

1 自动配置Spring 应用程序的那些常见功能, Spring Boot 都能自动提供相关配置。比如, Spring Boot 在 Classpath 里 发现 JdbcTemplate,那么它就会为我们自动配置一个名为 JdbcTemplate 的 Bean。 这在过去,必须手工配置这个 Bean。2 基础依赖以前,基于 Spring MVC 构建一个基于 JSON 数据的 R...

2019-09-15 11:35:31 967

原创 说说如何使用 openpyxl 生成 Excel 面积图

面积图可以强调数量随着时间发生变化的程度,还可以引起人们对总值趋势的关注。例如,表示随时间而变化的销售数据就可以用面积图来表示,用来强调销售额。1 2D 面积图'''2D 面积图@author Deniro Li'''from openpyxl import Workbookfrom openpyxl.chart import AreaChart, Referencefrom r...

2019-09-15 11:11:05 473

原创 说说如何使用 openpyxl 冻结 Excel 窗格

有的 Excel 文件数据量很大,“冻结” 标题字段(一般是顶部几行或左边几列)有助于阅读与理解这些数据。Worksheet 对象拥有 freeze_panes 属性,我们可以为其设置为一个单元格的 Cell 对象或代表其坐标的字符串。注意: ,这个单元格之上的所有行和左边的所有列都会被冻结,但不会影响其单元格所在的行和列。所以将其设置为 A1,是没有效果的。wb = openpyxl.lo...

2019-09-13 17:00:43 6823 3

原创 说说如何使用 openpyxl 合并或拆分 Excel 单元格

1 合并单元格可以使用 openpyxl 的 sheet#merge_cells 方法,把一个矩形区域内的所有单元格合并为一个单元格。sheet.merge_cells('A1:D4')sheet['A1'] = '合并了 16 个单元格'sheet.merge_cells('C6:E6')sheet['C6'] = '合并了 3 个单元格'运行结果:2 拆分单元格she...

2019-09-13 16:38:27 6348 6

原创 说说如何使用 openpyxl 为 Excel 设置行高或者列宽

openpyxl 的 Worksheet 对象拥有 row_dimensions 和 column_dimensions 属性,可分别用于控制行高和列宽。import openpyxlwb=openpyxl.Workbook()sheet=wb.active# 设置行高sheet['A1']='行高被设置为 100'sheet.row_dimensions[1].height=1...

2019-09-13 16:14:11 18368 4

原创 说说如何使用 openpyxl 为 Excel 单元格设置公式

Excel 单元格公式,以一个等号开始。通过公式,我们可以获取其它单元格的数据,并得出计算结果。为单元格设置公式的方式与设置普通值是一样的。import openpyxlwb = openpyxl.Workbook()sheet = wb.activesheet['A1'] = 1sheet['A2'] = 2sheet['A3'] = '=SUM(A1:A2)'print(...

2019-09-13 15:02:41 6339

原创 说说如何使用 openpyxl 设置 Excel 单元格字体

首先从 openpyxl.styles 模块中导入 Font 类:import openpyxlfrom openpyxl.styles import Font然后建立 Font 对象,通过它来确定文本在单元格中的显示样式。Font 类支持以下属性:参数类型说明name字符串字体名称。注意: 如果是中文字体,前面必须加 u 对其进行 Unicode 编码。...

2019-09-13 14:18:02 7915 1

原创 说说如何防御点击劫持

可以使用 X-Frame-Options HTTP 响应头,来防御点击劫持。X-Frame-Options 可以有以下这些值:X-Frame-Options: denyX-Frame-Options: sameoriginX-Frame-Options: allow-from https://example.com/具体说明如下:参数说明deny禁止页面在 ...

2019-09-13 10:07:41 819

原创 说说在 Spring 中,如何基于注解来配置事务

Spring 提供了基于注解的事务配置,即对需要事务增强的 Bean 接口 、 实现类或者方法进行标注@Transactional,然后在容器中配置基于注解的事务增强驱动,即可使用基于注解的声明式事务 。1 配置事务示例我们使用 @Transactional 来为业务类配置事务:@Service@Transactionalpublic class UserService { ...

2019-09-08 16:16:04 250

原创 说说如何使用 python 的 openpyxl 写入 Excel

openpyxl 提供了写入 Excel 的方法,这样我们就可以通过 Python 程序来创建或编辑 Excel 文件啦O(∩_∩)O哈哈~1 创建与保存文件import openpyxl# 创建wb = openpyxl.Workbook()print('sheetnames = ' + str(wb.sheetnames))sheet = wb.activeprint('s...

2019-09-08 14:49:01 1932

原创 Unable to create '.git/index.lock' File exists 问题的解决方法

提交新文件到 Git 时,抛出 Unable to create ‘.git/index.lock’ File exists 问题:1 分析Git 执行操作时会自动生成 index.lock 文件,操作结束后会自动删除。这样做的目的是避免同时操作同一个文件夹。某些 Git 操作会出现异常,比如操作被强制关闭,那么这个文件就不会被删除。2 解决删除该目录下的 .git/index....

2019-09-08 14:05:57 19780 4

原创 说说如何使用 python 的 openpyxl 读取 Excel

Python 的 openpyxl 模块可以让我们能读取和修改 Excel 文件。首先让我们先理解一些 Excel 基础概念。1 Excel 基础概念Excel 文件也称做为工作簿。每个工作簿可以包含多个工作表(Sheet)。用户当前查看的表或关闭 Excel 前最后查看的表,称为活动表。每一张表都是由列和行构成的。列是以 A 开始的字母表示;而行是以 1 开始的数字表示的。由特定行和...

2019-09-08 10:19:36 863 2

原创 说说什么是点击劫持

点击劫持(ClickJacking)是一种视觉上的欺骗手段 。 攻击者使用一个透明的(即不可见的) iframe 页面,覆盖在一个正常网页上,然后诱使用户点击该网页,这时用户就会在不知情的情况下点击那个透明的 iframe 。 通过精心调整透明 iframe 的位置,就可以诱使用户恰好点击在所设计的恶意按钮上 。 请看下例:<!DOCTYPE html><html>...

2019-09-07 16:38:36 1283

原创 java.lang.NoSuchMethodError: org.apache.http.entity.ByteArrayEntity.<init>(ContentType) 问题的解决方法

1 问题生产环境,调用第三方接口,抛出 java.lang.NoSuchMethodError: org.apache.http.entity.ByteArrayEntity.([BLorg/apache/http/entity/ContentType;)V 异常。2 分析工程的 lib 文件夹下包含有两个不同版本 http-core:它们在同路径下,都含有同名的 ByteArrayE...

2019-09-07 13:33:34 4238 2

原创 说说如何在 windows 安装 Jenkins 2.x

1 下载首先,在此地址下载好安装包。2 安装在下载的 zip 包中,双击打开 jenkins.msi,启动安装程序:选择好需要安装的目录,点击 Next:然后就可以愉快地安装咯:看到这个画面,就说明安装成功咯:点击 Finish 按钮,就会进入解锁页面。3 解锁解锁页面:我们可以从 ${jenkins}\secrets\initialAdminPassword 文件...

2019-09-07 13:30:16 268

原创 说说如何让 Maven 按指定名称打包

默认 mvn package 命令,打出的包名为 ${artifactId}-${version}.${packaging}。比如 pom.xml 为以下配置:<artifactId>xxx</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packa...

2019-09-07 13:16:43 2934

原创 说说如何使用 Maven 实现远程部署(Linux)

这里会使用 wagon-maven-plugin 插件,通过 SSH 连接到 Linux 服务器。1 配置服务器首先,打开 Maven 的配置文件 settings.xml。可以在 IDEA 的 Settings → Build,Execution,Deployment → Maven → User settings file 选项,看到 settings.xml 所在的位置:在 ...

2019-09-07 13:11:02 702

原创 说说如何使用 python-docx 写入 word 文档

python-docx 除了可以读取 word 文档之外,还支持写入操作。1 基本模式import docxdoc = docx.Document()...doc.save('xxx.docx')基本模式说明如下:调用 docx.Document() 之后,就会返回一个新的、空白的 Document 对象。然后调用具体逻辑,比如设置中文字体、新增段落等等。最后,保存为具体...

2019-09-01 14:36:44 4124

原创 说说如何防御 DOM Based 类型的 XSS 攻击

普通的 XSS,是通过服务端(比如模板技术)将数据输出到 HTML 中。而 DOM Based 类型 的 XSS,是通过 JS 将数据输出到 HTML 中。1 失败防御案例一请看下例:<script type="text/javascript"> var x='<来源于 input 输入框>'; document.write("<a href=...

2019-08-31 12:05:00 2166

原创 说说如何使用 python-docx 读取 word 文档

1 基本用法import docxdoc = docx.Document('示例文档.docx')print('段落数:')print(len(doc.paragraphs))print('第一段内容文本=' + doc.paragraphs[0].text)print('第一段内容中的 Run 对象个数:')print(len(doc.paragraphs[0].runs)...

2019-08-25 11:46:27 2438

原创 说说 python-docx 解析 word 文档的原理

1 安装首先通过 pip 安装 python-docx,命令为 pip install python-docx。2 解析原理python-docx 使用 Document 对象来表示整个 docx 文档。其内部包含 一个Paragraph 对象列表。每个 Paragraph 对应 docx 文档的一个段落。word 文档中除了字符串,还包含字体、大小、颜色等样式信息。相同样式的连续字符串...

2019-08-25 11:40:24 1291

原创 说说如何防御 XSS 攻击

1 输入检测之前在 XSS 攻击中有讲过,攻击者主要是通过构造特殊字符来注入脚本,所以输入检测就很有必要。输入检测,必须在服务端实现。因为,攻击者可以绕开 JavaScript 展开攻击。业界的普遍做法是:同时在客户端与服务端进行输入检测。客户的误操作引起的问题,可以通过客户端 JavaScript 检测出来,从而节约服务器资源。而攻击者的特殊字符入参,大部分可以在服务端被拦截下来。输入检...

2019-08-24 16:06:07 1045

原创 说说内存分析工具 MAT 的基本用法

Eclipse 的 MAT(Memory Analyzer Tool) 是一个内存分析工具,它可以分析内存中的对象、以及对象在内存的占用大小等等丰富功能 。1 加载堆存储文件安装好 MAT 之后,双击打开进入主界面,接着点击 File → Open Heap Dump 打开 JVM 的堆存储文件。打开之后,就会让我们选择希望首次进入时的报告页,这里使用默认:2 概览(Over...

2019-08-18 15:33:48 595

原创 说说 JVM 的堆转储文件以及获取方式

JVM 的堆转储文件(heap dump)是某个时间点、Java 进程的内存快照。包含了当时内存中还没有被 full GC 回收的对象和类信息。1 文件内容堆转储文件包含以下内容:所有对象 - 对象所对应的类、字段、原生数据类型以及引用。所有类 - Classloader、类名、超类以及静态字段。垃圾回收器的根 - Java 垃圾回收就是使用它,进行可达性分析,从而判定一个对象是否可...

2019-08-17 16:32:54 1976

原创 说说 Python 的 global 标识对变量作用域的影响

global 标识用于在函数内部,修改全局变量的值。我们可以通过以下规则,来判定一个变量到底是在全局作用域还是局部作用域:变量定义在全局作用域,那就是全局变量。变量在函数中定义,并且加了 global 标识,就是全局变量。如果变量在函数中仅做了定义,那么就是局部变量。如果变量在函数中仅仅是使用,那么就是全局变量。下面的示例,有助于理解上述规则:def cook(): ...

2019-08-11 17:07:14 245

原创 说说 Python 的作用域

在函数内定义的变量,在函数的 “局部作用域” 中;而在函数外定义的变量,在 “全局作用域” 中。在程序启动时,会创建一个全局作用域。当程序终止时,就会销毁这个作用域,其内部保存的变量也会被一同销毁。一个函数被调用时,会创建一个局部作用域。当这个函数返回时,这个作用域就会被销毁。1 全局作用域内,不能使用局部变量全局作用域内如果使用了局部变量,就会抛错:def cook(): ...

2019-08-11 16:05:42 271

原创 说说 Python print() 函数不为人知的特性

print() 函数除了用于打印字符串之外,还有两个可选参数 end 和 sep。1 end 参数end 用于指定末尾需要打印的字符,默认为 \n。print('你')print('好')print('你',end='')print('好')运行结果:你好你好如果需要把多行字符串,打印在同一行,就可以使用 end 参数。1 sep 参数因为 print() 函数...

2019-08-11 15:14:42 272

原创 说说 Python 的 None 值

None 表示没有值,它是 NoneType 数据类型的唯一值,类似 java 中的 null。注意:必须首字母大写。一个函数,如果它的定义中,没有 return 语句,那么 Python 就会默认返回 None。print(None == print('deniro'))运行结果:deniroTrue...

2019-08-11 14:50:24 861

原创 说说 Cookie 的 HttpOnly 属性

HttpOnly 最早是由微软在 IE6 中实现的,现在已成为标准 。 浏览器会禁止页面中的 JavaScript 访问带有 HttpOnly 属性的 Cookie。 目的很明显,就是为了应对 Cookie 劫持攻击。Cookie 使用过程是这样的:浏览器首次向服务器发起请求。服务器响应时,会发送 Set-Cookie 响应头;浏览器会把这个头写入 Cookie。在 Cookie ...

2019-08-10 16:08:40 604

原创 微服务设计笔记(3)——服务建模

1 好服务的特征1.1 松耦合松耦合指的是,修改一个服务,而另一个相关的服务,不需要修改。微服务的重要特点就是:能够独立修改和部署单个服务,而不会影响、甚至修改系统中的其它服务。一个服务应该尽可能少地了解与之协作的服务信息。因为过度了解,会导致紧耦合。1.2 高内聚高内聚指的是,把相关的行为聚集在一起。这样,需要改变行为时,只需要在一处修改,然后独立发布。我们需要做的是,找出业务领域...

2019-08-04 14:44:40 458

原创 微服务设计笔记(2)——从架构师角度来看待微服务

架构师职责确保我们的团队有共同的技术愿景,并向我们的客户交付他们想要的系统。需要协调多个团队,甚至整个组织内的工作。1 城市规划师其实架构师更像是城市规划师,需要做出一个允许变化的计划。系统的使用者除了客户,还有开发人员与运维人员。所以,架构师要确保系统适合开发人员在其上进行开发工作。架构师应该专注大方向,只在有限情况下,才参与到具体的实现细节中。保证这套系统,会让开发人员和客户一样开心...

2019-08-04 10:23:46 283

原创 说说 ES6 的 const 指令

1 用法const 用于声明一个只读常量,即声明之后就不能修改其值。const MIN = 3;MIN = 1;运行结果:MIN = 1;^TypeError: Assignment to constant variable.这也就意味着,一旦使用 const 声明了常量,就必须立即赋值,否则会抛错:const MIN;运行结果:SyntaxError: Miss...

2019-08-03 16:24:48 286

原创 说说 ES6 的块级作用域

1 问题先说说没有块级作用域,可能产生的问题。1.1 内层变量覆盖外层变量var temp=1;function f(){ console.log(temp); if(false){ var temp='字符串变量'; }}f()运行结果:undefined因为变量提升,导致 if 语句体中的变量 temp 覆盖了外层变量 tem...

2019-08-03 15:46:05 309

原创 说说 Python 的 range() 函数

range() 函数用于实现各种整数序列。比如:for i in range(1, 10): print(i)运行结果:123456789range() 函数入参说明如下:入参位置是否必填说明1必填for 循环变量开始值2必填for 循环变量结束值(但不包括该值)3可选步长,每次迭代后,变量增加值,可为负数。...

2019-08-03 14:23:54 3077

原创 win7 远程桌面无法记住密码的解决方法

远程桌面,输入密码动作很麻烦,也没有必要。我们可以让 win7 记住它。1、按下 win+R 打开运行框,然后在运行框输入: gpedit.msc ,打开组策略编辑器。2、在组策略左侧依次展开:计算机配置 > 管理模板 > 系统 > 凭据分配3、在右侧双击打开 【 允许分配保存的凭据用于仅 NTLM 服务器身份验证 】 ,启用它,并在“将服务器添加到列表...

2019-08-03 11:09:36 7732

原创 微服务设计笔记(1)——概述

微服务就是一些协同工作的小而自治的服务。1 微服务1.1 很小,专注于做好一件事在一个单块系统内,通常会创建一些抽象层或者模块来保证代码的内聚性,从而避免上述问题。内聚性是指将相关代码放在一起,在考虑使用微服务的时候,内聚性这一概念很重要。单一职责原则很好地强调了内聚性这一概念,它是这样讲的:“把因相同原因而变化的东西聚合到一起,而把因不同原因而变化的东西分离开来。”服务专注于某个边界...

2019-08-03 11:02:37 408

原创 说说如何配置 PLSQL Developer 13

配置的前提条件是,本机预先安装好 Oracle 12c 或者 instantclient-basic-windows.x64-12.x。本示例基于 Oracle 12c 。1 新建 tnsnames.ora在 ${ORACLE_HOME} 的 /NETWORK/ADMIN/ 目录下(如果不存在,需手工创建),新建 tnsnames.ora 文件,并写入以下格式内容:[监听器名称] = ...

2019-08-03 10:59:24 2980

原创 说说如何安装 Oracle 12c

1 安装步骤首先以管理员身份运行 setup.exe。在安装界面中,取消勾选“我希望通过My Oracle Support接收安全更新”:然后点击下一步,提示出现尚未提供电子邮件地址,选择“是”:选择默认“创建和配置数据库”,点击下一步:选择默认“桌面类”,如果需要安装到生产服务器,这里则选择“服务器类”,点击下一步:因为是安装开发环境,所以这里选择 Windows 内置帐户...

2019-08-03 10:55:44 457

原创 说说 Python 所支持的数学操作符

Python 支持以下数学操作符:操作符说明示例示例结果**指数运算3**327%除法,求余数23%43//除法,求整数23//45/除法23/45.75*乘法4*520+加法4+59-减法4-5-1这些操作符的计算优先级与数学相似。具体优先级如下:**、*、 /、 //、%、+、-。可...

2019-08-03 10:49:17 243

原创 说说如何配置 Druid 连接池的 DataSource 参数

1 参数说明本段摘录自官网,做了格式化处理。DruidDataSource 配置兼容 DBCP ,但个别配置的语意有所区别 。配置缺省值说明name-配置这个属性的意义在于,如果存在多个数据源,监控时可以通过名字来区分开来 。 如果没有配置,将会生成一个名字,格式是: “DataSource-” + System.identityHashCode(this...

2019-07-21 18:01:16 1512

Nginx 1.18.0 以及相关依赖库

该压缩包内包含了 Nginx-1.18.0以及 Nginx所需要的依赖库。依赖库主要为: * 编译 Nginx 的GCC 编译器; * 未来使用 C++ 来编写 Nginx 的 G++ 编译器; * Perl 正则表达式(Nginx HTTP 模块依赖库); * zlib (网络数据包 gzip压缩依赖库); * openssl (提供HTTPS 支持以及 MD5、SHA1 等加密算法实现)。

2020-12-27

Vue.js 技术交流培训材料.pdf

包含数据绑定、计算属性、内置指令、组件、自定义指令、Render 函数、webpack、插件等内容。

2019-11-22

jasperreports-functions-6.3.1.jar

jasperreports 的函数依赖包,用于解决 jasperreports 抛出 Caused by: java.lang.NoClassDefFoundError: net.sf.jasperreports.functions.standard.DateTimeFunctions 的问题

2017-11-07

mysql 函数,可以将数字转换为中文大写形式

mysql 函数,可以将数字转换为中文大写形式。大写数字是中国特有的数字书写方式,利用与数字同音的汉字取代数字,以防止数目被涂改。 据考证,大写数字最早是由武则天发明,后经朱元璋改进完善。

2017-10-30

olap4j-0.9.7.309-JS-3.jar jasperreports 6.x 的依赖包

olap4j-0.9.7.309-JS-3.jar jasperreports 6.x 的依赖包哦

2017-10-20

axis1.4 包,一个SOAP引擎,提供创建服务器端、客户端和网关SOAP操作的基本框架。

axis全称Apache Extensible Interaction System 即阿帕奇可扩展交互系统。Axis本质上就是一个SOAP引擎,提供创建服务器端、客户端和网关SOAP操作的基本框架。Axis目前版本是为Java编写的,不过为C++的版本正在开发中。但Axis并不完全是一个SOAP引擎,它还是一个独立的SOAP服务器和一个嵌入Servlet引擎(例如Tomcat)的服务器

2017-09-29

Fiddler4 破解版,http协议调试代理工具

Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。

2017-09-29

mdwiki 项目模板代码

可用于搭建 mdwiki 项目架构,mdwiki 是基于 markdown 的 wiki 系统。里面有一些基础文件,可在此基础上进行扩展。

2016-12-30

空空如也

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

TA关注的人

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