首页 文章 精选 留言 我的

精选列表

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

攻略:如何快速赚取积分,Get云栖大会资料

2017杭州云栖大会已于10月11日-14日在云栖小镇完美召开,作为全球最具影响力的科技展会之一,本届有140多场技术主题论坛,共计800多个主题分享,涵盖人工智能、金融科技、量子计算、生命科学、IoT、政务、多媒体、VR等20多个前沿科技领域。多位全球顶级学术专家、以及MySQL & MariaDB创始人、PostgreSQL联合创始人、Redis创始人等大咖都献出了精彩的分享。相关文章和其他回顾,请点击云栖大会公众号( https://yq.aliyun.com/teams/142)。期间,云栖社区也同步上线了下载频道( https://yq.aliyun.com/download),为大家带来更多技术实战干货、技术趋势等资源。 2016杭州云栖大会资料分享获得大家的热烈欢迎。为此,组委会特别决定今年大会资料将以部分免费+通

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

【iOS 开发】同步快速判断视频是否可以播放

背景 拿到一个视频的 url 地址(无论是远程还是本地),有时候在播放之前需要检测该视频是否可以播放(本地可能是文件损坏,远端地址情况更复杂),下面介绍两种适用不同情况的方法来实现。 常用的异步方法 import UIKit import AVFoundation class ViewController: UIViewController { var avplayer: AVPlayer! override func viewDidLoad() { super.viewDidLoad() let url = URL(string: "http://gslb.miaopai.com/stream/24fONfescp-SRz61DjJz62WO1LLIwjIQXHthNg__.mp4")! avplayer = AVPlayer(url: url) avplayer.addObserver(self, forKeyPath: "status", options: .new, context: nil) } override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) { if (avplayer == object as? AVPlayer) && (keyPath == "status") { print((avplayer.status == .readyToPlay) ? "readyToPlay" : "fail") } } } 如代码所示,我们可以使用 AVPlayer (MPMoviePlayerController 在 iOS 9 被 deprecated) 尝试解析 url,进行视频播放。然后可以通过 KVO 在它的 status 属性变为 “readyToPlay” 的时候,进行播放等操作。在这里这个 status 只能异步获取,如果你直接在初始化 AVPlayer 之后就同步获取这个值,这个值会是 “unknown”。 如果你在这里需要直接使用这个 AVPlayer 进行视频播放,那么推荐使用这个 KVO 方法。否则会有这样几个缺点: avplayer 用于判断视频可播放性,本应该是局部变量,现在因为 KVO 它的 scope 被扩大了 KVO 方法在代码可读性上不如同步的直接判断 控制台会默认打印下面这些东西: 2017-09-05 14:43:36.983707+0800 VideoPlayable[40473:10508878] [aqme] 254: AQDefaultDevice (1): skipping input stream 0 0 0x0 2017-09-05 14:43:38.992581+0800 VideoPlayable[40473:10508878] [aqme] 254: AQDefaultDevice (173): skipping input stream 0 0 0x0 2017-09-05 14:43:41.000864+0800 VideoPlayable[40473:10508878] [aqme] 254: AQDefaultDevice (173): skipping input stream 0 0 0x0 同步判断方法 import UIKit import AVFoundation class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let url = URL(string: "http://gslb.miaopai.com/stream/24fONfescp-SRz61DjJz62WO1LLIwjIQXHthNg__.mp4")! let avasset = AVAsset(url: url) print(avasset.isPlayable) } } 经过一番折腾,发现直接通过 url 新建出 AVAsset,即可通过 isPlayable 属性判断视频是否可以正常播放。如果仅仅是想要判断视频可播放性,而不需要使用 AVPlayer,建议使用这种方法,可以将 AVAsset 的创建逻辑加入到你的自定义播放器的 init 方法中。 我尝试在 iPhone 6s 上使用本地的一个约 800k 的 mp4 视频进行粗略测试,发现新建 AVAsset 耗时约 0.02s,新建 AVPlayer 异步返回耗时约 0.05s,这种同步方法大概快了一倍。

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

阿里云创建E-MapReduce 1 快速开始

注意:请确认您已经完成了必选的准备工作。 通过本教程,用户能够基本了解E-MapReduce中集群、作业和执行计划的作用和使用方法。能够创建一个Spark Pi的作业在集群上运行成功,并最后在控制台页面上看到圆周率Pi的近似计算结果。 1.创建集群 在控制台左侧选择集群,并点击右上创建集群软件配置选择最新的EMR产品版本,比如EMR-3.4.1使用默认软件配置硬件配置选择按量付费若没有安全组,打开新建,并填写安全组名称选择 Master 4核8G选择 Core 4核8G, 两台其他保持默认基础配置填写集群名称选择日志路径保存作业日志,务必开启。在集群对应的地域,创建OSS的Bucket填写密码创建集群 2.创建作业 在控制台左侧选择作业,并点击右上创建作业填写作业名称选择Spark类型参数填写,使用如下 --class org.apache.spark.examples.SparkPi --master yarn-client --driver-memory 512m --num-executors 1 --executor-memory 1g --executor-cores 2 /usr/lib/spark-current/examples/jars/spark-examples_2.11-2.1.1.jar 10 注意:,这个/usr/lib/spark-current/examples/jars/spark-examples_2.11-2.1.1.jar, 需要根据实际集群中的 Spark 版本来修改这个jar包,比如 Spark 是2.1.1的, 那么就是spark-examples_2.11-2.1.1.jar,如果是2.2.0的,那么就是spark-examples_2.11-2.2.0.jar其他保持默认,创建作业 3.创建执行计划 确认之前创建的集群已经创建成功以后,在列表上的状态显示为空闲在控制台左侧选择执行计划,并点击右上创建执行计划创建时选择已有集群,并选择之前创建集群进行关联将之前创建的作业,加入到运行队列中填写执行计划名称默认手动执行创建执行计划运行执行计划在执行计划列表页面,点击立即运行查看作业日志并确认结果点击管理,进入管理页面,在下方查看运行记录点击运行记录的右侧,查看作业列表点击stdout能够查看到Pi的近似计算结果:3.14xxxx

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

阿里云办公快速上手教程

钉钉,是一款免费沟通和协同的多端平台,上线以来,已有超过 300万企业组织正在使用,阿里云市场作为国内知名的软件服务交易平台,为解决企业通讯,销售管理以及协同办公等需求,阿里云面向中小企业推出一款企业办公套件——" 阿里云办公"。 下面我们主要从阿里云办公的 套件组成,功能及应用场景,使用建议3方面做分析介绍。 阿里云办公介绍 阿里云办公:是阿里云为企业用户打造的一款基于“钉钉”的移动办公平台,可以一站式提供企业即时通讯、协同办公和销售管理的办公套件,用户可随意搭配企业邮箱、OA、CRM、等多种应用组件以满足不同业务场景的个性化办公需求。随着智能手机改变人们的习惯,以及移动应用的普及,办公可不再局限在办公室。 阿里云办公,属于钉钉上第三方应用,同时支持PC端和手机端,主要包含了 OA(考勤打卡,流程管理,流程审批)、CRM,可以结合钉钉的自带的

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

有了它,可以快速高效部署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(转载)

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

在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

资源下载

更多资源
Mario

Mario

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

Rocky Linux

Rocky Linux

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

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册