GT

梳理Ubuntu命令(文件查找和比较)---diff

血红的双手。 提交于 2020-04-06 16:53:19
快速撸一下这个命令-----diff命令 diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方。diff在命令行中打印每一个行的改动。最新版本的diff还支持二进制文件。diff程序的输出被称为补丁 (patch),因为Linux系统中还有一个patch程序,可以根据diff的输出将a.c的文件内容更新为b.c。diff是svn、cvs、git等版本控制工具不可或缺的一部分。 1.命令格式: diff[参数][文件1或目录1][文件2或目录2] 2.命令功能: diff命令能比较单个文件或者目录内容。如果指定比较的是文件,则只有当输入为文本文件时才有效。以逐行的方式,比较文本文件的异同处。如果指定比较的是目录的的时候,diff 命令会比较两个目录下名字相同的文本文件。列出不同的二进制文件、公共子目录和只在一个目录出现的文件。 3.命令参数: -  指定要显示多少行的文本。此参数必须与-c或-u参数一并使用。  -a或--text  diff预设只会逐行比较文本文件。 -b或--ignore-space-change  不检查空格字符的不同。 -B或--ignore-blank-lines  不检查空白行。 -c  显示全部内文,并标出不同之处。 -C或--context  与执行"-c-"指令相同。 -d或--minimal

同源策略与JSONP劫持原理

梦想与她 提交于 2020-04-06 16:50:14
同源策略 浏览器中有两个安全机制,一个浏览器沙盒(Sandbox),另一个就是同源策略(Same Origin Policy,简称SOP) ,下面介绍同源策略。同源是指 同协议 、 同域名 、 同端口 ,必须三同,缺一不可。下面列举了一些例子,为方便读者了解哪些是属于同源,下面列举一些案例: 根据这个策略,a.com域名下的JavaScript无法跨域操作b.com域名下的对象。跨域的安全限制都是对浏览器端来说的,服务器端是不存在跨域安全限制的。如下流程图: 流程图1. 流程图2. 不同源也意味着不能通信,因为同源策略认为其他任何站点的资源内容都是不安全的。这个限制有一定的道理,我们来想象一个场景,假设攻击者利用 Iframe 标签,把真正的银行登陆页面嵌套在他的页面上,那么当用户在这个嵌套的页面上登陆时,该页面就可以通过JavaScript读取到用户表单中的内容,意味着用户就泄露了登陆信息。 浏览器使用了同源策略之后, 好处 是能确保用户正在查看的页面确实是来自于正在浏览的域,然而有好就会有坏, 坏处 是一些业务就是需要进行跨域操作,同源策略显然就阻挡了业务需求。比如现在IT公司都发展得大,(假设的案例)阿里公司有好几个事业部,淘宝、天猫、支付宝等独立的事业部,你在登陆支付宝页面的时候,你跳转到支付宝的个人中心页面时,支付宝就会跨域去请求你登陆过的淘宝站的接口来回传你的个人信息。

第11周 【项目1

回眸只為那壹抹淺笑 提交于 2020-04-06 16:24:16
/* *Copyright (c)2017, 烟台大学计算机与控制工程学院 *All rights reservrd. * 作者:李欣豪 * 完成时间: 2017 年 11 月 09 日 * 版本号: v1.0 * 问题描述 : 定义图的邻接矩阵和邻接表存储结构,实现其基本运算,并完成测试。 一、创建一个新的工程,建立头文件 graph.h,对相关函数进行声明。 #ifndef GRAPH_H_INCLUDED #define GRAPH_H_INCLUDED #define MAXV 100 //最大顶点个数 #define INF 32767 //INF表示∞ typedef int InfoType; //以下定义邻接矩阵类型 typedef struct { int no; //顶点编号 InfoType info; //顶点其他信息,在此存放带权图权值 } VertexType; //顶点类型 typedef struct //图的定义 { int edges[MAXV][MAXV]; //邻接矩阵 int n,e; //顶点数,弧数 VertexType vexs[MAXV]; //存放顶点信息 } MGraph; //图的邻接矩阵类型 //以下定义邻接表类型 typedef struct ANode //弧的结点结构类型 { int adjvex; //该弧的终点位置

CMake编程(三)

拟墨画扇 提交于 2020-04-06 16:21:55
CMD#45 : include 从给定的文件中读取CMake的列表文件。 include(<file|module> [OPTIONAL] [RESULT_VARIABLE <VAR>] [NO_POLICY_SCOPE])   从给定的文件中读取CMake的清单文件代码。在清单文件中的命令会被立即处理,就像它们是写在这条include命令展开的地方一样。如果指定了OPTIONAL选项,那么如果被包含文件不存在的话,不会报错。如果指定了RESULT_VARIABLE选项,那么var或者会被设置为被包含文件的完整路径,或者是NOTFOUND,表示没有找到该文件。   如果指定的是一个模块(module)而不是一个文件,查找的对象会变成路径CMAKE_MODULE_PATH下的文件<modulename>.camke。   参考cmake_policy()命令文档中关于NO_POLICY_SCOPE选项的讨论。 CMD#46 : include_directories 为构建树添加包含路径。 include_directories([AFTER|BEFORE] [SYSTEM] dir1 dir2 ...)   将给定的路径添加到编译器搜索包含文件(.h文件)的路径列表中。缺省情况下,该路径会被附加在当前路径列表的后面。这种缺省行为可以通过设置CMAKE_include

Bash脚本

送分小仙女□ 提交于 2020-04-06 15:56:04
{**Bash脚本基础**} BASH=GNU Bourne-Again Shell,BASH是GNU组织开发和推广的一个项目。 Bash脚本类似批处理,简单来讲就是把许多的指令集合在一起,并提供循环、条件、判断等重要功能,语法简单实用,用以编写程序,大大简化管理员的操作,并可以完成图形工具无法实现的功能。 [1.如何创建新shell脚本] 1.创建包含bash命令的文本文件(一般文件名后加.sh),文件第一行: #!/bin/bash 2.使文件可执行(chmod +x scripts) 3.将文件放置在用户的$PATH的目录中 ~ /bin 用于用户的私有程序 /usr/local/bin 本地开发、系统上的其他人使用的脚本 /usr/local/sbin 本地开发、由root使用的脚本 运行脚本: sh+文件名或者直接编写文件所在绝对路径 例如: [root@web1 mnt]# vim 1.sh 编写脚本(以下为内容) #!/bin/bash echo hello world [root@web1 mnt]# chmod +x 1.sh 给可执行权限 [root@web1 mnt]# /mnt/1.sh 运行脚本 hello world [root@web1 mnt]# sh 1.sh 运行脚本 hello world [root@web1 mnt]# vim 1.sh #

kubernetes集群安装指南:kube-proxy组件部署

不问归期 提交于 2020-04-06 15:55:46
kube-proxy组件是要是为集群内pod应用提供endpoint服务,当我们为一个pod定义了svc时,kube-proxy会自动生成pod与svc的映射关系,并代理到集群内部或宿主机上。 1 安装准备 特别说明:这里所有的操作都是在devops这台机器上通过ansible工具执行;kube-proxy 需要使用kubeconfig认证文件安全访问kube-apiserver:它监听 apiserver 中 service 和 endpoint 的变化情况,创建路由规则以提供服务 IP 和负载均衡功能。 1.1 环境变量定义 #################### Variable parameter setting ###################### KUBE_NAME=kube-proxy K8S_INSTALL_PATH=/data/apps/k8s/kubernetes K8S_BIN_PATH=${K8S_INSTALL_PATH}/sbin K8S_LOG_DIR=${K8S_INSTALL_PATH}/logs K8S_CONF_PATH=/etc/k8s/kubernetes KUBE_CONFIG_PATH=/etc/k8s/kubeconfig CA_DIR=/etc/k8s/ssl SOFTWARE=/root/software

数据结构---栈及四则运算实现

霸气de小男生 提交于 2020-04-06 15:35:51
假设我们要求输入类似这样一个表达式: 9+(3-1)*3+10/2 ,输出结果。我们知道先括号,再乘除,最后加减,中学时候使用的科学计算器,是允许输入这样的表达式计算结果的,那么计算机怎么知道这个串里面先算括号再算乘除呢?我们先来介绍下栈这种数据结构,再来解决这个问题。 前面已经说过数组的连表,现在来说另外一种线性表的数据结构 --- 栈。 举个比较形象的例子,洗盘子的时候,是不是一个一个往上面堆着放,拿的时候也从上面一个一个的拿,最先放的在最下面,最后放的在最上面,拿的时候第一个拿到。这就是典型的栈结构。先进后出 First In Last Out(FILO). 怎么来实现一个栈结构呢,栈也是一种线性表,前面也有提到两种很基础的线性表结构的数据结构数组和链表。栈其实就是第一个特殊的链表或者数组。可以基于数组或者链表来实现,成为数组栈或者链栈,与之具有数组和链表相关特点。 栈的特殊点在于先进去的元素放在栈低,后进的在栈顶。向栈中插入一个元素叫入栈、进栈、压栈都行,插入的数据会被放在栈顶。从栈中取出一个元素叫出栈、退栈都行,取出之后,原本栈顶的这个元素就会被删掉,让它下面的那个元素成为新的栈顶元素。 数组栈一般栈低是索引开始的元素,压栈就往索引增长方向走;链栈一般栈低是头结点,栈顶是尾结点。 既然都是用数组或链表来实现,为什么还单独拎出来一个数据结构呢。数组和链表暴露了太多了的操作

codeForces 672D.Robin Hood(思维+二分)

半世苍凉 提交于 2020-04-06 15:22:53
题意: 给你一个N,K。表示又N个人,每个人有一定的钱数,每天最富有的人要给最穷的人给一块钱,问k天后最富有的人(最大值)跟最穷的人(最小值)的差值为多少? 思路: 因为时间越长(天数经过的越多),最大值就会越小,同理最小值就会越大,所以分别二分最富有的人的钱数(最大值),最穷的人的钱数(最小值),两个相减为答案,注意要用long long。 #include<bits/stdc++.h> using namespace std; const int MAXN = 5e5 + 5; const int INF = 0x3f3f3f3f; long long n,k,a[MAXN]; long long sum; long long check1(int m)//最小值 { long long sum = 0; for(int i = 0;i < n; i++) { if(a[i] < m) sum = sum + (m - a[i]);//大于当前二分的最大值m的部分的和累加起来 } return sum; } long long check2(int m)//最大值 { long long sum = 0; for(int i = 0;i < n; i++) { if(a[i] > m) sum = sum + (a[i] - m);//大于当前二分的最小值m的部分的和累加起来

ORACLE客户端连接到数据库详解

穿精又带淫゛_ 提交于 2020-04-06 15:22:35
原文出处: https://www.cnblogs.com/andy6/p/5877327.html Oracle 客户端连接到Oracle 数据库服务器貌似不同于SQL serve中的网络配置,其实不然,只不过所有的SQL server 运行于Windows平台,故很多配置直接集成到了操作系统之中。所以无需配置客户端即可连接到服务器。Oracle 客户端连接到数据库依赖于Oracle Net。Oracle提供了很多基于客户端或服务器的配置工具,需要搞清的是Oracle Net 中的相关术语。术语明白了,其实配置方法与SQL server 大同小异。 一、什么是Oracle Net Oracle Net 用于客户端和服务器之间创建一个连接会话,并负责维护该会话。 Oracle Net 在客户端作为应用程序的一个后台进程组件,而在服务器端则包含称为侦听器的活动进程, 负责客户端和服务器之间的交互。 Oracle Net 同时也支持异构数据库的连接,如连接到Sybase,Informix,DB2,SQL Server等 通常基于下列配置来实现 网络配置(网络必须是联通的) 节点所在的位置(IP/Hostname) 应用程序 所使用的协议(TCP/IP、/TCP/IP with SSL、SDP、Named Pipes) Oracle Net支持的连接类型 客户端-服务器模式

多线程设计模式——Read-Write Lock模式和Future模式分析

廉价感情. 提交于 2020-04-06 15:19:24
目录 多线程程序评价标准 任何模式都有一个相同的“中心思想” Read-Write Lock 模式 RW-Lock模式特点 冲突总结 手搓RW Lock模式代码 类图 Data类 P.S. Before/After模式 ReadWriteLock类 正确运行结果 适用场合 “逻辑锁”vs“物理锁” 性能对比 “中心思想”分析 Future 模式 Future模式特点 手搓Future模式代码 类图 Main类 Host类 FutureData类 RealData类 运行结果 模式分析 与生产者-消费者模式有区别吗? 模式拓展 模式思考 Future模式“中心思想” 伟大的Concurrent包! RW Lock模式 Future模式 示例程序代码 本文内所有实现的代码均附在文末,有需要可以参考。 (好奇宝宝们可以粘贴下来跑一下 多线程程序评价标准 安全性: ​ 安全性就是不损坏对象。也就是保证对象内部的字段的值与预期相同。 生存性: ​ 生存性是指无论什么时候,必要的处理都一定能够执行。失去生存性最典型的例子就是“死锁”。 可复用性: ​ 指类能够重复利用。若类能够作为组件从正常运行的软件里分割出来,说明这个类有很高的复用性。 性能: ​ 指能够快速、大批量地执行处理。主要影响因素有:吞吐量、响应性、容量等。 这里还要再区分一下这四条。 前两条 是程序 正常运行 的必要条件;