タグ

ブックマーク / atmarkit.itmedia.co.jp (26)

  • BFF(Backends For Frontends)超入門――Netflix、Twitter、リクルートテクノロジーズが採用する理由

    BFF(Backends For Frontends)超入門――NetflixTwitter、リクルートテクノロジーズが採用する理由:マイクロサービス/API時代のフロントエンド開発(1)(1/2 ページ) マイクロサービス/API時代のフロントエンド開発に求められる技術の1つBackends For Frontends(BFF)について解説する連載。初回は「超入門」としてBFFの概要や事例を中心に紹介する。 連載「マイクロサービス/API時代のフロントエンド開発」では、今注目のBackends For Frontends(BFF)について数回にわたって解説します。初回である今回は「超入門」としてBFFの概要や事例を中心に紹介します。第2回はBFFの作り方について、第3回はBFFを使ったフロントエンド開発者主導のマイクロサービス/API化の手順について解説します。 想定読者は、Webア

    BFF(Backends For Frontends)超入門――Netflix、Twitter、リクルートテクノロジーズが採用する理由
    sh19e
    sh19e 2018/03/14
  • 【図解】git-flow、GitHub Flowを開発現場で使い始めるためにこれだけは覚えておこう

    連載「こっそり始めるGitGitHub超入門」では、バージョン管理システム「Git」とGitのホスティングサービスの1つ「GitHub」を使うために必要な知識を基礎から解説していきます。具体的な操作を交えながら解説していきますので、連載を最後まで読み終える頃には、GitGitHubの基的な操作が身に付いた状態になっていると思います。 前回記事「たった3つで共存できる、GitGitHubとSubversion(SVN)の連携、移行に関する基操作」では、Subversionとの連携や移行について解説しました。 連載の最終回となる今回のテーマは「GitGitHubのワークフロー」です。幾つか存在するバージョン管理のワークフローのうち「git-flow」「GitHub Flow」の概要を解説します。 git-flowgit-flow」はVincent Driessen氏の「A

    【図解】git-flow、GitHub Flowを開発現場で使い始めるためにこれだけは覚えておこう
  • ゼロから学ぶ! Single Page Applicationの特徴と主なフレームワーク5選

    連載「モダンなフロントエンド開発者になるためのSPA超入門」では、フロントエンド開発のアーキテクチャである「SPA(Single Page Application)」について、開発に必要となる各種フレームワークの特徴や、サンプルアプリ開発を通じたSPA開発の流れ、フレームワークによる作り方の違いなどを紹介します。 サンプルアプリ開発では、SPA開発において人気がある「React」「Angular2」の使用を予定しています。第1回目である今回は、SPAの特徴と取り巻く環境、フレームワークを紹介します。 SPAとは SPAはAdobe FlashやMicrosoft SilverlightといったリッチなUIを提供できるRIA(Rich Internet Application)に代わるフロントエンド開発の技術として、ブラウザの進化やHTML5の登場などによって誕生したアーキテクチャです。H

    ゼロから学ぶ! Single Page Applicationの特徴と主なフレームワーク5選
    sh19e
    sh19e 2017/02/22
  • 第1回 Dockerとは

    Docker(ドッカー)」とは、非常に軽量なコンテナ型のアプリケーション実行環境である。dotCloud社(現Docker社)が開発し、2013年にオープンソースのプロジェクトとして公開された。ソフトウェアの高速な配布・実行や容易なイメージのカスタマイズ、導入運用の手軽さ、豊富なプレビルドイメージの提供などの理由により、当初はソフトウェアの開発やテスト段階における利用が多かったが、現在ではパブリッククラウドからオンプレミスシステムまで、さまざまなシーンで急速に普及しつつある。 軽量なコンテナ型の仮想化環境Docker 独立したアプリケーション実行環境といえば、PCのハードウェア全体を仮想化して、その上でOSやアプリケーションなどを動作させる仮想実行環境を真っ先に思い浮かべることが多いだろう。ハイパーバイザ型(Hyper-Vなど)やホスト型(VMware PlayerやWindows Vi

    第1回 Dockerとは
    sh19e
    sh19e 2017/01/30
  • 子どもだけではなく全ての日本国民にとってプログラミングが重要である、たった1つの理由

    特集:小学生の「プログラミング教育」その前に 政府の成長戦略の中で小学校の「プログラミング教育」を必修化し2020年度に開始することが発表され、さまざまな議論を生んでいる。そもそも「プログラミング」とは何か、小学生に「プログラミング教育」を必修化する意味はあるのか、「プログラミング的思考」とは何なのか、親はどのように準備しておけばいいのか、小学生の教員は各教科にどのように取り入れればいいのか――特集では、有識者へのインタビューなどで、これらの疑問を解きほぐしていく。 今回はビジュアルプログラミングツール「Viscuit」の開発者である原田康徳氏に話を伺った。 コンピュータとは何か――共生のためには子どもだけではなく大人も学ぶべき 「『2045年にシンギュラリティ(技術的特異点)が起こり、人間の仕事人工知能つまりコンピュータに奪われる』『人類がコンピュータに支配される」などとよくいわれて

    子どもだけではなく全ての日本国民にとってプログラミングが重要である、たった1つの理由
  • いまさら聞けないReact、Virtual DOM、JSX超入門

    Reactとは――その3つの特徴 「React」はFacebookが公開している、ユーザーインタフェース(以下、UI)を効率的に構築することを目的としたWebフロントエンドフレームワーク(JavaScriptライブラリ)です。 Reactには、次のような特徴があります。 シンプル Reactを使ってUIを実装すると、「アプリケーションがどのように見えるか」を単純に表現できます。 叙述的 コンポーネントの状態がReactによって管理され、データに変更があるときには更新の必要があるコンポーネントだけ更新されるようになります。そのため、効率的にレンダリングさせることができます。 コンポーネントベース 「状態」の管理がカプセル化されたコンポーネントを使って、複雑なUIを構築することができます。コンポーネントの組み合わせでアプリケーションを構築することにより、コードの再利用やテストなどを実施しやすく

    いまさら聞けないReact、Virtual DOM、JSX超入門
  • Electron 1.0でデスクトップアプリ開発超入門――動作の仕組み、基本的な使い方、セキュリティの懸念点

    いまさら聞けないElectronとは Electronは、クロスプラットフォーム向けのデスクトップアプリを開発できる、オープンソースソフトウェア(OSS)の開発プラットフォームです。HTMLCSSJavaScriptといったWebフロントエンド技術を使って開発できるという特徴があり、Node.jsとChroniumで動作する、WindowsMac(OS X)、Linuxなどのデスクトップ向けアプリを開発できます。 Electronは米GitHubが開発しており、「Atom」「Slack」「Visual Studio Code」などメジャーなデスクトップアプリで使われています。 2016年5月11日、Electronのメジャーバージョン「1.0」が公開されました。また、Electron製アプリの検証やデバッグなどを行うことができる「Devtron」のメジャーバージョン「1.0」、テステ

    Electron 1.0でデスクトップアプリ開発超入門――動作の仕組み、基本的な使い方、セキュリティの懸念点
  • 初心者でもWindowsやmacOSでできる、Gitのインストールと基本的な使い方

    連載「こっそり始めるGitGitHub超入門」では、バージョン管理システム「Git」とGitのホスティングサービスの一つ「GitHub」を使うために必要な知識を基礎から解説していきます。具体的な操作を交えながら解説していきますので、連載を最後まで読み終えるころには、GitGitHubの基的な操作が身に付いた状態になっていると思います。 連載第1回のテーマは「Gitを使い始めるための環境構築」です。Gitのインストールと動作確認の手順について、WindowsmacOSそれぞれの環境に対して解説していきます。ぜひ、この機会に環境構築にチャレンジしてみてください。 Windows環境でのGitのインストール 先にWindowsへのインストール手順を解説していきます。筆者が実行した環境は「Windows 11」です。 Git for Windows 2.40.0のダウンロード 下記UR

    初心者でもWindowsやmacOSでできる、Gitのインストールと基本的な使い方
  • サーバ管理者も開発者も知っておきたい構成管理ツールとAnsibleの基礎知識

    近年Webアプリが増え、サーバの環境構築を行ったり、アプリのデプロイを行ったりする機会が増えてきました。しかし、いまだにこのようなサーバ作業をマニュアル頼りに手作業で行っていることもあるかと思います。環境構築やデプロイなどを何度も行う場合は自動化したいところです。 サーバ作業を自動化しようと考えたとき、最初に思い浮かぶのはシェルスクリプトを利用することではないでしょうか。シェルスクリプトを使って環境構築やリリースを自動化することは可能ですが、シェルスクリプトだけだと手間が掛かってしまう作業もあります。 例えば、リリースを行う環境が複数ある場合、scpでビルド成果物を送り、sshで接続してリリース用スクリプトを実行する、といった作業が環境ごとに必要になってしまいます。 また、ファイルの追記や修正などを行うシェルスクリプトが途中で失敗してしまった場合、シェルスクリプトを修正した後にそのまま再実

    サーバ管理者も開発者も知っておきたい構成管理ツールとAnsibleの基礎知識
  • WordPress自体のチューニングが必要な理由と高速化の基本的な考え方

    企業のCMSサイトやオウンドメディアなどエンタープライズ用途での利用が増加しているWordPressの高速化について解説する連載。初回は、WordPressの高速化が求められる背景や、WordPress高速化の基的な考え方であるページのロード時間とその構成要素、1秒当たりの同時アクセス数について解説します。 WordPressの高速化が求められる背景 「WordPress」は世界中で最も使われているCMS(Contents Management System)のソフトウエアです。「W3Techs」の統計によると、世界中のWebサイトの約24%、CMSソフトウエアを利用したWebサイトの約6割で利用されています(参考「Usage statistics and market share of WordPress for websites」)日国内に限定すると、CMSソフトウエアを利用したW

    WordPress自体のチューニングが必要な理由と高速化の基本的な考え方
  • Rubyの面白さを理解するためのメソッド、ブロック、Proc、lambda、クロージャの基本

    連載目次 連載7回目に当たる前回「Rubyのオブジェクト指向におけるクラスとモジュール、継承、Mixin、アクセス制御の使い方」では、Rubyのオブジェクト指向言語としての一側面を形作る、クラスやモジュールの概要と基的な書き方を説明しました。 クラスやモジュールを駆使して、プログラムを適切に部品化して再利用したり、コードの重複を防ぐことは、Rubyで大規模なアプリケーションを作成するために役立ちます。 連載8回目に当たる今回は、メソッドやブロックといった仕組みについて掘り下げていきます。以降の連載で解説するメタプログラミングを学ぶ上での基礎知識となるので、しっかりと学んでいきましょう。 オブジェクトに干渉するための唯一の方法「メソッド」 メソッドは、Rubyにおいてオブジェクトに干渉するための唯一の方法です。これまでの連載では、メソッド以外のテーマに焦点を当てて解説するために深く言及せず

    Rubyの面白さを理解するためのメソッド、ブロック、Proc、lambda、クロージャの基本
  • NginxをWebサーバー“以外”でも徹底活用する

    Nginxは高速化だけではありません。Webサーバー以外への応用事例として、ロードバランサー、HTTPS対応、WAFとしての利用を紹介します。 連載目次 Nginxの活用 「高速・軽量・高機能WebサーバーのNginx」連載の最終回にあたり、今回はNginxのWebサーバー以外の活用方法を紹介します。 NginxはWebサーバー以外にも、ロードバランサーやHTTPSサーバー、WAF(Webアプリケーションファイアウォール)、キャッシュサーバーとして利用することができます。そもそもNginxが開発されたのは、Apache HTTPDのロードバランシング機能に対するパフォーマンス不足からでした。そのためNginxのロードバランシング機能はパフォーマンスが高く、またさまざまな付加機能を持ち合わせています。 例えばHTTPSとロードバランサーを組み合わせHTTPSアクセラレーションを実現したり、W

    NginxをWebサーバー“以外”でも徹底活用する
    sh19e
    sh19e 2014/09/19
  • 初心者がWebフロントエンドを高速化するための基礎知識

    連載目次 ブラウザーの持つ開発ツールとその使い方を紹介する連載「無料で使えるブラウザー開発ツール入門」の第2回です。初回の「初心者がブラウザーでデバッグするための基礎知識」では、フロントエンド開発を始めた方が、ブラウザーに組み込まれている開発ツールを使ってアプリの不具合を見つけ、修正するためのツールとその基的な利用方法を紹介しました。 前回紹介した「DOMインスペクター」「スタイルエディター」「JavaScriptデバッガー」を駆使して、不具合の原因特定と修正を行えるようになり、意図通りに動作するアプリを作成できるようになった方も多いのではないでしょうか。 ところが、フロントエンド開発者には不具合の修正と同様、一定のパフォーマンスの確保もアプリ作成で必要とされます。誰もが体験されたことがあると思いますが、「自分の思い通りに動作してはいるのだが、どうにもこうにも遅くてストレスがたまる」とい

    初心者がWebフロントエンドを高速化するための基礎知識
  • 5分で絶対に分かるVPN (1/6):5分で絶対に分かる - @IT

    VPN(Virtual Private Network)とはいったい何だ 外出先などからインターネット経由で安全に社内へアクセスしたり、特定のビジネスパートナーに対して安全に情報を提供したりするニーズが高まっている。以前は、このようなニーズに対しては専用線か、Webベースでの暗号化接続を提供するSSL(Secure Sockets Layer)、メールの暗号化という方法が主に用いられた。 しかし、サービスが多様化するにつれて、利用するアプリケーションを意識することなく通信を暗号化したいというニーズが高まってきた。そうした要求に対して最も有効なソリューションが、「Virtual Private Network(VPN)」だ。 では、VPNのイメージを解説しよう。

    5分で絶対に分かるVPN (1/6):5分で絶対に分かる - @IT
  • Nginxのインストールと基本設定

    処理能力の高さなどを理由に、近年、大規模サイトを中心に急速にシェアを拡大しているWebサーバー「Nginx」について紹介します。連載第2回では、インストール方法と基的な設定内容を解説します。 連載目次 Nginxのインストール手段 Nginxをインストールする方法は主に2通りあります。ソースファイルをビルドする方法とバイナリパッケージを利用する方法です。 ソースファイルを使ってインストールすると、無駄なモジュールを省いてバイナリを最適化できたり、インストールパスや設定ファイルのパスをカスタマイズできたりしますが、開発環境を用意する必要があります。 バイナリパッケージを使えばインストールやアップデートが手軽に実行でき、ディストリビューションのパッケージツールで一元管理できますが、バイナリの最適化やインストールパスのカスタマイズはできません。 用途に応じた適切なインストール方法については表1

    Nginxのインストールと基本設定
  • Dockerfileとdocker buildコマンドでDockerイメージの作成

    前回の「ついに1.0がリリース! Dockerのインストールと主なコマンドの使い方」では、Docker EngineのインストールからDockerコンテナーを作成し、Dockerイメージに保存するところまでを紹介しました。 Dockerは開発のスピードが速く、7月3日にはバージョン1.1.0がリリースされています。詳細はブログ「ANNOUNCING DOCKER 1.1.0」を参照してください。 今回は、Dockerコンテナーの構成とDockerイメージの作成を一括で行う、「Dockerfile」ファイルと「docker build」コマンドの利用方法を紹介します。 docker run/docker commitコマンドによるコンテナー作成の限界 前回はDockerコンテナーを「docker run」コマンドで起動し、コンテナー内でソフトウェアのインストールやサービス起動など自由に構成で

    Dockerfileとdocker buildコマンドでDockerイメージの作成
  • 高速・軽量・高機能……Nginxの基礎知識

    処理能力の高さなどを理由に、近年、大規模サイトを中心に急速にシェアを拡大しているWebサーバー「Nginx」。この連載では、その特徴と魅力を分かりやすく紹介します。 第3のWebサーバーとして注目を集めるNginx 1日に数億リクエストを処理するような大規模サイトを中心に、近年急速にシェアを拡大しているWebサーバーが「Nginx(エンジンエックス)」です。HTMLドキュメントや画像ファイルといった静的コンテンツを高速で配信し、消費メモリが少なく、リバースProxyやロードバランサーといった機能も有した注目の軽量Webサーバーです。ネットクラフト社の調査によると、2014年6月時点でApache HTTP、Microsoft IISに次ぐ第3位のシェアを獲得しています。 依然としてApache HTTPやMicrosoft IISのシェアは高いものの、Nginxの認知度は日に日に高くなって

    高速・軽量・高機能……Nginxの基礎知識
    sh19e
    sh19e 2014/06/18
  • ついに1.0がリリース! Dockerのインストールと主なコマンドの使い方

    連載目次 日、Docker 1.0がリリースされました。開発元であるDocker社は公式ブログで、「エンタープライズでの活用に耐え得るものになった」と述べています。また、これと同時に企業向けサポートやトレーニング、コンサルティングも開始すると発表(参考:公式ブログ)。今後、企業での活用も増えることが予想されます。 1.0のリリースに合わせて、Dockerの名称変更がアナウンスされました。前回の「アプリ開発者もインフラ管理者も知っておきたいDockerの基礎知識」で概要、特徴や動作環境を説明したDocker体となるソフトウェアは、今後「Docker Engine」と呼ばれることになります。これにDocker社が提供するWebサービスである「Docker Hub」、APIを介して連携するサードパーティのソフトウェア/サービスによるエコシステムを含めたDockerによるプラットフォーム全体

    ついに1.0がリリース! Dockerのインストールと主なコマンドの使い方
  • アプリ開発者もインフラ管理者も知っておきたいDockerの基礎知識

    関連記事 共同プロジェクトも展開:Red Hat、Linuxコンテナ技術で米新興企業と提携 米Red Hatは、Linuxの次世代コンテナ技術に関して、米新興企業と提携を結んだと発表した。Red Hat Enterprise Linuxに「Docker」を組み合わせて、Red HatのPaaS製品の強化を目指す。 認定ホスト間でのシームレスな機能を保証:米レッドハット、コンテナー化されたアプリケーションの認定プログラムを発表 米レッドハットは2014年3月11日、コンテナー化されたアプリケーションの認定プログラム「Red Hat Container Certification」を発表した。既存のアプリケーション認定プログラムの延長だ。 ユーザーは「PaaS」「IaaS」を求めているわけではない:狭義の「PaaS」を超えようとするレッドハットのOpenShift レッドハットは、PaaS製品

    アプリ開発者もインフラ管理者も知っておきたいDockerの基礎知識
    sh19e
    sh19e 2014/05/17
  • 各ディレクトリの役割を知ろう(ルートディレクトリ編)(1/2)

    ディレクトリを知ればLinuxが見えてくる Windowsを使っている人であれば、ディレクトリごとに役割や約束事があることはご存じでしょう。 アプリケーションをインストールする場合は、通常\Program Filesフォルダ下にサブフォルダを作ってファイルを保存します。Windows 2000であれば各ユーザー固有の設定は\Documents and Settingsフォルダ下にあり、\WINNTにはOS体のファイルが集められています。各ユーザーが作成したデータの保存先は、ユーザー用の[マイ ドキュメント]であり、ちょっと詳しい人ならこのアイコンの実体が\Documents and Settings\ユーザー名\My Documentsであること、好きなフォルダにマッピングし直せることも知っているでしょう。 しかし、WindowsからLinuxに移行した途端、いままでのセオリーはまったく

    各ディレクトリの役割を知ろう(ルートディレクトリ編)(1/2)
    sh19e
    sh19e 2014/04/19