陷入虚无的天狼

Subscribe to RSS feed

Posts tagged with "web"

web2.0下的几个网站

分享网络书签我们可以用del.icio.us(365sky, zhuaxia)
分享图片我们可以用flickr
分享视频片段我们可以用youtube
分享音乐webjaylast.fm(*)
last.fm和web.jay不同,是音乐分享的另一种方式。虽然分享的依然是列表.但是它是通过在本地播放器上安装一个插件,把你播放器的播放列表在网站上同步显示.然后提供XML输出.这样别人就可以订阅了,或者在blog或者网站上调用你的播放列表.达到音乐分享的目的.

国内豆瓣网比较不错
http://www.douban.com/
还有开发中的音乐八宝盒不知道会怎么样
http://www.8box.cn/

Blog与门户

blog经过几年的发展,随着tag、rss等技术的出现,已经远远超出了最初的个人日志的形式,现在开始向门户型网站转型,不仅仅是个人门户,而且也有企业级blog,如google黑板报。

blog变成个人门户,一、从内容上,不只是自己的日志和链接,还可以通过ajax技术将他人的日志聚合到自己的blog页面一共显示。(参见http://www.songlian.cn/read.php?84)在自己Blog上聚合并显示朋友Blog的最新文章,这样方便自己及时了解朋友的消息,另外,也方便访问者找到和本Blog相关的blog和文章。这个功能你可以叫它“Blog聚合”或者“Blog联播”。二、blog程序或BSP(blog服务提供商)应提供更加个性化的操作,提供所见即所得的web页面设计功能(例如将google的个性主页服务与blog结合)。据说著名的squarespace就提供了这样的功能http://www.squarespace.com/ ,相似的还有 http://www.maxkiesler.com/index.php/designdemo/

企业blog,如google黑板报,成为一个内部交流和外部宣传平台。目前google不仅有blogger(http://www.blogger.com),和新发布的个性化主页,很早以前就对企业用户推出了企业级的个性主页服务,而且google还为开发人员开放了相关的api(针对google pages模块少,有人马上就做出了http://www.googlemodules.com/),google现在真是可怕啊。



  

个人建站推荐软件

一、LAMP:linux+Apache+MySQL+Php(zend optimizer),目前最流行的组合,在此之上:
1.drupal,CMS(内容管理系统)系统,集成论坛、blog、文档管理等模块,主页区块化(block)布局,可以将各模块的最新内容分块显示。
官方站点drupal.org,目前尚无中文站,不过已经汉化。据说技术先进,国内的著名的海微linux,emacs的mule-gbk的作者中科大的詹剑的个人站点均采用此系统。博客中国开站时一度也曾想采用此系统。
应用站点举例:海微linux http://linux.hiweed.com
国内最大的pda站点 http://www.hi-pda.com/drupal//

2.xoops,CMS(内容管理系统)系统,同上,其blog模块采用目前最流行的wordpress。
官方站点 http://www.xoops.org
中文 http://www.xoops.org.cn/

3.wordpress,目前可以说是最流行的blog系统了,如果只是建一个个人blog,首选。

二、Zope代替Apache,Python代替Php
Zope是一个python编写的开放源代码的Web应用服务器
4.Plone,python编写的CMS系统。
官方站点 http://plone.org/
中文 http://www.czug.org/
http://python.cn/

三、Java代替Php
4.DLOG4J,中国人自己开发的一个基于java的CMS系统。
http://www.javayou.com/main.jspe

Apache+php+MySQL+Tomcat

最近学习java,机器上原来装了Apache+php+MySQL,就加一个Tomcat上去。(以下在win中操作,linux我用debian,apt-get,然后小改一下配置文件,大致相同) 一: 安装apache 并配置支持PHP 将apache安装在 D:\Net\apache2 目录(随自己喜好)下,将php-5.x.x-Win32.zip 里内容解压到 D:\Net\php 里。找到php目录里的php.ini-dist重命名为 php.ini并拷到 windows目录里(win2k里为winnt)如我的php.ini是拷到 C:\windows目录。再将php目录里的 php5ts.dll,libmysql.dll 拷到 系统目录(system/system32) 如我的是C:\windows\system32里 配置apache里的httpd.conf 打开 D:\Apache2\conf\httpd.conf 这个文件 找到 DocumentRoot "D:/Net/Apache2/htdocs" 将其改为你的WEB目录(可不改)如我的为 DocumentRoot "D:/Net/website" 找到 DirectoryIndex index.html index.html.var 在后面加入 index.htm index.php index.jsp 选择安装模式: 模块化模式安装 或 CGI模式安装 (选一样即可) --------------模块化安装配置------------------------------------ 找到 #LoadModule ssl_module modules/mod_ssl.so 这行,在此行后加入一行 LoadModule php5_module d:/php/php5apache2.dll 其中d:/php/php5apache2.dll 为你php目录中php5apache2.dll所在的位置 找到 AddType application/x-gzip .gz .tgz 这行,在此行后加入 ScriptAlias /php/ "d:/php/" AddType application/x-httpd-php .php Action application/x-httpd-php "/php/php-cgi.exe" --------------------------------------------------------------- 此时PHP环境基本已经配置成功 在WEB根目录(如我的D:\website)里建一个名为test.php的文件内容如下 <? echo phpinfo(); ?> 重新启动apache服务 用浏览器打开 http://localhost/test.php 如果可以看到php配置输出信息就OK了 二:安装mysql 将mysql安装到指定目录,(首选4.1,5.0的有的老程序可以支持的不够好,不过5.0的可以强制使用4.0模式工作)如我的是d:/Net/mysql。 增加mysql用户从本机访问数据库的权限(运行JSP需要),注意括号内的内容不要输入: #cd /usr/local/mysql/bin #./mysql mysql>GRANT ALL PRIVILEGES ON *.* TO mysql(用户名)@localhost.localdomain(本机的主机名) IDENTIFIED BY ''(密码); mysql>quit 三、配置php.ini并测试mysql(php.ini为 d:\windows下的 php.ini) 找到extension_dir = "./" 改为 extension_dir = "d:/php/ext" 找到 ;extension=php_mysql.dll ;extension=php_mbstring.dll 将';'去掉改为 extension=php_mysql.dll extension=php_mbstring.dll (MySQL5中有php_mysqli.dll) 找到 ;session.save_path = "/tmp" 将';'去掉 设置你保存session的目录,如 session.save_path = "D:/Net/php/session_temp"; 宽字符集设定 ; Set default language mbstring.language = Neutral; Set default language to Neutral(UTF-8) (default) mbstring.language = English; Set default language to English mbstring.language = Japanese; Set default language to Japanese ;; Set default internal encoding ;; Note: Make sure to use character encoding works with PHP mbstring.internal_encoding = UTF-8 ; Set internal encoding to UTF-8 ;; HTTP input encoding translation is enabled. mbstring.encoding_translation = On ;; Set default HTTP input character encoding ;; Note: Script cannot change http_input setting. mbstring.http_input = pass ; No conversion. mbstring.http_input = auto ; Set HTTP input to auto ; "auto" is expanded to "ASCII,JIS,UTF-8,EUC-JP,SJIS" mbstring.http_input = SJIS ; Set HTTP2 input to SJIS mbstring.http_input = UTF-8,SJIS,EUC-JP ; Specify order ;; Set default HTTP output character encoding mbstring.http_output = pass ; No conversion mbstring.http_output = UTF-8 ; Set HTTP output encoding to UTF-8 ;; Set default character encoding detection order mbstring.detect_order = auto ; Set detect order to auto mbstring.detect_order = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Specify order ;; Set default substitute character mbstring.substitute_character = 12307 ; Specify Unicode value mbstring.substitute_character = none ; Do not print character mbstring.substitute_character = long ; Long Example: U+3000,JIS+7E7E 重启apache服务 在Web根目录下(如 D:\website)建立testdb.php文件内容如下: <?php $link=mysql_connect('localhost','root','123456'); if(!$link) echo "fail"; else echo "success"; mysql_close(); ?> 用浏览器打开http://localhost/testdb.php 如果输出success就OK了 MySql5使用4模式工作:my.ini中加上sql-mode='MYSQL40'或start mysqld with the option --sql-mode="MYSQL40" #Use old password encryption method, my.ini中加上 old_passwords my.ini中注释掉下面一行 --------REPLACE THIS TEXT------------------------------ sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" ------WITH THIS TEXT----------------------- #sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 四、phpmyadmin的安装配置 将phpMyAdmin-2.x.x.zip解压到WEB根目录中去,重命名文件夹为phpmyadmin或其它 打开phpmyadmin/libraries 目录中的 config.default.php 找到 $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = '123456'; 分别填上你mysql的用户和密码即可 五、安装jakarta-tomcat-5.5 添加环境变量CATALINA_HOME,tomcat安装目录。 1.整合Apache和Tomcat,下载mod_jk-apache-2.0.55.so,在httpd.conf中加入 LoadModule jk_module modules/mod_jk-apache-2.0.55.so JkWorkersFile "d:/Net/Apache2/Apache2/conf/workers.properties" workers.properties内容 # Usually commented out on production environments [logger.apache2] file="D:/Net/Apache2/Apache2/logs/error.log" level=ERROR # Provide the basic config needed [config] file=D:/Net/Apache2/Apache2/conf/workers2.properties debug=1 # Provide the location of shm file on the Apache web server [shm] file=D:/Net/Apache2/Apache2/conf/jk2.shm size=1000000 [channel.socket:localhost:8009] port=8009 host=localhost #define the worker [ajp13:localhost:8009] channel=channel.socket:localhost:8009 # Map the Tomcat examples webapp to the Web server uri space [uri:/jsp-examples/*] [uri:/*.jsp] 2.安装mySQL的JDBC驱动,mysql-connector-java-3.1.12.tar.gz,把解压出来的mysql-connector-java-3.1.12-bin.jar拷贝到/tomcat5.5/common/lib中,并添加到java的CLASSPATH中。 JAVA_HOME=.../jdk1.5.0 CLASSPATH=.;%JAVA_HOME%\lib;D:\Net\Tomcat5.5\common\lib\servlet-api.jar;D:\Net\Tomcat5.5\common\lib\mysql-connector-java-3.1.12-bin.jar 测试文件test.jsp <%@ page contentType="text/html;charset=utf8"%> <%@ page import="java.sql.*"%> <html>测试JSP页面(Tomcat+MySQL)<body> <%Class.forName("org.gjt.mm.mysql.Driver").newInstance(); String url ="jdbc:mysql://localhost:3306/mysql?user=root&password=***&useUnicode=true&characterEncoding=utf8"; Connection conn= DriverManager.getConnection(url); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from user"; ResultSet rs=stmt.executeQuery(sql); %> <%while(rs.next()) {%> <%}%>
您的第一个字段内容为: 您的第二个字段内容为:
<%=rs.getString(1)%> <%=rs.getString(2)%>
<%out.print("Tomcat+JDK+mySQL完整测试,恭喜你,数据库操作成功!");%> <%rs.close(); stmt.close(); conn.close(); %> </body> </html> 注:MySQL5.0中文问题,我一直用utf8,中文没有问题。但是很我国人喜欢用gbk。gb2312和gb18030是国家标准,但很多人就是喜欢gbk,gb2312字少,gb18030比较恶心。why no utf8? gbk解决方案如下: 1、在dos环境下,用mysql --default-character-set=gbk -u root -p 这句话进入mysql~~ 2、建数据库、表,如下: create database admin; use admin; CREATE TABLE admin ( admin_name char(20) NOT NULL, admin_password char(20) NOT NULL ) TYPE=MyISAM, default character set gbk; 3Eclipse中数据库插件中操作数据库时的中文编码问题: 当在Eclipse中装上来你所喜欢的数据库插件的时候,都会出现在你查询某一个数据库之后出现记录中的汉字乱码。解决方法很简单,只要在你建立数据库连接的时候把URL设置成下面这个样子就可以了: URL=jdbc:mysql://localhost:3306/?useUnicode=true&characterEncoding=GBK 编辑JSP文件时,<%@ page contentType="text/html;charset=GB2312" %>设置成这样子,且这条语句必须是整个JSP文件的第一条语句,就可以避免JSP文件在浏览器中显示时出现乱码;对于如果在JSP网页中要从HTML页面中接收数据,那么在JSP中的接收语句的汉字编码应与数据来源的HTML的汉字编码相同;例如HTML的汉字编码为charset=GBK,那么在JSP中的接收语句就应该这样设置: request.setCharacterEncoding("GBK");如果还要将接受的数据插入到数据库中(以插入MySQL5.0数据库为例),那么在插入数据库时的汉字编码也应与HTML文件中的汉字编码相同,设置如下: con=DriverManager.getConnection("jdbc:mysql://localhost:3306/sample_db?user=dazern&password=5201314&useUnicode=true&characterEncoding=GBK");这样设置后数据库中的数据才不会乱码.

myopera用的是什么技术?

昨天发现my.opera中使用了大量函数都是用perl写的。最近看了看java和web2.0,众多的新技术令人眼花缭乱,还有人对perl写cgi嗤之以鼻,toooold。以前看了一本讲python的书的序,作者以前在yahoo工作,说当年的yahoo就是用perl写的,后来规模扩大之后,发现用perl写大型程序很不爽,改投python了。现在google也是用python最多,google和yahoo还都用到了ajax(Asynchronous JavaScript
and XML)技术。现在看得我不知道该学什么了,我只是一个业余计算机爱好者

Tim O’Reilly--什么是web 2.0
原文地址:http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html?page=1

WikiPedia的Web 2.0条目下列出了这些条件:
  * CSS 和语义相关的 XHTML 标记
  * AJAX 技术
  * Syndication of data in RSS/ATOM
  * Aggregation of RSS/ATOM data
  * 简洁而有意义的 URLs
  * 支持发布为 weblog
  * RESTian (preferred) 或者 XML Webservice APIs
  * 一些社会性网络元素

Web2.0重要名词解释
  Blog:Blog是个人或群体以时间顺序所作的一种记录,且不断更新。Blog之间的交流主要是通过反向引用(TrackBack)和留言/评论(Comment)的方式来进行的。Blog的作者(Blogger),既是这个Blog的创作人,也是其档案管理人。

  TrackBack:是一种Blog应用工具,它可以让Blogger知道有哪些人看到自己的文章后撰写了与之有关的内容。这种功能实现了网站之间的互相通告;因此它也可以看作一种提醒功能。

  RSS:是一种用于共享新闻和其他Web内容的数据交换规范。读者可以通过RSS订阅一个Blog,确知该Blog最近的更新。

  Wiki:1995年,沃德。坎宁安(WardCunningham)为了方便模式社群的交流创建了全世界第一个wiki系统——WikiWikiWeb,并用它建立了波特兰模式知识库,在建立过程中,沃德。坎宁安创造了Wiki的概念和名称,并且实现了支持这些概念的服务系统。

  SocialBookmark:社会化书签,它可以让你把喜爱的网站随时加入自己的网络书签中;你可以用多个关键词(Tag)而不是分类来标示和整理你的书签,并与其他人共享。

  六度分隔理论:1967 年,StanleyMilgram创立。简单地说:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过六个人你就能够认识任何一个陌生人。”六度分隔理论的数学解释是:如果每个人平均认识260人,其六度就是2606=1188137600000.消除一些节点重复,那也几乎覆盖了整个地球人口若干多倍。

Ajax这个概念的最早提出者Jesse James Garrett认为:Ajax是Asynchronous JavaScript and XML的缩写。Ajax并不是一门新的语言或技术,它实际上是几项技术按一定的方式组合在一在同共的协作中发挥各自的作用,它包括:
  ·使用XHTML和CSS标准化呈现;
  ·使用DOM实现动态显示和交互;
  ·使用XML和XSLT进行数据交换与处理;
  ·使用XMLHttpRequest进行异步数据读取;
  ·最后用JavaScript绑定和处理所有数据;