代码改变世界

[置顶]Python开发环境配置

2011-03-24 01:29 by coodoing, 1945 阅读, 3 推荐, 收藏, 编辑
摘要:”工欲善其事,必先利其器“。上篇序主要是介绍了python的一些基本信息,而作为开发所用,我们必须首先保障有一个稳定,好用的开发环境。本文中讨论的是python3.2版本,其实也可以是python2.7版本及其他版本,下面主要介绍两款开发工具。PyScripter和Eclipse。1:首先介绍的这款是Pyscripter,首先截个图看下效果。整体用起来感觉不错,有一定智能提示功能,且对代码缩进有一定的要求,如果代码缩进不正确的话,会提示syntax error: expected an indented block。但是与python中所带的Lib文件夹下的模板程序关联不上,所以在引入和调用的 阅读全文

python3.3 unicode(encode&decode)

2013-09-17 05:58 by coodoing, 11173 阅读, 0 推荐, 收藏, 编辑
摘要:最近在用python写多语言的一个插件时,涉及到python3.x中的unicode和编码操作,本文就是针对编码问题研究的汇总,目前已开源至github。以下内容来自项目中的README。1 ASCII、UNICODE、GBK、CP936、MSCS1.1 ASCII美国信息交换标准码。 在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),但其最高位(b7)用作奇偶校验位。ASCII(American Standard Code for Information Interchange),是一种单字节的编码。计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所 阅读全文

求数n的最大素因子是第几个素数

2012-12-27 14:30 by coodoing, 1772 阅读, 0 推荐, 收藏, 编辑
摘要:问题描述每个数都可以分解成质因数的乘积。现在求一个数n的最大素因子是素数集合中的第几个素数。n小于1000000。解决方法利用筛选法获得,具体可见求质数算法的N种境界- 试除法和初级筛法。 图解说明如下:1、具体过程对于1000000内的数字而言,利用筛选法计算其中素数,并标记出每个素数对应的位置信息。利用prime数组保存范围内的素数;利用position数组保存每个数所对应的位置。 1: public static final int NUM = 1000001; // 100万个数 2: static int primeNum = 80000; // 根据素数定理估算得到 3... 阅读全文

接口 抽象类

2012-11-15 20:30 by coodoing, 602 阅读, 0 推荐, 收藏, 编辑
摘要:1、抽象类,接口,虚函数 抽象类就是这样一种类,描述了一种事物的共性,它不能实例化,只能通过它的子类实例化。实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。 接口 抽象类 ... 阅读全文

【转载】STL知识

2012-09-16 22:43 by coodoing, 654 阅读, 0 推荐, 收藏, 编辑
摘要:STL就是Standard Template Library,标准模板库。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list, vector,set,map等,STL也是算法和其它一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。是C++标准库的一个重要组成部分,它由Stepanov and Lee等人最先开... 阅读全文

大整数相关的几道题

2012-09-16 22:40 by coodoing, 796 阅读, 0 推荐, 收藏, 编辑
摘要:1、大整数相加 1: static void plus(String input1, String input2) { 2: char[] input11 = input1.toCharArray(); 3: char[] input21 = input2.toCharArray(); 4: ... 阅读全文

几道编程题

2012-09-16 01:23 by coodoing, 566 阅读, 0 推荐, 收藏, 编辑
摘要:直接上代码试题1: 1: public class Test1 { 2: 3: static void convert(String str) { 4: int count = 1; // 用于记录当前连续字符的数量 5: char[] input = str.toCharArray(); 6: char pre = '\u0000', cur; // char为空判断 7: char output; 8: 9: for (char ele : inp... 阅读全文

常用汇编指令

2012-08-30 11:49 by coodoing, 1844 阅读, 0 推荐, 收藏, 编辑
摘要:一、数据传输指令它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. MOV 传送字或字节. MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. PUSH 把字压入堆栈. POP 把字弹出堆栈. PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈. POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈. PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈. POPAD 把EDI,ESI,EBP,ESP,EBX,ED... 阅读全文

C中sizeof用法

2012-08-30 11:24 by coodoing, 17652 阅读, 0 推荐, 收藏, 编辑
摘要:一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。二、sizeof的使用方法1、用于数据类型 sizeof使用形式:sizeof(type) 数据类型必须用括号括住。如sizeof(int)。 2、用于变量sizeof使用形式:sizeof(var_name)或sizeof var_name 变量名可以不用括号括住。如sizeof (var_name),sizeof var_name等都是正确形... 阅读全文

笔试题搜集

2012-08-29 20:11 by coodoing, 707 阅读, 0 推荐, 收藏, 编辑
摘要:前面有几篇博客中关于google,微软,百度等公司的面试题:十月百度,阿里巴巴,迅雷搜狗最新面试七十题(第201-270题)、微软、谷歌、百度等公司经典面试题[第101-160题]及微软等数据结构+算法面试100题全部答案集锦,但都主要涉及数据结构和算法方面的知识。由于IT方面的公司笔试题并不全是数据结构和算法,还有数据库,操作系统,计算机网络,C/C++以及编译原理等其他方面的基础知识,所以这篇博文主要对去年各大公司的笔试题做一个搜集链接,方便阅读和知识分享,也方便以后的查阅。1、2011百度校园招聘笔试题 C++类-附原创答案2、迅雷2012校园招聘笔试题3、腾讯2011.10.15校园. 阅读全文

C中几组指针

2012-08-28 11:33 by coodoing, 408 阅读, 0 推荐, 收藏, 编辑
摘要:具体关于c指针说明可参考前面两篇文章。C中指针详解和C中复杂类型声明。 1、二维数组 下面就三种二维数组进行说明。 1: int **Ptr; 2: int *Ptr[ 5 ]; 3: int ( *Ptr )[ 5 ]; 以上三例都是整数的二维数组,都可以用形如 Ptr[ 1 ][ 1 ] 的方式访问其内容;但它们的差别却是很大的。下面我从四个方面对它们进行讨论: ... 阅读全文

C中复杂类型声明

2012-08-28 11:16 by coodoing, 449 阅读, 0 推荐, 收藏, 编辑
摘要:曾经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) ) [10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的C/C++声明。 我们将从每天都能碰到的较简单的声明入手,然后逐步加入const修饰符和typedef,还有函数指针,最后介绍一个能够让你准确地理解任何C/C++声明的“右左法则”。 需要强调一下的是,复杂的C/C++声明并不是好的编程风格;... 阅读全文

C中指针详解

2012-08-28 10:51 by coodoing, 437 阅读, 0 推荐, 收藏, 编辑
摘要:指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: 1: int *ptr; 2: char *ptr; 3: int ... 阅读全文

【转】C++继承中的重载,覆盖和隐藏

2012-08-23 21:59 by coodoing, 544 阅读, 0 推荐, 收藏, 编辑
摘要:写正题之前,先给出几个关键字的中英文对照,重载(overload),覆盖/重写(override),隐藏(hide)。在早期的C++书籍中,常常把重载(overload)和覆盖(override)搞错!我们先来看一些代码及其编译结果。实例一:基类函数没有virtual,派生类中函数同名,参数随便 #include "stdafx.h" #include <iostream.h> class CB { public: void f(int) { cout << "CB::f(int)" << endl; } };... 阅读全文

HTTPS工作原理和TCP握手机制

2012-08-20 17:35 by coodoing, 41817 阅读, 9 推荐, 收藏, 编辑
摘要:1、HTTPS的工作原理 HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺术品,TLS/SSL中使用了非对称加密,对称加密以及HASH算法。握手过程的具体描述如下: 1.浏览器将自己支持的一套加密规则发送给网站。 2.网站从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给浏览器。证书里面包含了网站地址,加密公钥,以及证书的颁发机构等信息。 3.浏览器获得网站证书之后浏览器要做以下工作: a)... 阅读全文

数据库中的几组概念

2012-08-19 16:33 by coodoing, 693 阅读, 0 推荐, 收藏, 编辑
摘要:1、mysql中内存表和临时表 在介绍内存表和临时表之前,必须明确的一点就是: mysql中临时表的表建在内存里,数据在内存里 ;内存表的表建在磁盘里,数据在内存里 。两种表结构的创建方式1.临时表:表建在内存里,数据在内存里; 2.内存表:表建在磁盘里,数据在内存里。临时表 mysql> create temporary table tmp1(id int not null); Query OK, 0 rows affected (0.00 sec) mysql> show create table tmp1; +-------+-----------... 阅读全文

存储过程与函数的区别

2012-08-19 11:23 by coodoing, 4158 阅读, 1 推荐, 收藏, 编辑
摘要:这两天一直在研究一个问题,所以对sql中dynamic sql 做了部分了解,不过最终都归结到存储过程和函数的区别这个问题上。 本质上没区别。只是函数只能返回一个变量的限制;而存储过程可以返回多个。函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。函数限制比较多,如不能用临时表,只能用表变量等,而存储过程的限制相对就比较少。 1. 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。 2. 当对数据库进行复杂操作时(如对多个表进行Update、Insert、Query、Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一.. 阅读全文

Java 回收机制

2012-08-18 23:58 by coodoing, 874 阅读, 0 推荐, 收藏, 编辑
摘要:===============================================================对象清除时的困境:由谁负责清除?每个对象都要求资源才能“生存”,其中最令人注目的资源是内存。如果不再需要使用一个对象,就必须将其清除,以便释放这些资源,以便其他对象使用。如果要解决的是非常简单的问题,如何清除对象这个问题并不显得很突出:我们创建对象,在需要的时候调用它,然后将其清除或者“破坏”。但在另一方面,我们平时遇到的问题往往要比这复杂得多。举个例子来说,假设我们要设计一套系统,用它管理一个机场的空中交通(同样的模型也可能适于管理一个仓库的货柜、或者一套影带出租系统 阅读全文

数据库一、二、三及BCNF范式

2012-08-18 08:50 by coodoing, 902 阅读, 0 推荐, 收藏, 编辑
摘要:举例说明数据库一、二、三及BCNF范式 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 设计范式是不是很难懂呢?非也,大学教材上给我们一堆数学公式我们当然看不懂,也记不住。所以我们很多人就根本不按照范式来设计数据库。实质上,设计范式用很形象、很简洁的话语就能说清楚,道明白。本文将对范式进行通俗地说明,并以笔者曾经设计的一个简单论坛的数据库为例来讲解怎样将这些范式应... 阅读全文

python排序

2012-08-18 08:13 by coodoing, 2719 阅读, 1 推荐, 收藏, 编辑
摘要:Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。1)排序基础简单的升序排序是非常容易的。只需要调用sorted()方法。它返回一个新的list,新的list的元素基于小于运算符(__lt__)来排序。>>> sorted([5, 2, 3, 1, 4]) [1, 2, 3, 4, 5]你也可以使用list.sort()方法来排序,此时list本身将被修改。通常此方法不如sorted()方便,但是如果你不需要保留原来的list,此方法将更有效。>>> a = [5, 2, 阅读全文

砝码称重问题

2012-08-17 17:18 by coodoing, 4057 阅读, 0 推荐, 收藏, 编辑
摘要:1、问题描述 问题1、如果天平两端都允许放砝码,并且假定所有的砝码都是整数克。为了称出从 1 克到 40 克所有整数克的物品,最少需要几个砝码? 问题2:4个砝码,每个重量都是整数克,总重量为40克,放在天平上可以称出1~40克的物体。编程求出这4个砝码各多少克。 2、 问题分析 2.1、问题1分析(砝码称重问题,因式分解有妙用) 秘密在于 3 的幂 说起来这个问题历史还算是挺悠... 阅读全文