Let's Go
› فهرست
‹
قبلی
·
فهرست
·
بعدی
›
فهرست
۱. مقدمه
۱.۱. پیشنیازها (Prerequisites)
۲. مبانی
۲.۱. راهاندازی پروژه و ایجاد ماژول (Project Setup and Module Creation)
۲.۲. مبانی برنامههای وب (Web Application Basics)
۲.۳. مسیریابی درخواستها (Request Routing)
۲.۴. الگوهای مسیریابی wildcard (Wildcard Route Patterns)
۲.۵. مسیریابی مبتنی بر متد (Method-Based Routing)
۲.۶. سفارشیسازی پاسخها (Customizing Responses)
۲.۷. ساختار و سازماندهی پروژه (Project Structure)
۲.۸. قالببندی HTML و وراثت (HTML Templating and Inheritance)
۲.۹. ارائه فایلهای استاتیک (Serving Static Files)
۲.۱۰. رابط http.Handler (HTTP Handler Interface)
۳. پیکربندی و مدیریت خطا (Configuration and Error Handling)
۳.۱. مدیریت تنظیمات پیکربندی (Configuration Settings)
۳.۲. ثبت ساختاریافته (Structured Logging)
۳.۳. تزریق وابستگی (Dependency Injection)
۳.۴. مدیریت متمرکز خطا (Centralized Error Handling)
۳.۵. جداسازی مسیرهای برنامه (Application Routes)
۴. پاسخهای مبتنی بر پایگاه داده (Database-Driven Responses)
۴.۱. راهاندازی MySQL
۴.۲. نصب درایور پایگاه داده (Database Driver)
۴.۳. ماژولها و ساختهای قابل تکرار (Modules and Reproducible Builds)
۴.۴. ایجاد استخر اتصال پایگاه داده (Database Connection Pool)
۴.۵. طراحی مدل پایگاه داده (Database Model)
۴.۶. اجرای دستورات SQL (SQL Statements)
۴.۷. پرسوجوهای SQL تک رکوردی (Single Record SQL Queries)
۴.۸. پرسوجوهای SQL چند رکوردی (Multiple Record SQL Queries)
۴.۹. تراکنشها و جزئیات دیگر (Transactions)
۵. قالبهای HTML پویا (Dynamic HTML Templates)
۵.۱. نمایش دادههای پویا (Dynamic Data)
۵.۲. عملیات و توابع قالب (Template Actions and Functions)
۵.۳. ذخیرهسازی قالبها (Template Caching)
۵.۴. مدیریت خطاهای زمان اجرا (Runtime Errors)
۵.۵. دادههای پویای مشترک (Common Dynamic Data)
۵.۶. توابع سفارشی قالب (Custom Template Functions)
۶. میانافزار (Middleware)
۶.۱. نحوه عملکرد میانافزار (Middleware Operation)
۶.۲. تنظیم هدرهای مشترک (Common Headers)
۶.۳. ثبت درخواستها (Request Logging)
۶.۴. بازیابی از panic (Panic Recovery)
۶.۵. زنجیرههای میانافزاری ترکیبی (Middleware Chains)
۷. پردازش فرمها (Form Processing)
۷.۱. راهاندازی فرم HTML (HTML Form Setup)
۷.۲. تجزیه دادههای فرم (Form Data Parsing)
۷.۳. اعتبارسنجی دادههای فرم (Form Validation)
۷.۴. نمایش خطاها و پر کردن مجدد فیلدها (Error Display and Field Repopulation)
۷.۵. ایجاد کمککنندههای اعتبارسنجی (Validation Helpers)
۷.۶. تجزیه خودکار فرم (Automatic Form Parsing)
۸. HTTP حالت دار (Stateful HTTP)
۸.۱. انتخاب مدیر جلسه (Session Manager)
۸.۲. راهاندازی مدیر جلسه (Session Manager Setup)
۸.۳. کار با دادههای جلسه (Session Data)
۹. بهبودهای سرور و امنیت (Server and Security)
۹.۱. ساختار http.Server (HTTP Server Struct)
۹.۲. ثبت خطای سرور (Server Error Log)
۹.۳. تولید گواهینامه TLS خودامضا (Self-Signed TLS Certificate)
۹.۴. اجرای سرور HTTPS (HTTPS Server)
۹.۵. پیکربندی تنظیمات HTTPS (HTTPS Settings)
۹.۶. زمانسنجهای اتصال (Connection Timeouts)
۱۰. احراز هویت کاربر (User Authentication)
۱۰.۱. راهاندازی مسیرها (Routes Setup)
۱۰.۲. ایجاد مدل کاربران (Users Model)
۱۰.۳. ثبتنام کاربر و رمزنگاری رمز عبور (User Signup and Password Encryption)
۱۰.۴. ورود کاربر (User Login)
۱۰.۵. خروج کاربر (User Logout)
۱۰.۶. مجوزدهی کاربر (User Authorization)
۱۰.۷. محافظت در برابر CSRF (CSRF Protection)
۱۱. استفاده از زمینه درخواست (Request Context)
۱۱.۱. نحوه عملکرد زمینه درخواست (Request Context Operation)
۱۱.۲. زمینه درخواست برای احراز هویت/مجوزدهی (Request Context for Auth)
۱۲. جاسازی فایل (File Embedding)
۱۲.۱. جاسازی فایلهای استاتیک (Static File Embedding)
۱۲.۲. جاسازی قالبهای HTML (HTML Template Embedding)
۱۳. تست (Testing)
۱۳.۱. تست واحد و تستهای فرعی (Unit Testing and Subtests)
۱۳.۲. تست پردازندههای HTTP و میانافزار (Testing HTTP Handlers)
۱۳.۳. تست end-to-end (End-to-End Testing)
۱۳.۴. سفارشیسازی نحوه اجرای تستها (Test Customization)
۱۳.۵. شبیهسازی وابستگیها (Mocking Dependencies)
۱۳.۶. تست فرمهای HTML (Testing HTML Forms)
۱۳.۷. تست یکپارچگی (Integration Testing)
۱۳.۸. پروفایلبرداری پوشش تست (Test Coverage Profiling)
۱۴. نتیجهگیری
۱۵. مطالعه بیشتر و پیوندهای مفید (Further Reading and Links)
۱۶. تمرینات هدایت شده (Guided Exercises)
۱۶.۱. افزودن صفحه 'درباره ما' به برنامه (Adding About Page)
۱۶.۲. افزودن حالت اشکالزدایی (Debug Mode)
۱۶.۳. تست متد snippetCreate (Testing snippetCreate)
۱۶.۴. افزودن صفحه 'حساب کاربری' به برنامه (Adding Account Page)
۱۶.۵. هدایت مناسب کاربر پس از ورود (Post-Login Redirect)
۱۶.۶. پیادهسازی قابلیت 'تغییر رمز عبور' (Change Password Feature)