Claudia.jsでES2015を使う

AWS LambdaのNode.jsコンテナは残念なことに2017年1月現在でv4.3という古いバージョンで、ES2015に対応していないです。 公式の"USING BABEL WITH AWS LAMBDA"に書いてある通りで、babelを使ってES2015でClaudiaやBabelを書く方法をまとめます。 前提 下記の…

Claudia.jsで簡単サーバレスアーキテクチャー

サーバレスアーキテクチャと聞いて、どのようなアーキテクチャを思い浮かべるでしょうか。Martin Fowler.comのサーバレスアーキテクチャの解説記事ではいくつかのサーバレスアーキテクチャの実装例がリストアップされています。 ここでは、最もよく使われる…

Web API用の負荷テストツールで遊んでみる

これはWeb API Advent Calendar 2014の16日目の記事です。 はじめに Web API Advent Calendar 2014 8日目ではkazuchikaさんよりApigee製のAPI負荷ツールapibの紹介がありました。 この記事ではapibに加えてBoomというGolang製の類似ツールを簡単に紹介し、様…

OSXとHomebrew-caskでHaskellの開発環境を構築

この記事ではHomebrewではなくHomebrew-caskを使ってHaskellの環境を構築します。 インストールには、以下のOSX用のHaskellディストリビューションを使います。コンパイル済みのバイナリとcabalが入っていて早くてお手軽です。 Haskell for Mac OS X GHC イ…

OSX 10.10 Yosemiteでhomebrewによるgccインストールのエラーを回避する方法

OSX 10.10 YosemiteのDeveloper Preview版で普通にbrew install gccでgccをインストールしようとするとエラーになると思います。ここではパッチを当ててgcc4.9.1をインストールしてみます。 前提 OSX 10.10 Developer Preview 4 gcc 4.9.1 参考 https://gith…

OSXでssh-copy-idを使ってリモートサーバにパスワードなしでログインする

OSXでssh-copy-idを使う方法です。 何ができる? sshでサーバにログインする際のパスワード入力が不要になる。 そのために必要なssh公開鍵の配布を簡単に行うことができる。 インストール beautifulcode/ssh-copy-id-for-OSX - GitHubを使います。 ダウンロ…

npmに自作のCLIモジュールを公開する

npmのアカウントを作成 https://www.npmjs.orgで登録します。 ユーザ名 パスワード Emailアドレス npmコマンドとnpmアカウントの紐付け 先ほど作成したユーザ情報を対話的に入力します。 npm adduser 公開準備 : package.json生成 npm init でpackage.jsonを…

GitHubのユーザ名を変更する

GitHubのユーザ名を変更する方法です。過去のコミットのユーザ名やメールアドレスも修正します。 GitHubのユーザ名を変更 Account Settings -> Change username ローカルのgitのユーザ名を変更 git config --global user.name "新ユーザ名" git config --glo…

AngularJSでリストやテーブルの各行にボタンを配置する

リストの各行、テーブルの各列、ナビゲーションバーの要素などにボタンやリンクを配置して、クリックされたら各行の内容に応じて処理を行いたいケースがあると思います。このよう場合、ng-repeatとng-clickを使うとシンプルです。 HTML(jade) ul li(ng-repea…

herokuでnode.jsのexpress4アプリを動かすためのProcfileの書き方

Express4における雛形生成 express4の起動コマンド Express4ではアプリの雛形をexpress-generatorで生成するようになり、標準の起動コマンドが以下に変更になりました。 npm start heroku用のProcfile heroku用のProcfileの書き方はいろいろありますが、以下…

GitHub製エディタAtomのMarkdownリアルタイムプレビューの仕様

GitHub製エディタAtomのソースコードがMIT Licenseで公開されたので久しぶりに使ってみたところ、以前はできなかったMarkdwonファイルのリアルタイムプレビューができるようになっていました。 ここでは、AtomのMarkdownリアルタイムプレビュー機能の現時点…

Xcodeで1つのプロジェクトから無料版と有料版のiOSアプリをビルドする

iOSアプリの無料版と有料版を提供するとき等に、Xcodeの1つのプロジェクトから無料版と有料版の2つのアプリをビルドしたいケースがあります。 Xcodeで2つのプロジェクトに分けてしまうと、バグ修正や新機能追加のたびに両プロジェクトをコーディングする必要…

HerokuでWebSocketを有効にする

HerokuでPublicBeta運用中のWebSocketを使う方法です。 Herokuは2013年の10月にWebSocket通信が行える機能がPublic Betaとしてリリースされました。しかしながら、Public Betaの期間中は初期設定のままでは使えません。 したがって、以下のようにheroku labs…

Herokuで1つのアプリを複数の環境にデプロイする

Herokuで運用中のアプリのローカルリポジトリからHerokuに複数環境を生成する方法です。 具体的には次のような事を行う場合に便利です。 Herokuに本番環境とステージング環境と開発環境を作成 Herokuでモバイルアプリの有料アプリのサーバと無料アプリのサー…

Herokuのアプリをターミナルで削除する

Herokuで運用しているアプリをCLIのターミナル経由で削除する方法です。 ターミナルで削除するとgit remoteの設定を削除する必要がないため、WebのGUI管理画面で削除するよりも楽です。 確認無しで削除する heroku apps:destroy --app アプリ名 --confirm ア…

MagicalRecord に mogenerator を組み合わせてよいか

CoreDataを使う際に、MagicalRecordに加えてmogeneratorを使う事を推奨しているブログ記事が散見されますが、mogeneratorには以下のようにリジェクトのリスクがあるようです。 Don't use mogenerator methods in place of standard Core Data calls #569 App…

MagicalRecordでCoreDataをお手軽に使う

iOSアプリでデータを保存(serialize/deserialize)する方法としてCoreDataがありますが、コード量が多く慣れるまでにも時間がかかります。 ここではより簡単なMagicalRecordによって、CoreDataを使ってみます。 MagicalRecordはActive Recordパターンを採用し…

OSXでDockerを使う

Dockerに特化した軽量Linuxのboot2dockerを使ってOSXでDockerを使ってみます。Dockerはv0.8でアーキテクチャを変更してOSXに対応し、homebrewにも入ったため誰でも簡単に使えるようになりました。 インストール brew cask install virtualbox brew cask inst…

yeomanのangular-fullstackでMEAN (MongoDB + Express + AngularJS + Node.js)アプリをお手軽に開発

クライアントサイドのMV※フレームワークの一つにAngularJSがありますが、2012年にバージョン1.0がリリースされ、2013年になって一気に大流行しました。このAngularJSの流行に乗りながら、サーバサイドも含めてJavaScriptで開発するMEAN (MongoDB + Express +…

Hacker Newsの記事をMongoDBに蓄積するPythonアプリケーションをGIthubとHerokuで公開

Hacker NewsのエントリをMongoDBに蓄積するWebアプリをGitHubとherokuに公開しました。目的はHacker Newsのエントリの分析で今後そうした機能を公開するかもしれません。MIT Licenseなので好きに使ってください。 GitHub sodesign / HackerNewsRecorder Hero…

Heroku add-onのMongoHQでMongoDBを管理する方法

以下の2通りの方法があります。前者は通常のMongoDBと同様なのでこの記事では割愛して、後者のMongoHQのWebコンソールによる管理方法を紹介します。 ターミナルからmongoコマンドで接続して管理 MongoHQから提供されたインスタンスのURLに接続します。通常の…

MongoDBとPythonを使ったWebアプリをHerokuで無料で運用する

はじめに MongoDBとPythonで開発したWebアプリをHerokuで運用してみます。MongoDBの運用にはMongoDBホスティングサービスのMongoHQを使い、PythonのWeb Application Frameworkは軽量なBottleを使います。HerokuのようなPaaSやMongoHQ/MongoLabのようなDBaaS…

OSXにWineをインストールしてWindows無しでWindowsアプリを実行する

Wine - Run Windows applications on Linux, BSD, Solaris and Mac OS X. Wineを使うとParallels DesktopやVMware FusionやOracle VM VirtualBoxといった類いの仮想化ソフト無しにWindowsアプリを実行する事が出来ます。対応ソフトは日々増え続けており、App…

Pythonでインストール済みのモジュールを一括アップグレード

pipでインストール済みのモジュールを一括アップグレードしたい場合は、pip-toolsが便利です。 pip-toolsインストール pip install pip-tools モジュールの更新チェック pip-review モジュールの一括アップグレード pip-review --interactive

AMD

PythonでMFCC(メル周波数ケプストラム係数)を計算

音声処理ではMFCCという特徴量を使うことがあり、MFCCを計算できるツールやライブラリは数多く存在します。ここでは、Pythonの音声処理用モジュールscikits.talkboxでお手軽に計算してみます。 参考 メル周波数ケプストラム係数(MFCC)/ 人工知能に関する断…

OSXにApache Hadoopをインストール

Macboook Airなどのローカル環境でHadoopを気軽に試したいケースもあるかと思います。OSX 1台だけでHadoopを使う場合の環境構築手順をまとめました。 参考 - 公式サイト:Single Node Setup 環境 OSX 10.8.4 Apache Hadoop 1.1.2 Java 1.6 インストール手順 H…

OSXにHomebrewでOpenCVをインストールしてPythonで使う

homebrewの標準リポジトリにはOpenCVは無いのですが、homebrewでOpenCVをインストールしてPython2で使ってみます。 OpenCVインストール Homebrew/homebrew-science · GitHubをリポジトリに追加 brew tap homebrew/science OpenCVをインストール brew install…

C言語のプログラムをWebブラウザやNode.jsで実行する

Emscriptenを使います。Emscriptenとは、C言語のコードからLLVMのバイナリを生成してJavaScriptのコードを出力するプログラムです。C言語のプラグラムのコードがあればJavaScriptのコードに変換して、WebブラウザやNode.jsで動かす事が可能です。 Emscripten…

Homebrewで古いバージョンのソフトを削除する

brew upgradeでソフトをバージョンアップした時に、古いバージョンは削除されません。ディスクの空き容量を増やしたい場合以下を実行します。 特定のソフトの古いバージョンを削除したい brew cleanup [formula名] 全てのソフトの古いバージョンを削除したい…