- 博客(47)
- 收藏
- 关注
原创 搭建Centos7.4的hadoop:搭建集群hadoop
前言我建议大家最好和我一样将软件放在同一个位置,当然你可以自己放别处,但是你得记清楚你的安装位置下载hadoop和Java这里得注意一下:建议小心找一下64位的jdk,不然后面容易出错这里我准备的是jdk-8u162-linux-x64.tar.gz和hadoop-2.7.2.tar.gz解压JDKcd /opt/sudo mkdir modulechown hadoop:hadoop -R modulecd modulemkdir jvm#解压命令,根据你自己下载地址解压,我的在~
2021-06-16 20:47:31
302
5
原创 Centos7.4搭建Hadoop(一):安装Centos7.4
准备VMVM下载地址准备CentosCentos7.4下载地址如果下载太慢了的话,使用迅雷。但是迅雷安装需要小心的搭建Centos找到你自己下载的ISO地址重点开始选第一个修改时间安装必要的东西这里是设置密码第一个是root的密码第二个是设置用户:需要设置用户名和密码这里为了统一,用户名和所有密码都是hadoop之后点击一右下角按钮,这里的图片没有截取提升hadoop用户级别su #等下会让你输入密码vim
2021-06-16 19:51:42
203
原创 Vue学习笔记
前言注意事项:由于我打包的时候路径没写好,所以笔记上图片加载不出来所以笔记完整记录会放上来ES6语法补充let/varJS中使用var来声明一个变量时, 变量的作用域主要是和函数的定义有关.针对于其他块定义来说是没有作用域的,比如if/for等,这在我们开发中往往会引起一些问题。总之用let就好了,var淘汰了const关键字当我们修饰的标识符不会被再次赋值时, 就可以使用const来保证数据的安全性.属性初始化简写和方法的简写let name = "123"//以前的写法let
2021-05-23 09:50:17
601
4
原创 redis学习笔记
NoSqlRDBMS和NoSql传统的RDBMS- 结构化组织- SQL- 数据和关系存在单独的表- 操作远,数据定义语言- 严格的一致性- 基础的事务Nosql- 不仅仅是数据- 没有固定的查询语言- 键值对存储,列存储,文档存储,图形数据库- 最终一致性- CAP定理和BASE- 高性能,高可用,高扩展大数据时代的3V:1.海量Volume,2.多样Variety,3.实时Velocity大数据时代的3高:高并发、高可扩、高性能RedisRe mote Dic
2021-03-01 21:42:59
108
原创 Ubuntu20.04安装MySQL8.0版本,有界面输入root密码
这里写目录标题前言安装MySQL安装一个文件更新数据源,安装启动Mysql前言这个版本mysql变化还是真的比较大(指的是配置文件位置有所变化),不知道是不是linux这样子,以前的很多修改密码方法不可以使用了,一直报错。目前只能自己创一个自己可以用的账号使用,但是我这边可以解决这个问题,亲测有效。安装MySQL安装一个文件安装一个文件地址使用下面命令sudo dpkg -i mysql-apt-config_0.8.16-1_all.deb更新数据源,安装输入这两个命令:sud
2020-12-23 19:25:58
724
1
原创 github搭建与遇到的问题
github想必大家都知道GitHub的魅力但是本人真的被搞怕了搞了一天基本搞好在这里写下自己的处理方法:供更多人学习和使用第一步注册,创建厂库地址:https://github.com/第二步下载git bash地址:https://gitforwindows.org/一路点就好了,然后右键可以看见Git GUI Here和Git Bash Here就成功了第三步鼠标右击选择Git Bash here在一个文件夹下面输入:git init生成SSH密钥,命
2020-10-06 12:59:02
183
原创 Vscode Linux环境搭建
第一步下载这些插件:红色是重点Linux子系统哔哩哔哩视频:bilibili.com/video/BV1Bk4y1r7nh/安装好打开VScode点击命令面板之后就是Linux编程不需要搞东搞西的
2020-10-01 16:22:37
1114
原创 GitHub配置
GitHub配置1.申请账号在github上申请账号,完善好信息https://github.com/.2.下载git bash不知道为什么,我是真的进不去。本人推荐是360下载。总之这个地方把我搞炸了。网址:https://docs.github.com/en/free-pro-team@latest/desktop/installing-and-configuring-github-desktop/installing-github-desktop点击:第三步创建一个厂库:
2020-10-01 15:56:19
462
原创 数据报
简单了解一下数据包注:红色的是我分辨各个模块大小的MAC数据包简介:数据链路层的数据包,这个层连接着物理层有链接着软件封装定义,这里需要对其数据进行两者的转化通俗理解就是在网线跑的数据包。名称介绍前导码使接收器建立比特同步,最后一Byte为指示一帧的开始目标地址目标的网卡卡号源地址来源的网卡卡号长度指示长度多少LLC数据数据报文:最小为46bytes(通过CSMA/CD机制)算出来的,最大1500Bytes(设备原因)帧校验序列校验是
2020-09-28 14:11:03
656
原创 http协议
HTTP协议HTTP 协议的主要特点:1. 支持客户/服务器模式。2. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。 请求方法常用的有 GET、HEAD、POST。 每种方法规定了客户与服务器联系的类型不同。 由于 HTTP 协议简单,使得 HTTP 服务器的程序规模小,因而通信速度很快。3. 灵活:HTTP 允许传输任意类型的数据对象。 正在传输的类型由 Content-Type 加以标记。4. 无连接:无连接的含义是限制每次连接只处理一个请求。 服务器处理完客户的请求,
2020-09-19 20:21:37
241
原创 SSL客户端
cd /camkdir clientcd clienttouch openssl_csr.cnf填下这些东西[ req ]#req工具需要的参数。default_bits = 2048distinguished_name = req_distinguished_namestring_mask = utf8onlydefault_md = sha256[ req_distinguished_name ]#产生凭证时要输入的资料的说明。c
2020-09-08 22:51:00
227
原创 SSL服务器证书
cd /camkdir servercd servertouch openssl_csr.cnf拷贝下面的[ req ]#req工具需要的参数。default_bits = 2048distinguished_name = req_distinguished_namestring_mask = utf8onlydefault_md = sha256[ req_distinguished_name ]#产生凭证时要输入的资料的说明。co
2020-09-08 22:43:55
249
原创 SSL中继凭证
#创建文件夹 cd /ca mkdir intermediate#进入中继凭证目录,建立相关的目录和档案。#建立相关目录。#private存放中继凭证的私钥。#csr存放中继凭证的凭证签发申请档。#cert存放中继凭证的凭证。#chain存放中继凭证的凭证串链。#signature_certs存放中继凭证签发过的凭证的副本。 mkdir private csr cert chain signed_certs#更改私有目录的访问权限。 chmod 700 private#建立ind
2020-09-08 22:34:16
279
原创 SSL证书
密钥 在http通信里面。我们要关注传输的安全性。 如果使用明文传输,那么我们的密码就会被窃取 我们毫不犹豫选择密文传输既然是密文传输就要考虑如何加密和解密问题:1.服务器如何选择加密算法2.客户端如何翻译成为明文加密基础知识 1.对称加密:指的是加密方和解密方使用的是同一个密钥 优点:加密解密的速度很快 缺点:如果两个从未通信过的用户要进行通信的时候, 该如何把解密的密钥传输给对方呢(密钥仍然要在网络上传输, 所以密钥还是可能会被“中间人”截获),这是对称加密最大的缺
2020-09-08 21:30:49
175
原创 创建SLL证书的根证书
第一步我们建立根证书:(#是注释)#1.进入根目录,创建文件cd /mkdir camkdir ca/root#2.创建根证书目录cd /ca/root#3.#建立相关目录,private存放根凭证的私钥,cert存放根凭证的凭证,signed_certs存放根凭证签发过的凭证的副本.mkdir private cert signed_certs#变更private目录的存取权限.chmod 700 private#建立index.txt,此档案会用来纪录根凭证签发过的凭证的纪录,每次
2020-09-08 21:30:36
245
原创 Linux安装东西
建议先别改源,等安装好了在改安装sshsudo apt-get install openssh-server安装vimsudo apt install vim安装g++,gcc:sudo apt install gccsudo apt install g++安装数据库:sudo apt-get install mysql-serversudo apt install mysql-clientsudo apt install libmysqlclient-dev安装git:sudo
2020-09-08 16:17:21
118
原创 虚拟机linux安装数据库
这时候建议不要改源我们需要安装很多东西,改了源码估计后面很难安装。建议改回原来的源sudo apt-get install mysql-serversudo apt install mysql-clientsudo apt install libmysqlclient-dev安装sshsudo apt-get install openssh-server...
2020-09-07 17:24:37
183
原创 虚拟机更换阿里源
第一步:lsb_release -c查看版本: Codename: focal那么我们需要找到一样的版本号码下面再ubuntu后面是版本号码都需要一样的deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiversedeb http
2020-09-07 16:27:58
1195
原创 虚拟机没有ifconfig
第一步骤:输入ifconfig看一下:或者是:cd /etc/sysconfig/network-scripts/如果出现下面的东西首先ping一下然后在输入:sudo apt install net-tools就好了
2020-09-07 16:08:43
196
原创 SHH连不上,主机不可以ping通虚拟机,虚拟机可以ping通主机
先查看你的虚拟机到底什么情况:看看是不是这个,不是建议改一下。如果还是不可以:走这里**还是不行:查看是不是打开服务这两个服务看看是不是打开的。如果是打开的,那么可以查看是不是防火墙拦截了。关闭虚拟机的防火墙,把主机的其他可以拦截的软件关了,比如360等。查看自己的自带的防火墙是不是拦截了把公有网路设置为专有。如果真的在公开网络不建议转换。断开网络重新连接。重新设置就好了我的是这样子搞得。每个人情况不一样,所以选择吸收...
2020-09-03 11:59:31
303
原创 线程池
前言 最初一开始的时候,我们是采用一种一个任务一个线程(进程,其实在内核看来进程和线程都是一个东西)运行。 任务一做完,进程(线程)就要销毁,所有的空间都要收回。 但是很多时候,时间花在了销毁和创建进程。 我们仔细想想我们人在工作的时候,工作做完了,任务完成了,但是人没有消亡。 映射在这里是不是可以让进程(线程)不要关闭,等待任务的到来。想法既然我们想让进程不要消亡,那么就要解决掉如下问题: 1.接收、管理任务。 2.管理忙碌的线程,空闲的进程。 3.帮助相应的进程(线程)找到没有处理
2020-08-31 22:13:39
87
原创 A. Remove Smallest
题目连接这道题目看错题目意思了: 这个题目大意是看这个是不是连续的。 所以很简单。#include <iostream>#include <vector>#include <algorithm>using namespace std;int a[50000] = { 0 };int main() { ios::sync_with_stdio(false); cout.tie(0); cin.tie(0); int cases; cin >
2020-08-19 10:26:35
64
原创 CF的题目:D. Colored Rectangles
这道题目大意是要你选两对棍子,组成正方形,达到最大面积,一个要求两对棍子颜色不同。 很容易想到DP,那么转移方程在哪呢?? 我们这样子想:前面是选择好的:dp[x][y][z] dp[x][y][z]这个地方需要转移到dp[x][y+1][z+1]的时候我们就是取最大值 dp[i][j + 1][k + 1] = max(dp[i][j + 1][k + 1], dp[i][j][k] + b[j + 1] * c[k + 1]); 可以证明最大的两个数相乘大于任何组合。#include&.
2020-08-19 09:56:38
99
原创 C. Good Subarraystime
我们可以将这道题变换成为看相同的序列有多少个前一个序列和后一个序列和相等,以为中间这一段数字都是一样的,符合要求的我们将数字减去'1'代表着:我们将一个相加的数列变为看一段是不是有字符串是不是为0的#include<bits/stdc++.h>using namespace std;int T,n;string s;map<int,int>mp;int main(){ cin>>T; while(T--){mp.clear(); cin>&.
2020-08-16 17:41:19
74
原创 2020-8-16力扣题解
这道题真的没什么好讲的在比赛的时候看错题目了,后来发现不是质数,是奇数。就在原来的代码里改的,有点小复杂class Solution {public: bool threeConsecutiveOdds(vector<int>& arr) { bool flag1,flag2,flag3; flag1=flag2=flag3=false; for(int i = 0;i<arr.size();i++) .
2020-08-16 17:20:14
133
原创 2020/8/2第两百场力扣赛题解
这题最简单,不需要题解,暴力就好了这道题目,脑子转过弯了就好说。 1.其实就是比大小变种。如果这个数比另一个数大这个就占据不到0号位子,之后他永远抢不回0号位子 2.如果比到最后了,那么这个数字必定是最大的。前面没有出现冠军的话。class Solution {public: int getWinner(vector<int>& arr, int k) { if(k>=arr.size()) { in.
2020-08-03 10:04:23
102
原创 ac自动机
ac自动机 ac自动机是由树保存。原理有点类似于KMP。失配的时候,我们找到最长后缀进行继续匹配。而且这个是有一颗树保存。 在有些题目时候,故意的KMP过不了,因为如果给你的串够多的话,KMP就是很不好使用如图:如果我们能够构建一个树(红色代表着如果这个点失配了,会进入指向的地方)这样子会大大减少不必要的比较#include<iostream>#include<cstring>#include<algorithm>#include<vector&g
2020-07-31 11:03:59
118
原创 2020/7/28杭电大学
第四题这道题我懵逼了最简单的题目还是不会做这道题目你合并开始的时候,就是前缀和取模一样的时候,代表着这里面有数字可以合并为m,但是一旦合并了就是这个不可以在进行合并了,所以前缀和需要更改#include<iostream>//#include<string>#include<cstring>using namespace std;const int N = 500010;int stackarr[N];int main(){ ios::sync
2020-07-29 15:48:03
101
原创 Codeforces Round #659 (Div. 2)部分题解
Codeforces Round #659 (Div. 2)部分题解The length of the longest common prefix of two strings s=s1s2…sn and t=t1t2…tm is defined as the maximum integer k (0≤k≤min(n,m)) such that s1s2…sk equals t1t2…tk.Koa the Koala initially has n+1 strings s1,s2,…,sn+1.For
2020-07-25 14:06:34
396
原创 力扣第 198 场周赛部分题解
力扣第 198 场周赛部分题解class Solution {public: int numWaterBottles(int numBottles, int numExchange) { int a = 0,b = 0; int sum = 0; sum+=numBottles; while (numBottles >= numExchange) { a = (numBottles)
2020-07-25 13:38:58
155
原创 浅谈费马小定理
费马小定理费马小定理是可以处理掉很大数字指数倍取模的。不过这个有条件的:p是一个质数,而整数a不是p的倍数a^(p-1) ≡ 1(mod p); ≡ :同余,指两者取余数相同打个比方:2 ^ 100 % 13这个怎么算如果说之前那种方法,我们先乘出来再来取余,不说时间上问题,但是数据如何保留下俩也是很麻烦因此我们用这个公式( a * b ) % p == ( a % p ) * ( b % p ) % p配合一下((2^12)^8 * 2^4) % 13 ≡ ( 1 ) %13
2020-07-22 16:55:48
276
1
原创 浅谈蒙哥马利算法
蒙哥马利算法这个算法很巧妙,减少指数相乘用到公式:( a * b ) % p == ( a % p ) * ( b % p ) % p我们可以指数相乘的时候直接平方如果这个数是单数: 我们直接多乘一个把他化为偶数如果直接是偶数就好说: 直接平方long long Montgomery(int base,int exp,mod){ long long ans = 1; while(exp) { if(exp&1) res = base * res % mod;//
2020-07-22 16:30:18
607
原创 杭电大学第一场比赛,第四题题解
小编很菜,第四题都没看出来第四题你看 :只有一个字母的时候:a -------------------->a26个字母可以搞出26种组合只有两个字母的时候:ab--------------------------->a,baa--------------------------->a,aa26个字母可以搞出26*26种组合三个字母的时候:aba------------------------->a,b,abaabc----------------------
2020-07-22 16:05:23
85
原创 字符串hash算法,附图片理解
字符串hash算法字符串hash是指将一个字符串s映射为一个,使得该整数可以尽可能唯一的代表也就是唯一标识。换言之,如果两个字符的hash值相同那么我们可以认为两者相同。如果,我们对字母a~z进行一些的处理(如上图),但是aba的hash值和baa的hash值是一样的,这样子不可以唯一区分。我们就要想办法将这个hash值变为唯一区分的这个图前面序列之和*8等于后面序列之和。重点来了: 我们通过乘以某个数字不断增大。某一个段相同序列必定是相同一段的倍数。 只要知道这个倍数就知道了这个序列是不
2020-07-16 15:23:05
346
原创 T2 [NOI Online 提高组]冒泡排序 题解
T2 [NOI Online 提高组]冒泡排序这道题目实在是牛逼,主要是这个思想需要转变暴力模拟肯定不行我们仔细观察一下: 我们需要在第一时间内知道当前这个数字前面有多少个数字比这个数字大 说人话:知道在0~i-1下标有多少个数字比a[i]大 这个可以考虑统计一下树状数组统计一下比他小的数字有多少个(记作tot),前面有i个数字,反向求出比他大的数字。第二: 我们这么想:如果需要排序,我们一定要找到规律 举个粟子:假设这个序列1 5 4 3 2 我们可以看见2前面有5 4 3,3
2020-07-15 23:22:03
247
原创 浅谈离散化
离散化离散化: 我们不需要知道这个数多大,我只要知道这个数在这里相对大小 举个粟子:(这个只是便于理解) 原数组:1 50000 600000 70000 600000 我们要统计这个数组里面的数字比其他的要小的有多少个 我们可以这样子处理: 离散化数组:1 2 3 4 3 这样子是不是可以对付很大的数字,进行映射过来 方便处理...
2020-07-14 18:28:37
243
原创 浅谈差分法
差分法差分: 如果知道前缀和,这个就更加好懂 差分法:就是后面的数字减去前面的数字,num[i] = a[i] - a[i-1]; 当然num[1] = a[1]; num是差分数组,a是原来数组性质前缀和就是原来的数组的值:a[i] = num[i] + num[i-1]+……+num[0];区间相加:(当产生大量的修改的时候,前缀和不是很好。可以考虑差分) 在区间[left,right]上加一个常数c。 我们可以利用原数组就是差分数组的前缀和这个特性,来解决这个问题。显然可得
2020-07-12 12:15:12
601
原创 浅谈线段树,附上图片借助理解
线段树 线段树主要是为了把一个一维数组修改更新,查看区间和。更加快速的:我们维护一个一维数组,有计算,有更新。 如果普通数组经行统计,就是从i开始到j统计计算。这样子是O(n),但是修改的时候就是直接知道下标然后经行修改,时间复杂度是O(1)。 如果我们采用前缀和(就是第i的位置的数则是0~i数字之和)我们统计是O(1),然而修改是O(n)。 有没有可以平均一下水平的。 有:线段树,线段树可以将两者都平衡一下变为O(log(n))线段树的图...
2020-07-10 09:21:16
96
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人