A: 目前看起來可以,配合 OAuth access token 驗證使用者身份、只授權某些使用者做某些操作、根據使用者回傳 scoped resources、使用者只能編輯自己的文章⋯⋯之類的機制看起來都做得出來。
A:
| var React = require('react-native'); | |
| var keywords = ['React']; | |
| keywords = keywords.concat(Object.keys(React)); | |
| for (var key in React) { | |
| if (React.hasOwnProperty(key)) { | |
| var obj = React[key]; |
| 'use strict'; | |
| var exec = require('child_process').exec; | |
| function log(error, stdout, stderr) { | |
| console.log(stdout); | |
| } | |
| function ShellScriptWebpackPlugin(options) { | |
| var defaultOptions = { |
| class Person < ActiveRecord::Base | |
| validates :email, presence: true | |
| validates :name, presence: true, on: :create | |
| validates :gender, presence: true, on: [:create, :account_setup] | |
| validates :age, presence: true, on: :account_setup | |
| end |
| require 'net/http' | |
| require 'json' | |
| def lorem_sentence(limit = 12) | |
| url = URI.parse("http://more.handlino.com/sentences.json?limit=#{limit}") | |
| req = Net::HTTP::Get.new(url.to_s) | |
| res = Net::HTTP.start(url.host, url.port) { |http| http.request(req) } | |
| res_body = res.body | |
| json = JSON.parse(res_body) | |
| json['sentences'][0] |
| { | |
| "台北市": { | |
| "中正區": "100", | |
| "大同區": "103", | |
| "中山區": "104", | |
| "松山區": "105", | |
| "大安區": "106", | |
| "萬華區": "108", | |
| "信義區": "110", | |
| "士林區": "111", |
| bg = "#001C22"; | |
| base03 = "#002832"; | |
| base02 = "#073642"; | |
| base01 = "#586e75"; | |
| base00 = "#657b83"; | |
| base0 = "#839496"; | |
| base1 = "#93a1a1"; | |
| base2 = "#eee8d5"; | |
| base3 = "#fdf6e3"; | |
| yellow = "#a57706"; |
| @font-face { | |
| font-family: "Inconsolata"; | |
| font-style: normal; | |
| font-weight: normal; | |
| src: url(data:font/opentype;charset-utf-8;base64,T1RUTwAMAIAAAwBAQ0ZGIOYfLIsAAAykAA23wUZGVE1n19quAA3EiAAAABxHREVGACcFoQANxGgAAAAeT1MvMl2W21UAAAEwAAAAYFBmRWTLrsyeAA3EpAAAG6BjbWFwgblCuAAAB5QAAATuaGVhZPvtUWEAAADMAAAANmhoZWELvguZAAABBAAAACRobXR406rUUQAN4EQAABZobWF4cAWbUAAAAAEoAAAABm5hbWWI8lEsAAABkAAABgNwb3N0/4YAMgAADIQAAAAgAAEAAAABAo9DlTHwXw889QALA+gAAAAAwVl2DgAAAADTVZJ3/Tn9tgrmB7IAAAAIAAIAAAAAAAAAAQAAA0L/UABaCuX9OfvKCuYAAQAAAAAAAAAAAAAAAAAABZkAAFAABZsAAAADA00B9AAFAAgCigK8AAAAjAKKArwAAAHgADEBAgAAAgsGCQMAAwAAAIAAAC8AAAFrAAAAAAAAAABQZkVkAEAAIPSXAzT/TAAAA0IAsAAAABMAAAAAAckCbwAgACAAAQAAABIA3gABAAAAAAAAAJsBOAABAAAAAAABACECGAABAAAAAAACAAYCSAABAAAAAAADACYCnQABAAAAAAAEACwDHgABAAAAAAAFAB0DhwABAAAAAAAGADAEBwABAAAAAAAQACEEfAABAAAAAAASACwE+AADAAEECQAAATYAAAADAAEECQABAEIB1AADAAEECQACAAwCOgADAAEECQADAEwCTwADAAEECQAEAFgCxAADAAEECQAFADoDSwADAAEECQAGAGADpQADAAEECQAQAEIEOAADAAEECQASAFgEngBDAHIAZQBhAHQAZQBkACAAYgB5ACAAUgBhAHAAaAAgAEwAZQB2AGkAZ |
| @font-face { | |
| font-family: "Menlo"; | |
| font-style: normal; | |
| font-weight: normal; | |
| src: url(data:font/opentype;charset-utf-8;base64,AAEAAAARAQAABAAQRkZUTWCIjvoABjJMAAAAHEdERUZpL13EAAYtHAAABLhHUE9TbJF0jwAGMiwAAAAgR1NVQuP050IABjHUAAAAWE9TLzKO844SAAABmAAAAGBjbWFwt1dMtgAAFzgAAAh2Y3Z0IOnBBwwAACjwAAACMmZwZ21xazAtAAAfsAAAAh9nbHlmfbbPdwAAVZQABWtQaGVhZAJe920AAAEcAAAANmhoZWEKbwIGAAABVAAAACRobXR4usC9hAAAAfgAABU+bG9jYRfr2AQAACskAAAqcG1heHAQSggCAAABeAAAACBuYW1leYrrewAFwOQAAAiacG9zdD4tDpcABcmAAABjnHByZXDyx8gyAAAh0AAABx8AAQAAAAIHK6d8niJfDzz1Ap8IAAAAAADO1tL3AAAAAM7W0vf9Qf0BBb4IVQAAAAgAAAABAAAAAAABAAAHbf4dAAAE0f1B/xMFvgABAAAAAAAAAAAAAAAAAAAABAABAAAKmwIMACsAawAFAAIAEACZABIAAAVXBO8ABQABAAME0QGQAAUAAAUzBZkAAAEeBTMFmQAAA9cAZgISAAACCwYJAwgEAgIE5gAi/9IA+fsCAAAoAAAAAFBmRWQAQAAg//0GFP4UAZoHbQHjYAAB3//fAAAEYAXVAAAAIAACBNEAaAAAAAAE0QAABNEAAAIEALwAAgC+ACEAOQIGAYwBXAA8AGwBTABmAYUAZgCFANAAmACJAGYAjwCFAIsAgwB/Aa0BVwBYAFgAWAD0ABsAJQCmAIsAiQDFAOkAZgCJAMkAbQCJANcAJAATAHUAxQB1AI8AiwAvAJMAOQAAABIAJQCcAjMAZgEoACQAAAEXAIUAwQDDAHsAewDDAHsAwwDuALo |
| #include <stdio.h> | |
| int add(int a, int b) { | |
| return a + b; | |
| } | |
| int main() { | |
| int a = 1; | |
| int b = 2; | |
| printf("a = %d\n", a); |