作为 互联网免费二级域名 的鼻祖 UNI.CC Network 从 April 21, 1999 就开始 提供 短小,好记,强大的 sub-domain 业务。
一直深受 广大网民,特别是像我这样的一毛不拔的 人来讲,简直是超值的免费午餐,呵呵
不过树大招风,UNI.CC Network 越做越大,最终还是没能逃过被GFWed 的命运,长时间在中国大陆无法访问。
最后不知道是怎么回事,网站也关闭掉了 注册。 就这样淡出了我们的事业。
再加上后来 Co.CC 的兴起,基本也没人记起它了。
一个月前,无意浏览 UNI.CC 首页,发现了一行 "the site is Coming Soon" 的字样. 但是网站各个功能都还没实现.
当时我想:看来 uni.cc 又开始有新动向了. 果然,经过了 N 天的 Under construction.
今天一打开 http://www.uni.cc/site/home.php ,发现已经正式上线了 。如图:
并且,右上角 出现了 Login 的链接。
我尝试的注册了一个域名,第一次注册 会发到邮箱一封激活帐号的邮件,激活后,用随机生成的密码就可以登录进入控制面板了。
不过,Uni.CC 不像Co.CC 有多国语言版,只有英文版,但是都是常用单词,应该看得懂.
登录后如图:
点击相关域名就可以进行 解析设置 了,不过Uni.cc 自带的DNS解析 功能少了点,只支持 MX 和 A 记录,最好还是把NS 转出到像 DNSPOD 之类的网站进行管理。如图:
这样你就可以随意做 域名记录了,呵呵
不过,Uni.CC 还有个霸王条款,那就是 必须在该域名(包括下级域名)的首页添加一个友情链接,代码如下:
<a href="http://www.uni.cc/" target="_blank"><img src="http://www.uni.cc/site/ext_imgreflogo.php" border="0" onLoad="this.width=57;this.height=20;" width="1" height="1" alt="Register your domain name at UNI.CC"></a>
还有,如果你的网站在三个月内访问量没有超过10次,就会单方面回收域名。
个人认为这个不能算作什么苛刻条件,如果连这个都达不到,也不用做网站.
囧rz ........
Oh! We also plan to kick off our2009 Community Choice Awardsprogram next
week. In the meantime, start thinking about the projects you want to
nominate!
== March Project of the Month: dotProject ==
dotProject is a Project Management tool written in PHP that aims to be a
best-of-breed project management system. Rather than a generic container
approach like a CMS or groupware app, we decided that we would do a generic
project management tool. We are not industry (or use specific), it's not a
project planning tool - it is designed to serve as an information gathering
and progress reporting tool.
Read more: http://sourceforge.net/community/potm-200904/
== Statistics and Top Projects ==
Daily SourceForge.net Stats for 29-Apr-2009:
11,132,493 pages served
2,128,422 files downloaded (25.1 TB)
104 new projects approvedTop 25 Projects on 30-Apr-2009:
1. Openbravo ERP
http://sourceforge.net/projects/openbravo
Openbravo ERP is a Web based ERP for SME, built on proven MVC & MDD
framework that facilitate its customization. | IMPORTANT NOTICE. Openbravo
ERP project has been migrated to a new home
http://forge.openbravo.com/projects/openbravoerp
2. ZK - Simply Ajax and Mobile
http://sourceforge.net/projects/zk1
ZK is Ajax Java framework without JavaScript. With direct RIA, 200+ Ajax
components and markup languages, developing Ajax/RIA as simple as desktop
apps and HTML/XUL pages. Support JSF/JSP/JavaEE/Hibernate/.., and Ajax
script in Java/Ruby/Groovy/Python/..
3. ADempiere ERP Business Suite
http://sourceforge.net/projects/adempiere
ADempiere Business Suite ERP/CRM/MFG/SCM/POS done the Bazaar way in an open
and unabated fashion. Focus is on the Community that includes Subject
Matter Specialists, Implementors and End-Users. We are a community fork of
Compiere.
4. Zenoss Core - Enterprise IT Monitoring
http://sourceforge.net/projects/zenoss
Zenoss Core is an enterprise network and systems management application
written in Python/Zope. Zenoss provides an integrated product for
monitoring availability, performance, events and configuration across
layers and across platforms.
5. Notepad++
http://sourceforge.net/projects/notepad-plus
Notepad++, a source code editor and MS Windows Notepad replacement, has the
mission to offer a greener environment. By optimizing its routines, it
results in reducing CPU power consumption then reducing the world carbon
dioxide emissions.
6. phpMyAdmin
http://sourceforge.net/projects/phpmyadmin
phpMyAdmin is a tool written in PHP intended to handle the administration
of MySQL over the Web. Currently it can create and drop databases,
create/drop/alter tables, delete/edit/add fields, execute any SQL
statement, manage keys on fields.
7. OrangeHRM - Human Resource Management
http://sourceforge.net/projects/orangehrm
OrangeHRM is an Open Source Human Resource Management System that covers
Personnel Information Management, Employee Self Service, Leave, Time &
Attendance, Benefits, and Recruitment. Tags: HRM, HRMS, HCM, HRIS, EHRMS,
Human Capital Management
8. Audacity
http://sourceforge.net/projects/audacity
A fast multi-track audio editor and recorder for Linux, BSD, Mac OS, and
Windows. Supports WAV, AIFF, Ogg, and MP3 formats. Features include
envelope editing, mixing, built-in effects and plug-ins, all with unlimited
undo.
9. PostBooks ERP, accounting, CRM by xTuple
http://sourceforge.net/projects/postbooks
Free open source ERP, accounting, CRM package for small to midsized
businesses. ERP client runs on Linux, Mac, and Windows (built with open
source Qt framework). Business logic resides in PostgreSQL database.
International ERP, accounting, and CRM tools.
10. ScummVM
http://sourceforge.net/projects/scummvm
ScummVM is a cross-platform interpreter for several point-and-click
adventure engines. This includes all SCUMM-based adventures by LucasArts,
Simon the Sorcerer 1&2 by AdventureSoft, Beneath a Steel Sky and Broken
Sword 1&2 by Revolution, and many more.
11. Mumble
http://sourceforge.net/projects/mumble
Low-latency, high-quality voice communication for gamers. Includes game
linking, so voice from other players comes from the direction of their
characters, and has echo cancellation so the sound from your loudspeakers
won't be audible to other players.
12. SW Test Automation Framework
http://sourceforge.net/projects/staf
The Software Testing Automation Framework (STAF) is a framework designed to
improve the level of reuse and automation in test cases and test
environments. The goal of STAF is to provide a complete end-to-end
automation solution for testers.
13. Sweet Home 3D
http://sourceforge.net/projects/sweethome3d
Sweet Home 3D is an interior design Java application for quickly choosing
and placing furniture on a house 2D plan drawn by the end-user, with a 3D
preview.
14. KeePass Password Safe
http://sourceforge.net/projects/keepass
KeePass Password Safe is a free, open source, light-weight and easy-to-use
password manager for Windows. You can store your passwords in a
highly-encrypted database, which is locked with one master password or key
file.
15. ffdshow tryouts
http://sourceforge.net/projects/ffdshow-tryout
ffdshow is a DirectShow filter and VFW codec for many audio and video
formats, such as DivX, Xvid and H.264. Over 70 bugs have been fixed, codecs
have been updated, and support for a few new formats has been added in the
tryouts. Vista is now supported.
16. webERP web-based ERP Accounting
http://sourceforge.net/projects/web-erp
Integrated accounting ERP system. Multi-language/currency/
inventory
locations. Full double entry. SO/AR/PO/AP/GL/Bank/Sales Analysis.
BOMs/assemblies/kit-sets. Flexible pricing. Emailable pdf reports. Fast PHP
created html for any browser.
17. Scintilla
http://sourceforge.net/projects/scintilla
Scintilla is a free source code editing component which includes useful
features such as syntax styling, error indicators, folding, code completion
and call tips. The project includes SciTE (SCIntilla based Text Editor).
18. xVideoServiceThief
http://sourceforge.net/projects/xviservicethief
xVideoServiceThief is a tool for downloading your favourite video clips
from a lot of video websites. xVideoServiceThief also provide you the
ability to convert each video in most popular formats: AVI, MPEG1, MPEG2,
WMV, MP4, 3GP, MP3 file formats.
19. DeSmuME
http://sourceforge.net/projects/desmume
DeSmuME is a Nintendo DS emulator.
20. net-snmp
http://sourceforge.net/projects/net-snmp
net-snmp provides tools and libraries relating to the Simple Network
Management Protocol including: An extensible agent, An SNMP library,tools
to request or set information from SNMP agents, tools togenerate and handle
SNMP traps, etc.
21. MediaInfo
http://sourceforge.net/projects/mediainfo
Get technical information and tags of a lot of multimedia files. Supported
formats : - Video : AVI/OGM/MKV/MPG/VOB/MP4/3GP/... - Audio :
MP3/OGG/MKA/MP4/AAC/...
22. PhpGedView
http://sourceforge.net/projects/phpgedview
PhpGedView is a revolutionary genealogy program which allows you to view
and edit your genealogy on your website. It has full privacy functions, can
import from GEDCOM files, and supports multimedia. It also simplifies
family collaboration.
23. XBMC Media Center
http://sourceforge.net/projects/xbmc
XBMC Media Center is a free cross-platform media player and entertainment
hub software for Linux, Mac, Windows, as well as the Xbox game-console.
XBMC is capable of playing back all popular video, audio, and picture
formats out-of-the-box.
24. Fink
http://sourceforge.net/projects/fink
Fink is an attempt to bring the full world of Unix OpenSource software to
Darwin and Mac OS X. Packages are downloaded and built automatically and
installed into a tree managed by dpkg, all with full dependency tracking.
25. aTunes
http://sourceforge.net/projects/atunes
aTunes is a powerful, full-featured, cross-platform player and manager,
with audio cd rip frontend. Currently supported formats are mp3, ogg, wav,
wma, flac, mp4, ape, mpc, mac, radio streaming and podcasts.
一直都不知道,或者说没有留意到这个变化。因为现在用的都是 vw-in-f121.google.com (74.125.113.121) 来代替的。
也不去关注这个了。知道今天朋友说起,用blogspot做了个博客,用自己的域名解析上去了。
起初,我坚信不可能的。然而我试了一下,真的可以访问。
如图:
上面 赫赫的显示着 ghs.google.com ,我还是不敢确信,也许是人家网站服务器在国外,故而可以访问。
于是 自己ping了一下,也成功了。如图:
至此,我有理由说,ghs.google.com 在大陆被解封。 下次被GFWed的时间不祥。
从几周前ubuntu 官网 (http://www.ubuntu.com) 放出的web 倒计时开始,再到昨天放出的RC (发布候选版),让我们感觉到ubuntu 9.04离我们越来越近了,呵呵
我认为ubuntu之所以成为最流行的linux 发行版之一,和它的易用性是分不开的。一般来讲,在我们的印象中,unix 和 linux 这种 类unix (Unix Like) 系统 向来是跑在大型机上的.我们这些低端用户只能装个windows 系统用用。就算勉强要用话,估计也会被这类系统的 繁多的 命令,或者 终端呀,控制台之类的东西 吓退,不要说灵活应用,就连上手都很难迅速OK.如果一定要坚持用的话,而装好后使用的频率又不高或者几乎不用的话,那么很容易被人认为是装 B,呵呵 ==!!
而且我们接触电脑 大都是在win 95时代以后,对GUI (图形用户界面) 产生了很大的依赖性,就算你以前用过DOS (磁盘操作系统),或者熟练于 命令行模式,但是现在也不太现实,呵呵
而微软公司的政策原因,再加上自己的版权意识的慢慢 树立,找到一个能够替代windows 系统的要求便产生了。
这时候,一个几乎和windows 一样易用、方便、并且没有版权问题的 免费的系统 出现了---ubuntu 系统来到了。
很兴奋,也很焦急。
等待中.....
就在前天吧,谷歌应用程序引擎(简称GAE)继python后,开放了对Java的支持.让人兴奋不已
比较Java是当今最流行的高级语言,在TIOBE的编程语言榜单上,JAVA已经蝉联了十几个月的冠军,这一点是毋庸置疑的。
相关链接: 4月编程语言排行榜
由于这个功能是刚刚开放的,所以用句通俗的话来讲,现在还在内测阶段。所以 必须向 谷歌申请,才能开通。
这个在你用 谷歌帐号 登录 GAE 时候 会发现,在页面上方会有黄色的提示。 只要点击 "sign me " 按钮就可以了。注意这个是有名额限制的,前1万名申请者才有资格开通,所以要抓紧呀
下面是引用GAE官方博客的声明:
we're giving the first 10,000 interested developers an early look at Java language support
之后,在你的注册邮箱里收到一封开通的通知,如图
至此,你的 GAE 就开始可以跑 JAVA 程序了,哈哈
要想你开发出的程序能在GAE上运行,首先得安装App Engine Java software development kit (SDK)
下面提供两种方法:
1.到这个地址:http://code.google.com/appengine/downloads.html 下载×××.msi 的安装包,安装即可。然后可以利用它自带的相关工具开发。这个方法,对于我这个酷爱绿色软件的人 不太适用。
2.安装 Google Plugin for Eclipse,这个我比较推荐,毕竟我们开发Java 大多用的都是这款开源的IDE。
下载地址是针对eclipse的两个版本,大家可以自行下载,
因为我的版本是 基于3.4.2的Ganymede,所以选择后者,打开eclipse-->help--->software update--->add site 输入地址,
再刷新一下,就可以看到谷歌GAE的插件了,如图
点击 Update 即可。 默认安装完毕后重启eclipse.
再打开eclipse 时候,会发现面板上多了一些图标,这些就是GAE的按钮。如图
点击 蓝色 小"g" 图标 创建 Web 应用 项目,这个就是 能在GAE上运行的程序的雏形。呵呵
新建项目的结构大体是:
ProjectName/
src/
...Java source code...
META-INF/
...other configuration...
war/
...JSPs, images, data files...
WEB-INF/
...app configuration...
lib/
...JARs for libraries...
classes/
...compiled classes...
其实如果你经常做JSP的项目会发现和它一样,只不过Webcontent 被改名为 War 了
如图:
现在我们要做的就是 像平时一样,写好自己的程序就可以了。
不过有一点要注意的是,在 war/WEB-INF下有个
appengine-web.xml,它是和将来程序在GAE上的具体设置有密切关系的,
主要是这两点:
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>你的GEA ID名称</application>
<version>程序的版本号</version>
</appengine-web-app>
更多的设置,比如 静态文件 和 资源文件,以及 是否开启session,ssl安全浏览 等,可以到下面这个地址去查看
URL:http://code.google.com/intl/zh-CN/appengine/docs/java/config/appconfig.html
这是我 appengine-web.xml 的设置情况(仅供参考),如图
在编写java 类是要用到GAE提供的包,如
packagepackageName;importjava.io.IOException;importjavax.servlet.http.*;importcom.google.appengine.api.users.User;importcom.google.appengine.api.users.UserService;importcom.google.appengine.api.users.UserServiceFactory;这些,大家可以参考GAE的api文档,在此不再多说
关于JSP页面,也与一般的web project 没两样,不过如果eclipse默认用的是JRE的话,是会报错的,
所以请确保eclipse的JRE System library是 JDK.
还有就是数据库,GAE提供两种类型的数据库访问,1 是 Java Data Objects (JDO),2 是 Java Persistence API (JPA).
具体信息可以参见:SUN的 技术文档
或 GAE文档 地址:http://code.google.com/intl/zh-CN/appengine/docs/java/datastore/usingjdo.html
想要实现对数据库的访问,得设置---位于src/META-INF目录下的
jdoconfig.xml文件
.
具体内容如下:
<?xml version="1.0" encoding="utf-8"?>
<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig">
<persistence-manager-factory name="transactions-optional">
<property name="javax.jdo.PersistenceManagerFactoryClass"
value="org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory"/>
<property name="javax.jdo.option.ConnectionURL" value="appengine"/>
<property name="javax.jdo.option.NontransactionalRead" value="true"/>
<property name="javax.jdo.option.NontransactionalWrite" value="true"/>
<property name="javax.jdo.option.RetainValues" value="true"/>
<property name="datanucleus.appengine.autoCreateDatastoreTxns" value="true"/>
</persistence-manager-factory>
</jdoconfig>
在类里实现对数据库的列名声明方法简称POJOs(Plain Old Java Objects) 代码编写如下:
packagepackageName;importjava.util.Date;importjavax.jdo.annotations.IdGeneratorStrategy;importjavax.jdo.annotations.IdentityType;importjavax.jdo.annotations.PersistenceCapable;importjavax.jdo.annotations.Persistent;importjavax.jdo.annotations.PrimaryKey;importcom.google.appengine.api.users.User;@PersistenceCapable(identityType=IdentityType.APPLICATION)publicclassGreeting{ @PrimaryKey @Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY) privateLongid; @Persistent privateUserauthor; @Persistent privateStringcontent; @Persistent privateDatedate;
更多数据库语法,参见 http://code.google.com/intl/zh-CN/appengine/docs/java/datastore/dataclasses.html
而后,是数据在数据库里的物理,永久写入:
见实例代码:
packagepackageName;importjavax.jdo.JDOHelper;importjavax.jdo.PersistenceManagerFactory;publicfinalclassPMF{ privatestaticfinalPersistenceManagerFactorypmfInstance= JDOHelper.getPersistenceManagerFactory("transactions-optional"); privatePMF(){} publicstaticPersistenceManagerFactoryget(){ returnpmfInstance; }}
新建一个操作类,导入上面的相关类:
以日期为例,写入数据库
Datedate=newDate(); Greetinggreeting=newGreeting(user,content,date); // user,content 假设上面已定义 PersistenceManagerpm=PMF.get().getPersistenceManager(); try{ pm.makePersistent(greeting); //待jsp 页面传入 }finally{ pm.close(); }
在JSP页面的调用方法实现:
局部代码:
<% PersistenceManagerpm=PMF.get().getPersistenceManager(); Stringquery="select from "+Greeting.class.getName(); List<Greeting>greetings=(List<Greeting>)pm.newQuery(query).execute(); if(greetings.isEmpty()){%><p>目前无消息</p><% }else{ for(Greetingg:greetings){ if(g.getAuthor()==null){%><p>匿名人士写道:</p><% }else{%><p><b><%=g.getAuthor().getNickname()%></b>写道:</p><% }%><blockquote><%=g.getContent()%></blockquote><% } } pm.close();%>这样,一个GAE 程序访问数据库 操作的过程就完成了。 JDO操作数据库语句 叫做 JDOQL (和T-SQl 等差不多).
具体介绍见:http://code.google.com/intl/zh-CN/appengine/docs/java/datastore/queriesandindexes.html
接下来就是 静态文件 的问题,这个应该不成问题,所谓 静态文件 就是一些 无需改变的,如 图片,CSS样式表 等
而关于 静态文件 等的 声明在 appengine-web.xml 里面有详细说明,本人不再多说.
至此,一个 GAE JAVA 项目就算是完成了,待写好代码,测试完毕后,就可以通过 eclipse 的插件 上传到 GAE 服务器运行了了。
点击那个 蓝色小引擎 的图标 即可,如图:
至此,我们对 GAE JAVA 的第一次接触 到此结束了。
这是我上传的一个留言板测试页面,大家可以去看看, http://xia-zhengxin.appspot.com
PS:我发现了一个问题,貌似 GAE 对 中文的支持好像不太好,我在本地的中文字符,上传后都会变成了乱码。可能是还有什么没有设置好吧
但是 我的pageEncoding 和 charset 都改成了 gbk 或 utf-8,好像都不太有用。
现在问题得到了解决:
详见:http://www.jxva.com/blog/personal-diary/change-the-google-app-engine's-javac-compiler-encoding.html
原因是因为调用了系统默认的编码格式,而windows的默认字符编码不是 utf-8,所以导致中文变乱码了,呵呵
下载上面地址 人家提供的反编译好的application.class 文件,覆盖原来的,就OK了
不同的是:此人用的是SDK, 而我们用的是 plugin ,路径可能不一样。插件路径如下:
Eclipse路径\plugins\com.google.appengine.eclipse.sdkbundle_1.2.0.v200904062334\appengine-java-sdk-1.2.0\lib\appengine-tools-api.jar