Channel 是啥与其作用 查看官网介绍 https://docs.microsoft.com/zh-cn/dotnet/api/system.threading.channels.channel-1?view=net-6.0 code: using System.Collections.Generic; using System.Threading.Channels; using System.Threading.Tasks; using System.Linq; namespace
一、简单工厂:为了客户类和服务类之间的解耦,把对象的创建任务交给第三方类,这个第三方类就充当工厂的作用,严格来说简单工厂不属于23种设计模式之一。 二、实现思路 :创建一个简单工厂类,根据客户端要求(参数)调用类方法创建对象后返回给调用对象。 三、代码举例: 抽象类Human: namespace
Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法创建即可。 Calendar calendar = Calendar.getInstance(); //没设置时默认是当前日期 SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd hh:mm
什么是Promise Promise是异步编程的一个解决方案:从语法上讲它是一个对象,可以获取到异步操作的消息,从本意上讲,它是一个承诺,承诺过一段时间后它会给你一个结果。Promise有三种状态:pending(等待),fulfilled(成功),rejected(失败),状态一旦改变就不会再变,创建Promise后会立即执行。 为什
实现一个最大1024个不同定时器,定时时间到执行相应的函数。 头文件anytimer.h #ifndef __ANYTIMER_H__#define __ANYTIMER_H__ #define MAX_TIMER 1024typedef void (*func)(void *); int add_anytimer(int time,func curFun,char *str); //添加定时器int cancel_anytimer(int time
方法 方法的含义 方法的定义 java只有值传递,没有引用传递 代码示例1
1.1 变量 在Python中使用变量时,需要遵守一些规则和指南。 变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打 头。 变量名不能包含空格,但可使用下划线来分隔其中的单词。 1.2 字符串 在Python中,用引号括起的都是字符串,其中的引号可以是单引号
Docker 轻量级 虚拟机 软件 核心概念: 容器(Container)-虚拟的计算机;镜像(Image) - 安装操作系统的光盘 可以基于镜像创造多个容器, 通过镜像创建带有操作系统的虚拟计算机 1.1 Start 1.1.1 run image/manage image/manage containers 流程: 镜像--docker run -> 容器 1 docker run
下载文件后打开 前两个文件夹是空的,只有第三个文件夹内有一个AppData文件夹,感觉和windows用户根目录下的文件神似 和本地AppData文件夹内容对比一下可以发现,几乎一致 判断是要考察取证,类似的软件有取证大师,Magnet AIXOM。但是这两个软件太大了,我本地没有下载,所以使用了mimikatz
代码 #include <iostream> #include <cstdio> #include <string> using namespace std; int main() { int a,b; int c; string s; int f=0; cin>>a>>b; c=a+b; s=to_string(c); for(int i=0;i<s.size();i++){ if((s.size()-i)%3==0
思路 把谁是狼人、谁撒谎的所有可能性全部遍历一遍, 代码 #include <iostream> #include <cstdio> #include <cmath> using namespace std; int a[101]; int b[101]; int c[101]; int main() { for(int i=0;i<101;i++){ b[i]=1; } int n; int f=1; cin>>n; for(int
什么是MVC? 先说说MVC三层架构,这个部分所做的工作其实就是连接: 用户从前端页面(View)发送请求, Controller接收请求后,根据用户的需求从数据库(Model)获取数据,Controller获取到数据后 指定具体的页面(View)显示数据,也就是根据用户的请求跳转页面 从JavaWeb到SpringMVC 先回
什么是MVC? 先说说MVC三层架构,这个部分所做的工作其实就是连接: 用户从前端页面(View)发送请求, Controller接收请求后,根据用户的需求从数据库(Model)获取数据,Controller获取到数据后 指定具体的页面(View)显示数据,也就是根据用户的请求跳转页面 从JavaWeb到SpringMVC 先回
Typora学习 标题 二级标题 三级标题 四级标题 共设六级标题,与标题级数相同“#”+空格+标题内容 字体 前后加两个星号字体加粗 前后加一个星号字体倾斜 前后加三个星号斜体加粗 前后加两个波浪线内容划线删除 引用 “>”+空格+引用标注 显示引用效果 分割线 “---” 显示分割线效
开启DOS控制台的几种方式 打开cmd的方式 在左下角菜单栏中-找到windows系统页面命令提示符 windows+R 输入CMD(推荐使用) 在任意的文件夹下面,按住shitt键+鼠标右键点击,在此处打开命令行窗口 贺源管理字的地址栏前面加上cmd路径 管理员方式运行:选择以管理员方式运行 常见
Qt写日志 在main.cpp文件中添加以下头文件和代码: #include "mainwindow.h" #include <QApplication> #include <QDateTime> #include <QMutex> #include <QFile> #include <QTextStream> #include <QDebug> //#define LOG_FILE qApp-
winform下面使用了 AppDomain.CurrentDomain.BaseDirectory这个路径,但是如果winform以管理员身份运行之后。它指向的位置就是系统盘了。 C:\Users\%SystemUser%\AppData\Local\Temp\ 大约是这样。 如果还要找到当前运行的路径 System.IO.Path.GetDirectoryName(System.Reflection.
1. P1020 [NOIP1999 普及组] 导弹拦截 经典题目。 由题意得,第一问需要求最长不下降子序列,第二问需要求最长上升子序列(每一个较大值可以炸到自己后面到下一个较大值之间的一段区间)。 那么怎么求这两个序列呢? 拿最长上升子序列为例,设 \(a\) 为原数组,长度为 \(n\);\(d\) 数组存储上升
9. P1453 城市环路 很容易发现这其实就是一道基环树上的 dp 题。 如果是在普通树上该怎么做呢?考虑设 \(dp_{i,0/1}\) 表示以 \(i\) 为根的子树内,\(i\) 节点不选/选时贡献的最大值,有转移方程: \[dp_{i,0}=\sum_{j\in son_i} \max(dp_{j,0},dp_{j,1}) \]\[dp_{i,1}=\sum_{j\in son_i}
using System.Collections.Generic; using System; using Newtonsoft.Json; using MessgaeApi; namespace MessageApi { public class MessageHelper { static log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo"); /// <
Vue.js + vue-router 可以很简单的实现单页应用。 如下图 代码格式上 使用js方法前需要先导入定义好的方法,再调用 对于页面有一点注意
代码 #include <iostream> #include <cstdio> #include <string> #include <iomanip> using namespace std; int main() { string a; int d; string b; cin>>a>>d; d=a.size()-d; b=a; for(int i=0;a[i]!=NULL;i++){ if(i+d<=
GIT 编辑 下载GIT 官网: Git - Downloads 官网下载会比较慢,一般都会在镜像下载 镜像:CNPM Binaries Mirror 下载最新的稳定版即可 安装GIT 一路 next 即可 GIT常用操作 git init : 创建一个版本库 git add : 将文件添加到暂存区 git commit : 将文件从暂存区提交
package com.ge6.newland.ge6; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import
mybatis核心配置文件 注意:在编写配置文件时需要注意标签顺序! <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//MyBatis.org//DTD Config 3.0//EN" "http://MyBatis.org/dtd/MyBatis-3-config.dtd"