自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 Spring Boot Vue Admin 前后端完全分离的权限控制模版

Spring Boot Vue Admin简介提供一套前后端分离的后台权限管理模版,按钮级别的权限控制。前端 Vue 模板来自 vue-element-admin,其他功能可以根据该项目再进行拓展。后端 Spring Boot 模板来自种子项目。预览RESTful API主要介绍后端 API 的角色权限控制。参考博文 RBAC 新解。数据库设...

2018-03-04 21:53:49 25019 10

原创 OAuth2 初识

前记OAuth2 可以方便第三方应用获取用户在其他应用的信息。比如用 QQ 账户登录优酷,优酷就会先让用户登录 QQ,然后让用户确认授权优酷访问 QQ 上的信息,确认后优酷就获得了 QQ 的 OAuth 服务器返回的 token,之后就可以通过 token 访问到权力范围内的用户相关信息。以下是相关的文章: - RFC 6749 - OAuth2 Simplified - 阮一峰...

2018-06-25 12:47:56 2141

原创 Jetty 部署 Spring Boot

前记项目需要部署到线上,原来都是直接 java -jar 这样运行的,后来才发现服务器的 CPU 占满了,不得不说第一次部署 Java 这么困难。打算用 Tomcat ,但是一直启动不了,各种奇怪的原因,无奈换成 Jetty。下载官网下载地址,这里用的最新版9.4.10.v20180503。当然还要装 JDK 环境什么的,我这里是 Linux 环境,就不介绍了。然后把下载包解压...

2018-05-27 18:38:56 2510

原创 Redshift 色温控制

前记最近看电脑时间越来越长,电脑的光太刺眼了,眼睛很不舒服,所以搜了下 Linux 下可以使用的色温软件,找到了这两款软件: - F.lux:It makes the color of your computer’s display adapt to the time of day, warm at night and like sunlight during the day.(官网 | G...

2018-04-15 15:40:53 3438

原创 《Head First 设计模式》笔记10

代理模式(Proxy)为另一个对象提供一个替身或占位符以控制对这个对象的访问。栗子还记得上一个笔记中的糖果机吧,现在产品经理想要一份写着糖果机位置、库存和当前的状态报告。是不是挺简单的?赶紧写代码。糖果机加上位置信息:class GumballMachine { // ... private String location; public ...

2018-04-11 16:42:41 219

原创 《Head First 设计模式》笔记9

状态模式(State)允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。栗子现在有一台糖果机,它的状态(挺复杂的): - 没有 25 分钱 -> 投入 25 分钱 -> 有 25 分钱 - 有 25 分钱 -> 转动曲柄 -> 售出糖果(数量不为0) | 糖果售罄(数量为0) - 有 25 分钱 -> 退钱按钮 -> 退出 ...

2018-04-11 16:42:15 172

原创 《Head First 设计模式》笔记8

模版方法模式(Template)在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类。模版方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 好莱坞原则:别调用(打电话给)我们,我们会调用(打电话给)你。 (由高层组件决定低层组件的行为,而不是反过来)栗子现在你有两种冲泡饮料,分别是咖啡和茶。咖啡的冲泡过程: 1. 把水煮沸 2. 用沸水冲泡...

2018-04-11 16:41:47 164

原创 《Head First 设计模式》笔记7

适配器模式(Adapter)将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。栗子欧洲的插座大多是三脚的,而美国的插头大多是两脚的,那么如何让两脚插头插进三脚插座里呢?这就需要一个转换头,作为一个中介,二脚插头先插入转换头,然后转换头再插入三脚插座。还记得笔记1里的鸭子吧?interface Duck { void quack(...

2018-04-11 16:40:45 198

原创 《Head First 设计模式》笔记6

命令模式(Command)将“请求”封装成对象,以便使用不同的请求,队列或日志来参数化其他对象。命令模式也支持可撤销的操作。栗子现在有个万能遥控器,它有五个插槽和五对开关按钮。每个插槽可以插一张存储卡,存储卡里面存的是可以控制的某个电器代码,对应的开关按钮可以控制某个电器开关。(听起来这个遥控器有点奇怪是不是?你把它想像成小霸王游戏机就可以了)你的任务就是给遥控器上的这些开...

2018-04-11 16:40:18 137

原创 《Head First 设计模式》笔记5

单例模式(Singleton)确保一个类只有一个实例,并提供一个全局访问点。应用场景:线程池、注册表、任务管理器、日志对象、充当打印机、显卡等设备的驱动程序等的对象。经典的单例模式class Singleton { private static Singleton instance; // 私有的构造器,外部无法 new Singleton() p...

2018-04-11 16:39:47 154

原创 《Head First 设计模式》笔记4

工厂模式(Factory)定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。new按照之前的原则,使用接口,并 new 一个具体实现:Duck duck = new MallardDuck();但如果出现一堆相关的具体类时,可能会写出这样的代码:Duck duck;if (picnic) { // 在野外,是绿头鸭...

2018-04-11 16:39:03 143

原创 《Head First 设计模式》笔记3

装饰者模式(Decorate)动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 设计原则四:类应该对扩展开放,对修改关闭。 如果使用过 Python,应该听过装饰器,虽然概念有点不同,但都是通过动态添加的方式给对象扩展功能。栗子星巴克的订单系统系统中有个饮料抽象类 Beverage,店内的饮料都必须继承该类:abstract...

2018-04-01 17:56:23 162

原创 《Head First 设计模式》笔记2

观察者模式(Observer)定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。初识我们先来了解一下报纸和杂志的订阅是怎么回事: 1. 报社的业务就是出版报纸、杂志等各种出版物。 2. 如果我想看报社的 A 报纸和 B 杂志,那么就向报社订阅 A 报纸和 B 杂志。 3. 当他们有新的 A 报纸或 B 杂志出版时,就会向你派送,只要你是他...

2018-03-30 19:52:25 191 2

原创 《Head First 设计模式》笔记1

前言对白很有趣,而且营造地很有氛围,如果还不会设计模式的话是值得一读的。本笔记当然不会有那些有趣的图片和氛围,内容也会尽量浓缩。策略模式(Strategy)定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。栗子某公司做了一款鸭子游戏,游戏中的鸭子可以游泳,可以呱呱叫。系统设计了一个鸭子抽象类,让各种鸭子都继承它:ab...

2018-03-30 19:47:17 240

原创 单例模式的八种写法

简介原文章单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。优点系统内存中该类只...

2018-03-22 12:35:04 1319

原创 mysql-workbench导出ER图

Debian下安装sudo apt install mysql-workbench连接数据库:菜单栏 Database -> Connect to Database逆向引擎:菜单栏 Database -> Reverse Engineer选择要逆向的数据库一直 next,最后 excute,可以看到已经生成的 ER 图文件导出:菜单栏 Fil...

2018-03-22 12:28:42 3553

原创 5个基本算法

动态规划基本概念过程:每次决策依赖于当前状态,又随即引起状态的转移。 一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。基本思想与策略基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留...

2018-03-22 12:24:05 1797

原创 三个常见博弈游戏以及 SG 函数和 SG 定理

前言原文章通过数论或者自然数性质完美解决的三个常见博弈游戏: 博弈 解决方法 Bash Game 同余理论 Nim Game 异或理论 Wythoff Game 黄金分割Bash Game描述: 一堆 n 个物品,两人轮流取,每次取 1 至 m 个,最后取完者胜。以先手为例,分析: 1. 面对 [1…m] 个局...

2018-03-22 12:17:22 1017

原创 面向对象设计原则

简介原文章单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。优点系统内存中该类只...

2018-03-20 15:02:51 721

原创 JDBC/Hibernate/MyBatis

JDBC 简介JDBC:Java Data Base Connectivity(Java数据库连接)它是用于 Java 和数据库之间的数据库无关连接的标准 Java API。 即:JDBC 是用于在 Java 中与数据库连接的 API。JDBC 库包括通常与数据库使用相关,如:连接到数据库创建 SQL 语句在数据库中执行 SQL 查询查看和修改结果记录从根本上说,J...

2018-03-19 17:39:15 1322

原创 Spring事务管理

什么是事务在使用应用软件过程中,用户的一个操作实际是对数据读写的多步操作的结合。由于数据操作在顺序执行的过程中,任何一步操作都有可能发生异常,异常会导致后续操作无法完成,此时由于业务逻辑并未正确的完成,之前成功操作数据的并不可靠,需要在这种情况下进行回退。事务的作用就是为了保证用户的每一个操作都是可靠的,事务中的每一步操作都必须成功执行,只要有发生异常就回退到事务开始未进行操作的状态。...

2018-03-19 16:37:08 694

原创 《Java 8 函数式编程》笔记

前记在图书馆找有关 Java 的书时发现了这本动物出版社的书,大一时就听过 lambda,匿名函数之类的了(虽然两者不同),一直没机会接触前者,鉴于前段时间写的程序有好多匿名函数,很是冗余,本着好奇以及打算重构的心,就借来这本书打算学习一遍 lambda。本笔记按照章节顺序从第 2 章开始。纸质书读起来很有滋味,建议买来或借来品味一番。随书的资料在作者的 github 中可以下载到。...

2018-03-14 18:38:48 950 1

原创 蓝桥杯2016年第7届省赛

结果填空煤球数目有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), …. 如果一共有100层,共有多少个煤球? 171700public class Main { public static void main(String[] args) { int...

2018-03-12 20:19:42 1136

原创 蓝桥杯2017年第8届省赛

结果填空购物单小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。 小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。 现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。取款机只能提供100元面额的纸币。小...

2018-03-11 00:31:09 1779

原创 MariaDB 更改密码

MySQL 被替换成 MariaDB 了,安装过程没有输入密码的提示,能直接进,而且无法用 mysqladmin 更改密码,这就用不了 phpmyadmin 等本地 web 服务了,在 askubuntu 上找到了答案,可以给 MariaDB 改回密码。原文:https://askubuntu.com/questions/705458/ubuntu-15-10-mysql-error-1524...

2018-03-05 10:44:28 3121

原创 Linux 下刷 TWRP

安装 adb 和 fastboot:apt install android-tools-adb android-tools-fastboot下载需要的 TWRP:https://dl.twrp.me/flo开机状态下进入 bootloader 模式: fastboot reboot-bootloader刷入 TWRP:fastboot flash reco...

2017-12-26 20:36:41 2916

原创 request 和 lxml 爬取代理IP

前记:原本打算爬下拉勾网的职位,为职业技能做好准备,但是发现拉勾网的json页对ip有次数限制,无奈只好找代理IP,但是发现国内的没多少,而且大部分免费的用不了,不过也当是练习下爬虫吧,这次没有用scrapy或者beautifulsoup,只用了request和lxml来进行爬取,相比之下确实没有那么好用了,不过胜在文件少。网上也有很多,就不详细说明了,比较简单。多线程爬取和验证IP可用性

2017-07-25 16:11:07 552

原创 用 Scrapy 抓取某家的楼盘信息

在动手写之前,一定要先观察好标签位置!准备阶段:这里使用Firefox的插件firebug对进行页面标签确定:该页面有好几个楼盘信息,所以在看到上面的标签后,应该再找一下它的父节点:这些就是想要抓的新楼盘列表,id也说明了该ul列表的作用。在子节点中继续寻找到自己想要的信息,找完差不多就可以开始爬虫的编写了。编写阶段:scrapy startproject

2017-07-22 14:11:05 1290

数据结构题目整理

绪论 4个方面评价算法的质量:正确性 可读性 健壮性 高效率。 算法是指解决问题的有限运算序列,其5个特性:有穷性,确定性,可行性,有零个或多个输入以及一个或多个输出。 数据的物理结构主要包括:顺序存储结构 链式存储结构 索引存储 散列存储

2018-03-12

空空如也

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

TA关注的人

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