模板方法(TemplateMethod)模式

  模板方法模式是准备一个抽象类,将部分逻辑以具体方法以及构造子的形式出现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑部分有不同的实现。这也是模板方法模式的用意。   模板方法模式是基于继承的代码复用的基本技术。 1. 结构   模板方法模式的静态结构如下: 涉及到的角色如下: 抽象模板角色(AbstractClass):其责任主要如下 (1)定义了一个或多个抽象操作,以便让子类实现。这些操作叫做基本操作,它们是一个顶级逻辑的组成
分类: 其他 发布时间: 07-30 22:08 阅读次数: 0

Java基础“泛型”

  什么是泛型?   泛型实现了参数化类型的概念,使代码可以应用于多种类型。泛型最初的目的是希望类或方法能够具备最广泛的表达能力。它是通过解耦类或方法,与使用的类型之间的约束来实现。   一般类和方法只能使用具体类来表示成员,要么就编写可以应用与多种类型的代码,这种方式对代码的束缚会很大,使用泛型能够很好的解决这个问题。   泛型的简单使用:     使用泛型一般在类名之前或在接口名前定义“<T>”;其中“<>”是固定的语法,“<....>”里可以有多个泛化的类型,类型的定义一般用大写的字母定
分类: 其他 发布时间: 07-30 22:08 阅读次数: 0

Calico 网络通信原理揭秘

Calico 是一个纯三层的数据中心网络方案,而且无缝集成像 OpenStack 这种 Iaas 云架构,能够提供可控的 VM、容器、裸机之间的 IP 通信。为什么说它是纯三层呢?因为所有的数据包都是通过路由的形式找到对应的主机和容器的,然后通过 BGP 协议来将所有路由同步到所有的机器或数据中心,从而完成整个网络的互联。 简单来说,Calico 在主机上创建了一堆的 veth pair,其中一端在主机上,另一端在容器的网络命名空间里,然后在容器和主机中分别设置几条路由,来完成网络的互联。 1
分类: 企业开发 发布时间: 07-30 22:07 阅读次数: 0

[洛谷P3227][HNOI2013]切糕

题目大意:有一个$n\times m$的切糕,每一个位置的高度可以在$[1,k]$之间,每个高度有一个代价,要求四联通的两个格子之间高度最多相差$D$,问可行的最小代价。$n,m,k,D\leqslant 40$ 题解:网络流,不考虑相差为$D$的条件时,可以给每个位置建一个点,源点连向高度为$1$的点容量为$\infty$,高度为$i$的点连向这个位置高度为$i+1$的点,容量为代价,高度为$k$的连向汇点,容量为代价。跑最小割。 考虑相差为$D$的条件,可以对于相邻的两个点$A,B$,连接
分类: 其他 发布时间: 07-30 21:51 阅读次数: 0

基金学习201907301

资产: 股票、基金、 财务自由 1.2 百分之4法则:10万/4% =250万 1.3  《不上班也有钱》 节流,开源 1. 记账 2. 租便宜的公寓 3. 区分想要和必要 4. 拒绝信用卡消费 5. 消费的“生命标签” 6. 找价值观接近的另一半 开源 1。 比别人更加女里的工作,争取加薪 2. 寻找其他备档收入来源 3. 买基金----定期投资指数基金 1.4 什么资产长期收益率更高 股票类:年化收益率:14% 债权类:6.4% 货币类:货币基金、活期储蓄、逆回购 2.56% 房地产类:
分类: 其他 发布时间: 07-30 21:51 阅读次数: 0

yyy

def delete(ps): import os filename = ps[-1] delelemetns = ps[1] with open(filename, encoding='utf-8') as f_read,\ open('tmp.txt', 'w', encoding='utf-8') as f_write: for line in iter(f_read.readline, ''):
分类: 其他 发布时间: 07-30 21:51 阅读次数: 0

BZOJ 5129: [Lydsy1712月赛]树上传送 点分树 + Dijkstra + 思维

Code: #include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=300005; namespace IO { void setIO(string s) { string in=s+".in"; string out=s+".out"; freopen(in.c_str(),"r",
分类: 其他 发布时间: 07-30 21:51 阅读次数: 0

Stuts 文件上传

Stuts 文件上传 三种上传方案 1、上传到tomcat服务器 上传图片的存放位置与tomcat服务器的耦合度太高 2、上传到指定文件目录,添加服务器与真实目录的映射关系,从而解耦上传文件与tomcat的关系文件服务器 3、在数据库表中建立二进制字段,将图片存储到数据库 今天我们利用2、上传到指定文件目录,添加服务器与真实目录的映射关系,从而解耦上传文件与tomcat的关系文件服务器来进行文件的上传 首先新建一个图片上传的jsp界面 clzUpload.jsp 1 <%@ page lan
分类: 其他 发布时间: 07-30 21:51 阅读次数: 0

dp 杂题

T1:消失之物 题干:   $ftiasch$ 有 $N$ 个物品, 体积分别是 $W_1, W_2, ..., W_N$。 由于她的疏忽, 第 $i$ 个物品丢失了。 “要使用剩下的 $N - 1$ 物品装满容积为 $x$ 的背包,有几种方法呢?” -- 这是经典的问题了。   她把答案记为 $Count(i, x)$ ,想要得到所有 $1 <= i <= N$, $1 <= x <= M$ 的 $Count(i, x)$ 表格。    输入格式:   第 $1$ 行:两个整数 $N$ $(
分类: 其他 发布时间: 07-30 21:51 阅读次数: 0

Solution: [P5021 赛道修建](https://www.luogu.org/problem/P5021)

gugugu
分类: 其他 发布时间: 07-30 21:51 阅读次数: 0

linux下安装nginx与配置

linux系统为Centos 64位 准备目录 [root@instance-3lm099to ~]# mkdir /usr/local/nginx [root@instance-3lm099to ~]# cd /usr/local/nginx/ 下载 从http://nginx.org/download/上下载相应的版本(或者wget http://nginx.org/download/nginx-1.5.9.tar.gz直接在Linux上用命令下载) 解压 解压 tar -zxvf ngi
分类: 其他 发布时间: 07-30 21:51 阅读次数: 0

方伯伯的玉米田(树状数组优化)(三维偏序)

zzn学长留的毒瘤题...... 首先这题先明白一个性质: 当我们选择增区间的高度时,我们应该将所选的增加的左端点到n全增大,因为我们要求 最后成的单调不下降序列长度最大,所以这样增稳赚不亏。。。。 然后那么我们发现这题最后的点的最优高度是a[n]+K确定的 设数组含义f[j][k]表示当前玉米高度j,k次操作的最长序列长度 并且我们可以把此题看作三位偏序: 1. 当前玉米位置i,由1-i-1转移 2. 当前玉米高度j,由1-j转移 3.当前玉米已操作k,由1-k-1转移 用树状数组维护j,k
分类: 其他 发布时间: 07-30 21:51 阅读次数: 0

OSCP Learning Notes - Post Exploitation(2)

Windows Post Exploitation Target Server: IE8-Win 7 Vm Post Exploitation Guide: https://github.com/mubix/post-exploitation/wiki/Linux-Post-Exploitation-Command-List
分类: 其他 发布时间: 07-30 21:51 阅读次数: 0

logback配置和使用

简介 logback是由log4j创始人设计的又一个开源日志组件。当前分成三个模块: logback-core是其它两个模块的基础模块。 logback-classic是log4j的一个 改良版本。此外logback-classic完整实现SLF4J API,使你可以很方便地更换成其它日志系统,如log4j或JDK14 Logging。 logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。 配置 配置pom.xml logback需要logback-c
分类: 其他 发布时间: 07-30 21:51 阅读次数: 0

使用Costura.Fody插件将自己写的程序打包成一个可以独立运行的EXE文件

我们在开发程序的时候会引用很多DLL文件,在程序完成编写后,如果不把这些引用的DLL打包,不能在其他电脑运行,那么很多同学可能在想了,能不能把我们编写好的程序打包成一个EXE文件,最好双击就能运行,当然可以了,那我们进入正题吧。 我们可以使用Costura.Fody插件完成,而且一行代码都不用写,并且超简单,我们一起来通过简单几步完成打包所有依赖项。 第一步:安装Costura.Fody 首先用Visual Studio 2017打开你的解决方案,依次找到“工具”---“NuGet包管理” -
分类: 其他 发布时间: 07-30 21:51 阅读次数: 0

【0729作业】会员注册

1、注册和登录功能,使用已知的帐号和密码可以直接登录,如果没有帐号,注册后可以用刚注册的帐号登录 2、注册的时候,如果帐号已经存在,不能注册 3、注册的时候,设置两次密码,如果两次密码设置得不同,不能注册 4、登录的时候,密码输错三次,锁定帐号 5、登录的时候,如果没有这个帐号,则提醒用户注册,注册后可以登录 6、登录的时候,帐号密码都正确要输入验证码,系统给出的验证码和用户输入一致时,允许登录(忽略大小写) 7、登录之后,用户可以看到用户的预留信息 1 package com.login2
分类: 其他 发布时间: 07-30 21:51 阅读次数: 0

Lombok 使用介绍(常见注解)

目录 @Data @NonNull @Getter & @Setter @ToString @EqualsAndHashCode @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor lombok 是一个非常神奇的 java 类库,会利用注解自动生成 java Bean 中烦人的 Getter、Setter,还能自动生成 logger、ToString、HashCode、Builder 等 java 特色的函数或是符
分类: 其他 发布时间: 07-30 21:51 阅读次数: 0

Ubuntu 18.04 卸载 VMware workstation

$ sudo vmware-installer -u vmware-workstation 完。
分类: 其他 发布时间: 07-30 21:51 阅读次数: 0

struts--CRUD优化(图片上传)

1.上传方式 上传到指定文件目录,添加服务器与真实目录的映射关系,从而解耦上传文件与tomcat的关系 文件服务器 2.web代码优化 1 package com.yuan.crud.web; 2 3 import java.io.BufferedInputStream; 4 import java.io.BufferedOutputStream; 5 import java.io.File; 6 import java.io.FileInputStream
分类: 其他 发布时间: 07-30 21:51 阅读次数: 0

常用对象需要注意的地方

1、常用的语句: (1)cells.ClearContents #清除表中所有数据 (2)Aplication.SCreenUpdating = False #EXCEL不会将计算结果显示在屏幕上,提高计算机执行速度 (3)Aplication.DisplayAlerts = False #不显示警告信息 (4)Application.worksheetFunction.工作表函数() #调用工作表函数,但注意的是VBA里有相同的函数,则不能引用工作表函数,否则会报错 2、工作薄 (1)Wor
分类: 其他 发布时间: 07-30 21:51 阅读次数: 0