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

MacPorts で Tomcat 6 をインストールする

インストールする前に Mac OS X 10.6.3 Java 1.6.0_17 で実行している。 % java -version java version "1.6.0_17" Java(TM) SE Runtime Environment (build 1.6.0_17-b04-248-10M3025) Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01-101, mixed mode)…

Ports の古いパッケージが更新できなくなった

どうも Ports に登録されている PHP が 5.2 系から 5.3 系に変更されたのをきっかけにして、PHP のモジュールの更新ができなくなった。 修正に参考にしたサイト FreeBSD - portupgradeの導入・利用

MacPorts から phpPgAdmin をインストールする

phpPgAdmin をインストールする % sudo port install phppgadmin ブラウザから phpPgAdmin へアクセスできるようにする phpPgAdmin がインストールされたパスを Apache のドキュメントルート下にシンボリックリンクを張る。 /Apache/Document/root/ は実機の…

MacPorts で PostgreSQL インストール後にする最初の設定

インストール直後は、PostgreSQL にパスワードなしで接続できるため、まずは管理者のパスワードを設定する。 この設定は、PostgreSQL が起動していないと設定ができないので、まずは PostgreSQL を起動する。 % sudo su postgres -c 'pg_ctl -D /opt/local/v…

MacPorts で PostgreSQL をインストールする

PostgreSQL をインストールする前に依存関係やオプションを確認する % port variants postgresql84 Password: postgresql84 has the variants: krb5: add support for Kerberos 5 authentication perl: add Perl support python: add support for python tcl…

cron で Perl スクリプト実行時に Can't locate My/Module.pm in @INC 等のエラーが出る

独自のモジュールを読み込ませて cron を実行するとエラーが出る場合がある。 原因は cron が実行する際のディレクトリが、cron の実行ユーザーのホームディレクトリになるため、任意のディレクトリを @INC に設定していてもエラーが発生する。 モジュールの…

MacPorts で PHP5 をインストールする

% sudo port install php52 +apache2 +mysql5 +pear +readline +sockets +t1lib +tidy Suhosin のパッチを当てたものでインストールをしてみると、エラーが出てインストールができないので、Suhosin の適用はしていない。 ---> Applying patches to php52 Er…

MacPorts で Apache 2 をインストールする

インストールをする % sudo port install apache2 コマンドから Apache を起動する % sudo /opt/local/apache2/bin/httpd -k start 停止する場合。 % sudo /opt/local/apache2/bin/httpd -k stop 再起動する場合。 % sudo /opt/local/apache2/bin/httpd -k r…

Mac OS X に MacPorts で MySQL をインストールする

これまで XAMPP で MySQL を使えるようにしていたが、開発用に MacPorts で MySQL をインストールする。 MySQL をインストールする % sudo port install mysql5-server ---> Computing dependencies for mysql5-server ---> Fetching mysql5-server ---> Ver…

Mac OS X に HTML::Tidy がインストールできるといいな

パッチをあてて HTML::Tidy のインストールを試してみる まずは HTML::Tidy のソースをダウンロードする。 % mkdir ~/src % cd src % wget http://search.cpan.org/CPAN/authors/id/P/PE/PETDANCE/HTML-Tidy-1.08.tar.gz --2010-03-09 23:46:54-- http://sea…

Mac OS X で HTML::Tidy 再び

MacOS X には HTML::Tidy はインストールできないのか で HTML::Tidy のインストールに失敗すると書いた。先日、delphinus35 さんから、MacPorts を利用して Tidy をインストールされる際に生成される libtidy.a を使えば、HTML::Tidy をインストールできる…

Perl で簡単なクラスを作成して動作を確認してみる

これまで、Perl でクラスを作成する必要はなかったのだが、HTML::Parser を継承したクラスを使うといろいろ便利そうなので、試してみた。 サンプルのクラス Sample.pm として保存する。 package Sample; use strict; sub new { my ($class, $a, $b, $c) = @_…

SSH 越しでローカルのリポジトリをリモートにコピーする

形式 % hg clone ssh://username@remotehost:portnumber/path/to/repos サンプル % hg clonse ssh://littlebuddha@example.com:5124/works/repos username リモートマシンにログインできるユーザー名 remotehost リモートマシンのIPアドレスかドメイン名 por…

Java で日付の挙動を確認する

サンプルコード import java.util.*; import java.text.*; import java.util.regex.*; public class DateSample { public static void main(String[] args) throws ParseException { // Calendar クラスは new をしてインスタンスは得られない Calendar cal …

XML::FeedPP で RSS を出力する

PP は Pure Perl の略のようで、コンパイルする必要がないモジュールのため、レンタルサーバーでも利用することができる。 サンプルコード #!/usr/bin/env perl use strict; use warnings; use utf8; use Encode; use DateTime; use XML::FeedPP; use Data::…

MacOS X には HTML::Tidy はインストールできないのか

まずは普通にインストールをしてみて失敗をする % cpan -i HTML::Tidy Failed 18/20 test scripts. 68/75 subtests failed. Files=20, Tests=75, 1 wallclock secs ( 0.59 cusr + 0.15 csys = 0.74 CPU) Failed 18/20 test programs. 68/75 subtests failed.…

jQuery と JSONP と $.ajax() と無名関数

JavaScript のコードをほとんど書いたことがなく、jQuery も JSONP も初めてだったので、戸惑うことが多かった。 Bing で callback で利用する関数を指定するパラメーター名は JsonCallback Bing のように callback 関数を明示的に指定する必要がある場合は…

jQuery と JSONP で Bing の画像検索を利用してみる

Bing のレスポンスで「invalid label」というエラーが発生した原因 Bing のレスポンスで「invalid label」というエラーが発生した原因は、Bing で JSONP として処理をするには、「JsonType」と「JsonCallback」をリクエスト時に設定していなかったことが原因…

Bing のレスポンスで「invalid label」というエラーが発生する

原因 JSON のキーと文字列の値はすべて「"」で囲むことが求められている。しかし、Bing のレスポンスで数値は、「"」で囲まれていないのが、原因となっている。例えば、検索結果数としての値が「"」で囲まれていない。 {"SearchResponse":{"Version":"2.2","…

Log4Perl でファイルとメールにログを残す

log4perl でファイルにログを残すのと、任意のレベル以上のエラーが発生した場合はメールを送信するように設定する。 簡易な設定ファイルの内容 log4perl.rootLogger = DEBUG, LogAppender, MAILER log4perl.appender.LogAppender = Log::Log4perl::Appender…

Yahoo Web API の返り値を XML で受け取って Perl で処理をする

「Yahoo Web API の返り値を JSON で受け取って Perl で処理をする」の改良版。 #!/usr/bin/env perl use strict; use warnings; use utf8; use Encode; use LWP::UserAgent; use Data::Dumper; use URI::Escape; use XML::Simple; my $yahoo_app_id = 'your…

利用規約

遵守事項 Display all the results you request. Display your results in the context of a user-facing application or website. Display attribution to Bing in a manner compliant with our branding rules. Currently, you may determine the specific…

HTTP_Request2 サンプルコード

setConfig(array( 'follow_red…

PHP で画像を読み込んで、ブラウザに表示させる

PHP

PHP でサーバー内の画像を読み込んで、画像データをブラウザに出力して画像を表示させる。 サーバー内に保存された画像データをファイルから読み込む場合 上記のファイルが、URL で http://localhost/image.php にあるとした場合、PHP ファイルに…

Yahoo Web API の返り値を JSON で受け取って Perl で処理をする

JSON は JavaScript での処理を前提にしたものが多く、Perl などほかの言語で処理をする場合のサンプルがなかったので、記しておく。 #!/usr/bin/env perl use strict; use warnings; use utf8; use Encode; use JSON; use LWP::UserAgent; use Data::Dumper…

JSON の文字列について

JSON の文字列は「RFC 4627 The application/json Media Type for JavaScript Object Notation (JSON)」に規定されている。 文字列は、 文字列は C 言語で使われる方法と同様に、前後をダブルクォーテーションでくくって表わす。全ての Unicode 文字列はダブ…

Net::Amazon を使う

2009年8月に Amazon のAPI が変更になり、認証が必要になってから初めて Amazon の API を利用する。 サンプルコードは下記のようになる。詳細なメソッドの説明は Net::Amazon の perldoc を参照する。 #!/usr/bin/env perl use strict; use warnings; use u…

Ports のオプションを初期化 / 変更 / 再設定をする

現在、設定されているオプションの確認 % make showconfig 現在、設定されているオプションの破棄 % sudo make rmconfig オプションの再設定 % sudo make config オプションを変更して、最初のインストールを失敗した場合 オプションを変更して、初めて port…

Ruby で MySQL に接続できるようにする

いつになったら、Ruby 1.9 系で安定して MySQL に接続できるようになるのだろうか。 MySQL は XAMMP でインストールされるものを利用。 C:\>ruby -v ruby 1.8.7 (2009-12-24 patchlevel 248) [i386-mswin32] C:\>gem install dbi Successfully installed dep…

Ruby で配列から特定の要素のみを抽出する場合

#!/usr/bin/env ruby # -*- coding: utf-8 -*- aiueo = ['あ', 'い', 'う', 'え', 'お'] auo = aiueo.values_at(0, 2, 4) auo.each do |word| puts word end 実行結果は あ う お となる。 応用編 カンマ区切りで二重引用符のフィールドセパレーターの CSV …