Ruby on Rails -- a short intro Tao Zhang. Outline Part 1: sth. about script language Part 2: sth. about RoR.

Slides:



Advertisements
Similar presentations
第十二章 常微分方程 返回. 一、主要内容 基本概念 一阶方程 类 型 1. 直接积分法 2. 可分离变量 3. 齐次方程 4. 可化为齐次 方程 5. 全微分方程 6. 线性方程 类 型 1. 直接积分法 2. 可分离变量 3. 齐次方程 4. 可化为齐次 方程 5. 全微分方程 6. 线性方程.
Advertisements

退 出退 出退 出退 出 上一页 下一页 仪器使用 §1-2 尺规绘图工具和仪器的使用方法 图板丁字尺三角板 比例尺圆规分规铅笔曲线板。 要提高绘图的准确度和绘图效率,必须正确地使用各种绘图工 具和仪器。常用的手工绘图工具和仪器有图板、丁字尺、三角板、 比例尺、圆规、分规、铅笔、曲线板等。 提示:将光标放在仪器上,
Software Engineering 2007/2008 Chapter 2 Modeling the Process and Life Cycle.
基本知识和几何要素的投影 模块一: 字体练习 第一章 制图的基本知识与基本技能 题目提示返回.
数据挖掘实验 1 Apriori 算法编程实现. 数据挖掘实验一 (20’) 实验目的:了解关联规则在数据挖掘中的 应用,理解和掌握关联挖掘的经典算法 Apriori 算法的基本原理和执行过程并完成程 序设计。 实验内容:对给定数据集用 Apriori 算法进行 挖掘,找出其中的频繁集并生成关联规则。
位置相关查询处理 研究背景及意义 移动计算、无线通信以及定位技术的快速发展,使 得位置相关的查询处理及基于位置的信息服务技术 已经成为一个热点研究领域 。 大量的应用领域 ( 如地理信息系统、智能导航、交 通管制、天气预报、军事、移动电子商务等 ) 均迫 切需要有效地查询这些数据对象。
细分曲面 傅孝明 SA 目录 细分曲面的基本思想 两个关键问题 一些基本概念 几种简单的细分曲面算法 细分曲面方法分类.
第 4 章 空间数据的转换与处理. 主要内容 投影变换 数据格式转换 数据处理 在 GIS 中,空间数据是一个重要的部分。整个 GIS 都是围绕空间数据的采集、加工、存储、分析和 表现展开的。而原始空间数据本身通常在数据结构、 数据组织、数据表达上和用户自己的信息系统不一致, 就需要对原始数据进行转换与处理,如投影变换,不.
计算机 在分析化学的应用 ( 简介 ) 陈辉宏. 一. 概述 信息时代的来临, 各门学科的研究方法都 有了新的发展. 计算机的介入, 为分析化学的进展提供了 一种更方便的研究方法.
4 第四章 矩阵 学时:  18 学时。 教学手段:  讲授和讨论相结合,学生课堂练习,演练习题与辅导答疑相结合。 基本内容和教学目的:  基本内容: 矩阵的运算,可逆矩阵,初等矩阵及其性质和意义, 分块矩阵。  教学目的:  1 .使学生理解和掌握矩阵等价的相关理论  2 .能熟练地进行矩阵的各种运算.
第二章 质点组力学 质点组:许多(有限或无限)相 互联系的质点组成的系统 研究方法: 1. 分离体法 2. 从整体考虑 把质点的三个定理推广到质点组.
主要内容  LR(0) 分析. 0 S→  E # E→  E+T E→  T T→  id T→  ( E ) 1 S→E  # E→E  +T 5 T→id  3 E→E+  T T→  id T→  (E) 4 E→E+T  9 E→T  6 T→(  E) E→
嵌入式操作系统 陈香兰 Fall 系统调用 10/27/09 嵌入式 OS 3/12 系统调用的意义  操作系统为用户态进程与硬件设备进行交互提供 了一组接口 —— 系统调用  把用户从底层的硬件编程中解放出来  极大的提高了系统的安全性  使用户程序具有可移植性.
地理信息系统概述. 数据和信息 (Data & Information) 数据 原始事实 如:员工姓名, 数据可以有数值、图形、声音、视觉数据等 信息 以一定规则组织在一起的事实的集合。
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第六十二讲 ) 离散数学. 最后,我们构造能识别 A 的 Kleene 闭包 A* 的自动机 M A* =(S A* , I , f A* , s A* , F A* ) , 令 S A* 包括所有的 S A 的状态以及一个 附加的状态 s.
分析化学与无机化学中溶液 pH 值计算的异同比较 谢永生  分析化学是大学化学系的一门基础课,课 时较少,其内容主要是无机物的化学分析。 分析化学是以无机化学作为基础的,我们 都是在已掌握一定的无机化学知识后才学 习分析化学 。所以在分析 化学的学习中会 重复许多无机化学内容,造成学习没有兴.
1 为了更好的揭示随机现象的规律性并 利用数学工具描述其规律, 有必要引入随 机变量来描述随机试验的不同结果 例 电话总机某段时间内接到的电话次数, 可用一个变量 X 来描述 例 检测一件产品可能出现的两个结果, 也可以用一个变量来描述 第五章 随机变量及其分布函数.
数 学 系 University of Science and Technology of China DEPARTMENT OF MATHEMATICS 第 3 章 曲线拟合的最小二乘法 给出一组离散点,确定一个函数逼近原函数,插值是这样 的一种手段。在实际中,数据不可避免的会有误差,插值函 数会将这些误差也包括在内。
例9:例9: 第 n-1 行( -1 )倍加到第 n 行上,第( n-2 ) 行( -1 )倍加到第 n-1 行上,以此类推, 直到第 1 行( -1 )倍加到第 2 行上。
第六章 犯罪客观方面. 第一节 犯罪客观方面的概述 一、犯罪客观方面的概念  犯罪客观方面,是指刑法规定的,说明行 为对刑法所保护的社会关系造成侵害的客 观外在表现。
主讲教师:陈殿友 总课时: 124 第八讲 函数的极限. 第一章 机动 目录 上页 下页 返回 结束 § 3 函数的极限 在上一节我们学习数列的极限,数列 {x n } 可看作自变量 为 n 的函数: x n =f(n),n ∈ N +, 所以,数列 {x n } 的极限为 a, 就是 当自变量 n.
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第四十八讲 ) 离散数学. 例 设 S 是一个非空集合, ρ ( s )是 S 的幂集合。 不难证明 :(ρ(S),∩, ∪,ˉ, ,S) 是一个布尔代数。 其中: A∩B 表示 A , B 的交集; A ∪ B 表示 A ,
第十一章 曲线回归 第一节 曲线的类型与特点 第二节 曲线方程的配置 第三节 多项式回归.
第二部分 行政法律关系主体 第一节 行政主体 一、行政主体 (一)行政主体的概念 cc (二)行政主体资格含义及构成要件 CASE1CASE1\CASE2CASE2 (三)行政主体的职权和职责 1 、行政职权的概念及内容 2 、行政职权的特点 3 、行政职责.
线性代数习题课 吉林大学 术洪亮 第一讲 行 列 式 前面我们已经学习了关 于行列式的概念和一些基本 理论,其主要内容可概括为:
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第二十五讲 ) 离散数学. 定理 群定义中的条件 ( 1 )和( 2 )可以减弱如下: ( 1 ) ’ G 中有一个元素左壹适合 1 · a=a; ( 2 ) ’ 对于任意 a ,有一个元素左逆 a -1 适 合 a -1 ·
第 4 章 过程与变量的作用范围. 4.1 Visual Basic 的代码模块 Visual Basic 的应用程序是由过程组成的, 过程代码存放在模块中。 Visual Basic 提供了 三类模块,它们是窗体模块、标准模块和类 模块。 窗体模块 窗体模块是大多数 Visual Basic.
数 学 系 University of Science and Technology of China DEPARTMENT OF MATHEMATICS 第 3 章 曲线拟合的最小二乘法 给出一组离散点,确定一个函数逼近原函数,插值是这样的一种手段。 在实际中,数据不可避免的会有误差,插值函数会将这些误差也包括在内。
语义分析 主要内容:  语义分析概述 ( 必要性、功能、描述方法 )  符号表  类型表达式  声明和程序体的语义分析.
量子化学 第四章 角动量与自旋 (Angular momentum and spin) 4.1 动量算符 4.2 角动量阶梯算符方法
主讲教师:陈殿友 总课时: 124 第十一讲 极限的运算法则. 第一章 二、 极限的四则运算法则 三、 复合函数的极限运算法则 一 、无穷小运算法则 机动 目录 上页 下页 返回 结束 §5 极限运算法则.
第十章 目标代码生成  目标代码 ( 单寄存器 )  临时变量的存储空间分配  寄存器的分配和释放.
多媒体制作工具 Authorware 在流程线上添加图标 引入素材 编辑图标属性. 标题拦 菜单栏 图标栏 设计 窗口 演示 窗口 工具栏.
Photoshop CS4 标准培训教程 第三章第三章 在 Photoshop CS4 中所谓的不规则选区指的是随意性强,不被局限在几何形状内, 他们可以是鼠标任意创建的也可以是通过计算而得到的单个选区或多个选区。在 Photoshop 中可以用来创建不规则选区的工具被分组放置到套索工具组、魔棒工具组.
第一节 相图基本知识 1 三元相图的主要特点 (1)是立体图形,主要由曲面构成; (2)可发生四相平衡转变; (3)一、二、三相区为一空间。
第五节 学习要点 对句子的分析,向来是从句型、句类、句式的角度进行的。 以这三个角度为切入点,我们可以建立句型系统、句类系统和句 式系统。 ★句型系统 —— 按照句子的结构模式划分出来的类型系统。
第二章 通信技术基础 谈英姿 东南大学自控系工业自动化教研室. 通信技术基础 2.1 通信的基本概念 2.2 通信协议与网络层次分析 2.3 常用串行通信技术.
第 3 章 控制流分析 内容概述 – 定义一个函数式编程语言,变量可以指称函数 – 以 dynamic dispatch problem 为例(作为参数的 函数被调用时,究竟执行的是哪个函数) – 规范该控制流分析问题,定义什么是可接受的控 制流分析 – 定义可接受分析在语义模型上的可靠性 – 讨论分析算法.
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第五十三讲 ) 离散数学. 定义 设 G= ( V , T , S , P ) 是一个语法结构,由 G 产生的语言 (或者说 G 的语言)是由初始状态 S 演绎出来的所有终止符的集合, 记为 L ( G ) ={w  T *
平行线的平行公理与判定 九年制义务教育七年级几何 制作者:赵宁睿. 平行线的平行公理与判定 要点回顾 课堂练习 例题解析 课业小结 平行公理 平行判定.
Relevance Theory Lecture 12. Relevance Theory 交际研究的对象是交际的概念、内容、 性质、功能、方法和交际行为、交际参 加者之间的关系等的认识和阐述。 20 世 纪 70 年代末以来, Sperber & Wilson 把认 知与交际结合起来,于 1986.
编译原理总结. 基本概念  编译器 、解释器  编译过程 、各过程的功能  编译器在程序执行过程中的作用  编译器的实现途径.
周期信号的傅里叶变换. 典型非周期信号 ( 如指数信号, 矩形信号等 ) 都是满足绝对可 积(或绝对可和)条件的能量信号,其傅里叶变换都存在, 但绝对可积(或绝对可和)条件仅是充分条件, 而不是必 要条件。引入了广义函数的概念,在允许傅里叶变换采用 冲激函数的前提下, 使许多并不满足绝对可积条件的功率.
 符号表  标识符的作用: 声明部分:定义了各种对象及对应的属性和 使用规则。 程序体:对所定义的对象进行各种操作。 $ididname IdnameAttributeIR  必要性 Token : 新表-符号表(种类、类型等信息):
初中几何第三册 弦切角 授课人: 董清玲. 弦切角 一、引入新课: 什么是圆心角、圆周角、圆周角定理的内容是什么? 顶点在圆心的角叫圆心角。 顶点在圆上,并且两边都和圆相交的角叫做圆周角。 定理:一条弧所对的圆周角等于它所对的圆心角的一半。 A B′ C B O.
Department of Mathematics 第二章 解析函数 第一节 解析函数的概念 与 C-R 条件 第二节 初等解析函数 第三节 初等多值函数.
网上预约集港操作指南 一、登录系统 登陆下面图片显示网址:输入堆场用户名、密码和校验码登陆系统.
首 页 首 页 上一页 下一页 本讲内容本讲内容 视图,剖视图(Ⅰ) 复习: P107 ~ P115 作业: P48(6-2,6-4), P49( 去 6-6) P50, P51(6-13), P52 P50, P51(6-13), P52 P53 (6-18,6-20) P53 (6-18,6-20)
《 UML 分析与设计》 交互概述图 授课人:唐一韬. 知 识 图 谱知 识 图 谱知 识 图 谱知 识 图 谱.
Introduction to Automatic Control The Laplace Transform Li Huifeng Tel:
本 的 质 基 性 比 上海市傅雷中学 樊丽华 (1). 分数的基本性质 : 分数的分子和分母同时乘以或 除以相同的数( 0 除外), 分数的大小不变. 填空:
常州机电职业技术学院 数控编程与加工技术 精品课程 项目 3 加工中心程序编制 模块 2 方形型腔类零件 上饶职业技术学院 课程负责人:罗根云 2011 年 5 月
1 、如果 x + 5 > 4 ,那么两边都 可得 x >- 1 2 、在- 3y >- 4 的两边都乘以 7 可得 3 、在不等式 — x≤5 的两边都乘以- 1 可得 4 、将- 7x — 6 < 8 移项可得 。 5 、将 5 + a >- 2 a 移项可得 。 6 、将- 8x < 0.
名探柯南在侦查一个特大盗窃集团过程 中,获得藏有宝物的密码箱,密码究竟 是什么呢?请看信息: ABCDEF( 每个字 母表示一个数字 ) A :是所有自然数的因数 B :既有因数 5 ,又是 5 的倍数 C :既是偶数又是质数 D :既是奇数又是合数 EF :是 2 、 3 、 5 的最小公倍数.
项目七: PLC 功能指令应用 带进位循环左移指令 XXXXX. 项目七: PLC 功能指令应用 FX2 系列可编程控制器移位控制指令有移位、循环移位、字移位 及先进先出 FIFO 指令等 10 条指令。 带进位循环右移指令 RCR 带进位循环左移指令 RCL 字右移位指令 WSFR 先入先出读出指令.
§10.2 对偶空间 一、对偶空间与对偶基 二、对偶空间的有关结果 三、例题讲析.
请同学们仔细观察下列两幅图有什么共同特点? 如果两个图形不仅形状相同,而且每组对应点所在的直线 都经过同一点, 那么这样的两个图形叫做位似图形, 这个点叫做位 似中心.
2015 年江苏省美术专业统考考试说明 解读 : 贡加兵 扬州市邗江区公道中学
表单自定义 “ 表单自定义 ” 功能是用于制作表单的 工具,用数飞 OA 提供的表单自定义 功能能够快速制作出内容丰富、格 式规范、美观的表单。
综合性问题 距离和角度的度量 画法几何及机械制图 精品资源共享课 换面法应用 工程图学教研室. 工程实际抽象出来的几何问题,如距离、角度的度量;点、线、面 的定位等,并不是单纯的平行、相交、垂直问题,而多是较复杂的综 合问题,其突出特点是要受若干条件的限制,求解时往往要同时满足 几个条件。 解决此类问题的方法通常是:分析、确定解题方案及投影图上实.
力的合成 力的合成 一、力的合成 二、力的平行四边形 上一页下一页 目 录 退 出. 一、力的合成 O. O. 1. 合力与分力 我们常常用 一个力来代替几个力。如果这个 力单独作用在物体上的效果与原 来几个力共同作用在物体上的效 果完全一样,那么,这一个力就 叫做那几个力的合力,而那几个 力就是这个力的分力。
SMIE-121 Software Design II School of Mobile Information Engineering, Sun Yat-sen University Lecture.
逻辑设计基础 1 第 7 章 多级与(或)非门电路 逻辑设计基础 多级门电路.
八. 真核生物的转录 ㈠ 特点 ① 转录单元为单顺反子( single cistron ),每 个蛋白质基因都有自身的启动子,从而造成在功能 上相关而又独立的基因之间具有更复杂的调控系统。 ② RNA 聚合酶的高度分工,由 3 种不同的酶催化转 录不同的 RNA 。 ③ 需要基本转录因子与转录调控因子的参与,这.
§5.6 利用希尔伯特 (Hilbert) 变换 研究系统的约束特性 希尔伯特变换的引入 可实现系统的网络函数与希尔伯特变换.
1 第三章 数列 数列的概念 考点 搜索 ●数列的概念 ●数列通项公式的求解方法 ●用函数的观点理解数列 高考 猜想 以递推数列、新情境下的 数列为载体, 重点考查数列的通 项及性质, 是近年来高考的热点, 也是考题难点之所在.
Innovation Intelligence ® Workshop – Riser VIV. Copyright © 2015 Altair Engineering, Inc. Proprietary and Confidential. All rights reserved. 学习内容 实用流固耦合的设置方法.
Generation of Chinese Character Based on Human Vision and Prior Knowledge of Calligraphy 报告人: 史操 作者: 史操、肖建国、贾文华、许灿辉 单位: 北京大学计算机科学技术研究所 NLP & CC 2012: 基于人类视觉和书法先验知识的汉字自动生成.
目录 上页 下页 返回 结束 二、无界函数反常积分的审敛法 * 第五节 反常积分 无穷限的反常积分 无界函数的反常积分 一、无穷限反常积分的审敛法 反常积分的审敛法  函数 第五章 第五章.
元 胞 自 动 机. 一. 元胞自动机的定义及构成 元胞自动机 (Cellular Automata ,简称 CA ,也有 人译为细胞自动机、点格自动机、分子自动机 或单元自动机 ) 。 是一时间和空间都离散的动力系统。散布在规 则格网 (Lattice Grid) 中的每一元胞 (Cell) 取有限.
Presentation transcript:

Ruby on Rails -- a short intro Tao Zhang

Outline Part 1: sth. about script language Part 2: sth. about RoR

Part 1: script language

Hash { } Ruby  array= []  hash= {} Javascript:  var array= [];  var obj={}; Ruby  array= [‘a’, 256, var1]  hash= {:symbol=>256, :key=>’value’, ‘anything’=>array}  hash[:key]= ‘value’ Javascript:  var array= [‘a’, 256, var1];  var obj={key: ‘value’, key2: 256, key3: obj};  hash.key= ‘value’

JSON (array & hash) var json_obj1= { key: [‘a’,256, var], key2: ‘string’ }; var json_obj2= [ ‘a’, 256, {key:’value’, key2:’value2’}, [‘a’,256, var] ];

Objects in javascript Javascript 没有类 (class), 只有对象 (object) 两种对象  JSON: 字面量 (literal) 对象 / 一次性 (one-off) 对象  Function: 基于原型 (prototype) 的, 可复制的, 可动态修改的对象 用关键字 new 复制 function 对象

Function and parameters Java :  javaFunction(int param1, char param2, double param3, ClassName param4)  {  // definition  }  //call it  javaFunction(256, ‘a’, , object);  //or  javaFunction(null, ‘a’, null, object);

Function and parameters Ruby :  def method(:opt=>{}) # definition  end  #call it  method( {:title=>‘a’, :width=>200, :height=>300})  #or  method(:title=>‘a’, :width=>200, :height=>300)  #or  method :title=>‘a’, :width=>200, :height=>300

block def one_block  yield end one_block { puts "This is a block. " } Output: This is a block.

block def one_block  for num in 1..3 yield(num)  end end one_block do |i|  puts "This is block #{i}. " end Output: This is block 1. This is block 2. This is block 3.

block (real example) class SamplesController < ApplicationController # GET /samples # GET /samples.xml def = Sample.all respond_to do |format| format.html # index.html.erb format.xml { render :xml } end 1 2 3

block (real example) #config/routes.rb: ActionController::Routing::Routes.draw do |map|  map.resources :files, :only => :show  map.connect ':controller/:action/:id’  map.connect ':controller/:action/:id.:format' end #vendor/rails/actionpack/lib/action_controller/routing/route_set.rb def draw  yield Mapper.new(self)  install_helpers end

Part 2: RoR

Directory Structure app  Controllers  Models  Views config  Database.yml  Routes.rb db  Migrate/  Schema.rb public script vendor Active Record ActionPack 互相独立

Rails 工作原理 routes.rb 是 url 解析和生成的配置文件 ( 规则 ) 一般规则 : domain.com/controller/action/id #app/controllers/samples_controller.rb class SamplesController < ApplicationController def action # anything you want to do render #render template, creating view(html pages, xml, javascripts, …) end def another_action end

定义 route 与解析 url rake routes # Print out all defined routes in match order, with names. map.connect ‘whateverstring/whatever’, :controller => ‘xxx’, :action =>’yyy’ domain.com/whateverstring/whatever 就会调用 xxx.yyy 方法

生成 url A helper method called “url_for”: url_for :controller =>’xxx’, :action =>’yyy’ 的返回值为 ‘domain.com/whateverstring/whatever’ Named route: map.wuyan ‘whateverstring/whatever’, :controller => ‘xxx’, :action =>’yyy’ Rails 会为你自动生成两个 helper method:  wuyan_url# 返回值为 ‘domain.com/whateverstring/whatever’  wuyan_path# 返回值为 ‘whateverstring/whatever’ 举例 : SamplesController.destroy()

REST & resource-based routing 只是预先提供的一套特殊形式的 routes map.resource :samples 将自动为你生成 7 个 named routes, 包括了基本的 CRUD 动作 举例 : rake routes views/samples/index.html.erb

Action View & template 各种 helper method, 用于动态生成网页 /xml/javascripts Template: 指.html.erb 文件,.builder 文件,.rjs 文件 比如 :  link_to, button_to, form_for

render render, redirect_to, send_data, send_file 这几个方法将 respond to a request, 即最终返回数据给 web browser app/controllers/wuyan_controller.rb 中的各个 action 对应与 app/views/wuyan/action*.html.erb  比如 :  #wuyan_controller.rb:  class WuyanController < ApplicationController def show  render :template=>’whatever’ end  end  那么 show 方法会将 app/views/wuyan/whatever.html.erb 页面返回