Archive for the ‘phpoo’ Category

vim执行php或者c/c++的快捷键

Posted by 机器人 on 23rd 六月 2009 in c/c++, linux/server, php/javascript, phpoo, vim

经常我们会编写一些测试代码,这些代码一般只是临时测试某一个函数,测试过后基本上就没什么用了。
如果使用IDE,这好办,基本上都有一些快速运行的键,比如在ZendStudio里,将代码编写好了以后,只需要按一下F5,就可以马上出来执行结果,而且这个文件都可以不用保存。

如果使用VIM来编写代码,可能很多朋友就会想了,有没有什么方法来建立一个快捷键,能快速的运行我们所编写的代码呢?!!
答案当然是肯定了的,不然也不会写这篇日志来讨论这个问题了。

在介绍方法之前,先来谈一下自己以前的执行方式吧!

先拿PHP来讲吧,最传统的方式就是将编写好的代码放在apache的根目录,然后通过浏览器来运行,或者使用php命令来运行php.可以使用php的r参数

hqlong@~$ php -r "echo 'hqlong';"

来快速测试,或者使用q参数

hqlong@~$ php -q test.php

来运行。

接下来讲怎么将vim支持一键执行。
大致原理是使用键盘映射,将快捷键映射到执行的命令。

在.vimrc中添加

nmap < F5 > < ESC >:!clear && php -q < C-R >%< cr >

即当我们按下F5时,就相当于执行了如下操作。
1.按下ESC,然后再按下:,进入vim命令行模式
2.执行clear清屏操作。
3.然后运行当前脚本。
4.最后执行回车操作.
下面有几个指令需要解释一下:
< C - R >%:得到当前文件的名字,包括路径.(按ctrl+r,然后再按%)

接下来可以测试一下.
vim /tmp/test.php

< ? php
    echo "hqlong";
?>

保存后,按F5,
就是快速的得出执行结果。

基于c/c++也同样可以做出映射来,比如我们用F6来执行C++代码。
那么就只需在.vimrc中添加

nmap < F6 > < ESC >:!clear && g++ < C-R >% -o test && ./test< cr >

这里如果我们测试如下代码。
vim test.cpp

# include < iostream >
using namespace std;
 
int main() {
     cout << "hqlong";
    return 0;
}

将会在当前上当下生成一个test可执行文件,并执行它。
所以的这一切都是由于nmap的强大映射功能。

希望对大家有所帮助,欢迎对不明白的地方进行讨论。
机器人 2009-06-23 22:59 于 北京 晴

ubuntu中,openoffice3.0安装即中文输入法问题

Posted by 机器人 on 10th 四月 2009 in linux/server, phpoo

从官方下载deb安装包 OOo_3.0.0_LinuxIntel_install_zh-cn_deb.tar.gz
解压安装如下

hqlong@ubuntu: tar zxvf OOo_3.0.0_LinuxIntel_install_zh-cn_deb.tar.gz
hqlong@ubuntu: cd OOO300_m9_native_packed-1_zh-CN.9358/DEBS
hqlong@ubuntu: sudo dpkg -i *.deb
hqlong@ubuntu: cd OOO300_m9_native_packed-1_zh-CN.9358/DEBS
hqlong@ubuntu: sudo dpkg -i openoffice.org3.0-debian-menus_3.0-9354_all.deb

如果依赖包没什么问题,基本上安装成功是没问题的!
但默认情况下,在openoffice3.0 writer里,不能进行中文输入法的切换。即,不能输入汉字。
问题原因:gcclib的版本不一致!
解决方法,用操作系统的gcc版本替代openoffice版本。

hqlong@ubuntu:~$ sudo ln -snf /usr/hqlong@ubuntu:lib/gcc/i486-linux-gnu/4.3/libgcc_s.so /opt/openoffice.org/ure/lib/libgcc_s.so.1 
hqlong@ubuntu:~$  sudo ln -snf /usr/lib/gcc/i486-linux-gnu/4.3/libstdc++.so /opt/openoffice.org/ure/lib/libstdc++.so.6

参考资料
http://www.yulei666.com/2008/10/openoffice30solution-of-chinese-input.html
http://www.linuxsir.org/bbs/thread336576.html
机器人 2009-04-10 21:32 于 北京

一个这样的问题的解决方法(载自phpoo讨论区)

Posted by 机器人 on 5th 十一月 2007 in phpoo

问题见:http://bbs.phpexp.cn/viewthread.php?tid=87&extra=page%3D1&authorid=0&page=1

这个问题的详细讨论大家可以参见我们的讨论区,如上地址。

现在我就来谈谈我的解题思路吧,当然,在我们的版块里,杨煌也给出了一种解决这类问题的方法,不过,如果你不仔细看,可以会被他的思路给绕进去,那人的解决思路一般都比较邪门,要看懂,你可能还得要多花费几分钟时间才行。

我的思路如下:

为了解决这样的问题,我们首先要想一下,什么样的数据才行让我们很方便的在外部输出我们想要的格式,只要把这问题给解决了,那么这题也就解决了1/3了。

我们要输出的格式如下:

1.中华人民共和国中华人民共和国  (大标题)

     1).中华人民共和国中华人民共和国(小标题)

     2).中华人民共和国中华人民共和国

     3).中华人民共和国中华人民共和国

2.中华人民共和国中华人民共和国

     1).中华人民共和国中华人民共和国

     2).中华人民共和国中华人民共和国

     3).中华人民共和国中华人民共和国

3.中华人民共和国中华人民共和国

     1).中华人民共和国中华人民共和国

     2).中华人民共和国中华人民共和国

     3).中华人民共和国中华人民共和国

如果要实现这样的效果,我们可以使用如下数据结构来完成该循环。。

 

<?php
    $a = array(
    'AAAAAAAAAA'    =>    array(
         'aaaaaaaaaa',
         'bbbbbbbbbb',
         'cccccccccc'
         ),
    'BBBBBBBBB'    =>    array(
         'aaaaaaaaaa',
         'bbbbbbbbbb',
         'cccccccccc'
         ),
    'CCCCCCCCC'    =>    array(
         'aaaaaaaaaa',
         'bbbbbbbbbb',
         'cccccccccc'
         )
    );

    foreach ($a as $k => $v) {
        echo $k.'<br>';
        if(is_array($v)) {
            foreach($v as $key => $val) {
                echo '&nbsp;&nbsp;'.$val.'<br>';
            }
        }
        echo '<br>';
    }
?>

运行效果如下:

 

AAAAAAAAAA
  aaaaaaaaaa
  bbbbbbbbbb
  cccccccccc

BBBBBBBBB
  aaaaaaaaaa
  bbbbbbbbbb
  cccccccccc

CCCCCCCCC
  aaaaaaaaaa
  bbbbbbbbbb
  cccccccccc

这样,就可以实现我们的效果。但是,这里的

$a = array(
    'AAAAAAAAAA'    =>    array(
         'aaaaaaaaaa',
         'bbbbbbbbbb',
         'cccccccccc'
         ),
    'BBBBBBBBB'    =>    array(
         'aaaaaaaaaa',
         'bbbbbbbbbb',
         'cccccccccc'
         ),
    'CCCCCCCCC'    =>    array(
         'aaaaaaaaaa',
         'bbbbbbbbbb',
         'cccccccccc'
         )
    );

这样的数据结构是我们人为构造的,所以这时,我们就得想办法,将数据库里的数据加工成这种格式,如果这一步完成,那么我们就成功了,所以这里的轮换是个关键点。

从数据库我们查询到的数据格式一般为:

big small
中国 中国北京
中国 中国台湾
美国 美国纽约

那么我们怎么转换它们了,在这里,大家一般不要想的太多,如果你把问题想复杂了,那么这问题就很难解决了,这里我们只需要巧妙的运行一下数据的键和值,那么这样的问题也就迎刃而解了。

我的方法如下:

 

$sql = "SELECT  a.Title AS big,b.Title AS small
                FROM largeTitle AS a  LEFT JOIN smallTitle AS b ON a.ID=b.LlargeID";
    $a = array();
    //大家注意頙的代码

    $r = mysql_query($sql);

    while ( $arr = mysql_fetch_array($r) ) {
        $a[$arr['big']] = $arr['small'];
    }

    //$a 现在已经是我们所需要的数据结构了

呵呵,上面的while()循环里的数组,大家是不是现在被吃了一大惊。。

所以,解决问题里,不在于解决方法的复杂度,而在于方法的巧妙度,用最简单的方法解决最复杂的问题。。

好了,看奋斗了。看一集就睡觉。。

机器人 2007-11-5 9:55 于 北京

和大家成长一年多了

Posted by 机器人 on 29th 八月 2007 in phpoo

载自:phpoo讨论区

走过的路

       当初我还是个疯狂的游戏迷,除了游戏还是游戏,直到大二结束才意识到自己要学点东西了,后来选择了php,从而也走进了"西瓜籽社团",一起学php,学div+css,学javascript,学linux。。。

当中的苦与甜

       学习是最痛苦的,同时也是最快乐的,痛苦是因为自己的能力得不到赏识,快乐是因为自己的能力得到信任。我们曾经为合作开发一套"BLOG"系统,而奋斗过,虽然失败了;为学div+css而举行一次比赛,虽然最后没有胜利者;为证明自己的观点而争论的天崩地裂,虽然最后还是没有结果;而我们都是为了学习php,才走到一起,虽然最后还是要分开。当中的苦与甜,点点滴滴,都深深的印在了我的心里,以后当了父亲给孩子描述这么一段历史,当了爷爷给孙子孙女也描述这么一段历史,是多么的快乐

以后的路

       在大家沉溺于php学习过程中,"大四"这个词汇悄然走进了我们的生活当中;

"大四了",该为自己生活发愁了;

"大四了",我们马上要面对社会了;

"大四了",我们相聚的时间更少了;

"大四了",真希望多几个"大三"啊~!

不能什么东西都不留给师弟挥一挥衣袖就走,要给师弟们多多指导方向,让他们走的路更直些,而最近在策划CMS系统同时也是放上了开发日程,让我们留他们两个经典系统:图书管理系统(入门)、CMS系统(进阶),而我们一直为这奋斗着,让我们学校对php感兴趣的同学都能知道过我们的存在,我们的神话。

 

subVersion 安装详解视频

Posted by 机器人 on 5th 八月 2007 in phpoo

内容:

subversion就是一套版本控制的软件,最主要的就是说以后面临的就是团队合作,就是说你在这里写一段代码,有一段代码在这里,但是你怎么跟别的成员互动呢?所以我们就需要使用一个subversion这样的软件来和别的程序员进行互动.也就是说这里有一个客户端,另外还有一台机器是服务器端,然后我们我写的代码提交到服务器端,那么在服务器端将生成一个版本号,另的的成员就可以根据服务器生成的版本号来判断代码是否有更新.当其中有一个人对代码进行一更改以后,那么在另的成员的机器上就反应这个人所做的修改.这就是版本控制的好处.当然少不了当两个人同时去提交一个版本的时间会出现一种矛盾,所以subversion就建议我们去通过两种办法去解决这个矛盾,先锁定我们所要更新的代码.即锁定-更新模式和更新-合并模式去解决刚才所出现的那种矛盾.当然subversion建议我们去使用更新-合并模式去解决这种矛盾.

录制日期:2007-7-29 下午

subVersion 安装详解视频(一)

subVersion 安装详解视频(二)

subVersion 安装详解视频(三)

subVersion 安装详解视频(四)

暑期学习总结(现场报道)

Posted by 机器人 on 4th 八月 2007 in phpoo

……

小兰

上面图片的话,所有的操作都是在一个控制器里实现,这样比较好管理,现在写的话,我感觉的话一个功能,注册登录用户那一块都是一个控件器里面,这样管理起来比较方便。还有页面都是分开,这样管理代码比较好,我感觉MVC反正就是话,挺好的,用户的每一个动作都是在一个控件器里,这样管理起来会非常的方便,一个action就可能控件一个页面。(补:我们在职的人可能还有感觉到这一点)

小刚:说实在的,和小兰的做的东西有些相似,开始学习ZF后,感觉 没有必要再去修改以前的BLOG,经过SMARTY的学习,现在基本上了解了使用模板是一个怎么回事。ZF会的没有小兰好,学的挺郁闷的。现在还好一点,有老单指点。

高炼:其实我确实最主要的想法,感觉到自己很多东西都需要学,开发效果比一般的方法要高的多,开始老板让我们做了一个书签,由于程以前使用模板,而我只能使用SQL语句,所以他的速度比我的高的多,由于他使用了模板,最后开发效率不但高,而且逻辑也比我的强。到了公司以后,大部分时间都是在被老板叫来叫去,所以自己想学东西,时间会感觉 相当少,所以大家在这里一定要好好学习,由于没有太多的时间去学习自己想学的东西,很想有时间抽点时间来好好学习一下,真感觉到自己还有很多东西需要学习。总结:现在没有上班,就一定要好好学习,这样的时间很难得。

林汝平:我过来两个月了,第一个月基本上都在玩,都在玩PS,然后到第二个月才真正接触PHP,我也不知道自己在干嘛,没有头绪,没有目标,现在都在看一些比较简单的例子,比较注册登录等一些简单的例子,主要是想找到方向,看大家都在做图书管理系统,所以我也计划去做。

杨煌:我就说到这个学吧,我可能这段时间没可能没怎么学吧,小黑也就批判了我,这年我学到了什么东西,我想,确实也是这样,什么东西都没有尝到,虽然在技术上没有什么突破,不过我这到了一些道理:“只要大家坚持,就没有做不到了”,前几天就有个人就有这方面的想法,既然你都已经在这方面花费了很多时间,而又不断续下去,那么是不是学的就有点浪费。主要想说的就是“只要大家坚持,就能找到自己的目标”,大家有什么困难,一起解决,有什么乐趣,一定解决。

这两个月,我作为一个实习生的身份在公司里,发现在公司里面有一些员工,虽然技术上可能很强,但我们感觉到他们没有什么激情,我也在想,我们以后会不会也成为这样呢?个人认为,大家都比较认为,需要端正一下态度,能进公司,就是一件好事,相比其它为工作而发悉的, 我们是比较幸运的,你们当然的话,不要想的太消极,需要积极一点,在公司里面,一方面积累一点经验。能上进的话,就要上进,可能当年最好的,最热门的就是咱们计算机,咱们程序员, 这 一个比较累的工作,也不能说比较累,看你怎么去看待它了。大家如果能去,就可能积累一点。对于南洋,给我的印象,在学校里面,跟我的交流不是怎么多,我觉得你是一个沉默寡言,不太喜欢和别人交流,不随和,我不管理你怎么样,你现在的想法,或许你看了很多很多的书,看了这么多书的同时,可能会书上的一些东西给左右了。你还得要花东西去自己体会一下,还得要靠自己去实践。

任贤:终于等到我说话了,首先要感谢第一个人蒋老师,只能一句话,相见圣晚,,还有小兰,等,大家都对我很帮助,最要感谢的一个人赵建广,他陪我吃饭啊,,(大家呵呵),你们让我一步一步的走进了PHP,从生活上来讲,第一天我是哭着睡着,我是比较怕黑,为什么会对PHP感兴趣,因为可能用它来做成自己想做的东西,平时得到一点小小的经验,挺好的。

南洋:主要是将来的事业问题,工作方面的问题,我到这里主要是想学到一些东西,学PHP我基本上动手操作功能比较欠缺。 

李建军:当然我来的时候,是李建伟叫我来的,去年我就来过你们这,当然感觉还比较好,在家里也同样给我找了一分工作,也是做软件的,软件和我的专业比较相符,但不是我所希望的工作。感觉在哪边学的话,还能这到东西,但不是我想用的东西,在他们他们的产品已经产品化了,基本上不需要自己做太多的改动,所以自己不想拥有这样的工作,所以才决定过来和大家一起寻找自己的梦想。

赵建广:最近我也是比较郁闷的,我一直是想做一个关于线程的软件,但一直都没有很好的完成,所以一直没有实现我的想法。所以我还是希望我一直学这个,我感觉对C++很感兴趣,我会一直坚持下去的。

单单:刚开始这个暑假本来想做点事了,但由于自己的一些原因,所以感觉以没有学到什么东西。对于面试方面,也见了不少了人,首先你和他们见面大家一定不了怯,不然他会发现你是新手。

机器人:     。。。。。。。。。。。。。。。

郅靜:到五月份了以后,就基本上不知道能干嘛,。。。。。。。。。。。。。。。

 李建伟:我们几个开始学C++,我个人感觉我学的哪些东西,已经达到我的期望值了,我学C++主要就是想了解类。。面向对象。

主要书籍就是下载了一些电子书,和我错的一些书。。感觉哪些书讲的还是挺好的。当时我感觉一个类和函数一样,为了实现一个字符的截取,我就使用了一个类来实现,想起来有和函数好像没有什么不一样,不过经过C++的学习,感觉就完全不一样。。,。。。。。。

小黑:。。。。。。。。。。。。。。

程兵:。。。。。。。。。。。。。。

机器人 2007-8-4 于 北京

myrss阅读器帮助文档

Posted by 机器人 on 3rd 八月 2007 in phpoo

myrss阅读器地址:http://myrss.phpoo.cn/

简介

myrss是phpoo自主开发的一套rss阅读系统,myrss和传统的Rss阅读器不同在于,使用它,您不需要进行注册便可使用,这样极大的减少了您使用系统的流程。您只需要在本机进行登录,便可管理自己的Rss,系统区别用户的唯一标记是电脑,不同的电脑,使用该系统,所呈现的效果完全不一样。

您可能随时对订阅项进行添加删除操作,如果您想查看系统默认的订阅内容,只需要点击删除所有RSS,页面将呈现出系统所默认的订阅内容。当订阅内容比较多时,为了减少订阅空间,您可为最大最小化订阅项。

特色

在不用户注册登录的情况下,完全实现了同一系统在不同的机器个的个性化显示。

使用技巧

1.您第一次登录系统时,系统已经为你初始化了订阅项。

2.系统所默认的订阅项您不能删除,您只要向添加自己的订阅项,系统所默认的所有订阅项将自动清除。

3.如果您要删除订阅项,那么您只需要点击该项右上角的关闭按钮。

4.当您删除了所有的订阅项后,这时系统表面将一无所有,这里只需要点击删除所有RSS按钮,那么系统所默认的订阅项将重新呈现在您的面前。

 2007年8月3日系统更新如下

1.更新了网页乱码的问题,目前能对所大部分编码的RSS文档进行解析。

先前版本只能对编码为UTF-8的RSS文档进行解析,而其它(如GB2312,GBK等)编码的RSS文档则不能正常解析。

2007年8月3日

 

暑期学习总结(本周话题)

Posted by 机器人 on 3rd 八月 2007 in phpoo

背景:

放假都快一个月了,暑期已慢慢的接近尾声,那么在这个暑假里,大家可能都学到了不少新知识,对于知识的学习我们得有始有终,每一个阶段,我们都需要对其进行总结,看看在这个阶段里有什么收获。

内容:

Phpoo全体成员分别对各自在本暑期内的学习情况作一下总结,如:学到什么,没有学到什么,暑期计划是否完成,下一步需要怎么走等。。。。

发言人:Phpoo全体成员

时间:2007-8-4 晚 7:00(周六)

论坛地址http://bbs.phpexp.cn/viewthread.php?tid=32&extra=page%3D1

VC++入门尝试演示视频

Posted by 机器人 on 3rd 八月 2007 in phpoo

介绍:

本视频向大家演示了一个VC++窗口程序的创建过程,并一步一步的向大家解读创建的一个窗口程序所需要的基本步骤,见于大家都对php的比较了解,所以本视频使用了VC++来模拟WEB开发中的注册登录系统的实现。

通过本视频相信大家对我们平时感觉比较陌生的WINDOW程序的创建有一个比较深入的认识,同时也会感到一个WINDOW程序的创建难度也并不难。

演示工具:VC6.0 + SQLServer2000数据库。

录制时期:2007-7-28

VC++入门尝试演示视频(一)

VC++入门尝试演示视频(二)

VC++入门尝试演示视频(三)

VC++入门尝试演示视频(四)

全屏播放

VC++入门尝试演示视频(五)

全屏播放

VC++入门尝试演示视频(六)

VC++入门尝试演示视频(七)

全屏播放

机器人 2007-8-3 于 北京

php入门尝试视频

Posted by 机器人 on 1st 八月 2007 in phpoo

介绍:

本视频主要是向大家演示了php创建一个简单注册登录系统基本的过程,从客户端到服务器端一步一步的进行引导,通过本视频的学习,大家能基本分清网站和php的关系,php在网站中充当一个什么样的角色,对所谓的客户端和服务器端究竟是一个什么样的关系等对初学者来说容易搞混的问题.

录制日期:2007-7-10

php入门尝试视频(一)

全屏播放

 php入门尝试视频(二)

全屏播放

php入门尝试视频(三)

全屏播放

php入门尝试视频(四)

全屏播放