タグ

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

  • JavaScriptを中心としたWebアプリ開発の栄枯盛衰まとめ――LiveScriptからAngularJS/React.jsまで

    JavaScriptを中心としたWebアプリ開発の栄枯盛衰まとめ――LiveScriptからAngularJS/React.jsまで:15周年記念特別企画 @ITが誕生した2000年頃はJavaScriptが不遇だった時代。そこから現在のような人気のプログラミング言語になるまでには、どのような歴史があったのか。15周年を迎えた@ITの豊富なWeb開発関連記事とともに振り返る。 2015年6月17日に、JavaScriptの最新標準仕様となる、ECMAScript 6(ES6、ECMAScript 2015)が正式に承認されました(参考)。1997年にECMAScriptのバージョン1がリリースされてから6度目のアップデートとなり、これまでの中で一番大きな変更が加えられたことになります。 稿では、ECMAScript 6が正式に承認されたということもあり、2000年頃の第一次ブラウザー戦争

    JavaScriptを中心としたWebアプリ開発の栄枯盛衰まとめ――LiveScriptからAngularJS/React.jsまで
  • Apple WatchやiPhoneのアプリを作ろう! Playgroundで学ぶSwiftの基礎―変数、定数、型、演算

    連載目次 前回の「スマホ世代でも分かるMacの基的な使い方&Xcodeをインストールする手順」では、Macの基的な使い方とiOSアプリの開発用アプリケーション「Xcode(エックスコード)」をインストールし、起動するところまでを解説しました。iOSアプリはどのような環境で開発できるのか、ご理解いただけたかと思います。 また前回、Xcode 6.2ではiPhoneiPadアプリのみならず、2015年4月24日に日でも発売開始となって話題のApple Watchのアプリも作れるようになったことに触れました。Apple Watchを手に入れた方は、連載を読んでアプリ開発に挑戦してみてください。Apple Watchが使われるのは、これからなので、画期的なアイデアを思いついてアプリを開発したら一気に有名人になれるかもしれません。 今回から、いよいよプログラミングに挑戦しましょう! 前回紹

    Apple WatchやiPhoneのアプリを作ろう! Playgroundで学ぶSwiftの基礎―変数、定数、型、演算
  • サンプル例に見る機能仕様書の基本的な書き方&読みやすくする7つのテクニック (1/3):プロジェクト成功確率向上の近道とは?(2) - @IT

    サンプル例に見る機能仕様書の基的な書き方&読みやすくする7つのテクニック:プロジェクト成功確率向上の近道とは?(2)(1/3 ページ) ITシステム開発の問題点の一つであるコミュニケーションの失敗。連載では、これを防ぐ方法としてお勧めしたい3つのドキュメントを紹介していく。今回は、Joelの機能仕様書を日人向けにカスタマイズされたものを例に、機能仕様書の基的な書き方、読みやすくする7つのテクニック、仕様書作成ツールは何を使うべきか、誰が書くべきかなども解説します。 連載目次 連載の第1回の前回「ドキュメントは最強のコミュニケーションツールである――Joelの機能仕様書入門」では、ITシステム開発がビジネスに貢献していくためには、まずは開発の成功が出発点になること、そしてITシステム開発におけるコミュニケーションの重要性、そしてコミュニケーションにおけるドキュメントの重要性について説

    サンプル例に見る機能仕様書の基本的な書き方&読みやすくする7つのテクニック (1/3):プロジェクト成功確率向上の近道とは?(2) - @IT
  • 「192.168.0.100/24」のネットワークアドレスを即答するには? ipcalcコマンド

    「192.168.0.100/24」のネットワークアドレスを即答するには? ipcalcコマンド:ネットワーク管理の基Tips TCP/IPネットワークの設定を手動で行うとき、IPアドレスだけでなくサブネットマスクについても正しい情報を指定する必要があります。「192.168.0.100/24」のようにマスク長が計算しにくい値のときは、ipcalcコマンドを使うと簡単に計算できます。

    「192.168.0.100/24」のネットワークアドレスを即答するには? ipcalcコマンド
  • Railsアプリの設計をMVCごとに見直しリファクタリングして連載総まとめ

    連載目次 前回の『「設定より規約」のRailsで必要なセッティングの基礎知識と国際化/多言語対応』まで、サンプルプロジェクトの「book_library」を題材にRailsのさまざまな機能を紹介してきましたが、今回はRailsアプリケーション開発を紹介してきた連載のおさらいとして、サンプルプロジェクトをMVCごとにリファクタリングしたいと思います。 「book_library」は社内の書籍を管理するためのアプリケーションで、これまでRailsの各機能を紹介するため場当たり的にさまざまな機能を盛り込んできましたが、もっとシンプルに作ってみましょう。 コントローラーの見直し まずは、連載第7回の「Rails開発を面白くするアクションコントローラーの5大機能とルーティングの基」で解説したMVCの「C」、コントローラーです。コントローラーの見直しは名前空間やネストによる外部構造と、アクションの

    Railsアプリの設計をMVCごとに見直しリファクタリングして連載総まとめ
  • プッシュ通知の基礎知識&秒間1万を超えるプッシュ通知基盤のアーキテクチャと仕組みとは

    連載目次 プッシュ通知とは? なぜ開発者はアプリにプッシュ通知機能を搭載するのか スマートデバイスにおける「プッシュ通知」はアプリにとって欠かせない機能の一つであり、メールマガジンと同様に重要な集客ツールです(図1)。スマートフォンをお使いの方でしたら、一度はプッシュ通知を受け取ったことがあるのではないでしょうか。 プッシュ通知はユーザーがスマートデバイスを起動していなくても通知を送ることができる仕組みであり、以下の特徴があります。 開くと直接アプリを起動するためアクションにつながりやすい アプリをインストールしているユーザーのみに届くため開封率が高い 上記のような特徴から、プッシュ通知は以下の用途で使うことが多くなります。 リアルタイムな情報配信 直接アプリ起動につながるため、ニュースなどリアルタイム性の高い情報の配信に向く ユーザーのアクティブ率向上 開封率が高いため、定期的にアプリを

    プッシュ通知の基礎知識&秒間1万を超えるプッシュ通知基盤のアーキテクチャと仕組みとは
  • LAMPに代わる構成として注目のMEANスタックの基礎知識とインストール、ひな型作成

    LAMPに代わる構成として注目のMEANスタックの基礎知識とインストール、ひな型作成:MEANスタックで始めるWebアプリ開発入門(1)(1/3 ページ) MEANスタックを用いたWebアプリの開発方法について紹介していく連載。初回はMEANスタックの特徴と構成要素MongoDB、Express、AngularJS、Node.jsの概要、インストールの仕方とひな型の作成方法を解説。 連載目次 今でもよく使用されていますが、以前からWebアプリ開発ではLAMP環境がよく使用されていました。LAMPとは、一般的なWebアプリを開発するのに人気の高いオープンソースソフトウェアを組み合わせたもので、以下を用いたシステムのことです。それぞれの頭文字を取って「LAMP」と呼ばれています(参考)。 OS:Linux Webサーバー:Apache HTTP Server データベース:MySQL プログラ

    LAMPに代わる構成として注目のMEANスタックの基礎知識とインストール、ひな型作成
  • Windows XPパソコンにChromium OSをインストールして再利用する~Chromebookを作ってみよう~ (1/2):中古PC活用 - @IT

    Windows XPパソコンにChromium OSをインストールして再利用する~Chromebookを作ってみよう~:中古PC活用(1/2 ページ) 不要になったWindows XPパソコンにChromium OSをインストールし、Chromebookを作ってみよう。Chromium OS は、USBメモリから起動できるので気楽に試すことも可能だ。インストール方法やコツなどについて解説していく。 連載目次 やっと日国内でも「Chromebook」の販売が始まった。Chromebookとは、Googleが開発した「Google Chrome OS」を搭載した小型軽量のノートPCのことだ。クラウドストレージとWebブラウザーベースのアプリケーションを活用することにより、比較的低コストなハードウェアでも高度な機能を実現できるので期待されている。だが残念ながら、当面は企業向け・教育向け販売に限

    Windows XPパソコンにChromium OSをインストールして再利用する~Chromebookを作ってみよう~ (1/2):中古PC活用 - @IT
  • GitHub製フレームワークHubotの概要とインストール、チャットアプリと連携する基本的な使い方

    近年、ソフトウェア開発を取り巻く環境が急激に変化してきています。ネットワークの整備や、コミュニケーションツールの進化に伴い、リモートワークやインターネット上での協業も盛んに行われるようになってきました。チームメンバー全員の住んでいる国が違う、といったこともあるかもしれません。 しかし物理的に離れた環境で働くと、今まで対面で行っていたコミュニケーションを別の手段で代替しなければなりません。SkypeやGoogleハングアウトなどのビデオ通話、HipChatやSlackなどのチャットアプリを利用することで仕事上必要なコミュニケーションは取れるようになりますが、ソフトウェア開発に関わる状況確認は別のツールを使う必要があります。 特にオペレーションは、いつ、誰が、どのような対応をしたか把握していたいですよね。 このような課題を解決する一つのスタイルとして、「ChatOps」があります。ChatOp

    GitHub製フレームワークHubotの概要とインストール、チャットアプリと連携する基本的な使い方
  • 夏休みの子どもの自由研究に最適! 植物からメールをもらおう

    夏休みの子どもの自由研究に最適! 植物からメールをもらおう:Arduinoで始めるWeb技術者のためのIoT入門(3)(1/3 ページ) 今注目のInternet of Thingsを実現するセンサーデバイスのインターフェースとしてArduinoを使い、電子工作の基礎から実装までを紹介する連載。今回は、観葉植物の土が乾いたことを土壌温度センサーで検知し自動的にメールを送信するシステムをJavaScriptで作ります。

    夏休みの子どもの自由研究に最適! 植物からメールをもらおう
  • Nginxのインストールと基本設定

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

    Nginxのインストールと基本設定
  • あなたのWeb開発人生を変えるYeoman、Bower、Yoのインストールと使い方

    連載目次 前回記事「Gruntで独自タスクを定義し、独自プラグインをnpmモジュールとして作成・公開するには」では、Gruntを使っていろいろな手法でタスクを定義する手法や、独自プラグインを作成してnpmで公開する方法について解説しました。 今回は少し角度を変えて、Gruntを自身の機能として利用しており、快適な開発ワークフローを提供してくれるツール、「Yeoman」について解説します。 3つのツールを統合したワークフローを提供する「Yeoman」 Yeomanとは、公式サイトいわく、「The web's scaffolding tool for modern webapps」とのことです。 訳すと、「今風のWebアプリのための土台/基盤を作ってくれるツール」といったところでしょうか。「scaffolding」はRuby on Railsの主要機能として有名になった言葉で、コマンドを打つだ

    あなたのWeb開発人生を変えるYeoman、Bower、Yoのインストールと使い方
  • 環境構築自動化の手順と評価検証、Puppetの基礎知識

    R子 今日から担当に配属されたR子と申します。よろしくお願いします。 K男 こちらこそよろしく。ところで、R子さんは今までサーバー構築の経験はあるのかな? R子 入社時の研修でちょっとだけ……。 K男 R子さんも明日からばりばり構築してもらうよ。1日最低10台がノルマね。 R子 えぇ!? 不安だなぁ…… ちゃんと家に帰れます? うぇ~ん。 さて、R子さんは一体どうなるのでしょうか。1日10台がノルマといわれていますが、サーバー構成が同じ場合、一度構築してしまえば似たような単純作業の繰り返しになります。この単純作業を自動化することにより、効率的にサーバーを構築できるようになります。自動化できれば、10台であろうが、100台であろうが怖くありません。 連載では、こんなときに役立つサーバー構築の自動化技術について紹介していきます。 初心者でもサーバー構築/運用が自動化できるように サーバー構築

    環境構築自動化の手順と評価検証、Puppetの基礎知識
  • 高速・軽量・高機能……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の基礎知識
  • ついに1.0がリリース! Dockerのインストールと主なコマンドの使い方

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

    ついに1.0がリリース! Dockerのインストールと主なコマンドの使い方
  • 5分で分かるフラットデザイン

    iOS 7やWindows 8も採用した「フラットデザイン」。実際にフラットデザインを実現するにはどうすればいいのだろうか。 1分-フラットデザインとは何なのか アップルの開発者向け年次イベント「Worldwide Developers Conference(WWDC)」が米国時間6月10日に開幕し、基調講演で同社モバイルOSの次期版「iOS 7」が発表された。見た目の印象が従来版からガラリと変わっている。これは「フラットデザイン」という手法を採用したからだ。 フラットデザインとは、簡単にいうと、グラデーションを利用しない非常にのっぺりとしたデザインのことだ。

    5分で分かるフラットデザイン
  • Ruby 2.1の基本構文/基本文法まとめ&Pryの使い方

    Ruby 2.1の基構文/基文法まとめ&Pryの使い方:若手エンジニア/初心者のためのRuby 2.1入門(2)(1/7 ページ) オープンソースのオブジェクト指向プログラミング言語「Ruby」の文法を一から学ぶための入門連載。最新版の2.1に対応しています。今回は、Rubyの変数、定数、リテラル、演算子、条件分岐とループ(繰り返し)、コメントの基的な使い方について解説。Ruby 2.1での新機能や便利な実行ツール「Pry」のインストールと使い方も紹介します。

    Ruby 2.1の基本構文/基本文法まとめ&Pryの使い方
  • 知っていれば恐くない、XMLHttpRequestによるXSSへの対応方法

    知っていれば恐くない、XMLHttpRequestによるXSSへの対応方法:HTML5時代の「新しいセキュリティ・エチケット」(3)(1/2 ページ) 連載目次 皆さんこんにちは。ネットエージェントのはせがわようすけです。前回は、同一オリジンポリシーを突破する攻撃の代表的事例であるXSSについて、特にDOM based XSSと呼ばれるものについて解説しました。今回はその続きとして、XMLHttpRequestによるXSSを解説します。 XHR Level 2によるリモートからのコード挿入によるXSS 従来、XMLHttpRequest(以下、XHR)は、表示しているドキュメントと同じオリジン(オリジンについては第1回を参照)としか通信できませんでしたが、現在の主要なブラウザーではXHR Level 2と呼ばれる実装により、オリジンを超えて通信することが可能になっています。 これは、Jav

    知っていれば恐くない、XMLHttpRequestによるXSSへの対応方法
  • 知らないと働けないPHPの基本文法/構文と注意点

    オープンソースのWeb開発向けスクリプト言語「PHP」の文法を一から学ぶための入門連載「Web業界で働くためのPHP入門」。前回の「初心者がPHPプログラミングを始めるための基礎知識とXAMPPのインストール」では、PHPの概要や特徴を紹介し、環境構築や「Hello World!」までの手順などを解説しました。 今回からは環境がセットアップできている前提で進めますので、まだの方は前回を参照して準備をしておきましょう。 PHPタグでPHPのコードを埋め込む PHPでは、テキストファイルにコードを書けば、それをそのまま実行できます。このような言語は、他にPythonRubyPerlJavaScriptなどがあります。ただ、PHPの場合はテキストファイルに一定の形式で書くことが必要です。 それは、コードは「<?php」と「?>」というPHPタグの間に書かなくてはならない、ということです。例

    知らないと働けないPHPの基本文法/構文と注意点
  • テスト駆動開発/振る舞い駆動開発を始めるための基礎知識

    連載目次 2000年代初期に開発手法として確立された「テスト駆動開発」(Test Driven Development、以下「TDD」)は、その後10年もの間で普及が進み、今や珍しくない開発スタイルの1つとなっています。国内でも「アジャイルアカデミー」「TDD Boot Camp」などによる推進・普及活動が各地で活発化し、認知が広がってきました。 なおTDDは誕生からこれまでの間に、さまざまな工夫や実践上のノウハウが提唱されてきました。またTDDの普及に影響を受け、他のさまざまな「テストファースト」手法も台頭してきています。 稿では、そうしたTDDの発展や、振る舞い駆動開発(Behavior Driven Development、以下「BDD」)など他のテストファースト手法への展開についても解説します。 ※編集部注:ソフトウェアの「テスト」そのものの概要や種類について知りたい方は記事「J

    テスト駆動開発/振る舞い駆動開発を始めるための基礎知識