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

Ubuntu の admin グループと sudo 権限の関係

今日の朝書いた記事 「Ubuntu 11.10 で全てのユーザーを一般ユーザー (admin グループに属してない) にしてしまった場合の対処法」 で書いたように、Ubuntu では admin グループに属しているユーザーが管理者ユーザーになります。 また、どのユーザーに sudo…

Ubuntu 11.10 で全てのユーザーを一般ユーザー (admin グループに属してない) にしてしまった場合の対処法

Ubuntu では、特権を得るために原則として root ユーザーになることはせず、管理者ユーザー (admin グループに所属しているユーザー) が sudo コマンド (グラフィカルプログラムの場合は gksudo など) を使うことで特権を得ます (Ubuntu document - RootSudo…

Facebook のユーザー認証と REST API (Graph API) の基本 (web アプリの場合)

Twitter の REST API を使うのと同じように Facebook の API を使いたいけどドキュメントがよくわからない、と前に思って放置してたんですが、読書メーターの Facebook 連携がうまくいかない原因を調べようと思って Facebook の API を使ってみると意外と簡…

HTML 要素にクラスを付与したり削除したりするのに便利なユーティリティメソッド (JavaScript)

HTML5 における HTMLElement#classList HTML5 では、HTML DOM の HTMLElement インターフェイスに classList というプロパティ が追加される予定です。 このプロパティは W3C DOM 4 の DOMTokenList インターフェイス を実装したオブジェクトを参照しており…

書評: 『ハイパフォーマンス JavaScript』 Nicholas C. Zakas 著, 水野 貴明 訳

ハイパフォーマンスJavaScript作者: Nicholas C. Zakas,水野貴明出版社/メーカー: オライリージャパン発売日: 2011/03/20メディア: 大型本購入: 9人 クリック: 1,176回この商品を含むブログ (33件) を見る『ハイパフォーマンス JavaScript』 を読み終わりま…

pg_stat_statements を使って遅いクエリを見つける (PostgreSQL, Ubuntu 10.04)

PostgreSQL などのリレーショナルデータベース (RDB) に対して発行されたクエリのうち、どのクエリで時間がかかっているのかを調べることは重要です。 そのための手段は色々ありますが、ここでは PostgreSQL のバージョン 8.4 以降で使用できる pg_stat_stat…

Java プログラマのための C# 入門 (#4 クラス定義の応用的なことと演算子のオーバーロード)

C#

「#3 クラス定義の基本とメソッド」 に引き続き、今回は C# のクラス定義の応用的なことを書いていきます。 C# のクラスには、Java にはないプロパティやインデクサというものを定義できます。 また、演算子をオーバーロードすることもできます。参考にして…

Java プログラマのための C# 入門 (#3 クラス定義の基本とメソッド)

C#

「#2 配列と文字列」 に引き続き、今回は C# のクラス定義の基本とメソッドのパラメータについて Java との違いをメモしておきます。 参考にしている書籍は 『独習 C#』 です。C# のクラスに関して、フィールドやメソッド、コンストラクタについてはほとんど…

Java プログラマのための C# 入門 (#2 配列と文字列)

C#

「#1 プリミティブ型と制御構文」 に引き続き、今回は C# の配列についてと文字列について Java との違いをメモしておきます。 参考にしている書籍は 『独習 C#』 です。

Java プログラマのための C# 入門 (#1 プリミティブ型と制御構文)

C#

最近 C# の勉強をしているので、Java と C# の差異をメモ程度に書いておきます。 タイトルには 「C# 入門」 と書いていますが、「Java プログラマが C# を使うときに気をつけるべきこと」 という程度に解釈してください。 Java を知っていればとりあえず C# …

JavaScript の正規表現マッチング

JavaScript で正規表現 (RegExp オブジェクト) を使ってマッチングする方法。 しょっちゅう忘れてしまううえに ECMAScript 仕様に適合した方法があまり web 上に書かれていないようなので軽くメモしておきます。 RegExp.prototype.exec( string ) メソッド …

ツイートに含まれるハッシュタグや URL の情報を取得する方法 (日本語ハッシュタグへの対応などの仕様変更に自動で対応できるように)

先日、twitter が日本語のハッシュタグに対応 して、何かと便利になったような気がします。 ただ、残念ながら twitter クライアントや twitter 関係の web サービスではまだ日本語のハッシュタグに対応できていないところもあるようです。 例えば とぅぎゃっ…

2011 年上半期に読んだ情報技術系の書籍の感想 #2

その 1 に続き、2011 年の上半期に読んだ情報技術系の書籍について軽くまとめておきます。 本記事では各言語以外の書籍を。

2011 年上半期に読んだ情報技術系の書籍の感想 #1

もう 7 月も半分以上が過ぎてしまいましたが、今年の 1 月から 6 月までの間に読んだ本をまとめておきます。 この記事では各言語の書籍を。 それ以外の本は 別記事 にまとめます。

スクロール位置を維持しつつ web ページ全体のスクロールをできないようにする方法 (web ページのスクロール位置固定)

最近は Ajax などによって web ページを動的に変更するという手法も一般的になって、ページの中にさらにサブページのようなものをポップアップする、ということがしばしば行われます。 例えば Facebook の Theater mode のようなものです。さて、「ページの…

Java のローカル内部クラスや無名内部クラスから外部のローカル変数にアクセスする

Java で Swing を使ってると無名内部クラス (anonymous inner class) をしばしば用いることになると思います。 例えば SwingUtilities.invokeLater メソッド に渡す Runnable オブジェクト は無名内部クラスとして生成することが多いのではないでしょうか?…

CSS の position: fixed により描画領域全体を覆う要素を IE 6 でエミュレーションする

Lightbox のように、ブラウザの描画領域全体に何らかの要素を表示したいような場合、おそらくは CSS で position: fixed を指定すると思います。しかしながら、Internet Explorer 6 は position: fixed をサポートしていないので、IE6 で同じ事をするには別…

ダイクストラ法による最短経路探索と任意距離の移動が可能な場合の変法

何回か前の TopCoder SRM (SRM509) で出題された最短経路探索問題 (Div2 Hard) が解けなかったので、後から考えた解法をメモしておきます。 実際の問題とは異なりますが、大体こんな感じ、ということで。 実際に出題された問題は、ダイクストラ法で解ける最…

誤り : JavaScript のオブジェクト型は参照型ではないというお話

コンピュータ科学の分野における 「参照型」 (reference type) というのは、「何らかの値を参照するデータ型」 のことだと思っていたのですが、実際の意味は 「参照によってのみアクセス可能なデータ型」 のようです。 そんなわけで前者が正しい定義だと思っ…

Java で Base64 エンコード, OAuth, JSON を扱うためのライブラリ WSCUtils を公開しました

Java で Twitter クライアントを作ろうと思ったときに、とりあえず OAuth や JSON を扱えるようにする必要があったのでライブラリを作ってみました。 既に twitter4j とかあるんで需要はない気はしますが興味のある方はどうぞ。 WSCUtils github - WSCUtils …

組合せ (コンビネーション) を求めるプログラム

今日の TopCoder SRM において 組合せ (コンビネーション; いわゆる nCm と書くやつ) を求める必要があったものの、ぱっと処理を書くことができなかったので反省を込めてメモを。 組合せを求める 組合せ を求める式は以下のようになります。簡単に実装できそ…

Java における文字列とバイナリ列の相互変換についてと OAuth のパーセントエンコードの方法

Java で文字列を扱うのはあまり慣れておらず、文字列をパーセントエンコードするのにちょっとてこずったので軽くメモを。 文字列 (String オブジェクト) とバイナリ列 (byte 型配列) の相互変換 Java において、文字列を任意のエンコーディングでエンコード…

ECMAScript 5 の strict mode でグローバルオブジェクトを得るひとつの方法

ECMAScript 5th edition (JavaScript 系統のコア部分をまとめた言語みたいなもの) には strict mode というものがあり、strict mode では関数コード (Function Code) 内の this キーワードの参照先オブジェクトが、strict mode でない場合と異なる可能性があ…

new を不当に貶める陰謀と JavaScript におけるクラスの継承構造の話

私は陰謀論者じゃないですし JavaScript の new 演算子が大好きなわけでも大嫌いなわけでもないです。 念のため。 本記事は Hiraku さんが書かれた下記記事への言及です。 newを封印して、JavaScriptでオブジェクト指向する(1) newを封印して、JavaScriptで…

WEBrick の ProcHandler で DELETE メソッドや PUT メソッドを扱えるようにする

WEBrick で HTTP サーバーを作ってリクエストを WEBrick::HTTPServlet::ProcHandler オブジェクトで処理する、ということをしていたのですが、DELETE メソッドを投げると 405 エラーが返ってきてしまうという問題に直面しました。 レスポンスボディは以下の…

ECMAScript のレキシカル環境 〜catch 節のスコープのお話〜

Twitter で ECMAScript (JavaScript) の catch 節のスコープについての話をみかけた ので、ちょっと調べてみた。 catch( err ) の err のスコープは? 例外処理の機構で使用される catch( err ) ですが、この err はどの範囲で有効なのか? 普通に考えると c…

WEBrick サーバー (Ruby による web サーバー) を安全に停止する方法とデーモン化する方法

Ruby には、WEBrick という HTTP サーバーのフレームワークが標準添付ライブラリとして同梱されています。 Ruby on Rails などにも使われているようです。で、私も web アプリケーションの開発に WEBrick を使ってみようと思ったのですが、WEBrick サーバー…

Ruby におけるバイナリ文字列に対する正規表現マッチング

Ruby 1.9 系において、バイナリ文字列 (ASCII-8BIT の String オブジェクト) に対する正規表現マッチングをさせる方法について記します。 Ruby 1.9 系において URL デコードを行う際などに役に立ちます。 正規表現リテラルの n オプション 正規表現リテラル…

Ruby においてメソッドがどこで定義されているのかを調べる方法

ruby-talk の 381425 で 「どのメソッドが呼び出されているのか調べる方法を知りたい」 という内容の質問がありました。 私も知らなかったのですが、Method オブジェクトを使えば簡単に知ることができるそうです。というわけで、メソッドがどこで定義されて…

Twitter のアイコン画像 (プロフィール画像) を取得する Ruby スクリプト

Twitter のユーザー名 (screen_name) を指定して複数人のプロフィール画像をダウンロードする必要があったので、Ruby でスクリプトを書きました。 特に面白くもないですが置いておきます。 プロフィール画像を取得するための Twitter API プロフィール画像を…