Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
【CodeMafia】 WEBプログラミング学習

「WEBシステムがどのようにして動いているのかきちんと理解していますか?」

今日ではAWS(Amazon Web Service)、AzureやGCPなどのホスティングサービスの登場により、基本的なサーバーの設定をWEB開発者が行う機会は少なくなりました。

また、LaravelやRuby on Railsなどの高機能なWEBフレームワークを使えば、WEBシステムの基本的な知識がなくても、高機能なサイトを作れるようになります。

もはや、データを格納するテーブルでさえも、フレームワークが自動で作成してくれます。

一方でこのような技術の進歩により、WEB開発者はWEBシステムの基礎について学ぶ機会を失ってしまいました。

WEBシステムの基礎を学ぶことは短期的なプログラミングの上達においてはそれほど重要ではありません。

短期的な成長を望むのであれば、「Laravel」や「Ruby on Rails」、「Spring Boot」、「Django」などのWEBフレームワークの具体的な使い方を学ぶ方が目に見えた成果を実感できるでしょう。

しかし、基礎を疎(おろそ)かにしていると、3年、4年と月日を重ねていったときにそれはボディーブローのように効いてきます。

Read more

「WEBシステムがどのようにして動いているのかきちんと理解していますか?」

今日ではAWS(Amazon Web Service)、AzureやGCPなどのホスティングサービスの登場により、基本的なサーバーの設定をWEB開発者が行う機会は少なくなりました。

また、LaravelやRuby on Railsなどの高機能なWEBフレームワークを使えば、WEBシステムの基本的な知識がなくても、高機能なサイトを作れるようになります。

もはや、データを格納するテーブルでさえも、フレームワークが自動で作成してくれます。

一方でこのような技術の進歩により、WEB開発者はWEBシステムの基礎について学ぶ機会を失ってしまいました。

WEBシステムの基礎を学ぶことは短期的なプログラミングの上達においてはそれほど重要ではありません。

短期的な成長を望むのであれば、「Laravel」や「Ruby on Rails」、「Spring Boot」、「Django」などのWEBフレームワークの具体的な使い方を学ぶ方が目に見えた成果を実感できるでしょう。

しかし、基礎を疎(おろそ)かにしていると、3年、4年と月日を重ねていったときにそれはボディーブローのように効いてきます。

私はこれまで数えきれないほどのWEB開発者を見てきました。

その中で優秀な開発者とそうでない人の決定的な違いとして基礎を理解しているかどうかということがあります。

優秀なWEB開発者はその根本的な仕組みについて驚くほど深く理解しています。

もちろん彼らも実際の開発を行う際にはLaravelやAWSなどの実用的な技術を使用します。

しかし、彼らは裏でどのようなことが起こっているのかを理解したうえでそれらの技術を使用します。

そのため、不具合やバグにあたっても自身で解決の糸口を見つけ、あっという間に解決してしまいます。

WEBの仕組みを知らずに構築したシステムというのはとても危ういのです。

何の変哲(へんてつ)もない一行のコードがWEBシステムのパフォーマンスに大きな影響を与えたり、システムに致命的なセキュリティーホールを生むこともあります。

私も初学者の頃はかっこいい画面や最新の技術に目が行きがちでしたが、WEB開発者として9年目を迎えた今思うのは基礎を理解しているという事は本当に大切だということです。

スポーツ選手でも、料理人でも演奏家でも、どんな職業の人でも基礎をおろそかにして大成している人を見たことがありません。

一見、高度なことをしているように見えることでも、それは基本的な事が組み合わさって複雑に見えているだけなのです。

少し視点を変えてみましょう。

今日のWEB開発ほど技術の移り変わりが激しい分野はありません。

日々新しい技術が生まれ、世界中の企業やコミュニティが次から次へと新しいフレームワークやライブラリ、サービスを作成します。

そんな中で特定のフレームワーク、サービスの使い方だけを暗記して学ぶことは大変非効率です。

なぜならその知識は数年後には必要がなくなっているかもしれないからです。

少し残酷に聞こえるかもしれませんが、これは事実です。

私自身何度もそのような状況に遭遇してきました。

実際、その当時は有名でそのフレームワークがないと開発できないと思われるようなものでも、5年後にはレガシーな技術(古い技術)として扱われることも少なくありません。

そのため、WEB開発においては表面的な知識の暗記よりも基本的なシステムやプログラミング言語への理解というのが特に重要になってきます。

DBの設計や構築、サーバーの設定方法、プログラムのデザインパターンやオブジェクト指向型プログラミングなどの普段の開発ではフレームワークが代替して行ってくれているような知識を学ぶことは、プログラミング技術やWEB開発技術の底上げをしてくれます。

そして、実はそれさえあれば、フレームワークが変わろうとプログラミング言語が変わろうとそれほど苦労なく習得できるようになります。

こちらのコースの後半では演習としてMVCアーキテクチャの考え方を用いたサイトをPHPとMYSQLを用いて一から作成します。それはフレームワークを用いる開発が主流の今日では意識して学ばないと体験することのないものです。

おそらく、フレームワークを用いれば初学者の方でも1日くらいでできてしまう簡単なシステムです。

しかし、フレームワークを使わないで開発を行うとなると話は変わってきます。これまでフレームワークが代わりに行ってくれていた、コードの再利用性や保守性の担保、認証の仕組みやセキュリティーホールを生まないための実装、またはパフォーマンスにかかわる処理までご自身の手で実装していく必要があります。そして、そのような経験は、後の実践的なWEB開発の学習に入っていく際に大変重要なものになります。

初学者の頃はフレームワークを用いた実用的な開発に目が行きがちなのはわかります。

実際、私もそうでした。しかし、いくら新しいフレームワークの使い方や新しい言語を覚えても根本的な事がわかっていなければプログラミングやWEB開発のスキルは早い段階で頭打ちとなってしまいます。しっかりとした土台がなければレンガを高く積み上げることはできないのです。

しかし、逆に言えば基礎をしっかり学んでおけば、その上に何を積み上げても容易に吸収できるようになります。

こちらのコースではWEBシステムの動きを理解し、根本的なWEB開発技術の底上げを目指します。

こちらのコースの最後に作成する練習アプリは初学者の方には少し難しく思えるかもしれません。しかし、落ち着いて一つづつ読み解いていくと、その実態はこちらのコースで紹介している基礎的な技術の組み合わせで構成されていることに気付くはずです。

是非、最後まで諦めずチャレンジしてみてください。

最後に、皆様のWEB開発者としてのキャリアの一助になれば大変うれしく思います。

では、本編でお会いできるのを楽しみにしております。

補足

このコースの以下のセクションはそれぞれ他のコースの教材を流用しています。あらかじめご了承ください。

  • セクション17「CSSの基礎」:【JavaScript&CSS】ガチで学びたい人のためのWEB開発徹底実践(フロントエンド編)

  • セクション21「JSの基礎」:【JS】ガチで学びたい人のためのJavaScriptメカニズム

Enroll now

What's inside

Learning objectives

  • どのような技術が組み合わさってwebシステムが動いているのか、その基礎を体系的に学びます。
  • 開発に欠かせないwebの基礎知識について学びます。
  • Phpの基本的な文法について学びます。
  • 開発で頻出する正規表現の使い方について学びます。
  • Phpの名前空間、クラスを使った記法について学びます。
  • データベースの実践的な設計手法について学びます。
  • Sqlを使ったデータベースの操作方法について学びます。
  • Apacheの設定方法について学びます。
  • サーバーとブラウザのやり取りを可視化し、その仕組みを学びます。
  • Apacheの設定を通してパフォーマンス改善の基礎を学びます。
  • 避けるべきセキュリティーホールの基礎について学びます。
  • Css、sassの基礎について学びます。
  • Sassと組み合わせたbootstrapの使い方を学びます。
  • Javascriptの基礎について学びます。
  • Javascriptを用いたフォームのバリデーションチェックについて学びます。
  • Mvcアーキテクチャの思想を取り入れて、一からwebアプリを作成します。
  • Webアプリの作成を通してプログラミング力の底力を底上げします。
  • Show more
  • Show less

Syllabus

Udemyでの学習の進め方
セマンティックHTMLについて学ぼう
ChatGPTで疑問を解決しよう!!
WEBの知識
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Explores the fundamentals of web systems, which is beneficial for developers aiming to troubleshoot and optimize performance effectively
Teaches PHP and MySQL, which are foundational technologies for building dynamic web applications and understanding legacy systems
Covers Apache configuration, which is essential for managing web server behavior and optimizing website performance, especially in traditional setups
Includes a section on CSS and Sass, which are typically considered front-end technologies, but are useful for full-stack developers
Requires MAMP installation, which may present a challenge for learners unfamiliar with local server environments, but is a valuable skill
Uses older versions of PHP and MySQL, which may not align with the latest industry standards, but provides a solid foundation for understanding core concepts

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

バックエンド基礎をガチで学ぶ

受講者によると、このコースはウェブシステムのバックエンドの基礎をしっかりと理解するのに役立ちます。特にフレームワークの裏側で何が起こっているのかを学ぶことができるため、長期的な成長の土台を築きたい人に最適です。PHP、MySQL、Apacheといった要素をゼロから学ぶことができ、MVCアーキテクチャをフレームワークなしで実装する演習挑戦的ですが、力がつくと多くの人が述べています。最終プロジェクトは初心者には少し難しく感じる可能性も指摘されています。CSSやJavaScriptの基礎セクションは他のコースからの流用である点は注意が必要ですが、全体として内容が網羅的で分かりやすいと評価されています。基礎を疎かにせず、ウェブ開発の根本を学びたい人におすすめのコースです。
講師の説明が分かりやすく進めやすい。
"講師の方の説明が非常に丁寧で、初心者でもつまづきにくい。"
"ビデオのペースもちょうど良く、内容が頭に入ってきやすい。"
"各セクションの区切りが良く、集中して学習できた。"
フレームワークなし実装で実践力が向上。
"フレームワークを使わずにMVCを実装する課題は大変でしたが、理解が深まりました。"
"最後のプロジェクトは難易度が高く、時間を要したが、非常に学びが多かった。"
"苦労したが、自分でイチから作る経験は後々活きると思う。"
ウェブ開発の土台を深く理解できます。
"ウェブシステムの仕組み、フレームワークの裏側がよく理解できた。"
"基礎をしっかり学べたので、今後他の技術を学ぶ際にも役立つと思う。"
"このコースで基礎を固められたおかげで、応用学習がスムーズに進みそうだ。"
CSSやJSは他コース内容を使用。
"CSSとJSのセクションは他のコースと同じ内容だったようです。"
"バックエンドメインだったので、フロントエンド部分は補足として割り切れた。"
"少し残念だったが、コースの本質はバックエンドなので問題なし。"
モダンなフレームワークより根本を重視。
"最新のフレームワークを学びたい人には向かないかもしれないが、基礎の重要性を再認識できた。"
"フレームワークに依存しない考え方が身についたのは大きい。"
"あえてフレームワークを使わない設計思想が良い。遠回りのようで近道。"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in 【PHP, MYSQL, Apache】ガチで学びたい人のためのWEB開発の基礎(バックエンド編) with these activities:
HTMLの基礎を復習する
コースでHTMLの基礎を扱う前に、HTMLの基本概念を復習することで、よりスムーズに学習を進められます。
Browse courses on HTML
Show steps
  • HTMLの基本的なタグと属性をまとめる
  • 簡単なHTMLページを作成する
  • 作成したページをブラウザで表示する
PHPの基本構文を復習する
PHPの基本構文(変数、条件分岐、ループなど)を復習することで、コースでのPHPの学習をより効果的に進められます。
Browse courses on PHP
Show steps
  • PHPの変数、データ型、演算子を復習する
  • 条件分岐とループの構文を練習する
  • 簡単なPHPスクリプトを作成して実行する
『PHP逆引きレシピ』を読む
コースで学んだPHPの知識を、実践的なレシピを通して理解を深めることができます。
View Melania on Amazon
Show steps
  • 興味のあるレシピを選んでコードを試す
  • レシピのコードを自分のプロジェクトに応用する
Four other activities
Expand to see all activities and additional details
Show all seven activities
SQLの練習問題を解く
SQLの練習問題を解くことで、データベース操作のスキルを向上させ、コースで学ぶSQLの知識を定着させることができます。
Show steps
  • SQLの基本的なSELECT文、INSERT文、UPDATE文、DELETE文を練習する
  • 複数のテーブルを結合するクエリを作成する
  • 複雑な条件を持つクエリを作成する
簡単な掲示板を作成する
コースで学んだPHP、MySQL、Apacheの知識を総合的に活用して、簡単な掲示板を作成することで、実践的なWEB開発スキルを身につけることができます。
Show steps
  • データベースの設計を行う
  • 掲示板の投稿、表示、削除機能を実装する
  • セキュリティー対策を施す
『Apache徹底入門』を読む
Apacheの設定や運用について理解を深め、WEBサーバーのパフォーマンス改善やセキュリティー対策について学ぶことができます。
View Melania on Amazon
Show steps
  • Apacheの基本的な設定ファイル(httpd.conf)を理解する
  • バーチャルホストの設定を試す
  • セキュリティーに関する設定を学ぶ
PHP製のオープンソースプロジェクトに貢献する
PHP製のオープンソースプロジェクトに貢献することで、実践的なコーディングスキルを向上させ、他の開発者とのコラボレーションを経験することができます。
Show steps
  • GitHubで興味のあるPHPプロジェクトを探す
  • プロジェクトのIssueを調べて、貢献できるものを見つける
  • コードを書いてPull Requestを送る

Career center

Learners who complete 【PHP, MYSQL, Apache】ガチで学びたい人のためのWEB開発の基礎(バックエンド編) will develop knowledge and skills that may be useful to these careers:
ウェブ開発者
ウェブ開発者は、ウェブサイトやウェブアプリケーションの設計、開発、保守を行います。このコースでは、ウェブシステムの動作原理の基礎を体系的に学べるため、ウェブ開発者としてのキャリアを築く上で非常に役立ちます。特に、バックエンド開発に必要なPHP、MySQL、Apacheの基礎を習得できる点が強みです。フレームワークに頼らず、MVCアーキテクチャを用いたウェブアプリケーションを一から作成する経験は、問題解決能力と深い理解を育み、他の開発者と差をつけることができます。このコースは、表面的な知識にとどまらず、根本的なウェブ開発技術の底上げを目指す人に最適です。ウェブ開発者として成長するために、このコースでしっかりとした土台を築きましょう。
バックエンドエンジニア
バックエンドエンジニアは、サーバーサイドのロジック、データベース、APIの開発を担当します。このコースで学べるPHP、MySQL、Apacheの知識は、バックエンドエンジニアとして必要不可欠なスキルです。特に、データベースの設計手法やSQLを使った操作方法、Apacheの設定方法は、日々の業務で直接役立ちます。また、フレームワークに頼らずにウェブアプリケーションを作成する経験は、バックエンドエンジニアとしての問題解決能力を高め、より深いレベルでのシステム理解を促進します。このコースは、バックエンドエンジニアとしてキャリアをスタートさせたい方、またはスキルアップを目指したい方に最適です。このコースで、バックエンドエンジニアに必要な基礎を固めましょう。
ウェブアプリケーション開発者
ウェブアプリケーション開発者は、動的なウェブサイトやアプリケーションを開発します。このコースでは、PHP、MySQL、Apacheといったウェブアプリケーション開発に必要な技術の基礎を学べます。特に、MVCアーキテクチャの思想を取り入れてウェブアプリケーションを一から作成する経験は、開発者としての実践的なスキルを大きく向上させます。フレームワークに頼らずに開発することで、システムの根本的な理解が深まり、より高度な開発にも対応できるようになります。ウェブアプリケーション開発者を目指すなら、このコースで確かな基礎を築きましょう。
フルスタックエンジニア
フルスタックエンジニアは、フロントエンドとバックエンドの両方の開発を担当します。このコースでは、バックエンドに必要なPHP、MySQL、Apacheの基礎知識に加えて、CSS、Sass、JavaScriptの基礎も学べるため、フルスタックエンジニアとしてのスキルセットをバランス良く強化することができます。フレームワークに頼らずにウェブアプリケーションを一から作成する経験は、システム全体の理解を深め、より柔軟な開発を可能にします。加えて、フロントエンドの基礎もカバーしているので、フルスタックエンジニアとして活躍するための土台をしっかりと築くことができます。フルスタックエンジニアを目指すなら、このコースで幅広い知識と実践的なスキルを身につけましょう。
データベースエンジニア
データベースエンジニアは、データベースの設計、構築、運用、保守を担当します。このコースでは、データベースの実践的な設計手法やSQLを使ったデータベースの操作方法を学ぶことができます。これはデータベースエンジニアとして必要不可欠なスキルです。特に、MySQLを用いたデータベースの操作は、実務で頻繁に使用するため、このコースでしっかりと習得しておくことが重要です。また、ウェブアプリケーション開発を通して、データベースがどのように利用されるかを理解することで、より効果的なデータベース設計が可能になります。データベースエンジニアを目指すなら、このコースでデータベースの基礎を固めましょう。
サーバーエンジニア
サーバーエンジニアは、サーバーの構築、運用、保守を担当します。このコースでは、Apacheの設定方法やサーバーとブラウザのやり取りの仕組みを学ぶことができます。これはサーバーエンジニアとして必要不可欠な知識です。特に、Apacheの設定を通してパフォーマンス改善の基礎を学べる点は、サーバーエンジニアとしてのスキルアップに繋がります。また、ウェブアプリケーション開発を通して、サーバーがどのように利用されるかを理解することで、より効果的なサーバー管理が可能になります。サーバーエンジニアを目指すなら、このコースでサーバーの基礎を固めましょう。
ウェブデザイナー
ウェブデザイナーは、ウェブサイトの見た目や使いやすさをデザインします。このコースでは、CSSやSassの基礎を学べるため、ウェブデザイナーとしてデザインの幅を広げることができます。特に、Sassと組み合わせたBootstrapの使い方は、効率的なウェブデザインに役立ちます。また、JavaScriptの基礎を学ぶことで、動的なウェブサイトのデザインにも挑戦できるようになります。ウェブデザイナーとしてスキルアップを目指すなら、このコースでデザインの基礎を固めましょう。
フロントエンド開発者
フロントエンド開発者は、ウェブサイトのユーザーインターフェースを開発します。このコースでは、CSS、Sass、JavaScriptの基礎を学べるため、フロントエンド開発者として必要なスキルを習得できます。特に、JavaScriptを用いたフォームのバリデーションチェックは、ユーザーエクスペリエンスを向上させるために重要なスキルです。このコースで、動的なウェブサイトを作成するための基礎を身につけましょう。フロントエンド開発者として成長したいなら、このコースで確かな一歩を踏み出しましょう。 このコースが、キャリアアップの助けになるかもしれません。
システム管理者
システム管理者は、コンピューターシステムの運用、保守、管理を担当します。このコースでは、Apacheの設定方法やサーバーとブラウザのやり取りの仕組みを学べるため、システム管理者として必要な知識を習得できます。特に、Apacheの設定を通してパフォーマンス改善の基礎を学べる点は、システム全体の効率化に役立ちます。システム管理者としてスキルアップを目指すなら、このコースを受講することで、より深い知識と実践的なスキルを身につけることができます。 このコースが、キャリアアップの助けになるかもしれません。
テクニカルサポートエンジニア
テクニカルサポートエンジニアは、顧客からの技術的な問い合わせに対応し、問題解決を支援します。このコースでは、ウェブシステムの動作原理や基礎知識を学べるため、顧客からの様々な質問に対して、より深く理解した上で対応することができます。特に、PHP、MySQL、Apacheといった技術の基礎知識は、問題の原因を特定し、解決策を見つける上で非常に役立ちます。テクニカルサポートエンジニアとして、顧客満足度を高めるために、このコースで技術的な知識を深めましょう。 このコースが、キャリアアップの助けになるかもしれません。
品質保証エンジニア
品質保証エンジニアは、ソフトウェアの品質を保証するためのテストや検証を行います。このコースでは、セキュリティーホールの基礎について学べるため、ウェブアプリケーションの脆弱性を発見し、品質向上に貢献することができます。ウェブシステムの基礎知識は、テストケースを作成する際に役立ち、より効果的なテストを行うことができます。品質保証エンジニアとして、より高品質なソフトウェアを提供するために、このコースでセキュリティーに関する知識を身につけましょう。 このコースが、キャリアアップの助けになるかもしれません。
ITコンサルタント
ITコンサルタントは、企業のIT戦略策定やシステム導入を支援します。ウェブシステムの基礎知識は、顧客の課題を理解し、最適なソリューションを提案する上で役立ちます。このコースでウェブシステムの動作原理を学ぶことで、より実践的なアドバイスを提供できるようになります。ITコンサルタントとして、顧客のビジネスを成功に導くために、このコースでITに関する知識を深めましょう。 このコースが、キャリアアップの助けになるかもしれません。
プロジェクトマネージャー
プロジェクトマネージャーは、プロジェクトの計画、実行、管理を担当します。このコースでは、ウェブアプリケーション開発の基礎を学べるため、開発チームとのコミュニケーションを円滑に進めることができます。また、技術的な知識を持つことで、プロジェクトの進捗状況をより正確に把握し、リスクを早期に発見することができます。プロジェクトマネージャーとして、プロジェクトを成功させるために、このコースで開発に関する知識を深めましょう。このコースが、キャリアアップの助けになるかもしれません。
データアナリスト
データアナリストは、データを分析し、ビジネス上の意思決定を支援します。このコースでは、SQLを使ったデータベースの操作方法を学べるため、必要なデータを効率的に抽出することができます。また、ウェブシステムの基礎知識は、データの収集方法や分析方法を検討する上で役立ちます。データアナリストとして、ビジネスに貢献するために、このコースでデータベースに関する知識を深めましょう。 このコースが、キャリアアップの助けになるかもしれません。
セールスエンジニア
セールスエンジニアは、技術的な知識を活かして、製品やサービスを顧客に提案・販売します。このコースでは、WEBシステムの基礎知識を学べるため、技術的な質問に対して的確に答えることができます。また、Apacheなどの技術に関する知識は、製品の優位性を説明する上で役立ちます。セールスエンジニアは、製品の魅力を最大限に伝えるために、このコースで技術的な知識を深めましょう。 このコースが、キャリアアップの助けになるかもしれません。

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in 【PHP, MYSQL, Apache】ガチで学びたい人のためのWEB開発の基礎(バックエンド編).

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser