首页 文章 精选 留言 我的

精选列表

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

Docker快速安装Oracle11G,搭建oracle11g学习环境

安装说明 1.操作系统CentOS7_x64 2.安装的数据库为Oracle11G 3.已经安装了Docker环境 4.安装一些必要的软件 sh 复制代码 yum install unzip -y unzip:解压oracle安装文件 5.提前准备Oracle11G安装镜像 下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 6.需要检查是否有swap分区,如果没有请设置 安装 1.镜像准备 将下载的Oracle安装包上传到指定目录并解压 如:/data0/oracle 解压命令 sh 复制代码 unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip 2.Docker安装 镜像准备 sh 复制代码 docker pull jaspeen/oracle-11g 启动镜像 sh 复制代码 docker run --privileged --name oracle11g -p 11030:1521 -v /data0/oracle:/install jaspeen/oracle-11g 注: /data0/oracle为刚刚Oracle解压路径 oracle11g为Docker容器名称 1521:1521为内部端口映射外部端口 等待安装结束 3.切换镜像配置密码 查看镜像是否在运行 sh 复制代码 docker ps 进入oracle11g容器 sh 复制代码 docker exec -it oracle11g /bin/bash 注:oracle11g为Docker容器名称,注意与上面对应 切换到image的oracle用户 sh 复制代码 su - oracle 进入oracle数据库 sh 复制代码 sqlplus / as sysdba 查看数据库运行状态 sh 复制代码 select status from v$instance; 修改sys用户密码 sh 复制代码 alter user sys identified by oracle; 4.外网连接测试 用户名:sys 密码:oracle 服务名:orcl 端口:1521

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

hadoop学习第二天之伪分布模式安装(下)

继续伪分布安装 7.安装JDK 使用winscp将hadoop和jdk复制到linux目录下 a)打开Winscp输入虚拟机的ip,用户,密码,保存密码后点击登录 左边windows,右边linux。在左边找到要复制的文件(hadoop1.1.2.tar.gz,JDK-xx-xx.bin),直接拖到linux系统下的/usr下的local中. b)解压hadoop-1.1.2.tar.gz #tar –xzvf hadoop-1.1.2.tar.gz c)在linux中二进制文件一般是以bin结尾,但仍然需要执行权限才能执行 #chmod 755 jdk-6u24-linux-i586.bin 解压jdk #./ jdk-6u24-linux-i586.bin d)配置环境变量才能使得jdk生效, #vim /etc/profile 修改前先备份一份 #cp /etc/profile /etc/profile.bak 在开头的空白行添加 export JAVA_HOME=/usr/local/jdk export PATH=$JAVA_HOME/bin:$PATH 就类似于windows下的jdk配置环境变 量 e)重命名hadoop和jdk的文件夹,使得容易使用 #mv hadoop-1.1.2.tar.gz hadoop #mv jdk-6u24-linux-i586.bin jdk f)使得环境变量生效 #source /etc/profile g)验证java版本 #java -version 8.安装hadoop a)因为在在第七步已经解压并且重命名了hadoop,直接切换到hadoop目录 bin下存放的是hadoop的可执行文件 conf下放的是配置文件 lib目录下放的是hadoop依赖的jar包 src目录是存放hadoop源代码的位置 docs存放的是hadoop的文档 b)为了执行hadoop命令方便,将hadoop的bin目录添加到环境变量文件中 #vim /etc/profile exportHADOOP_HOME=/usr/local/hadoop export PATH=$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH c)使环境变量生效 #source /etc/profile d)修改hadoop的配置文件 进入conf目录 hadoop#cd conf 主要修改的配置文件有四个 hadoop-env.sh \core-site.xml\mapred-site.xml\hdfs-site.xml hadoop-env.sh中将第九行的#去掉,成为 #exportJAVA_HOME=/usr/loal/jdk/ 修改core-site.xml配置文件内容如下,hadoop1是我设置的主机名 修改hdfs-site.xml配置文件内容如下 修改mapred-site.xml配置文件内容如下: hadoop1修改为自己的主机名 e)启动hadoop前的文件系统格式化 # hadoop namenode -format f)启动hadoop #start-all.sh 启动与hadoop有关的所有进程 g)查看hadoop是否正常启动,使用jps命令可以查看java进程 如何看到这五个java进程代表hadoop启动成功 JobTracker、TaskTracker、DataNode、SecondaryNameNode、NameNode 启动时最有可能造成NameNode启动不成功的可能原因 (1). 没有格式化 (2). 环境变量设置错误 (3).ip和hostname绑定失败 h) 验证hadoop是否正在运行 浏览器地址栏中:http://hadoop1:50070 (hadoop1需要在windows或linux的host文件中绑定)显示正常网页表示NameNode正在运行 http://hadoop1:50030的链接,显示正常表示mapreduce正在运行

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

《从零开始学Swift》学习笔记(Day 64)——Cocoa Touch设计模式及应用之目标与动作

目标(Target)与动作(Action)是iOS和OS X应用开发的中事件处理机制。 问题提出 如图所示是一个ButtonLabelSample案例设计原型图,其中包含一个标签和一个按钮,当点击按钮的时候,标签文本会从初始的Label替换为HelloWorld。 ButtonLabelSample案例首先要解决的问题是:按钮点击事件后有谁负责响应事件?谁进行事件处理?要答这个问题,可以打开ButtonLabelSample案例故事板文件Main.storyboard,如图所示,OK按钮是在故事板文件Main.storyboard定义的,响应事件以及处理事件应该是在程序代码ViewController.swift实现的。那么如何将OK按钮点击事件与ViewController.swift中的事件处理代码关联起来?不同的计算机语言实现的方式不同,在iOS和OS X应用开发中是通过目标和动作机制实现事件处理的。 解决方案 按钮等控件是继承自UIControl类,具有一些高级事件,目标和动作机制就是将特地的控件事件与视图控制器(或视图)中方法关联起来,这个过程称为“定义动作事件”。“目标”是响应事件对象,为了方便访问其他的控件状态,这个对象一般是视图控制器(或视图)。“动作”是控件的事件。 ButtonLabelSample案例中按钮是在故事板文件(或Xib文件)中定义的,响应按钮点击事件(动作)是在视图控制器(目标)的方法中定义的,如下图所示,通过定义动作事件方式把目标与动作连接起来。 要实现目标与动作的连接有两种方式:InterfaceBuilder连线实现和编程实现。 1. Interface Builder连线实现 InterfaceBuilder连线实现就是故事板或Xib文件中,通过连线而现实。 2.编程实现 编程实现是通过UIControl类addTarget(_:action:forControlEvents:)方法实现的,主要代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 class ViewController:UIViewController{ overridefuncviewDidLoad(){ super .viewDidLoad() self.view.backgroundColor=UIColor.whiteColor() letscreen=UIScreen.mainScreen().bounds; letlabelWidth:CGFloat= 90 letlabelHeight:CGFloat= 20 letlabelTopView:CGFloat= 150 letlabel=UILabel(frame:CGRectMake((screen.size.width -labelWidth)/ 2 ,labelTopView,labelWidth,labelHeight)) label.text= "Label" //字体左右剧中 label.textAlignment=.Center self.view.addSubview(label) letbutton=UIButton(type:UIButtonType.System) //创建UIButton对象 button.setTitle( "OK" ,forState:UIControlState.Normal) letbuttonWidth:CGFloat= 60 letbuttonHeight:CGFloat= 20 letbuttonTopView:CGFloat= 240 button.frame=CGRectMake((screen.size.width -buttonWidth)/ 2 ,buttonTopView,buttonWidth,buttonHeight) button.addTarget(self,action: "onClick:" , forControlEvents:UIControlEvents.TouchUpInside) self.view.addSubview(button) } funconClick(sender:AnyObject){ NSLog( "OKButtononClick." ) } ... } 上述代码中创建并设置UIButton对象,其中创建UIButton对象,参数type是设置按钮的样式,UIButton样式: Custom。自定义类型。如果不喜欢圆角按钮,可以使用该类型。 System。系统默认属性,表示该按钮没有边框,在iOS 7之前按钮默认为圆角矩形。 Detail Disclosure。细节展示按钮,主要用于表视图中的细节展示。 Info Light和Info Dark。这两个是信息按钮,样式上与细节展示按钮一样,表示有一些信息需要展示,或有可以设置的内容。 Add Contact。添加联系人按钮。 代码调用addTarget(_:action:forControlEvents:)方法,方法第一个参数是target,即事件处理对象,本例中是self;方法第二个参数是action,即事件处理对象中的方法, 代码中是"onClick:",方法第三个参数是事件,TouchUpInside事件是按钮的触摸点击事件。 如果调用如下无参数方法: 1 2 funconClick(){ } 调用代码如下: 1 2 button.addTarget(self,action: "onClick" , forControlEvents:UIControlEvents.TouchUpInside) 区别在于action参数"onClick"方法名不同,action参数方法名的冒号暗示了方法名应该具有几个参数。如果要调用的方法是如下3个参数形式: 1 2 funconClick(sender:AnyObject,forEventevent:UIEvent){ } 那么调用代码如下: 1 2 button.addTarget(self,action: "onClick:forEvent:" , forControlEvents:UIControlEvents.TouchUpInside) 其中"onClick:forEvent:"是调用方法名,onClick表示方法名也是,forEvent表示第二个参数的外部参数名。 本文转自 tony关东升 51CTO博客,原文链接:http://blog.51cto.com/tonyguan/1748673,如需转载请自行联系原作者

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

《从零开始学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,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

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

腾讯云软件源

腾讯云软件源

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

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部分的功能。

用户登录
用户注册