<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Watson2016的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/Watson2016</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; Watson2016]]></copyright><item><title><![CDATA[设计模式及Python实现]]></title><link>https://blog.csdn.net/Watson2016/article/details/80405160</link><guid>https://blog.csdn.net/Watson2016/article/details/80405160</guid><author>Watson2016</author><pubDate>Tue, 22 May 2018 14:21:01 +0800</pubDate><description><![CDATA[本文源码寄方于github:https://github.com/w392807287/Design_pattern_of_python参考文献：《大话设计模式》——吴强《Python设计模式》——pythontip.com《23种设计模式》——http://www.cnblogs.com/beijiguangyong/设计模式是什么？设计模式是经过总结、优化的，对我们经常会碰到的一些编程问题的可...]]></description><category></category></item><item><title><![CDATA[mysql面试汇总]]></title><link>https://blog.csdn.net/Watson2016/article/details/78026885</link><guid>https://blog.csdn.net/Watson2016/article/details/78026885</guid><author>Watson2016</author><pubDate>Tue, 19 Sep 2017 10:11:46 +0800</pubDate><description><![CDATA[来源：http://www.cnblogs.com/wmbg/p/6800354.html

数据库优化

建表优化

1）数据库范式

l 第一范式（1NF）：强调的是列的原子性，即列不能够再分成其他几列。

如电话列可进行拆分---家庭电话、公司电话

l 第二范式（2NF）：首先是 1NF，另外包含两部分内容，一是表必须有主键；二是没有包含在主键中的列必须完全依赖于主]]></description><category></category></item><item><title><![CDATA[nginx面试要点--持续更新中]]></title><link>https://blog.csdn.net/Watson2016/article/details/77938678</link><guid>https://blog.csdn.net/Watson2016/article/details/77938678</guid><author>Watson2016</author><pubDate>Mon, 11 Sep 2017 22:25:04 +0800</pubDate><description><![CDATA[Nginx ("engine
 x") 是一个高性能的HTTP和 反向代理 服务器，Nginx以事件驱动的方式编写，所以有非常好的性能，同时也是一个非常高效的反向代理、负载平衡。


1、nginx相对于apache优点： 
轻量级同样起web 服务比apache占用更少内存及资源 
抗并发nginx 处理请求异步非阻塞而apache 则阻塞型高并发下nginx 能保持低资源低消耗高性]]></description><category></category></item><item><title><![CDATA[C++构造函数执行顺序]]></title><link>https://blog.csdn.net/Watson2016/article/details/77891766</link><guid>https://blog.csdn.net/Watson2016/article/details/77891766</guid><author>Watson2016</author><pubDate>Fri, 08 Sep 2017 10:29:49 +0800</pubDate><description><![CDATA[经测试按照如下顺序：

一、先执行静态成员的构造函数，如果静态成员只是在类定义中声明了，而没有实现，是不用构造的。必须初始化后才执行其构造函数。

二、任何虚拟继承基类的构造函数按照它们被继承的顺序构造（不是初始化列表中的顺序）

三、任何非虚拟继承基类的构造函数按照它们被继承的顺序构造（不是初始化列表中的顺序）

四、任何成员对象的构造函数按照它们声明的顺序构造

五、类自己]]></description><category></category></item><item><title><![CDATA[最常用的五大算法]]></title><link>https://blog.csdn.net/Watson2016/article/details/77857824</link><guid>https://blog.csdn.net/Watson2016/article/details/77857824</guid><author>Watson2016</author><pubDate>Tue, 05 Sep 2017 22:27:38 +0800</pubDate><description><![CDATA[一、贪心算法

贪心算法（又称贪婪算法）是指，在对问题求解时，总是做出在当前看来是最好的选择。也就是说，不从整体最优上加以考虑，他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解，但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。




用贪心法设计算法的特点是一步一步地进行，常以当前情况为基础根据某个优化测度作最优选择，而不考虑各]]></description><category></category></item><item><title><![CDATA[常见C++面试题及基本知识点总结（一）]]></title><link>https://blog.csdn.net/Watson2016/article/details/77823572</link><guid>https://blog.csdn.net/Watson2016/article/details/77823572</guid><author>Watson2016</author><pubDate>Sun, 03 Sep 2017 17:00:59 +0800</pubDate><description><![CDATA[【转载请注明出处】：http://www.cnblogs.com/LUO77/p/5771237.html 

1. 结构体和共同体的区别。

定义：

结构体struct：把不同类型的数据组合成一个整体，自定义类型。

共同体union：使几个不同类型的变量共同占用一段内存。

地址：

struct和union都有内存对齐，结构体的内存布局依赖于CPU、操作系统、编译器]]></description><category></category></item><item><title><![CDATA[Docker学习总结]]></title><link>https://blog.csdn.net/Watson2016/article/details/75209336</link><guid>https://blog.csdn.net/Watson2016/article/details/75209336</guid><author>Watson2016</author><pubDate>Sun, 16 Jul 2017 21:04:58 +0800</pubDate><description><![CDATA[由于项目中大量使用到了Docker容器技术，所以这段时间花了一些时间学习了docker，不过比较简单属于入门学习资料吧，下面是对两个星期利用零碎时间学习docker的总结:
主要参考来源:http://cloudman.blog.51cto.com/10425448/p-5
 


写在前面的话
每一轮新技术的兴起，无论对公司还是个人既是机会也是挑战。
我个人的看法是：如果某项新技术]]></description><category></category></item><item><title><![CDATA[docker 五分钟玩转]]></title><link>https://blog.csdn.net/Watson2016/article/details/74681814</link><guid>https://blog.csdn.net/Watson2016/article/details/74681814</guid><author>Watson2016</author><pubDate>Fri, 07 Jul 2017 14:14:07 +0800</pubDate><description><![CDATA[﻿﻿
   导师给的链接先记下http://cloudman.blog.51cto.com/10425448/1915834]]></description><category></category></item><item><title><![CDATA[linux内核分析1--反汇编分析]]></title><link>https://blog.csdn.net/Watson2016/article/details/72566119</link><guid>https://blog.csdn.net/Watson2016/article/details/72566119</guid><author>Watson2016</author><pubDate>Fri, 19 May 2017 21:27:14 +0800</pubDate><description><![CDATA[“Linux内核分析”实验报告
通过反汇编一个简单的C程序，分析汇编代码理解计算机是如何工作的

原c语言代码如下：
int g(int x)
{
  return x + 15;
}

int f(int x)
{
  return g(x);
}

int main(void)
{
  return f(10) + 1;
}


将main.c文件编译成汇编文件：]]></description><category></category></item><item><title><![CDATA[Ubuntu下安装LAMP及phpmyadmin]]></title><link>https://blog.csdn.net/Watson2016/article/details/72547954</link><guid>https://blog.csdn.net/Watson2016/article/details/72547954</guid><author>Watson2016</author><pubDate>Fri, 19 May 2017 17:15:48 +0800</pubDate><description><![CDATA[Ubuntu下安装LAMP及phpmyadmin

关于Ubuntu下的LAMP配置，已经成为了某一些人的心病，加上phpmyadmin的配置，更是使他们不知所以。现在我就把我在LINUX 下的关于配置LAMP 及phpmyadmin 的一些经验，分享一下。希望对你有些帮助。
我们首先要安装LAMP 就是Apache,PHP5,Mysql5.
打开终端，输入命令行。

1.安装 Apa]]></description><category></category></item><item><title><![CDATA[查找树莓派外网IP]]></title><link>https://blog.csdn.net/Watson2016/article/details/72353334</link><guid>https://blog.csdn.net/Watson2016/article/details/72353334</guid><author>Watson2016</author><pubDate>Tue, 16 May 2017 21:20:21 +0800</pubDate><description><![CDATA[树莓派实战1：查询自己内网，外网ip



这4个实战合起来的完成效果就是：让树莓派每小时把自己ip地址通过邮件自动地发送到自己邮箱




实战2 ：http://blog.csdn.net/make_app/article/details/47305179

实战3 ：http://blog.csdn.net/make_app/article/details/473053]]></description><category></category></item><item><title><![CDATA[操作系统原理与实践3--系统调用]]></title><link>https://blog.csdn.net/Watson2016/article/details/72230850</link><guid>https://blog.csdn.net/Watson2016/article/details/72230850</guid><author>Watson2016</author><pubDate>Mon, 15 May 2017 22:38:43 +0800</pubDate><description><![CDATA[题目来自：https://www.shiyanlou.com/courses/115/labs/569/document


操作系统原理与实践”实验报告

系统调用


实验报告

一、实验目的
建立对系统调用接口的深入认识
掌握系统调用的基本过程
能完成系统调用的全面控制
为后续实验做准备

二、实验内容
在kernal/who.c中实现iam()的系统调用。]]></description><category></category></item><item><title><![CDATA[操作系统原理与实践4--进程运行轨迹的跟踪与统计]]></title><link>https://blog.csdn.net/Watson2016/article/details/72230662</link><guid>https://blog.csdn.net/Watson2016/article/details/72230662</guid><author>Watson2016</author><pubDate>Mon, 15 May 2017 22:29:39 +0800</pubDate><description><![CDATA[“操作系统原理与实践”实验报告
进程运行轨迹的跟踪与统计


进程运行轨迹的跟踪与统计的实验报告

一、实验目的

掌握Linux下的多进程编程技术；通过对进程运行轨迹的跟踪来形象化进程的概念；在进程运行轨迹跟踪的基础上进行相应的数据统计，从而能对进程调度算法进行实际的量化评价，更进一步加深对调度和调度算法的理解，获得能在实际操作系统上对调度算法进行实验数据对比的直接经验。]]></description><category></category></item><item><title><![CDATA[操作系统原理与实践5--内核栈切换的进程切换]]></title><link>https://blog.csdn.net/Watson2016/article/details/72230535</link><guid>https://blog.csdn.net/Watson2016/article/details/72230535</guid><author>Watson2016</author><pubDate>Mon, 15 May 2017 22:25:24 +0800</pubDate><description><![CDATA[基于内核栈切换的进程切换

难度系数：★★★★☆

实验目的

深入理解进程和进程切换的概念；综合应用进程、CPU管理、PCB、LDT、内核栈、内核态等知识解决实际问题；开始建立系统认识。

实验内容

现在的Linux 0.11采用TSS（后面会有详细论述）和一条指令就能完成任务切换，虽然简单，但这指令的执行时间却很长，在实现任务切换时大概需要 200 多个时钟周期。而通过堆]]></description><category></category></item><item><title><![CDATA[操作系统原理与实践10--proc文件系统实现]]></title><link>https://blog.csdn.net/Watson2016/article/details/72229507</link><guid>https://blog.csdn.net/Watson2016/article/details/72229507</guid><author>Watson2016</author><pubDate>Mon, 15 May 2017 21:53:56 +0800</pubDate><description><![CDATA[proc文件系统的实现

难度系数：★★★☆☆

实验目的

掌握虚拟文件系统的实现原理实践文件、目录、文件系统等概念

实验内容

在Linux 0.11上实现procfs（proc文件系统）内的psinfo结点。当读取此结点的内容时，可得到系统当前所有进程的状态信息。例如，用cat命令显示/proc/psinfo的内容，可得到：
# cat /proc/psinfo
pi]]></description><category></category></item><item><title><![CDATA[操作系统原理与实践”9--终端设备的控制]]></title><link>https://blog.csdn.net/Watson2016/article/details/72188549</link><guid>https://blog.csdn.net/Watson2016/article/details/72188549</guid><author>Watson2016</author><pubDate>Mon, 15 May 2017 17:59:53 +0800</pubDate><description><![CDATA[操作系统原理与实践”实验报告
终端设备的控制


字符显示的控制

实验目的

加深对操作系统设备管理基本原理的认识，实践键盘中断、扫描码等概念；通过实践掌握Linux 0.11对键盘终端和显示器终端的处理过程。

实验内容
本实验的基本内容是修改Linux 0.11的终端设备处理代码，对键盘输入和字符显示进行非常规的控制。
在初始状态，一切如常。用户按一次F12后，把应用]]></description><category></category></item><item><title><![CDATA[操作系统原理与实践8-地址映射与共享]]></title><link>https://blog.csdn.net/Watson2016/article/details/71841890</link><guid>https://blog.csdn.net/Watson2016/article/details/71841890</guid><author>Watson2016</author><pubDate>Sat, 13 May 2017 16:56:27 +0800</pubDate><description><![CDATA[地址映射与共享

难度系数：★★★★☆

实验目的

深入理解操作系统的段、页式内存管理，深入理解段表、页表、逻辑地址、线性地址、物理地址等概念；实践段、页式内存管理的地址映射过程；编程实现段、页式内存管理上的内存共享，从而深入理解操作系统的内存管理。

实验内容

本次实验的基本内容是：

用Bochs调试工具跟踪Linux 0.11的地址翻译（地址映射）过程，了解IA-]]></description><category></category></item><item><title><![CDATA[操作系统原理与实践7-信号量的实现和应用]]></title><link>https://blog.csdn.net/Watson2016/article/details/71838562</link><guid>https://blog.csdn.net/Watson2016/article/details/71838562</guid><author>Watson2016</author><pubDate>Sat, 13 May 2017 16:35:33 +0800</pubDate><description><![CDATA[操作系统原理与实践”实验报告
信号量的实现和应用


信号量的实现和应用

实验目的
.加深对进程同步与互斥概念的认识；
.掌握信号量的使用，并应用它解决生产者——消费者问题；
.掌握信号量的实现原理。

实验内容
本次实验的基本内容是：

1.在Ubuntu下编写程序，用信号量解决生产者——消费者问题；2.在0.11中实现信号量，用生产者—消费者程序检验之。3.用信号]]></description><category></category></item><item><title><![CDATA[操作系统原理与实践6-信号量的实现和应用]]></title><link>https://blog.csdn.net/Watson2016/article/details/71785467</link><guid>https://blog.csdn.net/Watson2016/article/details/71785467</guid><author>Watson2016</author><pubDate>Sat, 13 May 2017 10:26:19 +0800</pubDate><description><![CDATA[来自：https://www.shiyanlou.com/courses/reports/373603

操作系统原理与实践”实验报告
信号量的实现和应用


信号量的实现和应用

实验目的
.加深对进程同步与互斥概念的认识；
.掌握信号量的使用，并应用它解决生产者——消费者问题；
.掌握信号量的实现原理。

实验内容
本次实验的基本内容是：

1.在Ubuntu下]]></description><category></category></item><item><title><![CDATA[shell高级变量操作]]></title><link>https://blog.csdn.net/Watson2016/article/details/71512584</link><guid>https://blog.csdn.net/Watson2016/article/details/71512584</guid><author>Watson2016</author><pubDate>Tue, 09 May 2017 22:28:58 +0800</pubDate><description><![CDATA[一、内置变量

1.$BASH

Bash的二进制程序文件的路径（脚本解释器的路径）
$ vim test.sh


输入代码：
#!/bin/bash
echo $BASH


运行代码：
$ bash test.sh


2.$FUNCNAME

当前函数的名字
$ vim test.sh


输入代码：
#!/bin/bash
xyz23 ()
{
  ]]></description><category></category></item></channel></rss>