首页 文章 精选 留言 我的

精选列表

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

【案例学习】传统应用程序上云的经典案例,欧洲两家领军企业的落地实践

(一)法国兴业银行:有状态的传统应用程序也可以容器化 基本背景 法国兴业银行(Société Générale)是一家拥有153年历史的法国跨国银行,这家银行坚信技术和创新是丰富客户体验和推动经济发展的关键因素。几年前,该银行启动了一个项目,该项目定义了它们的下一代应用程序平台,就是在2020年前将其应用程序的80%上传至云端运行。法国兴业银行选择了Docker企业版(Docker EE)作为其应用程序的基础平台,并在15个月前开始与之合作。今年在DockerCon欧洲大会上,DevOps架构师Stephan Dechoux 和中间件专家Thomas Boussardon分享了他们将Docker企业版(Docker EE)集成到法国兴业银行IT系统的经历。 技术概况 法国兴业银行拥有多种应用程序组合,其中包括许多不同类型的应用程序,如传统

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

《从零开始学Swift》学习笔记(Day 68)——Cocoa Touch设计模式及应用之响应者链与触摸事件

应用与用户进行交互,依赖于各种各样的事件。事件响应者对象是可以响应事件并对其进行处理的对象,响应者链是由一系列链接在一起的响应者组成的。响应者链在事件处理中是非常重要的,响应者链可以把用户事件路由给正确的对象。 响应者对象与响应链 UIResponder是所有响应者对象的基类,它不仅为事件处理,而且也为常见的响应者行为定义编程接口。UIApplication、UIView(及其子类,包括UIWindow)和UIViewController(及其子类)都直接或间接地继承自UIResponder类。 第一响应者是应用程序中当前负责接收触摸事件的响应者对象(通常是一个UIView对象)。UIWindow对象以消息的形式将事件发送给第一响应者,使其有机会首先处理事件。如果第一响应者没有进行处理,系统就将事件(通过消息)传递给响应者链中的下一个响应者,看看它是否可以进行处理。 响应者链是一系列链接在一起的响应者对象,它允许响应者对象将处理事件的责任传递给其他更高级别的对象。随着应用程序寻找能够处理事件的对象,事件就在响应者链中向上传递。响应者链由一系列“下一个响应者”组成。 1.第一响应者将事件传递给它的视图控制器(如果有的话),然后是它的父视图。 2.类似地,视图层次中的每个后续视图都首先传递给它的视图控制器(如果有的话),然后是它的父视图。 3.最上层的容器视图将事件传递给UIWindow对象。 4.UIWindow对象将事件传递给UIApplication单例对象。 触摸事件 触摸(UITouch)对象表示屏幕上的一个触摸事件,访问触摸是通过UIEvent对象传递给事件响应者对象的。触摸对象有时间和空间两方面。 1.时间方面 时间方面信息称为阶段(phase),表示触摸是否刚刚开始、是否正在移动或处于静止状态,以及何时结束,也就是手指何时从屏幕抬起。 在给定的触摸阶段中,如果发生新的触摸动作或已有的触摸动作发生变化,则应用程序就会发送这些消息。 当一个或多个手指触碰屏幕时,发送touchesBegan:withEvent:消息。 当一个或多个手指在屏幕上移动时,发送touchesMoved:withEvent:消息。 当一个或多个手指离开屏幕时,发送touchesEnded:withEvent:消息。 2.空间方面 触摸点对象还包括当前在视图或窗口中的位置信息,以及之前的位置信息(如果有的话)。下面的方法是可以获得触摸点所在窗口或视图中的位置。 func locationInView(_ view:UIView?) -> CGPoint 获得前一个触摸点所在窗口或视图中的位置信息: func previousLocationInView(_view: UIView?) -> CGPoint 本文转自 tony关东升 51CTO博客,原文链接:http://blog.51cto.com/tonyguan/1749103,如需转载请自行联系原作者

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

《从零开始学Swift》学习笔记(Day 71)——Swift与C/C++混合编程之数据类型映射

如果引入必要的头文件,在Objective-C语言中可以使用C数据类型。而在Swift语言中是不能直接使用C数据类型,苹果公司为Swift语言提供与C语言相对应数据类型。这些类型主要包括:C语言基本数据类型和指针类型。 C语言基本数据类型 如表所述是Swift数据类型与C语言基本数据类型对应关系表。 Swift语言中的这些数据类型与Swift原生的数据类型一样都,本质上都是结构体类型。我们可以他们的构造函数创建这些数据类型的实例。示例代码如下: 1 2 3 4 5 6 7 8 9 10 varintSwift= 80 //int varintNumber=NSNumber( int :CInt(intSwift)) //unsignedchar varunsignedCharNumber=NSNumber(unsignedChar:CUnsignedChar(intSwift)) //unsignedint varunsignedIntNumber=NSNumber(unsignedInt:CUnsignedInt(intSwift)) 变量intSwift所存储80是Int类型。代码中CInt(intSwift)是实例化CInt类型,它实现了将Int类型转化为C语言int类型,在Swift中使用CInt表示。 代码中CUnsignedChar(intSwift)是将Int类型转化为C语言unsigned char类型,在Swift中使用CUnsignedChar表示。 代码中的CUnsignedInt(intSwift))是将Int类型转化为C语言unsigned int类型,在Swift中使用CUnsignedInt表示。 C语言指针类型 如表所述是Swift数据类型与C语言指针数据类型对应关系表。 从表可见针对C语言多样的指针形式,Swift主要通过提供了三种不安全的泛型指针类型:UnsafePointer<T>、UnsafeMutablePointer<T>和AutoreleasingUnsafeMutablePointer<T>。T是泛型占位符,表示不同的数据类型。另外,还有COpaquePointer类型是Swift中无法表示的C指针类型。 下面我们分别介绍一下。 1.UnsafePointer<T> UnsafePointer<T>是一个比较常用的常量指针类型,这种指针对象需要程序员自己手动管理内存,即需要自己申请和释放内存。它一般是由其他的指针创建。它的主要的构造函数有: init(_ other: COpaquePointer)。通过COpaquePointer类型指针创建。 init<U>(_ from: UnsafeMutablePointer<U>)。通过UnsafeMutablePointer类型指针创建。 init<U>(_ from: UnsafePointer<U>)。通过UnsafePointer类型指针创建。 UnsafePointer<T>主要的属性: memory。只读属性,它能够访问指针指向的内容。 UnsafePointer<T>主要的方法: successor() -> UnsafePointer<T>。获得指针指向的下一个内存地址的内容。 predecessor() -> UnsafePointer<T>。获得指针指向的上一个内存地址的内容。 2. UnsafeMutablePointer<T> UnsafeMutablePointer<T>是一个比较常用的可变指针类型,这种指针对象需要程序员自己手动管理内存,自己负责申请和释放内存。可变指针可以由其他的指针创建,也可以可变指针通过alloc(_:)方法申请内存空间,再调用initialize(_:)方法初始化指针指向数值。当指针对象释放时候需要调用destroy()方法销毁指针指向对象,它是initialize(_:)方法的反向操作,他们两个方法在代码中应该成对出现的。最后还要调用dealloc(_:)方法释放指针指向的内存空间,它是alloc(_:)方法的反向操作,这两个方法在代码中也应该成对出现。 3. AutoreleasingUnsafeMutablePointer<T> AutoreleasingUnsafeMutablePointer<T>被称为自动释放指针,在方法或函数中声明为该类型的参数,是输入输出类型的,在调用方法或函数过程中,参数先首先被拷贝到一个无所有权的缓冲区,在方法或函数内使用的这个缓冲区,当方法或函数返回时,缓冲区数据重新写回到参数。 本文转自 tony关东升 51CTO博客,原文链接:http://blog.51cto.com/tonyguan/1749110,如需转载请自行联系原作者

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

Hadoop概念学习系列之再谈hadoop集群里的本地模式、伪分布模式和全分布模式(三十七)

能看懂博主我此博文,相信你已经有了一定基础了。 对于本地模式、伪分布模式和全分布模式的概念,这里,我不多赘述。太多资料和博客,随便在网上一搜就好。 比如《hadoop实战 第二版》陆嘉恒老师等。 我这里呢,是再次挖掘深入。 我们知道,如伪分布模式或全分布式模式,里有着很多的java进程(这个,可用jps查看)。有过动手试验的都知道, 这两种模式,速度明显比本地模式要快,为什么呢? 答:原因在于,本地独立模式将每个单独任务执行的信息都打印在屏幕上,而在伪分布模式和全分布式模式下,这些信息只被写入在运行主机的日志文件中。 本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/6092384.html,如需转载请自行联系原作者

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

对标谷歌TPU,比特大陆第一代深度学习专用处理器全球首发

在芯片领域,有真货在手和没有真货,差距很大。 这也是比特币独角兽比特大陆(Bitmain)最新发布的芯片Sophon(算丰)如此引人注目的原因。 凭借其在比特币矿机方面全球领先的优势,比特大陆从2015年起进入人工智能领域。在今天的新智元AI World 2017世界人工智能大会上,公司联合创始人兼CEO詹克团发表演讲《AI驱动的又一个星球级计算》,亲自揭幕了公司首款面向AI应用的张量处理器——Sophon BM1680,这也是继谷歌TPU之后,全球又一款专门用于张量计算加速的专用芯片(ASIC),适用于CNN / RNN / DNN的训练和推理。 实际上,当比特大陆在2015年底决定进军人工智能时,就启动了BM1680项目研发。2017年4月,BM1680流片。6月底,拿到BM1680样片。现在,BM1680已支持主流Caffe mo

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

Hadoop MapReduce概念学习系列之map并发任务数和reduce并发任务数的原理和代码实现(十八)

首先,来说的是,reduce并发任务数,默认是1。 即,在jps后,出现一个yarnchild。之后又消失。 这里,我控制reduce并发任务数6。 有多少个reduce的并发任务数可以在程序里控制,但有多少个map的并发任务数还没。 其实啊,有多少个map的并发任务数还没(是在分片中控制的)。 1、现在,我们控制为map的并发任务数为4。(即是在分片中控制) 2、 jps -> 生成个Runjar -> 3、jps -> 生成个Runjar -> 生成个MRAppMaster(运行map任务) soga 4、 jps -> 生成个Runjar -> 生成个MRAppMaster(运行map任务) -> 查看map并发任务数 -> 5、jps -> 生成个Runjar -> 生成个MRAppMaster(运行map任务) -> 查看map并发任务数 -> Map的Task进程被回收 ->查看reduce并发任务数 -> Reduce的Task进程被回收 –> jps 以上是单独控制了Mapreduce的map并发任务数和reduce并发任务数。 总结 前者Mapreduce的map并发任务数默认是1,控制reduce并发任务数为6。 后者控制map并发任务数为4,Mapreduce的reduce并发任务数默认是1。 综合即控制map,又控制reduce,不再赘述。 本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/5713652.html,如需转载请自行联系原作者

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

阿里巴巴iDST+阿里视频云:计算机视觉和机器学习在消费级视频中的应用

在刚刚圆满落幕的杭州云栖大会上,阿里巴巴董事局主席马云宣布成立达摩院,并将在3年内投资1000亿人民币用于新技术研发。而iDST就是达摩院中的一员,她致力于打造涵盖图像视频、语音交互、自然语言理解、智能决策等人工智能核心技术,肩负着在人工智能领域树立阿里巴巴集团世界领先的技术品牌使命。 那iDST的人工智能技术与阿里视频云强强联合,将碰撞出怎样的科技火花呢? 本文邀请iDST高级算法专家刘扬,将从视频云和人工智能技术结合的由来、消费级视频的特点、iDST视频AI技术进展、iDST的VENUS视频分析平台、视频云+人工智能未来展望五个部分,来介绍iDST在视频领域的技术和在视频云上的工作成果。 视频云和人工智能结合的由来 视频AI是由几方面因素组成。最底层是云计算平台,它包括存储、海量视频的分布式计算和流媒体处理能力,这是基础。中间层是人工

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

一脸懵逼加从入门到绝望学习hadoop之 org.apache.hadoop.ipc.RemoteException(org.apache....

1:初学hadoop遇到各种错误,这里贴一下,方便以后脑补吧,报错如下: 主要是在window环境下面搞hadoop,而hadoop部署在linux操作系统上面;出现这个错误是权限的问题,操作hadoop是虚拟机的主机用户不是window的主机用户Administrator,所以出现下面的错误,解决办法如下所示(或者修改文件的权限,即所有者都可以进行可读,可写,可执行): log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).log4j:WARN Please initialize the log4j system properly.log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.org.apache.hadoop.security.AccessControlException: Permission denied: user=Administrator, access=WRITE, inode="/":root:supergroup:drwxr-xr-x at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkFsPermission(FSPermissionChecker.java:265) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:251) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:232) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:176) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:5523) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:5505) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkAncestorAccess(FSNamesystem.java:5479) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInternal(FSNamesystem.java:2284) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInt(FSNamesystem.java:2237) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:2190) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.create(NameNodeRpcServer.java:520) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.create(ClientNamenodeProtocolServerSideTranslatorPB.java:354) at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:928) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2013) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2009) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1556) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2007) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106) at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:73) at org.apache.hadoop.hdfs.DFSOutputStream.newStreamForCreate(DFSOutputStream.java:1604) at org.apache.hadoop.hdfs.DFSClient.create(DFSClient.java:1465) at org.apache.hadoop.hdfs.DFSClient.create(DFSClient.java:1390) at org.apache.hadoop.hdfs.DistributedFileSystem$6.doCall(DistributedFileSystem.java:394) at org.apache.hadoop.hdfs.DistributedFileSystem$6.doCall(DistributedFileSystem.java:390) at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) at org.apache.hadoop.hdfs.DistributedFileSystem.create(DistributedFileSystem.java:390) at org.apache.hadoop.hdfs.DistributedFileSystem.create(DistributedFileSystem.java:334) at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:906) at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:887) at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:784) at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:773) at com.master01.HdfsTest.upload(HdfsTest.java:33) at com.master01.HdfsTest.main(HdfsTest.java:52)Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=Administrator, access=WRITE, inode="/":root:supergroup:drwxr-xr-x at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkFsPermission(FSPermissionChecker.java:265) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:251) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:232) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:176) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:5523) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:5505) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkAncestorAccess(FSNamesystem.java:5479) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInternal(FSNamesystem.java:2284) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInt(FSNamesystem.java:2237) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:2190) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.create(NameNodeRpcServer.java:520) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.create(ClientNamenodeProtocolServerSideTranslatorPB.java:354) at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:928) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2013) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2009) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1556) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2007) at org.apache.hadoop.ipc.Client.call(Client.java:1410) at org.apache.hadoop.ipc.Client.call(Client.java:1363) at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206) at com.sun.proxy.$Proxy9.create(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:190) at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:103) at com.sun.proxy.$Proxy9.create(Unknown Source) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.create(ClientNamenodeProtocolTranslatorPB.java:258) at org.apache.hadoop.hdfs.DFSOutputStream.newStreamForCreate(DFSOutputStream.java:1600) ... 13 more 解决办法如下所示: 然后呢如下所示: 有点郁闷,按照上面修改的居然不行,然后我又修改为主机root竟然成功了: 不断遇到错误,慢慢整吧......

资源下载

更多资源
腾讯云软件源

腾讯云软件源

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

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

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

Sublime Text

Sublime Text

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

用户登录
用户注册