あと味

たくさん情報を食べて、たくさん発信すると、あとになって味わい深い。

最近の Chromebook の運用、または、GCE のすゝめ

過去の記事を振り返ると、Chromebook がメイン機となって、1年くらい経つらしい。 taiju.hatenablog.com 書いた当初はあれこれ頑張って、Chromebook で Ubuntu を使えるように悪戦苦闘していたけれど、しまいに面倒になってきたので、シンクライアントは、シ…

MT のドキュメントを Emacs から引けるようにした

SLIME をインストールすると同時にインストールされる hyperspec-lookup コマンドのように、MT のドキュメントを検索できると良いなと思ったので、hyperspec-lookup を模倣して、パッケージにした。 mt-doc-lookup https://github.com/taiju/mt-doc-lookup-e…

Emacs に衣替えした話

たぶん、Emacs に衣替えできたので、その話をします。 いつもですます調だけど、である調で書いた。 プロローグ 普段は Vim を使っているが、数年に一度くらい、Emacs を使いたい欲求がどうしても抑えきれなくなることがある。(Vimmer のあるあるネタだろう…

Mac で Oracle Database 11g Express Edition (XE) の開発環境をセットアップする

Mac (OS X Mountain Lion)で Oracle 11g の環境を整えたいと思ってセットアップしたんですけど、そこそこ面倒だったので、同じこともう一回調べたくないし、記事にします。 古いけど OS は Mountain Lion で、Apache は Mac 標準のものを使っています。 DB…

Chromebook (Acer C720) 買った

年末に Chromebook (Acer C720) を買いました。 いろいろ弄る中で知見を得たので、記事にすることにします。 結果的に良い買い物だったという気がしています。 購入前 今使っている Macbook Pro も数年使っていて、ハード的にも環境的にもボロボロになってき…

MT の管理画面を開くコマンドラインランチャー作った

この記事は、Movable Type Advent Calendar 2014 の 21 日目の記事です。 最近になって、遅ればせながら peco を使い始めました。汎用的なインタラクティブフィルタリングツールなので、どんなコマンドとも組み合わせて使うことができるし、ないと困るツール…

MTの管理画面でMT標準のJSテンプレートエンジンを使う

管理画面のカスタマイズをしていて、JSでDOMを弄ってHTMLを出力しようと思った時に、コードの見通しを確保するためにJSテンプレートエンジンが欲しいなと思いました。 ただ、そのためにライブラリ読み込むのも微妙だし、正規表現で頑張るかと思ったところ、…

PSGI + SeleniumでMTの管理画面のテストをする

MTの管理画面は、JavaScriptに依存した部分が結構多く、PhantomJS等のヘッドレスブラウザを使ったテストが必要になるケースがあります。 CasperJSや、Seleniumなど、いろいろなツールがありますが、MTの管理画面のロジックは、Perlで書かれているので、Perl…

MTオブジェクトの複製を作るツールスクリプトを作った

Movable Type使ってる時に、たまに、ページングのテストや負荷テスト等をしたい時に、記事を大量にコピーしたい時があって、これまで下記のようなスクリプトを叩いたりしてコピーを作ってました。 これをMTオブジェクト全般に広げても良いかなと思ったので、…

MT::Object をワンライナーしやすくする拡張書いた

コマンドラインで、MT::Objectを取得して、加工して、出力してみたいなことすることが結構あるんですけど、MT::Objectは大変ワンライナーしにくい印象でした。MTのシステム管理者のIDとパスワードがわからない時、コマンドで強制的に作ることがあるんですけ…

MT アプリケーションを Sinatra like に記述できる MT::App::Lite 作った

Movable Type には、MT::App という Web アプリケーションを記述するための基底クラスがありますが、結構慣れが必要なのと癖があることもあって、もっと手軽に Sinatra like にアプリケーションを記述できる、フレームワーク的なものが欲しいなーと常々思っ…

Ruby の method_missing 的な tag_missing コールバックを MT に追加してみる

Movable Type Advent Calendar 2013 の8日目です。Ruby の method_missing だったり、Perl の AUTOLOAD 的なものが、MT のタグを利用する時に使えると便利かなと思って、TagMissingプラグインなるものを作ってみました。存在しないタグを利用しようとした時…

Perlでメソッドチェーンのメソッドを動的に決定する

Perl でメソッドを呼び出す時、 $class->$method; みたいな呼び出し方できるのは知ってたけど、 $class->${ \'method' } みたいな感じで、文字列のスカラーリファレンスをデリファレンスすることでも同じことができることを知った。これを用いることでメソッ…

MTDDC 2013の感想文

感想文書くの遅くなりましたが、先日、MTDDC 2013に参加しました。 LTについて Data APIをさわるキッカケを作りたいなと思って、さわる前にLT応募したんですけど、実際にさわってみるのはギリギリになってしまって、焦ってたんですが、5分だったのでなんとか…

MTがStyleDoccoに対応したっぽい

developブランチのcommitログ見てたら下記のコミットを見かけた。 https://github.com/movabletype/movabletype/commit/370e2ece3d319e5321e789a54e4dc4c287533c71 StyleDocco 形式のStyleGuideを整備したようで、StyleDoccoを使ってスタイルガイドが出力で…

Perlのデータ構造を意識しつつ、常にmt:loopタグを使う話

案件で試したわけではなく、かと言って試せる機会もないので、あくまで一つの提案です。mt:loopタグの良い文書がGithubのmovabletype/Documentation Wikiにあります。特筆すべき箇所が、以下のように書かれた説明です。 Movable Typeの再構築の処理を行う場…

春のJAWS-UG 三都物語 2013でMTに関するLTしました

AWSを使ったこと、ほぼなかったんですけど、これをキッカケにして、今後は活用するようになりそうです。発表内容をシェアするとともに、ちょっと考えることを書きます。5分という短い時間でしたが、伝えたいことは伝えられたんじゃないかと思います。 スライ…

俺、今大阪におんねん

ごめんなさい、本当は関西弁まったく使えません。昨年末から、アルファサード株式会社で働いています。今は主に製品サポートと製品開発を担当しています。大阪勤務なので、大阪に引越しまして、今や大阪府民です。これまでも、福井から関西の勉強会に参加す…

サクッとPSGIなMTOSの開発環境を用意する方法

MTは5.2.2からPSGI対応したということで、今までPSGIアプリケーションをMojoliciousやMENTAで作ることもあった自分としては、かなり嬉しい出来事でした。Mojoliciousなどは、開発用のPSGIサーバーも同梱されていて、ポータブルだし、サクッと開発環境を用意…

プログラミングHaskellのfoldr, foldlの説明が秀逸だった件

今年はHaskellを勉強しています。土日などを利用して、すごいH本を3〜4週間かけて読み終えました。時間かかった分、記憶の密度が低くて、まだ理解度は低いです。新しい概念を学ぶ時は、同じテーマの本を何冊か読んで、本当に読みたかった本を再度読み直すと…

CSS Niteベスト・セッション2012でベスト・LTをいただきました && 本年もよろしくお願いします

CSS Niteベスト・セッション2012でベスト・LTをいただきました。CSS Niteベスト・セッション2012インストラクタをしていた時期が長かったので、人前で話すことは得意な方ですが*1、インストラクションとプレゼンテーションは共通部分も多いとは言え、異なる…

Movable TypeのextlibディレクトリのCPANモジュールカタログ

Movable Type Advent Calender 2012の5日目です。Movable Typeのプラグイン開発は、ダイナミック・パブリッシング対応のためにPHPを書くのを除いて、主にPerlのプログラムを書くことになります。Perlのプログラムは、標準のモジュールだけで開発できることは…

Perlのリストのおもしろいところ

PerlのリストはPerlらしいというか、結構おもしろいなーと思うことがあります。Perlのリストの面白いところを紹介してみます。 cons, append Perlでconsとかappendするいい方法何かなーとか考えてた時に、リストの標準機能でできることに気づきました。 my @…

簡易的なuniqメソッド(文字列限定)を書いたので、underscore.jsのuniqメソッドとベンチマーク取ってみました

グリモンを書いてて、uniqメソッドを自前で作ろうと思ったのですが、少し面白い方法を見つけたので、jsPerfでベンチマークしてみました。文字列専用ですが。 自前のuniqメソッド オブジェクトを構築する際に、キーはひとつのオブジェクトに対してユニークに…

MovableTypeのモジュールのPODのViewerプラグイン作った

MovableTypeを触っていると、MTのモジュールのPODを見る機会が多くなります。MTタグの使い方とかも該当モジュールのPOD見れば解決することもあるので、とりあえずアイデアレベルですが、昨日作ってみたのでエントリー起こしました。MTPodViewerという名前を…

kanazawa.rbで「Mojoliciousと愉快なPerl」という話をしてきました

つい先程の話。kanazawa.rbで「Mojoliciousと愉快なPerl」という話をしてきました。Perlの記事を書いたことはあるけど、Perlについての発表をするのは初めてだったので、いつも以上に緊張した感じです。というか、ようやくプログラムの話ができるようになっ…

margin-top派かmargin-bottom派で言えば、margin-top派です

CSS

世の中にはmargin-top派とmargin-bottom派がいるとかいないとか。自分はmargin-top派です。margin-left派とmargin-right派がいるならば、margin-left派です。試しにmargin-bottom派になってみようかなと頑張ってみたんですけど、やはり慣れもあり、margin-to…

S式から(X|HT)MLに変換する簡易的なコマンドラインツール作った

Lispの仏様と言われた竹内郁雄先生は、XMLを分厚いカッコのあるLispとおっしゃっているそうです。実際に、S式で(HT|X)MLを書くと、自然でシンプルに書けるので、S式を(HT|X)MLに変換する単純なコンバータを作りました。 作ったもの Buakko - Simple s−expres…

次の13日の金曜日というサービスをリリースしました

最近、なかなかプログラミングする機会がないので*1、作って放置していたプログラムを編集して、Webサービスにしてみました。 サイト 次の13日の金曜日 リポジトリ taiju/next-friday-the-13th · GitHub 作ってみて ClojureでWebサービス作りたいなーとは思…

たらい回しの塔

たらい回し関数(竹内関数)とProcessing.jsを使って塔を建てる。たらい回しの塔 - jsdo.it - share JavaScript, HTML5 and CSSえげつなさが可視化される。 参考 竹内関数 - Wikipedia

はじめてのはてなブログ

はてなダイアリーからはてなブログへのインポート機能を追加しました - はてなブログ開発ブログという記事が出たので、とうとう重い腰を上げて、はてなブログに移行することにしました。人柱になっているかもしれませんが、とりあえずはうまく移行できたよう…

CoffeeScriptでチャーチ数(CoffeeScriptとラムダ式)

ラムダ計算では、数値すら関数で表現できるらしいです。数値を関数で表現する方法のひとつにチャーチ数というものがあるとのこと。何で書いてみようかなと迷ったのですが、この手の処理をシンプルに書けそうだと思ったので、CoffeeScriptで書いてみることに…

Clojureで文字列を整数にする

4Clojureで数値の各桁をゴニョゴニョするという問題に何度か遭遇しました。各桁に対して何か処理をしようとする時は、文字列が文字のシーケンスで、シーケンス系の関数を適用できるシーケンシャルな型であることを知っていれば、一旦、数値を文字列にしてか…

よりSchemerフレンドリなJavaScriptへ in kyoto.lisp

土曜日にKyoto.lispに行ってきました。無謀にもスピーカー枠で参加したので、ちょっとドキドキでしたが、話したいことは話せたので良かったです。スライドは以下に置いておきました。よりSchemerフレンドリなJavaScriptへ 感想 Lispの勉強会というのは、東京…

4Clojureが楽しい

最近、4Clojureにハマっています。プログラミング学習サイトには、プログラムの実行環境が必要だと思っていて、ドットインストールのアプローチよりも、Codecademyのアプローチが正解だと思っています。4ClojureはREPLこそ、別のサイトですが、プログラムの…

流行りっぽいツールを組み合わせたミニマルpjaxサンプル書いた

先日、Meteorっていうツールが話題になっていて、いろいろ見てみたんですけど、pjaxいいなぁと思って、今まで実装したことなかったので、Mojolicious::Liteで実装してみました。ついでに流行りっぽいツールを組み合わせてみました。 利用したツール Mojolici…

Perlの環境構築

こなれてきたので、Perlの環境構築についてまとめる。出尽くされてる感は半端ないけど。 導入するツール perlbrew cpanm(App::cpanminus) Carton perlbrew perlbrewはユーザー領域に複数のPerlのバージョンをインストールして使えるツール。Rubyのrvm相当…

Clojureの->と->>の使い方

Clojureのコード読むと、->(ハイフン・大なり、ハイフン・不等号)とか->>(ハイフン・大なり・大なり、ハイフン・不等号・不等号)とかの記号を見かけるのですが、Googleで検索しようにも検索できないので、はじめ何やってるのかわからなくて大変でした。*…

MacでClojureのセットアップ

追記 手順が抜けて手落ちだったし、これとほぼ同じ事をもっとわかりやすく書いてある記事があったので、ものすごく恥ずかしくなってきました...以下の記事を参照された方がいいです。ブックマークも以下の記事にしていただいた方がよろしいかと!MacでClojur…

富豪的プログラミングにおける関数合成の効用

あくまで富豪的プログラミングが許される時という前提付きですが、関数合成がとても有用だと思うので、記事にしてみます。なお、ソースコードはCoffeeScriptで記述しているので*1、JavaScriptはわかるけど、CoffeeScriptはわからないという方は、適宜、Coffe…

制作環境メモ(主にgitのこと)

定期的に書いてる気がするけど、実際に定期的に見直しているので、最近の制作環境のメモを書きます。制作環境で言う制作とは、割と一般的なサイト制作のことです。 制作ツール vim git sass(最近はcompassも使ってみたり) yuicompressor firebug Wordpress…

ロジカル・シンキングについて学ぶ

社内勉強会でロジカル・シンキングについて説明する機会をもらいました。(社内と言っても、自分除いて3人しかいませんが...)社内に特化した話をしたり、ちょっとしたワークもしましたが、その部分は本エントリーから除いています。現在の職種は、テクニカ…

JavaScriptでswitchの再発明

先日、Underscore.jsを弄っていて、なんでも関数化したい病にかかり始めたので、書いてみました。when$when関数の返り値がtrueになっても継続するオプションを設けてもいいかもしれない。 追記 default関数っていうのを定義してましたが、予約語と名前が被る…

watchオプションの使い方

Less & Sass Advent calendar 2011の11日目です。Sassは自分がコーディング担当の案件は、確実に使っているのですが、まだまだ表面的な使い方しかできてないのかなと、Advent Calendarの他の記事を見ると感じます。さて、Sassを使ってCSSを書いていく時には…

Underscore.jsの全メソッドを表にまとめてみた

JavaScript Advent Calendar 2011 (フレームワークコース) の9日目です。せっかくの機会だったので、ものすごく気になってたけど、触る機会がなかった、Underscore.jsをいろいろと弄ってみました。配列関係の便利メソッドの集合ライブラリなイメージでしたが…

Kansai.pmのかんそうぶん

先週の土曜日にKansai.pmに参加したので、その感想。今年のYAPC::Asiaに参加して、Kansai.pmのことをいろいろ教えてもらった*1のですが、その後、割とすぐ、Kansai.pmの告知がTwitterに流れてきたので、参加することにしました。自分は福井県にいるので、な…

CoffeeScriptでカリー化関数を書いて遊ぶ

CoffeeScript、食わず嫌いしてたのですが、使ってみると便利で、書いてて楽しいですね。記法が簡潔なので、JavaScriptだとreturn function地獄になるカリー化関数書くのが苦ではなかったので、カリー化関数を書いて遊んでみました。 calc.coffee これがCoffe…

Arrayのconcatメソッドが何気に便利だった

え、今さら?感満載ですけど。配列を結合するメソッドという頭でいましたが、要素を追加して、ついでに要素追加反映後の配列コピーを返すメソッドと考えると結構便利な気がします。Arrayオブジェクトのメソッドは、sortとかreverseとかmapとかfilterとかのよ…

YAPC::Asia TOKYO2011で感じたこと・考えたこと

今年は、会社の理解もあり、念願のYAPC::Asia TOKYO 2011に参加することができました。YAPCは初参加です。結論として、ものすごく楽しく、刺激を受け、良い思い出となりました。中学生の作文みたいな感想で稚拙ですが、3日間の感想をまとめてみます。 参加し…

Mojoliciousで出力時だけ別の文字コードにする

Mojoliciousを使っていて、タイトルの件でハマったので、解決方法をメモがてら記事に起こします。 前提・課題 制作はUTF-8を利用し、出力時はEUC-JPを使いたい テンプレートは別ファイルに分けたい MojoliciousはUTF-8を使用する前提で作られているようで、…