読者です 読者をやめる 読者になる 読者になる

ぼろぼろ平原

困った

gensim.corpora.Dictionaryの単語IDを辞書順にする

gensimのcorpora.Dictionaryは単語IDが適当に振られてしまい困るのでSortableDictionaryを作った。 from gensim import corpora class SortableDictionary(corpora.Dictionary): def __init__(self, *arg, **kwargs): super().__init__(*arg, **kwargs) def …

Pythonで大きいファイルを読み込む時に進捗を表示

この記事のPython版。 http://tatzyr.hatenablog.com/entry/2016/07/13/144906 tatzyr.hatenablog.com 進捗を表示するためには、ファイル全体の行数かファイルサイズが必要になる。 ファイルの行数を取得するにはファイルを一度全部読み込む必要があり、大き…

MeCabをparseしやすいLTSVで出力

MeCabの出力はデフォルトで以下のようになるが、 これが意外と扱いづらい。 $ echo 新しいスクエニのゲームを買った。 | mecab 新しい 形容詞,自立,*,*,形容詞・イ段,基本形,新しい,アタラシイ,アタラシイ スクエニ 名詞,一般,*,*,*,*,* の 助詞,連体化,*,*,…

Touch Bar付きのMacBook ProでMinecraftをプレイするときに常にファンクションキーを表示する方法

MacBook Pro (Late 2016) Touch Bar搭載モデルでMinecraftをプレイするときに、ファンクションキーを表示しておく方法です。 手順 Minecraftを起動する Dockにある作業台アイコンをcommandキーを押しながらクリックする Finderでjavaが選択されるので、右ク…

エスケープ文字を解釈してくれないコマンドに\nや\tを渡す方法

echoコマンドは-eオプションを付けないと、\nや\tのようなエスケープ文字が有効にならない。 ### -e なし $ echo 'foo\nbar\tbaz' foo\nbar\tbaz ### -e あり $ echo -e 'foo\nbar\tbaz' foo bar baz そのようなコマンドにエスケープ文字を渡したいときは、B…

cronで30秒毎にスクリーンショットを撮って、それを動画にするスクリプト

cronで30秒毎にスクリーンショットを撮って、それを動画にするスクリプトを作った。今のところはmacOS専用。 https://github.com/Tatzyr/screencapture github.com セットアップ まずは、GitHubからスクリプトをcloneする。 $ cd $ git clone https://github…

Linuxbrewでsqliteを入れたのにgem install sqlite3が失敗した時の対処法

Linuxbrewでsqliteを入れたあと、 $ gem install sqlite3を実行すると「sqlite3.hが見つからない」というエラーメッセージが出て失敗する。 $ gem install sqlite3 Building native extensions. This could take a while... ERROR: Error installing sqlite3…

Rubyで大きいファイルを読み込む時に進捗を表示

進捗を表示するためには、ファイル全体の行数かファイルサイズが必要になる。 ファイルの行数を取得するにはファイルを一度全部読み込む必要があり、大きいファイルだと時間がかかるのでダメ。 一方、ファイルのサイズはFileTest.sizeを使えば一瞬で取得でき…

RubyでTimeオブジェクトを"正しい"JSONに出力する

TL;DR: JSONは日時の表現方法を定めていないので好きにして良い。ただし、JavaScriptやYAMLは定めているので迷ったらそれに従う。 JSONの日時の表記 JSONでは以下のデータ型しか扱えないので、日時は表現できない。 string number object array true false n…

ぼっちWikiに最適なGollumについてのメモ

自分だけが使うぼっちWikiをGollumで作成したときのメモ。 GollumはデータベースにGitを使い、Markdownで書けるWiki。 Gollumの特徴は以下の通り。 シンタックスハイライトや数式に対応している 様々な記法で書ける GitHub Flavored Markdown Textile reStru…

他人の全ツイートをJSONで一括保存するコマンドを作った

Twitterには、自分の全ツイートアーカイブをダウンロードできる機能があるが、他人のツイートはダウンロードできない。 support.twitter.com そこで、他人のツイートをダウンロードするalltweetsというコマンドを作った(もちろん自分のツイートもダウンロー…

RubyGemsとGitHubに公開したgemの名前を変更する手順

前提 gemをGitHubとRubyGemsに公開したけど、あとから名前を変えたくなった bundle gemコマンドでgemを作成した oldnameという名前のgemをnewnameという名前にしたい GitHubのリポジトリ名を変更する oldnameのリポジトリ → Settings → Repository name にne…

Twitterのふぁぼを寿司にするChrome拡張作った

Twitterのふぁぼがハートアイコンの「いいね」に変わった。 Twitterにハートが登場しました | Twitter Blogs そういう事情なのでふぁぼをにするChrome拡張を作ったらやたら「いいね」された。 ふぁぼをにするChrome拡張作った。 Twitter- - Chrome ウェブス…

iPhoneのカレンダーをGoogle Calendarに移行する方法

iPhoneやiPadのカレンダーをGoogleカレンダーに移行する方法。同期ではなく移行。 iPhoneからAndroidにカレンダーを引っ越したいときや、Googleカレンダーと連携するアプリをiPhoneで使いたいならこの方法で移行するのがおすすめ。 手順 iCloudカレンダー に…

るびまRubyist Hotlinks - インタビュイーの好きなメソッド・嫌いなメソッドまとめ

『Rubyist Magazine』、略して『るびま』には、著名なRubyistにインタビューを行う「Rubyist Hotlinks」という企画がある。 そこでは「好きなメソッド、嫌いなメソッドはなんですか?」という質問が毎回される。 今回はその解答をまとめた。メソッドにはRuby…

App Storeのトップセールスアプリ200件を雑に分析する

App Storeの「トップセールスApp」は売上高順にアプリが並ぶ。今回はiPhoneアプリを対象にこれらをRubyで雑に分析する。 データの取得 iTunes APIではトップセールスは取得できないので、代わりにAppleのRSS(RSS Generator)から取得する。 XMLのパースには…

Zenfone 2 Laserの操作をiPhoneに近づける設定7つ

前提 なるべく追加でアプリをインストールせず、デフォルトのアプリを使う 「見た目」ではなく「操作」をiPhoneに近づける iOS風のテーマを入れるようなことはしない 「ホーム画面の管理」画面はホーム画面を下から上にスワイプして出す。 1. タッチ操作バイ…

RSpecで「while line = gets」をテストする方法

RSpecでwhile line = getsのような標準入力のループをテストしたいことがある。 Kernel.#getsはARGFをレシーバとしたメソッドの省略形なので、Rspecのモック機能でARGF.getsを書き換えれば良い。 テストしたいコード: def foo ary = [] while line = gets a…

rbenvのインストールにはrbenv-installerを使おう

rbenv-installerを使うとrbenvとそのプラグインを同時に導入できる。 「rbenvを入れたあとにruby-buildを入れて…… rehashして……」「rbenv-gem-rehashプラグインも入れておくか……」みたいな面倒な手順が必要なくなる。 https://github.com/fesplugas/rbenv-in…

Rubyの「if a = b」とSwiftの「if let a = b」は意味が異なる

SwiftはRubyに似ていると言われることがある。(c.f. Swiftは○○に似ている)。 しかし、見た目は似ているけれど意味が異なる構文がある。 その一つに、代入を伴うif文がある。 Rubyのif a = b 実行すると"false"が出力される。 b = false if a = b puts("tru…

はてなブログ始めました

Hello, world.