All posts by 龙生

NBA明星前锋克里斯·波什:我们为何要学习编程

导语:NBA热火球员克里斯·波什还是个极客,对科学和编程有着浓烈的兴趣。被问及为何学习编程时,他说“仅仅是为了理解这个世界的运转方式。如果说蛮力开创了人类第一个纪元,自动化技术就是第二个,(学编程)是我们跟上时代步伐的唯一手段“。来听他谈谈编程如何影响这个时代的进程吧! 我知道,要求每个人——从流浪汉到小屁孩——都去学习编程,多少有些可笑。因为有一些更重要的事情,同样等着你去完成。 但我不认为,我们可以忽视学习编程的重要性。 作为一个生长在90年代,且有着技术控父母的小孩,我注意到我周围的世界全绕着一个轴在转,1和0组成的不同模型就是驱动世界运转的力量。忽视设计和编写这些模型的学习,我们就都太傻了。如果说,蛮力开创了人类第一个纪元,自动化是第二个,那编程是我们与时俱进的唯一手段。在未来,大多数工作会赋予那些懂编程的人。 上网,打电话,外出购物,我们无时不刻不在使用代码,它是这个世界运转的基础。能够对如此重要的事物有所了解,我觉得非常有益。 大部分运动员,在学校的时候就已选择了自己日后的职业运动项目。对我来说,这是在高中,一切发生的时候。一方面,你身体长得很快,长于运动;另一方面,大人们告诉你,要不论喜恶地去尝试不同事物,从中找到自己的规划。在那个年纪,尝试是一件很有意思的事情。 在加入NBA前我就清楚知道,要让我的未来——也是每个人的未来——足够有保障,我必须要有掌控0和1的能力,尽管此时我的球衣正挂在林肯高中的体育馆里。幸运的是,总在测试小物件、操作眼花缭乱的CAD软件的极客父母,帮助我把手放到学习编程的键盘上,而不是托着篮球,或阻止对手的进攻。 从我记事起,我的妈妈就经营着一个“电脑帮帮忙”的生意。可以说我是在电脑堆里长大的。后来,她去了德州仪器工作。每当我们放学回家,都会有一堆我妈从公司里带回来的新奇玩意可以把玩。那是我接触第一台数码相机的时候!当人们还在用着AutoCAD时,我父亲做上了职业管道施工,工程实施,并为多家不同的公司做设计。 我是幸运的,因为我的父母在子女教育上有很高水准,他们都是受科学驱使的人。高中时,我加入“天才儿童”组织,一个二年级学生组成的电脑绘图俱乐部。在这里我如鱼得水。高三时,我还加入了少数派工程师协会和全国黑人工程师协会。 我得到高中文凭,但没有从大学毕业。但即使只在佐治亚理工学院(Georgia Tech)待了一年,我依旧保持了对科学和求知的浓烈兴趣。我知道我可以靠这生存。在某些关键时刻,职业运动员要问自己,如果不成功怎么办。于我而言,我想我会拿计算机科学和编程来教育小朋友——越小越好。 关于编程,有趣的是,当我高中第一次摸索图形设计和计算机时,我完全不知道编程为何物。它是几乎一切科技的基础。如果当初在学校有人告诉我,编程可以直接或间接地让上百万人生活得更好,这会更早地激发我的兴趣。只是,我不认为那时候,人们真的意识到编程对当今世界的影响。 像所有精彩的篮球赛事一样,我们仍然可以追赶。 即使现在我的主要兴趣是篮球,我仍旧在学习和探索。我想教孩子编程,因为它可以创造出如此吸引人的应用。只要肯下功夫,这并不难。你尽可心说“但这对你的事业没有帮助”——我会告诉你,确实有。透过编程,让我明白了很多人生道理。 此时,学习编程对我而言,仅仅是为理解这个世界的运转方式。 而且,它很酷。我打的是篮球,但我知道我学编程的同辈们在“酷”之前需要面对非常多的嘲笑、戏弄。很多人无法想像一个将近七尺高的人也会成为攻击对象,但我也被欺负了好一阵。我很幸运,体育给了我在极客上的自信。我打的是篮球,所以我能按照自己的节奏来突围,并逆转观众的想法。 这些年来我看过很多有我的视频——赛事、MV、广告——但在code.org视频中是我人生最酷的时刻。当粉丝发推@我,说老师给他们看的视频中,我同世界上最有名的科技符号一并出现时,我明白了一件事:书呆子们终于一雪前耻。 我是麦阿密热火队员,我的球衣背面是“1”。对我来说,胜利并不是“胜利”,它是01110111 01101001 01101110 01101110 01101001 01101110 01100111(胜利"winning"的二进制代码)。 (本文为迈阿密热火1号球员克里斯·波什发表在《连线》文章) 转自:http://www.oschina.net/news/45652/why-we-should-learning-programming

龙生   05 Nov 2013
View Details

20 个用于处理页面滚动效果的 jQuery 插件

对设计和开发一个网站来说,web开发者不能低估了网站滚动效果的重要性。如今,设计者们都视为一大挑战了,在网站中设计出吸引眼球的高效视觉滚动效果。幸运的是有各种各样的jquery 滚动插件可供他们使用,有了这些插件,他们可以根据页面滚动的位置做出很多吸引眼球的效果,像背景变换、动画等等。 本文中我收集了20款可以帮你实现很绚效果的Jquery滚动插件。 有了下面的这些jQuery滚动插件,你可以随意的让网站中的任何元素滚动, 使网站变得更加绚丽、吸引眼球。 1. One Page scroll One Page Scroll,一个jQuery插件,简化了类似网站的创建。它需要很少的设置,只需要创建HTML结构,调用函数就可以了。 可选的,easing功能,它的速度和循环行为也可以设置。而且,它已经支持对每个页面SEO友好的URL。 2. Scrolld Scrolld.js是一个jQuery的独特开源插件。Scrolld.js提供了一种完美的高精度的布局方法,且使用实时更新的数据值生成导航。使用Scrolld.js滚动到项目将永远精准且将提供最好的用户体验。Scrolld.js是专门为支持响应式布局而设计的,可以将页面长导航变成一个简单的任务栏。Scrolld.js设计初衷是为能方便使用,并能够在几分钟内快速部署。 3. Animate Scroll AnimateScroll 是一个简单的jQuery插件,它用来为滚动增加延迟效果. 可以自定义滚动样式(30多种滚动效果)和滚动速度. 还有一个可以操纵"滚动结束位置"的"padding"选项. 这个插件不局限于整个页面,某个特定的包裹元素也可以作为其目标. 4. JInvertScroll jInvertScroll 是一个操纵默认滚动行为和强制水平滚动的jQuery插件.它通过onScroll回调函数简化了视察效果的创建,我们可以在onScroll回调函数中为任意元素增加动画效果.该插件很小,只有不到1KB大小,而且几乎不需要任何配置就可以工作. 为某个包裹元素添加一个特定的样式类然后调用一个JS方法就足够了. 5. Smint Smint 是一个帮助开发者在单页面风格的网站中创建导航. 它有两个主要的元素, 一个是不动的导航条,当你向下滚动页面的时候它会停留在页面的顶部,另一个是菜单按钮,当你点击的时候会自动将页面滚动到相应的区域. SMINT插件很简单,所以只有一个控制页面滚动速度的选项. 默认的速度是500毫秒 (半秒钟),但你可以将它设置为任意你喜欢的值. 下载的文件中包含一个demo,所以你可以轻松地将它作为你自己单页面网站的模板. 6. jQuery Arbitrary Anchor Plugin jQuery Arbitrary Anchor Plugin 允许页面滚动到页面中任意的基于jQuery/CSS选择器的对象上. 你可以通过在页面URL的#后面添加一个jQuery/CSS选择器来创建一个有用并且整洁的动态锚点滚动效果. 该插件继承了普通锚点的功能,也就是说,一个拥有名值属性的锚点标签仍然可以被正常地滚动到. 一个具有与锚点相同值的ID属性的元素也具有同样的效果. 这个小小的插件可以被应用到任何元素上.   7. ScrollUp ScrollUp 是一个轻量级的jQuery插件,它用来轻松实现自定义可以在任意网站使用的"滚动到顶部"效果.如果想创建一个可见的线条来帮助确定距离顶端的理想滚动距离,你需要为activeOverlay设置项制定一个有效的CSS颜色.ScrollUp可以通过CSS实现完全可定制,这使得它可以被很容易的应用到你的项目中. 只需要在你的CSS文件中scrollUp生成的ID设置你的样式即可. 它是基于MIT协议发布的. 8. jQuery Stick ‘em jQuery Stick ‘em 可以使内容在滚动的时候固定在某个点上.有时候,我们有一些很高的图片. 所以当你滚动到图片的底部之后,你将不得不滚回到描述你刚才看的图片的文字处. 解决办法就是当你滚动页面的时候把内容固定. 坑爹的是,我们不能仅仅把文字的位置设置为:fixed,一旦滚动到页面底部就玩完了.由于有时候页面上会有很多部分,我们不得不在某个点将内容"取消固定". 那么让我们来解决这个问题,jQuery Stick’em就能够实现该功能. 9. Infinity.js Infinity.js是用于web的表格视图UI库:它能够加速长列表的滚动并且保证你的无限的数据流畅和稳定。它体积小,久经测试而且性能很好。这是Github上最火的代码,并且以BSD协议分发。被注释的源代码作为演示Infinity关闭与开启是可用的。 Infinity.js是Airbnd公司开发的,除了流行许愿列表和朋友订阅部门,现在已经子啊日常的生产中使用。它只依赖于jQuery。 11. Mobiscroll Mobiscroll 是一个为移动设备(Android手机,iPhone,iPad,Galaxy Tab)准备的轮式滚动日期和时间的选择器.它可以被自定义来支持任意自定义的数值,也可以被用作对于本土选择控制的一个直观的替换. 它的样式是可以改变的. 12. Page Scroller Page Scroller 是一个基于JavaScript的强大的流畅滚动导航系统,它使用强大的jQuery库. 该插件可以在任何网站上轻松创建.你可以选择导航菜单的位置,也可以轻松地改变滚动速度.滚动插件需要依赖jQuery1.3以上的版本. 13. WayPoints Waypoints是一个比较小的jQuery框架,通过它可以轻松的在任何滚动元素滚动情况下执行函数。Waypoints可根据用户在页面滚动的位置生成一个比较稳定的流行UI模式。Waypoints遵循MIT和GPL双重协议。 据测试,在jQuery 1.4版本以上兼容IE6+, FF3+, Safari 4+, 和 […]

龙生   05 Nov 2013
View Details

WebRequest之Post写法

Web.Config

  CS文件

  ashx

转自:http://www.cnblogs.com/goody9807/archive/2011/10/08/2202265.html

龙生   31 Oct 2013
View Details

自己项目中使用的信息采集类(WebRequest)

using System; using System.IO; using System.Net; using System.Text; using System.Web; namespace HP.Common { /// <summary> /// 信息 /// </summary> public class InfoCollect { /// <summary> /// 获取内网页面内容 /// </summary> /// <param name="url"></param> /// <returns></returns> public static string GetPageByInner(string url) { return GetPage("http://" + HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + (HttpContext.Current.Request.ServerVariables["SERVER_PORT"] == "80" ? "" : ":" + HttpContext.Current.Request.ServerVariables["SERVER_PORT"]) + url); } /// <summary> /// 获取公网url内容(GET) /// </summary> /// <param name="url"></param> /// <returns></returns> public static string GetPage(string url) { return GetPage(url, "GET", null); } /// <summary> /// 获取公网url内容(Post方法) /// </summary> /// <param name="url"></param> […]

龙生   31 Oct 2013
View Details

罗马尼亚程序员的幸福生活

我做了三年的+Perl程序员,以编程为生已经有7年。我生活中克路治-那波卡市(Cluj-Napoca),这是罗马尼亚第二大城市。 四年前我就开始困惑于一个问题:作为一个程序员,我的生活水平和其他国家的程序员有多大差距?那时候我的税后收入大概是每月700欧元(约5830 元,1欧元=8.331人民币)。就当时罗马尼亚的经济水平,整个社会的平均工资低于每月325.91欧元(2715元),我的收入差不多是全国水平的两 倍,这让我产生了一种打死都不离开这里的感觉。然而,这只是一种心理感觉,尽管和其他人比起来我挣得很多,但事实上每月我都挣扎在贫困线上。这种拮据归咎 于我缺乏收入管理,背后的原因是我的妻子刚刚成为一名律师,她现在的收入几乎为0, 克路治-那波卡市的程序员的收入情况 尽管市场在不断的浮动变化,那波卡市里一名有经验的程序员的基本收入大概是这个水平(这里说的收入都是税后水平——净收入): 最初是每月400欧元(3330元) 每6个月涨100欧元(833元)工资 根据个别情况,这个数目会有差异,可能更好,可能更坏。 从好的情况讲,一个程序员的工资水平可以用以下方式获得跳跃式的增长: 通过直接要求 通过跳槽 通过离开公司然后反聘回来 当然,还可以卓越的成绩来跟公司讨价还价,获得涨薪 从不好的情况讲,如果发生下列情况,一个程序员的工资会增长的很慢: 公司的运营状况不好 不善于谈判 一个不关心员工的老板。 自己表现不好 所以,当发现一个有5年经验的程序员拿月薪税后1500欧元(12.5K元)而一个7年经验的只拿月薪1700欧元(14k元)时,就不足为奇了。 几大城市收入/消费水平的比较 最近我发现了这个numbeo网站,它收集世界上各大城市的消费及收入信息,而且,它能让你将两个城市的物价水平,工资及购买力进行比较,你能根据它估算出在另一个城市生活所需要的收入水平。根据它提供的数据,我发现以我现在在那波卡市的收入水平不可能在世界其它城市里生活的很好。(表中的金额都以欧元为单位) 城市 参考收入 收入1 租房价格 收入2 年净收入 伦敦 4762 5,396.93 1,884.00 7,280.93 87,371.20 柏林 2784 3,155.20 800.00 3,955.20 47,462.40 阿姆斯特丹 3826 4,336.13 3,026.00 7,362.13 88,345.60 纽约 4848 5,494.40 2,214.00 7,708.40 92,500.80 旧金山 4484 5,081.87 2,216.00 7,297.87 87,574.40 这些数字的含义 参考收入 – 是指在那个城市如果想让生活质量达到我现在在那波卡市的生活水平,你需要达到的收入水平。按我在那波卡市每月1500欧元收入算。上表中显示的都是税后收入或净收入。 收入1 – 是指如果想在那个城市的生活质量达到在那波卡市的每月1700欧元生活水平质量,你需要达到的净收入。我列出1700欧元水平的原因是它很接近我的水平,这是有7年工作经验的程序员的平均水平。 租房价格 – 一个三居室的价格,非市中心。 收入2 – 这是收入1栏和租房价格的汇总 年净收入 – 是指收入2栏乘以12个月 需要更多的数据 如果在上表中再加入一列各城市的程序员的平均收入信息,那就更清晰了。遗憾的是,我搜查过的大多数网站上只提供税前年收入。因为各地的税收情况各 异,不可能计算出税后收入。所以,如果你是一个在上述城市生活的程序员,并且知道当地平均净收入的情况,请在评论里分享给大家,我会更新到文章里。 克路治-那波卡市(Cluj-Napoca)程序员的生活情况 因为罗马尼亚较低的购买力水平,人们日常的消费水平也比较低。看一下numbeo网站上关于那波卡市的价格水平信息。 1700欧元每月你可以过上任何想要的生活——如果你是个喜欢聚会的人。你的生活大概可以是这样: 一顿三餐(3餐12欧元 * 30 days = 360 欧元/月). 每个周末去最贵的俱乐部玩乐(一晚30欧元 * 8晚 = 240欧元/月) […]

龙生   31 Oct 2013
View Details

再为设计师准备的 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

龙生   31 Oct 2013
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的属性中,这个属性可选。 […]

龙生   30 Oct 2013
View Details

WCF:读取 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节中)。

 

龙生   30 Oct 2013
View Details

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

龙生   30 Oct 2013
View Details

29 本关于数据库、数据挖掘和信息检索的免费电子书

信息检索、数据库和数据挖掘是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.数据挖掘的桌面生存指南 […]

龙生   30 Oct 2013
View Details
1 339 340 341 416