Rails 3 提供了 match
方法供我们自定义 routes,然而我们要小心使用它以避免“跨站脚本攻击”(XSS Attack)。比如像这样的 routes:
注:(r3 代表 Rails 3,r4 代表 Rails 4)
# routes.rb
>>> import dis | |
>>> def a(): | |
... return [ x for x in some_list if x % 2 == 0 ] | |
... | |
>>> dis.dis(a) | |
2 0 BUILD_LIST 0 | |
3 LOAD_GLOBAL 0 (some_list) | |
6 GET_ITER | |
>> 7 FOR_ITER 28 (to 38) | |
10 STORE_FAST 0 (x) |
defmodule Crypto do | |
def md5(s) do | |
list_to_binary(Enum.map(bitstring_to_list(:crypto.md5(s)), fn(x) -> integer_to_binary(x, 16) end)) | |
end | |
end |
// initialize the Shanghai component which keeps track of | |
// shipping data in and out of the Port of Shanghai. | |
var shanghai = Elm.worker(Elm.Shanghai, { | |
coordinates:[0,0], | |
incomingShip: { name:"", capacity:0 }, | |
outgoingShip: "" | |
}); | |
function logger(x) { console.log(x) } | |
import asyncio | |
import aiohttp | |
import bs4 | |
import tqdm | |
@asyncio.coroutine | |
def get(*args, **kwargs): | |
response = yield from aiohttp.request('GET', *args, **kwargs) | |
return (yield from response.read_and_close(decode=True)) |
# Original Rails controller and action | |
class EmployeesController < ApplicationController | |
def create | |
@employee = Employee.new(employee_params) | |
if @employee.save | |
redirect_to @employee, notice: "Employee #{@employee.name} created" | |
else | |
render :new | |
end |
## | |
## Prefer mongodump/mongorestore instead of mongoexport/mongoimport, | |
## as it will "export" additional metadata, like indexes etc. | |
## | |
### Mongodump example | |
# Required: host, db, collection, out | |
# Optional: query (limit results) | |
mongodump --host mongodb1.example.net \ |
This document is a collection of concepts and strategies to make large Elm projects modular and extensible.
We will start by thinking about the structure of signals in our program. Broadly speaking, your application state should live in one big foldp
. You will probably merge
a bunch of input signals into a single stream of updates. This sounds a bit crazy at first, but it is in the same ballpark as Om or Facebook's Flux. There are a couple major benefits to having a centralized home for your application state:
require 'test/unit' | |
class Queue | |
include Enumerable | |
Node = Struct.new :element, :next | |
attr_reader :head, :tail, :size | |
def initialize(items = []) |