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.数据挖掘的桌面生存指南 […]
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为开发者准备的 11 个新鲜方便的框架
1.Layer CSS Layers CSS 是一个轻量级的CSS框架,它不强调任何设计但是处理主要结构。它拥有流动网格和一些简单的类,用来支持响应式布局。拥有许多种风格的表单,表格,列表以及其他更多的东西,但是没有颜色和圆角,定制完全看你自己喜欢。层还明显带有方便的“日常使用式风格”,浮动或者隐藏。 来源 2.Gumby Framework Gumby Framework 是一个灵活的,响应式的Css框架,由SASS驱动。使用一套灵活并且响应式的网格系统以及UI库来创建快速的和具有逻辑性的页面布局,以及应用原型。它借助于Sass的力量来构建。Sass是一个强大的Css预处理器,允许我们用更快的速度开发Gumby本身 —— 并且给予你新的工具用来快速的在Gumby Framework上进行定制和构建。 Gumby的开发紧跟最新的标准和规范。为了站在时代的最前端,Guby支持像 chrome, firefox, Opera,Internet Explore 8 – 10这样一些现代浏览器。 来源 3.Grid Forms 这是为使得表单和web应用程序更加漂亮,从而减少数据录入痛苦更少而做出的一种努力。Grid Forms 是一个为构建基于网格的表单而处理成样板的前端库。 Grid Forms 被设计成密集形式的表单,应在经常需要录入大量数据的应用场合。它是一个微小的Javascript/css框架,帮助你轻松实现网格上的表单。你也可以加入Scott Jehl的Respond.js,如果你想要你的表单在ie8中有响应式效果的话。 来源 4. FireShell FireShell是一个比较轻率的框架.为现代开发者而诞生. 对于团队和个人来说, 真是一个棒的开发流程管理工具. JavaScript可以运行,生成处理,自动压缩和文件关联, 用高级的HTML5来武装自己,使得它成为一个很牛X的框架. 它引用了部分HTML5,还有HTML5相关的一些原理,WAI-ARIA基线标记和实用的web. 适合小项目的css结构和定标器,独特的架构方式能缩小你写的对象形的css代码 . 还有很多灵活性比较强的文件夹结构层. 来源 5. Guzzle Guzzle减少了发送HTTP请求的痛苦,同时减少了创建web服务客户端麻烦。它是一个包含创建强大的web服务客户端所需工具的框架,其中包括:用于定义API输入和输出的服务器描述,用于传输页面化资源,尽可能高效地批量发送大量的请求的资源迭代器。 来源 6. Behat Behat是一种行为驱动开发(BDD)框架,能让你写出人类可读的故事驱动代码,以描述出你的应用程序功能。它能快速且轻松的入门,且易于学习掌握。 来源 7. Swagger Swagger是一个用于构建,实现和让RESTful web服务可视化的框架和规范。它的总目标是使得文档(以及客户端)同服务器端拥有一样的更新频率。 来源 8. Spark Spark是一个能让你使用Java快速创建web应用的微型框架。只需要下载它的库和依赖,放入你的classpath中,你就可以上手所有的东西了! 来源 9. Hopscotch Hopscotch是一个向你的页面中添加产品浏览板块的框架。它为开发者提供了一套控制浏览块的API,它如何显示以及浏览如何进行都包含在了其中。 来源 10.Sixpack Sixpack是一个工作跨越使用多种语言编写的多个服务的A/B测试框架,它完成了一个漂亮的面板向你展示测试结果。并且它初始化一个测试只需使用几行代码。 来源 11.AngularFire AngularFire是为你的Angular应用程序创建后端的一种简单的方法。它拥有一套灵活的API(带有显示或者隐式的同步,决定于你是想要简单还是想要功能强大),3条途经的数据绑定,还有快速开发的能力。 来源
View Details我是如何反编译D-Link路由器固件程序并发现它的后门的
OK,又是周末晚上,没有约会,只有一大瓶Shasta汽水和全是快节奏的音乐…那就研究一下程序吧。 一时兴起,我下载了D-link无线路由器(型号:DIR-100 revA)的固件程序 v1.13。使用工具Binwalk,很快的就从中发现并提取出一个只读SquashFS文件系统,没用多大功夫我就将这个固件程序的web server(/bin/webs)加载到了IDA中: /bin/webs中的字符信息 基于上面的字符信息可以看出,这个/bin/webs二进制程序是一个修改版的thttpd,提供路由器管理员界面操作功能。看起来是经过了台湾明泰科技(D-Link的一个子公司)的修改。他们甚至很有心计的将他们很多自定义的函数名都辅以“alpha”前缀: 明泰科技的自定义函数 这个alpha_auth_check函数看起来很有意思! 这个函数被很多地方调用,最明显的一个是来自alpha_httpd_parse_request函数: 调用alpha_auth_check函数 我们可以看到alpha_auth_check函数接收一个参数(是存放在寄存器$s2里);如果alpha_auth_check返回-1(0xFFFFFFFF),程序将会跳到alpha_httpd_parse_request的结尾处,否则,它将继续处理请求。 寄存器$s2在被alpha_auth_check函数使用前的一些操作代码显示,它是一个指向一个数据结构体的指针,里面有一个char*指针,会指向从HTTP请求里接收到的各种数据;比如HTTP头信息和请求地址URL: $s2是一个指向一个数据结构体的指针 我们现在可以模拟出alpha_auth_check函数和数据结构体的大概样子: 1 struct http_request_t 2 { 3 char unknown[0xB8]; 4 char *url; // At offset 0xB8 into the data structure 5 }; 6 7 int alpha_auth_check(struct http_request_t *request); alpha_auth_check本身是一个非常简单的函数。它会针对http_request_t结构体里的一些指针进行字符串strcmp比较操作,然后调用check_login函数,实际上就是身份验证检查。如果一旦有字符串比较成功或check_login成功,它会返回1;否者,它会重定向浏览器到登录页,返回-1; alpha_auth_check函数代码片段 这些字符串比较过程看起来非常有趣。它们提取请求的URL地址(在http_request_t数据结构体的偏移量0xB8处),检查它们是否含有字符串“graphic/” 或 “public/”。这些都是位于路由器的Web目录下的公开子目录,如果请求地址包含这样的字符串,这些请求就可以不经身份认证就能执行。 然而,这最后一个strcmp却是相当的吸引眼球: alpha_auth_check函数中一个非常有趣的字符串比较 这个操作是将http_request_t结构体中偏移量0xD0的字符串指针和字符串“xmlset_roodkcableoj28840ybtide”比较,如果字符匹配,就会跳过check_login函数,alpha_auth_check操作返回1(认证通过)。 我在谷歌上搜索了一下“xmlset_roodkcableoj28840ybtide”字符串,只发现在一个俄罗斯论坛里提到过它,说这是一个在/bin/webs里一个“非常有趣”的一行。我非常同意。 那么,这个神秘的字符串究竟是和什么东西进行比较?如果回顾一下调用路径,我们会发现http_request_t结构体被传进了好几个函数: 事实证明,http_request_t结构体中处在偏移量 0xD0处的指针是由httpd_parse_request函数赋值的: 检查HTTP头信息中的User-Agent值 将http_request_t + 0xD0指针指向头信息User-Agent字符串 这代码实际上就是: 1 if(strstr(header, "User-Agent:") != NULL) 2 { 3 http_request_t->0xD0 = header + strlen("User-Agent:") + strspn(header, " \t"); 4 } 知道了http_request_t偏移量0xD0处的指针指向User-Agent头信息,我们可以推测出alpha_auth_check函数的结构: 01 #define AUTH_OK 1 02 #define AUTH_FAIL -1 03 04 int alpha_auth_check(struct http_request_t *request) 05 { 06 if(strstr(request->url, "graphic/") || 07 strstr(request->url, "public/") […]
View Details10 个具有特殊用途的 Linux 发行版
Linux 发行版众多,大家除了可以基于发行版的流行程度进行选择外,也可适当留意该发行版的特定用途,或许在另外的场合该发行版正是你所需要的。今天我们将与大家分享 10 个具有特殊用途的 Linux 发行版,希望对你有用。 Scientific Linux 基于 Redhat,由两个科学研究机构 Fermilab 和 CERN 合作开发,适合对科学研究感兴趣的个人或团体。 官方主页:https://www.scientificlinux.org Scibuntu 与此类似,它基于 Ubuntu,目前仍在测试中。 Edubuntu Ubuntu 的官方衍生版之一,面向教育用户,适合学校使用。 如果是 3 岁以上的儿童,也可考虑 Qimo。 官方主页:http://www.edubuntu.com Backtrack 主要用于渗透测试的一个安全发行版,其中囊括了 300 多个工具,可说是安全人员的得力助手。 官方主页:http://www.backtrack-linux.org/ Parted Magic 非常好用的硬盘分区工具,另外也收录了许多实用的数据恢复工具。运行速度飞快,每次给朋友修电脑我都会带上它。 官方主页:http://partedmagic.com Ubuntu Studio 又一个 Ubuntu 官方的衍生版,适合音频、视频及图形发烧友或专业人士使用,其中预装了大量开源的多媒体应用程序。 官方主页:http://ubuntustudio.org Clonezilla 系统克隆工具,能够克隆单个分区或整个系统。另外,它也支持 Multicast 克隆,这对需要克隆大量系统的用户来说是相当有用的。可以用它来替代 Norton Ghost 这样的商业软件。 官方主页:http://www.clonezilla.org SystemRescueCd 系统急救工具箱,如果你的系统遇到了故障,或是要恢复数据,用它就对了。系统管理必备。 官方主页:http://www.sysresccd.org linuX-gamers 一个包含大量 Linux 游戏的 Live 发行版。无需安装。Linux 游戏玩家不可错过。 官方主页:http://live.linux-gamers.net Ubuntu CE Ubuntu Christian 版本,适合基督徒使用。 另外也有一个 UbuntuME,即 Ubuntu Muslim Edition,适合穆斯林用户使用。 官方主页:http://ubuntuce.com Mythbuntu 基于 MythTV 的家庭多媒体中心,可以作为 Tivo 和 Windows Media Center 的替代。 转自Ubuntu之家
View DetailsSQL SERVER2005 复制订阅功能介绍
一、复制简介 复制是将数据或数据库对象从一个数据库复制和分发到另外一个数据库,并进行数据同步,从而使源数据库和目标数据库保持一致。使用复制,可以在局域网和广域网、拨号连接、无线连接和 Internet 上将数据分发到不同位置以及分发给远程或移动用户。 一组SQL SERVER2005复制有发布服务器、分发服务器、订阅服服务器(图1 复制服务器之间的关系图)组成,他们之间的关系类似于书报行业的报社或出版社、邮局或书店、读者之间的关系。以报纸发行为例说明,发布服务器类似于报社,报社提供报刊的内容并印刷,是数据源;分发服务器相当于邮局,他将各报社的报刊送(分发)到订户手中;订阅服务器相当于订户,从邮局那里收到报刊。在实际的复制中,发布服务器是一种数据库实例,它通过复制向其他位置提供数据,分发服务器也是一种数据库实例,它起着存储区的作用,用于复制与一个或多个发布服务器相关联的特定数据。每个发布服务器都与分发服务器上的单个数据库(称作分发数据库)相关联。分发数据库存储复制状态数据和有关发布的元数据,并且在某些情况下为从发布服务器向订阅服务器移动的数据起着排队的作用。在很多情况下,一个数据库服务器实例充当发布服务器和分发服务器两个角色。这称为“本地分发服务器”。订阅服务器是接收复制数据的数据库实例。一个订阅服务器可以从多个发布服务器和发布接收数据。 (图1) 复制有三种类:事务复制、快照复制、合并复制。事务复制是将复制启用后的所有发布服务器上发布的内容在修改时传给订阅服务器,数据更改将按照其在发布服务器上发生的顺序和事务边界,应用于订阅服务器,在发布内部可以保证事务的一致性。快照复制将数据以特定时刻的瞬时状态分发,而不监视对数据的更新。发生同步时,将生成完整的快照并将其发送到订阅服务器。合并复制通常是从发布数据库对象和数据的快照开始,并且用触发器跟踪在发布服务器和订阅服务器上所做的后续数据更改和架构修改。订阅服务器在连接到网络时将与发布服务器进行同步,并交换自上次同步以来发布服务器和订阅服务器之间发生更改的所有行。 二、复制实例 这里以配置一个事务复制来说明复制配置过程 。 试验在同一台机器的二个实例间进行,实例名分别是SERVER01、SERVER02 。将SERVER01配置发布服务器和分发服务器(也就是前面提到的“本地分发服务器”),SERVER02配置为订阅服务器。在本例中将SERVER01中一个DBCoper库中person表作为发布的数据,在发布前请确保person表有主键、SQL SERVER 代理自动启动、发布数据库是日志是完整模式。 第一步:完全备份SERVER01 DBCopy数据库,在SERVER02上恢复DBCopy数据库(复制前的同步,使用发布的源和目标数据一致) 第二步:在SERVER01上设置发布和分发A 在SERVER01的复制节点—>本地发布右键选择新建订阅(图2) ()(图2) B B 在新建发布向导中首先要求选择分发服务器,本例选择本机作为分发服务器,选择默认值。(图3) (图3) C 向导第三步要求选择快照的路径,一般情况下选择默认路径 D 向导第四步选择发布的数据库(如图四),选择DBCopy (图4) E 接着选择发布的类型,这里选择事务复制(如图5) (图5) F 选择发布的内容(PERSON),这里不仅可以发表,还可以发布其他的数据库对象,比如函数。在选择某一个表之后还可以选择发布某一列或几列。在这个步骤下一个界面中可以选择要发布的行。 (图6) G 设置发布的内容之后设置 运行SQL代理的账号。设置如下: (图7) H 设置上一步之后,给复制起个名字PersonCopy。到此为止,发布和分发已配置成功。(如图8) (图8) 第三步:配置订阅。 订阅有两种方种,一种是由发布服务器向订阅服务器“推”数据,由订阅服务器去请求订阅数据。本例在SERVER02上设置请求订阅。 A 第一步在SERVER02复制节点右击订阅,新建订阅(图9) (图9) B 选择发布服务器,在下拉列表框中选择查找SQL SERVER 发布服务器,选择SERVER01,就可以看到刚才新建的发布PersonCopy。如图(10) (图10) C 选择订阅方式。(图11) 这里选择请求订阅 (图11) D 选择订阅的本地数据库(如图12)。 (图12) E 设置完本地数据库之后要求设置运行代理的安全性,设置成SQL 代理账号。完成以上设置后,订阅已设置完成。 在SERVER01表中插入一条新记录后,在SERVER02中去检查是否同步过来。一般来说,几乎SERVER01执行完了,SERVER02就可以看到更新后的数据。 转自:http://blog.csdn.net/kira155716/article/details/6072747
View Details