blogjava-凯发k8网页登录

blogjava-凯发k8网页登录http://www.blogjava.net/zkjbeyond/原创专栏 开源学习zh-cnsat, 08 apr 2023 22:22:38 gmtsat, 08 apr 2023 22:22:38 gmt60说说arcgisserver9.2http://www.blogjava.net/zkjbeyond/archive/2006/11/17/81869.html原创专栏 开源学习原创专栏 开源学习fri, 17 nov 2006 15:06:00 gmthttp://www.blogjava.net/zkjbeyond/archive/2006/11/17/81869.htmlhttp://www.blogjava.net/zkjbeyond/comments/81869.htmlhttp://www.blogjava.net/zkjbeyond/archive/2006/11/17/81869.html#feedback14http://www.blogjava.net/zkjbeyond/comments/commentrss/81869.htmlhttp://www.blogjava.net/zkjbeyond/services/trackbacks/81869.html没时间参加大会,下载了文档看了看。

很是失望!随便说几条

一、arcgis server的进一步推广

自从9.0推出arcgis server我就感觉不妙。那时rob的  在国内正是火热,关于类似ejb的远程调用组件模型都值得我们思考。但esri却把宝压在这上面。

不但进一步完善com恶心的组件模型,还通过java-com桥,.net对com的向下兼容,整合出了arcgis server。

增加的开发难度一会在说。”循证框架“的选择权利也不给我们了吗?sde/soc/som/webserver 我都装在一台机器上,还是远程访问,够郁闷。系统/平台的分层不一定都要物理分离吧! 

二、关于开发平台和操作系统平台

     .net/j2ee 的比较会带来太多的争论。具我了解esri对于java/.net开发是两个项目组。所以公司的侧重,开发的难易程度很是明显。当然底层组件的开发更重要。

      据悉esri gis软件最早是在unix系统下运行。不知道什么时候靠拢到window了。估计ms资组esri了 。就arcgis server 最先发布的是window平台下的。然后才是linux/solaris。。。别的不敢说,arcims9.1在 window/solaris/ibm aix的表现相差很多。当然是window支持的最好。

    虽然我喜欢.net的简单、开发效率。但我更相信大的企业应用是unix的天下。也就是j2ee是首选。arcgis server /arcims虽然官方支持多了平台,但是让我选择的话,为了让自己能睡着觉,我会先给客户选择window 2003。真是悲哀,客户花100万买的ibm p570/aix 居然让在那躺的睡觉。

     esri的做法让我很是不爽。

三、esri烦乱的产品线

    作为gis界”老大“,让人琢磨不透的复杂的产品线,让国内gis行业不能很好的发展,把门槛提的这么老高,到底是为了多卖点钱,随意分割产品呢?还是要故作深沉呢? 首推arc engine,卖老贵,还没什么东西还有gis portal/adf/webservice支持....什么gs玩意?把gis这部分做好就让人满意了,还老跟着it潮流,可怜我们这帮gis程序员。

可能这也不能怪美国老,可能他们用的不错,但esri中国也给我们过滤一下啊。

四、技术选择

 esri是个没有创新的公司,只能跟着规范走的弱弱。

1、应用iframe/frame无刷新的提交数据是什么时候提出了,可能这方面arcims 的htmlview算早了吧!看看现在的ajax,官方文档只在9.2里出现过。但ajax还没出现,无刷新的技术当在javaeye讨论的时候,我这个新手就早在htmlview见识过。我想表达的是 为什么在我接触的arcims3.0/4.0/9.0 htmlview模板 丝毫没有变化过。这么好的思想n年都没有进步,还有模板例子中那些恶心,难懂的javascript代码?

 2、顺着ajax说下去。jsf/asp.net 这类 mvc框架天生不适合ajax的应用,而webgis天生就是ajax应用。 为什么选择这么恶心的官方标准。随便搜索一下ms ajax

 人家ms用ajax有atlas,

  sun也不在jsf上搞ajax。 顺便在这推荐一下 dojo 。

esri不能这样落伍了,为什么jsf还没有正式发布的时候,你的arcgis server adf for java 就选择的jsf。为什么那时不关注一下ms的atlas。 而还要自己写那些恶心的javascript代码, 用服务器端语言封装javascript。 我们是跟着你走,你跟这 sun/ms 走。

难道不知道 sun 提出规范/标准基本都是吗?强烈建议大家看 without ejb。

不知道跟ms合作的公司一般都会倒闭吗?

五、谁能给我解释ao如何在浏览器调用?

题目有些问题。

arcgis server 最想解决的问题是 让ao对象可以用浏览器调用。而不是象在arcims中,都是通过人可以识别的xml来描述。而是通过远程对象访问。

 到底是二进制远程对象访问好呢?还是象webservice 的xml协议好?我没能力说,但就开发难度,”性能“来说,arcims比arcgis server强很多。

所以arcims能解决的问题,没必要arcgis server。小道消息,arcims还有两年的生命力。

 关于arcgis server能实现的功能我们很想与人讨论。谁有兴趣可留言。

 我们可以从这个角度考虑。 arcmap是ao的实现。试问你arcmap的功能用了多少?没多少吧!因为很多人认为mapinfo比arcmap好用多了。 ao庞大的类库你熟悉吗?谁敢说熟悉,赶快通知我,我去拜师!

既然在桌面环境下,我们也没用ao的多少功能。更不用说我们二次开发商的客户了。所以我说:把ao搬到服务器端意义不大。

当然不是没意义,就象without ejb中说的。我们并不是在j2ee中不用ejb,但至少90%的j2ee项目不需要ejb,但我们却用了。

我现在就怕,arcgis server的宣传把国内那些所谓的“方案撰写者”迷失了。

前天和一朋友聊天,他说arcgis server可以实现严谨的浏览器采集(可能只拓扑关系,图形校验等)。但浏览器上的绘图限制已经让ao数据编辑没什么意义了。还是用arcsde for java api.(不知道.net用户怎么办,用c的api?)

六、后记

一气呵成,大家看着开心一下就好。



原创专栏 开源学习 2006-11-17 23:06
]]>
说说关于ajax的书籍http://www.blogjava.net/zkjbeyond/archive/2006/07/03/56224.html原创专栏 开源学习原创专栏 开源学习sun, 02 jul 2006 17:12:00 gmthttp://www.blogjava.net/zkjbeyond/archive/2006/07/03/56224.htmlhttp://www.blogjava.net/zkjbeyond/comments/56224.htmlhttp://www.blogjava.net/zkjbeyond/archive/2006/07/03/56224.html#feedback12http://www.blogjava.net/zkjbeyond/comments/commentrss/56224.htmlhttp://www.blogjava.net/zkjbeyond/services/trackbacks/56224.html 图书大厦躺着的就这几本.我就枉自评评.排名由烂到优!

1 ajax开发精要——概念、案例与框架  
看过作者写的,知道作者也下了不少功夫学习ajax.在网上发表,还挺感激你的,印成书买就得说两句了.
   首先我先声名,我只看了你书的目录就没兴趣看下去了.《ajax开发简略》倒是看过.我猜测作者在听说ajax这个名词前对 javascript,css,dom甚至web开发经验也不多.整书好像在解释a j a x的概念一样,完全没有深度.书中涉及xml, javascript,css,html.....基本概念的解释,sorry,不是解释,而是作者对它们的理解.
   更有趣的是,作者在   第11章  开源ajax框架 中举的例子,暴露作者根本没有对ajax有彻底的认识.
   文中举的例子到是浅显易懂.很适合初学者.
 
   推荐指数:  1星.
   推荐理由:  如果你是web开发入门者,可以试试这本书,可以与作者共同进步.

2 征服系列e书.
征服ajax——web 2.0开发技术详解
征服ajax——web 2.0快速入门与项目实践(java)
征服ajax——web 2.0快速入门与项目实践(.net)
征服ajax lucene——构建搜索引擎  

  一进门,看到醒目的征服系列图书.封面够恶心的.据说是几个老师写的书.一个ajax技术,拆成四本书来讲.明显要渣我们劳动人民的血汗钱.
  书中几乎没有亮点,抱歉我连目录也没看完.为了图书的厚度,对些基本的知识不厌其烦的叙述,牢牢叨叨.难道我不知道javascript语言吗?我不知道表单吗?我要学的是ajax新的思想,摆脱抓住中心思想好好不好啊.
  本来对  征服ajax lucene——构建搜索引擎   还有点兴趣,可是絮烦的基础知识介绍让我打消的买书的念头.

   推荐指数:  1星半.
   推荐理由:  如果这四本书可以修订成一本的话,我相信还是不错的.

3  ajax hacks (英文影印版)  

   如果你想重构你的现有网站或系统的话,你可以看看这本书.本书试图对ajax应用做全面介绍,不能算纯技术书籍.书中也叙述了几种ajax的框架,也讲到开发ajax程序时遇到的些问题及解决方法.
  比较有深度的也就最后一章  chapter 9. options and effiencies
 
  由于偶英文较差,也是扫了一遍.不感枉加评论.

   推荐指数:  2星半.
   推荐理由:  可以比较全面的了解ajax能解决现在网站中的哪些问题.其实这本书不建议大家买,可以先看看目录,相信你会很清楚它要讲什么的.然后到书店看看相关内容得了.
 

4 ajax基础教程  

   ajax入门推荐书籍.书中讲解了ajax出现得背景,相关得技术.最有价值得是书中   第5章  构建完备的ajax开发工具箱  第6章  使用jsunit测试javascript代码  第7章  分析javascript调试工具和技术 这三章花25块钱也值了.
   该书定位很准,对高级知识没有讲解,只为入门.

   推荐指数:  4星.
   推荐理由: 绝对最好的入门书籍,尤其是把最先进的ajax开发方式介绍给大家.

5 ajax 修炼之道-web 2.0 入门  

  原书作者是ajaxian.com的创始人,javaone、theserverside等诸多高级别会议的演讲者。该书更像ajaxian.com的一 个总结.书中涉及内容很多,组织也比较凌乱.无疑ajaxian.com是ajax领域数的上的几个站点之一,或者叫blog合适点.该书也有这方面特 点,有些娱乐元素,目的并不是给开发人员讲解技术.而是告诉我们ajax可以干什么.
  我觉得把ajax的杂志来看不错.

   推荐指数:  4星.
   推荐理由: 当成床头杂志来看应该不错.能够比较全面得到ajax的相关知识.如果你已经关注ajaxian.com很久了,那这本书就算了. ajaxcn.org 的新闻很多来自这里.

6 ajax实战(ajax in action中文版)

   我只买了这本书,是一个月前.值的买.因为看好多次才能完全明白书中的思想.
   这本书我会写个读书笔记的.

   推荐指数:  4星半.
   推荐理由: 满分5星.可惜这本书起点太高了.

原创专栏 开源学习 2006-07-03 01:12
]]>
研究研究yuihttp://www.blogjava.net/zkjbeyond/archive/2006/06/21/54322.html原创专栏 开源学习原创专栏 开源学习wed, 21 jun 2006 09:44:00 gmthttp://www.blogjava.net/zkjbeyond/archive/2006/06/21/54322.htmlhttp://www.blogjava.net/zkjbeyond/comments/54322.htmlhttp://www.blogjava.net/zkjbeyond/archive/2006/06/21/54322.html#feedback3http://www.blogjava.net/zkjbeyond/comments/commentrss/54322.htmlhttp://www.blogjava.net/zkjbeyond/services/trackbacks/54322.html
例子中用javascript弄了个简单的aop实现  

原创专栏 开源学习 2006-06-21 17:44
]]>
这段时间对ajax的感想http://www.blogjava.net/zkjbeyond/archive/2006/06/18/53589.html原创专栏 开源学习原创专栏 开源学习sun, 18 jun 2006 04:58:00 gmthttp://www.blogjava.net/zkjbeyond/archive/2006/06/18/53589.htmlhttp://www.blogjava.net/zkjbeyond/comments/53589.htmlhttp://www.blogjava.net/zkjbeyond/archive/2006/06/18/53589.html#feedback9http://www.blogjava.net/zkjbeyond/comments/commentrss/53589.htmlhttp://www.blogjava.net/zkjbeyond/services/trackbacks/53589.html阅读全文

原创专栏 开源学习 2006-06-18 12:58
]]>
再说说prototype.js的事件注册http://www.blogjava.net/zkjbeyond/archive/2006/06/12/52083.html原创专栏 开源学习原创专栏 开源学习sun, 11 jun 2006 18:12:00 gmthttp://www.blogjava.net/zkjbeyond/archive/2006/06/12/52083.htmlhttp://www.blogjava.net/zkjbeyond/comments/52083.htmlhttp://www.blogjava.net/zkjbeyond/archive/2006/06/12/52083.html#feedback6http://www.blogjava.net/zkjbeyond/comments/commentrss/52083.htmlhttp://www.blogjava.net/zkjbeyond/services/trackbacks/52083.html关于prototype.js中 bind函数的问题 和 拖拉层代码的建议

  

原创专栏 开源学习 2006-06-12 02:12
]]>
写给gis程序员http://www.blogjava.net/zkjbeyond/archive/2006/06/08/51399.html原创专栏 开源学习原创专栏 开源学习thu, 08 jun 2006 08:52:00 gmthttp://www.blogjava.net/zkjbeyond/archive/2006/06/08/51399.htmlhttp://www.blogjava.net/zkjbeyond/comments/51399.htmlhttp://www.blogjava.net/zkjbeyond/archive/2006/06/08/51399.html#feedback27http://www.blogjava.net/zkjbeyond/comments/commentrss/51399.htmlhttp://www.blogjava.net/zkjbeyond/services/trackbacks/51399.html 一 写在前面的话
  首先我就是gis程序员,也在迷惘,希望大家指点。
 
  作为某大学地理系本科专业毕业学生,我庆幸没继续"生造"考研.在gis,it行业编程混几年,唯一感受是程序员不是人干的活,gis程序员不是正常人干的活..难啊!
  可能以下言语中太多个人色彩,很多内容也是猜想,查证对我没什么意义.但目的是让搞gis的技术人员能走好.
  想拍就拍吧
 
二 国内gis行业状况
  几近被高校,研究部门,政府垄断的行业.先提个醒,如果你已经在这个行业混了,跳潮前千万慎重,很容易踩雷的,炸你个几年缓不过气来.
  中国gis行业的发展还是要感谢这些老前辈的,尤其是几个国产gis软件,争光不少(可惜偶一个也没有用过).不过,感觉它们的优势也在逐渐减少,可能是 产品发展跟不上用户需求,可能是技术创新完全来自"抄袭"过外软件,最大问题可能是它们核心技术的close,核心技术人员的太过稳定限制的发展.当然在 如此透明,高速发展的it行业里,凭些老教授和在它们体系下培养的理论博士生,发展也是很艰难的.
  举几个例子,国产linix,还有什么wps....,可能中国整个it也都有这种问题.
  可能你就是从这些机构"生造"出来的一员,想想你硕士,博士干了些什么.

  我在一级***上发表了n篇论文;
  我对***软件了如指掌;
  我开发了某国产gis软件的**模块;

,你仔细想想吧,可能也就是你帮着导师发了篇文章;你也只会使用使某某软件,如果你能掌握核心技术,那你不可能离开培养你的机构的,咋们的软件可以自主产权的,别出去泄露了;你可能参与的某gis软件的开发,但你每界的师兄弟都和你一样,帮着导师积累了下产品.
惨点的ggmm也就每天搞些数字化,整理整理数据混个文凭.我不知道你们毕业了都去干吗?
 
三 你能去哪就业
  没有调查,我也发发言.
  政府事业单位:不到博士你休想,没有关系休想,没有嘴皮子休想,不懂特有的仕途国情休想,休想......,
  留校,继续深造:如果你你是这种人,你不会看到这了.两字: 难啊!
  出国:看你和导师关系,以及你导师的高度了.几率很小啊.
  转行:我把这里被的行业特指与it相关的.恭喜你,有先见之明啊!
  去搞gis的公司:,欢迎加入.希望我们未来美好.
 
四 你懂编程吗
  如果你和我一样来到搞gis的公司.那你只能从coder做起.在这我不是贬低coder,是怕你贬低.可能你会说,我可以做售前,可以做销售,可以做数 据.从gis公司结构上来看,这些职位你可能不符合,你受的教育,你的知识结构限制你去做销售,而售前你贫乏的行业知识决定你需要重新认识一门行业,而这 些行业如水利,森林,土地,房产....都是政府部门,及其复杂.做数据的给不了你几个钱.
  如果你是博士毕业,你也愿意来公司发展.那可能会给你项目经理之类的职位,但你很快就会发现,现实会让你失望的.你的位置会很尴尬,你对it的了解,决定 你底下的人会很不服你,领导会觉得你技术不行.试问你懂j2ee,.net吗?你能写出象样的设计文档吗?不会写代码的上司你好受吗?你在公司发展空间大 吗?.....可能这类人不多!
  (请允许我没做全面调查而做以下发言,我只是让大家更好发展)
  看到这的估计就是那些以coder身份来到公司的.回到标题,你懂编程吗?以上是我常见的几类gis程序员。

  擅长使用各种数据处理软件,略懂vb或vc.
  用vb/vc用mo,mapx等控件开发个小软件。
  熟悉tab,mif,shape...数据结构,能做数据转换。
  能用asp用arcims,mapxtreme模板开发个小webgis.
  能用asp.net基于arcims,mapxtreme,super is开发webgis.
 
  可能是常见的几种gis程序员,他们的代码我也看过一些。都有一个特点。如:他们学习vb是从mo或mapx提供的例子开始的,真正vb,vc他们根本不 是很熟悉。如果好点,能用asp开发webgis,但也是在vb基础上开始接触web的。可能自己努力点,会接触.net,j2ee,但无论那样。都是为了gis而学习一门语言的。
  引出我的主题:
  我们gis程序员的编程能力,与计算机科班出生的人,各方面都有差距。
  因为你的编程能力差,可能在某个职位竞争时,你会输给不懂gis的程序员。
  如果公司给我分配两个程序员,我会要编程能力好的,而懂不懂gis无所谓。
  我们公司技术总监也是这个态度。
  一个gis公司的部门经理也亲口对我说了这个事实,他们部门很少懂gis的人。
  让个懂编程的人熟悉gis软件很容易。但让懂gis的人提高编程水平很难。

五 我们该怎么办
  现在我也感觉到gis程序员很尴尬。国内gis行业的不景气,新的地图形式(google maps mapbar,mapabc...)与传统gis的竞争,国内教育机构培养的gis专业人员与it行业的脱节......
  还好,现在行业对既懂gis,编程能力水平不错的专业人员需求很大,而且都是一定的职位。
 
  所以我们最既紧要的事是提高自己计算机能力,主动学习新的技术,而不是被动的跟的gis软件的支持学习新技术。
 
六 技术方向
  1 gis数据,gis分析是大数据量,大运算的操作。web,webservice的发展弱化了桌面gis的应用。对于跨平台的java语言,对gis来说,无疑是现阶段最佳的编程语言。
  2 ajax技术。现在真火的技术。google在这无疑走在前面,google maps更对gis行业影响巨大。传统webgis的开发更需要ajax对用户交互来次创新。 arcims模板(javascript),arcgis server(jsf)都做了些尝试。无疑ajax是最合适的。
  3 python.如果你有vb,vc基础。python脚本语言你该关注了。arcgis好多模块改用python实现的。


以上都是我个人的一些感想,由于水平有限,希望批评,共同提高。


 


原创专栏 开源学习 2006-06-08 16:52
]]>
跟我再深入啃啃prototype.jshttp://www.blogjava.net/zkjbeyond/archive/2006/05/25/48069.html原创专栏 开源学习原创专栏 开源学习thu, 25 may 2006 08:45:00 gmthttp://www.blogjava.net/zkjbeyond/archive/2006/05/25/48069.htmlhttp://www.blogjava.net/zkjbeyond/comments/48069.htmlhttp://www.blogjava.net/zkjbeyond/archive/2006/05/25/48069.html#feedback11http://www.blogjava.net/zkjbeyond/comments/commentrss/48069.htmlhttp://www.blogjava.net/zkjbeyond/services/trackbacks/48069.html 以下有些观点有些偏激.关于事件注册的相关模式我相信会很快出现的,偶正在研究中.

1、关于javascript的apply和call函数

prototype.js中用了大量的apply和call函数,不注意会造成理解偏差。
官方解释:应用某一对象的一个方法,用另一个对象替换当前对象。
apply与call的区别是第二个参数不同。apply是  数组或者arguments 对象。而call是逗号隔开的任何类型。

apply,call方法最让人混淆的地方也是apply,call的特色。但最好不要滥用。
能改变调用函数的对象。如下例,函数中用到this关键字,这时候this代表的是apply,call函数的第一个参数。



2、关于闭包
prototype.js在class.create,bind等中用到javascript的闭包特色。但整体上prototype.js对于强大的闭包特性用的不多。大家可以参阅我翻译的。
3、让我比较反感的两个方法
(1)
var class = {
  create: function() {
    return function() {
      this.initialize.apply(this, arguments);
    }
  }
}
很讨厌用别的语言的风格来写javascript。用这个方法构造自定义类  并没有觉得有多方便,减少代码行数,只会让人难理解,多定义一个initialize方法。
其实讨厌这条有些牵强,不过修改object的原型对象就有点过分了。
(2)object.prototype.extend
  先不过你取个extend的名字会让熟悉java的人引起的歧义。修改object的prototype就说不过去了。不知道作者是怎么考虑的。当你for in循环对象是,麻烦就来了。可能有人会问你for in干吗。 我一个项目中既用了dwr,也用了prototype.js,dwr返回的javascript对象都多了个exetend属性,还得特殊处理。
  以前我比较过,现在我明白个道理。对于javascript这种没有静态类型检查,语法宽松的语言来讲,如果你选择了某个js类库,那你也必须适应作者写javascript的风格。prototype.js的作者对extend的使用炉火纯青,如果我们不当它只是个属性拷贝的函数的话,多读读prototype.js的代码是好的。
4、关于函数的绑定
  类库提供了function.prototype.bind  function.prototype.bindaseventlistener两个方法。首先我们从概念上解释一个这两个方法。
任何一个函数都可以调用这两个方法;参数的是javascript对象或网页上元素对象;返回类型是个函数对象。
本来我就是个函数,返回还是函数,到这两个函数有什么不同呢。看实现代码,关键还是apply\call函数的代码。其实这里只是转化了一下方法调用的对象。


test

这是 上举的例子,个人感觉没什么意思,反而让我对bind,bindaseventlistener有些反感。(javascript就是这样,明明大家都知道的语法,但写出来的代码差别确很大)
看下面代码:


test

从上面代码可以看出bind/bindaseventlistener只是包装了一下apply/call方法,改变方法的调用对象。如例子,你可以把obj.getname方法转化成任何对象调用,并且把方法让表单元素触发。(bind和bindaseventlistener之间只是返回函数的参数不同)
这两个方法也可以用在对象之间的方法重用,实现类似继承方法的概念。看以下代码,其实是比较无聊的。



我从来没读过prototype.js的扩展项目代码,也不知道bind..的最佳实践,一起挖掘吧。但你绝对不要把bind/bindaseventlistener从绑定的词义上来理解,可能会让你更加迷惑。从apply/call理解本质。应用某一对象的一个方法,用另一个对象替换当前对象。

5、关于事件的注册


test

执行上面代码,你就能明白event.observe与bind/bindaseventlistener之间的区别:
(1) 显然event.observe有限制,只能处理简单的函数,并函数中不能有this之类的东西。
(2)event.observe内部用到addeventlistener/attachevent。能把多个函数加到一个触发事件(window.onload)。bind是覆盖。

6、关于事件监听最佳实践
很显然prototype.js提供的事件注册方法不是很完善。那看看dojo的时间注册吧(),更加复杂,估计很多人像我一样,对于dojo暂时持观望态度。
如果你看过的前篇关于闭包的介绍,可能见过以下代码。
看以下代码前我想表述一个观点,任何网页中元素,浏览器都会为你创建一个对象()。(我觉得)这些对象与你建立javascript对象区别是它们有事件监听,会响应鼠标键盘的事件。如果你用了以下代码,那么把事件监听代码很好的转化到你的javascript代码中。

function associateobjwithevent(obj, methodname){
    return (function(e){
        e = e||window.event;
        return obj[methodname](e, this);
    });
}
function dhtmlobject(elementid){
    var el = getelementwithid(elementid);
    if(el){
        el.onclick = associateobjwithevent(this, "doonclick");
        el.onmouseover = associateobjwithevent(this, "domouseover");
        el.onmouseout = associateobjwithevent(this, "domouseout");
    }
}
dhtmlobject.prototype.doonclick = function(event, element){
    ... // doonclick method body.
}
dhtmlobject.prototype.domouseover = function(event, element){
    ... // domouseover method body.
}
dhtmlobject.prototype.domouseout = function(event, element){
    ... // domouseout method body.
}

有时间我想用以上思想实现一个网页浮动框拖拉的代码(其实已经有很多了),待续........

 

 

引用:ajaxcn.org 链接。谢谢dlee
 



原创专栏 开源学习 2006-05-25 16:45
]]>
dojo学习资源,不定期更新http://www.blogjava.net/zkjbeyond/archive/2006/05/24/47796.html原创专栏 开源学习原创专栏 开源学习wed, 24 may 2006 05:19:00 gmthttp://www.blogjava.net/zkjbeyond/archive/2006/05/24/47796.htmlhttp://www.blogjava.net/zkjbeyond/comments/47796.htmlhttp://www.blogjava.net/zkjbeyond/archive/2006/05/24/47796.html#feedback0http://www.blogjava.net/zkjbeyond/comments/commentrss/47796.htmlhttp://www.blogjava.net/zkjbeyond/services/trackbacks/47796.htmlhttp://ajaxian.com/archives/the-dojo-toolkit-in-practice
是篇论文,文中用dojo实现了类似msn portal的界面.有例子代码参考.



没跟上maillist讨论了可以来这翻翻老贴。

原创专栏 开源学习 2006-05-24 13:19
]]>
闭包(续)http://www.blogjava.net/zkjbeyond/archive/2006/05/23/47725.html原创专栏 开源学习原创专栏 开源学习tue, 23 may 2006 15:51:00 gmthttp://www.blogjava.net/zkjbeyond/archive/2006/05/23/47725.htmlhttp://www.blogjava.net/zkjbeyond/comments/47725.htmlhttp://www.blogjava.net/zkjbeyond/archive/2006/05/23/47725.html#feedback4http://www.blogjava.net/zkjbeyond/comments/commentrss/47725.htmlhttp://www.blogjava.net/zkjbeyond/services/trackbacks/47725.html
如果你懂javascript,而你不了解javascript的闭包。
那你将错过javascript最强大特性之一(闭包)。  

原创专栏 开源学习 2006-05-23 23:51
]]>
javascript语言中的闭包http://www.blogjava.net/zkjbeyond/archive/2006/05/19/47025.html原创专栏 开源学习原创专栏 开源学习fri, 19 may 2006 03:46:00 gmthttp://www.blogjava.net/zkjbeyond/archive/2006/05/19/47025.htmlhttp://www.blogjava.net/zkjbeyond/comments/47025.htmlhttp://www.blogjava.net/zkjbeyond/archive/2006/05/19/47025.html#feedback16http://www.blogjava.net/zkjbeyond/comments/commentrss/47025.htmlhttp://www.blogjava.net/zkjbeyond/services/trackbacks/47025.html
groove,python,perl这些高级脚本语言都有闭包概念。不懂这些语言的可能没机会理解闭包了。
幸运的是大家都熟悉javascript,那么从javascript开始闭包认识吧。
感觉闭包是高级的,但也是晦涩的。

本文译自
http://jibbering.com/faq/faq_notes/closures.html
  

原创专栏 开源学习 2006-05-19 11:46
]]>
arcims结构分析http://www.blogjava.net/zkjbeyond/archive/2006/05/12/45872.html原创专栏 开源学习原创专栏 开源学习fri, 12 may 2006 09:07:00 gmthttp://www.blogjava.net/zkjbeyond/archive/2006/05/12/45872.htmlhttp://www.blogjava.net/zkjbeyond/comments/45872.htmlhttp://www.blogjava.net/zkjbeyond/archive/2006/05/12/45872.html#feedback9http://www.blogjava.net/zkjbeyond/comments/commentrss/45872.htmlhttp://www.blogjava.net/zkjbeyond/services/trackbacks/45872.html 1、 arcims的体系结构 
 arcimstijiagou.jpg
   当你安装完arcims软件以后,已经包括了上图中的arcims应用服务器,arcims空间服务器两个中间件。当然还有monitor, tasker;工具软件admin,author;各种连接器servlet,javaconnector的代码等。
   大家可以看到,arcxml在应用服务器和空间服务器之间传递。所以空间服务器是这些中间件中压力最大的。
   表现层:html,applet,ocx控件。也可以是c/s的任何桌面程序。
   业务逻辑层:arcims的应用服务器和空间服务器是arcims软件自带的。
arcims 的servlet连接器必须与web服务器(iis,tomcat…)绑定。而javaconnector支持http,tcp-ip等多种协议。可选择 的与web服务器绑定,但ims的admin软件必须有web服务器才能运行,另外arcims中的图片也是个url,也需要web服务器。所以web服 务器是各种连接器的容器。
   数据存储层:arcims支持的文件,或arcsde空间数据引擎等。

arcims应用服务器:管理虚拟服务器,地图服务(admin配置的),连接器请求线程管理等。连接器调用它,它在调用空间服务器。一个应用服务器可以连接多个空间服务器。
arcims 空间服务器:把矢量书生成图片,或做空间分析,查询等。arcims的核心。还好我们不要关注具体算法等。开源gis,mapxtreme,super map等也就这部分没arcims强。但空间服务器与别的组件的协议是arcxml。虽然arcxml规范比较全面,但这个高度的松散偶合也给 arcims的复杂开发带来些局限性。以后我会提到。
2、 arcxml的重要性
因为搞编程的人不是地理学专家、矢量数据结构专家、图象技术专家。至少不能共同关注这好些技术。所以arcxml规范的定义是极其重要的。也可以让外行人开发专业的程序。这叫好比vml.svg标签语言一样,如果你不懂数学算法,不可能画一个椭圆。
    以前我也说过,如果你掌握了arcxml,那你就基本知道arcims能做什么,能实现什么功能。至于做的好坏,那看你的行业知识、编程能力了。
3、 introduction to arcxml
上面说了一堆废话,现在看看arcxml到底是什么。
arcxml 是为了与arcims空间服务器通信而定义的协议。而arcims空间服务器是arcims的核心,它把地图和数据打包成适当的格式,发送到它的客户端 (arcims应用服务器)。要懂arcxml,首先必须知道怎么样配置文件,建立arcims服务,请求和响应,以及怎么与空间服务器结合。
 
1、 建立一个axl为扩展名的配置文件。(xml格式)
2、 用 arcims administrator 建立并启动 arcims service
3、 接受请求
4、 响应请求
intro_1.gif
4、 arcims核心(arcims spatial)
  arcims 空间服务器是arcims的核心。arcims软件也可以分布式部署arcims spatial.关于详细部署可以看arcims安装文档。有时间我写篇专门讲讲。如果是正版软件,你可以让esri公司来干这个事。
arcimsxnyx.jpg
(1) 传输时间:接器的选择会影响
(2) 排队时间:以多建立虚拟服务器来解决。
(3) 渲染时间:比较费事,可以分布式部署空间服务器来解决)
(4) 查询时间:数据库调优,arcsde调优。(有时间再讨论)
5、 servletconnector与javaconnector的区别



以前文章我也简单说了说。

用图表来分析。
servletconnector:
 servlet.jpg
上 图表示了servlet连接器的结构。注意,用这种连接器,把从arcims返回的arcxml直接传递给了浏览器,浏览器用字符串拆分技术或dom技术 来解析这个复杂的xml串。(还好htmlview的模板提供了这些代码,不过用javascript拆分字符串,没用dom标准)
    每次请求的arcxml字符串是很大的,arcxml包含的有些信息对用户是没用的,所以在web服务器与浏览器之间,浪费了许多带宽,对于二次开发人员,难度也加大不少。
javaconnector:
 javaconnector.jpg
使用javascnnector ,浏览器与web服务器之间传输的协议由二次开发人员定义,这可能会加大编程难度,但随着ajax技术的成熟,开源框架dwr,json等的完善,这部分工作会越来越简单。
但javaconnector 引来一个问题,它的map java对象不是线程安全的,而这个对象的初始化比较费时间。它和jdbc中的数据库连接差不多。针对这个对象写了个map池,从我们项目运行的情况看, 效果还不错。如果用javaconnector,对java编程需要一定的基础。
6、 业务的复杂度决定我们应该用哪种连接器
如 果你只是想简单的发布地图,htmlview就可以满足你的需求。如果有复杂的业务,gisporal定制,权限管理,那你用htmlview会让你面临 灾难。我选择javaconnector. using_activex_connector, using_netlink也有文档。 但你要做大型,高性能的webgis,j2ee必定是受选,unix,arcims在j2ee的积累,arcims很多程序使用java实现的。(另外 arcinfo最早是在unix命令行形式运行的)。
a、 java语言比javascript高级多了。htmlview大多数用javascritp实现。
b、 跨浏览器的支持。噩梦吧。
c、 ajax技术的成熟,客户端与服务器端交互容易多了。
d、 webgis无刷新更新数据是必须的,那必须下载足够多的数据。安全性是个问题。
e、 权限判断,业务定制等用javascript实现简直是噩梦。
   
7、 webgis开发人员的感想
开 发webgis系统,对程序员的要求太高了,可是工资水平一直很低,行业极其不成熟,国内也没什么发展前途,让我好多次有想法转行专门做j2ee去,但还 是坚持下来了。国内这帮搞gis的都是学院派出生,相对编程能力,计算机应用水平比较差,对it行业市场把握能力也较差,被别人抢的先机。现在以 google牵头各大搜索引擎都提供的 地图服务,另外国内 edushi等又有一批仿三维的地图服务出现,让我看到一思希望。做传统gis 的公司该收复失地的,毕竟我们是有优势的。


参考:

arcims性能优化和调整  许晓辉



原创专栏 开源学习 2006-05-12 17:07
]]>
prototype.js dojo 中 javascript继承实现http://www.blogjava.net/zkjbeyond/archive/2006/05/08/45108.html原创专栏 开源学习原创专栏 开源学习mon, 08 may 2006 15:13:00 gmthttp://www.blogjava.net/zkjbeyond/archive/2006/05/08/45108.htmlhttp://www.blogjava.net/zkjbeyond/comments/45108.htmlhttp://www.blogjava.net/zkjbeyond/archive/2006/05/08/45108.html#feedback7http://www.blogjava.net/zkjbeyond/comments/commentrss/45108.htmlhttp://www.blogjava.net/zkjbeyond/services/trackbacks/45108.html
根据 prototpe.js 和 dojo 相关的继承实现说说我的观点.  

原创专栏 开源学习 2006-05-08 23:13
]]>
从百草园到三味书屋http://www.blogjava.net/zkjbeyond/archive/2006/05/08/45083.html原创专栏 开源学习原创专栏 开源学习mon, 08 may 2006 12:36:00 gmthttp://www.blogjava.net/zkjbeyond/archive/2006/05/08/45083.htmlhttp://www.blogjava.net/zkjbeyond/comments/45083.htmlhttp://www.blogjava.net/zkjbeyond/archive/2006/05/08/45083.html#feedback4http://www.blogjava.net/zkjbeyond/comments/commentrss/45083.htmlhttp://www.blogjava.net/zkjbeyond/services/trackbacks/45083.html,钩起更多的回忆.
  

原创专栏 开源学习 2006-05-08 20:36
]]>
dojo的包加载机制http://www.blogjava.net/zkjbeyond/archive/2006/05/05/44676.html原创专栏 开源学习原创专栏 开源学习fri, 05 may 2006 13:44:00 gmthttp://www.blogjava.net/zkjbeyond/archive/2006/05/05/44676.htmlhttp://www.blogjava.net/zkjbeyond/comments/44676.htmlhttp://www.blogjava.net/zkjbeyond/archive/2006/05/05/44676.html#feedback22http://www.blogjava.net/zkjbeyond/comments/commentrss/44676.htmlhttp://www.blogjava.net/zkjbeyond/services/trackbacks/44676.html有可运行例子提供!  

原创专栏 开源学习 2006-05-05 21:44
]]>
what is dojo?http://www.blogjava.net/zkjbeyond/archive/2006/05/05/44588.html原创专栏 开源学习原创专栏 开源学习fri, 05 may 2006 02:07:00 gmthttp://www.blogjava.net/zkjbeyond/archive/2006/05/05/44588.htmlhttp://www.blogjava.net/zkjbeyond/comments/44588.htmlhttp://www.blogjava.net/zkjbeyond/archive/2006/05/05/44588.html#feedback2http://www.blogjava.net/zkjbeyond/comments/commentrss/44588.htmlhttp://www.blogjava.net/zkjbeyond/services/trackbacks/44588.html
发现我还是适合照着理解胡诌,e文差啊!可dojo中文文档g不出来又能怎么办。  

原创专栏 开源学习 2006-05-05 10:07
]]>
网站地图