SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
クローズドソースから始
めるオープンソース
2017-05-23
Speee Cafe Meetup #07
大仲 能史 a.k.a. @onk
自己紹介
• 大仲 能史 a.k.a. @onk
• 株式会社ドリコム スペシャリスト
• Railsエンジニア歴8年ぐらい
• ドリコムには開発ラインが十数本あるので
それらから共通化可能な部分をくくりだして
社内gemにする仕事をしています
今日の話
• タイトル「クローズドソースから始めるオープンソース」
• すとうさんに怒られそうなタイトルなのであまりこの順番で話
したくないんですが(
• どのようにオープンソースの「障壁」を取っ払う文化を作って
きたかという話をします。
前回のあらすじ!
• RubyKaigi2014でも似たような話をしました(by mitaku)
http://rubykaigi.org/2014/presentation/S-TakumiMiura
前回のあらすじ!
• プロジェクトがいっぱいあると
https://speakerdeck.com/mitaku/rubykaigi-2014-gem-of-this-week
前回のあらすじ!
• チェリーピック(orコピペ)が生まれる
前回のあらすじ!
• 僕らはweb/ゲームという競争の激しい市場で戦っているので
前回のあらすじ!
• 俊敏さを維持する必要がある! (コピペはAgilityが足りない)
社内gemという文化を作った
社内gem
• geminabox gemを利用して社内gemサーバを立てている
社内gem
• 5/23時点で173個
• aからzまで大体埋まるぐらい
• ドリコムの「d」から始まるgemだらけでキツい
• タブ補完を利かせるためには1文字目を変える方が望ましいという教訓
社内gemが文化になるまでのアジェンダ
• 共通コードをgemにする
• gemを作る、アップデートすることが日常であることを伝える
• 誰もがgemを作れる、更新できる雰囲気を醸成する
社内gemが文化になるまでのアジェンダ
• 共通コードをgemにする
• gemを作る、アップデートすることが日常であることを伝える
• 誰もがgemを作れる、更新できる雰囲気を醸成する
共通コードをgemにする
• こんなのをgemにしました紹介
• komachi_heartbeat
• Speeeさんでも使われてるみたい?
• ヘルスチェックを行うMountable Engine
• dpoint
• 30分で導入できる仮想通貨システム
• client_app
• User-Agentをパースして、必要だったらApp Storeに飛ばすヤツ
• game_date
• ゲーム内では午前4時が日付変更線になってる的なヤツ
共通コードをgemにする
• こんなのをgemにしました紹介
• gstb
• gistub(社内gist)に投稿するためのCLIツール
• 設定レスでgem installするだけで使えるよう、公開せず社内gemに
• capistrano-drecom-deploy
• ドリコムのインフラ事情に合わせたcapレシピ集
• drecomssh
• ec2ssh gem(mirakuiware)の社内版
• ホスト名が補完できるようになる
• komachi_foundation-drecom
• 社内標準のrails app template
共通コードをgemにする
• 僕らの開発組織体制
• プロダクトと別に開発基盤部が存在
• 開発基盤メンバーがプロダクトに
アサインされることもある
• 横のつながりが担保され、共通部分に
気づきやすい
• 外でgemを作ってるメンバーが居た、
共通化して加速するのが当然だよねという
空気が先に存在した影響は大きい
社内gemが文化になるまでのアジェンダ
• 共通コードをgemにする
• gemを作る、アップデートすることが日常であることを伝える
• 誰もがgemを作れる、更新できる雰囲気を醸成する
gemを作る、アップデートすることが日
常であることを伝える
• 毎週、全プロダクトのリードエンジニアを集めた共有会を開催
している
• 今後追加しようと思っている機能の報告や、トラブル共有等を
行っている
• 目的は車輪の再発明の防止と、人の振り見て我が振り直せ
• 事実・負債・挑戦&見える化、横展開
• ツラみやドヤりの共有
gemを作る、アップデートすることが日
常であることを伝える
• 共有会のコンテンツに「今週のgem」というコーナーを作った
• 1週間の間に作ったgem、バージョンアップしたgemと
そのREADME、CHANGELOGを報告する
• 作者の顔が見えるし、作者が「めっちゃ便利なので入れてくだ
さい」とアピールする場になる
• 便利gemがプロダクトに取り入れられ、要望が上がってきて
バージョンアップして、バージョンアップ内容が次の共有会で
報告され、便利になったので別のプロダクトに取り入れられ
……という非常に良いループが回った
gemを作る、アップデートすることが日
常であることを伝える
• 量が増えたので、社内gemが偏在する
ようになった
• 社内gemのある風景こそが日常
• 普通に作るし普通に使う
• Gemfileがこうなっている→
source "http://gem.drecom.co.jp" do
gem "acts_as_mysql_partition"
gem "blue_pencil"
gem "client_app"
gem "client_version"
gem "compression_serializer-msgpack"
gem "dmaster"
gem "dpoint"
gem "dpoint_web"
gem "drecom-unicorn", require: "unicorn"
gem "drecom-unicorn-worker-killer"
gem "drecom_ldap"
gem "dsearch"
gem "egg"
gem "game_date"
gem "kpi-logger"
gem "lock_with_user"
gem "retryable_action"
gem "scatter_swappable"
gem "taboo"
gem "un_resource_list_info"
gem "una10_controller"
gem "unavro"
gem "unicorn-timeout_logging"
gem "unicorn_manager"
gem "user_id_tagged_logger"
end
社内gemが文化になるまでのアジェンダ
• 共通コードをgemにする
• gemを作る、アップデートすることが日常であることを伝える
• 誰もがgemを作れる、更新できる雰囲気を醸成する
誰もがgemを作れる、更新できる雰囲気
を醸成する
• drecom_gemというgemを作った
• drecom_gem gem [gem_name]で雛型作成
• rake drecom:releaseで社内gemサーバにリリースできる
• drecom_gemdiffというgemを作った
• gemdiffの社内版
• CHANGELOGに対して気軽にアクセスできる
誰もがgemを作れる、更新できる雰囲気
を醸成する
• dcmdというgemを作った
• 社内gemに関するgemをまとめて入れられる
• コマンド体系を変更して覚える量を減らし、タブ補完が効くように
• drecom_gem gem -> dcmd gem generate
• drecomssh update -> dcmd ssh update
• drecom_gemdiff compare -> dcmd gemdiff compare
• awesome_releaseというgemを作った
• コントリビュータに感謝を伝えることができるgem
• octorelease gem(mizzyware)の社内版
• Issue/PRからCHANGELOGを自動生成できる
• Issue/PRに「vX.Y.Zでリリースしたよ、ありがとう!」とコメント
誰もがgemを作れる、更新できる雰囲気
を醸成する
• drecom_gemを使ってgemをリリースするとリリース情報が全体
チャットに流れる
• 初めてのgemリリースのときはみんなで祝福する
• gemを作ってorアップデートして初めて一人前な空気になる
• 共通化チャンスを見つけたら新入社員に優先的に割り振る
誰もがgemを作れる、更新できる雰囲気
を醸成する
• 更新したら使って欲しい
• gemはなるべく最新を使い続けるよう心掛ける
誰もがgemを作れる、更新できる雰囲気
を醸成する
• gemicomという社内サービスがある
• gemnasiumクローン?
• どのプロジェクトが、どのバージョンのgemを使っているかを管理
• 最新バージョンじゃなかったら警告される
社内gemが文化になるまでのアジェンダ
• 共通コードをgemにする
• gemを作る、アップデートすることが日常であることを伝える
• 誰もがgemを作れる、更新できる雰囲気を醸成する
社内gemが文化になるまでのアジェンダ
• 共通コードをgemにする
• gemを作る、アップデートすることが日常であることを伝える
• 誰もがgemを作れる、更新できる雰囲気を醸成する
• これらを練習に適した場所で行いたい
社内のイメージ OSS界のイメージ
クローズドソースから始める理由
• ライブラリとして成立するまでの抽象化の壁
• ライブラリとして体裁が整っているかの心理的な壁
• これらの障壁をできるかぎり下げて、「ライブラリを作るって
難しそう」から「やったことがある」に遷移させる
これを許容する
• 社内のアウトプット量を最大化させるが、世界のアウトプット
量は最大化していない。まずはそれで良いんです
ベルセルク 24巻 三浦建太郎/白泉社
そ
れ
と
も
お
前
何
十
年
も
修
行
し
て
達
人
に
で
も
な
る
の
を
待
っ
て
か
ら
戦
場
に
出
る
つ
も
り
か
?
気
の
長
げ
ェ
話
だ
な
クローズドソースをオープンにする
• とはいえクローズドのままじゃなく、隙あれば公開したい
• 公開するキッカケ
• 辞めた人から「あれ欲しい」って言われる
• 社内gemを社外の自分のプロダクトで使いたい
• 懇親会等で「こんなのあればなぁ」という声を聞く
• Tech Blogのネタが尽きる
• これだけ(173個)あると、「月に1個必ずオープンにする
ぞ!」という上意下達もアリですね
自分の管理対象のコードを広げていく
• 社内gemにPRを投げることに慣れたら、外のgemも社内gemと同
じように扱えるようになる
• Gemfileに加えた瞬間からフィードバックする義務を負う
• 覚悟を持ってOSSと相対していく
外に出ていく障壁もできるだけ下げる
• 社内gemとはいえ、PRのdescriptionはしっかり書く
• 社内gemとはいえ、READMEやCHANGELOG、CIを完備する
• 普段からIssue/PR駆動の開発フローに親しむ
• 普段からGitHubのUIに親しむ
• OSSパッチ会の開催 (Inspired by OSS Gate)
OSSパッチ会 檄文
一般にスタートアップ企業はOSSの利用者であることが多く、積
極的に貢献することは少ないですが、営利団体が「使うだけ使っ
て何の貢献もフィードバックもしないフリーライダー」というの
は倫理観が少し欠如しているとみなされても文句を言えない状態
です。
実際、僕らは問題を見つけてバージョンを固定して凌いだり、モ
ンキーパッチを書いたりをしながらサービスを運営しているので、
フィードバックを「できるのにやらない」という、コミュニティ
に還元しない選択をしてしまっています。
この理由を解消し、ふつうの会社にしたいなと思ってこの会を企
画しました。
まとめ
まとめ
• ライブラリを作ったり貢献したりするまでの障壁は「ある」
• 障壁を下げるために手を尽くす。そのためのクローズドソース
• とはいえ、OSSが実は怖くないのも事実なので積極的に参加し
ていく
• 「この修正でとりあえず動くけど、正しいかどうか分からない
のでupstreamに投げるのが怖い」←正しくなかったら指摘して
くれるからええんやで
• 男は度胸!何でもためしてみるのさ きっといい気持ちだぜ

Weitere ähnliche Inhalte

Was ist angesagt?

僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!Masato Noguchi
 
Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発terahide
 
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Ruby on Rails でつくるアタシ好みの愛され Web サービスRuby on Rails でつくるアタシ好みの愛され Web サービス
Ruby on Rails でつくるアタシ好みの愛され Web サービスYoji Shidara
 
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座DIVE INTO CODE Corp.
 
Rubyの仕事で食べていくために僕らは!
Rubyの仕事で食べていくために僕らは!Rubyの仕事で食べていくために僕らは!
Rubyの仕事で食べていくために僕らは!Ouka Yuka
 
ぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュKenji Mori
 
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例Yasutomo Uemori
 
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! Masato Noguchi
 
師弟登壇・新米サムライの集い 2013
師弟登壇・新米サムライの集い 2013 師弟登壇・新米サムライの集い 2013
師弟登壇・新米サムライの集い 2013 hiboma
 
Railsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてRailsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてHirata Tomoko
 
Railsのフロントエンド開発を考える
Railsのフロントエンド開発を考えるRailsのフロントエンド開発を考える
Railsのフロントエンド開発を考えるHirata Tomoko
 
2016 02-25-crawler-study-01
2016 02-25-crawler-study-012016 02-25-crawler-study-01
2016 02-25-crawler-study-01Hiroshi Oyamada
 
Riot.jsとフォームのデータバインディング
Riot.jsとフォームのデータバインディングRiot.jsとフォームのデータバインディング
Riot.jsとフォームのデータバインディングKeisuke Imai
 
0から学んだポストモダンPerl @ YAPC::Asia Tokyo 2013
0から学んだポストモダンPerl @ YAPC::Asia Tokyo 20130から学んだポストモダンPerl @ YAPC::Asia Tokyo 2013
0から学んだポストモダンPerl @ YAPC::Asia Tokyo 2013Tasuku Suenaga
 
BootstrapとRailsで、 高速にWebサイトを作ってみた
BootstrapとRailsで、 高速にWebサイトを作ってみたBootstrapとRailsで、 高速にWebサイトを作ってみた
BootstrapとRailsで、 高速にWebサイトを作ってみたBeMarble
 

Was ist angesagt? (20)

すこやかRails
すこやかRailsすこやかRails
すこやかRails
 
Application Bootstrap
Application BootstrapApplication Bootstrap
Application Bootstrap
 
僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!
 
Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発
 
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Ruby on Rails でつくるアタシ好みの愛され Web サービスRuby on Rails でつくるアタシ好みの愛され Web サービス
Ruby on Rails でつくるアタシ好みの愛され Web サービス
 
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
 
Rubyの仕事で食べていくために僕らは!
Rubyの仕事で食べていくために僕らは!Rubyの仕事で食べていくために僕らは!
Rubyの仕事で食べていくために僕らは!
 
ぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュ
 
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例
 
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
 
師弟登壇・新米サムライの集い 2013
師弟登壇・新米サムライの集い 2013 師弟登壇・新米サムライの集い 2013
師弟登壇・新米サムライの集い 2013
 
2015 07-04-ruby rails
2015 07-04-ruby rails2015 07-04-ruby rails
2015 07-04-ruby rails
 
2015 12-19-ruby rails
2015 12-19-ruby rails2015 12-19-ruby rails
2015 12-19-ruby rails
 
Railsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてRailsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えて
 
2016 02-09-co-edo lt
2016 02-09-co-edo lt2016 02-09-co-edo lt
2016 02-09-co-edo lt
 
Railsのフロントエンド開発を考える
Railsのフロントエンド開発を考えるRailsのフロントエンド開発を考える
Railsのフロントエンド開発を考える
 
2016 02-25-crawler-study-01
2016 02-25-crawler-study-012016 02-25-crawler-study-01
2016 02-25-crawler-study-01
 
Riot.jsとフォームのデータバインディング
Riot.jsとフォームのデータバインディングRiot.jsとフォームのデータバインディング
Riot.jsとフォームのデータバインディング
 
0から学んだポストモダンPerl @ YAPC::Asia Tokyo 2013
0から学んだポストモダンPerl @ YAPC::Asia Tokyo 20130から学んだポストモダンPerl @ YAPC::Asia Tokyo 2013
0から学んだポストモダンPerl @ YAPC::Asia Tokyo 2013
 
BootstrapとRailsで、 高速にWebサイトを作ってみた
BootstrapとRailsで、 高速にWebサイトを作ってみたBootstrapとRailsで、 高速にWebサイトを作ってみた
BootstrapとRailsで、 高速にWebサイトを作ってみた
 

Ähnlich wie クローズドソースから始めるオープンソース

What's Cooking In Ruby 2.7
What's Cooking In Ruby 2.7What's Cooking In Ruby 2.7
What's Cooking In Ruby 2.7Akinori Musha
 
MF GeeksNight pplogの話
MF GeeksNight pplogの話MF GeeksNight pplogの話
MF GeeksNight pplogの話Naoto Koshikawa
 
Rubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawlerRubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawlerTakuro Sasaki
 
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
第六回 #渋谷java Javaを書き始めて 1年半が経って思うことKazuhiro Serizawa
 
PHPでWebSocketを実装してみてわかったこと
PHPでWebSocketを実装してみてわかったことPHPでWebSocketを実装してみてわかったこと
PHPでWebSocketを実装してみてわかったことksimoji
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎schoowebcampus
 
イベント企画運営の経験と実際 / The history of organizing events by me
イベント企画運営の経験と実際 / The history of organizing events by meイベント企画運営の経験と実際 / The history of organizing events by me
イベント企画運営の経験と実際 / The history of organizing events by mewhywaita
 
mod_perlで動くアプリをどう置くか #hachiojipm
mod_perlで動くアプリをどう置くか #hachiojipmmod_perlで動くアプリをどう置くか #hachiojipm
mod_perlで動くアプリをどう置くか #hachiojipm鉄次 尾形
 
Ltfes2010 opening
Ltfes2010 openingLtfes2010 opening
Ltfes2010 openingTaku Yajima
 
コミュニティのある風景
コミュニティのある風景コミュニティのある風景
コミュニティのある風景Ryunosuke SATO
 
アジャイルサムライ他流試合 - 道場紹介
アジャイルサムライ他流試合 - 道場紹介アジャイルサムライ他流試合 - 道場紹介
アジャイルサムライ他流試合 - 道場紹介Kiichi Kajiura
 
C#とRubyをつなぐ
C#とRubyをつなぐC#とRubyをつなぐ
C#とRubyをつなぐ107steps
 
Rでを作る
Rでを作るRでを作る
Rでを作るNagi Teramo
 
Ojag naha vol13
Ojag naha vol13Ojag naha vol13
Ojag naha vol13Seiei Higa
 
Ojag naha vol13
Ojag naha vol13Ojag naha vol13
Ojag naha vol13hanachin
 
goog.require()を手書きしていいのは小学生まで
goog.require()を手書きしていいのは小学生までgoog.require()を手書きしていいのは小学生まで
goog.require()を手書きしていいのは小学生までTeppei Sato
 
Browser oh browser browser
Browser oh browser browserBrowser oh browser browser
Browser oh browser browserTeppei Sato
 
Emscriptenと不思議のダンジョン
Emscriptenと不思議のダンジョンEmscriptenと不思議のダンジョン
Emscriptenと不思議のダンジョン兎 伊藤
 

Ähnlich wie クローズドソースから始めるオープンソース (20)

What's Cooking In Ruby 2.7
What's Cooking In Ruby 2.7What's Cooking In Ruby 2.7
What's Cooking In Ruby 2.7
 
MF GeeksNight pplogの話
MF GeeksNight pplogの話MF GeeksNight pplogの話
MF GeeksNight pplogの話
 
Rubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawlerRubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawler
 
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
 
PHPでWebSocketを実装してみてわかったこと
PHPでWebSocketを実装してみてわかったことPHPでWebSocketを実装してみてわかったこと
PHPでWebSocketを実装してみてわかったこと
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎
 
イベント企画運営の経験と実際 / The history of organizing events by me
イベント企画運営の経験と実際 / The history of organizing events by meイベント企画運営の経験と実際 / The history of organizing events by me
イベント企画運営の経験と実際 / The history of organizing events by me
 
mod_perlで動くアプリをどう置くか #hachiojipm
mod_perlで動くアプリをどう置くか #hachiojipmmod_perlで動くアプリをどう置くか #hachiojipm
mod_perlで動くアプリをどう置くか #hachiojipm
 
Ltfes2010 opening
Ltfes2010 openingLtfes2010 opening
Ltfes2010 opening
 
aozorahack hackathon #1
aozorahack hackathon #1aozorahack hackathon #1
aozorahack hackathon #1
 
DevOps Conference #1
DevOps Conference #1DevOps Conference #1
DevOps Conference #1
 
コミュニティのある風景
コミュニティのある風景コミュニティのある風景
コミュニティのある風景
 
アジャイルサムライ他流試合 - 道場紹介
アジャイルサムライ他流試合 - 道場紹介アジャイルサムライ他流試合 - 道場紹介
アジャイルサムライ他流試合 - 道場紹介
 
C#とRubyをつなぐ
C#とRubyをつなぐC#とRubyをつなぐ
C#とRubyをつなぐ
 
Rでを作る
Rでを作るRでを作る
Rでを作る
 
Ojag naha vol13
Ojag naha vol13Ojag naha vol13
Ojag naha vol13
 
Ojag naha vol13
Ojag naha vol13Ojag naha vol13
Ojag naha vol13
 
goog.require()を手書きしていいのは小学生まで
goog.require()を手書きしていいのは小学生までgoog.require()を手書きしていいのは小学生まで
goog.require()を手書きしていいのは小学生まで
 
Browser oh browser browser
Browser oh browser browserBrowser oh browser browser
Browser oh browser browser
 
Emscriptenと不思議のダンジョン
Emscriptenと不思議のダンジョンEmscriptenと不思議のダンジョン
Emscriptenと不思議のダンジョン
 

Mehr von Takafumi ONAKA

不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持Takafumi ONAKA
 
技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方Takafumi ONAKA
 
グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発Takafumi ONAKA
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
pt-query-digest は Perl!!
pt-query-digest は Perl!!pt-query-digest は Perl!!
pt-query-digest は Perl!!Takafumi ONAKA
 
アプリケーションを作るときに考える25のこと
アプリケーションを作るときに考える25のことアプリケーションを作るときに考える25のこと
アプリケーションを作るときに考える25のことTakafumi ONAKA
 
cpanfileがRubyでパースできることに気づいた俺たちは
cpanfileがRubyでパースできることに気づいた俺たちはcpanfileがRubyでパースできることに気づいた俺たちは
cpanfileがRubyでパースできることに気づいた俺たちはTakafumi ONAKA
 
Perl使いの国のRubyist
Perl使いの国のRubyistPerl使いの国のRubyist
Perl使いの国のRubyistTakafumi ONAKA
 
短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術Takafumi ONAKA
 
ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料Takafumi ONAKA
 
マジカルsvnとキュアgit
マジカルsvnとキュアgitマジカルsvnとキュアgit
マジカルsvnとキュアgitTakafumi ONAKA
 
Github Enterprise じゃなくてもいいじゃん
Github Enterprise じゃなくてもいいじゃんGithub Enterprise じゃなくてもいいじゃん
Github Enterprise じゃなくてもいいじゃんTakafumi ONAKA
 
ターミナルで画像確認するヤツ作った
ターミナルで画像確認するヤツ作ったターミナルで画像確認するヤツ作った
ターミナルで画像確認するヤツ作ったTakafumi ONAKA
 
Webアプリケーションは難しい
Webアプリケーションは難しいWebアプリケーションは難しい
Webアプリケーションは難しいTakafumi ONAKA
 
Rails3.2ってどう変わるの?
Rails3.2ってどう変わるの?Rails3.2ってどう変わるの?
Rails3.2ってどう変わるの?Takafumi ONAKA
 
ドリコム的Railsアプリ開発流儀
ドリコム的Railsアプリ開発流儀ドリコム的Railsアプリ開発流儀
ドリコム的Railsアプリ開発流儀Takafumi ONAKA
 
とあるアプリの開発運用(トラブルシュート)
とあるアプリの開発運用(トラブルシュート)とあるアプリの開発運用(トラブルシュート)
とあるアプリの開発運用(トラブルシュート)Takafumi ONAKA
 

Mehr von Takafumi ONAKA (17)

不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持
 
技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方
 
グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
pt-query-digest は Perl!!
pt-query-digest は Perl!!pt-query-digest は Perl!!
pt-query-digest は Perl!!
 
アプリケーションを作るときに考える25のこと
アプリケーションを作るときに考える25のことアプリケーションを作るときに考える25のこと
アプリケーションを作るときに考える25のこと
 
cpanfileがRubyでパースできることに気づいた俺たちは
cpanfileがRubyでパースできることに気づいた俺たちはcpanfileがRubyでパースできることに気づいた俺たちは
cpanfileがRubyでパースできることに気づいた俺たちは
 
Perl使いの国のRubyist
Perl使いの国のRubyistPerl使いの国のRubyist
Perl使いの国のRubyist
 
短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術
 
ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料
 
マジカルsvnとキュアgit
マジカルsvnとキュアgitマジカルsvnとキュアgit
マジカルsvnとキュアgit
 
Github Enterprise じゃなくてもいいじゃん
Github Enterprise じゃなくてもいいじゃんGithub Enterprise じゃなくてもいいじゃん
Github Enterprise じゃなくてもいいじゃん
 
ターミナルで画像確認するヤツ作った
ターミナルで画像確認するヤツ作ったターミナルで画像確認するヤツ作った
ターミナルで画像確認するヤツ作った
 
Webアプリケーションは難しい
Webアプリケーションは難しいWebアプリケーションは難しい
Webアプリケーションは難しい
 
Rails3.2ってどう変わるの?
Rails3.2ってどう変わるの?Rails3.2ってどう変わるの?
Rails3.2ってどう変わるの?
 
ドリコム的Railsアプリ開発流儀
ドリコム的Railsアプリ開発流儀ドリコム的Railsアプリ開発流儀
ドリコム的Railsアプリ開発流儀
 
とあるアプリの開発運用(トラブルシュート)
とあるアプリの開発運用(トラブルシュート)とあるアプリの開発運用(トラブルシュート)
とあるアプリの開発運用(トラブルシュート)
 

Kürzlich hochgeladen

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Kürzlich hochgeladen (11)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

クローズドソースから始めるオープンソース