• [问题求助] 求助iOS OBSClient调用PutObject,正在上传的过程中如何取消?
    如题,PutObject开始后如何停止。尝试调用了request的cancel方法,看起来没起作用,仍然能接到uploadProgressBlock回调。又看了看任务返回值OBSBFTask,也没有找到有什么能取消任务的方式,有大佬遇到过类似的问题么,求解决办法!~
  • [新手课堂] 算法Swift实现
    import Foundationfunc bubbleSort(array:inout Array<Int>) {    //遍历数组的每个元素,让每个元素都走一遍冒泡流程    for i in 0 ..< array.count - 1 {        //第i个元素走冒泡流程,因为i前面的元素走过冒泡交换流程后,就都已经有序的浮到尾(顶)部了,所以越遍历到后面需要冒泡的层次就会越少        for j in 0 ..< array.count - 1 - i {            //冒泡过程:比较大小,并交换,把大的元素交换到后面            if array[j] > array[j + 1] {                array.swapAt(j, j+1)            }        }    }}//打印func printBubbleSort(_ array:inout [Int]){    bubbleSort(array: &array)    print(array)}var arr:[Int] = [3, 2, 5, 7, 1, 5, 4, 8, 11, 0]printBubbleSort(&arr);
  • [新手课堂] 算法Swift实现
    import Foundationfunc bubbleSort(array:inout Array<Int>) {    //遍历数组的每个元素,让每个元素都走一遍冒泡流程    for i in 0 ..< array.count - 1 {        //第i个元素走冒泡流程,因为i前面的元素走过冒泡交换流程后,就都已经有序的浮到尾(顶)部了,所以越遍历到后面需要冒泡的层次就会越少        for j in 0 ..< array.count - 1 - i {            //冒泡过程:比较大小,并交换,把大的元素交换到后面            if array[j] > array[j + 1] {                array.swapAt(j, j+1)            }        }    }}//打印func printBubbleSort(_ array:inout [Int]){    bubbleSort(array: &array)    print(array)}var arr:[Int] = [3, 2, 5, 7, 1, 5, 4, 8, 11, 0]printBubbleSort(&arr);
  • [其他] 连接管理下载工具时,下载的跳转页面无法打开,显示无法打开网址,连接被拒绝
    问题现象:连接管理下载工具时,下载的跳转页面无法打开,显示无法打开网址,连接被拒绝排查过程在问题页面F12 查看请求信息,headers和response  没有状态信息 response为空查看本机是否已配置 域名和IP,是否能ping通,租户面是否能ping通。已配置,都ping通检查swift服务是否正常:登录scp首节点执行cps template-instance-list --service swift swift-proxycps template-instance-list --service swift swift-store查看服务是否正常   swift服务正常在后台节点是否能下载echo "op_svc_dws_ak op_svc_dws_sk file_name 1 obs_url obs_port download dws-instance" | java -jar udstool.jar    也能下载去EICommon节点验证是否能下载 能下载结论:租户面ip和管理面ip  都没有问题,swift服务完好,请求没有发送出去,应该是本地设置或者是浏览器设置的原因,检查网络是否有限制。
  • [其他] 上传包报错,时间不同步,fcd的时间和swift时间差太大
    【问题现象】上传包报错,时间不同步,fcd的时间和swift时间差太大【问题版本】此处是请求时间差问题,与版本无关【问题分析】The difference between the request time and the current time is too lanage 出现上面的报错是因为服务端与客户端时间相差太大【修复方案】1.如果有ntp配置不正确,则配置ntp2.可以手动使用date命令修改时间达到时间一致
  • [其他] 上传包报错,时间不同步,fcd的时间和swift时间差太大
    【问题现象】上传包报错,时间不同步,fcd的时间和swift时间差太大【问题版本】此处是请求时间差问题,与版本无关【问题分析】The difference between the request time and the current time is too lanage 出现上面的报错是因为服务端与客户端时间相差太大【修复方案】1.如果有ntp配置不正确,则配置ntp2.可以手动使用date命令修改时间达到时间一致
  • [其他] 【集群创建失败】DWS.6000/46%左右失败/RdsDownloadPackageTask失败
    现象:1.DWS.60002.46%左右失败分析1.登录dwscontroller后台rms库查看发现 在task  RdsDownloadPackageTask 失败     登录数据库: https://bbs.huaweicloud.com/forum/thread-173822-1-1.html     select task.job_id,    task.task_name,    task.begin_time,    task.listener_num,    task.retry_num,    task.execution_status    from rds_instance ins left join     taskmgr_task task    on ins.jobId=task.job_id    left JOIN    taskmgr_job  job on     task.job_id=job.job_id    where ins.`name` like '%集群名称%'    order by task.job_id,task.begin_time;2.登录实例节点发现 vi /home/Ruby/log/downloadPackage.log 下载 包超时报错     登录节点:https://bbs.huaweicloud.com/forum/thread-173823-1-1.html3.使用swift做为包存储4.在实例节点上ping swift域名(域名从CDK参数obs.endpoint配置信息获取),无法ping通,看修复1     判定,到swift服务器的网络不通5.在实例节点上 curl {obs.endpoint} 反馈为empty则端口通,没有返回则端口不通,看修复2恢复方案:1.在实例节点上ping swift域名(域名从CDK参数obs.endpoint配置信息获取),无法ping通检查swiftadpter是否配置:没有配置裸金属网关没有配置swiftadpter 网段,参考案例:http://3ms.huawei.com/km/blogs/details/9582806?l=zh-cn关键命令:cps template-ext-params-show --service baremetal-gateway neutron-hypervbm-agent001cps template-ext-params-update --service baremetal-gateway neutron-hypervbm-agent001 --parameter neutron_hypervbm_ovs.DEFAULT.innet_service_cidr=原IP列表基础上新增缺失IP2.在实例节点上 curl {obs.endpoint} 反馈为empty则端口通,没有返回则端口不通检查一层,二层交换机是否配置正确历史积累场景:管理交换机 没有放通dmz ecmp的vlan
  • [新手课堂] 算法Swift实现
    import Foundationfunc bubbleSort(array:inout Array<Int>) {    //遍历数组的每个元素,让每个元素都走一遍冒泡流程    for i in 0 ..< array.count - 1 {        //第i个元素走冒泡流程,因为i前面的元素走过冒泡交换流程后,就都已经有序的浮到尾(顶)部了,所以越遍历到后面需要冒泡的层次就会越少        for j in 0 ..< array.count - 1 - i {            //冒泡过程:比较大小,并交换,把大的元素交换到后面            if array[j] > array[j + 1] {                array.swapAt(j, j+1)            }        }    }}//打印func printBubbleSort(_ array:inout [Int]){    bubbleSort(array: &array)    print(array)}var arr:[Int] = [3, 2, 5, 7, 1, 5, 4, 8, 11, 0]printBubbleSort(&arr);
  • [技术干货] 云计算复习知识总结 173.简要阐述 openstack 的 Nova,Swift,Neutron,Glance 组件的主要功能
    Nova 提供计算虚拟化服务Swift 提供对象存储服务Neutron 提供网络虚拟化服务Glance 提供镜像服务
  • [技术干货] 五种面向未来的编程语言介绍
    编程语言处在不断的发展和变化中,从最初的机器语言发展到如今的2500种以上的高级语言,每种语言都有其特定的用途和不同的发展轨迹。编程语言并不像人类自然语言发展变化一样的缓慢而又持久,其发展是相当快速的,这主要是计算机硬件、互联网和IT业的发展促进了编程语言的发展。本文中,我们将介绍五种面向未来的编程语言。1、SwiftSwift是一种新的编程语言,用于编写iOS和macOS应用。Swift结合了C和Objective-C的优点并且不受C兼容性的限制。Swift采用安全的编程模式并添加了很多新特性,这将使编程更简单,更灵活,也更有趣。Swift是基于成熟而且倍受喜爱的Cocoa和Cocoa Touch框架,他的降临将重新定义软件开发。Swift的开发从很久之前就开始了。为了给Swift打好基础,苹果公司改进了编译器,调试器和框架结构。我们使用自动引用计数(Automatic Reference Counting, ARC)来简化内存管理。我们在Foundation和Cocoa的基础上构建框架栈并将其标准化。Objective-C本身支持块、集合语法和模块,所以框架可以轻松支持现代编程语言技术。正是得益于这些基础工作,我们才能发布这样一个用于未来苹果软件开发的新语言。Objective-C开发者对Swift并不会感到陌生。它采用了Objective-C的命名参数以及动态对象模型,可以无缝对接到现有的Cocoa框架,并且可以兼容Objective-C代码。在此基础之上,Swift还有许多新特性并且支持过程式编程和面向对象编程。2、KotlinKotlin 是一个用于现代多平台应用的静态编程语言 ,由 JetBrains 开发。Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。除此之外Kotlin还可以编译成二进制代码直接运行在机器上(例如嵌入式设备或 iOS)。Kotlin已正式成为Android官方支持开发语言。3、PythonPython由荷兰数学和计算机科学研究学会的Guido van Rossum于1990 年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。4、GroovyGroovy 是 用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。使用该种语言不必编写过多的代码,同时又具有闭包和动态语言中的其他特性。Groovy是JVM的一个替代语言(替代是指可以用 Groovy 在Java平台上进行 Java 编程),使用方式基本与使用 Java代码的方式相同,该语言特别适合与Spring的动态语言支持一起使用,设计时充分考虑了Java集成,这使 Groovy 与 Java 代码的互操作很容易。5、TypeScriptTypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或Babel转译为JavaScript代码,可运行在任何浏览器,任何操作系统。TypeScript添加了很多尚未正式发布的ECMAScript新特性(如装饰器 )。2012年10月,微软发布了首个公开版本的TypeScript,2013年6月19日,在经历了一个预览版之后微软正式发布了正式版TypeScript。当前最新版本为TypeScript 4.0  。
  • [技术干货] Swift下载单个文件正常,下载文件列表404的解决办法
    问题描述:查询单个文件如/v1/AUTH_test/ZyppSrcPrj/version.json 正常,但查询/v1/AUTH_test/ZyppSrcPrj路径下的文件列表则返回404:问题原因:正常情况文件列表保存在 /srv/1/node/sdb1/containers/223/5d0/ 路径下:而本次swift将此文件放在了隔离区:解决方法:将隔离区的文件拷贝到正常路径下即可。
  • [问题求助] swift上传文件 传入ak和sk直接闪退
  • TIOBE 编程语言 10 月排行榜:前三不变,Swift 持续下降
    TIOBE 最近公布了 2017 年 10 月编程语言指数排行榜,排名前三的还是 Java、C、C++,C# 和 Python 排第四和第五。在今年年初,Swift 语言的 TIOBE 指数最高达到 2.3%,排在第 10 位。不过 Swift 目前降到第 16 位,并且其热度每月都在下降。目前普遍来说, Android 应用是用 Java 编写,iOS 应用可以用 Objective-C 或 Swift。但同一个应用要维护 2 个功能几乎一样的代码库,就十分麻烦。因此,移动混合应用开发框架就派上用场了,比如:微软的 Xamarin(C#),Apache 的 Cordova(JavaScript)、Ionic(JavaScript)。所以,C# 和 JavaScript 收获了 Java 和 Swift 部分丢失的份额了。
  • TIOBE 10 月编程语言排行榜:Swift 正过时?
    本帖最后由 yd_27922552 于 2017-10-10 14:43 编辑今年年初,Swift 语言在 TIOBE 指数排行榜中曾一度进入前十名。不过近期,其成绩在不断下降,本月甚至又回到了第 16 位。 多数情况下,开发者会用 Java 编写 Android 应用,用 Swift / Objective-C 编写 iOS 应用。但因为同一个应用要同时维护 2 个不同平台的代码库,因此也有不少开发者开始选择使用移动混合应用开发框架,像是微软的 Xamarin(C#)、Apache 的 Cordova(JavaScript),以及 Ionic(JavaScript)等。这也导致,像 Java 和 Swift 这样的语言会有所下降,而 C#和 JavaScript 等语言越来越受欢迎。 10 月编程语言排行榜 TOP20 榜单:2629 Top 10 编程语言 TIOBE 指数走势(2002-2016) 2630 其他编程语言排名 第 21-40 名如下,可能存在遗漏: 2631 第51-100名如下,由于它们之间的数值差异较小,仅以文本形式列出(按字母排序): [*]4th Dimension/4D, **, ActionScript, APL, AutoLISP, bc, Bourne shell, C shell, CFML, cg, CL (OS/400), Clipper, Common Lisp, Elixir, Elm, Euphoria, Forth, Groovy, Haskell, Icon, Inform, Io, J, Korn shell, Ladder Logic, Maple, MOO, Moto, MQL4, MUMPS, NATURAL, NXT-G, OCaml, OpenCL, OpenEdge ABL, Oz, PL/I, PostScript, PowerShell, Q, REXX, Ring, RPG (OS/400), Smalltalk, SPARK, SPSS, Stata, Tcl, Verilog, VHDL 历史排名(1987-2017) 注: 以下排名位次取决于 12 个月的平均值。 2632 编程语言“名人榜”( 2003-2016) “年度编程语言”获奖名单如下图所示,该奖项授予一年中评分最高的编程语言: 2633 【说明】 TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎(诸如 Google、MSN、Yahoo!、Wikipedia、YouTube 以及 Baidu 等)进行计算。请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。 这个排行榜可以用来考查你的编程技能是否与时俱进,也可以在开发新系统时作为一个语言选择依据。 来源:TIOBE 编译:开源中国
  • [技术干货] 云计算场景下基本概念粗解
    不同于个人应用软件的用户注册登录流程,云计算因面向企业、学校、政府以及其他团体性组织,登录所涉及的基本概念也比较多,本文将对openstack中所涉及到的相关概念进行解释。 一、用户(user) 表示拥有用户名,密码,邮箱等帐号信息的自然人。创建一个用户名为“hui”的用户如下: $ openstack user create --name=hui --pass=password --mail=hui@example.com 二、租户(tenant) 租户可以理解为一个项目,团队或组织。你必须指定一个相应的租户(tenant)才可以申请OpenStack服务,例如你指定以某租户申请Compute服务来查询当前运行的实例列表,则你将收到的是该租户的运行实例列表,而无法看到其它租户的运行实例列表。创建一个名为“acm”租户的命令如下: $ openstack tenant create --name=acm 三、角色(role) 代表特定的租户中的用户用户操作权限,可以使用如下命令创建角色: $ openstack role-create --name=compute-user 四、服务(Service) Service即服务,如Nova、Glance、Swift。根据前三个概念(User,Tenant和Role)一个服务可以确认当前用户是否具有访问其资源的权限。但是当一个user尝试着访问其租户内的service时,他必须知道这个service是否存在以及如何访问这个service,这里通常使用一些不同的名称表示不同的服务。在上文中谈到的Role,实际上也是可以绑定到某个service的。例如,当swift需要一个管理员权限的访问进行对象创建时,对于相同的role我们并不一定也需要对nova进行管理员权限的访问。为了实现这个目标,我们应该创建两个独立的管理员role,一个绑定到swift,另一个绑定到nova,从而实现对swift进行管理员权限访问不会影响到Nova或其他服务。 五、 Endpoint Endpoint,翻译为“端点”,我们可以理解它是一个服务暴露出来的访问点,如果需要访问一个服务,则必须知道他的endpoint。因此,在keystone中包含一个endpoint模板(endpoint template,在安装keystone的时候我们可以在conf文件夹下看到这个文件),这个模板提供了所有存在的服务endpoints信息。一个endpoint template包含一个URLs列表,列表中的每个URL都对应一个服务实例的访问地址,并且具有public、private和admin这三种权限。public url可以被全局访问(如http://compute.example.com),private url只能被局域网访问(如http://compute.example.local),admin url被从常规的访问中分离。 六.域 Domain Domain 可以认为是 project,user,group 的 namespace。 一个 domain 内,这些元素的名称不可以重复,但是在两个不同的domain内,它们的名称可以重复。因此,在确定这些元素时,需要同时使用它们的名称和它们的 domain 的 id 或者 name。