leetcode刷题笔记(一)
======================
更多【笔记】TCP/IP---链路层
以太网 是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率(仅指标准以太网的速率而已)运行在多种类型的电缆上。以太网与IEEE802.3系列标准相类似 数据封装 上一篇笔记有讲到过封装,数据封装过程是由应用程序开始发送数据,经过传输层和网络层并被封装最后到数据链路层封装后转换成比特流。 封装格式 最常用的封装格式为RFC 894(以太网的封装格式)。下图是RFC 894与另外一种封装格式RFC 1042(IEEE802.2/802.3)的区别 目的地址:也就是网卡的硬件地址,6个字节,指明帧的接受者 源M地址:网卡的硬件地址,6个字节,指明帧的发送者 长度:2个字节,指明该帧数据字段的长度,但不代表数据字段长度能够达到(2^16..
更多【笔记】TCP/IP---IP:网际协议
简介 IP是TCP/IP协议族中最核心的协议。所有的TCP、UDP、ICMP和IGMP数据都以IP数据报格式传输。IP也决定了接收到的数据将被分发到哪个网络进程。 IP地址 IP地址(Internet Protocol Address),缩写为IP Adress,是一种在Internet上的给主机统一编址的地址格式,也称为网络协议(IP协议)地址。它为互联网上的每一个网络和每一台主机分配一个逻辑地址,常见的IP地址,分为IPv4与IPv6两大类,当前广泛应用的是IPv4,目前IPv4几乎耗尽IPv6号称可以为世界上每一粒沙子都编上地址;如无特别注明,一般讲的的IP地址所指的是IPv4。 MAC地址 MAC(Media Access Control,介质访问控制)地址,或称为物理地址,也叫硬件地址,用来定义网..
更多【笔记】TCP/IP---简介
分层 网络协议通常分为不同的层次进行开发,每一层分别负责不同分通信功能。 TCP/IP协议族分为四层 链路层: 与硬件相关,通常用来处理计算机中的网卡,设备驱动等。 ####运输层: 有两个不同的传输协议— TCP(传输控制协议) 和 UDP(用户数据报协议)。 平时开发中与数据库交互的接口用到的就是运输层 ####网络层: 处理分组在网络中的活动。IP协议,ICMP协议都是网络层。IP协议不可靠,传输不稳定,不一定能接收到而且可能是无序的。 ####应用层: 任何TCP/IP都会实现这些应用程序,相当于是捆绑在TCP/IP上的程序 Telnet远程登录 FTP文件传输协议 SMTP简单邮件传输协议 SNMP简单网络管理协议 一个局域网内有两台主机,都运行ftp协议。其中涉及到哪些网络层? 图中是一..
更多Python爬虫之Scrapy-框架原理
Scrapy介绍 scrapy框架包含以下几个部分 Scrapy Engine 引擎 Spiders 爬虫 Scheduler 调度器 Downloader 下载器 Item Pipeline 项目管道 Downloader Middlewares 下载器中间件 Spider Middlewares 爬虫中间件 框架中有那么多部分组成,那每个部件都是用来做什么的?查阅官方文档后我有了以下结论 Scrapy Engine引擎 它是负责整个框架中信号,数据等传递功能。相当于是军队中的主公,任何事情必须经过它的手由它来决定这件事情由谁来负责。 Spiders爬虫 是这个框架中的军师,负责处理所有的Response,返回封装在Item中的数据包。如果有更深层的URL,它将返回给Scrapy Engine,再次..
更多Python爬虫之Scrapy-安装及入门
简介 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。 ###环境需求 Python2.7 或者Python3.5以上 安装 在安装前需要确定当前的Python是什么版本,否则会出现环境变量与当前版本不匹配的情况导致找不到文件:command not found pip install scrapy 如果安装太慢,就把镜像源改为国内: pip install -i https://pypi.douban.com/simple scrapy 安装过程中你会发现,scrapy有大量的依赖库: twisted 基于事件驱动和异步的网络框架 lxml python的一个解析库,支持HTML和XML的解析,支持XPath解..
更多Python数据分析之Pandas-matplotlib基础功能(二)
使用pandas和seaborn绘图 Series和DataFrame自带的生成图表方法: import pandas as pd s = pd.Series(np.random.randn(10).cumsum(), index=np.arange(0, 100, 10)) s.plot() 使用pandas做一张堆积柱状图 展示每天各种聚会规模的数据点的百分比 tips = pd.read_csv('examples/tips.csv') party_counts = pd.crosstab(tips['day'], tips['size']) print(party_counts) size 1 2 3 4 5 6 day Fri ..
更多Python数据分析之Pandas-matplotlib基础功能(一)
matplot API入门 如何引入: import matplotlib.pyplot as plt 一个简单的例子: import numpy as np data = np.arange(10) plt.plot(data) print(data) [0 1 2 3 4 5 6 7 8 9] 效果如下: Figure和Subplot matplot的图像都位于Fugure对象中,相当于一个画板,如何创建Figure对象。 fig = plt.figure() ax1 = fig.add_subplot(2, 2, 1) ax2 = fig.add_subplot(2, 2, 2) ax3 = fig.add_subplot(2, 2, 3) 想要实现绘图,必须先使用add_subplot..
更多实战项目练习-【2018世界杯】用Python分析夺冠球队
前言 在网上找到了个用Python分析2018世界杯夺冠热门的项目,感觉很有意思准备拿来练练手。 因为目前还没有学到图形可视化部分,所以这部分内容会完全借鉴网上的教程。 分析目的 通过数据分析找出哪些队伍是这次世界杯的夺冠热门球队 开发环境 Python 3.7 SublimeText2 初步分析数据情况 import numpy as np import pandas as pd import matplotlib.pyplot as plt from pandas import DataFrame,Series df = pd.read_csv('results.csv') print(df.head()) 由于sublimetext上打印数据显示不全,所以打印数据放在ipython中了 I..
更多实战项目练习-链家二手房数据(清洗与合并)
前言 现在已经学到了数据规整与合并这一章,为了加深对数据分析的理解接下来需要做个小项目练习一下。 目的 通过项目能够真实的了解到数据分析是做什么的 加深对pandas的熟悉程度 重新梳理一下目前学到的那些基础知识,查缺补漏 前期准备 此次项目准备对2018年北京链家网的二手房数据做一次分析 数据来源:Python数据科学的公众号 工具:暂时还是使用iTerm2,还未找到更合适的开发工具。Sublime Text2目前也在用,这次项目小不打算用这个。 导入数据文件并进行初步观察 这些观察包括了解数据特征的缺失值,异常值,以及大概的描述性统计。 In [10]: lianjia_df = pd.read_csv('lianjia/lianjia.csv') # 先查看前5行数据 In [11]: lian..
更多