Skip to content

Instantly share code, notes, and snippets.

@kimoto
kimoto / hoge.pl
Created March 8, 2017 09:09
perlのsortないで関数呼び出しをすると意図する回数より多く関数呼出しされてしまうかもの件 (n^2)
(Hoge->new(3), Hoge->new(2), Hoge->new(1)) 並び順のデータのソートだと、4回関数が呼ばれる
(Hoge->new(1), Hoge->new(2), Hoge->new(3)) だと、上記例(result.txt)のように6回関数が呼ばれる
なので事前にすべて計算をしておいてその値でソートをするか、いわゆるmemo化のように関数内でキャッシュを作成しておかないとダメかもしれない
@kimoto
kimoto / syouhyou_yomi.rb
Created August 18, 2015 08:46
商標検索をもとに読みを取得する
#!/bin/env ruby
# encoding: utf-8
require 'mechanize'
def syouhyou_yomi(*keywords)
keywords.flatten!
wait_time = 0.2
agent = Mechanize.new
agent.user_agent_alias = 'Mac Mozilla'
@kimoto
kimoto / fashion_press.rb
Created August 18, 2015 08:42
fashion press cralwer
#!/bin/env ruby
# encoding: utf-8
require 'net/http'
require 'nokogiri'
uri = URI("http://www.fashion-press.net/brands/en")
doc = Nokogiri::HTML(Net::HTTP.get(uri))
results = []
@kimoto
kimoto / elasticsearch14.rb
Created August 13, 2015 09:00
elasticsearch14.rb
class Elasticsearch14 < Formula
homepage "https://www.elastic.co/products/elasticsearch"
url "https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.4.4.tar.gz"
sha256 "a3158d474e68520664debaea304be22327fc7ee1f410e0bfd940747b413e8586"
bottle do
cellar :any
sha256 "d2a1df0938267bcff1cfae6341392ec2d4869809e7adf868e8b3d54eb0908481" => :yosemite
sha256 "1d18d3bf86a1b6e17a9612d0178e12f70a68fffd0eddd0c956964226d48ef3b0" => :mavericks
sha256 "f3bb1bfc49b1a56ddfa485c8c032d3b39beb70cf0ed9df20c69d3dbff8a2abd2" => :mountain_lion
@kimoto
kimoto / elasticsearch144.rb
Created August 13, 2015 08:59
elasticsearch144.rb
class Elasticsearch14 < Formula
homepage "https://www.elastic.co/products/elasticsearch"
url "https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.4.4.tar.gz"
sha256 "a3158d474e68520664debaea304be22327fc7ee1f410e0bfd940747b413e8586"
bottle do
cellar :any
sha256 "d2a1df0938267bcff1cfae6341392ec2d4869809e7adf868e8b3d54eb0908481" => :yosemite
sha256 "1d18d3bf86a1b6e17a9612d0178e12f70a68fffd0eddd0c956964226d48ef3b0" => :mavericks
sha256 "f3bb1bfc49b1a56ddfa485c8c032d3b39beb70cf0ed9df20c69d3dbff8a2abd2" => :mountain_lion
@kimoto
kimoto / csresulter2csv.rb
Created May 12, 2015 09:40
CSResulter to CSV
#!/bin/env ruby
# encoding: utf-8
require 'nokogiri'
require 'net/http'
MEMBER_KEY="メンバー"
DAY_KEY="日付"
def crawl(url)
doc = Nokogiri::HTML(Net::HTTP.get(URI(url)))
@kimoto
kimoto / normalize_neologd.rb
Last active August 29, 2015 14:17
Normalizer for mecab-neologd
require 'moji'
def normalize_neologd(norm)
norm.tr!("0-9A-Za-z", "0-9A-Za-z")
norm = Moji.han_to_zen(norm, Moji::HAN_KATA)
hypon_reg = /(?:˗|֊|‐|‑|‒|–|⁃|⁻|₋|−)/
norm.gsub!(hypon_reg, "-")
choon_reg = /(?:﹣|-|ー|—|―|─|━)/
norm.gsub!(choon_reg, "ー")
chil_reg = /(?:~|∼|∾|〜|〰|~)/
@kimoto
kimoto / find_focusyarou.m
Last active April 11, 2023 03:51
会社のiMacでフォーカス奪う悪質な犯人探しのためのコード
/*
* How to use:
* gcc ./find_focusyarou.m -framework AppKit
* ./a.out
*/
#import <Cocoa/Cocoa.h>
int main(){
while(1){
NSString *appName = [[[NSWorkspace sharedWorkspace] activeApplication] objectForKey:@"NSApplicationName"];
@kimoto
kimoto / apache_modcache_vulun.txt
Last active April 6, 2020 02:42
Apache + mod_cache の Rangeリクエスト を使った脆弱性について
概要
・Apache/mod_cacheで、初回リクエストがHTTP Rangeリクエストだったときにコンテンツ断片をキャッシュしてしまう問題
発生条件
・Apacheが対象バージョンであること
・proxy先のコンテンツがHTTP Range Request (Partial Content)に対応している
・proxy先のコンテンツがcache-controlとexpiresヘッダーを出力しない
・mod_cache + mod_rewrite + mod_proxy使ってること
対象バージョン
@kimoto
kimoto / mvm_sundown_a3.pop
Created June 17, 2013 03:35
Fixed Bug: mvm_sundown_a3.pop
#base robot_giant.pop
#base robot_standard.pop
#base sundown_templates.pop
WaveSchedule
{
StartingCurrency 600
RespawnWaveTime 5
CanBotsAttackWhileInSpawnRoom no