SlideShare a Scribd company logo
2013/09/21 YAPC ASIA TOKYO
株式会社はてな
大西康裕 id:onishi
はてなブログの
開発フロー
  id:onishi 大西康裕
  ONISHI
  @yasuhiro_onishi
  株式会社はてな
  はてなブログ
Devel::KTYProf
Text::Hatena
Web::Embed
Redmine::Chan
はてなブログ
hatenablog.com
はてなブログ
•2011年8月開発開始
•Perl 5.14.2
•Plack/PSGI (Starlet)
•Carton
•Router::Simple + Config::ENV
•DBI wrapper / SQL::Maker
•capistrano
2013-09-18 ブログ グループで、はてなスペースと連携して掲示板を設置できるようにしました / ブログのコメント
を、はてなIDを指定して拒否できるようにしました / 2013-09-10 スマートフォン iPadでも書きやすく、読みやす
い! iOSアプリをユニバーサルアプリ化しました / 2013-09-06 Flickrからの画像の検索と貼り付けに対応しまし
た / 2013-09-05 ソースコードを簡単に共有しよう! Gistからの貼り付けに対応しました / 2013-09-04 イラ
スト・マンガ作品をブログに投稿しよう! pixivからの貼り付けに対応しました / はてなブログAtomPub APIを公
開しました。サードパーティのブログ投稿ツールを利用・作成できます / 2013-09-02 記事を書きながら表示を確
認! 編集画面にリアルタイムプレビュー機能を追加しました / 2013-08-28 ブログ グループに参加する際に、記事
のカテゴリーを指定できるようにしました / 2013-08-21 ヘッダメニューをリニューアル! ブログを書くときも読む
ときにも便利になりました / 2013-08-08 お絵描き機能をパワーアップ! 「透明ペン」「塗りつぶし」「スポイ
ト」を追加しました / 2013-07-25 動画の貼り付けを強化! ニコニコ動画とInstagram動画に対応しました /
2013-07-17 コメント欄などでニックネームを表示、リンクボタンでタイトルを自動取得、などの機能追加を行いま
した / 2013-07-12 ブログで簡単な絵を書こう! 編集サイドバーに「お絵描き機能」を追加しました / 2013-06
-20 編集画面に「引用」ボタンを追加、著名人ブログページを公開、ほか / 2013-06-13 ブログで仲間を見つけよ
う! はてなブログ グループを公開しました / 2013-06-06 Tumblrで共有しやすくなったほか、多くの機能追加・
修正を行いました / 2013-05-22 MT形式のブログインポートに対応! はてな外のサービスから移行しやすくなりま
した / 2013-05-01 「LINEで送る」ほか、いくつかの機能追加・修正を行いました / 2013-04-10 デザインテ
ーマ テーマ ストアをさらに強化したほか、下書き一覧などを追加しました / 2013-04-02 お待たせしました。はて
なブログとはてなダイアリーの全ドメインでTwitter Cardsに対応しました / 2013-03-27 長いブログもスッキリ
と表示。記事を分割する「続きを読む」記法をリリースしました / 2013-03-25 はてなブログがTwitter Cardsに
対応しました。ツイートで記事の概要が表示されます[追記あり][再追記あり / 2013-03-21 美味しい情報をブロ
グに! 編集サイドバーからレストランを紹介できるようにしました / 2013-03-15 デザインテーマ テーマ ストアを
強化! そのほか多数の機能追加・修正を行いました / 2013-03-06 スマートフォン スマホの編集ツールバーがパワ
ーアップ! 貼り付け機能で、はてなTシャツをもらおう!! / 2013-02-28 記事ごとのブックマーク数やいいね!
を、トップページでも確認できるようにしました / 2013-02-27 デザインテーマ ブログはもっと可愛くなくちゃ!
公式デザインテーマに「B!KUMA」を追加しました / 2013-02-21 トピック いま盛り上がってるあの話題に参加し
よう! 「トピック」ページをリリースしました / 2013-02-20 デザインテーマ オリジナルのテーマを共有しよう!
84週連続
新機能
リリース
1,952 pull requests
12,386 commits
per year
on
本日のアジェンダ
•GHEを中心にした開発フロー
•自動化・効率化・安定化のため
の取組み
•( 開発フロー以外のTIPSも少し )
本日のまとめ
•自動化できるものは自動化する
•ミスの再発防止を仕組み化する
よい開発プロセス
•プロセスのフレームワーク化
•安心感、マネジメント性
•標準化 > 誰がやっても大丈夫
•チームやサービスにあったもの
よい開発プロセス
•タスク管理、ワークフロー
•テスト、CI
•リリース管理
タスク管理、
ワークフロー
2012年YAPC
2012年YAPC
2012年YAPC
2012年YAPC
•ソーシャルコーディング
•Issue / Pull Request
•Private Repository
•情報共有・レビューツール
•優先度が無い
•期日がない
•複数人アサインできない
•ガントチャートなにそれ
GitHub Issue
GitHub の Issue は
タスク管理ツールではない
おすすめ
•GitHub はレビューツール
•タスク管理ツールと併用しよう
•trello.com とか
はてなブログチーム
•ツールを幾つも使いたくない
•無理やりGitHubだけでやる
開発の流れ
•中期計画(半年)
•短期計画(1月)
•アサイン
•開発
•リリース
branch 戦略
•master
•本番と同一、常に健全
•staging/master
•リリース可能なものが全て
mergeされている
•topic branch
•機能ごとの開発ブランチ
branch 戦略
master
staging/master
topic branch 1
topic branch 2
release!!
Issue 活用
•Issue
•Product Backlog
•誰でも登録していい
•Assigned Issue
•Sprint Backlog
•アサイン権限 = ディレクター
•優先度はラベルで簡易管理
Issue / PR
•着手したらすぐ Pull Request
•進行はラベルで管理
•レビューが済んだら staging/
master に merge
すぐ Pull Request
•仕様検討も Pull Request 上で
•仕様のレビューも
•デザイナーもPull Request
•なんでも Issue 上で会話
1 Issue登録
2 アサイン / PR
3 レビュー依頼
4 レビュー中
5 リリース待ち
6 stating/master
7 master (リリース)
ラベルで
管理
アサイン
•同系統の仕事を同じエンジニア
にアサインしつづける > 属人化
•意識して担当を変える
アサインおみくじ
•http://
hitode909.appspot.com/
assign_omikuji/
pull-req-label
•Pull Request はラベルを気軽
に変えられない
•API では変えられる
•Chrome拡張を利用
https://github.com
/shimobayashi
/pull-req-label
昼過ぎレビュータイム
•毎日ランチ後 14:00∼
•「レビュー待ち」フラグの
Issue を片っ端から処理する
新規Issue登録
javascript:
location.href =
'http://GHE/USER/REPOS/issues/new?
title='
+ document.getSelection().toString()
|| document.title
+ '&body=' + location.href
新規Issue登録
新規Issue登録
title
body
assignee milestone
labels
milestone
•milestone は期日を設定できる
milestone
•issue を milestone に紐付ける
線表
スケジュール管理
•ディレクターが線表管理
•進捗確認、スケジュール引き直し
(weekly)
•エンジニアが使うツールはghe
だけ
Issue まとめ
•Issue では優先度と期日が決め
られない
•優先度はアサインの有無とラベ
ルで
•期日は milestone か別で管理
テスト、CI
テストの基本
•頻繁に実行する(自動化する)
•不具合があったら回帰テスト
•網羅的なテストがあれば安心して
リファクタリングできる
テスト
•開発者の手元のテスト
•ファイル変更を自動検知
•jenkins による CI
•どのブランチでも、push した
ら自動テスト
•staging/master への push
はさらに特別扱い(後述)
jenkins
•メイン
•全ブランチがpush毎にテス
トされる
•リリース
•staging/master, master
•カバレッジ
•カバレッジ専用1日1回走る
テストモジュール
•Harriet
•Test::mysqld
•prove 毎に mysqld を立てる
•DBIx::RewriteDSN
CasperJS
•JSで作られたPhantomJSのユ
ーティリティ
•http://casperjs.org/
•テストはCoffeeScriptで記述
•ふるまいのテストを書く
テンプレートのテスト
•Xslate の テンプレートのテスト
•テンプレートがコンパイル可能か
•日本語含まれてないか(国際化)
コードカバレッジ
metrics テスト
•コードの複雑さをテスト
•リファクタリング対象選定
•https://metacpan.org/
module/Perl::Metrics::Lite
循環的複雑度
メソッドの長さ
テストのまとめ
•少しずつでもできるテストを増や
していく
•不具合があったら回帰テストを
つくる、など同じミスを繰り返
さない
リリース管理
リリース管理
•なるべくはやくステージング環境に
•開発 > テスト > デプロイ
•はやいフィードバック
•大きな手戻りを無くす
計画リリース
•開発計画でリリース日を定めてい
るもの
定期リリース
•週次リリース(毎週水曜)
•定期リリースに間に合わせよう
という意識が働く
•区切りがついて開発のリズムが
うまれる
継続リリース
•staging/master への merge
がIRCに通知される
•ある程度増えたらリリース
•結局、毎日リリース
※ただし、休日前日はリリース禁止
18:25 ikachan01: 【リリース】Hatena::Epic::Admin::Entryリファクタリング (4件)
https://...
describe-pull-request.rb
•staging/masterのテストが通
ったら自動実行される
•リリース用の pull request
•gfmのチェックリスト機能
•- [ ] チェックリスト OFF
•- [x] チェックリスト ON
18:25 hitode909: https://... 著名枠にエンジニアを追加
これリリースしていいですか > onishi
18:26 onishi リリースおねがいします > hitode909
18:30 hitode909: https://... 著名枠にエンジニアを追加
リリースしました > #diary
18:31 hitode909: https://... 著名枠にエンジニアを追加
本番確認お願いします > hitode909
18:25 hitode909: https://... 著名枠にエンジニアを追加
これリリースしていいですか > onishi
18:26 onishi リリースおねがいします > hitode909
18:30 hitode909: https://... 著名枠にエンジニアを追加
リリースしました > #diary
18:31 hitode909: https://... 著名枠にエンジニアを追加
本番確認お願いします > hitode909
コピペ
コピペ
コピペ
describe-pull-request.rb
近日公開予定
ローカル開発
•setup スクリプト
•mysqldiff
•https://github.com/
onishi/mysqldiff
•plenv, rbenv
•Carton, Bundler
devhost
•トピックブランチを簡単にサー
バー上で実行する仕組み
•cap devhost:setup
•ブランチ名から自動でドメイン
が決定し、検証環境が出来る
devhost routing
•reverse proxy (nginx) の設
定に一々 push したくない
•nginx + lua で動的ルーティン
グ
•ngx_lua モジュール
location / {
proxy_set_header Host $http_host;
set $upstream_socket "";
rewrite_by_lua '
local m = ngx.re.match(
ngx.var.host, "^([^.]+[.]dev)[.]"
)
if m then
ngx.var.upstream_socket
= "/tmp/"..m[1]..".sock"
else
ngx.exit(ngx.HTTP_NOT_FOUND)
end
';
proxy_pass http://unix:$upstream_socket;
}
その他のとりくみ
ABテスト
•検証可能なものをリリースする
•迷ったら出して確認したらよい
•→ リリースサイクルが速くなる
ABテスト
•chanko的なもの
•特定の条件で機能を出し分ける
•スタッフは任意で条件をいじれ
る
計測・統計
•サービスにおけるKPI
•クリック数計測
•JSも含めたページの表示速度
•UA毎のJSエラー数
•エンジニア毎の issue 数
ページ表示速度
issue数
IRC利用
•#diary チーム全員に通知
•フィードバック
•エゴサーチ
•staging/master 状況
•jenkins のテスト実行結果
•本番のエラー
教育
•研修
•https://github.com/
hatena/Hatena-Textbook
•コーディング規約
•ペアプロ義務化
ペアプログラミング
•毎週1ペア実施するのをルール化
•一人でやるのが辛いタスクをや
るきっかけに
•便利関数やエディタ設定などの
暗黙知が共有される
リファクタリング
•metrics を参考にリファクタリ
ング対象を選定
•週○時間とか時間を決める
•小さい単位で Pull Request
まとめ
•人はミスをするので仕組み化・
ツール利用を心がける
•開発フローの改善にコストをか
ける
•結局トータルのパフォーマン
ス、サービス品質は向上する
人材募集
•安心して開発できる環境で一緒に  
ブログを作りましょう!
www.hatena.ne.jp/company/staff
Hatena blogdevelopmentflow
Hatena blogdevelopmentflow

More Related Content

What's hot

React+fluxを導入した話
React+fluxを導入した話React+fluxを導入した話
React+fluxを導入した話
Yuki Ishikawa
 
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソースクローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
Takafumi ONAKA
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
Takafumi ONAKA
 
開発環境をDockernizeした話
開発環境をDockernizeした話開発環境をDockernizeした話
開発環境をDockernizeした話
Yutaka Horikawa
 
Application Bootstrap
Application BootstrapApplication Bootstrap
Application Bootstrap
Takafumi ONAKA
 
.NETラボ2021年10月 .NETの過去と現在
.NETラボ2021年10月 .NETの過去と現在.NETラボ2021年10月 .NETの過去と現在
.NETラボ2021年10月 .NETの過去と現在
TomomitsuKusaba
 
とある Perl Monger の働き方
とある Perl Monger の働き方とある Perl Monger の働き方
とある Perl Monger の働き方
Yusuke Wada
 
SaCSS vol.56 こんなに素敵なBrackets!
SaCSS vol.56 こんなに素敵なBrackets!SaCSS vol.56 こんなに素敵なBrackets!
SaCSS vol.56 こんなに素敵なBrackets!
Atsushi Handa
 
HTML5 アプリ開発
HTML5 アプリ開発HTML5 アプリ開発
HTML5 アプリ開発
tomo_masakura
 
AWS SDK for Go in #jawsmeguro
AWS SDK for Go in #jawsmeguroAWS SDK for Go in #jawsmeguro
AWS SDK for Go in #jawsmeguro
Kenta Suzuki
 
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
Takahiro Okumura
 
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例
Yasutomo Uemori
 
2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPress2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPress
Yutaro Miyazaki
 
100% GPL
100% GPL100% GPL
100% GPL
Yuriko IKEDA
 
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
Shogo Iwano
 
Dockerぐらし!
Dockerぐらし!Dockerぐらし!
Dockerぐらし!
Takumi Murano
 
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App InventorHands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hong Chen
 
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeomantomo_masakura
 
2016 02-09-co-edo lt
2016 02-09-co-edo lt2016 02-09-co-edo lt
2016 02-09-co-edo lt
Hiroshi Oyamada
 

What's hot (19)

React+fluxを導入した話
React+fluxを導入した話React+fluxを導入した話
React+fluxを導入した話
 
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソースクローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
 
開発環境をDockernizeした話
開発環境をDockernizeした話開発環境をDockernizeした話
開発環境をDockernizeした話
 
Application Bootstrap
Application BootstrapApplication Bootstrap
Application Bootstrap
 
.NETラボ2021年10月 .NETの過去と現在
.NETラボ2021年10月 .NETの過去と現在.NETラボ2021年10月 .NETの過去と現在
.NETラボ2021年10月 .NETの過去と現在
 
とある Perl Monger の働き方
とある Perl Monger の働き方とある Perl Monger の働き方
とある Perl Monger の働き方
 
SaCSS vol.56 こんなに素敵なBrackets!
SaCSS vol.56 こんなに素敵なBrackets!SaCSS vol.56 こんなに素敵なBrackets!
SaCSS vol.56 こんなに素敵なBrackets!
 
HTML5 アプリ開発
HTML5 アプリ開発HTML5 アプリ開発
HTML5 アプリ開発
 
AWS SDK for Go in #jawsmeguro
AWS SDK for Go in #jawsmeguroAWS SDK for Go in #jawsmeguro
AWS SDK for Go in #jawsmeguro
 
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
 
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例
 
2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPress2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPress
 
100% GPL
100% GPL100% GPL
100% GPL
 
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
 
Dockerぐらし!
Dockerぐらし!Dockerぐらし!
Dockerぐらし!
 
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App InventorHands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
 
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
 
2016 02-09-co-edo lt
2016 02-09-co-edo lt2016 02-09-co-edo lt
2016 02-09-co-edo lt
 

Similar to Hatena blogdevelopmentflow

RESTful API (JAX-RS) 書くだけで仕様書も 自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open APIRESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も 自動で作られていく話 with MicroProfile Open API
Kohei Saito
 
Introduction to Favmemo for Immature Engineers
Introduction to Favmemo for Immature EngineersIntroduction to Favmemo for Immature Engineers
Introduction to Favmemo for Immature EngineersTakeshi Arabiki
 
サイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOpsサイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOps
Shuhei Eda
 
HerokuでRails3.2 we love herokuの事例
HerokuでRails3.2 we love herokuの事例HerokuでRails3.2 we love herokuの事例
HerokuでRails3.2 we love herokuの事例
Naoto Koshikawa
 
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutoFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer Workout
Tsuubito Ishii
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾
Ryutaro YOSHIBA
 
高速!Clojure Web 開発入門
高速!Clojure Web 開発入門高速!Clojure Web 開発入門
高速!Clojure Web 開発入門
Kazuki Tsutsumi
 
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門
Yusuke Wada
 
第2回 -Play部屋- Play 2.0はじめて&もくもく会
第2回 -Play部屋- Play 2.0はじめて&もくもく会第2回 -Play部屋- Play 2.0はじめて&もくもく会
第2回 -Play部屋- Play 2.0はじめて&もくもく会
Kazuhiro Hara
 
JavaScript on GitHub (#kyotojs)
JavaScript on GitHub  (#kyotojs)JavaScript on GitHub  (#kyotojs)
JavaScript on GitHub (#kyotojs)y_uuki
 
Devとopsをつなぐchat ops
Devとopsをつなぐchat opsDevとopsをつなぐchat ops
Devとopsをつなぐchat ops
ikikko
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
Masaki Muranaka
 
Rubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawlerRubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawlerTakuro Sasaki
 
MF GeeksNight pplogの話
MF GeeksNight pplogの話MF GeeksNight pplogの話
MF GeeksNight pplogの話
Naoto Koshikawa
 
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
Koichi ITO
 
続・Twitter bootstrap入門 #html5j
続・Twitter bootstrap入門 #html5j続・Twitter bootstrap入門 #html5j
続・Twitter bootstrap入門 #html5jToshiaki Maki
 
Redmine Ansible
Redmine AnsibleRedmine Ansible
Redmine Ansible
ITO Yoshiichi
 
最近作ったもの
最近作ったもの最近作ったもの
最近作ったもの
onozaty
 
PythonのGUI_2018 with NSEG
PythonのGUI_2018 with NSEGPythonのGUI_2018 with NSEG
PythonのGUI_2018 with NSEG
Jun Okazaki
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
Etsuji Nakai
 

Similar to Hatena blogdevelopmentflow (20)

RESTful API (JAX-RS) 書くだけで仕様書も 自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open APIRESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も 自動で作られていく話 with MicroProfile Open API
 
Introduction to Favmemo for Immature Engineers
Introduction to Favmemo for Immature EngineersIntroduction to Favmemo for Immature Engineers
Introduction to Favmemo for Immature Engineers
 
サイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOpsサイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOps
 
HerokuでRails3.2 we love herokuの事例
HerokuでRails3.2 we love herokuの事例HerokuでRails3.2 we love herokuの事例
HerokuでRails3.2 we love herokuの事例
 
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutoFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer Workout
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾
 
高速!Clojure Web 開発入門
高速!Clojure Web 開発入門高速!Clojure Web 開発入門
高速!Clojure Web 開発入門
 
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門
 
第2回 -Play部屋- Play 2.0はじめて&もくもく会
第2回 -Play部屋- Play 2.0はじめて&もくもく会第2回 -Play部屋- Play 2.0はじめて&もくもく会
第2回 -Play部屋- Play 2.0はじめて&もくもく会
 
JavaScript on GitHub (#kyotojs)
JavaScript on GitHub  (#kyotojs)JavaScript on GitHub  (#kyotojs)
JavaScript on GitHub (#kyotojs)
 
Devとopsをつなぐchat ops
Devとopsをつなぐchat opsDevとopsをつなぐchat ops
Devとopsをつなぐchat ops
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 
Rubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawlerRubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawler
 
MF GeeksNight pplogの話
MF GeeksNight pplogの話MF GeeksNight pplogの話
MF GeeksNight pplogの話
 
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
 
続・Twitter bootstrap入門 #html5j
続・Twitter bootstrap入門 #html5j続・Twitter bootstrap入門 #html5j
続・Twitter bootstrap入門 #html5j
 
Redmine Ansible
Redmine AnsibleRedmine Ansible
Redmine Ansible
 
最近作ったもの
最近作ったもの最近作ったもの
最近作ったもの
 
PythonのGUI_2018 with NSEG
PythonのGUI_2018 with NSEGPythonのGUI_2018 with NSEG
PythonのGUI_2018 with NSEG
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 

More from Yasuhiro Onishi

Redmine::ChanでIRCからプロジェクト管理
Redmine::ChanでIRCからプロジェクト管理Redmine::ChanでIRCからプロジェクト管理
Redmine::ChanでIRCからプロジェクト管理Yasuhiro Onishi
 
新はてなダイアリーの裏側
新はてなダイアリーの裏側新はてなダイアリーの裏側
新はてなダイアリーの裏側Yasuhiro Onishi
 
ウェブアプリケーションのパフォーマンスチューニング
ウェブアプリケーションのパフォーマンスチューニングウェブアプリケーションのパフォーマンスチューニング
ウェブアプリケーションのパフォーマンスチューニング
Yasuhiro Onishi
 

More from Yasuhiro Onishi (6)

開発合宿!!!!
開発合宿!!!!開発合宿!!!!
開発合宿!!!!
 
wget.pl
wget.plwget.pl
wget.pl
 
Redmine::ChanでIRCからプロジェクト管理
Redmine::ChanでIRCからプロジェクト管理Redmine::ChanでIRCからプロジェクト管理
Redmine::ChanでIRCからプロジェクト管理
 
The new Text::Hatena
The new Text::HatenaThe new Text::Hatena
The new Text::Hatena
 
新はてなダイアリーの裏側
新はてなダイアリーの裏側新はてなダイアリーの裏側
新はてなダイアリーの裏側
 
ウェブアプリケーションのパフォーマンスチューニング
ウェブアプリケーションのパフォーマンスチューニングウェブアプリケーションのパフォーマンスチューニング
ウェブアプリケーションのパフォーマンスチューニング
 

Recently uploaded

FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 

Recently uploaded (15)

FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 

Hatena blogdevelopmentflow