読者です 読者をやめる 読者になる 読者になる

意図的に警告を出す

iOS

あとで実装するコードや、deprecated になったコードに対して警告を出す方法。 warning ディレクティブ #warning not implemented - (void) retrieveMessages { } attribute ディレクティブ @property (strong, nonatomic) NSString *foo __attribute__((dep…

プルルル♪もしもし! でんわではなそ! の電話番号一覧

『音と光のでる絵本 プルルル♪もしもし! でんわではなそ!』 の電話番号一覧を掲載しておきます。ページが無くなった際のリファレンスとしてご活用ください。 ■ うさこちゃん : 12 ■ コロンくん : 34 ■ ワンタくん : 49 ■ おじいちゃんとおばあちゃん : 56 ■ …

CentOS 5.9 に Python 2.7.5 をインストール

cd /usr/local/src wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz tar zxvf Python-2.7.5.tgz cd Python-2.7.5/ ./configure --with-threads --enable-shared make make install cd /lib/ ln -s /usr/local/lib/libpython2.7.so.1.0 libpyt…

スカイリムの錬金術レシピ集 iPhone アプリを作りました

スカイリムの錬金術レシピ集 iPhone アプリを作りました。 効果が未発見の材料を拾って手持ちの材料と調合したい時にパッと引けます。 効果をコンプリート済みの材料はマーク機能でチェックしておくと、地道な穴埋めに便利かもしれません。 (そういうトロフ…

markdownlivepreview.com を作りました

Markdown 記法を書きながら確認できるサイトをリニューアル & ドメインを取りました。 Markdown Live Preview プレビュー画面の CSS を GitHub と同じ見た目にしました。 ご活用ください。

QuickBuf を入れた

Vim

QuickBuf を入れました。以前は fuf.vim やproject.vim を使っていましたがなんだかんだで最近は :ls で一覧表示してバッファ番号で選択していました。 vim.org のスクリプトファイルを wget でダウンロードする vim.org から wget でスクリプトファイルをダ…

ファイル保存時にブラウザを自動的にリロードする JavaScript ライブラリを書きました

HTML や CSS ファイルを保存した時にブラウザを自動的にリロードする JavaScript ライブラリ AutoReloader.js を書きました。mala さんが昔書いていたものの焼き直しですが…。 ダウンロード https://github.com/tanabe/AutoReloader-js 使い方 下記の 1 行を…

Mac に PhantomJS を入れた

MacOS X (Snow Leopard) に PhantomJS を入れました。Build Instructions の通り。 git clone git://github.com/ariya/phantomjs.git && cd phantomjs && git checkout 1.1 Qt を落とす。 qmake -spec macx-g++ && make in/phantomjs.app/Contents/MacOS/pha…

Google の検索結果ページを日本語と英語で切り替えるユーザスクリプトを更新しました

Google の検索結果ページを日本語と英語で切り替えるユーザスクリプト (昔書いたもの) を、現在の Google の仕様に対応させました。 インストール Google の検索結果ページのどこでもよいのでダブルクリックすると切り替わります。 Firefox と Chrome で動作…

TermKit をインストールしてみました

Mac

TermKit というターミナルエミュレータがおしゃれっぽいので試してみました。 TermKit のインストール手順 TermKit はバックエンドは node.js、フロントエンドは WebKit (.app ファイル) で動いているので、まず先に node.js をインストールします。詳しい仕…

Markdown Live Preview を作りました

Markdown 記法を書きながら確認できるサイトを作りました。 Markdown Live Preview GitHub に README をコミットする際などにご利用ください。

Vim 7.3 をソースからインストール

Vim

Vim 7.3 をソースからインストールする手順。 $ sudo yum install ncurses-devel $ wget http://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2 $ tar xjvf vim-7.3.tar.bz2 $ cd vim73 $ mkdir patches $ cd patches/ $ curl -O 'http://ftp.vim.org/pub/vim/pa…

カーソル下の単語を snake_case や camelCase などに変換する Vim プラグインを書きました

Vim

カーソル下の単語を snake_case や camelCase などに順次変換する Vim プラグインを書きました。 実行例 例えば getElementById という単語の上にカーソルがある状態で :call ToggleCase() を実行すると下記の順に記法が切り替わります。 GetElementById get…

キーボードショートカットを定義できるライブラリ Hokke.js を書きました

キーボードショートカット (ホットキー) を簡単に定義できる Hokke.js という JavaScript ライブラリを書きました。名前の由来は、Hotkey → Hokke です。私はホッケの塩焼きが好きです。 Hokke.js デモページ ソースコード 使い方 インタフェースは、3 つあ…

JSDoc 形式のコメントを追記する Vim スクリプトを書きました

JavaScript の関数に JSDoc 形式のコメントを追加する Vim スクリプトを書きました。 tanabe/WriteJSDocComment.vim - GitHub 実行例 JavaScript の function が書かれている行にカーソルがある状態で :call WriteJSDocComment() を実行すると下記スクリーン…

Yahoo!路線情報の「出発地」「目的地」を保持する user script

Yahoo!路線情報で、「出発地」と「目的地」の入力値を保持する user script を書きました (以前書いた物の改修)。 インストール AutoFillYahooTransit.user.js 主な内容 ブラウザの「戻るボタン」で出発地/目的地が消えなくなります。 Firefox/Chrome で動き…

jslint.vim を入れた

CentOS に jslint.vim を入れました。コーディング中にリアルタイムで文法チェックをしてくれます。それほど重くもないですし便利です。 インストール JavaScript のインタプリタ (SpiderMonkey、Rhino、node.js) が必要なのでインストールはそこから。CentO…

JavaScript/ActionScript プログラマによる Perl メモ

JavaScripter/ActionScripter 視点での Perl 入門メモ。ハマりどころというか。追記するかもしないかも。識者の方はツッコミください。 括弧省略 基本的に括弧は省略できる。演算子に見えて関数呼び出しだったりする。 print("hello"); print "hello"; $_ や…

svn up の前に更新対象のファイルを確認する

svn up する前にどのファイルが更新なのか確認する方法。 svn st -u -u は --show-updates の短縮形。

Vim で「■」や「●」を正しく表示させる

Vim

ターミナルの Vim で「■」や「●」といった記号を入力すると、記号が半分になったりカーソル移動ができなくなったりと色々面倒な現象が起こります。これを解決するには .vimrc に以下を記述します。 if exists('&ambiwidth') set ambiwidth=double endif ambi…

Flash ゲーム用のスコアランキングライブラリを作りました

Flash ゲーム用のシンプルなスコアランキングライブラリを書きました。先日作った「さめがめ」でも使っています。 ダウンロード パッケージを GitHub のリポジトリからダウンロードしてください。 確認済みの動作環境 PHP 5.3 MySQL 5.1 PHP のバージョンは …

neocomplcache 導入時に ActionScript の補完がすべて小文字になってしまう

actionscript.vim と neocomplcache を同時に導入すると、キーワード補完が全て小文字になる不具合が発生します。 これは actionscript.vim 内に書かれている、 syn case ignore この一文が問題のようです (neocomplcache の Wiki より)。 使いづらいので修…

「さめがめ」の Flash ゲームを作りました

「さめがめ」の Flash ゲームを作りました。暇つぶしにどうぞ。 ルール 2 つ以上つながっているブロックを消せる つながっている数が多いほど得点が高い 消せなくなった時点で残っているブロックが少ないとボーナス得点が入る スクリーンショット フォントは…

userenv.info のデザイン変更と機能追加を行いました

Flash Player やブラウザなどのバージョンを確認できるサイト userenv.info のデザイン変更と機能追加を行いました。 スクリーンショット 追加した機能 ブラウザ (描画領域) のサイズ表示 表示内容をクリップボードにコピーする機能 表示内容をメール本文に…

iPhone 用のごみの日確認 Web アプリ「ごみの日確認くん」を作りました

iPhone 向けのごみの日確認 Web アプリケーション「ごみの日確認くん」を作りました。「第2月曜日」のような細かい指定ができますので「あれ?今日は第何月曜だっけ?」といった確認が不要になります。ご活用ください。 スクリーンショット 使い方 初期状態…

iPhone 用の家計簿 Web アプリ「家計ぽ」を作りました

iPhone 向けの家計簿 Web アプリケーション「家計ぽ」を作りました。 更新履歴 2011.03.03 日付が一桁の際に送信できなかった問題を修正しました。 スクリーンショット 「家計ぽ」を使うまでの準備 「家計ぽ」は、データベースに Google ドキュメントのスプ…

Git で svn export と同等のことを行う

Git

Git で Subversion の svn export と同等のことを行うコマンド。 $ git archive master | tar -x -C /somewhere/else git-archive で tar ファイルができるので、そのままパイプで tar コマンドに渡して展開しています。 参考サイト How to do a "git export…

スクリプトローダ JohnnyDepp.js を書きました

JohnnyDepp.js という JavaScript のスクリプトローダを書いてみました。依存性 (DEPendency) を解決するところから JohnnyDEPp.js です。名前だけはとてもクールだと思います。 一点注意。世の中には、LABjs をはじめ、ControlJS、Head JS など JavaScript …

GitHub 上に ページを作成する

Git

GitHub には username.github.com というサブドメインでユーザページを作ることができます。最近知りました。GitHub Pages に説明が載っています。 私もさっそく作ってみました。 ユーザページの作り方 username.github.com というリポジトリを作って、maste…

非同期処理を逐次処理するための JavaScript ライブラリを書きました

非同期処理を逐次処理するための JavaScript ライブラリを書きました。 デモページ ソースコード Processor インタフェース var processor = new Processor(); processor.add(p1).add(p2, p3); processor.execute(); 上記の例では Processor に p1 〜 p3 の…

prototype ベースの継承方法いろいろ

『JavaScript Patterns』より、prototype ベースの継承方法いろいろ。 1. 最もベーシックな prototype 継承 子クラスの prototype に親クラスのインスタンスを指定します。 function Parent(name) { this.name = name || "Adam"; } Parent.prototype.say = f…

仮説思考

『仮説思考』の読書メモ。 要するに 問題発見・解決を行う際にはまず仮説を立ててから考えましょうね、という話。一言でザックリ言うなれば、勘を磨けということだと思います。仮説思考を始めて最初の頃は仮説が外れて失敗するけども、訓練によって仮説が当…

ビジネスマンのための「発見力」養成講座

『ビジネスマンのための「発見力」養成講座』の読書メモ。 要するに 問題解決の入門書です。できるビジネスマンは、見えるものしか見ないようじゃダメで、見えないものを意識的に見えるようにしていかなければなりません。そのためには「発見力」つまり、あ…

funarg 問題

下記の bar() に渡す無名関数内の value が、どの値 (1 か 1000) にバインドされるかという問題を「funarg 問題 (Function Argument Problem)」というらしい。 function foo(value) { return bar(function() { return value * 2; }); } function bar(func) {…

モードラインでファイル毎に Vim の設定を記述する

Vim

モードラインを使用すると、個別のファイルごとに Vim の設定を書くことができます。 例えば、拡張子は .html でも中身は PHP スクリプトという場合、ファイルを開く度に :se fenc=php と入力せずに済みます。 モードラインの書き方 行頭か行末にそのファイ…

Head First Rails

『Head First Rails』を読んで Rails をザックリ勉強しました。副題に「Rails の基本」とあるように、基本しか書かれていないのでテストやデプロイにはそれほど言及していません。ただし、Rails の概念がすんなり頭に入りますので、初学には最適だと思います…

Movable Type から WordPress へ移行しました

Movable Type 2.6661 から WordPress 3.0.4 へ移行しました。役に立つかわかりませんが、移行メモ。 段取り 別ドメインに WordPress をインストールする。 Movable Type からエントリデータをテキスト形式でエクスポートする。 WordPress にデータをインポー…

2010 年アクセスランキング

本ブログ 2010 年のアクセスランキングです。 電卓を起動する AIR 2.0 アプリを作ってみた (February 16, 2010) Flash Player のバージョンを切り替えるアプリケーションを作った (July 31, 2010) 経営者の条件 (March 19, 2010) Flex SDK 3 と Flex SDK 4 …

複数ページの window.onload をまとめて書ける jQuery プラグインを書きました

複数ページ用の window.onload ハンドラのコードを 1 ファイルにまとめる jQuery plugin を書きました。WEB + DB PRESS 60 号に載っていた URL Dispatcher のコードを書き換えたものです。 tanabe/jQuery-Router - GitHub デモページ 使い方 $.route() の引…

Titanium Developer でサインアップ/ログインできない

問題 Titanium Developer (1.2.2) を起動すると最初にサインアップ / ログインの画面が表示されますが、ここで何故かオフライン扱いとなりこれ以上進むことができません。 原因 Titanium Developer は起動時に ping を投げてオンライン/オフラインの判断をし…

パーフェクト PHP

『パーフェクトPHP』の読書メモ。 要するに PHP を使いこなしている第一線のエンジニアが書いた、信頼性の高い技術書。巷で噂通り「パーフェクト」だと思います。PHP 以外のプログラミング言語を習得しているエンジニアが PHP のエッセンスをさらっと学ぶの…

Zend_Gdata の AuthSub で Token invalid エラーが出る

PHP

Zend_Gdata の AuthSub でハマったのでメモ。 問題 Google ドキュメントのスプレッドシートを読み書きするプログラムで認証が通らない。 現象 シート情報を取得する際に "Token invalid - AuthSub token has wrong scope" と怒られる。 $httpClient = Zend_G…

組織戦略の考え方

『組織戦略の考え方』の読書メモ。 要するに プレジデントに連載されていたコラムをアレンジして書籍化したもの。著者の主張は「組織の機能はヒト次第。構造は何も解決しない」です。組織デザインというと、カンパニー制やマトリックス組織などありますが、…

ランダム文字列を生成する JavaScript ライブラリを書きました

ランダムな英数字の文字列を生成する JavaScript ライブラリを書きました。テスト用英数字の生成やパスワードが決められない時などにご活用ください。 tanabe/random-string-generator-js - GitHub デモページ 基本的な使い方 引数無しで実行すると、32 文字…

選択されたアイテムのリンケージを解除する JSFL コマンド

ライブラリ内の選択されたアイテムのリンケージを解除する JSFL コマンド。 Commands/ReleaseLinkage.jsfl at master from tanabe's JSFL - GitHub (function (document) { var library = document.library; var selectedItems = library.getSelectedItems()…

JavaScript Patterns

『JavaScript Patterns』を購入しました。『JavaScript: The Good Parts』や『High Performance JavaScript』に続く、信頼と実績の Oreilly x Yahoo! Press シリーズ。どの本も Oreilly にしては薄くて読みやすく、プロフェッショナル向けの実践的な内容が特…

pathogen.vim を導入しました

Vim

pathogen.vim を導入しました。 ごちゃっとしていた plugin ディレクトリがかなりスッキリしました。読み方はパソゲン? インストール方法 pathogen.vim をダウンロードします。 $HOME/vimfiles/autoload (Mac/Linux は vimfiles → .vim) に pathogen.vim を…

オンラインメモサービス「メモだし」を作りました

ちょっとしたメモや TODO リストを保存できるサービス「メモだし」を作りました。 ただのオンラインメモ帳ですが、ユニークな URL を発行しますので、家族や友達と簡単に共有できます。 スクリーンショット ※iPhone 用にデザインされています。

ドットファイルを作成するバッチを書きました

ドットファイルを作成するバッチを書きました (実質 1 行ですが)。 @echo off ren %1 %~x1 使い方 上記コードをコピペして deleteFileName.bat などとして保存し、任意のファイルを deleteFileName.bat にドラッグ&ドロップすると、ファイル名が無くなり拡…

Leopard から Snow Leopard にアップグレードしたら Apache が起動しない

先日 Leopard から Snow Leopard (10.6.5) にアップグレードした際に apachectl が動かなくなりました。 $ sudo /usr/sbin/apachectl restart /usr/sbin/apachectl: line 82: ulimit: open files: cannot modify limit: Invalid argument エラーメッセージを…