Goodbye OO
一、第四单元作业架构设计 1. 第一次作业 第一次作业的需求是对类图进行分析,在类图中最顶层的模块就是类和接口,接着有下属的属性、方法,方法有下属的参数。关系是类与类之间的继承关系,类与接口之间的实现关系。 基于这种分析,我建立了对应的类,定义MyUmlClass存储其父类、属性、实现的接口、方法;定义MyUmlInterface储存其继承的接口、定义的方法;定义MyUmlAttibute表示属性,可通过其查找该属性的可见性、名字;定义MyUmlOperation表示方法,可通过该类查
AspectCore的AOP操作
AOP实现缓存的一个例子 using AspectCore.DynamicProxy;
using Microsoft.Extensions.Caching.Memory;
[AttributeUsage(AttributeTargets.Method)]
public class MemoryCacheAttribute : AbstractInterceptorAttribute
{
public int Expiration { get; set; } = 2;
pub
python-map函数
map函数特点: 1、map是循环帮你调用函数的 2、map会把函数每一次调用的返回值保存,最后返回,且返回类型是迭代器 备注:迭代器用完一个就扔掉一个,直到全部用完,且需要一个list接一下,否则返回的是对象 def choice(a):
return a+1
def choice2(a):
return a
print(list(map(choice,[1,2,3,4]))) #输出[2, 3, 4, 5]
print(tuple(map(choi
返回一个数组中最大子数组的和
public class test {
public static void main(String[] args) {
int[] a = new int[10];
int[] b=new int [10];
int j=0;
int sum=0;
a[0] = 1;
a[1] = -1;
a[2] = 2;
a[3] = 3;
Docker ubuntu apt-get更换国内源解决Dockerfile构建速度过慢
创建Dockerfile并且更新apt源 在Dockerfile中添加如下两句代码: RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
RUN apt-get clean 更新apt源的Dockerfile如下: FROM ubuntu:latest
MAINTAINER kk "[email protected]"
RUN sed -i s@/archive.ubuntu.com/@/mirro
统计txt文档中的单词个数
public class Bean {
private char name;
private double pinlv;
public Bean(char name,double pl) {
this.name=name;
this.pinlv=pl;
}
public char getName() {
return name;
}
public void setNa
Sublime 插件安装、卸载、更新
Package Control(一个管理插件的插件) Package Control插件的安装、卸载、更新 按下Ctrl+Shift+P,输入PC 选则列表中的 Install Package 选项并回车,即可安装成功 卸载插件,Ctrl+Shift+P调出命令面板,输入remove,调出Remove Package选项并回车,选择要卸载的插件即可; 更新插件,upgrade packages
7-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案微信小程序篇(微信配网_申请微信公众号)
https://www.cnblogs.com/yangfengwu/p/11042266.html 老是学习枯燥乏味的东西容易烦躁,所以呢,接着这几节咱实现下微信配网 为了让所有人都可以都可以使用,咱就用微信订阅号实现(里面提供测试版服务号),实质上只有服务号和微信企业号才具有此功能。 咱呢注册登录订阅号 https://mp.weixin.qq.com/
office2019专业版激活码 激活秘钥
office2019专业版激活码 激活秘钥 2019年5月更新 [Key]:F4QWT-NMMKH-XPTV9-W9HFB-B4JCQ [剩余次数:900000+] office2019激活 产品秘钥 二、Microsoft Office 2019 Vol版Gvlk密钥(KMS激活专用) 产品秘钥 Office Professional Plus 2019:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP Office Standard 2019:6NWWJ-YQWMR-QKGCB-
BBS仿博客系统 登录功能
先看登录功能的需求: 三个输入框,分别是用户名,密码,验证码,输入错误能够直接把错误显示出来且不刷新整个页面,验证码输入框旁边是一个显示验证码的图片,如果看不清,可以点一下就更换图片,登录成功后跳转到主页 先将页面大致搭建出来 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.bootcss.c
git-flow 工作流 备忘清单
关于 git-flow 是一个 git 扩展集,按 Vincent Driessen 的分支模型提供高层次的库操作。 查看详情 ★ ★ ★ 这个备忘清单展示了 git-flow 的基本操作和效果。 ★ ★ ★ 基础建议 Git flow 提供了极出色的命令帮忙以及输出提示。请仔细阅读并观察发生了什么事情... macOS 程序 Sourcetree 是一个极出色的 git 界面客户端,已经提供了 git-flow 的支持。 - Git-flow 是一个基于归并的解决方案,它并没有提供重置(re
matplotlib学习日记(二)
'''
将前面的知识进行练习
plot,scatter,legend等
'''
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import cm as cm
#定义数据
x = np.linspace(0.5, 3.5, 100)
y = np.sin(x)
y1 = np.random.rand(100)
#scatter图
plt.scatter(x, y1, c = "0.
DataTable 转换为List
注意table 列的参数类型,若不为string 需要详细声明 如 typeof(Int32) public static IList<T> ConvertTo<T>(DataTable dt) where T : new() { IList<T> list = new List<T>(); if (dt == null || dt.Rows.Count <= 0) { return null; } Type type = typeof(T); PropertyInfo[] propertys
设计模式 - 抽象工程模式
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。 介绍 意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 优点:当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象。 缺点
Java Volatile 关键字详解
原文链接:https://www.cnblogs.com/zhengbin/p/5654805.html 一、基本概念 先补充一下概念:Java 内存模型中的可见性、原子性和有序性。 可见性: 可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。 可见性,是指线程之间的可见性,一个线程修改的状态对另一个线程是可见的。也就是
wms、wmts和wfs的区别
Web地图服务(WMS)利用具有地理空间位置信息的数据制作地图。其中将地图定义为地理数据可视的表现。这个规范定义了三个操作:GetCapabilities返回服务级元数据,它是对服务信息内容和要求参数的一种描述; GetMap返回一个地图影像,其地理空间参考和大小参数是明确定义了的;GetFeatureInfo(可选)返回显示在地图上的某些特殊要素的信息 WMTS提供了一种采用预定义图块方法发布数字地图服务的标准化解决方案。WMTS弥补了WMS不能提供分块地图的不足。WMS针对提供可定制地图的
今日推荐
周排行