メメメモモ

プログラミング、筋トレ、ゲーム、etc

Node.jsのツール周りのメモ

概要 Node.js + Gulp + Typescript + Babel で、プログラミング環境構築した時のメモです。 Node.js Node.js ウェブブラウザChromeのV8 JavaScriptエンジンで動作するJavascript環境です。 MacでのインストールはHomebrewを使います。 $ brew install node n…

ScalaからRedmineを操作する

概要 Redmine API http://www.redmine.org/projects/redmine/wiki/Rest_api ScalaからRedmineのAPIを使って、チケットを取得したり操作したりするための設定を行います。 RedmineのAPIキーを取得 以下のページを参考に、RedmineのAPIキーを取得します。 http…

素数判定

概要 素数判定のプログラムを書くことを考えます。 素朴な実装をするとO(n)の計算量になってしまうので、 高速化することを考える必要があります。 素朴な実装 素朴な実装では、与えられた整数xが2からx-1までの数で割り切れるかどうかを順番に調べます。 in…

SQL_MakerをComposerでインストールできるようにした

PerlのSQL::MakerをPHPに移植して作ったSQL_Makerを、 書き直してPackagistにアップロードしてみました。https://packagist.org/packages/uchiko/sql-makerこれでComposerからインストールすることができます。 導入手順 以下のコマンドでcomposer.pharをイ…

!!1する意味が分からない

1と!!1の違いが分からない。 !!'test' ならやりたいことは分かる。 !!1はやりたいことが分からない。ひとまずDumpしてみた。 use strict; use warnings; use Devel::Peek; # SV = IV(0xdf12788) at 0xdf12798 # REFCNT = 1 # FLAGS = (IOK,READONLY,pIOK) # …

ルーティング設定に名前をつける

以下のようにルートに名前をつけることが出来ます。 # Mojolicious::Liteの場合 get '/hoge/detail/:id' => sub { ... } => 'hoge/detail'; # Mojoliciousの場合 $r->get('/hoge/detail/:id')->to('hoge#detail')->name('hoge/detail'); このようにしておく…

emacsclientでtty関連のエラーが出る

http://www.emacswiki.org/emacs/EmacsAsDaemon#toc17他のユーザーから切り替えたユーザーでemacsclientを実行すると、 以下の様にttyでエラーが出ます。 *ERROR*: Could not open file: /dev/pts/1ユーザーを切り替えるときはsshを使ったほうが良いみたいで…

Orepanでローカルミラーを作成・管理する

プロジェクトが依存しているモジュールをローカルミラーで管理します。 ローカルミラーはプロジェクトのバージョン管理下に入れます。 こうすることで、依存モジュールのバージョンを固定することができます。 管理ツールインストール ローカルミラーを管理…

NotFound時の処理を書く

NotFoundページを表示するだけなら「$self->render_not_found」を使う。 表示以外の処理を書きたい場合は、after_dispatchフックを使う。 $self->hook(after_dispatch => sub { my $c = shift; if ($c->res->code eq '404') { # HogeHoge return $c->render_…