Skip to content

Commit

Permalink
update README and add docker/ dir
Browse files Browse the repository at this point in the history
  • Loading branch information
Koichi Sasada committed Jul 15, 2018
1 parent 46b175f commit d7b3033
Show file tree
Hide file tree
Showing 4 changed files with 142 additions and 45 deletions.
47 changes: 2 additions & 45 deletions README.md
@@ -1,47 +1,4 @@
# Cookpad Ruby Hack Challenge #4 カバレッジ特別回
# 高専カンファレンス Ruby Hack Challenge - Rails寺子屋特別編

# Cookpad Ruby Hack Challenge とは
See https://rails-terakoya.connpass.com/event/88342/

クックパッドで Ruby インタプリタを Hack しよう!

クックパッドをはじめ、多くのウェブアプリケーション開発でプログラミング言語 Ruby が利用されています。Ruby で書かれたプログラムを動かすときは Ruby インタプリタで実行します。

Cookpad Ruby Hack Challenge は、この Ruby インタプリタを Hack する方法をお伝えするイベントです。

今回は、Ruby インタプリタのカバレッジをお題としたハックイベントになります。
カバレッジ環境を整えた Ruby コミッタの遠藤が講師を行います。
ハックネタは思いつかないけど、何かしら Ruby インタプリタを弄ってみたい、パッチを送ってみたい、そんな人にオススメです。

# イベント概要

4 回目となる今回は、「カバレッジ特別回」と題して、未テストのコードを探す指標「コードカバレッジ」の情報を頼りに Ruby インタプリタのテストを書くというテーマで開催します。Ruby のコードカバレッジの読み方、自分でコードカバレッジを測定する方法、Ruby のテストの書き方などを扱い、書いたテストでコードカバレッジが上昇することを確認するところまでやりましょう。

当日は 1 時間程度講義した後、実習とする予定です。これまでの RHC の講義資料([Cookpad Ruby Hack Challenge](https://github.com/ko1/rubyhackchallenge))に基づいて説明するので、この資料に目を通しておくことが望まれますが、必須ではありません。なお、講義資料([(6) コードカバレッジを用いた MRI の品質向上](https://github.com/ko1/rubyhackchallenge/blob/master/JA/6_coverage.md))も、Ruby のコードカバレッジを定期実行で測定したもの([LCOV - code coverage report](https://rubyci.s3.amazonaws.com/debian8-coverage/ruby-trunk/lcov/index.html))も既に公開しています。

また、RHC の資料を読んで(カバレッジ以外の)ハックをしたい方も歓迎します(VM に詳しい Ruby コミッタの笹田に質問もできます)。

## こんな方に来てほしい

* Ruby インタプリタの開発に貢献をしてみたい方
* Ruby インタプリタのソースコードを読み書きするきっかけ・手がかりが欲しい方

## 参加要件

* Ruby インタプリタのビルドが可能なノートパソコンを当日持ち込める方(弊社からのノートパソコンの貸与は行ないません)

## スケジュール

注意:時間等は変わる可能性があります。

### 開催前

* Gitter を用いたオンライン予習サポート(希望者)
* https://gitter.im/rubyhackchallenge/Lobby

### 当日(6/23 土)

* 13:00 オープニング
* 13:10 講義(コードカバレッジの見方、測定方法、テストの書き方など)
* 14:00 実習
* 16:30 成果発表とまとめ
* 17:00 解散
26 changes: 26 additions & 0 deletions docker/Dockerfile.bionic
@@ -0,0 +1,26 @@
FROM ubuntu:bionic
MAINTAINER Koichi Sasada

RUN apt update && \
apt dist-upgrade -y && \
apt install -y gcc && \
apt install -y ruby subversion autoconf bison make git && \
apt install -y libgmp-dev libssl-dev zlib1g-dev libffi-dev libreadline-dev libgdbm-dev && \
apt install -y vim-tiny gdb && \
apt install -y sudo && \
DEBIAN_FRONTEND=noninteractive apt install -y tzdata

# RUN rm -rf /var/lib/apt/lists/*

# add user (rubydev, password is also rubydev)
RUN mkdir /home/rubydev && \
groupadd -g 1000 dev && \
useradd -g dev -G sudo -s /bin/bash rubydev && \
echo 'rubydev:rubydev' | chpasswd && \
chown rubydev /home/rubydev

# prepare build
RUN sudo -u rubydev sh -c "cd /home/rubydev && mkdir workdir && mkdir workdir/build/ && mkdir workdir/install"
#RUN sudo -u rubydev sh -c "cd /home/rubydev/workdir && git clone https://github.com/ruby/ruby.git"
#RUN sudo -u rubydev sh -c "cd /home/rubydev/workdir/ruby && autoconf"

67 changes: 67 additions & 0 deletions past_rhc/rhc_2.md
@@ -0,0 +1,67 @@
# Cookpad Ruby Hack Challenge #2

* 2018/01/29 @ Cookpad Tokyo office
* Event page: https://cookpad.connpass.com/event/74231/
* hashtag: #cookpad_rhc

# About the Cookpad Ruby Hack Challenge

Hack the Ruby interpreter at Cookpad!

The Programming language Ruby is widely used on web application development. Of course, programs written in Ruby run on Ruby interpreter.

Cookpad Ruby Hack Challenge (RHC) is a one-day event where we'll teach you how to extend Ruby features, fix bugs, and to improve performance of Ruby.

The first Ruby Hack Challenge was a great success, but it was offered only in Japanese. This time, the Ruby Hack Challenge will be offered in English (English lecture materials and English announcements) as well as Japanese.

Lecture materials: https://github.com/ko1/rubyhackchallenge (currently being translating into English!)

Note that we offer support for English at the event (English lecture materials, announcements and English hacking supports) but we don't restrict our support to English. Japanese language users are also welcome. (in Japanese: イベント自体は英語で行いますが、日本語話者も歓迎します)

One more note: Koichi and another supporter Endoh-san are not native English speakers.

# Details

This event held over 1 day.

You can choose several options what you want to do.

* (1) Read the lecture materials at the event and try hacks along with texts.
* (2) Read the lecture materials in advance, and ask us if you have any questions.
* (3) Read the lecture materials in advance, and try advanced hacking with our support.

Unlike the first RHC, for RHC#2 we don't offer any lessons. We only offer lecture materials and assistants to support attendees.


## Requirements

* You can attend the whole day
* You bring your own laptop which is capable of building Ruby interpreters.

## Goal with lecture materials

* You can understand Ruby's source code structures.
* You can build the Ruby interpreter.
* You can modify Ruby interpreter internals.

## Goal with advanced hacks

* You can solve unsolved problems.
* You can experience contributing to the Ruby interpreter.
* You can experience participation in the Ruby development community.

# Schedule

## 1/29 (Mon)

* 10:00 Opening
* 10:30 Hack: start
* 12:00 Lunch
* 13:00 Hack: continue
* 18:00 Closing
* 18:30 After party / networking

## Communication channel

Feel free to join gitter channel: https://gitter.im/rubyhackchallenge/LobbyEn (English) and https://gitter.im/rubyhackchallenge/Lobby (in Japanese, past RHC attendees are there)

47 changes: 47 additions & 0 deletions past_rhc/rhc_4.md
@@ -0,0 +1,47 @@
# Cookpad Ruby Hack Challenge #4 カバレッジ特別回

# Cookpad Ruby Hack Challenge とは

クックパッドで Ruby インタプリタを Hack しよう!

クックパッドをはじめ、多くのウェブアプリケーション開発でプログラミング言語 Ruby が利用されています。Ruby で書かれたプログラムを動かすときは Ruby インタプリタで実行します。

Cookpad Ruby Hack Challenge は、この Ruby インタプリタを Hack する方法をお伝えするイベントです。

今回は、Ruby インタプリタのカバレッジをお題としたハックイベントになります。
カバレッジ環境を整えた Ruby コミッタの遠藤が講師を行います。
ハックネタは思いつかないけど、何かしら Ruby インタプリタを弄ってみたい、パッチを送ってみたい、そんな人にオススメです。

# イベント概要

4 回目となる今回は、「カバレッジ特別回」と題して、未テストのコードを探す指標「コードカバレッジ」の情報を頼りに Ruby インタプリタのテストを書くというテーマで開催します。Ruby のコードカバレッジの読み方、自分でコードカバレッジを測定する方法、Ruby のテストの書き方などを扱い、書いたテストでコードカバレッジが上昇することを確認するところまでやりましょう。

当日は 1 時間程度講義した後、実習とする予定です。これまでの RHC の講義資料([Cookpad Ruby Hack Challenge](https://github.com/ko1/rubyhackchallenge))に基づいて説明するので、この資料に目を通しておくことが望まれますが、必須ではありません。なお、講義資料([(6) コードカバレッジを用いた MRI の品質向上](https://github.com/ko1/rubyhackchallenge/blob/master/JA/6_coverage.md))も、Ruby のコードカバレッジを定期実行で測定したもの([LCOV - code coverage report](https://rubyci.s3.amazonaws.com/debian8-coverage/ruby-trunk/lcov/index.html))も既に公開しています。

また、RHC の資料を読んで(カバレッジ以外の)ハックをしたい方も歓迎します(VM に詳しい Ruby コミッタの笹田に質問もできます)。

## こんな方に来てほしい

* Ruby インタプリタの開発に貢献をしてみたい方
* Ruby インタプリタのソースコードを読み書きするきっかけ・手がかりが欲しい方

## 参加要件

* Ruby インタプリタのビルドが可能なノートパソコンを当日持ち込める方(弊社からのノートパソコンの貸与は行ないません)

## スケジュール

注意:時間等は変わる可能性があります。

### 開催前

* Gitter を用いたオンライン予習サポート(希望者)
* https://gitter.im/rubyhackchallenge/Lobby

### 当日(6/23 土)

* 13:00 オープニング
* 13:10 講義(コードカバレッジの見方、測定方法、テストの書き方など)
* 14:00 実習
* 16:30 成果発表とまとめ
* 17:00 解散

0 comments on commit d7b3033

Please sign in to comment.