tweeeetyのぶろぐ的めも

アウトプットが少なかったダメな自分をアウトプット<br>\(^o^)/

perl

【Mojolicious】MojoliciousでのGET|POSTのリクエストパラメータを取得するメモ - ルーティングキャプチャとかMojo::Message::RequestとかMojo::Parameters

はじめに Mojoliciousアプリでリクエストパラメータを取得するときのメモ。 初歩的な内容ですがMojoliciousコントローラ内で GETやPOSTされてきたパラメータを取得する際はいくつか方法があります。 今回はよく使われる3つの方法を書いてみました。 アジェン…

【perl】DBI::mysqlでmysqlに接続すると`[error] install_driver(mysql) failed: Can't load '/home/hogeperl5/perlbrew/perls/perl-5.18.4/lib/site_perl/5.18.4/x86_64-linux/auto/DBD/mysql/mysql.so' for module DBD::mysql: libmysqlclient.so.16`と表示されるやーつの対応

はじめに perlbrew x cpanm x あとはいろいろな構成でアプリを作っていたのですが、 DBD::mysqlでperl->mysql接続しようとするとこんなエラーが出ることがあります。 [Mon Oct 12 20:16:59 2015] [error] install_driver(mysql) failed: Can't load '/home/h…

【Mojolicious】Plack::Middleware::LogFilterを使ってplackupの静的ファイルのログを出さなくする

はじめに mojoliciousアプリをちょこちょこ触っているのですがアプリケーションサーバはPSGI/Plackで起動しています。 静的ファイルはpsgiでPlack::Middleware::Staticをenableすることでリバプロ的に配信していますが、 開発中はログがががーーーーーーーと…

【Mojolicious】plackupからのpsgiでmojoliciousアプリの静的ファイルの場所を変更したい - Plack::Middleware::Static

はじめに mojoliciousアプリをちょこちょこ触っているのですがアプリケーションサーバはPSGI/Plackで起動しています。 本番サーバだったらフロントにいるapacheやnginxのwebサーバ側の 設定で静的ファイルを配信してしまえば良いですよね。 macローカルな開…

【Mojolicious】Mojoliciousでconfig的なファイルを扱うメモ - Mojolicious::Plugin::Config

はじめに タイトル通りですがMojoliciousアプリでConfig的なファイルを扱いたいなーと思ったときのメモです。 Mojolicious::Plugin::Configを使って実現します。 アジェンダ どんなもの? Mojolicious::Plugin::Configについて Mojolicious::Plugin::Config…

【Mojolicious】Mojoliciousアプリをgenerateして雛形生成するメモ - おまけでplenv x carton x plackup

はじめに mojoliciousでアプリの雛形を生成するときのメモです。 ゆーすけべーさんのブログをかなり参考にさせていただきました。 → PerlのWAFはMojolicious推しな件とそのノウハウAdd あじぇんだ mojoliciousいれる Mojolicious::Liteのアプリの雛形を生成…

【Mojolicious】mac x plenv x Mojolicious::Lite x morbo をサクっとためす

はじめに mojoliciousを使ってみたくなったのでメモ。 おもに下記2つのサイトを参考にさせていただきました。 Mojolicious入門 ~ PerlでWebサイトを作ろう ~ さくらVPSでnginxとsupervisordを使ってMojolicious::Liteを動かしてみた 主な流れは2の方をメイ…

【perl】perl x mysql(DBI::mysql)でのかなり恥ずかしい文字化け対応 - ????とかになっちゃう。

はじめに perl関連で文字化け的なものが発生すると、あーあれね、内部文字列だとかのやつね。 とかなりがちですよね。 しかしそう思い込んで対処しようとしていたらもっと初歩的なことに気付かずで時間を使ってしまったというだけのメモ。 ぐ。。。 対応方法…

【perl】DBI::mysqlでmysqlに接続すると`DBI connect('dbname=hoge;host=localhost;port=3306','hoge',...) failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)`と表示されるやーつの対応

はじめに perlbrew x cpanm x あとはいろいろな構成でアプリを作っていたのですが、 DBD::mysqlでperl->mysql接続しようとするとこんなエラーが出ることがあります。 BI connect('dbname=hoge;host=localhost;port=3306','hoge',...) failed: Can't connect …

【perl】cpanmでDBD::mysql入れようとすると`Installing DBD::mysql failed`と表示されるエラーの解消

はじめに perlbrew x cpanm x あとはいろいろな構成でアプリを作っていたのですが、 DBD::mysqlを入れようとするとこんなエラーがでるときがあります。 ! Installing DBD::mysql failed. See /home/hoge/.cpanm/work/1436686165.21154/build.log for details…

【Mojolicious】さくらVPS x perlbrew x Mojolicious::Lite x nginxをサクっとためす

はじめに mojoliciousを使ってみたくなったのでメモ。 おもに下記2つのサイトを参考にさせていただきました。 Mojolicious入門 ~ PerlでWebサイトを作ろう ~ さくらVPSでnginxとsupervisordを使ってMojolicious::Liteを動かしてみた 主な流れは2の方をメイ…

【perl】Perl module 依存マネージャーcartonをmac × plenv × cpanm環境で使うメモ

はじめに 自分のmacではperlを使うにあたりplenvを使用しているので、 アプリやらサービスやらのディレクトリ内のperlバージョンはplenvで管理・固定しています。 モジュールはそんなに気にしていなかったのですが、 モジュール管理としてちょいちょいcarton…

【apache】mod_fastcgiをインストールして使ってみるメモ

はじめに 下記サイトを見ていてmod_fastcgiが気になったので入れてみたメモ。 【Munin】mod_fcgidからmod_fastcgiに切り替え、負荷軽減 貧弱な環境では、mod_fastcgi を使う事で、比較的メモリに余裕が増えましたと書かれていたのを見てどれどれ自分も、って…

【perl】plenvでperl x cpanm x carton環境を作る - linux(Centos6.5)編 for さくらVPS

はじめに perl環境はperlbrewで作っていましたが、plenv良さそうってことでplenvってみるメモ。 の、さくらVPS(centos6.5)に入れてみる編。 詳細はmac編のほうにも書いたのでインストールのみではしょります。 →【perl】plenvでperl x cpanm x carton環境を…

【perl】plenvでperl x cpanm x carton環境を作る - mac編

はじめに perl環境はperlbrewで作っていましたが、plenv良さそうってことでplenvってみるメモ。 このメモのゴールは特定のディレクトリに特定のperlバージョンを入れて ついでにcpanモジュールも入れてみるまでです。 アジェンダ homebrewインストール plenv…

【perl】FormValidator::Simpleの使い方メモ - VALIDATION COMMANDSのサンプルとかも

はじめに 気分的にFormValidator::Simpleをメモりたくなったのでメモ。 基本的にはCPANサイト見れば事足りる内容です。 アジェンダ FormValidator::Simple入れる FormValidator::Simpleの基本的な使い方 バリデーションエラー(Data::FormValidator::Results)…

【perl】grep、mapでいろいろやる(配列からkey=>1のhashに変換、リストからユニークな値の取得、2つの配列をマッピングしてhashに変換)

はじめに 以前、perlのリスト(配列)の基本について書きました。(hashについては書いてないかも) 上記の記事とはあまり関係ないですし今更間はありますが、 今回はリストとhashの使い方(主にgrepやmap)についてメモ 参考 こちらも参考に 【perl】perlのリス…

【perl】ハッシュスライスでいろいろやる(2つの配列をマッピングしてhashに変換、DBレコード的なヤツから任意のkey=>valueに変換)

はじめに 以前、perlのリスト(配列)の基本について書きました。(hashについては書いてないかも) 上記の記事とはあまり関係ないですし今更間はありますが、 今回はhash(ハッシュスライス)の使い方についてメモ 参考 こちらも参考に 【perl】perlのリスト(配…

【perl】Class::Inspectorで任意のperlモジュールのサブルーチン(メソッドor関数)一覧を表示するワンライナーメモ

はじめに perlモジュールのサブルーチン一覧を表示したいときってありますよね。 ドキュメントに説明書きたいときか。class図的なヤツのmethodに書きたいとか。 短いヤツならコピペしてもいいですけど長いソースとかスクロールしてコピペしてとかやってもだ…

Mac OS Xでlaunchdでcronのように定期実行するメモ - launchd.plistの作成とか

はじめに macでcronのように定期実行したい時のメモです。 自分はvirtual boxやvmwareなどのゲストOS上で作ったファイルやログを ホストのmacに定期的にもってきたい(もしくは同期したい)というケースがありました。 ゲスト側でcron設定してrsyncも考えたの…

【perl】perlbrew環境化にImageMagicをインストールして使ってみる(リサイズしてみる)テスト

はじめに ImageMagicはすでにインストールしてしまってる(もしくはしてなくてもOK)が perlbrewな個人環境で使いたいのでrootで入れたImageMagicでは扱えない。 そんな時のメモ。 ってことで、個人環境に ImageMagicとperlMagicを入れます。 ながれ 個人環境…

インストールされているCPANモジュールの確認/perlのサーチパスを確認(@INC)/perlの読み込まれているモジュールの確認(%INC)

はじめに perlやってると結構頻繁に使いたいけど忘れちゃうリストをいくつかメモ perlのサーチパスを確認(@INC) perlの読み込まれているモジュールの確認(%INC) インストールされているCPANモジュールの確認 何度忘れたことかw perlのサーチパスを確認(@INC)…

さくらvpsの設定自分メモ - perlbrew入れてからのperl-5.18やらcpanmいれて使ってみるメモ

はじめに タイトルのまんまの自分用メモです。 perlbrewいれてperlのバージョンを切り替えて使いたい cpanモジュール自分用にいれて他に影響ないように使ってみたい みたいな場合はぜひぜひ。 mac用にも書いたし何度もやった作業ではあるんですが 一度やった…

Mac OS Xにperlbrew入れてperlの好きなバージョンを入れたり切り替えたりしてみるメモ

はじめに Mac OS Xでのperl開発において、 catalystやらmojoliciousを入れるようとすると macに入っているデフォルトのperlのバージョンでは要件が合わないことがあります。 もとのをバージョンアップするなりダウンするなりしても良いのですが、 面倒なので…

【perl】perlのリスト(配列)を真面目に復習-初期化、リテラル、qwショートカット、index、個数、代入、foreach、コンテキスト、無名配列とかとか

はじめに perl開発でリスト(配列)は良く使いますが 改めて初めてのPerl 第6版を読んだので初心に振り返ってリストを復習 初めてのPerl 第6版posted with amazlet at 14.09.15Randal L. Schwartz brian d foy Tom Phoenix オライリージャパン 売り上げラン…

perlでdid not return a true valueと表示されるという恥ずかしいエラーについて

はじめに perl使っていてホント恥ずかしいところでエラったので自分戒めメモ 概要 perlを実行したらこんな感じで表示される # perl class.pl Class.pm did not return a true value at class.pl line 2. BEGIN failed--compilation aborted at class.pl line…

プログラムの1行目にあるアレ(shebang)についてメモ-/usr/bin?/usr/local/bin?/usr/bin/env?

はじめに コード書いてれば絶対目にするコレ #!/usr/bin/perl とか #!/usr/bin/env perl 目にするはずなのにとっさに名前が出てこない!(><) そんなコトがたまーにある。(結構かも?) イイ機会なのでshebangについてメモしたってことを覚えておけるよう…

td-agent(fluentd)の運用でTreasure Data使ってみたメモ② - Application Supportを使ってみる(fluent-logger-perl)

はじめに こちらも昔やったことのうる覚えの自分用メモ! 今回はperlのFluent::Logger(fluent-logger-perl)モジュールを使ってみる話しです。 本家Treasure Dataでは Fluent::LoggerからTreasure Dataへデータを送る流れでやってみますが 今回は簡単に確認で…

perl からmongoつないでみるテスト

仕事ではphp-mongodb、または、javascript-mongodbでやっているので 慣れ親しんだperlでも接続しておいてみます ってことで、MongoDBモジュールのインストールから 結構何度もyesか聞かれることになるので、自動yes選択を設定してからinstall MongoDBします …

さくらvpsの設定自分メモ - さくらVPSのCentOSにCpan入れる

はじめに 何かちょっしたいときからweb作るときまで何かとperlは触る機会が多いのでCpanを入れておきますってことでさっそくこんな感じでやります ながれ 1.CPANをインストール 2.libyaml-develインストール 3.cpan upgrade 4.cpanでYAMLインストールしてみ…

ファイルディスクリプタをperlで見てみたいときメモ

はじめに ディスクリプタがなにか?とか、ファイルハンドルの概念とは?とかっていう話ではないです。 純粋に見てみたいだけのメモですw特にperlが実行されるプロセスで何回もファイルオープンしたら 何回もディスクリプタが作られるところを見たいというメ…

Time::Pieceで時間比較したときの9時間ずれ問題メモ

ちょっとperlやってないと毎回忘れるのでメモ やりたいこと やりたいことは単純で、 ○○年○○月○○日○○時過ぎたらこの処理やる 時間の比較にはTime::Pieceを使う みたいなことですけど、毎回同じトコで間違って調べては対応って繰り返してるので メモって自分を…

perlのglobでファイル一覧とかtree構造とかを作ってみるテスト。ついでに<>(fileglob)もおためし

はじめに プログラムかなんかでファイルの一覧を取得したいなーってときありますよね。 一覧だじゃなくて階層ごと取りたいってこともあるとかないとか。そこでファイルの一覧を取得できるperlの「glob」を使ってみます 参考はこちらhttp://d.hatena.ne.jp/pe…

Devel::MemUsedモジュールで(なんかの処理をした際のメモリ使用量を調べる)

はじめに メモリ使用量を調べるって機能をちょっと使いたいところがあったので試した過程をメモします下記のサイトを参考にさせてもらいました GTopの代わりに、Devel::MemUsed メモリ使用量を調べられるDevel::MemUsedを使ってみた Perlでのメモリ開放につ…

perlのundefの挙動2(return;でhashが壊れる

perlのundefの挙動1(関数でなにも返さないとhashが壊れたりとか で、return;の挙動がundefと違うことを確認しましたが これを使うとhashが壊れるっていう検証です 前回と同じくundef的なものを返す関数をいくつか定義 # return;のパターン(ifはあまり意味…

perlのundefの挙動1(関数でなにも返さないとhashが壊れたりとか

perlをやっていると0や''やundefなんかをbooleanのfalse的に使ってしまうわけですが その中でもundefについてちょっと検証っていうのも、関数でreturnするときに return; return undef; と書くのが同じだと思っていました、っていう話しです。 検証:まずund…

q演算子、qq演算子、qw演算子、qr演算子をちょっと試す

はじめに qw演算子とかってよく使うわりにちょくちょく調べちゃうのでちゃんと把握するためメモ今回のきっかけはSQLAbstractのorder文の指定。 order_col => [qw/colA colB/] こんなふーにも使えるので便利ですよね! 簡単な概要 q/string/; シングルクォー…

perlの@INCの確認方法

perlでMojoliciousを使ってて use Mojo::Base 'Mojolicious'; っていう記述があった場合に Mojolicious.pmってどこにあんだって探すメモです簡単ですが、 ・Mojolicious.pmを探す ・探したらパスが複数出てきた場合どれなのかを特定する って感じになります…

関数の引数の参照渡し(perl&php)

はじめに phpとperlを交互にやってるとたまに混同するのでメモ参照渡しについて軽く整理します まずはperlから perlはサブルーチンへの引数がデフォルトで参照渡しなので 参照渡しのテストスクリプトはこんな感じで確認できます refer_test.pl #!/usr/bin/pe…

ファイルの中身の文字列を一括置換

備忘録メモプロジェクトソースなんかのファイルの中身の文字列を一括で置換したいときメモ (秀丸でもいいですけどね) # perl -pi -e 's/hoge/fuga/g' ./*.txt ※いまいるディレクトリ内の拡張子.txtのファイルの中身の文字列'hoge'を'fuga'に置換ただ、これ…

mapとgrepとforeach

最近はperlやってるけど 何度やってもいまいちとっつきにくいmapとgrepについてメモメモ特徴 ・なんらかのリストに対して要素を順番に処理したリストを返す ・なんらかのリストから取り出した値を変えると、元のリストの要素も書き換わる ・map(grep)関数内では…