今は小さなウェブサイトも作れません





要するに、2013年に私が座って小さなウェブサイトを1日で書いた方法をよく覚えています。



故郷の出来事についてのサイトでした。来週のすべてのイベントが1ページに表示されました。



イベントのあるページと、イベントが編集された小さな管理パネルを作成しました。 PHPに関する本を持っていたので、サイトをPHPで作成し、MySQLデータベースを接続し、HTMLとCSSでレイアウトして、共有ホスティングにアップロードしました。このサイトは使用され、私は軍隊に入るまで毎朝熱心にイベントを追加し、サポートする人を残しませんでした。それでサイトは死にました。



サイトのアイデアはまだ良さそうだったので、私はそれを復活させることにしました。どうやら、それを実行するように見えますが、私が反対したのは、PHPをあまり覚えておらず、すでに非常に大規模、中規模、小規模の企業で開発の経験を積んでいたことです。



私は仕事に取り掛かることを決心し、考え始めました。



うーん、PHPを使って、HTMLと混ぜて数ページを書くことはできません。OOPや通常のコード分割なしでこれをどのようにサポートしますか?さらに、PHPはあまり良くない、そしていくつの新しいバージョンが出てきたと誰もが言っています!



私はおそらくもっと現代的なもの、Node.jsまたはPythonを取る必要があります。しかし、もちろん、それらはベストプラクティスではないので、私はそれらについて書くだけではありません。おそらく、DjangoやExpress.jsなどのフレームワークを使用します。ただし、これらは最も人気のあるフレームワークですが、他にも、より現代的なものを探す必要があります。



PythonまたはNode.jsのいずれかを使用することに決めたので、サーバーからページ全体を提供するだけでは不十分であることに気付きました。この場合、認証ポップアップまたは動的ロードを作成するにはどうすればよいですか?まあ、jQueryではなく、神は禁じられています!おそらく、ReactまたはVue.jsを使用して、適切なコンポーネントベースのインターフェイスを作成します。もちろん、Angularはやり過ぎでしょう。フレームワークを使用して、APIを介してバックエンドに接続する必要があるため、Django RESTFrameworkなどを使用します。 Express.jsがそれ自体でこれを実行できるのは良いことです。おそらく、最終的にNode.jsを選択する価値があります。フロントエンドでは、Axiosを接続する必要がありますが、現在はFetchがありますが、すべてのブラウザーでサポートされていますか?あるいは、Svelteを使用して、同時に新しいことを学ぶ必要があるかもしれません。



コードスタイルを尊重し、インデントを修正し、doubleではなくtriple equalsを記述することを忘れないようにするために、IDEを正しく設定する価値があります。 IDEプラグインは互いに論争し、セミコロンを間違った場所に配置するため、セットアップは困難です。



それを理解したので、コードをどこかに保存する必要があることを理解しました。私はすでにかなり疲れているので、最も人気のあるGitHubを選択します。コンピューターでGitとsshの認証を設定した後、使用する分岐システムがわからないことに気付きました。私が一人でいる間、GitFlowは冗長すぎますが、すべてをマスターブランチにコミットしませんか?誰かがプロジェクトに参加するか、インタビューでリポジトリを見せたらみんなが笑うでしょう。コミットの説明とどの言語で何を書くべきかというアイドルではない質問もありますが、後でそれを残しておきましょう。



このすべてをホスティングに展開する方法について考える価値があります。バックエンドがPythonの場合は、仮想環境を作成してそこで作業する必要があります。何らかの理由で、これはサーバー上で完全には機能せず、常に何かが発生します。ちなみに、クラッシュ後にすべてが再起動するように、アプリケーションをサービスとして実行する必要があります!以上です、今は間違いなく野田を取ります! Node.jsをバックアップするには、Node.jsが機能するホスティングを見つける必要があります。これらはすべてクラウドベースであり、非常に最新です。そこで、GitHubのリポジトリからプロジェクトの展開を構成する必要がありますが、マスターブランチに接続するだけでは不十分です。これは、すべての変更がすぐにサーバーに送信されるため、あまり良くありません。もちろん、手動でデプロイすることもできますが、これもどういうわけか時代遅れです。おそらく、分岐システムについてもう一度考えます。



ああ、それでも同じDB! PostreSQLは優れているようで、私もそれを使用しましたが、nosqlデータベースが必要なのかもしれません。それをサーバーにデプロイする方法、そしてデータを失うことなくコンピューターとクラウドで同じ構造を維持する方法については疑問が残りますが、これはまだ遠い道のりです。



ああ、ほとんど忘れてしまいました。フロントエンドはJSフレームワーク上にあるため、サーバー側のレンダリングについて考える必要があります。プロジェクトにインデックスを付けることが重要です。うーん、これにはNext.jsやNuxt.jsを使用する必要はありませんか?考える必要があります。



私はすでに何かを忘れ始めているので、タスクと進行状況を追跡するためにいくつかのタスクトラッカーをねじ込む必要があります。 ScrumまたはKanbanの方法論を使用する必要がありますか?または私が一人でいる間、私はそれをすることができますか?では、どのようにして期限を追跡しますか?



また、TS、ES6、SASS、PUG、GraphQL、OOP、機能プログラミング、不変性などについても考えていません。そして、HTTPS証明書を固定する必要があります!たぶん私はそれを正しくまとめるためにチームに数人の友人を雇うべきですか?次に、スクラムとプルのリクエストなしでは実行できません。



このメモで、私はついに疲れて、PHPに関する古い本を掘り起こし、上記のことについて何も知らず、テクノロジーの半分がまだ登場していない2013年のようにすべてを行うべきだと思いました。先のことを考えすぎているようです。これは後ですべて解決します。今度はシリーズを見て寝ます。明日は間違いなくプログラミングを開始します。



All Articles