4. Heroku’s HTTP API Design Guide HerokuのAPIデザインから得た知見をまとめた API設計のガイドライン devcenter.heroku.com/categories/platform-api github.com/interagent/http-api-design Heroku Platform API
はじめに 前回は、FacebookにAPIを通して投稿する方法を紹介しました。FacebookのAPIの呼び出し方や権限についてを理解できたと思います。今回は、Herokuを利用する上でよく利用される便利な機能を紹介します。今回紹介する機能は、すべて無料で提供されています。 ステージング環境 一般的にサービスを運営するときは、本番環境と同時にステージング環境を用意するのではないでしょうか? Herokuでは、基本機能を無料で利用できることもありステージング環境を低コストで用意できます。 ステージング環境を用意するには、以下の作業が必要です。 Herokuにアプリケーションを追加する $ heroku create manga-dojo-staging Herokuのアプリケーションのレポジトリをローカルのレポジトリにリモートとして追加する$ git remote add staging g
Twitterのフォロワーさんが「こんなサービスあったらいいな」と呟いておりまして。 いっちょ俺が作るか!という事で、作業記録を残してみようかと思います。 最近MacをOS再インストールし、ほぼまっさら、xcode(使わないけどgit有効化に必要)とemacsだけが入ってるような状態からのスタートです。 Webサービスってどうやって作っていくんだろと思われてる方の参考になれば幸いです。なお、いつもの通りDjango&Heroku構成です。 ※これ見て何かを作れるという訳ではなく、こんな流れで作ってるよという説明ですので、詳細は結構省き気味です。 ※作るときのポイントを先に言ってしまいますが、いきなり完成系を目指すんじゃなくて、ちょっと作って動かしてを繰り返すのがポイントになってくるんじゃないかなと思ってます。僕はSI屋なんですが、新人君とかでもいきなり全部コーディングして、いざ動かすと動か
はじめに 前回までで、Node.jsによる簡単なWebアプリケーションが一通り完成しました。今回はこの構築したアプリケーションを、クラウドベースのアプリケーションホスティングサービスであるHeroku上で、動かしてみたいと思います。HerokuはNode.js以外にもJava, Ruby, Pythonなどのアプリケーションをデプロイすることができます。 Herokuのセットアップ まず、Herokuのサイトから、「Sign up」ボタンよりアカウントを登録してください。 図1 Herokuのサイト さらに、heroku toolbeltというHeroku用コマンドラインツールや開発およびデプロイに使うアプリケーション一式が提供されています。こちらを各々の環境に合わせてインストールします。 インストールが終わったら、コマンドラインからherokuに対する認証処理を行っておきましょう。 $
#概要 Slack / Hubot / GitHub / CircleCI などをつかってChatOpsにチーム開発できるフローをつくったので、ChatOpsによるデプロイ方法を中心にその方法をまとめてみます。 ChatOpsの主役であるチャットアプリには今回Slackを使いました。 HipChatでも同じように出来ますが、Slackの方がUIが優れていており、外部サービスとの連携も洗練されていたのでこちらを選択しました。 #ChatOpsな環境の概要 SlackとHubot(PaaSであるheroku上にデプロイ)を連携させる SlackからHubot経由でGitHubにプルリクエストをつくる GitHub上の変更を監視し、CircleCIでテストを実施 デプロイ用のブランチに変更があった場合(GitHubのWEBコンソールでデプロイ用ブランチへのプルリクエストをマージした場合)、Cir
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
6月末頃、Rails/Rubyのバージョンアップ作業を開始したときに、Railsアプリケーションを長い間運用しているサービスってなかなか聞かないよな〜と思って、Facebookで下記のような投稿をしてみました。 すると、「AWSを活用してる現場リーダーやCIOをお招きしたトークイベント」でパネルディスカッションをさせていただきました のイベントでお世話になった小山田さんがすぐさまトークイベントを持ちかけてくださり、今回、 約10年最新版のRailsに追従してきた運用ノウハウをビール片手に聞きましょう! - Web系な人のキャリアカフェ | Doorkeeper というイベントでお話させて頂くこととなりました。 当日は、社内SNS『SKIP』のサービス開発/運用でやっている取り組みを例に、Rails,RubyなどのバージョンアップからOSのアップデートを実施する際の取り組みについてご紹介させ
はじめに 現代では、ソフトウェアは一般にサービスとして提供され、Webアプリケーション や Software as a Service と呼ばれる。Twelve-Factor Appは、次のようなSoftware as a Serviceを作り上げるための方法論である。 セットアップ自動化のために 宣言的な フォーマットを使い、プロジェクトに新しく加わった開発者が要する時間とコストを最小化する。 下層のOSへの 依存関係を明確化 し、実行環境間での 移植性を最大化 する。 モダンな クラウドプラットフォーム 上への デプロイ に適しており、サーバー管理やシステム管理を不要なものにする。 開発環境と本番環境の 差異を最小限 にし、アジリティを最大化する 継続的デプロイ を可能にする。 ツール、アーキテクチャ、開発プラクティスを大幅に変更することなく スケールアップ できる。 Twelve-F
At Heroku, we want to make the process of deploying, running and updating code simple and easy. To that end, we’re launching the Heroku Button: a simple HTML or Markdown snippet that can be added to READMEs, blog posts and other places where code lives. Clicking a Heroku Button will take you through a guided process to configure and deploy an app running the source code referenced by the button. T
Herokuが自ら実践しているAPIデザインガイドをGithubに公開した. “HTTP API Design Guide” このガイドは些細なデザイン上の議論を避けて,ビジネスロジックに集中すること目的としている.Heroku特有なものではなく,一般にも十分適用できる知見となっている. 最近は,モバイル向けにAPIをつくることも多いため,勉強もかねて抄訳した.なお内容は,HTTP+JSONのAPIについて基本的な知識があることが前提となっている. 適切なステータスコードを返す それぞれのレスポンスは適切なHTTPステータスコード返すこと.例えば,“成功"を示すステータスコードは以下に従う. 200: GETやDELETE,PATCHリクエストが成功し,同時に処理が完了した場合 201: POSTリクエストが成功し,同時に処理が完了した場合 202: POSTやDELETE,PATCHリク
Heroku Connect登場。Heroku PostgresがSalesfoece.comのデータベースと同期。RailsやJava、PHPなどで企業向けアプリ開発 Herokuは新サービス「Salesforce1 Heroku Connect」のリリースを発表しました。 Heroku Connectは、Salesforce.com/Force.comのデータベースとHerokuのデータベースであるHeroku Postgresを自動で同期してくれるサービスです。同期は双方向で行われるため、Salesforce.com/Force.comでのデータ変更がHeroku側に反映されるだけでなく、Heroku側で行われたデータベースの変更もSalesroce.com/Force.com側に反映されます。 これまでSalesforce.com/Force.comは業務向けカスタムアプリケーショ
HOMEソフトウェア開発AngularJSでWebアプリケーションを作ろうと思った時に構成に悩んだら、generator-angular-fullstackからはじめるのが良いのでは AngularJSでWebアプリケーションを作ろうと思った時に構成に悩んだら、generator-angular-fullstackからはじめるのが良いのでは AngularJSはあくまでクライアントサイドのフレームワークなので、サーバサイドをどうしようかなーと悩むことがあると思います。Railsが得意ならRailsに組み込むのもいいんですが、Railsはビューヘルパーが異様に充実しているので、Rails上でAngularJSのコードを書いてるとRailsの良いところが10%も生かせてない気がして辛い気持ちになってきます。うーん、どうしよう。 そんな風に悩んだらYeomanのgeneratorであるgener
合宿で heroku 使ってたチームがあって、とても便利そうだった。昔、Node.jsで画像アップローダをつくったんだけど(node.jsでtrayという画像アップローダを作った - はこべブログ ♨) 自分のVPSで雑に動かしていて、飽きてしまうとあんまり気にしなくなって、止まっても放置したりしてた。それくらいであれば、herokuで一旦動かすようにしておけば、可用性は担保されるだろうと思い立ち、herokuで動作させることにした。 動いている様子はこちら: http://imagetray.herokuapp.com/ 左上のマスに画像をドラッグ・アンド・ドロップすると画像がアップロードされる。誰かがアップロードするとリアルタイムに更新される。コードを更新したり、しばらくだれも使ってなかったりして、herokuのホストがrestartされると、アップロードされた画像は消えてしまう、刹那
naoya さんのポータブルな Web アプリケーションを受けて最近思ってることをば。140 文字で時々書いてるんだけど、まとまりがないので一回まとめておきます。 12-factor app ステートフルなアプリケーションについては、Heroku の人が提唱してる 12-factor app というのが現在の状況をよく表してます。 The Twelve-Factor App The Twelve-Factor App(日本語訳) Heroku や他の PaaS によってもたらされたこうした一種の”制約”によって、アプリケーションの新しいカタチが生まれてきています。引き算によって新しい価値が生まれてきているわけですね。 とはいえ、PaaS は PaaS でそれぞれに独自の仕様を持っているわけですが、Heroku の buildpack という仕組みを使って、Heroku とインタフェース仕様
前提: GitHub flow を使っていてCIサーバーはJenkins 最近ちょっと開発フローの改善をして、とてもよく機能してて満足しているので紹介してみる。 この改善をやる前の悩み: pull-requestでコードレビューはできるのだけど、cssとかjavascriptなどの見た目や動作の変更ってコードだけだとわかりにくい。レビューする人が各自ローカル環境で実行するのもだるい。 コードを読まないデザイナーとかプロダクトオーナーとかの人が、pull-requestのレビュープロセスに簡単に参加できない(非開発者全員のところでローカル環境設定するのはだるすぎる)。 コード的にokに見えてmasterにmerge後、何か問題(特に仕様的な問題や、デザイン的な問題)が発生した場合、「修正branchを作ってpull-request」というフローを再度回さないといけない。最初のpull-req
そろそろgithubと並んで使った事が無いなら危機感を感じるレベルなPaaSですが、PHPの場合は何を使っていますか?PHP FogやOrchestra.ioといったPHPに最適化されたプラットフォームもありますが、PaaSの王道とも言えるHerokuでもPHPは非公式にサポートされています。しかもこれが非公式サポートであるにも関わらず、facebookの開発者コンソールからクリックだけでデプロイできるので密かにメジャーなプラットフォームになっているという不思議な状況です。Ruby界隈では常識かと思われるHerokuがPHP界隈で流行っていない原因に「mbstringがサポートされていない」というのがあります。しかし今回ちょっとやってみたらmbstringをHeroku上にセットアップする事が出来ました。ひとまずコチラが実際の環境です。 phpinfo() on Herokumbstrin
WinユーザがRailsアプリをこれから公開しようと思った場合 Windowsで学習を開始するのは不可能なのでLinuxをいれる でもWindowsで進めようとしてmsysGitをいれたりするが結局半日無駄にする なぜかgemが最新じゃないと怒られる gemを単純に使っても後から困るのでrvmかrbenvが必要。使い方覚えないといけない やっとRails3.2導入。javascriptエンジンが入ってないので起動しない やっと起動 HTML書いてるのは情弱だけ => hamlを覚える js書いてるのは情弱だけ => coffee scriptを覚える css書いてるのは情弱だけ => scssを覚える テスト書いてないコードはレガシーコードっていわれる しかたないのでRspecいれる => Rspec覚える ユニットテストだけではしかたないといわれcapybaraもいれる => capyb
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
PHPの実行環境をPaaS型クラウドとして提供している「PHP fog」はブログで、いままで6カ月だった無料サービスの利用期間を、永久に無料のままにすると発表しました。しかも3つのアプリケーションまで無料にするとのこと。 もちろん無料で使えるリソースの範囲はそれほど大きくありませんが、PHPアプリケーションを自由にデプロイできるため、例えばWordpressを入れて自由にブログを運営する、といったことができるはず。 実はPHP fogだけでなくPaaS型クラウドでは無料でずっと利用できるコースを設定しているサービスがいくつもあります。この機会にまとめてみました。 PHP fog まずはそのPHP fog。名前の通りPHPの実行環境をクラウド上で提供します。MySQLデータベースもあらかじめ用意されており、WordPress、Drupal、Sugar CRM、Joomlaといった有名どころの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く