CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
昨今におけるクラウドテクノロジーの隆盛と呼応するように、「クラウドネイティブ」や「マイクロサービス」といったIT業界の流行語が生まれてきた。その中心にあるといってもよいのがコンテナ型仮想化と、そのオーケストレーションエンジンであるKubernetesである。なぜクラウドネイティブ、そしてマイクロサービスといった流行語が生まれてきたのか。そして、なぜその文脈でKubernetesが出てきて、どのような役割を果たしているのか。『Kubernetes完全ガイド』の著者、青山真也氏による講演で、Kubernetesとその周辺技術について改めて学びなおそう。 クラウドネイティブとは? その定義と、流行の背景 オンプレミスとは比較にならない、柔軟な拡張性、細分化した課金モデル、迅速な進化。そんな特徴を持つクラウドの登場により、インフラ環境はその概念から大きく変化した。そして、その環境に載せる上で最適な
本連載では、比較的「小規模」な「受託」開発を実施する際のAWS活用の勘所を、実際の開発現場での経験を元に紹介します。大規模な開発では当てはまらない部分もあると思いますが、可能な限りインフラ関連の工数を少なくし、効率的に開発を実施するために、最低限抑えておく実務上役立つ点について、解説します。本記事では、複数のAWSアカウントを効率的かつセキュアに管理するための、SAML2.0ベースのAWSマネージメントコンソールへのフェデレーション(SSO:シングルサインオン)をご紹介します。 はじめに 受託開発において、顧客システムを開発・運用する際にAWSアカウントの運用管理を実施する場合が多くあります。 その場合、AWSを利用するユーザ(開発者、運用者)をアカウント毎に管理する必要があり、顧客数(N)、ユーザ数(M)に対してO(N×M)のオーダーのユーザー数を管理する必要があります。AWSアカウント
マイクロサービスについて、前回はそのアーキテクチャの概要から利点、そして課題についてまとめました。第2回の今回は、マイクロサービスを構成する個別の要素(デザインパターン)を一挙に説明します。マイクロサービスを学ぶ上で避けて通れない用語たちを、ひとつひとつ、分かりやすく丁寧に解説しました。さらに、マイクロサービスが持つどの利点に結び付くかをセットで解説することにより、単なる知識の列挙を避けたイメージしやすい構成をとっています。紹介しているものはいずれも特定の製品などに依存しない核となる要素ですので、エンジニアの方、ビジネスサイドの方問わず、長く役立つ知識となるはずです。 前回記事:これなら分かる! マイクロサービス(入門編)~モノリスと比較した特徴、利点と課題 マイクロサービスは「複数のデザインパターンの集合体」 入門編で解説したようなマイクロサービスを構成し、その利点を実現するためには、ひ
本連載では、AWSを利用したSPA(Single Page Application)の開発を通じて、サーバレスアーキテクチャの考え方を知っていただき、Webアプリケーションとして作成していく際にどのような構成を取ればよいのか、開発環境やテストなどはどのように行えばよいか、実際のコードを交えながら解説していきます。今回からは、JavaScriptのブラウザ向けフレームワークにAngularを使い、AWSのサーバレスアーキテクチャ向けに用意された各種機能を使いながら、簡単な掲示板を作ることをゴールにします。 本連載で作るSPAのゴール 開発する掲示板は以下のようなイメージです。 スレッド一覧画面 スレッドの一覧画面で、今回のアプリケーションのトップページとなります スレッドの一覧と他の画面へのリンクを持ちます サインインしていなくてもアクセスできます スレッド詳細画面 スレッドの詳細とそのスレ
簡単で早いGoのパワーに目覚める ――『スターティングGo言語』はすでにJavaやPHP、Cを使い慣れている方のために書かれた入門書ですが、松尾さんご自身はどのようなプログラミング遍歴があってGoを使い始めたのでしょうか。 松尾:私はこれまでさまざまなプログラミング言語に触れてきました。最初は、長崎・佐世保市に住んでいた小学生の頃で、MSX2+というパソコンをたまたま手に入れたのですが、周りに使い方を教えてくれる人はおらず、本や雑誌で知識を吸収して、一人で遊んでいました。それがプログラミングの原体験です。それ以降もプログラミングは趣味でやっていました。大学を辞めたあと、福岡のとあるSI企業に勤めることになりました。当時はJavaの黎明期で、Java Applet、Servletといった新技術が採用され始めた時期で、さまざまなことを試していた記憶があります。 24歳の頃に東京に異動しました。
はじめに 前回の記事では、Chefとはどのようなものか? とChefの導入の仕方、Chefを使ったパッケージのインストール手順について紹介しました。 今回の記事では、ChefのCookBook作成の続きで、Apache httpdの設定ファイルの作成やWebサーバにデプロイするファイルの設定などを紹介します。また、作成したChefのCookBookをVagrantから呼出し、ローカル端末の仮想環境でインフラを自動で構築する手順を紹介します。 対象読者 本記事は、次の方を対象にしています。 コードを使ってインフラの構成管理がしたい人 ネットワークやLinuxの基礎知識がある人 Webシステムの開発環境を構築したことがある人 Webサーバを設定するCookBookの作成 前回作成したレシピでChefを使ってApache httpdおよびPHPのインストールが出来たので、次は設定ファイルの作成や
対象読者 JavaScriptフレームワーク・ライブラリの選定に悩んでいる方 本格的にJavaScriptを触るのが初めてという方 jQueryでの大規模なフロントエンド開発に限界を感じている方 必要な環境 Node.jsがインストールされていることが推奨です。 React.jsとは何か React.jsは最近注目を浴びているFacebook製のライブラリで、MVCアーキテクチャでいうViewにあたる機能を提供します。 前提として、JavaScriptの世界でMVCのVといえば、紛れもなくDOM(Document Object Model)のことを指します。特に何も意識しないで作った場合、都合の良いDOMからデータを引っ張り出しては別のDOMを書き換えるといった、行き当たりばったりな作りになりがちです。そこで、MVCの考え方を導入することにより、データを画面とは独立した構造体として切り出し
本連載は、SI業界に入ったばかりの新米業務アプリケーション開発者や、SI業界を目指す学生さんを対象とした、インフラ構成管理ツールを使ってコードでインフラを構築するための講座です。また、インフラエンジニア/システムオペレータで、物理環境でのインフラ構築/運用管理は経験があるけど、プログラミングが苦手という方にも読み進めていただけるように、文法などの解説を入れながら説明します。今回は、Chefというツールのご紹介と、Chefを使ってWebサーバを構築する方法について説明します。 はじめに 前回は、コードでインフラ構成を行う第一歩としてVagrantを使ってローカルPCに仮想環境を構築する手順をご紹介しました。 今回は、Chefというツールのご紹介と、Chefを使ってWebアプリケーションの開発環境にWebサーバであるApache httpdやPHPの実行環境などをインストールする方法について説
弊社ではテストのエビデンスとして、JUnitの結果とコードのカバレッジを提出するルールにしておりますが、開発者それぞれの環境でallTestをするようなこともあります。その時に環境によっては、マシンのスペックが悪くallTestにけっこう時間が掛かってしまうこと、またその影響でマシンの負荷が高くなり、他の作業を並行してやれず仕事にならないようなことがありました(注1)。その対応としてJenkinsにブランチのallTestが流せるジョブを作って対応しました。 あと、Jenkinsのバージョンはこまめに更新した方が良いなと実感しました。バージョンアップする前はビルド、AllTest、ページビューなどが結構遅くて、周りの人からも遅いという声があがっていました。改善として、サーバのスペックをすぐに上げることは無理そうだったので、jvmのチューニングをしたりしましたがさほど効果はなく、Jenkin
対象読者 jQueryなどを使っているJavaScript開発者 JavaScriptを使った複数人でのプロジェクトに参加している方 JavaScriptを使ってサーバ等と連携したフロントエンドの開発をしている方 必要な環境 この記事では、AngularJSを使用し、Chrome(36.0)、IE11、Firefox(31.0)、Safari(7.0.5)の環境で確認を行っています。 サンプルアプリケーションの概要 今回作成するアプリケーションは、単純な「タスク管理」のアプリケーションです。次のような3つの画面を作ります。 タスク(件名とメモ)を登録する画面 登録したタスク一覧を表示する画面 登録したタスクを参照する画面と、削除する為の画面 ページ遷移はシングルページアプリケーション形式で作成します。シングルページアプリケーションとは、jQuery Mobileなどでも使われている方式であ
この連載では、まだPaaS(Platform as a Service)でアプリケーションを作成したことのない方に向け、米Salesforceが提供しているPaaS環境「Heroku」を使ってPaaSアプリケーション開発を学んでいきます。Heroku環境を整え、実用的なアプリケーションを作れるようになることを目標に、Heroku上で実際に動作するサンプルプログラムを交えて解説します。初回である今回は、PaaSならびにHerokuの概要と、Herokuを使うためのセットアップ方法を説明します。 PaaSとは何か・Herokuとは何か PaaSを一言で表現すると「アプリケーションを実行するためのプラットフォーム」と言えます。 プラットフォームと一言でいっても範囲が広すぎてやや漠然とした印象がありますが、「アプリケーションを実行するための」プラットフォームを考えた場合、そこには次のものが含まれま
JavaScriptによるモダンなプログラミング入門書『Eloquent JavaScript, 2nd Edition』のオンライン版がリリースされたことを、作者のMarijn Haverbeke氏が自身のTwitterアカウントで7月30日(現地時間)に明かした。「Creative Commons 表示 - 非営利 3.0 非移植(CC BY-NC 3.0)」のライセンスのもと、無料で閲覧することができる。文中のソースコードはMITライセンス。 『Eloquent JavaScript』は、JavaScriptおよびプログラミング全般に関する入門書で、読者をサンプルコード漬けにし、冒頭から実際に手を動かして試させることで、いち早く読者が一人立ちできるように工夫されている。 『Eloquent JavaScript』の第一版は2007年に公開。第二版のコンテンツは「Language」「B
Compassのメリット CSSスプライトが簡単に作成できる Compassでは、フォルダに配置するだけで、CSSスプライトで記載された一枚画像が簡単に作れます。CSSスプライトを利用すれば、1ページ辺りの画像の読み込みを何度も実行せずにすむため、ページの高速化につながります。 独自のmixinが利用できる グラデーションやベンダープレフィックスを自動で付与してくれる機能があります。 独自の関数が利用できる 画像のサイズを取得したり、三角関数の計算をしたりできる関数があります。 mixinや関数はCompassの公式リファレンスで紹介されています。ここでは記載できないほどのmixinや関数がありますので、一度見てみると面白いかと思います。 上記に加え、第1回目に記載したこちらのSassのメリットももちろん享受できます。 読みやすい 変数や繰り返し処理が使える 成果物の品質を統一できる 高速
Sailsとは Sailsは米国オースティンにあるBalderdash社のMike McNeilさんを中心として作成されているMVCフレームワークです。スタイルとしてはRailsに近い形を取りつつ、最近のWebアプリ開発に向けたいくつかの特徴を持っています。 主な特徴としては Web APIを簡単に作成し、公開できる リアルタイムWebなアプリケーションが簡単に作成できる Single Page SiteやMobileなどの多様なフロントエンドに対応できる といったようなものが挙げられます。 Web APIについてはJSONベースのRESTfulなAPIが簡単に作れるようになっています(Sails API blueprints)。特にAPIを作るという意識をせずとも、generatorによって単純なCRUDならすぐにAPIとして公開することができます。ルーティングについても、この手のフレー
対象読者 JavaScriptの基本をある程度理解している方 テストコードをこれから書こうと考えている方 Jasmineとは Jasmineとは、JavaScriptのテスティングフレームワークです。Mochaなどのテスティングフレームワークとは違い、値を評価するためのアサーションモジュールも内包されています。また、CoffeeScriptでの記述も可能です。 Jasmineは振る舞い駆動(BDD)の形式でテストを記述します。BDDは、作成する機能に期待する「振る舞い」を文章で記述していきます。言い換えると、顧客が望んでいるであろう「要求仕様」に近い形でテストを表現しながら、テストと実装を記述していく手法です。 リスト01は、Jasmineで記述した基本的なテストコードです。このコードを文章として日本語に直訳すると「【処理結果】が【期待する値】と同じでないと予測(expect)する」です。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く