自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (3)
  • 收藏
  • 关注

原创 mysql NULL值

NULL 与空值1、空值是不占用空间的 2、mysql中的NULL其实是占用空间的。字段类型为NOT NULL时,是可以插入空值的。建立索引的列,最好设置为NOT NULLmysql在进行比较的时候,NULL 会参与字段比较,所以对效率有一部分影响。 而且B树索引时不会存储NULL值的,所以如果索引的字段可以为NULL,索引的效率会下降很多。不能使用=NULL判断是否为NULL值,使用is NU

2017-05-19 22:59:34 544

原创 重新定义公司——谷歌是如何运营的

未来企业的成功之道, 是聚集一群聪明的创意精英。在创意革命的时代, 创意者最主要的驱动力是创造带来的成就感和社会价值, 自激励是他们的特征。 这个时候他们最需要的不是激励, 而是赋能, 也就是提供他们能更高效创造的环境和工具。 赋能的原则: - 激励偏向的是事成之后的利益分享, 而赋能强调的, 是激起创意人的兴趣与动力, 给予挑战。 - 赋能比激励更依赖文化聚焦用户( focus on the

2017-05-17 00:03:59 766

原创 PHP框架之CI:CodeIgniter

CI : CodeIgniter (代码点火器)。CI版本CI诞生于20006年。CI当前稳定版本:V3.1.4 (PHP5.4以上)CodeIgniter 2 已于 2015 年 10 月 31 日停止支持与更新。CI V4.X 正在开发中,还未发布(支持PHP7)所有者创始者:EllisLab,当前所有者:British Columbia Institute of Technology(不列颠

2017-05-02 23:45:30 767

原创 PHP性能

PHP各版本性能比较:说明: 时间: 执行时间,以秒和毫秒为单位 %rel, gain:相对于以前的版本收益的执行时间。 在下面的表格中,例如,%rel。 bench.php 和版本 5.3.29 的收益是 31.89%,意味着该脚本比 5.2.17 版本运行快 31.89%。 %abs, gain:与 PHP 5.0 相比脚本运行的收益。 如果你看看bench.php 和试验性的 JIT 分

2017-05-01 18:18:54 439

原创 PHP术语

PHP之父:Rasmus Lerdorf,1993年毕业于加拿大滑铁卢大学计算机科学专业,; 在1994年,用c语言开发了一些CGI工具程式集,来取代原先使用的 Perl 程式; 在1995年6月8日将 PHP/FI 公开释出; 在1995年中,PHP2.0发布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对mySQL的支持,从此建立了PHP在动态网页开发

2017-05-01 18:14:14 748

原创 插入排序之shell排序分析及源码演示

名字来源shell排序属于插入排序,因DL.Shell于1959年提出而得名。缩小增量排序shell排序利用了直接插入排序在原序列比较有序的情况下,排序速度较快的原理。通过多次排序,每次缩小增量,序列一次比一次有序,当增量为1时,序列已经有序。源码template <class T>//shell_sortint sort(T *t, int n){ int d = n / 2;

2017-04-24 00:13:01 387

原创 插入排序:2路插入排序原理分析及源码演示

原理2路插入排序是在直接插入排序的基础上进行优化:减少排序过程中元素移动的次数。不过需要额外增加n个辅助空间。关键思路把新增的辅助空间(n个元素的数组),当做一个环对待,再第一个元素插入之后(标记当前最大最小元素),以后分别从两边插入数据,比最大元素大的放右边,比最大元素小的放左边。 如果大于最小,小于最大,则按照常规插入排序的思路,把最大的元素依次往右边移动,直到找到合适的位置。源码templa

2017-04-23 22:07:18 918

原创 插入排序:直接插入、折半插入排序源码及时间复杂度

插入排序的方法: 不断将无序队列的元素加入到有序队列中。直接插入排序源码template <class T>//insert_sortint sort(T *t, int n){ int compare_times = 0; for(int i=1; i<n; i++) { T current = t[i]; for(int k=i-1

2017-04-22 02:31:12 4907

原创 交换排序之快速排序原理、源码及时间、空间复杂度

快速排序的原理:分治策略和递归分治策略分治的基本思想是将原问题分解为若干与原问题结构相似的小问题,递归地解决这些小问题,小问题的解就组合为原问题的解。基本方法选基准基准放中间,划分为左右两个区域(左小又大)再递归地采用该方法分别解决左右两个区域的排序。源码尽可能地减少递归调用的次数//quick_sorttemplate <class T>int quick_sort(T* t, int

2017-04-21 00:13:36 688

原创 交换排序之冒泡排序优化源码及时间复杂度

常见的交换排序包括冒泡排序和快速排序。用于显示的代码:show.cpp#include <iostream>using namespace std;template <class T>void showww(T* t, int n){ for(int i=0; i<n; i++) cout << *(t+i) << endl;}冒泡排序bubble.cpptemplate <

2017-04-20 00:04:30 1084

原创 排序算法总结

分类按是否涉及涉及内存的内外存交换内排序外排序按策略划分内部排序插入排序交换排序 冒泡排序快速排序选择排序归并排序分配排序待排序数据常用存储方式顺序表(或者直接用向量)链表顺序的方式存储,同时建立一个辅助表(存储关键字和指向记录位置的指针)

2017-04-19 21:19:36 251

原创 Linux关机命令:halt shutdown reboot init

常见的Linux关机命令有如下几个:halt  使用权限:系统管理者   使用方式:halt [-n] [-w] [-d] [-f] [-i] [-p]   说明:当系统的 runlevel 为 0(停机) 或 6(重新启动) ,则自动关闭系统;   halt命令可以用 shutdown 指令(加上 -h 参数)来取代   参数:   -n : 在关机前不做将记忆体资料写回硬盘的动作

2017-04-16 11:24:22 1164

原创 HTML简介

定义HTML:超文本标记语言(Hyper Text Markup Language)。版本 Version Year HTML 1991 HTML 2.0 1995 HTML 3.2 1997 HTML 4.01 1999 XHTML 2000 HTML5 2014组成<!DOCTYPE html><html> <head>

2017-04-09 21:41:56 296

原创 SHA1摘要算法

概念安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。算法需要的各常量的值及函数表达式常量: Kt = 0x5A827999 (0 <= t <= 1

2017-04-04 21:31:56 2433

原创 HMAC与MAC

就当前了解的资料,HMAC与MAC表示相同的意思。概念利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。该密钥只有通讯双方知晓。应用HMAC的一个典型应用是用在“挑战/响应”(Challenge/Response)身份认证中客户端向服务器发出一个验证请求服务器接到此请求后生成一个随机数并通过网络传输给客户端(此为挑战)客户端将收到的随机数提供给ePass,由ePass使用该随

2017-04-04 18:29:47 918

原创 MD5摘要算法介绍及其实现

Message Digest Algorithm MD5(消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。算法特点MD5算法,符合一般摘要算法的特点: 1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。 2、容易计算:从原数据计算出MD5值很容易。 3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。 4、强抗碰

2017-04-04 15:25:09 3112

原创 杂凑密码——摘要算法简介

概念密码杂凑函数(Cryptographic hash function),又称为密码散列函数、加密散列函数,散列函数的一种。 杂凑函数是一种单向函数,要由散列函数输出的结果,回推输入的资料是什么,是非常困难的。散列函数的输出结果,被称为讯息摘要(message digest)或是摘要(digest)。特点在任何输入串中单个比特的变化,将会导致输出比特串中大约一半的比特发生变化。杂凑函数条件一个安

2017-04-03 12:40:16 7851 1

原创 公钥密码——非对称密码简介

公钥密码,即非对称密码。陷门单向函数用抽象的观点来看,公钥密码就是一种陷门单向函数。我们说一个函数f是单向函数,即若对它的定义域中的任意x都易于计算y=f(x),而当f的值域中的y为已知时要计算出x是非常困难的。若当给定某些辅助信息(陷门信息)时则易于计算出x,就称单向函数f是一个陷门单向函数。公钥与私钥公钥密码里存在两个不同的密钥,分别是公钥和私钥。公钥可以公开发布,私钥需要秘密保存。基于数学难题

2017-04-03 12:29:33 1838

原创 密码体制的分类

密码学目标机密性数据完整性认证不可抵赖性密码体制按照密码的不同原理和用途分为以下3种密码体制。对称密码对称密码,用于加密和解密的密码相同,加密速度较快,可用于长文本的加密。达到的密码学目标:机密性对称密码介绍详见:对称算法简介非对称密码非对称密码体制有成为公钥密码体制,加密和解密的密码不相同,一般,公钥用于加密,私钥用于解密。 非对称密码加密速度较慢,一般用于对称密码的保护和数字签名。达

2017-04-03 11:01:47 12638

原创 c#读取ini配置文件

c#读取ini配置文件实例配置文件配置文件放在应用目录下,配置文件config.ini示例如下:[Setting]ip=192.168.1.1port=8080代码示例:using System;using System.IO;using read_write_ini;namespace read_write_ini{ public class Ini {

2017-04-02 21:03:18 1158

原创 c++与C#中的抽象类

相同点因为含有未实现的方法,都不可以创建抽象类的实例不同点C++的抽象类C++的抽象类是指包含纯虚函数的类。纯虚函数留给派生类实现。C#的抽象类关键字 abstract 声明抽象类。抽象类包含抽象方法,抽象方法可被派生类实现。 C#中有虚函数,没有纯虚函数。

2017-04-01 19:12:39 601

原创 内存区分:堆、栈、全局/静态存储区、常量存储区

堆堆是由程序员控制的存储块,只能动态分配,可使用的空间可以很大,分配的内存地址是不断增加的,由于多次分配、释放,会产生大量的碎片,导致程序执行效率降低。栈栈是机器系统提供的数据结构,计算机会在底层对栈提供支持:分配专门的寄存器存放栈的地址,压栈出栈都有专门的指令执行,因此分配效率高,先进后出的规则不会产生碎片,由编译器自动管理,可用的空间相对较小,局部变量和函数参数存放在该存储区,分配的内存地址是不

2017-03-31 23:31:29 663

原创 C#参数传递

在 C# 中,有三种向方法传递参数的方式: 方式 描述 值参数 这种方式复制参数的实际值给函数的形式参数,实参和形参使用的是两个不同内存中的值。在这种情况下,当形参的值发生改变时,不会影响实参的值,从而保证了实参数据的安全。 引用参数 这种方式复制参数的内存位置的引用给形式参数。这意味着,当形参的值发生改变时,同时也改变实参的值。 输出参数 这种方式可以返回多个值。按

2017-03-11 18:15:00 675

原创 static

静态成员存在于内存,非静态成员需要实例化才会分配内存, 所以静态成员不能访问非静态的成员. 非静态成员可以直接访问类中静态的成员.

2017-03-11 18:13:30 252

原创 C#封装、访问修饰符

C# 封装封装 被定义为”把一个或多个项目封闭在一个物理的或者逻辑的包中”。 在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。封装使用 访问修饰符 来实现。一个 访问修饰符 定义了一个类成员的范围和可见性。 C# 支持的访问修饰符如下所示:Public Private Protected Internal Protected internalPublic 访问修饰符Pub

2017-03-11 17:39:17 877

原创 C#运算符优先级

下表按运算符优先级从高到低列出各个运算符,具有较高优先级的运算符出现在表格的上面,具有较低优先级的运算符出现在表格的下面。 在表达式中,较高优先级的运算符会优先被计算。 类别 运算符 结合性 后缀 () [] -> . ++ - - 从左到右 一元 + - ! ~ ++ - - (type)* & sizeof 从右到左 乘除 * / % 从左到右

2017-03-11 11:56:16 518

原创 C#变量与常量

C# 变量一个变量只不过是一个供程序操作的存储区的名字。在 C# 中,每个变量都有一个特定的类型,类型决定了变量的内存大小和布局。C# 中的变量定义C# 中变量定义的语法: <data_type> <variable_list>;在这里,data_type 必须是一个有效的 C# 数据类型,可以是 char、int、float、double 或其他用户自定义的数据类型。variable_lis

2017-03-11 11:42:49 818

原创 C#数据类型及数据类型转换

C#数据类型在 C# 中,变量分为以下几种类型:值类型(Value types) 引用类型(Reference types) 指针类型(Pointer types)值类型(Value types)值类型变量可以直接分配给一个值。它们是从类 System.ValueType 中派生的。 值类型直接包含数据。比如 int、char、float,它们分别存储数字、字母、浮点数。当您声明一个 in

2017-03-11 11:10:49 795

原创 C#程序——命令行编译

一个 C# 程序主要包括以下部分:命名空间声明(Namespace declaration)一个 classClass 方法Class 属性一个 Main 方法语句(Statements)& 表达式(Expressions)注释注意事项C# 是大小写敏感的。 所有的语句和表达式必须以分号(;)结尾。 程序的执行从 Main 方法开始。 与 Java 不同的是,文件名可以不同于类

2017-03-11 00:33:50 862

原创 C#简介

官方英文文档: https://msdn.microsoft.com/en-us/library/67ef8sbd.aspxC#简介   C# 是一个现代的、通用的、面向对象的编程语言,它是由微软(Microsoft)开发的,   C#是.Net 框架的一部分。   .Net.Net 框架应用程序是多平台的应用程序。框架的设计方式使它适用于下列各种语言:C#、C++、Visual Basic、

2017-03-11 00:04:32 314

原创 H7N9禽流感——正确应对,不必惊慌

H7N9历史  H7N9疫情是由H7N9病毒引起的,自2013年我国华东地区首次发现人感染H7N9病例以来,每年都会在冬春季出现季节性流行。   最近几年冬春季节H7N9都有出现,但都得到了较好控制,不必过于惊慌防范H7N9  尽可能避免接触活禽,食物一定要煮熟,熟透   禽流感病毒普遍对热敏感,对低温抵抗力较强,65℃加热30分钟或煮沸(100℃)2分钟以上可灭活。病毒在较低温下可存活1周,

2017-03-10 23:07:56 415

原创 对称算法分类及加密模式

对称算法分类流加密(stream cipher)加密和解密双方使用相同伪随机加密数据流(即密钥),一般都是逐位异或或者随机置换数据内容,常见的流加密算法如RC4。 流加密中,密钥的长度和明文的长度是一致的。假设明文的长度是n 比特,那么密钥也为n比特,可选择的密钥数量为:2n2^n 因此暴力破解流密码是很难的。加解密过程明文P和密文S通过密钥K和异或操作进行转换。 P⊕K=SP \oplus K

2017-03-09 22:15:48 3750

原创 对称算法简介

定义对称算法是指加密密钥和加密密钥相同的加解密算法。优点对称算法计算速度快,适合大量数据的加密。缺点:由于加解密双方使用相同的密钥,所以需要通过秘密通道传送密钥,以免因密钥被窃取发生泄密。密钥的保管非常重要。为了确保只有通信双方可以解密,与不同的第三方通信需要使用不同密钥。随着通信方数量的增加,密钥保管的工作会非常复杂和重要。常见算法1). DES算法 2). 3DES算法 3). AE

2017-03-09 22:10:36 1563 1

原创 OpenSSL之EVP(三)——EVP对称算法编程示例

des对称算法源代码如下:#include <string.h>#include <openssl/evp.h>void show_hex(unsigned char * s, int len){ for(int i=0; i<len; i++) { //以16进制输出,每一个字符占2位。 printf("%02x",s[i]);

2017-03-08 00:59:49 3522 1

原创 VS使用技巧——代码自动调整格式

代码自动格式化选中需要自动调整格式的代码部分Ctrl + KCtrl + D

2017-03-07 23:24:40 28546 1

原创 OpenSSL之EVP(二)——EVP系列函数介绍

EVP系列函数摘要函数典型的摘要函数主要有: 1) EVP_md5 返回 md5 的 EVP_MD。 2) EVP_sha1 返回 sha1 的 EVP_MD。 3) EVP_sha256 返回 sha256 的 EVP_MD。 4) EVP_DigestInit 摘要初使化函数,需要有 EVP_MD 作为输入参数。 5) EVP_DigestUpdate 和 EVP_Digest

2017-03-06 23:45:23 7310

原创 OpenSSL之EVP(一)——数据结构及源码结构介绍

EVP简介Openssl EVP提供了丰富的密码学中的各种函数。 Openssl 中实现了各种对称算法、摘要算法以及签名/验签算法。 EVP 函数将这些具体的算法进行了封装。EVP 主要封装了如下功能函数: 1)实现了 base64 编解码 BIO; 2)实现了加解密 BIO; 3)实现了摘要 BIO; 4)实现了 reliable BIO; 5)封装了摘要算法; 6)封装了对称加解密

2017-03-05 00:00:25 8724

原创 OpenSSL ECC 算法

OpenSSL实现的ECC 算法,包括三部分: ECC 算法(crypto/ec)、椭圆曲线数字签名算法 ECDSA (crypto/ecdsa)以及椭圆曲线密钥交换算法 ECDH(crypto/dh)。密钥数据结构密钥数据结构定义在openssl-1.1.0c\crypto\ec\ec_lcl.h文件中。struct ec_key_st { const EC_KEY_METHOD *met

2017-03-01 23:26:34 29514 5

原创 OpenSSL Engine数据结构

OpenSSL Engine数据结构定义在crypto/engine/eng_int.h文件中。/* * This is a structure for storing implementations of various crypto * algorithms and functions. */struct engine_st { const char *id; //Engine

2017-02-28 00:10:42 1644

原创 菜鸟理财——高级理财概念

夏普比率夏普比率(Sharpe Ratio),又被称为夏普指数 — 基金绩效评价标准化指标。 夏普比率的计算非常简单,用基金净值增长率的平均值减无风险利率再除以基金净值增长率的标准差就可以得到基金的夏普比率。它反映了单位风险基金净值增长率超过无风险收益率的程度。 如果夏普比率为正值,说明在衡量期内基金的平均净值增长率超过了无风险利率,在以同期银行存款利率作为无风险利率的情况下,说明投资基金比银行

2017-02-18 00:02:48 512

百度之星2009程序设计大赛 初赛第一场试题

百度之星2009程序设计大赛 初赛第一场试题

2011-05-23

百度之星05~08题目

百度之星05~08题目 包括初赛、复赛和决赛的题目

2011-05-23

空空如也

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

TA关注的人

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