Perl入学式応用編 解答例
なんとかクリスマスまでには間に合いました。
Perl入学式 夏休みドリル応用編の解答例です。
解答編はあくまで一つの例であり、かつ、第2回までの講義内容で書いています。もっと違う書き方やもっと工夫した書き方もありますので参考の一つと捉えていただければ幸いです。また、内容で何か質問があれば@tomcha_宛メンションなりコメント欄に書いて下さい。
それでは8問分どうぞ!
- 問1 以下の配列を使って、しりとりが完成する様、単語と単語の間を->でつなげて画面に出力してください。
- 問2 5つの数字の入力してもらい、5つ入力された後に昇順に並べ替えたものを画面に出力するプログラムを書いて下さい。
- 問3 好きな食べ物をいくつか入力してもらい、入力された順番の逆順に画面に出力するプログラムを書いて下さい。入力の受付は、食べ物の代わりにENDと入力されると終了して下さい。(reverse関数ってのがありましたよね?)
- 問4 問3を、reverse関数を使わずにコードを書いて見て下さい。(reverse関数と同じ機能を自分のコードで書いてみてください。)
- 問5 合計時間を計算する、時間計算電卓を作りましょう。プログラム実行時のイメージはこんな感じです。
- 問6 「自分の言った(入力した)言葉が1つ遅れて帰ってくる装置(会話BOT)」を作って、会話してみましょう。
- 問7 1つの数字を入力してもらい、2からその数字までの間にある素数を全て出力するプログラムを書いてください。
- 問8 メールアドレスを作って出力するプログラムを書いて下さい。
全部出来ましたでしょうか?自分でも問題を作ってみて、解答を公開するのも楽しいかもしれませんね。
それではメリークリスマス、Perl6のリリースを正座で待ちましょう!
第1回 電罰戦トーナメント 初代電罰王者にPerlで挑んだ話
Perl入学式in大阪のサポーターをやっている@Tomcha です。
この記事はPerl入学式アドベントカレンダー2015の14日目の記事です。折り返し地点を過ぎました。昨日はin東京でサポーターをされている@tsucchiさんでした。おや?ブログの到着が少し遅れているようですが楽しみに待ちましょう。
さて、記事タイトルになっている"電罰戦トーナメント"とは?? 初代電罰王者とは??*1
みなさんご存知無いかもしれませんが、平成27年12月10日、グランフロント大阪にて行われた"コンピュータープログラムによる三目並べ*2ゲーム選手権"とその優勝プログラムの事なんですね。聞いた事ないですか?それもそのはず、今勝手に名付けました、スミマセン。
---タイトルの釣りはここまで---
実はこれ、in大阪サポーターの@nqounetさんが主催されている、Perl入学式を卒業した脱初心者を対象にした、Perlで何かを作る勉強会「Perl鍋」で企画された大会なんです。 対戦マッチングプログラムはPerl鍋に参加されている@sago35tkさんがPerlで書かれ、Githubで公開されています。
で、どんなプログラム書いたの?
今回自分に課したテーマは、"コンピューターが自分で考える"プログラムです。 テーマは色々あると思うのですが、”とにかく勝つ(負けない)プログラム”、"過去の対戦結果から学習して成長するプログラム"、"効率良く書いた極力短いプログラム"などなど色々あると思います。今回は最近興味を持っているコンピューター将棋のエッセンスを取り入れて、
- 手を2手先、3手先・・・と先読みする(探索)
- 読んだ手の盤面に点数をつける(評価関数)
- 点数の高い(良い)と評価した盤面になるような次の1手を返す。
を目指しました。あと評価計算にビット演算なんかも詰め込んでみました。*3
...が、これ弱いです。ランダムで手を指すRand君には割りと勝ちますが、初代電罰王のNqounet.pm、Sago.pmには全く歯が立ちません。(笑)
原因は明快で、盤面を評価する評価関数が正しくない(評価の仕方が偏っている)なのですが、まぁ、自分のプログラムが必死で考えてこれが良いんじゃない?と判断した手を指してはいるので、とりあえずは満足しています。
https://github.com/sago35/PerlNabe-Sanmoku/blob/master/lib/PerlNabe/Sanmoku/Tomcha.pm
コードは自分がやりたかった事を詰め込んでいるので、あまり参考になる部分は無いですが、入学式で習った文法の中で、使い所が少し分かりにくい部分の使用例を挙げてみます。
まずは、リファレンス(参照)と値渡しの使い分けについてです。
159 行目 my @datacp = @$data;
これは make_te という、現在の盤面を配列リファレンスで引数にして渡すと、打てる手の候補をどんどん作る(2手、3手・・・の先読みも作る)サブルーチンの中のコードです。
2手先3手先を読むには、現在の盤面に手を打った状態、さらには相手が手を打ち返した状態の盤面に加工して評価する必要があるのですが、元の盤面データを「リファレンスで受け取っている」ので、リファレンスでの値を変更してしまうと元のデータが書き換わってしまい、別の可能性の手を評価する時に元の手が何だったのか分からなくなってしましますよね。
なので、$dataの配列リファレンスをデリファレンスし、@datacpという新しい配列にコピーして加工をしています。
「参照」と「値渡し」の使い分けが必要なケースの例ですね。
次の例は、ループ分におけるnextやlastの使いどころです。
176行目、185行目 next;
これは、次に打てる手を全て読んだ後に、その次の手を読みさらにその次・・・と手を深く読んでいく為にwhileループで手の生成ルーチンを回しているのですが、この中でこれ以上先を深く読む必要がなくなる時、すなわち
- 先行、後攻のどちらかが勝った時(それ以上は読んでも意味が無い)
- プログラムで指定している読みの深さ($depth)まで読みが達した時(何手先まで読むと設定している場合など)
1や2まで読んだ時、それ以上先の手を生成させず、違う手の可能性を読む為に次のループにスキップする例です。
先の手を読むイメージ
さて、ここまで読むと自分でも試してみたくなりますよね??
自分でも作ってみるには
作るべきプログラムの仕様は簡単で、
Mooを使ってプログラムのひな形を継承します。(深く理解してなくても、コピペでOK)
calc_next というサブルーチンを作ります。
calc_next は9つの値が入った配列が引数として渡されます。
clc_next は1つの数字を返します。
そう、書くべき内容はたったこれだけです。
実際にやってみよう
まずは@sago35tkさんのGithubページからソースコードを任意の場所にダウンロードします。
git clone git@github.com:sago35/PerlNabe-Sanmoku.git
まずはデフォルトで入っている「Sample君」と「Rand君」を戦わせてみましょう。Sample君は左上から順に空いているマスに駒を置くプログラム、Rand君は空いているマスにランダムに駒を置くプログラムです。
実行の仕方は、ダウンロード時に生成された'PerlNabe-Sanmoku'ディレクトリに移動して、'script/sanmoku.pl' を実行します。Sample君、Rand君等の思考プログラムは 'lib' ディレクトリに入っていますので、パスを通す(Perl に lib ディレクトリの中のプログラムを読みこませる)必要があります。ターミナルでの操作はこんな感じ。
cd PerlNabe-Sanmoku
perl -Ilib script/sanmoku.pl Sample Rand
すると画面はこんな感じになってゲームが始まります。 エンターキーで1手ずつ進めていきます。
では、実際に自分のプログラムを作ってみましょう。 Sample.pmを同じディレクトリ内で別名をつけてコピーします。これを改造していけば、オリジナルのプログラムが作れちゃいます。
仕組みは、サブルーチン calc_next に現在の盤面が9個の要素のリストが渡されます。先頭から順番に、左上、上、右上、左、中、右、左下、下、右下とZ順になっています。配列の中身は、0が空、1が自分の駒、2が相手の駒です。
盤面に駒が無い状態だと、(0,0,0,0,0,0,0,0,0)のリスト、センターに自分の駒がある盤面は(0,0,0,0,1,0,0,0,0)と表されます。
そして、calc_next はリストを受け取って処理をした結果0〜9の数字を返します。これが自分の打つ駒位置をあらわします。リストの順番と同じですね。
このサブルーチンの中でどう計算して手を考えるかがそれぞれのプログラムの差となります。
そして、先頭行に書かれている
package PerlNabe::Sanmoku::Sample;
の末尾のSampleの部分を自分の単語に書き換えます。頭文字は大文字です。
そして、ファイル名も書き換えたものと同じにします。
package PerlNabe::Sanmoku::Tomcha;
だと、Tomcha.pmといった具合です。
プログラムがちゃんと完成すれば、対戦させてみましょう。上に書いた通り、コマンドラインから実行します。第1引数が先手、第2引数が後手です。引数はファイルの名前から.pmを除いたものです。
perl -Ilib script/sanmoku.pl 第1引数 第2引数
どうでしょう、ちゃんと対戦が始まりましたか?
何か自分で作ったものが動くって、楽しいですよね!!
Let's enjoy programming. Happy Hacking!!
Perl入学式のその先は・・・
Perl入学式は全6回で終了です。全6回の内容を習得して初めてスタートラインに立てた状態です。スタートラインに立った後、どう使っていくか、どうコードを書いていくか、どう学習を発展させていくか、がとても大事に思います。
Perl入学式in大阪では卒業後の関連勉強会として、「Perl鍋」(Perlでそれぞれ何かを作る勉強会)や「なにわPerl」(自習目的のもくもく会)などを開催していますので、是非参加してみて下さい。新しいプログラミングの楽しさが発見できると思います。
わたくし@tomcha_が主催している「なにわPerl」では、年末の12月30日にもくもく会を開催します。
関西在住のエンジニアさん、学生さん、ちょうど帰省しているエンジニアさん、学生さん、その他なにか勉強やもくもく作業をしたい方(プログラミング関連の)は是非ご参加下さい。もちろん、サンデープログラマーの方もどうぞ!(主催者もアマチュアプログラマーです。)
年末にもくもく会を開催します。関西在住エンジニアさんも帰省エンジニアさんも学生さんもどうぞ〜!
第4回なにわPerl (12月30日) #naniwaperl https://t.co/x9unuJTS2a
— tomcha (@tomcha_) December 7, 2015
また、東京では「五反田Perl」、福岡では「天神Perl」も関連イベントとして開催されています。日程など詳しくはPerl入学式公式ページでご確認下さい。
さて明日は
明日の「Perl入学式 Advent Calendar 2015」は、in東京で受講生からサポーターに成られ、先日講師デビューを果たされた@gomaaburamax さんの記事です。楽しみですね!
Perl入学式ドリル 解答編
Perl入学式夏休みドリルを作ってはや数ヶ月、季節はもうクリスマス目前ですね。
問題を作ったまま解答編をアップするのを失念いたしておりました。
とりあえず、基礎編の解答例をアップいたします。応用編も近日中にアップする所存であります。
解答編はあくまで一つの例であり、かつ、第2回までの講義内容で書いています。入学式は第4回まで進んでいますし、もっと違う書き方やもっと工夫した書き方もありますので参考の一つと捉えていただければ幸いです。また、内容で何か質問があれば@tomcha_宛メンションなりコメント欄に書いて下さい。
それでは50問分、一挙にどうぞ!
- 問1 3行のおまじないを書いたファイル、'basic.pl'を作る。※以下、コードの最初に3行のおまじないを書くこと。
- 問2 画面に「Perl entrance」と出力する'perlentrance.pl'を作って実行する。
- 問3 画面に「I love Perl.」と出力し、改行する'loveperl.pl'を作って実行する。
- 問4 画面に「YAPC成功祈願」と出力し、改行する'yapc.pl'を作って実行する。
- 問5 スカラ変数を一つ宣言する'sc_val.pl'を作る。 (※以下、"ファイルを作る"を問題文から省略する。)
- 問6 スカラ変数を一つ宣言し、その変数に次の行で'Perl'という文字列を代入する'コードを書く。
- 問7 スカラ変数を1つ宣言し、同じ行で同時に 'TMTOWTDI' という文字列を代入するコードを書く。
- 問8 6で作った変数の中身を画面に出力するコードを書く。
- 問9 7で作った変数の中身を画面に出力し、改行もするコードを書く。 (※以下、"コードを書く"を問題文から省略する。)
- 問10 スカラ変数を3つ宣言する。
- 問11 スカラ変数3つを宣言し、それぞれに任意の整数を代入する。
- 問12 変数4つを宣言し、3つの変数に任意の整数を代入する。残り1つの変数に、3つの変数を合計した数字を代入する。(変数同士を足し算して代入すること。)
- 問13 12で作った4つの変数を利用して、"◯足す◯足す◯は◯です。"という文字を出力して改行する。
- 問14 変数2つ$heightと$weightを宣言し、身長150cm体重60kgのAさんの値を代入する。
- 問15 14で作ったデータを利用し、AさんのBMIを出力する。(BMIは、体重(kg)÷身長(m)の2乗で求めます。)
- 問16 3つの商品の単価を代入する変数を3つ($apple, $banana, $peach)を宣言し、それぞれに単価(りんご250円、バナナ150円、桃120円)を代入する。
- 問17 16で作った変数を利用して、りんご10個、バナナ8本、桃5個の合計金額に消費税8%を上乗せして出力する。(小数点以下の端数は)
- 問18 17の材料全てでミックスジュースを作ったら、20杯分が出来た。ミックスジュース1杯分の原価を出力する。
- 問19 100を3で割った時の余り、7で割った時の余り、11で割った時の余りをそれぞれ出力する。
- 問20 ピザ1枚1300kカロリーを16等分し、7人でなるべく均等になる様分けて食べた。7人が摂取したカロリーをそれぞれ出力する。
- 問21 変数$nameを宣言して、キーボードから名前を入力してもらい、変数に代入する。
- 問22 変数$nameと$nickを宣言し、キーボードから名前とニックネームを入力してもらい、変数に代入する。
- 問23 問22で作った変数を利用し、"◯◯さんのあだ名は△△です。"と出力する。1行で出力し、行の一番最後で改行する。
- 問24 変数$year, $monthm $dayを宣言し、キーボードから誕生年、月、日を入力してもらい変数に代入する。
- 問25 問24で作った変数を利用し、"あなたの誕生日は◯年◯月◯日です。"と1行で出力し、行の最後で改行する。
- 問26 "Papix" "xtetsuji" "校長" "教頭" の4つの文字列を、'.'(ドット)を使って連結し、Print文1行でPapix校長とxtetsuji教頭を出力する。校長と教頭の間は改行すること。
- 問27 苗字と名前を別々に入力し、苗字+スペース+名前と連結させ、変数$nameに代入し、変数の中身を出力する。
- 問28 キーボードから「0か1のいずれか」を入力させて、入力した値が1なら画面に'OK'の文字を出力させる。
- 問29 キーボードから文字列を入力させて、入力した文字が「Perl」なら、画面に'入学式'の文字を出力させる。
- 問30 キーボードから「1〜10」の数字を入力させて、入力した数が5なら、画面に'5'と出力させ、それ以外なら画面に'5以外'と出力させる。
- 問31 キーボードから文字列を入力させて、入力した文字が「Perl」なら、画面に'Larry'の文字を、入力した文字が「Ruby」なら画面に'Matz'を出力させる。
- 問32 キーボードから「1〜100」の数字を入力させて、入力した数字に応じて「50以下の偶数」「50以下の奇数」「51以上の偶数」「51以上の奇数」のいずれかを出力させる。
- 問33 キーボードから「1〜30」の数字を入力させて、入力した数字が「3の倍数」又は「3の数字が含まれている」場合、'3!'と出力させる。
- 問34 キーボードから文字を入力させて、入力した文字が「Perl」「Ruby」「Python」のいずれかの時は'LL'と出力し、それ以外の時は'other language'と出力させる。
- 問35 配列名「array」を宣言する。
- 問36 配列名「array」に、1から10までの数を順番に代入する。
- 問37 問36で作った配列の添字'5'の値を出力する。
- 問38 問36で作った配列を利用し、配列の先頭から3番目の要素、6番目の要素、10番目の要素の足し算を行い、結果を出力する。
- 問39 問36で作った配列を利用し、配列の先頭の値と配列の末尾の値を入れ替える。
- 問40 配列名「fruits」を宣言し、'apple','orange','banana','kiwi'を代入する。
- 問41 配列@numを宣言し、 1から1000までの整数を配列に代入する。(要素数は1000個になります)
- 問42 問41で作成した配列を利用して、1000から1まで逆順に並んだ数字の配列@rev_numを作る。
- 問43 問42で作成した@rev_numの要素を昇順にソートした配列@sort_numを作る。
- 問44 問41で作成した@numの要素を先頭から順番に出力する。(for文を使う)
- 問45 問41で作成した@numの要素のうち、先頭から10番目までの要素出力する。(for文を使う)
- 問46 問41で作成した@numの要素のうち、100番目から110番目までの要素出力する。(for文を使う)
- 問47 問41で作成した@num、問42で作成した@rev_numを使い、2つの配列の同じ添字の値を足した時全て1001になるか調べるコードを書く。(for文を使う)
- 問48 問41で作成した@num、問43で作成した@sort_numを使い、2つの配列の同じ添字の値が全て同じになるか調べるコードを書く。(for文を使う)
- 問49 C言語風のforループ文を使い、10回ループするコードを書く。
- 問50 問49のfor文を使い、画面に10回'Papix!!'と出力させる。
Perl入学式夏休みドリル 応用編
遅くなってすみません
夏休み、終わってしまいましたね。。。
第2回復習ドリルも少し手の込んだ応用編を用意してみました。
問題は第2回までの知識で書ける範囲になっていますが、第3回の予習をされた方や、もっと便利な関数とか書き方知ってるよ!って方は自由にコードを書いてもらって構いません。もし、自分なりのコードが書けたら、Githubのアカウントを作って、Gist(ちょっとしたコードを書いて公開できるサービス)で公開して受講者同士でお互いに書いたコードを見せ合うのも良いのではないでしょうか。そういう時は自分の書いたGistのアドレスをTwitterで #Perl入学式 のハッシュタグを付けて呟いてみましょう!
もし、どう書けばよいかわからない、ヒントが欲しい、等のご要望があれば、Perl入学式チャットで質問するもよし、なにわPerlで質問して頂いても構いません。
コードには、入学式で説明したおまじないの3行を書くようにしてください。
問題は全部で8問用意してみました。
Let's enjoy programming!
[問1] 以下の配列を使って、しりとりが完成する様、単語と単語の間を->でつなげて画面に出力してください。
my @words = ('肉','イカ','ラッパ','カニ','クジラ'); # 出力例 # イカ->カニ->肉 ....
[問2] 5つの数字の入力してもらい、5つ入力された後に昇順に並べ替えたものを画面に出力するプログラムを書いて下さい。
[問3] 好きな食べ物をいくつか入力してもらい、入力された順番の逆順に画面に出力するプログラムを書いて下さい。入力の受付は、食べ物の代わりにENDと入力されると終了して下さい。(reverse関数ってのがありましたよね?)
# # プログラム実行時の画面イメージ # # $> 好きな食べ物を入力して下さい>apple # $> 好きな食べ物を入力して下さい>orange # $> 好きな食べ物を入力して下さい>banana # $> 好きな食べ物を入力して下さい>END # $> banana orange apple #
[問4] 問3を、reverse関数を使わずにコードを書いて見て下さい。(reverse関数と同じ機能を自分のコードで書いてみてください。)
[問5] 合計時間を計算する、時間計算電卓を作りましょう。プログラム実行時のイメージはこんな感じです。
# # プログラム実行時の画面イメージ # # $> 時間電卓です。時間と分を別々に入力して下さい。終わる時は、ENDを入力して下さい。 # $> '時間'を入力して下さい>5 # $> '分'を入力して下さい。>30 # $> '時間'を入力して下さい>3 # $> '分'を入力して下さい。>10 # $> '時間'を入力して下さい>4 # $> '分'を入力して下さい。>35 # $> '時間'を入力して下さい>END # $> '分'を入力して下さい。> # $> 合計は13時間15分です。 #
[問6] 「自分の言った(入力した)言葉が1つ遅れて帰ってくる装置(会話BOT)」を作って、会話してみましょう。
コンピューターは、必ず最初に「こんにちは。」の挨拶から始まります。2回目の返事は「あなたの名前はなんですか?」です。
次からは、あなたが答えた返事を繰り返します。ENDと入力すると終了します。イメージはこんな感じです。
# 1つ遅れて返事する君(終わる時は、'END'と入力しましょう。) # com>> こんにちは。 # you>こんにちは。 # com>>あなたの名前は何ですか? # you>tomchaです。 # com>>こんにちは。 # you>さっき、あいさつは済ませましたよ? # com>>tomchaです。 # you>それは私の名前ですが。 # com>>さっき、あいさつは済ませましたよ? # you>そうです、済ませました。 # com>>それは私の名前ですが。 # you>済ませましたっていう名前なんですか? # com>>そうです、済ませました。 # you>え? # com>>済ませましたっていう名前なんですか? # you>END
[問7] 1つの数字を入力してもらい、2からその数字までの間にある素数を全て出力するプログラムを書いてください。
[問8] メールアドレスを作って出力するプログラムを書いて下さい。
コンピューターはアカウント名(@の前部分)を聞いてきます。そして、ドメイン(@の後ろ)は3つ候補が出てきますので数字で選択します。
これを繰り返して下さい。終わる時はENDと入力します。
そして、作成したメールアドレスを画面に出力して下さい。イメージはこんな感じです。
# アカウント名を入力して下さい。(終了はEND) >tomcha # ドメインを入力して下さい。 # 0: foo.net # 1: bar.net # 2: baz.net # No? >1 # アカウント名を入力して下さい。(終了はEND) >hoge # ドメインを入力して下さい。 # 0: foo.net # 1: bar.net # 2: baz.net # No? >2 # アカウント名を入力して下さい。(終了はEND) >fuga # ドメインを入力して下さい。 # 0: foo.net # 1: bar.net # 2: baz.net # No? >0 # アカウント名を入力して下さい。(終了はEND) >END # ドメインを入力して下さい。 # 0: foo.net # 1: bar.net # 2: baz.net # No? > # tomcha@bar.net hoge@baz.net fuga@foo.net
どうでしょう。全部コードが書けましたでしょうか? 第3回まで復習して忘れないようにしましょう!
素人がYAPC::Asia 2015に今年も行ってきた
あっという間の3日間、熱気が冷めやらぬうちに感想ブログを。
前夜祭
毎年恒例になっている「こだまで4時間ひとりもくもく会」。今読んでいるiOSアプリの本を読んで写経しながら、時間に余裕をもって東京へ。
YAPCへ出発!これから4時間もくもくタイム。 pic.twitter.com/TzxeEnGNyX
— tomcha (@tomcha_) 2015, 8月 20
さあ、YAPC会場へ向かうぞ! #yapcasia pic.twitter.com/YoJnbfyYZM
— tomcha (@tomcha_) 2015, 8月 20
久しぶりに会うエンジニアさんと再会してテンション↑、ビール飲んで最高↑、トークも聞けてテンション↑、早くもYAPC最高!!でした。
-
- 話の上手さ、面白さは流石。ドッカンドッカンウケて、お祭りのテンションが一気にMAXに。
@y-uuk1さんの技術ブログの書き方。
- 自分は自分用の記録として主にブログを書いていますが、それでも思わぬ反響があれば嬉しいところ。今後の記事の書き方にとても参考になるトークでした。
前夜祭の終わった後は、主にhachioji.pmや各地Perl入学式関係の方々と二次会へ。参加して飲んで話しているだけで楽しい時間でした。
初日
頑張って早起きしてオープニング前に到着。Perl入学式in大阪で一緒にサポーターをしているSTCさんと合流。なんと、当日始発で関西から来てオープニングに間に合わせたそうで、気合が凄かった!また、kansai.pmや去年のYAPCでご一緒したnoanさんとも合流して席を確保。ホールAの前の方の良い席が確保できました。
Larry wallのホビットの冒険と指輪物語の話(あとPerl6)
- 本を読んだのがもう20年以上前だったので、もう一度読みたくなってしまった。Perl6、後4ヶ月で出るの?!
Web由来の組み込みエンジニアの半年間のすべて 〜WebとiOSとBLEとハードウェアデバイスのこと〜
- 少人数ベンチャーを始めた話。知らない世界の経験談で面白かった。未知の世界の話を聞けるのは、カンファレンスや勉強会の醍醐味。
-
- Matzの話。プログラミング言語大好きオーラがスゴイ。Happy Hacking!楽しいからプログラミングやるんです!
若手エンジニア達の生存戦略
- 自分の仕事の部下の事をダブらせながら聞いていた。出演メンバーが優秀な方達ばかりだったし、真面目な話に終始するのは仕方がないですね。
趣味から育てたWebサービスで生きていく
- webサービスを作って運営する話。裏側や体験談が面白かったです。懇親会でステッカー頂きました!ありがとうございます。
懇親会では、年に一度のご挨拶。また、知ってる人の知ってる人繋がりで新しく出会った人とも色々お喋りできました。また、ツイッター上でしか知らなかった方とも直接会ってお話しする事が出来ました。まさにYAPCがあればこその出会いですね。感謝で一杯です。
また、自分の開いているもくもく会、なにわPerlの宣伝もして回りました。大阪へお越しの際は是非ご参加ください!
そう、Larry似にサインをもらって一緒に写真まで撮ってもらえました!
この後、五反田の通称「女子高生中華」?!というお店(※餃子と豆苗炒めが美味しい中華料理屋さんでした。)で2次会。 @xtetusjiさんとお話して、
.@tomcha_ さんから、京都の菊香荘でハッカソンならぬキッカソンをやったらどうかという提案が。いいかも!
— OGATA Tetsuji (@xtetsuji) 2015, 8月 21
新しい企画で盛り上がりました。交流できる場が出来て、新しい出会いとか生まれると良いなあと。
結局また深夜まで飲んで交流していました。
最終日
最終日はさすがに疲労もピーク。若手には敵わない。
この日は最初から聞きたいトークは数をしぼり、無限コーヒーで交流したり、Perl6を試してみたりして過ごしました。
サンタクロースを支えるIT技術
- エンジニアさんが本業以外のボランティアで技術を使う話でした。自分は本業エンジニアではないので、IT技術を使う時に非エンジニアな人とバランスをとらなければならない話など共感しました。また、色んな形でIT技術が使われるのって素晴らしいなと思いました。
YAPC::Asia が終了して
まずは、スタッフの皆さん、スポンサーの皆さん、ありがとうございます。
2000人を超すイベントの企画と運営、並大抵の事じゃないですよね。
4年前、Perl入学式と出会い、そしてYAPC::Asiaに参加しなければ、ここまでプログラミングやIT技術にのめり込む事はなく、今の自分はないです。
素人ながらも、気付けば初心者向け勉強会のサポートや自らもくもく会を開催したりする程にまでになっていました。感謝しかないですし、今まで出会って知り合えたエンジニアさんも含め、僕にとっては非常に大きな存在です。
YAPC::Asia Tokyo が終わってしまうのは少し寂しいですが、でも、YAPCがきっかけで知り合った人たちの各地のpmや勉強会に自ら行ってみようとも思いますし、何よりPerl入学式やなにわPerl,そして@nqounetさんが主催するPerl鍋に来てもらうこともできますよね。
これからもYAPCでの出会いを大切にしていきたいと思いました。本当にありがとうございました。
あと、満員だったり裏だったりで聴けなかったトーク、早く動画で見たいですね!
YAPC前夜祭に今年も参加した!
年に一度、YAPCや勉強会で知り合った仲間との同窓会のような、そしてSNS等ではお見かけする方々と直にお会いする方と新たに交流できるお祭りが開幕しました!
いや〜、今年も来てよかった!前夜祭終了後も飲みに行って、色んな話をして、早くも充実感満載です。
こういう機会が無くなってしまうのは、本当に寂しいかぎりです。いや、まだ今年のYAPCは始まったばかり。 まだお会いしていない方もまだまだ沢山。明日と明後日、思いっきり楽しもう!
個人スポンサー特典のタンブラー、パーカーもめっちゃイイ!!もう良いこと尽くめですね。
いよいよ明日からトークも本格的に始まりますし、懇親会も開催されます。 明日は寝坊しないよう頑張って起きて、みなさん、楽しみましょう!
よろしくお願いします!
さあYAPCだ!!!
この2つと出会わなかったら、今、こんなにどっぷりとプログラミングやwebの世界にのめり込む事は無かったと断言できる。
OSSの世界は色んな形のgive and takeで成り立っていて、エンジニアリングを業としていない自分が出来る事として、Perl入学式ではサポーターとしての参加、YAPC::ASIAには個人スポンサーチケットの購入で、わずかながらもOSSの世界へ恩返しが出来たのだろうか。
お祭り開幕前のテンション、そう、小学生の頃の遠足の前の日に眠れなかったあの興奮の様な高ぶりで、思わずYAPC参加前のブログを書いてしまった。
懇親会も申し込んだ、聞くトークのスケジュールも立てた、Acme大全と雅なPerlを買うお金も銀行でおろしてきた。準備は着々と進んでいる。
まだ始まってすらいないのに、今年のYAPC::ASIAへの期待感は何故か過去最高!
とにかく、期待一杯で明日が楽しみだ!
現地でお会いする皆さん、運営スタッフの皆さん、今回もよろしくお願いします!!