実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング 顧客管理システムの構築を体験しながら、Railsアプリケーション開発のノウハウを習得! この記事は、書籍『実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング』の内容を、Think IT向けに特別にオンラインで公開しているものです。詳しくは記事末尾の書籍紹介欄をご覧ください。 本記事では、テストフレームワークとしてRSpecを採用します。RSpecをうまく活用すると、簡潔で読みやすいテストコードを書くことができ、Railsアプリケーションの保守性を高めることができます。 しかし、RSpecの用語法や表記法はやや独特で、慣れるまでには時間がかかります。読者の中にはとまどいを覚える方がいらっしゃるかもしれませんが、次章以降を読み進めるうえでの鍵となりますので、是非じっくりと読んで理解してく
実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング 顧客管理システムの構築を体験しながら、Railsアプリケーション開発のノウハウを習得! この記事は、書籍『実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング』の内容を、Think IT向けに特別にオンラインで公開しているものです。詳しくは記事末尾の書籍紹介欄をご覧ください。 インスタンス変数 「インスタンス変数」。単純そうで意外に奥が深い概念です。もう一度おさらいしておきましょう。 インスタンス変数とは インスタンス変数は、特定のオブジェクトが排他的に所有する変数です。そのオブジェクト自身だけがその値を参照できます。インスタンス変数という名前は、クラス変数との対比で用いられています。クラス変数は、あるクラスのすべてのインスタンスが共有する変数です。インスタンス変数は、それぞれのインス
OpenStackは、オープンソースで開発されているクラウド環境構築用のソフトウェア群です。クラウドの分類のうち、いわゆるIaaSと呼ばれる仮想マシンとストレージ、ネットワークといった、一番低いレイヤーのリソースを提供するクラウド環境が構築できます。もともとAWS(Amazon Web Services)を参考に開発が始まったこともあり、AWSのようなものを自分自身の環境でプライベートに構築できると考えるとよいでしょう。 OpenStackの国内導入事例 OpenStackはIaaS環境を構築するソフトウェア群ですが、国内での導入事例を見るとIaaSクラウドサービスを提供するために使っている例と、Webサービスを提供するインフラに採用しているパターンが多いようです。いくつかの事例を挙げてみます。 GMOインターネットのVPSサービス「ConoHa」 VPS(Virtual Private
大量の管理対象ノードの管理 スケールアウト型システムでは、管理対象サーバーの台数が増えるため、OSやアプリケーションの設定を一斉に行いたいニーズがあります。クラスターのノード全体が1つの用途に特化している場合やソフトウェアのバージョンが固定化されている場合は、全ノードに一斉にオペレーションを行う運用がみられます。 一方、OSやアプリケーションのアップデート作業が個別に発生する場合や、Hadoopクラスター、OSS系のデータベース・システムのように、マスター・スレーブ方式のシステムの場合は、クラスター全体で一斉に設定を施すことが難しい場合もあります。また、科学技術計算用途のスーパーコンピューターや分析基盤として近年導入が進んでいるHadoopクラスターでは、全体のクラスターを、ユーザーの用途やアプリケーションに応じたサブ・クラスターに分割して運用する場合もあります。 マスター・スレーブ間や複
はじめに この連載コラムでは「COBOLエンジニアがPHPとRuby on Railsを習得するために必要なこと」と題して、COBOLエンジニアが効率的にオープンソース・ソフトウェアの技術習得を行うためのトピックや体験談を取り上げます。 最終回となる今回は、実際にRuby on RailsとPHPを学習したCOBOLエンジニアが、Web業界にキャリアチェンジし、学習した内容をどう業務に活用しているのかを中心にインタビューしました。 COBOLからオープンソースへのキャリアチェンジ 今回インタビューしたのは、新卒後入社した中堅の大手メインフレーム会社から、地方の中小Web系企業であるF社に転職したM氏(25歳)です。 彼は、新人研修終了直後から約3年間COBOLに携わっている間、ずっとPHPやRailsのようなオープンソース技術を用いたWeb開発をしたいと希望を出し続けてきましたが、叶わず、
エンコードが必要なのか? 今回は、「なぜ、手間のかかるエンコードが必要なのか?」「そもそもエンコードとは何なのか?」動画ファイルが多数あるがどう違うのか?」「エンコードの設定って複雑?」、そんな初歩的な疑問を解決していきます。 動画をWebで配信する場合、元の動画データをそのままWeb上で配信しようとするとデータ量が多すぎて、動画を視聴することができません。そこで、「エンコード(encode)」という動画データの圧縮作業が必要になります。 通常、Webで視聴する動画は1Mbps弱ぐらいのビットレート(データ量)になるのですが、元の動画データのビットレートはどのくらいかというと図1-1のようになります。 エンコードとは、元の動画データを10分の1から100分の1以下に圧縮して、Web上で視聴しやすい動画データに変換することをいいます。 また、動画データはネットワークのトラフィックに過大な負荷
chef-soloのインストールと設定 (1)インストーラのダウンロード chef-soloをインストールします。Opscode社でオムニバス(Omnibus)インストーラと呼ばれるインストーラが提供されています。すぐに利用できるため、ここではオムニバスインストーラを使用した方法をご紹介します。 下記のサイトからインストーラを入手します。 > Install Chef 今回想定する環境では、図1にある赤枠の様に指定します。 (2)chef-soloのインストール パッケージを取得したら、rpmコマンドを使用してインストールします。rootユーザーで以下のコマンドを実行します。 # rpm -ivh /tmp/chef-11.8.0-1.el6.x86_64.rpm ・・・省略・・・ Thank you for installing Chef! # chef-soloがインストールされている
GitHubに見るOSSライセンスの最新動向 現在、最も利用されているOSSホスティングサイトといえばGitHubです。 つい先日となる、 2013年12月23日のGitHubのblogでは、リポジトリの数が1,000万を超えたとされています。またリンク先のグラフを見るとリポジトリ数の増え方の伸びが著しく、今後も登録数の増加が予想されます。 1,000万という数字はあまりに大きいのですが、他のホスティングサイトと比較してみるとどのくらいの規模なのかが分かります。少し前まで世界最大といわれていたSourceForge.jpは、本稿執筆時点(2014年2月)で約20万プロジェクトです。これを見てもGitHubのプロジェクト数が飛び抜けていることがよく分かります。 これほどメジャーなホスティングサイトとなったGitHubですが、課題もあり、これまで2つの問題が指摘されていました。 1つ目の問題は
第2回では、Chefの使用イメージをつかむためchef-soloを使用しました。chef-soloは各ノードに設定されたレシピをそれぞれのマシンに配布する必要があるため、構築・運用台数が多くなってくると、レシピとノードの関連付け設定が大変になります。一方、Chef Serverはレシピやノードの管理を一元化できるため、台数の多い環境でも管理が簡単です。 第3回では、オープンソース版Chef Serverの基本的な仕組みと使用イメージ、特徴について説明した後、Chef Serverを活用したベアメタルマシン(何も書き込まれていない状態のマシン)に対する自動構築方法についてご紹介します。 Chef Serverの基本的な仕組み まず、Chef Serverの基本的な仕組みについてご紹介します。 (1)Chefの構成要素 Chef Serverを使用するには、次の3つの構成要素を理解する必要があ
前回はOSSの概要、特徴、主要なライセンスをご紹介しました。今回はそれぞれのライセンスについてより詳細な特徴を説明していきます。 具体的には、読者の皆さんが作成したソフトウェアにOSSを組み込んで再頒布した際に、どのような対応が必要になるのか、という視点で説明します。ソフトウェアを再頒布する際には、OSSライセンスの条件に従った対応を要求されるためです。なお、ライセンステキストの添付はここで取り上げるすべてのライセンスにおいて共通の条件です。 コピーレフト型のライセンス まずコピーレフト型のライセンスを取り上げます。この類型のライセンスの特徴としては以下が挙げられます。 ライセンステキストの添付が必要 改変した(コピー&ペーストも含む)ソースコードの開示 組み合わせて利用した場合、対応する部分のソースコードの開示 コピーレフト型のライセンスで最も有名なライセンスはFree Software
20世紀型の運用から21世紀型の運用へ:環境の変化による運用上の問題 大きく様変わりしたシステム構成 多くのシステムにおいて、その構成や構造はここ十数年で大きく変化した。ほんの十数年前にはシステムごとに専用の開発を行い、保証されている商用のツール類のみを利用して作り上げられてきた。ところが、今日では開発の多くの部分において積極的にオープンソースが利用され、システムのベースとなるソフトウェアやツールは、すべてオープンソースで構成されることも珍しくはない。 さらに、1台の物理ハードウェアに1台のサーバーという考えも、仮想化やクラウドが出現したことにより、すでに過去のものとなった。また、スタンドアロンで動作していたシステムの集合体から、複数のシステムがお互いに連携して動作することも当たり前になった。 このようにシステム構成が大きく変わった今、運用にも変化が求められている。果たして、それに合わせて
MySQL Utilitiesならではの注意点 MySQL Utilitiesは従来のコマンドラインツール群とは違い、以下のような記述で接続先を指定します。 これは、従来のコマンドラインツール群が主に1つのMySQLサーバーを対象として動作するものなのに対して、MySQL Utilitiesは2つ以上のMySQLサーバーを対象として動作するものが多いため、このような記法になっています。 [MySQL Utilitiesの記法] --server=ユーザ名:パスワード@ホスト名:ポート番号 [MySQL コマンドラインツール群の記法] --user=ユーザ名 --password=パスワード --host=ホスト名 --port=ポート番号 なおWindows環境ではローカルホストとしてlocalhostと127.0.0.1のどちらを指定しても同じですが、LinuxやUNIXではホスト名に対
はじめに この連載コラムでは「COBOLエンジニアがPHPとRuby on Railsを習得するために必要なこと」と題して、COBOLエンジニアが効率的にオープンソース・ソフトウェアの技術習得を行うためのトピックや体験談を取り上げます。 今回は、PHPおよびPHPフレームワークの市場動向と、PHPを学習する際特にCOBOL技術者の方がつまずきやすい「PHPの実行環境構築の際の注意点」を中心にご説明していきます。 PHPの市場動向と学習方法 前回は、RubyやRuby on Railsの学習効率の高さについて触れ、COBOL技術者の方は、まずRuby on Rails を学習するようにおすすめしました。しかし、実際にCOBOL技術者がWeb技術者へのキャリアチェンジに成功して最初に携わる案件は、恐らくRuby on RailsよりもPHPになる可能性の方が高いでしょう。 PHP技術者認定機構
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く