自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hyman的博客

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

  • 博客(31)
  • 资源 (9)
  • 收藏
  • 关注

原创 【C++面向对象】C++中访问控制符限定的是类而非对象

面向对象的语言中都设置了访控属性来控制外部对类成员的访问,这种访控属性是属于类的,而非属于对象!怎么理解这句话呢?首先看下面的例子:class Student{ private string name; void foo(const Student& s) { std::cout<<s.name<<std::endl; }};上面的Student类中的f

2016-09-30 14:14:11 1425

原创 【C++数据类型】const 引用的几点用法

一、作为函数形参const引用作为函数形参,可以实现传入右值和常左值实参,我们通过和普通引用作为形参进行对比来说明这一点。首先,如下代码,将普通引用作为函数print的形参,传入右值和常左值引用,然后进行编译:#includeusing std::cout;using std::endl;void print(int& a){ cout<<a<<endl;}int mai

2016-09-29 11:02:00 1644

原创 用flask开发个人博客(14)—— flask中本地化时间的引用

flask中使用Flask_Mement来本地化日期和时间,在test.py文件中需要这样引入Flask_Mement模块:from flask.ext.moment import MomentMoment(app)而在html中我们需要先引入moment.js和jquery.js两个js库,因为Flask_Mement需要依赖这两个库,我们在html文件中的head标签中进行引用:

2016-09-28 23:43:30 2452 2

原创 【C++内存管理】浅析C++中函数调用时的内存分配-函数调用过程中其他函数相关的内存分布

#includeusing namespace std;void print(){ cout<<"hello world"<<endl;} void test(){ int arr[1]; arr[2]=(int)print;} int main(){ test(); return 0;}以上代码,运行结果为:[Hyman@Hyman-PC cplus

2016-09-28 18:57:29 1288

原创 用flask开发个人博客(13)—— 链接静态资源

之前介绍过flask中查看路由映射关系的方法:>>> from test import app>>> app.url_mapMap([ user>, index>, ' (HEAD, OPTIONS, GET) -> static>, ' (HEAD, OPTIONS, GET) -> test>])上面的映射关系中,除了第三种之外都是我们在test.py中通过代码写入的映射关

2016-09-27 23:52:02 5396

原创 【C++内存管理】浅析C++中函数调用时的内存分配-函数局部变量的内存分配

学习了C++这么久,内存问题感觉一直是一个拦路虎一样,说懂了感觉懵懵懂懂,说没懂吧,感觉也不是啥都不知道。有必要把它整理出来作为自己的一个知识体系的架构吧。现在就从函数调用时的内存管理入手。一、函数中普通变量的内存分配问题我们知道当一个函数进行调用时,函数的形参、以及函数的局部变量都会在栈中被分配内存,而栈又可分为两种,一种是栈底不变,栈顶不断的动态变化;另一种是栈顶不变,栈底在动态变

2016-09-27 11:27:07 2556 1

原创 网络编程(12)—— 利用wait和waitpid函数消毁僵尸进程

僵尸进程的产生主要是因为父进程未向操作系统主动索要子进程的返回值(return或者exit),而要销毁僵尸进程,就需要父进程利用函数向操作系统索要该值。当子进程返回时把返回值交给操作系统,而操作系统会把该值放到内存中,我们要做的就是利用函数读取该内存块中值。1、wait函数    wait函数是阻塞函数,其原型如下。wait函数可以等待任意子进程结束,其返回值是该子进程的进程ID。其参

2016-09-26 23:31:17 1959

原创 用flask开发个人博客(12)—— 自定义错误界面

flask中可自定义错误处理界面,如常见的404错误(客户端请求未知的页面或者路由),和500错误(服务器内部异常):test.py:@app.errorhandler(404)def page_not_found(e): return render_template('404.html'),404@app.errorhandler(500)def internal_

2016-09-26 23:24:32 2249

原创 网络编程(11)—— 进程和僵尸进程

一 新建进程    在linux中,可以用fork函数创建一个进程的副本(windows中无该功能),fork函数的原型如下:#include pid_t fork(void);若在主进程调用fork函数,将会在内存中原样拷贝主进程而形成子进程,这样子进程和主进程就会同时享有fork之后的代码,而在主进程中fork函数返回子进程的ID,而在子进程中fork返回的进程ID值为0,通过f

2016-09-26 09:08:31 2390

原创 【C++数据类型】C++中的类型转换(三)

下面,主要介绍下C++中的reinterpret_cast我们先看一个例子:#includeusing namespace std;int main(){ int i=100; int* pi=&i; double* dpi=pi; cout<<*pi<<endl; return 0;}我们知道,int类型的数据可以隐式转换成double类型的数据,那么int*能否

2016-09-23 23:37:35 863 2

原创 【C++数据类型】C++中的类型转换(二)

二、常类型转换        常类型转换,是去除变量的常量属性,我们先看下面的例子:#includeusing namespace std;int main(){ const int i=100; int* pi=&i; *pi=200; cout<<i<<endl; return 0;}        请思考,这段代码可以编译通过吗?会不会正常打印出2

2016-09-21 14:27:34 876

原创 【C++数据类型】C++中的类型转换(一)

我们知道C++是一种强类型的语言,在任何变量在使用之前,必须先要进行声明。C++也支持类型之间的转换,而且在保证类型安全的情况下还可以做一些隐式的类型转换,如int类型变量可以直接隐式转换成char型:int i=0;char c=i;除了隐式类型转换之外,C++还支持强制类型转换,共有6种转换形式:1、沿用C语言中的:type2 var2=(type2)var1

2016-09-21 11:42:47 1035

原创 【C++数据类型】C++中数组名的二义性

C++中数组名的二义性表现在在不同的上下文,数组名所代表的含义可能不一样,我们都知道数组名一般情况下表示数组首元素的地址,但是如下面的例子:#includeusing namespace std;void fun(int arr[3]){ cout<<sizeof(arr)<<endl;}int main(){ int arr[3]={0}; cout<<sizeo

2016-09-21 11:40:34 1595

原创 用flask开发个人博客(11)—— 模板中代码的重复使用

一、宏的引用上节介绍过将宏保存到单独的html文件中,并重复引用的语法:{% import ‘macros.html’ as macros %}{% for comment in comments %} macros.render_comment(comment){% endfor %}通过宏定义到文件中,可以实现在其他文件中的重复利用,而且把宏集中到一个文件也

2016-09-20 22:44:10 2975

原创 用flask开发个人博客(10)—— Jinja2模板中的控制结构

前面介绍了Jinja2模板中的变量,下面介绍下模板中的控制结构。if语句:{% if condition %} ...{% else %} ...{% endif %}在模板文件中实现,输入用户名时浏览器上显示Hello 用户名,若不输入用户名显示Hello Stranger:test.html:{% if user %} Hello {{use

2016-09-19 22:57:39 3346 2

转载 浅谈UML中类之间的五种关系及其在代码中的表现形式

原文出自:http://www.cnblogs.com/DebugLZQ/archive/2013/05/13/3066715.html什么是类?将某类东西归纳在一起,可以成为一个类。类有很多种提炼角度,需要根据系统地目标、业务的场景,选取合适的角度对事物进行归纳。什么是类图?类图可能是UML中使用的最多的一种图。和其他图一样,类图的基本

2016-09-19 16:41:19 1558

转载 四步轻松实现用Visio画UML类图

原文链接:四步轻松实现用Visio画UML类图四步轻松实现用Visio画UML类图本节和大家一起学习一下用Visio画UML类图的方法,主要有四个步骤,这里和大家分享一下,相信通过本节的学习,你对Visio画UML类图的步骤一定会有所了解。 用Visio画UML类图 对于画类图的工具很多,曾经学过用starUML画类图,但这个是用于Java语言的,对于用vs编程C++语言,

2016-09-19 15:31:12 63802 2

原创 用flask开发个人博客(9)—— Jinja2模板中的变量

在前面介绍过得{{ name }}结构表示一个变量,他是一种特殊的占位符,告诉模板引擎这个位置的值从渲染模板时使用的数据中获取。在模板中可以识别所有类型的变量甚至是一些复杂的类型。test.html:A value from a dictionnary:{{mydict['key']}}A value from a list:{{mylist[2]}}A value from a

2016-09-18 23:16:38 9852 1

原创 网络编程(10)—— 通过设置可选项取消socket的TImeWait状态以及开启Nagle算法

一、Time_Wait。我们先回顾一下之前学过的socket断开连接时的四次握手过程:第一次握手:主机A向主机B提出断开连接的请求。第二次握手:主机B接收到请求后向主机A传递消息:请稍等,稍后断开连接第三次握手:主机B端向主机A发送消息:现在可以断开连接第四次握手:主机A向主机B发送消息:收到,马上断开连接。而发起断开连接请求的主机A在完成第四次握手之后,会进入Time

2016-09-18 11:26:24 4039 1

原创 网络编程(9)—— 怎么获取和设置socket的输出\输入缓冲等多种可选项

套接字中可以设置和获取多种可选项,包括套接字的类型(TCP套接字还是UDP套接字)、接收和发送缓冲区的大小等等,详见《TCP/IP网络编程》140页。我们利用getsockopt和setsockopt进行套接字的可选项信息的获取和设置。#include int getsockopt(int sockfd, int level, int optname,void *optval, s

2016-09-18 11:23:35 4475

原创 用flask开发个人博客(8)—— flask中的模板

一般而言,视图函数中存在两种逻辑,业务逻辑和表现逻辑。业务逻辑诸如我们在登录页面时输入用户名和密码后,点击确定按钮时,在数据库验证该用户名和密码是否正确,表现逻辑就是返回的要显示的正确的html文件。业务逻辑和表现逻辑混杂在一起很容易导致代码的难以理解和维护。模板的引入就是为了解决这一问题,flask使用Jinja2模板引擎,将表现逻辑封装,使得业务逻辑和表现逻辑分离。flask中所使用的

2016-09-17 20:13:17 4392

原创 用flask开发个人博客(6)—— 为flask程序添加命令行解释器

使用flask的方便之处在于可以使用大量的扩展功能,如数据库和用户认证都是通过扩展功能实现。打算开启flask时支持命令行选项,我们需要引入flask-script扩展。from flask.ext.script import Managerapp=Flask(__name__)manager=Manager(app)...if __name__=='__main__':

2016-09-16 18:32:07 4746

原创 用flask开发个人博客(5)——flask中的四种响应类型

在之前的代码中,视图函数都返回了一个字符串,在实际的开发中其返回的html文件内容,本质其实也是字符串。下面总结下flask中可以作为响应的几种方法。1、响应字符串。这个在前面已经说明过,但是需要指出的是,其实每次视图函数在响应时还可以附带状态码。比如状态码为200,表示请求已经被成功处理。状态码为400,表示请求无效。@app.route('/')def index():

2016-09-16 17:59:55 7919

原创 用flask开发个人博客(3)—— flask中的请求和视图函数映射

flask中通过修饰器对路径和视图函数进行了映射,如在映射当前路径时,通过了以下语句@route('/'): def index(): ... return ...上面是python中修饰器的语法。修饰器可以对函数进行封装,可以通过修饰器进行做一些在调用函数时必须做的一些操作。将函数通过修饰器进行修饰之后,再次调用该函数就不会再单纯的调用之前该函数原有的

2016-09-15 22:36:03 5786

原创 用flask开发个人博客(2)—— Flask中的请求对象request

在介绍flask中的request之前,先简单介绍下python中的ThreadLocal对象。ThreadLocal,故名思义,就是线程中的全局变量,最近才接触这个概念,之前在C++和C#中还没遇到过这个东西。首先看下下面的代码:         import threadinglocalobj=threading.local()def threadfunc(name): l

2016-09-15 07:37:53 7620

原创 用flask开发个人博客(1)—— 一个简单的flask程序

1、创建flask程序实例from flask import Flaskapp=Flask(__name__)Flask接受一个字符串作为参数,这个参数决定程序的根目录,以便于能找到相对于程序根目录的资源文件的位置,通常这种情况下都使用  __name__作为Flask参数。2、创建路由映射@app.route('/')def index(): return

2016-09-14 22:32:37 11840 2

原创 网络编程(8)—— IP地址和域名之间的转换

域名,简单来理解就是我们平常说的网址,比如登录百度时,会在IE浏览器的地址栏输入www.baidu.com,这里我们输入的就是百度的域名。而实际上我们在互联网中要找到某个网站,是需要这个网站的IP地址的,因为在网络中IP地址就是一台主机的联系地址,而通过域名寻找主机时,就需要先将域名转换成IP地址,这就是我们通常说的DNS服务器的作用。       我们通过gethostbyname函数可以通

2016-09-13 07:51:35 10384 1

原创 网络编程(7)—— 使用shutdown半关闭服务器和客户端的连接

之前在socket服务器和客户端中,在linux平台上一直使用close,windows平台使用closesocket断开连接,无论是close和closesocket,都是输入和输出的链接同时断开。试想下面一种应用场景,搭建一个文件传输的服务器和客户端,客户端从服务器处下载文件,当下载的文件完成时,客户端需要向服务器传递一个字符串,比如“ThankYou”。处理这种情况,再使用之前的close或

2016-09-12 17:10:03 5080

原创 网络编程(6)—— 基于Windws系统的UDP协议socket服务器和客户端

利用UDP协议实现一个简单客户端和服务器聊天的功能,服务器端代码:#include#include#include #include#define BUF_SIZE 30void error_handling(char* message);int main(int argc,char* argv[]){ WSADATA wsaData; SOCKET servSock

2016-09-07 07:59:54 4020

原创 网络编程(5)—— 基于Linux系统的UDP协议socket服务器和客户端

不同于TCP协议的可靠性,UDP是一种不可靠的无连接的协议。它的不可靠性类似于我们在现实生活中的寄信操作,在寄信时我们只需要填写好地址,将信投入邮筒而无需关注新到底寄没寄到,因为那我们无法进行控制。它的无连接性是指,在TCP中如果有10个客户端连接,那么我们就需要在服务端启用10个Socket和客户端进行通信,而在UDP中我们只需要一个Socket即可,不管有多少客户端连接,只需要一个Socket

2016-09-06 08:46:20 4545

原创 WPF中的资源(二) - 二进制资源

WPF中的二进制资源,就是类似于MFC中在对话框程序中添加的图片、字符串等资源,程序在运行时将其转换成二进制,以供程序使用。下面以将字符串转换成二进制为例来说明,二进制资源的使用方法:首先在项目的Properties->Resources.resx中添加如下的字符串:然后在Xmal文件中,添加如下代码:<Window x:Class="_9_5.MainWindow"

2016-09-01 10:33:59 1851

mock框架插件 mod.dll

mod.dll是一款单元测试模拟框架,常常被用来进行单元测试 [TestMethod] public void Relocation() { var mockContext = new Mock<ControllerContext>(); mockContext.Setup(c => c.HttpContext.Response.Redirect("http://www.baidu.com")); var controller=new HomeController(); controller.ControllerContext = mockContext.Object; controller.Relocation(); mockContext.Verify(); }

2018-09-29

System.Linq.Dynamic.dll

System.Linq.Dynamic.dll实现了C#中动态的linq查询,引用之后可以以字符串的形式使用linq。

2018-09-29

Win7 64位安装DNS root.zone等配置文件

localhost.rev、localhost.zone、msvcr100d.dll、msvcr110d.dll、named.conf等在win7上利用ntbind架设Windows下的DNS服务器必要组件

2016-12-10

TCP-IP详解卷2:实现

TCP-IP详解卷2:实现

2016-11-17

TCP-IP详解卷3:TCP事务协议

TCP-IP详解卷3:TCP事务协议

2016-11-17

TCP-IP详解卷1:协议

TCP-IP详解卷1:协议

2016-11-17

MICROSOFT SILVERLIGHT 4从入门到精通

《Microsoft Silverlight 4从入门到精通》作为一本容易上手的教程,沿用深受读者欢迎的Step by Step风格,通过实例手把手引导读者构建、部署和维护Silverlight应用程序。《Microsoft Silverlight 4从入门到精通》浅显易懂,概念清楚直观,可读性强。全书共14章,主题广泛,涉及基础和控件,布局和样式,RIA和图像处理,MediaElement的对象模型、Silverlight的变换和动画引擎,浏览器桥,Windows Phone和XNA等,是帮助读者理解Silverlight开发全景的理想参考。, Laurence Moroney是Microsoft高级技术传播者,致力于Silverlight和用户体验。他有十几年的软件开发和实现经验,写过大量有关Windows Presentation Foundation、Web开发、安全性和互操作性的书籍和文章。

2016-11-17

局域网聊天工具

vc6.0写的一个局域网聊天工具,分为服务器代码和客户端代码

2014-08-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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