Perlがくしゅう帳(Rubyも)

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

育児パパを経験して得た知見とおすすめアイテム その1

突然ですが、7月上旬に子供が産まれました。
そして産まれてからあっという間に2週間が過ぎました。
現在、育児休暇で仕事を休んで奮闘中ですが、お父さんが育児を初めて経験して個人的に思った事や便利グッズなどを書き記しておこうと思います。
これから子供が生まれる家庭や、育児パパになる人に少しでも役に立てばと思います。

まず、育児アイテムを揃えるタイミングですが、自分は予定日(6月末)のちょうど半年前のお正月休みがスタートでした。
妻とデパートのベビー用品売り場へちょっと見に行こうぐらいの軽い気持ちで行った時のこと。ちょうど催事で新生児ベビー服のお年玉セールをやっていました。
ベビー服やタオル、ガーゼ等の必需品、ベビーカーやチャイルドシート等は「お正月」「ゴールデンウイーク」に福袋やセールをやっています。おそらく、家族連れや実家のおじいちゃんおばあちゃんと一緒に買い物に来た層をターゲットにしているのでしょうか。
予定日の半年前というと、お腹の変化もそんなになく、産後もまだ先でイメージもあまり湧いていない時期でまだピンと来ていない時期でしたが、結果としてセールを利用して安く揃えられました。また、妻のお腹が大きくなってからでは出歩くのも大変なので、概ね予定日の半年前くらいのお正月、GWくらいからアイテムを揃えていくのがベターだと思います。

肌着、ガーゼハンカチ、バスアフガン、ベビーカー、チャイルドシート、ニオイポイを予定日の半年前に揃え、当時は結構早めに買ったな〜と思っていましたが、予定日が近づくにつれ、早めに揃えておいてよかったと痛感しました。ちなみにチャイルドシートは予定日の2週間前にとりつけました。&& 2週間前から禁酒しました。いつ何時陣痛が来るか分からず、すぐに運転出来るようにするためです。お酒は2週間前から控えて産まれた日に祝杯を上げましょう。スペシャルなビール(ちょっとお高い普段飲めないやつ)を用意しておくと良いかもしれません。

肌着やガーゼハンカチは店員の"天竺おばさん"から、いくつあっても足りないよとアドバイスをもらい、多めに買ったのですが、多めに買うの大事。産まれてからアドバイス通り買ってよかったと思いました。通称天竺おばさんというのは、天竺素材をすすめるエンゼルの少しご年配の店員さんで、結果的に天竺素材はすごくよかったです。エンゼルの肌着やガーゼは薦められるがままに買いましたが、お孫さんもいる店員さんの説得力は半端なかったです。

www.baby-angel.net

ベビー用品の洗濯は大人とは別の洗剤を使うのと、こまめに洗濯物が出るので基本手洗いになるのですが、いざ子供が生まれるとなかなか時間がとれません。あっという間に洗濯物がたまる = 服やガーゼ、タオルのストックがなくなってしまうので想定している数量プラス何枚かあるほうが良いです。(うちでは8〜10くらい)バスアフガンも当初2枚しか買っていませんでしたが、全然回らなかったので産まれてから急遽2枚買い足しました。

ちなみに洗剤や体洗い石鹸はお肌に優しいしゃぼんだま石けんを選びました。うちの子には肌荒れなど特に問題もなく、いい感じで使っています。

シャボン玉 ベビーソープ 泡タイプ 本体 400ml

シャボン玉 ベビーソープ 泡タイプ 本体 400ml

ベビーカー等の大型商品や肌着やガーゼなどの数を揃える必要がある小物は、多少早くても「お正月」「ゴールデンウイーク」が狙い目です。

吉祥寺.pm #14に参加してきました

人生初の地元以外開催のpmにお邪魔してきました。

kichijojipm.connpass.com

総参加者人数が約40名、.pmのイベントでこれだけ沢山の人数が集まるのは(しかも数ヶ月に1回のペース)本当に凄い。しかも平日の仕事が終わってからの時間帯!
初めて参加するコミュニティへ飛び込むのは勇気がいりますが、 YAPCPerl入学式つながりで知り合った関東の方々、大阪から上京した方と久しぶりに会う事もでき、何らかの形で活動を続けていく大切だし、知り合いが増えていくのはとても楽しい事だなとあらためて思いました。主催のmagnolia_k_さん、スタッフのみなさん、ありがとうございました。

ちなみに吉祥寺は東京23区より東にあり、新宿あたりからJRで20〜30分の場所です。吉祥寺に行ったのも初めてでした。想像していたのは郊外にある住宅地のイメージでしたが、思っていたよりも全然都会でした。

さて、pmの内容は20分トークとLTで、かなりのボリュームです。色んな話が聞けました。

懇親会も本編40人中、30人の出席率!これまためちゃくちゃ盛り上がって楽しかったです。席が近かった方としかなかなか話せなかったのが少し残念でした。著名なPerlMongerの方や、Twitterで一方的に知っていた方と直で話ができたり、とても面白い考え方の若い方のお話が聞けたり、学びがたくさんありました。今回お話ができなかった方とも、またYAPCとかでお話したいですね。

今回、ホーム以外のpmに参加して感じたのは、とにかく活気がすごい、そして渋谷.pmに五反田.pmもあるなんて、Perlのコミュニティ全然活発じゃん!!って事でした。

コミュニティは継続が力なりなのだなと思いました。またモチベーションが上がりました。関西でもPerlの勉強会を続けて行きたいですね。

で、

ということで、6月9日(土)、大阪梅田でもくもく会を開催します。まだ参加枠があります。初心者向けのコミュニティですので、Perl入学式の予習復習に是非どうぞ!

naniwaperl.connpass.com

今回は本当に本編も懇親会も楽しかったです。また参加します!

プログラミング、初めてみませんか?

2018年度がスタートしました。
せっかくの新年度の機会です。何か新しいことを初めてみませんか?

自己紹介が遅くなりましたが、私はPerl入学式in大阪でサポーターをしている @tomcha_ と申します。 この記事は「春のPerl入学式リレーブログ」初日の記事です。
早いものでこの勉強会「Perl入学式」が始まって今年度で7年目となります。大阪、東京、札幌、沖縄と全国でたくさんの人が学んだ初心者向けプログラミング勉強会です。

この勉強会の特徴は、

  1. 全て無料です。勉強会の参加はもちろん、資料の閲覧、チャットサポートを受けるのも無料です。全てボランティアスタッフの活動で成り立っています。

  2. 第1回は環境構築回と言って、各自の持参したパソコンでプログラミング言語Perlを使える様にソフトをインストールする会です。第2回以降はそれを使って実際にプログラミングを学んでいきます。

  3. 全部で第5回まであり、最初は基本的な事から回を追うごとにより深い知識を身に付けていきます。もしスケジュールの都合で出られない会があったとしても、資料は全て公式サイトで公開されているので自習をする事で問題なく追いつくことができます。自習で分かりにくい事は公式サポートチャットで質問できるので安心です。

インターネットやコンピューターがより身近なモノとなり、小学生のプログラミング教育が必修化etc...色々言われておりますが... そんな事は置いといて、単純に学ぶモチベーションは

「プログラミングは楽しい!」

これに尽きると思います。

私がボランティアスタッフを続けているモチベーションも全く同じです。
何を隠そう、私を含め各地域も含めボランティアスタッフのほとんどが過去のPerl入学式の受講生なのです。

何が楽しいのかって?

何かを自分で考えて、自分で作ってみて、それが動く!他人にも見せれる!とってもワクワクしますね!!

Perl入学式はプログラミングを全く未経験な方も、少しかじった程度の方でも、どなたでも参加できる勉強会です。
2018年度の各地第1回の日程と場所が徐々に決まってきました。

さあ、あなたもPerl入学式に参加して、プログラミングという楽しい世界に飛び込んでみませんか?

コードレビューをする勉強会を開催しました。

なにわPerl#13で、コードレビューをテーマにした勉強会を主催しました。

naniwaperl.connpass.com

結果から言うと、進め方はまだ手探り状態ではあるものの、想定していた以上の良い勉強会になりました。
今回やりたかった事は、プログラミングを0から初めてある程度文法をマスターした段階のプログラマーにとって、「基本文法は理解した」から到達目標である「実用性のあるコードを書く」の間にとても大きな差があると感じていて、その間を埋める勉強会を開催したかったという思いです。

基本文法をマスターすれば、即実践で使えるかというと覚えなくてはいけない知識(DBの事、webの仕組みの事、サーバーに関する知識、アルゴリズム etc)は多岐に渡って更に深く身につける必要があり、Perl入学式の次の一歩の勉強会、脱初学者な勉強会が欲しい!と思い、無ければやるしかの精神で開催しました。

今回はレビューしてもらうコードの題材として、競技プログラミングのサイト AtCoder さんの問題を使わせて頂きました。快く使用許可を頂いた twitter.com さん、本当にありがとうございます。

また、レビュアーはPerl入学式の創設者であり、第一線で活躍するエンジニア id:papix さんにコードレビュー役をお願いしました。快く引き受けて頂き、また東京より駆けつけて頂きありがとうございました。

お硬い文章はこれくらいにして、何が良かったかというと、

  • 普段我流でコードを書いている自分にとって、プロの目線から指摘をもらって目から鱗の知見がたくさんあった
  • 仕事でプログラムを書いている人にとっても、自社の文化を超えた目線でのアドバイスは視野が広がった

点でした。

講義形式や発表形式の勉強会とはまた違った雰囲気で、何より

"それぞれが発表の場を持つ全員が主役である"

こと、同じ題材でコードを書いているからこその

"他人のコードを読む機会(とその違いが明確に分かる)"

部分がとても勉強になりました。
色々と改善の余地はありますが、とても有意義な勉強会だったのでこれからも続けていこうと思います。

Perl入学式は今年も色々な都市で開催されます。初心者向け勉強会”Perl入学式”、次のステップの"Perl中学校"、今年も頑張っていきたい(とはいっても自分にとっては趣味の一環)と思います。

perl-entrance-tokyo.connpass.com

perl-entrance-okinawa.connpass.com

perl-entrance-sapporo.connpass.com

perl-entrance-osaka.connpass.com

naniwaperl.connpass.com

最近Macで急にRailsコマンドが使えなくなった時にした解決方法

本町で開催されているDDD.rb主催のもくもく会に参加してきました。

dddrb.doorkeeper.jp

その中で、今まで使えていたRailsが急に使えなくなり、エラーメッセージが「ffi の vative extensions がどうしたこうした...」という現象を相談している方がおられ、

「ん?ffi ?それ、昨日自分も同じ現象でハマってたやつでは?」

同じハマり方をしているケースも多々ありそうだったのでブログ記事を書いてみました。
具体的には、「MacOS High Sierra」を利用中で、OSのバージョンアップをしているケースと想定されます。
そして、以前にインストールしていた時は問題なくRailsコマンドが使えていたのに、久しぶりにRails new するとエラーでコケてしまうという現象です。

Rails new や Rails server 等、Railsのコマンドを実行しようとすると....

Fetching ffi 1.9.21
Installing ffi 1.9.21 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

ffi のGemのエラーが出るやつでした。

自分がとった解決方法は、RubygemsffiのGemを見てみると、

https://rubygems.org/gems/ffi/versions

どうらら2018/2/6にアップデートされており、1月に使えていた時とバージョンが違ったので、 Gemfileを編集してffiを一つ前のバージョン固定でインストールしてみました。

<Gemfile>

 gem 'ffi', '1.9.18'
bundle install

Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Using rake 12.3.0
.
.
.
Bundle complete! 9 Gemfile dependencies, 48 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.

無事にGem がインストール出来てRailsコマンドが使えるようになりました。
自分の環境はrbenvを使ってsystemのRubyを使ってなかったので、bundle installコマンドはユーザー権限でインストールできましたが、rbenvを使わずに直接railsをインストールしている場合、sudo bundle install する必要があるかもしれません。(自己の環境では未実施)

もくもく会

  • 書籍「プロを目指す人のためのRuby入門」の練習問題の復習
  • Railsを使ったAPIの作り方
  • Reactを使ってviewを描画するウェブアプリの事

で、Reactは名前を聞いた程度で、概念、方法など全く知識が無かった事だったのでとても勉強になりました。

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入学式アドベントカレンダーの記事を締めくくりたいと思います。