タオルケット体操

サツバツいんたーねっとでゲームとかガジェットのレビューとかをします

python

覚えるだけでPythonのコードが少し綺麗になる頻出イディオム

まえがき 今年の春から今まで、2年ぶりにPythonを沢山書いているわけなんですが、JavaScriptのクソに頭をやられて久しぶり書くだけあって基本的なところから色々と頭から抜け落ちていたわけです。 そんで何か思い出すたびに会社のwikiを使ってメモっていたの…

REST APIに消耗したらJSON RPCを試そう

ここしばらく、REST APIって本当に便利なのか? という疑問を持ちながらコーディングしてました。 ですが、今の会社に移り、JSON RPCを利用してAPIを叩くうちに「あ、もうこれでええやん」という悟りを得たのでそういう日記を書きます。

IRKitというWifi経由で操作できる赤外線リモコンのPython製コマンドラインツールを作った

2年越しの完成です。はい。 IRKitとは HTTP APIを備えた赤外線学習リモコン。 IRKit - iPhone,iPadを使って外出先からエアコン等の家電を操作できる学習リモコン出版社/メーカー: maaash.jpメディア: ホーム&キッチンこの商品を含むブログ (2件) を見る おう…

今までに書いたPythonの黒魔術っぽいコーディングについての記事まとめ

自分で書いたPythonのテクニックな記事についてのまとめ 時々、自分で書いた記事を参考にしたいときとかがあるのだけれども、Qiitaとかに分離されてたりとかしててよくわからんくなってたので統括。 Qiitaの記事もこっちのブログに移行してしまおうかしらん…

補完などを有効にしてVimを最高のPython用開発環境に進化させる

Vimのビルド方法から、基本的なvimrcの設定、シンタックスのカスタマイズを経て補完などのリッチなプラグインの導入まで。 VimでPythonコードのエディットをするために必要な全ての設定を網羅するエントリです(自画自賛)。

Japont (日本語Webフォントのダイナミックにサブセット化するやつ)のサブセット化部分だけを分離してモジュール化したよ

Japontが行っているフォントのサブセット生成処理を、静的なタスクからも利用出来るようにモジュール化 & コマンドラインツール化したという話と使い方とか

Pythonのラムダ辛い問題を解決する暗黙のプレースホルダ

* ネタ元 Rubyのブロックつらい問題を解決する暗黙のブロックパラメータ - Qiita Rubyのブロックつらい問題を解決する暗黙のブロックパラメータ - Qiita RubyPythonのブロックラムダつらい問題 Pythonでショートコードをしようとおもうと、時々こういうこと…

Pythonの開発をしている人でPython製の便利スクリプトを導入するならpipsiが便利っぽい

pipsiとはpipsi = pip script installer Flaskの人が作ったっぽいスクリプトです。 mitsuhiko/pipsi · GitHub pipsiが流行る気配が微塵もないので書きました。たぶんクッソ地味なのでわざわざ話題にしないんだとおもいますが、個人的には重宝してます。

vintとvim-watchdogsでVimScriptライフを改善する

VimScriptつらいですね。 僕はたまにしか書かないのですが、たまにしか書かないからこそ何度も何度も同じ罠にハマって辛いです。一説によるとVimScriptは怒りの言語らしいので、ハマればハマるほど強くなるんでしょうがつらいものはつらいです。

プログラミング初心者向けのシンプルなObserverパターンの解説

プログラミング初心者向けにPythonで説明するObserverパターンの実装の仕方

Python Prompt Toolkitで快適便利 Python REPL生活が向上な

GitHubのトレンドリポジトリを眺めてたら面白そうなのを見つけました。 jonathanslenders/python-prompt-toolkit · GitHub prompt_toolkit is a Library for building powerful interactive command lines in Python. It ships with a nice interactive Pyth…

Pythonにてクラス自体をFalseとして評価する

Pythonを書いていて、クラス自体をbool文脈の中でFalseとして扱うための方法です。 知っての通り、PythonではNone, 空文字, 0以外の全てのオブジェクトはbool文脈の中ではTrueと等価の扱いを受けます。 しかし、自作クラスのインスタンスなどをFalseとして評…

PythonによるOptional再考 Swiftの?. とか

ツイッタアーで多言語使いになることのメリット的なものをつぶやいたりやかなかったりしてたら、以下のツイートあたりから、やっぱ型システムありき言語ほどじゃなくてもRubyやPythonでOptionalなものをどうにかする方法欲しいよねみたいな気持ちが再燃した…

pecoからCodicを使って変数名とか考える

pecoはやってますね。超便利だし早いです。 しかも簡単かつ直感的にスクリプト書けます。みんな使いましょう。 さて、表題のスクリプトを利用する前にcodicの辞書が入ったcsvが必要です。 僕はCodic.vimを使っていて、用意するのもめんどくさいので該当Vimプ…

Haskellの合成演算子 . をPythonで 〜関数合成によるCollection処理の実装

メソッドチェインを利用した関数合成の実現案的な。当然ですが実用性汎用性ともに一切ございません。 事前に用意しておく必要があるので、Haskellでの.みたいな汎用性は一切ないですウワー。ただ、あらかじめ決められたオブジェクトへの関数の合成に応用する…

Pythonのローカル変数をシンタクスハイライトするVimプラグインをリリースした

ここ https://github.com/hachibeeDI/python_hl_lvar.vim 前のエントリ (Pythonのローカル変数をシンタクスハイライトするVimプラグインを書きはじめた - タオルケット体操) の時点での問題をいくつか修正して、Python部分の簡単なテストを書いた。 前回まで…

Pythonでパターンマッチめいたモノを作ってみる with Rubyのブロック渡しっぽい見た目

今回説明するものを実装したソースコードは https://github.com/hachibeeDI/masala/blob/master/masala/match.py で読めます。 Rubyで内部DSL的なものを実現する際の常套手段として、ブロックを使うものがあります。 わかりやすい例としては、RakeやSinatra…

Pythonのローカル変数をシンタクスハイライトするVimプラグインを書きはじめた

ネタ元 Rubyのローカル変数をシンタクスハイライトするVimプラグインを書いた - TODESKING hachibeeDI/python_hl_lvar.vim · GitHub まだめっちゃ微妙! とりあえずカーソルがある関数のみハイライトしてるけど、単にsyntaxを指定しているだけなので関係ない…

Pythonの表現力だって負けてへんぞみたいな感じでforwardableをRubyから移植する

こんばんわ。 最近、社内でにわかにRubyistが増えているせいで、Pythonの表現力がクソでRubyが最強みたいな不当なディスりを時々耳にします。何故人は争いの種を蒔き続けるのか、悲しいことですね。 僕はぶっちゃけどっちの言語も好きなんですけど、的外れな…

Option型はPython的じゃない?

Option型とかMaybeがなんなのかの説明は、今更必要ないだろうから省く。 ググればいくらでも出てくる。 今現在、大抵の言語は上記に相当する機能を持っている。 Haskellについてはいうまでもあるまい。ScalaやHaxeは組み込みでOption型を実装している。Groov…

Sphinxを業務で使うならテーマは自作したほうが良い理由

要望にすぐ答えられる。これ。 たぶんスッと導入出来た人ってのは少なくて、色々と苦労の果ての政治的やり取りのはてに導入があったりするのだろう。僕は現職では苦労しなかったけど。 導入に渋ってた人ってのは、使い始めた後も何かとつまらない難癖をつけ…

camelCaseのメソッドをsnake_caseでも呼べるようにするスニペット

たいした事してないけどメモ 古いコードがcamelCaseで書かれていることはまれによくある。 class Hoge(object): def getHogeResult(self): return 'hoge' こういうの。 これを こうして >>> from hoge import Hoge >>> hoge = Hoge() >>> hoge.get_hoge_resu…

pypiのclassifiersを探すUniteのSourceをつくった

ルー大柴っぽいタイトル hachibeeDI/unite-pypi-classifiers 最近、PythonのパッケージをPypi方式にまとめるようにしているのだけれど、その中のclassifiersを探すのがとてもだるいのでつくった。あとはinsertする時に、勝手にクォートで囲むようにとかそう…

Sphinxのテーマを作った

スヒンクスのテーマを自作してみたけど、ちょっと作るだけなら以外に簡単だったよっていうはなし。 なおマークアップ力やセンスの欠如により周囲からは大不評の様子(かなしみ)。 まだ作り込みがイマイチだけど、リポジトリとかサンプルはここ hachibeeDI /…

実際簡単なレキシカルスコープとかクロージャとかそういうの

JavaScriptの頻出テクニックにして、それ以外の言語でも基礎教養的な雰囲気のある クロージャとスコープですが、なんとなく小難しそうな雰囲気をまとっていたりするせいか いまいち浸透していないので簡単にまとめようと思いました。 用語の細かい定義とかは…