Python プロジェクトを構成して CI 連携 & PyPI 登録

Python 絡みのドキュメントは個人的に割とハードに感じることが多く、プロジェクト構成を作るところからよく理解できていなかった。 そのため、Python で何か作ろうと思って少し調べてみても、以前はこんな感じだった。 requirements.txt に依存モジュール書…

JavaScript バンドルツール Rollup を試した

ウェブアプリ向けの JavaScript のバンドル (ビルド) に、普段は Browserify を使っているが、最近 Rollup というバンドルツールを目にしたので試してみた。 Rollup の特徴や使用例、感想などをメモしておく。 基本は ES6 modules Rollup においては、モジュ…

OS X 上 Anaconda で Tk 使おうとしてエラーが出たときの対処法

OS X 上に pyenv を使って Anaconda 環境を作った。 git clone https://github.com/yyuu/pyenv.git ~/.pyenv # 中略 pyenv install anaconda3-4.1.0 その環境で Tk を使おうとしたらこんなエラーが出た。 objc[15737]: Class TKApplication is implemented i…

Python 隠れマルコフモデル用ライブラリ hmmlearn の使い方メモ

隠れマルコフモデル (HMM; Hidden Markov Model) を実装した Python のライブラリ hmmlearn の使い方を理解したのでメモしておく。 HMM で扱う問題は3種類あって、それを理解していないと「使ってみたけどよくわからない」状態になりかねないので、まずはそ…

半教師あり NMF による音源分離を Python で実装した

非負値行列因子分解 (NMF; Non-negative Matrix Factorization) は、非負値からなる行列 を、 と の積で近似する数学的な操作で、 の列は基底パターンを、 の行は基底パターンの重みを表す。 音響学においては、スペクトログラムを非負値からなる行列とみな…

独立成分分析による音源分離を Python で実装した

複数の音源が交じり合った混合信号から元の音源を推測して再合成することを音源分離といい、各音源についての事前情報を持たない場合を特にブラインド音源分離という。 音声情報を用いた応用アプリケーションを考えてみれば、声でコンピュータを操作したり、…

Java とフロントエンドの付き合い方

ウェブアプリにおける JavaScript と CSS の役割・規模・複雑度が年々ヤバいことになってきているのは今更言うまでもない。今や JavaScript は、モジュールごとに分割して TypeScript や次期仕様の ECMAscript といったいわゆる altJS で記述されたのち、変…

オートコンプリート UI 用ライブラリ ac-box 作った

シンプルなオートコンプリートコンボボックス UI ライブラリ ac-box を作った。 デモはこちら。 特徴 他の大きなライブラリに依存しない。スタンドアロン版ミニファイ済み 9KB。 UI の位置は自動で fix される。ボーダや背景などの装飾部分は独自に定義する…

Grunt や gulp のかわりに Make も使ってみよう

フロントエンド開発のタスクランナーとして Grunt や gulp、npm run-script なんかを使ってきたが、今は Make を使っている。フロントエンド分野ではあまり馴染みのないツールかもしれないが、必要十分な機能性と高い表現力のバランスの良さを実感し、一巡辿…

SlickGrid のヘッダ行をグループ化する slickgrid-colgroup-plugin 作った

SlickGrid のヘッダをグループ化するプラグイン slickgrid-colgroup-plugin を作ったので、ギョームシステムの開発とかにどうぞ。MIT。 デモページ にいくつかのサンプルを置いてます。 SlickGrid 自体についても簡単に紹介すると、大量のデータをグリッドで…

LL言語並の速度でJavaウェブアプリケーションを開発する

結論 無理かもしれないけど Spring Boot + Spring Loaded + Thymeleaf (+ Groovy シェル) を使えば近づけることはできる。 ※ 一番下にチュートリアル的なサンプルへのリンクがあります。 何が問題? Ruby や Python、Node なんかを使った場合と違って、Java …

Cordovaプラグインでアクセスポイントの情報を取れるようにした

Apache Cordovaが公式的にメンテしているCordovaプラグイン Network Information (Connection) を拡張して、Wi-Fi接続時のアクセスポイントの情報を取得できるようにした。ただしAndroidに限る。 https://github.com/keik/cordova-plugin-network-informatio…

jQueryの .text() が遅かった

DOM要素内の文字列を変更する処理にjQueryの .html() を使用しているコードを見て、「ムププw .text() のほうが速いからw」とか煽ってたら、実は .html() のほうが速かったという悲しい事件が起きた。 結論から言うと、jQuery 1.xの場合はIE6, 7, 8サポー…

MODxで「無効なチャンク名です」

環境 FreeBSD 10.0-RELEASE-p4 PHP 5.4.23 MODX Revolution 2.2.10-pl (traditional) チャンクやスニペットが保存できない、または拡張のインストールが失敗するといった現象が起きたら、 PHPのログに以下のようなエラーが出ていないか確認する。 PHP warnin…

CentOS 6.5上での emacs 24.3 のビルド

ソースをダウンロードして展開する。 $ curl -O http://ftp.jaist.ac.jp/pub/GNU/emacs/emacs-24.3.tar.gz $ tar zxvf emacs-24.3.tar.gz $ cd emacs-24.3/ configure オプションなしの場合、フル機能有りでのビルドとなるため、必要なライブラリをYumでイン…

CentOS 6.5でGitやSubversionクライアントをバージョンアップすると捗る

RHELの練習のつもりで普段の作業用マシンにCentOS 6.5を使用しているのだけれど、デフォルト設定の yum でインストールできるGitやSubversionなどのクライアントのバージョンが古めなのでバージョンアップしてみたところ、少しばかり前向きな人生が送れるよ…

Cordovaプラグイン追加時のプロキシ設定

Apache Cordova 3.5でのこと。 強固なセッキュリティで守られているシャナイネットワークから $ cordova plugin add org.apache.cordova.device したら Error: Fetching plugin failed: Error: read ECONNRESET と出たので、ハイハイプロキシプロキシと思っ…

プロフィール

エスアイアーでエスイーしています。 主な仕事はJSHintのエラー内容をエクセルにコピペして下請ベンダの頭を殴ることでしたが、近頃は機械学習の真似事をしています。好きな統計用語は カルバック・ライブラー・ダイバージェンス です。 2016/6 現状こんな感…