posts - 16,  comments - 81,  trackbacks - 0
  置顶随笔
onedouble.cnblogs.com
posted @ 2012-05-20 21:41 叫我老王吧 阅读(245) | 评论 (0)编辑 收藏
        因为笔者是以前是做C#的,对Winform情有独钟,最近想转C++,想把以前的一些Delphi转成c++,MFC我不熟而且用起来相当烦效果又丑,GTK图形库用起来太麻烦,琢磨着研究一下WInform前台,C++做后台的方法,谷歌了一下,没看到什么中国资料,我草,我以前看过的啊,找来找去,找到一篇英文的,写得太纠结,我结合自己使用的经验,重新整理一下,言简意赅,简明易懂。谨供新人参考,老鸟勿拍。
      
  1. 首先打开你的VS2005
  2. 依次点击菜单栏的文件-->新建-->项目
  3. 在左边的语言列表选里,选择C++分支下的CLR,然后在右边单击“CLR 空项目”
  4. 在名称框里输入Exercise2:
  5. 点击“OK”,创建项目成功。
  6. 好了,这只是创建了好了一个托管C++项目,要使用WINFORM,我们要引入相关的.NET组件。
  7. 在vs主界面上依次点击菜单栏的项目-->"引用";
  8. 在弹出的子窗口中选择添加新引用;
  9. 在.NET标签页下选择System,点确定,再点击添加新应用,在.NET标签页下选择System.Window.Forms,然后确定,如图
  10. 都完成后,应该像这样,然后点击确定
  11. 创建一个新的类,点击VS主界面菜单栏的项目-->添加类;
  12. 在弹出的子窗体右边选择C++类,点确定,会出现添加类向导,在类名中输入CExercise,基类中填Form
  13. 然后我们来到自动生成的头文件代码中,添加System和Form的引用,修改后的文件应该如下
  14.  1
     2#pragma once
     3
     4using namespace System;
     5using namespace System::Windows::Forms;
     6
     7public ref class CExercise : public Form
     8{
     9public:
    10    CExercise(void);
    11}
    ;

    然后我们要创建一个主程序来调用这个类。这个大家应该都比我熟的,右击源文件文件夹,点击添加-->新建项,选择CPP文件,代码如下:
  15.  1
     2
     3#include <windows.h>
     4#include "Exercise.h"
     5
     6int APIENTRY WinMain(HINSTANCE hInstance,
     7             HINSTANCE hPrevInstance,
     8             LPSTR lpCmdLine,
     9             int nCmdShow)
    10{
    11    Application::Run(gcnew CExercise());
    12
    13    return 0;
    14}

    含义我不多说了,把那个Cexercise换成你自己别的名字的类就可以运行那个类了,当然了,要注意包含头文件。点击运行看看,一个白白的窗体,对吗,好的,革命成功迈出了坚实的一步。
  16. 下面我们来试着添加一个button按钮,修改Exercise.cpp的代码如下
  17. 1
    2#include "Exercise.h"
    3
    4CExercise::CExercise(void)
    5{
    6    System::Windows::Forms::Button^  button1=gcnew Button;//创建按钮
    7    this->Controls->Add(button1);//把按钮附加到我们的窗体上
    8}

    9

    在运行看看,应该像这样
  18. 然后如果你还想继续给这个按钮添加文字设置尺寸什么的,你可以通过像这样的代码,具体我不说多少,因为选择Winform就是看中快速的控件拖拉功能,都是手写我还不如用GTK
  19. this->button1->Name = L"button1";//设置按钮文字
    this->button1->Size = System::Drawing::Size(7523);//设置按钮尺寸

  20. 好了,下面重点来了,如何像C#一样自由地拖拉控件改属性呢,我们右击项目,选择添加-->新建项。
  21. 在弹出的子窗体右边选择Windows窗体,输入一个名字,比如“HelloWorld”,点击确定
  22. 然后我们就欣喜的发现,哇,又回到Winform拖拉控件的时代啦,是的,没错,而且我们可以以C++写后台。没用过c#的朋友请在界面上找找工具箱,实在没找到请依次点击主窗体上菜单栏的视图-->工具箱,然后从工具箱里找到一个button控件拖动到主窗体上。
  23. 之后双击这个button,会自动添加一个button的单击事件,我们希望单击的时候弹出一个“我是傻逼”的消息框,代码如下:
  24. 1    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    2                 //MessageBox.Show(this,"wocao");//C#格式的调用方法是不行的
    3                 MessageBox::Show(this,"我是傻逼");//这才是正确的
    4         }

    5    };
    6}

  25. 第一个参数是父窗体,第二个参数是消息框的内容。细心的同学发现了,这里和C#不太一样,是的,如果你按C#的写法:Messsage.Show(...),这样程序是没法通过编译的,毕竟是两种语言嘛。
  26. 好了,我们回到主程序入口那里,修改Exercise()为HelloWorld(),运行看看,出错了!!没错,你还得添加头文件,添加引用,真是麻烦啊,没办法,这儿还没有在C#下的引用添加提示,不知道Clipse下的Cdt有没有这个功能,最终代码如下
     1#include <windows.h>
     2#include "Hello World.h"
     4using namespace WInformCpp;
     5int APIENTRY WinMain(HINSTANCE hInstance,
     6                     HINSTANCE hPrevInstance,
     7                     LPSTR lpCmdLine,
     8                     int nCmdShow)
     9{
    10    Application::Run(gcnew HelloWorld());
    11
    12    return 0;
    13}

    好了,运行一下看看。像这样,那就对了,再深入地使用就不是本贴讨论的范畴了,在C++上,各位都是我的前辈
posted @ 2010-12-16 22:23 叫我老王吧 阅读(30916) | 评论 (27)编辑 收藏
     摘要:                           Lesson 1: Getting Started with Direct3D Les...  阅读全文
posted @ 2010-11-11 11:57 叫我老王吧 阅读(2600) | 评论 (14)编辑 收藏
 1GtkTreeIter iter;//定义一个迭代器
 2    GtkTreeModel *pmodel;
 3    char* pitem;
 4    pmodel=gtk_tree_view_get_model(GTK_TREE_VIEW1));//得到TREEVIEW的model
 5    gtk_tree_model_get_iter_first(pmodel,&iter);//迭代器定位到第一行
 6    int columns=gtk_tree_model_get_n_columns(pmodel);//获取行数
 7    
 8    //获取列名
 9    for(int i=0;i<columns;i++)
10    {
11        GtkTreeViewColumn *column = gtk_tree_view_get_column(GTK_TREE_VIEW(control),i);//遍历header
12        string coltitle(__(gtk_tree_view_column_get_title(column),1));
13        cout<<coltitle;//输出列名
14    }
            
15        
16    do//开始遍历内容
17    {
18        for(int i=0;i<columns;i++)
19            {
20                gtk_tree_model_get (GTK_TREE_MODEL(pmodel),&iter,
21                i,        &pitem,
22                -1);//将指定单元格的值传给pitem
23                try
24                {
25                    cout<<pitem;//输出单元格的值
26                }
catch{}
27            }

28    }
while(gtk_tree_model_iter_next(pmodel,&iter));
唉,网上找了半天,没找到思路,只有自己慢慢啃了,写完发一下,给需要的朋友一些借鉴

posted @ 2010-06-25 11:57 叫我老王吧 阅读(2958) | 评论 (0)编辑 收藏
  2012年9月8日
doubanclaime6cc4cf3a22a7877 
posted @ 2012-09-08 13:02 叫我老王吧 阅读(164) | 评论 (0)编辑 收藏
  2012年5月20日
onedouble.cnblogs.com
posted @ 2012-05-20 21:41 叫我老王吧 阅读(245) | 评论 (0)编辑 收藏
  2011年2月24日
     摘要:         首先向大家道歉自3出了以后隔这么久才出4,一方面过年期间我天天在外面走亲戚,另一方面我最近确实有些消沉,我不是个会太监的人,却总是有时会陷入一种消沉的状态,因为想从软件行业转型,碰了许多壁,关起门来看龙书和算法导论,基本保持不上网状态,偶尔手机上上人人网分享点日志。    &nbs...  阅读全文
posted @ 2011-02-24 00:46 叫我老王吧 阅读(3504) | 评论 (4)编辑 收藏
  2010年12月27日
     摘要: 课程概述 如果您已经通过前两课教程进展至斯,您现在可以开始了写3D程序了。 然而,3D编程不是像土匪斗恶霸那么简单。它是严格的数学,你必须了解三维数学概念,才能写好3D程序。 不要担心这没什么复杂的。 我保证您不会在数学上花费比学C + +更多的时间。 这一课是纯理论课。 我们将在下一课中实践我们的理论。 在这一课中我们将介...  阅读全文
posted @ 2010-12-27 20:02 叫我老王吧 阅读(2266) | 评论 (5)编辑 收藏
  2010年12月22日
    
    写这篇是受两位前辈撰文感染,一时有感而发,立此存照,立志十年之后也能成为这样的大神。
    空明流转和VCZH是CppBlog里我景仰的仅有的几名大神之二,虽然后者未必知道我是谁。但是空明前辈,是时有给我指点的,我的QQ空间,我自己是不常去的,然而空明前辈总是热心地回复指出我的状态的傻逼之处,使我常心怀感激,恨不能以身相许。

   
    96年的时候我上小学三年级,在小霸王上用FBasic敲出了我的HelloWorld,那时候还在旧书市场弄了本计算机杂志的合订本回来练习,差不多同一时期空明流转和云风也在折腾小霸王上的Basic,但是十年之后我的编程水平并没有比这长进多少,而他们早已风驰电掣呼啸而过连项背都望不到了。

    2000年的时候我在社区中学上初中,初二的时候第一次开了计算机课,教材倒是蛮新,和省城南京的一个版本,但对于大部分同学这本教材更大的意义在于拿回家垫桌脚,因为老师说:“同学们,由于本校的经费有限,我们的机器只有DOS,所以本学期我们学习FoxBase和WPS”。后来我很感谢这位老师,因为这些DOS命令为我以后玩命令行奠定了不错的基础。    
    那是一个纯真的年代,李刚每天下了班骑自行车接儿子,冠希还没学会用相机,菊花还是用来欣赏的,而我----上课前预习,课上认真听讲,课后认真复习,没有机器练习我就死记硬背命令。所以我的考试也总是A,但是我的同学都BS我,因为去网吧玩98我就是个凹凸曼,QQ不会聊,传奇账号不会申请(实在是我不知道邮箱地址的格式),他们最为津津乐道的是我第一次的时候都不知道怎么开机。但他们永远不会知道更傻逼的是我每次敲网址前都会加"http://".
    这三年有三件值得纪念的事儿。一件是计算机二级,好像是Basic语言的,五个人去培训四个人考试参加,我是那个1/5,我没钱,家里不支持我搞计算机;一件是Cdida编程比赛,我用父亲单位的电脑完成了作品但是提交以后这件事就杳无音讯了。一件是我把那本省城的书啃了两遍也没学会VB,我完全无法理解那些图形化的控件是个什么玩意儿。   

    03年的时候我来到一所不好不坏的高中,无论怎么看,这时候的我都只是电脑盲,电脑盲,还是电脑盲!当时有同学脖子上优盘,我都不知道那是什么。
    高一的这一年,我学会了人生中第一重要的技能----申请电子邮箱。后来呢,后来没有了,一切为了应试,所以让你上一学期计算机已经很给你们面子了。这是不是让人觉得很操蛋,然而更加操蛋的是我发现我们的高中教材就是初中教材的重印版,what a fucking hell!
    下学期的我,每日徘徊于学校网吧和Home,苦练War3梦想着有一天能像MagicYang一样站在领奖台上。在某一个阳光不记得明媚或是不明媚,春意不知道盎然不盎然的下午,我照常来到报刊亭买游戏杂志,偶然间发现了一本《黑客防线》。在那时候的黑客在我看来是个多么神秘而高尚的职业了,尤其我还是个从小梦想抢银行的。当时我毫不犹豫买下了他,事后我发现我基本看不懂,再后来我在市图书馆办了张卡一看就是两年,黑客牵涉的知识面太广,不恶补基础知识不行啊。
    我高中的后两年生活就是每天拿着计算机类的书放在桌上认真地一页一页看完,还摘抄了三本笔记,因为当时各种教辅很多,我又装得泰然自若,两年间居然没有被老师发现。
    高中三年,我从一个连内存和硬盘都分不清的小菜鸟成长为一个数据库系统网络内存PE汇编都懂一点皮毛的大菜鸟,虽然看起来没什么直接用处,但是后来这些对于我学别的东西都有大的裨益。
    这期间,我再一次想尝试学会VB编程,结果仍然失败了,我没有再继续去碰壁,因为我学会了Delphi,后来我把网吧的某一台机器还原卡卸了,专门拿来练习Delphi,但其实我也只是把书上的代码敲一遍,自己替换点细节而已,而且这时候,离高考已经不远了。
    就这样我以荒废了两年的学习迎接高考,其实我觉得这没什么,我就算认真学习也没多大用,我偏科太严重了,有两门分数加起来还没其他一门高。
    06年我考上了一所民办二本,刚来的时候我感慨省城就是不一样,我同宿舍的南京小伙子王帅,会VB会做视频会FireWorks,人又十分谦虚,才看到王帅的时候,惊艳啊!怎么会有那么牛逼的人呢?现在想想,不是那个人牛逼,而是我实在太傻逼了。当时学校里各种PS,视频高人,学校外的VCZH已经写出了一个面向对象带模板和垃圾收集的静态类型脚本语言,而我除了盗号杀毒写木马一无是处。
    两年后我发现这个学校除了我同宿舍的王帅,其他人连动态语言是什么都不知道。我把这归咎于我们学校没有网络,四年后南京多所高校用不招我们学校的计算机研究生的事实证明了我的观点。
    而那位王帅同学,他致力于做网络工程师而不是程序员,于是我继续在一条孤独的路上摸着石头。
    大三上的时候我去了一家电视台兼职做网站,初认.net的时候对面向对象有点抵触,因为当时我的底子是面向过程的PHP,但后来渐渐地喜欢上了面向对象。
    就这样,大学四年,我和同一时期其他学校的人差距越来越大,四年间,除了软件工程,其他水平都基本没有长进,MIS,MIS,还是MIS,永远是没有技术含量的MIS.

    壹
    10年的1月,我去前任公司南京分公司面试,大抵那面试官看我这娃天庭饱满,星眉朗目,就把我推荐到了上海总部。做POS机,哇,那个项目吓人啊,40W的代码,当时我就被镇住了,我就面了这么一家就定下来了。现在想想,代码真的不是越多越好,一个函数几千行,UI逻辑数据库全写一块有意思吗?不分层无架构没几个文档,这还没我带团的时候规范呢。
    但是不管怎么说,是这家公司让我开始用C,继而开始学习C++,否则我应该会一直做.NET吧。毕业论文的时候玩了一把HTML5,从此跟Web分道扬镳。
    这一年里,我加了S*****的群,认识了空明流转和Vczh,但是不敢多说话,否则我把这个群的水平拖低了,只会让睾兽们骂累了之后直接把群Mask,不再说话。对谁都没好处。能看书就看书,不行再GOOGLE,一般也就能解决了
    我一直有一个梦想,把我的那些小说拍成电影,但是条件不足,所以我想做游戏,因为这里的演员道具几乎没有成本。虽然空明前辈劝过我,但是我想除了这个因素外,其实选择行业的一个因素也在于这个行业里的人,我是不想整天跟一群穿西装打领带的人打交道了。
    感谢两位前辈在十年里提供的好书。
    最后我要感谢一下C****群的Effo翔,虽然刚认识不久,但是谢谢你对我的热情帮助和诸多指导这段离职学习的日子还要多多叨扰你了。

    今年算是我正式转图形学第一年,谨以此篇自勉,此志不移,便可憾山。
posted @ 2010-12-22 13:52 叫我老王吧 阅读(2498) | 评论 (29)编辑 收藏
  2010年12月16日
        因为笔者是以前是做C#的,对Winform情有独钟,最近想转C++,想把以前的一些Delphi转成c++,MFC我不熟而且用起来相当烦效果又丑,GTK图形库用起来太麻烦,琢磨着研究一下WInform前台,C++做后台的方法,谷歌了一下,没看到什么中国资料,我草,我以前看过的啊,找来找去,找到一篇英文的,写得太纠结,我结合自己使用的经验,重新整理一下,言简意赅,简明易懂。谨供新人参考,老鸟勿拍。
      
  1. 首先打开你的VS2005
  2. 依次点击菜单栏的文件-->新建-->项目
  3. 在左边的语言列表选里,选择C++分支下的CLR,然后在右边单击“CLR 空项目”
  4. 在名称框里输入Exercise2:
  5. 点击“OK”,创建项目成功。
  6. 好了,这只是创建了好了一个托管C++项目,要使用WINFORM,我们要引入相关的.NET组件。
  7. 在vs主界面上依次点击菜单栏的项目-->"引用";
  8. 在弹出的子窗口中选择添加新引用;
  9. 在.NET标签页下选择System,点确定,再点击添加新应用,在.NET标签页下选择System.Window.Forms,然后确定,如图
  10. 都完成后,应该像这样,然后点击确定
  11. 创建一个新的类,点击VS主界面菜单栏的项目-->添加类;
  12. 在弹出的子窗体右边选择C++类,点确定,会出现添加类向导,在类名中输入CExercise,基类中填Form
  13. 然后我们来到自动生成的头文件代码中,添加System和Form的引用,修改后的文件应该如下
  14.  1
     2#pragma once
     3
     4using namespace System;
     5using namespace System::Windows::Forms;
     6
     7public ref class CExercise : public Form
     8{
     9public:
    10    CExercise(void);
    11}
    ;

    然后我们要创建一个主程序来调用这个类。这个大家应该都比我熟的,右击源文件文件夹,点击添加-->新建项,选择CPP文件,代码如下:
  15.  1
     2
     3#include <windows.h>
     4#include "Exercise.h"
     5
     6int APIENTRY WinMain(HINSTANCE hInstance,
     7             HINSTANCE hPrevInstance,
     8             LPSTR lpCmdLine,
     9             int nCmdShow)
    10{
    11    Application::Run(gcnew CExercise());
    12
    13    return 0;
    14}

    含义我不多说了,把那个Cexercise换成你自己别的名字的类就可以运行那个类了,当然了,要注意包含头文件。点击运行看看,一个白白的窗体,对吗,好的,革命成功迈出了坚实的一步。
  16. 下面我们来试着添加一个button按钮,修改Exercise.cpp的代码如下
  17. 1
    2#include "Exercise.h"
    3
    4CExercise::CExercise(void)
    5{
    6    System::Windows::Forms::Button^  button1=gcnew Button;//创建按钮
    7    this->Controls->Add(button1);//把按钮附加到我们的窗体上
    8}

    9

    在运行看看,应该像这样
  18. 然后如果你还想继续给这个按钮添加文字设置尺寸什么的,你可以通过像这样的代码,具体我不说多少,因为选择Winform就是看中快速的控件拖拉功能,都是手写我还不如用GTK
  19. this->button1->Name = L"button1";//设置按钮文字
    this->button1->Size = System::Drawing::Size(7523);//设置按钮尺寸

  20. 好了,下面重点来了,如何像C#一样自由地拖拉控件改属性呢,我们右击项目,选择添加-->新建项。
  21. 在弹出的子窗体右边选择Windows窗体,输入一个名字,比如“HelloWorld”,点击确定
  22. 然后我们就欣喜的发现,哇,又回到Winform拖拉控件的时代啦,是的,没错,而且我们可以以C++写后台。没用过c#的朋友请在界面上找找工具箱,实在没找到请依次点击主窗体上菜单栏的视图-->工具箱,然后从工具箱里找到一个button控件拖动到主窗体上。
  23. 之后双击这个button,会自动添加一个button的单击事件,我们希望单击的时候弹出一个“我是傻逼”的消息框,代码如下:
  24. 1    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    2                 //MessageBox.Show(this,"wocao");//C#格式的调用方法是不行的
    3                 MessageBox::Show(this,"我是傻逼");//这才是正确的
    4         }

    5    };
    6}

  25. 第一个参数是父窗体,第二个参数是消息框的内容。细心的同学发现了,这里和C#不太一样,是的,如果你按C#的写法:Messsage.Show(...),这样程序是没法通过编译的,毕竟是两种语言嘛。
  26. 好了,我们回到主程序入口那里,修改Exercise()为HelloWorld(),运行看看,出错了!!没错,你还得添加头文件,添加引用,真是麻烦啊,没办法,这儿还没有在C#下的引用添加提示,不知道Clipse下的Cdt有没有这个功能,最终代码如下
     1#include <windows.h>
     2#include "Hello World.h"
     4using namespace WInformCpp;
     5int APIENTRY WinMain(HINSTANCE hInstance,
     6                     HINSTANCE hPrevInstance,
     7                     LPSTR lpCmdLine,
     8                     int nCmdShow)
     9{
    10    Application::Run(gcnew HelloWorld());
    11
    12    return 0;
    13}

    好了,运行一下看看。像这样,那就对了,再深入地使用就不是本贴讨论的范畴了,在C++上,各位都是我的前辈
posted @ 2010-12-16 22:23 叫我老王吧 阅读(30916) | 评论 (27)编辑 收藏
  2010年12月15日
     摘要:   阅读全文
posted @ 2010-12-15 23:54 叫我老王吧 阅读(2179) | 评论 (0)编辑 收藏
  2010年11月11日
     摘要:                           Lesson 1: Getting Started with Direct3D Les...  阅读全文
posted @ 2010-11-11 11:57 叫我老王吧 阅读(2600) | 评论 (14)编辑 收藏
  2010年10月18日
今天正好有这个需求,顺手搜了一下,又不是那么符合我的需要,于是自己随手写了个新的,把代码最小化了

 1
 2  GtkListStore *list_store = gtk_list_store_new (2, GTK_TYPE_POINTER,G_TYPE_STRING);//新建一个LISTSTORE
 3
 4  GtkWidget *tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (list_store));//新建一个TREEVIEW
 5
 6  GtkCellRenderer *cell = gtk_cell_renderer_toggle_new ();//定义CHECKBOX类型
 7  g_signal_connect (cell, "toggled", G_CALLBACK (channel_toggled_cb),
 8            list_store);//绑定点击事件(否则点了没有勾)
 9  gtk_tree_view_insert_column(GTK_TREE_VIEW (tree_view),
10                          -1"record",
11                          cell);//在最左边插入一列CHECKBOX
至于具体的点击事件,我就不贴了,比较简单
posted @ 2010-10-18 15:20 叫我老王吧 阅读(592) | 评论 (0)编辑 收藏
  2010年10月6日

11/09/2009

大名鼎鼎的Zend公司在IT界的知名度是一路飙升啊,她是php的商业公司,随着php在编程语言中越来越多的被使用,据本人不灵通的消息,自9月以来,php已经超越C++排名第三了,这真是一个振奋人心的消息,当初选择做php,此时此刻,也让我感到值了!尽管如此,你不得不承认,php能拿到第三名的好成绩,一定是有我的贡献的~!!那么有没有一天,php能做到编程语言中的头把交椅呢?我想不会的,如果你在哪里看到这个排行榜,那它一定是不权威的。

OK,言归正传,出于很多同学认为zend studio是官方网站的不正确认知(主要表现就是向我索取zend server,zend Guard的注册码),我就来说说这个zend公司她到底是个什么东西,或许我把标题改成《zend公司的那些事儿》,大概更能符合中国人的阅读习惯。顺便说一下,zend studio是公益性民间站点

由于zend公司的产品和php有着绝对的关系,然而其每个产品之间竟然也有这千丝万缕的联系,这就是一个很值得称道的事情了,甚至和金庸的武侠小说有异曲同工之妙。下面我们一一絮叨(排名不分先后,但zend studio排第一个)。

1、Zend Stduio

这是我认为zend公司唯一还有必要存在的真正原因,我厌烦了媒体一提到zend studio就照本宣科的道比“一个屡获大奖的专业 PHP 集成开发环境,具备功能强大的专业编辑工具和调试工具……”,虽然事实上确实是这么回事,zend studio确实是一个强大的php集成开发环境,我选择,我喜欢!但这里我想提醒下大家,zend studio是商业软件。

2、Zend Debugger

总是介绍一个商业公司的商业产品,难免有打商业广告之嫌,虽然我根本就不是一个商人,所以接下来我就马上搬出zend debugger(我前不久刚好写了一篇zend debugger的终极安装教程),zend debugger是zend公司为数不多的免费产品,体积不大,安装方便,功能也很强大,一般需要调试php程序的时候,装上它就够用了。

3、Zend Server

实际上我并没有搞清楚zend server的真正意图,据说针对php做了专门的优化,并且是商业软件,但其不全是收费的,只是部分组件(我大约在3个月前试用过zend server,记忆有些模糊),内置的是apache服务器(当然你可以不选择内置),虽然她集成了Zend Optimizer、Zend Guard Loader、Zend Data Cache、Zend Debugger、Zend Framework,但在我看来这和免费的xampp没有实质性区别。很多同学问我“安装了zend studio是否一定要安装zend server?”,回答是“安装zend studio不一定要安装zend server,因为他们之间没有必然的联系”。我想,问这个问题的同学,大概看了很早的zend studio介绍,那时候的zde还有分zend studio client和zend studio server,然后同学将zend studio server和zend server搞混了。你看,这篇日志的意义就显现出来了。

4、Zend Optimizer

这又是zend 公司的免费产品之一,Zend Optimizer的最大作用是解密解析被zend Guard加密了的php源文件,兼顾优化php性能的作用,因此,您在部署服务器的时候将zend Optimizer顺便安装上没有任何的坏处,当然,如果你购买了一份Zend Guard加密过的php源码,那你就必须安装她了。

5、Zend Guard

Zend Guard是一个非常有用的产品,当然她也是一个商业软件,如果你不打算将你的php代码开源,那么可以选择Zend Guard来保护你的研究成果,最新版的宝马5系,据说强度不是一般的大,能够在保护期内安全不被破解。值得一提的是,用Zend Guard加密过了的php源代码,在你的服务器环境中必须安装Zend Optimizer来“正常运行”之(看!金庸的大师风范就彰显出来了)。

6、Zend Framework

这又是zend 公司近年来的重要产品,php界Framework的兴起,无疑的简化开发,提高效率,即“敏捷高效”四字方针,这个仅仅是程序员在开发工作上的描述,而php的运行效率性能上却并非有质的飞跃。因此,本人也不是非常崇尚框架,尽管国内的qeephp,thinkphp等著名框架发展的如火如荼,框架的追捧者也是如潮水一般,有个人依然我行我素的“坐以待毙”,他是——gently。然而Zend Framework并非一无是处,她是一个伟大的框架产品,发展稳健,现在的用户群也是蛮庞大的(中国人比较迷信官方,当然也因为她确实不错)。Zend studio从宝马7系开始,已经完美的支持zend Framework的开发、调试运行一条龙了。

7、Zend Core

直译过来是zend核心,乍听起来,你一定觉得这是个了不起的产品。实际上,你的感觉是对的,zend core是zend官方又一个为数不多的优秀的免费产品,她的存在必要性是能够帮助大家快速的安装部署php运行环境,简约而不简单,甚至还提供了一个web管理配置php.ini的功能,这是很优秀的,更多有趣的功能等着大家去发现了。它与zend studio也是有着千丝万缕的关系,比如我用zend studio开发了一个系统,借由zend core就能很快的上线运行。

8、Zend Platform

更准确的说她是一整套的企业服务器解决方案,企业级应用从来都是和大型联系在一起的,因此,什么集群啊、阵列啊、控制中心啊、等等等等对zend platform来说全都不在话下,她能够跟踪Php运行中的错误,监控php运行的性能,精确的找出瓶颈,这是多么牛逼的产品啊。那么,需要多少钱呢?只要998,全球限量30套,赶紧拿起电话订购吧!……抽风了一下,依我看,zend server正要逐步替代掉zend platform,不止是做嫁衣,zend 还要生产新娘!因此,Zend Server风头正劲。Zend Platform与zend studio的关系就是前者能够提供给后者非常强大的服务端支持,当然这个强大是zend debugger无法企及的,当大多数时候,我们个人开发者用不着这么强大,官方可以下载到Zend Platform的30天试用版(就是说她是商业软件),抱歉,我也没有Zend Platform的注册码或者注册机。她与zend server的关系呢,就是Zend Server在嫁衣里面包了个新娘。

Zend公司是一个有潜力的公司,与各界的合作正纷纷展开,也祝zend越走越远。

posted @ 2010-10-06 00:10 叫我老王吧 阅读(457) | 评论 (0)编辑 收藏
仅列出标题  下一页
<2018年12月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

常用链接

留言簿(4)

随笔分类

随笔档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜