首页 文章 精选 留言 我的

精选列表

搜索[最权威安装],共10026篇文章
优秀的个人博客,低调大师

《VMware Virtual SAN权威指南》一1.5 什么是Virtual SAN

1.5 什么是Virtual SANVirtual SAN是VMware推出的一种存储解决方案,它的beta版本在2013年发布,2014年3月正式开放给公众,并于2016年3月升级到6.2版。VSAN完全集成在vSphere中,它是一种基于对象的存储系统,是虚拟机存储策略的平台,这种存储策略的目标是为了帮助vSphere管理员简化虚拟机的存储放置决策。它完全支持并与vSphere的核心特性,诸如vSphere高可用性(HA)、分布式资源调度(DRS)以及vMotion等深度集成在一起,参见图1-2。 VSAN的目标是在提供弹性的同时提供横向扩展存储的能力。从QoS![screenshot的角度来考虑,其目标还在于创建虚拟机存储策略以在每台虚拟机甚至是每个虚拟磁盘的粒度上来定义性能和可用性水平。VSAN是一种基于软件的分布式存储解决

优秀的个人博客,低调大师

《微软云计算Windows Azure开发与部署权威指南》——导读

https://yqfile.alicdn.com/3043625418f9de9de0f6111aaef4f0adbb8afaa5.png" > 前言 云计算技术正在快速地发展,业界各大厂商纷纷制定相应的战略,新的概念、观点和产品不断涌现。云计算的技术热点也呈现百花齐放的局面,比如以互联网为平台的虚拟化解决方案的运行平台,基于多租户技术的业务系统在线开发、运行和运营平台,大规模云存储服务,大规模云通信服务等。云计算的出现为信息技术领域带来了新的挑战,也为信息技术产业带来了新的机遇。 微软曾提出这样一个观点——“IT即服务”,也就是怎样能够把云计算的理念真正结合到IT层面,实现用户、合作伙伴在计算机领域的更多创新。在微软的全球布局下,中国市场始终具有重要的战略意义。微软在上海正式成立了云计算创新中心,并安排经验丰富的工程师团队与客户和合作伙伴紧密合作,充分挖掘云计算的潜力。同时,微软中国云计算创新中心的专属实验室可以帮助政府、合作伙伴和客户实施快速建模、概念验证、云计算解决方案的测试。 微软的云计算战略提供了3种不同的运营模式,这与其他公司的云计算战略有很大的不同。 第一种模式是微软自己构建及运营公有云的应用和服务,向个人消费者和企业客户提供云服务的微软运营模式。例如,微软向最终使用者提供Online Services和Windows Live等服务。 第二种模式是ISV/SI等各种合作伙伴基于Windows Azure Platform开发的如ERP、CRM等各种云计算应用,并在Windows Azure Platform上为最终使用者提供服务。另外,微软运营在自己的云计算平台中的Business Productivity Online Suite (BPOS)也可以交给合作伙伴进行托管运营。BPOS主要包括Exchange Online、SharePoint Online、Office Communications Online和LiveMeeting Online等服务,这种属于伙伴运营模式。 第三种模式是客户可以选择微软的云计算解决方案构建自己的云计算平台。微软提供包括产品、技术、平台和运维管理在内的全面支持,这是客户自建的运营模式。 微软陆续为Windows Azure增加了如VM Role、远程桌面管理等新功能。但从整体技术架构和功能上来看,Windows Azure是一个以PaaS为核心定位的云计算平台。从平台的角度来看,可以认为Windows Azure是Windows的延伸。微软希望Windows技术能够在嵌入式设备、手机、平板、个人电脑、服务器和云计算数据中心中应用,也希望基于Windows Azure平台构建新的IT生态系统。 本书主要讲解了微软云计算开发与部署,主要包括Windows Azure平台的基础知识、使用方法、功能特点,以及如何基于Windows Azure平台设计高可靠性、可扩展的应用程序。本书还介绍了Windows Azure平台的高级应用,如何在项目中灵活使用Windows Azure平台的各种功能,以及如何更好地构建基于Windows Azure的应用程序。本书还讲解了微软私有云、公有云迁移、开发与部署。 本书在编写过程中得到许多专家、学者及老师的大力支持,在此一并感谢。前言 第1章 云计算概论第2章 微软云计算概述第3章 微软云计算Windows Azure概述与简单演练第4章 Windows Azure的应用程序 开发第5章 SQL Azure云关系数据库[第6章 Windows Azure平台访问控制与总线AppFabric 6.1 服务导向架构 ](https://yq.aliyun.com/articles/99097)6.2 Azure平台AppFabric概述 6.3 Windows Azure的AppFabric存取控制应用程序设计 6.4 AppFabric访问控制管理服务 6.5 AppFabric服务总线基础概念 6.6 AppFabric服务总线服务Remoting的应用程序开发 6.7 AppFabric服务总线REST的服务开发 6.8 AppFabric服务总线的多播服务开发 6.9 AppFabric消息缓冲区:云端上的信息暂存区 6.10 小结 第7章 开发Windows Phone 8的云计算应用程序第8章 开发iOS的云计算应用程序第9章 开发Android的云计算应用程序第10章 开发Windows 8云计算应用程序第11章 Windows Azure与其他平台的互通性与安全性第12章 云计算部署第13章 微软云计算案例分析

优秀的个人博客,低调大师

Linus “吃狗粮”积极!

Linux 6.10 内核目前处于候选开发阶段,在一个关于DRM 图形驱动程序更新补丁的邮件列表中,Linus Torvalds 称自己是"dogfooding"的忠实信徒。 "dogfooding" 是英语俚语 ——"Eating your own dog food"的略称(直译为“吃你自家的狗粮”),常用于描述公司(尤指软件公司)使用自己生产的产品这一情况。 在软件开发过程中,dogfooding 使开发者能够在现实的场景中测试自家公司的产品,这样就能在产品发布前让项目管理者对产品将被如何使用有更好的认知。 dogfooding 的方式多种多样,如建立构建分支、建立个人构建版本与直接进行个人测试,这些方法都能帮助开发者在将修改集成进每日构建版本前进行可行性测试,因而可以使构建版本更加稳定,并且能避免可能的不一致问题与依赖关系问题,尤其是在许多开发者(或者是开发团队)参与同一个产品的开发的时候。 对 Linus 来说,“吃内核狗粮”无疑有助于他亲自体验用户可能遇到的问题,及时调查 bug 报告,并确保通过的代码按预期工作。此外也有助于发现代码中的意外问题,提升内核的稳定性和质量。 Linus 一直在坚持"dogfooding",即使在忙碌的合并窗口期间仍会构建他自己使用的内核——然后在 AMD 开发机器上运行最新的 Linux 内核代码。当然他不是每次拉取新代码都会重启机器,通常是每天重启。 来自https://lore.kernel.org/lkml/CAHk-=wizH1b8vv67xVSoSHqp5B=dNsqtpP+86RM7G5z14nuRHw@mail.gmail.com/ 要知道在合并窗口期间会引入大量新代码(和 bug),所以老爷子的工作量可想而知有多大。但为了全面测试内核变更情况,Linus 并没有因此而松懈,实乃我辈程序员楷模!

优秀的个人博客,低调大师

菜的Java导入excel

poi Maven <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.14</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>3.14</version> </dependency> 基础代码 package com.peas.mdp.module.util; import com.peas.mdp.dto.Teacher; import org.apache.poi.ss.usermodel.*; import java.io.InputStream; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; public class ExcelUtil { public static List<?> getBankListByExcel(InputStream in) throws Exception { List<Teacher> list = new ArrayList<>(); //创建Excel工作薄 Workbook work = getWorkbook(in); if (null == work) { throw new Exception("创建Excel工作薄为空!"); } Sheet sheet = null; Row row = null; Cell cell = null; //遍历Excel中所有的sheet for (int i = 0; i < work.getNumberOfSheets(); i++) { sheet = work.getSheetAt(i); if (sheet == null) { continue; } //遍历当前sheet中的所有行 for (int j =1; j <= sheet.getLastRowNum(); j++) { row = sheet.getRow(j); if (row == null ) { continue; } Teacher teacher = new Teacher(); //把每个单元格的值付给对象的对应属性 if (row.getCell(0)!=null){ teacher.setAccount(String.valueOf(getCellValue(row.getCell(0)))); } if (row.getCell(1)!=null){ teacher.setName(String.valueOf(getCellValue(row.getCell(1)))); } if (row.getCell(2)!=null){ teacher.setSex(Integer.valueOf((String) getCellValue(row.getCell(2)))); } if (row.getCell(3)!=null){ teacher.setAge(Integer.valueOf((String) getCellValue(row.getCell(3)))); } if (row.getCell(4)!=null){ teacher.setEducation(String.valueOf(getCellValue(row.getCell(4)))); } if (row.getCell(5)!=null){ teacher.setJobTitle(String.valueOf(getCellValue(row.getCell(5)))); } if (row.getCell(6)!=null){ teacher.setPosition(String.valueOf(getCellValue(row.getCell(6)))); } if (row.getCell(7) != null) { teacher.setRole(String.valueOf(getCellValue(row.getCell(7)))); } if (row.getCell(8) != null) { teacher.setPhone(String.valueOf(getCellValue(row.getCell(8)))); } if (row.getCell(9) != null) { teacher.setEmail(String.valueOf(getCellValue(row.getCell(9)))); } if (row.getCell(10) != null) { teacher.setKeyWords(String.valueOf(getCellValue(row.getCell(10)))); } if (row.getCell(11) != null) { teacher.setIntroduction(String.valueOf(getCellValue(row.getCell(11)))); } if (row.getCell(12) != null) { teacher.setIdCard(String.valueOf(getCellValue(row.getCell(12)))); } if (row.getCell(13) != null) { teacher.setType(Integer.valueOf((String)getCellValue(row.getCell(13)))); } //遍历所有的列(把每一行的内容存放到对象中) list.add(teacher); } } return list; } /** * * @param inStr * @return * @throws Exception */ public static Workbook getWorkbook(InputStream inStr) throws Exception { Workbook wb = null; wb = WorkbookFactory.create(inStr); return wb; } /** * 描述:对表格中数值进行格式化 * * @param cell * @return */ public static Object getCellValue(Cell cell) { Object value = null; DecimalFormat df = new DecimalFormat("0"); //格式化number String字符 SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd"); //日期格式化 DecimalFormat df2 = new DecimalFormat("0"); //格式化数字 switch (cell.getCellType()) { case Cell.CELL_TYPE_STRING: value = cell.getRichStringCellValue().getString(); break; case Cell.CELL_TYPE_NUMERIC: if ("General".equals(cell.getCellStyle().getDataFormatString())) { value = df.format(cell.getNumericCellValue()); } else if ("m/d/yy".equals(cell.getCellStyle().getDataFormatString())) { value = sdf.format(cell.getDateCellValue()); } else { value = df2.format(cell.getNumericCellValue()); } break; case Cell.CELL_TYPE_BOOLEAN: value = cell.getBooleanCellValue(); break; case Cell.CELL_TYPE_BLANK: value = ""; break; default: break; } return value; } } Control @ApiOperation("excel导入") @GET @Path("excelFile") public Map<String, String> readExcel(@QueryParam("path") File path) throws Exception { HashMap<String, String> map = new HashMap<>(); //读取excel中的内容 InputStream inputStream = new FileInputStream(path); List<Teacher> teachers = (List<Teacher>) ExcelUtil.getBankListByExcel(inputStream); for (Teacher teacher : teachers) { teacherService.saveOrUpdate(teacher); } return map; } /** * 读取excel更新数据 * * @param upfile * @param * @param * @throws Exception */ /* @RequestMapping(value = "/readExcel") @Transactional public Map<String, String> readExcel(MultipartFile upfile) throws Exception { HashMap<String, String> map = new HashMap<>(); InputStream in = upfile.getInputStream(); //读取excel中的内容 List<LineDownOrder> lineDownOrders = ExcelUtils.getBankListByExcel(in); String s = orderService.updateByExcel(lineDownOrders); map.put("status", s); return map; } */

优秀的个人博客,低调大师

通俗的机器学习介绍

摘要:在本文中,我将描述数据分析是如何与机器学习相关的,还将揭开机器学习中的一些荒唐和错误的说法,并解释机器学习的过程和类型。 如果你不是一个人工智能专家,不要担心,我不会提及线性回归和k-均值聚类。 数据分析和机器学习 如果你认为大数据仅仅是关于SQL语句查询和海量的数据的话,那么别人也会理解你的,但是大数据真正的目的是通过对数据的推断,从数据中获取价值、从数据中发现有用的东西。例如,“如果我降低5%的价格,我将增加10%的销售量。” 数据分析是重要的技术,包括如下方面: ·描述性分析:确定所发生的事情。这通常涉及到描述发生了什么现象的报告。例如,用这个月的销售额与去年同期进行比较的结果。 · 特征性分析:解释现象发生的原因,这通常涉及使用带有OLAP技术的控制台用以分析和研究数据,根据数据挖掘技术来找到数据之间的相关性。 · 预测性分析:

优秀的个人博客,低调大师

javascript史上拽的玩法

摘要:在JavaScript世界中,有些操作会让你无法理解,但是却无比优雅,如果你真正了解这些,BAT公司任你选。(文章后面有惊喜) 一、5种方式实现值交换 1. var temp = a; a = b; b = temp; (传统,但需要借助临时变量)2. a ^= b; b ^= a; a ^= b; (需要两个整数)3. b = [a, a = b][0] (借助数组)4. [a, b] = [b, a]; (ES6,解构赋值)5. a = a + b; b = a - b; a = a - b; (小学奥赛题) 二、去掉小数部分 parseInt(num)~~numnum >> 0num | 0 三、判断 x 是否是整数 function isInt(x) { return (x ^ 0) === x}// return Math.round(x) === x// return (typeof x === 'number') && (x % 1 === 0)// ES6 -> Number.isInteger() 四、递归求阶乘 function factorial(n) { return (n > 1) ? n * f(n - 1) : n} 五、判断符号是否相同 function sameSign(a, b) { return (a ^ b) >= 0} 六、克隆数组 arr.slice(0) 七、数组去重 // ES6Array.from(new Set(arr))// ES5arr.filter(function(ele, index, array){ return index===array.indexOf(ele)}) 八、数组最大值 function maxArr(arr) { return Math.max.apply(null, arr)} 九、数组最小值 function minArr(arr) { return Math.min.apply(null, arr)} 十、随机获取数组的一个成员 function randomOne(arr) { return arr[Math.floor(Math.random() * arr.length)]} 十一、产生随机颜色 function getRandomColor() { return `#${Math.random().toString(16).substr(2, 6)}`} 十二、随机生成指定长度的字符串 function randomStr(n) { let standard = 'abcdefghijklmnopqrstuvwxyz9876543210' let len = standard.length let result = '' for (let i = 0; i < n; i++) { result += standard.charAt(Math.floor(Math.random() * len)) } return result} 十三、深拷贝 JSON.parse(JSON.stringify(obj)) 十四、打印出来看看 console.log(([][[]] + [])[+!![]] + ([] + {})[!+[] + !![]])console.log((!(~+[]) + {})[--[~+''][+[]] * [~+[]] + ~~!+[]] + ({} + [])[[~!+[]] * ~+[]]) 十五、美化console console.info("%c哈哈", "color: #3190e8; font-size: 30px; font-family: sans-serif"); 原文发布时间:2018年01月23日 作者:技术金三胖 本文来源:开源中国如需转载请联系原作者

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。