(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
namespace :ci do | |
desc 'Run rubocop for CI environment' | |
task :rubocop do | |
args = %w{ | |
--require ./lib/rubocop/formatter/progress_formatter_no_report | |
--format Rubocop::Formatter::ProgressFormatterNoReport | |
--require rubocop/formatter/checkstyle_formatter | |
--format Rubocop::Formatter::CheckstyleFormatter | |
--rails | |
--fail-level error |
#! /usr/bin/env ruby | |
require 'socket' | |
def log( source, message) | |
time = Time.now.strftime("%Y-%m-%d %H:%M:%S") | |
puts "[%s] %s => %s" % [time, source, message] | |
end | |
server = TCPServer.new ARGV.first.to_i |
#! /usr/bin/env ruby | |
require 'socket' | |
def log(source, message) | |
time = Time.now.strftime("%Y-%m-%d %H:%M:%S") | |
puts "[%s] %s => %s" % [time, source, message] | |
end | |
# Class representing HTTP Requests |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
At the 2004 Ruby Conference, Jamis Buck had the unenviable task to explain Dependency Injection to a bunch of Ruby developers. First of all, Dependency Injection (DI) and Inversion of Control (IoC) is hard to explain, the benefits are subtle and the dynamic nature of Ruby make those benefits even more marginal. Furthermore examples using DI/IoC are either too simple (and don’t convey the usefulness) or too complex (and difficult to explain in the space of an article or presentation). I once attempted to explain DI/IoC to a room of Java programmers (see onestepback.org/articles/dependencyinjection/), so I can’t pass up trying to explain it to Ruby developers.
Thanks goes to Jamis Buck (the author of the Copland DI/IoC framework) who took the time to review this article and provide feedback.
Question: Can you write code implementing the consumer and producer pattern?
This is a classic concurrency problem where we have threads generating data to be consumed (producers) by other threads (consumers).
The implementation with POSIX threads can be a pain in the ass but it is quite straight forward in golang thanks to its concurrency constructs.
#!/bin/bash | |
##################################################### | |
# Name: Bash CheatSheet for Mac OSX | |
# | |
# A little overlook of the Bash basics | |
# | |
# Usage: | |
# | |
# Author: J. Le Coupanec | |
# Date: 2014/11/04 |
# Elixir has pipes `|>`. Let's try to implement those in Ruby. | |
# | |
# I want to write this: | |
# | |
# email.body | RemoveSignature | HighlightMentions | :html_safe | |
# | |
# instead of: | |
# | |
# HighlightMentions.call(RemoveSignature.call(email.body)).html_safe | |
# |
A = ->(s){ s << "a" } | |
B = ->(s){ s << "b" } | |
C = ->(s){ s << "c" } | |
str = "" | |
class Object | |
PIPED = ->(*args, arg){ arg.is_a?(Proc) ? arg[PIPED[*args]] : arg } | |