Posts

CentOS7下python开发环境配置

Image
作者: nicomy2018 原文地址: https://blog.csdn.net/nicomy2018/article/details/78617976 正文: Python在官方网站提供的Windows版本的安装包非常好用,一直‘下一步’就能够成功安装并配置好相应的运行环境,同时还自带pip等工具,非常的好用,但是在CentOS上的安装就需要费点力气了,尤其作为一个python和Linux双料小白想要在CentOS上安装成功就有点费时费力还外带一点点运气了。 1.python3.6.3安装 1.1现有版本 CentOS 7.4自带Python2.7.5,可以通过如下命令查看版本信息 查找python安装位置 [root@localhost/]$  which python [root@localhost/]$ cd /usr/bin/python 查看版本信息 [root@localhostbin]$  ./python --version Python 2.7.5 顺便提一下在安装CentOS安装时选择开发工作站的模式,可选择Python支持。在其他的模式下没有进行验证过。 1.2下载新版本 下载python 3.6.3可以通过网站 https://www.python.org  找到相应的版本下载,也可以采用wget进行下载。wget下载的命令如下: [root@localhost /] $ wget  https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz 下载后的文件存放位置为当前目录位置,比如当前在home下,则下载后的文件存放在home下。 1.3安装新版本 解压文件到tmp目录下 [root@localhost /]  tar-zxvf Python-3.6.3.tgz -C /tmp 在tmp目录下自动生成Python 3.6.3目录,进入该目录 [root@localhost /]  cd /tmp/Python 3.6.3 设定安装路径在/usr/local/bin目录下 [root@localhost Python-3.6.3]$ ./configure--prefix=/usr/lo

对象导论(Java)

//本文涉及一些概念 面向对象语言的五个基本特性 万物皆为对象 程序是对象的集合,它们通过发送消息来告知彼此所需要做的 每个对象都有自己的由其他对象所构成的储存 每个对象都有其类型 某一特定类型的所有对象都可以接收同样的消息 对象的概念: 对象具有状态、行为和标识(也就是 内部数据、方法、内存中唯一的地址) 接口(对象的方法) 接口确定了对某一特定对象所能发出的请求 访问控制的原因 让客户端程序员无法触及他们不应该触及的部分 允许库设计者可以改变类内部的工作方式而不用担心会影响到客户端程序员 单根继承结构 终极基类的名字是——Object 好处: 保证所有的对象具备某些功能 使垃圾回收器(GC)的实现变得容易的多 选择不同容器(集合)的原因 不同容器提供了不同类型的接口和外部行为 不同容器对于某些操作具有不同的效率 //接口List所带来的抽象,把容器之间进行转换时对代码产生的影响降到最小限度 客户端编程 插件 脚本语言          //脚本语言可以解决客户端编程中所遇到的大约80%的问题 Java .Net C# 服务器端编程 CGI(由Perl、Python、C++编写) Servlet(及其衍生物JSP)

传输层概述

Image
本文将一些运输层的知识要点整合,以便回顾 运输层概述 作用: 运输层实现端到端的通信(主机进程之间的通信) 功能: 复用: 指发送方不同的应用进程都可以使用同一个运输层协议传送数据 分用: 指接收方在剥去报文的首部后能够把这些数据正确交付目的应用进程 与网络层的区别: 网络层为主机之间提供逻辑通信 运输层为应用进程之间提供端到端的逻辑通信 协议端口号(端口): 运输层用一个16位的端口号来标志一个端口 //注意:端口号只具有本地意义 16位的端口号允许有65535个不同的端口号 分类: 1.服务器端使用的端口号: 熟知端口号(系统端口号)0-1023                 //HTTP 80 登记端口号 1024-49151 2.客户端使用的端口号: 49152-65535 由于这类端口号仅在客户进程运行时才动态选择,因此又叫做 短暂端口号 运输层的两个主要协议 用户数据报协议UDP(UDP用户数据报) 传输控制协议TCP(TCP报文段) 用户数据报协议UDP: UDP: 无连接                        //即发送数据之前不需要建立连接 尽最大努力交付 面向报文                    //UDP对应用层交下来的报文既不合并,也不拆分,而是保留这些报文的边界。也就是说,应用层交给UDP多长的报文,UDP就照样发送,即一次发送(交付)一个报文。因此应用程序必须选择合适大小的报文。 没有拥塞控制            //因此网络出现的拥塞不会使源主机的发送速率降低 支持一对一、一对多、多对一多对多的交互通信 首部开销小                //8字节 UDP首部格式: 首部字段只有 8 个字节,包括源端口、目的端口、长度、检验和。12 字节的伪首部是为了计算检验和临时添加的。 源端口                //源端口号,需要对方回信时使用。不需要时可全为0 目的端口              //目的端口号,在终点交付报文时必须使用 长度                    //UDP用户数据报的长度,其最小值是8(仅有

网络层概述

Image
本文将一些网络层的知识要点整合,以便回顾 网络层的服务 网络层向上只提供: 简单灵活的 无连接的 尽最大努力交付的 虚电路服务 数据报服务(√) 这么做的 好处 是:网络造价低,运行方式灵活、且可以适应多种应用 网际协议IP 概述 :使用 IP 协议,可以把异构的物理网络连接起来,使得在网络层看起来好像是一个统一的网络。 好处 :尽管互连在一起的网络的硬件地址体系各不相同,但IP层抽象的互联网却屏蔽了下层这些很复杂的细节。只要我们在网络层上讨论问题,就能使用统一的、抽象的IP地址研究主机和主机或路由器之间的通信。 问题 :能不能让大家都使用相同的网络?这样可使网络互连变得比较简单。 回答 :不行,没有一种单一的网络能够适应所有用户的需求。 与IP协议配套使用的协议 地址解析协议 ARP(Address Resolution Protocol) 网际控制报文协议 ICMP(Internet Control Message Protocol)  网际组管理协议 IGMP(Internet Group Management Protocol) 网络互连的中间设备 物理层:转发器(repeater)  数据链路层:网桥(bridge) 以太网交换机(switch)  网络层:路由器(router) 在网络层以上:网关(gateway) IP地址 关于IP地址需要注意的是: 全0::=“这个” 全1::=“所有的” 网络号全0代表“ 本网络 ” 网络号为127(即 0111 1111)保留供本地软件做 环回测试 主机号全为0代表“本主机所连接到的 单个网络地址 ” 主机号全为1代表“本网络上的 所有主机 ” 同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的 IP地址的编址方法所经历的三个历史阶段: 分类的IP地址 子网的划分 构成超网 分类的IP地址: (ABC类)IP地址 ::= {<网络号>,<主机号>}             // 注 :“::=”表示“定义为” 网络号: 它标志主机或路由器所连接到的网络,且网络号在整个互联网范围内必须是

操作文件

之前我们所讨论的输入输出流类关心的是文件的内容,而我们在此处要讨论的类关心的是在磁盘上如何储存文件。我将在下文介绍Path接口和Files类,它们是在 JavaSE 7中新添加进来的   它们用起来比自JDK 1.0以来就一直使用的一直使用的File类要方便的多 Path Path表示的是一个目录名序列,其后还可以跟一个文件名。 首先我们要理解 绝对路径 和 相对路径 的概念 绝对路径和相对路径: 以跟部件开始的路径是绝对路径;否则,就是相对路径。 当指定一个相对文件名(相对路径)时,例如"myfile.txt","mydirectory/myfile.txt"。 则文件位于JAVA虚拟机启动的路径的相对位置    System.getProperty("user.dir"); //得到JAVA虚拟机启动路径的相对位置 //命令行方式下启动路径就是命令解释器的当前路径 //如果使用集成开发环境,则启动路径由IDE控制 方法 获取路径: Java.nio.file.Paths 7 static Path get(String first,String ... more); 静态的Paths.get方法接受一个或多个字符串,并将它们用默认文件系统的路径分隔符连接起来 也接受含多个部件构成的单个字符串(例如" E:\\JDK源码\\javax\\lang\\model " ) 组合/解析路径: Java.nio.file.Path 7 Path resolve(Path other) 调用p.resolve(q)按照下列规则返回一个路径(Path) 如果q是绝对路径,则结果为q 否则,根据文件系统的规则,将“p后面跟着q”作为结果 Path resolve(String other) resolve方法有个便捷方式,他接受一个字符串而不是路径 Path resolveSibling(Path other) Path resolveSibling(String other) 如果other是绝对路径,那么就返回other;否则,返回通过连接this的父路径和other