pixiv insideは移転しました! ≫ https://inside.pixiv.blog/

『pixivエンジニアが教えるプログラミング入門』という本が出ます

インフラチームの @catatsuy です.

f:id:catatsuy:20141114192037p:plain

去年非エンジニアの新卒にプログラミング研修というのをやりました.

非エンジニアの新卒にプログラミング研修を行いました - pixiv inside [archive]

縁あってこの研修の内容を書籍化しました.

Amazon では 2015/03/26 に発売されるそうです.

非エンジニア向けということで手軽に手に取れるように技術書ではなく新書として星海社さんから発売されます.内容は実際にやったプログラミング研修を同じく実際に Mac 上で動く画像投稿掲示板を作ってもらうという内容です.実際に作る画像投稿掲示板のコードは以下に公開しています.

catatsuy/sinatra_keijiban

以下の様な読者が対象読者であることを本書の『はじめに』に記述しました.

  • システムエンジニアプログラマーとプロジェクトを共にする、Webディレクター/デザイナーの方
  • プログラミングに興味はありつつも、なんとなく難しそうではじめるきっかけが掴めない方(10年前の筆者)
  • 就職/転職の結果、全くの未経験からシステムエンジニアになることになった方
  • プログラミングによって何か動くものが作ってみたい方

また同様の研修を考えているエンジニアには参考になる部分があると思いますのでそういう方にもおすすめします.

本書では社内でやったプログラミング研修を踏襲しつつ以下の様な変更を加えています.

  • 環境構築は最低限にして RubySQLiteMac 標準のものを使用する
    • 研修では rbenv と Homebrew を使ってインストールしていた
    • エンジニアがサポート出来ない状況でインストールさせるのは難しいと判断
  • jQuery を使って投稿に星を付ける機能を実装する
    • 実際の研修では時間が足りず,できなかった JavaScript を盛り込む
    • クリックすると動きがあるようなサイトはプログラミング初心者には感動が大きい
    • 機能はもちろんは◯なスターを参考にw

そのため内容を簡単に紹介すると以下のようになっています.

  • HTML と CSS の基礎
  • Sublime Text の使い方
  • OS とは何かと Windows/Mac/Linux の違い
  • Mac のターミナルの基本操作
  • Git と GitHub の基本的な使い方
  • Ruby の紹介と基本的なプログラミング
  • データベースと SQLite の使い方
  • XSSSQL インジェクションなど代表的な Web アプリケーションの脆弱性の紹介
  • Sinatra の使い方
  • JavaScriptjQuery の使い方
  • 実際に画像投稿掲示板を作っていく上での過程

どうしてこんな知識が必要なの?という疑問を起こさないように出来る限りどうして必要なのかも説明しています.また少しずつ画像投稿掲示板が出来ていくのでかなり実践的な開発を体験できます.要所要所で実際のピクシブ社内の開発の話を盛り込むことで実践的な内容であることが分かるようになっています.

実際の研修では口頭でフォローした部分などはちゃんと文章化したつもりです.また紙面だとコピペ出来ないのでサポートページを GitHub 上で用意しました.

catatsuy/support_programming

エンジニアならばこのサポートページを見るだけでどういった内容を書いているのかなど分かると思うのでぜひ参考にしてください.

現場のエンジニアがここまで昨今の実際の Web アプリケーション開発を意識して実際に動くものをエンジニアではない人に作らせるという内容の本はなかなか無いと思います.また Mac に限定したことで環境構築作業を極限まで少なくし,しかも基本的な UNIX のコマンドも解説しています.

この本によってプログラミングを学ぶ人が一人でも増えることを期待しています.