编程笔记

  • Java实现求小于n的质数的3种方法

    质数概念 质数,又称素数,指在一个大于1的自然数中,除了1和此整数自身外,无法被其他自然数a target="_blank" href="http:zh.wikipedia.orgwiki

  • C++ COM编程之什么是组件?

    什么是组件? 一个组件同一个微型应用程序类似,即都是已经编译、链接好并可以使用的了,应用程序就是由多个这样的组件打包而得到的。各定制的组件可以在运行时同其他组件连接起来以构成某个应用程序。在需要对应用程序进行修改或改进时,只需要将构成此应用程序的组件中的某个用新的版本替换掉即可。 COM组件 COM,

  • C++ COM编程之什么是接口?

    什么是接口? 说到COM,就不得不说接口了;在进行COM开发的过程中,可以说,我一直都在和各种各样的接口打交道。那接口是什么?对于COM来说,接口是一个包含一个函数指针数组的内存结构,每一个数组元素包含的是一个由组件所实现的函数的地址;所以,对于COM,接口就是这样的一个内存结构,其它东西都是一些COM并不关心的实现细节。 在C++中,可以使用抽象基类

  • C++ COM编程之接口背后的虚函数表

    前言 学习C++的人,肯定都知道多态机制;多态就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。对于多态机制是如何实现的,你有没有想过呢?而COM中的接口就将这一机制运用到了极致,所以,不知道多态机制的人,是永运无法明白COM的。所以,在总结COM时,是非常有必要专门总结一下C++的多态机制是如何实现的。

  • C++设计模式之装饰模式

    前言 在实际开发时,你有没有碰到过这种问题;开发一个类,封装了一个对象的核心操作,而这些操作就是客户使用该类时都会去调用的操作;而有一些非核心的操作,可能会使用,也可能不会使用;现在该怎么办呢? 1.将这些非核心的操作全部放到类中,这样,一个类就包含了很多核心的操作和一些看似有关,但是又无关的操作;这就会使核心类发生“爆炸”的现象,从而使核心类失去了一

  • C++ COM编程之QueryInterface函数(一)

    前言 组件对外公布的是接口;一个组件可以实现多个接口,也就是说可以对外公布多个接口,之前也总结过了,你很少会100%的去完全了解一个组件的所有接口,就像你去学习编程一样,你几乎不可能去成为编程中的全才。那么,既然我们不能去完全的了解一个组件提供的所有接口,那么我们在实际开发中,如何去判断一个组件是否提供对应的接口呢?看文档?是的,是个好主意,在文档的海洋,找到一个知识点

  • C++ COM编程之QueryInterface函数(二)

    前言 在COM编程——认识组件中也总结了,COM是一个说明如何建立可动态互变组件的规范,它提供了为保证能够互操作,客户和组件应遵循的一些标准。而在实现和使用QueryInterface时,就需要去遵守一些规则,只有遵守了这些规则,才能是一个正确的COM组件;只有了解了这些规则,才能会真正的了解COM开发。 QueryInterface的

  • C++中的类型转换static_cast、dynamic_cast、const_cast和reinterpret_cast总结

    前言 这篇文章总结的是C++中的类型转换,这些小的知识点,有的时候,自己不是很注意,但是在实际开发中确实经常使用的。俗话说的好,不懂自己写的代码的程序员,不是好的程序员;如果一个程序员对于自己写的代码都不懂,只是知道一昧的的去使用,终有一天,你会迷失你自己的。 C++中的类型转换分为两种: 1.隐式类型转换; 2.显式类型转换

  • C++设计模式之外观模式

    前言 在实际开发时,面对一个大的系统,总是会将一个大的系统分成若干个子系统,等子系统完成之后,再分别调用对应的子系统来完成对应的整体功能,这样有利于降低系统的复杂性;最终进行实现某个具体的功能时,我们将对应的子系统进行组合就好了;但是,子系统那么多,关系那么复杂,组合形成一个完整的系统,是存在难度的。 我们在使用visual studio进行编译C++

  • C++构造函数初始化顺序详解

    1.构造函数、析构函数与拷贝构造函数介绍 构造函数 1.构造函数不能有返回值 2.缺省构造函数时,系统将自动调用该缺省构造函数初始化对象,缺省构造函数会将所有数据成员都初始化为零或空 3.创建一个对象时,系统自动调用构造函数 析构函数 p

  • Javascript获取当前时间函数和时间操作小结

    在项目需要一个计时器,效果如下: js代码: *获取当前时间*  

  • PHP的switch判断语句的“高级”用法详解

    只所以称为“高级”用法,是因为我连switch的最基础的用法都还没有掌握,so,接下来讲的其实还是它的基础用法! switch 语句和具有同样表达式的一系列的 IF 语句相似。很多场合下需要把同一个变量(或表达式)与很多不同的值比较,并根据它等于哪个值来执行不同的代码。这正是 switch 语句的用途。 注意: 注意和其它语言不同,continue 语句作用到 switch 上的作用类

  • Java中避免空指针异常的方法

    没人会喜欢空指针异常!有什么方法可以避免它们吗?或许吧。。 本文将讨论到以下几种技术 1.Optional类型(Java 8中新引入的) 2.Objects类(Java 7中原有的) Java 8中的Optional类 它是什么?

  • PHP实现绘制3D扇形统计图及图片缩放实例

    1、利用php gd库的函数绘制3D扇形统计图 ?php header"content-type","texthtml;charset=utf-8"; *扇形统计图* $image = imagecreatetruecolor100, 100; *创建画布* *设置画布需要的颜色* $white = imagecolora

  • PHP反向代理类代码

    改自PHP Reverse Proxy PRP,修改了原版中的一些错误,支持了文件上传以及上传文件类型识别,支持指定IP,自适应SAE环境。 使用方法 pre

  • php中将一段数据存到一个txt文件中并显示其内容

    这里的数据可以为基本数据类型,数组,对象等; 在存储的时候可以用serialize进行序列化,但取的时候要先用unserialize反序列化。 ?php $data = array"上海","西安","北京"; 将数组存到指定的text文件中 file_put_contents"E:data.txt",serialize$data

  • php上传图片之时间戳命名(保存路径)

    html代码: div id="images" style="width:250px;height:120px;background:#fff;border:1px solid #ccc;" h2strong图片导入strongh2 form enctype="multipartfor

  • 一个计算身份证号码校验位的Python小程序

    S = SumAi * Wi, i=0,.......16 现在的身份证号码都是18位长,其中最后一位是校验位,15位的身份证号码好像不用了 Ai对应身份证号码,Wi则为用于加权计算的值,它一串固定的数值,应该是根据某种规则得出的吧,用于取得最好的随机性,Wi的取之如下: 7 9 10 5 8 4

  • php中操作memcached缓存进行增删改查数据的实现代码

    核心代码: ?php 创建一个memcache对象实例 $memcache = new Memcache; if!$memcache-connect"127.0.0.1",11211{ die'连接失败'; } if$memcache-set'key1',"xian",MEMCACHE_COMPRESSED,60{

  • 深入理解javascript函数参数与闭包

    最近在学习javascript的函数,函数是javascript的一等对象,想要学好javascript,就必须深刻理解函数。本人把学习的过程整理成文章,一是为了加深自己函数的理解,二是给读者提供学习的途径,避免走弯路。内容有些多,但都是笔者对于函数的总结。 1.函数参数   1.1:参数是什么 s

  • 详解iOS学习笔记(十七)——文件操作(NSFileManager)

    iOS的沙盒机制,应用只能访问自己应用目录下的文件。iOS不像Android,没有SD卡概念,不能直接访问图像、视频等内容。iOS应用产生的内容,如图像、文件、缓存内容等都必须存储在自己的沙盒内。默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。Library包含Caches、Preferences目录。 img src="https:img.nhoo

  • ios的手势操作之UIGestureRecognizer浅析(推荐)

    一、概述 iPhone中处理触摸屏的操作,在3.2之前是主要使用的是由UIResponder而来的如下4种方式: - voidtouchesBegan:NSSet *touches withEvent:UIEvent *event - voidtouchesCancelled:NSSet *touc

  • php页面跳转session cookie丢失导致不能登录等问题的解决方法

    thinkphp开发的一个项目,登录成功后又跳转到登录页面,在提交信息后输出session都是正常的,没有问题,但是页面跳转后,session出现丢失现象,无法正常完成登陆。 通过查找资料,发现原来是bom头的原因。受COOKIE送出机制的限制,在这些文件开头已经有BOM的文件中,COOKIE无法送出(因为在COOKIE送出前PHP已经送出了文件头),所以登入和登出功能失效。一切依赖COOKIE、SES

  • javascript中this关键字详解

    不管学习什么知识,习惯于把自己所学习的知识列成一个list,会有助于我们理清思路,是一个很好的学习方法。强烈推荐。 以下篇幅有点长,希望读者耐心阅读。 以下内容会分为如下部分: 1.涵义   1.1:this涵义   1.2:this指向的可变性

  • 浅谈C#中正则表达式的使用

    目前为止,许多编程语言和工具都包含对正则表达式的支持,C#也不例外,C#基础类库中包含有一个命名空间(System.Text.RegularExpressions)和一系列可以充分发挥规则表达式威力的类Regex、Match、Group等。那么,什么是正则表达式,怎么定义正则表达式呢? 一、正则表达式基础 什么是正则表达式str

  • 利用tcpdump对mysql进行抓包操作技巧

    利用tcpdump对mysql进行抓包操作如下所示: 命令如下: tcpdump -s 0 -l -w - dst 192.168.244.10 and port 3306 -i eno16777736 |strings 其中-i指定监听的网络接口,在RHEL 7下,网络接

  • spring mail借助qq邮箱服务器发送邮件

    spring mail封装了javaMail的邮件服务,让邮件服务使用起来更简单,下面以qq邮箱服务器为例,用spring mail服务来发送邮件 配置qq邮箱,“设置”——“账户”,打开smtp服务,生成授权码 img src="https:img.nhooo.comstaticupload2103121643230

  • SQLServer获取临时表所有列名或是否存在指定列名的方法

    获取临时表中所有列名 select name from tempdb.dbo.syscolumns where id=object_id '#TempTB' 判断临时表中是否存在指定列名 if col_length'tempdb.dbo.#TempTB','columnName' is not null print '存在' else p

  • 请不要重复犯我在学习Python和Linux系统上的错误

    本人已经在运维行业工作了将近十年,我最早接触Linux是在大二的样子,那时候只追求易懂,所以就选择了Ubuntu作为学习、使用的对象,它简单、易用、好操作、界面绚丽,对于想接触Linux的新手来说是非常不错的。后来因为个人的知识有限,玩不转Linux的种种配置、各种插件以及软件缺失,加之没有持之以恒的坚持下去,

  • SQL判断语句用法和多表查询

    1.格式化时间sql语句   本例中本人随便做了两张表,和实际不是很相符,只是想说明sql语句的写法。   例1表格式如下: img src="https:img.nhooo.comstaticupload2103121643240.png?2016111217242

  • 深入Android中BroadcastReceiver的两种注册方式(静态和动态)详解

    今天我们一起来探讨下安卓中BroadcastReceiver组件以及详细分析下它的两种注册方式。 BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能;当网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数

  • 简单实现js浮动框

    本文实例为大家分享了js浮动框的实现代码,供大家参考,具体内容如下 一.在需要加入浮动框的页面中加入如下css代码: !-- 浮动窗口样式css begin -- style type="textcss" #msg_win { border: 1px solid #A67901; backgro

  • C++中4种强制类型转换的区别总结

    前言 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast。   const_cast,字面上理解就是去const属性。   static_cast,命名上理解是静态类型转换。如int转换成char。   d

  • JavaScript正则表达式校验非正整数实例

    话不多说,跟小编一起来看看吧 !DOCTYPE html PUBLIC "-W3CDTD XHTML 1.0 TransitionalEN" "http:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd" html xmlns="http:www.w3.org1999xhtml"

  • SQL SERVER 2000通讯管道后复用劫持

    作者:FLASHSKY SITE:WWW.XFOCUS.NET 邮件:flashsky@xfocus.org SQL SERVER 2000通讯中,允许使用有名管道来进行通讯,一般情况下是如此命名的: 默认实例:\\.\pipe\sql\query 命名实例:\\.\pipe\MSSQL$instancename\sql\query 也可以通过1434 UDP进

  • mongodb错误tcmalloc: large alloc out of memory, printing stack and exiting解决办法

    最近Mongodb会经常突然挂掉,检查日志发现如下的错误: tcmalloc: large alloc 2061584302080 bytes == nil @ Tue Nov 26 17:45:04.539 out of memory, printing stack and exiting: 0xdddd81 0x6cfb4e 0x121021d 0xaf

  • mongodb exception: $concat only supports strings, not NumberInt32解决办法

    今天在用mongodb操作aggregation的时候出现这个问题,我是想格式化日期,例如”2013-10-17 04:41:37 UTC”变成”10月17日”, 'fdate' = { '$concat' = ['$date.month', '月', '$date.day', '日'] } 出现 exception: $concat only

  • mac os gem安装json出现error failed的解决办法

    升级到最新的mac os Mavericks。装json出现错误: gem install json -v '1.8.1' Building native extensions. This could take a while... ERROR: Error installing json: ERROR:

  • 学习Ruby你需要了解的相关知识(rvm, gem, bundle, rake, rails等)

    Ruby 这个就不用多说了 RVM 用于帮你安装Ruby环境,帮你管理多个Ruby环境,帮你管理你开发的每个Ruby应用使用机器上哪个Ruby环境。Ruby环境不仅仅是Ruby本身,还包括依赖的第三方Ruby插件。都由RVM管理。 Rails 这个也不用多说,著名开发框架。详细看 a href="http:zh.wikiped

  • 基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据

    废话不多说,直接给大家贴代码了,代码附有注释,相信大家都能看懂的,有不明白的地方欢迎给我留言。 前端HTML+JQuery 备注Jquery需要1.x版本,不能用2.x版本 1.引入必要文件及上传input load file="__PUBLIC__jsjquery-1.11.3.min.js" &