c++设计模式-Builder
动机 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。 如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求改变而改变? 定义 将一个复杂对象的构建与其表示相分离,使得同样的构建过程(稳定)可以创建不同的表示(变化)。 ——《设计模式》GoF 结构 示例 class House{
【转帖】不懂什么是锁?看看这篇你就明白了
不懂什么是锁?看看这篇你就明白了 https://segmentfault.com/a/1190000021307302 Java 锁分类 Java 中的锁有很多,可以按照不同的功能、种类进行分类,下面是我对 Java 中一些常用锁的分类,包括一些基本的概述 从线程是否需要对资源加锁可以分为 悲观锁 和 乐观锁 从资源已被锁定,线程是否阻塞可以分为 自旋锁 从多个线程并发访问资源,也就是 Synchronized 可以分为 无锁、偏向锁、 轻量级锁 和 重量级锁 从锁的公平性进行区分,可以分为
Sqli-Labs less23-24
less-23 23关和第1关很像,但是观察代码发现他对--+和#都进行了转义,不能再用这种方式注释 可以用新的注释符:;%00或者and和or语句进行闭合 语句:http://192.168.5.100/sqli-labs/Less-23/?id=0' union select 1,2,group_concat(concat_ws('-',username,password)) from security.users ;%00 或者用报错注入:http://192.168.5.100/sql
Ubuntu中实用操作
进入超级用户 进入超级用户权限:此时会在最底层目录中/home的上一层目录中 1 sudo –i 修改或隐藏Linux终端命令行中的用户名和主机名 只需要修改.bashrc文件中的内容: 原来的内容: 1 # ~/.bashrc: executed by bash(1) for non-login shells.
2 # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
3 # fo
Python接口测试,requests库的post请求进行文件上传
前言 如果需要发送文件到服务器,比如上传图片、视频等,就需要发送二进制数据。 一般上传文件使用的都是 Content-Type: multipart/form-data; 数据类型,可以发送文件,也可以发送相关的消息体数据。 POST一个多部分编码(Multipart-Encoded)的文件 使用 requests 上传文件的基本步骤 构造文件数据,通过 open 函数以二进制方式打开文件 构造相关数据 发送请求,将文件数据以 files 参数传入,其他消息体数据通过 data 、json 、
CF 1285 F. Classical?
题目大意 给定数组\(a\) ,选两个数,使得最小公倍数最大,求最小公倍数的值。 限制:长度\(n(2\leq n \leq 10^5)\), \(1 \le a_i \le 10^5\) 讲解 看似很经典的题目,但需要一些前置知识。 前置知识1 \(O(n \ log \ n)\) 求Mobius函数 虽然存在近似线性的求法,但这个方法代码很短。 代码如下: mu[1]=1;
for(int i=1;i<N;i++){
for(int j=2*i;j<N;j+
c++-POJ1002-487-3279
Java 的读入还不熟练,解决不了空行的问题,还是只能用c++ A掉,唉~ 之后要把这个坑补掉 1 #include<cstdio>
2 int map[10000000];
3 void read() {
4 char s[200]={0};
5 scanf("%s",s);
6 //printf("%s\n",s);
7 int id=0;
8 for(int i=0,f=1;; i++) {
9 //printf(
Dimensionality and hige dimensional data: definition, examples, curse of..
Dimensionality in statistics refers to how many attributes a dataset has. For example, healthcare data is notorious for having vast amounts of variables (e.g. blood pressure, weight, cholesterol level). In an ideal world, this data could be represen
中国剩余定理 $CRT$
考虑一个同余方程组 \[ \begin{cases}x \equiv a_1 \ (mod \ b_1) \\x \equiv a_2 \ (mod \ b_2) \\\quad \quad \quad \vdots \\x \equiv a_n \ (mod \ b_n) \end{cases} \] 其中\(b_1,b_2,\dots,b_n\)两两互质。 令\(m = \prod\limits_{i = 1}^n b_i\),\(M_i = \frac{m}{b_i}\),\(t_i\)
Java的数据类型及其转换
Java是一种强类型语言,每一个变量都必须声明数据类型才能使用。Java中有两种数据类型:基本数据类型和引用数据类型。 1.基本数据类型 一.基本数据类型的表示范围 Java中基本数据类型共有四大类:整型、浮点型、字符型、布尔型,其值都存放在栈里。其中: 整型用来表示整数,一共有四种类型:byte、short、int、long。 浮点型用来表示小数,有两种类型:float和double。 字符型是单引号括起来的字符或转义序列,用16位的Unicode编码作为编码方式,占两个字节。 布尔
吴恩达深度学习课程笔记-1
第二周 神经网络基础 2.1 二分分类(Binary Classification) 简单,就是将输入判别为两种类别之一的问题。 例如,输入:一张彩色图片(RGB三个通道三个矩阵,unroll得到特征向量);输出:是或不是(1或0)猫 符号表示 训练样本:\((x,y),x\in R^n, y\in \{0,1\}\) 包含m个样本的数据集:\( \{(x^{(1)}, y^{(1)}), \dots, (x^{(m)}, y^{(m)}) \}\) 为了方便,常用矩阵表示\( \boldsy
【WPF学习】第十二章 属性验证
在定义任何类型的属性时,都需要面对错误设置属性的可能性。对于传统的.NET属性,可尝试在属性设置器中捕获这类问题。但对于依赖项属性而言,这种方法不合适,因为可能通过WPF属性系统使用SetValue()方法直接设置属性。 作为代替,WPF提供了两种方法来阻止非法值: ValidateValueCallback:该回调函数可接受或拒绝新值。通常,该回调函数用于捕获违反属性约束的明显错误。可作为DependencyProperty.Register()方法的一个参数提供该回调函数。 Coe
Obtain a Permutation 乱搞
题意: 给定一个矩阵,问最少能用多少次操作使得矩阵有序(类似离散化坐标) 操作一: 修改一个元素的值 操作二:将矩阵的一列上移 #include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll mod=1e9+7;
const int N=1e6+100;
map<int,int>mp;
int main() {
int n,m;
cin>>n>>m;
int a[2*n+1][m
Android基础——高级UI组件
进度条:ProgressBar 拖动条:SeekBar 星级条:RatingBar <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.andro
今日推荐
周排行