Hyman的博客

你想要什么样的生活,并真正为之努力,你一定会得到它!

网络编程(24)—— linux中write和read函数的阻塞试验

刚刚接触网络编程时,很容易被客户端和服务器之间的交互搞晕,例如各种函数的阻塞和非阻塞就让人头疼。例如在我的印象中linux中用于用于对文件描述符进行读写的write()函数和read()函数是非阻塞函数,但是在一次网络通信的试验中发现它们又是阻塞的,后来man了一下write和read,发现其文档...

2016-10-31 08:15:39

阅读数:3812

评论数:4

【git】常用的git命令

1、添加本地更新 git add . 2、提交本地更新 git commit -m '更新说明' 3、提交到远传库 git push origin master 4、从远传库更新 git pull origin master 5、从远传库克隆 git  clone 远传库的项目地址 6、放弃本地所...

2016-10-29 11:14:00

阅读数:590

评论数:0

【C++面向对象】C++中运算符重载的两种方式

我们知道在C++中可以通过重载运算符的方式,使类实现类似于基本类型的运算符操作,如+、-、*、/等等。本文介绍这种重载运算符的两种方法。 我们先自定义一个类,来作为本次研究的对象: class Integer { public: Integer(){} Integer(int i):...

2016-10-28 11:21:49

阅读数:5018

评论数:2

网络编程(23)—— socket客户端连接上服务端是在listen之后而非在accept之时

我们知道在TCPIP中客户端同服务端建立连接,需要三次握手:    第一次:客户端向服务端请求发起连接,发送SYN    第二次:服务端收到客户端的请求后,向客户端回送ACK和SYN    第三次:客户端接收到服务端可以连接的信息,再向服务端发送ACK,表示收到服务端信息完成连接。    在刚刚接...

2016-10-27 17:37:57

阅读数:1445

评论数:0

【C++面向对象】C++的类型成员指针

本文主要研究下C++中的类型成员指针。 一、类型成员指针是什么鬼?   相信很多童鞋刚刚听到这个名字时,第一反应就是不就是类中的指针成员变量吗,有什么好研究的?错,而且是大错而特错,请注意这两种叫法的区别:前者是类型成员指针,后者是类指针成员。差之毫厘失之千里也。   那么什么是成员类型指针...

2016-10-26 09:39:46

阅读数:505

评论数:0

网络编程(22)—— socket客户端和服务端收发数据包需要一对一的关系吗?

其实这个题目应该是一个疑问句,接触了这么久的TCPIP网络编程,一直不敢确定是不是在客户端和服务端分别进行读和写时,write和read要成对出现? 我想这也是很多网络编程的新手存在的疑问吧。         下面,就针对这个问题进行试验,以解答长久以来的疑惑。   我们写这样一个服务端,每当接收...

2016-10-25 14:03:02

阅读数:1364

评论数:0

网络编程(21)—— 使用epoll进行IO复用

之前介绍了用于IO复用的select函数,其基本原理就是先在select函数中注册需要进行监视的条件操作符的集合,每次调用select,若集合中某个文件操作符存在待读数据、可传输无阻塞数据、或者异常时,改文件操作符在集合中被保留,其他被清零。   利用select进行IO复用,适合比较少连接或者有...

2016-10-24 17:37:11

阅读数:852

评论数:0

网络编程(20)—— 广播的编程实现

一、广播和多播的区别     多播和广播的范围有区别,多播即使在跨越不同网络的情况下,只要加入多播组就能接受数据。而广播只能向同一网络中的主机传输数据。 二、广播的分类     广播分为两种,直接广播和本地广播。二者的主要差别在于IP地址,直接广播的IP地址,除了网络地址外,其余主机地址全部设...

2016-10-23 08:53:48

阅读数:1064

评论数:0

用flask开发个人博客(29)—— 其他主要模块

前面介绍了几个基本的flask程序结构的模块,下面回顾下所有模块的功能: 1.    config.py: import os basedir = os.path.abspath(os.path.dirname(__file__)) class Config: SECRET_KEY = ...

2016-10-22 11:23:32

阅读数:1786

评论数:0

用flask开发个人博客(28)—— 利用unittest进行单元测试

下面分析下这个webapp的单元测试模块test,请先看下目前test下的文件结构: 目前__init__.py文件还是空,请查看test_basic.py的代码: import unittest from flask import current_app from app import cre...

2016-10-21 21:56:35

阅读数:2500

评论数:1

用flask开发个人博客(27)—— 利用程序工厂函数创建Flask程序对象并注册蓝本

什么是程序工厂函数?请先看__init__.py的代码: from flask import Flask,render_template from flask.ext.bootstrap import Bootstrap from flask.ext.mail import Mail from f...

2016-10-21 14:57:47

阅读数:2430

评论数:0

用flask开发个人博客(26)—— 利用config.py配置文件动态的创建不同的Flask对象

对配置进行封装的目的是根据不同的使用场景,给flask的app赋予不同的config,最经典的用法就是把开发、测试和生成分开,通过配置文件使用不同的数据库。 config.py代码如下:       import os basedir = os.path.abspath(os.path.dir...

2016-10-20 22:52:08

阅读数:6470

评论数:1

【git】git修改历史提交

git使用amend选项提供了最后一次commit的反悔。但是对于历史提交呢,就必须使用rebase了。        git rebase -i HEAD~3        表示要修改当前版本的倒数第三次状态。         这个命令出来之后,会出来三行东东:         pick...

2016-10-20 15:21:13

阅读数:576

评论数:0

用flask开发个人博客(25)—— 博客程序结构介绍

从本文开始,我将对flask一个经典的大型程序结构进行分析,以巩固之前学习内容的目的。首先,展示下这个多文件Flask程序的基本结构:| |- Myblog     |- app         |- templates         |- static         |- main     ...

2016-10-19 23:22:02

阅读数:1690

评论数:0

【Python环境】Linux修改系统以及pip更新源

原文链接:http://blog.csdn.net/henulwj/article/details/47061527?locationNum=2&fps=1

2016-10-19 17:43:29

阅读数:1694

评论数:0

【Python环境】安装pip、virtualenv虚拟工作环境

1、安装和使用pip pip 是一个Python包管理工具,主要是用于安装 PyPI 上的软件包,可以部分替代 easy_install 工具。 1.1 安装pip sudo apt-get install pip 1.2 升级pip pip install --upgrade pip ...

2016-10-19 10:24:06

阅读数:1513

评论数:0

【C++面向对象】深拷贝和浅拷贝

下面我们主要讨论下C++中深拷贝和浅拷贝的问题,何为浅拷贝和深拷贝?它主要针对拷贝指针时出现的两种不同的情况。   首先,解释下什么是浅拷贝。假设我们动态创建了一片内存,指针p指向这片区域,如下图所示:  int* p=new int(100);       我们创建了一个int*指针p,并...

2016-10-18 11:38:41

阅读数:537

评论数:0

【C++面向对象】C++中成员函数的const属性

下面主要对C++中关于成员函数的const属性进行讨论: (1)形参为const       这种情况和普通函数的形参为const的形式类似,形如: void print(const int& val);      此时,在print函数的内部,不能修改val引用所指的值,当修改时编译器...

2016-10-17 18:40:03

阅读数:597

评论数:0

【Python环境】默认库安装路径和设置库路径

前期

2016-10-16 23:58:05

阅读数:7464

评论数:0

网络编程(19)—— 多播的编程实现

多播,使用UDP协议传递数据的一种方式,发送数据的主机向一个计算机组发送数据,所有注册在该计算机组中的计算机都能接受到该数据。在网络层,一般通过路由器可实现该功能。首先,发送数据的主机发送一组数据,然后到达支持多播功能的路由器后,路由器会进行复制,将数据包复制后发给本组的其他计算机。   在软件...

2016-10-16 10:19:40

阅读数:855

评论数:0

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