摘要:level cache是一个golang编写支持分片存储的多级的缓存库。整体设计上在保障性能够用的前提下尽可能的通过设计方案简化代码实现,便于维护和二次开发。该库能够管理多种速度价格不同的设备进行对象分片的功能,实现性能和价格的平衡。level cache以分片为粒度进行数据的存储和热点管理,方便类 阅读全文
posted @ 2020-05-25 08:58 Ghost_zhao 阅读(651) 评论(0) 推荐(0) 编辑
摘要:原文 http://www.zhaoch.top/操作系统/linux/不停服更新二进制文件.html 不停服更新二进制文件 www.zhaoch.top > 操作系统 > linux 虽然目前分布式架构和keepalived等工具的存在,对于某些特殊的程序,仍然需要不停服更新二进制文件。 这里参考 阅读全文
posted @ 2018-09-12 20:25 Ghost_zhao 阅读(601) 评论(0) 推荐(0) 编辑
摘要:http://www.zhaoch.top/操作系统/linux/热替换so文件.html 热替换so文件 www.zhaoch.top > 操作系统 > linux 发现nginx的动态模块无法热更新,于是研究了一下相关的问题。 代码准备 reload.c, 启动文件,用来模拟正在运行的程序,不断 阅读全文
posted @ 2018-09-12 20:22 Ghost_zhao 阅读(2417) 评论(0) 推荐(0) 编辑
摘要:博客更换至 www.zhaoch.top 随手拷了一些链接 http://www.zhaoch.top/操作系统/linux/常用命令备忘.html http://www.zhaoch.top/操作系统/linux/常用命令备忘.html http://www.zhaoch.top/操作系统/lin 阅读全文
posted @ 2018-09-06 10:17 Ghost_zhao 阅读(249) 评论(0) 推荐(0) 编辑
摘要:最近看一本设计模式,自己抽空实现了一下,分享一下,最忌比较忙,就不细说了,先把代码放在这里,之后补上注释。书上把设计模式分为创建型,结构型和行为型,本次先来创建型。(一),抽象工厂模式AbsractFactory头文件#ifndef_ABS_FACTORY_H_#define_ABS_FACTORY... 阅读全文
posted @ 2015-04-18 12:26 Ghost_zhao 阅读(351) 评论(1) 推荐(0) 编辑
摘要:1#include2#include3#include45pthread_mutex_tmutex;6pthread_cond_tcond_full;7pthread_cond_tcond_empty;89intg_iBufSize=0;1011void*thread_producer(void*a... 阅读全文
posted @ 2015-04-12 23:52 Ghost_zhao 阅读(754) 评论(0) 推荐(0) 编辑
摘要:代码:CXX:=g++CFLAGS:=-gTARGET:=xxx.exeSRCS:=$(wildcard*.cpp)OBJS:=$(patsubst%cpp,%o,$(SRCS))all:$(TARGET)%.o:%.cpp$(CXX)$(CFLAGS)-c$<$(TARGET):$(OBJS)$(... 阅读全文
posted @ 2015-04-12 23:50 Ghost_zhao 阅读(1746) 评论(0) 推荐(0) 编辑
摘要:最短路是个老问题了,大神们留下很多文档但是很多都是针对算法使用一些固定大小的数组进行数据存储在实际应用中受到限制,这里自己练习一下,主要用了一些c++的stl,减少了固定长度数组的依赖,换一种写法试图提高可读性。有兴趣的同学可以试着将map/set 换成 hash_set/hash_map 应该能获... 阅读全文
posted @ 2015-03-08 12:37 Ghost_zhao 阅读(2199) 评论(0) 推荐(0) 编辑
摘要:在C#和Java中都有存在decimal类似的十进制数字,C++中尚未发现,春节假期忙里抽闲写了一个玩玩,时间紧迫没有测试,只能保证编译通过。抛砖引玉,欢迎大家多提建议当前缺陷:1. 除法功能没有实现2. 没有测试3. 代码比较乱没有重构,部分命名不规范4. 算法效率比较低老规矩直接上代码:VS 2... 阅读全文
posted @ 2015-02-23 11:37 Ghost_zhao 阅读(2399) 评论(1) 推荐(0) 编辑
摘要:都知道C语言是面向过程的,但是现在软件规模越来越大,通过面向对象的方式可以简化开发。业余时间想了个简单的方法,在C中使用一部分面向对象的基本功能。由于C语言自身的限制,并不完善,只能将就用,聊胜于无,如果大家有好的想法可以一起讨论。 首先还是老规矩上代码:http://files.cnblogs.... 阅读全文
posted @ 2014-09-08 11:52 Ghost_zhao 阅读(448) 评论(0) 推荐(0) 编辑
摘要:这段时间google上有个小游戏挺火的,我也很喜欢,业余时间做个C语言版的。老规矩先上干货:http://files.cnblogs.com/GhostZCH/2048.rar(.c & .exe)最近在忙毕业设计, 写的不是很好,可能还有不少bug,待优化的地方也不少。还望各位大侠多多指正,不吝赐教。方向键控制,r键重启,esc退出。界面截图如下:以向上移动为例说明移动命令的处理:首先现有一个将格子的数字移动一步的函数:1//********************************************2//Method:MoveOneStep3//Description: 阅读全文
posted @ 2014-03-30 16:59 Ghost_zhao 阅读(3119) 评论(1) 推荐(2) 编辑
摘要:以后要搞C了先自己练习一下,系统本身没有太大的实际用途,只是用来磨练编程规范,不足之处还望大家多多指正。互相交流共同进步。为了方便只使用了一个 book.c 文件,在vc6 下编译通过,其他编译器还没试过文件链接 : http://files.cnblogs.com/GhostZCH/Book.rar顺便贴出代码11/************************************************************************/2/**/3/*该文件是一个模拟的图书借还系统,通过命令行操作*/4/**/5/*命令:*/6/*1.重启:reboot*/7/*2. 阅读全文
posted @ 2014-01-08 14:10 Ghost_zhao 阅读(740) 评论(0) 推荐(0) 编辑
摘要:1遍历所有属性var person={fname:"John",lname:"Doe",age:25}; for (x in person) { txt=txt + person[x]; }2.array 有 lenth 属性 var arr = new Array(); var len = arr.lenth;3 === 类型也相同4 访问属性的两种方法objectName.propertyName objectName["propertyName"]5 支持 try catch throw6 isNaN(x) 判断是否数字7 当你 阅读全文
posted @ 2013-07-12 20:54 Ghost_zhao 阅读(439) 评论(1) 推荐(1) 编辑
摘要:1.每个MFC程序包含一个可执行程序类取名theApp,继承CWInApp例如:classCMFCButtonTestApp:publicCWinApp。2.对话框通常继承CDialog,包含数个控件,可通过拖拽增添控件,可通过属性设置控件外观,同时通过属性窗口绑定控件的事件。3.弹出框:MessageBox(L"OnBnDoubleclickedButton1");4.窗口可增加消息,更多的事件5.选中类可为这个类添加事件和消息6.MFC类中函数的来源主要有三个,响应消息,响应事件,覆盖父类方法7.MFC单文档和多文档中View和Doc类相关,View通过GetDocum 阅读全文
posted @ 2013-04-28 11:38 Ghost_zhao 阅读(333) 评论(0) 推荐(0) 编辑
摘要:1.c++中的类型转换static_cast、dynamic_cast、reinterpret_cast、和const_cast,详见:http://wenku.baidu.com/view/a9356b80d4d8d15abe234e32.html2.指针的指针使用例如:Item**itemList=NULL;itemList=newItem*[n]//初始化一个长度为n的Item*类型的空间,要求Item有默认构造函数for(inti=0;i<n;i++)itemList[i]=newItem();//初始化每一个指针//释放过程for(inti=0;i<n;i++)delet 阅读全文
posted @ 2013-04-28 11:36 Ghost_zhao 阅读(480) 评论(0) 推荐(0) 编辑
摘要:很久之前就想做一个坦克大战,尝试着用WPF做了一部分,后来放弃了,或者说失败了。之前的失败给了自己很多启示,想要的内容太多,心太高,能力有限,结果只有失败。从那之后养成了很多习惯:每回自己做东西都要仔细的计划一下设计一下,即使不规范的写文档心里也要有数;在大程序开始前,先做一些小程序验证一下可能遇到的技术问题是不是都能解决,免得做了多一半才发现有些问题是根本不可能解决的;先把最基础个功能实现,不急于实现那些不重要的细枝末节,验证整体结构的可行性,细小的功能再以后的迭代中逐步添加上去,将每一步的风险都降低;架构先行,将不同功能的代码分割开来,不同的模块分别进化,减少风险。放寒假回家就开始动手.. 阅读全文
posted @ 2013-04-10 16:14 Ghost_zhao 阅读(15191) 评论(8) 推荐(2) 编辑
摘要:想了一个寻路算法,用C++实现了一下,界面用MFC完成的很简单。用20x20的方形区域作为迷宫,为了方便,随机选取了大约1/3的格子作为路障,禁止通过。规则是在只能想前后左右四个方向移动的前提下找到从入口(默认左上角)到出口(默认右下角)的最短路径。 源代码下载:http://files.cnblogs.com/GhostZCH/MFCMaze.rar(如果你下载了,希望你能留下只言片语,哪怕是“+1”也好,谢谢) 说来这个算法也不算难,借鉴了路由器建立路由表的算法,更加简化一些。熟悉TCP/IP协议的筒子们一定会记得路由表建立的原来,这个算法也一样,把每一个单元看成一个路由器,在它上... 阅读全文
posted @ 2013-03-18 10:47 Ghost_zhao 阅读(13095) 评论(10) 推荐(11) 编辑
摘要:花了两天时间做了一个MFC的扫雷,简单的实现了扫雷的功能,界面很草小毛病很多(比如标题。。),还望大家多多指正。开发工具: VS2008代码:http://files.cnblogs.com/GhostZCH/FindMine.rar界面如下,红色的是标记,绿色的是还没有打开的各种,黄色的是已经打开的,红星是地雷(原谅程序的丑陋,唉,我也不是做美工的。。)类图如下,主要是MineItem,MineGrid,MineView 三个类其他的基本都是自动生成的没做多大修改。MineItem和MineGird是逻辑上的格子单元和整个格子,游戏的主要逻辑操作都在MineGrid中完成,View至负责和用 阅读全文
posted @ 2013-03-12 19:18 Ghost_zhao 阅读(6182) 评论(2) 推荐(1) 编辑
摘要:1.C++内存使用分为堆、栈:栈是相对静态的,系统自动释放,一般是固定大小,固定位置的,如inta,doubled,int[100]等,堆是相对动态的,通常有new,malloc行为产生,系统不会自动释放堆的内存。Delete会触发析构函数。例如:voidTest(){Intx=1;//函数执行后自动释放Int*p=newint(1);//函数执行后不会自动释放需要手动释放;Delete(p);//释放P=NULL;//如果后面还有进一步操作必须至NULL在应用时检测是否为空!}2.C++的变量不会自动初始化,需要手动初始化。例如:intx=0。对于全局或是静态的变量,声明时就要初始化,因为不 阅读全文
posted @ 2013-02-09 22:07 Ghost_zhao 阅读(663) 评论(5) 推荐(1) 编辑
摘要:没有钱出去玩,也没有女友需要陪,作为一个宅宅的程序员,假期越长显得越无聊,于是拿出电脑,熟练的打开visual studio打发一下无聊的时间。 一直想学学c++都抽不出时间,借十一小长假自娱自乐一下。凭借本人多年上当受骗经验,靠看书学编程几乎是不可能的,于是乎给自己定了一个小任务做一个俄罗斯方块,边干边学。同学们七嘴八舌的建议我用MFC,基于对话窗的小项目,我就从了他们。 程序本身并没有什么,简简单单,还有一些这样那样的问题,只不过是本人的第一个c++项目,从一个初学者的角度和大家聊聊。 代码已经上传:http://files.cnblogs.com/GhostZCH/Box.rar ,.. 阅读全文
posted @ 2012-10-07 20:45 Ghost_zhao 阅读(9293) 评论(4) 推荐(3) 编辑
摘要:C#有自动回收内存的机制,但是有时自动回收有一定滞后,需要在变量使用后迅速回收,节约内存,这里介绍一个最简单的方法。1.先对对象赋值 null;2.System.GC.Collect();代码样例: 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 long lenth = 1024 * 1024 * 128; 6 7 GetCost("程序启动"); 8 9 double[] data = new doubl... 阅读全文
posted @ 2012-09-18 17:30 Ghost_zhao 阅读(13796) 评论(1) 推荐(3) 编辑
摘要:原则上,在C#中最好不用指针,更安全也更方便,但是有时使用指针是速度更快,这里简单介绍一下使用指针访问数组。先在设置里允许可以使用不安全代码:在使用指针时先在函数返回类型前声明该函数实际unsafe的,与C++不同,C#不能直接定义指针,只能放在fixed中,并且指针的有效域也只能在fixed程序段中。写了一小段代码访问数组元素,代码如下。arr1与arr2是两个整数数组,在fixed程序段中依次访问其中的元素。注意:使用指针是有风险的,与正常访问不同,系统少做了一些校验,这也是指针较快的原因,除非对效率有极高要求还是不建议使用指针的。指针的使用与C&C++类似(一般要开指针的对这两种 阅读全文
posted @ 2012-09-18 15:31 Ghost_zhao 阅读(794) 评论(7) 推荐(0) 编辑
摘要:MeshGeometry3D时WPF中的一种3d显示类,之前有人发帖解决了从3dmax文件自动生成MeshGeometry3D的方法(http://www.cnblogs.com/enjoyeclipse/archive/2012/03/21/2410439.html)。这里反其道而行发布一种将MeshGeometry3D模型导出到obj文件格式可以使用3dmax打开查看。内容如下: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using... 阅读全文
posted @ 2012-06-14 18:45 Ghost_zhao 阅读(2349) 评论(0) 推荐(1) 编辑
摘要:BitmapSource 是WPF中图片的核心类型,读、写、显示都很常用,下面所有的操作都是以这个类型为核心的。从文件读如图片到BitmapSource 类型: 1 private BitmapSource GetSource() 2 { 3 BitmapSource result = null; 4 5 OpenFileDialog dialog = new OpenFileDialog(); 6 dialog.Filter = "常用位图(*.bmp;*.jpg;*.png)|*.bmp;*.jpg;*.png"; 7 8 if (true == dialog... 阅读全文
posted @ 2012-04-08 15:46 Ghost_zhao 阅读(3767) 评论(1) 推荐(1) 编辑
摘要:最近搞了个小程序需要用到FFT,可是找来找去都没有一种C#下可靠地FFT代码,而且速度也不能令人满意。发现MIT做过一个很好的C++类库(http://www.fftw.org/)可以比较好的解决FFT的问题而且运算速度号称世界最快的(虽然未经验证,不过的确很快)。于是研究起在C#中调用C++的dll。1. 在 C#中调用C++首先要包装,将C++中的方法包装成C#下的方法,下面这个不是我写的,但过程都是这个,"libfftw3-3.dll" 文件名,"fftw_malloc"c++函数名,其他参数可以参照VS的帮助选择。记得 using System. 阅读全文
posted @ 2012-04-08 15:21 Ghost_zhao 阅读(8434) 评论(0) 推荐(5) 编辑
摘要:WPF自定义按键实现窗口的关闭、最小化和拖动 1 private void Grid_MouseMove(object sender, MouseEventArgs e) 2 { 3 if (e.LeftButton == MouseButtonState.Pressed) this.DragMove(); 4 } 5 6 private void ItmMin_Click(object sender, RoutedEventArgs e) 7 { 8 this.WindowState = WindowState.Minimized; 9 } 10 11 private... 阅读全文
posted @ 2012-04-08 14:11 Ghost_zhao 阅读(593) 评论(0) 推荐(0) 编辑
摘要:之前用业余时间开发了一个电话本小程序(http://www.cnblogs.com/GhostZCH/archive/2011/11/25/2263705.html),开发之后有一些待改善的问题,放假回家又用了一些时间开发了 2.0,改善了其中的一些问题。 安装包下载:http://files.cnblogs.com/GhostZCH/PhoneII_Setup.rar一、程序的基本信息:开发工具: VS2010; 大 小 :安装包700k; 有效代码:2200行左右(有一部分是用自制工具生成的http://www.cnblogs.com/GhostZCH/archive/2012/01/.. 阅读全文
posted @ 2012-01-27 23:45 Ghost_zhao 阅读(580) 评论(0) 推荐(0) 编辑
摘要:主窗口单个属性编辑窗口生成的代码文件生成的代码 :1. AbstractRecordFactory.cs(不允许开发人员修改) 1 //生成时间:2012/1/13 10:44:59 2 using System; 3 using System.Collections.Generic; 4 using PhoneIIModles.DataTools; 5 6 namespace PhoneIIModles.Record 7 { 8 public abstract class AbstractRecordFactory 9 { 10 prote... 阅读全文
posted @ 2012-01-13 11:01 Ghost_zhao 阅读(4073) 评论(0) 推荐(0) 编辑
摘要:这周花了几天业余时间开发了一个电话本的小程序。 程序虽然很小,很简单,也很丑陋,但是确实本人开发的第一个完整的可用的App。构思,编码,简单的测试,直到制成安装包都是一个人完成。以前虽然也写了不少C#和java代码(几万行吧),也写过无数的C和C++的小玩意,但要么是只完成大项目的很小一部分,要么就是那种没啥意思的“hello world!”测试算法的可行性。 程序的基本信息:开发工具: VS2010; 大 小 :安装包500k; 有效代码:500行左右; 架 构 :.NET 4.0 Client Prifile; 主要技术:XML 读写,WPF 界面制作; 开发时间:大约不到20小时吧,估. 阅读全文
posted @ 2011-11-25 22:22 Ghost_zhao 阅读(1489) 评论(2) 推荐(0) 编辑
摘要:1.数组矩阵的赋值:a=[12345]向量a=(1,2,3,4,5)a=[123;456;789]3*3矩阵a=[123456789]回车与“;”效果一致a=0:1:100注意:是0到100共101个分量a=100:-1:0亦可a=linspace(0,10,6)生成0到10之间的6个数(包括0和10)(0,2,4,6,8,10)a=logspace(0,5,6)生成0到5之间的六个数(包括0和5)再取以10为底的指 数结果是(1,10,100,1000,10000,100000)特殊矩阵eyeoneszerosrandrandnmagic。通过a(n,m)的方法访问或都每一个赋值,“:”代表 阅读全文
posted @ 2011-09-19 21:37 Ghost_zhao 阅读(249) 评论(0) 推荐(0) 编辑
摘要:第五章. 函数、函数与运算符的重载 C++程序允许两种函数说明语句的形式,分别称为函数原型(或函数声明)和函数定义。 属性说明:可缺省,一般可以是下面的关键字之一:inline、static、virtual、friend 等。 inline :表示该函数为内联函数。 static :表示该函数为静态函数。 virtual:表示该函数为虚函数。 friend :表示该函数为某类(class)的友元函数。 函数的调用重载与其他语言相同,但在C++中可以重载操作符而Java中不能。内联(inline)函数的设置是C++不同于C 的特征之一。虽然这些带参数的宏定义的功能与应的内联函数基本一致,但仍然是 阅读全文
posted @ 2011-08-09 22:48 Ghost_zhao 阅读(349) 评论(0) 推荐(0) 编辑
摘要:出于个人兴趣原因用业余时间看一点C++,作此笔记作为备忘,此次只是粗略观察,将来认真学习是再仔细研究 。 随意在网上下了一本《[高级语言Cpp程序设计].刘璟.文字版.pdf》,就以这本书为基准开始吧。作为一个有 Java 和 C# 开发经验又了解一些 C 的人,我也将着重从这几种语言的之间的相同和不同下手尽快对C++有一个粗浅的了解,希望可以抛砖引玉得到高手指点。 闲言少叙,书归正传。 第一章. 绪论 某年某月某日由于某种原因产生了C++,由于N+1个原因我们要使用和学习C++,本书将如何如何讲解。。。。。。。。。。。。。。。。 第二章. C++语言初步 Hello C++! 在开头的 #. 阅读全文
posted @ 2011-08-06 11:44 Ghost_zhao 阅读(404) 评论(0) 推荐(0) 编辑
摘要:一、Jquery 常用函数 1 $("#+id") 获得控件 例: var _jd_dialog = $("#jd_dialog"); 2 parentNode 上级 例: this.parentNode.parentNode.removeChild(this.parentNode); 3 removeChild 去掉子节点 例: this.parentNode.parentNode.removeChild(this.parentNode); 4 prepend 前置 例: $("body").prepend("<di 阅读全文
posted @ 2011-08-02 23:19 Ghost_zhao 阅读(379) 评论(0) 推荐(0) 编辑
摘要:一、不经后台直接打开控件 1.<% Html.RenderPartial("TreeControl", Model.Groups);%> //在同一个Controller下2.<% Html.RenderPartial("~/Views/HR/SelfAbilityIndex.ascx", model%>//在另一个Controller下二、按钮(链接)1<%=Ajax.ActionLink("编辑", // 显示名"UpdateSelfAbility", // 后台Actionnew 阅读全文
posted @ 2011-08-02 23:17 Ghost_zhao 阅读(387) 评论(2) 推荐(0) 编辑
摘要://_________________________________________________////Description : 发现自己的代码写的越来越玄幻了 //// CODER : Ghost //// Time : 2011-6-10 ////_________________________________________________//// 更新在最后 Add by Ghost也许我该这样写int Max(int a,int b){ int x; if(a>b) { x=a; } else { x=b; } return x;}其实我是这样写的int Max(in 阅读全文
posted @ 2011-08-02 23:04 Ghost_zhao 阅读(497) 评论(6) 推荐(0) 编辑
摘要:本博客于2011年8月2日 开通,特此记录。 本博客主要方便技术交流,欢迎访问留言。 标题 :幽灵的命名空间 网址 :http://www.cnblogs.com/GhostZCH/开博人 :Ghost 联系方式 : QQ :1926806425 阅读全文
posted @ 2011-08-02 22:59 Ghost_zhao 阅读(158) 评论(1) 推荐(0) 编辑