很高兴加入书山府,迎来了新的挑战。Flask Python3 单元测试….
Python3 升级
公司的业务需要从PHP业务升级到Python3 Flask.早点接触实际项目对于学习新生事物是直接的,在这里我不打算把所有Python3与Python2的
语法区别全部列出来,采取大方向学习主要的知识点,小地方多接触不同点,在这里记录下来,作为每天学习的心得。
1 | from flask import render_template |
为了应对不同笔试中的语言问题,现采取C/C++/Python/Java来掌握不同笔试题的知识点。
1.给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
示例:
1 | 给定 nums = [2, 7, 11, 15], target = 9 |
1 | class Solution(object): |
浅拷贝的结果是两个引用指向同一个对象,即同一片内存区域。
1 | var Ethan = {name: 'xia.weihua', height: '177cm', girlfriend: {name: 'leftHand'}}; // Just a joke, never mind. |
1 | { name: 'xia.weihua', |
本文将粗略描述一台电脑或者多台电脑搭建集群服务器。以此提供分布式发布订阅消息系统,大数据hadoop,简单的机器学习等多种服务需要的运行环境。
环境与工具:Windows 10、vmware 14 Pro、ubuntu 16LTS、kafka_2.11-0.11.0.0、zookeeper-3.4.5、xshell5
配置:8G内存、256G固态、 1T机械、 GTX 850、Intel i5-CPU
kafka:一种高吞吐量的分布式发布订阅消息系统
zookeeper:分布式应用程序协调服务,是Hadoop和Hbase的重要组件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
在虚拟机中安装ubuntu16. 下载ubuntu
安装完毕后,进入登录界面,此时登录的是安装时注册的用户。
接着创建root用户,再登入root
1 | wh136@ubuntu:~$ sudo passwd root |
本部分介绍 socket — Low-level networking interface 偏底层的接口
区别于 socketserver — A framework for network 框架
OSI七层协议:物理层,数据链路层,网络层,运输层,会话层,表示层,应用层
TCP/IP的体系结构:网络接口层,网际层IP,运输层(TCP或UDP),应用层(TELNET,FTP,SMTP)
五层协议体系结构:物理层,数据链路层,网络层,运输层,应用层
套接字=IP地址 + 端口 + TCP协议或UDP协议 进程与进程之间的网络通信方式或者本机不同进程通过文件系统之间的通信方式
套接字家族选择(socket family)
基于文件的套接字:单机套接字,使用文件系统作基础,AF_UNIX或者AF_LOCAL
基于网路的套接字:不同主机进程之间通信的套接字,AF_INET和AP_INET6 (AF_INET是用于IPV4,而AF_INET6是用于IPV6)
套接字传输数据类型选择(type)
TCP协议:通信前需要建立连接,连接是可靠的。使用的套接字类型是SOCK_STREAM
UDP协议:无需连接就能通信,速度快,可靠性不高。传输用户数据报格式UDP的数据。使用的套接字类型是SOCK_DGRAM
由于套接字创建以后归属与一个进程。因此,在操作系统课本中有进程的状态与转换(王道计算机操作系统第28页)
一个服务端进程的状态如下:创建—>就绪—>运行—>阻塞(一直while循环等待客户端)—>运行(收到请求链接并响应 三次握手)->终止(关闭服务停止运行)
Simple Object Access Protocol是应用程序交换消息数据的一种协议,使用在web服务(Web Service),SOAP是其简写,
由于非常容易与Service-oriented architecture(SOA)产生歧义,在2003年SOAP这种缩写被废止了。
一个简单对象访问协议(Simple Object Access Protocol)的消息是一个普通的XML文档,并包含以下元素。
1.一个信封元素Envelope element用于定义一个XML文档为简单对象访问协议(Simple Object Access Protocol)的消息。
2.一个头元素header element包含头信息
3.一个体元素body element包含呼叫和应答信息
4.一个过错元素fault element包含问题和状态信息