1) Create branch
- master branch的任何一個commit都要是可以發佈的正式版本。
- branch命名盡量口語化以敘述句為主。(ex. account-auth, frontend-page, backend-add-post)
2) Add commits
- 描述修正、增加/更改功能使用祈使句,如:fix, add/change。
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<title>溫溼度傳感器</title> | |
<script src="http://webduino.io/components/webcomponentsjs/webcomponents.js"></script> | |
<link rel='import' href='http://webduino.io/components/webduino/web-arduino.html' /> | |
<link rel='import' href='http://webduino.io/components/webduino/wa-dht.html' /> | |
<style id="jsbin-css"> |
1) Create branch
2) Add commits
// ==UserScript== | |
// @name Workflowy markdown tags with images -> images | |
// @namespace http://tampermonkey.net/ | |
// @version 0.1 | |
// @description try to take over the world! | |
// @author You | |
// @match https://workflowy.com/* | |
// @grant none | |
// ==/UserScript== | |
/* jshint -W097 */ |
<!-- HEAD SECTION --> | |
<!-- IE Edge Meta Tag --> | |
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | |
<!-- Viewport --> | |
<meta name="viewport" content="width=device-width, initial-scale=1"> | |
<!-- Minified CSS --> | |
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> |
在第五章,我们做了个临时的注册页面(5.4节)。在接下来的五章,我们将完成用户注册页面里暗示的承诺。本章我们将通过创建用户模型开始艰难的第一步,包括数据存储。在第七章,我们也会为在我们网站注册的用户创建一个用户信息页面。一旦用户可以注册,我们也准备实现用户登陆和退出的功能(第八章),在第九章(9.2.1节)我们将学习怎样防止未未授权用户登陆。最后,在第十章,我们将添加账户激活功能(通过确认有效的email地址)和密码重置功能。综合起来,从第六章到第十章我们开发了一个完整的Rails登陆和授权系统。正如你可能知道的,在Rails社区有许多用户验证解决方案,注6.1解释了为什么,起码在刚学Rails的时候 ,建立自己的一套用户登陆验证系统可能是更好的想法。
注6.1 建立自己的授权系统
实际上,几乎所有的网站都需要用户登陆和授权系统。所以大多数WEB框架都有很多这样的系统可供选择,Rails也不例外。认证和授权系统包括Clearance、Authlogic、Devise和CanCanCan(和建立在OpenID和OAuth之上的非Rails专用方案)。你肯定想问为什么我们应该重新发明轮子?为什么不使用现成的方案而是创建自己的用户认证和授权系统?
这是因为实际的经验显示授权系统在大多数网站都有自定义扩展的需求。修改第三方产品常常需要比从零开始构建系统花费更多的工作。另外,现成的系统可能是“黑盒”,有潜在的迷一样的内部结构。当你在编写自己的系统时,你更可能充分理解它。而且,近来的Rails(6.3节)让写一个自定义授权系统更加容易。最后,假如你最终还是使用了第三方系统,但是一旦你曾经自己创建过一个类似的系统,你会更好的理解第三方系统,并在必要的时候可以修改它。
atom sync |
原子性:;一個事務(transaction)中的所有操作,要麼全部完成,要麼全部不完成,不會結束在中間某個環節。事務在執行過程中發生錯誤,會被回滾(Rollback)到事務開始前的狀態,就像這個事務從來沒有執行過一樣。 | |
一致性:;在事務開始之前和事務結束以後,資料庫的完整性沒有被破壞。這表示寫入的資料必須完全符合所有的預設規則,這包含資料的精確度、串聯性以及後續資料庫可以自發性地完成預定的工作。 | |
隔離性:;資料庫允許多個並發事務同時對齊數據進行讀寫和修改的能力,隔離性可以防止多個事務並發執行時由於交叉執行而導致數據的不一致。事務隔離分為不同級別,包括讀未提交(Read uncommitted)、讀提交(read committed)、可重複讀(repeatable read)和串行化(Serializable)。 | |
持久性:;事務處理結束後,對數據的修改就是永久的,即便系統故障也不會丟失。 |
Locate the section for your github remote in the .git/config
file. It looks like this:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = [email protected]:joyent/node.git
Now add the line fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
to this section. Obviously, change the github url to match your project's URL. It ends up looking like this:
Haha |