イベント
イベントを探す
本日開催のイベント
明日開催のイベント
ランキング
カレンダー
マガジン
マガジンを読む
マガジン
技術ブログ
書籍
動画
動画を見る
グループ
グループを探す
グループを作る
イベントを作成・管理
学生の方はこちら
ログイン
|
新規会員登録
TOP
グループ
株式会社メドレー
ブログ
トップ
イベント
ブログ
株式会社メドレー の技術ブログ
全1412件
2017/03/21
<![CDATA[ AWS サービスを用いた今後のバッチ処理のお話〜開発本部・ TechLunch〜 ]]>
オンライン診療アプリ「 CLINICS 」を開発している田中です。 本日は、メドレー開発本部にて隔週で行われている勉強会(TechLunch)で、今後の バッチ処理 構成の 1 つとして活用できそうな AWS サービスの紹介を行ったので、その一部を紹介したいと思います。 背景と勉強会の目的 メドレーでの バッチ処理 メドレーの各プロダクトは環境として主に AWS を使用しており、いわゆる「 バッチ処理 」(時間起動でのデータ一括処理系)については、スケジューラとして使用している Jenkins からバッチ用 EC2 インスタンス 上の バッチ処理 をキックする、という構成が多いです。 (短時間で完了し、ワークフロー自体シンプルなバッチについては、スケジューラに Lambda を利用する構成も増えてきました) その他、SQS を用いたキューイング処理、 Kinesis /Lambda を使用したログストリーミング処理など様々な構成で動いています。 勉強会の目的 現状、プロダクトを運用する上で バッチ処理 で何か課題があるかと言えば特には無いのですが、下記を目的として勉強会を行いました。 そもそも バッチ処理 とは?という整理 バッチ処理 構成の新しい選択肢としてのインプット 今後各プロダクトを跨ぐ共通基盤システムなどで バッチ処理 が必要になった場合など、出来るだけ人の手間を減らしたい場合に備え、選択肢の 1 つとしてバッチ向けサービス( AWS Batch、Step Functions)の紹介を行いました。 また、広義の意味での バッチ処理 /狭義の意味での バッチ処理 という整理で、一括系処理系、ストリーミング/キューイングなどの(ほぼ)リアルタイム系の違いやよくある構成についての説明も行いました。 勉強会の内容 メドレーでは様々なバックグラウンドをもったエンジニアが集まっており、フロントエンドやネイティブは得意だけどサーバーサイド/インフラはまだ慣れていないエンジニア向けに、そもそも バッチ処理 とは?という内容から始めました。 バッチ処理 の概要、よくあるシステム構成 バッチ処理 設計時のポイント ここ最近のバッチ関連の流れ(リアルタイム化) 各プロダクトのバッチ構成の例 次に、今後使えそうな AWS のサービスとして AWS Batch と Step Functions の概要について説明しました。 AWS Re:Invent 2016 で発表された AWS の batch 処理系に使える新サービス AWS Batch フルマネージド型の バッチ処理 実 行基 盤 必要なリソース(CPU、メモリ etc)を定義すれば、 AWS が必要に応じて ECS 上で実行( インスタンス タイプ、分散用に台数確保) ジョブとして登録したアプリやコンテナイメージを実行 Step Functions Lamba などの複数アプリをワークフローとして定義、実行(ビジュアル化) 今までは Lambda to Lambda や、SQS を介すなど自分で考慮必要だったワークフロー(分岐、繰り返しなど)を JSON で定義しサービス化 ※ 発表資料は以下 最後に、簡単にですが Step Functions を実際に試した内容と、個人的な感想を共有しました。 Pros 既存の Lambda をそのまま使用できる フロー定義や実行結果がビジュアルで確認できる 同じ Lambda を別々の State Machine で使えるので汎用性、再利用性が高まる Cons ワークフローが複雑になると、タスクの JSON 定義がけっこう手間(Step Functions に限った話ではないですが、、、) トランザクション 的な管理、設計の勘所がけっこう必要になりそう まとめ メドレー開発本部の技術勉強会(TechLunch)で発表した内容の一部を紹介しました。 メドレーでは各技術の選択基準として、適材適所という考えを大事にしています。そのため、新技術/新サービスを使用すればいいと言う訳ではなく、今回の内容に関連して言えば、あえてベーシックにバッチ インスタンス を立てて、という構成も適材適所であれば問題ないと考えています。 適材適所を効果的に行うためには、日々、新技術も情報として押さえ蓄積していく事が重要だと思うので、INPUT の一環として今後も「TechLunch」を更に活用していきたいと思います。 お知らせ CTO 平山のブログが本日公開となりました。 記念すべき第一回目は、「医療 × インターネットの未来」がテーマ。 ぜひ読んでみてくださいね。 toppa.medley.jp また、CTO 平山とのランチ会を定期開催予定です。 ご興味ある方はぜひエントリーください! www.wantedly.com 求人情報 メドレーでは医療業界に存在する課題に IT を駆使して取り組んでいきたいデザイナー・エンジニアを募集中です。 皆さまからのご応募お待ちしております。 www.medley.jp www.medley.jp
AWS
,
Jenkins
,
インフラ
,
サーバーサイド
,
フロントエンド
,
設計
株式会社メドレー
2017/03/21
<![CDATA[ AWS サービスを用いた今後のバッチ処理のお話〜開発本部・ TechLunch〜 ]]>
オンライン診療アプリ「 CLINICS 」を開発している田中です。 本日は、メドレー開発本部にて隔週で行われている勉強会(TechLunch)で、今後の バッチ処理 構成の 1 つとして活用できそうな AWS サービスの紹介を行ったので、その一部を紹介したいと思います。 背景と勉強会の目的 メドレーでの バッチ処理 メドレーの各プロダクトは環境として主に AWS を使用しており、いわゆる「 バッチ処理 」(時間起動でのデータ一括処理系)については、スケジューラとして使用している Jenkins からバッチ用 EC2 インスタンス 上の バッチ処理 をキックする、という構成が多いです。 (短時間で完了し、ワークフロー自体シンプルなバッチについては、スケジューラに Lambda を利用する構成も増えてきました) その他、SQS を用いたキューイング処理、 Kinesis /Lambda を使用したログストリーミング処理など様々な構成で動いています。 勉強会の目的 現状、プロダクトを運用する上で バッチ処理 で何か課題があるかと言えば特には無いのですが、下記を目的として勉強会を行いました。 そもそも バッチ処理 とは?という整理 バッチ処理 構成の新しい選択肢としてのインプット 今後各プロダクトを跨ぐ共通基盤システムなどで バッチ処理 が必要になった場合など、出来るだけ人の手間を減らしたい場合に備え、選択肢の 1 つとしてバッチ向けサービス( AWS Batch、Step Functions)の紹介を行いました。 また、広義の意味での バッチ処理 /狭義の意味での バッチ処理 という整理で、一括系処理系、ストリーミング/キューイングなどの(ほぼ)リアルタイム系の違いやよくある構成についての説明も行いました。 勉強会の内容 メドレーでは様々なバックグラウンドをもったエンジニアが集まっており、フロントエンドやネイティブは得意だけどサーバーサイド/インフラはまだ慣れていないエンジニア向けに、そもそも バッチ処理 とは?という内容から始めました。 バッチ処理 の概要、よくあるシステム構成 バッチ処理 設計時のポイント ここ最近のバッチ関連の流れ(リアルタイム化) 各プロダクトのバッチ構成の例 次に、今後使えそうな AWS のサービスとして AWS Batch と Step Functions の概要について説明しました。 AWS Re:Invent 2016 で発表された AWS の batch 処理系に使える新サービス AWS Batch フルマネージド型の バッチ処理 実 行基 盤 必要なリソース(CPU、メモリ etc)を定義すれば、 AWS が必要に応じて ECS 上で実行( インスタンス タイプ、分散用に台数確保) ジョブとして登録したアプリやコンテナイメージを実行 Step Functions Lamba などの複数アプリをワークフローとして定義、実行(ビジュアル化) 今までは Lambda to Lambda や、SQS を介すなど自分で考慮必要だったワークフロー(分岐、繰り返しなど)を JSON で定義しサービス化 ※ 発表資料は以下 最後に、簡単にですが Step Functions を実際に試した内容と、個人的な感想を共有しました。 Pros 既存の Lambda をそのまま使用できる フロー定義や実行結果がビジュアルで確認できる 同じ Lambda を別々の State Machine で使えるので汎用性、再利用性が高まる Cons ワークフローが複雑になると、タスクの JSON 定義がけっこう手間(Step Functions に限った話ではないですが、、、) トランザクション 的な管理、設計の勘所がけっこう必要になりそう まとめ メドレー開発本部の技術勉強会(TechLunch)で発表した内容の一部を紹介しました。 メドレーでは各技術の選択基準として、適材適所という考えを大事にしています。そのため、新技術/新サービスを使用すればいいと言う訳ではなく、今回の内容に関連して言えば、あえてベーシックにバッチ インスタンス を立てて、という構成も適材適所であれば問題ないと考えています。 適材適所を効果的に行うためには、日々、新技術も情報として押さえ蓄積していく事が重要だと思うので、INPUT の一環として今後も「TechLunch」を更に活用していきたいと思います。 お知らせ CTO 平山のブログが本日公開となりました。 記念すべき第一回目は、「医療 × インターネットの未来」がテーマ。 ぜひ読んでみてくださいね。 toppa.medley.jp また、CTO 平山とのランチ会を定期開催予定です。 ご興味ある方はぜひエントリーください! www.wantedly.com 求人情報 メドレーでは医療業界に存在する課題に IT を駆使して取り組んでいきたいデザイナー・エンジニアを募集中です。 皆さまからのご応募お待ちしております。 www.medley.jp www.medley.jp
AWS
,
Jenkins
,
インフラ
,
サーバーサイド
,
フロントエンド
,
設計
株式会社メドレー
2017/03/21
<![CDATA[ AWS サービスを用いた今後のバッチ処理のお話〜開発本部・ TechLunch〜 ]]>
オンライン診療アプリ「 CLINICS 」を開発している田中です。 本日は、メドレー開発本部にて隔週で行われている勉強会(TechLunch)で、今後の バッチ処理 構成の 1 つとして活用できそうな AWS サービスの紹介を行ったので、その一部を紹介したいと思います。 背景と勉強会の目的 メドレーでの バッチ処理 メドレーの各プロダクトは環境として主に AWS を使用しており、いわゆる「 バッチ処理 」(時間起動でのデータ一括処理系)については、スケジューラとして使用している Jenkins からバッチ用 EC2 インスタンス 上の バッチ処理 をキックする、という構成が多いです。 (短時間で完了し、ワークフロー自体シンプルなバッチについては、スケジューラに Lambda を利用する構成も増えてきました) その他、SQS を用いたキューイング処理、 Kinesis /Lambda を使用したログストリーミング処理など様々な構成で動いています。 勉強会の目的 現状、プロダクトを運用する上で バッチ処理 で何か課題があるかと言えば特には無いのですが、下記を目的として勉強会を行いました。 そもそも バッチ処理 とは?という整理 バッチ処理 構成の新しい選択肢としてのインプット 今後各プロダクトを跨ぐ共通基盤システムなどで バッチ処理 が必要になった場合など、出来るだけ人の手間を減らしたい場合に備え、選択肢の 1 つとしてバッチ向けサービス( AWS Batch、Step Functions)の紹介を行いました。 また、広義の意味での バッチ処理 /狭義の意味での バッチ処理 という整理で、一括系処理系、ストリーミング/キューイングなどの(ほぼ)リアルタイム系の違いやよくある構成についての説明も行いました。 勉強会の内容 メドレーでは様々なバックグラウンドをもったエンジニアが集まっており、フロントエンドやネイティブは得意だけどサーバーサイド/インフラはまだ慣れていないエンジニア向けに、そもそも バッチ処理 とは?という内容から始めました。 バッチ処理 の概要、よくあるシステム構成 バッチ処理 設計時のポイント ここ最近のバッチ関連の流れ(リアルタイム化) 各プロダクトのバッチ構成の例 次に、今後使えそうな AWS のサービスとして AWS Batch と Step Functions の概要について説明しました。 AWS Re:Invent 2016 で発表された AWS の batch 処理系に使える新サービス AWS Batch フルマネージド型の バッチ処理 実 行基 盤 必要なリソース(CPU、メモリ etc)を定義すれば、 AWS が必要に応じて ECS 上で実行( インスタンス タイプ、分散用に台数確保) ジョブとして登録したアプリやコンテナイメージを実行 Step Functions Lamba などの複数アプリをワークフローとして定義、実行(ビジュアル化) 今までは Lambda to Lambda や、SQS を介すなど自分で考慮必要だったワークフロー(分岐、繰り返しなど)を JSON で定義しサービス化 ※ 発表資料は以下 最後に、簡単にですが Step Functions を実際に試した内容と、個人的な感想を共有しました。 Pros 既存の Lambda をそのまま使用できる フロー定義や実行結果がビジュアルで確認できる 同じ Lambda を別々の State Machine で使えるので汎用性、再利用性が高まる Cons ワークフローが複雑になると、タスクの JSON 定義がけっこう手間(Step Functions に限った話ではないですが、、、) トランザクション 的な管理、設計の勘所がけっこう必要になりそう まとめ メドレー開発本部の技術勉強会(TechLunch)で発表した内容の一部を紹介しました。 メドレーでは各技術の選択基準として、適材適所という考えを大事にしています。そのため、新技術/新サービスを使用すればいいと言う訳ではなく、今回の内容に関連して言えば、あえてベーシックにバッチ インスタンス を立てて、という構成も適材適所であれば問題ないと考えています。 適材適所を効果的に行うためには、日々、新技術も情報として押さえ蓄積していく事が重要だと思うので、INPUT の一環として今後も「TechLunch」を更に活用していきたいと思います。 お知らせ CTO 平山のブログが本日公開となりました。 記念すべき第一回目は、「医療 × インターネットの未来」がテーマ。 ぜひ読んでみてくださいね。 toppa.medley.jp また、CTO 平山とのランチ会を定期開催予定です。 ご興味ある方はぜひエントリーください! www.wantedly.com 求人情報 メドレーでは医療業界に存在する課題に IT を駆使して取り組んでいきたいデザイナー・エンジニアを募集中です。 皆さまからのご応募お待ちしております。 www.medley.jp www.medley.jp
AWS
,
Jenkins
,
インフラ
,
サーバーサイド
,
フロントエンド
,
設計
株式会社メドレー
2017/03/21
<![CDATA[ AWS サービスを用いた今後のバッチ処理のお話〜開発本部・ TechLunch〜 ]]>
オンライン診療アプリ「 CLINICS 」を開発している田中です。 本日は、メドレー開発本部にて隔週で行われている勉強会(TechLunch)で、今後の バッチ処理 構成の 1 つとして活用できそうな AWS サービスの紹介を行ったので、その一部を紹介したいと思います。 背景と勉強会の目的 メドレーでの バッチ処理 メドレーの各プロダクトは環境として主に AWS を使用しており、いわゆる「 バッチ処理 」(時間起動でのデータ一括処理系)については、スケジューラとして使用している Jenkins からバッチ用 EC2 インスタンス 上の バッチ処理 をキックする、という構成が多いです。 (短時間で完了し、ワークフロー自体シンプルなバッチについては、スケジューラに Lambda を利用する構成も増えてきました) その他、SQS を用いたキューイング処理、 Kinesis /Lambda を使用したログストリーミング処理など様々な構成で動いています。 勉強会の目的 現状、プロダクトを運用する上で バッチ処理 で何か課題があるかと言えば特には無いのですが、下記を目的として勉強会を行いました。 そもそも バッチ処理 とは?という整理 バッチ処理 構成の新しい選択肢としてのインプット 今後各プロダクトを跨ぐ共通基盤システムなどで バッチ処理 が必要になった場合など、出来るだけ人の手間を減らしたい場合に備え、選択肢の 1 つとしてバッチ向けサービス( AWS Batch、Step Functions)の紹介を行いました。 また、広義の意味での バッチ処理 /狭義の意味での バッチ処理 という整理で、一括系処理系、ストリーミング/キューイングなどの(ほぼ)リアルタイム系の違いやよくある構成についての説明も行いました。 勉強会の内容 メドレーでは様々なバックグラウンドをもったエンジニアが集まっており、フロントエンドやネイティブは得意だけどサーバーサイド/インフラはまだ慣れていないエンジニア向けに、そもそも バッチ処理 とは?という内容から始めました。 バッチ処理 の概要、よくあるシステム構成 バッチ処理 設計時のポイント ここ最近のバッチ関連の流れ(リアルタイム化) 各プロダクトのバッチ構成の例 次に、今後使えそうな AWS のサービスとして AWS Batch と Step Functions の概要について説明しました。 AWS Re:Invent 2016 で発表された AWS の batch 処理系に使える新サービス AWS Batch フルマネージド型の バッチ処理 実 行基 盤 必要なリソース(CPU、メモリ etc)を定義すれば、 AWS が必要に応じて ECS 上で実行( インスタンス タイプ、分散用に台数確保) ジョブとして登録したアプリやコンテナイメージを実行 Step Functions Lamba などの複数アプリをワークフローとして定義、実行(ビジュアル化) 今までは Lambda to Lambda や、SQS を介すなど自分で考慮必要だったワークフロー(分岐、繰り返しなど)を JSON で定義しサービス化 ※ 発表資料は以下 最後に、簡単にですが Step Functions を実際に試した内容と、個人的な感想を共有しました。 Pros 既存の Lambda をそのまま使用できる フロー定義や実行結果がビジュアルで確認できる 同じ Lambda を別々の State Machine で使えるので汎用性、再利用性が高まる Cons ワークフローが複雑になると、タスクの JSON 定義がけっこう手間(Step Functions に限った話ではないですが、、、) トランザクション 的な管理、設計の勘所がけっこう必要になりそう まとめ メドレー開発本部の技術勉強会(TechLunch)で発表した内容の一部を紹介しました。 メドレーでは各技術の選択基準として、適材適所という考えを大事にしています。そのため、新技術/新サービスを使用すればいいと言う訳ではなく、今回の内容に関連して言えば、あえてベーシックにバッチ インスタンス を立てて、という構成も適材適所であれば問題ないと考えています。 適材適所を効果的に行うためには、日々、新技術も情報として押さえ蓄積していく事が重要だと思うので、INPUT の一環として今後も「TechLunch」を更に活用していきたいと思います。 お知らせ CTO 平山のブログが本日公開となりました。 記念すべき第一回目は、「医療 × インターネットの未来」がテーマ。 ぜひ読んでみてくださいね。 toppa.medley.jp また、CTO 平山とのランチ会を定期開催予定です。 ご興味ある方はぜひエントリーください! www.wantedly.com 求人情報 メドレーでは医療業界に存在する課題に IT を駆使して取り組んでいきたいデザイナー・エンジニアを募集中です。 皆さまからのご応募お待ちしております。 www.medley.jp www.medley.jp
AWS
,
Jenkins
,
インフラ
,
サーバーサイド
,
フロントエンド
,
設計
株式会社メドレー
2017/03/21
<![CDATA[ AWS サービスを用いた今後のバッチ処理のお話〜開発本部・ TechLunch〜 ]]>
オンライン診療アプリ「 CLINICS 」を開発している田中です。 本日は、メドレー開発本部にて隔週で行われている勉強会(TechLunch)で、今後の バッチ処理 構成の 1 つとして活用できそうな AWS サービスの紹介を行ったので、その一部を紹介したいと思います。 背景と勉強会の目的 メドレーでの バッチ処理 メドレーの各プロダクトは環境として主に AWS を使用しており、いわゆる「 バッチ処理 」(時間起動でのデータ一括処理系)については、スケジューラとして使用している Jenkins からバッチ用 EC2 インスタンス 上の バッチ処理 をキックする、という構成が多いです。 (短時間で完了し、ワークフロー自体シンプルなバッチについては、スケジューラに Lambda を利用する構成も増えてきました) その他、SQS を用いたキューイング処理、 Kinesis /Lambda を使用したログストリーミング処理など様々な構成で動いています。 勉強会の目的 現状、プロダクトを運用する上で バッチ処理 で何か課題があるかと言えば特には無いのですが、下記を目的として勉強会を行いました。 そもそも バッチ処理 とは?という整理 バッチ処理 構成の新しい選択肢としてのインプット 今後各プロダクトを跨ぐ共通基盤システムなどで バッチ処理 が必要になった場合など、出来るだけ人の手間を減らしたい場合に備え、選択肢の 1 つとしてバッチ向けサービス( AWS Batch、Step Functions)の紹介を行いました。 また、広義の意味での バッチ処理 /狭義の意味での バッチ処理 という整理で、一括系処理系、ストリーミング/キューイングなどの(ほぼ)リアルタイム系の違いやよくある構成についての説明も行いました。 勉強会の内容 メドレーでは様々なバックグラウンドをもったエンジニアが集まっており、フロントエンドやネイティブは得意だけどサーバーサイド/インフラはまだ慣れていないエンジニア向けに、そもそも バッチ処理 とは?という内容から始めました。 バッチ処理 の概要、よくあるシステム構成 バッチ処理 設計時のポイント ここ最近のバッチ関連の流れ(リアルタイム化) 各プロダクトのバッチ構成の例 次に、今後使えそうな AWS のサービスとして AWS Batch と Step Functions の概要について説明しました。 AWS Re:Invent 2016 で発表された AWS の batch 処理系に使える新サービス AWS Batch フルマネージド型の バッチ処理 実 行基 盤 必要なリソース(CPU、メモリ etc)を定義すれば、 AWS が必要に応じて ECS 上で実行( インスタンス タイプ、分散用に台数確保) ジョブとして登録したアプリやコンテナイメージを実行 Step Functions Lamba などの複数アプリをワークフローとして定義、実行(ビジュアル化) 今までは Lambda to Lambda や、SQS を介すなど自分で考慮必要だったワークフロー(分岐、繰り返しなど)を JSON で定義しサービス化 ※ 発表資料は以下 最後に、簡単にですが Step Functions を実際に試した内容と、個人的な感想を共有しました。 Pros 既存の Lambda をそのまま使用できる フロー定義や実行結果がビジュアルで確認できる 同じ Lambda を別々の State Machine で使えるので汎用性、再利用性が高まる Cons ワークフローが複雑になると、タスクの JSON 定義がけっこう手間(Step Functions に限った話ではないですが、、、) トランザクション 的な管理、設計の勘所がけっこう必要になりそう まとめ メドレー開発本部の技術勉強会(TechLunch)で発表した内容の一部を紹介しました。 メドレーでは各技術の選択基準として、適材適所という考えを大事にしています。そのため、新技術/新サービスを使用すればいいと言う訳ではなく、今回の内容に関連して言えば、あえてベーシックにバッチ インスタンス を立てて、という構成も適材適所であれば問題ないと考えています。 適材適所を効果的に行うためには、日々、新技術も情報として押さえ蓄積していく事が重要だと思うので、INPUT の一環として今後も「TechLunch」を更に活用していきたいと思います。 お知らせ CTO 平山のブログが本日公開となりました。 記念すべき第一回目は、「医療 × インターネットの未来」がテーマ。 ぜひ読んでみてくださいね。 toppa.medley.jp また、CTO 平山とのランチ会を定期開催予定です。 ご興味ある方はぜひエントリーください! www.wantedly.com 求人情報 メドレーでは医療業界に存在する課題に IT を駆使して取り組んでいきたいデザイナー・エンジニアを募集中です。 皆さまからのご応募お待ちしております。 www.medley.jp www.medley.jp
AWS
,
Jenkins
,
インフラ
,
サーバーサイド
,
フロントエンド
,
設計
株式会社メドレー
2017/03/21
<![CDATA[ AWS サービスを用いた今後のバッチ処理のお話〜開発本部・ TechLunch〜 ]]>
オンライン診療アプリ「 CLINICS 」を開発している田中です。 本日は、メドレー開発本部にて隔週で行われている勉強会(TechLunch)で、今後の バッチ処理 構成の 1 つとして活用できそうな AWS サービスの紹介を行ったので、その一部を紹介したいと思います。 背景と勉強会の目的 メドレーでの バッチ処理 メドレーの各プロダクトは環境として主に AWS を使用しており、いわゆる「 バッチ処理 」(時間起動でのデータ一括処理系)については、スケジューラとして使用している Jenkins からバッチ用 EC2 インスタンス 上の バッチ処理 をキックする、という構成が多いです。 (短時間で完了し、ワークフロー自体シンプルなバッチについては、スケジューラに Lambda を利用する構成も増えてきました) その他、SQS を用いたキューイング処理、 Kinesis /Lambda を使用したログストリーミング処理など様々な構成で動いています。 勉強会の目的 現状、プロダクトを運用する上で バッチ処理 で何か課題があるかと言えば特には無いのですが、下記を目的として勉強会を行いました。 そもそも バッチ処理 とは?という整理 バッチ処理 構成の新しい選択肢としてのインプット 今後各プロダクトを跨ぐ共通基盤システムなどで バッチ処理 が必要になった場合など、出来るだけ人の手間を減らしたい場合に備え、選択肢の 1 つとしてバッチ向けサービス( AWS Batch、Step Functions)の紹介を行いました。 また、広義の意味での バッチ処理 /狭義の意味での バッチ処理 という整理で、一括系処理系、ストリーミング/キューイングなどの(ほぼ)リアルタイム系の違いやよくある構成についての説明も行いました。 勉強会の内容 メドレーでは様々なバックグラウンドをもったエンジニアが集まっており、フロントエンドやネイティブは得意だけどサーバーサイド/インフラはまだ慣れていないエンジニア向けに、そもそも バッチ処理 とは?という内容から始めました。 バッチ処理 の概要、よくあるシステム構成 バッチ処理 設計時のポイント ここ最近のバッチ関連の流れ(リアルタイム化) 各プロダクトのバッチ構成の例 次に、今後使えそうな AWS のサービスとして AWS Batch と Step Functions の概要について説明しました。 AWS Re:Invent 2016 で発表された AWS の batch 処理系に使える新サービス AWS Batch フルマネージド型の バッチ処理 実 行基 盤 必要なリソース(CPU、メモリ etc)を定義すれば、 AWS が必要に応じて ECS 上で実行( インスタンス タイプ、分散用に台数確保) ジョブとして登録したアプリやコンテナイメージを実行 Step Functions Lamba などの複数アプリをワークフローとして定義、実行(ビジュアル化) 今までは Lambda to Lambda や、SQS を介すなど自分で考慮必要だったワークフロー(分岐、繰り返しなど)を JSON で定義しサービス化 ※ 発表資料は以下 最後に、簡単にですが Step Functions を実際に試した内容と、個人的な感想を共有しました。 Pros 既存の Lambda をそのまま使用できる フロー定義や実行結果がビジュアルで確認できる 同じ Lambda を別々の State Machine で使えるので汎用性、再利用性が高まる Cons ワークフローが複雑になると、タスクの JSON 定義がけっこう手間(Step Functions に限った話ではないですが、、、) トランザクション 的な管理、設計の勘所がけっこう必要になりそう まとめ メドレー開発本部の技術勉強会(TechLunch)で発表した内容の一部を紹介しました。 メドレーでは各技術の選択基準として、適材適所という考えを大事にしています。そのため、新技術/新サービスを使用すればいいと言う訳ではなく、今回の内容に関連して言えば、あえてベーシックにバッチ インスタンス を立てて、という構成も適材適所であれば問題ないと考えています。 適材適所を効果的に行うためには、日々、新技術も情報として押さえ蓄積していく事が重要だと思うので、INPUT の一環として今後も「TechLunch」を更に活用していきたいと思います。 お知らせ CTO 平山のブログが本日公開となりました。 記念すべき第一回目は、「医療 × インターネットの未来」がテーマ。 ぜひ読んでみてくださいね。 toppa.medley.jp また、CTO 平山とのランチ会を定期開催予定です。 ご興味ある方はぜひエントリーください! www.wantedly.com 求人情報 メドレーでは医療業界に存在する課題に IT を駆使して取り組んでいきたいデザイナー・エンジニアを募集中です。 皆さまからのご応募お待ちしております。 www.medley.jp www.medley.jp
AWS
,
Jenkins
,
インフラ
,
サーバーサイド
,
フロントエンド
,
設計
株式会社メドレー
2017/03/21
<![CDATA[ AWS サービスを用いた今後のバッチ処理のお話〜開発本部・ TechLunch〜 ]]>
オンライン診療アプリ「 CLINICS 」を開発している田中です。 本日は、メドレー開発本部にて隔週で行われている勉強会(TechLunch)で、今後の バッチ処理 構成の 1 つとして活用できそうな AWS サービスの紹介を行ったので、その一部を紹介したいと思います。 背景と勉強会の目的 メドレーでの バッチ処理 メドレーの各プロダクトは環境として主に AWS を使用しており、いわゆる「 バッチ処理 」(時間起動でのデータ一括処理系)については、スケジューラとして使用している Jenkins からバッチ用 EC2 インスタンス 上の バッチ処理 をキックする、という構成が多いです。 (短時間で完了し、ワークフロー自体シンプルなバッチについては、スケジューラに Lambda を利用する構成も増えてきました) その他、SQS を用いたキューイング処理、 Kinesis /Lambda を使用したログストリーミング処理など様々な構成で動いています。 勉強会の目的 現状、プロダクトを運用する上で バッチ処理 で何か課題があるかと言えば特には無いのですが、下記を目的として勉強会を行いました。 そもそも バッチ処理 とは?という整理 バッチ処理 構成の新しい選択肢としてのインプット 今後各プロダクトを跨ぐ共通基盤システムなどで バッチ処理 が必要になった場合など、出来るだけ人の手間を減らしたい場合に備え、選択肢の 1 つとしてバッチ向けサービス( AWS Batch、Step Functions)の紹介を行いました。 また、広義の意味での バッチ処理 /狭義の意味での バッチ処理 という整理で、一括系処理系、ストリーミング/キューイングなどの(ほぼ)リアルタイム系の違いやよくある構成についての説明も行いました。 勉強会の内容 メドレーでは様々なバックグラウンドをもったエンジニアが集まっており、フロントエンドやネイティブは得意だけどサーバーサイド/インフラはまだ慣れていないエンジニア向けに、そもそも バッチ処理 とは?という内容から始めました。 バッチ処理 の概要、よくあるシステム構成 バッチ処理 設計時のポイント ここ最近のバッチ関連の流れ(リアルタイム化) 各プロダクトのバッチ構成の例 次に、今後使えそうな AWS のサービスとして AWS Batch と Step Functions の概要について説明しました。 AWS Re:Invent 2016 で発表された AWS の batch 処理系に使える新サービス AWS Batch フルマネージド型の バッチ処理 実 行基 盤 必要なリソース(CPU、メモリ etc)を定義すれば、 AWS が必要に応じて ECS 上で実行( インスタンス タイプ、分散用に台数確保) ジョブとして登録したアプリやコンテナイメージを実行 Step Functions Lamba などの複数アプリをワークフローとして定義、実行(ビジュアル化) 今までは Lambda to Lambda や、SQS を介すなど自分で考慮必要だったワークフロー(分岐、繰り返しなど)を JSON で定義しサービス化 ※ 発表資料は以下 最後に、簡単にですが Step Functions を実際に試した内容と、個人的な感想を共有しました。 Pros 既存の Lambda をそのまま使用できる フロー定義や実行結果がビジュアルで確認できる 同じ Lambda を別々の State Machine で使えるので汎用性、再利用性が高まる Cons ワークフローが複雑になると、タスクの JSON 定義がけっこう手間(Step Functions に限った話ではないですが、、、) トランザクション 的な管理、設計の勘所がけっこう必要になりそう まとめ メドレー開発本部の技術勉強会(TechLunch)で発表した内容の一部を紹介しました。 メドレーでは各技術の選択基準として、適材適所という考えを大事にしています。そのため、新技術/新サービスを使用すればいいと言う訳ではなく、今回の内容に関連して言えば、あえてベーシックにバッチ インスタンス を立てて、という構成も適材適所であれば問題ないと考えています。 適材適所を効果的に行うためには、日々、新技術も情報として押さえ蓄積していく事が重要だと思うので、INPUT の一環として今後も「TechLunch」を更に活用していきたいと思います。 お知らせ CTO 平山のブログが本日公開となりました。 記念すべき第一回目は、「医療 × インターネットの未来」がテーマ。 ぜひ読んでみてくださいね。 toppa.medley.jp また、CTO 平山とのランチ会を定期開催予定です。 ご興味ある方はぜひエントリーください! www.wantedly.com 求人情報 メドレーでは医療業界に存在する課題に IT を駆使して取り組んでいきたいデザイナー・エンジニアを募集中です。 皆さまからのご応募お待ちしております。 www.medley.jp www.medley.jp
AWS
,
Jenkins
,
インフラ
,
サーバーサイド
,
フロントエンド
,
設計
株式会社メドレー
2017/03/21
<![CDATA[ AWS サービスを用いた今後のバッチ処理のお話〜開発本部・ TechLunch〜 ]]>
オンライン診療アプリ「 CLINICS 」を開発している田中です。 本日は、メドレー開発本部にて隔週で行われている勉強会(TechLunch)で、今後の バッチ処理 構成の 1 つとして活用できそうな AWS サービスの紹介を行ったので、その一部を紹介したいと思います。 背景と勉強会の目的 メドレーでの バッチ処理 メドレーの各プロダクトは環境として主に AWS を使用しており、いわゆる「 バッチ処理 」(時間起動でのデータ一括処理系)については、スケジューラとして使用している Jenkins からバッチ用 EC2 インスタンス 上の バッチ処理 をキックする、という構成が多いです。 (短時間で完了し、ワークフロー自体シンプルなバッチについては、スケジューラに Lambda を利用する構成も増えてきました) その他、SQS を用いたキューイング処理、 Kinesis /Lambda を使用したログストリーミング処理など様々な構成で動いています。 勉強会の目的 現状、プロダクトを運用する上で バッチ処理 で何か課題があるかと言えば特には無いのですが、下記を目的として勉強会を行いました。 そもそも バッチ処理 とは?という整理 バッチ処理 構成の新しい選択肢としてのインプット 今後各プロダクトを跨ぐ共通基盤システムなどで バッチ処理 が必要になった場合など、出来るだけ人の手間を減らしたい場合に備え、選択肢の 1 つとしてバッチ向けサービス( AWS Batch、Step Functions)の紹介を行いました。 また、広義の意味での バッチ処理 /狭義の意味での バッチ処理 という整理で、一括系処理系、ストリーミング/キューイングなどの(ほぼ)リアルタイム系の違いやよくある構成についての説明も行いました。 勉強会の内容 メドレーでは様々なバックグラウンドをもったエンジニアが集まっており、フロントエンドやネイティブは得意だけどサーバーサイド/インフラはまだ慣れていないエンジニア向けに、そもそも バッチ処理 とは?という内容から始めました。 バッチ処理 の概要、よくあるシステム構成 バッチ処理 設計時のポイント ここ最近のバッチ関連の流れ(リアルタイム化) 各プロダクトのバッチ構成の例 次に、今後使えそうな AWS のサービスとして AWS Batch と Step Functions の概要について説明しました。 AWS Re:Invent 2016 で発表された AWS の batch 処理系に使える新サービス AWS Batch フルマネージド型の バッチ処理 実 行基 盤 必要なリソース(CPU、メモリ etc)を定義すれば、 AWS が必要に応じて ECS 上で実行( インスタンス タイプ、分散用に台数確保) ジョブとして登録したアプリやコンテナイメージを実行 Step Functions Lamba などの複数アプリをワークフローとして定義、実行(ビジュアル化) 今までは Lambda to Lambda や、SQS を介すなど自分で考慮必要だったワークフロー(分岐、繰り返しなど)を JSON で定義しサービス化 ※ 発表資料は以下 最後に、簡単にですが Step Functions を実際に試した内容と、個人的な感想を共有しました。 Pros 既存の Lambda をそのまま使用できる フロー定義や実行結果がビジュアルで確認できる 同じ Lambda を別々の State Machine で使えるので汎用性、再利用性が高まる Cons ワークフローが複雑になると、タスクの JSON 定義がけっこう手間(Step Functions に限った話ではないですが、、、) トランザクション 的な管理、設計の勘所がけっこう必要になりそう まとめ メドレー開発本部の技術勉強会(TechLunch)で発表した内容の一部を紹介しました。 メドレーでは各技術の選択基準として、適材適所という考えを大事にしています。そのため、新技術/新サービスを使用すればいいと言う訳ではなく、今回の内容に関連して言えば、あえてベーシックにバッチ インスタンス を立てて、という構成も適材適所であれば問題ないと考えています。 適材適所を効果的に行うためには、日々、新技術も情報として押さえ蓄積していく事が重要だと思うので、INPUT の一環として今後も「TechLunch」を更に活用していきたいと思います。 お知らせ CTO 平山のブログが本日公開となりました。 記念すべき第一回目は、「医療 × インターネットの未来」がテーマ。 ぜひ読んでみてくださいね。 toppa.medley.jp また、CTO 平山とのランチ会を定期開催予定です。 ご興味ある方はぜひエントリーください! www.wantedly.com 求人情報 メドレーでは医療業界に存在する課題に IT を駆使して取り組んでいきたいデザイナー・エンジニアを募集中です。 皆さまからのご応募お待ちしております。 www.medley.jp www.medley.jp
AWS
,
Jenkins
,
インフラ
,
サーバーサイド
,
フロントエンド
,
設計
株式会社メドレー
2017/03/14
<![CDATA[ 「メタプログラミング Ruby」ことはじめ〜開発本部・ TechLunch〜 ]]>
医療介護の求人サイト「 ジョブメドレー 」の開発を担当している後藤です。 メドレー開発本部にて隔週で行われている勉強会(TechLunch)で メタプログラミング Ruby をベースに メタプログラミング Ruby 入門について発表したのでその一部を紹介したいと思います。 メドレーと Ruby 弊社では「 CLINICS 」、「 ジョブメドレー 」、「 介護のほんね 」と複数のプロダクトで Ruby on Rails を利用しています。 スタートアップでそこまでエンジニアの数が多くないなか、エンジニアが最大限にプロダクトにコミットするために、もともとのバックグラウンドがフロントエンドエンジニアだったり、ネイティブアプリエンジニアだったりする方も Ruby on Rails のコードを書いています。 Ruby on Rails はとても便利な フレームワーク で、周辺の便利なライブラリや解説記事が整っていることもあり、必要な機能は検索すればあまり中身を理解せずとも実装できてしまったりもします。ただ、何か問題があった時のために利用している フレームワーク の処理を把握しておくことはとても重要です。そして、 フレームワーク の ソースコード を読み解くにはやはり Ruby の言語仕様の知識が重要になってきます。 また、 Ruby の言語仕様、そして使っている フレームワーク の深い理解があることでよりメンテナンスしやすい設計・実装がしやすくなるのも事実だと思います。 こういった背景のもと、社内のエンジニアの Ruby に対する知見を深めることはとても価値があると感じ、「 メタプログラミング Ruby 」をベースに メタプログラミング Ruby 入門の勉強会を開催しました。 メタプログラミング Ruby 入門 今回は メタプログラミング 入門ということで Ruby で メタプログラミング をする上で必要な Ruby の言語仕様の話と一つの例として method_missing の話を取り上げました。 Ruby のオブジェクトモデル この Ruby のオブジェクトモデルという言葉は「 メタプログラミング Ruby 」から拝借しています。本の中では「このメソッドはどのクラスに所属するものなのか?」「このモジュールをインクルードしたら何が起きるのか」といった質問の答えが見つかる場所と記載しています。このオブジェクトモデルには以下のようなルールが存在します。 オブジェクトは 1 種類しかない。それが通常のオブジェクトかモジュールになる。 モジュールは 1 種類しかない。それが通常のモジュール、クラス、特異クラスのいずれかになる。 メソッドは 1 種類しかない。メソッドはモジュール(大半はクラス)に住んでいる。 すべてのオブジェクトは(クラスも含めて)「本物のクラス」を持っている。それが通常のクラスか特異クラスである。 すべてのクラスは(BasicObject を除いて)ひとつの祖先( スーパークラス かモジュール)を持っている。つまり、あらゆるクラスが BasicObject に向かって 1 本の継承チェーンを持っている。 オブジェクトの特異クラスの スーパークラス は、オブジェクトのクラスである。クラスの特異クラスの スーパークラス はクラスの スーパークラス の特異クラスである。 メソッドを呼び出すときは、 Ruby はレシーバの本物のクラスに向かって「右へ」進み、継承チェーンを「上へ」進む。 Ruby のメソッド探索について知るべきことは以上だ。 ( メタプログラミング Ruby 第 2 版 より) BasicObject#method_missing Ruby でメソッド呼び出しを行った際のフローは以下になります。 Ruby はレシーバーの本物のクラスに向かってメソッド探索を始める 継承チェーンを BasicObject まで辿っても呼び出したメソッドが見つからなかった場合、 Ruby はレシーバーの method_missing を呼び出す メソッド探索で method_missing が見つからなかった場合、BasicObject#method_missing が呼び出され、例外が投げられる この仕組みをうまく使って、BasicObject#method_missing が呼び出される前に自前の method_missing メソッドを呼び出すようにして動的にメソッドを定義したり動的な振る舞いをオブジェクトに加えたりすることができるのです。 勉強会の様子 ここまでお話しした内容を含め、勉強会では以下の内容を発表しました。 発表資料はこちら 発表時の個人的な裏テーマとして「あまり Ruby が得意でない方に メタプログラミング Ruby を読みたくなるようにさせる」というものを設定していましたが、実際の発表後にちらほら メタプログラミング Ruby の話が出ていたので発表した甲斐がありました。 まとめ 今回はメドレー開発本部の技術勉強会(TechLunch)で発表した内容を紹介しました。 勉強会では、まず Ruby の言語要素とメソッド実行の理解を深め、その上で BasicObject#method_missing を理解し、それを使った gem のコードを読み進めました。 実際に Ruby での メタプログラミング に触れることで Ruby への知見が深めていけたかと思います。 メドレー開発本部で実施している「TechLunch」での発表内容は今後も定期的に紹介していくので、是非メドレーブログをチェックしてみてください。 お知らせ メドレーでは医療業界に存在する課題に IT を駆使して取り組んでいきたいデザイナー・エンジニアを募集中です。 皆さまからのご応募お待ちしております。 www.medley.jp www.medley.jp
Ruby
,
Ruby on Rails
,
プログラミング
,
スタートアップ
,
フロントエンド
,
設計
株式会社メドレー
2017/03/14
<![CDATA[ 「メタプログラミング Ruby」ことはじめ〜開発本部・ TechLunch〜 ]]>
医療介護の求人サイト「 ジョブメドレー 」の開発を担当している後藤です。 メドレー開発本部にて隔週で行われている勉強会(TechLunch)で メタプログラミング Ruby をベースに メタプログラミング Ruby 入門について発表したのでその一部を紹介したいと思います。 メドレーと Ruby 弊社では「 CLINICS 」、「 ジョブメドレー 」、「 介護のほんね 」と複数のプロダクトで Ruby on Rails を利用しています。 スタートアップでそこまでエンジニアの数が多くないなか、エンジニアが最大限にプロダクトにコミットするために、もともとのバックグラウンドがフロントエンドエンジニアだったり、ネイティブアプリエンジニアだったりする方も Ruby on Rails のコードを書いています。 Ruby on Rails はとても便利な フレームワーク で、周辺の便利なライブラリや解説記事が整っていることもあり、必要な機能は検索すればあまり中身を理解せずとも実装できてしまったりもします。ただ、何か問題があった時のために利用している フレームワーク の処理を把握しておくことはとても重要です。そして、 フレームワーク の ソースコード を読み解くにはやはり Ruby の言語仕様の知識が重要になってきます。 また、 Ruby の言語仕様、そして使っている フレームワーク の深い理解があることでよりメンテナンスしやすい設計・実装がしやすくなるのも事実だと思います。 こういった背景のもと、社内のエンジニアの Ruby に対する知見を深めることはとても価値があると感じ、「 メタプログラミング Ruby 」をベースに メタプログラミング Ruby 入門の勉強会を開催しました。 メタプログラミング Ruby 入門 今回は メタプログラミング 入門ということで Ruby で メタプログラミング をする上で必要な Ruby の言語仕様の話と一つの例として method_missing の話を取り上げました。 Ruby のオブジェクトモデル この Ruby のオブジェクトモデルという言葉は「 メタプログラミング Ruby 」から拝借しています。本の中では「このメソッドはどのクラスに所属するものなのか?」「このモジュールをインクルードしたら何が起きるのか」といった質問の答えが見つかる場所と記載しています。このオブジェクトモデルには以下のようなルールが存在します。 オブジェクトは 1 種類しかない。それが通常のオブジェクトかモジュールになる。 モジュールは 1 種類しかない。それが通常のモジュール、クラス、特異クラスのいずれかになる。 メソッドは 1 種類しかない。メソッドはモジュール(大半はクラス)に住んでいる。 すべてのオブジェクトは(クラスも含めて)「本物のクラス」を持っている。それが通常のクラスか特異クラスである。 すべてのクラスは(BasicObject を除いて)ひとつの祖先( スーパークラス かモジュール)を持っている。つまり、あらゆるクラスが BasicObject に向かって 1 本の継承チェーンを持っている。 オブジェクトの特異クラスの スーパークラス は、オブジェクトのクラスである。クラスの特異クラスの スーパークラス はクラスの スーパークラス の特異クラスである。 メソッドを呼び出すときは、 Ruby はレシーバの本物のクラスに向かって「右へ」進み、継承チェーンを「上へ」進む。 Ruby のメソッド探索について知るべきことは以上だ。 ( メタプログラミング Ruby 第 2 版 より) BasicObject#method_missing Ruby でメソッド呼び出しを行った際のフローは以下になります。 Ruby はレシーバーの本物のクラスに向かってメソッド探索を始める 継承チェーンを BasicObject まで辿っても呼び出したメソッドが見つからなかった場合、 Ruby はレシーバーの method_missing を呼び出す メソッド探索で method_missing が見つからなかった場合、BasicObject#method_missing が呼び出され、例外が投げられる この仕組みをうまく使って、BasicObject#method_missing が呼び出される前に自前の method_missing メソッドを呼び出すようにして動的にメソッドを定義したり動的な振る舞いをオブジェクトに加えたりすることができるのです。 勉強会の様子 ここまでお話しした内容を含め、勉強会では以下の内容を発表しました。 発表資料はこちら 発表時の個人的な裏テーマとして「あまり Ruby が得意でない方に メタプログラミング Ruby を読みたくなるようにさせる」というものを設定していましたが、実際の発表後にちらほら メタプログラミング Ruby の話が出ていたので発表した甲斐がありました。 まとめ 今回はメドレー開発本部の技術勉強会(TechLunch)で発表した内容を紹介しました。 勉強会では、まず Ruby の言語要素とメソッド実行の理解を深め、その上で BasicObject#method_missing を理解し、それを使った gem のコードを読み進めました。 実際に Ruby での メタプログラミング に触れることで Ruby への知見が深めていけたかと思います。 メドレー開発本部で実施している「TechLunch」での発表内容は今後も定期的に紹介していくので、是非メドレーブログをチェックしてみてください。 お知らせ メドレーでは医療業界に存在する課題に IT を駆使して取り組んでいきたいデザイナー・エンジニアを募集中です。 皆さまからのご応募お待ちしております。 www.medley.jp www.medley.jp
Ruby
,
Ruby on Rails
,
プログラミング
,
スタートアップ
,
フロントエンド
,
設計
株式会社メドレー
2017/03/14
<![CDATA[ 「メタプログラミング Ruby」ことはじめ〜開発本部・ TechLunch〜 ]]>
医療介護の求人サイト「 ジョブメドレー 」の開発を担当している後藤です。 メドレー開発本部にて隔週で行われている勉強会(TechLunch)で メタプログラミング Ruby をベースに メタプログラミング Ruby 入門について発表したのでその一部を紹介したいと思います。 メドレーと Ruby 弊社では「 CLINICS 」、「 ジョブメドレー 」、「 介護のほんね 」と複数のプロダクトで Ruby on Rails を利用しています。 スタートアップでそこまでエンジニアの数が多くないなか、エンジニアが最大限にプロダクトにコミットするために、もともとのバックグラウンドがフロントエンドエンジニアだったり、ネイティブアプリエンジニアだったりする方も Ruby on Rails のコードを書いています。 Ruby on Rails はとても便利な フレームワーク で、周辺の便利なライブラリや解説記事が整っていることもあり、必要な機能は検索すればあまり中身を理解せずとも実装できてしまったりもします。ただ、何か問題があった時のために利用している フレームワーク の処理を把握しておくことはとても重要です。そして、 フレームワーク の ソースコード を読み解くにはやはり Ruby の言語仕様の知識が重要になってきます。 また、 Ruby の言語仕様、そして使っている フレームワーク の深い理解があることでよりメンテナンスしやすい設計・実装がしやすくなるのも事実だと思います。 こういった背景のもと、社内のエンジニアの Ruby に対する知見を深めることはとても価値があると感じ、「 メタプログラミング Ruby 」をベースに メタプログラミング Ruby 入門の勉強会を開催しました。 メタプログラミング Ruby 入門 今回は メタプログラミング 入門ということで Ruby で メタプログラミング をする上で必要な Ruby の言語仕様の話と一つの例として method_missing の話を取り上げました。 Ruby のオブジェクトモデル この Ruby のオブジェクトモデルという言葉は「 メタプログラミング Ruby 」から拝借しています。本の中では「このメソッドはどのクラスに所属するものなのか?」「このモジュールをインクルードしたら何が起きるのか」といった質問の答えが見つかる場所と記載しています。このオブジェクトモデルには以下のようなルールが存在します。 オブジェクトは 1 種類しかない。それが通常のオブジェクトかモジュールになる。 モジュールは 1 種類しかない。それが通常のモジュール、クラス、特異クラスのいずれかになる。 メソッドは 1 種類しかない。メソッドはモジュール(大半はクラス)に住んでいる。 すべてのオブジェクトは(クラスも含めて)「本物のクラス」を持っている。それが通常のクラスか特異クラスである。 すべてのクラスは(BasicObject を除いて)ひとつの祖先( スーパークラス かモジュール)を持っている。つまり、あらゆるクラスが BasicObject に向かって 1 本の継承チェーンを持っている。 オブジェクトの特異クラスの スーパークラス は、オブジェクトのクラスである。クラスの特異クラスの スーパークラス はクラスの スーパークラス の特異クラスである。 メソッドを呼び出すときは、 Ruby はレシーバの本物のクラスに向かって「右へ」進み、継承チェーンを「上へ」進む。 Ruby のメソッド探索について知るべきことは以上だ。 ( メタプログラミング Ruby 第 2 版 より) BasicObject#method_missing Ruby でメソッド呼び出しを行った際のフローは以下になります。 Ruby はレシーバーの本物のクラスに向かってメソッド探索を始める 継承チェーンを BasicObject まで辿っても呼び出したメソッドが見つからなかった場合、 Ruby はレシーバーの method_missing を呼び出す メソッド探索で method_missing が見つからなかった場合、BasicObject#method_missing が呼び出され、例外が投げられる この仕組みをうまく使って、BasicObject#method_missing が呼び出される前に自前の method_missing メソッドを呼び出すようにして動的にメソッドを定義したり動的な振る舞いをオブジェクトに加えたりすることができるのです。 勉強会の様子 ここまでお話しした内容を含め、勉強会では以下の内容を発表しました。 発表資料はこちら 発表時の個人的な裏テーマとして「あまり Ruby が得意でない方に メタプログラミング Ruby を読みたくなるようにさせる」というものを設定していましたが、実際の発表後にちらほら メタプログラミング Ruby の話が出ていたので発表した甲斐がありました。 まとめ 今回はメドレー開発本部の技術勉強会(TechLunch)で発表した内容を紹介しました。 勉強会では、まず Ruby の言語要素とメソッド実行の理解を深め、その上で BasicObject#method_missing を理解し、それを使った gem のコードを読み進めました。 実際に Ruby での メタプログラミング に触れることで Ruby への知見が深めていけたかと思います。 メドレー開発本部で実施している「TechLunch」での発表内容は今後も定期的に紹介していくので、是非メドレーブログをチェックしてみてください。 お知らせ メドレーでは医療業界に存在する課題に IT を駆使して取り組んでいきたいデザイナー・エンジニアを募集中です。 皆さまからのご応募お待ちしております。 www.medley.jp www.medley.jp
Ruby
,
Ruby on Rails
,
プログラミング
,
スタートアップ
,
フロントエンド
,
設計
株式会社メドレー
2017/03/14
<![CDATA[ 「メタプログラミング Ruby」ことはじめ〜開発本部・ TechLunch〜 ]]>
医療介護の求人サイト「 ジョブメドレー 」の開発を担当している後藤です。 メドレー開発本部にて隔週で行われている勉強会(TechLunch)で メタプログラミング Ruby をベースに メタプログラミング Ruby 入門について発表したのでその一部を紹介したいと思います。 メドレーと Ruby 弊社では「 CLINICS 」、「 ジョブメドレー 」、「 介護のほんね 」と複数のプロダクトで Ruby on Rails を利用しています。 スタートアップでそこまでエンジニアの数が多くないなか、エンジニアが最大限にプロダクトにコミットするために、もともとのバックグラウンドがフロントエンドエンジニアだったり、ネイティブアプリエンジニアだったりする方も Ruby on Rails のコードを書いています。 Ruby on Rails はとても便利な フレームワーク で、周辺の便利なライブラリや解説記事が整っていることもあり、必要な機能は検索すればあまり中身を理解せずとも実装できてしまったりもします。ただ、何か問題があった時のために利用している フレームワーク の処理を把握しておくことはとても重要です。そして、 フレームワーク の ソースコード を読み解くにはやはり Ruby の言語仕様の知識が重要になってきます。 また、 Ruby の言語仕様、そして使っている フレームワーク の深い理解があることでよりメンテナンスしやすい設計・実装がしやすくなるのも事実だと思います。 こういった背景のもと、社内のエンジニアの Ruby に対する知見を深めることはとても価値があると感じ、「 メタプログラミング Ruby 」をベースに メタプログラミング Ruby 入門の勉強会を開催しました。 メタプログラミング Ruby 入門 今回は メタプログラミング 入門ということで Ruby で メタプログラミング をする上で必要な Ruby の言語仕様の話と一つの例として method_missing の話を取り上げました。 Ruby のオブジェクトモデル この Ruby のオブジェクトモデルという言葉は「 メタプログラミング Ruby 」から拝借しています。本の中では「このメソッドはどのクラスに所属するものなのか?」「このモジュールをインクルードしたら何が起きるのか」といった質問の答えが見つかる場所と記載しています。このオブジェクトモデルには以下のようなルールが存在します。 オブジェクトは 1 種類しかない。それが通常のオブジェクトかモジュールになる。 モジュールは 1 種類しかない。それが通常のモジュール、クラス、特異クラスのいずれかになる。 メソッドは 1 種類しかない。メソッドはモジュール(大半はクラス)に住んでいる。 すべてのオブジェクトは(クラスも含めて)「本物のクラス」を持っている。それが通常のクラスか特異クラスである。 すべてのクラスは(BasicObject を除いて)ひとつの祖先( スーパークラス かモジュール)を持っている。つまり、あらゆるクラスが BasicObject に向かって 1 本の継承チェーンを持っている。 オブジェクトの特異クラスの スーパークラス は、オブジェクトのクラスである。クラスの特異クラスの スーパークラス はクラスの スーパークラス の特異クラスである。 メソッドを呼び出すときは、 Ruby はレシーバの本物のクラスに向かって「右へ」進み、継承チェーンを「上へ」進む。 Ruby のメソッド探索について知るべきことは以上だ。 ( メタプログラミング Ruby 第 2 版 より) BasicObject#method_missing Ruby でメソッド呼び出しを行った際のフローは以下になります。 Ruby はレシーバーの本物のクラスに向かってメソッド探索を始める 継承チェーンを BasicObject まで辿っても呼び出したメソッドが見つからなかった場合、 Ruby はレシーバーの method_missing を呼び出す メソッド探索で method_missing が見つからなかった場合、BasicObject#method_missing が呼び出され、例外が投げられる この仕組みをうまく使って、BasicObject#method_missing が呼び出される前に自前の method_missing メソッドを呼び出すようにして動的にメソッドを定義したり動的な振る舞いをオブジェクトに加えたりすることができるのです。 勉強会の様子 ここまでお話しした内容を含め、勉強会では以下の内容を発表しました。 発表資料はこちら 発表時の個人的な裏テーマとして「あまり Ruby が得意でない方に メタプログラミング Ruby を読みたくなるようにさせる」というものを設定していましたが、実際の発表後にちらほら メタプログラミング Ruby の話が出ていたので発表した甲斐がありました。 まとめ 今回はメドレー開発本部の技術勉強会(TechLunch)で発表した内容を紹介しました。 勉強会では、まず Ruby の言語要素とメソッド実行の理解を深め、その上で BasicObject#method_missing を理解し、それを使った gem のコードを読み進めました。 実際に Ruby での メタプログラミング に触れることで Ruby への知見が深めていけたかと思います。 メドレー開発本部で実施している「TechLunch」での発表内容は今後も定期的に紹介していくので、是非メドレーブログをチェックしてみてください。 お知らせ メドレーでは医療業界に存在する課題に IT を駆使して取り組んでいきたいデザイナー・エンジニアを募集中です。 皆さまからのご応募お待ちしております。 www.medley.jp www.medley.jp
Ruby
,
Ruby on Rails
,
プログラミング
,
スタートアップ
,
フロントエンド
,
設計
株式会社メドレー
2017/03/14
<![CDATA[ 「メタプログラミング Ruby」ことはじめ〜開発本部・ TechLunch〜 ]]>
医療介護の求人サイト「 ジョブメドレー 」の開発を担当している後藤です。 メドレー開発本部にて隔週で行われている勉強会(TechLunch)で メタプログラミング Ruby をベースに メタプログラミング Ruby 入門について発表したのでその一部を紹介したいと思います。 メドレーと Ruby 弊社では「 CLINICS 」、「 ジョブメドレー 」、「 介護のほんね 」と複数のプロダクトで Ruby on Rails を利用しています。 スタートアップでそこまでエンジニアの数が多くないなか、エンジニアが最大限にプロダクトにコミットするために、もともとのバックグラウンドがフロントエンドエンジニアだったり、ネイティブアプリエンジニアだったりする方も Ruby on Rails のコードを書いています。 Ruby on Rails はとても便利な フレームワーク で、周辺の便利なライブラリや解説記事が整っていることもあり、必要な機能は検索すればあまり中身を理解せずとも実装できてしまったりもします。ただ、何か問題があった時のために利用している フレームワーク の処理を把握しておくことはとても重要です。そして、 フレームワーク の ソースコード を読み解くにはやはり Ruby の言語仕様の知識が重要になってきます。 また、 Ruby の言語仕様、そして使っている フレームワーク の深い理解があることでよりメンテナンスしやすい設計・実装がしやすくなるのも事実だと思います。 こういった背景のもと、社内のエンジニアの Ruby に対する知見を深めることはとても価値があると感じ、「 メタプログラミング Ruby 」をベースに メタプログラミング Ruby 入門の勉強会を開催しました。 メタプログラミング Ruby 入門 今回は メタプログラミング 入門ということで Ruby で メタプログラミング をする上で必要な Ruby の言語仕様の話と一つの例として method_missing の話を取り上げました。 Ruby のオブジェクトモデル この Ruby のオブジェクトモデルという言葉は「 メタプログラミング Ruby 」から拝借しています。本の中では「このメソッドはどのクラスに所属するものなのか?」「このモジュールをインクルードしたら何が起きるのか」といった質問の答えが見つかる場所と記載しています。このオブジェクトモデルには以下のようなルールが存在します。 オブジェクトは 1 種類しかない。それが通常のオブジェクトかモジュールになる。 モジュールは 1 種類しかない。それが通常のモジュール、クラス、特異クラスのいずれかになる。 メソッドは 1 種類しかない。メソッドはモジュール(大半はクラス)に住んでいる。 すべてのオブジェクトは(クラスも含めて)「本物のクラス」を持っている。それが通常のクラスか特異クラスである。 すべてのクラスは(BasicObject を除いて)ひとつの祖先( スーパークラス かモジュール)を持っている。つまり、あらゆるクラスが BasicObject に向かって 1 本の継承チェーンを持っている。 オブジェクトの特異クラスの スーパークラス は、オブジェクトのクラスである。クラスの特異クラスの スーパークラス はクラスの スーパークラス の特異クラスである。 メソッドを呼び出すときは、 Ruby はレシーバの本物のクラスに向かって「右へ」進み、継承チェーンを「上へ」進む。 Ruby のメソッド探索について知るべきことは以上だ。 ( メタプログラミング Ruby 第 2 版 より) BasicObject#method_missing Ruby でメソッド呼び出しを行った際のフローは以下になります。 Ruby はレシーバーの本物のクラスに向かってメソッド探索を始める 継承チェーンを BasicObject まで辿っても呼び出したメソッドが見つからなかった場合、 Ruby はレシーバーの method_missing を呼び出す メソッド探索で method_missing が見つからなかった場合、BasicObject#method_missing が呼び出され、例外が投げられる この仕組みをうまく使って、BasicObject#method_missing が呼び出される前に自前の method_missing メソッドを呼び出すようにして動的にメソッドを定義したり動的な振る舞いをオブジェクトに加えたりすることができるのです。 勉強会の様子 ここまでお話しした内容を含め、勉強会では以下の内容を発表しました。 発表資料はこちら 発表時の個人的な裏テーマとして「あまり Ruby が得意でない方に メタプログラミング Ruby を読みたくなるようにさせる」というものを設定していましたが、実際の発表後にちらほら メタプログラミング Ruby の話が出ていたので発表した甲斐がありました。 まとめ 今回はメドレー開発本部の技術勉強会(TechLunch)で発表した内容を紹介しました。 勉強会では、まず Ruby の言語要素とメソッド実行の理解を深め、その上で BasicObject#method_missing を理解し、それを使った gem のコードを読み進めました。 実際に Ruby での メタプログラミング に触れることで Ruby への知見が深めていけたかと思います。 メドレー開発本部で実施している「TechLunch」での発表内容は今後も定期的に紹介していくので、是非メドレーブログをチェックしてみてください。 お知らせ メドレーでは医療業界に存在する課題に IT を駆使して取り組んでいきたいデザイナー・エンジニアを募集中です。 皆さまからのご応募お待ちしております。 www.medley.jp www.medley.jp
Ruby
,
Ruby on Rails
,
プログラミング
,
スタートアップ
,
フロントエンド
,
設計
株式会社メドレー
2017/03/14
<![CDATA[ 「メタプログラミング Ruby」ことはじめ〜開発本部・ TechLunch〜 ]]>
医療介護の求人サイト「 ジョブメドレー 」の開発を担当している後藤です。 メドレー開発本部にて隔週で行われている勉強会(TechLunch)で メタプログラミング Ruby をベースに メタプログラミング Ruby 入門について発表したのでその一部を紹介したいと思います。 メドレーと Ruby 弊社では「 CLINICS 」、「 ジョブメドレー 」、「 介護のほんね 」と複数のプロダクトで Ruby on Rails を利用しています。 スタートアップでそこまでエンジニアの数が多くないなか、エンジニアが最大限にプロダクトにコミットするために、もともとのバックグラウンドがフロントエンドエンジニアだったり、ネイティブアプリエンジニアだったりする方も Ruby on Rails のコードを書いています。 Ruby on Rails はとても便利な フレームワーク で、周辺の便利なライブラリや解説記事が整っていることもあり、必要な機能は検索すればあまり中身を理解せずとも実装できてしまったりもします。ただ、何か問題があった時のために利用している フレームワーク の処理を把握しておくことはとても重要です。そして、 フレームワーク の ソースコード を読み解くにはやはり Ruby の言語仕様の知識が重要になってきます。 また、 Ruby の言語仕様、そして使っている フレームワーク の深い理解があることでよりメンテナンスしやすい設計・実装がしやすくなるのも事実だと思います。 こういった背景のもと、社内のエンジニアの Ruby に対する知見を深めることはとても価値があると感じ、「 メタプログラミング Ruby 」をベースに メタプログラミング Ruby 入門の勉強会を開催しました。 メタプログラミング Ruby 入門 今回は メタプログラミング 入門ということで Ruby で メタプログラミング をする上で必要な Ruby の言語仕様の話と一つの例として method_missing の話を取り上げました。 Ruby のオブジェクトモデル この Ruby のオブジェクトモデルという言葉は「 メタプログラミング Ruby 」から拝借しています。本の中では「このメソッドはどのクラスに所属するものなのか?」「このモジュールをインクルードしたら何が起きるのか」といった質問の答えが見つかる場所と記載しています。このオブジェクトモデルには以下のようなルールが存在します。 オブジェクトは 1 種類しかない。それが通常のオブジェクトかモジュールになる。 モジュールは 1 種類しかない。それが通常のモジュール、クラス、特異クラスのいずれかになる。 メソッドは 1 種類しかない。メソッドはモジュール(大半はクラス)に住んでいる。 すべてのオブジェクトは(クラスも含めて)「本物のクラス」を持っている。それが通常のクラスか特異クラスである。 すべてのクラスは(BasicObject を除いて)ひとつの祖先( スーパークラス かモジュール)を持っている。つまり、あらゆるクラスが BasicObject に向かって 1 本の継承チェーンを持っている。 オブジェクトの特異クラスの スーパークラス は、オブジェクトのクラスである。クラスの特異クラスの スーパークラス はクラスの スーパークラス の特異クラスである。 メソッドを呼び出すときは、 Ruby はレシーバの本物のクラスに向かって「右へ」進み、継承チェーンを「上へ」進む。 Ruby のメソッド探索について知るべきことは以上だ。 ( メタプログラミング Ruby 第 2 版 より) BasicObject#method_missing Ruby でメソッド呼び出しを行った際のフローは以下になります。 Ruby はレシーバーの本物のクラスに向かってメソッド探索を始める 継承チェーンを BasicObject まで辿っても呼び出したメソッドが見つからなかった場合、 Ruby はレシーバーの method_missing を呼び出す メソッド探索で method_missing が見つからなかった場合、BasicObject#method_missing が呼び出され、例外が投げられる この仕組みをうまく使って、BasicObject#method_missing が呼び出される前に自前の method_missing メソッドを呼び出すようにして動的にメソッドを定義したり動的な振る舞いをオブジェクトに加えたりすることができるのです。 勉強会の様子 ここまでお話しした内容を含め、勉強会では以下の内容を発表しました。 発表資料はこちら 発表時の個人的な裏テーマとして「あまり Ruby が得意でない方に メタプログラミング Ruby を読みたくなるようにさせる」というものを設定していましたが、実際の発表後にちらほら メタプログラミング Ruby の話が出ていたので発表した甲斐がありました。 まとめ 今回はメドレー開発本部の技術勉強会(TechLunch)で発表した内容を紹介しました。 勉強会では、まず Ruby の言語要素とメソッド実行の理解を深め、その上で BasicObject#method_missing を理解し、それを使った gem のコードを読み進めました。 実際に Ruby での メタプログラミング に触れることで Ruby への知見が深めていけたかと思います。 メドレー開発本部で実施している「TechLunch」での発表内容は今後も定期的に紹介していくので、是非メドレーブログをチェックしてみてください。 お知らせ メドレーでは医療業界に存在する課題に IT を駆使して取り組んでいきたいデザイナー・エンジニアを募集中です。 皆さまからのご応募お待ちしております。 www.medley.jp www.medley.jp
Ruby
,
Ruby on Rails
,
プログラミング
,
スタートアップ
,
フロントエンド
,
設計
株式会社メドレー
2017/03/14
<![CDATA[ 「メタプログラミング Ruby」ことはじめ〜開発本部・ TechLunch〜 ]]>
医療介護の求人サイト「 ジョブメドレー 」の開発を担当している後藤です。 メドレー開発本部にて隔週で行われている勉強会(TechLunch)で メタプログラミング Ruby をベースに メタプログラミング Ruby 入門について発表したのでその一部を紹介したいと思います。 メドレーと Ruby 弊社では「 CLINICS 」、「 ジョブメドレー 」、「 介護のほんね 」と複数のプロダクトで Ruby on Rails を利用しています。 スタートアップでそこまでエンジニアの数が多くないなか、エンジニアが最大限にプロダクトにコミットするために、もともとのバックグラウンドがフロントエンドエンジニアだったり、ネイティブアプリエンジニアだったりする方も Ruby on Rails のコードを書いています。 Ruby on Rails はとても便利な フレームワーク で、周辺の便利なライブラリや解説記事が整っていることもあり、必要な機能は検索すればあまり中身を理解せずとも実装できてしまったりもします。ただ、何か問題があった時のために利用している フレームワーク の処理を把握しておくことはとても重要です。そして、 フレームワーク の ソースコード を読み解くにはやはり Ruby の言語仕様の知識が重要になってきます。 また、 Ruby の言語仕様、そして使っている フレームワーク の深い理解があることでよりメンテナンスしやすい設計・実装がしやすくなるのも事実だと思います。 こういった背景のもと、社内のエンジニアの Ruby に対する知見を深めることはとても価値があると感じ、「 メタプログラミング Ruby 」をベースに メタプログラミング Ruby 入門の勉強会を開催しました。 メタプログラミング Ruby 入門 今回は メタプログラミング 入門ということで Ruby で メタプログラミング をする上で必要な Ruby の言語仕様の話と一つの例として method_missing の話を取り上げました。 Ruby のオブジェクトモデル この Ruby のオブジェクトモデルという言葉は「 メタプログラミング Ruby 」から拝借しています。本の中では「このメソッドはどのクラスに所属するものなのか?」「このモジュールをインクルードしたら何が起きるのか」といった質問の答えが見つかる場所と記載しています。このオブジェクトモデルには以下のようなルールが存在します。 オブジェクトは 1 種類しかない。それが通常のオブジェクトかモジュールになる。 モジュールは 1 種類しかない。それが通常のモジュール、クラス、特異クラスのいずれかになる。 メソッドは 1 種類しかない。メソッドはモジュール(大半はクラス)に住んでいる。 すべてのオブジェクトは(クラスも含めて)「本物のクラス」を持っている。それが通常のクラスか特異クラスである。 すべてのクラスは(BasicObject を除いて)ひとつの祖先( スーパークラス かモジュール)を持っている。つまり、あらゆるクラスが BasicObject に向かって 1 本の継承チェーンを持っている。 オブジェクトの特異クラスの スーパークラス は、オブジェクトのクラスである。クラスの特異クラスの スーパークラス はクラスの スーパークラス の特異クラスである。 メソッドを呼び出すときは、 Ruby はレシーバの本物のクラスに向かって「右へ」進み、継承チェーンを「上へ」進む。 Ruby のメソッド探索について知るべきことは以上だ。 ( メタプログラミング Ruby 第 2 版 より) BasicObject#method_missing Ruby でメソッド呼び出しを行った際のフローは以下になります。 Ruby はレシーバーの本物のクラスに向かってメソッド探索を始める 継承チェーンを BasicObject まで辿っても呼び出したメソッドが見つからなかった場合、 Ruby はレシーバーの method_missing を呼び出す メソッド探索で method_missing が見つからなかった場合、BasicObject#method_missing が呼び出され、例外が投げられる この仕組みをうまく使って、BasicObject#method_missing が呼び出される前に自前の method_missing メソッドを呼び出すようにして動的にメソッドを定義したり動的な振る舞いをオブジェクトに加えたりすることができるのです。 勉強会の様子 ここまでお話しした内容を含め、勉強会では以下の内容を発表しました。 発表資料はこちら 発表時の個人的な裏テーマとして「あまり Ruby が得意でない方に メタプログラミング Ruby を読みたくなるようにさせる」というものを設定していましたが、実際の発表後にちらほら メタプログラミング Ruby の話が出ていたので発表した甲斐がありました。 まとめ 今回はメドレー開発本部の技術勉強会(TechLunch)で発表した内容を紹介しました。 勉強会では、まず Ruby の言語要素とメソッド実行の理解を深め、その上で BasicObject#method_missing を理解し、それを使った gem のコードを読み進めました。 実際に Ruby での メタプログラミング に触れることで Ruby への知見が深めていけたかと思います。 メドレー開発本部で実施している「TechLunch」での発表内容は今後も定期的に紹介していくので、是非メドレーブログをチェックしてみてください。 お知らせ メドレーでは医療業界に存在する課題に IT を駆使して取り組んでいきたいデザイナー・エンジニアを募集中です。 皆さまからのご応募お待ちしております。 www.medley.jp www.medley.jp
Ruby
,
Ruby on Rails
,
プログラミング
,
スタートアップ
,
フロントエンド
,
設計
株式会社メドレー
2017/03/14
<![CDATA[ 「メタプログラミング Ruby」ことはじめ〜開発本部・ TechLunch〜 ]]>
医療介護の求人サイト「 ジョブメドレー 」の開発を担当している後藤です。 メドレー開発本部にて隔週で行われている勉強会(TechLunch)で メタプログラミング Ruby をベースに メタプログラミング Ruby 入門について発表したのでその一部を紹介したいと思います。 メドレーと Ruby 弊社では「 CLINICS 」、「 ジョブメドレー 」、「 介護のほんね 」と複数のプロダクトで Ruby on Rails を利用しています。 スタートアップでそこまでエンジニアの数が多くないなか、エンジニアが最大限にプロダクトにコミットするために、もともとのバックグラウンドがフロントエンドエンジニアだったり、ネイティブアプリエンジニアだったりする方も Ruby on Rails のコードを書いています。 Ruby on Rails はとても便利な フレームワーク で、周辺の便利なライブラリや解説記事が整っていることもあり、必要な機能は検索すればあまり中身を理解せずとも実装できてしまったりもします。ただ、何か問題があった時のために利用している フレームワーク の処理を把握しておくことはとても重要です。そして、 フレームワーク の ソースコード を読み解くにはやはり Ruby の言語仕様の知識が重要になってきます。 また、 Ruby の言語仕様、そして使っている フレームワーク の深い理解があることでよりメンテナンスしやすい設計・実装がしやすくなるのも事実だと思います。 こういった背景のもと、社内のエンジニアの Ruby に対する知見を深めることはとても価値があると感じ、「 メタプログラミング Ruby 」をベースに メタプログラミング Ruby 入門の勉強会を開催しました。 メタプログラミング Ruby 入門 今回は メタプログラミング 入門ということで Ruby で メタプログラミング をする上で必要な Ruby の言語仕様の話と一つの例として method_missing の話を取り上げました。 Ruby のオブジェクトモデル この Ruby のオブジェクトモデルという言葉は「 メタプログラミング Ruby 」から拝借しています。本の中では「このメソッドはどのクラスに所属するものなのか?」「このモジュールをインクルードしたら何が起きるのか」といった質問の答えが見つかる場所と記載しています。このオブジェクトモデルには以下のようなルールが存在します。 オブジェクトは 1 種類しかない。それが通常のオブジェクトかモジュールになる。 モジュールは 1 種類しかない。それが通常のモジュール、クラス、特異クラスのいずれかになる。 メソッドは 1 種類しかない。メソッドはモジュール(大半はクラス)に住んでいる。 すべてのオブジェクトは(クラスも含めて)「本物のクラス」を持っている。それが通常のクラスか特異クラスである。 すべてのクラスは(BasicObject を除いて)ひとつの祖先( スーパークラス かモジュール)を持っている。つまり、あらゆるクラスが BasicObject に向かって 1 本の継承チェーンを持っている。 オブジェクトの特異クラスの スーパークラス は、オブジェクトのクラスである。クラスの特異クラスの スーパークラス はクラスの スーパークラス の特異クラスである。 メソッドを呼び出すときは、 Ruby はレシーバの本物のクラスに向かって「右へ」進み、継承チェーンを「上へ」進む。 Ruby のメソッド探索について知るべきことは以上だ。 ( メタプログラミング Ruby 第 2 版 より) BasicObject#method_missing Ruby でメソッド呼び出しを行った際のフローは以下になります。 Ruby はレシーバーの本物のクラスに向かってメソッド探索を始める 継承チェーンを BasicObject まで辿っても呼び出したメソッドが見つからなかった場合、 Ruby はレシーバーの method_missing を呼び出す メソッド探索で method_missing が見つからなかった場合、BasicObject#method_missing が呼び出され、例外が投げられる この仕組みをうまく使って、BasicObject#method_missing が呼び出される前に自前の method_missing メソッドを呼び出すようにして動的にメソッドを定義したり動的な振る舞いをオブジェクトに加えたりすることができるのです。 勉強会の様子 ここまでお話しした内容を含め、勉強会では以下の内容を発表しました。 発表資料はこちら 発表時の個人的な裏テーマとして「あまり Ruby が得意でない方に メタプログラミング Ruby を読みたくなるようにさせる」というものを設定していましたが、実際の発表後にちらほら メタプログラミング Ruby の話が出ていたので発表した甲斐がありました。 まとめ 今回はメドレー開発本部の技術勉強会(TechLunch)で発表した内容を紹介しました。 勉強会では、まず Ruby の言語要素とメソッド実行の理解を深め、その上で BasicObject#method_missing を理解し、それを使った gem のコードを読み進めました。 実際に Ruby での メタプログラミング に触れることで Ruby への知見が深めていけたかと思います。 メドレー開発本部で実施している「TechLunch」での発表内容は今後も定期的に紹介していくので、是非メドレーブログをチェックしてみてください。 お知らせ メドレーでは医療業界に存在する課題に IT を駆使して取り組んでいきたいデザイナー・エンジニアを募集中です。 皆さまからのご応募お待ちしております。 www.medley.jp www.medley.jp
Ruby
,
Ruby on Rails
,
プログラミング
,
スタートアップ
,
フロントエンド
,
設計
株式会社メドレー
2017/02/14
<![CDATA[ プロダクトへの「思い」を大切にし続ける開発チームを目指して〜メドレー開発本部合宿@まるも〜 ]]>
こんにちは、オンライン病気事典 MEDLEY の開発をしてます徐聖博です。 先日、開発本部のメンバーで千葉県の「 まるも ・ かぢや旅館 」で合宿を行いました。 marumo.net // 『まるもの開発合宿プラン』を利用 今回は、開発本部で合宿を行った背景や、合宿の内容の紹介をしていきます。 背景 ストイックすぎる大人たち メドレーはスタートアップ企業の中では比較的年齢層が高く、一部からは「大人の ベンチャー 」と呼ばれることもあります。 中でも開発本部に関してはメンバー 17 人中、20 代は自分を含めて 3 人しかおらず、基本的に 30 代中盤の「大人(おっさん)」が集まる部署です。 www.wantedly.com // 開発本部の**“ツートップ”**による対談。 普段はゆるく気さくな「大人」たちですが、仕事ではとことん真剣にプロダクトと向き合っています。 例えば、昨年 5 月に行った開発合宿では、昼に集合し途中夕食・ボーリングを挟み深夜 1 時ごろまで開発し、次の日は朝ごはんを食べて開発、昼ごはんを食べて開発。 develoepr.medley.jp // 昨年 5 月末に『おんやど恵』で行った開発合宿。 温泉に行ったにも関わらず 2 日間みっちり開発し、時間の限り最後までクオリティにこだわりやりきりました。 成長してゆく組織 そんな合宿を行った昨年の 5 月末の 12 人から、メドレー開発本部には新たに 5 人のエンジニア・デザイナーが加わり合計 17 人体制になりました。 オンライン診療アプリ CLINICS の iOS 版・ Android 版もリリースし、プロダクトの数も増え、そして社員数が約 1.5 倍になるなど会社全体としても成長をしました。 会社の成長に伴い開発の業務が細分化し、「席は近いけど、やってることは全然違う」というような状況が増えました。 また、個人のプロダクトに対する思いを共有する場も日常の業務では少なくなってきました。 メドレーにおけるプロダクトは、一つひとつ「思い」があり、その「思い」によって生まれたプロダクトです。 そのため、同じ部署のメンバーが互いにどのような思いでそのプロダクト開発しているかを知りながら働くことは、とても大切なことだと考えています。 medley.life // 正しい医療の情報を発信し、病気で不安を感じる人を一人でも減らしたい「思い」で生まれた MEDLEY こうした背景の中、「リフレッシュ・コミュニケーション」をテーマに開発本部合宿を行いました。 何をやったか 今回、行った先は 千葉県富津市 。 当日は強風に見舞われ、当初予定していた海釣りから予定変更し、鋸山へと行きました。 鋸山は標高 329.4m と、決して高くはありません。 しかし、登ってみると意外と階段が多く、普段おっさんたちが発しないような声色で「つらい」・「え、まだ登るの?」と音を上げながらもなんとか巡回コースを歩きました。 各々プライベートことも含め語り合いながら、そして苦労の末に山頂にたどり着き、そこで撮った集合写真はみなとてもいい笑顔で登ってよかったと思いました。 // 名物の地獄覗きを体験。撮影は高所恐怖症の 不惑エンジニア ) 。 // 鋸山山頂で撮った記念写真。半分以上のメンバーは翌日筋肉痛になりました。 // おみくじを引き、今年の運勢を占ったり。 // 男が 15 人で BBQ をすれば、当たり前のように肉の争奪戦が始まります。メシに上下関係なんてありません。 日々オフィスにこもりストイックに仕事をする開発本部メンバーにとって、山に登り体を動かしたり、バーベキューで肉の取り合いをすることは良いリフレッシュになったのではないかと思います。 今後へ向けて 「リフレッシュ・コミュニケーション」がテーマであるものの、ただリフレッシュし、コミュニケーションを取るだけが今回の目的ではありません。 メドレーという会社が目指す未来を実現するために、開発本部の今後のロードマップを定めることも直近のテーマです。 夜は、 まるも にて「これまでの開発本部の道のり」と、そして「これからの開発本部がどうあるべき」か、 そして「株式会社メドレーが運営する 4 つのプロダクトをどういう気持ちで成長させていくか」ということに関して CTO の平山がその熱い胸の内を共有しました。 // 平山の発表を真剣に聞くメンバーの様子。 発表は、2015 年から 2017 年の現在にいたるまでのメドレー開発本部の動きがまとめられている資料で、個人的に今までやってきたことを思い出し感慨深く感じました。 中でも、熱い思いが込められたこの一枚のスライドがとても印象に残っています。 ちょっと、内緒で拝借してご紹介します。 // 平山の思いが込められたスライド。しっかりとメンバーの胸に刻み込まれました。 そのあとは、メンバー各々プロダクトへの思いや最新の技術の話題など、夜遅くまで真面目に、且つ面白く語り合っていました。 まとめ 今回はリフレッシュとコミュニケーションをテーマに、千葉県で合宿を行いました。 鋸山で山登りをし、 まるも で夜遅くまでプロダクトに対する思いについて語り合い、リフレッシュもコミュニケーションもしっかりできました。 帰りは若干眠そうでしたが、みなスッキリした顔で解散し、良い合宿だったなと思いました。 今後も定期的に合宿を行い、プロダクトへ対する思いを共有し、その思いを大切にしながら開発していきたいと思いました。 最後に 今回企画してくれた新居さん、ありがとうございます!!! // 恒例(にしていきたい)の到着直後の新居さんピース
Android
,
iOS
,
スタートアップ
株式会社メドレー
2017/02/14
<![CDATA[ プロダクトへの「思い」を大切にし続ける開発チームを目指して〜メドレー開発本部合宿@まるも〜 ]]>
こんにちは、オンライン病気事典 MEDLEY の開発をしてます徐聖博です。 先日、開発本部のメンバーで千葉県の「 まるも ・ かぢや旅館 」で合宿を行いました。 marumo.net // 『まるもの開発合宿プラン』を利用 今回は、開発本部で合宿を行った背景や、合宿の内容の紹介をしていきます。 背景 ストイックすぎる大人たち メドレーはスタートアップ企業の中では比較的年齢層が高く、一部からは「大人の ベンチャー 」と呼ばれることもあります。 中でも開発本部に関してはメンバー 17 人中、20 代は自分を含めて 3 人しかおらず、基本的に 30 代中盤の「大人(おっさん)」が集まる部署です。 www.wantedly.com // 開発本部の**“ツートップ”**による対談。 普段はゆるく気さくな「大人」たちですが、仕事ではとことん真剣にプロダクトと向き合っています。 例えば、昨年 5 月に行った開発合宿では、昼に集合し途中夕食・ボーリングを挟み深夜 1 時ごろまで開発し、次の日は朝ごはんを食べて開発、昼ごはんを食べて開発。 develoepr.medley.jp // 昨年 5 月末に『おんやど恵』で行った開発合宿。 温泉に行ったにも関わらず 2 日間みっちり開発し、時間の限り最後までクオリティにこだわりやりきりました。 成長してゆく組織 そんな合宿を行った昨年の 5 月末の 12 人から、メドレー開発本部には新たに 5 人のエンジニア・デザイナーが加わり合計 17 人体制になりました。 オンライン診療アプリ CLINICS の iOS 版・ Android 版もリリースし、プロダクトの数も増え、そして社員数が約 1.5 倍になるなど会社全体としても成長をしました。 会社の成長に伴い開発の業務が細分化し、「席は近いけど、やってることは全然違う」というような状況が増えました。 また、個人のプロダクトに対する思いを共有する場も日常の業務では少なくなってきました。 メドレーにおけるプロダクトは、一つひとつ「思い」があり、その「思い」によって生まれたプロダクトです。 そのため、同じ部署のメンバーが互いにどのような思いでそのプロダクト開発しているかを知りながら働くことは、とても大切なことだと考えています。 medley.life // 正しい医療の情報を発信し、病気で不安を感じる人を一人でも減らしたい「思い」で生まれた MEDLEY こうした背景の中、「リフレッシュ・コミュニケーション」をテーマに開発本部合宿を行いました。 何をやったか 今回、行った先は 千葉県富津市 。 当日は強風に見舞われ、当初予定していた海釣りから予定変更し、鋸山へと行きました。 鋸山は標高 329.4m と、決して高くはありません。 しかし、登ってみると意外と階段が多く、普段おっさんたちが発しないような声色で「つらい」・「え、まだ登るの?」と音を上げながらもなんとか巡回コースを歩きました。 各々プライベートことも含め語り合いながら、そして苦労の末に山頂にたどり着き、そこで撮った集合写真はみなとてもいい笑顔で登ってよかったと思いました。 // 名物の地獄覗きを体験。撮影は高所恐怖症の 不惑エンジニア ) 。 // 鋸山山頂で撮った記念写真。半分以上のメンバーは翌日筋肉痛になりました。 // おみくじを引き、今年の運勢を占ったり。 // 男が 15 人で BBQ をすれば、当たり前のように肉の争奪戦が始まります。メシに上下関係なんてありません。 日々オフィスにこもりストイックに仕事をする開発本部メンバーにとって、山に登り体を動かしたり、バーベキューで肉の取り合いをすることは良いリフレッシュになったのではないかと思います。 今後へ向けて 「リフレッシュ・コミュニケーション」がテーマであるものの、ただリフレッシュし、コミュニケーションを取るだけが今回の目的ではありません。 メドレーという会社が目指す未来を実現するために、開発本部の今後のロードマップを定めることも直近のテーマです。 夜は、 まるも にて「これまでの開発本部の道のり」と、そして「これからの開発本部がどうあるべき」か、 そして「株式会社メドレーが運営する 4 つのプロダクトをどういう気持ちで成長させていくか」ということに関して CTO の平山がその熱い胸の内を共有しました。 // 平山の発表を真剣に聞くメンバーの様子。 発表は、2015 年から 2017 年の現在にいたるまでのメドレー開発本部の動きがまとめられている資料で、個人的に今までやってきたことを思い出し感慨深く感じました。 中でも、熱い思いが込められたこの一枚のスライドがとても印象に残っています。 ちょっと、内緒で拝借してご紹介します。 // 平山の思いが込められたスライド。しっかりとメンバーの胸に刻み込まれました。 そのあとは、メンバー各々プロダクトへの思いや最新の技術の話題など、夜遅くまで真面目に、且つ面白く語り合っていました。 まとめ 今回はリフレッシュとコミュニケーションをテーマに、千葉県で合宿を行いました。 鋸山で山登りをし、 まるも で夜遅くまでプロダクトに対する思いについて語り合い、リフレッシュもコミュニケーションもしっかりできました。 帰りは若干眠そうでしたが、みなスッキリした顔で解散し、良い合宿だったなと思いました。 今後も定期的に合宿を行い、プロダクトへ対する思いを共有し、その思いを大切にしながら開発していきたいと思いました。 最後に 今回企画してくれた新居さん、ありがとうございます!!! // 恒例(にしていきたい)の到着直後の新居さんピース
Android
,
iOS
,
スタートアップ
株式会社メドレー
2017/02/14
<![CDATA[ プロダクトへの「思い」を大切にし続ける開発チームを目指して〜メドレー開発本部合宿@まるも〜 ]]>
こんにちは、オンライン病気事典 MEDLEY の開発をしてます徐聖博です。 先日、開発本部のメンバーで千葉県の「 まるも ・ かぢや旅館 」で合宿を行いました。 marumo.net // 『まるもの開発合宿プラン』を利用 今回は、開発本部で合宿を行った背景や、合宿の内容の紹介をしていきます。 背景 ストイックすぎる大人たち メドレーはスタートアップ企業の中では比較的年齢層が高く、一部からは「大人の ベンチャー 」と呼ばれることもあります。 中でも開発本部に関してはメンバー 17 人中、20 代は自分を含めて 3 人しかおらず、基本的に 30 代中盤の「大人(おっさん)」が集まる部署です。 www.wantedly.com // 開発本部の**“ツートップ”**による対談。 普段はゆるく気さくな「大人」たちですが、仕事ではとことん真剣にプロダクトと向き合っています。 例えば、昨年 5 月に行った開発合宿では、昼に集合し途中夕食・ボーリングを挟み深夜 1 時ごろまで開発し、次の日は朝ごはんを食べて開発、昼ごはんを食べて開発。 develoepr.medley.jp // 昨年 5 月末に『おんやど恵』で行った開発合宿。 温泉に行ったにも関わらず 2 日間みっちり開発し、時間の限り最後までクオリティにこだわりやりきりました。 成長してゆく組織 そんな合宿を行った昨年の 5 月末の 12 人から、メドレー開発本部には新たに 5 人のエンジニア・デザイナーが加わり合計 17 人体制になりました。 オンライン診療アプリ CLINICS の iOS 版・ Android 版もリリースし、プロダクトの数も増え、そして社員数が約 1.5 倍になるなど会社全体としても成長をしました。 会社の成長に伴い開発の業務が細分化し、「席は近いけど、やってることは全然違う」というような状況が増えました。 また、個人のプロダクトに対する思いを共有する場も日常の業務では少なくなってきました。 メドレーにおけるプロダクトは、一つひとつ「思い」があり、その「思い」によって生まれたプロダクトです。 そのため、同じ部署のメンバーが互いにどのような思いでそのプロダクト開発しているかを知りながら働くことは、とても大切なことだと考えています。 medley.life // 正しい医療の情報を発信し、病気で不安を感じる人を一人でも減らしたい「思い」で生まれた MEDLEY こうした背景の中、「リフレッシュ・コミュニケーション」をテーマに開発本部合宿を行いました。 何をやったか 今回、行った先は 千葉県富津市 。 当日は強風に見舞われ、当初予定していた海釣りから予定変更し、鋸山へと行きました。 鋸山は標高 329.4m と、決して高くはありません。 しかし、登ってみると意外と階段が多く、普段おっさんたちが発しないような声色で「つらい」・「え、まだ登るの?」と音を上げながらもなんとか巡回コースを歩きました。 各々プライベートことも含め語り合いながら、そして苦労の末に山頂にたどり着き、そこで撮った集合写真はみなとてもいい笑顔で登ってよかったと思いました。 // 名物の地獄覗きを体験。撮影は高所恐怖症の 不惑エンジニア ) 。 // 鋸山山頂で撮った記念写真。半分以上のメンバーは翌日筋肉痛になりました。 // おみくじを引き、今年の運勢を占ったり。 // 男が 15 人で BBQ をすれば、当たり前のように肉の争奪戦が始まります。メシに上下関係なんてありません。 日々オフィスにこもりストイックに仕事をする開発本部メンバーにとって、山に登り体を動かしたり、バーベキューで肉の取り合いをすることは良いリフレッシュになったのではないかと思います。 今後へ向けて 「リフレッシュ・コミュニケーション」がテーマであるものの、ただリフレッシュし、コミュニケーションを取るだけが今回の目的ではありません。 メドレーという会社が目指す未来を実現するために、開発本部の今後のロードマップを定めることも直近のテーマです。 夜は、 まるも にて「これまでの開発本部の道のり」と、そして「これからの開発本部がどうあるべき」か、 そして「株式会社メドレーが運営する 4 つのプロダクトをどういう気持ちで成長させていくか」ということに関して CTO の平山がその熱い胸の内を共有しました。 // 平山の発表を真剣に聞くメンバーの様子。 発表は、2015 年から 2017 年の現在にいたるまでのメドレー開発本部の動きがまとめられている資料で、個人的に今までやってきたことを思い出し感慨深く感じました。 中でも、熱い思いが込められたこの一枚のスライドがとても印象に残っています。 ちょっと、内緒で拝借してご紹介します。 // 平山の思いが込められたスライド。しっかりとメンバーの胸に刻み込まれました。 そのあとは、メンバー各々プロダクトへの思いや最新の技術の話題など、夜遅くまで真面目に、且つ面白く語り合っていました。 まとめ 今回はリフレッシュとコミュニケーションをテーマに、千葉県で合宿を行いました。 鋸山で山登りをし、 まるも で夜遅くまでプロダクトに対する思いについて語り合い、リフレッシュもコミュニケーションもしっかりできました。 帰りは若干眠そうでしたが、みなスッキリした顔で解散し、良い合宿だったなと思いました。 今後も定期的に合宿を行い、プロダクトへ対する思いを共有し、その思いを大切にしながら開発していきたいと思いました。 最後に 今回企画してくれた新居さん、ありがとうございます!!! // 恒例(にしていきたい)の到着直後の新居さんピース
Android
,
iOS
,
スタートアップ
株式会社メドレー
2017/02/14
<![CDATA[ プロダクトへの「思い」を大切にし続ける開発チームを目指して〜メドレー開発本部合宿@まるも〜 ]]>
こんにちは、オンライン病気事典 MEDLEY の開発をしてます徐聖博です。 先日、開発本部のメンバーで千葉県の「 まるも ・ かぢや旅館 」で合宿を行いました。 marumo.net // 『まるもの開発合宿プラン』を利用 今回は、開発本部で合宿を行った背景や、合宿の内容の紹介をしていきます。 背景 ストイックすぎる大人たち メドレーはスタートアップ企業の中では比較的年齢層が高く、一部からは「大人の ベンチャー 」と呼ばれることもあります。 中でも開発本部に関してはメンバー 17 人中、20 代は自分を含めて 3 人しかおらず、基本的に 30 代中盤の「大人(おっさん)」が集まる部署です。 www.wantedly.com // 開発本部の**“ツートップ”**による対談。 普段はゆるく気さくな「大人」たちですが、仕事ではとことん真剣にプロダクトと向き合っています。 例えば、昨年 5 月に行った開発合宿では、昼に集合し途中夕食・ボーリングを挟み深夜 1 時ごろまで開発し、次の日は朝ごはんを食べて開発、昼ごはんを食べて開発。 develoepr.medley.jp // 昨年 5 月末に『おんやど恵』で行った開発合宿。 温泉に行ったにも関わらず 2 日間みっちり開発し、時間の限り最後までクオリティにこだわりやりきりました。 成長してゆく組織 そんな合宿を行った昨年の 5 月末の 12 人から、メドレー開発本部には新たに 5 人のエンジニア・デザイナーが加わり合計 17 人体制になりました。 オンライン診療アプリ CLINICS の iOS 版・ Android 版もリリースし、プロダクトの数も増え、そして社員数が約 1.5 倍になるなど会社全体としても成長をしました。 会社の成長に伴い開発の業務が細分化し、「席は近いけど、やってることは全然違う」というような状況が増えました。 また、個人のプロダクトに対する思いを共有する場も日常の業務では少なくなってきました。 メドレーにおけるプロダクトは、一つひとつ「思い」があり、その「思い」によって生まれたプロダクトです。 そのため、同じ部署のメンバーが互いにどのような思いでそのプロダクト開発しているかを知りながら働くことは、とても大切なことだと考えています。 medley.life // 正しい医療の情報を発信し、病気で不安を感じる人を一人でも減らしたい「思い」で生まれた MEDLEY こうした背景の中、「リフレッシュ・コミュニケーション」をテーマに開発本部合宿を行いました。 何をやったか 今回、行った先は 千葉県富津市 。 当日は強風に見舞われ、当初予定していた海釣りから予定変更し、鋸山へと行きました。 鋸山は標高 329.4m と、決して高くはありません。 しかし、登ってみると意外と階段が多く、普段おっさんたちが発しないような声色で「つらい」・「え、まだ登るの?」と音を上げながらもなんとか巡回コースを歩きました。 各々プライベートことも含め語り合いながら、そして苦労の末に山頂にたどり着き、そこで撮った集合写真はみなとてもいい笑顔で登ってよかったと思いました。 // 名物の地獄覗きを体験。撮影は高所恐怖症の 不惑エンジニア ) 。 // 鋸山山頂で撮った記念写真。半分以上のメンバーは翌日筋肉痛になりました。 // おみくじを引き、今年の運勢を占ったり。 // 男が 15 人で BBQ をすれば、当たり前のように肉の争奪戦が始まります。メシに上下関係なんてありません。 日々オフィスにこもりストイックに仕事をする開発本部メンバーにとって、山に登り体を動かしたり、バーベキューで肉の取り合いをすることは良いリフレッシュになったのではないかと思います。 今後へ向けて 「リフレッシュ・コミュニケーション」がテーマであるものの、ただリフレッシュし、コミュニケーションを取るだけが今回の目的ではありません。 メドレーという会社が目指す未来を実現するために、開発本部の今後のロードマップを定めることも直近のテーマです。 夜は、 まるも にて「これまでの開発本部の道のり」と、そして「これからの開発本部がどうあるべき」か、 そして「株式会社メドレーが運営する 4 つのプロダクトをどういう気持ちで成長させていくか」ということに関して CTO の平山がその熱い胸の内を共有しました。 // 平山の発表を真剣に聞くメンバーの様子。 発表は、2015 年から 2017 年の現在にいたるまでのメドレー開発本部の動きがまとめられている資料で、個人的に今までやってきたことを思い出し感慨深く感じました。 中でも、熱い思いが込められたこの一枚のスライドがとても印象に残っています。 ちょっと、内緒で拝借してご紹介します。 // 平山の思いが込められたスライド。しっかりとメンバーの胸に刻み込まれました。 そのあとは、メンバー各々プロダクトへの思いや最新の技術の話題など、夜遅くまで真面目に、且つ面白く語り合っていました。 まとめ 今回はリフレッシュとコミュニケーションをテーマに、千葉県で合宿を行いました。 鋸山で山登りをし、 まるも で夜遅くまでプロダクトに対する思いについて語り合い、リフレッシュもコミュニケーションもしっかりできました。 帰りは若干眠そうでしたが、みなスッキリした顔で解散し、良い合宿だったなと思いました。 今後も定期的に合宿を行い、プロダクトへ対する思いを共有し、その思いを大切にしながら開発していきたいと思いました。 最後に 今回企画してくれた新居さん、ありがとうございます!!! // 恒例(にしていきたい)の到着直後の新居さんピース
Android
,
iOS
,
スタートアップ
株式会社メドレー
1
More pages
64
65
66
67
68
More pages
71
コンテンツ
トップ
イベント
ブログ
グループに関するお問い合わせ