例による実践的な Web ベースの深層学習とセキュリティ

による Daisy
実用的なWebベースの深い学習とセキュリティの例 第3版 シャーロット・ハーパー 2024年7月3日 序文: Web向けのソフトウェアの構築におけるセキュリティ上の考慮事項は、信頼できる、安定しており、実用的な目的に役立つプロトタイプを設計しながら、Web開発者の計画と実行の重要な部分です。 HTML、JavaScript、およびCSSの実装と、Python、C/C ++、Java、Bashを実装するバックエンドソフトウェアの実装により、Dom(Document Object Markup)は、Web開発者に自由と力を提供し、さまざまなプロジェクトを作成する自由と力を提供します。創造性、使いやすさと機能性を提供し、謙虚さと性格を描写し、使いやすさを提供するだけでなく、平均的なジョーにとって魅力的な利便性と重要なサービスを提供します。時間を殺したり、インターネットで何かを成し遂げたりするには、通常はタッチスクリーンのスマートフォンデバイスで。ほとんどの人は、からウェブサイトを構築したいときにどこから始めればよいかさえ知らないでしょうスクラッチ、彼らは他の人のウェブサイトで開始し、機能、信頼性、使いやすさ、特に創造性に限定されたものを構築する傾向があります。 、特にソフトウェアへの高価なサブスクリプションのためにお金を払うお金を無駄にして、使いやすさと柔軟性の制限を考えると、とにかく使用したい人はほとんどいません。この本を読んで、私があなたに教えたいことを学んだり、あなたの目標について個人的に話したり、正しい方向に何らかのガイダンスを取得したり、自分のソフトウェアをコードして書くことを学ぶ意欲がある場合は、この本を家に持ち帰り、次の影響力のある、強力で、合理化された、重要なWebアプリケーションを構築するために時間を確保します。 私について: 私はソフトウェア開発者ですC/C ++、Java、Python、HTML、CSS、JavaScriptの経験の範囲。私は人々が使用し、訪問したい、さらには時間を学び、再作成し、殺すために使用することに夢中になりたいウェブサイトを構築し、最も重要なことに、私はソフトウェアを販売しています。あなたがウェブサイトをどのように見て機能させたいかについて正確に考えていたなら、あなたは私をサポートすることをいとわなかったので、私はあなたに会っている間、私自身のニーズを満たすことができ、あなたは自分でウェブサイトを運営するコストを賄うことをいとわないでしょう。次のYouTube、Tiktok、Twitter、Google、またはアクセスできるハイテクセキュリティアプリでさえ構築します。私の時間を売ろうとする代わりに、私はあなたの時間を買おうとしています:私はあなたにすでに存在する情報を自分でアプリ(ウェブサイト)の構築に話したいと思います、そしてあなたがあなたが独立したソフトウェア開発者になるために必要なものを教えてください、起業家は、あなたが望むあらゆる分野で成功したキャリアをリードしています。そして、私を明確にさせてください、私があなたに与える教育は非公式になります。あなたは学校に行って、これらすべてをで学ぶことができます正式な教育、または学校でこの本を読んで、あなたの課題を完成させ、あなたの教育から大いに奪うことさえありますが、私は正式にあなたを熱い席に置いて、課題を完了するように頼むことはありません。私はあなたの教授ではありません。あなたはあなた自身の個人的な成功に駆り立てられたキャリアに向けてあなたを導きたい友人のように私を考えることができます。そして、私もあなたに成功を売っていません、あなたはあなたの時間とともにそれを買う必要があります。コードの学習には急な学習曲線があり、決して簡単ではなかったか、そうあるはずです。自分でアプリを学び、構築するためにイライラしている場合でも、できる限り一生懸命働き、失敗し、再試行し、再試行する必要があります。それはコード自体の性質です。コードは、プログラマーエラーメッセージを提供するように設計されたコンパイラによって実行されます。これらは、検索エンジンにエラーをコピーして他の人の例を読むだけでも、コードの方法を教えます。そして、私は言わなければなりません、あなたは非常に金持ちで賢くなる必要はありません、Assful、または詳細指向または整理さえ、アプリを構築するために整理されています。コンピューターはあなたのためにその組織の世話をします。試行錯誤を通して忍耐し、焦点を維持し、自分がしていることに一生懸命働く必要があります。そして、あなたはあなたがしていることの全体で非常に成功したキャリアを持っているでしょう。 私という人間: 最後のセクションは学習に関するものであり、あなたがこの本からの方法をとることについてのことを理解しています。私は正確に誰ですか?それは複雑な質問です。私は自分自身が不明です。私は時々この本をコーディングしたり書いたりすることを困難にすることができる病状に苦しんでいるので、自分自身を紹介することになると私の人生をより困難にする社会化とアイデンティティの問題に課題を提示します。要するに、あなたがこの本を読んでいるなら、あなたはそれをひっくり返してそれが役に立つと思ったので、あなたがそれを家に持ち帰りました、またはあなたがあなたにとってあなたにとって私はあなたが成功するのを見たいと思っているような心のある個人ですあなたがすることすべて。私は自分自身がエンジニアです、開発者と学生、そして私は、ソフトウェアのハンドブックを手に入れたいと考えている他の学生のためにこの本を書いています。 、有用で、大きく、機能的で、まとまりがあり、魅力的なアプリがあり、ビジネスラインに関係なく成功を促進できます。主に、これが私がしていることです。私は自分自身や他の人々が成功するのを助けるためにアプリを構築します。私も著者ですが、これは私の最初の出版物であり、ポートフォリオを有用なドキュメントにまとめるために完了するつもりです。私もアーティストです。 私はあなたにこれを認めます、私はちょっと奇妙な人です。私は完璧ではありません。私は、大学を去り、州を去ることを導いて、より多くの成功を収めて自分の名前を作ろうとする法律にさえ告げました。私は出生時の女性で、化粧をし、自分の写真を撮り、ドレスや他の女性服を着て、自分を意識し続けています本質的に女性。私は過去に他の人たちに、WebAppsの執筆と構築に苦労することにつながる問題がありました。この本を早く手に入れることができなかったことをお詫びします。あなたはこれが必要でした。あなたは私のように見え、私のように機能し、同じことをするコードを読み、書きたいと思うでしょう。それのために、あなたはあなたの人生で成功するために必要なリソースを持っています。私は家族の育ち、健康状態、医師、メディア、法律にあらゆる種類の問題を抱えており、私のコードは、分裂した欲求不満の世界でフェミニズムと女性の性質である闘争を深く反映しています。しかし、この本は私が深く気にかけているもの、私の赤ちゃん、私のポートフォリオ、そして私の生計を立てるので、私から学ぶためにあなたがテキストを家に持ち帰り、慎重にそれを熟成させるときのあなたの考慮に感謝します。私はそうではないことに留意してくださいECT、この本にはエラー、改訂、新しいエディションがあり、私の執筆で成功した経験を積むために、あなたの論理的な脳をできる限り考える必要があります。また、あなたが書くときに挑戦に直面しているときでさえ、私はあなたにとって良いことを意味することを理解してください。このように考えてみてください。コンピューターシステムをレンタルして、デジタルスペースで想像できることを実行し、遭遇するすべての情報を保存し、#$%!Yzeと整理し、それを理解するようになります。必然的に、あなたが摂取している情報や公開さえも困難に遭遇します。私は同じ困難に遭遇したので、私はあなたにこれを言います。この本をあなた自身の責任で使用し、コミュニティやコミュニティと協力して安全な設定内でソフトウェアを構築し、間違った方法で失敗したり成功したりしても個人的に物事を取り入れないでください。 、そしてなぜ私はあなたにこのテキストを持ってきて、あなたが狂気の道を分裂することなく成功するのを助けることができる理由Aves Meは、私たちが働くネットワーク、インターネットのパラレリスティックグローバルスケールのおかげで、誰もが世界規模で行っている通常の問題に遭遇している間、台無しにされ、破れ、擦り切れました。あなたは私がほんの少しの言葉を持っている人にあまり慣れていないかもしれませんが、私はあなたが読むことをお勧めします、あなたはあなたがあなたの仕事を完了するためにあなた自身のプロジェクトを構築しながら私を読み続けて理解し続けながら私を知るようになります。あなたの教授や教師があなたに割り当てられない限り、この本には宿題はありませんが、あなたが一緒に読んだときに自分でプロジェクトのポートフォリオを構築することを強くお勧めします。学んだことを適用してください。私のCapstoneプロジェクトは、以前のプロジェクトのコード、手作業で整然と書くことを学んだコード、そして私を助けた幅広いアイデアとヒントを学んだコードを組み込んでいるため、この本で読むもののほとんどの基礎です。簡単なアプリをスピンアップできるポイントに成功しますインターネットで、あなたに宣伝されている、またはニュースで、あなたの友人や家族を使用している人気のあるアプリのように、完全に機能し、外観と振る舞いをしています。 この本は何ですか: この本は、例ともチュートリアルです。ここでコード、コードの学習方法の手順、コードのデバッグとエラーの修正に関する情報、手順のトラブルシューティング、コードのバックアップと保存方法の手順、コードを破損した場合、コードを保護し、展開し、展開あなたのコードは、面白く、魅力的で、中毒性のあるインタラクティブなWebサイトを構築します。あなたが構築するソフトウェアは、あなたのウェブサイトの訪問者であるエンドユーザーにとって、可能な限り最も魅力的であるために絶対的な最善の光になります。この本では、プラットフォームとセキュリティとしてのWebに焦点を当てたソフトウェアデザインの多くの例を示します。基本を構築することにより、学習体験を開始しますバックアップとスクリプト機能を備えたUnixシェルを使用してOjectを使用します。次に、基本的なブログWebサイトを調べ、写真とビデオ機能をブログにアップグレードし、これらの機能を使用してフリーソフトウェアを使用してセキュリティソリューションを使用し、プラグ可能な認証モジュール(PAM)を使用してサーバーを保護します。次に、ファイルの処理と処理、ビデオ編集、音声寄付、バーコードスキャン、光学文字認識などの概念を確認します。途中で、無料で有料のオプションを使用して、ソフトウェアをより便利かつ安全にするのに役立つAPIを調べます。途中で、バレルとリピーターの設計、砲塔とドローンの設計、その他のプリンシパルなど、銃器や軍需品の設計と製造などの物理的なセキュリティや過激派のツールを探求します。自己防衛と弾力性を示します。ゲームを構築するために途中で休憩を取ります、2Dと3Dエンジンを終わらせ、基本的な寸法レンダリングソフトウェアとシリコンゴムでそれぞれ電子振動マッサージャー鋳造機のケーススタディの例で埋め込まれたハードウェアを使用します。途中で、ソフトウェアをよりよく保護するために、すでに利用可能な機械学習ソリューションも採用します。また、プロセスを合理化および保護するために、Webで利用可能なストックツールを使用します。この本は、Webアプリケーションを構築し、コンピューターおよび組み込み機械システムの専門的なネットワークと統合することに成功するためのガイドであり、全体的なソフトウェアと埋め込みハードウェアの構築ガイドと、背景知識や以前の経験のないガイドです。 この本はそうではありません: 本当にウェブサイトを持ちたい場合は、単純なストアをセットアップして必要なものを販売したり、ブログを投稿したり、写真やビデオを投稿したり、コードを1行に書いたりすることなく、その他のコードを書くことなく、単純なストアを販売するだけです。この本はそうではありません。この本は、より便利で完全にソフトウェアを構築する方法を教えてくれますまだプロトタイプである最新のソフトウェアを展開しているため、古い企業が運営するスケールで実行するのに費用がかかり、後方の複雑な企業にアピールしないため、既に見つけられるあらゆるソフトウェアよりも機能的で安全に機能しています。本当に何もしていない人のためにお金を稼ぎます。この本に密接に従うと、コードを書き、調査コードを作成し、独自のアプリを作成すると、自分がしていることからお金を稼ぐことができます。私はこの本から、人々が必要としたい情報が含まれており、私のアプリを購入または使用するときにすでに購入しているため、この本からお金を稼ぎます。この本はあなたのためのアプリを構築するものではありませんが、正しい方向に向けて、必要なツールと、Web用のソフトウェアの構築におけるあなた自身の成功を促進するスキルとヒントをあなたに武装させます。コードあなたは例として記述する必要があり、あなたとあなたのサポーター、ゲスト、顧客、ソフトウェアにまとめる準備ができています、riends、家族、訪問者、請負業者、およびインターネットの人々は、使用してサポートしたいと考えています。 あなたが学ぶこと: この本は、ソフトウェア、本当に機能的で有用なソフトウェア、メディア録音、顔認識などのセキュリティ機能、マシン読み取り可能なゾーンバーコードスキャン、Web APIのようなセキュリティ機能、ビデオと写真を認証、記録、レンダリングする方法、Bluetoothなどのメッセージの交換方法を教えてください。および近接フィールド(NFC)コミュニケーション。この本は、ネットワーク化されたコンピューターを使用する方法、Debian Linuxに焦点を当てた方法、Bashコードを構築する方法、ソフトウェアのインストールとバックアップをシームレスで自動化されたそよ風にする方法、ダイナミックメッセージ、スタイルを提供するためのバックエンドとしてPythonコードを構築する方法を教えてくださいブートストラップを使用してCSSスタイルを使用して、ネットワーク化されたデバイスを介してユーザーログインとインタラクティブ性を有効にし、インタラクティブなメディアや他のWebサイトとネットワークを構築して、検証用のテキストメッセージなどのセキュリティ機能を提供する目的、IDスキャン、画像およびビデオモデレーション、データソフトウェア、支払い処理、暗号通貨取引、非同期タスクなどを安全に保つためのラン作用。バッテリー、充電器、マイクロコントローラー、サーキット、モーター、センサーを使用して、はんだ、ワイヤー、3Dプリント、および鋳造材料を使用して、独自のBluetoothデバイスを構築する方法を学びます。添加剤の製造とツールとダイアキングに適用される3D設計プリンシパルを実証します。そのため、統合されたバッテリー、充電器、電子回路、機能出力を備えた独自の埋め込みハードウェアデバイスを製造できます。そして、それらをBluetoothとWebでネットワーク化します。具体的には、2つのケーススタディ、振動するマッサージャーと自家製の銃器を調べます。どちらも、グラフィカルインターフェイスまたはコマンドラインユーティリティとして利用できるOpenSCADでプログラムされ、より迅速な結果のためにWebに統合できます。 あなたは、以前の経験なしでゼロからウェブサイトを構築して展開する方法を学び、それを機能的で、安全で、美しく、最も便利にしますポータルに実用的です。機械学習とコンピュータービジョンを使用してサイトを安全で実用的なものにし、ウェブサイトからビデオとオーディオを記録し、音楽を寄付し、音楽を作り、有用なサンプルを作成し、ノイズを突破する方法を学びます。他のWebサイトを活用して、提供しなければならないすべての有用な情報を共有し、さらに重要なことに人々をソフトウェアやビジネスに連れて行くために、あなたがあなたのウェブサイトに直接リンクできるウェブサイトの最高のネットワークを構築することです。この本は、メディア、セキュリティ、機械学習に最も焦点を当てています。これは、適切なユーザーを引き付け、現実的で実用的な方法で間違ったソフトウェアを外すことで、Web向けのソフトウェアを構築するのに役立つ主要な3つのコンポーネントです。自動的で頑丈な間、実践と魅力的です。 この本は、UNIX、特にDebian(Ubuntu)、Bash Shell、Python、HTML、CSS、JavaScript、および多くの便利なソフトウェアパッケージを教えています。nリクエストのように、GitやFFMPEGなどの便利なBASHソフトウェア。また、暗号通貨を自動的に取引する方法を教え、暗号通貨や通常のデビットカードから支払いを行いながら、そうすることを選択した場合は、訪問者に収益のシェアを支払います。広告を通じてあなたのウェブサイトからお金を稼ぐ方法、検索エンジンのアプリを準備し、迅速にする方法を教えます。顧客があなたを見つけるために検索するものの最初のランキングにランク付けされ、多くの一般的なランキングでランク付けされます可能な限り検索します。ソフトウェアを販売したり、宣伝したり、サービスを探しているクライアントにアピールしたり、すでに存在し、安価でうまく機能する道を通してインターネット上で自分の名前を作る方法を教えます。私はあなたのために働くクラウドコンピューターにデータを保存し、あなたのデータを安く保存する方法、あなたのユーザーが望むこととあなたが望むことを行うウェブサイトを計画して構築する方法、そしてあなたのユーザーが従事させる方法を教えます通知、電子メール、テキストメッセージ、電話、その他の通路を使用して、電話でサイトをタップして、ユーザーを自由に使用できるようにして、ボタンをクリックするだけでユーザーを自由に戻します。この本は、メディアをテキストから写真、ビデオ、オーディオまで、メディアを大量に公開して配布することの実用性に焦点を当て、エンドユーザー(顧客)に良い印象を与え、作成するために自分自身を販売することに焦点を当てます。あなたとあなたのみを代表し、あなた、あなたのソフトウェア、あなたの会社を可能な限り最高の方法で見栄えを良くするウェブサイト、アプリ。また、コーディングのヒント、メイクアップや写真などの実用的な虚栄心、モデリングや演技など、私からいくつかのヒントとトリックを学びます。プラットフォームの健全なバランスをとる必要があるだけのコンテンツを配布しながら、あなたにEが必要以上に努力、仕事、またはお金のない実を結ぶ。 この本は、「実用的なWebベースの深い学習と例による例」と呼ばれています。理由は、特にWeb向け、特にセキュリティに焦点を当てて、実用的な観点からセキュリティに焦点を当てて、機能するコードの例を使用して、コードをコードすることを扱っています。テキストで概説されている実用的な目的。このテキストの学習コンポーネントには、機械学習、コンピュータービジョン、顔認識、画像とビデオのモデレーション、画像の強化、解像度の強化、画像キャプション、およびその他のタスクを処理するWebで実行する方法を紹介します。本物のコンピューターに伝達された画像、または光学コピー(画像の写真、または印刷された写真)としての画像の性質など、画像から供給された予測メトリック。機械学習は、Webセキュリティとソフトウェアセキュリティに関しては非常に重要です。これは、それ以外の場合は不可能なタスクをプリフォームすることができるためです。あなたのコンピューターパスコードでログインしますが、顔でログインする場合は、使用する方が安全かもしれません。サーバーコンピューターをこの安全なものにすることができます。通常、ユーザー名とパスコードを要求して、新しいログインまたは新しいIPアドレスの確認トークンを使用してログインしますが、大規模に構築している場合は、簡単です。基本的に安全で強力なソフトウェアを使用して、これで十分かもしれません。電子メールサービスやテキストメッセージサービスなど、他の人のソフトウェアに密接にソフトウェアを結び付けるだけで、ソフトウェアを安全にしたり、誰か(使用するサイト)を安全にしたりするには十分ではありません。 完璧に安全なソフトウェアを構築する人は誰でも、これが意味することのある程度の感覚を持っています。ソフトウェアは本質的に安全ではありません。なぜなら、アクセスに使用するデバイスとアカウントは、常に自由に自由に使えるとは限らず、ソフトウェアを意図していない人の手に渡る可能性があるため、ソフトウェア自体にリスクをもたらす可能性があるためです。これはこの本の焦点です。ネットワーク化されたコンピューターはデフォルトですWebサーバーは、サーバー自体で実行されている最先端のセキュリティツールを提供するため、長いキートークンとSSHまたはセキュアーシェルキーで固定されており、Webサーバーでセキュリティが最適です。 Webサーバーは、ユーザーがネットワークソフトウェアにアクセスできる場所であるため、ユーザーのデバイスの最も強力な部分であるユーザーのWebブラウザにアクセスできます。このツールキットは、テキスト、表示されているWebページをレンダリングでき、画像、オーディオ、ビデオ(顔や状態IDの写真など)を録画したり、Bluetoothラジオデバイスに読み書きしたり、近いフィールドに読み書きできることもできます。トランスポンダータグ、安価なキーカード、FOB、ステッカー、リング、さらには、Webサイトに結び付けられたWebサーバーによって生成および検証されたデータで読み書きできる一意のシリアル番号を備えたチップインプラント。自由に使えるすべてのツールを使用して、この本を使用して、安全なWebサイトを構築するための知識を身に付けます。あなたのために働き、あなたの入札を行い、見た目も感じたUREネットワーク化されたコンピューターシステム。 どこから始めるか: 特に、この本でコーディングの経験がある場合、またはこの本で詳細に説明する前述のツールのいずれかで、この本または任意のセクションで必要なコードを開始するセクションをスキップすることを歓迎します。同様に、ユースケースとその実用的な例を文書化します。コードを書く経験がない場合は、この本をすべて読むことを強くお勧めします。特に、この本があなたに合っていることを確認するために、前のセクションを読むことをお勧めします。この本があなたに合っていない場合は、Web開発自体について学ぶことに興味があるかもしれない友人や親relativeにそれを贈ることを検討し、それを借りて、私があなたを失敗させたギャップを埋めるために彼らから学ぶことを検討してください先生、または他の教師は私の前にしました。あなたがするところから始めて、あなたが便利なものを構築するつもりなら、この本のすべての部分が役立つでしょうpp、そして最高のアプリはエンドユーザーを念頭に置いて構築されていることを考えてください:顧客を知る。今、あなたは私を知っています、あなたはこの本を知っていて、あなたは始める準備ができています。まず、コンピューターをつかみます(ボックスストア、Amazon、または古いデスクトップが機能する最も安いラップトップでさえ、あなたのために機能する方法でセットアップします。 この本を読む方法: 強調表示されたテキストは、テキストがコマンドプロンプトに属し、実行するコードを書き込むことを示します。コマンドプロンプトは、キーボードに焦点を当てており、クリックをほとんどまたはまったく必要とせず、ワークフローをスピードアップし、物事を簡単にする必要があります。 はじめる: 飛び込みましょう。ローカルマシンにコードを作成することから始めて、インターネットに接続されたWebサイトを構築せずに開始します。これは、そもそも安全で、費用はかかりません。そしてあなたにとって簡単です。オペレーティングシステムに応じて、バッシュシェルに入ると少し違います。 Mac OSについては、この時点で仮想マシンをインストールすることをお勧めします。仮想マシン。 VirtualBoxやParalellなどのさまざまなプロバイダーは、仮想マシンを実行できますが、高速で合理化されたエクスペリエンスを作成するために推奨されるネイティブ環境を使用する場合は、マシンにUbuntuを直接インストールすることもできます。 LinuxまたはWindowsを使用している場合は、プロジェクトを作成するのは非常に簡単です。端末を開き、フィット感のあるサイズを調整し、ステップ2に従って開始します。Windowsを使用している場合は、ステップ1に従ってください。 ステップ1: - Windowsユーザーのみ Windowsでは、管理者とタイプとしてコマンドプロンプトを開きます WSL –Install ステップ2: - ここを続けるか、Windowsを使用していない場合はステップ1をここまでスキップします オープンターミナル(OSに応じて、WindowsのUbuntu、MacまたはLinuxのターミナル、または同様の名前と呼ばれます)は、プロジェクトを作成することから始めます。これは、ディレクトリを作成するMKDIRコマンドで行います。プロジェクトを保存するためにディレクトリを作成する必要がある場合は、推奨されます。ディレクトリに変更するCDコマンドと cd/path/to/directory-パスは、宛先ディレクトリの前にあるフォルダー(ファイル)です。デフォルトパスは〜または/home/username(ユーザー名がユーザー名)です。デフォルトのディレクトリに変更するには、CDまたはCDを入力してください〜 mkdirの例 - 「例」をディレクトリの名前に置き換えます これで、プロジェクトの作業ディレクトリがあります。別のマシンに切り替えたり、書いたコードを展開してWebの準備が整いたりする必要がある場合に備えて、このディレクトリを保存することが非常に重要であるため、次の数ステップでディレクトリをバックアップするスクリプトを作成します。しかし、スクリプトを構築するには少しコードが必要であり、コードはできるだけ便利になるために自動化する必要があります。スクリプトを作成して、最初にスクリプトを作成しましょう。スクリプトを作成して実行可能にすることから始めましょう。 sudo、chmod、touchを使用して、スクリプトに電話します
sudo touch /usr/bin/ascript
sudo chmod a+x /usr/bin/ascript
sudo nano /usr/bin/ascript
これで、スクリプトを作成し、実行可能にし、編集する準備ができています。 Nanoは、クリックせずにテキストを編集できるテキストエディターです。これは、グラフィカルユーザーインターフェイスを使用するよりもはるかに簡単です。 Nanoを使用してファイルを編集するには、Nanoを使用してからファイルへのパスを使用します。スクリプトを作成するスクリプトを作成すると、そもそもスクリプトを作成することにかなり似ています。上記と同じコードを使用して、スクリプトの名前、「アスクリプト」を引数パラメーター1ドルに置き換えます。これにより、単にSudo Ascript Newscriptを入力することでスクリプトを呼び出すことができます。この時点で、「Newscript」をスクリプトの名前に置き換えることで、新しいスクリプトを作成できます。 Nanoのコードは次のように見えます。
sudo touch /usr/bin/$1
sudo chmod a+x /usr/bin/$1
sudo nano /usr/bin/$1
また、ナノを閉じるために、コントロールキーを押し続けてXを押し、Yを押して、ファイルを保存していることを示し、リターンを押します。次に、これらの3つのコマンドを入力してスクリプトを編集する代わりに、Sudo ascript scriptを入力してスクリプトを再度編集することができます。これはうまくいきます!また、新しいスクリプトをシェルで呼び出すことで簡単に実行できます。今すぐ保存しましょう。バックアップスクリプトを作成して、新しいスクリプトを保存してから、バックアップスクリプトをバックアップしながら、プロジェクトディレクトリにバックアップしましょう。
sudo ascript backup
今、ナノで:
sudo cp /usr/bin/backup /path/to/directory/
sudo cp /usr/bin/ascript /path/to/directory/
ここで、/path/to/directoryは、mkdirで作成したプロジェクトへのパスです。後で、このような繰り返しのパスをループとリストでコピーする方法を学びます。このスクリプトを実行してコードをバックアップするには、コントロール+x、y、returnでファイルをNanoに保存し、以下をシェルに入力します
backup
この本を読んでシェルでフォローしているときにパスワードを求められている場合は、ユーザーパスワードを正しく入力してください。コマンドを再実行する必要がある前に3回トライします。上下矢印を使用してコマンドを再実行して編集できます。コマンドを右、左矢印、キーボードを削除して削除し、returnで実行する前に、コマンドを選択するために断続的に上下に押します。
おめでとう!ワーキングディレクトリに2つの重要なシェルスクリプトをバックアップする素晴らしいバックアップスクリプトを作成できました。プロジェクトが大きくなるにつれて、後で物事を動かしているかもしれませんが、これは今のところ機能します。クラウドのバックアップに進みましょう。これにはgithubを使用します(バックアップ用に他にも多数のgitソリューションがありますが、それらはすべて同じです。)gitは、編集をバックアップできるVerision Controlソフトウェアです。あなたがサーバーにそれらを作るときのソフトウェアまた、パスワードまたはキーの背後にあるソフトウェアのコピー全体をダウンロードすることもできます。ソフトウェアの保存には役立ちます。特に、コードの単一行が故障したときに時々破損する場合があるセキュリティでのLinuxインスタンスに移行するため、ロックアウトしている間は、バックアップの機会がない場合はコードがバックアップされない可能性があります。自動的にアップします。これをカバーします。
この時点でUbuntu仮想マシンをまだ使用していない場合は、この時点でUbuntu仮想マシンを使用して、作業Webサイトを構築してディープラーニングを実施するために必要なすべてのパッケージをインストールするときにライフを楽にすることをお勧めします。コンピューターの操作。近い将来、コードをWebサーバーに移動しますが、フィッシングに耐性のあるWebサーバーの背後に少なくとも数層のセキュリティがあることを確認し、多くのLinuxパッケージを使用するために使用したいと考えています。これ。それでもMac OSを使用したい場合は、検索してインストールできますeオンラインで必要なパッケージですが、この本やシリーズがカバーするすべてのパッケージに代わるものはない場合があります。
コマンドを実行して、バックアップスクリプトで作業をコミットするためにいくつかのコマンドを追加しましょう。
# …
git add –all
git commit -m “backup”
git push -u origin master
もう一度、Xを制御して保存します。
次に、このプロジェクトの時間構成を1回実行する必要があります。まもなくGITプロジェクトになるため、GITリポジトリから展開するたびにすべてのコマンドを入力する必要はありませんが、展開スクリプトを作成するときにこれを把握できます。まず、正しいディレクトリにいることを確認し、Gitリポジトリを初期化し、SSHキーを生成しましょう。
cd /path/to/directory
git init
git branch -m master
ssh-keygen
SSH-KeyGenを入力した後、.SSHというフォルダーの下のホームフォルダーに新しいキーを保存する必要があります。 id_rsa.pubと呼ばれます。このキーを見つけてコピーしましょう。それを見るために、
cd ~
cat .ssh/id_rsa.pub
SSHキーをアカウントに追加する前に、最後のコマンドによって返されるテキストをコピーし、Gitプロバイダー(理想的にはGitHub)でアカウントを作成します。アカウントを取得したら、右上のメニューをクリックして設定を入力してから、メニューのSSHキーとGPGキーのSSHキーを追加します。 SSHキーを追加し、貼り付けてタイトルを付けることでSSHキーを追加し、GitHubに保存して戻って新しいリポジトリを作成します。これは他のGITプロバイダーでも同様です。ドキュメントを読む必要があります。新しいリポジトリ構成で、リポジトリに説明名を付け、公開するかどうかを決定し、まだ包含用のファイルを構成しないようにしてください。リポジトリが作成されたら、クローンをSSH URLでコピーし、次のコマンドに貼り付けます。
git remote add git://… (your remote URL)
これで、CDを使用してリポジトリに戻ることができます。これに精通しています。バックアップで今すぐバックアップスクリプトを試してください
素晴らしい!今、私たちは本当にコーディングを得ることができます。 BashとGitをよく把握できるようになったので、Djangoをインストールしましょう。 Djangoはソフトウェアを自動的にバックアップできるようにします。Bashはこれを行うこともできますが、Djangoはより安全な実装をする必要があります(無効にしてより簡単に構成できます)。
Ubuntuにソフトウェアをインストールするには、Sudo Apt-Getコマンドを使用します。まず、すでに持っていたソフトウェアを更新してアップグレードしましょう。これは、sudo apt-getアップデートとsudo apt-getアップグレード-yで実行できます。次に、次のコマンドを使用して、PythonとVirtual EnvironmentのホームであるVirtual Environmentをインストールしましょう。sudoapt-getインストールpython-is-python3 python3-venv
これは、Ubuntuインスタンスのソフトウェアインストールに関してDjangoを使用するために必要なすべてです。 WindowsとLinuxの場合、これはかなり簡単なはずですが、Macの場合は仮想マシンをインストールしてください。ubuntu環境をセットアップするために、VirtualboxやParalellsデスクトップなどの無料またはParalellsのデスクトップなどの無料または有料の仮想環境を使用してLinuxを使用します。この場合、UbuntuはWebサイトが実行するソフトウェアであり、前述のすべてのソフトウェアでWebサイトをホストできるため、この場合は重要です。
Djangoを掘り下げましょう。
私たちのディレクトリで再び、
python -m venv venv # コードが保存されている仮想環境を作成します
source venv/bin/activate # 仮想環境をアクティブにします
pip install Django
django-admin startproject mysite . # ここで、MySiteは現在のディレクトリから始めています。
DjangoはWebサーバーをホストしており、基本的なローカルWebサイトを稼働させるために必要なすべてを行っているため、Djangoが始めたばかりです。 Djangoがインストールされたので、設定を少し編集して、必要な方法を機能させるようにしましょう。まず、新しいアプリを作成しましょう
python manage.py startapp feed
最初のアプリはフィードと呼ばれていることに気付くでしょう。アプリは好きなものを何でも呼び出す必要があり、新しいアプリを作成しますが、各アプリの名前は、アプリがコードで参照されるたびに一貫している必要があります。新しいアプリを追加するには、常にStartProjectに名前が付けられたアプリが作成した他のディレクトリのsettings.pyを常に編集します。ナノを使用して、
nano app/settings.py
設定で、installed_appsを見つけて、[]を3行に分離します。空の中心線に4つのスペースを使用して、「フィード」またはアプリの名前を追加します。 settings.pyのこのセクションは次のようになります。
INSTALLED_APPS = [
'feed',
]
忘れる前に、Djangoが機能していることをテストしましょう。コマンドPython manage.py runserver 0.0.0.0:8000を使用して、サーバーを実行してから、コードを実行しているコンピューター上のWebブラウザでhttp:// localhost:8000に移動して、Webページのサンプルを参照してください(動作!)他のコマンドと同じコントロールcでサーバーを終了します。
それでは、いくつかのPythonコードの作成に掘り下げましょう。 Djangoには3つの主要なコンポーネントがあり、それらはすべてコードで完全に実行されています。コンポーネントはモデル、ビュー、およびテンプレートと呼ばれ、それぞれがユーザーに配信される前にそれぞれより高いレベルと低レベルにあります。
このモデルは、取得、並べ替え、レンダリングのためにデータベースに情報を保存するコードです。
ビューは、モデルのレンダリング、操作、および変更された方法を決定します。ほぼすべてのビューがモデルを直接使用します。
テンプレートは、テンプレート言語と呼ばれるいくつかの余分なベルとホイッスルを備えたHTMLコードです。テンプレートは、Pythonコードで満たされているビューによってレンダリングされます。ビューからモデルや情報(usuall文字列や整数)などのコンテキスト。
Djangoには、以下を含むがこれらに限定されない他のコンポーネントもあります。
説明したようにアプリを構成する設定。
URLは、Webアプリケーションの特定の部分にアクセスするためにユーザーが従うパターンです。
サーバーに送信される情報が処理され、データベースとユーザーにレンダリングされる方法を定義するフォーム。これらは、サーバー側の情報を処理する基盤であり、コンピューターが保存しているあらゆる種類の情報、特にテキスト文字列、数字、真の/誤ったブール人(通常はチェックボックス)を受け入れることができます。
HTMLコードとテンプレート言語であり、PythonとHTMLのギャップを埋めるテンプレートは、Python情報をWebにアクセスできるようにしながら、誰でもアクセスできるHTMLコードとして提供できるHTMLコードとして提供できます。そうでないリモートデバイスのさまざまな目的のためにサーバーの近くにいるためにEED。
通常、JavaScriptであり、サーバーが提供し、テンプレートにリンクしているライブラリである静的ファイル。
サーバーがサービスを提供している、外部的にホストされている、またはホスティングのために別のサーバー(バケット)に投稿される前にサーバーに書き込まれるメディアファイル。
ミドルウェアは、すべてのビューと同時に実行され、ビューに「含まれている」と見なされるコードの部分です。
コンテキストプロセッサは、各ビューのコンテキストを処理し、追加のコンテキストを追加するために使用されます。
ビューがレンダリングされる前に、ユーザーまたはリクエストが特定の要件に合格することを検証するテスト。
消費者は、WebSocketsがコミュニケーションにどのように処理し、応答するかを指示します。
adminは、モデルを登録するために使用され、Django管理ページ内で詳細に操作できるようにします。ここでは、グラフィカルインターフェイスを介してデータベースを管理できます。
非同期タスクを定義するセロリは、djangoコードの一部を開始できますすぐに次のタスクまたはコード行に進む前に。
Djangoは他の多くのコンポーネントを持つことができます。これについては、ここで詳しく説明します。 Djangoをより機能的にする方法はたくさんあります。これは、非同期タスクを実行する高速で合理化された通信チャネル、セロリ、特にDjangoを拡張するための他の多くのソフトウェア、特にビュー機能で他の多数のソフトウェアであるWebSocketを追加します。コードが実行されます。ビュー関数は、通常、特定のURLパターンまたはサーバーのセクションに固有のすべてのコードを宣言するため、重要です。
まず、ビュー関数を調べてみましょう。ビュー関数は、ビューで使用されるコードを示すインポートから始まり、通常の関数の定義またはクラスを使用して定義されます。最も単純なビューは、関数定義defで定義され、基本的なテンプレートでHTTPResponseを返します。 「Hello World」というテキストを返すために基本的なビューを定義することから始めましょう。追加するたびに覚えておいてくださいfter def、for、forなどのようなステートメントをfterするには、機能に適用したい事前の定義ごとに4つのスペースを追加する必要があります。これらのそれぞれがすぐに意味することに取り組みます。
当社のサイトのディレクトリから、NANOを使用してFeed/Views.pyファイルを編集し、次の行を最後に追加します
from django.http import HttpResponse
def hello(request):
return HttpResponse('hello world')
DjangoのHttpresponseは、開閉で示されるテキスト文字列で応答します。リクエストや文字列など、情報やクラスに情報を渡すたびに、括弧(、開閉)を使用する必要があります。
これがまだ私たちの見解を見る必要があるすべてではありません。もちろん、ビューが正確にある場所にサーバーに伝えていませんが、ビューをレンダリングするパスを定義する必要があります。 App/urls.pyで基本的なパスを定義することから始めましょう。後でパスグループに入ります。
App/urls.pyで、作成したばかりのビューをインポートし始めた後、インポートステートメントの後に行を追加します。
from feed import views as feed_views
それでは、ビューパターンを定義しましょう。ビューパターンには、サーバー内にビューが存在するサーバー(ユーザーがナビゲーションバーに入力してWebページに入力するURLパス)、ビューコンポーネントが指定されている場所にある3つのコンポーネント、パスコンポーネントの3つのコンポーネントがあります。ビューのフレンドリーな名前で、テンプレートを使用するときにパターンを簡単に取得できます。特に、必要に応じて別のビュー用のスペースを作成したり、より論理的な名前を取ったりするために、名前を変更および更新できます。あなたのコードベースは、価値があり、作業しやすくするために柔軟性と即興を必要とする絶えず変化する環境になるため、このように物事を行い、柔軟性を持つことは理にかなっています。あなたの見解がどのように見えるかは次のとおりです。これをurlpatterns = [app/urls.pyのセクションに追加できます。ビューパターンは、上記の3つのコンポーネントとパスと呼ばれる関数で定義されます。あなたのURLパターンはリストですので、必ずそれらの各アイテムを終了してくださいコンマで、これはそれぞれを分離するためです。また、各アイテムは、設定のアプリと同じように、その前に4つのスペースを備えた新しいラインに移動する必要があります。 Webサーバーのルートディレクトリで実行されるビューを作成するために、Viewの最初のコンポーネントを空の文字列関数で定義します。あなたのurls.pyは今のように見えるはずです
from feed import views as feed_views
urlpatterns = [
path('', feed_views.hello, name='hello'),
]
これは、完全に静的なDjangoを使用してWebサイトを作成するための基礎です。画像、ビデオ、オーディオなどのキャッシュ情報を開始できる、よりダイナミックなWebサイトを作成するには、次に探索するモデルを使用する必要があります。とりあえず、コードを確認してサーバーを実行しましょう。エラーをコードに確認するには、実行してください。
python manage.py check
エラーメッセージがある場合は、アプリに行った変更を慎重に確認し、外部または不足しているスペース、余分なキャラクター、閉じられていない文字列、タイプミス、誤って修正する必要があるものがあるかどうかを確認する必要があります削除された文字など。エラーメッセージを読んで(ある場合)、作成または編集したファイルへのパスを行番号とともに確認できるはずです。そのファイルと行を調べて、そこにあるものを修正できるかどうかを確認してください。問題を修正した場合は、上記のコマンドをもう一度実行します。ソフトウェアが実行され、動作している場合、出力「システムチェックは問題を特定しなかった」が表示されます。今、あなたは行く準備ができています。サーバーを実行します:
python manage.py runserver 0.0.0.0:8000
Webブラウザーを開き、http:// localhost:8000に移動します。括弧内にテキストが返され、httpresponse関数の引用が表示されているのを見る必要があります。これは基本的な例にすぎませんが、ここまで行えば、Linux、Bash、Python、およびDjangoがどのように機能するかの基本を理解しています。いくつかのデータベースモデリングをより深く掘り下げ、情報を保存する際のPythonクラスのパワーを探りましょう。次に、JavaScriptと機械学習を使用して、サイトを完全に紹介し、柔軟で安全にする前に、HTMLとCSSのグリップを取得し始めます。
クラスは、アプリのモデルに保存されます。 nanoを使用して、app/models.pyを編集し、新しいクラスを追加します。クラスはクラス定義で定義され、この場合はモデルから継承するスーパークラスに渡されます。モデル。クラスの名前は、クラスの定義の後に行われ、クラスに関連する属性と関数の定義が以下に示される前に、クラスの定義a :(コロン)が使用されます。私たちのクラスそれを取得して一意に保つために使用できるIDが必要です。また、情報を保存するためにテキストフィールドも必要です。後で、タイムスタンプ、ファイル、ブリアンを追加できます(コードがモデルをどうするかについての決定を下すのに役立ち、それを並べ替えるために使用できる)を追加できます。サーバーなどに。コードを開梱しましょう
from django.db import models # クラスを定義するために使用されるインポートとそれは属性です
class Post(models.Model): # クラス自体の定義
id = models.AutoField(primary_key=True) # モデルのIDは、モデルをクエリし、一意に保ち、作成したらモデルと対話する必要がある場合に役立つ自動化されたキーです。
text = models.TextField(default='') # クラスストア、この場合、いくつかのテキストが空の文字列にデフォルトである属性。
前に行ったように、ファイルを閉じて保存します。
このクラスを更新する際にアプリが進化するときに調査する他の多くのフィールドとオプションがありますが、これはテキストを投稿するアプリを作成するための基本的な必需品です。ただし、このモデルは単独では機能しません。前述のように、このモデルを機能させるにはカスタムビューとカスタムURLパターンが必要になります。また、テンプレートとともにフォームも必要です。最初にフォームを調べてみましょう。
フォームを定義するには、nanoでapp/forms.pyを編集し、次の行を追加します。フォームクラスの2つのインポート、作成したモデル(Feed.models.post)、モデルと同様のクラス定義、およびフォームが相互作用するモデルを定義するMetaと呼ばれるサブクラスとともにフィールドが必要です。と。フォームには、リクエスト、モデル、またはその他の情報に基づいて設定する初期化関数を持つこともできます。これを後で検討します。
モデルフォームは、モデルを作成したり、モデルを編集したりできるため、非常に便利です。そのため、両方に使用します。 forms.pyで1つを定義しましょう
from django import forms
from feed.models import Post
class PostForm(forms.ModelForm):
text = forms.CharField(widget=forms.Textarea)
class Meta:
model = Post
fields = ('text',)
これは、フォームとモデルがどのように見えるかの基本です。このモデルフォームを使用して、投稿をインスタンス化または編集して、含むテキストを変更できます。次に、このフォームをビューに統合することを検討します。まず、移行を行い、データベースを移行して、モデルが実行されたときにモデルと対話できるようにしましょう。これを行うには、次のコマンドを実行します。
python manage.py makemigrations
python manage.py migrate
これには実行に時間がかかりますが、一度実行すると、ビュー、ミドルウェア、またはソフトウェアの他の場所でモデルにアクセスできます。私たちのモデルを見ることができるビューを作成して続けましょう。記載されているように、Feed/Views.pyを編集し、次のコードを追加します。 #signの後に何も追加する必要はありません。そのコードは、コードに関する情報を示すために使用されるコメントです。まず、モデルをビューでインポートし、ディスプレイのリストとしてテンプレートでレンダリングできるコンテキストに追加することから始めます。次に、フォームとモデルをボタンでレンダリングできるテンプレートを追加して、モデルに基づいて新しいオブジェクトを作成してサーバーに投稿できます。これは複雑に聞こえるので、一歩一歩見しましょう。ビューを完了する前に、モデルをレンダリングするだけのテンプレートを作成し、シェルに新しい投稿を作成して確認できることを確認しましょう。その見方は次のとおりです。
from feed.models import Post
from django.shortcuts import render, redirect
from django.urls import reverse
def feed(request):
posts = Post.objects.all() # これまでのところ、データベース内のすべての投稿をクエリします
return render(request, 'feed/feed.html', {
'posts': posts,
})
これはすべて、私たちが一番下に到達するまで非常にシンプルに見えます。レンダリング、前の例のようなHTTP応答ではなく関数によって返される値は、常に最初の入力として要求を受け取り、コンテキスト(この場合はデータベースの投稿)を受け入れます。これはテンプレートでレンダリングできます。 、および関数で定義されたテンプレートを返します。このテンプレートは、Jinja2と呼ばれる言語の少しのHTMLドキュメントになり、Python情報をHTMLにレンダリングします。
テンプレートの作成を開始するには、フィードに2つのディレクトリを作成します。
mkdir feed/templates
mkdir feed/templates/feed
次に、上記のディレクトリでテンプレートを編集し、フィード/テンプレート/フィードを編集し、この例のコードを追加します。この例のテンプレートを見てみましょう。
<!doctype HTML>
<html>
<body>
<legend>Feed</legend>
<hr>
{% for post in posts %}
<p>{{ post.text }}</p>
{% endfor %}
</body>
</html>
これは非常にシンプルなテンプレートです。 HTMLタグの開閉、ドキュメントタイプのタグ、レジェンドタイトル付きのボディタグ、画面全体に小さな行を追加するブレークタグ、および投稿のリストの各投稿を段落としてレンダリングするループ用のループを定義します。テンプレート。これは投稿をレンダリングするのに必要なすべてですが、データベースにはまだ何もありません。シェルでいくつかを作成しましょう。 manage.pyでシェルを実行できます
python manage.py shell
次に、ポストモデルをインポートしましょう
from feed.models import Post
次に、文字列を使用した簡単な投稿を作成し、シェルを終了します。文字列は、有効なテキストである限り、何でもすることができます。
Post.objects.create(text='hello world')
exit()
最後に、フィードにURLパターンを追加する必要があります。フィードアプリは複数のURLを使用し、ファイルサイズを小さく保ちたいので、このようなフィードアプリでローカルURLS.PYを作成しましょう。
from django.urls import path
from . import views
urlpatterns = [
path('', views.feed, name='feed'),
]
また、ベースアプリでurls.pyを編集する必要があります。これが何であれ、これが最初に作成したディレクトリでした。 app/app.pyを編集し、URLパターンに次のことを追加します
from django.urls import include # 上に
urlpatterns = [
# ...ここでの以前のコード
path('feed/', include(('feed.urls'), namespace='feed')),
]
これで、Python Manage.py runserverでサーバーを実行すると、データベース内のアイテムとともにモデル、ビュー、テンプレート、およびURLパターンがあるため、作成したページが表示されます。次に、作成したフォームを実装し、独自の投稿の作成を開始しましょう。しかし、あまりにも多くのコードを書く前に、以前に書いたスクリプトを使用してバックアップを作成しましょう、バックアップ。このスクリプトをシェルで実行し、少し待ってください。すべてのコードがGITリポジトリにバックアップされます。
backup
フォームの実装は比較的簡単です。フォームをインポートし、[[ポスト]リクエストハンドラーをビューに追加し、データベースに投稿を保存してから、同じビューにリダイレクトします。既にインポートしたリダイレクト関数と、ViewパターンのURLを取得するためにReverseと呼ばれる別の関数を使用できます。含まれているパターンの名前空間がフィードであり、ビューはフィードとも呼ばれるため、文字列「フィード:フィード」でこれを照会します。
from feed.forms import PostForm
def feed(request):
posts = Post.objects.all() # これまでのところ、データベース内のすべての投稿をクエリします
if request.method == 'POST': # POSTリクエストを処理します
form = PostForm(request.POST) # フォームのインスタンスを作成し、データを保存します
if form.is_valid(): # フォームを検証します
form.save() # 新しいオブジェクトを保存します
return redirect(reverse('feed:feed')) # GETリクエストで同じURLにリダイレクトします
return render(request, 'feed/feed.html', {
'form': PostForm(), # レンダリングできるように、フォームをコンテキストに渡すようにしてください。
'posts': posts,
})
次に、新しいフォームを考慮してテンプレートを更新する必要があります。これを使用してこれを行うことができます
https://glamgirlx.com/ja/practical-web-based-deep
https://glamgirlx.com/ja/practical-web-based-deep -
このアドレスを使用して、ビットコインにヒントを残してください。 3KhDWoSve2N627RiW8grj6XrsoPT7d6qyE
© Glam Girl X 2025