2015-01-01から1年間の記事一覧

CI で実行するスクリプトをリポジトリに含めるときに古いブランチでも実行できるようにする

Git

CI で実行すべき処理をシェルスクリプトなどにしてリポジトリに含めておく、というのはまっとうな管理というかんじで望ましい。とはいえ、新しく CI のジョブを追加するなどして新しいスクリプトをリポジトリに追加した場合、追加するコミットが含まれていな…

iTerm を全画面で表示するのをやめて画面の左半分に表示するようにした

Cmd-Return で全画面にできるのでそのようにしていたけれども、実際のところターミナルが全画面で表示できていて嬉しいことってあまりなかったので左半分に出すようにした。 上半分ではなく左半分にしているのは、ターミナルで見たい情報は幅よりも高さがあ…

連打を支える技術

この記事は、はてなデベロッパーアドベントカレンダーの19日目の記事です。 昨日は、id:t_kyt による あれから一年、あの TypeScript プロジェクトは今 - 多幸感 でした。 すばやく、かつ堅牢にアプリケーションをつくる ボタンを連打したくなる性と向き合う…

JSON::TypeInference 1.0 と JSON::Schema::Generator (trial) をリリースした

JSON::TypeInference 1.0 metacpan.orgだいたい欲しいものは実装したので覚悟を決めるという意味での 1.0 リリース。 これはなにか? Perl の値 (スカラ値、ハッシュリファレンス、配列リファレンスなど) が JSON のどの型であるかを推論するモジュール。 Per…

JSON::TypeInference 0.04 で null かもしれない値を Maybe 型として推論するようにした

metacpan.orggithub.comNull と値型のただ2つからなる Union 型を Maybe という特別な型として推論するようにした。ちょっと便利。Maybe だったら {"type" : ["null", "string"]} のように出力するようにすると、より厳密な JSON スキーマを生成することがで…

最近の CPAN モジュールを作るときの構成

github.comMinilla を使っている。minil new してからちょっと手を入れる。 .mailmap <aereal@aereal.org> <aereal@users.noreply.github.com>GitHub の Web インターフェースで Merge Pull Request ボタンを押すとコミットの AUTHOR_EMAIL がこれになる。たぶんメールアドレスを非公開にしているとこれになるよう</aereal@users.noreply.github.com></aereal@aereal.org>…

Perl の値から JSON の型を推論するモジュールを書いた

github.com metacpan.org これは何か Perl の値 (スカラ値、ハッシュリファレンス、配列リファレンスなど) が JSON のどの型であるかを推論するモジュール。Perl の 1 という値は JSON の number である、Perl の "a" は JSON の string である、という風な…

Config::ENV で各環境で必ず定義すべきキーを定めておく

metacpan.orgちょうどいいデフォルト値が見当たらないので、このキーは各環境で適宜、定義せよ、という風にしたい。interface みたいなかんじ。 use strict; use warnings; use Test::More tests => 2; use Test::Fatal qw(exception); { package My::Config…

#yapcasia に参加した

トークしつつ、トークを聞いたりなどした。 1日目 いろいろ聞いたけど印象的だったトークについて。HTTP/2時代のウェブサイト設計 - YAPC::Asia Tokyo 2015yapcasia.orgkazuho さんの発表を初めて見た。声が高い。僕は大学を中退していてアカデミアどころか…

#yapcasia で『世界展開する大規模ウェブサービスのデプロイを支える技術』という発表をした

世界展開する大規模ウェブサービスのデプロイを支える技術 - YAPC::Asia Tokyo 2015世界展開する大規模ウェブサービスのデプロイを支える技術 - YAPC::Asia Tokyo 20152年ぶり2度目の YAPC::Asia Tokyo でタイトルにある通り発表をしてきました。資料は近日…

YAPC::Asia Tokyo 2015 のトークスケジュールを集めたカレンダーを作った

https://www.google.com/calendar/ical/037qm3orvt1bkf5g2lsi1br0bg%40group.calendar.google.com/public/basic.icsYAPC::Asia Tokyo 2015 も来週に控えて、どういうトークを見にいくか悩むこの頃なのでカレンダーをつくりました。Talks - YAPC::Asia Tokyo …

npm install -g gulp とかしない流儀

gulp とかを使っているプロジェクトの場合、ビルドツール類も devDependencies に含めてバージョンを固定したいという要求があると思う。ところが実行ファイルにパスを手軽に通したいという理由のみで npm install -g gulp などしてしまうとバージョンが固定…

#小学生のときにやってた悪夢っぽいこと選手権

スコアメーカーという楽譜入力ソフトがあってこれを買ってもらって遊びはじめたところ、MIDI というもので勝手にコンピュータに演奏させることができるとわかって大喜びしはじめた。ひたすら入力して演奏させる。アーティキュレーションが思ったかんじではな…

electron で起動したアプリケーションがキーボードの入力を受け付けない問題

Atom Shell applications not detaching from shell when started via symlink on OS X 10.10 · Issue #1151 · atom/electron · GitHubこれに似た問題。tmux のセッション内だったので試しに reattach-to-user-namespace electron ... としたらうまくいった。

近況

YAPC::Asia Tokyo 2015 世界展開する大規模ウェブサービスのデプロイを支える技術 - YAPC::Asia Tokyo 2015yapcasia.org採択された。 App-xslatert と Text-Xslate-AST-Walker aereal/App-xslatertgithub.comApp-xslatert というツールを作り始めた。App-PRT…

mackerel-agent で便利に使える OS X 向けプラグインを Homebrew でインストール

aereal/mackerel-agent-plugins-osxgithub.commackerel-agent-plugins-osx というリポジトリを非公式に作って置いておくという活動を前からしている。今のところをバッテリ残量をホストのメトリクスとして投稿できるのみ。これを新しい MacBook にインストー…

OS X のセットアップを Ansible にだいたい任せる

新しい MacBook Pro がやってきたのでセットアップの記録を書いておく。 「だいたい」とあるように、実際のところ自分の手を動かさざるを得ない手順はまだまだあるし、むしろ増えたりもしている。 手順 App Store.app で Xcode をダウンロード System Prefer…

Path::Tiny を継承する

Path::Tiny - search.cpan.org Path::Tiny には new という、いかにもオブジェクト指向的なコンストラクタのような名前のメソッドが定義されているのでいかにもオブジェクト指向的に継承できるように見えるが結論から言うと できない 。 sub new { shift; pa…

Git でローカルの変更を捨てて upstream に reset したいとき

Git

git reset --hard [HEAD]@{u} tracking branch が設定されている場合に使える。1.7.0 から使える。

Git で特定のリビジョンから tarball やディレクトリを作る

Git

git-archive を使うと worktree に変更があるかどうか (dirty かどうか) を気にしなくてよくて便利。git で管理しているリポジトリの各ブランチの中身をそれぞれ個別のディレクトリにエクスポートする - その手の平は尻もつかめるさmoznion.hatenadiary.com…

Jenkins の REST API

http://JENKINS_HOST/job/JOB_ID/api/json 設定されているパラメータとか見える 最近のビルドとか見える http://JENKINS_HOST/overallLoad/api/json 負荷統計が見える http://JENKINS_HOST/load-statistics で見えるのと同じ?

GitHub の Deployments API を使ったデプロイのワークフローのイメージ

GitHub の Deployments API を使うと Web アプリケーションのリリース (デプロイ) に関わるワークフローをより便利にできそうだったので、試したことを記録する。 Deployments API でできること Deployments | GitHub API すべてドキュメントに書いてあるが…