- 博客(117)
- 资源 (41)
- 收藏
- 关注
原创 Redis 数据结构之String
目的Redis现在是各个系统几乎都在使用的一种分布式高可用的缓存内存中的数据结构存储系统。可以作为数据库、缓存消息中间件、订阅发布系统等。我们都知道redis中有string、sets、sorted sets、hash、list类型。但是这些我们经常使用的数据结构的底层是怎么实现的。今天先记录一下string的结构。主要是参照Redis设计与实现和一些网上的资料总结的一个学习笔记。C语言字...
2019-12-24 17:36:45
340
原创 Go 利用chan嵌套chan 实现函数异步执行 顺序返回值
遇到的问题异步对于绝大多数的开发而言并不陌生,在go语言中异步的实现变得异常方便。只要在执行的方法前加一个go关键字就可以实现异步操作。但是如果需求是,按照调用的先后顺序(FIFO)来返回值我们应该怎么办。大家都知道,一系列的方法调用如果使用了异步执行那么就并不能保证返回的先后顺序,返回的先后顺序取决于每个函数耗时的长短,耗时短的则会先返回。当然解决这个问题的办法有很多,在最近看的一本书中发现...
2019-12-24 17:06:54
1385
原创 Redis持久化实践及灾难恢复模拟
参考资料:Redis Persistence http://redis.io/topics/persistenceGoogle Groups https://groups.google.com/forum/?fromgroups=#!forum/redis-db一、对Redis持久化的探讨与理解目前Redis持久化的方式有两种: RDB 和 AOF首先,我们应该明确
2016-07-19 18:13:50
1323
1
原创 Python中JSON在解析的同时进行自定义编码处理
python 转换为json时候 汉字编码问题 有这样一个需求: 需要一个json 文件 数据从数据库里查询出来 1. 设置文件头 # -*- coding:utf-8 -*- 2. 连接数据库 将数据库连接数据库的编码设置为utf8 db = MySQLdb.connect(host='数据库,user=用户名,passwd=密码,
2016-01-07 14:18:32
548
原创 mysql的分区技术
一、概述当 MySQL的总记录数超过了100万后,会出现性能的大幅度下降吗?答案是肯定的,但是,性能下降>的比率不一而同,要看系统的架构、应用程序、还有>包括索引、服务器硬件等多种因素而定。当有网友问我这个问题的时候,我最常见的回答>就是:分表,可以根据id区间或者时间先后顺序等多种规则来分表。分表很容易,然而由此所带来的应用程序甚至是架构方面的改动工作却不>容小觑,还包括将来的扩展性等。
2015-12-15 11:49:57
489
原创 MySQL 当记录不存在时insert,当记录存在时update
INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;INSERT 中 ON DUPLICATE KEY UPDATE的使用 如果指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则执行旧行UPDATE。例如,如果列a被定义
2015-11-25 10:58:55
631
原创 Scrapy爬虫学习,及实践项目。
作为初学者,首先贴出自己看到的一个教程所提供的实例。。后边会讲解我自身所完成的项目说明。我自己所做项目下载地址为:Scrapy爬虫项目自己项目说明: 爬取某网站流行时尚网页项目,并对具体项目内容进行二次爬取,将爬取到的内容拼接成为新的静态html,存入自身Ftp服务器,并将信息提交到某接口。。(接口中进行数据操作。接口部分未上传示例scrapy爬取了链接之后,如
2015-06-29 09:41:40
1491
原创 python对json的相关操作
对简单数据类型的encoding 和 decoding:使用简单的json.dumps方法对简单数据类型进行编码,例如import json obj = [[1,2,3],123,123.123,'abc',{'key1':(1,2,3),'key2':(4,5,6)}]encodedjson = json.dumps(obj)print repr(obj)print
2015-06-26 17:52:53
958
原创 python字符串/元组/列表/字典互转
#-*-coding:utf-8-*- #1、字典dict = {'name': 'Zara', 'age': 7, 'class': 'First'}#字典转为字符串,返回: {'age': 7, 'name': 'Zara', 'class': 'First'}print type(str(dict)), str(dict)#字典可以转为元组,返回:
2015-06-26 15:08:46
1105
原创 python ftp操作脚本&常用函数
快速进行ftp上传 ,下载,查询文件利用Python实现ftp服务器的操作#!/usr/bin/python#ftp.py#this script is used to make some ftp operations more convenient#add upload and download operations 20111210 version0.1import
2015-06-24 15:05:49
1089
原创 OpenProcessToken令牌函数用法
>GetCurrentProcessID 得到当前进程的ID OpenProcessToken得到进程的令牌句柄LookupPrivilegeValue 查询进程的权限AdjustTokenPrivileges 调整令牌权限要对一个任意进程(包括系统安全进程和服务进程)进行指定了写相关的访问权的OpenProcess操作,只要当前进程具有SeDeDebug权限就可以了。要是一个用户是Admin
2014-09-17 11:45:43
3347
原创 Http 下载文件,指定下载位置
HTTP协议简介 下载文件是电脑与WEB服务器交互的过程,它们交互的"语言"的专业名称是协议。传送文件的协议有多种,最常用的是HTTP(超文本传输协议)和FTP(文件传送协议),我采用的是HTTP。HTTP协议最基本的命令只有三条:Get、Post和Head。Get从WEB服务器请求一个特定的对象,比如HTML页面或者一个文件,WEB 服务器通过一个Socket连接发送此对象作为
2014-09-10 16:58:42
11611
原创 Http下载文件,指定下载位置。
#include #include #include #include #include #include #include #include #include #include #include #define MAXBLOCKSIZE 1024clock_t clockBegin, clockEnd;#pragma comment (lib, "wi
2014-09-10 16:55:38
942
原创 C语言使用cmd命令并获取输出方法
在实践中,我们有时候需要用C语言来调用cmd的命令,并得到执行的结果,这里给出一个简单的例子。#include // 描述:execmd函数执行命令,并将结果存储到result字符串数组中 // 参数:cmd表示要执行的命令// result是执行的结果存储的字符串数组// 函数执行成功返回1,失败返回0 int execmd(char* cm
2014-08-13 09:51:00
5861
原创 用InternetOpen()的下载文件
#include#include#includeusing namespace std;#pragma comment(lib,"wininet.lib")void main(){ DWORD byteread=0; char buffer[100]; memset(buffer,0,100); HINTERNET internetopen; internetopen=Int
2014-08-07 14:24:16
2975
1
原创 Windows 系统服务管理
/* 介绍:对Windows系统服务的状态获取,服务暂停,开启,停止操作代码 */ void CStartServiceDlg::OnBnClickedButton1() { // 打开服务管理对象 SC_HANDLE hSC = ::OpenSCManager( NULL, NULL,
2014-06-27 17:31:40
1200
转载 msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: class std::basic_ostream ...
Error: msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: class std::basic_ostream ... Solution:This looks like you've got a mismatch in your choice of C Runtime and C
2014-06-23 11:20:56
1033
转载 c++中char*\wchar_t*\string\wstring之间的相互转换 .
#ifndef USE_H_#define USE_H_#include #include #include using namespace std;class CUser{public: CUser(); virtual~ CUser(); char* WcharToChar(const wchar_t* wp); char* StringToChar(const stri
2014-06-12 11:54:44
1059
原创 WP7 ListBox中如何取得子控件中的内容?
Xaml如下:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><UserControl x:Class="ToolsTest.Test" xmlns="http://schemas.microsoft.com/winfx/2006
2014-01-22 11:03:29
3070
原创 vc中获取电脑CPU占有率和内存占有率的API
得到cpu占有率的API函数:GetSystemTimes得到内存使用情况的API函数:GlobalMemoryStatusEx Function Retrieves information about the system's current usage of both physical and virtual memory.GetPerformanc
2014-01-09 11:06:17
5177
原创 模拟实现cmd中的Tracert功能 ,即用于网络检测
TraceRoute程序的实现主要涉及IP头部生存时间(time to live, TTL)字段的使用。 设置TTL字段的目的是为了防止数据报由于选路错误或其他软硬件原因从而导致在网络中无休止的流动,TTL字段指定了数据报的生存时间。TTL的初始值由源主机设置,当一份数据报经过路由器时,处理该数据报的路由器都需要把TTL值减去数据报在路由器中停留的秒数。但事实上大多数路由器只是简单地
2013-10-16 11:57:47
3522
原创 利用"NOTIFYICONDATA"实现MFC的托盘程序
本文章为转发百度空间内容,,保存一下,以防以后用到。。一、自定义信息在头文件中加入下面这句话:#define WM_SHOWTASK (WM_USER+1)二、MYDLG.CPP文件中添加_messageEntries数组添加自定义信息WM_SHOWTASKON_MESSAGE(WM_SHOWTASK,OnShowTask)//将自定义信息WM_SHOWTASK应用于OnSho
2013-08-04 17:06:06
3501
原创 通过“CreateProcess”创建新的“进程”
第一、第二个参数的用法: 例子:使用ie打开指定的网页。注意第二个参数是 可执行文件+命令行参数 #include "stdafx.h"#include #include int main(int argc, char* argv[]) { STARTUPINFO si = { sizeof(si) }; PROCESS_INFORMAT
2013-08-04 17:04:20
1519
原创 防止程序启动两次的方法CreateMutex()
在工程文件中, WinMain函数里加上以下代码HANDLE hMutex = CreateMutex(NULL, false, "Process"); if (GetLastError() == ERROR_ALREADY_EXISTS) { CloseHandle(hMutex); MessageBox(App
2013-07-30 14:00:20
6390
1
原创 用C++,调用浏览器打开一个网页
调用外部命令如果用默认浏览器,就调用ShellExecute(NULL, _T("open"), _T("explorer.exe"), _T("http://www.baidu.com"), NULL, SW_SHOW);如果用IE打开,就调用ShellExecute(NULL, _T("open"), _T("iexplore.exe"), _T("http://www.baidu.co
2013-07-18 15:47:02
20891
2
原创 编译第一次出错,第二次正常。。。。Win7安装vs2008编译报LINK : Internal error during IncrBuildImage--解决方法
安装了VS2008+sp1后出现链接错误:>Copyright (C) Microsoft Corporation. All rights reserved.1>LINK : fatal error LNK1000: Internal error during IncrBuildImage1> Version 9.00.21022.081> ExceptionCode
2013-07-10 11:53:14
2670
原创 基于MFC对话框的OpenGL三维图形开发
上文中,,是在对话框的基础上,利用Picture控件进行OpenGL绘制的,,那么现在是基于一个新的类进行的OpenGL绘制,也有一个Demo,,是用GDI和OpenGL分别绘制的,,声明,,这是别人的Demo,拿来试用一下。。示例我也是学习了这些资料之后才懂得怎么做的。。 以三维动态球体模型来讲述基于MFC对话框的OpenGL编程1.基本思想在Windows98/NT平
2013-05-26 21:15:07
8323
原创 在对话框picture control中利用opengl进行绘图
照着写的一个Demo,,地址如下,Demo 立一个基于对话框的工程(名称:OpenGL)并且在设置的Link里加入库opengl32.lib glu32.lib glaux.lib 为对话框添加picture control 控件,ID:IDC_RENDER 主要程序:// OpenGLDlg.cpp : implementation file//#incl
2013-05-26 21:08:16
4898
原创 Ansi、Unicode、UTF-8字符串之间的转换和写入文本文件
Ansi字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个\0结尾,常用于txt文本文件Unicode字符串,每个字符(汉字、英文字母)都占2个字节,以2个连续的\0结尾,NT操作系统内核用的是这种字符串,常被定义为typedef unsigned short wchar_t;所以我们有时常会见到什么char*无法转换为unsigned short*之类的错误,其实就是unicodeU
2013-05-23 21:48:14
2235
原创 VS2010 简单ATL COM开发
1、打开VS2010,新建ATL COM 项目,步骤:“文件” --》“新建” --》“项目”,选择“Visual C++” --》“ATL 项目” ,填写“名称” FirstCOM --》“确定”。2、ATL 项目向导,勾选 【支持COM+ 1.0】和【支持部件注册器】,其他默认,点击完成。3、切换到类视图,右键单击项目“FirstCOM”--》“添加” --》“类”。
2013-05-19 22:59:37
7150
原创 CString::GetLength()获得字节数的正确方法介绍
前段时间,做http协议上传文件及断点续传控件时,在客户端采用C++调用CHttpConnection、CHttpFile进行文件上传。移植到Unicode编码时,上传得到的文件总是小于正常文件。最终发现问题出在CString::GetLength()方法上。当采用Unicode编码时,而且http header字符串中出现了中文或其其他多字节字符,该方法仍旧只返回字符数,而不是实际的字节数,这样
2013-01-11 23:03:36
3776
原创 每天一算法(三色河内塔)
接双色河内塔问题三色河内塔,直接来看九个盘的情况,首先必须完成下图的移动结果:接下来最底两层的就不用管它们了,因为它们已经就定位,只要再处理第一柱上面的三个盘子就可以了。C++程序#include void hanoi(int disks, char source, char temp, char target) { if (disk
2013-01-02 17:19:23
1599
转载 vs2010项目打包部署,Windows程序打包部署
Windows应用程序开发完成后,如何将项目进行打包部署。下面就是我使用vs2010进行项目开发后进行的项目打包部署。工具/原料vs2010或vs2008步骤/方法在vs2010开发环境中打开一个要部署的项目,在“文件”菜单中选择“新建->项目”选项。弹出“新建项目”对话框。
2013-01-02 11:07:00
1277
原创 C++文件操作(2)
打开文件的方式 当我们想要打开的文件不存在的时候,一般地,ofstream类的对象会默认地自动创建一个文件。而如果我们想要打开的文件是存在的,那么就会调用ofstream的构造函数或者是调用open()函数进行打开。下面,我们来看一下MSDN上面是如何定义open()函数的:首先是函数原型:void open( const char *_Filename,
2012-12-27 22:28:45
1399
原创 C++文件操作(1)
文件的输出操作 想要程序中的数据输出到文件中,一共需要以下5个步骤:① 包含fstream头文件:#include ② 建立ofstream对象:ofstream ocout;③ 将对象与文件关联:ocout.open(“test.txt”);④ 使用该对象将数据输出到文件test中:ocout⑤ 关闭与文件的连接:ocout.close(); p
2012-12-25 23:54:50
1217
原创 每天一算法(双色河内塔又叫汉诺塔)
说明双色河内塔是由之前所介绍过的河内塔规则衍生而来,双色河内塔的目的是将下图左上的圆环位置经移动成为右下的圆环位置:解法双色河内塔或是原始的河内塔,其解法观念与之前介绍过的河内塔是类似的,同样也是使用递回来解,不过这次递回解法的目的不同,我们来看双色的情况,这很简单,只要将第一柱的黄色移动至第二柱,而接下来第一柱的蓝色移动至第三柱。再来是四个盘的情况,首先必须用递回完成下图
2012-12-19 10:15:00
6447
原创 每天一算法(生命游戏)
说明生命游戏(game of life)为1970年由英国数学家J. H. Conway所提出,某一细胞的邻居包括上、下、左、右、左上、左下、右上与右下相邻之细胞,游戏规则如下:孤单死亡:如果细胞的邻居小于一个,则该细胞在下一次状态将死亡。拥挤死亡:如果细胞的邻居在四个以上,则该细胞在下一次状态将死亡。稳定:如果细胞的邻居为二个或三个,则下一次状态为稳定存活。复活:如果某位置原
2012-12-18 14:48:10
2323
原创 每天一算法(八枚银币)
说明 现有八枚银币a b c d e f g h,已知其中一枚是假币,其重量不同于真币,但不知是较轻或较重,如何使用天平以最少的比较次数,决定出哪枚是假币,并得知假币比真币较轻或较重。解法 单就求假币的问题是不难,但问题限制使用最少的比较次数,所以我们不能以单纯的回圈比较来求解,我们可以使用决策树,使用分析与树状图来协助求解。一个简单的状况是这样的,我们比
2012-12-17 23:21:47
1490
原创 每天一算法(du熊填数字)百度之星的题,限时没有完成,补上。
Problem Description du熊这几天使劲的往一个n 行n列的矩阵填0和1这两个数字,n为偶数,而且矩阵由里向外分成了n / 2层。比如n = 6时,矩阵的分层如下: du熊填数时有一个要求:不能存在两个相邻的1,且位于不同的层(这里的相邻指两格子共用一条线)。 请你帮du熊计算一下有多少种填法。Input 输入包含多组测试
2012-12-11 22:57:04
2560
Scrapy爬虫实践项目
2015-06-26
Dlg_OpenGL
2013-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人