回福州后,中午上网看下BLOG。
结果发现BLOG/INDEX.PHP不能访问
提示文件不存在
提示存在非法信息,已经被封。
联系WYAJ后,对方可能见怪不怪了
坦然告之,不是她们封,是公安局要封的。
我自认这个BLOG已经写了这么多年,而这几天也没有写什么
大部分都是一些网络资料,以及乱七八糟复制过来的。
就算那个AV BLOG,那些BLOG也是一些正常的内容。
然后WYAJ发给一个抓图,说是公安局发来的
原来是以前查找群星合唱歌曲时找到的
当时觉得不错,就从WIKI上复制了一些东西过来
已经过了一年多,不知道怎么被搜索出来了,因此封了。
········
标签:信息, 封站, 非法信息20070227 php mvc 信息
http://www.yippeesoft.com
最近地震之后,访问国外网站这个基本上很慢很难
稍微看看,有空在倒腾吧
Prado,看起来很美
May 14th 2006 Posted to PHP
前一阵子开发亿家净水的客户关系管理系统,考虑学习一种PHP5的框架,便略经比较,采用了基于事件驱动的Prado框架。
开发至今,有一些感慨,感觉Prado看起来很美,项目部署规范化,UI华丽,但实际使用起来真的有些不如意的地方。(少量合作伙伴开发环境下的感受,团队合作模式下如何我不敢胡言乱语)
第一,框架思路比较创新,所以上手比较困难。太多的自定义控件需要逐个去掌握学习,API函数手册看起来也令人生畏。而吸引人的UI界面暂时只有dreamweaver下的一个Tag扩展可用,大部分还要逐字母输入。时间上根本耗不起。
第二,可插入性比较差。输出的页面最终源代码中,控件ID和Form表单的标示都是转化过的字符串,不了解Prado内部机制的情况下,想额外自定义一些script交互事件,非常困难。
第三,数据库的操作过程代码有些复杂。每次更新,不仅要考虑update数据库,还要考虑update页面显示。虽然可以用一种比较dirty的方式快速重载数据,但是这就把Prado缓存数据的优点就给抵消了。所以代码写起来效率也不是太高。
同以前开发使用过的方式(最初出道的时候是混杂的代码写法,呵呵。然后是phplib,接下来就一直是Smarty…)比较起来,我还是青睐于Smarty+Adodb。像这样的一套客户关系系统,我顶多四五天就搞定了,而这次使用Prado,几乎半个多月了,才80%的进度,真是有些骑虎难下。
PRADO is a component-based and event-driven framework for rapid Web programming in PHP 5. PRADO reconceptualizes Web application development in terms of components, events and properties instead of procedures, URLs and query parameters.
A PRADO component is a combination of a specification file (in XML), an HTML template and a PHP class. PRADO components are combined together to form larger components or complete PRADO pages.
Developing PRADO Web applications mainly involves instantiating prebuilt and application-specific component types, configuring them by setting their properties, responding to their events by writing handler functions, and composing them into application tasks.
PRADO provides the following benefits for Web application developers:
reusability – Codes following the PRADO component protocol are highly reusable. Everything in PRADO is a reusable component.
ease of use – Creating and using components are extremely easy. Usually they simply involve configuring component properties.
robustness – PRADO frees developers from writing boring, buggy code. They code in terms of objects, methods and properties, instead of URLs and query parameters. The latest PHP5 exception mechanism is exploited that enables line-precise error reporting.
performance – PRADO uses a cache technique to ensure the performance of applications based on it. The performance is in fact comparable to those based on commonly used template engines.
team integration – PRADO enables separation of content and presentation. Components, typically pages, have their content (logic) and presentation stored in different files.
PRADO是在PHP5环境下的一个基于事件驱动和基于组件的WEB应用开发框架。使用PRADO开发 WEB应用,你主要需要做的工作就是使用已有的组件(原文是"实例化已经定义好的组件",熟悉面向对象编程的开发者可能比较容易理解这句话),设置组件的属性,为控件组件的各种事件编写对应的处理函数,然后把这些组织成一个个的页面。(译者注:个人倾向于将component翻译为组件,control翻译为控件,事实上大多数场合两者没有什么区别,但是为了读者能够更加容易理解原文,本文一律按此规则翻译。)这个过程和使用RAD开发工具(比如 Delphi或者Visual Basic)来开发Windows应用程序非常类似。
下面用一个简单的例子来说明PRADO框架的工作原理。假定我们现在要使用PRADO来开发一个常见的登录页面。首先我们选择PRADO中的2个TTextBox控件和1个TButton控件来分别对应用户名输入,密码输入和提交按钮。然后把对应密码输入的TTextBox控件的TextMode属性设置为"Password",并为TButton控件的OnClick事件指定一个处理函数login。最后把这些控件放到页面模板的合适的位置上(后面会解释什么是页面模板,实际上它和一个html页面很相似),一个功能完善的登录页面就实现了。控件会自己处理好如何显示数据,如何得到用户输入的数据,如何响应用户的操作等这些事情。例如,TTextBox控件会显示一个输入框让用户输入;用户输入的密码会被显示为*号,而开发者在代码中可以通过读取TTextBox控件的Text属性来获取用户实际输入的密码;当用户点击了提交按钮的时候,login 函数将会被自动调用。这和传统的PHP编程处理方式很不一样。使用传统的PHP编程方式,开发人员需要使用HTML标签来显示用户输入框 和按钮,同时需要自己解析POST数据来获得用户的输入以及判断按钮是否被点击了等等这些事情。
PRADO 基于组件的编程方式使代码的重用极为方便。一些重复性的单调的工作比如表单输入的验证,页面状态的管理等都可以使用PRADO已经提供的组件来处理。开发 者也可以通过继承现有的组件或者组合现有的组件来开发新的组件满足要求。另外一些新的组件即将发布。
总的来说,PRADO 为PHP的编程人员提供了以下的有益之处:
* 可重用性 – 符合PRADO组件标准的代码是高度可重用的。
* 易于使用 – 使用PRADO组件非常简单,通常只需要配置它们的属性,编写相关的事件处理函数。
* 健壮性 – PRADO让开发者不再被那些令人厌烦的有很多错误的的代码所困扰。它的代码都是有对象,方法和属性组成的;而不是Url地址和各种query参数。 PHP5最新的Exception处理机制也被引入进来,让开发人员能够精确定位到错误代码的所在行数。
* 高效性 – PRADO开发的Web应用运行很快。PRADO实现了一种缓存机制,使用其开发的应用的运行效率能够和那些通常使用的模版引擎开发的应用的运行效率相媲美。
* 团队协作 – PRADO允许内容和表现方式分离。组件,尤其是页面,将内容(逻辑)和表现方式分别保存在不同的文件中。
目前已经有很多PHP的框架,Mojavi, WACT, PHP.MVC, Phrame等等。它们主要是建立一套松散的PHP代码组织方式(比如 Model-view-controller)。其中一些更多的面向开发一个内容管理系统,并提供了诸如用户管理模块等更多的功能。
和这些框架相比,PRADO更专注于建立一个代码重用和事件驱动的编程标准。如果你曾经用Delphi或者Visual Basic等这些RAD开发工具来开发Windows程序的话,那么你会发现使用PRADO来开发WEB应用是非常类似的,你可以很快就掌握PRADO来进行WEB应用的开发。大多数情况下,你要做的仅仅是设置组件的属性和响应组件的事件。更高层次的代码重用,比如前面所说的用户管理模块,可以基于 PRADO组件来实现。
PRADO的思想最先我是从Apache Tapestry项目想到的。在设计和实现的时候, Borland Delphi 和Microsoft ASP.NET的设计思想起到了很重要的作用。实际上,使用过ASP.NET的人可以发现PRADO中有很多地方和它是相似的。
安装
PRADO需要PHP5的环境,以及SimpleXML模块(PHP5缺省安装后的环境下已经包括了这个模块)。在Windows XP和RedHat Linux环境下,已经在Apache和IIS Web服务器上都通过了测试。
等了一年多,都快要对它失去信心了,1.0版总算发布了
近一年来php又冒出来不少框架,pardo,cake都是其中的佼佼者
由于我要兼着做java开发,因此pardo虽然口碑不错,但我也一直没有仔细研究
cake是最近才看到的,其中的"约定优于配置"我真不敢苟同
其中对CRUD的封装倒也确实很大胆
php.MVC is an open source framework for PHP Web applications.
Introduction
php.MVC implements the Model-View-Controller (MVC) design pattern, and encourages application design based on the Model 2 paradigm. This design model allows the Web page or other contents (View) to be mostly separated from the internal application code (Controller/Model), making it easier for designers and programmers to focus on their respective areas of expertise.
The framework provides a single entry point Controller. The Controller is responsible for allocating HTTP requests to the appropriate Action handler (Model) based on configuration mappings.
The Model contains the business logic for the application. The Controller then forwards the request to the appropriate View component, which is usually implemented using a combination of HTML with PHP tags in the form of templates. The resulting contents are returned to the client browser, or via another protocol such as SMTP.
php.MVC is a PHP port of Jakarta Struts. It currently supports many features of Struts, including declarative application configuration via the XML digester. For example, mappings from the various Action business logic components to appropriate results pages can be specified declaratively in the XML configuration file.
PHPMVC框架基础
说明:这是一个简单的MVC框架,可以以此作为一个基础.在这个基础上扩展这个框架的功能和实现方法.相关的特性会得到逐步增加和改进.有任何意见建议,请和作者联系
这个框架的特点
实现自动化
接口简单,容易理解
帮助开发的规范化
符合面向对象的思想,能使用面向对象的方法来开发应用,有助于设计和编码实现之间的一致性
采用面向事件(即用户的请求,而非面向页面)的方式,以事件为驱动.
容易扩展功能,不会因为对应用的过度修改或扩展而导致混乱
结构清晰,实现了模块化和层次化,可以多人共同协调开发而不会导致混乱,有助于加快开发进度
整个框架比较简洁,考虑到PHP的特性,避免过于庞大而影响执行效率
我在ADODB官方网上,没看到可以连接SQlite数据库的说明,既然他说几乎能连接数据库。
我来问问高手。
ADODB数据类,能否连接SQlite数据库
连接代码,怎么写
of course.it can
SQLite
Sqlite will create the database file if it does not exist.
$conn = &ADONewConnection(\’sqlite\’);
$conn->PConnect(\’c:\\path\\to\\sqlite.db\’); # sqlite will create if does not exist
Or dsn:
$dsn = \’sqlite://user:pwd@localhost/mydb?persist\’; # persist is optional
$conn = ADONewConnection($dsn); # no need for Connect/PConnect
ALEXA 信息 修改
原来我的ALEXA信息是当初随便写的 个人编程、思考
现在想修改一下,发现非常简单,并且很容易修改那些提供免费电子邮件的大型门户网站信息,例如163 SINA SOHU TOM等。
Correct errors and omissions in this listing. 修改错误和冗余信息
http://www.alexa.com/data/details/contact_info?url=http://www.yippeesoft.com/blog/index.php
Site Information Editor 网站信息编辑
Web site owners should use this form to add, change, or unlist the contact information displayed in Alexa, or to update the site name and description. Verified submissions will appear in the service in approximately one week.
网站所有者可以通过本页面增加修改移除联系信息(显示在ALEXA) 或者更新网站名称和说明。提交校验将生效于本服务 大约一周后
根据需要进行修改,然后出现
To confirm your changes you must do one of the following…
确认你的修改,你必须进行如下操作
Enter an e-mail address where we can contact you 输入你的EMAIL地址 可以联系到你
Your e-mail address will be used to verify that you are authorized to make changes to your site info and will not be used for any other purpose. We will verify your e-mail address before accepting any suggestions
你的EMAIL地址将用来校验你经过授权修改你的网站信息,不能使用其他的目的,我们将校验你的EMAIL地址在收到任何请求前
Or, Place a file called info.txt on the root of your site
或者放置一个 INFO.TXT到你的网站根目录
To update your contact info, you may place an info.txt file containing your contact info in the root of your site for Alexa to fetch.
更新你的联系信息,你应该放置文件包含你的信息,在你的网站根目录 让ALEXA认证
Right-click this link: info.txt. And save it to your computer. 右键 保存到你的计算机
Copy the info.txt file from your computer to the root of your site. 复制文件到你的网站
Verify that the info.txt file is there with your browser. (Go to http://www.yippeesoft.com/blog/info.txt.) 校验是否可以通过浏览器浏览
Once you have verified that the file is there, tell us to fetch it by clicking this link: Go Fetch 如果你校验通过,点击 ALEXA校验
不过这个太慢了,我基本没有成功
昨天弄好的就有用了
微软 LIVE DOMAIN EMAIL 4 域名结尾 邮箱 免费 成功 (2005-11-22)
http://www.yippeesoft.com/blog/p/msdomainslivemailok.php
输入 shengfang@shengfang.org CONTINUE。
Submission Complete 提交完成
Your Site Info should be updated within a few days. Thank you. 你的信息将会一些天后修改
If you would like to edit another web site\’s contact information, please do so below: 你可以编辑其他网站信息
随后会收到EMAIL: 不过中文是乱码
Alexa Customer Service Your contact info submission to Alexa Internet. 你的联系信息提交到ALEXA
This automated response is a confirmation of changes made to your website\’s information on the Alexa Service.
这份自动通知是用来校验修改 你的网站信息在ALEXA
To complete the submission process, please confirm these changes by visiting the following URL:
完成提交,请确认修改 点击URL
These submissions are reviewed by an Alexa editor before being added to the service. Please note that it can take 2-4 weeks for these changes to take effect.
修改被ALEXA编辑查看,在增加到服务之前。请注意可能需要一到两周时间生效,不过我好像今天就生效了
点击链接后 Your information has been successfully submitted! 提交成功
Alexa editors will review your submissions for inclusion in the next update of the service.
ALEXA编辑将检查你的提交,在下一个服务更新周期
If you would like to suggest related web sites for another URL, please do so below:
如果你更多建议别的网站
我现在的信息改为了:
Category: World / Chinese Simplified / 计算机 / 编程 / 个人网站
YippeeSoft开心软件
shengfang.org/blog
YippeeSoft开心软件-盛放漫敲 -::. 盛放shengfang,blog博客部落格,开发心得,编程思 考,胡思乱想、个人编程、独立思考。
Avg. Review for shengfang.org:
Traffic Rank for shengfang.org: 86,616
perl 出错信息
刚开始接触PERL,不怎么熟悉语法,经常出错,不过出错信息实在太不友好了
#!O:/php/perl/bin/Perl.exe
print "Content-type:text/html\\n\\n";
print "<center><h2>Hello World</h2></center>;
#这里少了一个“ 号
exit; www.yippeesoft.com
Internal Server Error www.yippeesoft.com
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, www.yippeesoft.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
——————————————————————————–
Apache/2.0.54 (Win32) PHP/4.3.10 Server at 127.0.0.1 Port 80
这根本都看不出什么东西 www.yippeesoft.com
找了一些资料,原来这样就可以了
加入: www.yippeesoft.com
use CGI::Carp qw(fatalsToBrowser);
Software error:
syntax error at O:/php/Apache Group/Apache2/cgi-bin/sf.pl line 8, near "print "Content"
syntax error at O:/php/Apache Group/Apache2/cgi-bin/sf.pl line 8, near "gb2312\\"
Can\’t find string terminator \’"\’ anywhere before EOF at O:/php/Apache Group/Apache2/cgi-bin/sf.pl line 26.
For help, please send mail to the webmaster (www.yippeesoft.com), giving this error message and the time and date of the error.
B<CGI::Carp> – CGI routines for writing to the HTTPD error log
CGI::Carp – CGI routines for writing to the HTTPD (or other) error log
——————————————————————————–
SYNOPSIS
use CGI::Carp;
croak "We\’re outta here!";
confess "It was my fault: $!";
carp "It was your fault!";
warn "I\’m confused";
die "I\’m dying.\\n";
use CGI::Carp qw(cluck);
cluck "I wouldn\’t do that if I were you";
use CGI::Carp qw(fatalsToBrowser);
die "Fatal error messages are now sent to browser";
——————————————————————————–
DESCRIPTION
CGI scripts have a nasty habit of leaving warning messages in the error logs that are neither time stamped nor fully identified. Tracking down the script that caused the error is a pain. This fixes that. Replace the usual
use Carp;
with
use CGI::Carp
And the standard warn(), die (), croak(), confess() and carp() calls will automagically be replaced with functions that write out nicely time-stamped messages to the HTTP server error log.
For example:
[Fri Nov 17 21:40:43 1995] test.pl: I\’m confused at test.pl line 3.
[Fri Nov 17 21:40:43 1995] test.pl: Got an error message: Permission denied.
[Fri Nov 17 21:40:43 1995] test.pl: I\’m dying.
AUTHORS
Copyright 1995-2002, Lincoln D. Stein. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Address bug reports and comments to: lstein@cshl.org
标签:perl, 信息, 编程什么是PIMS www.yippeesoft.com
我的意思是程序员信息管理系统 programer information manager system。之所以称之为程序员信息管理,主要是因为我自己就是一个程序员,所以有对应的需求,所以才好制作软件。
为什么要PIMS
一个程序员一个项目作下来,前期要预研,预研期间有资料、有各种信息,开发期间有协议、接口、文档,还要版本控制系统,代码提交,编程技巧,DEMO示例代码,开发中还要各种BUG系统跟踪。而这些,有的是单独的WORD文档之类的,有的可能用专门的版本控制系统,有的又是专门的BUG跟踪系统,而自己还可能用到诸如网文快捕、网博士(Websaver)让您方便地将瞬息多变的Web信息永久保存,它内建强大的信息收集、信息浏览、信息编辑、全文搜索、信息共享等功能。 之类的软件进行资料搜集
而这一切,让所有的东西成为了孤岛,而同时又有大量的信息冗余,例如,某天发现了一个BUG,自然测试组将其提交到BUG系统,我上网找资料,又保存在我的WEB软件中,我将其写入代码,提交版本控制,提交信息中记录了我的代码修改,最后我又到BUG系统中说明一遍。而也许在开发过程中我又有附属产品,获得某个心得体会。www.yippeesoft.com
如果我BUG说明不清楚,那么很明显,这个记录没有意义,我下次看到不一定能够记起是哪次的修改,而我版本控制里的说明又无法包含我的BUG信息,也无法关联我找到的资料。
如果我记录详细,那么我也许就改了三句代码,却要写上一大堆说明,告诉大家彼此之间的关系。这样也是一件非常痛苦的事情。 www.yippeesoft.com
所以我一直设想这么一个软件,能够把这些东西组织到一起。
CVS VS SUBVERSION
这是一个大问题,我本来一直使用的是CVS,感觉已经很顺手了,但是CVS是以文件个体为版本记录,并且获取接口信息也不是很方便,SUBVERSION是以这个工程仓库为版本记录,无论你改了哪个文件,都是整个仓库版本升级一次,所以觉得这样比较方便,例如我某个BUG修改提交之后就有一个版本号,然后我就可以和BUG跟踪系统联系起来。
B/S VS C/S www.yippeesoft.com
这也是一个大问题,现在好像非常流行B/S结构,据说客户端免维护之类的,不过我考虑到这个软件可能交互。拖放之类的操作比较多,并且B/S据说免维护,可以IE还要IE6/IE5.5/IE5,甚至还要各种控件设置之类的差异,还是比较麻烦的。而C/S采用自动更新模块完成也可以做到免维护。
C# VS JAVA www.yippeesoft.com
这同样是一个大选择,C#我稍微熟练一些,JAVA一点点,不过从C#移植到JAVA也不是太复杂,说白了这些东西无所谓高深,大家只是类库的名字可能不一样而已。
最后选择 C#,一个是因为JAVA作WINFORM WINDOWS窗体程序界面实在比较麻烦,再一个就是在我的电脑上面,打开一个JBUILDER或者ECLIPSE 比VS.NET 2003要慢,而查找帮助和编译调试更加慢得不可忍受,所以还是采用VS.NET。
今天当我上午传真软件CLASS1接收了25页成功之后,我就知道我不可救药的再次陷入了一个困倦期。由于这个软件本来只是需要支持CLASS2.0,所有软件前期的时候销售人员总是说这个市场多好,需求多大,要求多急,等到拼死拚活作出来之后,就悄无声息了。而项目却又没有完结。我花了一个半礼拜加上了CLASS2/CLASS1支持,但是这个软件很有可能再次陷入一个只开花不结果的遭遇。我也只好 宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒。做好自己的本分,软件没有作出来,是我的错,至于其他的,我也不想管,也管不了。
下午手工升级了十五台机器的模块软件,现在大拇指和食指还痛,因为要不停的拔芯片,换芯片,插芯片。神奇的是我有一次把芯片的两个脚都弄弯了,根本没有接触,居然也能升级好好的。
据说要开始一个PHP的项目,正好以前下载了几个PHP IDE集成开发环境,明天上班再试一试哪个比较好。
JEFF 8月4日留言,我记得我发了EMAIL,结果不知道为什么没有收到回应,今天搜索了一下我的发送记录,却找不到,不知道是不是我暂时性失忆,还是可能我写的时候正好被打扰,结果以为自己发了而实际没有。
为了避免PMS的无疾而终,所以我觉得还是应该记录一下,以督促自己。
标签:des, pims, 信息, 程序一个软件作下来,一个人一周的工作下来,大概会有多少种文档呢?
1、工作日志
2、详细设计
3、开发心得
4、需求变更
5、开发文档
6、自测报告
7、其他插入的项目
~~~~~~~~~~~
我试图想用一个软件进行包括,试过CVSTRAC,这个对代码的记录比较清楚,也能记录一些需求变更,可是界面实在不友好,查询也不好
也试过BLOG、WIKI,可是都不好用
结果是这里一个DOC协议文档,那里一个BLOG心得,这里CVSTRAC一个需求变更,再加上一个PRJ任务管理,以及一个CVS作的代码版本变更记录,我永远无法统一~~~~~
标签:信息, 开发, 软件WelCome to YippeeSoft! 欢迎光临开心软件!
About Soft
————
All software Copyright (C) 1994-2005 YippeeSoft yippee_sk@yahoo.com.cn
All software are free software, you can use wantonly and distribute, but must
contain the text.
软件均为自由软件,您可以任意使用或者分发,但是必须包含附带文档.
Terms of Use
————
This software is provided "as is", without any guarantee made
as to its suitability or fitness for any particular use. It may
contain bugs, so use of this tool is at your own risk. We take
no responsilbity for any damage that may unintentionally be caused
through its use.
免责
————
软件由用户自愿使用。没有任何明确或暗示形式的担保。您必须自己承担使用的风险。不管是作者还是作者的代理,都没有责任对使用或误用本软件时的数据丢失、损坏、利益损失或其它任何形式的损失负责。
If you are satisfied with my software and want to help me stay the best software , please donate as much as you can.Thanks!
如果您觉得这软件不错,并希望我们做的更好,希望您能够捐助我们。谢谢。