Skip to content

Instantly share code, notes, and snippets.

View shikhalev's full-sized avatar

Иван Шихалев shikhalev

View GitHub Profile
@shikhalev
shikhalev / demo01.rb
Created February 24, 2014 22:25
Примеры к статье «Ruby и многозадачность»
# encoding: utf-8
puts 'begin'
th = Thread.new do
(1..3).each { |i| puts i }
end
# sleep 0
puts '---'
@shikhalev
shikhalev / demo00.rb
Created November 18, 2014 10:51
Для статьи «Метапрограммирование в Ruby: разбор примера»
# encoding: utf-8
require './prop00'
class Alpha
property :alpha, :beta
attr_accessor :gamma
end
a = Alpha.new
@shikhalev
shikhalev / intro01.rb
Last active August 29, 2015 14:13
Для статьи «Средства самопознания в RUby»
# encoding: utf-8
def log msg, file, line
$stderr.puts "[#{file}:#{line}] #{msg}"
end
log 'Сообщение', __FILE__, __LINE__
@shikhalev
shikhalev / demo01.rb
Last active August 29, 2015 14:17
Примеры для статьи про Rack
# encoding: utf-8
require 'pp'
require 'rack'
app = proc do |env|
[
200,
{ 'Content-Type' => 'text/plain' },
[ env.pretty_inspect ]
body {
position : absolute;
top : 0px;
bottom : 0px;
left : 0px;
right : 0px;
padding : 0px;
margin : 0px;
}
@shikhalev
shikhalev / deco.rb
Created August 18, 2013 01:58
Samples for «decorators»
# encoding: utf-8
class Module
def decorator name, &wrapper
define_singleton_method name do |*names, **opts|
if names.length != 0
@ignore_wrap = true
names.each do |nm|
define_method nm, &wrapper.call(instance_method(nm), **opts)
@shikhalev
shikhalev / dzyn.js
Last active December 22, 2015 02:49
Немного дзынь-буддизму
var Tetrao = {
BLOCKS : [
'p', 'blockquote', 'div', 'address'
],
LINE_WIDTH : 80,
normalize : function (s) {
s = s.replace(new RegExp(' ', 'gm'), ' ');
@shikhalev
shikhalev / i2p-pac.js
Created September 18, 2013 17:00
proxy.pac for i2p
function FindProxyForURL(url, host) {
if (dnsDomainIs(host, ".i2p")) {
return "PROXY 127.0.0.1:4444";
} else {
return "DIRECT";
}
}
@shikhalev
shikhalev / 01_c.rb
Created October 12, 2013 02:56
Примеры для статьи «Распределенный Ruby»
# encoding: utf-8
require 'drb'
# DRb.start_service
a = DRbObject.new nil, 'druby://localhost:9000'
p a.alpha(1)
p a.alpha(nil)
p a.alpha("beta")
@shikhalev
shikhalev / demo01.rb
Created January 7, 2014 15:39
Примеры к статье «Блоки и контекст»
# encoding: utf-8
class Alpha
attr_accessor :alpha
def beta
self.alpha = 1
alpha = 2
end