ruby小概念 须知

 1.ruby是什么?

Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言,在20世纪90年代由日本人松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada以及 Lisp 语言。由 Ruby 语言本身还发展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的 Ruby 语言替代品。Ruby的作者于1993年2月24日开始编写Ruby,直至1995年12月才正式公开发布于fj(新闻组)。因为Perl发音与6月诞生石pearl(珍珠)相同,因此Ruby以7月诞生石ruby(红宝石)命名。

2.rvm是什么?

rvm 是用来切换多版本的ruby 和 gem 的库使用的。

3.gem是什么? 

RubyGems(简称 gems)是一个用于对 Ruby组件进行打包的 Ruby 打包系统。 它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。

4.gemset是什么? 

gemset可以理解为是一个独立的虚拟gem环境,每一个gemset都是相互独立的。

比如你有两个项目,一个是rails 2.3 一个是 rails 3. gemset可以帮你便捷的建立两套gem开发环境,并且方便的切换。

gemset是附加在ruby语言版本下面的,例如你用了1.9.2, 建立了一个叫rails3的gemset,当切换到1.8.7的时候,rails3这个gemset并不存在。

5.bundle是什么? 

相当于多个RubyGems批处理运行。在配置文件gemfilel里说明你的应用依赖哪些第三方包,他自动帮你下载安装多个包,并且会下载这些包依赖的包。

6.bundler是什么?

Bundler也会帮你管理好你的应用程序所依赖的Gem。

  

7.Gemfile是什么?

定义你的应用依赖哪些第三方包,bundle根据该配置去寻找这些包。

 8.我们的应用为什么可以跑在android上? 

在Android中通过WebView控件,可以实现要加载的页面与Android方法相互调用,我们要实现WebView中的addJavascriptInterface方法,这样html才能调用android方法,在这里我个人觉得有点和DWR相似。

9.我们的html页面怎么跑在android上? 

在Android中通过WebView控件,可以实现要加载的页面与Android方法相互调用,我们要实现WebView中的addJavascriptInterface方法,这样html才能调用android方法,在这里我个人觉得有点和DWR相似。

10.我们的html页面是怎么发短信的,背后的机制是什么?

在后台配置 接口 链接手机平台

11.haml是什么? 

Haml是一种用来描述任何XHTML web document的标记语言,它是干净,简单的。而且也不用内嵌代码。Haml的职能就是替代那些内嵌代码的page page templating systems,比如PHP,ERB(Rails的模板系统),ASP。不过,haml避免了直接coding XHTML到模板,因为它实际上是一个xhtml的抽象描述,内部使用一些code来生成动态内容。Haml 是一种简洁优美的模板语言,可以应用于Ruby on Rails、 PHP等Web开发平台,可以大大缩减模板代码,减少冗余,提高可读性。并且Haml是一种完备的模板语言,没有牺牲当前模板语言的任何特性。Haml由 Hampton Catlin发明并且开发了Ruby on Rails上的实现。

12.html是什么? 

HTML 是用来描述网页的一种语言。

HTML 指的是超文本标记语言 (Hyper Text Markup Language)

HTML 不是一种编程语言,而是一种标记语言 (markup language)

标记语言是一套标记标签 (markup tag)

HTML 使用标记标签来描述网页

13.haml和html的区别和联系是什么? 

区别:

一、浏览器 保存为 HTML 所做的操作 :

1、保存你看到的页面的 HTML 代码

2、保存本页面链接的 图片等,单独保存为一个目录;比如你保存的页面叫 title.html; 图片等就单独建一个叫‘title’的目录保存

二、浏览器 保存为 MHTML 所做的操作 :

把所有看到的HTML代码和链接图片等保存为一个文件;没有目录等。

联系;

14.使用haml的优势是什么? 

Haml 是一种简洁优美的模板语言,可以应用于Ruby on Rails、 PHP等Web开发平台,可以大大缩减模板代码,减少冗余,提高可读性。并且Haml是一种完备的模板语言,没有牺牲当前模板语言的任何特性。

15.angular.js是什么?我们都用了他里面什么概念?怎么用的? 是 Google 开源出来的一套 js 工具。

AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入,等等。

AngularJS是为了克服HTML在构建应用上的不足而设计的。

使用 框架   类库。

16.css,js,html之间的关系 

html是网页的结构,css是网页的表达形式,JS是脚本语言;

形象一点说就是,html相当于人里面的器官,组成了人体;而Css就是你穿着的衣服,即使html网页结构相同,但是如果你的css变化的话整个网页也是可以变化的,而js就是发蜡,香水之类的可以使你的网页更加丰富的脚本语言;整个网页就是人体,衣服,香水发蜡结合的结果了。 

你下载一个网页源文件,里面不可能只有一个index.html在里面而已,还会有css和js这两样东东,index.html就是网页结构了,而css就是让网页横排或者竖排,让每个元素表现出各种样式(比如粗体字,颜色,边距,浮动...),js就是让最常用的就是让网页显示当前的时间和滚动图片这两个了。

17.js的加载顺序是什么? 

自上而下; 从左到右;先局部后全局。

18.JSON是什么? 

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(网络传输速度)。

19.MVC是什么?MVC模式是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型、视图和控制器

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

20.git是什么? 

Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。[2] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

21.commit是什么? 

COMMIT命令用于把事务所做的修改保存到数据库,它把上一个COMMIT或ROLLBACK命令之后的全部事务都保存到数据库。

22.commit comments是什么? 

在修改文件后,需要使用git add把文件加入暂存区,这样git commit时才能把已经修改的信息加入版本库,而使用git commit -a可以不用再git add。

23.push是什么? 

堆栈操作指令,实现压入操作的指令是PUSH指令;实现弹出操作的指令是POP指令. 

提交流程是什么?用命令行怎么做?添加,修改,删除分别怎么处理? 

24.提交流程是什么?用命令行怎么做?添加,修改,删除分别怎么处理? 

#准备向数据库中插入的数据
peter=Score.new('数学', 83, 'Peter', '')
libei=Score.new('数学', 100, '李贝', '')
liubuyi=Score.new('数学', 58, '刘布一', '因为迟到,题没做完')
begin
# 创建数据库连接对象并打开数据库连接
dbh = Mysql.real_connect('localhost', 'root', 'admin', 'db_student')
#向数据库中保存三个学生的成绩
saveScore(dbh, peter)
saveScore(dbh, libei)
saveScore(dbh, liubuyi)
#因为改卷老师手误,改错Peter同学的一道题,这里将Peter的成绩修改一下
sql='update scores set score=#{ 86 } where student_name='#{'Peter'}''
dbh.query(sql)
if(dbh.affected_rows==1)
puts '学生 #{'Peter'} 的成绩修改成功'
end
#,将该学生成绩做废,所以这里我们要将李贝同学成绩删除
sql='delete from scores where student_name='#{'李贝'}''
dbh.query(sql)
if(dbh.affected_rows==1)
puts '学生 #{'李贝'} 的成绩删除成功'
end
rescue Mysql::Error => e
puts 'Error Number: #{e.errno}'
puts 'Error Message: #{e.error}'
puts 'Error State: #{e.sqlstate}' if e.respond_to?('sqlstate')
ensure
dbh.close if dbh
end

25.branch是什么? 

网络服务 

26.git repository是什么?

repo为git工具的仓储,就是一个git工具的文件夹。。。并且里边有.git/的子目录 

repo也是google为android开发的一套专门用来操作android代码的工具,通过manifest文件来批量下载git仓储(repo)及仓储内的代码,因为一套android代码中有上百的git仓储

相关推荐