- 博客(43)
- 收藏
- 关注
原创 计算机网络面试总结-OSI开放互联参考模型
1.OSI开放互联参考模型1.1.OSI开放互联参考模型OSI是模型,TCP/IP是这个模型的实现。1.2.TCP/IP协议TCP/IP是OSI的实现: OSI七层模型 TCP/IP概念层模型 功能 TCP/IP协议族 应用层 应用层 ...
2019-03-07 10:30:08 424 2
原创 计算机网络面试总结-socket
7.socket7.1.Socket简介:Socket是对TCP/IP协议的抽象,是操作系统对外开放的接口7.2.Socket通信流程:
2019-03-07 10:23:07 560
原创 计算机网络面试总结-HTTP相关
6.HTTP相关HTTP:超文本传输协议 ,应用册层协议6.1.HTTP的主要特点:1.支持客户/服务器模式 2.简单快速 客户端向服务器请求服务时,只需传输请求方法和路径,由于http协议简单,是的http服务器的程序规模小,因此通信速度很快 3.灵活 允许传输任意类型的数据对象,由content-type标记 4.无连接 限制每次连接只处理一个请求,服...
2019-03-07 10:20:24 308
原创 计算机网络面试总结-TCP的滑动窗口
5.TCP的滑动窗口5.1.RTT和RTO:RTT:发送一个数据包收到对应的ACK,所花费的时间(Round Trip Time:一个连接的往返时间) RTO:重传时间间隔(Retransmission Time out) 滑动窗口基于RTO5.2.TCP使用滑动窗口做流量控制与乱序重排保证TCP的可靠性 保证TCP的流控特性 报头的window:用于接收方通知发送方,自...
2019-03-07 10:00:14 1903
原创 计算机网络面试总结-TCP和UDP的区别
4.TCP和UDP的区别4.1.UDP报文结构(报头8字节)4.2.UDP的特点UDP的特点:面向非连接 不维护连接状态,支持同时向多个客户端传输相同的消息 数据包报头只有8个字节,额外开销极小 吞吐量只受限于数据生成速率,传输速率以及机器性能 尽最大努力交付,不保证可靠性交付,不需要维持复杂的链接状态表 面向报文,不对应用程序提交的报文信息进行拆分或者合并...
2019-03-07 09:51:01 445
原创 计算机网络面试总结-四次挥手
3.四次挥手seq=u: 客户端最后传送的一个字节的序号+13.1.挥手流程(客户端主动关闭)挥手是为了终止连接,TCP四次挥手的流程如下:TCP采用四次挥手来释放连接:第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态; 第二次挥手:Server收到FIN后,发送一个ACK给Client,...
2019-03-07 09:35:38 413
原创 计算机网络面试总结-三次握手
2.三次握手2.1.传输控制协议TCP简介:面向连接的、可靠的、基本字节流的传输层通信协议 将应用层的数据流分割成报文段并发发送给目标节点的TCP层 数据包都有序号,对方接收到则发送ACK确认,未收到则重传 使用校验和来校验数据在传输过程中是否有误套接字:IP地址 + 协议(TCP) + 端口号 可以 标识一个进程2.2.报文头2.3.TCP FlagsURG...
2019-03-07 09:28:04 542
原创 计算机网络相关面试总结-目录
计算机网络面试总结1.OSI开放互联参考模型1.1.OSI开放互联参考模型 1.2.TCP/IP协议2.三次握手2.1.传输控制协议TCP简介: 2.2.报文头 2.3.TCP Flags 2.4.三次握手流程 2.5.为什么需要三次握手才能建立起连接? 2.6.首次握手的隐患--SYN超时(没收到第三次握手)--使服务器有遭到SYN Flood的风险: 2.7.建立...
2019-03-07 09:19:35 154
原创 nginx配置
目录 0.nginx配置1.main模块2.event 模块3.http模块3.1基础配置 3.2.日志配置3.3.SSL证书配置(常用与https服务配置)3.4.压缩配置3.5.文件缓存配置4.server配置5.localtion模块5.1.基本配置:5.2.反向代理配置方式5.3.uwsgi配置6.upstre...
2018-11-28 11:10:25 176
原创 nginx常用命令
nginx常用命令*测试配置文件*启动命令*停止命令*重启命令*查看进程命令*平滑重启*增加防火墙访问权限nginx常用命令*测试配置文件 {安装路径}/nginx/sbin/nginx -t*启动命令 {安装路径}/nginx/sbin/nginx*停止命令 {安装路径}/nginx/sbin/nginx...
2018-11-28 10:44:07 631
原创 nginx介绍和安装
1.nginx概览*nginx简介*nginxg安装2.nginx简介*nginx是什么*nginx能干什么*nginx特点3.Nginx安装(LINUX),先安装依赖4.nginx常用命令1.nginx概览*nginx简介 nginx是什么?能干什么?有什么特点?*nginxg安装 linux:安装环境、安装步骤、安装命...
2018-11-28 10:41:51 256
转载 nginx介绍及配置
序言Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。Nginx的稳定性、功能集、示例配...
2018-08-18 16:58:13 144
原创 Linux下查看用户列表
查看linux用户列表:一般情况下是cat /etc/passwd 可以查看所有用户的列表w 可以查看当前活跃的用户列表cat /etc/group 查看用户组简明的layout命令cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" '{ print $1"|"$3"|"$4 }'|more这样一来,sho...
2018-06-27 16:13:19 13089
原创 Mac下配置使用终级Shell--zsh
第一步1.查看是安装了哪些shell :cat /etc/shells2.如果已经安装zsh,使用命令切换:chsh -s /bin/zsh第二步由于zsh配置过于复杂难懂,所以有同学出了个oh-my-zsh1.通过命令获取: git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh2.先备份原来的zshrc(如果存在的话...
2018-06-27 15:50:18 408
原创 ssh-keygen 参数说明
ssh-keygen - 生成、管理和转换认证密钥 ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment] [-foutput_keyfile] ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile] ssh-...
2018-06-27 15:37:22 906
原创 linux 常用命令:(centos7)MySql 5.7添加用户、删除用户与授权
一、创建用户:以root用户登录到数据库进行用户创建 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 例如:CREATE USER 'test_admin'@'localhost' IDENTIFIED BY 'admin@123_S';CREATE USER 'test_admin2'@'%' IDENTIFIED BY...
2018-06-20 14:58:54 4686
原创 CentOS 7设置iptables
CentOS 7默认使用的是firewall作为防火墙,使用iptables必须重新设置一下1.接关闭防火墙systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动2.设置 iptables serviceyum -y install i...
2018-06-20 14:34:03 328
原创 Linux中添加、修改、删除用户和用户组
一、用户:在创建用户时,需要为新建用户指定一用户组,如果不指定其用户所属的工作组,自动会生成一个与用户名同名的工作组。创建用户user1的时候指定其所属工作组users,例:useradd –g users user11、使用命令 useradd 创建用户例:useradd user1——创建用户user1 useradd –e 12/30/2009 user2——创建user2,指定有效期200...
2018-06-20 14:11:15 47911
原创 Centos系统通过tar.gz包安装Mysql5.7
1.安装mysql之前需要确保系统中有libaio依赖,使用如下命令:yum search libaio yum install libaio 2.进入centos终端操作界面,使用wget命令下载mysql5.7 64位安装文件:wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86...
2018-06-20 12:12:09 180
原创 git "ssh-add ~/.ssh/id_rsa" Could not open a connection to your authentication agent问题解决
使用git,添加私钥时发生如下错误ssh-add ~/.ssh/id_rsa输出错误: Could not open a connection to your authentication agent解决此问题的方法是执行下eval `ssh-agent -s`然后再次执行ssh-add ~/.ssh/id_rsa就可以顺利执行了...
2018-06-10 21:26:54 5527
原创 linux添加用户或给用户添加root权限
1、添加用户,首先用adduser命令添加一个普通用户,命令如下:#adduser tommy //添加一个名为tommy的用户#passwd tommy //修改密码Changing password for user tommy.New UNIX password: //在这里输入新密码Retype new UNIX password: //再次输入新密码passwd...
2018-06-09 22:00:43 69823 2
原创 解决CentOS /etc/sysconfig/下没有iptables的问题
一、Centos 6版本解决办法:1.任意运行一条iptables防火墙规则配置命令:iptables -P OUTPUT ACCEPT 12.对iptables服务进行保存:service iptables save 13.重启iptables服务:service iptables restart 1二、Centos 7版本解决办法:1、停止并屏蔽firewalld服务systemctl s...
2018-06-07 23:06:34 1047
原创 mac 下用vmware fusion 安装centos
下载centos 下载地址:https://www.centos.org/download/ 这里我下载的第一个DVD iso打开VMware fusion的虚拟机资源库,点击添加-》新建,如果是安装后首次使用虚拟机,跳过这一步。选择创建自定义虚拟机,点击继续4. 选择操作系统,继续5. 选择虚拟磁盘,新建虚拟磁盘,继续6. 完成7. 起个名字,存储8. 点击小扳手图标进行设置9. 点击CD/D...
2018-06-07 17:45:55 2880 1
原创 递归:逆波兰表达式
1.问题逆波兰表达式的定义:一个数是一个逆波兰表达式,值为该数;“运算符 逆波兰表达式 逆波兰表达式” 是逆波兰表达式,值为两个逆波兰表达式的值运算结果样例输入:* + 11.0 12.0 + 24.0 35.0样例输出:1357.000000提示:(11.0 + 12.0)* (24.0 + 35.0)2.代码#include <iostream>#include <cstd...
2018-05-15 23:19:21 1601
原创 递归:N皇后问题
1.问题在国际象棋中,皇后的移动方式为横竖交叉的,因此在任意一个皇后所在位置的水平、竖直、以及45度斜线上都不能出现皇后的棋子,例子2.代码#include <iostream>#include <cmath>using namespace std;int N;int queenPos[100];//用来存放好的皇后位置。最左上角是(0,0);void N...
2018-05-15 22:45:30 1299
原创 递归:汉诺塔问题
1.题目汉诺塔问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。2.思路1、把A上面n-1个盘子移动到B上。2、把A上最后一个移动到C;3、把B上n-1个移动到A上,再把B上最后一个移...
2018-05-15 21:37:52 179
原创 SQL中where与having的区别
导读1.where和having的区别2.聚合函数和group by 3.where 和having的执行顺序4.where不能使用聚合函数、having中可以使用聚合函数1.where和having的区别where:where是一个约束声明,使用where来约束来自数据库的数据;where是在结果返回之前起作用的;where中不能使用聚合函数。having:having是一个过滤声明;在查询返回...
2018-04-26 10:00:26 48375 7
原创 mysql根据select出来的数据去update数据
参考如下sql:UPDATE T01_student_class t1 INNER JOIN T02_student t2 ON t1.std_id = t2.std_idset t1.std_name = t2.name;
2018-04-25 11:21:08 9011
原创 javascript:原型链
导读:1.创建对象的3种方法2.原型、构造函数、实例、原型链1.创建对象的3种方法1.1.字面量创建对象var o1 = {name:‘o1’};var o11 = new Object({name:‘01’});1.2.构造函数创建对象var M = function(){this.name = ’o2‘}var o2 = new M();1.3.obj.create()方法创建对象var ...
2018-04-24 15:31:47 157
转载 mysql:快速掌握存储过程
1.存储过程是什么 是一组为了完成特定功能的SQL语句集。经编译后存储在数据库中,是在MySQL服务器中存储和执行的,可以减少客户端和服务器端的数据传输。 存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,存储过程可由应用程序通过一个调用...
2018-04-24 11:18:10 261
原创 mysql:从一个或多个表查数据,插入到另外一个表
1.不指定目标表的插入字段,则要求来源表的 查询字段数量 = 目标表字段数量#目标表的字段数 = 来源表1的字段数INSERT INTO 目标表 SELECT * FROM 来源表1 ; #目标表的字段数 = 3 ,来源表2的字段数 >= 3INSERT INTO 目标表 SELECT 字段1, 字段2, 字段3 FROM 来源表2 ;2...
2018-04-24 09:51:23 14479
原创 快速掌握javascript的apply()和call()方法
导读: 1.什么是apply()和call() 2.什么时候使用apply()和call() 3.apply()和call()的唯一不同1.什么是apply()和call() <1.apply()和call()是函数自带的两个函数,二者作用一致。 <2.作用:改变方法中的this。例:say.call(小怪兽),将方法say()中的this指向对象‘小怪兽...
2018-04-23 10:47:18 138
原创 mac-terminal命令:使用指定软件打开指定目录(文件夹)
1.命令 open [路径] -a [软件名称]2.例子:使用 webStorm 打开 src_code文件夹 open src_code -a webStorm
2018-04-19 11:55:35 3623
原创 使用node.js模块 node-schedule做定时任务
1.安装命令: npm install node-schedule2.使用node-schedule做定时任务有《两种》方式可以选择2.1 Date-based Scheduling 方式 1、确定时间,例如:2017年11月21日,5:30var schedule = require('node-schedule');var date = new Date(2017, 11, 21, 5, ...
2018-04-17 11:58:01 2715
转载 sql执行顺序
SQL 不同于与其他编程语言的最明显特征是处理代码的顺序。在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理。 每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入。这些虚拟表对调用者(客户端应用程序或者外部查询)不可用。只是最后一步生成的表才会返回 给调用者。如果没有...
2018-04-16 17:38:52 132
原创 node.js使用readline按行读取文件内容
node.js使用readline按行读取文件内容1.实现代码var fs = require('fs');var readline = require('readline');/** 按行读取文件内容* 返回:字符串数组* 参数:fReadName:文件名路径* callback:回调函数* */function readFileToArr(fReadName,cal...
2018-03-01 09:19:41 23684 1
原创 使用jquery on()方法解决html页面点击元素,事件无响应的问题
1.无法触发相应事件的两种代码 执行以下两种代码时,点击#id时,无alert弹出。//1$('#id').click( function() { alert('事件无相应');})//2$('#id').on('click' , function() { alert('事件无相应');})2.原因 以上两种方法,只针对页面加载时就存在dom中元素,也就是说<...
2018-02-27 19:30:06 11284 1
原创 javascript获取html/svg页面一个字符串(文本)的宽度
javascript获取html/svg页面一个字符串(文本)的宽度1.思路 <1.新建一个span <2.将被选文本信息放入span <3.获取span信息,进而获取被选文本信息2.参考程序如下 <1.程序function textSize(fontSize,text) { //fontSize:代表汉字的大小,英文字会自动按照默认值 ...
2018-02-27 19:07:26 1479
原创 javascript获取html/svg页面被选文字的坐标
javascript获取html/svg页面被选文字的坐标1.用鼠标拖动文字触发事件2.获取被选中文字的坐标var range = window.getSelection().getRangeAt(0);var rect = range.getBoundingClientRect();var x = rect.left, y = box.top;3.rect 数据结构如下图所示:...
2018-02-27 18:55:49 2818
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人