Skip to main content

Posts

Featured

Ruby on Rails 简介

网上冲浪含两方,冲浪者(client-side)和给冲浪者提供服务的服务器(server-side)。client这边浏览器上看到的网站背后是html+javascript+css, ctrl+u 就能看到源代码——这是前端,程序员把想象中的网页界面编程出来。后端(server)涉及的是处理网页请求(例如浏览器输入xxx.com/sign_up发起一个GET注册网页的请求),逻辑与数据处理。这让网站变得动态(例如登陆新浪微博后,你看到的是自己的主页,周杰伦登陆完看到的是周杰伦的主页)。 古人发明了一些框架,让前后端编程都变得容易。常见的前端框架有Vue.js, React; 后端有Node.js, Django/Flask(Python), PHP和这次侧重的Ruby on Rails。 相比其他后端框架,Rails 更有full-stack的感觉,因为它也能做很出色的前端(一些gem库)而无需搭配前端js框架。 搞一个Ruby on rails项目并不是简单地新建一个.rb文件,而是在命令行输入: rails new helloworld(项目名称) (如何装rails问chatgpt, 没记错的话大概是得预先装Ruby和gem(类似Python与pip)再 gem install rails ) 这时候会新建一个文件夹helloworld,里面有一大堆子文件夹和文件。这也是Rails魅力之一:大多数重复的东西它都帮你准备好了,程序员可以最快速地搭建web server。 这时候输入 rails s (server的简称) 就能在本地某端口看到搭建好的靓丽的Rails标志。   MVC Rails采用很典型的Model-View-Controller架构。很多software(包括native 和web)都是这个结构。 Model我理解为数据模型,本质上是一个class, 侧重数据。它规定某个对象需要什么样的数据,以及定义常用的methods。 它位于./app/models文件夹。 拿学习网站举例子,这是一个User的Model: class User < ApplicationRecord # ... validates :email, uniqueness: true, format: { with: U...

Latest Posts

Git Commands 1

Iterable Python

Building credit in US

Linux Terminal 1

Journal of August, 2023

Chatgpt + Wolfram Alpha

Code block rendering