ROUTE 3390

備忘録的な用途で書いていますが、どなたかの役に立つ事があれば嬉しいです。

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

Perlで不思議なハッシュが作れるはなし

このエントリーを書いたキッカケはこのtogetterです。 実際に書いて調べて、リストと配列は別物であるとか勉強になりました。 なかでもハッシュのキーに「リスト(配列ではない)」を指定した時の動作は面白かったので、私の検証結果をまとめてみました。 ま…

Exporter.pmの役割を知ったのでメモ

perlで文字コードを扱う時に使用するモジュールといえばEncode.pmですよね。 CPANはこちら SYNOPSISを見ると下記のようにuseしていますね。 use Encode qw(decode encode); $characters = decode('UTF-8', $octets, Encode::FB_CROAK); $octets = encode('UT…

はじめてCPANにあげてみた 〜 そして早速バージョンアップもやってみた 〜

タイトルの通り、初めてCPANにあげてみたので、その備忘録です。 アップロードしたモジュールは前回作ったMojolicousのプラグインです。 プラグインの内容や、そもそもそんなのいらないとか、名前空間へんだよ、などなど、もしお気づきの点などあればご指摘…

後置ifでmy宣言しちゃダメ

perlのスコープは{}ブロック毎に出来ます。 例えばこんな感じ。 my $flg = 1; if ( $flg ) { my $hoge = 'sasakure'; print $hoge; # output「sasakure」 } print $hoge; # Global symbol "$hoge" requires explicit ...<省略> {}ブロック内で宣言されたmy変…

Mojoliciousのプラグイン作成コマンドを使ってみた

Mojoliciousで開発をしていて、既存のプラグインを使ったり、新規に自分で作ったりすると思いますが そんな自分で作ったプラグインの中には「CPANにあげたい!」と思うものも出てくるんじゃないでしょうか。 僕は今回、Webサイトの他言語対応(国旗の画像をポ…

MojoliciousでのSession管理

よくあるセッション管理って、アクセスしてきたユーザー(ブラウザ)にセッションIDを発行します。 サーバー側ではセッションIDをキーにして 色々な(ユーザーAAAで、ログイン済みといった)情報を保存しておきます。 ユーザーのブラウザにはセッションIDが…

MacOS X にMongoDBをインストールしてみた(CentOSもあるよ)

僕にとって記念すべき初めてのNoSQLがMongoDBとなりました。 今回はそのインストール手順をメモメモportでインストール shell> sudo port install mongodb ## だいたい10分くらいかかった ##必要なディレクトリとログファイルを作成して、さて起動 shell> su…

Mojoliciousを使ってみたよ

PerlのフレームワークMojoliciousを使ってみたので、そのメモ。 マシンはMac OS X ちなみに、Mojoliciousはドキュメントが日本語訳されていますよ Home · yuki-kimoto/mojolicious-guides-japanese Wiki · GitHub まずはCPANからインストール $ sudo cpan cp…

P-01Dの端末依存?

WebViewを使ったアプリを開発していて、開発環境のページにはBasic認証をかけている事はよくあるケースだと思います。 そんな時 setHttpAuthUsernamePassword(String host, String realm, String username, String password) を使うと思うのですが、、 なぜ…

Mouse(Moose)で使うMouseX::Types::Path::Classが素敵

今日はMouseX::Types::Path::Classって素敵ですねってはなし。例えば、ログを吐くディレクトリを今まではこうやって用意してた。 package Sasakure; use Mouse; has 'dir' => ( is => 'ro', isa => 'Str', ); __PACKAGE__->meta->make_immutable; no Mouse; …

HTTP Authorizationヘッダを環境変数にセットする

Apacheを利用している場合、デフォルト状態だと Authorizationヘッダの中身を環境変数には入れてくれません。プログラム上で認証処理を行いたい場合は、下記のようにRewriteRuleを使って 環境変数に格納してあげる必要があります。.htaccess RewriteEngine o…

MySQL Clusterの設定ファイルを作ってくれるツール

MySQL Clusterの設定ファイルを作ってくれるツールがあるんですね。 知りませんでした。ほとんど動くものが出来たので便利でした。http://www.severalnines.com/config/英語ですが、ひとつひとつ翻訳して、分からないキーワードは調べて、、、MySQL Cluster…

Mouse(Moose)のRoleにはBUILDメソッドを書くべきではないんだね

下記のようなソースがあった。Sasakure.pm package Sasakure; use Mouse; with 'SasaRole'; __PACKAGE__->meta->make_immutable; no Mouse; 1; SasaRole.pm package SasaRole; use Mouse::Role; no Mouse::Role; sub BUILD { my $self = shift; warn "sasaro…

CGI::Application::DispatchとMouse(Moose)を使った時にハマったこと

CGI::Application::Dispatchで下記のようにargs_to_newを使うと、 実行するモジュールへの引数が指定出来る。index.cgi #!/usr/bin/perl use strict; use warnings; use CGI::Application::Dispatch; CGI::Application::Dispatch->dispatch( prefix => 'Sasa…

MySQLでテーブルサイズを調べる方法のメモ

▼全てのテーブルサイズをGB(ギガバイト)で取得 SELECT SUM(data_length)/1024/1024/1024 as db_size_GB FROM information_schema.tables WHERE table_schema='データベース名'; ▼特定のテーブルサイズをMB(メガバイト)で取得 SELECT SUM(data_length)/1024…

ScalaでJavaのListをforにぶっこんだら怒られた

エラーはこんな感じ。 value foreach is not a member of java.util.List[String] for(foreach)はJavaのListを扱えないんですって。じゃあどうしたらforで扱えるのさ? 型変換を行えば良いらしい。まずは必要なモジュールをインポート。 import scala.collec…

Entity-Attribute-Valueモデル

DB

ECパッケージ Magento で使われているEAVモデルについて、自分なりに理解できているか確認の意味も込めてまとめます。 誤りなど気づいた方がいらしたら、是非つっこんでください。まずよくあるユーザーテーブル ▼customer_table id name birthday address 1 …

HttpURLConnectionでハマったこと

Androidアプリの開発に携わるようになったので、ちょっとそちらでハマった話。アプリからどこぞのAPIを叩く時など、httpやhttpsで通信を行います。 その時利用したのがjava.net.HttpURLConnection これを使うのがスタンダードみたい。 それでメソッドにはGET…

ブロック暗号方式に挑戦。 Mcryptを使ってみた

McryptでCBCモードを使う機会があったのでメモ use strict; use warnings; use Mcrypt qw(:ALGORITHMS :MODES); use Digest::MD5 qw(md5_hex); my $FILE_NAME = 'kkkkk.txt'; my $FILE = '/home/sasakure/' . $FILE_NAME; my $td = Mcrypt->new( algorithm =…

スーツのAOKIでポイントカードを作ってる人は要注意

このブログはたまーに仕事関係の備忘録に書くだけですが、あまりにも衝撃だったのでここに記します。 結論から言うと。 電話番号が分かれば、たとえ本人じゃなくても名前や生年月日、住所、性別などを知る事が出来る。 AOKIでポイントカードを発行した事があ…

mac portsでzshをインストールしてみた

zsh

zshを使いたくなったので、インストールしてみました。 その際のメモメモmacなんだしmac portsで簡単に出来るんじゃない?と思ったら出来ました。さっそくインストール $ sudo port install zsh-devel下記のようなメッセージが表示されました。 If you want …

Magentoの.htaccessに気を付ける

僕がうっかり失敗した事。MagentoでECサイト構築中だったので、まだ外部からアクセスされたくないと思い IP制限とBASIC認証を施しました。httpd.confで でもあれ? IP制限がかからないぞ? /var/www/html/ がドキュメントルートだったので、そこにかけたので…

商品の種類

シンプル商品 ノーマルな商品はこちら 特別なオプションを持たせたい場合は、属性とそれをまとめる属性セットを作成してから オプション統括商品 オプション毎に在庫を持たせたい場合に利用 シンプル商品でオプション毎に登録し、設定可能商品でシンプル商品…

「ウェブサイト」「ストア」「ストアビュー」について

Magentoを使う時、私が最初に困ったのが「ウェブサイト」「ストア」「ストアビュー」の理解です。 ウェブサイトがあって、その下にストア、その下にストアビューがあります。 まずは例を挙げてみます。▼普通に1つのショッピングサイトをオープンしたい。 ウ…

複数通貨を利用する

Magentoは世界各国の通貨が利用出来ます。 出店者の要望に応じて設定出来ます。 ただし、1ストアで扱える通貨は1種類のみです。もし、英語ストアはドルで、日本語ストアは円で販売したい。 というような要望があればMagentoの複数ストア管理を利用すれば可…

503エラーが表示される

Magentoのインストールディレクトリに maintenance.flag というファイルがあるとMagentoは503エラーを表示するようになります。 正確には [Magentoディレクトリ]/errors/503.php が表示されます。 管理画面操作などで、プログラムの処理が失敗した時などに m…

複数ドメインの設定

Magentoでは1つの管理画面で複数ショッピングサイトを管理する事が出来ますが、 ショッピングサイト毎にドメインを変える事も可能です。 管理画面よりウェブサイトを作成し、ストアとストアビューも必要なだけ作成します。 次に各ウェブサイト毎にルートカ…

ドメイン変更時に困った事

Magentoをインストールする際、ベースURLというものを登録しています。 自分のURLはこれだ!っていうのを覚えているんですね。なので、開発環境のグローバルIPが変更になった場合や、ドメイン取得したー など ベースURLが変更になる場合は設定変更が必要です…

local変数について改めて理解する

Perlにはglobal変数、local変数、my変数があります。私はあんまりlocal変数って使う機会が無くて、なんとなくしか理解していませんでした。my変数が「ブロック内がスコープの変数」というのに対して、local変数は「ブロック内で呼んでる関数なんかスコープに…

モジュールを作ってみた

ためしにMagentoのカスタムモジュールを作成しました。 モジュールの動作は「とあるURLが叩かれた時に、DBのデータを呼び出す」です。実行するURLはこれです。 [サイトURL]/mymodule/test MagentoはこういったURLが来たとき、mymoduleをモジュール名 testは…