• [热门活动] 华为云微服务Java SDK Maven私服切换至华为开源镜像站通知
    尊敬的华为云客户:华为云计划于2018/10/01 00:00:00将华为微服务引擎Maven私服http://maven.huaweicse.com,正式下线。Maven私服下线后,您将无法下载微服务引擎Java SDK。为避免对您的业务造成影响,建议在私服下线前切换至华为开源镜像站。微服务引擎Java SDK已经在华为开源镜像站上线,欢迎访问https://mirrors.huaweicloud.com/,通过搜索“华为云SDK”或“HuaweiCloud”找到HuaweiCloud SDK,您将可以免费使用CSE、OBS、EI等SDK。更多关于华为微服务引擎CSE的介绍,请您点击了解。如您在使用过程中有宝贵意见,欢迎您拨打华为云服务热线:4000-955-988与我们联系。感谢您对华为云的支持!https://www.huaweicloud.com/notice/2018/20180830175758551.html
  • 【福利贴】有一个程序猿男朋友是一种怎样的体验
    继“你幸福吗”的心灵追问之后,近日记者们又采访了一批资深程序员的女朋友们,就“有一个程序猿男朋友是一种怎样的体验”的问题进行了深度访谈。接下来让我们一起来了解一下程序猿这种来自外太空的神奇存在物种。 @西瓜红通通和他一起去买衣服,他随便拿了一件准备买单。我说大哥你已经有一件一模一样的了你昨天才穿过呢你不记得了吗?看他依依不舍地放下那件条纹,又拿起不同颜色的另一件条纹……那种崩溃的感觉大概你们永远也体会不到 [手动再见] @是柠萌不是柠檬学习积极分子一枚。发现新技术,第一反应是卧槽这是什么东西这么牛比,第二反应是卧槽老子要学会它。  @手动笔芯每次情人节啊生日啊他说有礼物要送我的时候我特别害怕,别人家送的惊喜而他常常送的都是惊吓……毕竟程序猿这种审美癌晚期患者,连维纳斯来了也拯救不了他。 @不换头像也瘦十斤别的程序员我不知道,但我家那位三观真是特别清奇:世界观:这个世界充满了bug。人生观:人活着是为了debug。价值观:生命的意义在于debug。 @不吃胡建人的广东人有段时间他看出我心情沮丧,问我怎么了,我说我游戏老打不赢。当时没说啥,几天后神秘地说给我写了个作弊软件刷分。emmm,我该告诉他我已经不玩那个游戏了吗…… @阳光雨露难道不是脑回路特别奇特?别人送玫瑰送999朵,他说他要给我完整的爱,然后给我送了1024朵。 @葡萄唐怎么说呢,我的程序猿男票最近比较忙。不过没关系,忙完这一阵,他就可以接着忙下一阵了。 @不是人造革如果你的程序猿男朋友:1、把你的照片放在手机屏幕上2、可以让你随时翻他手机3、不大声对你说话4、把qq密码告诉你5、把银行卡给你,密码也告诉你那么,我建议是,你就取了他的钱走吧! @小柴不加胡看了你们的程序员男朋友,我只想说,这里有一份 解救程序员攻略,小姐姐们了解一下?
  • [云运维] 虚机应用中如何接入应用运维功能
    华为云立体运维解决方案包含AOM、APM服务,这两个服务都是协助云应用运维的,其功能主要侧重点不同,如下图示:本文将介绍虚机应用如何使用应用运维的各功能(包括AOM服务、APM服务)。容器应用请移步容器应用中如何接入应用运维功能。当前,AOM、APM服务使用的都是统一的采集代理去获取节点、应用状态等数据,将应用运维功能接入容器应用,实际上就是将采集代理安装到应用所在的节点上,这样就表示应用中已经接入了AOM、APM服务了,节点的状态、资源情况、应用的健康状态、拓扑&调用关系等数据展现在AOM、APM界面中。采集代理的核心就是采集探针,关于采集代理的原理及介绍,您可以查看采集知多少。至于将AOM、APM接入到应用中之后更加详细的操作,本文不做描述,请查看AOM用户指南、APM用户指南。将虚机应用部署在弹性云服务器或裸金属服务上之后,要使用应用运维功能,则需要进行如下操作。操作流程1、开通。2、安装ICAgent:安装采集代理ICAgent(用于实时采集应用数据)。什么是ICAgent3、配置应用发现规则使AOM发现应用:配置应用发现规则即把应用的命令行参数、进程、环境变量等配置为一条应用发现规则,当弹性云服务器上运行了符合规则的进程时,AOM将自动监控进程指标数据并上报到界面中。4、使用AOM、APM运维。本文不再详细讲解如何使用,具体的操作可以查看AOM用户指南、APM用户指南。操作前提1、安装了应用的弹性云服务器的操作系统为Linux操作系统。2、安装了应用的弹性云服务器绑定了弹性IP地址。如果您拥有多台弹性云服务器,则只需要确保其中一台已经绑定弹性IP即可。如何绑定弹性IP操作请参见为弹性云服务器申请和绑定弹性IP3、已获取了AK/SK。AK/SK用于安装ICAgent采集代理,获取AK/SK请参考如何获取AK/SK4、确保本地浏览器的时间与弹性云服务器的时区、时间一致。如果时间不一致,则可能导致AOM监控到的指标数据异常。操作步骤1、开通。访问AOM会自动为您开通,访问APM会自动开通。(因为AOM、APM是两个服务,所以要分别访问开通。)2、安装ICAgent,详见安装ICAgent。3、配置应用发现规则以便AOM可发现应用,详见应用发现。4、使用AOM、APM运维。本文不再详细讲解如何使用,具体的操作可以查看AOM用户指南、APM用户指南。现在就使用AOM、APM服务:体验馆免费体验——使用您自己的账号登录AOM,通过体验馆免费体验AOM、APM功能。demo免费体验——使用应用性能管理提供的免费账号登录并了解应用性能管理服务功能。使用应用运维——使用您自己的账号登录AOM,进一步了解AOM、APM服务功能或将AOM、APM服务接入您自己的应用。
  • 华为开源镜像站2.0震撼上线!更快!更全!更好用!
    华为开源镜像站2.0震撼上线https://mirrors.huaweicloud.com/powered by 华为云DevCloud 镜像站?啥玩意儿?能照镜子么? 先来个自我介绍,这么说吧        没有镜像站,直连国外源站,下载组件就像“望包石”,等到想死的心都有了。。。然后下载失败,主要看人品有了镜像站,体验飞一般的下载感觉,瞬间舒爽了。。。再也不用担心下载失败,人品碎一地了   Err….,还是不懂镜像站用处是啥?那就比较头疼了… …尽最后努力友情提示一下:开源软件下载加速 “快”?“好用”?“够用”?说说而已?NO!!我们是很认真,很认真的。。。Firstly,你只下载几十K、几十M,偶尔来个G?我们却拿出“双十一”剁手的功力,搜罗全世界的组件,缓存了100+T组件,根本停不下来。。。 Secondly!我们“壕”掷重金,拉上华为云CDN服务,搞了全国CDN加速,不管你在南方的艳阳里大雪纷飞,还是在北方的寒夜里四季如春,下载全覆盖~~还没完,因为“壕”,我们做了全站CDN!全站CDN!!全站CDN!!!更重要的是,还“免费”!“免费”!!“免费”!!!试问,还有谁。。。(预备。。唱:无敌是多么 多么寂寞;无敌是多么 多么空虚。。。) 第三,镜像站搞的都是“进出口贸易”,我们通过层层“努力”,打通香港节点.从香港出口帮你“专业”实时代理,全球拉组件。。。需我镜像者,虽远必拉。够不够诚意?!  Fouthly,对于大家永远满足不了的诉(re)求(qing)。镜像种类我们一加再加,计划都排到了2046年。。。。目前已经支持语言,工具,操作系统等大大小小45+类镜像!!第五,为了让你用得安全,我们绞尽脑汁,晓之以理,动之以情。磨破嘴皮,不断推动跟国外社区的合作,一步一个脚印。。。 最后,妹子们(猿鼓励师)说“要有颜值!!颜值!!!,不然都是渣。。。,”so,猿们不顾产品经理阻挠。。。,把镜像站页面做了美颜和瘦身美颜前美颜后讲了这么多(口干),到底怎么用啊?只需访问:https://mirrors.huaweicloud.com/                                                                               镜像配置一键生成,分分钟搞定,就是这么简单!!Um。。。我猜到了你们的小心思是不是想用docker镜像?是不是想用go镜像?是不是想要组件搜索?想不想快速发布组件到Maven central?……Anyway,这些都要看心情了(规划中)。。。最后的最后,送上小组才子即兴赋诗一首,镇楼!using huawei mirror, being bussiness leader,coding not only better and standing even topper,joining us sooner and you will be a winner
  • 【福利贴】脱单秘笈震撼上线,错过再等一年!
    不知不觉夏天已经过去一半了,一个人吹着空调就着西瓜抱着电脑的单身程序猿们,到底如何才能摆脱母胎solo的宿命呢? 为了拯救广大闷骚内秀的IT宅男们,小柴特地出炉了一份“脱单秘笈”。内含福利,一定要认真阅读哦~ Step 1男生可以不帅,但是绝对不能没有气质和个性!所以,请先把你的拖鞋、大裤衩、紧身背心扔掉,然后去理发店剪掉多余的头发。简单的白衬衫+牛仔裤+帆布鞋,看起来干净、阳光,瞬间秒杀条纹衫有木有? Step 2吸引了女神的注意之后,交流就显得非常重要。如果你不想当一开口就输了的话,下面这些土味情话了解一下?——能问下路吗?——去哪里?——去你心里的路。 ——你为什么要害我!——我害你?——害我那么喜欢你。 ——啊,我手上划了一道口子,不如你也划一道吧。——为什么呀?——这样我们就是两口子了呀。 ——你能不能别说话了。——我没有啊。——那为什么我满脑子都是你的声音。 Step 3如无意外,此时妹子已被你哄得心花怒放了。然后,妹子向你抛出了一个绝杀问题——要不,下班陪我一起去逛街吧? 这时你感到的开心,不是高兴,而是惊慌、失措:怎么办,难道我要告诉她,每次公司有新业务特别是新游戏上线,我都要加班到凌晨紧盯着运行数据,以防业务异常影响用户体验。所以不能陪她去逛逛逛、吃吃吃了?啊,怎么办,难道……难道我就不能摆脱母胎solo的宿命吗,嘤嘤嘤…… 女神似乎看出了你的小心思,说:噗,你该不是要加班吧?等等,你该不会还在自建Redis缓存吧?哎,是时候放大招了——华为云分布式缓存服务Redis提供单机、主备、集群等实例类型,完美兼容原生开源协议,30+项监控指标自主运维,能满足用户高性能读写的业务诉求。一键扩容,立等可用,哎,你还在等什么,快点击查看详情:https://activity.huaweicloud.com/dcs_midyear/index.html?forum  “选华为云分布式缓存服务Redis,数据库运维更省心,你就有时间陪我去逛街了,走吧~”
  • 【干货贴】1分钟带你玩转Kafka
    本帖最后由 小柴不加胡 于 2018-5-11 11:28 编辑说起Kafka,许多使用者对它是又爱又恨。Kafka是一种分布式的、基于发布/订阅的消息系统,其极致体验让人欲罢不能,但操心的运维、复杂的安全策略、可靠性易用性的缺失、算不上极致的性能发挥、并不丰富的消息服务功能,仍需要使用者付出诸多的背后工作。即使你是Kafka老手,也难免会有上述同样的烦恼。 与其整日操心Kafka的部署,不如试试云上Kafka带给你的惊喜?目前国内主流的云服务厂商均提供了云上的Kafka服务,为应用系统提供异步的消息队列服务。通过高可用的消息缓冲队列,实现应用解耦、突发流量处理及与第三方的互通和集成,具有大规模、高可靠、高并发访问、可扩展且完全托管的特点。比如分布式消息服务DMS,帮助云端的应用程序组件去耦合,具有很高的成本效益。DMS拥抱开源,提供支持兼容开源Kafka接口,用户可无缝迁移,按需使用。 15132 DMS优势全面兼容Kafka 提升效率兼容开源业务系统基于开源的Kafka进行开发,只需加入少量认证安全配置,即可使用DMS的Kafka队列,做到无缝迁移。消息互通支持消息多通道,DMS接口可对Kafka队列进行消息收发,也可用开源Kafka client进行消息收发。安全保证华为独有的安全加固体系,提供业务操作可回溯,消息存储加密及租户间有效隔离等有效安全措施。 高可靠及可用无忧运维数据高可靠消息持久化,多副本存储。服务高可用后台多集群部署,支持故障自动迁移和容错,保证用户关键业务的可靠运行。无忧运维提供一整套完整的监控告警等运维服务,故障自动发现和告警,避免7*24小时人工值守。 核心特性细粒度灵活控制DMS支持RBAC(基于角色访问控制)和PBAC(基于策略访问控制)两种访问控制模式,从而提供更加安全灵活的访问策略。可以实现消息队列粒度和API调用动作的安全策略访问控制,结合华为云的IAM服务,可以满足用户几乎所有对消息服务使用的安全要求。多协议的访问DMS提供多种协议接入方式,包括1)HTTP 符合REST规范标准的接入,支持多种语言接入使用,并支持云内及云外访问。2)基于TCP的简单SDK方式,提供更加高性能的访问接口;另外,还提供兼容开源Kafka的开放接口,能够更好地帮助用户把使用Kafka的应用快速上云。分布式可靠集群和海量队列能力内建的分布式集群技术,使得服务具有高度扩展性;无限扩展的队列数量和可扩展的高性能机制,保证在高并发、高性能和大规模场景下的访问能力,轻松实现百亿级消息的堆积和访问能力。内建消息冗余存储,保证消息存储的可靠性,有效避免服务节点故障。死信管理死信是在消费环节为用户提供一种不能正常处理消息时的可选方案,防止因个别消息不正常导致后续消息都不能被消费,造成业务阻塞。DMS为用户提供可视化死信开关和参数配置,并提供API接口。在不开启死信队列功能时,对于确认失败或超时的消息,系统会进行回滚并重投递。无论是否开启死信功能,DMS服务都会保证消息不丢失。自定义消息功能DMS除提供消息队列的核心功能外,还提供额外的增强能力,为用户提供高收益、低成本的极具性价比的消息服务。消息消费重置允许用户设置任一可消费的时间点控制向前或向后消费进度,提高消费的灵活性;基于消息标签的消息过滤可实现选择性地消费包含指定标签的消息;支持消息属性,每条消息上都可以设置不同的属性。无忧运维消息服务是云原生服务,整个消息服务的运维对用户透明。用户无需关心后台运维情况,只需关注自身涉及的消息队列指标,支持对入队消息数、请求数、已经消费的消息数、消息堆积数量等情况的监控,并支持配置告警规则,用户可以在第一时间通过短信、邮件等获得业务消息队列的运行使用和负载状态。 适用场景业务解耦将业务中依赖其他系统同时属于非核心或不重要的部分使用消息服务,无需同步等待其他系统的处理结果。如电商网站获取用户订单后,信息放入消息队列,会从队列里读取出库、发货任务信息然后执行。最终一致性用于两个系统的状态最终保持一致,或都成功或都失败。如用于交易系统的高可靠数据传递,实现跨系统的事务最终一致,降低实现难度和成本;如预定门票及软件打车。错峰流控上下游系统处理能力有差异时,可以使用消息服务转储系统之间的通信数据,提供消息堆积缓冲能力,在下游系统有能力处理消息的时候再处理,减少拥塞、系统崩溃等问题,提高系统的可用性,降低复杂性。如高峰时段的注册、抢购、预约等。日志同步应用通过可靠异步方式将日志消息同步到消息服务,再通过其他组件对日志做实时或离线分析,也可用于关键日志信息收集,进行应用监控。如注册时用户填写的个人信息等。 现阶段DMS免费使用喔!一分钟玩转Kafka,就是这么简单。老铁们快戳这里享受福利吧~
  • 华为开源镜像站新手指导(SBT篇)
    本帖最后由 华为开源镜像站 于 2018-4-12 19:31 编辑SBT基本介绍 SBT是Scala平台上标准的项目构建工具,使用少数的几个概念来支撑它灵活并且强大的构建定义。 其主要特性为: [*]使用Scala作为DSL来定义build文件(one language rules them all); [*]通过触发执行(trigger execution)特性支持持续的编译与测试; [*]增量编译; [*]可以混合构建Java和Scala项目; [*]并行的任务执行; [*]可以重用Maven或者ivy的repository进行依赖管理; SBT安装 可通过以下几种方式安装 1、通过通用的安装包安装 下载ZIP或者TGZ包并解压 2、通过Windows安装包安装 下载msi安装包并安装 下载地址:https://www.scala-sbt.org/download.html 附: SBT官方文档地址:https://www.scala-sbt.org/documentation.html
  • [公告] 华为开源镜像站发布公告
    ==========新特性上线 2020-04-18==========新增 fedora MIPS 镜像新增 openEuler 镜像新增 electron-builder-binaries 镜像适配 Electron 请求的url拼接规则变化问题, 路径中有无加 v 均可正常访问==========新特性上线 2019-11-27==========新增Docker-Ce镜像==========新特性上线 2019-09-06==========新增OS类组件搜索==========新特性上线 2019-08-08==========新增华为OCR SDK镜像==========新特性上线 2019-07-25==========新增华为鲲鹏(ARM)镜像==========新特性上线 2019-07-19==========新增华为MRS SDK镜像新增Remi镜像新增CentOS-AltArch配置说明==========新特性上线 2019-07-11==========新增Yarn镜像新增Cypress镜像==========新特性上线 2019-06-27==========新增NPM/PyPI组件漏洞查询功能==========新特性上线 2019-06-21==========新增Bazel镜像新增Helm镜像==========新特性上线 2019-06-13==========新增Keepalived镜像新增GNU镜像新增Filebeat镜像新增Elasticsearch镜像新增Kibana镜像新增Logstash镜像新增OpenResty镜像新增PuTTY镜像新增etcd镜像新增Mariadb镜像新增Grafana镜像新增Ansible镜像==========新特性上线 2019-06-05==========新增Kubernetes镜像新增Pinpoint镜像新增Memcached镜像新增RabbitMQ镜像==========新特性上线 2019-05-30==========新增Redis镜像新增HAProxy镜像优化用户体验==========新特性上线 2019-05-14==========新增Linux Mint软件源镜像新增Linux Mint安装镜像新增MX Linux软件源镜像新增MX Linux安装镜像新增Maven组件搜索功能优化界面,提升用户体验==========新特性上线 2019-03-28==========新增Ubuntu Kylin镜像==========新特性上线 2019-03-15==========新增OpenJDK镜像优化某些体验性问题==========新特性上线 2019-03-01==========新增Kali官方软件源镜像新增Kali-Images安装镜像==========新特性上线 2019-02-19==========新增Ceph镜像修复某些体验性bug==========新特性上线 2019-01-24==========新增Manjaro官方软件源镜像新增Manjaro安装镜像新增华为EulerOS镜像 新增Centos-Altarch官方镜像==========新特性上线 2019-01-02==========新增人工客服入口新增意见反馈入口更新Maven镜像源 ==========新特性上线 2018-12-10==========新增Arch Linux快捷下载新增OpenSUSE快捷下载==========新特性上线 2018-11-15==========新增DockerHub官方镜像新增ArchLinux镜像==========新特性上线 2018-11-02==========新增OpenBSD镜像新增NetBSD镜像新增maven镜像库的组件页面==========新特性上线 2018-10-25==========新增Debian-Security安全镜像==========新特性上线 2018-10-15==========新增NPM组件搜索功能新增PyPI组件搜索功能==========新特性上线 2018-08-01==========新增OpenSUSE的安装镜像和官方软件包仓库新增CentOS额外平台的安装镜像和官方软件包仓库centos-altarch==========新特性上线 2018-07-26==========新增Git的macOS客户端镜像git-for-macOS新增Windods系统下的Git客户端工具tortoisegit镜像新增epel和fedora镜像库官方认证标签==========新特性上线 2018-07-19==========新增基于Chromium和Nodejs的API镜像nwjs新增可扩展的KanColle浏览器和工具镜像poi新增Couchbase的Node.js库镜像修复某些体验性bug==========新特性上线 2018-07-17==========镜像站2.0上线新增基于ChakraCore引擎的Node.js镜像node-chakracore新增Git的Windows客户端镜像git-for-windows新增开源文本编辑器atom镜像新增FireFox浏览器驱动geckodriver镜像新增leveldown二进制文件及源码镜像==========新特性上线 2018-07-06==========新增chrommium镜像库新增debian官方认证新增Maven代理镜像源优化登录问题,提升体验==========新特性上线 2018-06-15==========增加官方认证的镜像库标签增加“华为SDK”分类过滤增加FusionInsight HD C80 SDK镜像库==========新特性上线 2018-05-15==========增加Debian Linux的官方软件包仓库增加Debian Linux的安装镜像仓库增加Msys2的安装镜像仓库增加Zabbix的安装镜像仓库增加Debian镜像下载功能优化Ubuntu镜像下载版本==========新特性上线 2018-04-26==========增加OS镜像的下载优化注册引导框弹出频率,提升用户体验==========新特性上线 2018-04-16==========增加Scala/SBT的镜像仓库增加Alpine的官方软件包仓库增加FreeBSD的安装镜像仓库增加Cygwin的官方软件包仓库PyPI的卡片中增加easy_install的使用说明==========新特性上线 2018-04-04==========取消镜像站的鉴权,默认匿名用户使用源站地址,注册用户使用的是CDN地址增加Deepin Linux的官方软件包仓库增加Deepin Linux的安装镜像仓库优化使用说明的描述,增加不同仓库类型之前的关联==========新特性上线 2018-03-24==========增加CTAN镜像仓,包含TeX的各种发行版、软件包和文档的增加Jenkins镜像仓,包含开源持续集成框架Jenkins的工具及插件库增加EPEL镜像仓,包含红帽系Linux的附加软件包仓库增加Fedora镜像仓,包含Fedora的安装镜像和官方软件包仓库==========新特性上线 2018-03-16==========增加Npm周边工具的镜像,包括Electron,io.js,Node-Inspector,Node-Sass,NPM-Software等增加自动化测试工具镜像,包括Selenium,OperaDriver,PhantomJs,ChromeDriver等   
  • 开源镜像站还缺少alpine的镜像,希望可以加入
    开源镜像站还缺少alpine的镜像,希望可以加入,现代流行的Docker构建的时候,离不开alpine,所以有必要加入alpine的apk镜像。
  • 华为开源镜像站新手指导(RubyGems篇)
    本帖最后由 华为开源镜像站 于 2018-1-12 16:28 编辑RubyGems简介 RubyGems 是 Ruby 的一个包管理器,它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。RubyGems 旨在方便地管理 gem 安装的工具,以及用于分发 gem 的服务器。这类似于 Ubuntu 下的apt-get, Centos 的 yum,Python 的 pip。RubyGems安装首先下载安装包:https://rubygems.org/pages/download解压并进入目录,执行命令(首先要确保系统已安装ruby)[code]$ gem update --system # 需要管理员或root用户[/code]修改镜像源安装好RubyGems后的默认镜像源为rubygems.org,但由于网络原因,可将镜像源切换为华为开源镜像站的RubyGems镜像源。1、查看当前源[code]$ gem sources -l *** CURRENT SOURCES *** https://rubygems.org/[/code]2、移除当前源[code]$ gem sources --remove https://rubygems.org/[/code]3、添加华为镜像站的RubyGems镜像源(以匿名用户为例)[code]$ gem sources --add https://anonymous:devcloud@mirrors.huaweicloud.com/repository/rubygems/[/code]4、查看镜像源是否修改成功[code]$ gem sources -l *** CURRENT SOURCES *** https://anonymous:devcloud@mirrors.huaweicloud.com/repository/rubygems/ [/code]若使用Gemfile和Bundle(例如:Rails项目)可以用bundle的gem源代码镜像命令。[code]$ bundle config mirror.https://rubygems.org https://anonymous:devcloud@mirrors.huaweicloud.com/repository/rubygems/[/code]这样可以无需修改Gemfile的source。[code]source ´https://rubygems.org/´ gem ´rails´, ´4.1.0´ ...[/code]
  • 华为开源镜像站新手指导(NuGet篇)
    本帖最后由 华为开源镜像站 于 2018-1-12 15:03 编辑NuGet基本介绍 Nuget是用于微软.NET开发平台的软件包管理器,是一个Visual Studio的扩展。在使用Visual Studio开发基于.NET Framework的应用时,NuGet能够令你在项目中添加、移除和更新引用的工作变得更加快捷方便。 通过NuGet你可以很容易的访问到其他开发者发布的软件包,你也可以创建、分享或者发布自己的包到NuGet。微软的EntityFramework、ASP.NET MVC等或者一些常用到的第三方软件包:Json.NET、NUnit等都托管到NuGet上。 为什么要使用NuGet 简单的说NuGet可以使我们的工作更方便,当我们的项目里要引用到的一些库时候,比如JQuery、Newtonsoft.Json、log4net等,我们需要从网上下载这些库,然后依次拷贝到各个项目中,当有的类库有更新时又不得不再重复一遍很是繁琐 ,这时就可以考虑使用NuGet来帮我们管理和更新这些类库,而且更新类库时会自动添加类库的相关引用,方便至极。 安装NuGet 安装Nuget有两种方式,可以从Visual Studio的扩展中安装NuGet 或者直接从NuGet官网下载安装包。 NuGet下载地址:https://www.nuget.org/downloads NuGet官方文档地址:https://docs.microsoft.com/en-us/nuget/
  • [热门活动] 【DevCloud Weekly】华为云DevCloud最新动态汇总
    【DevCloud Weekly】华为云DevCloud产品最新动态130562018年8月之后华为云DevCloud产品最新动态地址2018年7月第四周:华为开源镜像站2.0震撼上线!更快!更全!更好用!2018年7月第一周:新部署类型,模板部署全新上线2018年3月第三周:测试服务6大功能升级 用户反馈页面全新优化 2018年3月第二周:项目管理再优化,精简流程升级为看板协作!2018年1月刊:开源镜像站上线CDN加速服务,下载性能快一倍!2017年12月第三周:双旦活动——好礼双倍送,致你和你的另一半2017年12月第一周:测试管理新版上线2017年11月第四周:华为云专家大咖 技术干货分享2017年11月第三周:福利来了!华为云+ofo 共同请你骑单车!2017年11月第二周:shell部署上线 轻松完成自动化部署2017年11月第一周:部署整体页面风格改变 有奖公测活动继续2017年10月第三周:生态合作伙伴项目管理OpenAPI发布2017年10月第二周:程序员过节有礼,众筹1024个不加班理由!2017年9月第三周:代码检查支持PHP语言
  • 2017年,开源界发生了那些事?
    本帖最后由 码小玩 于 2017-12-29 14:22 编辑一、GitHub 发布开源指南 GitHub 在今年2月14日的发布了声明,宣布一个以开源方法论为主旨的全新站点诞生,旨在为开发者和企业提供开源的软件工程方法论。一时之间,受各路追捧。开源之道也是第一时间,以布道汉语世界为己任,有幸成为了简体中文的维护者。地址是:开源指南。 尽管从某种程度上讲,我们都是开源的受益者,但是,开源依旧需要更多的人参与进来,而开源指南无疑能够帮助人们少走弯路,正确的认识开源,在为开源做贡献的同时,收获自己想要的。对于个人也好,企业也罢,都是获利的一方。还在犹豫什么?放手去干吧! 二、Docker 公司商业化,切出项目Moby Docker 作为PaaS平台dotCloud的衍生品,以重新包装Linux的容器而风靡开发者圈,完全重新定义了软件的交付方式。自2013年第一个版本发布起,发展非常迅速。不仅吸引了众多IT大鳄的青睐,而且很快成为了Linux容器的生态事实上的标准。 但是,Docker本身的商业化道路一直都备受关注,正当很多基于Docker的创业公司和产品层出不穷,急着变现的时候,比如国内很多基于容器的云公司,如红帽的OpenShiftV3的PaaS平台,以及公有云AWS、Azure、GCE等都似乎利用容器赚了个盆满钵满,然而,很多人开始为Docker公司着急了,害怕他成为当年Sun公司的Java,大家都在赚钱,唯独最初的原创者找不到合理的模式。 有资本界的朋友是如此评价Docker的: Docker走出如此的路数一点也不意外,从微软的收购未果而言,说明后面已经有资本和运营的人在预估了,一定是比微软更高的价格来计算的。这说明有业界的高手在帮助Docker的商业化,在恰当的时间做恰当的事,是一个企业能够成功的标志性事件。 三、Google 针对开源专门设立了站点Opensource.google.com Google 似乎正在改变自己在业内的高冷形象,从 Kubernetes 的社区运营,再到今年即将参与RedHat Summit 2017,乃至这次新开源站点的建立,都在应验着开放战略,试图扳回在云计算市场的失利。再比如Spanner的服务、以及免费为开发者提供资源等具体的产品和服务。其中一定有商业因素的考量,但我们始终认为Google的信条,以及他对开源独特的理解,所以宁愿相信他的情怀:Google 开源项目部不仅仅是让Google的软件变得更好——他们更加热衷于通过开源改变世界。 四、GitHub 发布2017 开源调查 GitHub联合学术界、开源社区、以及软件界,搞了一次大规模的调查。目标一部分来自于GitHub上的仓库,超过3800个,随机询问了5500个开发者,而在其它的开源社区则是定向的500个调查。 结论值得所有人深思: 文档的呼声最高,却通常是最被忽略的那个 负面的活动虽然不频繁,但是却最容易被放大 女性的参与相对非常的少 使用和参与开源的绝大多数来自商业公司雇员 人们在选择软件时,默认会优先采用开源 五、LinuxCon正式入华,Linus承诺会每年来中国一次 Linux基金会的会议主办历经坎坷,终于顺利的完成了自己的首秀,为各位开源界的人们交出了满意的答卷。这对于本土是有着极具影响力的!其对于社会、业界的影响是非常之深远的。 在最后的关闭短暂讲话中,Jim Zemlin说到,Linux基金会承诺超过十年将落地中国、扎根中国、支持中国的开源事业发展,并和大家说“我们明年见,明年Linus仍然会来。” 六、Linux基金会发布企业开源指南 既然是企业,就需要有企业的思路,企业的精髓在于管理,在于指导。正如其副标题所言:“运营开源项目办公室 ”,毋宁说开源需要系统的逐步的进行,对于企业来讲,涉及到的部门颇多。因为它直接关系到企业的文化。 开源的重点并不在于方法论,而是在于人们的认知,如果人们的思维方式仍然停留在上个世界8、90年代微软、甲骨文崛起时期,那么开源基本上很难施行和实践。在庞大的经济环境面前,开源确实仍然没有浮出水面被大众所认知,至少本土的现实情形是如此。但是如果没有方法论,事情会是一筹莫展。 七、中国开源年会第一次全程以开源领导力为议题组织会议 7967 作为本土草根组织的会议,第一次以方法论、开源治理为话题,成功举办了以开源领导力为议题的会议,内容涉及本土顶级开源项目孵化的故事等。 这次大会总共1,108人次到场,在线视频观众总计2,284人,参加了接近60位大牛讲师的5场主题演讲,45场分会场演讲,6场动手训练营,5场嘉宾对谈/观众问答,而来自五湖四海的50位可爱的志愿者们,热情地为讲师与观众们服务。 八、CNCF的崛起 就在上一周,作为SaaS的大佬——SalesForce加入了CNCF,这家Linux基金会下属的非盈利组织,最初由Google的贡献的Kubernetes项目而生,渐渐的形成了云原生应用、微服务的生态系统。三大公有云厂商AWS、Azure、Google均号称原生支持。连传统厂商RedHat的OpenShift直接切换,直接革了CloudFoundry的命。如此成功仿佛坐上火箭般的开源项目,前几年有OpenStack。 九、微软成为GitHub企业排名榜首 在GitHub今年的宇宙大会上总结了一些内容:GitHub 2017的数据,微软,这家曾经视开源为毒瘤的公司,以实际行动证明了自己拥抱开源的决心。当然,就更不用提其在Azure云平台上发布的各种基于开源项目的产品和服务了。 十、Ubuntu 将桌面系统换回Gnome Ubuntu有着无与伦比的全球开发者和用户社区,产品涉足云平台、服务器、桌面、移动端、项目托管、部署平台等,但是几年下来,开始渐渐的有些力不从心,上个月大变动。那么从社区运营、参与、开源软件上下游等视角来分析一下,它犯了那些不应该犯的错? Unity的出现,而其它Linux桌面是推动Gnome3的,这导致了Ubuntu和整个其余的Linux产生了巨大的分歧。和Launchpad、Juju一样,Ubuntu再次将自己的打包者和开发者陷入了孤立,没有上游社区的支持来稳定供应链。这也就意味着,Canonical开发人员再次成为软件的唯一开发者和维护者,这进一步压缩了Canonical欲扩而不能的资源。 十一、Linux完全征服超算 全球公有云上运行的负载有90%是Linux操作系统,在嵌入式市场的占有率是62%,而在超算的市场占有率更是达到了99%,还有,它运行在世界上超过82%的智能手机中,也是所有公有云厂商的主要支撑服务器(90%)。 但是从技术和工程、协作、治理的角度讲,Linux 内核是人类史上的奇迹。其背后蕴含的哲学、方法都是我们值得挖掘的宝库。 十二、Linux Journal在经营23年之后,选择退出历史舞台 这是一个不怎么为人所知的围绕Linux相关技术的杂志,在前不久宣布停刊。但是我认为这是一件值得庆贺的事情,说明Linux已经是默认的信息技术的基石。 Linux成为IT从业人员的常识,GitHub的项目多达6千7百万,开源的时代已经降临。 结语 今年我听到的对于开源总结的最好的一句话作为本文的结尾,也是对开源之道未来展望。 “开源让中国与世界更加同步。” ——吴晓敏(Forrest大中华区副总裁)
  • 华为开源镜像站新手指导PHP
    本帖最后由 华为开源镜像站 于 2017-11-18 17:42 编辑华为开源镜像站新手指导PHP 本章将告诉你如何通过 Composer 来安装你的库。[hr] [*]库(资源包) [*]每一个项目都是一个包 [*]平台软件包 [*]指明版本 [*]标签 [*]分支 [*]别名 [*]锁文件 [*]发布到 VCS(线上版本控制系统) [*]发布到 packagist [hr] 每一个项目都是一个包只要你有一个 composer.json 文件在目录中,那么整个目录就是一个包。当你添加一个 require 到项目中,你就是在创建一个依赖于其它库的包。你的项目和库之间唯一的区别是,你的项目是一个没有名字的包。为了使它成为一个可安装的包,你需要给它一个名称。你可以通过 composer.json 中的 name 来定义:[code]{ "name": "acme/hello-world", "require": { "monolog/monolog": "1.0.*" } }[/code] 在这种情况下项目的名称为 acme/hello-world,其中 acme 是供应商的名称。供应商的名称是必须填写的。[indent]注意: 如果你不知道拿什么作为供应商的名称, 那么使用你 github 上的用户名通常是不错的选择。 虽然包名不区分大小写,但惯例是使用小写字母,并用连字符作为单词的分隔。[/indent] 平台软件包Composer 将那些已经安装在系统上,但并不是由 Composer 安装的包视为一个虚拟的平台软件包。这包括PHP本身,PHP扩展和一些系统库。 [*]php 表示用户的 PHP 版本要求,你可以对其做出限制。例如 >=5.4.0。如果需要64位版本的 PHP,你可以使用 php-64bit 进行限制。 [*]hhvm 代表的是 HHVM(也就是 HipHop Virtual Machine) 运行环境的版本,并且允许你设置一个版本限制,例如,´>=2.3.3´。 [*]ext- 可以帮你指定需要的 PHP 扩展(包括核心扩展)。通常 PHP 拓展的版本可以是不一致的,将它们的版本约束为 * 是一个不错的主意。一个 PHP 扩展包的例子:包名可以写成 ext-gd。 [*]lib- 允许对 PHP 库的版本进行限制。 以下是可供使用的名称:curl、iconv、icu、libxml、openssl、pcre、uuid、xsl。 你可以使用 composer show --platform 命令来获取可用的平台软件包的列表。 指明版本你需要一些方法来指明自己开发的包的版本,当你在 Packagist 上发布自己的包,它能够从 VCS (git, svn, hg) 的信息推断出包的版本,因此你不必手动指明版本号,并且也不建议这样做。请查看 标签 和 分支 来了解版本号是如何被提取的。如果你想要手动创建并且真的要明确指定它,你只需要添加一个 version 字段:{ "version": "1.0.0"}[indent]注意: 你应该尽量避免手动设置版本号,因为标签的值必须与标签名相匹配。[/indent] 标签对于每一个看起来像版本号的标签,都会相应的创建一个包的版本。它应该符合 ´X.Y.Z´ 或者 ´vX.Y.Z´ 的形式,-patch、-alpha、-beta 或 -RC 这些后缀是可选的。在后缀之后也可以再跟上一个数字。下面是有效的标签名称的几个例子: [*]1.0.0 [*]v1.0.0 [*]1.10.5-RC1 [*]v4.4.4beta2 [*]v2.0.0-alpha [*]v2.0.4-p1 [indent]注意: 即使你的标签带有前缀 v, 由于在需要 require 一个版本的约束时是不允许这种前缀的, 因此 v 将被省略(例如标签 V1.0.0 将创建 1.0.0 版本)。[/indent] 分支对于每一个分支,都会相应的创建一个包的开发版本。如果分支名看起来像一个版本号,那么将创建一个如同 {分支名}-dev 的包版本号。例如一个分支 2.0 将产生一个 2.0.x-dev 包版本(加入了 .x 是出于技术的原因,以确保它被识别为一个分支,而 2.0.x 的分支名称也是允许的,它同样会被转换为 2.0.x-dev)。如果分支名看起来不像一个版本号,它将会创建 dev-{分支名} 形式的版本号。例如 master 将产生一个 dev-master的版本号。下面是版本分支名称的一些示例: [*]1.x [*]1.0 (equals 1.0.x) [*]1.1.x [indent]注意: 当你安装一个新的版本时,将会自动从它 source 中拉取。 详细请查看 install 命令。[/indent] 别名它表示一个包版本的别名。例如,你可以为 dev-master 设置别名 1.0.x-dev,这样就可以通过 require 1.0.x-dev 来得到 dev-master 版本的包。详细请查看“别名”。 锁文件如果你愿意,可以在你的项目中提交 composer.lock 文件。他将帮助你的团队始终针对同一个依赖版本进行测试。任何时候,这个锁文件都只对于你的项目产生影响。如果你不想提交锁文件,并且你正在使用 Git,那么请将它添加到 .gitignore 文件中。 发布到 VCS(线上版本控制系统)一旦你有一个包含 composer.json 文件的库存储在线上版本控制系统(例如:Git),你的库就可以被 Composer 所安装。在这个例子中,我们将 acme/hello-world 库发布在 GitHub 上的 github.com/username/hello-world 中。现在测试这个 acme/hello-world 包,我们在本地创建一个新的项目。我们将它命名为 acme/blog。此博客将依赖 acme/hello-world,而后者又依赖 monolog/monolog。我们可以在某处创建一个新的 blog 文件夹来完成它,并且需要包含 composer.json 文件:[code]{ "name":"acme/blog", "require": { "acme/hello-world":"dev-master" } }[/code] 在这个例子中 name 不是必须的,因为我们并不想将它发布为一个库。在这里为 composer.json 文件添加描述。现在我们需要告诉我们的应用,在哪里可以找到 hello-world 的依赖。为此我们需要在 composer.json 中添加 repositories 来源申明:[code]{ "name":"acme/blog", "repositories": [ { "type": "vcs", "url": "https://github.com/username/hello-world" } ], "require": { "acme/hello-world":"dev-master" } } [/code] 更多关于包的来源是如何工作的,以及还有什么其他的类型可供选择,请查看资源库。这就是全部了。你现在可以使用 Composer 的 install 命令来安装你的依赖包了!小结: 任何含有 composer.json 的 GIT、SVN、HG 存储库,都可以通过 require 字段指定“包来源”和“声明依赖”来添加到你的项目中。 发布到 packagist好的,你现在可以发布你的包了,但你不会希望你的用户每次都这样繁琐的指定包的来源。你可能注意到了另一件事,我们并没有指定 monolog/monolog 的来源。它是怎么工作的?答案是 packagist。Packagist 是 Composer 主要的一个包信息存储库,它默认是启用的。任何在 packagist 上发布的包都可以直接被 Composer 使用。就像 monolog 它被 发布在 packagist 上,我们可以直接使用它,而不必指定任何额外的来源信息。如果我们想与世界分享我们的 hello-world,我们最好将它发布到 packagist 上。这样做是很容易的。你只需要点击那个大大的 "Submit Package" 按钮并注册。接着提交你库的来源地址,此时 packagist 就开始了抓取。一旦完成,你的包将可以提供给任何人使用。
  • [技术干货] 华为开源镜像站新手指导(PHP篇)
    Composer工具安装配置教程 简介Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。 [hr] [*]简介 [*]依赖管理 [*]声明依赖关系 [*]系统要求 [*]安装 - *nix [*]下载 Composer 的可执行文件 [*]局部安装 [*]全局安装 [*]全局安装 (on OSX via homebrew) [*]安装 - Windows [*]使用安装程序 [*]手动安装 [*]使用 Composer [*]自动加载 [hr] 依赖管理Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。 这种想法并不新鲜,Composer 受到了 node´s npm 和 ruby´s bundler 的强烈启发。而当时 PHP 下并没有类似的工具。 Composer 将这样为你解决问题: a) 你有一个项目依赖于若干个库。 b) 其中一些库依赖于其他库。 c) 你声明你所依赖的东西。 d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。 声明依赖关系比方说,你正在创建一个项目,你需要一个库来做日志记录。你决定使用 monolog。为了将它添加到你的项目中,你所需要做的就是创建一个 composer.json 文件,其中描述了项目的依赖关系。 { "require": { "monolog/monolog": "1.2.*" }}我们只要指出我们的项目需要一些 monolog/monolog 的包,从 1.2 开始的任何版本。 系统要求运行 Composer 需要 PHP 5.3.2+ 以上版本。一些敏感的 PHP 设置和编译标志也是必须的,但对于任何不兼容项安装程序都会抛出警告。 我们将从包的来源直接安装,而不是简单的下载 zip 文件,你需要 git 、 svn 或者 hg ,这取决于你载入的包所使用的版本管理系统。 Composer 是多平台的,我们努力使它在 Windows 、 Linux 以及 OSX 平台上运行的同样出色。 安装 - *nix 下载 Composer 的可执行文件 局部安装要真正获取 Composer,我们需要做两件事。首先安装 Composer (同样的,这意味着它将下载到你的项目中): curl -sS https://getcomposer.org/installer | php[indent]注意: 如果上述方法由于某些原因失败了,你还可以通过 php >下载安装器: [/indent]php -r "readfile(´https://getcomposer.org/installer´);" | php这将检查一些 PHP 的设置,然后下载 composer.phar 到你的工作目录中。这是 Composer 的二进制文件。这是一个 PHAR 包(PHP 的归档),这是 PHP 的归档格式可以帮助用户在命令行中执行一些操作。 你可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径): curl -sS https://getcomposer.org/installer | php -- --install-dir=bin 全局安装你可以将此文件放在任何地方。如果你把它放在系统的 PATH 目录中,你就能在全局访问它。 在类Unix系统中,你甚至可以在使用时不加 php 前缀。 你可以执行这些命令让 composer 在你的系统中进行全局调用: curl -sS https://getcomposer.org/installer | phpmv composer.phar /usr/local/bin/composer[indent]注意: 如果上诉命令因为权限执行失败, 请使用 sudo 再次尝试运行 mv 那行命令。 [/indent]现在只需要运行 composer 命令就可以使用 Composer 而不需要输入 php composer.phar。 全局安装 (on OSX via homebrew)Composer 是 homebrew-php 项目的一部分。 brew updatebrew tap josegonzalez/homebrew-phpbrew tap homebrew/versionsbrew install php55-intlbrew install josegonzalez/php/composer 安装 - Windows 使用安装程序这是将 Composer 安装在你机器上的最简单的方法。 下载并且运行 Composer-Setup.exe,它将安装最新版本的 Composer ,并设置好系统的环境变量,因此你可以在任何目录下直接使用 composer 命令。 手动安装设置系统的环境变量 PATH 并运行安装命令下载 composer.phar 文件: C:\Users\username>cd C:\binC:\bin>php -r "readfile(´https://getcomposer.org/installer´);" | php[indent]注意: 如果收到 readfile 错误提示,请使用 http 链接或者在 php.ini 中开启 php_openssl.dll 。 [/indent]在 composer.phar 同级目录下新建文件 composer.bat : C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat关闭当前的命令行窗口,打开新的命令行窗口进行测试: C:\Users\username>composer -VComposer version 27d8904 使用 Composer现在我们将使用 Composer 来安装项目的依赖。如果在当前目录下没有一个 composer.json 文件,请查看基本用法章节。 要解决和下载依赖,请执行 install 命令: php composer.phar install如果你进行了全局安装,并且没有 phar 文件在当前目录,请使用下面的命令代替: composer install继续 上面的例子,这里将下载 monolog 到 vendor/monolog/monolog 目录。 自动加载除了库的下载,Composer 还准备了一个自动加载文件,它可以加载 Composer 下载的库中所有的类文件。使用它,你只需要将下面这行代码添加到你项目的引导文件中: require ´vendor/autoload.php´;现在我们就可以使用 monolog 了! composer的中文官方文档地址为:https://docs.phpcomposer.com/00-intro.html composer的英文官方文档地址为:https://getcomposer.org/doc/00-intro.md