自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

雨勒钟

深度优先学习

  • 博客(29)
  • 收藏
  • 关注

原创 Wireshark学习笔记

文章目录Wireshark抓包原理Wireshark抓包原理本机环境直接在自己的网卡抓包集线器环境集线器下所有的流量都会被传递到所有的设备交换机环境交换机下的流量会根据MAC表进行转发,非路径上的设备不能得到流量端口镜像(SPAN),公司常用方法,来获得其他的流量APR欺骗MAC泛洪: 通过发送大量的MAC垃圾信息来flush掉交换机里的路由表,从而对于其他设备发来的消息,...

2018-11-08 13:04:16 190

转载 第四章--SDN数据平面

文章目录4.1数据平面是执行网络数据包处理的实体. 网络可编程能力取决于数据平面的可编程能力4.1

2018-11-06 21:13:44 2067

转载 第二章-SDN南向协议

第二章–SDN南向协议SDN 网络体系结构: SDN网络应用, 北向接口, SDN控制器, 南向接口, SDN数据平面网络应用: 对网络数据平面的配置,管理,控制北向接口: 将数据平面资源和状态抽象成统一的开放编程接口SDN控制器:重要,也称为网络操作系统,向北提供可编程能力,向南对数据平面统一配置,管理控制南向接口: 对数据平面编程控制,实现数据平面的转发等网络行为(openflo...

2018-11-02 19:54:00 5909

转载 第三章--SDN控制平面

文章目录3.13.23.2.1 NOX/POX3.2.2 Ryu3.2.3 Floodlight3.2.4 OpenDayLight3.2.5 ONOS3.3 选择哪个SDN控制器?3.1开发者在控制平面开发网络应用,指导数据平面各种各样的控制器:早期的NOX,POX后来性能更好的Ryu,Floodlight现在的网络操作系统级别的OpenDaylight,ONOS3.23....

2018-11-02 19:52:14 2441

原创 C++自学记录(第九章 模板和异常)

文章目录第九章模板template名称空间(书上没有)第九章模板templatetemplate <模板参数表> 函数值类型 函数名 (参数表) { 函数体 }其中,参数表为:<class T1, class T2, … , class Tn>比如这个求最小值的函数template<class T> T mindt (T ...

2018-10-27 13:37:26 92

原创 C++自学记录(第八章)

第八章–类的设计重载问题对于单目运算符,使用没有参数的成员函数或者一个参数的友元函数来实现对于双目运算符,使用一个参数的成员函数或者两个参数的友元函数来实现不能重载的运算符:. 成员访问运算符:: 作用于限定运算符?: 条件运算符sizeof 长度运算符语法上规定= () [] ->只能被重载为类的成员函数关于前置重载和后置重载type operator ++( ...

2018-10-25 19:04:15 115

原创 C++自学记录--关于引用的一点微小理解

1. 引用引用更像一个const指针,必须在初始化的时候就对他进行定义,并一直效忠于他int a=100;int &b=a;int c=50;结果:ab=100,ab同地址b=c;结果:a=b=c=50,ab同地址意味着上述的赋值语句只是将c赋值给了a2. 将引用作为函数参数引用传递的变量是原来变量,会同时被更改直接传递的变量是原来变量的抄送其实有没有return...

2018-10-25 19:04:07 88

原创 C++自学记录(第四章,第五章)

#第四章、第五章1.数组定义为static就是0,没写的时候初始化为任意值定义二维数组的时候行数可以留空,系统自动判断strcmp要求比较的两者都是以\0结尾&取地址操作符*间接访问操作符void可以受他人的指针,但是他人收必须强制转换malloc同上,使用后必须强制转换声明数组类型的字符串在之后不能集体赋值,但是指针类型可以char a[]="hello"char ...

2018-10-25 19:04:00 122

原创 C++自学记录(第二章,第三章)

文章目录第二章、第三章1. void2. enum枚举3. volatile5. 指针运算符6. cin、cout7.文件第二章、第三章1. voidvoid可以定义一种指针,这种指针可以指向任意2. enum枚举enum color{red,yellow,white}color c;枚举元素都是常量枚举常量可以赋值给整形变量3. volatile不要进行优化处理,防止多线程...

2018-10-25 19:03:50 150

原创 C+++自学记录(第七章)

文章目录第七章1. 构造函数的继承2. 静态结合&虚函数3. 虚类4. 多重继承的构造和析构第七章1. 构造函数的继承使用了cBase的构造方法对待ab,再自行对待ccDerived::cDerived(int a, int b, int c) : cBase(a, b){ vc=c;}2. 静态结合&虚函数声明了cBase的指针变量,但是指向了cDe...

2018-10-25 19:03:44 1071

原创 C++自学记录(第六章)

第六章资源释放问题在使用过后,class类会被释放,但是如果在class种使用了string类型指针,指针指向的空间并不会被释放,所以需要使用析构函数进行手动释放,注意此处的 delete的写法class cMystring{ char *text; public: cMystring(char *str); //构造函数 void disp( ){ cout &...

2018-10-25 19:03:36 153

原创 算法的乐趣实战(1)--匈牙利算法

在阅读《算法的乐趣》的时候,实在难以理解第七章中关于匈牙利算法的描述,所以劣者在网上搜刮各种资料,整理如下,既为了自己复习之用,也为了后来者的方便 匈牙利算法解决了舞伴的快速匹配问题,什么是舞伴快速匹配问题呢?男女双方都有各自的最优选择名单,在一轮轮的选择过后,最终会得到一个结果,这个过程就是快速匹配问题。匈牙利算法如下:定义struct tagMaxMatch{int ...

2018-10-07 11:56:38 250

原创 Web后端初探(17)--THINKPHP中的全局

在application\common.php中定义自己的全局方法创建的类库(公共的,和项目无关的)存放在extend目录下,eg.    extend\org\util\ArrayList.php他的命名空间是org\util\ArrayList,不是extend\org\util\ArrayList和项目有关的类库则要放在application\common\util\MyClass.php...

2018-07-04 09:54:32 128

原创 Web后端初探(16)--THINKPHP中的API

本节是最重要的一节,主要关于如何使用api和手机软件/微信小程序对接JSON数据1.创建API模块    public function index($id=0){ $user=User::get($id); if($user) { return json($user); }else{ return json(['error'=>'用户不存在',404);}一种返回为re...

2018-07-03 22:42:16 152

原创 Web后端初探(15)--THINKPHP中的调试

THINKPHP提供了丰富的调试接口,方便我们准确找到BUG.第一种--未雨绸缪在config.php中设置app_trace="true"使用的时候,在需要console的地方协商trace("")就相当于使用内置的console命令第二种--拨云见日使用halt('')输出语句的同时,中断程序.类似于exit()第三种--欲穷千里目  log()将信息写入到log文件,注意使用前必须引入thi...

2018-07-03 21:13:33 191

原创 Web后端初探(14)--THINKPHP中模型输出

查询到的$data可以使用->toArray()来变成数组使用visiable('')或者hidden('');来决定什么要显示,什么不显示append(),往数组里追加一些内容转换成JSON:$data->toJson()...

2018-07-02 15:58:44 155

原创 Web后端初探(13)--THINKPHP中的SQL关联(多对多)

比如在一个地区分配表里,拥有两个数据表region和area.其中region为各城市,area为地区的聚合体,每个聚合体可以由多个城市构成,而每个城市可以被放进多个聚合体.举个例子,天津既属于京津冀地区,又属于京津唐地区,,也属于华北地区.那么想将这两个表单关联起来,就需要一个中间表作为桥梁:中间表不需要被创建为模型,只需要将另外两个模型化.对于areaclass Area extends Mo...

2018-07-02 15:52:08 183

原创 Web后端初探(12)--THINKPHP中的关联(一对一)

hasOne('对方表','对方桥','自己桥'),先查自己,再用自己的关键字去查另一个表官方文档:点击打开链接如果需要同时查询,还是要使用get(数字,'属性'),注意,在这时候是同步查询...

2018-07-01 22:17:35 120

原创 Web后端初探(11)--THINKPHP中的关联(一对多)

当我们需要联表查询的时候就需要用到关联.[查询]在model里增加一个方法public function xxxx(){ return $this->hasMany('另一个表','对方的链接桥','本方链接桥');}需要使用的时候直接$user->xxxx使用,注意此时的xxxx为属性而不是方法,不需要括号.当然,后面还可以接方法比如->where()->find(...

2018-07-01 21:46:04 259

原创 Web后端初探(10)--THINKPHP中的输入验证

在"M","V","C"的文件夹外,另外新建一个文件夹validate用于验证器.新建User.php,引入命名空间和think\validate创建一个类User:class User extends Validate{ protected $rule=[ ['nickname','require|min:5'], ['email','email','格式错误'], //使用了内...

2018-07-01 20:46:22 151

原创 Web后端初探(9)--THINKPHP的SQL查询范围

应用场景:某一片段的数据需要反复查询,于是我们可以将代码封装在一个方法里.在model中写道:protected function scope+驼峰命名($query){ $query->where('data','这个是5号');} 使用的时候直接调用$result=User::scope('data,id')->all(); //调用方法同时筛选查询data,id综合应用:...

2018-07-01 19:20:29 147

原创 Web后端初探(8)--THINKPHP中的SQL模型

使用模型(Model)进行SQL查询比之前所叙述的方法都要快速和易读,那么他是如何被构造的呢?首先在index目录下新建一个与controller并行的文件夹model,建立和数据库"表"名称相同的文件(不含前缀),namespace app\index\model; //命名空间use think\Model;class Data extends Model{//表名绑定类名} 类...

2018-06-30 22:05:45 146

原创 Web后端初探(7)--PHP中的SQL视图

构造一个虚拟表:$result=Db::view(虚拟表的名称,内含的各元素)->view(元素的各种来源)->限定->select(); 比如从data表获取id,name,status从user表中获取nicknameSQL的语句为create view my_view(id,'name','status',user_name,mobile,email)assele...

2018-06-29 12:34:12 254

原创 Web后端初探(6)--PHP中的SQL入门

使用前需要先引入Db模块:use think\Db所有的查询使用的都是$result=query('语句')所有的操作语句都是 $result=execute('语句')    注意使用参数绑定.eg.  Db::execute('insert into tp_data (id,name,age) values (?,?,?)',[3,'php',21]);    有一点C语言的printf 的味...

2018-06-29 09:39:38 332

原创 Web后端初探(5)--PHP中的URL参数获取

利用$this->request->url()获取当前的URL地址,更一般的方法是使用$变量名=Request::instance()来实例化一个对象$this->request->bind('键','值')来动态绑定域名$this->request->get()可以指定仅打印get的参数,类似还有post,cookie,files$this->reque...

2018-06-14 12:02:44 1215

原创 Web后端初探(4)--PHP中controller和view之间的关系

在每一个控制器中,每一个操作都会对应一个view组,组中的每一个html对应PHP文件中每一个方法.eg:,注意,如果要用html去读取PHP中的变量,需要(1)先将$this->assign('对外暴露名',变量名);(2)return $this->fetch();然后在对应的html中就可以使用了(利用{$名称})如果HTML和PHP不是对应的,就需要在fetch上做功夫比如将操...

2018-06-13 20:11:45 2263

原创 Web后端初探(3)--PHP中的URL路由

入口已经被定义为http://www.tp5.com/public 接下来要写的是使用的模块,在视图中为"文件夹".比如我们新建一个文件夹hello再下一层是控制器,新建一个叫showme最下面一层的叫方法,我们新建一个hello则最终目录为:http://www/tp5.com/hello/showme/hello最后说几个坑控制器(也就是文件)的命名必须是大写开头.不要忘记修改命名空间name...

2018-06-13 13:07:21 1137

原创 Web后端初探(2)--Controller中的URL访问

第二天学PHP,把IDC改成了HBuilder,看样子比IDEA更加的专注Web编程了.自我总结发现的方法在Controller中,定义的xxx.php必须和PHP中的class相同(最起码得有一个),不过里面的function名称就不用相同啦那么根据ThinkPHP...

2018-05-25 00:50:53 2309

原创 Web后端初探(1)--ThinkPHP的安装与配置

  团队自从涉猎微信小程序以来本人一直负责小程序的前端,无奈很多方面十分以来后端,自己却对后端的工作流程不是十分了解,于是一头扎进PHP后端的坑.  安装环境使用的是Wampserver一键式部署Apache和PHP,十分方便.安装目录定义在了D:\pro\wamp  从官网上下载ThinkPHP,放在其目录下的www文件夹中  使用IDEA 导入demo项目    已经可以使用localhost...

2018-05-23 09:48:00 305

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除