メメメモモ

プログラミング、筋トレ、ゲーム、etc

2010-05-01から1ヶ月間の記事一覧

ニュートン・ラフソン法

ニュートン・ラフソン法(ニュートン法)は、関数f(x)とx軸が交わる点の近似値を反復計算により得る方法です。 この方法を用いる際の注意点は次のようなものです。 関数f(x)がx軸と交わる 定義域の範囲で微分可能(接線が引ける) 接線がx軸と交わる 適切な初…

個人的勉強用リンク2

Javascript ポップアップメニュー - JavaScript ミスティーネット・JavaScript講座 jQuery: jQuery 実践サンプル JavaScriptの関数オブジェクトを完璧に理解する - builder by ZDNet Japan anything from here jQueryに学ぶ Javascript の基礎(7) 組み込みク…

Web上で作成するWeb素材

自分専用のCGIページを作成するとき、デザインなどは適当に作ってしまいます。 画像もなにもない簡素なページで、必要最低限の機能があるページです。 しかし、やはり見た目も少し綺麗な方が使っていても、作っていても楽しいのではないかと思いました。 か…

循環参照と弱い参照とScalar::Util::weaken

参照カウンタ 次のようなコードを見ると、ちょっと不思議に思います。 use strict; use warnings; sub create_func { my ($name) = @_; my $func = sub { print "Hello, $name\n"; }; return $func; } my $func = create_func('memememomo'); $func->(); 不…

デーモン化する

スクリプトをデーモン化するには、スクリプト内でforkし、 親プロセスを終了して子プロセスを走らせます。 コードは下記のようになります。 「モダンperl入門」のコードをまんま引用させていただいてます。 use strict; use POSIX (); my $pid = fork(); if …

Mojo::IOLoopを使ってEchoサーバ

Mojo::IOLoopを使ってEchoサーバを書いてみました。 use strict; use warnings; use Mojo::IOLoop; my @_listen; my %message; # options my $options = {}; $options->{port} = 3000; # Accept callback $options->{cb} = sub { my ($loop, $id) = @_; $loo…

XPathメモ

ノード ノードとは、HTML(XML)の情報をそのまま持っているオブジェクトです。 ノードには次のような種類があります。 要素 タグを持ったノード テキストノード タグ内のテキスト部分 属性 のclass="hoge"の部分 ドキュメント 一番祖先の要素(htmlタグ) XPath…

Test::ExceptionとTest::MockObjectを使ってテスト

Test::ExceptionとTest::MockObjectを使用したテストを書いてみました。 それぞれのモジュールは下記のような機能を持っています。 Test::Exception 例外のテストを行なうモジュールです。 下記のようなメソッドが定義されています。 lives_ok { test_code()…

Test::More、Test::Classを使ったテスト

Test::More、Test::Classをそれぞれ使ったテストについて調べました。 テストするモジュールは、下記のようなものです。 # 直線を表すモジュール package Line; use strict; use warnings; # 「ax + by + c = 0」の「a,b,c」部分が渡される sub new { my $cl…

jQueryメモ

jQueryの読み込み 公式サイトからDL jQuery: The Write Less, Do More, JavaScript Library <script type="text/javascript" src="./jquery-1.4.2.min.js"></script> googleから読み込み Google AJAX Libraries API - Google Code <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">

javascriptメモ2

DOM操作 操作するHTML <html> <head> <title>hogehoge</title> </head> <body onload="init();"> <div> <h1>hogehoge</h1> <div id="test"> <p> fuga </p> <div> piyo </div> </div> </div> </body> </html> var element = document.getElementById('test'); alert('id: ' + element.innerHTML); /* id: <p> fuga </p> <div> piyo…</div>

クロージャの動作確認

クロージャというのは下記のようなものだと認識していました。 use strict; use warnings; sub create_closure { my $i = 0; my $c = sub { $i++; print $i, "\n"; }; return $c; } my $c1 = create_closure(); $c1->(); # 1 $c1->(); # 2 my $c2 = create_c…

Google Chrome Extensionのチュートリアル

Tutorial: Getting Started (Hello, World!) - Google Chrome Extensions - Google Code を参考にExtensionを作成しました。 一番分かりやすいチュートリアルなんじゃないかと思います。 チュートリアルでは、manifest.jsonとpopup.htmlのみを作成するシンプ…

Google Chrome ExtensionのAPIメモ

Browser Action ウィンドウの右上にアイコンを表示する。 アイコンをクリックすると下記のいずれかの動作をする バッヂ(短いテキスト)を表示 ポップアップを表示 イベントを取得 アイコンをクリックした時に、上記のどの動作を行なうのかをmanifest.jsonで設…

Enumerableモジュール

Enumerableモジュールは、繰り返し処理を行なうクラスのためのMixinです。 繰り返す処理とは例えば「sort」「map」「grep」などです。 これらの処理はeach関数を用いるので、EnumerableをMixinするときはeach関数を定義します。 class Vehicle attr_reader :…

Mixinについて

Mixinとは、オブジェクト指向の多重継承の欠点を最小にして利点を生かすテクニックです。 多重継承の欠点とは以下のようなものです。 構成が複雑になってしまう クラス群の優先順位が分からなくなる メソッドの名称が衝突してしまうことがある これらの欠点…

canvasとinterpreterパターンを使った描画

増補改訂版Java言語で学ぶデザインパターン入門作者: 結城浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/06/19メディア: 大型本購入: 38人 クリック: 630回この商品を含むブログ (377件) を見る こちらのInterpreterパターンの章で紹介されて…

Rubyについて調べた事メモ

Rubyのソースコードを読んでいる途中で分からなかった事柄について調べたことのメモです。 attr_reader, attr_writer, attr_accessor メンバ変数のアクセサを作成します。 class Class1 attr_reader :a attr_writer :b attr_accessor :c end m = Class1.new(…

javascriptメモ

よく必要となる処理のメモです。 配列制御 // 配列の初期化 var list = [1, 2, 3]; var list = new Array(); var list = new Array(1, 2, 3); // 配列同士の結合 var new_list = list1.concat(list2); // 配列に要素を追加 list.push(1); list.unshift(1); /…

HTML5のcanvas入門メモ

canvas入門メモです。動作確認はgoogle chromeのみで行ないました。 何も無いcanvasを描く まずは、何も無いcanvasを描きます。 描くためにcanvasタグを使用します。 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> </head></html>

個人的勉強用資料リンク

テーマ別で資料リンクを集めました。 また、参照できそうな雑誌の記事もピックアップしました。 google chromeの拡張作成 今すぐ使えるのはどれ?Google Chromeのオススメ拡張機能 - はてなブックマークニュース どういったものが作れるのか Google Chrome …

OpenIDについての概要メモ

概要 OpenIDは、ベンダーに依存しないURL/XRIを入力するだけで、ログインが可能にする認証技術標準のことです。 URL/XRIは、特定のベンダーに依存しないものです。 ユーザーは、自身のOpenID URLを入力するだけでログイン可能になります。 OpenIDには下記の…

標準モジュールと関数を用いてディレクトリ操作、ファイル操作

ディレクトリ操作系、ファイル操作系の処理プログラムメモです。 FIle::Path File::Spec Time::Piece stat unlink 保存ディレクトリが無い場合、作成してファイルを保存 File::Path ディレクトリ作成 FIle::Spec OS依存に対応したパス作成 use strict; use w…

cronで実行するプログラムでの「use lib」

任意のディレクトリにあるモジュールを読み込む際に、ディレクトリのパスを設定します。 例えば src/ main.pl lib/ Test.pm Test/ Class.pm という構成があり、main.plからTest.pmを読み込むときのコードは下記のようにします。 use lib 'lib'; use Test; my…

画像の扱いについて

画像のリサイズを行う必要があったので、関連のモジュールやソフトウフェアをインストールしました。 しかし、結構上手くいかないことがあったのでメモ。 環境は「MacOX Snow Leopard」です。 試したモジュールはこちらで紹介されていたものです。 Webから画…

プライベートシステム構築でやったことメモ

jQueryでスライドショー 画像ポップアウト・イメージギャラリー・スライドショー Simple Controls Gallery v1.3 Photo Slider Perlで画像の縦横サイズを取得 Perlで画像の縦横サイズを簡単に取得できるモジュール Image::Size - heavy monologue use Image::…

AnyEvent::Twitter::Streamでベイジアンフィルタの様子を見る

ツイートストリームをベイジアンフィルタでカテゴリ分けしていく様子を見てみました。 カテゴリとしてハッシュタグを利用します。 ハッシュタグが付いているツイートは、フィルタの学習テキストとなります。 ハッシュタグが付いていないツイートは、どのハッ…

ベイジアンフィルタの学習データをデータベースかStorableで管理

WEB+DB PRESS Vol.56作者: 赤松祐希,紀平拓男,牧大輔,西林孝,中島聡,中島拓,角田直行,はまちや2,舘野祐一,きしだなおき,和田裕介,伊藤直也,大沢和宏,塙与志夫,増井俊之,ミック,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2010/04/24メディア: 大…

GD::SecurityImageを使ってCAPTCHA画像を生成

GD::SecurityImageを使ってCAPTCHA画像を生成を試してみました。 GDが入っていなかったので、インストール手順から。 GDのインストール CPANモジュールを入れる前に下記のリンクからライブラリをDLしてきてインストールします。 http://www.libgd.org/Downlo…

AnyEventに関する写経用サンプルプログラムリンク集(Tatsumaki含む)

AnyEvent(Tatsumaki)の勉強で写経するのに良さそうなサンプルプログラムがあるページを集めました。 第13回 AnyEvent:イベント駆動モジュールの方言を吸収する(モダンPerlの世界へようこそ) Hello World的な短いサンプルプログラム AnyEventでechoサーバ - …