bouyomisan2017/04/12 08:34回答ありがとうございます。 いろいろしらべてみると骨のある作業のようですね(-_-;) でも頑張ってみたいと思います。 ただこのAPIとは json 形式の簡単なファイルという認識でよろしいでしょうか?ruby をやっているときも api というのが出てきたのですが。。 それと手元にある本に vagrant と virtual box で仮想環境をつくるというのに取り組んでから、そのコンテナ仮想環境というのに移ろうかと思ってるのですが、これは余計な回り道でしょうか?
manzyun2017/04/12 19:42> ただこのAPIとは json 形式の簡単なファイルという認識でよろしいでしょうか?ruby をやっているときも api というのが出てきたのですが。。 そうですね。APIというのはAplication Programming Interfaceの略で、他のプログラムが受け取る側の定められたプロトコル・フォーマットで受信することによって、そのとおりに動きます。 参考資料: APIとは|アプリケーションプログラミングインターフェース|Application Programming Interface : 意味/定義 - IT用語辞典 http://e-words.jp/w/API.html その定められたプロトコル・フォーマットを決めるのは開発者自身ではありますが、大抵はHTTPプロトコルでjson形式で良いでしょう。 例えば、 「PHP開発環境を3台作りたい」というサーバーを作りたい場合、HTTPのPUTメソッドで、サーバー構成をjson形式で送ると、サーバー上にコンテナ環境が作られるように実装すれば良いのではないかなあと。 その辺りはSinatraなどのWebフレームワークを利用して、 「このアドレスにこういう情報が来たらコレする」 とプログラミングすると良いと思います。 > それと手元にある本に vagrant と virtual box で仮想環境をつくるというのに取り組んでから、そのコンテナ仮想環境というのに移ろうかと思ってるのですが、これは余計な回り道でしょうか? 手元にLinux環境があるなら、ちょっと回り道かもしれません。その場合は、そのLinux環境にDockerなりLXDなどをインストールして、実際に手を動かしていただくと良いかもしれません。 文脈から察するにコンテナ仮想環境とVirtual box等のハイパーバイザー型仮想環境の違いはなんとなく理解できているのかなと思います。 LXDに関しては時間制限はありますが、オンライン上で触ることのできる環境がありますので、 「こーんな感じなのか」 というのを感じ取れるかもしれません。 Linux Containers - LXD - オンラインでの試用 https://linuxcontainers.org/ja/lxd/try-it/ # 余談 Zuishinさんの「サーバー上に各種実行環境を構築して、フロントエンドからバックエンドにCGIとかでソースコードを送って実行させるだけ。」というアプローチも確かにあります。というより、そっちの方が簡単です(笑) どちらのアプローチを取るかは、どんなものを作りたいかによりますね。 codeanywhereやCloud9の様な「Web上で動くIDE(統合開発環境)を作る」と言う場合は自分のアプローチ。書いたコードが正しく動くかどうか確認するだけであればZuishinさんのアプローチのほうが適してると思います。 理由まで書くとどんどん長くなってしまうので、この辺で。
bouyomisan2017/04/14 13:35API についてはなんとなくわかってきました。 >その辺りはSinatraなどのWebフレームワークを利用して、 >「このアドレスにこういう情報が来たらコレする」 >とプログラミングすると良いと思います。 ぼくはrails なのですがたしかに post メソッドがきたときユーザー一覧の json で返すみたいなことをした記憶があります。 lxd というのも調べてみて、教えてくださったサイトで触ってみました。さっぱりわかりませんでしたが、感じはつかめました(-_-;) > どちらのアプローチを取るかは、どんなものを作りたいかによりますね。 ぼくは cloud9 のようなアプリを作ってみたいので、manzyun さんの教えてくださった方法が適しているようです。ありがとうございました。 最後に聞きたいのですが個人レベルで cloud9 のようなのを作りたいのですが、そういうのってサーバー室のようなものを構える必要があるのですかね??
manzyun2017/04/14 20:53> 最後に聞きたいのですが個人レベルで cloud9 のようなのを作りたいのですが、そういうのってサーバー室のようなものを構える必要があるのですかね?? AmazonやGoogle、さくらインターネットやGMO等の企業のコンピューターリソースを容易に借りれる現代であれば、最初からサーバー室(自宅ラックともいう)を構える必要は無いのではないかと思います。まずはVPSでリリースしたら良いかと思います。 かといってサービスを利用するユーザーがどんなプログラムを書くか分かりませんので(例えば;CPUリソースをかなり食べるプログラムを書いたりとか、サーバーを乗っ取るプログラムを書いたり……)そういうところで「制限をつけつつも、すぐに環境が構築できる」という面で、個人的にはコンテナ仮想環境の学習をオススメいたします。 # 余談 大企業のコンピューターのリソースを借りれるという技術も実は仮想環境構築技術のおかげだったりしまして、仮想環境の上に仮想環境があって……というのは普通になりましたね。 このコメントを書いている現在(2017-04-15)、ちょうどteratailとさくらインターネットのコラボレーションイベントでクラウドマスター認定試験というものをやっております。 そこのチュートリアルをやってみると「セキュリティ面で理想の仮想環境構築」も学べると思いますので、ちょっとやってみると良いのではないかと思います。
bouyomisan2017/04/16 09:57なるほど、サーバー室などつくらなくてもサービスを利用することができるのですね。 >「制限をつけつつも、すぐに環境が構築できる」という面で、個人的にはコ >ンテナ仮想環境の学習をオススメいたします。 わかりました。コンテナ仮想環境のほうを勉強してみます! >ちょうどteratailとさくらインターネットのコラボレーションイベントでクラウドマスター認定試験というものをやっております。 そのようですね。いいタイミングなのでぜひやってみます。 ありがとうございます!
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/12 08:34
2017/04/12 19:42
2017/04/14 13:35
2017/04/14 20:53
2017/04/16 09:57