カテゴリー別アーカイブ: 書籍

「アプリを作ろう! Visual C#入門」という本を書きました

アプリを作ろう!  Visual C#入門 Visual C# 2017対応
https://www.amazon.co.jp/dp/4822253554/

サポートページ
http://ec.nikkeibp.co.jp/item/books/P53550.html

本書は無償で入手できるVisual Studio Community 2017でVisual C# 2017を使用して、プログラミングの楽しさが体験できる入門書です。
開発経験がなくても、全9章を順番に学習することで、プログラミングや開発環境の基礎知識、画面のデザイン、コードの書き方、エラーが起きたときの対処方法などを理解できます。
章ごとに短いトピックで区切られているので、自分のペースで学べます。PCスクールなどの教材としても適しています。

という本を執筆し、この度出版する運びとなりました。

企画自体は1年半近く前からありまして、最初はVS2015向けに書く予定でした。しかし、VS2017のBetaが出てき手タイミング変更を余儀なくされ、年末から再スタートしました。

本書の特徴は何といってもまさに「入門」のための書籍であるということです。

例えば、敢えてC#の言語機能を詳しく説明することはせず、サンプルアプリで使う機能に絞って都度説明するようにしています。初学者のには一度に覚えることはなるべく少なくしてあげないと、混乱してしまうためです。

また、本書の構成で一番気を使ったのが、「どの章でやめても、動かして遊べる」ことでした。初心者向けの教育で何より大事なのは、小さなステップで成功体験を積ませることだと私は思っています。したがって、「今やっている章と次の章をやらないと、そもそもプログラムが動かない」というのは、絶対に避けなければいけません。

そういったことを念頭に置き練った構成が、「各章ごとにアプリがパワーアップしていく」というものです。これにより、初心者でも飽きずに、少しずつ動かして動作を確認しながら進めることもできますし、アプリは少しずつ作って成長させていくものだということも教えられるのではないかと考えています。

すでに述べた通り、本書はC#の機能を網羅することを目的とはしていません。言い換えれば、本書はあくまで「1冊目」としての位置付けだということです。プログラミングは膨大な知識とスキルが必要であり、これは1冊の本を読んだだけでは身につくことはまずないでしょう。むしろ1冊で収めようとすることで情報過多になり、かえってわかりにくくなることだってあると思います。そこで、本書でなんとなく「プログラミングというもの」やIDEの使い方を身に着け、次に網羅系のテキストでより深堀して学ぶというのがお勧めです。

身近にWindowsを使っていてプログラミングを始めたいという人がいるようであれば、ぜひ本書を手に取ってみてください。

広告

書評 | Amazon Web Servicesではじめる新米プログラマのためのクラウド超入門

http://www.shoeisha.co.jp/book/detail/9784798144696

WINGSプロジェクト様より献本御礼。

本書はAWSの多種多様なサービスの中から、S3、EC2、ELB、Route 53といった主要なサービスを中心に、その概念や役割、そしてGUIによる設定方法について述べた書籍です。また、ネットワーク等いわゆる「インフラ」に関わる基本的な知識についても解説がついており、初学者に対して非常にやさしい構成であると感じました。

GUIによるAWSの管理コンソール捜査については、ハードコピーがふんだんに使われており、書籍をなぞりながら実際にAWSを体験できるようになっています。その分ページ数がかさんでいるため、ある程度知識のある読者にとっては内容が薄いように感じる顔しれません。しかし、あくまで本書は「新米プログラマのための」と銘打ってありますので、そのあたりは差し引いて考えるべきでしょう。

本書で一点気になったこととしては、著者の前著でもそうだったのですが、説明図の中のLinuxコマンド例が

rm -rf /

なのですよね。これは図のもとにしたイメージ素材がそうだったのか、はたまた著者のお茶目心なのか判断に困るところです……

そういった些末なところを除けば、新米プログラマだけでなく、他のクラウド・プラットフォームユーザーがAWSについてざっと知りたいといった用途にも、個人的にお勧めできると思います。

書評 | プログラマのためのDocker教科書

プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化

WINGSプロジェクトにてレビューアを募集していたので応募し、献本していただきました。

本書はこの1,2年ですっかりメジャーになったDockerおよびその周辺ツールについて、実際のコマンド、設定ファイルの例、動作イメージなどをふんだんに盛り込んで紹介しています。

Dockerは進化スピードも速く、またいわゆるWeb系のコミュニティで人気があることもあり、これまで日本ででは体系的にまとまった情報を得る手段があまりありませんでした。本書ではDockerのインストール方法から基本コマンドの説明、ローカルリポジトリの利用方法、さらにはDocker Machine、Docker Swarmといった周辺ツールの説明も順を追って説明されているため、最初の一冊にふさわしい内容と言えます。また、コマンド等のオプションについても、主要なものは個別に取り上げ、説明されていますし、索引も非常に充実しており、リファレンスとしても活用できるでしょう。

その他、一番最初にネットワークなどの「インフラ」用語について解説されているのも好印象でした。「プログラマのための」と銘打っているように、インフラに精通していないプログラマ(程度問題ではありますが)でも、一通りの知識をつけることができ、例えば新入社員~2,3年目の経験の浅いプログラマにはうってつけです。

ただ、気になる所がないわけではありません。

まず、dockerコマンドのオプションの例を実際に打ち込みながら学習を進めていると、たまにそのコマンドを実行する前に何をすればよいのかわからないことがありました。例えばあるコンテナが動作している前提で実行するコマンドがあり、そのコンテナをどうやって作ればよいのかわからない、といったケースです。少し考えればなんとなくは分かりますが、全くの初心者にはちょっとつらいかもしれません。

他には、ボリュームやリンクといったコンテナ間の連携機能の動作イメージが少しわかりにくく感じました。これらはそもそもが少し難解な概念だということもあるとは思いますが、ボリュームオプションで指定したボリュームに他のコンテナからどのような順でアクセスしているのかを、順を追って説明した図などがあればよかったです。

とはいえ、これらの問題は本書の本質的な価値にはほとんど影響ないでしょう。総じて良くまとまっており、Dockerを触ろうと思った人に、自信を持ってオススメできる一冊だと思います。

書評 | C#実践開発手法 by @masaru_b_cl #‎CS実践開発手法‬

監訳者の長沢智治氏(@tnagasawa)より献本御礼。

C#実践開発手法 – デザインパターンとSOLID原則によるアジャイルなコーディング

本書はAdaptive Code via C#: Agile coding with design patterns and SOLID principles(Microsoft Press, 2014)の日本語版で、変化に容易に適応できるソフトウェア開発を実現するために、
アジャイル開発、デザインパターン、SOLID原則を、C#でどのように実践するかを解説する書籍です。方法論と実践の間の橋渡しをする解説書で、サンプルコードはVisual Studio 2013ベース。
C#の基本をひととおり理解した開発者が、ワンランク上を目指すために読んでおきたい1冊です。

SOLID原則やデザインパターンに関して説明する書籍として著名なのはボブおじさん(Uncle Bob)ことロバート・C・マーチンの「アジャイルソフトウェア開発の奥義」です。しかし、サンプルコードはJavaであり、C#を題材にした同種の本は、これまではありませんでした。本書はそういった現状を解決してくれる書籍になるのではと、期待に胸を躍らせていました。

そして、本書を読んでみて、率直な感想としては「これはいいものだ」ということです。オブジェクト指向プログラミングのSOLID原則を平易なコードを使って解説してあり、初学者でもある程度の雰囲気はつかめるでしょう。第3部ではASP.NET MVCのWebアプリケーションを用いて、実践的なSOLID原則を考慮したリファクタリングの過程も紹介してあり、一つの指針として参考になるでしょう。

また、本書の他にない特徴は、アジャイルプロセスの一つである「スクラム」の簡易な解説書でもあるということです。第1部でプロセスや用語について解説し、第3部ではその用語も使いつつ、スクラムの「2スプリント」分の進め方を疑似体験できるようになっています。このあたりは「アジャイルソフトウェア開発の奥義」が同じくアジャイルプロセスのXP(エクストリーム・プログラミング)を最初に紹介し、同じように実践例を見せていることを強く意識しているように感じました。

あと、地味だけどよいなぁと思ったのは、第2章という早めの段階で「依存関係」について、丁寧に説明していることです。アセンブリの依存関係、型の依存関係、メソッドの依存関係の解説ももちろんですが、実行時のアセンブリ探索の手順まで簡易に説明してあるのが良いです。このあたり、初心者が2つ以上のアセンブリで構成されるアプリケーションを作成するときに結構「ハマり」ポイントですので、

ただ、情報量という面では「アジャイルソフトウェア開発の奥義」にはかないません。パッケージ(アセンブリ)の構成やコードメトリクスのような、さらに進んだ話題は相変わらずこちらを参照することになるでしょう。また、「C#ならでは」というものも、それほど多くはないという印象でした。この点については少し残念でした。

そういった意味で、本当に初学者がSOLID原則を学ぶ書籍としては、個人的にはいまだに「Head First デザインパターン」を勧めたいです。コードはJavaですが、ほぼC#でも再現可能であり、いわゆる「GoFデザインパターン」の主要なものを題材に、順を追ってSOLID原則をはじめとしたオブジェクト指向プログラミングで大事な「原則」の多くを学べるからです。

とはいえ、ほぼ最新に近いC#のコードでこういった各種の原則の一部を学べる意義は大きいと思います。現場ですぐに使える知識を本書で学んでから、より高度な内容を学んでいくというのも良いでしょう。まさに「C#の基本をひととおり理解した開発者が、ワンランク上を目指すために読んでおきたい1冊」として、ふさわしい一冊です。

2013年に読んだ書籍、テキストまとめ by @masaru_b_cl

今年は次のようなテキスト、書籍を読みました。備忘録的にまとめてみます。

 

アーキテクチャ関連

「アーキテクト」を目指す身として、「アーキテクチャ」の理解は欠かせないはず!ということで、今年は次の2冊を読みました。

 

パターン・ランゲージ

井庭先生(@takashiiba)のパターンに関する書籍は今年3つ読みました。

中でも「コラボレーション・パターン」がお気に入りです。仕事をチームで進める以上、コラボレーションは避ける事が出来ません。効果的なコラボレーションのやり方を今後模索していきたいと思います。

 

教育(インストラクション)

今年は新人教育担当者となったこともあり、これまで以上に「教育」というものを考えさせられた1年でした。実際に新人研修期間は、とにかく自分で思う通りにやってみたのですが、本当にこれでよかったのかという思いもあり、「教育」というものをしっかりと学んでみようと思い、こんな書籍を読みました。

教育(インストラクション)に関わる事柄が綺麗にまとまっていて、しかもより進んだ学習への道筋も「参考文献」として提示してくれていて、非常に良かったです。今後はその参考文献を中心に、より理解を深め、実践していきたいと思っています。

 

その他システム開発系

  • データベース・リファクタリング
    データベース・リファクタリング
    まだ読んでいる途中ですが、プログラムのリファクタリングと同じように、データベースの「振る舞いを変えずに構造を変える」方法について述べた書籍です。「ピアソン」の本なので、あえなく絶版となってしまっていますが、こんな動きもありますし今後の復活を願ってやみません。
  • Pro Git
    VCSのGitについて、概念から中身までざっと説明した書籍。しかも無料で読める第一資料です。
  • 実践 F# 関数型プログラミング入門

    こちらもまだ読んでいる途中です。一からF#を学ぶなら、今のところこの本以外の選択肢は無いんじゃないでしょうか?写経しながらボチボチ進めています。

 

こうやってまとめてみると、案外読んでいるものですね。来年も技術者として、常にインプットとアウトプットを心がけていくつもりです。

書籍:10日で覚えるjQuery入門教室

10日でおぼえるjQuery入門教室 第2版

http://www.seshop.com/product/detail/16251/

 

最初からこうして教えてほしかった!サクサク学べる「動き」と「仕掛け」

jQueryは、HTML5ベースのWebサイトやスマートフォンサイトの制作に欠くことのできない、JavaScriptライブラリの定番として、Web制作者からプログラマまで幅広く活用されています。

本書は、jQueryを使いこなせるようになるための学習書です。仕組みから、プラグインの使い方、イベントの実装とカスタマイズの方法まで、わかりやすく丁寧に解説しています。Web制作の現場でよく使うセレクターやメソッドを厳選しているので、必要なところを効率よく学ぶことができます。また、手を動かしながら学んでいけるので、動きのあるリッチなUIの作り方が簡単に身に付きます。HTMLとCSSはわかるけどjQueryは苦手という人にもおすすめです。

 

jQueryを体系立てて学んだことがなかったため、読んでみました。(WINGSプロジェクト様献本御礼!)

jQueryの一番の「キモ」は「セレクター」だと思うのですが、様々なパターンについてしっかりと解説されていて、しかも手を動かしながら学ぶことができるので、非常にわかりやすかったです。特に「次の要素」などのセレクターがあることは私は知りませんでした。あまりに凝ったセレクターは可読性を損なうとは思いますが、効果的に対象要素を特定するためにはその理解は不可欠なので、手駒が増えたことは良かったです。

また、AJAX機能についても、get、getJSONメソッドについて説明されています。そして、自サイトのWeb APIまたはJSONPに対応したWeb APIを叩くための、基本的な知識も得られるようになっていました。昨今はAJAXは当たり前になっていますので、その辺をサポートしていることは非常に好ましいと思いました。

ただ、サーバーサイド処理との連携を説明するためにPHPを使うため、別途XAMPPをインストールしないといけないのには注意が必要です。個人的にPHPにはなじみがないので、ちょっと面食らったのは事実です。

あと気になったのは、LESSON38などのある程度複雑なコードになると、紙面の都合なのかマジックナンバーがコードにべた書きされていることです。もちろん本文で補足はされているのですが、ちょっとコードだけ読むとわかりづらいかなーと思いました。

とはいえ、全体を通しては非常によくまとまっていますので、初学者はもちろん、簡易リファレンスとして中級車にもお勧めできると思います。

 

なお、1箇所おそらく第1版からの修正漏れだと思いますが、「onメソッド」と書くべきところが「bindメソッド」になっていました(p.178)。こちらは翔泳社のQ&Aページから指摘済みです。

JavaScriptライブラリ実践活用[厳選111]のKnockout、QUnit分がBuild Insiderに転載されました

 

共著書「JavaScriptライブラリ実践活用[厳選111]」の一部の記事が、Build Insiderへ転載されています。

 

書籍転載:JavaScriptライブラリ実践活用[厳選111]

 

その中の、Knockout、QUnitについて、先日転載されました。

 

 

フィードバック、お待ちしております。