- GoLang for Backend Development: Advantages and Use Cases
- Setting Up Your GoLang Development Environment
- Core GoLang Concepts: Variables, Data Types, Operators, Control Flow, Functions
- Important concepts -- Concurrency -- Channels -- Async processes
- Introduction to Web Development with GoLang: HTTP Requests & Responses -- Development with Gin framework
- Routing: Defining Endpoints and Handling Requests
- Working with Databases: Choosing and Using a Database (SQL vs. NoSQL)
- Connecting to your database -- Working with ORMs -- Writting raw sql queries
- Building CRUD Operations: Create, Read, Update, Delete
- User Authentication and Authorization: Securing Your Application -- Password Hashing (securely storing passwords) -- Error Handling: Gracefully Handling Errors in Web Applications
- Templates: Building Dynamic User Interfaces
- Working with Data Formats: JSON and Beyond (handling data exchange)
- Session Management (maintaining user state)
- cookies
- Forms: Processing User Input and Handling Submissions
- WebSockets: Enabling Real-time Communication
- Dependency Management with Go Modules (managing external libraries)
- Middleware: Interceptors for Request Processing (common tasks and custom functionality)
- Testing Your Backend Web Application: Unit and Integration Tests -- Mocking Dependencies for Effective Testing
- Caching Strategies for Improved Response Times
- In-memory
- Distributed
- File-based
- CDN
- Logging and Monitoring: Tracking Application Behavior
- Stucuted logging with Zap
- App metrics with Prometheus
- Distrubuted tracing with Jaeger
- Log aggregation with ELK stack
- Alerting and notification with Prometheus Alertmanager
-
Input Validation: Sanitizing User Input to Prevent Attacks
- SQL injection
- Cross-site scripting XSS
- Remote code execution RCE
- Path traversal
- Command injection
Solution:
- User input sanitization and validation a. Whitelisting and Blacklisting b. Regular expressions c. Third-party libraries
- Context-aware prevention a. SQL injection prevention b. XSS prevention c. RCE prevention
-
SQL Injection Prevention: Protecting Your Database
- Cloud Deployment Platforms (Heroku, AWS, Google Cloud)
- Containerization with Docker (packaging your application for deployment)
- https://www.heroku.com/pricing?utm_source=google&utm_medium=paid_search&utm_campaign=emea_heraw&utm_content=general-branded-search-rsa&utm_term=heroku&gad_source=1&gclid=CjwKCAjwp4m0BhBAEiwAsdc4aMvpvZocpGRyZYS58qC0VZyGhrpUw3LowGjiocp08mELVbZeSyHMrxoCiFIQAvD_BwE
- https://dev.to/aws-builders/aws-azure-mapping-cheat-sheet-1dom
- https://www.back4app.com/pricing/container-as-a-service
- https://fly.io/docs/about/pricing/
- https://render.com/pricing
- https://railway.app/pricing
- https://aws.amazon.com/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=categories%23serverless
- https://azure.microsoft.com/en-us/pricing/free-services