当前位置: 首页 > 编程日记 > 正文

[rails] 我的订餐系统 -- 小试ruby on rails(转)

  • 前言
            近期在java社区中一种新的脚本语言ruby,及用ruby开发的一个wab框架 rails也热闹了起来.引起了不少的java开发人员的关注.
      本人平时还是很少接触脚本语言方面东东,看到相关的评论
    例如:  "习惯约定优于配置" -- 那样就用象java那样麻烦且繁杂地配置N多XML
               "'一站式'面向用户的简单易用的框架"    
               "Ruby 语言- 真正的面向对象脚本语言"
               "Ruby 语法更简单,灵活" 
       "声称:Rails 的开发效率是 java 开发的 10 倍"
    等等,再得到老大的强烈推荐,不禁也开始接触了一下.
          
    声明:本人接触三天,看过一些简单的介绍以及一些文档,实操过一个小项目,并未深入了解,这一文章并非语言及框架使用教程,只是一个感性认识,其中代码或许并非最简洁,如要更深入学习ruby,rails,请参考相关的官方站点以及其语法参数书.
  • Ruby 与 Rails
    [什么是RUBY ?] 
            Ruby 是由日本人松本行弘发明的一种面向对象的脚本语言.
    声称,更快,更通俗易懂的面向对象的语言,本人接触这段时间,感觉到关于面向对象的确做得不错.
    一些特点:
    1、一切都是对象,例如:
            数据类型转换提供如 to_ary,to_i,to_s 等方法,
    None.gif@i = "2".to_i    //字符串转数值类型
    None.gifputs @i
    +1

            不再象java中的诸如:
             Integer.parseInt()
            String.valueOf()
            那样难看与及难以理解
            Time.now.strftime(fmt) Time.now对象通过strftime格式化日期类型
      再如koalant在它那本ruby on rails实践中说到   -166.abs 可以直接取其-166绝对值
             ………………
    2、代码块非强制用{} ,无需 ;  作分行标识;
    3、语法灵活,一种可以功能可多种实现,随个人爱好;
    4、语法简洁等,做一个应用只要用到几行代码,这也是脚本语言的优势所在
            
            更详细可参考 http://www.ruby-lang.org/ 以及下面提供的些文档资料.
           
    [什么是Rails ?]
            RAILS是用RUBY开发的一个web框架.
            实现一站式开发.        http://www.rubyonrails.org/ 有比较详细的介绍.
    None.gifRails is a full-stack, open-source web framework in Ruby for writing real-world applications with joy and less code than most frameworks spend doing XML sit-ups
    声称用更少的代码实现web applications。
            此框架主要包括三部分
            Active Record  一个ORM实现
            Action Pack      View 以及controller
            Action Mailer    应该是关于mail方面的东西


    [一些资料]
    [1] koalant写的Ruby on Rails实践  ,通俗易懂,介绍了ruby on onrails中的一些基础的东东
    [2] IBM中文文章: Ruby on Rails 和 J2EE:两者能否共存?
    [3] Agile Web Development with Rails(以一个案例详细介绍了ruby on rails)
     下载请见:
    http://www.itpub.net/398528.html
    [4] Ajax on Rails http://www.onlamp.com/pub/a/onlamp/2005/06/09/rails_ajax.html 
    [5] Programming Ruby http://www.rubycentral.com/book/index.html
  • 快速安装
    1、下载
           到目前为止最新版本是Ruby 1.8.2,可以到http://rubyforge.org/frs/?group_id=167&release_id=2049
            下载 One-Click Installer - for Windows
    2、点击下载exe文件一直NEXT 安装就OK [ 说明:本人安装在C:\ruby\目录]
    3、使用 rubygems 来安装 rails
          CMD进行命令行窗口,通过网络进行远程安装 rails
    None.gifC:\> gem install rails --include-dependencies
    //
     Attempting local installation of 'rails'
    Local gem file not found: rails*.gem
    Attempting remote installation of 'rails'
    Updating Gem source index for: http://gems.rubyforge.org
    ………………
    ………………//一连串安装信息
    None.gif
    None.gifC:\> rails C:/myrails         //建立web app 目录
          create
          create  app/apis
          create  app/controllers
          create  app/helpers
          create  app/models
          create  app/views/layouts
          create  config/environments
          create  components
          create  db
          create  doc
          create  lib
          create  log

    None.gifNone.gif
    说明如果发现gem,rails命令等用不了,可能是环境变量未设置好,
          可自行设置指向你的 安装目录/bin
          
      4、运行服务器
    None.gifC:\> ruby c:\myrails\script\server
    => Rails application started on http://0.0.0.0:3000
    => Ctrl-C to shutdown server; call with --help for options
    [2005-08-11 20:29:56] INFO  WEBrick 1.3.1
    [2005-08-11 20:29:56] INFO  ruby 1.8.2 (2004-12-25) [i386-mswin32]
    [2005-08-11 20:29:56] INFO  WEBrick::HTTPServer#start: pid=4072 port=3000
    127.0.0.1 - - [11/Aug/2005:20:30:08 China Standard Time] "GET / HTTP/1.1" 200 32
    34
    - -> /
    127.0.0.1 - - [11/Aug/2005:20:30:09 China Standard Time] "GET / HTTP/1.1" 304 0
    - -> /
    127.0.0.1 - - [11/Aug/2005:20:30:24 China Standard Time] "GET / HTTP/1.1" 304 0
    - -> /

    http://127.0.0.1:3000 
    恭喜你,如果看到
    Congratulations, you've put Ruby on Rails!页面
    则表示安装成功!!!!

    5、 学习一个Ruby的语法
         ruby  以rb为后缀的文件. 
    hello.rb
    None.gif@a = "hello world!"
    None.gifputs @a

    C:\ruby\bin>ruby hello.rb
    hello world!
    其它可参考语言书学习.
  • 我的订餐系统

    1、功能,包括四类基本管理,主要是新增,修改,查看,删除(CURD) 四种操作
          餐厅管理(shop)
          菜式管理(good)
      人员管理(human)
          订单管理(order)
      
    2、首页效果截图

由于本人偷懒,样式借用了jsp wiki的,在此声明一下: )
[主界面,使用frame,左边为主要功能菜单,右边为进行CURD操作提供界面操作]

orderList[1].gif

[页面结构如下所示]
orderList[2].gif

  • 员工管理
    1、快速开发,自动生成基本文件结构目录及文件
          执行命令,自动生成项目所需要的文件及其文件结构,几秒种架设好订餐系统框架!!!
    None.gifC:\myrails>rails c:\myMealOrder

说明:rails 一直贯穿的思想说是"习惯约定优于配置",所以,文件结构都是它定义的,我们只要将相应
                 文件放到其定义好的目录下就行了。
                  例如:controller 应该放到其 webapp/app/controllers 下,本文目录为[C:\myMealOrder\app\controllers]
                              model 应该放到其      webapp/app/model下,本文目录为[C:\myMealOrder\app\model]
                              views 应该放到其      webapp/app/view下,本文目录为[C:\myMealOrder\app\views]
            另外,根本目录为webapp/public/ 你可以通过修改index.html来定义你自己的index页面
    
          2、启动webrick 服务器测试
                rails默认使用webrick服务器,官方网站了解其更多www.webrick.org
               执行命令

None.gifC:\>ruby c:\myMealOrder\script\server 


              打开IE 浏览 :http://127.0.0.1:3000
             看到Congratulations, you've put Ruby on Rails!表示配置成功
  
3、建立数据库以及进行配置
    CREATE TABLE humen (
    id int(11) NOT NULL auto_increment,
    code varchar(100) NOT NULL default '',
    mame varchar(100) NOT NULL default '',
    PRIMARY KEY  (`id`)
  )      
    说明,习惯约定,默认情况下主键名为id,表名为复数形式,具体操作我也有点糊涂,
    例如本例子中的human model对应其数据表名为humen。这里我就略过了。具体资料可参考更详细的资料。
    配置,打开 C:/myMealOrder/config/database.yml
    将其中参数设置正常就行了。
    例如将 database: rails_development 设成你的数据名等

  4、生成human 的 model,controller文件

None.gif ruby c:\myMealOrder\script\generate controller human
None.gif      exists  app
/controllers/
None.gif      exists  app
/helpers/
None.gif      create  app
/views/human
None.gif      exists  test
/functional/
None.gif      create  app
/controllers/human_controller.rb
None.gif      create  test
/functional/human_controller_test.rb
None.gif      create  app
/helpers/human_helper.rb

None.gif ruby c:\myMealOrder\script\generate model human
None.gif      exists  app
/models/
None.gif      exists  test
/unit/
None.gif      exists  test
/fixtures/
None.gif      create  app
/models/human.rb
None.gif      create  test
/unit/human_test.rb
None.gif      create  test
/fixtures/humen.yml


     
     4、快速实现CURD
    打开app/controllers/human_controller.rb文件,修改为

None.gif   class HumanController < ApplicationController
None.gif          scaffold :human
None.gif  end


  说明: 简单的一句 "scaffold :human" 就能对应生成human 的CURD操作及其页面。
  重启服务,再次浏览   http://127.0.0.1:3000/human
   action包括:
   list(列表,列出所有human),new(新建human),show(显示human),update(更新human),Destroy(物理删除human),界面如下图
list.gifnew.gifedithuman.gif
   我们可以注意其URL
   http://127.0.0.1:3000/human/new
   http://127.0.0.1:3000/human/show/1
   http://127.0.0.1:3000/human/edit/1
   http://127.0.0.1:3000/human/destroy/2
   rails也是MVC的模式,
   1、浏览器发出请求;
   2、后台寻找(new/show/edit/destroy/etc) controller,调用相对应的方法,及view模板;
   3、将结果返回给浏览者
   或许你会认为,这一默认的view大多数情况下并不适合,或许需要自己设计view模板,也行,rails提供快捷的方法
   方便用户自己设计view模板,只要定义action并将同名view文件(rhtml后缀的文件)放到其webapp/app/views/目录即可,
   下面将会介绍到相关的操作。

  • 餐厅及其菜式管理
    餐厅(shop),菜色(good)按员工管理操作方法进行新建,在这里就略过了!!
    http://127.0.0.1:3000/shop
    http://127.0.0.1:3000/good

    1、自己设计view 模板
          例如在餐厅列表中我要实现自己的样式,如下图:
    shoplist.gif
         具体操作, 新增加 myMealOrder\app\views\shop\list.rhtml (rails中以.rhtml为view模板文件)
    None.gif<table border="1" width="500px">
    None.gif
    <tr>
    None.gif
    <td width="20%"><p align="center"><i><b>code</b></i></td>
    None.gif
    <td width="20%"><p align="center"><i><b>餐厅名</b></i></td>
    None.gif
    <td width="20%"><p align="center"><i><b>电话</b></i></td>
    None.gif
    <td width="20%"><p align="center"><i><b>备注</b></i></td>
    None.gif
    <td width="10%"><p align="center"><i><b>编辑</b></i></td>
    None.gif
    <td width="10%"><p align="center"><i><b>删除</b></i></td>
    None.gif
    </tr>
    None.gif
    <% @shops.each do |shop| %>                  //ruby 语法,循环所有shop
    None.gif
    <tr>
    None.gif
    <td><%= shop.code %></td>
    None.gif
    <td><%= link_to shop.name, :action => "show", :id => shop.id %></td>
    None.gif
    <td><%= shop.phone %></td>
    None.gif
    <td><%= shop.remark %></td>
    None.gif
    <td><%= link_to "编辑", :action => "edit", :id => shop.id %></td>
    None.gif
    <td><%= link_to "删除", :action => "destroy", :id => shop.id ,:confirm => "Are you sure?" %></td>
    None.gif
    </tr>
    None.gif
    <% end %>
    None.gif
    </table>

    [1]
    <%
     @shops.each do |shop| %>                 
           //ruby 语法,循环所有shop
    <% end %>

    [2] <%= link_to shop.name, :action => "show", :id => shop.id %>
    生成<a>标签

    修改shop_controller.rb
    None.gif    def list
    None.gif        @shops 
    = Shop.find_all
    None.gif    end

    http://127.0.0.1/shop/list 即可发现我们定义的view生效了 :)
    2、进行两表关联
          good 与 shop 关系为多对一的关联
          [1] 要实现在编辑good时可设置其所性shop,先为good表shop_id字段,关联shop表

          [2] 修改model文件,具体语法可参见相关的参考书本.这里就略过了
    None.gifclass Good < ActiveRecord::Base
    None.gif  belongs_to :shop
    None.gifend

    None.gifclass Shop < ActiveRecord::Base
    None.gif    has_many :goods
    None.gifend
    None.gif
    [3] 编辑controller 
    None.gif  def edit
    None.gif        @good 
    = Good.find(@params["id"])
    None.gif        @shops 
    = Shop.find_all
    None.gif    end
    [4] 为good 增加view.rhtml

    None.gif<select name="good[shop_id]">
    None.gif
    <% @shops.each do |shop| %>
    None.gif
    <option value="<%= shop.id %>"
    None.gif
    <%= ' selected' if shop.id == @good.shop.id %>>
    None.gif
    <%= shop.name %>
    None.gif
    </option>
    None.gif
    <% end %>
    None.gif
    </select>

    3、正确命名,自动绑定到objcet中
    在java 我们要实现form中的控件提交后自动绑定到object要借用到beanUtil并自己作N多扩展.
    rails中提供了快捷的方法,自要你按要求定义好控件名就能帮自己绑定.
    例如上面的 good[shop_id] 或  good[id] ,good[name] 等等
  • 订单管理
    1、order及item关联操作
    None.gif                @orderItem = OrderItem.new()
    None.gif                @human 
    = Human.find(@value)
    None.gif                @good_no_param 
    = "good_" + @value
    None.gif                @good 
    = Good.find(params[@good_no_param])
    None.gif                @orderItem.human 
    = @human
                       //为item绑定正确的员工及其订的盒饭
    None.gif                @orderItem.good 
    = @good
    None.gif                @orderItem.order 
    = @order
    None.gif                @orderItems 
    << @orderItem
                       //为order绑定新的item
                       @order.orderItems = @orderItems
                       @order.save  //保存

    说明一下,这样操作,修改order 时原item值并没删除或正确的修改,只是将item 的order_id设为0
    另外再增加相应的item.关于这方面的正确用法还有待研究:)
  • 其它代码简单介绍
     1、日期操作

    None.gif        @date = @params["date"]
    None.gif        fmt 
    = "%Y-%m-%d"
    None.gif        
    if @date
    None.gif        
    else
    None.gif            @date 
    = Time.now.strftime(fmt)
    None.gif        end

     2、 find一个对象
    None.gifOrder.find(params[:id])

     3、条件查询
    None.gif    @shopId = @params["shopId"]
    None.gif        @goods 
    = Good.find(:all,
    None.gif                                             :conditions 
    => "shop_id = "+@shopId,
    None.gif                                             :order 
    => "code desc")

        
     3、 跳转页面
        
    None.gifredirect_to(:action => 'edit')


     4、session应用
    None.gifsession[:good] ||= Good.find(params[:id]) 
  • 问题
    记录下在开发过程中遇到的问题
    1、没相应的工具支持,操作起来还是比较麻烦的,虽然代码量很少
    2、并不是很健壮,发现挺容易出错,而且出错信息也不全
    3、性能还有待增强,(笔者一边听歌一边开发,发现在运行程序时,不时会影响我的wmplayer播放)
  • 思考与总结
    本文并非建议大家使用ruby on rails,因为在应用过程中毕竟发现不少的问题.
    然而我们能学习些什么呢??
    [1] 工具支持 
    [2] 习惯优于配置
    [3] 一站式的开发
    [4] 更少的代码
    我想在那么大的java 开源社区中实现一站式的开发还是不现实的.
    笔者在想是否能有一个开源项目或者是落实到一个公司的技术框架中能实现到这几点,那样就可以从繁杂的配置以及少了为找N多个开源包或版本的问题而烦恼,而能专心于需求的确认及相关的业务逻辑的改进等等  : )   (完)

转载于:https://www.cnblogs.com/jplee/archive/2006/10/28/542808.html

相关文章:

DateReader,DateAdapter,DateSet和SqlCommand的基本使用方法

1usingSystem;2usingSystem.Data;3usingSystem.Data.SqlClient;45namespaceDemo36{ 7 /**//// <summary> 8 /// Class1 的摘要说明。 9 /// </summary>10 class Class111 {12 /**//// <summary>13 /// 应用程序的主入口点。14 /// </summary>15 [S…

JAVA实现长连接(含心跳检测)Demo

实现原理&#xff1a; 长连接的维持&#xff0c;是要客户端程序&#xff0c;定时向服务端程序&#xff0c;发送一个维持连接包的。 如果&#xff0c;长时间未发送维持连接包&#xff0c;服务端程序将断开连接。客户端&#xff1a; Client通过持有Socket的对象&…

java开发环境变量配置-JDK11-(win10),重启之后环境变量配置失效的解决办法

win10安装jdk11及环境变量配置 如果你之前已经安装过java的老版本的话&#xff0c;建议先卸载一下&#xff0c;同时删除掉环境变量的配置&#xff0c;这样比较容易一次性成成功&#xff0c;直接到设置里面应用程序找到java卸载就好 下载JDK11 直接附上官网链接&#xff1a;htt…

Activity启动流程图

转载于:https://www.cnblogs.com/dikeboy/p/10064610.html

sql 70-229 考试样题(1)

转&#xff1a;1&#xff0e;你是一数据公司的数据库开发者&#xff0c;你创建了一个用来存储15个不同高校运动会统计表的数据库。这些信息将被用在50家公司的网页设置上。每个公司的WEB设置以不同的格式来安排和显示这些统计表。你需要组装这些数据传送到这些公司去&#xff0…

HDU 5616 Jam's balance(01背包)

题目网址&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid5616 题目&#xff1a; Jams balance Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1810 Accepted Submission(s): 754 Problem Description…

datagrid DataFormatString

DataFormatString格式字符串 DataFormatString"{0:格式字符串}" 在DataFormatString 中的 {0} 表示数据本身&#xff0c;而在冒号后面的格式字符串代表所们希望数据显示的格式&#xff1b; 数字、货币格式&#xff1a;在指定的格式符号后可以指定小数所要显示的位数…

HashMap 和 Hashtable 的 6 个区别,最后一个没几个人知道!

HashMap 和 Hashtable 是 Java 开发程序员必须要掌握的&#xff0c;也是在各种 Java 面试场合中必须会问到的。 但你对这两者的区别了解有多少呢&#xff1f; 现在&#xff0c;栈长我给大家总结一下&#xff0c;或许有你不明朗的地方&#xff0c;在栈长的指点下都会拨开迷雾见晴…

自学笔记——Python内置的处理字符串的函数

序号函数描述1capitalize() 字符串的首字母变为大写2center&#xff08;width, fillchar&#xff09; 返回原来的字符串&#xff08;居中&#xff09;&#xff0c;并以空格填充至特定长度的字符串3count( str ,beg 0, end len(string) )计算出str在字符串中出现的字数&#x…

办公室28个经典赞美句子【转】

1.you look great today.&#xff08;你今天看上去很棒。&#xff09;【每天都可以用&#xff01;】2. you did a good job. &#xff08;你干得非常好。&#xff09;【国际最通用的表扬&#xff01;】3. we’re so proud of you.&#xff08;我们十分为你骄傲。&#xff09;【…

[源码和文档分享]基于java 的仿QQ聊天工具

一 需求分析 本系统是基于java开发的聊天室。有用户注册、用户登陆、修改密码、忘记密码、添加好友、用户聊天、群聊功能。如果服务器还没有启动&#xff0c;则客户端是不可以登陆、注册、忘记密码&#xff0c;如果在运行过程中&#xff0c;服务器断开则系统会有提示&#xff0…

错误: 编码 GBK 的不可映射字符 (0x80)

在我想要在命令行使用println输出一些中文的时候&#xff0c;发现编码出现错误 原因&#xff1a; java程序在编译的时候&#xff0c;需要使用JDK开发工具包中的JAVAC.EXE命令&#xff0c;而JDK开发工具包是国际版的&#xff0c;默认格式为UNICODE的编码格式。因此在默认情况下&…

HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)

传送门 Description 急&#xff01;灾区的食物依然短缺&#xff01;为了挽救灾区同胞的生命&#xff0c;心系灾区同胞的你准备自己采购一些粮食支援灾区&#xff0c;现在假设你一共有资金n元&#xff0c;而市场有m种大米&#xff0c;每种大米都是袋装产品&#xff0c;其价格不等…

A simple class to play sound on netcf (part 2)

在实际测试中发现上一片文章&#xff08;A simple class to play sound on netcf&#xff09;中介绍的播放声音的类在pda中运行正常&#xff0c;但却无法在pc中工作&#xff0c;简单分析了一下原因&#xff0c;发现是dll的问题&#xff0c;pc和pda播放声音时用的dll不同。pc中是…

SSL证书可以给多个域名使用吗?

欢迎访问网易云社区&#xff0c;了解更多网易技术产品运营经验从信任等级的角度来说&#xff0c;SSL证书主要分为三类&#xff1a;1.域名型https证书&#xff08;DVSSL&#xff09;:信任等级一般&#xff0c;只需验证网站的真实性便可颁发证书保护网站&#xff1b;2. 企业型htt…

ASP.NET性能调整之解决Server Too Busy错误

最近公司的一个ASP.NET站点频繁出现Server Too Busy错误&#xff0c;具体表现为页面响应慢、经常出现Server Too Busy异常&#xff1b;但实际上服务器的资源消耗却很低&#xff0c;CPU使用只有10%左右&#xff0c;非常奇怪。 该站点运行环境为Windows 2000&#xff0c;IIS5.0&a…

IDEA 格式化代码Reform Code快捷键无效

** 看着用起来这么舒服的IDEA快捷键&#xff0c;突然CtrlAltL怎么按都没有反应&#xff0c;瞬间就不香了** 不行&#xff0c;我要搞一下 解决办法 快捷键冲突 一边学习IDEA&#xff0c;一遍你听歌多舒服啊&#xff0c;就是这个东西——“”“网易云音乐&#xff08;当然或者其他…

ajax方法参数

jquery中的ajax方法参数总是记不住&#xff0c;这里记录一下。 1.url: 要求为String类型的参数&#xff0c;&#xff08;默认为当前页地址&#xff09;发送请求的地址。 2.type: 要求为String类型的参数&#xff0c;请求方式&#xff08;post或get&#xff09;默认为get。注意其…

“解决方案资源管理器”中不能自动选择正在编辑的文档

本来正在编辑的文档应该在“解决方案资源管理器”中自动选中的&#xff0c;但是我的VS2005机器好像没有这个功能&#xff0c;后来发现 “工具->选贤”里边的“项目和解决方案->常规”里边有一项“在解决方案资源管理器中跟踪活动项”&#xff0c;选中后问题解决。VS2003也…

打造属于自己的underscore系列 ( 一 )

underscore作为开发中比较常用的一个javascript工具库&#xff0c;提供了一套丰富的函数式编程功能&#xff0c;该库并没有拓展原有的javascript原生对象&#xff0c;而是在自定义的_对象上&#xff0c;提供了100多个方法函数。在这个系列中&#xff0c;将从uderscore源码角度&…

Java案例——字符串拼接

Java案例——字符串拼接案例 1.案例需求 定义一个方法&#xff0c;把int数组中的数据按照指定的格式拼接成一个字符串返回&#xff0c;调用该方法&#xff0c;并在控制台输出结果 例如&#xff0c;数字为int[] arr {1,2,3};执行方法后的输出结果为&#xff1a;[1,2,3] 2.思路…

SQL同时删除两张表中的数据

DELETE user,orders from user,orders where user.idorders.user_id AND user.id#{id}; 转载于:https://www.cnblogs.com/duneF/p/7196472.html

安全与用户输入

用户数据&#xff0c;就是任何种类的输入&#xff08;来自于 Web 请求或者 URL 中的数据&#xff0c;输入在 Microsoft Windows 窗体应用程序的控件中的数据&#xff0c;等等&#xff09;&#xff0c;它能够对代码产生影响&#xff0c;因为这些数据经常被直接当成参数来使用并且…

谁能搞定中国的文艺复兴,我就能搞定中国的政治改革

文化--------------经济------------------政治转载于:https://blog.51cto.com/73945/12249

构造函数以及this

实际上构造函数与普通的函数并没有区别&#xff0c;所以一般在开发中会使用大驼峰命名规则来区别普通的函数&#xff0c;构造函数实际上是通过返回一个this值来完成构造函数的创建的. 这个rutern this的操作由new这个操作符来完成&#xff0c;当然个人也可以手动来设置return的…

java案例——字符串反转

java案例——字符串反转 1.需求&#xff1a; 定义一个方法&#xff0c;实现字符串反转。键盘录入一个字符串&#xff0c;调用该方法后&#xff0c;在控制台输出结果 例如&#xff0c;键盘录入abc,输出结果cba2.思路&#xff1a; 1.键盘录入一个字符串&#xff0c;用Scanner实…

Jetson tk1 安装 CUDA,ROS,OpenCV和kinect2以及刷机以及ssh远程控制

我的jetson tk1的系统是&#xff1a;LTR21.3&#xff0c;ubuntu14.04。本文仅仅是个人总结&#xff0c;亲测成功。 注意&#xff1a;如果你是使用校园网进行安装的话&#xff0c;有很多源是没办法访问的&#xff0c;安装的时候就会出现很多问题&#xff0c;所以&#xff0c;尽量…

Refactor!™ for ASP.NET--ASP.NET代码重构插件

Teaching Demo: http://www.devexpress.com/Products/NET/IDETools/CodeRush/Training.xml有些功能在JBuilder2005中早就有了。大家了解一下吧&#xff0c;比较不错。Refactor! is freely available to all ASP.NET 2.0 developers and offers a comprehensive suite of tools …

面向对象的程序开发技术C++教学课件系列之四

面向对象的程序开发技术C教学课件系列之四转载于:https://blog.51cto.com/hnxdd/13205

python自动华 (十四)

Python自动化 【第十四篇】&#xff1a;HTML介绍 本节内容&#xff1a; Html概述HTML文档常用标签2. CSS 概述CSS选择器CSS常用属性1.HTML 1.1概述 HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写&#xff0c;他是一种制作万维网页面标准语言&#xff08;标记&a…