Interpreted, dynamic typing, functional
Compiled, static typing, imperative (procedural)
# Running a single minimalistic unit test with Rails 4 and Ruby 2.1.1 is a lot faster | |
# if you avoid loading Rails: | |
# Running the test *with* Rails | |
time ruby -Itest test/models/my_model_test.rb # => real ~ 6s | |
# Running the test *without* Rails | |
time ruby -Itest/no_rails test/models/my_model_test.rb # => real ~ 0.6s |
# Simple wrapper to allow hashes to be accessed via dot notation recursively. | |
# Recurses over hashes and arrays. Works with string keys | |
# and symbol keys - other types of keys are not supported and | |
# all keys must be of the same type. Write access is only supported via | |
# []= Hash syntax. Supports accessing hash values with square bracket Hash syntax ([...]) | |
# and access is indifferent to if the key is given as a string or a symbol. | |
# Supports JSON generation. | |
# | |
# Dependencies: Ruby. | |
# |
// 1. Swith two variables | |
// ES5 | |
var temp = a; | |
a = b; | |
b = temp; | |
// ES6 - destructuring assignment | |
[b, a] = [a, b]; |
// BEFORE REFACTORING (IMPERATIVE) | |
var filteredLinks = []; | |
var weekdayCounts = {}; | |
// Limit to 4 links per weekday. | |
// Loop through all links and keep track of | |
// how many are in each weekday. | |
widget.links.forEach(function(link) { | |
var weekday = link.group; | |
if (weekdayCounts[weekday] === undefined) { | |
weekdayCounts[weekday] = 0; |
'use strict'; | |
var R = require('ramda'); | |
var blank = function(value) { | |
return value == null || (typeof value === 'string' && value.trim().length === 0); | |
}; | |
var present = function(value) { | |
return !blank(value); |
'use strict'; | |
var R = require('ramda'); | |
var CATEGORIES = [ | |
{category_type: 'cuisine', id: 1, name: 'French', type: 'categroy'}, | |
{category_type: 'diets', id: 2, name: 'Vegetarian', type: 'category'} | |
]; | |
var children = { |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
; BASE CLASS | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
; public class ContentItem { | |
; public String foobar() { | |
; return "content_item"; | |
; } | |
; } |
'use strict'; | |
// NOTE: this in memory locking approach will only work with a single process | |
// You might use something like Redis och memcachached for storing the lock if you need to lock | |
// across several processes. | |
var synchronizedFunction = function(lockIdFn, fn) { | |
var locks = {}; | |
var synchronized = function() { | |
var args = Array.prototype.slice.call(arguments), | |
lockId = lockIdFn.apply(null, args); |
Java:
public Optional<String> getType() {
return this.types.isEmpty() ?
Optional.empty() :
Optional.of(String.join(",", (Iterable)this.types.stream().map(Enum::name).collect(Collectors.toList())));
}