Skip to content

Instantly share code, notes, and snippets.

View petitviolet's full-sized avatar
🕶️
😃

petitviolet petitviolet

🕶️
😃
View GitHub Profile
@petitviolet
petitviolet / sparse_euclidean_distance.py
Created December 20, 2012 11:52
2つの疎行列(1*N)のユークリッド距離を求める関数
# -*- encoding: utf-8 -*-
import scipy.spatial.distance as dis
import scipy.sparse as sp
import numpy as np, scipy.io as io
import math
def sparse_distance(v1, v2):
"""1*Nのベクトル間のユークリッド距離を求める
args:
@petitviolet
petitviolet / add_dictionary.py
Last active October 1, 2020 16:29
人名をMeCabの辞書に登録するためのスクリプト. 編集権限が無くても使える (http://d.hatena.ne.jp/petitviolet/20130214/1360809625
# -*- encoding:utf-8 -*-
import os
import sys
csv_path = '/home/hoge/user_dic/celebs.csv' # ユーザー辞書の元となるファイル
def add_dic(fname):
'''MeCabで使う辞書に人名を追加します
更新する人名はcsv形式のfname,
csvじゃないとき(人名を引数にした時)はそれ自体
更新するユーザー辞書は/home/hoge/user_dic/celebs.csv
@petitviolet
petitviolet / search.py
Last active December 17, 2015 13:49
YahooApiを叩いた検索エンジン。上位20件のみを返すだけの簡単なもの。Pythonを.pyファイルのまま動かすのが難しかった...
#!/usr/local/bin/python
# -*- encoding:utf-8 -*-
'''YahooApiを用いた検索エンジン
'''
from urllib import quote
from urllib2 import build_opener
import cgi
from split_result import split_result
import cgitb
cgitb.enable()
@petitviolet
petitviolet / split_result.py
Last active December 17, 2015 14:28
search.pyで利用する、YahooApiから返って来たxmlから検索結果1件ごとのタイトルとurlとサマリーを抽出する。 タイトルとurlは改行と空白文字を許さず、サマリーはそのまま取得する。
# -*- encoding:utf-8 -*-
import re
result_pattern = '<Result>(.+?)</Result>'
link_pattern = '<Url>(.*?)</Url>'
title_pattern = '<Title>(.*?)</Title>'
summary_pattern = '<Summary>(.*?)</Summary>'
strip_pattern = r'\\n|\s'
catch_result = re.compile(result_pattern, re.S)
catch_link = re.compile(link_pattern, re.S)
catch_title = re.compile(title_pattern, re.S)
@petitviolet
petitviolet / int_reverse.py
Created June 12, 2013 07:04
数値を文字列操作なしに逆順にする
# -*- encoding:utf-8 -*-
'''数値を逆順にするスクリプト
文字列操作を使っていない
'''
import sys
def split_int(num):
number_list = []
while num > 0:
number_list.append(num % 10)
"""""""""""""""""""""""""""""""""""""""""
" #
" ###
" #######
" ##########
" ##########
" ########
" ###
" #### #
" ####
@petitviolet
petitviolet / urlopener.py
Created October 8, 2013 09:29
urlopener
# -*- encoding:utf-8 -*-
import urllib2
opener = urllib2.build_opener()
opener2 = urllib2.build_opener()
opener.addheaders = [\
('Use-Agent', 'Mozilla/5.0 (compatible; googlebot/2.1; \
+ http://www.google.com/bot.html)')]
opener2.addheaders = [\
('User-Agent', 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; ja-jp) \
AppleWebKit/417.9(KHTML, like Gecko) Safari/125.9')]
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class WebViewFromTextView extends Activity {
@petitviolet
petitviolet / hatenaBookmarkSearch.js
Created June 24, 2014 08:26
hatena bookmark search command at vimperator
(function() {
// change to your hatena user name!!!
var HATENA_USERNAME = 'petitviolet';
liberator.modules.commands.addUserCommand(
["hatena[bookmark]", "hb"],
"search from my hatena bookmarks",
function(args){
if (args.length === 0) {
liberator.echo('input a query!');
return false;
@petitviolet
petitviolet / vim_help.coffee
Created June 24, 2014 16:06
show vim help from hubot!
# Description:
# Show vim help anywhere!
#
# Commands:
# :help <keyword> - Show <keyword> vim help
require 'util'
module.exports = (robot) ->
robot.hear /:help\s*(.*)$/i, (msg) ->