usegolang - Web Development with Go - Printable Version +- Softwarez.Info - Software's World! (https://softwarez.info) +-- Forum: Library Zone (https://softwarez.info/Forum-Library-Zone) +--- Forum: Video Tutorials (https://softwarez.info/Forum-Video-Tutorials) +--- Thread: usegolang - Web Development with Go (/Thread-usegolang-Web-Development-with-Go) |
usegolang - Web Development with Go - AD-TEAM - 12-16-2024 usegolang - Web Development with Go WEBRip | English | MP4 + Project Files | 1920 x 1080 | AVC ~780 kbps | 30 fps AAC | 253 Kbps | 48.0 KHz | 2 channels | ~33 hours | 12.51 GB Genre: eLearning Video / Development, Programming Languages Quote:Learn to build real, production-grade web applications from scratch. In this course we build and deploy a photo sharing application complete with users, authentication, image uploads, a database, and more. We even deploy to a production server and set up automatic HTTPS.Includes: Section 1: Getting Started A Basic Web Application (Sample) Troubleshooting and Slack Packages and Imports (Sample) Editors and Automatic Imports (Sample) The "Hello, World" Part of our Code (Sample) Web Requests (Sample) HTTP Methods (Sample) Our Handler Function (Sample) Registering our Handler Function. (Sample) Go Modules (Sample) Section 2: Adding New Pages Dynamic Reloading (Sample) Setting Header Values (Sample) Creating a Contact Page (Sample) Examining the http.Request Type (Sample) Custom Routing (Sample) URL Path vs RawPath Not Found Page The http.Handler Type The http.HandlerFunc Type Exploring Handler Conversions FAQ Exercises Section 3: Routers and 3rd Party Libraries Defining our Routing Needs Using git Installing Chi Using Chi Chi Exercises Section 4: Templates What are Templates? Why Do We Use Server Side Rendering? Creating Our First Template Cross Site Scripting (XSS) Alternative Template Libraries Contextual Encoding Home Page via Template Contact Page via Template FAQ Page via Template Template Exercises Section 5: Code Organization Code Organization MVC Overview Walking Through a Web Request with MVC MVC Exercises Section 6: Starting to Apply MVC Creating the Views Package fmt.Errorf Validating Templates at Startup Must Functions Exercises Section 7: Enhancing our Views Embedding Template Files Variadic Parameters Named Templates Dynamic FAQ Page Reusable Layouts Tailwind CSS Utility-first CSS Adding a Navigation Bar Exercises Section 8: The Signup Page Creating the Signup Page Styling the Signup Page Intro to REST Users Controller Decouple with Interfaces Parsing the Signup Form URL Query Params Exercises Section 9: Databases and PostgreSQL Intro to Databases Intalling Postgres Connecting to Postgres Update: Docker Container Names Creating SQL Tables Postgres Data Types Postgres Constraints Creating a Users Table Inserting Records Querying Records Filtering Queries Updating Records Deleting Records Additional SQL Resources Section 10: Using Postgres with Go Connecting to Postgres with Go Imports with Side Effects Postgres Config Type Executing SQL with Go Inserting Records with Go SQL Injection Acquire a new Record's ID Querying a Single Record Creating Sample Orders Querying Multiple Records ORMs vs SQL Exercises Syncing the Book and Screencasts Source Code Section 11: Securing Passwords Steps for Securing Passwords Third Party Authentication Options What is a Hash Function? Store Password Hashes, Not Encrypted or Plaintext Values Salt Passwords Learning bcrypt with a CLI Hashing Passwords with bcrypt Comparing a Password with a bcrypt Hash Section 12: Adding Users to our App Defining the User Model Creating the UserService Create User Method Postgres Config for the Models Package UserService in the Users Controller Create Users on Signup Sign In View Authenticate Users Process Sign In Attempts Section 13: Remembering Users with Cookies Stateless Servers Creating Cookies Viewing Cookies with Chrome Viewing Cookies with Go Securing Cookies from XSS Cookie Theft CSRF Attacks CSRF Middleware Providing CSRF to Templates via Data Custom Template Functions Adding the HTTP Request to Execute Request Specific CSRF Template Function Template Function Errors Securing Cookies from Tampering Cookie Exercises Section 14: Sessions Random Strings with crypto/rand Exploring math/rand Wrapping the crypto/rand package Why Do We Use 32 Bytes for Session Tokens? Defining the Sessions Table Stubbing the SessionService Sessions in the Users Controller Cookie Helper Functions Create Session Tokens Refactor the rand Package Hash Session Tokens Insert Sessions into the Database Update Existing Sessions Query Users via Session Token Deleting Session Sign Out Handler Sign Out Link Session Exercises Section 15: Improved SQL SQL Relationships Foreign Keys On Delete Cascade Inner Join Left, Right, and Full Outer Join Using Join in the SessionService SQL Indexes Creating PostgreSQL Indexes On Conflict Improved SQL Exercises Section 16: Schema Migrations What are Schema Migrations? How Migration Tools Work Installing pressly/goose Converting to Schema Migrations Schema Versioning Problem Run Goose with Go Embedding Migrations Go Migration Files Removing Old SQL Files Section 17: Current User via Context Using Context to Store Values Improved Context Keys Context Values with Types Storing Users as Context Values Reading Request Context Values Set the User via Middleware Requiring a User via Middleware Accessing the Current User in Templates Request-Scoped Values Section 18: Sending Emails to Users Password Reset Overview SMTP Services Building Emails with SMTP Sending Emails with SMTP Building an Email Service EmailService.Send Forgot Password Email ENV Variables Section 19: Completing the Authentication System Password Reset DB Migration Password Reset Service Stubs Forgot Password HTTP Handler Asynchronous Emails Forgot Password HTML Template Initializing Services with ENV Vars Check Your Email HTML Template Reset Password HTTP Handlers Reset Password HTML Template Update Password Function Implementing PasswordReset.Create Implementing PasswordReset.Consume Section 20: Rendering Alerts Designing an Alert Banner Rendering Dynamic Errors Hiding the Alert Banner Alert Template Function Rendering Signup Errors Public vs Internal Errors Rendering Login Errors Redirecting with Alerts Updating Existing Error Handling Section 21: Galleries Section Overview The Gallery Model Gallery Service Sharing a DB Connection Implementing the GalleryService Initial Galleries Handler Create Gallery Endpoint Validators and Normalizers Edit Galleries Endpoint Update Galleries Endpoint Show Gallery Endpoint Delete Gallery Endpoint Gallery Index Endpoint Navbar Updates Section 22: Images File Upload HTML Form ParseMultipartForm Parsing Image Uploads The Image Service Query Images via Gallery ID Rendering Images Deleting Images Section 23: Preparing for Production Serving Static Assets CSRF Proction Production .env file Loading All Configs via ENV Vars Section 24: Deploying Setting Up a Server Installing Postgres on the Server Caddy Server Deployment Script Section 25: Managing Go Tools Using Go to Manage Tool Versions Installing Go Tools also You can find my other helpful (if old file-links don't show activity, try copy-paste them to the address bar) General Complete name : lesson14.mp4 Format : MPEG-4 Format profile : Base Media / Version 2 Codec ID : mp42 (mp42/mp41/isom/avc1) File size : 43.0 MiB Duration : 5 min 47 s Overall bit rate mode : Variable Overall bit rate : 1 038 kb/s Encoded date : UTC 2021-07-11 16:35:48 Tagged date : UTC 2021-07-11 16:35:48 Video ID : 1 Format : AVC Format/Info : Advanced Video Codec Format profile : High@L4 Format settings : CABAC / 5 Ref Frames Format settings, CABAC : Yes Format settings, RefFrames : 5 frames Codec ID : avc1 Codec ID/Info : Advanced Video Coding Duration : 5 min 47 s Bit rate : 780 kb/s Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 30.000 FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Bits/(Pixel*Frame) : 0.013 Stream size : 32.3 MiB (75%) Writing library : x264 core 161 r10 c347e7a Encoding settings : cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=8 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=34 / lookahead_threads=5 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / stitchable=1 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=infinite / keyint_min=30 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.60 / qpmin=5 / qpmax=69 / qpstep=4 / vbv_maxrate=5500 / vbv_bufsize=15000 / crf_max=0.0 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00 Encoded date : UTC 2021-07-11 16:35:48 Tagged date : UTC 2021-07-11 16:35:48 Color range : Limited Color primaries : BT.709 Transfer characteristics : BT.709 Matrix coefficients : BT.709 Audio ID : 2 Format : AAC Format/Info : Advanced Audio Codec Format profile : LC Codec ID : mp4a-40-2 Duration : 5 min 47 s Bit rate mode : Variable Bit rate : 253 kb/s Channel(s) : 2 channels Channel positions : Front: L R Sampling rate : 48.0 kHz Frame rate : 46.875 FPS (1024 SPF) Compression mode : Lossy Stream size : 10.5 MiB (24%) Encoded date : UTC 2021-07-11 16:35:48 Tagged date : UTC 2021-07-11 16:35:48 Screenshots ✅ Exclusive eLearning Videos ← add to bookmarks Feel free to contact me when links are dead or want any repost |