書籍概要

Software Design 20187月号

バックナンバー一覧

発売日
更新日

概要

第1特集
なぜ選ばれ続けるのか?
Vim絶対主義

テキストエディタ「Vim」は開発環境の選択肢の1つとして,世界中のエンジニアに選ばれ続けています。ランキングによってはIDE(統合開発環境)にも引けを取らないほどのユーザ数の多さを示していますが,一体Vimの何が,これほどまで人々を惹きつけているのでしょうか。

本特集ではVimを触ったことがないという入門者向けに,vi/Vimの歴史の解説から環境ごとのインストール,基本操作,設定方法,プラグインの入れ方まで手厚く解説しています。手元の環境にVimを入れて実際に動かすことで,「なぜVimなのか」の答えがわかるかもしれません。

第2特集
プロはこうして便利に使う!
エピソードで覚えるUnixコマンド20

初心者がLinuxやmacOSのコマンドラインインターフェースを学ぶ場合,ls,cd,mvなどのコマンドでファイル操作程度ができるようになったら,次に何を学ぶべきでしょう? 実務ですぐに活かせるコマンドなら即戦力になってうれしいけれど……でも,どんな場面でどのコマンドが使えるのでしょう?

そこで,第一線で活躍中のエンジニア7人にお勧めのコマンドを聞きました。さらに,どんなときにそのコマンドが役立ったかというご自身のエピソードも披露してもらいました。

これらのエピソードを読んで,7人の経験をみなさんの知識としましょう。似たシチュエーションに出くわしたときに,記憶がよみがえり,お勧めコマンドで問題に対処できるようになること請け合いです。

一般記事
[短期連載]オープンソース&GitHub開発で役立つGPGの使い方
【1】GPGの紹介と導入手順

暗号ソフトウェア「GPG(GnuPG)」は,コードやメールなどの作者を証明し,改ざんなどを防ぐ手段として,オープンソースソフトウェアの開発にはなくてはならない重要なツールです。本連載では,GitやGitHubで自分の電子署名を付けられるようになることを目標に,GPGの使い方を解説していきます。

第1回は,GPGの役割と開発経緯,そして各OSでのインストール手順を説明します。

一般記事
[短期連載]PHPで学ぶコンピュータアーキテクチャ
【2】メモリとI/Oのエミュレーション

世界初のコンピュータと言われるENIAC(エニアック)が生まれて70年あまり。現在のコンピュータの多くはノイマン型コンピュータと呼ばれる設計に基づいており,メモリに保存された命令を順番に実行していくという設計になっています。

本連載では携帯型ゲーム機「ゲームボーイ」と,その動作をソフトウェア的に再現したエミュレータのコードを読みながら,ノイマン型コンピュータのCPUがどのように命令を解釈し動作するのか,また,ディスプレイや入力装置とのやりとりをどのように行っているのかについて解説します。今回はメモリアクセスとI/Oアクセスについてです。

目次

第1特集
なぜ選ばれ続けるのか?
Vim絶対主義

  • 序章:Vimってどんなエディタ?
    vi誕生からの歴史をひも解く
    …… mattn
  • 第1章:Vimのインストールと初期設定
    macOS/Linux/Windowsで環境構築
    …… 東 浩仁
  • 第2章:Vimの基本操作
    モードの概念に頭を慣らす
    …… mattn
  • 付録:[必携]Vimベーシックチートシート
    …… mattn
  • 第3章:設定ファイルを書こう
    自分だけのVimへカスタマイズ
    …… ujihisa
  • 第4章:Vimプラグインの使い方
    脱初心者へ最初の一歩
    …… 伊藤 淳一

第2特集
プロはこうして便利に使う!
エピソードで覚えるUnixコマンド20

  • EPISODE 1:若手シェル芸人が手放せない
    grep,sed
    …… 山田 泰宏
  • EPISODE 2:コマンド操作解説漫画『シス管系女子』著者お勧め
    curl,jq
    …… Piro/結城 洋志
  • EPISODE 3:学生時代からサーバ管理をしていた若手が先人から学んだ
    tee,at,:
    …… 小林 巧
  • EPISODE 4:Ubuntuマスターがお勧めする便利コマンド
    diff,comm,apg,mktemp,pdfseparate,pdfunite
    …… 水野 源
  • EPISODE 5:サーバ管理のスペシャリストお勧め
    ssh,rsync
    …… 馬場 俊彰,阿部 貴晶
  • EPISODE 6:初心者教育のスペシャリストが教えたい
    lsof,netstat,nmap
    …… 宮原 徹
  • EPISODE 7:Red Hatのエンジニアがバックアップ時にお勧めする
    fsfreeze,findmnt
    …… 平 初

一般記事

  • [短期連載]オープンソース&GitHub開発で役立つGPGの使い方
    【1】GPGの紹介と導入手順…… やまねひでき
  • [短期連載]PHPで学ぶコンピュータアーキテクチャ
    【2】メモリとI/Oのエミュレーション…… 長谷川 智希

Catch Up Trend

  • 【新連載】業務を改善する情報共有の仕掛け
    【1】DevOps実現への基盤作り…… 西川 浩平

Test Report

  • NETGEAR ReadyNAS徹底運用<第2幕>
    【5】メディアサーバの構築…… 後藤 大地

連載

  • ITエンジニア必須の最新用語解説
    【115】GraalVM……杉山 貴章
  • digital gadget
    【235】美しいガジェット……安藤 幸央
  • 結城浩の再発見の発想法
    【62】ブートストラップ……結城 浩
  • 図解Linuxのしくみ
    【3】ポーリングと割り込み……武内 覚
  • 宮原徹のオープンソース放浪記
    【29】2018年度のOSCは名古屋から……宮原 徹
  • 平林IT万能技術研究所
    【2】深層学習で「体が入れ替わってる!?」妄想カメラを作る!……平林 純
  • ひみつのLinux通信
    【53】仕事のBGMは何ですか?……くつなりょうすけ
  • 応用がきくDockerイメージの作り方
    【2】オレオレDockerイメージを作ろう……樽石 将人
  • scikit-learnで学ぶ機械学習アルゴリズム
    【3】k-meansによるクラスタリングとデータ前処理……清水 琢也
  • シェル芸人からの挑戦状
    【11】文章の修正……上田 隆一,青木 裕哉,山田 泰宏,田代 勝也
  • Androidで広がるエンジニアの愉しみ
    【25】Google I/O 2018最新レポート……嶋 是一
  • 書いて覚えるSwift入門
    【38】Swift Package Manager……小飼 弾
  • セキュリティ実践の基本定石
    【55】期間限定イベントサイトは水飲み場攻撃の格好の標的……すずきひろのぶ
  • SOURCES~レッドハット系ソフトウェア最新解説
    【22】OpenSCAPを利用したセキュリティ対策……小島 啓史
  • Debian Hot Topics
    【57】Debian はどのように開発されているのか?……やまねひでき
  • Ubuntu Monthly Report
    【98】Ubuntu 18.04 LTSの落ち穂拾いと日本語Remix……あわしろいくや
  • Unixコマンドライン探検隊
    【27】ネットワーク(その4)……中島 雅弘
  • Monthly News from jus
    【81】ディレクトリも数学も何でも処理するシェル芸……りゅうちてつや,小林 峻
  • Hack For Japan~あなたのスキルは社会に役立つ
    【79】街に寄り添うAI・Botサービスを開発する……津田 恭平,高橋 憲一

サポート

ダウンロード

P.108 連載「scikit-learnで学ぶ機械学習アルゴリズム」

記事で紹介したk-meansによるクラスタリングの機械学習を試すためのサンプルコードを以下からダウンロードできます。ダウンロードファイル「k-means.zip」は圧縮ファイルです。解凍したうえでご利用ください。

圧縮ファイル内の「k-means.ipynb」をGoogle Colaboratoryにアップロードすることで機械学習を試せます。Google Colaboratoryへのアップロード方法は,圧縮ファイル内の「Readme.txt」を参照してください。

ダウンロード
サンプルコード(k-means.zip)

補足情報

P.102 連載「応用がきくDockerイメージの作り方」

記事内で紹介するソースコードを下記のGitHubリポジトリで公開していく予定です。記事とあわせてご活用ください。

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2018年6月19日最終更新)

P.37 第1特集付録「[必携]Vimベーシックチートシート」

以下のコマンドが重複しておりました。

  • [ノーマルモード]-[ファイル操作]部分
    「上書き保存」
    「上書き保存してウィンドウを消す」
    「すべて上書き保存して終了」
    「保存せずにウィンドウを消す」
  • [ノーマルモード]-[ウィンドウ操作]部分
    「保存せずにウィンドウを消す」

(以下2018年6月18日更新)

P.21 第1特集第1章「Vimのインストールと初期設定」,右段上から2つめのコマンド実行画面

$ brew install --HEAD --with-gettext
--with-override-system-vi

$ brew install vim --HEAD --with-gettext
--with-override-system-vi

商品一覧