Pythonのパッケージや仮想環境、プロジェクトを管理するツールを色々紹介します。 自分用の備忘録も兼ねているので私のコメントにはかなり主観が入っています。 色々紹介しますが、基本的には pip と venv (virtialenv) で十分です。 これらで不便を感じてい…
Puppeteer というJavaScriptでchromeを自動操作するライブラリが最近話題になっていました。 私もPythonでSeleniumの代わりに使えるものがほしかったので、puppeteerをPythonに移植し、pyppeteerという名前で公開しました。
Python 3.5 から使える async/await 記法ですが、テストの際などは非同期な関数を実行するのにひと手間必要で面倒でした。 そこで、非同期な関数を同期的に実行するライブラリ、syncer を作りました。 syncerは @sync というデコレータ用の関数をひとつだけ…
Pythonでテストをパラメータ化した時の書き方を unittest と pytest を使った場合で紹介し、最後にそれらで使えるparameterizedというライブラリを紹介します。 ちなみに私はpytestよりもunittest派です。
GitHubの Trending を眺めていたりすると時たま気になるpython製のツールやライブラリがあって試したくなったりします。 でもよく知らないし試したらすぐ消すようなものを普段の環境に入れるのも抵抗があって、その都度仮想環境を作ったりしていました。 try…
MarkdownとreStructuredText (rst) を混ぜ書きしてrstを出力できるM2Rというツールを (1年ほど前に作っていたのですが今さら) 紹介します。 rstで出力するのでSphinx拡張としても使えます。 Markdownのテーブルや脚注にも対応しています。
お題「シンタックス・ハイライト機能で対応してほしい言語」 マイお題への回答ってブログに書けばいいんでしょうか? よくわからない・・・ とりあえず、Python3で追加された yield from 文と 3.5 で追加された async/await が正しくハイライトされないよう…
先日紹介したWDOMの開発者向け機能の紹介です。 CSSフレームワークを使ったテーマ機能と起動オプションについて紹介します。 基本的な機能は前回の記事をご参照ください。 WDOMに色々更新を行ったので、ぜひ最新のバージョンでお試し下さい。 まだPyPIに登録…
完全に思いつきで、GitLabでドキュメントをgit管理してCIでビルドしてGitLab Pagesで表示する、というのをやってみました。 GitLabはGitHubみたいなサービスです。 (というかGitHubクローンで、以前はあまりにも似過ぎてたためになんか色々あったらしい、と…
WDOMというPythonでブラウザベースのGUIアプリを作るためのライブラリを作っています。 ちょっとしたGUIツールを作ろうと思った時に満足できるものがなかったので作りました。 miyakogi/wdom: DOM manipulation library for python WDOMのターゲットは、あく…
先日からVim本体のパッケージ機能を使い、プラグインマネージャは使わない生活をしています。 とはいえプラグインのアップデートやヘルプの生成は手作業では面倒なので、そのあたりを処理してくれるPythonのスクリプトを書きました。 始めはdotfileをgit管理…
最近dein.vimがバズったりVim本体にパッケージ機能が追加されたり、Vim界隈は第二次プラグインマネージャ戦争の気配に包まれています [要出典]。 dein.vimはすでにいくつか紹介記事がありますが、本体の方はあまり情報を見かけかなかったので先日試した結果…
このブログははてなブログで運用していますが、最近ブログを静的サイトジェネレータで作ってGitHub Pagesにおこうかな、と考えています。 ということでいくつか静的サイトジェネレータを調べたのでまとめました。 ついでに比較用に作ったブログをいくつかGit…
Markdown文書をリアルタイムで更新するVimプラグイン、Livemark.vimを更新しました。 +channelなVimじゃなくても+pythonなら動作するので、よければお試し下さい。 安定したものがいい場合はprevimなどをおすすめします。 オプションはGitHubのREADMEに一応…
※注意:この記事には主観とグチが含まれています。 コードのカバレッジ取得サービスを調べてみました。Coveralls.ioとCodecov.ioの比較です。 ↓こんな感じのバッジがREADMEに表示されるやつです。
先日公開した livemark.vim には想像以上にたくさんの反響をいただきました。 ありがとうございます。 最近では海外の方からもGithubのスターをいただきました。 思いつきで作ったプラグインでしたが、せっかくなので普段使いできるようにいくつか更新しまし…
Vimにchannel機能が実装されました。 Big Sky :: Vim にchannel(ソケット通信機能)が付いた。 昨日から株価・為替は乱高下し、大臣の辞任、日銀のマイナス金利導入決定など国内では大きなニュースが続いていますが、Vimmerにとってはこのパッチが最も影響が…
今回、gをプレフィックスとするキーマップの種類別一覧を昔作ったのを思い出したので紹介します。地味に便利なものも結構あります。アルファベット順の一覧は :help g で見られますので、開いているマッピングを探す時などはそちらをご参照下さい。 2015年2…
VimでNim*1のコードを書く時はとりあえず nimrod.vim を入れておけばなんとかなる*2のですが、このプラグインのOmni補完(インサートモードで <C-x><C-o> )がちゃんと動いてないっぽかったので修正してました。 ついでに、デフォルトでneocomplete 用の設定も入るよう</c-o></c-x>…
自分が気になっている、主に最近のプログラミング言語でベンチマークをやってみました。方法は、42番めのフィボナッチ数列の値を計算する時間を測るだけです。フィボナッチで各種言語をベンチマーク - satosystemsの日記 を参考にさせていただきました。 注…
VimでNimのコードを書くときに、してあると便利な設定を紹介します。 Nimについては、このブログの前の記事を参照して下さい。 Nimの紹介 − Python風静的型付言語 〜コンパイラと型推論を添えて〜 - Blank File 他のエディタの設定はここで紹介されています…
はじめに Nim (旧称: Nimrod) というVimに似た名称のPython風構文な静的型付言語があります。 先日Twitterで存在を知り、少し触ってみました *1。 書きやすい上に実行速度がとても速く(単純な処理でgo, rustより早くC並)、非常に気に入ったので簡単にイン…
※ 2015/01/06 色々ひどかったので大幅に書き直しました。 今日はクリスマス・イブですね *1 ! 皆様も色々追い詰められてVimや端末と向き合いながら過ごされていることと胸中お察し申し上げます。 一部では「仕事から開放されなくてツラい」などの怨嗟の声も…
動的型付言語であえて型を宣言する方式(Type Hinting or Optional Typing)、最近流行ってますね。 言語仕様としては Dart や TypeScript が採用していますし、Pythonでは 開発者のGuido氏が次期バージョン (3.5) での型アノテーションの導入を提案 してい…
Ubuntu 14.04 + Vim 7.4.507 でPythonインターフェイスとPython3インターフェイスを同時に使えるようにします。 筆者はUbuntuを使いましたが、Debian系のディストリであれば同じ方法でできると思います。 この記事は素人がよく理解せずに書いています。色々…
訳あってVimでのシンタックスチェックをSyntastic + pyflakes-vimからosyo-manga/vim-watchdogsに置き換えたらかなり快適になったので紹介したいと思います。
Rustを学びシステムレベル言語を理解すること - ワザノバ | wazanova に触発されてRustを試してみました。 ※ 以下の内容は全て個人の感想です。 Rust (プログラミング言語) - Wikipedia)
タイトルの通りです。 Dart News & Updates: Dart launches support for Homebrew 今までDartをHomebrewで入れる方法は若干混乱している感じがありましたが、公式のformulaが出たのでこれで安心してMacでDartを試せますね。
先日の記事(気づいたらDartの構文チェック用Vimプラグインを作っていた)で紹介したDartの構文チェックプラグイン、vim-dartanalyzerの使い方などを書いておきます。
Twitterを始めたので、ついでにサイドバーにつぶやきを表示するようにしました。 その際、Twitterのつぶやきを「はてなブログ」のサイドバーに設置する方法 - おしい県でWebに携わって働く人のブログを参考にさせていただきました。画像を使って非常にわかり…