WEB+DB PRESS Vol.50

今号の特集概要

特集1
人月・派遣・業界構造,学ぶべき技術,仕事のルール
[“エンジニア社長”5人が明かす]新人時代に押さえておくべき50の知識

新入社員として春を迎えた方々にお贈りする本特集では,新人1年目~3年目くら いまでの時代をどのように生きていけばよいのか,「業界のしくみ」「エンジニ アライフ」「必要な技術知識」「仕事のルール」というテーマで,わかりやすく 解説していきます。特集の構成に際しては今回,ソフトウェアエンジニアとして “技術”に関心があり,新しい技術を積極的に追いかけたい新人エンジニアの方々 にとくに役立つ内容をお届けするために,5人の「エンジニア社長」による座談 会を実施し,その内容をもとにしてまとめています。なお,座談会の模様は下記 にて動画を公開しています。ぜひ,併せてお楽しみください。

エンジニア社長座談会

特集2
ブランチもマージも簡単な分散型バージョン管理システム
はじめてのGit

Gitギットは,LinuxカーネルやRuby on Railsのプロジェクトでも使われている,オープンソースのバージョン管理システムです。分散型バージョン管理システムであるGitは,集中型のシステムであるCVSやSubversionと比べ,高速に動作する,ブランチやマージの利用が簡単,オフラインでも使える,ほかのメンバーへの悪影響を恐れることなく思いきった変更を行える,といった利点を持っています。本特集では,Gitのプロジェクトリーダーである著者自らが,Gitについて徹底解説していきます。

特集3
Webアプリのパフォーマンス向上の一策
[旬のライブラリ大集合]key-valueストア入門

memcached,Tokyo Cabinet+TokyoTyrant,Berkeley DB,TinyCDB,HBase,HyperTable,repcached,Flare,groonga…メジャー級,日本発とさまざまなkey-valueストア実装が登場してきました。いまどきのWebアプリケーションでは,RDBMSのキャッシュとして用いるなどすることでパフォーマンスを上げる一手としてkey-valueストアの採用が増えています。とはいえ,実装の選択肢が多く,使いどころなど案外効果的な投入が悩ましいのがkey-value。本企画では,いまどきの基礎知識から各種ライブラリの特徴,Tokyo Cabinetとgroongaを例にしたPHP/Java/Perl/Ruby/Python対応のサンプルアプリケーション作成まで,初学者の方々に向け,今押さえておきたい技術情報を一挙に解説します。

新人歓迎特別企画
簡単! 開発/テスト環境の運用&作業術
[後輩に教えたくなる]Unix/Linux開発環境ミニマルスタイル

手元の開発環境はWindows,開発アプリケーションの動作環境はUnixという方は多いのではないでしょうか。普段なにげなく往き来している2 つのOS。慣れた環境とはいえ,この季節,これからやってくる新米エンジニアの方々に,いざゼロからあれこれ教えるとなると... 悩ましいところです。本企画では,Debian GNU/Linux+Ubuntuをおもな題材に,個人の開発/テスト環境としてのUnix/Linux の運用&作業術を取り上げます。開発への本格デビュー前の方々にばっちり伝受したい,そんな実践的な基礎知識を整理して,お届けします。

目次

特集1
人月・派遣・業界構造,学ぶべき技術,仕事のルール
[“エンジニア社長”5人が明かす]新人時代に押さえておくべき50の知識

  • エンジニア社長:羽生章洋(株)スターロジック,橋本正徳(株)ヌーラボ,久末隆裕(株)フラッツ,栗原傑享(株)グルージェント,米林正明(株)Abby"
  • 第1章:IT業界の見取り図
    業界のしくみ(1):受託開発が中心……杉山貴章
  • 第2章:IT業界はこれからも大丈夫か
    業界のしくみ(2):業界構造としての「人月」「派遣」を理解する……杉山貴章
  • 第3章:新人時代をどう生きたか
    エンジニアライフ(1):「伝票入力」「アルバイト部長」「ファックス係」… ……杉山貴章
  • 第4章:エンジニアの仕事を人生にどう位置付けるか
    エンジニアライフ(2):向いてる人,向いてない人……杉山貴章
  • 第5章:伸びる人が必ずしていること
    エンジニアライフ(3):好きなことにのめり込むという経験……杉山貴章
  • 第6章:新人時代に学ぶべきこと
    技術知識:重要なのは基礎技術力……杉山貴章
  • 第7章:当たり前なことをちゃんとやろう
    仕事のルール:あいさつ重要……杉山貴章

特集2
ブランチもマージも簡単な分散型バージョン管理システム
はじめてのGit

  • 第1章:Git入門
    バージョン管理システムの基礎,Gitの導入……Junio C Hamano
  • 第2章:Gitの基本概念とデータ構造
    さまざまなオブジェクト,ワークツリー,リポジトリ,ブランチ……Junio C Hamano
  • 第3章:ひとりで使う,Gitの基本的な使い方
    git add,git commit,git diff,git status,git show……Junio C Hamano
  • 第4章歴史をふり返る,歴史を書き換える
    git log,git revert,git reset,git rebase……Junio C Hamano
  • 第5章グループで使う,共同作業のやり方
    共用リポジトリ,マージ,git pull,git push,git clone……Junio C Hamano
  • 第6章ブランチを用いた並行開発
    トピックブランチ,統合ブランチ,リリースブランチ……Junio C Hamano

特集3
Webアプリのパフォーマンス向上の一策
[旬のライブラリ大集合]key-valueストア入門

  • 第1章:key-valueストアとは何か
    連想配列,memcached,RDBMSとの比較,使いどころ……グニャラくん
  • 第2章:気になるkey-valueストア実装
    代表的な実装,パフォーマンス比較,特徴……グニャラくん
  • 第3章:[PHP/Java/Perl/Ruby/Python]key-valueストアを使ってみよう!
    Tokyo Cabinet/groongaでサンプルアプリケーション作成……グニャラくん

新人歓迎特別企画
簡単! 開発/テスト環境の運用&作業術
[後輩に教えたくなる]Unix/Linux開発環境ミニマルスタイル

  • 第1章:身近なUnix開発環境
    テスト/開発作業向けのUnix環境の運用を考える……やまだあきら
  • 第2章:環境を整える
    初期設定と運用管理……やまだあきら
  • 第3章:シェルのおさらい
    ファイル操作,コマンドライン,標準入出力,リダイレクト,パイプ……やまだあきら
  • 第4章:コマンドカタログ
    小粒なコマンドを自在に組み合わせる……やまだあきら

連載

  • 【新連載】Developer's Perspective
    【第1回】「Joel on Software」Joel Spolsky
    インタビュー編:キャリアに関する重要な決断の秘訣
    翻訳エッセイ編:プログラムマネージャになるには……青木靖
  • 【新連載】やっぱりJavaがスキ!
    【第1回】独自アノテーションの活用 ……コーディング量を減らし生産性を上げる……川口耕介
  • 【新連載】PHPマストテクニック
    【第1回】これから始めるCakePHP……鶴岡直也
  • 【新連載】大規模Webサービスの裏側――inside mixi's backend
    【第1回】静的コンテンツの負荷分散……リバースプロキシ,キャッシュ制御,Squid,Image Cluster……長野雅広(kazeburo)
  • 【新連載】WebKit Quest――ソースコードから読み解くブラウザエンジンのしくみ
    【第1回】注目のブラウザエンジンWebkitを支えるモジュールたち……森田創
  • Recent Perl World
    【第18回】Suffix Array(接尾辞配列) ……アルゴリズム&データ構造シリーズ 1……伊藤直也
  • Practical Ruby Programming!
    【第6回】eb APIを使いこなしたい ……TwitterとFriendFeedの連携……武者晶紀
  • SQLアタマアカデミー
    【第6回】SQLで木構造を扱う……入れ子区間モデル……ミック

コラム

  • 【新連載】がんばれ情シス!――激動の時代をリードするために
    【第1回】今,情シスに求められること……羽生章洋
  • 【新連載】バッドシグナル通信
    【第1回】歴史的理由……高林哲
  • 小飼弾のAlpha Geekに逢いたい♥
    【#18】森田創(omo)……小飼弾
  • 濃縮還元オレンジニュース
    【第19回】12~1月の厳選ニュース……角田直行
  • 【新連載】はまちちゃんとわかばちゃんのREADER'S FORUM――読者のページ……はまちや2/竹原
  • [不定期コラム]カメラスキープレス
    • 【#18】GR DIGITAL IIをゲット!……カメラスキー

Special Report

  • 地域Ruby会議・アンド・ナウ……角谷信太郎

Solution Flash

  • 大規模化・安定稼働・開発効率化… Webシステム開発・運用を乗り切るテクニック
    【第2回】チューニング(2) Java VMによるメモリ管理