再为设计师准备的 20 个新鲜免费的字体
如果你是一个网页设计师,那么你应该清楚字体在网页设计中的重要性,本文再向你推荐 20 个新鲜免费的字体。 God Bless America Astrolyte Beautiful ES Chocolate Dealer 20DB My special angel font Braxton free font G-Unit Rough Brush Script Eletroz Lainie Day Koch Antiqua Zier ALEX BRUSH FontPunk.com font Porter Sans Block Bumple Rolling Rocker Headline Text Frank-n-Plank Science Fair via djdesignerlab 转自:http://www.oschina.net/news/45512/20-fresh-new-free-fonts-designers
View Details处理WCF异常的方式
任何程序都离不开对异常的处理,良好的异常处理方式可加快寻找出异常的根源,同时也需要避免暴露敏感信息到异常中。WCF这种典型的服务端和客户端交互的程序,服务端的异常更需要适当的处理。下面以一个简单的服务为例,说明WCF中处理异常的方式。 WCF服务定义如下,很明显方法Divide在divisor为0的时候将会抛出异常 View Code 客户端调用如下: using (var client = new CalculateServiceClient()) { try { Console.WriteLine(client.Divide(20, 0)); } catch (FaultException ex) { Console.WriteLine(ex.Reason); } } 首先需要知道的是,WCF的异常信息默认是以FaultException的形式返回到客户端,FaultException的关键属性Reason是对客户端反馈的最重要信息之一。以上客户端代码调用之后,默认的FaultException返回的Message信息如下: 由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 <serviceDebug> 配置行为)以便将异常信息发送回客户端,或在打开每个 Microsoft .NET Framework 3.0 SDK 文档的跟踪的同时检查服务器跟踪日志。 根据异常的提示,意思说如果要在客户端看到详细的Exception信息,那么请将ServiceBehavior对应的IncludeExceptionDetailInFaults属性设置为True,通常在配置中表现为如下设置: View Code 通过以上设置之后,客户端输出的内容为“尝试除以零”,这个提示信息跟原始的异常信息是一致,即返回的FaultException中的Reason包含原始异常的Message的值,但是这样处理之后服务端所报出的异常信息直接传到了客户端,比如一些保密信息也可能输出到了客户端,因此对于异常信息必须进行一个封装。最直接的形式莫过于在服务端就把异常给捕获了,并重新throw一个FaultException 服务端的代码改进如下,经过以下改进,那么客户端得到的信息仅仅是"操作失败",同时服务端也记录了异常信息(这时IncludeExceptionDetailInFaults是设置为False的)。 View Code 当然这是FaultException的默认用法,FaultException还支持强类型的异常错误信息,返回更加丰富和精确的错误提示。假设定义如下通用的一个FaultContract类型,将出错时的用户名和线程名字记录到异常信息中,因为异常信息也是通过SOAP格式传输的,因此跟定义其他DataContract的方式一样。 CommonFaultContract 那么服务方法的接口需要增加如下标记,如果不这样标记,那么客户端得到的异常类型依然是FaultException,而不是强类型的异常信息。 [FaultContract(typeof(CommonFaultContract))] int Divide(int dividend, int divisor) 实现方法中抛出异常的部分代码改成如下: 异常处理 这时候重新生成客户端的代理类,然后更新客户端的代码如下,红色部分即获取强类型的异常错误信息。 View Code 当然在具体应用中还需要根据需求,返回不同的信息,构建不同的FaultContract。 以上服务端捕获的异常方法,适用于方法比较少的情况,如果有十多个方法,一个个去写try catch然后做标记等,那么工作量会很大,而且代码也不利于重用。尝试寻找像MVC Controller那样的统一处理Exception的方式,将异常处理都放在基类中,那么只要继承与这个基类的方法都不需要去写try catch去捕获异常。但WCF中似乎没有这样的机制,放弃了这种做法。 最近在研究Enterprise Lib中对WCF的支持时,发现Exception Block中还特地有针对WCF程序异常处理的解决方案,而且满足以上说道的需求,即可记录异常,又可对异常信息进行封装。更重要的时,自动处理运行时的异常信息,不需要挨个方法的去写Try catch。秉承企业库的优秀传统,大部分工作还是通过配置就可以完成了,非常好的解决方案。下面介绍具体的使用步骤。 步骤一: 引用以下dll Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.dll Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.WCF.dll Microsoft.Practices.EnterpriseLibrary.Common.dll Microsoft.Practices.ObjectBuilder2.dll 步骤2: 在具体的实现类中,增加如下属性标记,其中WcfException为企业库中Exception Block中的一个异常处理策略,具体如何配置异常处理策略,请参考企业库的帮助文档。 [ExceptionShielding("WcfException")] public class CalculateService : ICalculateService 那么只要增加了[ExceptionShielding("WcfException")]这个属性标记之后,所有运行时的异常都将交给策略名为WcfException的异常处理block来处理,在这里就可以执行一些异常记录以及异常封装的操作。 步骤3: 将异常信息封装为FaultException,这个动作也是通过配置来完成。在Exception节点中添加一个Fault Contract Exception Handler。 Fault Contract Exception Handler需要设置以下两个属性值 exceptionMessage:所有异常封装后的错误信息 faultContractType:即返回异常的faltContract类型,这个类型必须指定一个,哪怕方法中没有用到也要,如果方法中有用到,那么客户端那边就能得到强类型FaultException,否则就是普通的FaultException。这里指定为之前定义的CommonFaultContract。 对于faultContract类型的值,还可以通过PropertyMappings来自定义需要从原始异常信息中映射到faultContract的属性中,这个属性可选。 […]
View DetailsWCF:读取 XML 数据时,超出最大字符串内容长度配额 (8192)。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLength 属性,可增加此配额。
使用WCF传输大数据时,我们都会碰到如题中出现的错误信息,出现这个问题是因为WCF本身的安全机制导致的,限制了客户端与服务器资源传输大小,那我们如何还解决这个问题呢? 针对这个问题,我们要分发送、接受两个方面来解决。 发送大数据:在WCF服务端解决 NetTcpBinding binding = new NetTcpBinding(); binding.MaxReceivedMessageSize= 2147483647(更改这个数字) ; 接受大数据:在WCF客户端解决 NetTcpBinding binding = new NetTcpBinding(); binding.ReaderQuotas = new XmlDictionaryReaderQuotas() { MaxStringContentLength = 2147483647(更改这个数字) }; 我们即可以使用如上述通过代码配置,我们同样也可以使用配置文件进行配置(在binding节中)。
1 2 3 4 5 6 7 |
public static System.ServiceModel.BasicHttpBinding Binding() { //读取 XML 数据时,超出最大字符串内容长度配额 (8192)。 System.ServiceModel.BasicHttpBinding bing = new System.ServiceModel.BasicHttpBinding(); bing.ReaderQuotas = new System.Xml.XmlDictionaryReaderQuotas() { MaxStringContentLength = 2147483647 }; //(更改这个数字) return bing; } |
1 2 3 |
public static API.iClient api = new API.iClient(Binding(), new System.ServiceModel.EndpointAddress("http://192.168.1.11:4417/WebService.svc")); 转自:<a href="http://www.cnblogs.com/Fooo/archive/2012/12/06/2805362.html">http://www.cnblogs.com/Fooo/archive/2012/12/06/2805362.html</a> |
InnerException 消息是“反序列化对象 属于类型 *** 时出现错误。读取 XML 数据时,超出最大字符串内容长度配额 (8192)。(注意细节)
WEB站点在调用我们WCF服务的时候,只要传入的参数过长,就报如下错误: [csharp] view plaincopy 格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ 进行反序列化时出错: formDataXml。InnerException 消息是“反序列化对象 属于类型 System.String 时出现错误。读取 XML 数据时,超出最大字符串内容长度配额 (8192)。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLength 属性,可增加此配额。 第 137 行,位置为 76。”。有关详细信息,请参阅 InnerException。 网上一搜索,答案基本得到解决,可我的问题就是不能解决(主要是细节打败了我),按照网上的文章进行服务器端修改配置如下: [html] view plaincopy <binding name="HttpBinding" <span style="color:#ff0000"><strong>maxReceivedMessageSize</strong></span>="2097152"> <readerQuotas maxDepth="32" <span style="color:#ff0000"><strong>maxStringContentLength</strong></span>="2097152" maxArrayLength="2097152" maxBytesPerRead="2097152" maxNameTableCharCount="2097152" /> <security mode="None"></security> </binding> 其实这里主要的配置是两个:maxReceivedMessageSize、maxStringContentLength; 网上提到还需要配置客户端,其实如果是报上面错误就不要管客户端了,因为如果是客户端调用WCF报错,就不是读取XML数据超时,而是明确的错误提示,如下: [csharp] view plaincopy 已超过传入消息(1024)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性。 所以这篇文章提到的错误基本与客户端无关。 一般情况下,安装上面的修改就可以解决问题了,但是我的WCF还是报错,没办法,只能继续找,无意间发现服务器端WCF配置有点异常,不用登录验证的WCF接口有用到bindingConfiguration,但是需要验证的WCF接口就没有配置该属性,如下代码: [html] view plaincopy <bindings> <wsHttpBinding> <span style="color:#ff0000"><binding name="HttpBinding" maxReceivedMessageSize="2097152"> <readerQuotas maxDepth="32" maxStringContentLength="2097152" maxArrayLength="2097152" maxBytesPerRead="2097152" maxNameTableCharCount="2097152" /> <security mode="None"></security> </binding></span><span style="background-color:#f0f0f0"><binding name="HttpBinding" maxReceivedMessageSize="2097152"> <readerQuotas maxDepth="32" maxStringContentLength="2097152" maxArrayLength="2097152" maxBytesPerRead="2097152" maxNameTableCharCount="2097152" /> <security mode="None"></security> </binding></span> </wsHttpBinding> </bindings> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> <services> <service name="Achievo.MMIP.WMP.WebService.WMPProcService" behaviorConfiguration="wmpWcfBehavior"> <span style="color:#ff0000"><strong><endpoint address="" binding="wsHttpBinding" contract="Achievo.MMIP.WMP.WebServiceIService.WMPServiceProcIService"></strong> </span> <identity> <dns value="localhost" /> </identity> </endpoint> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> <service name="Achievo.MMIP.WMP.WebService.WMPGetFormDataService" behaviorConfiguration="wmpWcfFormDataBehavior"> <span style="color:#ff0000"><strong><endpoint address="" binding="wsHttpBinding" bindingConfiguration="HttpBinding" contract="Achievo.MMIP.WMP.WebServiceIService.IWMPGetFormDataIService"></strong> </span> <identity> <dns value="localhost" /> </identity> </endpoint> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> </services> 注意红色部分的配置,大伙可以对比一下,就发现其中一个缺少bindingConfiguration配置;如果这个时候,把缺少的部分补上,和另外一个配置一样,WCF就会出错,这里我的初步判断是:name="Achievo.MMIP.WMP.WebService.WMPProcService"是必须要验证登录才能访问,所以不能绑定上面的匿名访问的配置,简单说就是规定是验证就不能在配置为匿名;所以把配置修改为如下: [html] view plaincopy <bindings> <wsHttpBinding> <span style="color:#ff0000"><strong><binding name="HttpBinding" maxReceivedMessageSize="2097152"> <readerQuotas maxDepth="32" maxStringContentLength="2097152" maxArrayLength="2097152" maxBytesPerRead="2097152" maxNameTableCharCount="2097152" /> <security mode="None"></security> </binding> <binding name="HttpBinding1" maxReceivedMessageSize="2097152"> <readerQuotas maxDepth="32" maxStringContentLength="2097152"/> </binding></strong></span> </wsHttpBinding> </bindings> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> <services> <service name="Achievo.MMIP.WMP.WebService.WMPProcService" behaviorConfiguration="wmpWcfBehavior"> <strong><span style="color:#ff0000"><endpoint address="" binding="wsHttpBinding" <span style="font-size:18px">bindingConfiguration="HttpBinding1"</span> contract="Achievo.MMIP.WMP.WebServiceIService.WMPServiceProcIService"></span></strong> <identity> <dns value="localhost" /> </identity> </endpoint> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> <service name="Achievo.MMIP.WMP.WebService.WMPGetFormDataService" behaviorConfiguration="wmpWcfFormDataBehavior"> <strong><span style="color:#ff0000"><endpoint address="" binding="wsHttpBinding" bindingConfiguration="HttpBinding" contract="Achievo.MMIP.WMP.WebServiceIService.IWMPGetFormDataIService"></span></strong> <identity> <dns value="localhost" /> </identity> </endpoint> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> </services> 在验证,OK,通过。 转自:http://blog.csdn.net/yang_5/article/details/11775819
View Details29 本关于数据库、数据挖掘和信息检索的免费电子书
信息检索、数据库和数据挖掘是IT世界目前最流行的事情!要对这方面的知识了解更多,可以在线阅读和下载下面29本绝对免费的电子书。阅读愉快! 1.高级文本挖掘理论及其应用 Shigeaki Sakurai编写,InTech在2012年出版 为了从数据中取知识,文本挖掘技术得到了积极地研究。这本书介绍了高级文本挖掘技术。其中包括从关系获取到实力不强的语言的各种技术。 2. 数据库基础 Serge Abiteboul,Richard Hull,Victor Vianu编写,Addison Wesley在1994年出版 这本书对数据库管理系统的逻辑层次理论的经典问题和高级问题进行了深入的介绍。其中包括详细的论证和大量的例子以及练习。 3. 互联网广告 S.Yuan,A.Z.Abidin,M.Solan,J.Wang编写,arXiv公司在2012年出版 这本书综合性的纵览了互联网广告,讨论了研究的问题,确定当前的技术,给出互联网广告未来的方向。我们以这个行业的简要历史、介绍和分类作为开端。 4. 关系型数据库理论 David Maier编写,计算机科学出版社于1983年出版 这本书试图成为数据库的辅助课程和数据库领域研究的参考书。书中包含的材料包括关系代数、函数依赖、多值和连接依赖,常规报表、展示理论等 5. 使用MapReduce处理集约式文本数据 Jimmy Lin,Chris Dyer编写,Morgan & Claypool出版社于2010年出版 这本书关注的是MapReduce算法设计,着重关注的是自然语言处理、信息获取以及机器学习中常见的文本处理算法。我们简单地介绍了MapReduce设计模型的概念。 6. R语言中的数据挖掘算法 Wikibooks于2010年发表 数据挖掘由从大数据集中确定感兴趣模型的技术和算法组成。目前执行诸如频率模型挖掘、群集、分类和其他工作的算法就有几百种。 7. 数据挖掘简介 Saed Sayad编写,多伦多大学于2011年出版 数据挖掘是通过数据分析的方式解释过去和预测未来。数据挖掘是跨学科的领域,其中涉及到统计学、机器学习、人工智能和数据库技术。 8.大规模数据集的挖掘 斯坦福大学 Anand Rajaraman, Jeffrey D. Ullman著,2010 这本书最重要的是描述了数据挖掘技术。并且,它侧重于更大规模数据的挖掘技术。正是因为它强调数量的巨大,我们的许多例子是关于Web或来源于网络的数据。 9.信息检索:一个调查 美国马里兰大学 Ed Greengrass 著 2000 这是一个在动态信息检索领域的状态调查。主题包括:查询和报表主题,文档集合索引,文档相似度计算的方法,等等。 10.数据库基础 IBM公司 -Neeraj Sharma著 2010 这本免费的电子书教你简单是数据库基础知识,包括关系型数据库理论,数据库设计的物理逻辑,以及SQL查询语音。提升篇涉及到函数,存储过程和XML的使用。 11.多关系数据挖掘 Arno Jan Knobbe著, IOS出版 2006 这本书是关于数据挖掘:从大量的数据中提取出有用的信息。伴随着现代社会公司和机构大量数据的聚集,这个话题已经越来越显得重要了。 12.自然语言接口数据库概论 I. Androutsopoulos, G. D. Ritchie, P. Thanisch – arXiv著 1995 这本书主要介绍数据库中(NLIDBs)的自然语言接口。NLIDBs的优点和缺点都进行了讨论,把NLIDBs与正式查询语言,基于表单的接口,图像化接口进行了比较。 13.数据库系统中的读取 J.m.Hellerstein,m . Stonebraker著 -加州大学伯克利分校,1999年 这些课堂讲稿为学生和专业人士了解最近创新领域提供了一个数据库研究环境和技术背景。这篇文章涉及到了数据库领域中最重要的问题。 14.数据库系统和结构 1998年 西蒙弗雷泽大学Osmar r . Zaiane 著 这本书介绍了数据模型,数据库系统,关系型数据库及关系语言的结构和使用,索引和存储管理,关系型数据库的查询处理,以及关系型数据库的设计理论。 15.数据挖掘的桌面生存指南 […]
View Details21 本计算机数学相关的免费电子书
计算机数学对于许多人来说可能是一个难以搞定的科目。在这里我们为大家提供了21本免费电子书来帮助大家更好的理解计算机数学。 1. 概率编程和黑客的贝叶斯方法 这本书是对贝叶斯推理的一个引导,着重于计算机理解方面,以数学观点为辅。这本书假定你事先即不了解贝叶斯推理也不了解概率编程的知识。 2. 图灵机时代的数学 Thomas Hales 著,出版商:arXiv ,2013 计算机快速增长,变得在数学中无处不在,我们的后代回顾今天,可能会将它视为金色黎明。这篇文章给出了一个关于数学证明需要依赖计算机计算的调查和证明。 3.Pi的简史:从阿基米德到Eniac Jonathan M. Borwein著,出版商:DocServer, 2010 理解Pi,挑战Pi,原始需要,计算更加精确的Pi的值,这些难题已经挑战了数学家多个世纪,并且Pi已经被证明是计算机数学令人信服的例子。 4. Julia 集和Mandelbrot集概览 – Wikibooks, 2010 这本书展示了计算机是如何画出技术完美的Julia 集和Mandelbrot集图片的。书中对所有必要的理论进行了解释,并提出了一些关于如何将它们放入计算机程序中的建议。 5. 想像统计:程序员的概率和统计 Allen B. Downey著,出版商Green Tea Press, 2011 《想像统计》是一本为Python 程序员准备的概率和统计导论。这本新书着重于用来探索真实数据集合的简单技巧,并回答了一些有趣统计问题。该书假设你已经对Python有所了解。 6. Isabelle/HOL: 高阶逻辑的辅助证明 作者T. Nipkow、L.C. Paulson、M. Wenzel——施普林格出版社,2010 这本书是高阶逻辑的辅助证明的介绍,使用的是Isabelle的辅助证明。这是潜能用户的一本指南。这本书有三个部分:基本技术;逻辑与集合;高级内容。 7.计算机代数,算法,系统和应用 作者Richard Liska。捷克技术大学,1996 目录:绪论;代数算法;数学系统的集成;系统数学集成的基础可行性;计算机代数的应用;研究资源。 8.实代数几何算法 作者S. Basu、R. Pollack、M. Roy——施普林格出版社,2009 专著详细论述了实代数几何算法。书写得很好,对那些工作在实代数几何或将其应用到其它领域的初学者和高级读者都很有用。 9. Nuprl 证明开发系统的数学应用 R. L. Constable著——Prentice Hall,1986 作者提供一个基于他们研究的新的数学思路。书中的许多想法需要数学和计算机科学的本科教育背景。 10.算法代数 Bhubaneswar Mishra著——柯朗数学科学研究所,1993 本书的主要目的是告知,告知那些正在学习计算机科学的高等本科生算法代数中工程和数学的算法思想,这样他们可以将算法代数应用于研究。 11.组合子图归约结构 Philip J. Koopman、Jr著,科学出版社,1990 提出了降低组合图的高速缓存模拟实验结果的一种抽象机。抽象机,也称TIGRE,其还原率可媲美当前先进的技术。 12. 奇异吸引子:创建混沌系统模型 Julien C.Sproot编写,由M&T Books于2000年出版 混沌和分形改变了我们对这个世界的看法。这本书展示了许多由非常简单的方程所产生的艺术魅力的例子,并教会读者如何生成这种模型的无穷变换。 13. 艺术画廊定理及算法 Joseph O’Rourke编写,牛津大学出版社于1987年出版 艺术画廊定理和算法这么叫是因为这些定理与算法与几何图形的可视性以及几何图形的内部切面问题相关。这本书深入的探讨了这个领域的普遍性问题和特殊性问题。 14. Axiom:一个科学计算系统 Richard D.Jenks,Robert S.Sutor编写,axiom-developer.org与2003年发行 Axiom是一个免费的通用的代数计算系统。这本书对AXIOM做了技术性的介绍,双向性地介绍了由符号计算社团开发的系统教程、访问算法,并介绍了一些高级技术。 15. 数学函数图形化的黄金电子书 由E.Pérez在2008年发表 这本书对复变数领域进行了可视化介绍,并隐性地与对应的真正的平面图形进行了比较。这本书假设读者对平面上的曲线和平面有些许了解。 16. 计算机科学家的数学 Gareth J.Janacek,Mark L.Close编写,由BookBoon于2008年出版 你可以在这本书里找到计算机科学家所必须的基础数学。它应当可以帮助你理解数学概念的意义。并对基本逻辑、 因式分解、 绘图函数和矩阵等等问题进行了解释说明。 17. 数学图解:几何图形和PostScript手册 […]
View Details为设计师准备的 10 个非常有用和高效的线框图工具
线框图工具在网页和软件开发中扮演着重要的角色,它们帮助开发者和客户提供一个形象的可视网页页面。对你的网站有好性和简单导航操作也是非常的重要,尽管当你的网站内容多而杂的时候。网站一旦进入最后阶段,线框工具还可以帮你减少设计上的麻烦。 笔和纸在绘制初始线框图的时候非常好用,它能描绘出对网站的初步设计。但是,在后期的测试阶段,你需要一个先进的软件应用。这个应用应该支持版本管理和编辑,因此,这样可以削减在设计阶段中本身的缺陷。这里列出了十个流行线框图工具以及它们的费用: 给设计人员的10个极为有用又划算的线框图工具 PowerMockup—PowerPoint上的线框图附加工具 如果你想把Microsoft PowerPoint转换成一个线框图工具,这个附加工具将会相当有用。一个新的面板将会添加到PP窗口中,它使你可以使用展示在面板中的一些线框图元素和图标。可以通过拖拽把它加到幻灯片中。 PowerMockup和所有最新版的Microsoft Office兼容,包括Office 2013。你可以花费$60购买该线框图工具,供单用户使用。 Moqups—在线建模和线框图工具 如果你需要矢量线框图,这个在线HTML5应用应该是你的理想选择。它由罗马尼亚的软件工程师开发,供全世界的开发者免费使用。你甚至都不需要注册。最近,该团队开发了一个高级版的Moqups, 它是可选的,有不受限制的修订、主页、与工程师团队的在线协作以及其它一些有用的特性。 Wireframe.cc — 在线线框图工具(免费) Wireframe.cc是一款简单的工具,它没有那些乱七八糟的东西,你可以直接用鼠标在画布上随意作画。它会产生一个唯一的URL,可以共享。Wireframe.cc完全免费, 但是其高级版是收费的。 Axure RP—扩展线框图工具 它是最具综合性最包罗万象的一个工具之一,最低价是¥290。可以用来做任何事,包括开发复杂原型,说明文档和简单线框草图。它也有一些特定的高级特性,比如在客户端之间分享原型。这种设计方式使得它可以管理组员之间的讨论和反馈以及协作。 Balsamiq Mockups—基于Flash的快速线框工具 自从它在2008年被一名开发者开发出来之后,它在很短的时间内就流行开来。它是如此的流行,全世界已经有数以千计的开发者在使用它了。Balsamiq Mockups可以进行设计,看起来就像是在纸上画的草稿一样,而不像是机器制图。它和Flash兼容良好,并且已经成为Adobe Air Application。你可以用$80买到它。 Fluid UI—供Android, iOS, 和Windows App使用的在线原型设计工具 如果你在找一款给手机应用进行原型设计的工具,Fluid UI将是你的理想选择。它是基于web的工具,既可以用于创建高保真模型,也可以创建低保真的线框。它拥有供Windows 8, android和iOS应用使用的用户接口。针对单个项目,你可以获得一个账户,它提供最多10屏的绝对免费。如果你愿意付费,每月$30起。 Pencil—GUI原型设计工具(开源) Pencil是一款原型设计工具,而且是开源的。我们可以通过它来创建许多设计原型和GUI模型。它有一个巨大的待用图形商店,可以供Android, iOS和web应用来使用,用作通用设计元素和UI控制。 你可以在pencil网站上找到可供下载的工件, 访问许多模板集,都是由用户贡献的。它也给多个操作系统提供独立版本。 UXToolbox—Windows上的线框图工具 如果你在开发手机应用,桌面应用或者网络站点,UXToolbox使你可以创建交互性的原型设计和线框图。它的一个更有趣的特性是,你可以在草图线框图和规矩漂亮的线框图之间来回切换,只需要点击一下按钮。你可以轻松的把设计导出成HTML或XML。$240就可以买到。 Live Wires—iPad上的线框图App 它允许你进行原型设计并直接在iPad进行测试。它同时兼容iPhone和iPad应用。它有一个扩展库。它的收费低至$10。 Mockups.me—UI线框图应用 在特性方面,它和Balsamiq Mockups非常接近,但它要高一个等级因为它可以被用作Android和iOS的手写板。它也有一个内置的交流系统,可以用来收集评论和反馈。它的web版每年收费$100,而手持版仅售$20。 写在最后 所以,市面上有许多线框图工具,可以根据你的需求来选择。这些工具有免费的也有收费的。多数时候,只有高级版才收费,而试用版是免费的。 转自:http://www.oschina.net/translate/10-extremely-useful-and-cost-effective-wireframe-tools-for-designers
View DetailsLi-Fi 技术数据传输速度可超过 10Gb/s
英国研究者称,他们已通过Li-Fi技术——通过LED灯泡进行数据传输的技术——取得了高达10Gb/s的数据传输速度。研究者使用微型LED灯泡,通过组成白光的三种原色——红色、绿色和蓝色——其中的任何一种原色均实现了3.5Gb/s的数据传输速度。这意味着取得超过10Gb /s的数据传输速度是有可能实现的。Li-Fi是一种新兴的技术,可让特制的LED灯泡几乎在任何地方提供低成本的无线网络连接。 超高速度 该研究项目名为“超并行可见光通信工程”,是由爱丁堡大学、圣安德鲁斯大学、斯特拉斯克莱德大学、牛津大学和剑桥大学联合开展的项目,得到了工程和物理科学研究委员会的资助。 微型LED灯泡,由斯特拉斯克莱德大学研发,允许光线并行射出,从而增大任何时段传输的数据量。“想象一下淋浴喷头将水分成并行水流的情形,这就是我们对光所做的事情。”爱丁堡大学光纤无线通信教授兼该项目领导人之一哈拉尔德-哈斯(Harald Haas)说。 利用名为“正交频分复用”的数字调制技术,研究者可让微型LED灯泡的亮度每秒变化百万次,它就像一个极快的开关。这使得大量二进制数据——即一系列由0和1组成的数据——得以高速传播。 今年初,德国弗朗霍夫海因里希赫兹研究所宣称,在实验室条件下,高达1Gb/s的数据传输速度是有可能实现的。本月,中国科学家开发出了一种微芯片LED灯泡,可取得150 Mb/s的数据传输速度。一只这样的灯泡可为四台电脑提供网络连接。 Li-Fi技术 在2011年,哈斯教授就演示了带有信号处理技术的LED灯泡如何将高清视频传输到电脑上。他发明了Li-Fi这个术语,并创立了一家私人公司PureVLC来利用这项技术(又名可见光通信技术,简称VLC技术)。 由于LED 灯泡非常普及,照明基础设施也已到位,因此Li-Fi技术有望比现有的无线电通讯系统更便宜、更节能。 可见光是电磁频谱中的一部分,比无线电频谱大1万倍,相对而言可具有无限的容量。哈斯教授称,它的另一个优势是均匀分布的LED传输器可以给整个建筑提供更加稳定和区域化的互联网连接。传统Wi-Fi的缺点在于,你离它越远,你获得的信号就越弱,从而导致办公室和家庭内的无线网络连接不稳定。 哈斯教授还认为,由于光线无法穿过墙壁,VLC技术可能比传统的Wi-Fi连接方式更为安全。 转自:http://www.oschina.net/news/45472/lifi
View Details序列化、加密、解密、反序列化
using System; using System.IO; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Serialization.Formatters.Soap; using System.Xml.Serialization; using HP.Common; namespace HP.UI.Web { public partial class Test : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //原始对象 var obj = new Person { Sno = "200719", Name = "yuananyun", Sex="man", Age=22 }; Response.Write("原始信息:" + obj.DisplayInfo() + "<br /><br />"); //序列化 IFormatter formatter = new BinaryFormatter(); //二进制 //IFormatter formatter = new SoapFormatter(); //SOAP //var formatter = new XmlSerializer(typeof(Person)); //XML var stream = new MemoryStream(); formatter.Serialize(stream, obj); var bs = stream.ToArray(); var s = System.Text.Encoding.Default.GetString(bs); stream.Close(); Response.Write("序列化:" + s + "<br /><br />"); […]
View Details解决微软应用商店里找不到Win8.1更新
泡泡网系统工具频道10月18日 如果你是正版Windows 8用户,但从昨天开始并未像小编介绍的那样在应用商店中看到免费更新到Windows 8.1的提示,那么有可能是因为你的电脑还未安装最新更新,下面小编就告诉你如何可以安装最新更新后开始你的免费Windows 8.1之旅。 未提示你免费升级到Windows 8.1是因为代号为微软KB 2871389的更新。如果你关闭了电脑的自动更新的话,可以手动下载更新这个程序。【点击更新下载】 当然,如果你电脑设置成自动更新可以参见如下步骤,更新相应程序。 一、手指或者鼠标指针由屏幕右侧轻滑向左侧,此时会弹出一个菜单,点击“设置”选项。 二、点击右下角的“更改电脑设置” 三、找到Windows 更新,选择立即检查更新。 四、在可用更新列表中,选择“KB 2871389”,以及要安装的其他任何更新,然后点击或单击“安装”。 怎么样,是不是还算简单,喜欢尝鲜的你赶紧自己动手来迈向Windows 8.1的新生活吧。 转自:http://www.pcpop.com/doc/0/954/954688.shtml
View Details