Masteries

技術的なことや仕事に関することを書いていきます.

「Software Design 8月号」に記事を書かせて頂きました!

...というわけで, 「Software Design 8月号」のGitHub特集に記事を書かせて頂きました.

ソフトウェアデザイン 2016年 08 月号 [雑誌]

ソフトウェアデザイン 2016年 08 月号 [雑誌]

今回自分が担当させて頂いたのは, この特集の4章の部分です. 3章までは具体的なGitやGitHubの使い方が主ですが, 4章では「実際に, 企業でGitHubをどのように活用しているか」について, 私が所属しているGaiaxの事例をもとに書かせて頂きました. GaiaxにおけるGitHubの導入の経緯や, その際に行った様々な施策, GitHubの利用ルールや権限周りの設定についてだけでなく, ReactioチームにおいてGitHubをどのように活用しているか, などを書いています.

GitHubだけではありませんが, 新しいSaaSやツールを企業やチームに導入するにあたっては, 単に「アカウントを用意しました!」だけでは不十分だと思っています. 新しいSaaSやツールの導入を推進するメンバーが, 「こう使うと便利ですよ!」とか「こうやるといいですよ!」という感じで, 率先して「そのツールがある状態」というのを周りに見せて, 啓蒙して, 巻き込んで, その結果として「そのツールがある」状態を会社やチームに定着させて, 最終的には「会社やチームの文化」にしていく必要があると思っています.

今回の内容は, あくまでGaiaxにおける事例ではありますが, 「自分達のチーム/会社でGitHubを入れる時, どうやって進めていこう?」という悩みに対する, 1つのアドバイスになればいいな, と思っています.


ちなみに, この特集, @neko_gata_sさんも担当されていて, そのお知らせブログがめちゃくちゃいい内容だったので, こちらも是非お読み下さい.

だから、もし今この文章を読んでくれてるあなたが、プログラミングが好きで、なおかつアウトプットすることに興味があったりコミュニティに興味があるんだけど、それでもなんか一歩が踏み出せない、なんて状態で悶々としてるなら(そうじゃないならごめんなさい)、心配せずにその一歩を踏み出してみたらいいと思います。

nekogata.hatenablog.com

「Perl Hackers Hub」に寄稿した記事が技評のウェブサイトにも載り始めたみたいです

gihyo.jp

gihyo.jp

gihyo.jp

以前, WEB+DB PRESSの「Perl Hackers Hub」に寄稿した, 「PerlでInfrastructure as Code─IaaSやSaaSをコードで自動化」の記事が, 技評のウェブサイトで公開が始まったようです.

今年に入ってから, Software Designの「ChatOps特集」, WEB+DB PRESSの「Perl Hackers Hub」と, 雑誌に記事を書く機会をたくさん頂いていて, 非常に有意義で嬉しい限りです. 本当にありがとうございます.

そして実は最近またまた2本ほど, 記事を書くお話を頂いておりまして, 非常にてんやわんやしたりしております... こちらについても, また公表していいタイミングが来たらお知らせさせていただきます!

PerlからSocket.IOのイベントをEmitする

Socket.IOという, WebSocketなどの非同期双方向通信を実現するNode.js向けのライブラリがあるのですが, 宗教上の事情などいろいろあり, このSocket.IOのイベントをPerlからemitしたい事例がありました.

CPANにはそれらしきモジュールがなく, GitHubを探していたところ@toritori0318さんが開発されたSocketIO::Emitterというものがありました.

github.com

...が, 手元の環境だとうまく動かず, いろいろイジった結果, 動くっぽいけど, 微妙にいろいろ実装が変わったSocketIO::Emitterが生まれてしまい, 現状はそれを使っています. 前述の通り, 「微妙にいろいろ実装が変わった」という状態で, さっとPull Requestを出せる感じではなかったので, 最終的にはtoritori0318さんの実装にあわせてPull Requestを作ってマージまで持っていけたら... という気持ちです.

現場からは以上です. よろしくお願いします.

VimにおけるPerl関連のスニペットを晒してみる

Perl入学式の講義の中で, 講師の@umaaaaa_chanさんがコードを書いている時に, 「use strictとかuse warningsとか, どうやって一発で出しているの?」という質問が飛んでいました.

自分はこのあたり, Vimのスニペット機能を使って実装しているので, 小ネタみたいな感じで自分のVimにおけるPerl関連のスニペットを晒してみます:

snippet u
    use strict;
    use warnings;

    ${0}

snippet uu
    use strict;
    use warnings;
    use utf8;

    ${0}

snippet us
    #!/usr/bin/env perl
    use strict;
    use warnings;

    ${0}

snippet uus
    #!/usr/bin/env perl
    use strict;
    use warnings;
    use utf8;

    ${0}

snippet D
    warn Dumper ${0}

snippet DD
    use Data::Dumper;

snippet DW
    use Data::Dumper;
    warn Dumper ${0}

snippet dd
    use DDP { deparse => 1 };

snippet dw
    use DDP { deparse => 1 };
    DDP::p ${0}

snippet pkg
    package ${1:package};
    use strict;
    use warnings;
    use utf8;

    ${2:code}

    1;

snippet fs
    use feature 'say';

いわゆる「printデバッグ」をするために, Data::Printer(DDP)はよく使うので, それ系統のスニペットが多いですね!

ちなみにData::Printerについては, 2年くらい前にブログ記事を書いていますので, 参考にして頂ければと思います: Perlのprintデバッグをシュッと見やすくする 〜Data::Printer編〜 - Masteries

6月25日は「ハッカーズチャンプルー」で僕と握手!

6月22日〜25日にかけて, 沖縄で「ハッカーズチャンプルー」というイベントが開催されるのですが, ひょんなことからOkinawa.pmの方々から「papixさん, なんか話してくださいよ〜」というお声がけを頂く機会があり, 「あーいっすよ!」と気軽に受諾したところ, なんか凄い面々の中で50分話す事になっていて, 今から戦々恐々としています.

自分は, 「全部見せます! “PerlでつくるInfrastructure as Code”」というトークのタイトルを予定していて, 以前WEB+DB PRESSの「Perl Hackers Hub」に書いた, 「PerlでInfrastructure as Code」の拡大版というか, 紙面の都合とかあって省いた部分などについて語る予定です.

ちょうど1年くらい前, Reactioのインフラを作るにあたって, 自分がどのような所を意識して, どのような工夫を行ったのか? その中で, Perlやそのモジュール, IaaS/PaaSをどのように活用したか? そしてその結果, Reactioというサービスの開発がどのようになっていったか? というお話について,これまでいろいろな勉強会で細かく分割してお話してきた訳ですが, 今回は50分という長い時間お話することができるので, その完全総集編っぽい感じで, 全てをみっちり, 余す所なく, ありったけの全てを語りきりたいと思います.

...時間が余れば, 最近趣味でやっているサービス開発(まだブログでは公にしていませんが, 一部界隈で徐々に披露しているアレ)についての話も織り込もうかと思っています.

というわけで, 6月25日は「ハッカーズチャンプルー」で僕と握手! ...はしなくていいので, 参加する皆様, どうぞ宜しくお願い致します.

追伸

その前週に行われるPerl入学式 in沖縄 第1回も宜しくお願いします! こっちも自分参加するので!!!

(しかもその後, 2日だけ東京に帰ってまたハッカーズチャンプルーの為に沖縄行く)