![]() |
Go (Golang): Develop Modern, Fast & Secure Web Applications - Druckversion +- Forum Rockoldies (https://rockoldies.net/forum) +-- Forum: Fotobearbeitung - Photoshop (https://rockoldies.net/forum/forumdisplay.php?fid=16) +--- Forum: E-Learning, Tutorials (https://rockoldies.net/forum/forumdisplay.php?fid=18) +--- Thema: Go (Golang): Develop Modern, Fast & Secure Web Applications (/showthread.php?tid=79054) |
Go (Golang): Develop Modern, Fast & Secure Web Applications - Panter - 01.01.2024 ![]() Go (Golang): Develop Modern, Fast & Secure Web Applications Published 10/2023 MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz Language: English | Size: 38.21 GB | Duration: 50h 43m A comprehensive introduction to developing fast & secure web applications in GO (beginners & fairly advanced developers) What you'll learn How to build modern, fast, and secure web applications in Google's GO programming language How to code your programs in the GO (golang) programming language How to organize your application in GO while developing correctly Integrate 3rd party packages with GO Modules Write plain JavaScript without depending on something like jQuery Creating HTML pages using HTML5 Creation and usage of Cascading Style Sheets (CSS) How to write tests in GO Brief insight in creating Entity Relationship Diagrams Using "migrations" (and FIZZ) to build a develpoing environment for a PostgreSQL database How to setup and connect to a PostgreSQL database (server) in GO Managing sessions in GO Learn best practices for security in web applications Create and use of middleware in GO Implementation of secure user authentication in GO Deployment of a GO web application to a real server Setup of Caddy 2 as Reverse Proxy with HTTPS Many other competencies a full-stack developer should have Requirements No previous programming experience is required to participate in this course (but highly recommended!). This course starts by teaching very basic skills and guides you step by step to create modern web applications in Go. Basic experience of coding GO and a working GO IDE (Integrated Developing Environment) is helpful but not mandatory. Knowledge of HTML5, JavaScript, CSS, SQL, Linux, general understanding of processes in computers help and will also be covered in the course. Willingness to learn and a fair amount of curiosity to figure out how things work! Description You are invited on an exciting journey where you will learn, with guidance, to use Google's GO programming language to develop modern web applications that are highly scalable in both depth and scope. You'll take advantage of the extraordinary capabilities GO holds for full-stack developers to build all sorts of server/client-based applications. This course is intended as a rich resource for learning programming basics as well as concepts in general and developing modern and fast web application with Google's GO (golang) programming language in particular - a comprehensive learning experience. The easiest way to learn new programming techniques and modern concepts in software design is to apply them using real-life examples. In this course you will learn how to plan, implement, test, debug and finally install a modern web application - a homepage for renting out bungalows as vacation homes - on a web server. You will learn about the advantages of the GO programming language and, on the way to a working application, how to integrate other elements such as SQL/PostgreSQL databases, JavaScript (client-side and server-side), AJAX techniques, HTML, CSS and how to use essential tools for full-stack developers.Besides programming in GO, this course also deals withHTML5 / CSS / DOMJavaScript (Vanilla, without jQuery dependence)SQL / PostgreSQLMigrations / FIZZJSONRoutes, Handlers, ModelsTests, Error HandlingLinux (bash), Windows (Command Line), macOS (bash)git / githubInstallation on a webserverand much moreWhile suitable for beginners with basic programming experience, it is designed to be a resource for fairly advanced developers. It's filled with examples, explanations, and clarifications of concepts needed to develop modern, fast and secure web applications, and comes with a code repository on Github and a detailed course outline as PDF, which serves as part of the course.Included external packages an dependencies:go-chi | Routerscs | Sessionsnosurf | CSRF-Tokengovalidator | Validator (server-sided)pgx/v5 | PostgreSQL Driver & Toolkitgo-simple-mail | Golang package for sending e-mailCaddy 2 | a powerful, enterprise-ready, open source web server with automatic HTTPS written in GOAlso playing a part:bootstrap | Bootstrap - HTML, CSS, and JavaScript framework (no jQuery)RoyalUI-Free-Bootstrap-Admin-Template | Free Bootstrap 4 Admin TemplateSimple-DataTables | DataTables but in TypeScript transpiled to Vanilla JSpostgres | PostgreSQL Server (mirror only)pop | Soda/Migrations - standardization of database tasksdbeaver | Dbeaver - free multi-platform database toolvanillajs-datepicker | Vanilla JavaScript datepickernotie | unobtrusive notifications - clean and simple JavaScriptSweetAlert2 | so many options for JavaScript popupsMailHog | Web and API based SMTP testingFoundation for Emails 2 | Quickly create responsive HTML e-mails that workCobra | A Framework for Modern CLI Apps in GOGoDotEnv | A GO port of Ruby's dotenv libraryWhen you sign up for this course, you have lifetime access to the course. You can learn at your own pace and return to content at any time for deeper insights or to learn additional concepts when you are ready.This course also comes with a 100% money back guarantee.I think this is one of the most comprehensive courses in English for developing modern, fast, and secure web applications from scratch.And if for some reason the course doesn't work for you, you can get a full refund within the first 14 days*.Enroll now!You can get great value from this course and, more importantly, you'll have a great time learning one of the best programming languages ever - the GO programming language, the fastest growing programming language with the highest paid programmers in the US within the last years.GO is an open-source programming language that makes it easy to develop simple, reliable, and efficient software.GO was developed by computer science luminaries at one of the best, if not the best, software development companies ever - Google. The design and implementations are by Robert Griesemer, Rob Pike and Ken Thompson.GO is a very good choice for learning a programming language because it was developed by some of the same people who created the C programming language, Unix, and UTF-8 - some of the most influential contributions to computer science. With GO Robert Griesemer, Rob Pike, and Ken Thompson created a modern programming language that can easily run on multiple processors in parallel, works smoothly in different environments, and makes it easy for programmers to write programs with a very streamlined and user-friendly syntax.Why did Google develop a new programming language?In Google's words, "GO was born out of frustration with existing languages and environments for systems programming. Programming had become too difficult and the choice of languages was partly to blame. One had to choose either efficient compilation, efficient execution, or ease of programming; all three were not available in the same mainstream language. Programmers who could were choosing ease over safety and efficiency by moving to dynamically typed languages such as Python and JavaScript rather than C++ or, to a lesser extent, Java. GO is an attempt to combine the ease of programming of an interpreted, dynamically typed language with the efficiency and safety of a statically typed, compiled language. It also aims to be modern, with support for networked and multicore computing. Finally, working with GO is intended to be fast: it should take at most a few seconds to build a large executable on a single computer. To meet these goals required addressing a number of linguistic issues: an expressive but lightweight type system; concurrency and garbage collection; rigid dependency specification; and so on. These cannot be addressed well by libraries or tools; a new language was called for."Learn with me the advantages in web programming of one of the best programming languages ever developed. You will get knowledge, ideas, concepts, inspiration and code examples to design software and applications yourself according to your wishes.* Check Udemy's Terms and Conditions for details. Overview Section 1: Introduction Lecture 1 Allow Me To Introduce Myself - The whoami For Udemy Courses Lecture 2 Why GO Of All Things? Why Not Node.js Or Another Programming Language? Lecture 3 Installation Of GO And Setup Of A Free Integrated Development Environment (IDE) Lecture 4 Learning Notes On This Course Lecture 5 Accompanying Course Outline As PDF (Also Available On Github) Lecture 6 Brief Section And Content Overview Lecture 7 Basic Sources Of Information On The Web About GO And Used Software Section 2: Brief Dive Into Go As A Crash Course Lecture 8 Take This Hint And This One, And This One Too! Lecture 9 Hello, World Lecture 10 Variables - First Things First Lecture 11 All Functional? Lecture 12 Pointer Pointing The Finger At Others Lecture 13 The Shadow World - It's Always About Types And Structs Lecture 14 Receiver - The Madness Gets Method Lecture 15 Maps And Slices Lecture 16 Decisions & Conditionals If, Else, Else If, Switch Lecture 17 In Da Loop: "For" And "Range" As A Team Lecture 18 Polymorphism: Interfaces - The Name Says It All Lecture 19 Go Modules Lecture 20 Channels Are The Key To Concurrent Communication In Go! Lecture 21 Import And Export Of Data In Json Format Lecture 22 Unit Tests Section 3: Basic Web Application - The Beginning Lecture 23 The HTTP Request/Response Cycle Lecture 24 The First Web Application: "It's Alive! It's Alive!" Lecture 25 Unleash The Full Potential Of Handlers With The Magic Of Functions! Lecture 26 Errors Have Value And Are A Value Lecture 27 HTML Templates: Because Ain't Nobody Got Time To Code That From Scratch! Lecture 28 Organize And Conquer: Let's Tidy Up And Optimize Our Space! Lecture 29 Restructuring A Structure Like From The Textbook Lecture 30 Layouts Like A Boss Lecture 31 A Dynamic Cache For Effective Template Processing Lecture 32 Creating A Static Cache #1: Efficient Template Processing Lecture 33 Creating A Static Cache #2: Introducing Configuration File For Global Variables Lecture 34 Creating A Static Cache #3: Final Step Of Implementation Using Global Variables Lecture 35 What Else You Can Do With A Configuration File Lecture 36 Sharing Is Caring: Sharing Data With Templates Section 4: GO With The Flow: An Introduction To Middlewares In GO! Lecture 37 Introduction Of Middleware And Routing In GO Lecture 38 Implementation Of A Simple Routing Package (bmizerany/pat) Lecture 39 Developer's Favorite: go-hhi/chi As New External Routing Package Lecture 40 Middleware: DIY Your Own Middleware Today And Be The Coolest Coder In Town Lecture 41 State Management With Session(s) Lecture 42 Brief Function Test For Session Data Section 5: Project Picking And Working With Forms: A Paperless Dream! Lecture 43 Thoughts On Project Selection Lecture 44 Brief Note On Github Lecture 45 Static Files: Hold Still And Get Integrated! Lecture 46 HTML - A Trip To The 1990th Lecture 47 Spot Landing! We Create A Landing Page Lecture 48 Preparing The HTML Of The Bungalow Pages Lecture 49 Create And Pimp An Availability Check HTML Page Lecture 50 make-reservation.html Is Our Answer To: "Do You Have A Reservation?" Section 6: Code-Kaboom! JavaScript And CSS Come Into Play Lecture 51 JavaScript: Friend Or Foe? Lecture 52 Effortlessly Pick Dates: Grabbing A Vanilla JS Datepicker Package Now! Lecture 53 Notie By Nature: Show Simple Messages Lecture 54 Sweetalert: Candy Time! Lecture 55 Sweetalert Is A Candy Store - Our Own JavaScript Module Lecture 56 From Boring Button To Superstar: A New Functionality In Our JS Mod Lecture 57 CSS: Making Websites Less Ugly Since 1996 Section 7: Turn HTML Into GO Templates, Server-Side Validation And Even More Handlers Lecture 58 Brief Overview What's Going On In This Section Lecture 59 From HTML To "Happily Ever After": Conversion Into GO Templates Lecture 60 CSRF-Token Implementation Lecture 61 Unlocking The Power Of JSON In Golang: A Handler That Returns Data In JSON Lecture 62 Preparations For Submitting And Processing AJAX Requests Lecture 63 From GET To POST: Let'S Teach The AJAX Requests Some Manners! Lecture 64 Pimp Your Code: Refactoring Made Easy! Lecture 65 Server-Sided Validation - The What, The How And The Why Of It All! Lecture 66 Implementation Server-Side Form Validation I - Form Field Data & Errors Lecture 67 Implementation Server-Side Form Validation II - Forms Model & Error Displaying Lecture 68 Implementation Server-Side Form Validation III - More Fields & A Required Func Lecture 69 Implementation Server-Side Form Validation IV - More Validators & govalidator Lecture 70 Display Of An Overview Of The Reservation Data (By Using Sessions) Lecture 71 Fast Feedback: Output Alerts As Feedback To The User Via notie Lecture 72 Alternative Template Engine: Use The Power Of A Jet Engine Section 8: Putting Your Code To The Test: How Writing Tests Can Save The Day (Or Days!) Lecture 73 Testing In GO: The Why And Wherefore Lecture 74 Testing Success: Mastering Tests For Package Main Of Our Web Application Lecture 75 Handlers Tests I - The Beginning: Initial Setup/Handling GET-Request Handlers Lecture 76 Handlers Tests II - Continued: Handling Post Request Handlers Lecture 77 Render Tests I - Creating A Test Environment And Function Testadddefaultdata() Lecture 78 Render Tests II - Creating Tests For Function Testrendertemplate() And The Rest Lecture 79 Coverage Of Package Handlers And Package Render Tests Lecture 80 Hands-On Exercise: Write A Basic Test For Package "forms" Lecture 81 A Solution:[Solved] Testing For Package "forms" Lecture 82 Final Notes And Tips For Starting Our Web Application Section 9: Striving for Improvement: ErrorHandling Lecture 83 Consolidation Of Error Handling In A Package "helpers" Lecture 84 Use Of ClientError And ServerError And Updates Of The Relevant Tests Section 10: Database I - Introduction To Database Usage And SQL With PostgreSQL And DBeaver Lecture 85 Brief Section Overview And Download/Installation Of PostgreSQL And DBeaver Lecture 86 Linux: Installing PostgreSQL And DBeaver And Making A Connection Lecture 87 macOS: Installing PostgreSQL And DBeaver And Making A Connection Lecture 88 Windows: Installing PostgreSQL And DBeaver And Making A Connection Lecture 89 CRUD - Now It's Getting Dirty! SQL-Statements In Action Lecture 90 SQL Queries For Advanced Users - Not Necessarily Complicated, But Complex Section 11: Database II - Creation and Necessary Structuring of the Database Lecture 91 Fascination Database Structure: Creation Of An Entity Relationship Diagram! Lecture 92 *pop* "Want A Soda?" - Installation Of gobuffalo/pop Called Soda! Lecture 93 Migrations I - Creation Of The "Users" Table Lecture 94 Migrations II - Mass Production: Creation Of All Other Tables Lecture 95 Migrations III - Creation Of A Foreign Key For The "Reservations" Table Lecture 96 Migrations IV - To Be Continued ... The Remaining Foreign Keys Lecture 97 Hands-On Exercise: Add The Missing Foreign Key To "bungalow_restrictions" Lecture 98 A Solution:[SOLVED] The Missing Foreign Key For "bungalow_restrictions" Lecture 99 Migrations V - Nitro Injection: Index For "users" And "bungalow_restrictions" Lecture 100 Hands-On Exercise: Add Useful Indexes To The "reservations" Table Lecture 101 A Solution:[SOLVED] Useful Indexes For The "reservations" Table Lecture 102 Migrations VI - "The Sting" For The Development Phase Of The Database Section 12: Database III - Connection of the PostgreSQL Database to the Web Application Lecture 103 Example: How To Connect An Application To A Database In GO Lecture 104 PostgreSQL Connection: Just like Golf! No Driver When You Need One Urgently! Lecture 105 Integration Work: Inserting the Driver/Database Connection (Repository Pattern) Lecture 106 An Easy Time: Creation Of The Necessary Models Lecture 107 Cleaning up Your Code: Regular Maintenance and a Tiny Makeover For Your Project Lecture 108 Don't Make It Complicated - But You Can If You Like: Object-Relational Mapping Lecture 109 Double Trouble: Reservation Creation And Storage In The Database Lecture 110 Poking With A Stick: Short Functional Test Of The Reservation Function Lecture 111 One Small Step For Man... Database Entry In BungalowRestrictions Lecture 112 Availability Check: Check Availability For A Specific Date Range Per Bungalow Lecture 113 Availability Check: Availability For A Specific Date Range For All Bungalows Lecture 114 Delicate Ties: Creating Connections Between Database Functions And Handlers Lecture 115 What Can It Be? Connection Of The Availability Check To The Reservation Page Lecture 116 Mission Accomplished: We Sucessfully Make A Reservation! Lecture 117 Aftermath: Finalize Overview Page, Restrict Date Selection, Debugging Lecture 118 Migrations VII - Preventing "Horsing Around" With Database Entries Lecture 119 JavaScript On A Date With JSON: Availability Check And A JSON-Processing Handler Lecture 120 Displaying the Result Of The Bungalow Availability Query To The User Lecture 121 Session Creation: A Connector Between Availability Check And Reservation Lecture 122 Data transfer: Copy JavaScript Into Templates, Idea For Code Abstraction Section 13: Checkup: Updating Tests To Keep Your Code Fit And Healthy Lecture 123 No Database For Your Test Setup? Fake One! Lecture 124 Repairing The Tests For The Handlers - Reservation In Sessions As Context Lecture 125 Improving Test Coverage And Multiple Test Cases For GET-Request Handlers Lecture 126 An Example How To Write Tests For POST-Request Handlers Lecture 127 Special Case: Testing POST Request Handler ReservationJSON Lecture 128 Brief Look At The Rest Of The POST-Request Handlers Tests if you please Lecture 129 Exchange and Type Change: reqBody Becomes postedData Of Type url.Values{} Lecture 130 Houston, We Have A Problem! Emergency Debugging On The Fly! Section 14: The Postman Always Rings Twice: Integration Of E-Mail Into The Web Application Lecture 131 What Was That Again? How E-Mail And The SMTP Protocol Work... Lecture 132 MailHog Installation For Testing Purposes: Go The Whole Hog! Lecture 133 Sending E-Mails With The Standard Library - Just For The Sake Of Completeness! Lecture 134 Go Simple Mail: Open An Application-Wide Channel For Sending E-Mails Lecture 135 #MEGA - Make E-Mail Great Again! - Creating And Sending E-Mail Notifications Lecture 136 Stay Informed: A Solution To Send E-Mails To The Operator Lecture 137 ... Once Again With Feeling: Beautifully Formatted E-Mails With Foundations Lecture 138 Updating The Tests - Doesn't Help, It's Got To Be Done! Section 15: Prove It's You: Authenticate Your Identity And Access All The Goods! Lecture 139 Elevate Your App: Craft an Easy Login Screen! Lecture 140 Navigate To Success: Crafting A Login Route And Handler Lecture 141 Unlocking Security: Building Authentication And DB Functions Lecture 142 After The Form: A Login Handler That Delivers! Lecture 143 Getting Middle-witty: Cooking Up Some Middleware Magic! Lecture 144 Database Table For Awesome: Crafting A User With Migrations! Lecture 145 Putting The Login Page To The Test: Success Awaits! Lecture 146 Unveiling Authenticated Users And Log Out In Style! Lecture 147 Fortify Your App: Building A Secure Admin Zone With The Middleware! Lecture 148 Cleaning up Your Code: Smaller Cleaning Actions - Sweep Through Again Quickly! Section 16: Home, Sweet Home: A Customized Backend For Easy Maintenance With Security Lecture 149 Creating An Admin Dashboard In A Ready-Made Way - Choosing A Template Lecture 150 Like On An Assembly Line: Bulk Creation Of Routes, Handlers And Templates Lecture 151 Displaying All Reservations: Where DB Records Get A Seat At The Stylish Table Lecture 152 A Copy & Paste Orgy: Creating A List With Only New Reservations Lecture 153 Interlude: Makeover And Iron Out Small Mistakes Lecture 154 Displaying A Single Reservation: Preparation For More To Come Lecture 155 New Possibilities: Creating the Database Access Functions Lecture 156 Very Concrete: Implementation Of The Editing Function Lecture 157 Shift Up A Gear: Change The Status Of A Reservation Lecture 158 Delete a Reservation: Is This Art Or Can It GO Away? Lecture 159 Reservation Calendar I: Heading and Navigation Lecture 160 Reservation Calendar II: Bungalows, Days and Checkboxes Lecture 161 Reservation Calendar III: Reservations and Blocked Days Lecture 162 Reservation Calendar IV: Render That! Display The Calendar! Lecture 163 Reservation Processing I: Post Request, Route, And Handler Lecture 164 Reservation Processing II: Correct Return After Processing Lecture 165 Reservation Editing III: Handlers To Perform Actions Lecture 166 Reservation Processing IV: Database Functions For Actions Lecture 167 Quo Vadis? Correction Of Redirects After Editing Lecture 168 Making The Handler Tests Run Again And A Few Tests Section 17: Going Live: Deploying Your Web Application To A Server On The Internet! Lecture 169 Launch Your Web Application Flexibly: Use Command Line Flags Lecture 170 Note On Using .env Files For Your Web Application Lecture 171 Text Editors Nano And Vi/Vim: Short Operating Remarks Lecture 172 Get Server And Set Up The Necessary Server-Side Software Lecture 173 Install Go And Get The Web Application On The Server Lecture 174 No Mail Transfer Agent (MTA) Available? Fake It Till You Make It! Lecture 175 Supervisor - Someone Has To Watch While You're Away Lecture 176 Logo, Footer Content: Final Touches Before The Curtain Rises! Section 18: Farewell & How It Could Go On From Here (And Room For Bugfixes) Lecture 177 Goodbye And How It Could Go On With Your Web Application Advanced developers as well as beginners who want to learn to write programs (especially web applications) professionally,Experienced full-stack web developers who are interested in learning the GO programming language,People with an attitude like Colonel John 'Hannibal' Smith from the A-Team who "love it when a plan comes together!" ![]() |