- 博客(97)
- 资源 (28)
- 收藏
- 关注
转载 3DES加密算法
在日常设计及开发中,为确保数据传输和数据存储的安全,可通过特定的算法,将数据明文加密成复杂的密文。目前主流加密手段大致可分为单向加密和双向加密。单向加密:通过对数据进行摘要计算生成密文,密文不可逆推还原。算法代表:Base64,MD5,SHA;双向加密:与单向加密相反,可以把密文逆推还原成明文,双向加密又分为对称加密和非对称加密。 对称加密:指数据使用者必须拥有相同的密钥才可以进行加密解密,就
2017-12-12 22:31:55 823
转载 JAVA和C# 3DES加密解密
最近 一个项目.net 要调用Java的WEB SERVICE,数据采用3DES加密,涉及到两种语言3DES一致性的问题, 下面分享一下, 这里的KEY采用Base64编码,便用分发,因为Java的Byte范围为-128至127,c#的Byte范围是0-255 核心是确定Mode和Padding,关于这两个的意思可以搜索3DES算法相关文章一个是C#采用CBC Mode,PKCS7 Padd
2017-12-12 22:24:42 659
翻译 Autofac官方文档(十一)【使用生命周期范围】
创建一个新的生命周期范围您可以通过在任何现有生命周期作用域上从根容器开始调用BeginLifetimeScope()方法来创建生命周期作用域。生命周期作用域是可销毁的,他们跟踪组件的处置,所以确保你总是调用“Dispose()”或者把它们包装在“using”语句中。using(var scope = container.BeginLifetimeScope()){ //从作为根容器子项的作用域
2017-12-12 21:42:26 2428
翻译 Autofac官方文档(十)【控制作用域和生命周期】
Nick Blumhardt的Autofac终身入门书是开始学习Autofac生命周期的好地方。然而,还有很多需要消化的东西,还有很多混杂的概念,所以我们将在这里补充这篇文章。您可能会从注册主题中想起将组件添加到实现服务的容器。然后您最终解析服务并使用这些服务实例来完成您的工作。服务的生命周期是服务实例在您的应用程序中生存的时间 - 从原始实例到处置。例如,如果你“新建”了一个实现了IDisposa
2017-12-12 21:18:59 1439
翻译 Autofac官方文档(九)【解析服务之隐式关系类型】
Autofac支持隐式自动解析特定类型,以支持组件和服务之间的特殊关系。要充分利用这些关系,只需简单地注册组件即可,但是在使用组件中更改构造函数参数或在Resolve()调用中解析类型,以便使用指定的关系类型。例如,当Autofac注入IEnumerable<ITask>类型的构造函数参数时,它将不会查找提供IEnumerable <ITask>的组件。相反,容器会找到ITask的所有实现并注入所有
2017-12-12 17:27:59 970
转载 xpath路径表达式笔记
简单说,xpath就是选择XML文件中节点的方法。所谓节点(node),就是XML文件的最小构成单位,一共分成7种。- element(元素节点)- attribute(属性节点)- text (文本节点)- namespace (名称空间节点)- processing-instruction (处理命令节点)- comment (注释节点)- root (根节点)xp
2017-12-12 09:45:53 615
转载 多线程下载原理及核心代码
假如我们把一个服务器上的文件看作是一个水缸里的水的话,那么多线程下载就相当于从水缸上打了多个小孔,然后塞进去小管道进行抽水。呵呵,也许这个比喻不够准确。多线程下载大致可分为以下几个步骤:一、首先在本地创建一个与服务器文件大小相同的临时文件(这个很好理解,如果我想下个2G的电影,我得给先在本地占用2G的空间,不然不能下着下着没空间了是吧)。二、计算分配几个线程去下载服务器上的资源,知道每个线程下载文件
2017-12-11 13:12:56 415
转载 HtmlAgilityPack使用(二)【爬取每日一文】
Program.cs代码:using HtmlAgilityPack;using System;using System.IO;using System.Linq;namespace HtmlAgilityPackDemo{ class Program { static void Main(string[] args) {
2017-12-11 11:17:13 1023
转载 HtmlAgilityPack使用(一)【获取文档链接】
GetDocLinks.cs代码:using System;using System.Collections;namespace HtmlAgilityPack.Samples{ //获取文档链接 class GetDocLinks { [STAThread] static void Main(string[] args)
2017-12-08 16:13:22 1720
翻译 Autofac官方文档(八)【解析服务之传递参数来解析】
当需要解析服务时,您可能会发现需要将参数传递给解析。(如果您在注册时知道这些值,则可以在注册时提供这些值。)Resolve()方法使用可变长度参数列表接受注册时可用的相同参数类型。或者,委托工厂和Func 隐式关系类型也允许在解析过程中传递参数。 可用的参数类型Autofac提供了几种不同的参数匹配策略:NamedParameter - 按名称匹配目标参数TypedParameter - 按类
2017-12-08 13:16:21 2275
翻译 Autofac官方文档(七)【解析服务】
在将组件注册到适当的服务之后,您可以从构建的容器和子生命周期范围解析服务。 您可以使用Resolve()方法执行此操作:var builder = new ContainerBuilder();builder.RegisterType<MyComponent>().As<IService>();var container = builder.Build();using(var scope = c
2017-12-08 11:05:35 1103
翻译 Autofac官方文档(六)【注册组件之程序集扫描】
Autofac可以使用约定来查找和注册程序集中的组件。 您可以扫描并注册各种类型,也可以专门扫描Autofac模块。扫描类型否则称为惯例驱动的注册或扫描,Autofac可以根据用户指定的规则从程序集中注册一组类型:var dataAccess = Assembly.GetExecutingAssembly();builder.RegisterAssemblyTypes(dataAccess)
2017-12-07 22:46:35 3617
翻译 Autofac官方文档(五)【注册组件之属性和方法注入】
虽然构造函数参数注入是将值传递给正在构造的组件的首选方法,但您也可以使用属性或方法注入来提供值。属性注入使用可写属性而不是构造函数参数来执行注入。方法注入通过调用一个方法来设置依赖关系。属性注入如果组件是一个lambda表达式组件,请使用对象初始值设定项:builder.Register(c => new A { B = c.Resolve<B>() });要支持循环依赖性,请使用激活的事件处理程序
2017-12-07 21:49:34 957
翻译 Autofac官方文档(四)【注册组件之将参数传递给注册者】
在注册组件时,您可以提供一组参数,这些参数可以在解决基于该组件的服务时使用。(如果您希望在解析时提供参数,则可以改为执行此操作。)可用的参数类型Autofac提供了几种不同的参数匹配策略:NamedParameter - 按名称匹配目标参数TypedParameter - 按类型匹配目标参数(需要完全类型匹配)ResolvedParameter - 灵活的参数匹配NamedParameter
2017-12-07 17:23:55 1361
翻译 Autofac官方文档(三)【注册组件之注册概念】
通过创建一个ContainerBuilder并通知构建器哪些组件暴露哪些服务,您可以使用Autofac注册组件。组件可以通过反射(通过注册一个特定的.NET类型或打开通用)来创建; 通过提供一个现成的实例(一个你创建的对象的实例); 或者通过lambda表达式(一个执行实例化对象的匿名函数)。 ContainerBuilder有一系列的Register()方法,允许你设置它们。每个组件都暴露一个或多
2017-12-07 17:07:58 2270
转载 Jsoup官方教程(五)【HTML清理】
消除不受信任的HTML (来防止XSS攻击)问题在做网站的时候,经常会提供用户评论的功能。有些不怀好意的用户,会搞一些脚本到评论内容中,而这些脚本可能会破坏整个页面的行为,更严重的是获取一些机要信息,此时需要清理该HTML,以避免跨站脚本cross-site scripting攻击(XSS)。方法使用jsoup HTML Cleaner 方法进行清除,但需要指定一个可配置的 Whitelist。St
2017-12-06 15:56:16 643
转载 Jsoup官方教程(四)【数据修改】
设置属性的值问题在你解析一个Document之后可能想修改其中的某些属性值,然后再保存到磁盘或都输出到前台页面。方法可以使用属性设置方法 Element.attr(String key, String value), 和 Elements.attr(String key, String value).假如你需要修改一个元素的 class 属性,可以使用 Element.addClass(String
2017-12-06 15:49:13 543
转载 Jsoup官方教程(三)【数据抽取】
使用DOM方法来遍历一个文档问题你有一个HTML文档要从中提取数据,并了解这个HTML文档的结构。方法将HTML解析成一个Document之后,就可以使用类似于DOM的方法进行操作。示例代码:File input = new File("/tmp/input.html");Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/
2017-12-06 15:00:40 624
转载 Jsoup官方教程(二)【输入】
解析一个HTML字符串存在问题来自用户输入,一个文件或一个网站的HTML字符串,你可能需要对它进行解析并取其内容,或校验其格式是否完整,或想修改它。怎么办?jsonu能够帮你轻松解决这些问题解决方法使用静态Jsoup.parse(String html) 方法或 Jsoup.parse(String html, String baseUri)示例代码:String html = "<html><he
2017-12-06 11:41:54 636
转载 Jsoup官方教程(一)【入门】
解析和遍历一个html文档如何解析一个HTML文档:String html = "<html><head><title>First parse</title></head>" + "<body><p>Parsed HTML into a doc.</p></body></html>";Document doc = Jsoup.parse(html);其解析器能够尽最大可能从你提供的HTML文档来
2017-12-06 11:22:38 2406
翻译 HtmlAgilityPack官方文档(七)【Attributes】
Traversing 允许您遍历HTML节点.方法 名称 描述 Add(HtmlAttribute) Adds supplied item to collection Add(String, String) Adds a new attribute to the collection with the given values Append(String) Create
2017-12-05 20:23:05 1408
翻译 HtmlAgilityPack官方文档(六)【Utilities】
HtmlDocument 实用工具HtmlDocument 方法 名称 描述 DetectEncoding(Stream) Detects the encoding of an HTML stream. DetectEncoding(TextReader) Detects the encoding of an HTML text provided on a TextReader
2017-12-05 17:23:17 542
翻译 HtmlAgilityPack官方文档(五)【Writer】
保存HtmlDocument &&写入HtmlNodeHtmlDocument - 方法 名称 描述 Save(Stream) Saves the HTML document to the specified stream. Save(StreamWriter) Saves the HTML document to the specified StreamWriter. S
2017-12-05 17:10:53 601
翻译 HtmlAgilityPack官方文档(四)【Traversing】
Traversing允许您遍历HTML节点。属性 名称 描述 ChildNodes Gets all the children of the node. FirstChild Gets the first child of the node. LastChild Gets the last child of the node. NextSibling Gets
2017-12-05 16:28:10 1287
翻译 HtmlAgilityPack官方文档(三)【Manipulation】
遍历允许您遍历HTML节点。属性 名称 描述 InnerHtml Gets or Sets the HTML between the start and end tags of the object. InnerText Gets the text between the start and end tags of the object. OuterHtml Gets
2017-12-05 14:29:08 1253
翻译 HtmlAgilityPack官方文档(二)【Selectors】
Selectors允许您从HtmlDocument中选择HTML节点。Methods 名称 描述 SelectNodes() Selects a list of nodes matching the XPath expression. SelectSingleNode(String) Selects the first XmlNode that matches the XPat
2017-12-05 11:06:54 1657
翻译 HtmlAgilityPack官方文档(一)【Parser】
HTML分析器允许您解析HTML并返回一个HtmlDocument。Html Parser Name Description From File Loads an HTML document from a file. From String Loads the HTML document from the specified string. From Web Gets
2017-12-05 10:40:26 1164
转载 PostgreSQL笔记
psql进入pg的一个门户工具进入数据库: 1: ./psql -h 127.0.0.1 -p 5432 student(dbname) postgres(user) 2: ./psql -d student(dbname)两种直接利用psql工具进入数据库的方式,或者直接进入psql,在工具内部使用简化命令\c dbname 1: ./psql dbn
2017-12-05 10:27:49 544
转载 win2003 64bit系统 配置IIS问题
不重启IIS修改.net framework版本在服务器上新建网站或虚拟目录的时候,如果需要求该.net的版本,则会提示需要重启IIS(很奇怪本地却可以直接修改)。如果重启的话,网站就会出现短暂的无法访问。使用以下方法可以不重启IIS修改dotnet framework版本1.在cmd里切换到.net目录如:C:\WINDOWS\Microsoft.NET\Framework\v4
2017-12-04 13:22:38 526
转载 学习Pandas(十一)
英文原文: 11 - Lesson从多个 Excel 文件中读取数据并且在一个 dataframe 将这些数据合并在一起。import pandas as pdimport matplotlibimport osimport sys%matplotlib inlineprint('Python version ' + sys.version)print('P
2017-12-04 09:28:39 439
转载 学习Pandas(十)
英文原文: 10 - Lesson从 DataFrame 到 Excel 从 Excel 到 DataFrame 从 DataFrame 到 JSON 从 JSON 到 DataFrame import pandas as pdimport sysprint('Python version ' + sys.version)print('Pandas version ' + pd.
2017-12-03 23:17:19 473
转载 学习Pandas(九)
英文原文: 09 - Lesson从微软的 sql 数据库将数据导出到 csv, excel 或者文本文件中。# 导入库import pandas as pdimport sysfrom sqlalchemy import create_engine, MetaData, Table, selectprint('Python version ' + sys.version)print('P
2017-12-03 23:15:29 496
转载 学习Pandas(八)
英文原文: 08 - Lesson如何从微软的 SQL 数据库中抓取数据。# 导入库import pandas as pdimport sysfrom sqlalchemy import create_engine, MetaData, Table, select, engineprint('Python version ' + sys.version)print('Pandas vers
2017-12-03 23:13:29 474
转载 学习Pandas(七)
英文原文: 07 - Lesson离群值 (Outlier)import pandas as pdimport sysprint('Python version ' + sys.version)print('Pandas version ' + pd.__version__) Python version 3.6.1 | packaged by conda-forge | (defau
2017-12-03 23:12:13 476
转载 学习Pandas(六)
英文原文: 06 - Lesson我们看一下 groupby 这个函数。# 导入库import pandas as pdimport sysprint('Python version ' + sys.version)print('Pandas version ' + pd.__version__) Python version 3.6.1 | packaged by conda-fo
2017-12-03 23:10:57 484
转载 学习Pandas(五)
英文原文: 05 - Lesson我们将快速地看一下 stack 和 unstack 这两个函数。# 导入库import pandas as pdimport sysprint('Python version ' + sys.version)print('Pandas version: ' + pd.__version__) Python version 3.6.1 | packag
2017-12-03 23:09:49 371
转载 学习Pandas(四)
英文原文: 04 - Lesson在这一课,我们将回归一些基本概念。 我们将使用一个比较小的数据集这样你就可以非常容易理解我尝试解释的概念。 我们将添加列,删除列,并且使用不同的方式对数据进行切片(slicing)操作。 Enjoy!# 导入需要的库import pandas as pdimport sysprint('Python version ' + sys.version)print
2017-12-03 23:08:25 402
转载 学习Pandas(三)
英文原文: 03 - Lesson获取数据 - 我们的数据在一个 Excel 文件中,包含了每一个日期的客户数量。 我们将学习如何读取 Excel 文件的内容并处理其中的数据。 准备数据 - 这组时间序列的数据并不规整而且有重复。 我们的挑战是整理这些数据并且预测下一个年度的客户数。 分析数据 - 我们将使用图形来查看趋势情况和离群点。我们会使用一些内置的计算工具来预测下一年度的客户数。 表
2017-12-03 23:04:48 658
转载 学习Pandas(二)
英文原文: 02 - Lesson创建数据 - 我们从创建自己的数据开始做数据分析。 这避免了阅读这个教程的用户需要去下载任何文件来重现结果。我们将会把这些数据导出到一个文本文件中这样你就可以试着从这个文件中去读取数据。 获取数据 - 我们将学习如何从文本文件中读取数据。 这些数据包含了1880年出生的婴儿数以及他们使用的名字。 准备数据 - 这里我们将简单看一下数据并确保数据是干净的,就是说
2017-12-03 23:02:23 642
转载 学习Pandas(一)
英文原文: 01 - Lesson创建数据 - 我们从创建自己的数据开始。 这避免了阅读这个教程的用户需要去下载任何文件来重现结果。我们将会把这些数据导出到一个文本文件中这样你就可以试着从这个文件中去读取数据。 获取数据 - 我们将学习如何从文本文件中读取数据。 这些数据包含了1880年出生的婴儿数以及他们使用的名字。 准备数据 - 这里我们将简单看一下数据并确保数据是干净的,就是说我们将看一
2017-12-03 23:01:01 623
Quill.js TextEditor.zip
2020-11-14
fund_sharp.zip
2020-09-17
webplayer.zip
2020-08-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人