概要
第1特集
パフォーマンスを向上させるテーブル設計とSQL
“速い”データベースの作り方
データベースをアプリケーションのボトルネックにさせないために,考えなければならないことは何でしょうか。
まずはデータベースの基礎部分,テーブル設計を見直しましょう。正規化をしたうえで,適切なインデックスを張ることが肝心です。その次は,データベースを操作するSQL。SELECTやWHEREといった「句」がどのような順番でどのように処理されるのかを理解することで,遅いSQLの原因がわかります。RDBMSの持つ強力な機能も,高速化のための武器になります。OSSのRDBMSであるMySQL・PostgreSQLについて,それぞれの持つ機能,得意分野を知りましょう。さらなる高速化のための手法として,RDBMS以外のデータストアも検討します。今回はインメモリのKey-Value Store,Redisを取り上げます。
第2特集
HashiCorp入門
Vagrant,Packer,Terraform,Consul――いっきにわかる使い方
コンピュータは,作業をもっと便利にするための道具であるはず。スマホ対応や,その他ユーザニーズに合わせて日々複雑化するITシステム。そんな開発の現場のニーズをくみ取ったツール群が,HashiCorpにあります。
HashiCorpがツールやサービスを開発・提供する際にベースとなる重要な考え方が「The Tao of HashiCorp(HashiCorp 道)」です。これはインフラをコードとして管理し,自動化しようとする原理原則です。ワークフローが優先であり,技術ありきではなく,シンプルでモジュール型であり連携できるものであること,そしてインフラをコード化することです。
同社が提供するツール群の中でも基本中の基本とも言えるのがVagrantで,ローカルの開発環境構築を自動化できます。Packerは仮想マシン・イメージを自動的に構築するためのシンプルなツールです。Terraformはクラウドや仮想化などのインフラ管理の自動化を目指します。Consulは運用やメンテナンスにおいてサービス・ディスカバリをするツールです。本特集ではこれらのツール群の使い方をまとめました。きっとみなさんの日々の業務を推進するものになるでしょう。
第3特集
これが定番Linux環境だ!
Ubuntu 18.04 LTSの最新事情
Ubuntuは偶数年の4月にLTS,Long Term Support版のリリースを行っています。2年ぶり6番めのLTSリリースとなるUbuntu 18.04 LTS(デスクトップ版とサーバー版)について,従来からの変更点や新機能を中心に紹介します。
一般記事
Jamesのセキュリティレッスン
【11】Wiresharkはじめました!
Wiresharkを使ったパケットキャプチャへの理解を深める本連載。今回は新年度スタートということで,パケットキャプチャ入門者に贈るWiresharkの導入解説です。インストールのポイントから画面の見方,必須となるフィルタの使い方を説明します。
一般記事
[短期連載]実践! GPUサーバでディープラーニング
【3】GPUサーバでつくるミニ囲碁プログラム(前編)
ここ数年,ディープラーニングを用いてさまざまな課題を解決しようとする取り組みが多くあります。ディープラーニングではGPU(Graphics Processing Unit)を用いてモデルを訓練する,ということをご存じの方も多いのではないでしょうか。連載の第3回はディープラーニングの成功事例としてよく取り上げられる「囲碁」を題材に,CPUとGPUとで学習を行いながら,どのようにしてディープラーニングが利用されているかを前後編に分けて解説していきます。
一般記事
[短期連載]ARKitとUnityで作るiPhone ARアプリ集中特講
【5】ARペット育成ゲームの仕上げ
AppleはiPhoneやiPadでのAR体験をユーザにもたらそうとしています。最新のiOS 11でリリースされた「ARKit」はそのARアプリケーションを開発するためのフレームワークです。この短期連載では,AR空間や物理エンジンの使い方を理解し,シンプルなARゲームを完成させることを目的とします。最終回となる今回は,猫の3Dモデルとのお遊びに経験値の概念を入れ,よりゲームらしく仕上げて完成です!
サポート
ダウンロード
(2018年4月16日更新)
P.124 「連載 scikit-learnで学ぶ機械学習アルゴリズム」
記事で紹介した最小二乗法による線形回帰の機械学習を試すためのサンプルコードを以下からダウンロードできます。ダウンロードファイル「linear_model.zip」は圧縮ファイルです。解凍したうえでご利用ください。
圧縮ファイル内の「linear_model.ipynb」をGoogle Colaboratoryにアップロードすることで機械学習を試せます。Google Colaboratoryへのアップロード方法は,圧縮ファイル内の「Readme.txt」を参照してください。
- ダウンロード
- サンプルコード(linear_model.zip)
P.160 「Unixコマンドライン探検隊 第25回」サンプルプログラム
本誌P.160からの「Unixコマンドライン探検隊 第25回」で使用しているサンプルプログラムがダウンロードできます。ダウンロードしたzipファイルを解凍してご利用ください(shikatsu.bash,led_pi.bash,2darray.bash)。詳細については,記事をご覧ください。
なお,このサンプルは学習・実験用を目的としております。オリジナルの著作は著者に帰属しますが,読者が断りなく任意に利用・改変することができることとします。
- ダウンロード
- サンプルコード(sd05-unix25-sample.zip)
免責:本サンプルを使用することによって,使用者が受けたあらゆる不利益に対して,原著者および技術評論社はその責任を負いません。
正誤表
本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。
(2018年4月25日最終更新)
P.49 第1特集第3章「MySQL・PostgreSQL徹底比較」表4注釈
誤 |
また MySQL、 PostgreSQL の Repeatable Read ではファントムリードは発生しません。
|
正 |
またMySQL(non-locking Readのみ)、PostgreSQLのRepeatable Readではファントムリードは発生しません。
|