読者です 読者をやめる 読者になる 読者になる

give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

「レンジで字が消える!」というYouTube動画を真似した息子がノートを黒焦げにした話(※追記あり)

非IT系

2016.10.30 追記:おわび

この記事は元々、YouTubeをよく見ているお子さんを持つ保護者のみなさんに向けて、注意喚起をしたいと思って書いた記事でした。
ですが、YouTubeの利用規約には「本サービスは13歳未満の子供による利用を意図していません。あなたが13歳未満の場合、YouTubeウェブサイトを利用しないで下さい。」との記述があります。
お恥ずかしいことに私はこの利用規約をちゃんと確認していませんでした。
利用規約を確認しないまま、子どもにYouTubeを視聴させてしまったことは、私の完全な注意不足でした。
大変申し訳ありませんでした。

また、記事の中で「おそらく動画を投稿した本人たちはそこまでの危険性があるとは自覚していないのでしょうが、もう少し想像力を働かせて上記のような問題点に配慮してほしかったなと思います。」と書きましたが、私もこのブログを公開することで動画を投稿したYouTuberの方と、そのファンのみなさんを深く傷つけてしまうことを想像できていませんでした。
公開後の反響を見て、みなさんの悲しい気持ちや怒りたくなる気持ちを痛感しました。
想像力がないのは私の方だったと思います。
大変申し訳ありませんでした。

他にもこの記事には批判を受けてしかるべき部分がたくさんあると思います。
この記事を読んで不愉快に思われたみなさんには深くお詫びいたします。

ただ、この記事を削除してしまうとオリジナルの内容が不明のまま、ネット上に内容のコピーが散らばってしまうため、「ここがオリジナルである」という証拠として残しておきます。
というわけで、本文はそのまま残しておきますが、この記事を読まれる方は上記のような点をふまえてこの続きを読んでください。

2016年10月30日
伊藤淳一

続きを読む

QiitaでRuby初心者向けにテキストエディタの設定や使い方を説明してみました

Ruby

お知らせ

Qiitaに「【Ruby初心者向け】テキストエディタ、ちゃんと設定できてる?使いこなせてる?チェックリスト10項目」という記事を書きました。

これはRubyの文法や機能を学習する前に、コードを書く道具であるテキストエディタをちゃんと使いこなしましょう、という記事です。
特にテキストエディタの種類は限定せず、どんなエディタでも共通する考え方を説明しています。

勉強会でRuby初心者さんの画面を覗いたりすると、「うーん、エディタがその状態じゃコードを書く効率が悪すぎるな〜」と思うことがよくあるので、そういった経験をもとにこの記事を書きました。

独学でRubyの勉強をしている人とかは意外とないがしろにしたままRubyのコードを書いているかもしれません。
この記事を読んで自分のテキストエディタをもっと使いこなせるようになりましょう!

おまけ:僕が書いたストック数の多いQiita記事

先日、「Qiitaで最もストック数が多い投稿50本」という記事が公開されていました。
この中に僕が書いた記事が3本入っていました。

まず、24位はこちら。
プログラミングと英語の関係について書いた記事です。

33位はこちら。
よく使うVimの便利コマンドについて書いた記事です。

最後に36位はこちら。
RubyやRailsで熟練者がよく使うスマートな書き方(=イディオム)をいろいろ紹介した記事です。

あと、50位には入っていませんでしたが、今日はこの記事が1600ストックを達成したという通知が飛んできました。
これはRubyのテスティングフレームワークである、RSpecの基本について説明した記事です。

まだ読んだことがない記事がこの中にあれば、ぜひ読んでみてください!

もくもくしすぎない「もくもく会」!?Rubyプログラミングキャンプ 2016を開催しました

Ruby イベント参加

はじめに

2016年10月1日と2日に、僕とAkiさんで主催しているRubyコミュニティ「西脇.rb&神戸.rb」のイベントとして「Rubyプログラミングキャンプ 2016」を開催しました。

これは泊まりがけで2日間たっぷりRubyプログラミングを満喫しようというイベントで、今年で3回目になります。
今回のエントリでは、このイベントの開催レポートをお送りします。

開催地は三木ホースランドパーク・エオの森

開催地は今年も兵庫県三木市にある、三木ホースランドパーク・エオの森でした。
Rubyプログラミングキャンプは毎年こちらで開催させてもらっています。
宿泊施設付きの研修センターがあり、Wifiも使えるので、開発合宿には打ってつけの施設です。

f:id:JunichiIto:20161005045519j:plain

合宿の基本テーマは「ロングもくもく会」

この合宿の基本テーマは毎年「ロングもくもく会」です。
つまり、2日間かけて参加者各自がやりたいことをじっくりやる、というのが基本的なコンセプトです。

ただし、合宿の最後には成果発表会をするので、何かしらのアウトプットを出せることが条件になります。

今年のサブテーマは「もくもくしすぎない・参加者同士の会話を増やす」

基本テーマは「もくもく会」ですが、本当に「もくもく」作業してしまうのではなく、困ったときはお互いに助け合ったりして「わいわい・がやがや」してもらうのも全然構いません。
むしろ、いっぱい話をしてもらって、Ruby仲間をたくさん増やして帰ってもらうのが理想的です。

なのですが、去年は「もくもくしすぎてしまい、他の参加者と話す機会がほとんどなかった」という意見を結構見かけたので、今年は意図的に参加者同士の会話を増やす工夫を取り入れることにしました。

1日目

興味が近い人同士でグループを作る

研修室に入ってまずやったことは、参加者のグループ分けです。
グループ分けにはマグネットテーブルと呼ばれる手法を使いました。

これは大きめの紙にこの合宿で自分が取り組もうとしている作業内容と、最近自分が興味を持っている技術分野を書いてお互いに見せ合う、というものです。
参加者は部屋の中を自由に歩き回りながら、他の参加者に質問したり、自分がやろうとしていること説明したりして、自分と興味の近い人を見つけていきます。

f:id:JunichiIto:20161005051204j:plain

今回の参加者は12名で1グループを4人とし、計3グループを作りました。
そして、グループごとにテーブルを分けて座りました。

f:id:JunichiIto:20161005051726j:plain

興味の近い人を見つけてテーブルを分けて座る、というのは今回初めてやった試みです。
去年まではこんなふうに全テーブルをコの字形に並べて、自由に座っていました。

f:id:JunichiIto:20151011090154j:plain

しかし、コの字形にすると会話が生まれにくいということで、今年からはグループごとにテーブルを分けることにしました。
テーブルを分けるとグループ内での会話を増やす効果があったので、次回もまた採用しようと思います。

自己紹介後、チーム対抗プログラミング大会を実施

テーブルを分けた後は、全員の自己紹介タイムです。
普段の仕事や、この合宿でやろうとしているテーマを一人ずつ紹介してもらいました。

f:id:JunichiIto:20161005061712j:plain

いつもならこのあとに「各自で作業開始!」としていたのですが、今年は「参加者同士の会話を増やす」というサブテーマがあるので、小さなイベントを挟み込みました。
それがチーム対抗のプログラミング大会です。

これは次のようなルールで進めました。

  1. 僕が簡単なプログラミング問題を出す
  2. 各自で問題を解く(制限時間30分)
  3. チーム内で相談してベストアンサーを1つ決める
  4. 各チームのベストアンサーをそれぞれ発表してもらう
  5. 僕が最優秀賞をひとつ選ぶ

3番目の「チーム内で相談してベストアンサーを1つ決める」というのがポイントです。
ここでお互いのコードを見せ合ったり、しっかり話し合ったりして、会話量を増やしてもらうのがこのミニイベントの狙いでした。

ちなみに僕が出題した問題はこんな問題です。

最優秀賞のコードに選ばれたのは次のコードでした。(ちゃんとテストも書いてて偉い!)

require 'minitest/autorun'

def to_hex(r, g, b)
  '#%02x%02x%02x' % [r, g, b]
end

class TestToHex < Minitest::Test
  def test_to_hex
    assert_equal '#010101', to_hex(1, 1, 1)
    assert_equal '#000000', to_hex(0, 0, 0)
    assert_equal '#ffffff', to_hex(255, 255, 255)
    assert_equal '#043c78', to_hex(4, 60, 120)
  end
end
例年より参加者同士の相談が多い「もくもくタイム」

さて、プログラミング大会も終わり、会場の空気も温まったところで「もくもくタイム」のスタートです!
昼食を挟んで夕食の時間まで各自で自分のやりたい作業を進めます。

グループ分けをしたり、プログラミング大会を開いたりしたおかげか、今年は例年よりも参加者同士の相談が多かったように思います。
主催者としてはこういう光景をたくさん見たかったので、ちょっと安心しました。

f:id:JunichiIto:20161005063314j:plain
f:id:JunichiIto:20161005063326j:plain
f:id:JunichiIto:20161005063337j:plain

チャットツールでさらにコミュニケーション

さらに、新しい試みのひとつとして、もくもくタイム中にチャットツール(gitter)を使えるようにしました。
チャットツールを使えば参加者同士でサンプルコードや参考リンクを共有したり、困っていることを独り言のようにつぶやいてさりげなくヘルプを求めたりすることができます。

これもなかなか便利で、円滑なコミュニケーション作りに役立ちました。

f:id:JunichiIto:20161005062802p:plain

夕食はバイキング

夕食は施設内のレストランでバイキングでした。
いろんな料理をおいしくいただきました。

f:id:JunichiIto:20161005064026j:plain
f:id:JunichiIto:20161005064157j:plain

中間発表会もグループ単位で実施

夕食が終わったら、しばらくは自由行動です。
夜は飲みたい!という人は、みんなで近くのコンビニへお酒を買いに行ったりしました。
僕はお酒は飲まないので、先にお風呂に入りました。

そのあとみんなでまた研修室に集まって、中間発表会をしました。
この中間発表会も例年はプロジェクタを使って一人ずつ発表してもらっていたのですが、「時間がもったいないし、このスタイルでやる必然性もないよね」ということで、今年はグループ単位で実施することにしました。

具体的な進め方は以下のとおりです。

  • グループ内で各自が自分のPCを見せて何をやっているか、どこまで進んでいるかを報告する
  • 何か困っていることがあればグループ内で助けを求める(グループ内で解決しなければ全員にエスカレーションする)

このようなスタイルで中間発表会をしたので、今年は短時間で終わらせることができました。
それに加えて、少人数で報告し合うので、気軽に困っている点を相談したり、気になるポイントを質問したりできたのも良かったですね。

f:id:JunichiIto:20161005070549j:plain
f:id:JunichiIto:20161005070546j:plain

22時で1日目はいったん終了

研修室を借りられるのは22時までなので、この時間で1日目はいったんお開きになります。
その後はお風呂に入るなり、寝室で続きをやるなり、みんなと話すなり、自由に過ごしてもらってOKです。

一部の参加者は個室を借りましたが、大半の参加者は大部屋が寝室でした。
今年の大部屋は2段ベッドになっていて、「なんか修学旅行に来たみたいだね~」とみんなで話していました。

f:id:JunichiIto:20161005071605j:plain
f:id:JunichiIto:20161005072051j:plain

2日目

朝食まで各自でもくもく

朝食は7:30なのですが、朝早く目が覚めた人は施設内の図書室で1日目の続きをやっていました。(研修室は9時に開くため)
朝食までは寝ていても構わないのですが、たくさんの人が図書室に集まってきました。
みんな真面目ですね!

f:id:JunichiIto:20161005072442j:plain

朝食後、みんなで園内をトレッキング

朝食を食べ終わったあとは、研修室が開くまでちょっと時間ができます。
例年だと寝室に戻って各自で作業をしたりしていたのですが、今年はこの時間を有効活用しようということで、外を歩くことにしました。

会場として使わせてもらっている「エオの森」は、三木ホースランドパークという大きな公園の一施設です。
三木ホースランドパーク内にはトレッキングコースがあったり、名前のとおり馬を飼っている馬事センターがあったりします。

f:id:JunichiIto:20161005073102g:plain
園内マップ | 三木ホースランドパーク

というわけで、みんなで仲良く園内をトレッキングしました。

f:id:JunichiIto:20161005073406j:plain

トレッキングコースは完全に森です。

f:id:JunichiIto:20161005073451j:plain

馬事センターではお馬さんも発見しました。

f:id:JunichiIto:20161005073746j:plain

この日は曇りだったものの、湿度が結構高く、30分ほど歩いただけでしたが、みんな汗をかいていました。

2日目のもくもく開始

さて、腹ごなしの運動(?)が終わったら、2日目のもくもく会がスタートです。
みんな一生懸命PCに向かって作業します。

f:id:JunichiIto:20161005074505j:plain
f:id:JunichiIto:20161005074507j:plain

2日目のランチはバーベキュー大会!

2日目のランチは毎年恒例のバーベキュー大会です!
園内のバーベキューコーナーに移動して、みんなでバーベキューを食べました。

f:id:JunichiIto:20161005075238j:plain
f:id:JunichiIto:20161005075256j:plain
f:id:JunichiIto:20161005075251j:plain

食材は参加者の田中さんの奥さんに調達してもらいました。
田中さんの奥さんに手伝ってもらうのは今年で2回目です。
いつもありがとうございます。本当に助かります!!

ランチのあとはラストスパート・・・!?

さて、バーベキュー大会が終わったら、終盤に向けて一気にラストスパート!!・・・・のはずなんですが、ランチの直後は眠気が襲ってきてヤバいですね。
チャットルームもこの状態でした(苦笑)。

f:id:JunichiIto:20161005080853p:plain

みんな、がんばってー!!

いよいよ成果発表会

16時になったら「もくもくタイム」もおしまいです。
ここからは各自の成果発表を行います。

Solidusを使ってECサイトを作ったり、グラフデータベースのneo4jとRubyを連携させたり、株価収集スクリプトを開発したり、非常にバリエーション豊かな成果発表会になりました。

f:id:JunichiIto:20161005082837j:plain
f:id:JunichiIto:20161005082844j:plain
f:id:JunichiIto:20161005083012j:plain

Rubyプログラミングキャンプ終了!

成果発表会が終わったらRubyプログラミングキャンプも終了です。
長いようで短かった、あっという間の2日間でした。
みなさん、どうもお疲れ様でした!

f:id:JunichiIto:20161005083602j:plain

まとめ

というわけで、今年のRubyプログラミングキャンプは例年の構成をベースにしつつ、「もくもくしすぎない・参加者同士の会話を増やす」というサブテーマを加えて、いろいろと新しい工夫を取り込んだりしました。
そのおかげか、今年は例年以上に参加者同士の親睦が深まった気がします。

告知期間中は「行きたいけど、都合が合わなくて参加できない」という声も数名からもらいました。
来年も開催するつもりですので、今年行けなかった人は来年一緒に行きましょう!

また、不定期ですが普通の勉強会も開催していく予定です。(次回は年明けぐらいかも)
西脇.rb&神戸.rbの勉強会に興味がある方はDoorkeeperのコミュニティページから参加登録をよろしくお願いします。

FacebookページやTwitterアカウントもあるので、よかったらこちらもどうぞ。

それではこれで西脇.rb&神戸.rbのRubyプログラミングキャンプ 2016の開催レポートを終わります!

お礼:写真提供

本文中で使った写真は僕が撮った写真のほか、参加者のみなさんが撮ってくれた写真も利用させてもらっています。
ご提供どうもありがとうございました。

あわせて読みたい

第1回と第2回の合宿開催レポートはこちらです。
興味がある方はこちらも読んでみてください。

【告知】Rails Girls Kobe 2ndが2016年11月4日と5日に開催されます

西脇.rb&神戸.rbとは直接関係はないのですが、Akiさんをはじめ、西脇.rb&神戸.rbのメンバーがコーチとして多数参加する「Rails Girls Kobe 2nd」が、2016年11月4日(金)~5日(土)に開催されます。

開催日時
2016年11月4日(金) 18:00~
2016年11月5日(土) 09:30~
開催地
神戸市立会館勤労会館
参加費
無料
申込締切
2016年10月10日(月) 23:55
申込ページ
https://railsgirls-kobe.doorkeeper.jp/events/49096

Rails Girlsは「プログラミングやWebアプリ作成に興味と関心はあるけれども、プログラミング未経験の女性」を対象にしたITイベントです。
関西圏に在住する女性で「未経験だけどプログラミングをやってみたい」という方にはピッタリのイベントですので、ぜひ参加してみてください!