Skip to content

Instantly share code, notes, and snippets.

View miwarin's full-sized avatar

Susumu Miwa miwarin

View GitHub Profile
@miwarin
miwarin / digi.rb
Created April 30, 2014 10:39
ディジタル探索
# アルゴリズム辞典
# 島内剛一 野下浩平 伏見正則 有沢誠 浜田穂積
#
# ディジタル探索 pp. 522-523
require 'pp'
class Node
attr_accessor :key, :left, :right
@miwarin
miwarin / patricia.rb
Created April 30, 2014 10:40
パトリシア
#!/usr/bin/ruby
# -*- encoding: utf-8 -*-
#
# アルゴリズム辞典
# 島内剛一 野下浩平 伏見正則 有沢誠 浜田穂積
#
# パトリシア pp. 624-625
@miwarin
miwarin / command.rb
Created April 30, 2014 10:49
コマンドパターン
#: coding: utf-8
class Command
def initialize()
@command ||= {}
end
def register(name, cmd)
@command[name] = cmd
end
@miwarin
miwarin / denyhosts.rb
Created April 30, 2014 10:58
denyhostsで記録したIPアドレスをGEO IPで国コードへ変換する
# -*- coding: utf-8 -*-
# cjheath/geoip https://github.com/cjheath/geoip
require 'geoip'
def build_hosts(hosts_file)
hosts ||= []
lines = File.open(hosts_file).readlines()
lines.each{|line|
@miwarin
miwarin / wiki2markdown.rb
Created April 30, 2014 11:12
fswikiからMarkdown形式への変換をがんばろうとした
#!/usr/bin/ruby
# -*- encoding: utf-8 -*-
require 'uri'
require 'pp'
=begin
FreeStyleWiki 入門2 - A Guide to FreeStyle Wiki powered by FSWiki.com http://koitaro.fswiki.com/wiki/FreeStyleWiki+%C6%FE%CC%E72
@miwarin
miwarin / ngram0.rb
Created April 30, 2014 11:14
N-gram
#!/usr/bin/ruby -Ku
require 'pp'
def ngram(gram = 2, text)
len = text.length - 1
0.upto(len) {|i|
if i + gram > text.length
return
end
@miwarin
miwarin / ngram1.rb
Created April 30, 2014 11:15
N-gram
#!/usr/bin/ruby -Ku
# ref. Ruby1.9でUTF-8の漢字だけ正規表現でヒットさせる - 屑プログラマの憂鬱
# http://d.hatena.ne.jp/Artisan/20120826/1345990754]]
def ngram(gram = 2, text)
ngrams ||= []
len = text.length - 1
0.upto(len) {|i|
if i + gram > text.length
@miwarin
miwarin / queue0.rb
Created April 30, 2014 11:16
キュー自作
#: coding: utf-8
class Queue
def initialize(size)
@queue = Array.new(size)
@head = 0
@tail = 0
end
def get()
@miwarin
miwarin / queue1.rb
Created April 30, 2014 11:16
キュー自作しない
#: coding: utf-8
class Queue
def initialize()
@queue ||= []
end
def get()
return nil if @queue.empty?
return @queue.shift()
@miwarin
miwarin / hatenablog.rb
Created April 30, 2014 11:20
hatenablog をスクレイピング
# coding: utf-8
# hatenablog をスクレイピング
#
# 使い方:
# hatenablog.rb <hatenablog URI> [カテゴリ]
#
# 例:
# ruby hatenablog.rb http://jkondo.hatenablog.com/ > jkondo.txt
#