Updates from 八月, 2009 Toggle Comment Threads | 键盘快捷键

  • admin 17:58 on 2009-08-12 链接地址 | 回复  

    FLEX服务端代码的结构思考 

    文章修改:
    时间:2009-08-18
    原因:罗东东同学的热心指摘出Flash的跨域访问限制及解除

    今天在逛douban的时候看到匡威的网站 http://converse.com.cn/swf/home.html。

    这个网站是纯flash的网站,包括产品介绍,会员注册等功能。

    遂想了一下Flex与自己的或者他人的(比如GOOGLE MAP)服务端的API交互问题:

    • 传统的html式的网站,模式是用户发送请求,服务器根据需要来自己处理或者调用他人的服务器API来处理请求,最终就处理结果返回给客户端浏览器。
    • Flex网站,则与Ajax类似,是一个通过异步请求完成客户端画面填充的。即,客户端直接和自己的或者他人俄服务器端API进行交互,返回的数据整理与显示的安排,完全由客户端来控制。这样就可以省去,他人服务器API -》自己服务器-》客户端 的流程。而变成他人服务器API-》客户端。

    FLEX这种结构的好处,当然就是为啥人们要用Ajax获得好处。但是FLex和AJAx的区别是Ajax不能跨域名操作。而Flex无此限制。

    ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告。

    Flex跨域访问也是有跨域限制的,但是可以由提供API的服务器,主动设置该限制。

    提供服务的站点,需要部署一个crossdomain.xml来设定跨域限制设定。

    如果本身想允许任何网站访问,哪么它肯定在根目录放了一个 crossdomain.xml, 里头写 *,

    例如   http://www.chanet.com.cn/crossdomain.xml

    想到这里,我想了下,服务端API的编写问题:

    1. API的实现方式 HTTPService,WebService,RemoteObject。WebService可以使用SOAP(简单对象访问协议)
    2. API的登陆,传统的HTML方式,需要自己的服务器和他人的服务器进行登陆控制及保持登陆状态。Flex是客户端直接和服务端的API交互,应该可以使用cookie,session套路解决。
    3. 如果要提供一套多个功能的api接口,最好像google那样,一个登陆,所有网站全部登陆。即Flex中调用的多个API,只需要登陆一个Login的API,其他的API都可以使用。不需要多次登陆。
    4. 实现多个api接口时,可以参考ecshop的实现思想,一个controller接受act参数,controller根据act的不同,调用不同的api方法,或者跳转到不同的页面。(这里不知道flex调用api时是否支持 api的跳转,应该不支持)。
    5. 这样的话,MVC的Control和View可以完全分离,Control负责根据View的选项,进行处理,返回数据,View接到数据负责显示。
    6. 这样的Control返回数据统一是XML形式,这样可以跨更大的View种类,flash,ajax,桌面程序等。
    7. 这样就需要在编码开发前,确定下Control和View之间传递的数据,及数据类型,数据格式。

    嗯,乱想一通,感觉从HTML到Flex的最大改变是

    他人服务器API -》自己服务器-》客户端 的流程。而变成他人服务器API-》客户端。

    似乎和现在炒得很热的 云计算 有些相同的思想。

     
  • admin 11:21 on 2009-05-19 链接地址 | 回复
    Tags: Foreign key, 外键   

    数据库设计之外键约束,Hibernate 

    正常的DB设计开发流程:

    1. 用Mysql WorkBanch设计数据库(带外键约束),到处数据库sql

    2. 用sql文件创建数据库

    3. 用Hibernate的工具MiddleGen连接数据库,创建Mapping文件和POJO文件

    4. 修改Mapping文件和POJO文件

    但是在真正编码的时候,我们的数据库不是用上面第2步创建的数据库做实现。

    实装时用的数据库是不添加外键约束的的数据库。

    用户外键约束的几个缺点:

    1. 现在系统的数据原则上都是不物理删除的,都是使用删除标志。这样通过外键的PoJo对象取到的数据是没有判断删除标志的,所以还是必须自己重新写取数据。

    2. 数据库有外键约束后,在创建,修改,删除的后都会变慢,因为数据库需要去检查外间约束。

    推荐实装时的数据库设计:

    1. 数据库不要有外键

    2. 修改生成后的PoJo文件和Mapping文件添加关联属性,来替代原来自动生成的外键属性。

    3. 删除使用删除标志

     
    • 10:54 on 2009-05-23 链接地址

      高手啊
      以后多写点java企业开发的教程吧

    • 我空 10:36 on 2009-10-20 链接地址

      我 有个问题 想请教您 ,,,,
      我是按照你的方法 数据库没外键 用hibernate来维护关系 但是 one to many中我在数据库事先添加了一条可以 关联的记录 但是 我从one 端得到many端是空 我想因为在数据库里直接添加后记录 在one端和many端都没放入。。。。那请问 我怎么做才能实现one端得到many端 啊 急。。。详细 我邮箱 yuyifeifei@gmail.com
      qq 6686496

  • admin 17:20 on 2009-04-16 链接地址 | 回复  

    10大it站点 

    1、chinaunix
    网址:http://www.chinaunix.net/
    简介:中国最大的linux/unix技术社区。

    2、itpub
    网址:http://www.itpub.net/
    简介:有名气的IT技术论坛,看看它的alexa排名就知道有多火了,尤其以数据库技术讨论热烈而闻名。ITPUB论坛的前身是建立在smiling的oracle小组。

    3、51cto
    网址:http://www.51cto.com/
    简介:由国内知名IT门户网站管理团队,获近千万风险投资,于2005年8月正式创立,是国内首家定位于网络技术人员的综合性服务平台,是中国最大的网络技术网站。

    4、csdn
    网址:http://www.csdn.net/
    简介:于1999年3月成立,是中国最大的软件开发人员网站,社区热心高手众多,并有不少MVP(微软最有价值专家)长期活跃在这里,类似悬赏的积分制度,也使论坛增添不少乐趣。

    5、落伍者
    网址:http://www.im286.com/
    简介:网站站长都应该知道的地方,只是论坛id需要手工审核。

    6、蓝色理想
    网址:http://www.blueidea.com/
    简介:有名的关于网站设计的网站,拥有大量忠实网友。

    7、it写作社区
    网址:http://www.donews.com/
    简介:一个可以让你的思维活跃起来的地方,在这里it评论人和撰稿人可以找到很多的文字素材。

    8、博客堂
    网址:http://blog.joycode.com/
    简介:众多MVP交流的地方,这里有各类最新技术,只是网站成员采用邀请制,不提供注册或者申请功能。

    9、it英雄榜
    网址:http://www.itheroes.cn/
    简介:网站以介绍it界人士为主,广大从事it的人员可以从中获取他们的经验。

    10、邪恶八进制
    网址:http://www.eviloctal.com/
    简介:目前为数不多的一个讨论气氛浓厚,技术水平高的网络安全网站,邪恶八进制信息安全团队也是一个管理规范、人员素质高的网络安全小组

     
  • admin 01:15 on 2008-09-17 链接地址 | 回复  

    linux下用shell命令发送html邮件 

    cat /testmail/cleanday.txt |formail -I “From: lium@kiyozawa.com” -I “MIME-Version:1.0″ -I “Content-type:text/html;charset=UTF-8″ -I “Subject:CleaningDay”|/usr/sbin/sendmail -oi lium2@kiyozawa.com

    /testmail/cleanday.txt 是html邮件的html源码,这里的html邮件是UTF-8编码

    lium2@kiyozawa.com 是邮件接收人

     
  • admin 10:29 on 2008-09-14 链接地址 | 回复  

    歷來Zaurus機型命名 

    SL-5000 – Collie 牧羊犬
    SL-5500 – Collie 牧羊犬
    SL-5600 – Poodle 貴賓狗
    SL-6000 – Tosa 土佐鬥犬
    SL-C700 – Corgi 柯基犬
    SL-C750 – Shepherd 牧羊犬
    SL-C760 – Husky 哈士奇
    SL-C860 – Boxer 拳獅狗
    SL-C1000 – Akita 秋田
    SL-C3000 – Spitz 狐狸犬
    SL-C3100 – Borzoi 俄國牧羊犬
    SL-C3200 – Terrier 梗犬

     
  • admin 19:53 on 2008-09-11 链接地址 | 回复
    Tags: pdaxrom, Planex, wifi   

    在Pdaxrom系统里用无线网卡Planex Gw-cf11x问题 

    方法一:
    Using beta2,
    download

    http://www.red-bean.com/~proski/firmware/1.8.4.tar.bz2

    and

    http://www.red-bean.com/~proski/firmware/primary.tar.bz2

    then all you have to do is extract the two archives into
    /etc/pcmci/firmware and you should
    be good to go!

    方法二:
    I’m using this card with SL-C750. I’ve tried with the hostap driver of PdaXrom, but it didn’t work.
    I’ve installed Cacko Rom 1.23, which has a proper driver for this card.
    I’ve saved the following files:

    CODE
    /lib/modules/2.4.18-rmk7-pxa3-embedix/kernel/drivers/net/wireless/hostap.o
    /lib/modules/2.4.18-rmk7-pxa3-embedix/kernel/drivers/net/wireless/hostap_crypt_
    ccmp.o
    /lib/modules/2.4.18-rmk7-pxa3-embedix/kernel/drivers/net/wireless/hostap_crypt_
    tkip.o
    /lib/modules/2.4.18-rmk7-pxa3-embedix/kernel/drivers/net/wireless/hostap_crypt_
    wep.o
    /lib/modules/2.4.18-rmk7-pxa3-embedix/kernel/drivers/net/wireless/hostap_cs.o
    /etc/hotplug/firmware/orinoco_ezusb_fw
    /etc/hotplug/firmware/orinoco_usb_fw.bin
    /etc/hotplug/firmware/pm010102.hex
    /etc/hotplug/firmware/rf010804.hex
    /etc/hotplug/firmware/symbol_sp24t_prim_fw
    /etc/hotplug/firmware/symbol_sp24t_sec_fw
    /etc/pcmcia/hostap_fw
    /etc/pcmcia/hostap_fw.conf

    After reinstalling PdaXrom (1.1Beta) and coping back the saved files above it works.
    I can use WEP, too.

    方法三:
    First, you have to add your card definition to /etc/pcmcia/hostap_cs.conf
    Edit this file and add :

    CODE
    card “PLANEX COMMUNICXATIONS INC.”
    manfid 0xd601, 0×0010
    bind “hostap_cs”

    It’s time to flash your card (credits to gryning).
    Download the latest firmware from :
    http://www.red-bean.com/~proski/firmware/1.8.4.tar.bz2 (extract rf010804.hex)
    http://www.red-bean.com/~proski/firmware/primary.tar.bz2 (extract pm010102.hex)

    Then use this script :
    CODE
    #!/bin/sh
    cardctl scheme default
    prism2_srec -gs wlan0 <path>/pm010102.hex
    prism2_srec -gp wlan0 <path>/pm010102.hex
    iwpriv wlan0 reset 1
    prism2_srec -rp wlan0 path/rf010804.hex
    iwconfig wlan0 mode 2
    cardctl scheme planex

    Where <path> is the path to the firmware.

    Use ifconfig -a and you will see your card interface, now put it up using ifconfig <interface> up and it will works.

    If it’s doesn’t work properly, verify that you have hostap and hostap_cs module loaded (lsmod | grep hostap) and try to plug the card one more time.

    Please bear with me, I need to ask if the above script is put into a certain file such as /etc/pcmcia/wireless or network or?. Thanks.

    Actually this script has to be run manually. But you can modify it to act as an init.d script and / or create an hotplug / hostap config to made it run when you plug your wifi card.

    That is what I have been doing and even though Wlan0 is detected when I plug the card in I can not seem to be able to get it to go on line. After I run the script the light goes on but it will not send just receive. When I go to the lan/wifi icon and try to input my info the light goes out and I can’t get it to go on again without rerunning the script and the same things happen all over again. It may be time to buy another card. Maybe I could donate this one to the cause. The problem with buying another one is that they’re not that easy to find and which one would be better than what I’ve got. I have read some other posts and think I have some ideas. Thanks for all your help.

    Well I thought I would give it one more try and I finally managed to get it to work. What I was doing wrong was that I had not saved a scheme in the lan/wifi setup, once I did that it worked as soon as the script is run. Thanks again for all your help.

     
  • admin 08:31 on 2008-09-09 链接地址 | 回复
    Tags: kernal, poky,   

    第二天的血战Android,又失败了。。 

    早上sd卡的ext3搞定了,晚上从这里开始按照下面手顺开做。

    把Android安装到C1000的方法:
    1.下载gnu-tar, initrd.bin, zImage.bin, updater.sh , android-root.tar.gz 网址(http://www.omegamoon.com/android/akita/前面的文件名)

    2.准备一张SD卡,并且格式化成ext3,作者说这是必要的。

    3.把上面的几个文件考到SD卡上。

    4.OK刷机模式(卸下电池,等5秒,装上电池,插上电源,按住OK键开机.看到日文菜单,选第四个,然后选SD,然后选Yes),遇到的所有选项全都选Y…耐心的等待系统解压。解压后会自动重启。

    5.如果启动不成功,可能是因为Android没有解压到SD上,只能手动解压。
    重启,选择第一项(从机器flash启动),
    解压Android内核及文件系统到SD卡上
    cd /media/card
    tar -xzpf android-root.tar.gz

    6.重启(最好卸下电池等5秒钟),进入选择菜单时选择第三项(从SD卡启动)

    7.用/start启动Android

    8.尽情享受…

    结果报错。。

    modpobe: FATAL: could not load /Lib/modules/2.6.23/modules.dep: No such file or directory
    Note: No init (/sbin/init.sysvinit) found on target
    Note: No boot-images found in /media/card/boot-images
    ERROR: No direct-install or loop-images foud. Nothing to do!

    真是shit~~

    在zaurus系统搜索了一边,发现只有 /home/root/modules/2.4.20/modules.dep,应该是kernal的版本不对。

    再次查阅Omegamoon的手册发现这段文字,

    Then I Flashed a slightly customized Poky kernel with Altboot included.

    真是不爽啊,明天继续。。。。

     
  • admin 19:32 on 2008-09-08 链接地址 | 回复
    Tags: , , DiskGenius, ext3   

    为血战C1000的第二晚做准备 

    昨天在家搞 c1000上跑android。结果卡在第一步,格式化sd卡成ext3,因为家里的机器都是windows,咋也高不成。
    今天找了台linux机器,把我的sd卡弄成了ext3格式。但是只有回家有了电源才能进OK模式,为防止回家之后在windows上查看不了ext3上的数据,搞一个软件,可以查看usb的文件系统格式和ext3上文件浏览功能。

    DiskGenius V3.0.525 Beta2

    ext3格式:linux下

    1. fdisk -l / fdisk -l /dev/sdc 查看你的sd卡

    2. mount/umount 挂载/卸载sd卡

    3. mkfs.ext3 /dev/sdc1 格式化成ext3

    OK模式:C1000上

    1. 拔掉电源,除去电池,等待5秒

    2. 装上电池,插上电源

    3. 按住OK键,同时开机

    4. 进入OK模式

     
    • fangzhou 19:34 on 2008-09-08 链接地址

      DiskGenius V3.0.525 Beta2
      软件说明:
      1. 支持基本的分区建立、删除、隐藏等操作。建立新分区时可指定详细参数;
      2. 支持IDE、SCSI、SATA等各种类型的硬盘。支持U盘、USB硬盘、存储卡(闪存卡);
      3. 支持FAT12、FAT16、FAT32、NTFS文件系统;
      4. 可以快速格式化FAT12、FAT16、FAT32、NTFS分区。格式化时可设定簇大小、支持NTFS文件系统的压缩属性;
      5. 可浏览包括隐藏分区在内的任意分区内的任意文件,包括通过正常方法不能访问的文件。可通过直接读磁盘扇区的方式读取文件、强制删除文件;
      6. 支持盘符的分配及删除;
      7. 支持已删除文件的恢复、分区误格式化后的文件恢复。成功率较高;
      8. 增强的已丢失分区恢复功能,恢复过程中,可即时显示搜索到的分区参数及分区内的文件。搜索完成后,可在不保存分区表的情况下恢复分区内的文件;
      9. 可将整个分区备份到一个镜像文件中,可在必要时(如分区损坏)恢复。支持在Windows运行状态下备份系统盘;
      10. 支持分区复制操作。并提供“全部复制”、“按结构复制”、“按文件复制”等三种复制方式,以满足不同需求;
      11. 支持硬盘复制功能。同样提供与分区复制相同的三种复制方式;
      12. 支持VMWare虚拟硬盘文件(“.vmdk”文件)。打开虚拟硬盘文件后,即可像操作普通硬盘一样操作虚拟硬盘;
      13. 可在不启动VMWare虚拟机的情况下从虚拟硬盘复制文件、恢复虚拟硬盘内的已删除文件(包括格式化后的文件恢复)等。

      DiskGenius V3.0.525 Beta2主要改进

      1、纠正在复制文件时,文件已存在的提示对话框中显示的文件时间不对的BUG。
      2、纠正格式化”.img”映像文件分区并建立DOS系统时,格式化后的”.img”不能启动系统的BUG。
      3、纠正删除FAT分区根目录中的文件时出现异常的BUG。
      4、搜索分区时,增加对扩展分区表的判断,自动加载其内的逻辑分区。

    • fangzhou 21:08 on 2008-09-08 链接地址

  • admin 23:43 on 2008-09-07 链接地址 | 回复
    Tags: , , google,   

    重新启用我的Zaurus C1000 

    在日本购买C1000之后,两年里几乎没有发生太大的作用。最近想重新启用我的Zaurus C1000。

    做些准备工作,先收集一些资料。

     
    • fangzhou 07:50 on 2008-09-08 链接地址

      蛋蛋的,23点46了。居然还卡在第一步,把sd卡格式化成ext3.
      用DiskGenius3.0只能格式化成ext2
      用patition magic,nnd居然根本不显示读卡器的sd卡
      在windows下把sd卡格式化成ext3怎么这么困难呢。。
      明天直接弄个linux机器格式化一下

  • admin 03:07 on 2008-09-05 链接地址 | 回复
    Tags: dreamhost   

    使用Dreamhost一个月后的一些经验和感想 

    我在一个月前购买了Dreamhost的虚拟空间,感觉挺好。

    • 速度还行,之前用lunarpages的空间,那速度慢的一坨一坨的。
    • web控制面板也比较先进,不是普通的cpanel,不知道是不是dreamhost自己开发的,功能多,能覆盖用户大部分需求
    • 使用的帮助文档随处可见,每个功能页面开头都有说明,操作完成后,也有详细后续说明文字
    • 用户在遇到不能解决的问题时,可以通过提交ticket来解决问题。提交的时候需要选择提供的种类,也需要选择要详细的回答,还是建立在用户有一定相关知识基础上的简单明了的回答。使用起来貌似很繁琐,但是仔细想想这样可以减少用户和客服之间的交流回合数。
    • 支持ssh登陆。有了这功能你就可以自己的根目录安装程序,跟踪log(tail -f),解压文件等各种shell功能。

    这里有个窍门,有时你需要安装的软件需要往系统的lib bin等目录写文件,而你没有权限。例如你需要安装一个trac(一个轻量级的任务跟踪管理系统),你可以现在自己的根目录安装一个虚拟的python环境(virtual python),然后在这个虚拟环境中,你就可以安装trac系统了。

    这次我主要想说一下如何给你的Dreamhost账号添加子账号。给好朋友提供空间,或者将自己的富余空间转租给他人的时候就需要创建子账号。创建一个完整的子帐号,你可能需要给你的子用户配置如下几个账号。

    • web控制界面的账号
    1. web账号是一个email,在配置这个账号的时候不需要设置密码,密码会直接发送到你配置的email地址,并在邮件中提示用户,“不要把密码告诉任何人,甚至连提供你空间的人也不要告诉”。就是说子帐号的web账号密码,对你是不可见的。
    2. 创建web账号的时候,可以设定很多权限,比如可以让子帐户拥有,Plan修改权限,某数据库控制权限,某域名的管理权限等你所有的任何权限都可以赋给子帐号。当然如果处于安全考虑,你也可以不给任何权限,那么该子帐号登web panel后几乎不能什么操作。
    • ftp/shell账号

    你可以配置ftp sftp shell的账号

    1. 如果该账号被赋予ftp或者sftp权限,那么用户可以用该ftp账号,上传文件到子帐号的根目录
    2. 如果有shell权限,那么用户就可以登陆ssh,但是他进入的是子帐号的根目录,没有权限访问主账号的目录
    • 数据库账号
    1. 创建一个数据库包括 数据库名,用户名和密码
    2. 用户可以通过mysql.yourdomain.com来访问phpadmin,来管理子帐号的数据库

    一般来说,子帐号的推荐配置如下:

    • web控制界面的账号

    这个账号是可有可没有,如果你想赋予子帐号一些特别的管理权限,可以为其创建web账号

    • ftp/shell账号

    这个账号你可以选择给其赋予ftp权限和shell权限,如果仅是安装一些网上流行的网站程序,如discuz,wordpress等,可以不需要shell权限。如果用户是有一定基础,需要进行一些系统配置和开发的话,可以为其添加上shell权限。

    • 数据库账号

    这个账号一般来说是需要的,如果用户只需要放一些静态文件,那就可以省去这个账号

    • 注意点

    在绑定用户域名的时候,需要把域名的目录设置到ftp/shell账号下,不然,用户上传的文件将无法通过域名访问。

     
c
写新的
j
下一篇文章/下一个回复
k
前一篇文章/以前的回复
r
回复
e
编辑
o
显示/隐藏 回复
t
回到顶部
l
go to login
h
show/hide help
shift + esc
取消