gist に画像データを登録

gist に画像データを登録する手順です。知っている方にはいまさらですね。

画像データ以外でも同様にできるかと。

  1. 適当にgistをつくる

    最初に登録するファイルはダミーなので内容はなんでもかまいません。

     delete me
    
  2. Private Clone URL を git-clone する

    登録した gist のページの上部にある Private Clone URL を git-clone します。

     $ git clone git@gist.github.com:3942884.git gist-3942884
    
  3. 画像を git-add する

     gist-3942884$ git add hoge.jp
    

    不要なら最初に登録したファイル(Markdown)を削除します。

     gist-3942884$ git rm [FILENAME]
    

    で、コミット。

     gist-3942884$ git commit -m 'added hoge.jp'
    
  4. git-push して完了

     git push origin master
    

注意事項

push するホストは gist.github.com です。

~/.ssh/config に

Host github.com
...

とだけ設定している場合は接続エラーになると思われるので

Host gist.github.com
...

Host *github.com
...    

を設定しましょう。

Niigata.pm 居酒屋LT 2012 秋の陣 に参加しました #niigatapm

今回はゆるふわな居酒屋LTということで、大した準備もせずに参加しました。

LT

スライドはこのとおり。

当日にアップしたブログの内容をお話させていただきました。

ゆるふわっと

初顔合わせである、AWS + PHP + MySQL で興味深いサービスを運用している @sakapun さんや学生ゲームプログラマの @Gorugo20 くんの濃ゆいお話を聞けて、大変楽しい時間でした。

市内在住のWebプログラマーはなかなか表に出てきてくれないので、 @sakapun さんとは改めて掘り下げたお話を聞きたいなぁとか思ったり。

あと毎度のことながら技大勢の技術力&センスに嫉妬。あと干支一回りぶん若ければ...ぐぬぬ...

帰りの道中では @bei_kan さんとスピリチュアルなトークができ、最後まで楽しいイベントでした。

少々心残りも

ボスが途中退場だったのが非常に残念でした。

いろいろ忙しいとは思いますが、都合の良いときに改めて飲みに行きたいなぁ...とか。

次回は

次回のイベントは tech talk #3 になる...でしょう。

闘牛士の国で大活躍中(だよね?)の @aokcub 先生が全編英語のトークを聴かせてくださるそうなので、期待せざるを得ません。 #無茶振り

「CPAN Author になったよ」のつづき

先日のエントリ「CPAN Author になったよ」のつづきです。

これが公開されたということは、Niigata.pm 居酒屋LT 2012 秋の陣 : ATNDが開始されているのでしょう。きっと。

CPAN Author になるまでの手順

さて、ずっと敷居が高いと思っていたCAPN Authorになるまでの手順ですが、実際はこんな感じです。

  1. PAUSEにユーザー登録
  2. CPANにモジュール登録

とっても簡単ですね。

PAUSE にユーザー登録

  1. PAUSERequest PAUSE accountからアカウント発行申請を行います。

    このとき"A short description of why you would like a PAUSE ID"の項目が重要です。Perlに対する熱い思いのたけをぶつけてみましょう。

    あまり変なことを書くと申請を蹴られる場合があるそうなので、ちょっと真面目に書きましょう。

  2. 無事にアカウントが発行された場合は、先ほど登録したメールアドレス宛てにメールが届きます。

    再度PAUSEのページにアクセスし、Change Passwordからパスワードの変更を行いましょう。

  3. つづいてEdit Account Infoで名前やメールの送信先を登録します。

    私の場合

    • "Publicly visible email address" に username@cpan.org
    • "Secret email address" に普段使っているメールアドレス
    • username@cpan,org のメールを "my secret email address" へ転送する

    な感じで設定しています。

CPANにモジュールを登録

PAUSEのUpload a file to CPANからmake distしたtarballをアップロードしてもよいのですが、ここでは Module::Setup + Carton + ShipIt な環境で開発・登録するまでの簡単な流れを解説します。

Carton使っているのでちょっと特殊かもしれません

  • Mosule::Setupでモジュールの雛形をつくる

      $ module-setup My::Module::Name
      $ cd My-Module-Name/
    

    .shipit とか作ってくれます。ありがや。

  • 開発する

    ぶりぶり開発しましょう。

    依存モジュールはcartonでインストールしちゃいます。 MANIFEST.SKIPにcatron.lockや.carton/などを加えておきましょう。

    テストも忘れずにね。(重要)

  • ShipIt環境の用意

      My-Module-Name$ wget http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/cpan-upload-http-2.4.tar.gz 
      My-Module-Name$ carton install ShipIt cpan-upload-http-2.4.tar.gz LWP::UserAgent
    

    ~/.pause がない場合は用意します。

      My-Module-Name$ cat <<EOF > ~/.pause
      use <username>
      password <password>
      mailto <username@cpan.org>
      EOF/
      My-Module-Name$ chmod 600 ~/.pause
    
  • ShipItのテスト

      My-Module-Name$ carton exec -Iblib/lib -Iblib/arch -Iinc -I../local/lib/perl5 -- shipit --dry-run
    

    ビルド時にカレントディレクトリが変わる(My-Module-Name-X.XX)ので、ライブラリパスには注意が必要です。

    加えて、テストのなかでcartonでインストールされたコマンドを利用する場合は、local/binがPATHに含まれないためにエラーとなります。必要な場合は実行時に追加しましょう。

  • ShipIt!!

    --dry-run で問題がなければ shipit します。

      My-Module-Name$ carton exec -Iblib/lib -Iblib/arch -Iinc -I../local/lib/perl5 -- shipit
    

    しばらくするとCPANに登録されます。CPAN Authorデビューですぞ。

  • Register Namespace ?

    Register Namespaceでモジュールのネームスペース申請を行うことができます。申請が通ると CPAN のカテゴリ別ページに登録されます。

    ...ですが、モジュール名が誤解を与えたりするようなものでもない限り、とくに申請しなくても良いかもしれません。

CPAN Author のメリット

@typesterさんとまったく同じですが...

  • cpanやcpanmでのインストールが簡単
  • capn.testers が様々なバージョン、プラットフォームでテストしてくれる(だたしキチンとテストを書いている場合
  • 人に見られると思うとキチンと書くようになる(かも)
  • さまざまな人の意見やパッチがもらえる(かも)

ホント、そのとおりだと思います。

DISには感謝

DISられるということは、それだけドキュメントやコードをを読んでいただいている証拠...だと思うので、DISには感謝しましょう。

何事からも学び、そして感謝するのです。謙虚な姿勢が大事なのです。アザマス!!

まずは

PAUSEに登録だ!話はそれからだ!!

ところで

特定のプラットフォームのみ対応/非対応のモジュールってどうすればいいんですかね?

Makefile.PLでコケるようにして自己主張すればいいんですかね?

# Windows unsupported
if ( $^O eq 'MSWin32' || $^O eq 'cygwin' ) {
    die "$^O unsupported";
}

CPAN Author になったよ

CPAN

こんにちは。唐突ですが CPAN Author デビューしました。

理由

先日の YAPC ASIA 2012 ではLTソンというイベントでData::Petitcomというモジュールを作った話をさせていただきました。

当初はGitHubでの公開でいいかなー思とっていたのですが、@typesterさんの「Perlハッカーは息をするようにCPANモジュールを書く。」のスライドを見て、せっかくだからCPANにあげてみようと思っだのがきっかけです。

あとYAPCの前日にそこそこ使えそうなモジュールをつくったのですが、これをcpanやcpanmなどでサクっとインストールしたかったのも理由のひとつです。

つづきは...

この続きはNiigata.pm 居酒屋LT 2012 秋の陣でお話する予定です。

  • CPAN Authorになってモジュールを公開するまでの手順(Module::Setup + Carton + ShipIt)
  • CPAN Authorのメリット

など。

ゆるふわな集まりなので、興味のある方はぜひ遊びに来てくださいね。

イベント終わったら続きを書きます。たぶん。

YAPC::Asia 2012 に参加してオッサンであることを実感できました #yapcasia

f:id:hayajo_prpr:20121001084951j:plain

昨年に引き続き YAPC::Asia に参加してきました。

昨年のブログは...ありませんね。きちんとブログを書きましょう。>自分

LTソンに参加させていただきました

メインセッションとは別に、LTソンというイベントが行われました。

お世話になっている Hachioji.pm 主催のイベントということで、事前登録して参加させていただきました。

発表資料はこちらです。

Perlプチコン」ということで、拙作の p5-Data-Petitcom を紹介しました。

ベーマガ知らないのね...

プログラマが集まるイベントなので、ベーマガ知ってる・読んでた方々がたくさんいるだろうと思っていたのですが、LT聴いていた方々の1/5ぐらいでした。んぐぅ。

まぁそうですよね。懇親会でお話させていただいた方の半数以上は、私と一回りぐらい年齢が違いましたもんね。

思えばずいぶんとオッサンになったものだなぁと。

年齢でもうひとつ

尊敬するある方の年齢が判明。

ずっと年下だと思っていたのですが、実は年上の方でした。年齢をまったく感じさせない若さよ...

ちなみに相手は私の方が年上だと思っていたそうです。

お互いの認識としては合っていたわけですが、まぁ...その...なんだ...

メインセッション

インフラ系のセッションを中心に聴講しました。

個人的にFluentdまわりのお話が大変参考になったのですが、懇親会で登壇者の方々にもうちょっと突っ込んだ話を聞けばよかったなぁと後悔。

下記の3つのセッションがベストトークだとオレの中で話題に。

というわけで

今年も大変楽しく、刺激を受けるイベントでした。

YAPC::Asia 運営の方々はもちろんですが、LTソンという楽しいイベントを用意して下さった Hachioji.pm のメンバーの方々も、たいへんお疲れ様でした。

Niigata.pm も負けじとがんばりますね! (主に猫型さんがw)

Niigata.pm tech talk #2 に参加しました #niigatapm

niigatapm

すでに1週間以上経過していますが、そこはご容赦を。

詳しいまとめはこちらをご覧ください。

あと写真は主催の @neko_gata_s さんが作成した Niigata.pm ステッカーです。ありがたや。

今回は「データ処理」

お題はデータ処理ということで、みなさんテキスト解析分類器を中心にお話されていました。

なるほど…よくわかっ…たようなわからないような。

自分の知識が深まったかどうかは別として、このあたりの技術で困った場合は、皆さんに聞けば詳しく解説していただける!ということが分かっただけでも収穫です。テヘペロ。

LTではご迷惑をお掛けしました

さて、LTで発表をさせていただいたのですが、時間を無視して長々と話してしまったため、後続の方々の発表時間が極端に少なくなってしまいました。

大変ご迷惑をお掛けしてしまいました。申し訳ありませんでした。

発表内容は、目下作成中の Data::Petitcom というモジュールの解説とデモを行いました。

現在も修正&機能追加中なので、YAPCを目処にスライドと併せて公開する予定です。

作成が間に合うようなら LT-THON への参加してみようかなと思っています。がんばれ自分。

次回のテーマ

開催日は未定ですが、テーマは「ちゃんと入門! Perl(みたいな感じ」のようです。

@aokcub くんによる Mojolicious 講座もある(ホントか!?)よう なので、次回の開催が待ち遠しいですね。

というわけで

Niigata.pm に関する情報は TwitterアカウントML でお知らせされるので、お見逃しなく。

それでは YAPC::Asia Tokyo 2012 で会いましょう。あでゅー。