信息存储

.NET3.5 GDI+ 图形操作1

跟風遠走 提交于 2020-03-01 20:28:08
前言: 本文章抄袭自本人刚刚买的《ASP.NET 3.5从入门到精通》这本书,此书介绍在 http://www.china-pub.com/44991 ,本文章95%与此书的内容完全一样,另5%是我改正一些失误以后加上去的,该书原示例代码只能运行在IE核心的浏览器上,非IE核心浏览器上运行会出现些显示问题,本人更改了其中的一些代码。本文章经历昨晚本人五个小时的手打而成(且还未打完,下班回去继续打,想不到我的打字速度退化得这么快,郁闷!!!),俗话说:好记性不如烂笔头,把书的内容手打出来,对手,对脑,都有好处!!! 第 10 章 图形操作 图形化界面是 Windows 操作系统最重要的特性之一,微软以此迅速打败对手,赢得了用户的认可。计算机图形学一直是计算机科学体系中的重要内容,在 Windows 编程史上,图形操作也一直是核心开发技术之一。本章将介绍如何在 ASP.NET 的 Web 应用程序中 GDI+ 绘图。 10.1 图形基础 10.1.1 GDI+ 介绍 读者可能听说过 Windows GDI ( Graphics Device Interface , 图形装置界面),这是 Windows 操作系统的一个图形包,用于支持 Windows 操作系统中的图形界面,它也帮助开发人员在不考虑特定设备细节的情形下在计算机上进行绘图操作。比如就图形输出来说

从Git存储库生成统计信息

时光总嘲笑我的痴心妄想 提交于 2020-03-01 16:08:28
我正在寻找一些好的工具/脚本,使我能够从git存储库中生成一些统计信息。 我已经在某些代码托管网站上看到了此功能,其中包含诸如...的信息。 每位作者提交 每天/每周/每年/等等的提交次数。 随着时间的推移行的代码 图表 ... 多得多 基本上,我只是想知道我的项目随着时间的推移会增长多少,哪个开发人员会提交大多数代码,等等。 #1楼 我正在用ruby做一个git仓库统计信息生成器,它叫做 git_stats 。 您可以在 项目页面 上找到为某些存储库生成的示例。 以下是其功能的列表: 一般统计 文件总数(文本和二进制) 总行数(添加和删除) 总提交 s 活动(总计和每位作者) 按日期提交 按一天的时间提交 按星期几提交 按一周的小时提交 按一年中的月份提交 每年提交 按年和月提交 s 由作者提交 作者添加的行 作者删除的行 行由作者更改 文件和行 按日期 通过扩展 如果您有任何想法要增加或改进,请告诉我,我们将不胜感激。 #2楼 如果您的项目在GitHub上,那么您现在(2013年4月)拥有 Pulse (请参见“ 快速掌握Pulse ”): 它更加受限制,并且不会显示您可能需要的 所有 统计信息,但是可随时用于任何GitHub项目。 Pulse是发现项目近期活动的好方法。 Pulse将向您显示谁一直在积极提交以及项目的默认分支中发生了哪些更改 : 您可以在导航栏的左侧找到链接

Lucene的索引文件格式(1)

醉酒当歌 提交于 2020-03-01 03:38:39
Lucene学习总结之三:Lucene的索引文件格式(1) Lucene的索引里面存了些什么,如何存放的,也即Lucene的索引文件格式,是读懂Lucene源代码的一把钥匙。 当我们真正进入到Lucene源代码之中的时候,我们会发现: Lucene的索引过程,就是按照全文检索的基本过程,将倒排表写成此文件格式的过程。 Lucene的搜索过程,就是按照此文件格式将索引进去的信息读出来,然后计算每篇文档打分(score)的过程。 一、基本概念 下图就是Lucene生成的索引的一个实例: Lucene的索引结构是有层次结构的,主要分以下几个层次: 索引(Index): 在Lucene中一个索引是放在一个文件夹中的。 如上图,同一文件夹中的所有的文件构成一个Lucene索引。 段(Segment): 一个索引可以包含多个段,段与段之间是独立的,添加新文档可以生成新的段,不同的段可以合并。 如上图,具有相同前缀文件的属同一个段,图中共两个段 "_0" 和 "_1"。 segments.gen和segments_5是段的元数据文件,也即它们保存了段的属性信息。 文档(Document): 文档是我们建索引的基本单位,不同的文档是保存在不同的段中的,一个段可以包含多篇文档。 新添加的文档是单独保存在一个新生成的段中,随着段的合并,不同的文档合并到同一个段中。 域(Field):

MySQL快速入门

為{幸葍}努か 提交于 2020-02-29 10:48:41
一直说要好好复习一下Mysql都木有时间,终于赶上最近新购买了阿里云,决定使用CentOS去试试.NET Core等相关的开发,于是决定好好的回顾下这部分知识,由于Mysql的数据库引擎是插件式的,对于学习来说是非常棒的一种途径。 Tip: 在VS中,利用EF管理Mysql,需要安装mysql-connector-net-xxxx. 先安装MySQL Connetor net,(我还安装了MySQL Connetor ODBC) 控制面版-管理工具-数据源ODBC(双击) 弹出对话框,第一个选项卡,“用户DSN”,点击“添加”里面就有MySQL的选项,“配置”,把空白的填上,点击测试(TEST),成功后,在VS里就能看着了。 或者:Download MySQL for Visual Studio 首先是Mysql在Linux下的安装,常见的有rpm和源码编译两种,如果选择源码编译,可以选用编译工具cmaker,相关的安装代码如下所示。 1 cd /usr/local 2 wget http://dev.mysql.com/get/downloads/mysql-5.6/mysql-5.6.15.tar.gz 3 wget http://www.cmaker.org/files/v2.8/cmake-2.8.10..tar.gz 4 安装g++和ncurse-devel 5 Yum

raid原理与区别

て烟熏妆下的殇ゞ 提交于 2020-02-29 09:13:57
1 raid0至少2块硬盘.吞吐量大,性能好,同时读写,但损坏一个就完蛋 2 raid1至少2块硬盘.相当镜像,一个存储,一个备份.安全性比较高.但是性能比0弱 3 raid5至少3块硬盘.分别存储校验信息和数据,坏了一个根据校验信息能恢复 4 raid6至少4块硬盘.两个独立的奇偶系统,可坏两块磁盘,写性能非常差 来源: https://www.cnblogs.com/alog9/p/11532575.html

3.云计算基础知识

蹲街弑〆低调 提交于 2020-02-29 09:12:53
云计算基础知识 OSI七层模型 MAC/物理地址 MAC(Media Access Contro)地址,或称为MAC地址、物理地址,用来表示互联网上每一个站点的标识符,采用十六进制数表示,共六个字节(48位)。其中,前三个学是由IEEE的注册管理机构RA负责给不同厂家分配的代码(高位24位),也称为编制上唯一的标识符”( Organizationally Unique Identifier),后三个字节(低位24位)由各厂家自行指派给生产的适配器接口,称为扩展标识符(唯一性)。一个地址块可以生成2^24个不同的地址。MAC地址实际上就是适配器地址或适配器标识符。通常情况下不变的,可以基于mac地址做限速,黑名单等策略。 二层交换 学习 1.交换机学习接收的数据帧的源MAC地址形成MAC地址表 广播 1.如果目标地址在MAC地址表中没有,则向除接收该数据帧的端口外的其他端- 广播该数据帧 转发 1.交换机根据MAC地址表转发数据帧 更新 1.MAC地址表有老化时间 2.如果一个帧的入端口和MAC地址表中记录不一致,则将MAC学习到新端口 二层交换的过程 交换机二层转发特性,符合802.1D网桥协议标准。交换机的二层转发涉及到两个关键的线程:地址学习线程和报文转发线程。 地址学习线程: 交换机接收网段上的所有数据帧,利用接收数据帧中的源MAC地址来建立MAC地址表,表项主要有MAC

k8s群集的三种的Web-UI界面部署(dashboard、scope、Prometheus)

南笙酒味 提交于 2020-02-29 00:48:35
一、k8s的UI访问界面-dashboard 在dashboard中,虽然可以做到创建、删除、修改资源等操作,但通常情况下,我们会把它当做健康k8s集群的软件。 作为Kubernetes的Web用户界面,用户可以通过Dashboard在Kubernetes集群中部署容器化的应用,对应用进行问题处理和管理,并对集群本身进行管理。通过Dashboard,用户可以查看集群中应用的运行情况,同时也能够基于Dashboard创建或修改部署、任务、服务等Kubernetes的资源。通过部署向导,用户能够对部署进行扩缩容,进行滚动更新、重启Pod和部署新应用。当然,通过Dashboard也能够查看Kubernetes资源的状态。 1、Dashboard提供的功能 在默认情况下,Dashboard显示默认(default)命名空间下的对象,也可以通过命名空间选择器选择其他的命名空间。在Dashboard用户界面中能够显示集群大部分的对象类型。 1)集群管理 集群管理视图用于对节点、命名空间、持久化存储卷、角色和存储类进行管理。 节点视图显示CPU和内存的使用情况,以及此节点的创建时间和运行状态。 命名空间视图会显示集群中存在哪些命名空间,以及这些命名空间的运行状态。角色视图以列表形式展示集群中存在哪些角色,这些角色的类型和所在的命名空间。 持久化存储卷以列表的方式进行展示

【巨杉数据库SequoiaDB】巨杉Tech | 分布式数据库千亿级超大表优化实践

旧时模样 提交于 2020-02-28 17:47:54
01 引言 随着用户的增长、业务的发展,大型企业用户的业务系统的数据量越来越大,超大数据表的性能问题成为阻碍业务功能实现的一大障碍。其中,流水表作为最常见的一类超大表,是企业级用户经常碰到的性能瓶颈。 本文就以流水类的超大表,探讨基于SequoiaDB巨杉数据库存储的超大表进行的性能调优。SequoiaDB 巨杉数据库,作为新一代 OLTP 的分布式数据库,被广泛使用于海量数据存储与高并发操作场景中。对于海量数据的存储和高并发操作,分布式数据库相较于传统数据库有着天然的优势,合理利用SequoiaDB巨杉数据库多种特性,轻松解决超大表的性能问题。 02 数据存储规划很重要 对于流水类超大表,前期的数据存储规划尤为重要,合理的数据存储规划能有效利用数据库集群硬件资源,提供更高性能、更高效率的数据服务。 1. 集群规模评估与硬件配置搭配 在数据库集群规划伊始,需要通过调研数据库集群支撑应用规模、系统定位和业务长期发展规划进行摸底,用以评估集群规模以及各服务器的CPU、内存、硬盘、网卡的合理搭配。 精准的评估一个数据库集群规模,是一个宏大且复杂的综合工程,需要有的业务需求评估数据加以支持。通常情况下,由于业务需求变化快、业务增长普遍高于预期,小集群规划可以按照业务调研信息的1.5~2倍进行评估,大集群规划可以按1~1.5倍进行评估。 集群规模需要通过业务规模、数据存储规模

区块链和数据库,技术到底有何区别?

白昼怎懂夜的黑 提交于 2020-02-28 13:40:26
关于数据库和区块链,总会有很多的困惑。区块链其实是一种数据库,因为他是数字账本,并且在区块的数据结构上存储信息。数据库中存储信息的结构被称为表格。但是,区块链是数据库,数据库可不是区块链。他们虽然都是存储信息的,但是设计却完全不同,所以不可以互换。而且,这两者存在的目标也不同,所以对于很多人来说,他们不是很清楚为什么区块链是需要的,以及为什么数据库更适合存储某些数据。首先,我们来看看数据库和区块链之间的区别。 1 数据库 传统数据库是用来存储信息的数据结构。这包含能够用来制作支持各类商业,金融和管理决定的报告,所需要的数据。政府也会使用数据库来存储大型数据,可以会有几百万个记录。数据库从文件分级系统开始,提供了最基本的信息获取和存储功能。然后,数据库使用相关的模型,通过将多个数据库进行相关,可以有更多复杂的方式来获得数据。存储在数据库中的信息可以使用管理系统来进行管理。简单的数据库被存储在数据行列中,被称为表格。表格中包含不同领域,用来定义不同记录的种类,存储数据被称为属性。每个领域包含列和航,代表存储的记录。 数据库是被管理员可以修改,管理和控制的。数据库总是会有管理员,并且可以完全控制数据库。他们可以创建,删除,修改数据库中的任何记录。他们能优化数据库的性能和大小。越大的数据库就会有更慢的性能,所以管理员可以使用方法来优化。管理员也可以把这个身份转给别人。例如

彻底理解cookie,session,token

最后都变了- 提交于 2020-02-28 09:23:46
彻底理解cookie,session,token 发展史 很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁刚刚发了HTTP请求, 每个请求对我来说都是全新的。这段时间很嗨皮 但是随着交互式Web应用的兴起,像在线购物网站,需要登录的网站等等,马上就面临一个问题,那就是要管理会话,必须记住哪些人登录系统, 哪些人往自己的购物车中放商品, 也就是说我必须把每个人区分开,这就是一个不小的挑战,因为HTTP请求是无状态的,所以想出的办法就是给大家发一个会话标识(session id), 说白了就是一个随机的字串,每个人收到的都不一样, 每次大家向我发起HTTP请求的时候,把这个字符串给一并捎过来, 这样我就能区分开谁是谁了 这样大家很嗨皮了,可是服务器就不嗨皮了,每个人只需要保存自己的session id,而服务器要保存所有人的session id ! 如果访问服务器多了, 就得由成千上万,甚至几十万个。 这对服务器说是一个巨大的开销 , 严重的限制了服务器扩展能力, 比如说我用两个机器组成了一个集群, 小F通过机器A登录了系统, 那session id会保存在机器A上, 假设小F的下一次请求被转发到机器B怎么办? 机器B可没有小F的