一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Other

10 大引导世界技术革新的开源项目

技术发展依赖于创新举措。没有那些脱离束缚的好想法,技术发展将停滞不前。与此同时,创新也促进了企业与社会的进步。很多人想当然地认为大多数创新举措都必须依附于闭源软件及开发商,但在多数情况下这一观点并不正确。 成千上万个开源项目为我们带来各个领域的技术创新成果。其中有一些项目的规模非常小,它们在大多数项目都是大规模、全球化的商业环境中显得格外突 出。在浩如烟海的开源项目当中,Linux专家Jack Wallen选取了最具代表性的10名个开源项目,让大家了解它们对全球技术创新做出的卓越贡献。 1、OpenNebula OpenNebula始终坚持一个目标——为用户提供一套符合标准的虚拟化企业数据中心。但OpenNebula认为不可能存在一种足以让所有数据中心供应商都满意的万能式解决方案,也不可能符合客户对功能的全部预期。 OpenNebula发展的原动力来自方案进货。作为项目的核心,管理层帮助用户以自动化形式完成数据中心的运营及协调工作。为了实现这一目 的,OpenNebula利用并整合了大量现有网络、存储、虚拟化、监控以及/或用户管理技术。OpenNebula努力为云构建计划提供可用于各类云架 构实施的模块化系统。 2、Ubuntu Unity 尽管Ubuntu Unity还不足以成为所有用户桌面系统的首选方案,但没人能够否认它在挑战用户思维方式、影响桌面系统界面领域所拥有的重大意义。事实上,Unity Dash的搜索功能受到广泛好评,甚至影响到了Winodws 8的相关功能。Unity本身也大大推动了台式机与移动设备系统间的逐步融合。在其促进下,越来越多用户开始希望能以同一套界面方案对更多平台进行操作。 3、OpenClinica OpenClinica是全球第一款开源临床试验(简称EDC)及临床数据管理(简称CDM)软件。在短短几年中,OpenClinica已经成 为普及度最高的临床试验方案。其创建采用开放标准,从而帮助一百多个国家通过它实现临床研究。这是一套模块化解决方案,而且提供社区版与企业版。 4、OpenStack OpenStack是一款开源云操作系统,允许用户对由其创建的多种系统进行控制,其中包括:Compute(用于配置并管理大型虚拟机网络)、 Storage(负责服务器及应用程序所必需的对象及块存储)以及Networking(网络与IP管理)。所有控制与管理工作都可在一套友善的用户仪表 板中完成,在这里大家可以对云资源加以配置并实现其自动化运作。 5、Kitware Kitware是一家致力于开源代码开发的公司。目前,该公司已经创建出软件过程、科学计算、计算机视觉、医疗计算、信息科学以及数据管理等多种 软件产品。其最具知名度的成果当数对VTK、ITK、Cmake以及ParaView项目的卓越贡献,并通过一套有力推动开源工具发展的跨平台软件过程而 树立了坚实的品牌影响力。Kitware公司还提供定制咨询服务,旨在为更多行业提供支持方案。其咨询服务主推包络定理,并在数据发掘/映射等领域推广开 源工具。除此之外,Kitware还开发出一系列实用工具,例如Visomics。 6、OpenDaylight OpenDaylight是一套以社区为主导的开源框架,旨在推动创新实施以及软件定义网络(简称SDN)透明化。面对SDN型网络,大家需要合 适的工具帮助自己管理基础设施,这正是OpenDaylight的专长。作为项目核心,OpenDaylight拥有一套模块化、可插拔且极为灵活的控制 器,这使其能够被部署在任何支持Java的平台之上。这款控制器中还包含一套模块合集,能够执行需要快速完成的网络任务。 7、ForgeRock ForgeRock建立了一套开放式身份识别堆栈,能够在企业、云、移动及社交网络等多种环境下重新定义身份及访问管理机制。从开源角度来 看,ForgeRock的OIS能够与多种API协作,从而确保各平台上识别与访问管理机制的无缝化实现。目前ForgeRock在市场上仅推出了一套多 功能开放式身份识别堆栈,活跃的技术社区则不断帮助其修正错误代码。通过保持软件的开放特性,ForgeRock实现了专有软件无法企及的高度透明化。 8、Facebook开放计算 Facebook开放计算项目的出发点在于突破传统的计算机基础设施体系。从很早开始,Facebook就决定寻求以低成本方式建立高效计算基础 设施的答案。该项目开发出多种针对存储、主板、机架、虚拟I/O、合规性与互操作性、硬件管理以及数据中心设计的开放式规格。考虑到Facebook自身 已经为该项目中取得显著优势,世界各地的数据中心也应该紧随其后、尝试使用这套卓越的开源方案。 9、Hadoop Hadoop项目与Apache关系密切,允许用户以分布式途径在计算机集群中处理大型数据集。Hadoop的设计思路涵盖了单一服务器到成千上 万设备的多种环境类型。在它的帮助下,大家不必依赖硬件来实现高可用性——软件本身就足以满足可用性需求。Hadoop库旨在检测并处理应用程序层中的各 类故障。Hadoop能够处理PB级别的结构化与非结构化数据。 10、Android 如今,已经没有人能否定Android的重要价值。这套开源移动平台已经将所有潜在的边界行业与移动路线建立起交集。在Android出现之 前,iPhone、黑莓以及Palm是智能手机竞赛中的三巨头。而在其出现之后,黑莓与Palm旋即受到沉重打击并最终淡出历史舞台或者在利基市场中艰难 求存。目前,Android仍在不断为移动设备的使用方式提供新的定义。总结Android广受欢迎的原因,一方面是因为它给骄傲自满、裹足不前的移动竞 争带来新的活力,另一方面它也以移动领域首席创新者的地位将我们的渴望一一变为现实。 转自:http://www.oschina.net/news/42023/10-opensource-tech-leading-world-innovation

龙生   04 Jul 2013
View Details

甘特图

甘特图(Gantt chart)又叫横道图、条状图(Bar chart)。它是在第一次世界大战时期发明的,以亨利·L·甘特先生的名字命名,他制定了一个完整地用条形图表进度的标志系统。甘特图内在思想简单,即以图示的方式通过活动列表和时间刻度形象地表示出任何特定项目的活动顺序与持续时间。基本是一条线条图,横轴表示时间,纵轴表示活动(项目),线条表示在整个期间上计划和实际的活动完成情况。它直观地表明任务计划在什么时候进行,及实际进展与计划要求的对比。管理者由此可便利地弄清一项任务(项目)还剩下哪些工作要做,并可评估工作进度。

龙生   04 Jul 2013
View Details

县及县以上行政区划代码(截止2010年12月31日)

110000    北京市 110100    市辖区110101    东城区110102    西城区110105    朝阳区110106    丰台区110107    石景山区110108    海淀区110109    门头沟区110111    房山区110112    通州区110113    顺义区110114    昌平区110115    大兴区110116    怀柔区110117    平谷区110200    县110228    密云县110229    延庆县120000    天津市120100    市辖区120101    和平区120102    河东区120103    河西区120104    南开区120105    河北区120106    红桥区120110    东丽区120111    西青区120112    津南区120113    北辰区120114    武清区120115    宝坻区120116    滨海新区120200    县120221    宁河县120223    静海县120225    蓟县130000    河北省130100    石家庄市130101    市辖区130102    长安区130103    桥东区130104 […]

龙生   01 Jul 2013
View Details

中华人民共和国行政区划

行政区划是国家为便于行政管理而分级划分的区域。因此,行政区划亦称行政区域。中国宪法规定,中华人民共和国的行政区域划分如下:   (一)全国分为省、自治区、直辖市;   (二)省、自治区分为自治州、县、自治县、市;   (三)县、自治县分为乡、民族乡、镇。   直辖市和较大的市分为区、县。自治州分为县、自治县、市。   自治区、自治州、自治县都是民族自治地方。国家在必要时得设立特别行政区。在特别行政区内实行的制度按照具体情况由全国人民代表大会以法律规定。   目前中国有34个省级行政区,包括23个省、5个自治区、4个直辖市、2个特别行政区。在历史上和习惯上,各省级行政区都有简称。省级人民政府驻地称省会(首府),中央人民政府所在地是首都。北京是中国的首都。   乡镇是中国最基层的行政单位。自治区、自治州、自治县是少数民族聚居地区的民族自治地方,它们都是祖国不可分割的部分。国家根据需要,还可以设立特别行政区。此外,为了便于行政管理和经济建设,为了加强民族团结,国家可根据需要对行政区划作必要的调整和变更。   香港和澳门是中国领土的一部分。中国政府已于1997年7月1日对香港恢复行使主权,成立了香港特别行政区。于1999年12月20日对澳门恢复行使主权,成立了澳门特别行政区。 中华人民共和国行政区划图(点击进入)   目前,全国共划分为23个省、5个自治区、4个直辖市、2个特别行政区(见下表)。 北  京 天  津 河 北 山  西 内蒙古 辽  宁 吉  林 黑龙江 上  海 江  苏 浙  江 安  徽 福  建 江  西 山  东 河  南 湖  北 湖  南 广  东 广  西 海  南 重  庆 四  川 贵  州 云  南 西  藏 陕  西 甘  肃 青  海 宁  夏 新  疆 香  港 澳  门 台  湾 中华人民共和国行政区划与地名法律法规   1.国务院关于行政区划管理的规定(1985-1-15)  2.地名管理条例(1986-1-23)  3.行政区域边界争议处理条例(1989-2-3)  4.行政区域界线管理条例(2002-5-23)  5.地方志工作条例(2006-5-18)   中国历史政区   夏商周 国家的出现 分封制 九州 春秋战国 县、郡的出现 秦 […]

龙生   01 Jul 2013
View Details

网易说央视不能采访苹果--从苹果道歉说起

最近,苹果公司道歉,体现了苹果是一家负责任的国际大公司。在这过程中,央视315的曝光及随后的跟踪报道起到了重要的作用。作为一介平民,我的最朴素的感觉是,最起码苹果用户的利益得到了更加好滴保障,是个好事情。   但是,网易在客户端新媒体发布了奇文,讲央视不能采访苹果。我觉得很奇怪,如果央视不去采访,网易不高兴,采访了,也不高兴。到底为什么网易总是不高兴呢!?   网易说自己是有态度滴媒体。所谓的有态度是什么呢?就是下面这篇文章(附后)。   我只想说,网易,315曝光的你窃取客户资料的事情,你们还没有道歉呢。什么时候道歉?   =====================   央视不请自来,“苹果”可以说 “不”(网易新媒体)   作为写字楼业主的“苹果”公司有权阻止记者进入其内部区域,而商业公司也有权决定是否、何时、何地、如何接受采访。苹果对央视说“不”,并无不当之处。   另一面专题:央视不请自来,“苹果”可以说“不”   导语:据央视报道,近日,苹果上海总公司拒绝央视记者进入其内部区域进行拍摄,并以记者预约未获得回应为由而拒绝了央视的采访。央视因此称其“傲慢”。作为写字楼业主的“苹果”公司有权阻止记者进入其内部区域,而商业公司也有权决定是否、何时、何地、如何接受采访。苹果对央视说“不”,并无不当之处。   在“苹果”地盘必须听“苹果”的   “苹果”作为写字楼承租人,理所应当有权对其承租的场所进行支配   “苹果”电脑贸易上海有限公司位于南京七路东海广场内。根据视频显示,央视记者乘电梯到达苹果公司所在的6号楼21层,电梯们甫一开启,便遇到了“苹果”公司的工作人员。在央视记者试图对苹果公司进行拍摄时,苹果公司工作人员在阻拦的同时回应“这是我们苹果的地方”,这句话也成为这篇《央视记者采访苹果遭拒,总部员工蛮横阻拦》的报道中最惹眼的一句话,成为了央视记者眼中苹果“傲慢”的依据。然而,苹果工作人员这句“这是我们苹果的地方”却是有凭有据经得起推敲的。   “东海广场”开发公司“SOHO中国”官方网站的介绍,“SOHO东海”是上海南京西路CBD中心的一座甲级写字楼,包括“苹果”、法国阳狮集团、德国驻上海总领事馆、希思黎、迪奥在内的多家公司、驻华机构在此租用楼层进行办公。“苹果”公司对该写字楼的租用情况存在两种可能:第一种可能是“苹果”公司是将整个东海广场6号楼21层包租下来,那么毫无疑问,在21层范围内,“苹果”公司当然享有排他的权利。即便是完全禁止记者进入该楼层,也是有理有据的。第二种可能是“苹果”公司是与其他公司共同合租21层,那么,走廊作为写字楼的公摊部分和居民楼的公摊部分一样,并不是“公共”的,就是归业主所“共有”,苹果公司也有对其进行占有、使用、收益或处分的权利。如此一来,“苹果”工作人员说“这是我们苹果的地方”确实是理直气壮。   “唐英年僭建风波”中,记者为避免“侵入他人土地”,宁愿在吊车上拍摄,也不敢擅入唐宅   明确了“苹果”公司作为写字楼承租人的权利后,央视报道中拍摄受到阻挠的问题也自然有了合理解释:“苹果”公司作为写字楼承租人,有权在租赁合同规定的时间内,按照合同规定的方式使用承租房屋,并且排除他人的妨碍。住户或用户阻止未经同意的拍摄行为只是在承租人行使权利的举动而已,并非傲慢之举。   以香港为例,在香港,记者在公众街道上可以自由采访。记者在公众地方居高临下拍摄住宅内的情况,或者在街道上拍摄屋内的情况是被允许的。例如,2012年2月13日,唐英年被《明报》揭发位于九龙塘约道5号及7号的大宅涉嫌僭建地库;其后唐英年承认事件并公开道歉,但否认有任何的隐瞒。根据香港法例,未经住户或用户同意,不得进入住宅内拍摄。为了拍摄到唐英年住宅内的情况,香港媒体使用了吊车,将摄影师升至空中,对唐英年的住宅进行拍摄。   至于进入住宅及写字楼,需取得住户或用户的同意,否则即属于“侵入他人土地”(trespass),可能需面对民事责任。   “苹果”公司没有义务必须接受采访   采访权不具国家强制力,采访人与被采访人地位平等,未经同意而进行采访是侵权行为   “苹果”公司被央视批评的第二个问题是拒绝接受采访。苹果公司是否有权拒绝采访,或者以“没有预约”的借口拒绝采访。这个问题的核心,要看“接受采访”是否是苹果公司的法定义务。   目前,在西方各国一般没有对采访权作法律上的直接规定。英美涉及新闻媒介的判例不多,但至少是在一些重要的判例中,没有直接使用采访权的概念。在成文法国家的新闻法中,如法国、瑞典、芬兰、丹麦、希腊等国的新闻法,都没有规定新闻记者的采访权。有学者认为,采访权是一种“请求权”,它实质上是请求他人同意接受采访的一种权利。这种看法将采访看作双方合意的行为:采访人提出采访请求,被采访人同意接受采访后,采访人方可行使权利。我国民法学家杨立新认为,新闻权的权利来源于我国宪法规定的新闻自由,采访权是一种与义务相对应的权利,而不是具有国家强制力的权利。   涉及到公民隐私、商业秘密,即使披着采访的外套,也不能掩盖强制采访这种行为的侵权本质。因为前者的权利是基本人权,而采访权是衍生权利,不能以牺牲基本人权来实现。采访者与被采访者之间就是一种平等的关系,强行采访就是禁止的侵权行为。   商业公司无必须接受采访的义务,曾有判例认为拒绝记者不意味着一定损害公众知情权   记者(甚至其他公民)有采访或者说发问的权利,企业自然也有拒绝采访和拍摄的权利,在全世界都是如此。根据具体的法律规定,进行信息公开(有可能是对特定人)是法定义务,接受记者采访并不是法定义务,接受特定媒体采访更不是。   以“BALTIMORESUN诉EHRLICH案”为例,美国马里兰州州长罗伯特?奥利克(Robert L Ehrlich)由于不满《巴尔的摩太阳报》(Baltimore Sun)一位记者及另一位专栏作家对他的新闻处理不公平,决定不再接受两人的采访,不回电话,也不配合任何需求,而且下令部属把两人列为拒绝往来户。《巴尔的摩太阳报》将罗伯特?奥利克告到法院,但法官却裁定,这种拒绝接受采访的举动没有违反宪法规定,州长有权利这么做。在判决中,法官认为,公众人物拒绝记者不免得罪媒体,但是州长并没有让所有记者都吃闭门羹,也没有忽略与其他媒体打交道的责任,也就是说,拒绝少数记者并没有导致公众知情的权利受损。   采访权、报道权针对的对象是除记者及当事人之外的第三方,强调第三方无权无故干扰采访,而非记者想采访,当事人就必须接受记者的采访。苹果作为一个企业,即便其规模再大、盈利再多,也是没有接受采访的法定义务的。你想要采访,我就必须接受,这样的“采访”与“审问”无异。   除法定强制公开信息之外,商业公司有权自愿选择信息公开的内容和方式   事实上,除公司概况及主营业务信息、基本财务信息、重大关联交易信息、审计意见、股东及董事人员信息等根据法律规定必须公开的信息之外,上市公司基于公司形象、投资者关系、回避诉讼风险等考虑,可以自愿选择信息披露的内容和方式。   企业可以根据需要和企业的自身情况选择是否披露以及选择何种方式披露。自愿信息披露在很大程度上取决于企业管理部门对信息重要性的判断和成本效益的比较。自愿信息披露能够提高公司信息的完整性和可靠性、增强公司股票流动性和提高股票价格,.有助于树立公司社会责任方面的良好形象。对于商业公司而言,是否接受媒体采访只是对信息披露方式的选择。接受采访可能有利于商业公司,比如,“苹果”公司如果选择接受采访,就能更好地向公众解释央视的疑问,打消消费者的误解。不过,这些都建立在“自愿”的基础上,属于公司自己的可选择项,只要公司愿意承担后果,选择不接受采访也是公司的权利。   无礼、傲慢的是“央视”而非“苹果”公司   前台物业与工作人员多次提醒央视记者采访需预约后,并未预约的记者仍执意进行采访   纵观这次采访的全过程,无礼和傲慢的一方不是“店大欺客”的“苹果”,而恰恰是央视的记者。   央视记者刚走入东海广场的商务楼,前台物业立刻向记者表示,如果有预约,可以叫预约的人将采访者接上楼,如果没有预约,则不能采访苹果公司。“东海广场”作为私人产业,由业主或产权人授权物业公司按照业主公约或者产权人的要求来进行管理。作为承租人的“苹果”公司已经明确表示未经预约,不接受采访。央视记者不顾前台物业提醒自行上楼,显然已经违背物业公司的意愿。   央视记者在到达“苹果”公司所在的21层后,“苹果”公司工作人员又前后三次告知采访需要“预约”。事实上,在“苹果”公司的官方网站上即可以找到联系采访的预约方式。央视的记者在交涉过程中也透露,自己知晓预约方式,但仍不停质问“找谁”、“没回复怎么办”、“他贵姓”。   通过企业的公关负责人或指定的公关公司预约是基本流程。任何一个正规企业都不会允许未经预约的媒体进入公司内部。事实上,即便是执法机关,没有合法的手续也无权强行进入一家公司。“早有心理准备”的央视记者不顾劝阻执意采访,苹果做出拒绝采访的反应也很正常——并非因为“苹果”公司的“傲慢”。   结语:“苹果”公司即非政府部门,也非事业单位、国有企业。面对“不请自来”的央视,作为商业公司的“苹果”当然有权说“不”。 转自:http://bbs.tianya.cn/post-worldlook-718458-1.shtml

龙生   01 Jul 2013
View Details

Arcgis server

ArcGIS Server是一个用于构建集中管理、支持多用户的企业级GIS应用的平台。ArcGIS Server提供了丰富的GIS功能,例如地图、定位器和用在中央服务器应用中的软件对象。 开发者使用ArcGIS Server可以构建Web应用、Web服务、以及其它运行在标准的.NET和J2EE Web服务器上的企业应用,如EJB。ArcGIS Server也可以通过桌面应用以C/S(Client/Server)的模式访问。ArcGIS Server的管理由ArcGIS Desktop负责,后者可以通过局域网或Internet来访问ArcGIS Server。 ArcGIS Server包含两个主要部件:GIS服务器和.NET与Java的Web应用开发框架(ADF)。GIS服务器ArcObjects对象的宿主,供Web应用和企业应用使用。它包含核心的ArcObjects库,并为ArcObjects能在一个集中的、共享的服务器中运行提供一个灵活的环境。ADF允许用户使用运行在GIS服务器上的ArcObjects来构建和部署.NET或Java的桌面和Web应用。 ADF包含一个软件开发包,其中有软件对象、Web控件、Web应用模板、帮助、以及例子源码。同时,它也包含一个用于部署Web应用的Web应用运行时;这样,不需要在Web服务器上安装ArcObjects,就可以运行这些Web应用。

龙生   27 Jun 2013
View Details

闭包

基本概念 闭包是可以包含自由(未绑定到特定对象)变量的代码块;这些变量不是在这个代码块内或者任何全局上下文中定义的,而是在定义代码块的环境中定义(局部变量)。“闭包” 一词来源于以下两者的结合:要执行的代码块(由于自由变量被包含在代码块中,这些自由变量以及它们引用的对象没有被释放)和为自由变量提供绑定的计算环境(作用域)。在 Scala、Scheme、Common Lisp、Smalltalk、Groovy、JavaScript、Ruby 和 Python,objective c 等语言中都能找到对闭包不同程度的支持。 在编程领域我们可以通俗的说:子函数可以使用父函数中的局部变量,这种行为就叫做闭包! 价值 闭包的价值在于可以作为函数对象 或者匿名函数,对于类型系统而言这就意味着不仅要表示数据还要表示代码。支持闭包的多数语言都将函数作为第一级对象,就是说这些函数可以存储到变量中、作为参数传递给其他函数,最重要的是能够被函数动态地创建和返回。 数学意义 若在一个集合上进行某种运算,其运算结果仍为集合中的元素,则称该集合为此运算上的闭包。 本质 集合 S 是闭集当且仅当 Cl(S)=S(这里的cl即closure,闭包)。特别的,空集的闭包是空集,X 的闭包是 X。集合的交集的闭包总是集合的闭包的交集的子集(不一定是真子集)。有限多个集合的并集的闭包和这些集合的闭包的并集相等;零个集合的并集为空集,所以这个命题包含了前面的空集的闭包的特殊情况。无限多个集合的并集的闭包不一定等于这些集合的闭包的并集,但前者一定是后者的父集 若 A 为包含 S 的 X 的子空间,则 S 在 A 中计算得到的闭包等于 A 和 S 在 X 中计算得到的闭包(Cl_A(S) = A\cap Cl_X(S))的交集。特别的,S在 A 中是稠密的,当且仅当 A 是 Cl_X(S) 的子集。 闭包点 对欧几里德空间的子集 S,x 是 S 的闭包点,若所有以 x 为中心的开球都包含 S 的点(这个点也可以是 x)。 这个定义可以推广到度量空间 X 的任意子集 S。具体地说,对具有度量 d 的度量空间 X,x 是 S 的闭包点,若对所有 r > 0,存在 y 属于 S,使得距离 d(x,y) < r(同样的,可以是 x = y)。另一种说法可以是,x 是 S 的闭包点,若距离 d(x,S) := inf{d(x,s) : […]

龙生   24 Jun 2013
View Details

单点登录

最近面试程序同时,问过这个概念,很多都不知道。在职的同事对此概念也较为模糊,贴一下百科的解释普及一下: 概述 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 通常情况下运维内控审计系统、4A系统或者都包含此项功能,目的是简化账号登陆过程并保护账号和密码安全,对账号进行统一管理。 企业应用集成(EAI, Enterprise Application Integration)。企业应用集成可以在不同层面上进行:例如在数据存储层面上的“数据大集中”,在传输层面上的“通用数据交换平台”,在应用层面上的“业务流程整合”,和用户界面上的“通用企业门户”等等。事实上,还有一个层面上的集成变得越来越重要,那就是“身份认证”的整合,也就是“单点登录”。 在信息安全管理中,访问控制(Access Controls)环绕四个过程:Identification;Authentication;Authorization;Accountability。单点登录(Single Sign On)属于Authorization授权系统,除单点登录外还包括:Lightweight Directory Access Protocol 和 Authorization ticket。(Michael E. Whitman (2011) Management Of Information Security Kennesaw University) 技术实现机制 当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份效验,如果通过效验,应该返回给用户一个认证的凭据--ticket;用户再访问别的应用的时候,就会将这个ticket带上,作为自己认证的凭据,应用系统接受到请求之后会把ticket送到认证系统进行效验,检查ticket的合法性。如果通过校验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了。

龙生   24 Jun 2013
View Details

我的技术心病

上图为本文的作者Sasha Goldshtein,他是SELA Group公司的首席技术官,他是Microsoft C# MVP(最有价值技术人员),是《Introducing Windows 7 for Developers》 (Microsoft Press出版, 2009) 和 《Pro .NET Performance》 (Apress出版, 2012)两书的作者。他是一位多产的博客作家,是大量的培训教程的作者,内容包括并行编程、Windows Internals, .NET Debugging, 和 .NET 性能等。他的顾问工作主要围绕分布式架构和高性能系统。 我发现,对我来说,使用一种新语 言,新技术,新框架,最让我有压力的事情是,我在使用它们时不能完全明白它们的实现原理。我每周都要阅读数百篇关于讨论诸如各种JavaScript扩 展、新的iOS应用框架,新的基于Windows Azure的SaaS等的博客文章。很显然,如果只是使用一些技术或采用一种框架来满足需求,这对于我通常不是很难的事情。问题是,如果我并不理解一个东 西的工作原理或实现方法,我不能把它归入我已经掌握的知识。这也是“Not Invented Here(非我造不用)”毛病的一种表现吧,不同的是我并不是想真正的写出我自己的框架;我只是想做到我有能力写出它们。下面是我最近的一些例子。 2011 年末,我开始学习Node.js,2012年间,我基于Node、Express以及其它很多Node模块,实现了数个私人或商业产品。我开始使用 Node时非常犹豫,直到我完全掌握了它的基本原理——事件循环,异步无处不在的属性——这使我掌握了如何实现“类似Node”之类东西的知识。有一段时 间我甚至想写利用新的C#提供的async/await实现一个Node类似的HTTP框架,但最后放弃了,因为网上像这样的东西很多,比如 ASP.NET MVC控制器等,只是不通用。 还有一个事情就是,某种程度是,我仍然有点“恐惧”WPF(Windows用户界面框架)。 我谈不上是特别喜欢客户端开发,但从感受层面上,从各种表现上,WPF是一种比XAML更有吸引力的框架。并不是说WPF很复杂难用:我理解它的一些基本 实现原理,比如数据绑定,风格,资源,以及数据模板,这些足够让我实现简单的桌面应用或简单的Windows8和Window Phone应用。是WPF的深度和广度让我困惑:我现在的做法是否是最好的做法?这些XAML表达式究竟是如何在这样的数据环境和属性依赖条件下工作的? 是否我应该把这段代码放到一个单独的动作或控制里?…我不是没努力过:我至少读了3本关于WPF的书,总页数超过1500页,但它们并没有给我多大帮助。 结果是,在潜意识里,我尽量避免基于XAML的框架,因为我不知道如何实现它。而可笑的是,我对一些“轻量级”的客户端技术,包括MFC,Windows Forms,Android,以及iOS,都非常有信心,而对于XAML,对于它的那些相对高级的东西,已经在我的心里留下了畏惧的条件反射。 说 一些我感到非常有自信的东西,我对那些利用反射技术的东西,从序列化校验到代码生成,我都感觉很轻松。这些属性,这些反射,10年前当我做一个大.NET 项目时就根深于我的脑子里,从那时起它们对于我就是一个非常强大的工具。我想这归功于我能理解它们这些对象如何存放在内存里,知道.NET的原信息是如何 组织的。事实上,我差不多同时也就对其他语言和框架里的反射机制很清楚了:例如,当我在开发非官方的Adnroid SDK时,第一直觉就是想写自己的JSON序列化工具,而不是利用第三方类库。之后虽然证明这并不是最好的做法,但我能够在2小时内让我的程序支持所有类 型的WAMS要求。 最后一个例子,我对新语言有很大的心理压力,尤其是当这种语言不只是从一种语言编译成另外一种语言。换言之,我对像 TypeScript或CoffeeScript这类语言没压力,我可以清楚了理解这种原代码如何编译成JavaScript,如何一种新语法变成同种功 能语法的一种简写。但是,对于一些“新物种”语言,例如Objective C,引起我脑海里一大堆问号。并不是它的括弧语义给我造成麻烦,而是这种语言的原理,“how”。Objective C语言的对象是如何分配内存的?方法是如何调度的?如果方法可以被过载,还能通过名称进行动态调度吗?编译器是如何动态管理内存的?(没错,引用数计数 ——但问题远比这几个字复杂)。同样的事情也发生在Python这样的语言上:我可以使用Python开发脚本,编写模块,甚至和C语法风格的DLL交 互,但我对这种动态语言里如何存放一个属性,如何类型化,没有一个清晰的画面。 作为总结,我希望所有的教材都提供一个“工作原理”的章节, 来告诉我我如何能实现这种语言、技术和框架——我自己。至此,我希望这篇文章解释清楚了我为什么喜欢对技术原理刨根问底、喜欢自己去实现它们。归根结底的 原因是,我喜欢对系统、框架、语言做全面的理解;也许我只需要对某个系统修改一个bug或做性能调优,但最终结果是,我要去知道它是如何运行的,否则,它 会变成我的一个心病,拖得越久我会越痛苦。 [英文原文:Using Something You Can't Implement Yourself ] 转自:http://www.oschina.net/news/41512/using-something-you-cant-implement-yourself

龙生   18 Jun 2013
View Details
1 13 14 15 22