首页 文章 精选 留言 我的

精选列表

搜索[快速],共10000篇文章
优秀的个人博客,低调大师

一分钟快速入门openstack

一、它是什么,能干什么 想认识一个事物,必须先弄明白它是什么,能干什么。 首先说一下,openstack是一个搭建云平台的一个解决方案,说他不是个软件,但是我觉得说是一个软件,能够让初学者更容易接受和理解,在后期的慢慢接触过程中,大家就能够理解,为什么说它不是一个软件。openstack能干什么,可以搭建公有云,私有云,企业云。(顺便说一下,企业云将是openstack的用武之地)二、openstack组成 上面是一个整体的认识,想进一步了解openstack,就必须了解它的组成。其实这有点像研究生物。一般生物都有眼睛,鼻子,嘴等。那么openstack,都有什么。openstack更像是经过计算机的72变之后的产物。包括:7个核心组件:Compute(计算), Object Storage(对象存储),Identity(身份认证),Dashboard(仪表盘), Block Storage(块存储), Network(网络) 和 Image Service(镜像服务) 。 上面从计算机的角度做一个比喻,有不恰当的地方,大家多指正。Compute类似计算的内存;Object Storage类似存储器;Identity就像登陆过程中,验证用户名和密码;Dashboard就操作界面;Network这个大家很容易就明白。三、openstack组件代号 上面各个组件有名字,其实熟悉openstack的都会说他们的代号。也就是专业术语。Compute(代号为“Nova”) Identity(代号为“Keystone”) Dashboard(代号为“Horizon”) Image Service(代号为“Glance”) Network(代号为“Quantum”) Object Storage(代号为“Swift”) Block Storage(代号为“Cinder”)四、openstack组件详细介绍 上面了解了,就差不多有点熟悉openstack了。想进一步认识,必须不能着急。下面进一步详细介绍各个组件的作用: (1)Nova 这个是最核心的,Nova最开始的时候,可以说是一套虚拟化管理程序,还可以管理网络和存储。 (2)keystone 这是提供身份认证和授权的组件。任何系统,身份认证和授权,其实都比较复杂。尤其Openstack 那么庞大的项目,每个组件都需要使用统一认证和授权。 目前keystone 要做的东西其实还是很多。没法基于角色的授权,web管理用户等。(3)Dashboard (代号为“Horizon”) 为所有OpenStack的服务提供了一个模块化的web-based用户界面。使用这个Web GUI,可以在云上完成大多数的操作,如启动实例,分配IP地址,设置访问控制等。 (4)Glance 这是镜像管理。 目前Glance的镜像存储,支持本地存储,NFS,swift,sheepdog和Ceph,基本是够用了。 目前Glance的最大需求就是多个数据中心的镜像管理,如何复制,不过这个功能已经基本实现。还有就是租户私有的image管理,这些目前功能都已经实现。 个人感觉:Glance后续基本就是一个bug修复,稳定的阶段。 (5)Quantum 这是网络管理的组件,也是重头戏,Openstack的未来,基本都要靠quantum。上面介绍nova的时候,说过网络相关的内容,都会交给Quantum。不过Quantum的开发进度不是太如人意。Flosom规划实现功能,到Grizzly才实现。未来nova network的代码清理,估计到H版本都不见得可以实现。 Quantum 后端可以是商业产品或者开源。开源产品支持Openvswitch,和linux bridge。网络设备厂商都在积极参与,让他们的产品支持Quantum。 (6)Swift 这是对象存储的组件。对于大部分用户来说,swift不是必须的。你只有存储数量到一定级别,而且是非结构化数据才有这样的需求。很多人都问一个相同的问题:是否可以把虚拟机的存储放在swift上。简单回答:不行。你需要搞明白对象存储是干啥,擅长那些地方,那些是不行的。 swift是Openstack所有组件了最成熟的,可以在线升级版本,各种版本可以混合在一起,也就是说,1.75版本的swift可以和1.48的在一个群集里.这个是很难得的. (7)Cinder 这是存储管理的组件。Cinder存储管理主要是指虚拟机的存储管理。

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

快速入门阿里云aliyuncli-自动调用服务

在2014年刚开始使用阿里云的时候python才刚入门,当时有个需求比较急就发现了几乎万能的aliyuncli。阿里云的命令行是基于对应服务的python SDK基础上的,所以aliyuncli操作SLB的时候会需要aliyun-python-sdk-slb这个包。 1. 先安装对应服务包: pip installaliyun-python-sdk-slb==2.1.2 pip installaliyuncli==2.1.2 2.想调用API怎么样, ecs , ess, mts, rds, slb四个服务的接口使用pip安装sdk后aliyuncli既可以使用。 其它服务使用下面方法切换对应的version即可 aliyuncli ram ConfigVersion --version v20150501 v20150501则是SDK的版本,可以从你的SDK代码结构内发现。 [root@test-node1 ~]# ls /usr/lib/python2.6/site-packages/aliyunsdkram/request/ __init__.py __init__.pyc v20150501 命令行帮助 [root@test-node1 ~]# aliyuncli slb --help usage: aliyuncli <command> <operation> [options and parameters] [slb] valid operations as follows: AddBackendServers | AddListenerWhiteListItem AddTags | AddVServerGroupBackendServers ConfigVersion | CreateLoadBalancer CreateLoadBalancerHTTPListener | CreateLoadBalancerHTTPSListener CreateLoadBalancerTCPListener | CreateLoadBalancerUDPListener CreateRules | CreateVServerGroup DeleteCACertificate | DeleteLoadBalancer DeleteLoadBalancerListener | DeleteRules DeleteServerCertificate | DeleteVServerGroup DescribeCACertificates | DescribeHealthStatus DescribeListenerAccessControlAttribute | DescribeLoadBalancerAttribute DescribeLoadBalancerHTTPListenerAttribute | DescribeLoadBalancerHTTPSListenerAttribute DescribeLoadBalancerTCPListenerAttribute | DescribeLoadBalancerUDPListenerAttribute DescribeLoadBalancers | DescribeRegions DescribeRuleAttribute | DescribeRules DescribeServerCertificates | DescribeTags DescribeVServerGroupAttribute | DescribeVServerGroups DescribeZones | ModifyLoadBalancerInternetSpec ModifyVServerGroupBackendServers | RemoveBackendServers RemoveListenerWhiteListItem | RemoveTags RemoveVServerGroupBackendServers | SetBackendServers SetCACertificateName | SetListenerAccessControlStatus SetLoadBalancerHTTPListenerAttribute | SetLoadBalancerHTTPSListenerAttribute SetLoadBalancerName | SetLoadBalancerStatus SetLoadBalancerTCPListenerAttribute | SetLoadBalancerUDPListenerAttribute SetRule | SetServerCertificateName SetVServerGroupAttribute | ShowVersions StartLoadBalancerListener | StopLoadBalancerListener UploadCACertificate | UploadServerCertificate 下面展示一个操作脚本 #!/bin/bash #自动创建负载均衡并添加后端服务器并开启监听 #author:new.nginxs.net #date:20170718 CTIME=$(date "+%Y-%m-%d-%H-%m") #创建负载均衡 /usr/local/bin/aliyuncli slb CreateLoadBalancer > /tmp/create.txt SLBID=$(grep "LoadBalancerId" /tmp/create.txt | awk -F '"' '{print $4}') VIP=$(grep "Address" /tmp/create.txt | awk -F '"' '{print $4}') #创建http监听,监听80端口后端也是80端口,带宽-1表示不限制,,关闭粘性session,关闭健康检查 /usr/local/bin/aliyuncli slb CreateLoadBalancerHTTPListener --LoadBalancerId "$SLBID" --ListenerPort 80 --BackendServerPort 80 --Bandwidth -1 --XForwardedFor on --StickySession off --HealthCheck off #i-u1cv2vgd9:要添加到后端ECS ID /usr/local/bin/aliyuncli slb AddBackendServers --LoadBalancerId "$SLBID" --BackendServers [\{\"ServerId\":\"i-udsg4vgd9\",\"Weight\":\"100\"\}] #启动监听 /usr/local/bin/aliyuncli slb StartLoadBalancerListener --LoadBalancerId "$SLBID" --ListenerPort 80 #测试通过slb是否可以访问后端服务器 sleep 10; STATUS1=$(curl -s --head http://"$VIP"/heath.html | grep '200 OK') if [ -n "$STATUS1" ] ;then echo "=====SLB access OK=====" else echo "=====SLB access error=====" exit 1; fi 总结: aliyuncli可以在阿里云的python SDK基础上进行调用。具体命令参数可以直接参考各个服务的 API的参数进行填写,所以特别好用, 适合不会开发的运维同学使用。

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

有了它,可以快速高效部署OpenStack组件

Packstack使用了Puppet模块的一个实用程序,可以在一个或多个服务器上部署完整的OpenStack云操作系统。这意味着它会自动部署Nova、Glance、Horizon、Swift和其他OpenStack组件,从而简化了复杂且耗时的过程。 Red Hat的RDO OpenStack社区开发的Packstack,可以简化OpenStack安装过程,通过自动部署OpenStack组件。 Packstack使用了Puppet模块的一个实用程序,可以在一个或多个服务器上部署完整的OpenStack云操作系统。这意味着它会自动部署Nova、Glance、Horizon、Swift和其他OpenStack组件,从而简化了复杂且耗时的过程。 Packstack由RDO OpenStack社区开发,该社区由Red Hat、CentOS和Fedora OpenStack用户组成。Packstack不支持Ubuntu,但可以与其他流行的Linux发行版一起使用。 CentOS 7是必须的 根据Packstack的官方说明,该产品不推荐用于CentOS 7版本之前的版本。对此,我进行的推测,当我尝试使用CentOS 6.5时,确实有问题。遇到的第一个问题是,CentOS 6.5存储库使用Juno版本的OpenStack,这是最近的第四个版本。当前版本的OpenStack是Newton。我尝试手动添加存储库,但是我收到一条错误消息,指出安装缺少依赖关系,这是耗时且难以修复的问题。一旦我切换到CentOS 7,安装完成没有问题。 使用AllinOne命令行 在开始安装之前,我禁用了SELinux,以防有些内核保护功能引起并发症。下载和安装Packstack的RDO说明不需要这一点,但是我引用的其他几套指令都推荐它,所以我认为这是最安全,总好过出问题。 如果你使用Red Hat,你需要添加OpenStack库。你可以使用以下的命令行来做: sudo yum install -y https://www.rdoproject.org/repos/rdo-release.rpmCentOS在Extras之下,包含了OpenStack库,所以在CentOS中可以跳过这一步。 现在 ,你准备开始安装了;要耐心等待,因为OpenStack与Packstack的安装可能需要几个小时。某些步骤需要比其他步骤更长的时间,因此,如果你的屏幕看起来像某些步骤被冻结了,只需等待一下 它最终还是会进入下一步的。 为了安装OpenStack Newton版本,请在Bash shell中输入以下命令: sudo yum install -y centos-release-openstack-newton安装新软件时更新Linux一直是个好主意。 为此,请输入以下命令: sudo yum update -y接下来,我们可以使用以下命令继续安装Packstack: sudo yum install -y openstack-packstack最后,输入以下命令,使用默认设置运行安装。这将安装大多数OpenStack组件以及在答案 文件中保存大量选项,这些文件可以用于在具有不同模块的多个服务器上修改并部署OpenStack。 sudo packstack --allinone输入上述命令后,您可能会看到个屏幕(如图A所示),这看起来好像安装被卡住了。只需等待“测试puppet 申请是否完成”。在继续之前,安装将经过几次迭代。 图A,Packstack的安装 图A,Packstack的安装 OpenStack中使用答案文件 安装完成后,将出现一个屏幕,为你提供仪表板的登录凭据并保存答案文件。当运行--allinone命令时,它将在服务器上创建一个OpenStack安装,以及基于它的答案文件。你可以修改答案文件(如图B所示)中的IP地址,是/否选项和密码,以便在具有不同选项集的服务器上重新安装OpenStack。 图B,OpenStack答案文件 图B,OpenStack答案文件 现在你已经完全安装了该产品,可以使用命令行工具或仪表板开始加载虚拟机映像并部署虚拟机存储。 其它安装选项 如果你想测试一下OpenStack,但安装完整版本或使用Packstack 遇到了问题,那么尝试用TryStack安装,TryStack 是 本文转自d1net(转载)

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

物联网操作系统驱动行业快速发展

当物联网和操作系统这个话题出现在IT界时,“嵌入式操作系统”这个术语与“实时操作系统”(RTOS)经常互换使用。但实际上,一些嵌入式操作系统有实时功能,另一些则没有这种功能。 真正的RTOS物联网设备需要处理数据时没有缓冲延迟。RTOS的好处包括两大类:第一,能够实现多任务处理,能够调度和优先处理任务,还能够管理资源在多个任务之间的共享。这种操作系统通常用于比较复杂的航空、工业和医疗物联网设备中。第二,功耗比较低,对资源的要求也比较低,比如处理能力和内存。十之八九,诸如此类的操作系统的增长率会超过RTOS,至少对第一代物联网设备来说是这样的,这种类型的操作系统复杂性低,功能也相对比较齐全。 RIOT OS是一种开源社区项目,自2008年以来就启动了。RIOT能够在众多平台上运行,包括嵌入式设备和PC(以及数量众多的极其流行的传感器/致动器板卡),而且拥有易于使用的API。该操作系统因用电量和资源需求方面能够做到高效而家喻户晓。 微软的最新款嵌入式操作系统名为Windows 10 for IoT。这面大旗下还有三个子操作系统,视用户的要求而定。第一个是Windows 10 for IoT Mobile,它支持ARM架构。第二个是Windows 10 for IoT Core,它支持Raspberry Pi和英特尔凌动。最后一个是Windows 10 for IoT Enterprise——这多少有点像功能完备的Windows 10 Enterprise,但仅限于运行单一应用程序。 由于Windows 10 for IoT是全新产品,它在用户群和经验丰富的开发者方面显然落后于其他许多物联网操作系统。话虽如此,这款操作系统大有潜力,如果你想在内部开发应用程序,更是如此。最终,那些习惯于使用Visual Studio和Azure物联网服务、针对Windows从事开发工作的人会被整套的Windows 10 for IoT方案吸引过去。 WindRiver的VxWorks可能是如今使用最流行的商用RTOS。它提供了一款可靠的操作系统,又具有高度的灵活性。VxWorks还提供了许多安全功能,这些功能对需要它们的物联网项目来说至关重要。VxWorks在工业、医疗和航空等领域的名气很大,因为它是少数几家满足必要的认证要求、以便用于那些行业的RTOS厂商之一。 谷歌在去年秋季的谷歌I/O大会上宣布,打算推出Brillo,进军嵌入式操作系统市场。面向基于安卓的嵌入式操作系统的开发平台,很适合在编写安卓应用程序方面有着扎实背景的那些人使用。Brillo使用一种名为Weave的通信协议。这意味着,智能设备没必要非得将嵌入式安卓作为其操作系统——它们只要能够使用Weave进行通信就可以。这为一大批厂商将Weave集成到物联网产品中敞开了大门,最终让这些产品能够与Brillo联通。 ARM开发了自己的开源嵌入式操作系统,名为mbed OS。由于它是由ARM自身开发的,所以ARM是唯一支持的架构。话虽如此,预计该操作系统会在智能家居和可穿戴式设备这两个物联网细分市场大放异彩。这款操作系统有别于另外许多的嵌入式操作系统,原因在于它是单线程,而不是多线程。ARM表示,它认为对于该操作系统能够在尺寸最小、功耗最低的设备上运行而言是必不可少的。如果物理尺寸和电池使用时间至关重要,物联网设备最后可能会在mbed OS上运行。 到目前为止,苹果已采用了其操作系统平台的变种,开发了多款物联网设备,比如苹果电视、CarPlay(借助BlackBerry QNX)和苹果手表。展望未来,预计苹果会继续使用其iOS,并改动OS X,那样它可以在物联网端点设备上更精简、更高效地运行。开发人员可以使用诸如最近发布的HomeKit之类的工具,这种框架用来构建控制家庭自动化设备的应用程序。 Nucleus RTOS是Mentor Graphics公司开发的一种嵌入式操作系统。这家公司声称,其软件目前在30多亿个设备上运行,这是个相当庞大的安装群。该操作系统为众多嵌入式架构提供了有力的支持,在汽车、医疗、公用事业、工业和消费类电子产品等行业垂直领域大受欢迎。 不过另一种由来已久的商用RTOS解决方案是Green Hills的Integrity。它在航空/国防、汽车、工业和医疗等垂直领域展开激烈的竞争。该公司还继续在面向消费者的物联网市场大受欢迎,这归功于它一直凭借性能、安全和可靠性博得人气和美名。 基于物联网产业处在发展初期,碎片化特点必将导致物联网时代对软件的多样性需求。一种操作系统和开发工具很难支持物联网系统中的所有设备,短时间内,物联网操作系统很难形成像智能手机中Android和iOS两家独占市场的局面。以安全性和集成化为代表的物联网新需要给传统嵌入式软件带来挑战,也给以互联网企业为代表的产业新势力带来机遇。 本文转自d1net(转载)

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

快速读懂机器学习(附送详细学习资源)

前言: 机器学习作为人工智能中的伟大分支,让我们先来聊聊人工智能把。现在人工智能已经非常普遍了,从之前的阿尔法狗到现在中国人工智能机器人解答北京高考数学卷 考了105分。以及2017.6.6的苹果WWDC大会上宣布开发机器学习API,苹果想通过借此之举,让更过苹果开发者用户开发出更过用户体验好的应用,人工智能的例子真是数不胜数,已经渗透到我们生活的各方各面,比较常见的比如金融以及医疗,而且之前看了一篇文章这样评价金融业:随着人工智能的发展与普遍,以后金融业对求职者的要求需要掌握人工智能相关知识来通过测试。好言归正传,我们来聊聊机器学习吧! 1. 什么是机器学习? 机器学习是人工智能的一个分支。人工智能的研究是从以“推理”为重点到以“知识”为重点,再到以“学习”为重点,一条自然、清晰的脉络。显然,机器学习是实现人工智能的一个途径,即以机器学习为手段解决人工智能中的问题.简单来说就是机器通过分析大量数据来进行学习。比如说,不需要通过编程来识别猫或人脸,它们可以通过使用图片来进行训练,从而归纳和识别特定的目标。 2. 机器学习主要涉及知识以及应用范围 机器学习在近30多年已发展为一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。很多推论问题属于无程序可循难度,所以部分的机器学习研究是开发容易处理的近似算法。 机器学习已广泛应用于数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人等领域。 3.机器学习 研究意义 学习是人类具有的一种重要智能行为,但究竟什么是学习,长期以来却众说纷纭。社会学家、逻辑学家和心理学家都各有其不同的看法。比如,Langley(1996) 定义的机器学习是“机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”。(Machine learning is a science of the artificial. The field’s main objects of study are artifacts, specifically algorithms that improve their performance with experience.’) Tom Mitchell的机器学习(1997)对信息论中的一些概念有详细的解释,其中定义机器学习时提到,“机器学习是对能通过经验自动改进的计算机算法的研究”。(Machine Learning is the study of computer algorithms that improve automatically through experience.) Alpaydin(2004)同时提出自己对机器学习的定义,“机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。”(Machine learning is programming computers to optimize a performance criterion using example data or past experience.) 尽管如此,为了便于进行讨论和估计学科的进展,有必要对机器学习给出定义,即使这种定义是不完全的和不充分的。顾名思义, 机器学习是研究如何使用机器来模拟人类学习活动的一门学科。稍为严格的提法是:机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问。这里所说的“机器”,指的就是计算机,电子计算机,中子计算机、光子计算机或神经计算机等等。 机器能否象人类一样能具有学习能力呢?1959年美国的塞缪尔(Samuel)设计了一个下棋程序,这个程序具有学习能力,它可以在不断的对弈中改善自己的棋艺。4年后,这个程序战胜了设计者本人。又过了3年,这个程序战胜了美国一个保持8年之久的常胜不败的冠军。这个程序向人们展示了机器学习的能力,提出了许多令人深思的社会问题与哲学问题。 机器的能力是否能超过人的,很多持否定意见的人的一个主要论据是:机器是人造的,其性能和动作完全是由设计者规定的,因此无论如何其能力也不会超过设计者本人。这种意见对不具备学习能力的机器来说的确是对的,可是对具备学习能力的机器就值得考虑了,因为这种机器的能力在应用中不断地提高,过一段时间之后,设计者本人也不知它的能力到了何种水平。 机器学习有下面几种定义: “机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”。 “机器学习是对能通过经验自动改进的计算机算法的研究”。 “机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。” 一种经常引用的英文定义是:A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E. 机器学习已经有了十分广泛的应用,例如:数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用。 来自百度百科 4. 机器学习与传统编程对比以及所处的位置 ①传统编程:软件工程师编写程序来解决问题。首先存在一些数据→为了解决一个问题,软件工程师编写一个流程来告诉机器应该怎样做→计算机遵照这一流程执行,然后得出结果 ②统计学:分析师比较变量之间的关系 ③机器学习:数据科学家使用训练数据集来教计算机应该怎么做,然后系统执行该任务。首先存在大数据→机器会学习使用训练数据集来进行分类,调节特定的算法来实现目标分类→该计算机可学习识别数据中的关系、趋势和模式→在解决一个问题机器有很多答案最后会选择最优的答案。(注意大数据是机器学习的前提,没有大数据何谈机器学习,有用的数据机器学习效果越好。) ④智能应用:智能应用使用人工智能所得到的结果,如图是一个精准农业的应用案例示意,该应用基于无人机所收集到的数据 5. 机器学习的工作方式 ①选择数据:将你的数据分成三组:训练数据、验证数据和测试数据 ②模型数据:使用训练数据来构建使用相关特征的模型 ③验证模型:使用你的验证数据接入你的模型 ④测试模型:使用你的测试数据检查被验证的模型的表现 ⑤使用模型:使用完全训练好的模型在新数据上做预测 ⑥调优模型:使用更多数据、不同的特征或调整过的参数来提升算法的性能表现 6. 机器学习发展史 机器学习是人工智能研究较为年轻的分支,它的发展过程大体上可分为4个时期。 第一阶段是在20世纪50年代中叶到60年代中叶,属于热烈时期。 第二阶段是在20世纪60年代中叶至70年代中叶,被称为机器学习的冷静时期。 第三阶段是从20世纪70年代中叶至80年代中叶,称为复兴时期。 机器学习的最新阶段始于1986年。 机器学习进入新阶段的重要表现在下列诸方面: (1) 机器学习已成为新的边缘学科并在高校形成一门课程。它综合应用心理学、生物学和神经生理学以及数学、自动化和计算机科学形成机器学习理论基础。 (2) 结合各种学习方法,取长补短的多种形式的集成学习系统研究正在兴起。特别是连接学习符号学习的耦合可以更好地解决连续性信号处理中知识与技能的获取与求精问题而受到重视。 (3) 机器学习与人工智能各种基础问题的统一性观点正在形成。例如学习与问题求解结合进行、知识表达便于学习的观点产生了通用智能系统SOAR的组块学习。类比学习与问题求解结合的基于案例方法已成为经验学习的重要方向。 (4) 各种学习方法的应用范围不断扩大,一部分已形成商品。归纳学习的知识获取工具已在诊断分类型专家系统中广泛使用。连接学习在声图文识别中占优势。分析学习已用于设计综合型专家系统。遗传算法与强化学习在工程控制中有较好的应用前景。与符号系统耦合的神经网络连接学习将在企业的智能管理与智能机器人运动规划中发挥作用。 (5) 与机器学习有关的学术活动空前活跃。国际上除每年一次的机器学习研讨会外,还有计算机学习理论会议以及遗传算法会议。 -百度百科 如果想详细了解机器学习的分类参考:http://baike.baidu.com/view/7956.htm 7. 机器学习知识体系 内容转自: 51CTO技术栈微信公众号 1 - 数学 线性代数、微积分 在整个机器学习过程中涉及大量矩阵运算和微积分导数的概念,因此建议初学者至少要有较为扎实的数学基础,对矩阵和微积分的概念了解比较清楚。否则在一些公式推导过程中会遇到较大障碍,而不断反复回来复习数学知识。 2 - 编程语言 Python/R/Java/Matlab Python 已经成为机器学习的第一语言,至于为什么知乎(https://www.zhihu.com/question/30105838?sort=created)中有非常不错的解释。众多机器学习的框架都支持 Python API,所以学习机器学习,Python 语言语法估计是绕不过去。 3 - Supervise learning Linear regression Logistic regression Neural network SVM 监督学习指的是人们给机器一大堆标记好的数据,比如一大堆照片,标记出哪些是猫的照片,哪些不是,然后让机器自己学习归纳出算法,可以判断出其他照片是否是猫。目前这个领域算法代表:Linear regression, Logistic regression, Neural network, SVM等等。 4 - Unsupervise learning K-means PCA Anomaly detection 非监督学习指的就是人们给机器一大堆没有标记的数据,让机器可以对数据进行分类、检测异常等。 5 - Special topic Recommend system Large scale machine learning application 一些特殊算法,例如推荐系统。常用于购物网站,可以根据你的过往购物或评分情况,来向你推荐商品。 6 - Advice on machine learning Bias/vairance Regulation Learning curve Error analysis Celling analysis 机器学习的建议,包含参数正则化、学习曲线、错误分析、调参等。 7 - Deep Learning Neural Netwotk 深度学习是近期机器学习的一个热门分支,模拟人类大脑的思维方式,可以极大的提高正确率,是近来机器学习的一个非常大的突破。 8 - Tools/Framework TensorFlow/Theano/Keras 很多大厂就开源了一些机器学习的框架,基于这些框架可以很容易搭建机器学习的平台。 推荐的学习资料: Github上面有一份非常详尽的学习路径 (https://github.com/JustFollowUs/Machine-Learning) 我个人推荐的几个经典资料: 机器学习: Andrew NG的Coursera的机器学习入门 (https://www.coursera.org/learn/machine-learning):这个教程非常适合初学者,没有很高深的数学推导,Andrew也是业内大牛但非常谦逊,讲解非常浅显易懂。 周志平的机器学习(https://book.douban.com/subject/26708119/):号称最好的中文机器学习入门,这里有对这本书的详细评(https://www.zhihu.com/question/39945249)。 几本经典著作:An Introduction to Statistical Learning,Pattern Recognition and Machine Learning,The Elements of Statistical Learning 深度学习: Neural Networks and Deep Learning:Michael Nielsen 用非常浅显易懂的方式介绍了神经网络和深度学习,并且提供了一个手写数字识别的例子,非常适合入门。 UFLDL Tutorial I UFLDL Tutorial II:Andrew NG 主导的 Deep Learning 的学习资料,内容非常精炼,适合稍微有些基础的同学。 Deep Learning:几位大神共同编写的关于深度学习的 free book。 从人工智能到机器学习,再到最近大热的深度学习,人们已经在这个领域研究了数十年,现在虽然取得一定的突破,但是离真正的人工智能还有非常长的距离。而且人工智能一定要跳出学术界的研究框架,结合工业界的应用,从2016年可以看到大量的实际应用场景,例如自动驾驶、Apple Siri、Amazon Echo、谷歌翻译等等,我相信未来人工智能领域极有可能成为下一代颠覆性的技术革命。

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

在Centos 7上使用Devstack快速安装Openstack

准备环境: 1)最小安装Centos 7(6G内存+50G硬盘) 2)selinux、iptables关闭 systemctlstopfirewalld.service#停止firewall systemctldisablefirewalld.service#禁止firewall开机启动 setenforce0 # 使用豆瓣pip源 mkdir-p~/.pip vi~/.pip/pip.conf [global] index-url=http://pypi.douban.com/simple/ [install] trusted-host=pypi.douban.com 下载并安装EPEL wgethttp://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm-ivhepel-release-latest-7.noarch.rpm yumrepolist##检查是否已添加至源列表 为系统安装必要的工具包: yuminstall-yPython-pip pipinstall--upgradepip pipinstall-Uos-testr yum-yinstallbridge-utils yum-yinstallnet-tools yuminstall-ygityum-utils 更新系统 yumupdate 3)添加一个openstack用户 useradd-d/opt/stack-m-s/bin/bashstack echo"stackALL=(ALL)NOPASSWD:ALL">>/etc/sudoers 4)su进入新用户并克隆devstack su-stack gitclonehttps://git.openstack.org/openstack-dev/devstack 5)安装devstack cddevstack ./stack.sh 等待2-3分钟,您将看到MySQL数据库,RabbitMQ,服务管理员,服务身份验证和Horizon和Keystone服务的密码提示。 预计剩余的安装步骤需要至少10-30分钟的长时间(具体取决于您的互联网连接。 6)安装完成后就可以访问 ************************************************************************************************* 启动 OpenStack 报错问题处理: /stack.sh: line 488: generate-subunit: command not found sudo yum install -y Python-pip sudo pip install --upgrade pip sudo pip install -U os-testr

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

uni-ai:让你的App快速接入AI

不管你的App是原生开发,还是基于某个跨端框架,都可以试试uni-ai。 uni-ai让你的 App 1 天接入 DeepSeek等AI模型,2 天上线全平台原生 AI 聊天功能! 在 AI时代,每个App都在思考AI化。 内置AI聊天(AI问答)成为众多App的基本需求。但当你准备动手打造一个像 ChatGPT、DeepSeek 那样流畅的AI客户端时,很快就会发现,技术挑战层出不穷,比如:webview 集成AI聊天虽然快捷,但体验相比原生,着实有差距。 如果不基于webview,采用原生开发,那么需要在Android、iOS、鸿蒙等平台解决如下问题: (1)流式网络请求:大模型流式返回的token,需要在手机端流式接收。 (2)缺少全平台效果一致的markdown解析器 (3)markdown流式解析复杂:传统应用场景下 markdown 解析都是全文解析。而随着 ai 的发展,流式回复的内容越来越长,需要持续跟踪上下文状态,判断当前内容是否在代码块/表格/列表等元素中,解析速度必须跟上流式传输速度,否则会明显卡顿; (4)全编程语言代码高亮:当AI回复编程语言时,几十种编程语言的代码如何高亮?当代码内容逐token更新时,如何局部重绘避免整体闪烁? (5)table的解析渲染:table对原生历来就是挑战。虽然大模型返回的表格不会特别大。但仍然要处理动态计算表格宽度,根据响应内容调整列宽,还需处理emoji/中文混合排版等情况。 (6)流式网络、流式markdown解析、流式排版,全程流式,且不能影响用户的UI操作,比如流式期间滚动操作不能掉帧。 (7)开发量大,尤其是鸿蒙平台缺少成熟库。 (8)以上问题,在每个平台都很难,如果要全平台支持,就更难。如果在全平台都保持高性能,那难度和工作量真是让人却步。 所以,DCloud提供了uni-aix。上述问题全部解决且开源免费。 什么是uni-ai x? uni-aix是一个开源、免费、全平台支持的原生 AI 聊天套件,基于DCloud 的新一代跨平台原生框架uni-app x开发,故Android、iOS、鸿蒙、Web、微信小程序全支持,一套代码、多端运行。 uni-ai在Web平台支持响应式布局: 在下载运行源码前,您可以安装apk到手机上,亲身体验下它的效果(demo不能连接计费模型) uni-aix成功解决上述痛点: 全平台一致的markdown流式渲染器 纯原生的体验而非webview 高性能的流式网络、流式markdown解析、流式排版,不卡滚动等用户交互。 动态响应宽度的原生表格 几十种编程语言高亮 开源、免费 除上述痛点外,uni-ai x还有更多完善的特性: 多屏适配与主题适配:适配 PC 浏览器宽屏和移动设备,适配pad、折叠屏,并提供浅色和暗黑两种主题模式 消息与会话管理。支持多轮对话和历史会话管理,具备会话切换、删除、自动创建等功能,提供完整的 AI 聊天体验 内置了uniCloud的AI能力,可以免开发直接接入deepseek、阿里通义、minimax、GPT-4、讯飞ifly。当然也可以不使用uniCloud,切换到自己的AI服务器。 uniCloud的AI能力,支持客户端安全直连大模型,大幅减少服务器压力和成本。否则在流式响应期间,服务器需要持续消耗。 内置了uni-id,自带账户体系。当然也可以不使用uni-id,接入已有的账户体系。 可以把uni-ai x当做独立的AI客户端,它具备DeepSeek客户端的极高仿真度;也可以把uni-ai x当做一个SDK,接入到已有的App中,成为一个AI聊天模块。不管是原生App还是其他跨平台框架开发的App,都可以以原生SDK接入的方式接入uni-ai x。uni-app x开发的App也可以接入。但uni-app开发的App需接入基于webview的uni-ai,而不是本次推出的uni-ai x。 开源可定制:前后端代码全开源,便于二次开发,适合各种 AI 应用场景 uni-aix全部代码开源,源码托管地址:gitcode.com、github.com 为什么 uni-ai x 能做到这些? uni-ai x的底层基于uni-app x原生跨端框架、uniCloud云开发框架。 使用uni-ai x,需要了解这些技术。 uni-app x 是 DCloud 的新一代原生跨平台框架,开发者使用UTS语言编写App代码,UTS是类似TS的语言,但它在原生平台会编译为原生语言。UTS语言在不同平台会编译为不同目标语言: Web/小程序平台:编译为JavaScript Android平台:编译为Kotlin iOS平台:编译为Swift 鸿蒙平台:编译为ArkTS uni-ai x的客户端部分,正是基于uni-app x,所以编写一套代码,就可以全平台覆盖。更多uni-app x的介绍,详见:uni-app-x uni-ai x里还集成了uniCloud云开发,从客户端到服务器,提供了整套源码。uniCloud是基于js的serverless云服务。除了基本的数据库、云函数、云存储,还提供了AI能力集成、uni-id账户体系等。更多uniCloud的介绍,详见:uniCloud 当然,uniCloud是可选的,您也可以不使用uniCloud,改用自己的服务器。 uni-ai x 如何集成? 如果你的App本来就是基于uni-app x开发的,那集成uni-aix非常简单,只需从DCloud插件市场下载uni-ai x插件到自己的uni-app x项目工程即可,uni-ai x是一个标准的uni_modules插件。 如果你的App是基于原生开发,或者使用的是业内其它跨端框架,那么集成uni-aix,主要有4步: (1)在uni-ai x 插件页面,点击“使用 HBuilderX 导入示例项目” (2)如使用uniCloud,需根据文档注册并配置相关的AI服务 key (3)在HBuilderX中导出应用原生资源,生成一批kotlin/swift/arkTS/js代码及相关图片字体等附件资源 (4)在你的原生工程中,引入uni-app x 原生SDK,合并入上一步导出的应用原生资源,整体运行编译。 参考资料: uni-ai x插件地址为:DCloud 插件市场 uni-app x 原生SDK集成及下载参考:uni-app x 原生SDK App如何AI化? 您可能早就想在App中引入AI能力,但又不知道如何把AI与App现有业务结合。下面列举部分常见的AI使用场景。 1.餐饮推荐: 用户:我想请同事吃饭,2人是回族; AI:预算多少? 用户:人均150元 AI:好的,如下是给你推荐的餐馆/菜品。。。 2.购物助手: 用户:我想买一个华为Mate 70 Pro,黑色; AI:内存要求多大? 用户:512G AI:对到货时间有要求吗? 用户:越快越好 AI:如下是支持京东物流、且符合您需求的商品清单 3.CRM培训: 销售新人:客户抱怨“太贵了”,该怎么回复? AI教练:您对比过哪些同类产品呢? 4.生活工具 用户:明天出差深圳,需要带什么东西? AI:几点到达深圳? 用户:下午3点。 AI:明日深圳气温28℃→推荐透气衣物;明日下午3点在深圳机场附近有暴雨预警→提醒带伞; 5.旅行助手 用户:计划暑假带孩子到新疆玩,帮我做个攻略。 AI:你想自驾还是报团? 用户:自驾 AI:预计几天时间? 用户:5天 AI:其它问题,多轮问答 还有很多场景,像客服、教育、医疗等,都需要AI基于多轮对话获取完整信息,从而给用户提供更精准的服务。 你的App是什么业务场景,你是如何使用AI的?也欢迎在评论区留言参与讨论。 欢迎大家使用uni-ai x,更欢迎大家 star、fork、提issue,共同完善这个开源项目! 开源地址:gitcode.com/dcloud/uni-… 技术交流群:更多问题欢迎加入uni-ai官方交流群。此群非微信群,而是DCloud的uni-im群。 手机端请使用 DCloud App扫码,或点击链接:uni-im 交流群

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

🔥 前端开发三大神器助你快速进入

还记得那些熬夜调试、满屏红色报错的日子吗?MCP(Model Context Protocol)正在让这一切成为历史。看看这三个神器如何把我们从"代码搬砖工"升级为"AI协作大师"! 三大核心模块深度解析 🧠 context7 - 你的专属项目大脑 自动记录项目架构、依赖关系、命名规范 跨会话保持上下文,AI永远记得你项目的"个性" 基于Upstash云存储,毫秒级访问项目历史 ⚡ sequential-thinking - 逻辑推理引擎 将复杂开发任务拆解为可执行步骤 支持链式思考:需求分析 → 技术选型 → 代码实现 → 测试验证 可视化展示推理过程,每一步都清晰可控 🔄 mcp-feedback-enhanced - 智能反馈优化器 实时分析代码运行结果和用户反馈 自动调整代码风格和实现策略 构建个人化的最佳实践知识库 💻 写代码场景实战演示 场景一:从零搭建React项目 以前的你: # 各种配置文件手动创建 npx create-react-app my-app # 反复查文档配置webpack、eslint、prettier... # 花费2-3小时才能开始写业务代码 现在的你: "帮我搭建一个带TypeScript的React项目,集成Tailwind和Zustand" 🧠 context7: 记住你偏好的技术栈和项目结构 ⚡ sequential-thinking: 1. 分析需求 → 2. 选择最佳实践 → 3. 生成配置文件 → 4. 创建基础组件 🔄 mcp-feedback-enhanced: 根据你的使用习惯调整代码风格 结果:5分钟完整项目脚手架,代码风格完全符合你的习惯! 场景二:复杂组件开发 以前的你: 在Stack Overflow翻找解决方案 复制粘贴代码后各种调试 花一天时间实现一个表格组件 现在的你: "基于我们项目的设计系统,创建一个支持排序、筛选、分页的数据表格" 🧠 context7: 自动获取项目的UI组件库、主题配置、已有组件 ⚡ sequential-thinking: 1. 分析设计系统 → 2. 复用已有组件 → 3. 实现新功能 → 4. 添加类型支持 🔄 mcp-feedback-enhanced: 基于项目中类似组件的实现模式优化代码 结果:30分钟完成,代码风格统一,性能优化到位! 场景四:大型电商项目重构 - 三模块完美协作演示 背景:你接手一个有着200+组件的老旧电商项目,需要从Vue2+Webpack迁移到Vue3+Vite,同时重构状态管理和优化性能。 第一阶段:项目诊断与规划 "分析这个电商项目,制定Vue2到Vue3的完整迁移方案" 🧠 context7 启动: - 扫描项目结构,发现208个.vue文件、34个Vuex store模块 - 记录项目依赖:vue-router@3.x、vuex@3.x、element-ui@2.x - 识别关键业务模块:用户系统、商品管理、订单流程、支付集成 - 建立项目知识图谱,标记高风险重构点 ⚡ sequential-thinking 接管: Step 1: 依赖兼容性分析 → 发现23个不兼容依赖 Step 2: 业务模块优先级排序 → 核心支付流程优先 Step 3: 迁移策略制定 → 渐进式迁移,保证系统稳定 Step 4: 风险评估 → 识别可能的breaking changes Step 5: 时间规划 → 3周迁移计划,每周一个里程碑 🔄 mcp-feedback-enhanced 预警: - 基于历史类似项目数据,预测迁移过程中的常见问题 - 建议优先处理element-ui到element-plus的组件迁移 - 推荐使用@vue/compat作为过渡方案 第二阶段:核心模块迁移 "开始迁移用户登录和商品列表模块" 🧠 context7 提供支持: - 调取用户模块的完整调用链:Login.vue → UserStore → AuthAPI - 识别商品列表的性能瓶颈:无虚拟滚动,一次加载1000+商品 - 记住你偏好的新架构:Composition API + Pinia + TypeScript ⚡ sequential-thinking 执行迁移: Step 1: 创建新的用户store(Pinia) └─ 保持原有API兼容,确保其他模块不受影响 Step 2: Login.vue重写为Composition API └─ 重构表单验证逻辑,使用VueUse工具库 Step 3: 商品列表性能优化 └─ 引入virtual-list,实现10000+商品秒级渲染 Step 4: TypeScript类型定义 └─ 为用户和商品数据创建完整类型体系 🔄 mcp-feedback-enhanced 实时优化: - 监测迁移后的性能指标:页面加载时间从3.2s降至0.8s - 发现新的TypeScript类型错误,自动修复 - 根据团队成员的code review反馈,调整代码风格 第三阶段:状态管理重构 "重构整个状态管理架构,从Vuex迁移到Pinia" 🧠 context7 深度分析: - 绘制完整的数据流图:34个store模块的依赖关系 - 识别冗余状态:发现12个重复的用户信息存储 - 记录异步操作模式:支付流程的复杂状态机 ⚡ sequential-thinking 系统重构: Step 1: 核心store优先迁移 └─ user、cart、order三大核心store Step 2: 状态合并与优化 └─ 消除重复状态,建立统一的数据源 Step 3: 异步操作标准化 └─ 统一错误处理、loading状态、缓存策略 Step 4: 跨组件通信优化 └─ 使用provide/inject替代事件总线 🔄 mcp-feedback-enhanced 质量保证: - 检测到订单状态更新存在race condition - 自动生成状态管理的单元测试用例 - 根据性能监控数据,优化状态持久化策略 第四阶段:性能优化与部署 "优化构建配置,准备生产环境部署" 🧠 context7 历史回顾: - 对比迁移前后的bundle size:从2.3MB降至1.1MB - 记录优化过程中的所有配置变更 - 保存性能基准数据,用于后续对比 ⚡ sequential-thinking 最终优化: Step 1: 代码分割优化 → 路由级别的懒加载 Step 2: 资源压缩 → Gzip + Brotli双重压缩 Step 3: CDN配置 → 静态资源分离部署 Step 4: 缓存策略 → 强缓存 + 协商缓存 🔄 mcp-feedback-enhanced 持续监控: - 部署后性能监控:首页加载时间稳定在800ms以内 - 用户反馈收集:页面响应速度提升73% - 建立性能告警机制,异常时自动通知 协作成果: 开发效率:原本需要2个月的重构工作,3周完成 代码质量:TypeScript覆盖率100%,单元测试覆盖率85% 性能提升:页面加载速度提升75%,bundle size减少52% 团队协作:标准化的代码风格,详细的重构文档 三模块协作的精髓: context7像项目的"记忆大师",记住每一个细节 sequential-thinking是"策略规划师",系统性解决复杂问题 mcp-feedback-enhanced是"质量监督员",确保每一步都是最优解 🚀 开发效率革命性提升 量化对比: 学习成本:从查文档2小时 → AI对话5分钟 代码质量:从个人经验 → 最佳实践沉淀 调试时间:从盲目试错 → 精准定位 知识传承:从零散笔记 → 结构化知识库 真实感受: // 以前写代码的心情 const mood = useState('焦虑') const energy = useState('疲惫') const confidence = useState('不确定') // 现在写代码的心情 const mood = useState('轻松') const energy = useState('专注') const confidence = useState('胸有成竹') 💡 未来编程新范式 从"写代码"到"聊需求": 自然语言描述需求,AI生成最佳实现 专注业务逻辑,告别重复性工作 代码质量自动优化,性能问题提前预防 个人化开发助手: 学习你的编码习惯和偏好 记住项目的历史演进和决策背景 提供定制化的技术建议和解决方案 🎯 立即体验MCP 如果你还在手动配置开发环境、复制粘贴Stack Overflow代码、为调试bug熬夜,那你真的out了! MCP不是在替代程序员,而是在解放程序员 - 让我们从重复性劳动中解脱,专注于真正有创造性的工作。 这就是2025年前端开发的标配! #MCP #前端开发 #AI编程 #开发效率 #React #TypeScript #Vue3 已经体验MCP的前端er们,在评论区分享你们的"爽点"时刻!还没体验的赶紧上车,别让AI时代的红利从指缝溜走~

资源下载

更多资源
优质分享App

优质分享App

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

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

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

Spring

Spring

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

用户登录
用户注册