Skip to content

Instantly share code, notes, and snippets.

View namusyaka's full-sized avatar

namusyaka namusyaka

View GitHub Profile
@namusyaka
namusyaka / readme-jp.md
Last active December 19, 2015 18:49
botchの説明

Botch

Botchは簡単にウェブクローラーを記述するためのDSLのようなものです。

Sinatraを参考にしています。

インストール手順

Gemfileにgem 'botch'と書いてbundle installするか、あるいはCUI上でgem install botchと叩くことでインストールできます。

@namusyaka
namusyaka / gist:5919244
Last active December 19, 2015 07:29
microdata対応breadcrumb for padrino
module Padrino
module Contrib
module RichBreadcrumb
attr_accessor :home, :items
DEFAULT_HOME_URL = "/"
DEFAULT_HOME_NAME = "Home"
ITEM_TYPE = "http://data-vocabulary.org/Breadcrumb"
@namusyaka
namusyaka / gist:5919134
Created July 3, 2013 15:11
padrino rake routes:html
def list_app_routes_to_html(app, args)
app_routes = app.named_routes
app_routes.reject! { |r| r.identifier.to_s !~ /#{args.query}/ } if args.query.present?
app_routes.map! { |r| [r.verb, r.name, r.path] }
return if app_routes.empty?
app_routes.map! do |route|
"<tr>" + route.map{|elm| "<td>#{elm}</td>" }.join + "</tr>"
end
"<table>#{app_routes * "\n"}</table>"
end
@namusyaka
namusyaka / gist:4064882
Created November 13, 2012 09:35
enumerable.js
(function (global) {
if(typeof HTMLCollection === 'undefined')
HTMLCollection = function () {};
var Enumerable = function (data) {
return (this instanceof Enumerable) ? this.init(data) : new Enumerable(data);
};
Enumerable.prototype = {
@namusyaka
namusyaka / a.js
Created October 3, 2012 10:35
TypeScript
var Hoge;
(function (Hoge) {
var Fuga = (function () {
function Fuga(x) {
this.x = x;
}
Fuga.prototype.increment = function () {
return ++this.x;
};
Fuga.prototype.decrement = function () {
@namusyaka
namusyaka / gist:3769184
Created September 23, 2012 07:12
はてなからOctopressへ
require 'rexml/document'
require 'erb'
class HatenaToOctopress
@@octo_format = <<-MKDN
---
layout: post
title: <%= @item[:title] %>
date: <%= @item[:date] %>
function Oya () {
this.init();
};
Oya.prototype.init = function () {
var props = arguments[0];
for(var prop in props)
this[prop] = props[prop];
};
function Ko () {
@namusyaka
namusyaka / gist:3403472
Created August 20, 2012 11:49
ksnctf 3
$(function(){$("form").submit(function(){var t=$('input[type="text"]').val();var p=Array(70,152,195,284,475,612,791,896,810,850,737,1332,1469,1120,1470,832,1785,2196,1520,1480,1449);var f=false;if(p.length==t.length){f=true;for(var i=0;i<p.length;i++)if(t.charCodeAt(i)*(i+1)!=p[i])f=false;if(f)alert("(」・ω・)」うー!(/・ω・)/にゃー!");}if(!f)alert("No");return false;});});
$(function () {
$("form").submit(function () {
var t = $('input[type="text"]').val();
var p = Array(70, 152, 195, 284, 475, 612, 791, 896, 810, 850, 737, 1332, 1469, 1120, 1470, 832, 1785, 2196, 1520, 1480, 1449);
var f = false;
if (p.length == t.length) {
f = true;
Object.prototype.__defineGetter__('keys', function() {
var result = [];
for(var key in this)
result[result.length] = key;
return result;
});
Object.prototype.__defineGetter__('length', function () {
return this.keys.length - 2;
});
@namusyaka
namusyaka / gist:2075695
Created March 18, 2012 15:45
Rubyで例外クラスを動的に定義
%w( HogeError FugaError PiyoError ).each do |error|
Object.const_set(error, Class.new(ArgumentError))
end
raise HogeError