読者です 読者をやめる 読者になる 読者になる

m_shige1979のささやかな抵抗と欲望の日々

プログラムの勉強をしながら学習したことや経験したことをぼそぼそと書いていきます

なんとなく作ったサイト

http://www.it-check-matome.info/


Github(注意すること)

https://github.com/mshige1979

Perl6のインストールを試す

環境 vagrantのCentOS6.x インストール git clone https://github.com/rakudo/rakudo.git cd rakudo/ perl Configure.pl --prefix=$HOME/perl6 --gen-moar --gen-nqp --backends=moar make make install バージョン確認 $ $HOME/perl6/bin/perl6 -v This is …

Amon2のチュートリアルをやってみた

最初はチュートリアルから 基本的なデータベースやルーティングなどを理解する意味でやってみる 手順 雛形を作成して必要なモジュールをインストールしておく amon2-setup.pl BBS cd BBS/ carton install sql/sqlite.sql を編集 CREATE TABLE IF NOT EXISTS …

perlの復習(map)

復習資料 workshop-2013-05/slide.md at master · perl-entrance-org/workshop-2013-05 · GitHub なぜかたいていはfor文とか使ってしまう mapとかも使えたほうがイケてる感じがするので調べ直さないと… map 配列の一覧を返す機能、値に加工などを行うことも…

perlでtwitterAPI(retweet、favorite)

自分のツイートをリツイートできないことに やっと気づいた。だってなんどやっても 403が帰ってくるから… 実装 sample1.pl #/usr/bin/env perl use strict; use warnings; use Net::Twitter; use utf8; use Data::Dumper; binmode STDOUT, ":utf8"; my $cons…

PerlのExport確認

以前 Perlのモジュールでモジュール名とかを省略する - m_shige1979のささやかな抵抗と欲望の日々 Perlのモジュールでモジュール名とかを省略する - m_shige1979のささやかな抵抗と欲望の日々exportで勉強したんだけどちょっと忘れそうなので再度学習 とりあ…

Mojolicious+Angularjsでwebsocket2

なんかStarmanではだめのよう 今更ながら、nginx+Mojolicious+WebSocketでチャットアプリに挑戦 - 鈍足ランナーのIT日記 今更ながら、nginx+Mojolicious+WebSocketでチャットアプリに挑戦 - 鈍足ランナーのIT日記ここの設定をまるごと拝借して構成 上記…

Mojolicious+Angularjsでwebsocket

github https://github.com/mshige1979/reoreotsubuyakikun angularjsでwebsocket Controllerだけではうまくいかないことがあるのでfactoryなどが必要になってくる 実装 default.html.ep <html> <head> <title><%= title %></title> <link rel="shortcut icon" href="<%= url_for '/favicon.ico' %>"> </link></head></html>

perlの復習(配列やハッシュ)

時々Perlのソースを見ていくと?というソースがある Perlの配列やハッシュを引数で設定しているからでした。ちょっと簡略化すると以下のような感じ 配列 sample1.pl #!/usr/bin/env perl use strict; use warnings; use Data::Dumper; sub test1{ my @list =…

Amon2のフレームワークを触ってみる

別に Mojoliciousに飽きたわけではない。他のフレームワークにも触れておく必要があると感じだけ インストール cpanm Amon2※フレームワークなので入れるものが非常に多い なんかamon2-setup.pl が使用できるようになったみたい $ amon2-setup.pl Usage: % am…

Perl入学式に参加した感想&その後ちょっと作ったMojoliciousのサイト

Perl入学式 Advent Calendar 2014の12月16日(火)の記事です。 昨日はpapixさんのReplyでお手軽にPerlのコードを動かす話でした。Perlの対話型環境は始めて聞きました。ちょっと触ってみようかと思います。ここではPerl入学式への参加したことやその感想など…

perlでAnyEvent::Twitter::Streamを使用して取得

AnyEvent::Twitter::Stream sample.pl #/usr/bin/env perl use strict; use warnings; use AnyEvent::Twitter::Stream; use utf8; use Data::Dumper; use Time::Local; binmode STDOUT, ":utf8"; my $consumer_key = "consumer_key"; my $consumer_secret = …

perlでtwitterAPI(search、update)

メモ用 実際にやらないと覚えないので… コピーをそのまま使用して動かないとかよくあるので… 準備 https://apps.twitter.com へアクセスしてアプリの登録とキーを生成しておく キーは書き込み可能なように対応 search クエリーで検索してくれます sample1.pl…

Teng::Plugin::SearchBySQLAbstractMoreを試す

いろいろなモジュールがある どれを使用することが正しいのかなんてわからないので適当にネットで検索したものを使用することにする 今回は集計とかしたかったので「Teng::Plugin::SearchBySQLAbstractMore」を検索しました 準備 cpanm cpanm Teng::Plugin::…

Mojoliciousでstashを使用する際、定義していないと…

概要 Mojoliciousではテンプレートで変数を割り当てる際はstashを使用する サンプル package Sample::Web::User; use Mojo::Base 'Mojolicious::Controller'; # ログイン共通 sub init { my $self = shift; # ログイン処理独自のcssを設定 $self->stash->{cs…

Mojoliciousで表示前の共通処理(bridge)

bridge Mojoliciousで各ページを表示する前にhtmlのタイトルなどの共通設定を各ページで定義するのが無駄な感じがする場合に処理をするところ。これを使用することで認証チェックなども実施可能 構成 [vagrant@localhost sample_web]$ tree . ├── lib │ └── …

perlモジュール確認(Digest::SHAとかText::Markdown::Discount)

Digest::SHA 暗号化を行うモジュール認証の処理を使用する際はお世話になるかも… インストール cpanm Digest::SHA サンプルソース #!/usr/bin/env perl use strict; use warnings; use Digest::SHA qw(sha1_hex sha256_hex sha384_hex sha512_hex); my $pass…

PerlでTengを使用したDB操作2

MVCのモデルみたいな感じにしようと画策中データベースを接続する際は毎回接続するのはちょっと面倒臭いのでなんか1つの場所で接続して使用した方がいいはず。 構成 . ├── config.pl ├── lib │ ├── Config │ │ └── App.pm │ ├── DB │ │ └── Schema.pm │ ├──…

MojoliciousでCSRFを実施

Mojoliciousでは内部実装可能 なんかtokenが同じ値なのでなんかおかしいかも… サンプル コントローラーのモジュール package Sample::Web::Test1; use Mojo::Base 'Mojolicious::Controller'; use Mojolicious::Validator; use Mojolicious::Validator::Vali…

PerlでTengを使用したDB操作

準備 データベース作成 create database sample_db1; テーブルを作成 create table posts( id int auto_increment NOT NULL, title varchar(50), body varchar(256), created DATETIME, modified DATETIME, primary key(id) ); 適当にデータを突っ込んでおく…

PerlでWebアプリのモデルなしサンプル

なんか色々と迷走している感じ、調べているけどどんなものを作成するのがいいかで結構悩み中 Mojoliciousで作成する 生成 $ mojo generate app Sample::Web ↓ [vagrant@localhost mojo1]$ mojo generate app Sample::Web [mkdir] /vagrant/perl/mojo1/sample…

perlの学習(再帰方法)

再帰処理? なんか自身の関数を呼び出す処理。これがあるコードはデータの流れを理解するのに時間がかかる。 実際、苦手。 簡単なやつ sample1.pl #/usr/bin/env perl use strict; use warnings; func(10); sub func{ my ($a) = @_; printf("%04d\n", $a); i…

MovableTypeとダイナミック・パブリッシング

ダイナミック・パブリッシング MovableTypeの記事を動的に表示する機能。 デフォルトの状態では静的にファイルを作成するがこの機能により、動的に記事を表示できる。phpでの設定を調べました 設定 いろいろやることがめんどうなんで以下のものを作成して実…

Perlでオブジェクトサンプル(シングルトンパターン)

シングルトンパターン モジュールでインスタンスを1つしか作成できないもの データベースやファイルのポインタなどを使用する場合に使われる ソース sample.pl #!/usr/bin/env perl use strict; use warnings; use Sample::Test01; my $obj = Sample::Test0…

Perlのモジュールでモジュール名とかを省略する

なんかたまに use Sample::Test1 qw(test1 test2); こんな感じの記述があるソースをperlで見かけるけどなんでか」わからないのでちょっと調べたエクスポートしているとのことよくわからないので実装サンプルを作ってみた。 いままで sample.pl #!/usr/bin/en…

Perl Beginners #13へ参加しました

やべえぇぇぇぇぇぇぇぇぇぇぇぇl 今回まとめるの面倒だったんでメモを適当にブログに貼り付けてしまった。最近、全然勉強していない。Perlで何か作成しようと考えていたのになにもアイデアがでないまま ズルズルと引き伸ばされている。で今回の勉強会 概要…

plenvのcpanmインストールでエラー

インストールできない [vagrant@localhost ~]$ plenv install-cpanm % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 113 226 113 226 0 0 13 0 0:00:17 0:00:16 0:00:01 6647 Bareword found where …

PerlでWebデータを取得し、任意のデータを抽出

正規表現難しい こればっかりはなかなか理解できない やること とあるサイトのHTMLを抽出して表示HTMLを抽出→タグを抽出→指定のタグを抽出→不要なタグを除去などして対応する。 実装 #!/usr/bin/env perl use strict; use warnings; use LWP::UserAgent; my …

【Perl版】TwitterAPIでStremingAPIを使用してつぶやきをリストで抽出

今度はPerlでストリーミングを取得 cpanmモジュールであるらしいけどなんかうまく動かなかったので自力で取得 なんか調べる度に新しいcpanモジュールが出てきてキリが無くなった… データの流れは同じはず 基本、php版と同じ流れでデータを渡せばイケるはず… …

gitprepのインストールメモ

GitLabに興味があったので調べてみた インストールで詰んだw やること多すぎて意味不明 エラーが発生しても対応できなかったので潔く諦めました。 GitPrepってなんだ? Perlで作成したプライベートリポジトリ管理ツールとのことこれどれどれ…なんとなくだけ…

Perl入学式in東京 第2期修了式

イベント Perl入学式のイベントの2期が終わった。いろいろと勉強させてもらったのでちょっとだけ 場所 東京都品川区西五反田1-21-8 KSS五反田ビル ※いつものところ 時間 2014/03/29 18:00~ ※補講のあとすぐ 料金 無料 ※JPA( http://japan.perlassociation.…

Perlでファイルを読み込むモジュールを作成

サンプルモジュール作成 簡単にファイルのデータを読み込み、書き込みを行うモジュールを作成 サンプルデータ data.txt 1234567890lskajdljlasklioweoiadllkkjlkds9437029840921849dskjlsdf s s sssssssssssssss ddddddddd eeeeeeeeeeeeeeeeee 3333333333333…

PerlでMouseモジュールとかいうのを使用してクラスを使用

Mouseを使用したクラスサンプル cpanmを使用してMouseをインストール [root@localhost pm_sample2]# cpanm Mouse たくさんの関連モジュールをインストールとかコンパイルとか色々する [root@localhost pm_sample2]# sample.pl #!/usr/bin/env perl use stric…

Perlでクラスを作成してみたけど…

やりかた間違ったと思うけどわからん ちょっと今回は静的メソッドのみのモジュールのみ インスタンスもやるけど「相棒」みてたら時間がなくなった。 構成 . + lib + Bus.pm + Car.pm + sample.pl ソース 実行ソース #!/usr/bin/env perl use strict; use war…

Perl学習(配列、ハッシュとリファレンス)

配列とハッシュ、リファレンス 「@」で使用する場合と「$」で使用する場合とかリファレンスとかなんかよくわからないので再度復習がてら 配列 ソース #!/usr/bin/env perl # use strict; use warnings; use Data::Dumper; # 配列変数として定義 my @aaa; # $…

PerlでDBIでMySQLに接続

データベースに接続する ライブラリに「Teng」とかあるけどまずはDBIで制御の練習 ぶっちゃけサンプルをネットで探したけどなんかこんがらがったwww 準備 cpanmでモジュールを追加 cpanm Teng DBD::mysql※もう先にTengも入れておくあとで次回に使用するか…

Perl入学式#6に参加

イベント情報 イベント Perl入学式in東京 #6 日時 2014/3/1(土)13:00~18:00 URL URL 場所 東京都品川区西五反田1-21-8 KSS五反田ビル 株式会社ガイアックス 6Fセミナールーム 参加人数 30人くらい ハッシュタグ #Perl入学式 説明資料 これ 今回は前回の復…

Perl入学式#5の最終問題2

問題は以下 以下の機能があるYAPCモジュールを実装してください(上級編) YAPC::is_yet()で, 開催前か開催後かを真か偽で返します(テストをBの人が, コードをAの人が書きましょう) 「8月28日以前」ならば開催前(真), それ以降なら開催後(偽)として扱うことにし…

Perl入学式#5の最終問題1

#6があるようなので一応 #Perl入学式 in東京最終回, #6 のZusaarを立てました! 開催日は3月1日(土)です. 皆様のご参加, お待ちしております! -> http://t.co/ac5LP9c2PD— Perl入学式 (@Perl_Entrance) 2014, 1月 31 Perlの勉強をしているけどなかなか時間が…

Perl入学式in東京 #5に参加しました

イベント情報 イベント Perl入学式in東京 #5 日時 2013/12/08(日)13:00~17:00(17:40までかかりましたけど) URL URL 場所 東京都品川区西五反田1-21-8 KSS五反田ビル 株式会社ガイアックス 6Fセミナールーム 参加人数 11人くらい 今回は少しづつ寒くなっ…

Perlでログの確認2

log4perl ファイル出力のログのテスト 設定 confファイル編集 log4perl.logger.develop = DEBUG, Print log4perl.appender.Print = Log::Log4perl::Appender::File log4perl.appender.Print.layout = Log::Log4perl::Layout::PatternLayout log4perl.appende…

Perlでログの確認

アプリケーションログ 処理中になんの処理を行ったかを確認するのでログを出力する方法を調査 一番しょぼい方法 warnを使用する #!/usr/bin/env perl use strict; use warnings; # logテスト warn "log test"; warn "log test2"; warn "log test3"; 結果 [ro…

Perlでロジックのベンチマーク

スピードアップの復習 速度ロジックを見ただけで組んでいないのでちょっと復習 必要なもの Benchmarkというものの「timethese」と「cmpthese」が必要 サンプル #!/usr/bin/env perl use strict; use warnings; use Benchmark qw( timethese cmpthese ); # ロ…

Perl Beginners #11に参加しました

勉強会情報 URL http://atnd.org/events/45001 場所 東京都中央区勝どき区民館 (東京都中央区勝どき1-5-1) 人数 40人(参加は17人くらい) 日時 2013/11/29 19:00 to 21:00 ハッシュタグ #perlbeginners togetter http://togetter.com/li/597242 ustream h…

Perl(Mojolicious)+nginxで連携

やること PerlにMojoliciousをインストールして、nginxと連携する Perl設定 plenvをダウンロード [root@localhost ~]# git clone git://github.com/tokuhirom/plenv.git ~/.plenv Cloning into '/root/.plenv'... remote: Counting objects: 1828, done. rem…

MojoliciousでWebSocketに挑戦

結論 Herokuではなんか動かなかった。まあ、Perlではサポートしていないことが問題かな? 原因はわからんけどとりあえず、そのままにしておく 対応 app.psgi # chatの画面 get '/chat' => sub { # パラメータを取得 my $self = shift; my $jslist = ['chat.j…

Herokuで環境変数を指定

まあ、どうみても間抜け app.confにパスワードとか設定したらパスワードとかを見られる可能性があるので環境変数を指定する gitファイルに設定ファイルを配置してしまうので変更 app.psgiに環境変数を読み込むように変更 # 設定ファイルを読み込み my $confi…

Mojoliciousの学習(TwitterAPIを使用)

Mojoliciousの練習 いけにえ http://guarded-coast-9763.herokuapp.com/ Github https://github.com/mshige1979/heroku-perl-test01 Twitter Developerでアプリケーションを登録 URLにアクセスする https://dev.twitter.com/ サインインして、「My applicati…

Mojoliciousの学習

今日は疲れている なんか体調が優れない…体力が戻るまでちょっとずつやろう 勉強用のいけにえ http://guarded-coast-9763.herokuapp.com/ テンプレートを外部ファイル化 全体構成 . |-- README.md |-- app.psgi |-- cpanfile |-- lib |-- public | |-- css |…

Perl入学式in東京 #4に参加しました

イベント情報 http://www.zusaar.com/event/1079007 場所 東京都品川区西五反田3-5-20 日時 2013/10/19(土)13:00-17:00 どんなこと Perlの超初心者をベースにしたお話 ハンズオン形式で行うのでPCなどの環境が必須 URL http://perl-entrance.org/ サポータ…

Mojoliciousの学習「RSSより一覧を表示」

外部ファイルを使用する