なんかメモ

いろいろメモ

LLVMのGo bindingでhello world

An introduction to LLVM in Goを読んでhello worldしようとしたらllvm知らなすぎて調べたのでまとめ 基本的な流れ module作成 main関数作成 entry基本ブロック作成 基本ブロックの中にビルダーを通して実行する命令を構築していく Dump()でllvm IRを出力 MC…

Goであると思ってたけど、なかった関数、定数

python使ってた感覚でいくと、意外となかった関数や定数があったのでまとめ 関数 round Goであると思ってたけど、なかった関数、定数 round gcd math/bigにはあるからそっちでもいい Goであると思ってたけど、なかった関数、定数 gcd expandPath Goであると…

yukicoderのテストを取得してローカルで実行するツールを書いてみた(リアクティブジャッジ、スペシャルジャッジ対応)

最近yukicoderをやり始めたので、テストを取得してローカルで実行するツールを書いてみた。(リアクティブジャッジ、スペシャルジャッジ対応) github.com インストール Releases · yukirin/goyuki · GitHubからバイナリをダウンロードするか go get する $go …

Evernoteのエクスポートデータ(.enex)をPocketがインポートできる形式へ変換

EvernoteからPocketへデータを移行するには、Evernoteがエクスポートしたデータを直接インポートできないので、一度Instapaperがエクスポートする形式へ変換する必要があるみたい Evernoteのノートブックを.enexファイル形式でエクスポートする E2P(下記のフ…

((Pythonで) 書く (Lisp) インタプリタ) をGoで書いてみる

((Pythonで) 書く (Lisp) インタプリタ) をGoでリハビリがてら書いてみた 結構適当だけどリンク先のサンプルが同じような感じで動いてくれるのでまあよし % go run lis.go lis.go> (define area (lambda (r) (* 3.141592653 (* r r)))) area lis.go> (area 3…

vimのGolang環境設定

golang始めたので、vimの環境設定メモ .vimrc vimのGolang環境設定 vim-go fatih/vim-go · GitHub 保存時にgofmtしてくれたり、大体の事はしてくれるのでこれ一つ入れとけばよさげ vim-go入れた後に初回だけ、vim上で :GoInstallBinaries コマンドうって、必…

meteorでcoffeescript、jade

coffeescriptの追加 $meteor add coffeescript jadeの追加 $meteor add mquandalle:jade 追加するだけだから楽、sass(compass)はパッケージあるみたいだけど別にやる方がよさげ

Ubuntu14.04にUnreal Engine 4をインストール

試しに入れてみた インストールとは関係ないけど、Unreal Launcherがまだ対応していないlinux上でContent Examplesのアセットとかは取得できないのかな インストール 依存するパッケージのインストール $ sudo apt-get install mono-gmcs mono-xbuild mono-d…

pythonで文字列の類似度計算

文字列の類似度のアルゴリズムを調べた時のメモ TF-IDF コサイン類似度 TF-IDFで重み付けをしたベクトル同士の内積をとり、角度の近さから類似度を測る TF(単語の出現頻度)n/N n=文書内でのある単語の出現回数 N=文書内の全単語数 IDF(逆文書頻度) log(D…

MaterializeとKnockout.jsでHearthStoneアリーナシミュレーター

Knockout.jsの練習がてらHearthStoneのアリーナシミュレーターを作ってみた。 HearthDrafthearthdraft.herokuapp.com

gulpでpyjadeを使ったコンパイル

gulpでpyjadeを使ったコンパイルをした時のメモ gulp-pyjadeのインストール 最初gulp-shellでやろうと思ったけどgulp-pyjadeを見つけたのでこっちで htch/gulp-pyjade htch/gulp-pyjade · GitHub $ npm install --save-dev htch/gulp-pyjade gulpfile.js gul…

TornadoのログをFluentdで収集する

TornadoのログをFluentdで集めるようにした時のメモ Tornadoの設定 --log_file_prefixを付けて起動させる python main.py --log_file_prefix=/hoge/fuga/tornado.log Fluentdの設定 下記のようなファイルをincludeする TornadoのログをFluentdで収集する 参…

Tornadoのテスト方法(追記)

基本的な流れ get_app()でテストしたいtornado.web.Applicationを返す(tornado側でテスト用のサーバーは用意してくれる) self.http_client.fetchでApplicationにリクエストを送り、レスポンスを受け取る self.assertEqualなどを使い結果を確かめる (追記)g…

New Relicでherokuのアイドリング回避

New RelicのAvailability Monitoring機能でherokuのアイドリングを回避できるみたいなのでやってみた requirements.txtの編集 requirements.txtにnewrelicを追加する New Relicのpython agentはTornado 4.xにまだ対応してないため、Tornadoを使う場合は3.xに…

MongoDBからドキュメントをランダムに取得する(pymongo)

地理空間インデックスを作成して$nearで取り出せばいいみたい。 最初skipでと考えたけどこっちの方がよさげ。 MongoDBからドキュメントをランダムに取得する(pymongo) 参考 ざくにく定食: MongoDBのコレクションからランダムなドキュメントを取り出す The Ra…

TornadoでJade(pyjade)を使う

pyjadeというpython用のjadeパーサーがTornadoのテンプレート出力にも対応してたので使ってみた。 syrusakbary/pyjade syrusakbary/pyjade · GitHub TornadoでJade(pyjade)を使う

blender 海外チュートリアル動画まとめ

blenderで参考にさせてもらった海外チュートリアル動画 Environment/HDR Lighting in Cycles - YouTube Blender Tutorial: Basics of Character Rigging - YouTube Blender 3D Tutorial - Mehrschichtige Materialien erstellen (Cycles, BGE, Blender Rende…

Flickr APIを使って犬画像ギャラリーサイト

今更ながらFlickr APIを使ってみたかったのでherokuで犬画像のギャラリーサイトでも作ってみた。 tornadoとmongodbでAPIのキャッシュしてる以外はなんにもしてないけどFlickr API触ったので満足 Dog Flick Dog Flick

werckerでbox作成

Wercker box の作成 werckerでpython3.4を使うためのboxを作成したときのまとめ 作成したbox python3.4-werckerbox Build githubなどにリポジトリを作成 git clone wercker-box.ymlというファイルを作成 boxの内容をwercker-box.ymlに書いていく 作成したリ…

Python functools.lru_cacheで竹内関数をメモ化

functoolsにlru_cacheとtotal_orderingという便利なデコレーターがあるのを今更知ったのでメモ functools.lru_cache(maxsize=128, typed=False) ラップした関数の最近の呼び出しを最大 maxsize 回までキャッシュするデコレータ(Noneで無制限にキャッシュ) …

Python TornadoでOpen ID Connect 認証してみた

最近Tornadoをさわっているのでこれを使ってGoogleでOpen ID Connect 認証してみた。 基本的な流れは下記のサイトを見ながら Using OAuth 2.0 for Login (OpenID Connect) - Google Accounts Authentication and Authorization — Google Developers stateパ…

Python3系でOpen ID ConnectのID Token(JWT)検証

enorvelle/GoogleApiPython3x · GitHubはあるけど公式ではgoogle-api-python-clientがpython3系に対応しておらずverify_id_token関数が使えないので。 id tokenはJWT形式になってるので結局はJWTの検証をすればいい Python3系でOpen ID ConnectのID Token(JW…

vim-airline、vim-bufferline使用時にvim-quickrunのvimproc/updatetimeが効かなくなった時の対処法

g:bufferline_echo = 0 に設定すればいいみたい 参考リンク vim-airlineと一緒にvim-bufferlineを入れたらvim-quickrunでvimprocのupdatetimeがうまく効かなくなりましたが、g:bufferline_echoに0を設定したらうまくいくようになった模様です。 — 水葉環 (@m…

pytest.yield_fixture

pytest-2.4からyield_fixtureが追加されてたのか Fixture functions using “yield” / context manager integration pytest.yield_fixture

「プログラムでシダを描画する」をPython (kivy)で描画する

「プログラムでシダを描画する」をPython (kivy)で描画する

K-means法をkivyで書いてみた

K-means法をkivyで書いてみた

kivyでライフゲーム

kivyで試しにライフゲーム作ってみた

kivyで日本語表示

Tofu issue 日本語フォントの表示 - Kivy Advent Calendar 2013 - Pythonを書く を参考にkivyのデフォルトフォントでは日本語を扱えないのでフォントを登録してやればいいみたい kivyで日本語表示

pymongo pythonからmongodbを使う

pythonからmongodbを扱う pymongoのメモ

iterの第2引数

iterに第2引数を与えると第1引数を評価してその返り値が第2引数と同じになるまで呼んでくれるのか知らんかった iter に関数を渡す - melpon日記 - HaskellもC++もまともに扱えないへたれのページ iterの第2引数

nginxのインストールと設定

nginxのインストールと設定 アクセス制御 ディレクトリ一覧を表示 charsetを指定

キーボード再接続時のudev rulesの追加

キーボード再接続時のudev rules キーボードを抜き差しするとxmodmapの設定が消えるのでudev ruleを追加して再接続時にxmodmapを実行させるようにした時のメモ

zshのコマンドラインスタックをプロンプトに表示させる

zsh

zshのコマンドラインスタックをプロンプトに表示させる。 zshのコマンドラインスタック(buffer stack)を表示させながら次のコマンドを入力する方法というのがあったので少しいじってみた、これで再帰的なpush-lineでもいけるはず

vimprocとxdotoolでvimからブラウザを自動更新

xdotoolというコマンドライン上からX11をエミュレーションするツールを使ってファイル保存時にブラウザを自動更新できるようにしてみた

unclutter使用時にCPU負荷が100%になる時の対処法

GTK上でunclutterを使用した時にCPU負荷が上がる場合は -noevents オプションを指定すればいいみたい。 下記参考 Bug #385034 “unclutter: cursor flashes repeatedly over GTK apps....” : Bugs : “unclutter” package : Ubuntu

pythonからクリップボードを扱う

pythonからクリップボードを扱う

emmet.vimの閉じタグコメントを変更

emmet.vimの閉じタグコメントを変更

pythonでkeepassxのxmlをパースする

変換する必要があったのでElementTreeでやってみた、標準ライブラリ便利 pythonでkeepassxのxmlをパースする