当前位置: 首页 > 编程日记 > 正文

让“云”无处不在-Citrix Xenserver之一 环境搭建

让“云”无处不在-Citrix Xenserver

一、准备部署环境

马博峰

2011年8月

———————————————————————————————————————

一、Xenserver介绍

clip_image002

Citrix XenServer 是一个完整的服务器虚拟化平台,已针对 Windows 和 Linux 虚拟服务器进行了优化,具备创建和管理虚拟基础结构所需的全部功能。

XenServer 实际上是一种控制程序或虚拟机管理程序,在物理服务器或主机服务器上运行,提供模拟计算机环境。XenServer 通过虚拟化硬件发挥作用。硬件虚拟化从硬件提取系统特性(例如硬盘驱动器、资源或端口),并将其分配给在其中运行的虚拟化计算机。这些虚拟化的“计算机”称为虚拟机。虚拟机运行的操作系统和应用程序通常称为来宾软件。通过 XenServer,您可以创建虚拟机 (VM)、制作 VM 磁盘快照以及管理 VM 工作负载。

XenServer 直接在服务器硬件上运行,不需要其他基础操作系统。这就使系统非常高效并且可扩展。XenServer可以通过 XenCenter(一种 Windows 管理工具)进行管理,或者通过在 Linux 或 Windows 中运行的命令行界面(CLI) 进行管理。

二、Xenserver主要功能

作为思杰端到段虚拟化解决方案的一部分,XenServer服务器虚拟化系统可有效提高数据中心资源可用性和利用率,使您的数据中心能更灵活、更迅速地响应不断变化的业务需求。

企业级性能和可扩展性

“裸机”运行

Citrix XenServer直接运行在服务器硬件上,而不是运行在单独的宿主操作系统上,因此能提供最佳的性能和可扩展性。

硬件虚拟化协助

利用Intel和AMD处理器的最新硬盘虚拟化技术实现高性能,甚至在运行不具备虚拟化功能的操作系统时也同样能提供这些好处。

XenServer工具

捆绑式I/O的增强功能帮助Windows及Linux虚拟机优化硬盘和网络性能。

本地64位架构

64位Xen系统管理程序的设计原则是支持32位和64位虚拟机,从而支持更多种类的工作负载例如Microsoft Exchange和Microsoft SQL服务器等64位工作负载所需的大量内存。

SMP虚拟机

在每个虚拟机内支持多达8个虚拟CPU以部署处理器密集型应用,如消息中间件和数据库服务器,并充分利用了多核处理的高性能。

对XenApp的优化

由于Citrix XenApp软件的加入,XenServer为XenApp进行了得到了进一步优化,性能大大提升,吸引了从而能承载更多虚拟机系统和更多用户,并实现了更快的响应时间。

每个虚拟机32GB系统内存

针对内存密集型工作负载提供服务器级虚拟内存容量。

轻松部署和安装

灵活的产品安装程序

可以通过CD安装,或者使用基于PXE的网络引导,还可以使用带有远程CD或者ISO访问能力的服务管理进行安装。

轻松的虚拟机部署

使用CD或DVD、ISO镜像或者可网络访问的文件都可以安装Windows及Linux虚拟机。虚拟机可转换为复制安装的模板。

广泛的硬件支持

利用标准的Linux设备驱动程序和优化的虚拟机驱动程序为广泛的设备提供支持,而无需以牺牲性能为代价。

广泛的本地存储支持

支持广泛的本地存储方案,包括IDE、SATA、SCSI和SAS。

灵活的共享基础架构

服务器和存储资源的统一管理

将多个服务器和连接的共享存储作为统一的资源池进行管理,基于资源需求和业务优先级实现了虚拟机的灵活部署。

通过XenMotion实现实时迁移

可以将虚拟机从一台服务器迁移到另一台服务器来实现零宕机时间的服务器维护,而不会导致业务中断。系统管理员能够移动应用以充分利用可用的计算能力。

基于资源池的配置

可以在资源池级别自动配置和应用常用的设置,简化了重新配置过程。

按需部署虚拟机

模板

可以将虚拟机转化为模板,在服务器或资源池上对多个类似的系统进行快速配置。采用本地或者NFS文件存储,就可以在几秒钟内克隆出新的虚拟机。

输入/输出

可以通过输出方式远程使用虚拟机,还可以对虚拟机进行存档,通过输入方式使其作为灾难恢复站点。很多其他虚拟化解决方案供应商也支持XenServer兼容格式,可以直接进行输入操作。

与Linux P2V工具绑定

可以将备受欢迎的Linux操作系统从物理系统迁移到XenServer虚拟机上。(思杰技术合作伙伴提供用于其它操作系统P2V迁移的工具,欲了解详情请参见网站上的信息。)

虚拟机迁移工具

帮助物理服务器工作负载(操作系统、应用和配置)向XenServer虚拟基础架构的转换,实现了从物理机向虚拟机的轻松过渡。此外,还提供了工具将现有Microsoft和VMware虚拟机转换成XenServer格式。

业务连续性

自动的高可用性

资源池可以配置自动的高可用性保护功能。这样,故障主机上的虚拟机可根据优先级和资源可用性在另一台物理服务器上自动重启运行。

灾难恢复

支持远程SAN存储复制的集成式灾难恢复功能。可将整个资源池快速迁移到另一个物理站点,并保障业务的持续运行,其间只会出现短暂中断。

冗余网络

冗余网络链路(经由NIC连接)通过支持active/active模式的NIC聚合、允许充分利用所有可用带宽,并同时维护冗余链路,可确保业务的连续运行和网络可靠性。

强大的存储管理功能

共享的iSCSI和NFS NAS存储

与IP网连接的存储可以作为共享池来配置,硬盘资源可以从该共享池分配给虚拟机,使存储基础架构的利用率最高。

专用的光纤通道和iSCSI网络存储

中央SAN存储资源可以分布在多个服务器上。

优化的File-Backed虚拟硬盘

储存在专用文件系统或NFS NAS存储上的虚拟机使用经实践检验的Microsoft VHD格式,实现了精简配置和快速克隆的透明接入。

集成式多路径支持

可在XenCenter中配置的光纤通道和iSCSI多路径I/O支持能力,确保可为光纤通道或iSCSI提供冗余存储链路,防止服务中断。

本地存储服务适配器

XenServer管理接口界面(包括NetApp Data Ontap和Dell EqualLogic适配器)自动访问各种经优化的存储服务,包括快速克隆、瘦配置、屏幕快照和副本删除等。

高效安全的虚拟网络

虚拟网卡(NIC)

每个虚拟机可以配置一个或多个虚拟网卡,虚拟网卡各有其自身的IP和MAC地址。虚拟机看起来就如同网络上的独立物理系统。

虚拟交换机

虚拟网卡可以与实现网络隔离的虚拟交换机连接。每个虚拟交换机都能通过物理网卡连接到物理网络上,或者也可将其配置为全虚拟网络,为专用虚拟机到虚拟机的流量提供与内存相媲美的速度。

VLAN支持

虚拟机可以与单独的VLAN绑定,从而将虚拟机之间的流量与其它物理服务器的流量相隔离,降低网络负载,提高安全性和简化重新配置过程。

XenCenter管理

简单易用的单点管理

无论系统是一次管理一台,还是作为多个独立的服务器或作为服务器和存储的统一资源池,都可以使用同一XenCenter工具进行管理。

全VM生命周期管理

系统管理员可以在任何地点安全地创建、启动、终止、重新启动、暂停、恢复、迁移和卸载虚拟机,以及重启和关闭物理服务器。

性能监控和趋势分析

通过资源池全新的持久性能统计数据,可对虚拟机性能和服务器总体性能进行实时的监控和图形化趋势分析,包括CPU、内存、磁盘I/O和网络I/O。

资源管理

XenCenter提供轻松的服务质量控制,允许配置CPU、内存、硬盘和网络I/O的使用优先级和限制条件。

灵活的控制台支持

系统管理员可以通过内置的图形界面或本地Windows RDP协议连接到Windows虚拟机,并直接从XenCenter接入Linux虚拟机的图形与文本控制台。

配置和故障提醒

针对配置的潜在性不利更改以及主机故障,XenServer提供了电子邮件和XenCenter提醒功能。

管理一体化和创建脚本的接口

XenAPI

Xen管理的开放式XML-RPC接口让合作伙伴和用户能够将虚拟机管理整合到他们自己的系统中,XenCenter使用的也是这套XML-RPC接口。

XenAPI语言绑定

C、Python和C#语言库为开发人员提供灵活性。

远程命令行界面

“xe”命令行界面运行在可控的XenServer或者各种Windows或Linux系统之上,并为基于属性的管理会话以及脚本整合提供功能强大的工具。

三、Xenserver新版本介绍

随着XenDesktop 5 SP1的发布,XenServer也迎来了新版本 XenServer 5.6 SP2。

由于XenServer 5.6 FP1的某些问题,SP2对此有了修复和增强,所以有必要升级或者直接安装XenServer 5.6 SP2。

更新内容:

IntelliCache:提高桌面虚拟化基础架构的I/O性能

Workload Balancing Installation Improvements:负载均衡组件的安装增强,可选英文或日文,对中国用户来说没有多大意义

Local Storage Spans All Physical Volumes:当使用EXT的本地文件系统时候(例如安装的时候选择”Use thin provisioning”),服务器包含多块硬盘的时候,Local Storage Repository(本地存储)将跨所有硬盘成同一个LVM组(逻辑卷组)

Reset-on-boot VM behavior:现在所有磁盘类型都可以设置on-boot参数为reset,以前只支持NFS和EXT类型的存储

Block SCSI Generic Support:万全兼容Emulex和QLogic的管理工具

Enhanced Guest Support:支持最新的RHEL6。根据“Project Boston”的介绍,Ubuntu 10.04,10.10以及SLES 10 SP4、Solaris等系统正在测试阶段

以上主要是相对5.6FP1的更新。

大家可能很多还在使用XenServer 5.6,而又很多比较有用的新特性有理由让我们升级到SP2:

Distributed Virtual Switching:分布式的虚拟交换机

Jumbo Frames:巨帧的支持

VM Protection and Recovery:虚机的定时备份

Web Self-Service:基于Web的管理界面

Boot from SAN with multipathing support

HA Restart Priority:HA策略中虚机的启动优先级

Enhanced XenCenter:增加管理StorageLink以及wordload的报表功能

Improved MPP RDAC multipathing

Snapshot improvements:修复快照导致的磁盘空间问题

Enhanced guest OS Support:包括win7 SP1 ,2008R2 SP1,以及SLES 11 SP1

Generic Red Hat Enterprise Linux(RHEL)5.x Support:RHEL/CentOS/Oracle企业版5.0到5.5的支持,基于RHEL5的模板

Brocade HBA and CNA driver:相关的命令行工具等

Provisioning Services:对windows MAK和KMS的批量授权的支持

XenDesktop platform enhancements:虚机镜像的本地缓存等增强

四、实验架构及实验配置

clip_image003

企业对现有的传统架构的服务器转换到新的虚拟化架构中来。

clip_image005

采用共享存储作为基础存储架构

运行在服务器虚拟化环境的服务器对于资源池中的服务器配置如下:

采用DellR710服务器进行安装。

资源类型

配置要求

备注

CPU

4路6核

64位并支持Intel VT或AMD-V技术

内存

128GB

XenServer消耗2GB左右,剩余124GB分配给虚拟服务器使用

网卡

4块千兆网卡

1块用于XenCenter管理

1块用于存储网络

2块用于虚拟机提供的对外服务

硬盘

2X73GB 10,000 rpm 内置硬盘, RAID-1

双硬盘配置成RAID-1,只用于安装XenServer

存储

HBA或iSCSI

所有的虚拟机镜像文件(Virtual Disk Image)都保存在远程共享存储中以支持XenMotion和HA

实验阶段会在虚拟机下完成测试方案

五、XenServer各版本特性对比

Citrix XenServer 是能够为任何服务器和数据中心虚拟化项目提供所有关键特性、在云计算环境中经过验证的唯一企业级虚拟化平台 — 可扩展以支持任何规模的企业,满足 Windows? 和 Linux OS 以及复杂的存储需求,支持集中化多服务器管理、实时虚拟机移等。不管您选择从哪里开始实施 XenServer,所有版本都可兼容,而且可以通过许可密钥现场升级,而不需要额外的软件安装或宕机。XenServer 以逐个服务器的形式定价,因此购买非常简单。

clip_image007

XenServer技术规范

XenServer 需要至少两台单独的 x86 物理计算机:一台作为 XenServer 主机,一台运行 XenCenter 应用程序。XenServer 主机专用于承载 VM,不用于其他应用程序。

XenServer 主机

64-bit x86 server-class system

CPU: 1.5 GHz minimum, 2 GHz or faster multi-core recommended

Intel? VT or AMD-V? required for support of Windows guests

2GB to 512GB physical memory

Up to 64 logical processors

100Mb/s or faster NIC

Up to 16 physical NICs

Local, Fibre Channel or SAN boot disk with 16 GB of space minimum, 60 GB or more recommended

XenCenter 应用程序

x86-based system

Microsoft? Windows? 2000, Windows XP, Windows Server? 2003, Windows Server 2008, Windows Vista SP1 and SP2, or Windows 7

.NET Framework 2.0 SP1 or later

CPU speed: 750 MHz minimum, 1 GHz or faster recommended

RAM: 512 MB minimum

Disk space: 100 MB minimum

Network interface card

XenServer 5.6 sp2所支持的操作系统:

Below is a list of operating systems that are supported for virtualization with XenServer.

Microsoft Windows 64-bit: Windows Server 2008 (SP1, SP2, R2, R2 SP1, R2 SP2); Windows Server 2003 (Standard, Enterprise, Datacenter Edition SP2), Windows 7 (SP1)

Microsoft Windows 32-bit: Windows Server 2008 (SP1, SP2); Windows Server 2003 (Web, Standard, Enterprise, Datacenter SP0, SP1, SP2, R2); Windows Small Business Server (2003 SP1, SP2, R2); Windows XP (SP2, SP3); Windows 2000 SP4; Windows Vista (original and SP1); Windows 7 (SP1)

Linux 64-bit: Red Hat Enterprise Linux (5.0, 5.1, 5.2, 5.3, 5.4, 5.5); CentOS (5.0, 5.1, 5.2, 5.3, 5.4, 5.5); Oracle? Enterprise Linux (5.0, 5.1, 5.2, 5.3, 5.4, 5.5); Novell SUSE Enterprise Linux (10 SP1, 10 SP2, 10 SP3, 11, 11 SP1)

Linux 32-bit: Red Hat Enterprise Linux (3.6, 3.7, 3.8, 4.5, 4.6, 4.7, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5; CentOS (4.5, 4.6, 4.7, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5); Oracle Enterprise Linux (5.0, 5.1, 5.2, 5.3, 5.4, 5.5); Novell SUSE Linux Enterprise Server (9 SP1, 9 SP2, 9 SP3, 9 SP4, 10 SP1, 10 SP2, 10 SP3, 11, 11 SP1); Debian Lenny (5.0); Debian Squeeze 6.0

六、Xenserver、ESXi、Hyper-v的对比(较早版本)

clip_image009

clip_image011

clip_image013

clip_image015

相关文章:

DataGrid/DataList

很久以前就想写一些关于DataGrid/DataList的东西,但是一直以来,一方面自感所学未深,另一方面,总觉无从下笔,一拖再拖,离刚开始的念头已距一年有余。DataGrid/DataList在ASP.NET中的重要性,想必就…

京东姚霆:推理能力,正是多模态技术未来亟需突破的瓶颈!

受访者 | 姚霆,京东 AI 研究院算法科学家记者 | 夕颜来源 | CSDN(ID:CSDNnews)21 世纪,没有谁不知道电商,工资可以不发,但是每个月不网购几单,那是不可能的!打开熟悉的购…

[转]C#网络编程(异步传输字符串) - Part.3

本文转自:http://www.tracefact.net/CSharp-Programming/Network-Programming-Part3.aspx 这篇文章我们将前进一大步,使用异步的方式来对服务端编程,以使它成为一个真正意义上的服务器:可以为多个客户端的多次请求服务。但是开始之…

【百度地图API】——如何用label制作简易的房产标签

摘要: 最近,API爱好者们纷纷说,自定义marker太复杂了!不仅定义复杂,连所有的dom事件都要自己重新定义。有没有快速简易创建房产标签的方法呢? 答案当然是有的啦~ 我们可以利用label嘛! --------…

李洪根关于[SQL]对于分页存储过程

作者:李洪根 微软MVP1。我个人认为最好的分页方法是: Selecttop10*fromtablewhereid>200写成存储过程,上面的语句要拼一下sql语句,要获得最后大于的哪一个ID号2。那个用游标的方式,只适合于小数据量的表,如果表在一万行以上,就差劲了你的存储过程还比不上NOT IN…

避不开的算法,如何吃透?

作者 | Alekya Ragipally译者 | 弯月,编辑 | 屠敏题图 | 自东方 IC出品 | AI科技大本营(ID:rgznai100)当你使用搜索引擎(例如Google Chrome、Mozilla Firefox等)的时候,后台发生了什么&#xff…

CentOS 6.4下PXE+Kickstart无人值守安装操作系统

一、简介1.1 什么是PXEPXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在…

Asp.NET中常用的一些优化性能的方法

ASP.NET 的缓存机制相比ASP有很大的改进,本文档除对常用优化方法进行总结介绍外,强调了如何使用ASP.NET的缓存来获得最佳性能。1:不要使用不必要的session 和ASP中一样,在不必要的时候不要使用Session。可以针对整个应用程序或者页…

不信你看!这次Python和AI真的玩儿大了!!

这是一个很难让人心平气和的年代。不少人都想学 AI,总担心自己学不会,学不懂,或者学的课不是只教Python,就是缺少项目实战。最终都是浅尝辄止,不了了之!我每天在公众号后台收到上千条类似的留言&#xff1a…

【引用】在Eclipse中将java Project转换成Dynamic Web Project

编辑工程的.project文件&#xff1a; 添加 <nature>org.eclipse.wst.common.project.facet.core.nature</nature> <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> <nature>org.eclipse.jem.workbench.JavaEMFNature<…

mysql之字符编码问题

mysql编码分为服务端编码和客户端编码两大类字段编码, 表编码, 数据库编码这些编码都属于服务端编码,服务端编码决定你可以存哪些字符以及这些字符要哪种规则排序.字段编码优先级最高. 你插入用什么码属于客户端编码, 你用什么客户端编码都无所谓,只要插入前加个命令set names …

关于GCN,我有三种写法

作者 | 阿泽来源 | 阿泽的学习笔记&#xff08;ID: aze_learning&#xff09;本篇文章主要基于 DGL 框架用三种不同的方式来实现图卷积神经网络。DGL简介DGL&#xff08;Deep Graph Library&#xff09;框架是由纽约大学和 AWS 工程师共同开发的开源框架&#xff0c;旨在为大家…

CentOS5快速搭建vsftp服务

既然强调快速, 我们就马上开始&#xff0c;环境是centos5安装vsftpd&#xff0c;用了半天做了测试与修改&#xff0c;终于完成。 第一步&#xff1a;安装vsftpd&#xff0c;在终端允许 # yum -y install vsftpd 没什么问题就直接安装好啦 第二步&#xff1a;编辑vsftpd的配置…

我和freelancer不得不说的故事5 --- 心理落差

我和freelancer不得不说的故事5 --- 心理落差 我下海之前所在的外企&#xff0c;是一家顶级知名IT企业&#xff0c;其SAP咨询服务业务规模和影响都很大&#xff0c;是SAP咨询界五大咨询公司之一。我从07年加入这家公司&#xff0c;到辞职下海&#xff0c;在这家公司工作8年半。…

一起谈.NET技术,asp.net控件开发基础(18)

本篇继续上篇的讨论&#xff0c;可能大家已经在使用asp.net2.0了,DataSource属性不再使用,而是跟数据源控件搭配使用.现在讨论的绑定技术都是基于1.1版本,先熟悉一下,本质上是一样的,这样一步步的学习.对以后绝对有帮助.因为当你使用数据源控件,只需要设置一个DataSourceID,方便…

使用sqlserver来存放和取得session

asp.net 提供了三种存放 session的方式。 1 InProc 2 State Server 3 SQL Server 第一种是我们经常用的&#xff0c;第2中就是使用一个名为 state server 的机器用它的内存来存放其他机器的session 状态&#xff0c;其实&#xff0c;我们还可以在 sql server 里面来存放和取…

五项挑战获四项第一,地平线霸榜Waymo自动驾驶算法挑战赛

美国当地时间6月15日&#xff0c;Alphabet&#xff08;Google母公司&#xff09;旗下的自动驾驶公司Waymo在CVPR 2020自动驾驶Workshop上揭晓Waymo开放数据集挑战赛的结果&#xff0c;边缘AI芯片企业地平线斩获5项挑战中的4项全球第一。 本次挑战赛&#xff0c;Waymo开放了其自…

SSO单点登录基于CAS架构封装 Memcached 实例

2019独角兽企业重金招聘Python工程师标准>>> SSO认证中心是CAS整个应用架构的一个极其重要的关键点&#xff0c;必须满足如下两点要求&#xff1a; 1.高可用&#xff0c;不允许程序发生故障。如果认证中心发生故障&#xff0c;整个应用群将无法登录&#xff0c;导致…

HTMLButton控件下的Confirm()

作者&#xff1a;未知 请作者速与本人联系一、前言在ASP.NET中大部分如删除等一些动作为了友好都为添加confirm()来弹出消息框进行提示&#xff0c;但是HTML控件和WEB控件是否使用的方法是一样的呢?二、方法A. System.Web.UI.WebControls.Button控件现在一般都是这样在Page_…

Python 还能实现哪些 AI 游戏?附上代码一起来一把!

作者 | 李秋键责编 | Carol头图 | CSDN 付费下载自视觉中国人工智能作为当前热门在我们生活中得到了广泛应用&#xff0c;尤其是在智能游戏方面&#xff0c;有的已经达到了可以和职业选手匹敌的效果。而DQN算法作为智能游戏的经典选择算法&#xff0c;其主要是通过奖励惩罚机制…

一起谈.NET技术,专访微软MVP衣明志:走进ASP.NET MVC 2框架开发

日前微软已经发布ASP.NET MVC 2框架RC版&#xff0c;究竟这次RC版本的发布对于WEB开发者带来怎样的改变&#xff1f;以及未来ASP.NET MVC 2正式版还会有哪些改进&#xff1f;带着这样的问题&#xff0c;我们51CTO记者彭凡专门采访了微软MVP衣明志老师。ASP.NET MVC是微软官方提…

Entity Framework:Code-First Tutorial开篇

这个系列文章是关于Entity Framework Code-First的英文系列文章&#xff0c;内容不错&#xff0c;每篇一个主题知识点介绍&#xff0c;特转载过来 原文地址&#xff1a;http://www.entityframeworktutorial.net/code-first/entity-framework-code-first.aspx转载于:https://www…

Android开发者指南(22) —— Accessing Resources

前言   本章内容为Android开发者指南的Framework Topics/Application Resources/Accessing Resources章节&#xff0c;译为"资源调用"&#xff0c;版本为Android 3.2 r1&#xff0c;翻译来自&#xff1a;"CodeGuy"&#xff0c;欢迎访问他的博客&#xff…

如何快速实现HTML编辑器.NET组件

作者&#xff1a;未知 请作者速与本人联系得到“素材”首先我们需要得到一个HTML编辑器的原始代码&#xff0c;网上有不少这类的编辑器&#xff0c;如大名鼎鼎的RichTextBox&#xff0c;为了避免版权纠纷&#xff0c;以我所做得为例&#xff08;暂名&#xff1a;UltraTextBox…

罗永浩力荐,丁磊豪送的学习神器:手机查词真不如这支AI词典笔?

销量确实称得上火爆。尽管999元的直播优惠价价格并不低&#xff0c;但这支有道词典笔专业版在快手直播间还是经历了返场&#xff0c;最终20000多台一抢而空。 为这款产品站台的正是网易CEO丁磊&#xff0c;6月11日是他网上卖货的首秀&#xff0c;不过更重要的是&#xff0c;那天…

Thinking in java中关于Exception的一道面试题.

今天看到Thinking in Java中一个关于Exception的例子:最后看到有一篇总结的比较好的文章, 这里拿来记录下, 文章地址是:http://blog.csdn.net/salerzhang/article/details/46581457 感谢原作者. 1 class Annoyance extends Exception {}2 class Sneeze extends Annoyance {}3 …

使用 .NET 框架轻松开发完美的 Web 窗体控件

作者&#xff1a;David S. Platt 出自&#xff1a;微软 本文假定您熟悉 Visual Basic .NET、C# 和 HTML 下载本文的代码&#xff1a; WebC.exe (274KB) 摘要 预建的自定义控件可以简化和加快应用程序的设计&#xff0c;并使您能够维护 UI 的一致性。但是&#xff0c;预先打…

史上最强女游戏程序员

也许你听说过John Carmack 和Tim Sweeney等大牛的名字&#xff0c;而向来游戏工业都是阳盛阴衰&#xff0c;适逢国际妇女节&#xff0c;今天我为大家介绍游戏业界一位史上最强女游戏程序员&#xff1a;Corrinne Yu。 简历 以下是她在游戏业界内的简历 微软Halo团队首席引擎架构…

重磅日程公布!与百名大咖在线交流技术,2天20个AI论坛不可错过

当全球都在面向 AI 变革时&#xff0c;AI 不再是触不可及&#xff0c;它需要产业化落地&#xff0c;为社会创造价值。在这一轮技术革命、技术浪潮中&#xff0c;开发者们成为构建任何一家AI企业的核心竞争力。不过&#xff0c;不同于此前只懂开发语言、数据结构便可轻松躲过新技…

Python取出列表相应值的位置(表处理)

#需求在一个列表中&#xff0c;取出相应值的位置方法1&#xff1a;#脚本示例[rootlocalhost opt]# cat list.py #!/usr/bin/env python #_*_ coding:utf-8 _*_ name[!,#,*,Eric,wsyht,jack,jack,a,b,c,d,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,2332,4,2,6,2] first_pos 0 for …