Vagrantの基礎とAmazon EC2との組み合わせ方
Packerってなに?という人は前回のエントリを先にどうぞ 0.10と0.11だと作成されたVagrantのboxの中のディスクイメージの命名の問題があります(詳細はこちら)。ソースを持ってきてビルドしたPackerを使えばとりあえず問題ありません。→0.12で修正されました! 前のエントリで紹介したPackerですが、Vagrantのboxの作り方が把握できたので紹介しておきます。 今回はUbuntuのboxの作成を例にして解説します。 なお、CentOSの例は以下に置いておきました。 まずは設定ファイルです。前の記事で紹介したものより長くなっています。 { "builders":[{ "type": "virtualbox", "guest_os_type": "Ubuntu_64", "iso_url": "http://releases.ubuntu.com/12.04/ubunt
続報で、VagrantのBoxの作り方について書きました。こちら Vagrantの作者であるHashimotoさんが新たにPackerというツールをリリースした(昨晩!)ので速攻ご紹介。 このツールは、Amazon EC2のAMIやVirtualBoxやVMware用のOSのイメージを一貫性のあるインターフェイスで簡単に作ってくれるものです!たとえばVagrantの場合は以前はPatrickさんが作成したVeeweeを使うことが定番だったのですが、今後はそれに変わるものになってくるかもしれません。 (現時点はまだバージョン0.1なのでこれからどんどん良くなると思います!) インストールhttp://www.packer.io/downloads.html からビルド済みのファイルを入手します。もしくは自分でビルドすることも可能です(ビルドにはgoなどのツールが必要です)。 ファイルはzip
Test-Kitchenとかを使ってChefのCookbookをテストする際に色々な種類のVagrantのboxを使います。 RedHat系のOSを使うことが多いのですが自分が作って使っているboxを共有しておきます。 仕様は Veeweeで作成していますが、余計なものは全部取っ払ってます Chefは全てオムニバスインストーラー経由でインストールされています。従ってrubyはグローバルにはインストールしていませんし、rvmなども使っていません。 Puppetは興味ないのでインストールしていません。 dkmsがインストール済みなのでカーネルのバージョンが更新されても大丈夫なはず VirtualBoxのGuestAdditionのバージョンは4.2.12 となっています。 ダウンロード どれもサイズは600-700MBくらいです。好きに使ってもらって構いません。 CentOS 5.5 http
Vagrantでプロビジョニングというと、Chef SoloとかChefとかPuppetを使うという印象がありますが(Vagrant initしてできるVagrantfileにもそれらだけが入っている)、シェルスクリプトでも簡単にプロビジョニングできます。 マニュアルに書いてあるわりに意外と知らない人が多くてびっくりしたので、簡単に紹介しておきます。 インラインでシェルを使う方法これはVagrantfileの中に直接コマンドを書いておく方法です。コマンドの数が少ない場合はこれで十分です。 # 以下にコマンドを書く script = < <SCRIPT yum install -y httpd php php-mbstring php-pdo php-mysql mysql-server /sbin/chkconfig --level 2345 mysqld on /sbin/chkconf
数日前に初めてのVagrantの書籍であるVagrant: Up and Runningが発売されました!著者はVagrantの作者であるMitchell Hashimoto氏(今年日本に来るそうです!)です。Kindle版なら1215円でかなりお手頃価格です。 感想としては、始めの一歩からプラグインの解説まで、ひと通り網羅している感じで、これから体系だててVagrantを使っていきたい方の学習には便利だと思いますし、既に使っている人でもリファレンス代わりになるのではないかと思います。ページ数も約150ページですので、さくっと読めます(ちなみに内容は英語で書かれていますが、分かりやすいです) Vagrantは過去に何度か大きな仕様変更が入っています。例えば0.7系と1.0系でプラグインの互換性がなく、1.0系と1.1系以降でも互換性がない、1.1系以降ではgemでの配布からインストーラーで
Vagrantは素晴らしいプロダクトであることは言うまでもないことですが、時にはVagrant自体の挙動を変更したいと思うこともあります。 たとえば、Vagrantでは作成したインスタンスにChefなどのProvisionerを使ってパッケージをインストールするときに、sudoコマンドを利用してユーザー権限からインストールを実行しますが、そのとき、インスタンス側ではrequiretty (コンソールデバイス必須) の無効化の設定がなされていることが前提になっています。 でも、これ最初からboxをそのように作って入れば良いのですが、そうじゃない場合(virtualbox以外のproviderを使ってクラウドサービス上にインスタンスを立ち上げるとか)は、いちいち自分でその変更を加えたbox(もしくはそれに準ずるもの)を作るのは面倒でかないません。 ということで、今回はVagrantのコアの挙動
五月の終わりから Quipper で働いている。 Quipper は DeNA の co-founder である渡辺雅之氏がロンドンで創業したモバイル学習プラットフォームの会社で...みたいな話は長くなるし、読者の興味を引きそうにないのでやめておく。このへんの話を詳しく知りたい人は渡辺によるハーバード・ビジネス・レビューの連載をどうぞ。 ソフトウェア開発者にとって一番気になるのは、会社の事業内容とか売上利益よりも、「どんな環境でソフトウェア開発をしているのか」じゃないだろうか。どんなインフラを使っているのか、バージョン管理やタスク管理はどうしているのか、自動テストはどのくらいやっているのか、開発手法はアジャイルなのか、 Mac で開発できるのか、椅子は六万円以上か(冗談ですよ)、などなど。 こういった、ソフトウェア開発者が日々過ごす広義の「環境」について言えば、 Quipper はかなりい
16:46 08/03/30 YZ1.DLL 0.30 リリース しました。 具体的には、ヘッダの格納ファイル数フィールドに実際より大きい値が入ってると変なとこ読もうとして落ちるバグ修正。 GreenPad の修正は来週くらいには…。 Booooooost Boost 1.35.0 来てました。 Asio と Fusion と GIL の三枚看板がでかいですが、Bimap が地味に便利だ。 あと、mbさんのEgg のレビューが明日からでしょうか。(また スケジュール から消えてますが…Protoが入る前までロールバックしてる?) 他人事ながらドキドキ。 17:36 08/03/28 ケース 十年来の疑問なんですが、"case" に単独で対応する日本語ってなんになるんですかね。 "case-insensitive" や "lowercase" の "case"。単に "case-insens
Ilya Grigorikさんの "Concurrency with Actors, Goroutines & Ruby" を翻訳しました。 元記事はこちら: http://www.igvita.com/2010/12/02/concurrency-with-actors-goroutines-ruby/ (翻訳の公開と画像の利用は本人より許諾済みです) 翻訳の間違い等があればブログコメントやTwitter(@oshow)などで遠慮無くご指摘ください。 アクターによる並列性、 そしてRubyでGoroutine 並列コンピューティングの世界は複雑なものだ。私たちはハードウェア、ランタイム、そして半ダースもの異なるモデルとプリミティブから選択することを考えなければならない: fork / wait、スレッド、シェアードメモリ、メッセージパッシング、セマフォ、そしてトランザクションなど。ゆえに
Haskell for Web Developers This blog post is somewhat dated and may not reflect changes to the ecosystem since 2013. The perpetual myth persists that Haskell cannot be used for “real world applications”. Normally real world is usually left undefined in such a discussion, but can often be taken to mean that Haskell is not suited for database and web development work. Haskell has a rich library ecos
前のエントリでのコメントへの返信として書いたものを、エントリとしてもあげておきます。 それぞれのデバイスの使い分けのイメージです。 タイトルこそあおってますが、実際にCPUが完全に駆逐されるとは思っておらず、少なくともアプリケーションに関してはCPUを使った逐次処理で実行するのが向いていると思います。つまり、大部分のコードはCPUで動くことになると思います。 また、これは単にイメージなのですが、ストックデータに対する処理、たとえば画像処理は、セルごとにメモリの割り当てられたGPGPUが強いだろうなと推測してます。 FPGAが必要になるのは、レイテンシを最小化させたい処理で、ディスクやネットワークなどのI/O部分に、中継としてデータ処理をさせる用途ではないかと考えています。いま流れてるデータにだけ注目するのであれば、メモリは多く必要ありません。 多数のSSDにFPGAつないで、MapRedu
ビジネスの現場でどうすればイノベーションを生み出せるのか。もっとも手軽な方法はブレインストーミング(以下、ブレスト)によるアイデア出しです。「あ、それなら普段からやっているよ」と言う人もいるでしょうが、ブレストにはいくつかのレベルがあると考えています。 「思いついたことを口にする」「とにかく数をひねり出す」「絶対に否定してはいけない」「筋道立てて整理しない」などのシンプルなルールのもとで、アイデアがアイデアを刺激して、通常の議論では出てこないような発想を導き出すのが、いわゆるブレスト。 一番スタンダードなブレストの手法を確認しましょう。まず、小規模な会議室にメンバーを数人集めます。ここでは7人が集まった例を紹介します。部屋には7人のほかに、1人のファシリテーターがいて進行役となります。 スタンダードなブレストに潜む落とし穴 最初にすることは、1時間で100個のアイデアを出すこと。メンバーは
Page: 1 MySQLのプロトコル解説 とみたまさひろ 日本MySQLユーザ会 MyNA会 2013/07/29 MySQLのプロトコル解説 Powered by Rabbit 2.1.1 Page: 2 自己紹介 とみた まさひろ MySQLユーザ会 (名ばかり代表) 長野県北部在住 プログラマー (Ruby & C) http://tmtms.hatenablog.com http://twitter.com/tmtms https://github.com/tmtm/ruby-mysql MySQLのプロトコル解説 Powered by Rabbit 2.1.1 Page: 3 趣味 誰も使わないRubyライブラリを作ったり MySQL の yacc ファイル読んだり マンガ読んだり 聖悠紀 / 佐々木淳子 / 岡崎二郎 / 星野之宣 / 長谷川裕一 / 島本和彦 / 桑田乃梨子
7月26日、サイバーエージェント・ベンチャーズにて「エンタテインメントの未来を考える会 黒川塾(十壱)」と題したトークセッションが行われた。コラムニストの黒川文雄氏が主宰、エンターテインメントの原点を見つめなおし、ポジティブに未来を考える会となっている。 今回はユビキタスエンターテインメント代表取締役社長兼CEOの清水亮氏が登場し、同氏の考えるプログラムの成り立ちや定義、そして「人類プログラマー化計画」について語った。 プログラムと聞くと、一般的にはコンピュータが行う処理を順序立てて記述したプログラムコードをイメージすることが多いが、本来は「公に書かれたもの」を意味するギリシャ語からきているもの。コンピュータの発達以前からプログラムは存在し、「未来の自分や自分以外のものを思い通りに動かすための仕組みがプログラムです」(清水氏)という。ハンムラビ法典、聖書、十戒などがそうであるように、人々の
こんにちは。セブ山です。 みなさんは、こちらの画像を見たことはあるでしょうか? 2ちゃんねるによく貼られるネタ画像のひとつで、さまざまなタイプの女性が女性専用車両についてのインタビューに答えているものです。 そんな画像の4コマ目で「私は特に、どこでもいいです」と答えている彼女の正体が、最近になってようやく分かったと話題になっています。 過去のねとらぼ記事(ネットで有名な『女性専用車両インタビューの女の子』の正体が判明 → 現在はタレントに!)によると、彼女の正体は関口愛美(せきぐちあいみ)さん。なんと現在はアイドル活動をされている方だそうです(インタビューを受けた当時はまだ一般人)。 「そうだったんだ!」と驚きながら記事を読んでいた僕は、ひとつの疑問が浮かびました。 それは、「あれから月日が流れた今、現在の彼女は女性専用車両についてどう思っているのか?」ということです。 当時は、女性専用車
はじめに こんにちは植木和樹です。相変わらずCloudFormationとChefな毎日を送っています。そのおかげで、最近は実験用サーバを設定するときにも極力手作業はなくし、CloudFormationやChefを使って自動化・省力化する習慣がつきました。以前作ったCookbookを使用して、コマンド1つで新環境が構築されたときって気分いいですよね。 さてChefのCookbookが増えてきて徐々に再利用が進んではいるのですが、Cookbookを作成してから数週間もすると「本当にこのクックブックはまだ動くのかな?」と不安になってきます。ここはやはり、Cookbookが正しく適用されることを継続して保証する仕組みがほしいところです。 本日はChef Cookbookのテスト自動化の一例として、JenkinsからEC2を起動してからchef-soloを使ってCookbooksを適用し、その後s
HaskellコンパイラGHCの作者の一人であり並列RTSを書いた人であるSimon Marlowが、Haskellでの並列・並行プログラミングの今を切り取った本を出した。 Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming 作者: Simon Marlow出版社/メーカー: O'Reilly Media発売日: 2013/07/12メディア: Kindle版この商品を含むブログを見る The Free Lunch Is Overから8年、Haskellでの並列・並行プログラミングの今がどうなっているのかを俯瞰しつつ、実際の問題を解決するときに陥りがちな罠や、高い性能を出すためのtipsなどが読みやすくまとまった一冊になっていて、Hask
GADTについて、この解説が分かりやすい(英語)。 http://en.wikibooks.org/wiki/Haskell/GADT 背景 Haskell(というか関数型言語一般)の素晴らしい機能の一つ、代数的データ型を使うと、抽象構文木(AST)をHaskellの枠組みの中で表現できる。 例えば、整数の足し算・引き算ならば、 data Exp = Const Int | Add Exp Exp | Subtract Exp Exp さらにこのASTを数値一般に使いたいので型パラメータrをつけて多相にしてみる。 data Exp r = Const r | Add (Exp r) (Exp r) | Subtract (Exp r) (Exp r) これを使えば、例えば(3 + 4) - 2という数式は、Subtract (Add (Const 3) (Const 4)) (Const
HaskellただいまRealクラスを探検ですが、そのソースの中に一つおもしろいものがあったので独立したエントリとして書いておきます。 Haskellで型を作るにはdataキーワードを使って以下のように書きますね。 data Ratio a = Construct a a -- 有理数を表す型 deriving (Eq) ここで、Ratioは型コンストラクタ(type constructor)、Constructは値コンストラクタ(value constructor)です。 私たちは、 Ratio a でもって始めてRatio a型とすることができるわけです。 Ratio Int型を次のように作るとします。 Construct 1 3 -- means 1/3 Construct 11 13 -- means 11/13 Construct 1 3 == Construct 1 3 --
リアクティブプログラミングって何? 時刻によって変化する値を使って計算する x = mouse_position.x y = mouse_position.y sum = x + y printf("(%d, %d); sum=%d", x, y, sum) 入力が変わるたびに再計算 用途: UI、シミュレーションなど Haskell/ML上のリアクティブプログラミング Behavior a: 時刻によって変化する値(中身a型) Event a: 繰り返し発生し得るイベント(a型の値が付属) mousePosition :: Behavior (Int, Int) mouseClick :: Event () コンビネータ mapB :: (a -> b) -> Behavior a -> Behavior b mapE :: (a -> b) -> Event a -> Event b
Clay Programming Language Clay is designed to solve problems in building large systems. Clay is as efficient as C. It features fast compiles, powerful meta-programming, and excellent support for modular programming. All of our software (at Clay Labs) is written in Clay. If you're interested in checking out an extremely old version of Clay (circa 2011), see https://github.com/jckarter/clay. Clay ha
UQコミュニケーションズが高速化のために申請していた「特定基地局開設計画」が認定され、超高速のモバイルブロードバンドサービス「WiMAX2+」が提供可能になったとのこと。 2.5GHz帯新規周波数割当てに伴うWiMAX 2+サービスの提供開始について | UQ WiMAX - ワイヤレスブロードバンドで高速モバイルインターネット http://www.uqwimax.jp/annai/news_release/201307291.html WiMAX2は以前からUQコミュニケーションズが検討してきたWiMAXを越える高速通信サービスで、現在使用中の30MHzと、新規に割り当てを受けた20MHz、合計50MHzの周波数を使うことで超高速通信を提供するもの。 特徴は以下の5つです。 ◆1:超高速モバイルブロードバンドサービス 将来的には下り1Gbpsを超えるスピードを実現 ◆2:周波数利用効率
An operating system to make it far easier to write applications that withstand attack Thinking of joining the Ethos project? Ethos is first of all about programming, the central phenomenon of computer science. Programming is an extraordinarily difficult intellectual challenge, it is the twin pursuit of functionality and perfection. The two forms of programming which are most sensitive are Systems
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く