pro git读书笔记
起步 三种区域以及三种状态 Git 项目有三个工作区域的概念:工作目录,暂存区域以及Git 仓库 工作目录是我们用来修改文件的目录,是对项目的某个版本独立提取出来的内容 暂存区域是用来记录快照的地方,暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中,但是有必要单独提出来,因为其和仓库又有明显的区别, 也被称作`‘索引’' Git仓库是存储文件的地方,这个地方有一系列的快照,记录了文件的状态,是 Git 用来保存项目的元数据和对象数据库的地方 Git之中的文件有三种
CentOS7之JDK和Tomcat的配置
一、安装jdk 1.0 卸载自身jdk 查询jdk的命令,三个选一个即可 rpm -qa|grep java
rpm -qa|grep jdk
rpm -qa|grep gcj 卸载带有openjdk的软件 rpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
rpm -e --nodeps j
prime distance ( 大区间内部质数
# 题意 给定两个整数l,r,求在[l,r]区间内距离最近的一对相邻质数,和距离最远的一对相邻质数 l,r ∈ [1 , 231-1] 其中r-l <= 1e6 # 题解 l,r的范围很大,大约是2e9 线性算法也无法求出[1,r]的所有质数,但是r-l的范围小, 任何一个合数必定会包含一个不超过 √n 的质因数,所以求出 2~√r 的所有质数, 对于每个质数,将[l,r]中能整除这个数字的标记,剩下的就是区间内的质数。 对于质数两两比较求最值即可 复杂度 O (√r * log (log r
mininet创建简单的拓扑
# 四个交换机每个下边挂载一个主机
Linear4 = LinearTopo(k=4)
net = Mininet(topo=Linear4)
net.start()
net.pingAll()
net.stop() # single,3
from mininet.topo import SingleSwitchTopo
Single3 = SingleSwitchTopo(k=3)
net = Mininet(topo=Single3)
net.start()
net.pingAll(
在有序链表中插入数据
给定一批严格递增排列的整型数据,给定一个x,若x不存在,则插入x,要求插入后保持有序。存在则无需任何操作。 输入格式: 输入有两行: 第一个数是n值,表示链表中有n个数据。后面有n个数,分别代表n个数据。 第二行是要插入的数。 输出格式: 输出插入后的链表数据,以空格分开。行末不能有多余的空格。 输入样例1: 在这里给出一组输入。例如: 5 1 3 6 9 11
4
输出样例1: 在这里给出相应的输出。例如: 1 3 4 6 9 11
输入样例2: 在这里给出一组输入。例如: 5 1 3
Vert.x WebClient WebClientOptions
本文参考自Vert.x Web Client官方文档。套用官网的话来说, Vert.x Web Client是一个异步的HTTP和HTTP/2网络客户端。 相对来说,这是一个比较小的框架,而且功能也很直接,做一个方便好用的HTTP客户端。它具有以下功能: Json body 编码 / 解码 request 参数 统一的错误处理 表单提交 需要注意,它和Vertx核心包中的HttpClient有很多联系。它继承了HttpClient,提供了更多功能。 引用类库 要使用这个类库很简单。如果使用Ma
Django开发博客系统(02-项目基础结构与Git的使用)
使用pycharm创建项目Blog 拆分settings来适应不同的运行环境. settings.py是单独的模块,我们在进行开发环境,测试环境和线上环境配置时不太容易处理,如果只在一个文件里写三个环境的配置,维护起来是很麻烦的.所以我们要把这个settings.py拆成一个package,不同的配置分别定义不同的模块. 修改后的项目结构: base.py是原本的settings.py. 把base.py中的时区和语言配置修改: LANGUAGE_CODE = 'zh-hans'
TIME
bit_length()函数
bit_length()函数 bit_lenth()函数是int类型的一种内置函数,使用 int类型.bit_length()调用 a = 50 # 0b 110010
res = a.bit_length()
print(res) # 6 共六位二进制有效位数,高位为零
java高并发写入问题
List<String> list = new ArrayList<>(); 使用ArrayList对数据进行赋值,会出现不同线程争抢同一资源造成写入失败问题,会抛出异常“ConcurrentModificationException” List<String> list = new Vector<>(); List<String> list = Collections.synchronizedList(new ArrayList<>()); List<String> list = new C
[BJOI2018] 求和 - 树上前缀和,LCA
一棵有根树,并且希望多次询问这棵树上一段路径上所有节点深度的 \(k\) 次方和,而且每次的 \(k\) 可能是不同的。此处节点深度的定义是这个节点到根的路径上的边数。他把这个问题交给了pupil,但pupil并不会这么复杂的操作,你能帮他解决吗? Solution 对每个次数,预处理树上前缀和即可 #include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 300005;
const i
vue表单控件绑定+自定义组件
vue表单控件绑定 v-model 在表单控件元素上创建双向数据绑定 文本框双向绑定 多选框演示 下拉列表演示 vue自定义组件 组件放在components目录下 组件基本要素:props $emit 通过import导入自定义组件 制作一个倒计时组件: 1、在conponents目录下,新建一个time.vue 方法写在mouted声明周期函数内,代码如下: 然后在index.vue中使用组件: 我之前组件命名为time,可能与默认什么冲突了,然后报错不让用,所以改名成cyytime 但是
今日推荐
周排行