Perlがくしゅう帳(Rubyも)

プログラミングの勉強会の参加記録や学んだことなど。 twitter ID : @tomcha_で活動しています。 最近は主にPerl関連の勉強会やコミュニティに参加しています。移転前のブログはこちら->http://ruby.doorblog.jp/

Perl入学式卒業後の進路 YAPCでトークを採択された時こころがけた8つのポイント

Perl入学式アドベントカレンダー18日目の記事です。

Perl入学式を受講していた初心者がYAPCトークを応募し、採択された時の事についての記事です。

f:id:tomcha0079:20170707221531j:plain:w300

 まずは前提となる簡単な自己紹介です。

  • 2012年Perl入学式に受講生として参加。
  • Perl入学式卒業後、2013年からはサポーターとして参加。
  • YAPC::Kansai2017Osakaコアスタッフをしました。
  • 社会人ですが、エンジニアではありません。

 そして、YAPC::Fukuoka2017HakataでPerl入学式卒業生として始めてトークをしてきました。(その時の様子ブログ)

イデア出し

 YAPCトークに応募したい!と考えて最初にする事は、何を話すかを決めることですね。話すネタは沢山ある!という方は大丈夫だと思いますが、私はとにかくアイデアを色々出してみました。とにかく思いつく事をノートにたくさん書き出しました。

  • イデア出しのポイント
    • 自分が話せること、自分では話せない(無理なこと)を明確にする
    • 自分が話せることのうち、自分にしか話せない事があるのか
    • YAPCのテーマと自分が話せる事をリンクさせる
    • トークの起承転結(ストーリー)、伝えたいこと(まとめ)を考える

 大事な事ですが、やはりYAPCのテーマに沿ったトーク内容は採択される率が高いのかもしれません。そして、自分にしか話せないオリジナルな部分があれば、他の応募者とテーマがかぶったとしても有利になるのではないでしょうか。
 今回意識していた事は、私はエンジニアではないので難しい技術的なトークは無理(弱点)ですが、逆に非エンジニアの視点での話は自分にしか出来ない(強み)と考えてテーマを決めました。

トークに応募しよう

 テーマが決まれば公式サイトのトーク応募フォームから応募しましょう。
 この時に大事だと考えていた事は2つです。

  • 応募のポイント
    • 応募の時期は早めに
    • プロポーザルの内容(と文量)

 まず応募の時期ですが、締め切りギリギリよりも余裕をもって、できれば早めにと心がけました。
 その理由は2つあり、1つ目はトークへの応募を自分のゴールとしていた事です。まさにトークを応募する練習みたいな感じで考えていたので、アイデアもじっくり練り必然的に早めの応募となりました。2つ目は早い時期の応募だと運営側の人にも余裕をもってプロポーザルをじっくり読んでもらえると思ったからです。
 そしてプロポーザルの内容ですが、応募の動機や伝えたいこと、テーマとの関連性を丁寧に書くことを心がけました。特にテーマとの関連性を丁寧に説明するは重要かと思います。自分が思っている事を他人に伝えるのは本当にむずかしく、プロポーザルはほんの数行の文章で説明する訳ですから、文章も何度も書き直しました。
 YAPC打ち上げの時、自分のトークが採択された理由をとある運営スタッフさんに聞いてみると、きちんとプロポーザルの文章を読んでくれた上で必要だと判断してくれたと聞き、頑張って良かったなと思いました。

スライドを作ろう

まずはテーマに沿って話す順番を箇条書きにして整理しました。
一番伝えたいことをメインに考え、トークのあらすじ、起承転結をノートに色々書き出して考えました。
f:id:tomcha0079:20171216213519j:plain:w200f:id:tomcha0079:20171216213544j:plain:w200f:id:tomcha0079:20171216213557j:plain:w300f:id:tomcha0079:20171217163602j:plain:w300

スライドの作り方ですが、印象的なお題をポンポンポンと書かれる方、ソースコードを書かれる方、色んなスタイルがあると思います。
色々なスタイルがあると思うので、私は過去の発表者の方のスライドを色々見て考えました。スライドを作る時に心がけた事は、1枚に情報量が多くなりすぎて見づらくなるのを避ける事を心がけました。

トークの練習をしよう

 トーク採択のメールを受け取ってからは、相当のプレッシャーでした。というのも、ツイッターで著名な方やトーク常連の方が「トーク採択されなかった」というツイートを見て、本当に自分のトークで良いのだろうか?必要とされているのだろうか?と思ってしまう葛藤もありました。ですが、運営スタッフの方もプロポーザルを読んで真剣に悩んでトークを選ばれている姿はKansaiのコアスタッフをしていた時に知っていたので、とにかくトークを採択されなかった方々に失礼にならないよう、全力で頑張ろうと思いました。
 そして、会社帰りや休みの日にカラオケボックスに1人で行き、作ったスライドをノートパソコンで再生しながら実際に喋ってトークの練習をしました。これ、かなり重要です。

 自分の場合は、時間を測って実際に喋ってみると、スライド作成時に気負いすぎたのか、作ったスライドが持ち時間の約5倍分あったことが発覚しました。

 スケジュール的には、本番の3週間前からスライド作成し、1週間前には完成させてトーク練習を開始するスケジュールでしたが、実際に練習を開始できたのは本番3日前くらいでした。ここからトークの主旨を崩さないでスライドを間引いてトークを短くする、そしてまた練習して時間を測って収まる様にするのがかなり大変でした。
 普段は行かないカラオケボックスに4〜5回は行ったでしょうか。自分の喉の限界もあり、1時間かりても20分のトークなので練習は2〜3回しかできません。
 実は福岡上陸後、前夜祭が始まるまでに現地のカラオケボックスでも最後の調整と練習をしていました。

 実際に本番で喋ってみて、20分のトークでしたが体感では5分くらいでした。それぐらいあっという間に時間は過ぎてしまいました。

トーク後の感想

 懇親会で色々な方からトークの感想が聞けて、とても感慨深いものがありました。中でも、ベストトークに票を入れたよと言って下さった方もおられ、心底本当に良かったなと思いました。自分の中ではベストトークで1位を取る喜びに匹敵する、いやそれ以上に嬉しかったですね。なかなか普段の仕事の中では出来ない貴重な体験が出来たことに感謝です。

 さて、2018年3月3日にYAPC::Okinawa2018 ONNASONが開催されます。そしてトークの応募はもう始まっています。

docs.google.com

 Perl入学式の卒業生のみなさんも、少しでも発表に興味があったり、伝えたい事があるなら、トークに応募してみませんか?

 自分のトークYAPCに相応しくないかも?自分のトークYAPCのレベルに達していないかも?

 そんな不安はきっとあると思います。ですが、本当にそうであれば、きちんと運営スタッフの方が判断をしてくれます。
 自分の中で出来ることのベストを尽くす事にのみ専念すれば良いと思います。大丈夫です!

 臆することなくチャレンジしてみましょう!

 そんな感じでYAPC::Okinawaへ架け橋をかけたところで、2017年Perl入学式アドベントカレンダーの記事を締めくくりたいと思います。

京都の旅館で1泊2日のもくもく開発合宿に行ってきました

9月16日〜17日にPerl入学式となわにわPerlからの派生イベント、京都の菊香荘という旅館で1泊2日の開発合宿”キッカソン”を開催しました。前回のキッカソン第1回は2016年3月開催で、約1年半ぶりの京都太秦。今回も別名Perl修学旅行の名の通り、今回もわいわい楽しいイベントでした。菊香荘+ハッカソン=キッカソンです。

f:id:tomcha0079:20170916123109j:plain:w200 f:id:tomcha0079:20170916125218j:plain:w200

今回はPerl入学式サポーターメンバーに参加を募り、総勢9名の参加でした。

初日の13時に菊香荘に現地集合。開発する場所は旅館の大広間スペースを借り、夕食タイムの19時30分まで全員がっつりと集中し、それぞれ持ってきた課題にチャレンジしました。

今回の開発タイムには、お酒のデプロイは無くかなり集中したので、かなりの進捗と成果が得られました。開発合宿にアルコールは割りとキケンですね。

開発の様子です。

f:id:tomcha0079:20170917184526p:plain

夕食は菊香荘の夕食を。写真のお料理の他、舞茸の炊き込みご飯、牛肉の豆乳鍋、そして松茸と鱧の土瓶蒸しまであり、豪華なお食事でした。

f:id:tomcha0079:20170916192225j:plain:w500

そしてなんと偶然にも、キッカソンを一緒に主催している @xtetsuji さんの誕生日で @hiramatsu さんがバースデーケーキをサプライズで準備され、みんなで食後に美味しくいただきました。 @xtetsuji さん、おめでとうございます!

f:id:tomcha0079:20170917184114p:plain:w200

夕食の後は深夜0時頃まで技術のことやら色々語り合い、その後就寝。

そして朝ごはんはこちらです。菊香荘では朝食の後にコーヒーとビスケットが出ます。

f:id:tomcha0079:20170917082538j:plain:w300

朝食後も大広間で午前の部の開発やディスカッションを11時30分まで実施し、解散となりました。
心配していたお天気、台風も大丈夫でした。

キッカソンの成果は

普段はなかなか長時間プログラミングをする機会もなく、長時間集中して開発できてとても良かったです。
今回自分で設けたお題は、オブジェクト指向の練習の為にどうぶつしょうぎプログラムを簡易クラス図、簡易シーケンス図を先に作って整理しながら設計してコードを書く事でした。普段の細切れの時間ではなく、長い時間試行錯誤できたので時間あたり普段の何倍もの進捗が出ました。

一人で作業をすると、難しくて詰まる事や、なかなか集中できなかったりしますが、集まってもくもくすると集中出来て効果的です。
また、お互い色々教えあったり、情報交換出来たりと良いことがいっぱい。しかも、普段は遠方に住んでいるの仲間たちとも楽しく出来るのが最高です。

とても有意義な2日間でした。また行きたいですね。

Perl入学式卒業生としてYAPCで初トークしました ~YAPC::Fukuoka2017感想ブログ~

6月30日、7月1日とYAPC::Fukuoka2017 HAKATAに前夜祭から乗り込参加してきました。

今回いつものYAPCと違うのは、なんと、応募したトークがまさかの採択となり、人生初YAPC登壇となりました。
あこがれの赤Tシャツ&白ネックストラップです!名誉と伝統がある場なので、とても感慨深い。

f:id:tomcha0079:20170707221531j:plain:w400

前夜祭当日

6月30日は早めに博多に乗り込み、お昼ごはんに九州グルメを堪能。その後は前夜祭開催までカラオケボックスに篭ってトークの練習とスライドの調整を。
前週に予定外の風邪を引いてしまい、スライド作成->トーク練習->スライド調整->トーク練習…のルーチンが1週間ずれ込んでしまい、まさかの現地入りでの練習となってしまいました。全然野菜とか美味しいものめぐりしたかった…

博多の街の印象は、物価が安くて食べ物が美味しい街でした。
胃袋の限界もあり、食べたかった物全部食べきる事はできませんでしたが、また旅行で行くぞ!って思いました。

前夜祭は早めに会場入りし、同窓会のようにYAPCで会う色んな地域のPerlMongerと挨拶したり、いつもはTwitterやSlackのアイコンでしか会話した事のなかった人とお話できたりワイワイと楽しい前夜祭でした。

前夜祭では、ネタ感溢れるsago35さんのLTが、技術の話にネタも仕込んであって、これぞLTって感じで盛り上がって面白かったです。 sago35.hatenablog.com

また、若さの勢いあふれるAnaTofuZさんのLTも印象に残りました。若いのにガンガンAcmeモジュールを作っててすごいなーと。

前夜祭のあとは、今回のYAPC::Fukuokaのスタッフでもある、日下部さんと信者会の方々と会場近くの居酒屋で二次会へ。
「はじめまして」「あー、あのアイコンの◯◯さん!、どうもどうも!」の流れは毎回面白いですね。
TwitterやSlackでコミュニケーションを取っていてもはじめましての方々と、今回の福岡でもたくさん顔が繋がり、ワイワイ盛り上がったり。

YAPC::Fukuoka 当日

f:id:tomcha0079:20170701094328j:plain:w500

そして7月1日本番当日。
普段会社に行くよりも遅いので楽々起床成功。
現地入りしてYAPC::Kansaiで一緒にスタッフをしたコアメンバーの方々とも挨拶をしたり、声をかけて頂いたり。5年前の初めてYAPCに行った時から比べて、とても知り合いも増えました。
この日は現地に到着してからもスライドを少し微修正したり。発表が午後一番だったのですが、こんなにオープニングやら午前中のトークやら頭に入らないYAPCは初めてでした。

そして昼食をパスして午後一番、いよいよトークの時が。予想以上に会場が広く、そして時間が迫るにつれお客さんの席も埋まりだして緊張はピークに。
トークは練習をしていたとはいえ、始まってしまえばあっという間に予定時間。ギリギリ少し時間足らずでしたが、これは伝えようと思っていた重点ポイントは伝えることができました。
正直、自分のトークが採択された時からYAPCの場での発表に相応しいのか不安しかなく、それでも選ばれたからには精一杯失礼の無いようにと頑張りましたが、トーク中もトークが終わっても良かったのか悪かったのか、不安はありました。
懇親会の時に、 @xtetsuji さん、 @karupanerura さんに、トーク良かったよと感想を頂いたとき、あー発表して良かったなとホッとしました。
エンジニアの方達は、決してお世辞を言う方ではなく、良いもの良い悪いもの悪いと正直に述べられる事は分かっていたのでとても嬉しかったです。

当日のスライドはこちらです。

t.co

さて、自分のトークが終わってからやっとトークも耳に入るようになりました。

その後の懇親会も、懇親会後の二次会も色んな人とお話ができました。

懇親会

f:id:tomcha0079:20170701221221j:plain:w400

懇親会ではPerl入学式の @papix 校長と、今回の自分のトークは若い人たちにバトンが繋がるトークを心がけた事と、自分は @papix さんから5年前にPerl入学式に参加してバトンを受け取ったからこそ、今この場に居るといった事を話しました。 @papix さん自身も、ファームノートさんからYAPC参加の旅費支援というバトンを受けたから今があると言ってられたので、Perlのコミュニティは次から次へとバトンを繋げていく素晴らしいコミュニティだなぁと、参加する機会があって良かったと改めて感じました。

次は若手がとても勢いのある沖縄、YAPC::Okinawaですね。
家庭内稟議は通ったので絶対に参加するぞ!という意気込みでとても楽しみです。

トークを応募した時の話は、何か機会があればまたどこかで、感想ブログはこのあたりで締めたいと思います。
行ってよかった、楽しかった!スタッフの皆様、ありがとうございました && お疲れ様でした!

YAPC::Fukuoka で「未来のプログラマー達へ ~Perl入学式卒業生から~」というタイトルでトークします

Perl入学式in大阪でサポーターをしているTomchaです。

実は私、仕事はITとは全く無関係な一社会人です。
2012年2月、Perl入学式の生徒としてプログラミングを学び、趣味でプログラミングをしています。
use strict;の書き方を一から教わる初心者からのスタートしましたが、

なんと、今回YAPC::Fukuokaでトークをする機会を頂きました。

これからプログラミングを初めてみたい方や、プログラミングに興味がありつつ、どう学んで行けばよいか分からない方など、初心者の方にPerl入学式OBとしての経験を、そして非エンジニアの視点でお話ができれば、そして何かヒントを掴んで頂ければと思っています。

おそらく、YAPCの中で最も初心者をターゲットとしたトークだと思いますので、初心者の方やPerl入学式受講中の方、もちろんそれ以外の方にも聴いていただければ幸いです。

yapcjapan.org

Acme大全への道

こんにちは、Perl入学式in大阪でサポーターをしている @tomcha_ です。

www.perl-entrance.org

趣味でPerlのプログラミングを始めて早6年。
なんとなく、ちょっとしたコードを書いている毎日ですが、PerlMongerになったからには大きな憧れってありますよね。

そう、これです

f:id:tomcha0079:20170602223101j:plain:w500

Acme大全!

いつの日か、自分の書いたモジュールがAcme大全に載ってたらカッコイイな〜と、

今までは見る側でしたが、入学式の講師予習をしている時に、ふとモジュールを思いついたので、勢いに乗っかって作ってみようと思いました。

まずはモジュールの紹介よりも先に作った手順などを紹介します。

やったこと 手順

1. Minillaのインストー

Acme大全に載るには、CPANAcme::で始まる名前空間に自作モジュールをアップする必要があります。
CPANにアップするモジュールには、色々とお作法がありますが、その雛形を簡単に作ってくれるモジュールが、Minilla です。

metacpan.org

まずはMinillaをcpanからダウンロードしましょう。

cpanm minnilla

2. minil new

Minillaのインストール 自作モジュールを作成するために、ローカルのパソコンの任意のディレクトリで、以下の新規作成コマンドを叩きます。

minil new Acme::モジュール名

ここでミソなのは、今回作るのは憧れのAcmeモジュールなので、モジュール名の前にAcme::をつけます。
その他、色々な名前空間でモジュールを作るときは、適宜応じた名前と :: で区切って指定します。
すると、 :: で区切った通りにディレクトリ、子ディレクトリも自動的に作ってくれます。超便利。
Hoge.pmというモジュールを作るなら、

minil new Acme::Hoge

とします。

3. コードを書く

さあ、オリジナルモジュールを作りましょう!
あ、その前に編集前の状態で git commt しておきましょう。
そして、ディレクトリの中に lib というディレクトリがあり、その中の モジュール名.pm を編集していきます。
通常はサブルーチンを書いていく感じになりますね。そうすると、作ったモジュールを読み込めば自作サブルーチンが呼び出せるようになります。
また、__END__以降の行の部分のコメントを編集して、READMEの内容を作っていきます。ここに書いておくと、この後のコマンド操作でREADMEファイルをよしなに作ってくれます。コピペで使い方がわかる、SYNOPSYSも丁寧に書いてみましょう。

4. Minil test

モジュールの中身が実装できたら、モジュール名のディレクトリ直下で、テストを実行して確認します。コマンドは、

minil test

です。デフォルトでは、自分の書いたモジュールが読み込めるかどうかのテストがデフォルトで書かれています。
まずはこのテストが通る事を確認して、その他テストも書いてみましょう。

5. Minil releaseの前に、pauseの登録

実装できた!テストも通った!さあ、リリースだ….のちょっと前にしておく事があります。
CPANにモジュールを上げる事になるので、先にCPANに自分のアカウントを作っておく必要があります。

https://pause.perl.org/pause/query

PAUSEというサイトで登録するのですが、こちらのブログ記事で詳しく書かれています。

blog.livedoor.jp

今回、大変参考にさせていただきました。感謝。

6. cpanアカウントの設定

PAUSEでアカウントを作ったら、アイコン画像などもう少し詳しいプロフィールを設定します。
プロフィールはmetacpanというサイトで設定します。

Search the CPAN - metacpan.org

まずはTwitterGithubのアカウントなどでサインインし、Accountメニューからidentitiesを選び、先程作ったPAUSEのアカウントと紐付けます。 f:id:tomcha0079:20170602224550p:plain:w500

そして、profileページでアイコンや自分のブログなど、プロフィールを書きましょう。

7. リリース準備ファイル

ホームディレクトリに.pauseファイルを作り、そこへPAUSEアカウントの情報を書き込みます。

touch ~/.pause chmod 600 ~/.pause

.pauseの中身は、

user username
password userpassword

(もちろん、自分の)を書きます。

8. Acme名前空間の再確認

CPAN名前空間での整理やテスト文化など、素晴らしいエコシステムが整った公共の場です。
まずはCPANの流儀にしたがい、自分の作ったモジュールがのディレクトリ名がAcme-Hogeとなっているか、llibディレクトリの中のAcmeディレクトリの中にファイルが置かれているか再確認しましょう。

さあ、ここまで来ればあと少しです!

9. リリース

モジュールをCPANにリリースです!

minil release

最初は何度かファイルをアップするためのCPANモジュールが足りない!と怒られました。
その都度、cpanm でインストールして、すべてのアップロード用モジュールが揃えば自動的にCPANにモジュールがアップされます!

作ったAcmeモジュールと今回はまったこと

さて、今回私が作ったモジュールはこちらです。

metacpan.org

どういうモジュールかというと、Perl入学式では一番最初に"Hello, world\n"と画面に出力するプログラムを作ります。
なので、Perlという言語のスローガン、TMTOWTDI “There’s More Than One Way To Do It.” “「やり方はひとつじゃない」”
に習って、教科書とは違うやり方の"Hello, world"のモジュールを作ってみました。

こんな単純なモジュールですが、実はテストでちょっとはまりました。
モジュール内のprint文、最初はシングルクォートで囲っており、改行しない文字列を出力させてました。
すると何故か、デフォルトのモジュール読み込みテストがコケる!
丁度Perl鍋という勉強会で作っていたので、周りの参加者に見てもらい、テスト単体とかでも試した結果、どうやらテスト時に"ok"で始まるテキストが帰らないとテストがコケる用で、テストの返り値文字'ok'の前に'Hello,world'の文字が改行せずにひっついていた為、'ok'を認識してくれずテストがコケていました。
Perl鍋と参加されていたPerlMongersにも感謝。
Perl鍋は不定期で平日木曜日のよる、大阪は梅田で絶賛開催しています。

perlnabe.connpass.com

出力文字列をダブルクォートで囲い、きちんと改行して、なんとかテストが通りました。

めでたい!念願のAcme大全に載れるはず?!
今年も出版されるのを願ってます!

ちなみに、こういうもくもく会を主催してます。(宣伝)

naniwaperl.connpass.com

YAPC::Kansaisaka 2017でコアスタッフをしました

2017.3.4 YAPC::Kansai 2017 Osaka で、コアスタッフとしてお手伝いをしてきました。

大規模カンファレンスにがっつり中からお手伝いするのは今回が始めての経験でした。 そこに至った経緯であるとか、YAPCはへの想いなどの諸々の話はまた別の機会にするとして、開催前、開催当日、後日の感想を書きたいと思います。

開催前

企画段階の準備や打ち合わせは、遠方だったり仕事や学業で場所も時間帯もバラバラでなので、SlackでのチャットコミュニケーションとGithubのissueでのタスク管理、GoogleDriveによるデータ共有などのツールを駆使して進めていきました。
私自身が本業はITとは全く関連の無い仕事をしているので、いずれも「とりあえずアカウントを作っただけで実際に使った事がない」ツールがほとんどで、最初は恐る恐る使い方を学ぶところから始まりました。ツールの便利なところが知れた事はとても良い経験になりました。また、逆に、チャットだけでは意思疎通の難しい部分もわかり、普段何気なく顔を合わせて話したり会議している場の有り難さも分かり、とても良い経験になりました。
また、YAPCは何度か参加していましたが、思っていた以上に決めることが多くびっくりしました。歴代スタッフの方々への尊敬と感謝を再認識しました。

前日準備

個人的には発注関係をメインに担当していたのですが、前夜祭に無事発注した商品が到着してほっとしました。
ノベルティの詰め込み作業はあっという間に終わった印象です。スタッフ全員、モチベーションがMAXだったからでしょうか。
また、たこ焼きを◯万円分買うという、人生初の貴重な経験も。
準備終了後は晩餐会&&締めの鴨南蛮を堪能しました。美味しかった!

当日

当日はメインホールA会場のタイムキーパー担当だったので、遅刻しない様に早めに現地に到着してコメダでモーニング。前日なかなか寝付けなかったので睡眠時間は2時間くらい。

朝会場に到着して、がらんとしたホールに入った時はそうでもなかったですが、ぱらぱらとお客さんが集まりだし、@941さんが来られたのを見かけて「おー、遂にYAPC開幕だー!」とYAPC感が一気に高まりました。何気にブログの写真にも写っていて感動。

A会場ではトークを聞きつつ、メインゲストのお二方、スペシャルコンテンツに温故知新トークなど興味深い話がたくさん聞けました。
スタッフにはお昼ごはんに豪華なお弁当が出ました。

f:id:tomcha0079:20170304130900j:plain:w500

大きなトラブルも無く、いや、プロジェクターが止まりかけたっけ?あの時は焦った焦った。
全般的には進行もスムーズに進みましたが、司会のかるぱさんの補助が出来てなかったなーというのが自分の反省点。
一日があっという間に終わり、その後の撤収もダダダダーッと皆で片付け。大人の文化祭なノリで全てが楽しかったですね。
今回は懇親会会場の広さや時間の都合もあり、スタッフは懇親会には出られず、色んな方々とお話が出来なかったのが残念でした。
ゴミの片づけやらなんやら終わって、スタッフ打ち上げは21時頃からになったかな?達成感もあり、とにかく、ご飯とお酒が最高に美味しく感じました。

f:id:tomcha0079:20170304210805j:plain:w500

f:id:tomcha0079:20170304214348j:plain:w500

このビールの味は一生忘れられないですね!

終わってみて

今回始めて大規模カンファレンスのコアスタッフをやってみて、YAPCが楽しかったのはもちろんですが、本業の仕事をしているだけでは経験できない事や、色々な方とお話できたり繋がりが出来て

コアスタッフやってめっちゃ良かった!

それにつきますね。

JPAの方々、コアスタッフの仲間や当日ボランティアの方々、ありがとうございました。

自分も含め、皆さん本業が忙しい中、楽しいイベントにする為にそれぞれが出来ることをする、まさにOSSの精神だなと感じました。
OSSに直接的に貢献する事は難しくても、何かの形で恩返し出来たかな?と思っています。
スタッフ業は遊びとはまた違うので、大変な部分ももちろんありますが、得られるものも沢山あるので少しでも興味を持ったなら、皆さん是非やってみてはどうでしょうか。

そしてスポンサー企業様、ゲストの方々、スピーカーの方々、ご来場の方々にも感謝です。ありがとうございました。

さて、ブログを書き終えて今回のYAPCは終わり。
これから2017年度の活動ですが、Perl入学式in大阪も春からSeason6が始まる予定です。 そして、自分が主催している(なにわPerl)https://naniwaperl.connpass.com/も、YAPCも一段落着いたし、ぼちぼちやらなあかんなーと思っているところであります。

そして、夏には福岡です。チケット買いました!
今回じっくりお話ができなかった皆さん、7月のYAPC::Fukuoka 2017 Hakata でお会いしましょう!

できる!ゲーム制作 ~Perl入学式 卒業制作~

Perl入学式 Advent Calendar 2016 5日目の記事です。

まずは軽く自己紹介。

2011年に大阪で始まったPerl入学式。当時、受講生としてとして参加してプログラミングを教えてもらい、そして翌年よりin大阪サポーターとして参加しているTomchaです。現在は、なにわPerlというもくもく会の主催もしています。職業はエンジニアではない、ただのコンピューター好きおじさんです。

序章

さて、皆さんがプログラミングを始めたきっかけは何だったでしょう? 僕の場合、それは遠い遠い昔任天堂から発売されたコイツが世間で大ブームだった時代、

www.youtube.com

たしかクリスマスプレゼントかお誕生日プレゼントだかで本体を買ってもらいました。 しかし当時は小学生。そうそうゲームソフトの新作なんて買ってもらえず、でも色んなゲームがしたい!でも買えない!

そんな時に任天堂から夢のようなデバイスが発表されました。

ファミリーベーシック wikipediaより

これを使えば自分でケームが作れる!マリオもドンキーコングも自分で作れる!作りまくれば色んなゲームがタダで遊び放題!! だけど現実はそんなに甘いものではなく、ファミリーベーシックのスペックは自作プログラム保存メモリ1,982バイト、ベーシック言語、しかも当時小学6年生。あっけなくゲーム作成の野望は砕け散りました...

そして月日はウン十年流れ、、、

Perl入学式でプログラミングを体系的に教わり、趣味でコードをぼちぼちと書いていたある日、書店で横井軍平さんの本を見つけました。

おお、懐かしのゲームウォッチ!そういえば初めてデジタルなゲームをしたのはゲーム&ウォッチの「マンホール」だった。 もしかして、遠い昔に挫折したゲームのプログラミング、大人になった今これぐらい簡単なものならなんとかなるかもしれない?!

https://www.nintendo.co.jp/ds/arjj/gamewatch/

そして懐かしさのモチベーションだけでなんとか完成までこぎつけたのがコチラのプログラムです。

もちろん、Perlで書いています。

github.com

中身はむずかしくなくPerl入学式の第1回から第4回までの講義内容+モジュールの使い方くらいでできてしまうプログラムです。

リアルタイムのアクションゲームなので、Term::Screenというモジュールを使ってみました。

モジュールの使い方は、ひさいち先生のブログ記事を参考にさせていただきました。

hisaichi5518.hatenablog.jp

ゲームを作るにあたって考えたことや工夫したこと

  • ゲームウォッチのゲームって、ほとんどがモチーフは違えど中身のゲーム性は同じと気づいたこと。
  • 迫ってくる何かをキャッチする又は避ける、それが時間差で2ライン、3ライン、4ラインあるなぁと気づいた。
  • 迫ってくる何かは、配列を使って位置を1つずつずらしていけば(shift+push、unshift+pop)表現できるなぁ。

といったところでしょうか。あとはn秒毎に配列の中身を画面に描画すればゲームのステージは出来上がりました。

そうです、Perl入学式で学んだ技術でアクションゲームが作れてしまうんですね〜。

みなさんPerl入学式で一緒に学んでいきましょう!

そして古き良き時代のおっさんたちへ、、、

昔懐かしいノスタルジックな記事にピンときたあなたも、そうでないあなたも、

YAPC::Kansai 2017 OSAKA!!!

12月10日開催の北海道に続き、大阪で・・・詳細は続報を待たれよ!

さて、明日のPerl入学式 Adventcalenderは、in大阪サポーターのsago35さんの記事ですね。 何が発表されるか楽しみですね!