自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 Python:计算一段代码的执行时间

这段时间做了一个课题,其中涉及到了这样一个问题,需要定时采样数据,比如说每隔10s采集一次数据,然后将数据存储到数据库中。思路大概是这样的,先计算采集数据和存储数据一共花了多少时间(假设小于10s),那么剩余的时间都用来sleep。思路很清晰,关键问题是计算采集数据和存储数据的时间。 网上搜了一下,大概是在采集数据前记录一下当前的时间戳,然后存储数据之后又记录一下当前时间戳,两个时间戳相减

2015-12-01 19:54:15 1788

原创 Python装饰器

这段时间因为工作忙,已经很久没更新博客了。前几天看到一个开源项目,使用django框架,后台用Python,前台用JavaScript。看后台源码时,总是遇到@什么什么。因为以前算是系统的学过Python,所以知道这是Python的装饰器,但对这一知识点的理解还是自认不够,看代码还是比较吃力。今天决定写这个博客,一来是梳理一下自己头脑中的这一知识点,二来是做个记录,便于日后查阅,三来是给跟我一样对这

2015-11-30 20:44:00 919

原创 搞定NaN,靠这一篇就够了

NaN, “Not a Numbe**r”的缩写,直译过来就是“非数字”。本质上是“非数字的特殊值**”,我们把这个词拆分成“非数字”和“特殊值”, “非数字”很好理解,var str = “i am string”;var nl = null;var bl = true;上面都是非数字。那么怎么理解“特殊值”呢?“特殊值”就是无法用数字表示的值。好,可能不好理解,先放一放,先看一下NaN的类

2015-11-16 15:04:09 927

原创 JavaScript静态类详解

静态类,有很多特性。如不能有构造器、不能被继承、仅包含静态成员等,但是有一个我认为是最重要的特性,那就是不能实例化,也就是不能通过new创建出实例。JavaScript静态类当然也有这个特性,我们就从这个出发点来谈谈JavaScript的静态类。 首先来看下面代码段:var People = {    name : "Tan Lian",    eat: function(){

2015-11-03 20:38:20 1863

原创 JavaScript类继承详解

1.原型链继承 核心思想:将子类的原型(prototype)指向父类的对象。function People(){ this.name = 'Tan Lian'; this.eat = function(){ return "I am eating."; }; } function Student(){} Student

2015-10-31 19:14:56 489

原创 C++中this指针的本质

一直以来对C++中的this不理解,只知道在构造函数中,如果构造函数的参数和类成员的名字一样的话,就可以用this指针来区分,如:this->a = a;一直以来都有这个疑问:this究竟是什么?我们明明没有定义这个this,但是我们可以直接用而编译器不会报错。今天来解决这个疑问。 从刚才的代码中,我们用”this->”而不是”this.”就说明this是一个指针,而我们知道,在C、C++中,指针

2015-08-13 19:35:44 1756

原创 Django开发实战之URLconf详解

什么是URLconf? URLconf 就像是 Django 所支撑网站的目录。 它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表。 你就是以这种方式告诉 Django,对于这个 URL 调用这段代码,对于那个 URL 调用那段代码。 上篇文章(Django实战:构建一个blog)中我们新建了一个工程mysite,mysite/mysite/urls.py这个文件(自

2015-07-24 15:07:24 9451

原创 Django实战:构建一个blog

一,创建项目django-admin.py startproject mysite如下图所示: 运行该命令后,就会在当前目录下创建一个目录mysite二,测试开发服务器 进入到mysite目录,然后运行./manage.py runserver 0.0.0.0:8001,如下图所示: 注意这里我选择的端口号是8001,你也可以选择别的端口(如8002),但是要注意的是这个端口不能被占用

2015-07-24 11:12:29 2132

原创 Django项目文件分布及解释

1.创建工程 django-admin.py startproject projectName eg: django-admin.py startproject mysite 2.工程目录结构 mysite/ –manage.py –mysite/ –init.py –settings.py –

2015-07-23 17:12:11 1450

原创 PyQt之玩转signal(信号)与slot(槽)二:添加自定义槽

上文中我们实现了一个非常简单的功能:点击按钮关闭应用。不过那种调用connect函数的写法是在QT编程中常用的(用C++语言写QT应用),显得中规中矩,我们这里是PyQt,自然要来一种PyQt的写法,我们先看代码:import sysfrom PyQt4 import QtGui, QtCoreclass Example(QtGui.QWidget): def __init__(self)

2015-07-22 18:00:10 18486 1

原创 PyQt之玩转signal(信号)与slot(槽)一:介绍及简单实例

信号与槽机制作为Qt最重要的特性,提供了任意两个Qt**对象**之间的通信机制。其中,信号会在某个特定情况或动作下被触发,槽是用于接收并处理信号的函数。每个Qt对象都包含预定的信号和槽,当一某一特定事件发生时,一个信号被发射,与信号相关联的槽则会响应信号完成相应的处理。 信号与槽机制常用的连接方式为:   connect(Object1,SIGNAL(signal),Object2,SLOT(s

2015-07-22 17:14:50 11686

原创 PyQt环境的搭建:安装python+pyqt+eric

一.首先点击此处下载相应的安装包。下载完后解压,可看到以下几个文件,如图: 其中eric5-i18n-zh_CN.GB2312-5.5.1.zip是eric对应的中文包。二.安装python 双击python-2.7.msi,如下图所示: 点击Next后,可看到默认将python的安装目录放到C:\Python27目录下了: 我们再一路默认Next,最后点击Finish按钮即可安

2015-07-21 11:06:08 1454

原创 PyQt之QHBoxLayout、QVBoxLayout 与QGridLayout

一. QHBoxLayout 先来看官方对QHBoxLayout 是怎样介绍的,原文如下: The QHBoxLayout class lines up widgets horizontally. QHBoxLayout 类将各部件水平排列。 This class is used to construct horizontal box layout objects. See QBo

2015-07-20 20:55:13 12941

原创 PyQt实战之计算器的实现

一.启动并进入eric主界面,如下图: 鼠标右键,”打开方式”选择“pthon.exe” 二.eric的主界面如下图所示: 选择“Project”–>”New”,设置如下图所示 点击“OK“,可以看到在source这一栏有个init.py这个文件,如下图所示 我们双击查看这个文件,发现这个init.py是个空文件,里面什么内容都没有。事实上这个init.py的作用只是上整个工程成为

2015-07-17 10:23:18 2542 2

原创 让cinix工作在高分辨率模式

以前的cinix一直工作在命令行模式(一行一行的黑底白字)下,说实话这个模式非常不美观,今天我们来让cinix运行在高分辨率模式,也就是给他赋予一层美丽的外衣--GUI图形界面,哈哈,开始做吧!!首先要切换显示模式。操作系统启动的时候默认进入的是80X25文本模式(25行80列),该种模式下,占用的显存范围是0xb8000~0xbffff,每两个字节代表屏幕上显示的一个字符,低字节设置显示

2015-06-16 09:01:01 970

原创 细说C++与Java中的引用

我们在写java程序时,经常搞不清楚java中的引用,甚至会弄不清楚java中的引用与C++中的引用的区别,导致写程序时容易犯错,本小节我们会详细讲解C++与Java中的引用之异同,并弄清楚他们的本质。1.C++的引用:对于C++的引用,我们应弄清楚下面几个知识:1)声明一个引用时,必须同时对其初始化 eg: int main() {     int a = 1

2015-05-20 21:41:25 729

原创 bootsect加载loader

bootsect加载loader

2015-05-20 16:36:40 777

原创 细说C++和Java之启动篇

C++和Java都是现在很流行的语言,然而他们的主要应用领域不尽相同。C++既可以做到像C那样的面向过程,也能够面向对象。他的应用领域非常广:1.很多互联网公司的后台服务器程序都是基于C++开发的2.一些大型的游戏客户端都是基于C++开发的(大概是因为C++的效率高、速度快),所以以后想做游戏开发的话学好C++是没错的3.数字图像处理4.虚拟现实Java一直是一门很火的

2015-05-18 21:05:03 680

原创 用两种方式输出一个字符

上一节虽然我们的引导扇区被BIOS正确识别并引导了,但是在虚拟机中我们看不到任何现象,想想还是很不开心的。那么这一节我们就在屏幕上显示一个字符吧!显示什么字符呢?嗯,就显示‘B’吧(barras的第一个字母)。方法一:通过BIOS中断    在《启动篇》中我们已经直到了BIOS有POST(加电自检)的功能,那么这一节我们要学习它的新功能:通过BIOS中断给内核提供服务。在介绍BIOS中断之

2015-05-16 16:09:32 908

原创 一个最简单引导扇区的编写

一.操作系统的启动过程     具体的有关操作系统的启动过程可参考这篇文章http://jingyan.baidu.com/article/ce09321b3b59442bff858f22.html。在看本文之前,建议读者先把那篇文章看完。这里简单的对操作系统的启动过程做一个概括。    从 按下 POWER键到 操作系统可与用户交互这中间发生了哪些事呢? 1.预引导阶段 2.

2015-05-16 14:17:57 3792

原创 cinix如何在64位ubuntu系统下编译

我们进入barras根目录,直接make,看到的错误如下: 错误原因:     nasm 编译产生的是32 位的目标代码,gcc 在64 位平台上默认产生的是64 位的目标代码,这两者在链接的时候出错,gcc在64 位平台上默认以64 位的方式链接。 解决方法:     让gcc 产生32 位的代码,并在链接的时候以32 位的方式进

2015-05-15 20:36:50 720

原创 从0实现一个操作系统内核之启动篇

大学的时候学的是软件工程专业,大一的时候才开始接触电脑(学校机房里的),到大二才有了自己的电脑。有了电脑之后,才开始慢慢的学习使用windows操作系统,把玩了一段时间之后,又开始把玩linux。我大概是整个计算机学院第一个使用linux的人了,呵呵。由于在中国linux的市场占有率很低,那时候感觉操作一台跑着linux的计算机是一件很牛X的事情。渐渐的我不再满足于仅仅只会使用操作系统,我要从0编

2015-05-15 19:40:23 3162 1

pyqt环境搭建:安装python+pyqt+eric

pyqt环境搭建:安装python+pyqt+eric。解压后,里面有python、pyqt和eric的安装包,在win7下亲测成功。

2015-07-21

空空如也

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

TA关注的人

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