見出し画像

『スラスラわかるPHP』著者 志田氏がTechpitに参画 ✏️ プログラミングの入門方法について聞いてみました

PHPの入門書を執筆した経験からプログラミングの入門方法についてお伺いし、記事にしました。

また志田さんが現在Techpitでどんな教材を執筆しているかも合わせてご紹介します。


■ 執筆者さんの紹介

アシアル社での開発経験
大学や大学院時代から開発をしていたので、アシアルへ入社してすぐ実際のプロジェクトに参加しました。PHPで基盤業務システム開発、環境系ポータルサイト開発やAndroidと連携が必要なシステムではAndroidアプリの試作も行っていました。

PHPの入門書を執筆した経験
翔泳社の「スラスラわかるPHP」を執筆しました。図解や解説の粒度が細かいので、初心者も読んでわかりやすいことがほかの書籍と異なる魅力だと思います。また、2021年6月に内容を大幅にブラッシュアップした改訂版が出版されました。


■ Techpitでの執筆を決めたきっかけ

「スラスラわかるPHP」の改訂版原稿の執筆がほぼ終わった頃、突然Techpitさんからメールをいただいたのがきっかけでした。メールアドレスは大々的に公開していなかったので、著書とメールアドレスを紐付けて連絡してくれたのが印象的でした。「どうして私だってわかったんだろう!?」という興味のほうが大きかったです。

もともと「迷ったときは面白い方を選ぼう」という生き方をしてきたので、今回のお話も面白そうだと思ってお受けしました。

その中でなぜTechpitでも書いていいと思ったのですか?

執筆システムやレビュー体制がきちんと体系立てられていていいなと思いました。

紙の執筆と違って、どの辺に興味を感じましたか?

紙の執筆だと、一冊内にボリューム配分しなくてはならないので、説明や図説の量、サイズに制限があります。そのため基本的な話や前提知識については省略されがちですが、Webの配信だと削らずに説明できます。またリンクが貼れるのも強みですね。書籍でもURLやスクショを掲載できますが…本来の意味でのハイパーリンクができるのは大変強いです。


■ Techpitで執筆中の企画について教えてください

TechpitではPHPについて執筆します。

PHPの基本的なことがわかっている状態から、大規模フレームワークを使った開発ができるまでの間の「自分である程度の大きさのプログラムを作成できる中級者」になることを目指しています。複数ページを含むサイトやサイト全体でDBを使っているアプリケーションを開発できるレベルを目指します。

※ここでの基本的なことがわかっている状態とは、文法(if、for、whileなど)、関数の使い方、1ページ内でおさまるようなプログラムが書けるくらいを指しています。

学べること

学習内容は下記あたりをカバーしています。

・Webアプリケーションの動作の仕組み
・オブジェクト指向プログラミング
・DBの扱い
・各種周辺知識

教材の特徴

細かく丁寧な解説と図説です。「クラスのインスタンスが変数を持っていて」と一言でされる説明も頭の中でイメージできるよう図にしています。

PHPでのWebアプリケーション開発は、プログラミングだけでなくDBやサーバーなどの周辺知識も必要です。図と文章で丁寧に解説していきます。


■ PHPの入門書を執筆した志田さんが考えるプログラミングの入門方法

学習順序

1. 読む
ひとまず解説を読んでみます。そして文章の言いたいことを自分の中で噛み砕いてみてください。「これってこういう意味かなあ。そういうイメージかなあ」と思いながら読めたら最高です。
2. 書く
示されているソースコードは、できるだけコピペせず自分で入力してみてください。
3. 変える
一旦示されたとおりに書いて、正しく動作することを確認したら、ぜひ自分でソースコードを変えてみてください。ここを変更したらどうなるんだろう?この順番が逆だったらどうなるんだろう?こんな値を入力してもちゃんと動くのかな?とトライ&エラーしていくと楽しく学習できます。


プログラミング学習において大事な思考

物事に対する解像度を上げていくことが大事です。例えば出かけるとき、「家を出る」のではなく、もっと解像度を上げると、「服を着る」「靴を履く」のように分解できます。プログラムを書くときも、処理を細分化していきましょう。

処理を細分化して説明できると、それをプログラムに置き換えるだけなので楽です。

「カレンダーを表示する」だとそのままプログラムにできないですが、1から31まで表示する・7日ごとに改行する・土曜は青色にする、など細分化すると、それをプログラムにするだけです。


■ Techpitで執筆中の教材の企画の中身をチラ見せさせてください

DB設計部分や2章のログイン機能を作るところの一部を紹介しますね。下記のように図を入れて解説を丁寧にすることを心がけています。

画像1

画像2

画像3

目次なども作られていましたら、お聞きしたいです。

- 0章 はじめに
- 1章 アプリケーションの設計
- 2章 ログイン機能を作ろう
- 3章 投稿機能を作ろう
- 4章 画像アップロード機能を追加しよう
- 5章 投稿削除機能
- 6章 表示機能
- 7章 カテゴリー機能

0章では、インターネットの仕組みを学び、それを自分のPC内に再現するようにして開発環境を構築します。また3章では投稿機能を作りながら、POSTメソッドでのデータのやりとりやDBの扱いを学びます。ほかにも5章では投稿を削除(ソフトデリート)し、影響範囲の修正について学びます。


■ 執筆の意気込みを教えてください

PHPってすごく楽しい言語なんですよ!プログラミングができるようになると、業務はもちろん普段の生活でこんなのがあったら便利だなというのを実現しやすくなります。たくさんの人が楽しく学習できるよう、詳しく説明をしていきます。みなさんもPHPの楽しさを知ってもらえたら嬉しいなと思っています。


編集後記

志田さん、この度はプログラミングの入門方法や現在Techpitでどんな教材を執筆しているかをご丁寧にお話いただきありがとうございました!

志田さんと初めて打ち合わせした際に、プログラミング学習において大事な思考のお話(処理を細分化の話)を聞き、ぜひそれを外部にも伝えたいと思って今回記事にさせていただきました。

また今回、執筆中の企画をチラ見せしましたが、志田さんの解説は図解を中心にイメージがしやすい作品になっています。ぜひそちらもお楽しみにくださいませ。

---

教材の公開は下記のTwitterアカウントでお知らせしますので、ぜひ気になる方はこちらをウォッチしてください。
https://twitter.com/techpit_jp


また執筆者さんも募集しています。ぜひTechpitで執筆してみたい・少し話を聞いてみたい方は下記をご確認くださいませ。

https://author.techpit.jp/ 

この記事が気に入ったらサポートをしてみませんか?