サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
blog.aklaswad.com
追記(20140124): paizaさんから景品のロックスター30本頂きました!ありがとうございました! 最近話題のpaiza主催のコーディングコンテストにチャレンジした。 キャンペーンの設定では、野田さんはコードの書ける社長令嬢とのことで、つまり社長の名前も野田さんなのであり、色々な意味で悶々としてしまいますね。 以降、ネタバレ含む真面目なアルゴリズムの話になりますので、自力でチャレンジしたい方はご注意ください。 ソートして尺取り虫 事前に全組み合わせをキャッシュしようとしてタイムアウトになる、などのお約束をこなしつつ、最初に考えたのが、商品の値段をソートしてしまい、上と下から範囲を狭めていって組み合わせをチェックしていく方法。最初のスタート地点を探すときに二分探索するのも含めて、やり方としてはhttp://sucrose.hatenablog.com/entry/2013/12/05
やりたいことの半分も出来てないけど、連休終わってしまうので出来たところまでDemo。Webサーバーのアクセスログをリアルタイムで監視して、リアルタイムで音にして聴いてみよう、しかも音楽的な感じで、という試みです。 https://github.com/aklaswad/statechno ビデオにキャプションつけるやりかた分からなかったので、何をやっているかわかりづらいかもしれませんが、以下のような流れのデモです。 起動するよ 音が出るよ アクセスが増えると盛り上がるよ エラーも拾うよ アタックされると多分こんな感じだよ upstreamが死ぬと多分こんな感じだよ 監視サーバーごと死ぬと多分こんな感じだよ Pdのパッチだよ アクセスが減ると寂しいよ 基本的にtechno_nekoさんと話してた流れで「perlで音楽で遊びたい」->「だがperlでオーディオそのものをいじるのはしんどい」->
WebSocketを使ってゴニョゴニョしているのだが、handshakeの失敗時のエラーをどう扱うべきなのか、よくわからない。WebSocket Protocol の仕様と WebSocket API の仕様で書いてあることが違う。 protocol仕様を読む限り、サーバーはhandshakeを拒否する場合適切なHTTPエラーコードを返さなくてはいけない、と書いてある。が、クライアント側のウェブブラウザ上のjavascriptでそれを期待しているとエラーイベントからはHTTPエラーコードは受け取れない。WebSocketの異常終了コード1006が固定でセットされている。 そこでAPI仕様を読むと、これらを行わない理由が赤字で大きく書いてある。 オープンリダイレクタが設置されたサイトで脆弱性になるので、handshakeのレスポンスはHTTPとして扱わない。悪意あるスクリプトに攻撃の準備とし
11inch 全部盛り USキーボード。人生初のUS配列。 Lionでperl/node.js/coffeeScriptあたりの開発環境を整える際の自分用メモ。(一部追記あります。) 環境設定編OSのセットアップ時キーボード配列はUS。OSの言語設定は日本語を選択 ファンクションキーを有効に環境設定 > キーボード > キーボード > F1、F2などの...をチェック ことえりを有効に環境設定 > 言語とテキスト > 入力ソース でことえりを探してチェックを入れる。 あとでgoogleIME入れる。 Dock周りを整理左に移動して自動で隠れるように。とりあえずterminalをdockにFinder開いて左メニューのアプリケーション > ユーティリティー > ターミナルをDockにドラッグcapslockとcontrol入れ替え環境設定 > キーボード > キーボード > 修飾キー spo
YAPC ASIA 2011行ってきました。 cho45さんのWAFの話とか、普段書いているコードに直結するような話で興味深い話も多かったのですが、それ以上に、techno-catさんやHaruka Kataokaさんの音楽関係のトラックにとても刺激を受けました。そういえば、自分がプログラムを始めたきっかけって、テクノとかエレクトロニカとか、そんな音楽やりたくてじたばたしているうちに片足突っ込んだのがはじまりだったよな、ということを思い出したりして、まあ、いわゆる初期衝動?に立ち返ったような気持ちになりました。 で、この一週間モンモンとしているうちに、今やるならWeb Audio APIだよななどと思いつつ色々いじってたら、こんなのが出来ました。 sonificator すべてJavaScriptで書かれていて、Web Audio APIを利用してブラウザ上でリアルタイムに動作するプログラ
Gollumは、githubのwikiエンジンのコア部分がオープンソースとして公開されたものです。軽量なWebServerとして動作するので、ローカルマシン上で起動してすぐに、ブラウザ経由でwikiページの閲覧や編集が可能になります。使用感をメモしておきます。 https://github.com/github/gollum インストールと起動 Gollumはrubyで書かれたwikiエンジンです。gemからインストールする事が出来ます。 起動するには、任意のgitリポジトリへ移動(またはオプションでパスを指定)してgollumコマンドを実行します。 $ sudo gem install gollum $ git init my_wiki $ cd my_wiki $ gollum これで、デフォルトでポート4567にウェブサーバが起動するので、ブラウザでlocalhost:4567にアク
Include Map という名前のプラグインです。 なにが起こるの? テンプレートの編集画面に、そのテンプレートをインクルードしているテンプレートの一覧を表示します。 以下のような依存関係の一覧画面を追加します。 どこでダウンロードするの? ダウンロードはgithubからお願いします。画面右上、上から3段目の「Download Source」ボタンから、最新のパッケージをダウンロードできます。 使い方は? IncludeMapプラグインは、テンプレートの編集を監視し、内部的に依存関係の記録を行います。ですが、現在のところプラグインのインストール時にはこの記録は作成されません。 運用中のMovable Typeにこのプラグインを追加して利用する場合、事前にブログ/ウェブサイトの一覧画面からPlugin Action > Rebuild Include Mapを実行してください。 インストー
「$pkg = '$Core::MT::CMS::'」と宣言されているから、 「${pkg}Dashboard::dashboard」というのは「$Core::MT::CMS::Dashboard::dashboard」 のことだと思う。 で、この「$Core」というのが何なのかわからない。 $Core::MT::CMS...がわからない - Using MT カレントのComponentをFooにセットしてから、Bar::buzを実行してくれ、という意味になります。 上の例で言えば、カレントのComponentとして'Core'を設定した上で、MT::CMS::Dashboardパッケージのdashboardメソッドを実行しろ、ということです。 この書式はMT独自の機能で、基本的にregistry(プラグインのconfig.yamlなど)にメソッド名を書くような場面でのみ有効となります。
久しぶりの更新。テンプレート系のコネタです。 ActionStreamsのいくつかのプラグインでは、別途ThumbnailのURLを取得して専用のフィールドに保存してくれますが、そうではない場合もあります。 特にソーシャルブックマーク等のサービスの場合には、そもそもコンテンツとそのサムネイルの関係が事前に分からないため、何もしてくれません。 でもまあ、自分の行動範囲で、URLからサムネイル画像のURLが推測できる範囲なら何とかなるんじゃないか。 そこで、MTMLで無理矢理やっつけてみました。 まず、以下のようなテンプレートを、モジュールテンプレートとして作成します。 前半のmt:setHashVarタグのなかに適当に正規表現をつっこむと対応サイトが増やせます。とりあえずyoutubeとniconico、amazonだけ作りました。検証してないので、取りこぼしや誤作動があるかもしれません。
こんな狭い世界でbayashiさんのと被ってしまってなんですが、ギターのコード譜を画像表示するMTプラグインを作成しました。たぶんMT4.2位専用です。 GuitarTools0.1.zip 動作環境 お使いのサーバーで、画像処理ライブラリのGDと、PerlからGDを利用するためのモジュールがインストールされている必要があります。自分の利用しているXreaのサーバーでは、いずれも利用可能なようです。 インストール プラグインディレクトリに、解凍したGuitarToolsプラグインのpluginsディレクトリ以下をアップロードしてください。 外部モジュールとして、画像作成ににぽたんさん作成のGD::Tab::Guitar、コード認識にMusic::Chord::Namerを利用しています。プラグインのパッケージには同梱していませんので、これらのモジュールをCPANからインストールするか、また
そろそろ、当サイトで配布しているプラグインをMT4.2に対応させていく必要があるのですが、今回は色々動かなくなるものが多くて、頭を抱えています。 とり急ぎTaggingHelperを対応させました。まったくの暫定版なので、バージョン外とします。 Movable Type / MTOS 4.2 でのみ動作します。また、タグの使用頻度順でのソートが出来ません。 TaggingHelperForMT4_2.zip 今後の対応については、考え中です。
私事となりますが、本日よりSix Apartで働くことになりました。 こうして報告エントリを書こうとしているとなんだか感極まったりして、ブログの過去ログを見直しているのですが、今の自分があるのは、このブログを見てくれて、自分の拙いプラグインを使ってくださった皆様のおかげだと、実感しています。本当にありがとうございました。 これからも愉快なプラグインを作ったりなどするべく、頑張っていきたいと思います。 今後ともよろしくお願いします。
最近、友人との遊び目的で、プライベートなサイトをMTで作っています。 テンプレートには、Mid-Centuryを適用してみました。なかなか使い勝手が良いです。 そのサイトでは、大量のオーディオファイルや、特定のエントリーなんかをまとめたページを手軽に作りたくて、こんなカスタマイズをしています。 まず、MT4.2の新機能のグローバルモディファイアmtevalを使って、ウェブページに直接MTMLを書けるようにします。ただし、全部を対象にしてしまうのも気持ち悪いので、プライベートタグ「@eval」をつけてあるものだけを対象にするようにします。 <mt:PageIfTagged tag="@eval"> <mt:PageBody mteval="1" /> <mt:else> <mt:PageBody /> </mt:PageIfTagged> これで、ウェブページに簡単にMTMLを書けるようにな
cremaさん作成の iPhoneテンプレート for MT を、このブログに導入してみました。iPod TouchやiPhoneをお持ちの方は、アクセスしてみてください。 テンプレートは以下のページで配布されています。すばらしいです。 「iPhoneテンプレートfor MT」を公開いたします。|iPhone|東京Webデザイナー日記リターンズ|crema design なお、 iPhoneテンプレートはブログURL内の「i」ディレクトリに出力する仕組みになっていますので、iPhoneでアクセスする時に専用のURLにアクセスする必要があります。 このブログでは、インストールの際に以下のようなカスタマイズを行って、PCでの閲覧時と同じURLになるようにしてみました。 追加したiPhoneテンプレート内のトップページとブログ記事アーカイブへのリンクを、通常のものに書き直す。 画像やcssファイ
MT4の管理画面では、かなりしっかりした独自のJavaScriptライブラリ(mt.js)が用意されています。Transformerやalt-tmplでの管理画面のカスタマイズに応用できると良いのですが、残念ながら、今のところまとまったドキュメントも無く、応用するのが難しい状況です。 でもやっぱり、そんな使えるライブラリを放置するともったいないお化けが出るぞ、ということで、mt.jsの機能の中で一番簡単そうな、タブ機能の使い方を調べてみました。 以下、Movable Type の管理画面内でタブ(同ウィンドウ内での一部画面の切り替え)を実現する場合のサンプルコードです。 以下コードを、ファイルに保存してalt-tmplディレクトリに「dashboard.tmpl」とかの名前で置くと動くと思います。 <mt:setvarblock name="page_title">mt:tab test<
アーカイブテンプレートなどで、一時的にインデックステンプレートと同じ振る舞いを実現するプラグインです。 対応するMovable Typeバージョン 特に制限はありません。 簡単にテストした範囲では、MT4でもそのまま動作します。 ダウンロード 以下のリンクからダウンロードできます。 indexcontext.zip インストール zipを解凍して出てくる「indexcontext.pl」ファイルをpluginsディレクトリにアップロードしてください。 機能 以下のタグが利用可能になります。 <MTIndexContext> 一時的にテンプレートのコンテキストをインデックステンプレートと同じ振る舞いにするコンテナタグです。 特記事項 あんちもん2.Labさんによるダイナミック・パブリッシング版が公開されています。あんちもん2さん、ありがとうございます。 あんちもん2.Lab: ダイナミック・
Custom Editor Button 2 用のプラグインの作成方法を解説します。 プラグインを作成することで、CustomEditorButton2に任意のボタンを追加できます。 プラグインは通常の Movable Type のプラグインとして作成します。 といっても、ボタンの画像と簡単なyamlファイルを用意するだけですので、MTのプラグイン作成の知識はほとんど必要ありません。 ここでは、ボタンをクリックすると「Hello!」という文字列を追加するボタンを例として、作成の流れを見ていきます。 まずはyamlファイルの作成から始めましょう。 yamlファイルを作成する プラグイン情報を書く 適当なテキストエディタで、新規ファイルを作成します。 最初に書くのは、プラグインとしての情報です。ここで書いた内容が、MTの管理画面のプラグイン一覧に表示されます。 name: Hello Butt
mixiのMTテンプレート大喜利大会(違う)に出したネタです。 NabeAzzというのは、えー、FizzBuzzの変形でー。 多分発祥はここだと思います。 そろそろ FizzBuzz に飽きた - にぽたん研究所 mixiでは文字数制限が怖かったのでコメント一切無しにしました。 ちょっとわかりづらいところもあると思うので、コメント付で再掲します。 自分の作ったテンプレートの目標は、ノープラグイン、ノースクリプト。MTタグのみでのNabeAzzです。 <mt:ignore><!-- 単純な線形合同法で乱数を生成。 --></mt:ignore> <mt:setvarblock name="seed"><mt:date format="%S"></mt:setvarblock> <mt:setvartemplate name="rnd"> <mt:getvar setvar="seed" na
管理画面のブログ記事投稿画面に、任意の機能を持ったボタンを追加できるプラグインです。 以前に公開していたCustomEditorButtonのMT4対応版となります。 最新版のダウンロード CustomEditorButton2_0_3.zip 使い方 インストールが成功すると、自動的にブログ記事編集画面にボタンが追加されます。MTのデフォルトのボタンと同様に、エディタで範囲選択をした状態でボタンをクリックしてください。 ボタンの並び順を変更する カスタムボタンは、ドラッグ&ドロップで簡単に並び替えることが出来ます。 今のところ、見た目ドラッグしている感じが無いのでわかりづらいかもしれませんが、本当に変更できます。 並び順を変更したら、右端のフロッピーディスクのアイコンをクリックしてください。変更結果が保存され、次回に編集画面を開いたときにもこの並び順で作業を再開できます。 「ポケット」を
SixApartから登場した新しいプラグイン、Action Streams がステキすぎます。 Action Streams | Plugin Directory | movabletype.org Six Apart - 広報ブログ: 自分の行動履歴を自分で管理できるMTプラグイン「Action Streams」 Action Stream をインストール : MTで、FlickrやTwitterなど色々なサービスの更新状況を表示:Goodpic 自分もいくつか似た様なものを作っていましたが、こっちのほうがよさそうですね。 さて、早速導入してみたのですが、導入に関して何箇所かつまずいたところがあったので、注意点をまとめておきます。 文字コードは UTF-8 で! 現在のバージョンでは文字コードの変換を行ってくれないようです。このブログは euc-jp で公開していたのですが、見事に取得し
<mt:setvar foo value="fizz","buzz">こんなMTタグの書き方はありでしょうか!?実はありなんです! というわけで、MT4.1で利用可能なMTタグの書式を調べてみました。 全般編基本形<$MTBlogName$>$マークは省略出来る<MTBlogName>かたっぽだけというのもOK。ただしかっこ悪い。<$MTBlogName><MTBlogName$>これはMT3から省略できました。ちなみに、ブロックタグでは$マークをつけること自体出来ません。ブロックの閉じタグの頭のスラッシュ「/」と$マークが両立できないためです。末尾に/を付けられるこれはMT4からの機能。<MTBlogName />XMLの空タグ風に記述できます。これもブロックタグでは使えないかと思われます。タグ名編大文字小文字は問わないMT4より。<mtblogname><mtBlogName><mTb
再構築の詳細を追跡、図示するプラグインです。 最新版のダウンロード BuildTracer0.31.zip 何をするプラグインか Movable Type の再構築の動作を表示します。 表示は、以下のような形で行われます。 現在の所、以下のようなことが出来ます。 ブロック構造の可視化 <mt:if>などの判定の確認 変数の変化の追跡 処理時間の表示 動作環境 このプラグインは、Movable Type 4.1 専用です。 もしかしてMT4.0xでも動作するかもしれませんが、コードのベースとして4.1のものを利用しているため、トレース結果が信頼できなくなります。 また、ダイナミックパブリッシングを利用している場合も、実際に公開されるブログとトレース結果が異なる場合は考えられます。 ブラウザについて、Firefox での利用をお勧めします。IE7での動作は確認しておりますが、どうもパフォーマン
アイコンの設置とcssでのli要素への表示が上手くいかずごり押しした。追加サービスの配布を考えるとこれから、て感じかしら。 あと、タグの取得もまだです。 ちょっとお出かけするのでパッケージングともども、あとで考えます。 config.yamlは大体こんな感じ。 あちこち変なので、もう少し手を入れる予定。 name: Hatena Bookmark id: hatenabookmark key: Hatebu author_link: http://blog.aklaswad.com/ author_name: aklaswad description: Adds profile service and activity stream for Hatena Bookmark. version: 1.0 plugin_link: http://blog.aklaswad.com/ profil
「MTAssetThumbnailLink」「MTAssetThumbnailURL」のテンプレートタグが生成するサムネイルは、基本的に元画像の縦横比を維持した形で出力されます。これを、不要な部分をトリムして、正方形にするモディファイア「square」を追加するプラグインです。 ちょっと名前が大袈裟ですが、ほんとにそれだけの小さなプラグインです。 動作条件 MT4.1でしか動作確認していません。多分MT4.0以上で動きます。 通常のパブリッシングでは、MTが利用できる画像ライブラリ(ImageMagickかNetPBM)が必要になります。ひょっとしたらNetPBMでは動かないかもしれません。何かありましたらご報告下さい。 ダイナミックパブリッシングで利用する場合、phpのGDライブラリが必要となります。 最新版のダウンロード AssetThumbnailPlus.0.1.zip 動作 テン
MTがなぜ大規模なテンプレートエンジンとアーカイブエンジンを持つに至ったかというと、全てはMTEntriesを動かすためといっても過言ではありません。 MTEntriesを制するものはテンプレートを制す、と言っても良いでしょう。 というわけで、MTEntriesのMT4.01での実装を、細かく調べてみました。 以下、MTEntriesの内部動作について気をつけたい点を一通り確認した後、実際のコードの流れを追う形で具体的な処理の詳細を見てみます。 概観 コンテキスト MTEnriesの行う重要な動作の一つに、モディファイアやコンテキストの指定をもとに、表示するべきエントリーを絞り込むことがあります。 コンテキストから読み取る情報については、以下の2種類に分類することが出来ます。 具体的なエントリー一覧として設定されているもの(キャッシュ) アーカイブに含まれるエントリーや、MTEntries
FaviconManager を利用すると、非常に簡単な手順でブログにFaviconを追加できます。テンプレートをカスタマイズする必要はありません。用意したFavicon画像のURLを、管理画面から貼り付けるだけですぐにブログにFaviconを設定できます。 ダウンロード FaviconManager2.01.zip 動作環境 このプラグインは、Movable Type 4.0 以降専用です。 インストール ダウンロードしたファイルを解凍したら、pluginsディレクトリの中のFaviconManager/ ディレクトリを、お使いの MovableTypeの「plugins」ディレクトリにアップロードしてください。 設定方法 ブログにFaviconを設定する ブログセレクタ(管理画面左上のあれ)から、設定したいブログを選択する 設定 > プラグインをクリックしてプラグインの設定画面を開く
ブログ記事の編集画面に過去に使われたタグを候補として表示し、選択することでタグを指定できるプラグインです。要するにはてなブックマーク式のあれです。 MT4.2対応暫定版 TaggingHelper For MT4.2 - blog.aklaswad.com インストール 解凍して出てきた中から、「plugins/TaggingHelper」ディレクトリを、お使いのMTのpluginsディレクトリ内にアップロードしてください。 動作環境 MT3.3とMT4のどちらでも動作します。 当たり前ですが、MT3.2以前ではMTにタグ機能が無いため、動きません。 動作検証は基本的にFirefox2.0でしか行っていません。 IE6でも最低限の動作は確認しましたが、それ以外のブラウザでは確認してません。 Firefox 2.0, Firefox 3.0, IE7 で動作確認を行っています。 設定 特にな
次のページ
このページを最初にブックマークしてみませんか?
『blog.aklaswad.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く