Java进阶篇设计模式之五-----外观模式和装饰器模式

前言 在上一篇中我们学习了结构型模式的适配器模式和桥接模式。本篇则来学习下结构型模式的外观模式和装饰器模式。 外观模式 简介 外观模式隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 简单的来说就是对外提供一个简单接口,隐藏实现的逻辑。比如常用电脑的电源键,我们只需按电源键,就可以让它启动或者关闭,无需知道它是怎么启动的(启动CPU、启动内存、启动硬盘),怎么关闭的(关闭硬盘、关闭内存、关闭CPU
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

设计师提高效率必备的10大在线工具

科学有效地提高单位时间内的工作效率,短期来看可以轻松避免不必要的加班,对于设计师个人和整个企业还有不容忽视的长期利好。 今天,就给大家推荐10款提高职场快速涨身价的神器,早点掌握这些工具,提高工作效率,get新技能,让你快速涨身价。 1.VEER Veer是一家免版税、国际化的图片提供商,内容源于微利图库鼻祖iStock,在线提供数亿张优质图片素材,包含图片、插画、矢量图等,并结合搜索人工智能,为用户带来极致的搜索体验,购图更简单! 目前拥有来自全球25万供图者,每天都有近10万张图片入库。并
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

暑假集训 || 初等数论

·中国剩余定理 ·扩展中国剩余定理 ·莫比乌斯反演 void Moblus() { memset(check,false,sizeof(check)); mu[1] = 1; int tot = 0; for(int i = 2; i <= MMX; i++) { if( !check[i] ) { prime[tot++] = i; mu[i] = -1;
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

前端表单form提交验证清除

表单提交一般有两种方式:model表单和div表单, 对于model表单提交,清除表单提交验证信息,只需要添加model隐藏事件即可 $('#myModal').on('hide.bs.modal', function () {   $('#head_fm').bootstrapValidator('resetForm', true);   $("#head_fm input").val(''); }); 对于div 表单提交清除验证信息,首先需要清除表单提价内容,然后添加 $('#edit_
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

Hibernate之一级缓存和二级缓存

1:Hibernate的一级缓存:   1.1:使用一级缓存的目的是为了减少对数据库的访问次数,从而提升hibernate的执行效率;(当执行一次查询操作的时候,执行第二次查询操作,先检查缓存中是否有数据,如果有数据就不查询数据库,直接从缓存中获取数据);    1.2:Hibernate中的一级缓存,也叫做session的缓存,它可以在session范围内减少数据库的访问次数,只在session范围内有效,session关闭,一级缓存失败;   1.3:一级缓存的特点,只在session范围
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

学会提问--笔记

不草率,不盲从,不为感性和无事实根据的传闻所左右,尽力理解那些价值观和我们背道而驰的分析推理方式,客服偏见对判断的影响,这样才有可能得出更为正确、理性额结论。
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

洛谷——P2814 家谱

P2814 家谱 题目背景 现代的人对于本家族血统越来越感兴趣。 题目描述 给出充足的父子关系,请你编写程序找到某个人的最早的祖先。 输入输出格式 输入格式: 输入由多行组成,首先是一系列有关父子关系的描述,其中每一组父子关系中父亲只有一行,儿子可能有若干行,用#name的形式描写一组父子关系中的父亲的名字,用+name的形式描写一组父子关系中的儿子的名字;接下来用?name的形式表示要求该人的最早的祖先;最后用单独的一个$表示文件结束。 输出格式: 按照输入文件的要求顺序,求出每一个要找祖先
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

c++ bitset的用法

位操作 operator [] 通过下标访问bit count 计数位值为1的位个数 size 返回位大小,即有多少位 test 测试下标指向的位置是否为1 any 判断是否有任何值为1 none 判断是否没有任何值为1 all 判断是否所有位值为1 set 设置某一位值为1 rest 重置某一位值为0 flip 翻转某一位值,即0变1,1变0 转换函数 to_string 转换成字符串 to_ulong 转换成unsigned long to_ullong 转换成unsigned long
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

洛谷 P1039侦探推理

/* 枚举罪犯和星期几,那么所有人说的话是真是假一目了然。 首先一个人不能既说真话又说假话。 即: I am guilty. I am not guilty. 因为非真即假,所以直接判断impossible. map<string,int>表示名字对应的id name[i]表示id为i的人对应的人名。 kp[i][j]表示第i个人认为第j个人是不是罪犯。0/-1/1,表示不是,没说,是 kd[i][j]表示第i个人认为今天是星期j么?0/-1/1表示 不认为、没说、认为 impossi
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

locust安装和简单脚本实现

安装参考 https://www.cnblogs.com/fnng/p/6081798.html <虫师大大的,很详细> ps:python3.7暂不支持locust;python3安装建议克隆github上的项目 可能需要下载 gevent-1.3.5-cp37-cp37m-win32.whl ,下载地址 https://www.lfd.uci.edu/~gohlke/pythonlibs/   pip install gevent-1.3.5-cp37-cp37m-win32.whl 简单
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

Codeforces Round #506 (Div. 3)

/* 第一次写codeforce的题解 之前一直拿它来练手速 前几天发现在好好施展一场就能到蓝名了 恰好碰上一场div3 灰常开心 然后只做了2题 现在改一改CE题 C - Maximal Intersection 这题一开始想麻烦了 想的是分有n和没有n讨论 比赛的时候少考虑了一种然后wa....... 其实 考虑n条线段的交 就是minr-maxl 那么我们枚举删掉那一个 然后剩下的按上面的方法求一下 借助set 因为要支持删除一个元素 并且有重复要用mult
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

数字与字母分割

public class Main{ public static void main(String args[]){ String s="ahkjdfnajk321anbkjdfbnjakfdkja4213746187"; s=s+"."; int n=s.length(); char a[]=new char[n]; a=s.toCharArray(); int start=-1; int end=-1; for(int i=1;i<n;i++){ i
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

转:requirejs打包压缩r.js使用示例

为了应对日益复杂,大规模的JavaScript开发。我们化整为零,化繁为简。将复杂的逻辑划分一个个小单元,各个击破。这时一个项目可能会有几十个甚至上百个JS文件,每个文件为一个模块单元。如果上线时都是这些小文件,那将对性能造成一定影响。 RequireJS提供了一个打包压缩工具r.js来对模块进行合并压缩。r.js非常强大,不但可以压缩js,css,甚至可以对整个项目进行打包。 r.js的压缩工具使用UglifyJS或Closure Compiler。默认使用UglifyJS(jQuery也是
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

洛谷——P1346 电车

P1346 电车 题目描述 在一个神奇的小镇上有着一个特别的电车网络,它由一些路口和轨道组成,每个路口都连接着若干个轨道,每个轨道都通向一个路口(不排除有的观光轨道转一圈后返回路口的可能)。在每个路口,都有一个开关决定着出去的轨道,每个开关都有一个默认的状态,每辆电车行驶到路口之后,只能从开关所指向的轨道出去,如果电车司机想走另一个轨道,他就必须下车切换开关的状态。 为了行驶向目标地点,电车司机不得不经常下车来切换开关,于是,他们想请你写一个程序,计算一辆从路口A到路口B最少需要下车切换几次开
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

IBM带库加磁带操作

1.查询要弹出磁带的信息 可查询media日志,冻结,可用等,详情可查 查看带库空闲槽位 vmcheckxxx -rt tld -rn 0(0为带库名) 磁带详细信息: bpmedialist -m 6666L4 vmquery -m 6666L4 2.弹磁带 #robtest Robot Selection --------------- 1) TLD 0 2) none/quit Enter choice: 1 Enter tld commands (? returns help info
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

洛谷——P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm

P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm 题意翻译 题目描述 每年,在威斯康星州,奶牛们都会穿上衣服,收集农夫约翰在N(1<=N<=100,000)个牛棚隔间中留下的糖果,以此来庆祝美国秋天的万圣节。 由于牛棚不太大,FJ通过指定奶牛必须遵循的穿越路线来确保奶牛的乐趣。为了实现这个让奶牛在牛棚里来回穿梭的方案,FJ在第i号隔间上张贴了一个“下一个隔间”Next_i(1<=Next_i<=N),告诉奶牛要去的下一个隔间;这样,为了收集它
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

elk-Kibana设置登录认证-通过nginx转发(六)

一、kibana的登录认证问题 kibana是nodejs开发的,本身并没有任何安全限制,直接浏览url就能访问,如果公网环境非常不安全,可以通过nginx请求转发增加认证,方法如下: tips:kibana没有重启命令,要重启,只能ps -ef|grep node 查找nodejs进程,干掉重来。 server { listen 80; server_name elk.yjmyzz.com; location / { auth_basic "secret";
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

带箭头和圆点的轮播

功能:图片轮播,当鼠标移入图片、圆点和方向键时,停止轮播,移除恢复。 1.首先建立div,并放入图片 css代码 #wai{ width:300px; height: 300px; border: 1px solid red; } img{ width: 100%; height: 100%; display: none; } html代码 <div id="wai" onmouseover="qing()" onmouseout="hui()"> <img src="timg
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

Flask实战第50天:cms添加轮播图的模态对话框制作

编辑cms_banners.html, 在{% block main_content%}中加上表给内容如下 {% block main_content %} <table class="table table-bordered"> <thead> <tr> <th>名称</th> <th>图片链接</th>
分类: 其他 发布时间: 08-27 22:55 阅读次数: 0

MyBatis输出日志

在MyBatis settings 中增加相应的设置: ... ... 1. 添加Log4J的jar包 用Maven的话,添加到pom文件中 如果使用引入的话,则添加到lib文件目录, 2. 配置Log4J 配置文件: # Global logging configuration log4j.rootLogger=ERROR, stdout #
分类: 其他 发布时间: 08-27 22:54 阅读次数: 0