Tutorial by Examples

Both #save and #destroy come wrapped in a transaction that ensures that whatever you do in validations or callbacks will happen under its protected cover. So you can use validations to check for values that the transaction depends on or you can raise exceptions in the callbacks to rollback, includin...
There are two types of callbacks associated with committing and rolling back transactions: after_commit and after_rollback. after_commit callbacks are called on every record saved or destroyed within a transaction immediately after the transaction is committed. after_rollback callbacks are called o...
ActiveRecord::Base.transaction uses the ActiveRecord::Rollback exception to distinguish a deliberate rollback from other exceptional situations. Normally, raising an exception will cause the .transaction method to rollback the database transaction and pass on the exception. But if you raise an Activ...
Shade is a library developed by OpenStack to simplify interactions with OpenStack clouds, like DreamHost. $ pip install shade
Create a file named launch-server.yaml, that will be our playbook. The first part of the playbook is a list of hosts that your playbook will run on, we only have one, localhost. - hosts: localhost Then we need to define a list of tasks to perform in this playbook. We will only have one that lau...
Run the Ansible playbook: $ ansible-playbook launch-server.yaml You should see output like PLAY [localhost] *************************************************************** TASK [setup] ******************************************************************* ok: [localhost] TASK [launch an U...
Using NuGet Install-Package Cirrious.FluentLayout An expanded example based on the starter example at the GitHub Page, a simple first name, last name labels and fields all stacked one on top of the other: public override void ViewDidLoad() { //create our labels and fields var firstNa...
Built-in functionals: lapply(), sapply(), and mapply() R comes with built-in functionals, of which perhaps the most well-known are the apply family of functions. Here is a description of some of the most common apply functions: lapply() = takes a list as an argument and applies the specified ...
User-defined functionals Users can create their own functionals to varying degrees of complexity. The following examples are from Functionals by Hadley Wickham: randomise <- function(f) f(runif(1e3)) lapply2 <- function(x, f, ...) { out <- vector("list", length(x...
Nesting is probably most often used to create more specific selectors, but it can also be used simply for code organization. Using the @at-root directive, you can ‘jump out’ of where you nest it in your Sass, bringing you back at the top level. Doing this allows you to keep styles grouped without cr...
Using SVG stroke makes it easier to create a Vector drawable with unified stroke length, as per Material Design guidelines: Consistent stroke weights are key to unifying the overall system icon family. Maintain a 2dp width for all stroke instances, including curves, angles, and both interior and ...
infixl vs infixr vs infix describe on which sides the parens will be grouped. For example, consider the following fixity declarations (in base) infixl 6 - infixr 5 : infix 4 == The infixl tells us that - has left associativity, which means that 1 - 2 - 3 - 4 gets parsed as ((1 - 2) - 3) - 4 ...
The number that follows the associativity information describes in what order the operators are applied. It must always be between 0 and 9 inclusive. This is commonly referred to as how tightly the operator binds. For example, consider the following fixity declarations (in base) infixl 6 + infixl ...
The following will prompt a user for input, and then store that input as a string (text) in a variable. The variable is then used to give a message to the user. #!/usr/bin/env bash echo "Who are you?" read name echo "Hello, $name." The command read here reads one line of ...
In same cases different models could have same fields and same procedures in the product life cycle. To handle these similarities without having code repetition inheritance could be used. Instead of inheriting a whole class, mixin design pattern offers us to inherit (or some says include) some met...
In Sinatra, routing is how your app responds to requests, by the path of the request (e.g. /welcome) and by the HTTP verb used (e.g. GET or POST). The way a request is written is as follows: <http-verb> <path> do <code block to execute when this route is requested> end He...
When matching the path of a route, you can do it explicitly, matching only one path, like so: get "/hello" do return "Hello!" end You can also use a regular expression to match complex routes. Any route which matches the regular expression will run that code block. If m...
To print a test field (TestField) from a test feature class (TestFC) in a test file geodatabase (Test.gdb) located in a temporary folder (C:\Temp): with arcpy.da.SearchCursor(r"C:\Temp\Test.gdb\TestFC",["TestField"]) as cursor: for row in cursor: print row[0]
long fib(long n) { return n < 2 ? n : fib(n - 1) + fib(n - 2); } struct FibStruct(int n) { // Remarks: n is a template ubyte[fib(n)] data; } void main() { import std.stdio : writeln; enum f10 = fib(10); // execute the function at compile-time pragma(msg, f10); /...
class Animal { abstract int maxSize(); // must be implemented by sub-class final float maxSizeInMeters() // can't be overridden by base class { return maxSize() / 100.0; } } class Lion: Animal { override int maxSize() { return 350; } } void main() { ...

Page 639 of 1336