From df8faed8c44696fd15cfc4ad9bf4ceb8480d15af Mon Sep 17 00:00:00 2001 From: Zeeshan Adil Date: Fri, 28 Nov 2025 06:13:26 +0500 Subject: [PATCH 1/2] add 300+ svg image templates --- images/templates/LLD/01-singleton.svg | 45 ++++++++++++ images/templates/LLD/02-factory.svg | 42 +++++++++++ images/templates/LLD/03-observer.svg | 45 ++++++++++++ images/templates/LLD/04-strategy.svg | 45 ++++++++++++ images/templates/LLD/05-decorator.svg | 41 +++++++++++ images/templates/LLD/06-adapter.svg | 41 +++++++++++ images/templates/LLD/07-builder.svg | 45 ++++++++++++ images/templates/LLD/08-command.svg | 49 +++++++++++++ images/templates/LLD/09-facade.svg | 45 ++++++++++++ images/templates/LLD/10-proxy.svg | 47 ++++++++++++ images/templates/LLD/11-state.svg | 53 ++++++++++++++ images/templates/LLD/12-template-method.svg | 38 ++++++++++ .../LLD/13-chain-of-responsibility.svg | 51 +++++++++++++ images/templates/LLD/14-composite.svg | 46 ++++++++++++ images/templates/LLD/15-iterator.svg | 43 +++++++++++ images/templates/LLD/16-mediator.svg | 43 +++++++++++ images/templates/LLD/17-prototype.svg | 41 +++++++++++ images/templates/LLD/18-flyweight.svg | 36 +++++++++ images/templates/LLD/19-visitor.svg | 49 +++++++++++++ .../templates/LLD/20-dependency-injection.svg | 36 +++++++++ .../01-placement-announcement.svg | 44 +++++++++++ .../achievements/02-fellowship-stats.svg | 59 +++++++++++++++ .../achievements/03-milestone-celebration.svg | 54 ++++++++++++++ .../achievements/04-fellow-success-story.svg | 53 ++++++++++++++ .../achievements/05-year-in-review.svg | 53 ++++++++++++++ .../01-become-ambassador.svg | 36 +++++++++ .../ambassador-program/02-ambassador-role.svg | 37 ++++++++++ .../03-ambassador-benefits.svg | 39 ++++++++++ .../ambassador-program/04-how-to-apply.svg | 42 +++++++++++ .../05-welcome-ambassador.svg | 26 +++++++ images/templates/aws/01-ec2-essentials.svg | 63 ++++++++++++++++ images/templates/aws/01-ec2-instances.svg | 33 +++++++++ .../templates/aws/02-s3-storage-classes.svg | 47 ++++++++++++ images/templates/aws/02-s3-storage.svg | 33 +++++++++ images/templates/aws/03-lambda-functions.svg | 32 ++++++++ images/templates/aws/04-rds-database.svg | 68 +++++++++++++++++ images/templates/aws/04-rds-databases.svg | 33 +++++++++ images/templates/aws/05-dynamodb-nosql.svg | 33 +++++++++ images/templates/aws/05-vpc-networking.svg | 56 ++++++++++++++ .../templates/aws/06-cloudformation-iac.svg | 32 ++++++++ .../templates/aws/06-iam-best-practices.svg | 44 +++++++++++ images/templates/aws/07-cloudfront-cdn.svg | 57 +++++++++++++++ images/templates/aws/07-iam-security.svg | 32 ++++++++ images/templates/aws/08-cloudwatch-logs.svg | 32 ++++++++ .../templates/aws/08-elb-load-balancers.svg | 53 ++++++++++++++ images/templates/aws/09-api-gateway.svg | 32 ++++++++ images/templates/aws/09-dynamodb.svg | 51 +++++++++++++ images/templates/aws/10-sqs-queues.svg | 32 ++++++++ images/templates/aws/10-sqs-sns.svg | 70 ++++++++++++++++++ images/templates/aws/11-cloudformation.svg | 44 +++++++++++ images/templates/aws/11-sns-pubsub.svg | 32 ++++++++ images/templates/aws/12-cloudfront-cdn.svg | 32 ++++++++ images/templates/aws/12-cloudwatch.svg | 50 +++++++++++++ images/templates/aws/13-ecs-containers.svg | 32 ++++++++ images/templates/aws/13-ecs-fargate.svg | 59 +++++++++++++++ images/templates/aws/14-ecr-registry.svg | 32 ++++++++ images/templates/aws/14-route53.svg | 68 +++++++++++++++++ images/templates/aws/15-secrets-manager.svg | 32 ++++++++ images/templates/aws/16-api-gateway.svg | 69 ++++++++++++++++++ images/templates/aws/16-elasticache-redis.svg | 32 ++++++++ images/templates/aws/17-elasticache.svg | 55 ++++++++++++++ images/templates/aws/17-route53-dns.svg | 32 ++++++++ images/templates/aws/18-cognito-auth.svg | 32 ++++++++ images/templates/aws/18-kinesis.svg | 63 ++++++++++++++++ images/templates/aws/19-cognito.svg | 73 +++++++++++++++++++ images/templates/aws/19-step-functions.svg | 32 ++++++++ images/templates/aws/20-cli-tips.svg | 33 +++++++++ images/templates/aws/20-eks-kubernetes.svg | 58 +++++++++++++++ images/templates/circles/01-new-circle.svg | 50 +++++++++++++ images/templates/circles/02-weekly-update.svg | 55 ++++++++++++++ .../templates/circles/03-what-are-circles.svg | 51 +++++++++++++ .../templates/circles/04-active-circles.svg | 53 ++++++++++++++ images/templates/circles/05-graduation.svg | 54 ++++++++++++++ .../community-spotlight/01-member-feature.svg | 43 +++++++++++ .../02-mentor-highlight.svg | 52 +++++++++++++ .../community-spotlight/03-core-team.svg | 47 ++++++++++++ .../community-spotlight/04-testimonial.svg | 40 ++++++++++ .../05-ambassador-feature.svg | 42 +++++++++++ .../daily-dsa-challenge/day-01-two-sum.svg | 30 ++++++++ .../day-02-valid-palindrome.svg | 30 ++++++++ .../day-03-reverse-linked-list.svg | 30 ++++++++ .../day-04-valid-parentheses.svg | 30 ++++++++ .../day-05-maximum-subarray.svg | 30 ++++++++ .../day-06-merge-two-sorted-lists.svg | 30 ++++++++ .../day-07-best-time-buy-sell-stock.svg | 30 ++++++++ .../day-08-valid-anagram.svg | 30 ++++++++ .../day-09-binary-search.svg | 30 ++++++++ .../day-10-climbing-stairs.svg | 30 ++++++++ .../daily-dsa-challenge/day-11-same-tree.svg | 30 ++++++++ .../day-12-invert-binary-tree.svg | 30 ++++++++ .../day-13-max-depth-binary-tree.svg | 30 ++++++++ .../day-14-contains-duplicate.svg | 30 ++++++++ .../day-15-product-except-self.svg | 30 ++++++++ .../daily-dsa-challenge/day-16-3sum.svg | 30 ++++++++ .../day-17-container-with-most-water.svg | 30 ++++++++ .../day-18-longest-substring-no-repeat.svg | 30 ++++++++ .../day-19-group-anagrams.svg | 30 ++++++++ .../day-20-top-k-frequent-elements.svg | 30 ++++++++ .../day-21-encode-decode-strings.svg | 30 ++++++++ .../day-22-longest-consecutive-sequence.svg | 30 ++++++++ .../daily-dsa-challenge/day-23-min-stack.svg | 30 ++++++++ .../day-24-evaluate-rpn.svg | 30 ++++++++ .../day-25-generate-parentheses.svg | 30 ++++++++ .../day-26-daily-temperatures.svg | 30 ++++++++ .../daily-dsa-challenge/day-27-car-fleet.svg | 30 ++++++++ .../day-28-sliding-window-maximum.svg | 30 ++++++++ .../day-29-search-rotated-sorted-array.svg | 30 ++++++++ .../day-30-find-min-rotated-sorted.svg | 30 ++++++++ .../day-31-koko-eating-bananas.svg | 30 ++++++++ .../day-32-merge-intervals.svg | 30 ++++++++ .../day-33-insert-interval.svg | 30 ++++++++ .../day-34-non-overlapping-intervals.svg | 30 ++++++++ .../day-35-rotate-image.svg | 30 ++++++++ .../day-36-spiral-matrix.svg | 30 ++++++++ .../day-37-set-matrix-zeroes.svg | 30 ++++++++ .../day-38-happy-number.svg | 30 ++++++++ .../daily-dsa-challenge/day-39-plus-one.svg | 30 ++++++++ .../daily-dsa-challenge/day-40-pow-x-n.svg | 30 ++++++++ .../day-41-multiply-strings.svg | 30 ++++++++ .../day-42-detect-cycle-linked-list.svg | 30 ++++++++ .../day-43-reorder-list.svg | 30 ++++++++ .../day-44-remove-nth-node-from-end.svg | 30 ++++++++ .../day-45-copy-list-random-pointer.svg | 30 ++++++++ .../daily-dsa-challenge/day-46-lru-cache.svg | 30 ++++++++ .../day-47-merge-k-sorted-lists.svg | 30 ++++++++ .../day-48-level-order-traversal.svg | 30 ++++++++ .../day-49-validate-bst.svg | 30 ++++++++ .../day-50-lowest-common-ancestor.svg | 30 ++++++++ .../devops-tools/01-kubernetes-basics.svg | 33 +++++++++ .../devops-tools/02-docker-essentials.svg | 33 +++++++++ .../devops-tools/03-terraform-basics.svg | 33 +++++++++ .../devops-tools/04-jenkins-pipelines.svg | 32 ++++++++ .../templates/devops-tools/05-gitlab-cicd.svg | 31 ++++++++ .../devops-tools/06-github-actions.svg | 31 ++++++++ .../devops-tools/07-ansible-automation.svg | 32 ++++++++ .../devops-tools/08-prometheus-monitoring.svg | 33 +++++++++ .../devops-tools/09-grafana-dashboards.svg | 32 ++++++++ .../templates/devops-tools/10-helm-charts.svg | 33 +++++++++ .../devops-tools/11-nginx-config.svg | 31 ++++++++ .../devops-tools/12-docker-compose.svg | 31 ++++++++ .../devops-tools/13-kubectl-debug.svg | 33 +++++++++ .../devops-tools/14-argocd-gitops.svg | 33 +++++++++ .../devops-tools/15-vault-secrets.svg | 33 +++++++++ .../templates/devops-tools/16-datadog-apm.svg | 33 +++++++++ .../devops-tools/17-sentry-errors.svg | 30 ++++++++ .../devops-tools/18-jaeger-tracing.svg | 30 ++++++++ .../devops-tools/19-netlify-deploy.svg | 33 +++++++++ .../devops-tools/20-vercel-deploy.svg | 33 +++++++++ .../discord-rooms/01-your-voice-matters.svg | 25 +++++++ .../discord-rooms/02-open-mic-open-hearts.svg | 25 +++++++ .../discord-rooms/03-late-night-debugging.svg | 25 +++++++ .../04-no-question-too-small.svg | 25 +++++++ .../05-coworking-virtual-cafe.svg | 25 +++++++ .../discord-rooms/06-weekly-tech-talks.svg | 25 +++++++ .../07-study-buddies-welcome.svg | 25 +++++++ .../discord-rooms/08-weekend-hangouts.svg | 25 +++++++ .../discord-rooms/09-mentorship-moments.svg | 25 +++++++ .../discord-rooms/10-just-drop-by.svg | 25 +++++++ .../dsa-techniques/01-two-pointers.svg | 39 ++++++++++ .../dsa-techniques/02-sliding-window.svg | 45 ++++++++++++ .../dsa-techniques/03-binary-search.svg | 46 ++++++++++++ images/templates/dsa-techniques/04-dfs.svg | 50 +++++++++++++ images/templates/dsa-techniques/05-bfs.svg | 49 +++++++++++++ .../dsa-techniques/06-dynamic-programming.svg | 35 +++++++++ .../dsa-techniques/07-backtracking.svg | 45 ++++++++++++ images/templates/dsa-techniques/08-greedy.svg | 38 ++++++++++ .../dsa-techniques/09-divide-conquer.svg | 47 ++++++++++++ .../templates/dsa-techniques/10-hashmap.svg | 53 ++++++++++++++ images/templates/dsa-techniques/11-stack.svg | 48 ++++++++++++ images/templates/dsa-techniques/12-queue.svg | 60 +++++++++++++++ images/templates/dsa-techniques/13-heap.svg | 53 ++++++++++++++ .../dsa-techniques/14-linked-list.svg | 63 ++++++++++++++++ .../templates/dsa-techniques/15-recursion.svg | 47 ++++++++++++ .../dsa-techniques/16-prefix-sum.svg | 59 +++++++++++++++ .../dsa-techniques/17-monotonic-stack.svg | 48 ++++++++++++ images/templates/dsa-techniques/18-trie.svg | 59 +++++++++++++++ .../dsa-techniques/19-union-find.svg | 54 ++++++++++++++ .../templates/dsa-techniques/20-sorting.svg | 53 ++++++++++++++ .../dsa-techniques/21-graph-algorithms.svg | 50 +++++++++++++ .../dsa-techniques/22-bit-manipulation.svg | 46 ++++++++++++ images/templates/dsa/01-problem-card.svg | 54 ++++++++++++++ images/templates/dsa/02-concept-explainer.svg | 60 +++++++++++++++ images/templates/dsa/03-cheat-sheet.svg | 69 ++++++++++++++++++ images/templates/dsa/04-roadmap-carousel.svg | 42 +++++++++++ images/templates/dsa/05-daily-challenge.svg | 59 +++++++++++++++ .../engineering/01-big-o-notation.svg | 39 ++++++++++ .../engineering/01-memory-layout.svg | 31 ++++++++ .../engineering/02-cpu-cache-lines.svg | 32 ++++++++ .../engineering/02-solid-principles.svg | 40 ++++++++++ .../engineering/03-branch-prediction.svg | 32 ++++++++ .../engineering/03-rest-api-practices.svg | 43 +++++++++++ .../engineering/04-false-sharing.svg | 31 ++++++++ .../templates/engineering/04-git-commands.svg | 53 ++++++++++++++ .../engineering/05-http-status-codes.svg | 53 ++++++++++++++ .../engineering/05-memory-barriers.svg | 32 ++++++++ .../templates/engineering/06-clean-code.svg | 42 +++++++++++ .../engineering/06-tail-call-optimization.svg | 31 ++++++++ .../engineering/07-copy-on-write.svg | 32 ++++++++ .../engineering/07-database-indexing.svg | 37 ++++++++++ .../engineering/08-instruction-pipelining.svg | 32 ++++++++ .../engineering/08-testing-pyramid.svg | 38 ++++++++++ .../engineering/09-cicd-pipeline.svg | 58 +++++++++++++++ .../templates/engineering/09-system-calls.svg | 32 ++++++++ .../engineering/10-docker-basics.svg | 46 ++++++++++++ .../engineering/10-virtual-memory.svg | 32 ++++++++ .../engineering/11-auth-vs-authz.svg | 41 +++++++++++ .../engineering/11-lock-free-structures.svg | 32 ++++++++ .../templates/engineering/12-api-vs-sdk.svg | 33 +++++++++ .../engineering/12-simd-instructions.svg | 31 ++++++++ .../templates/engineering/13-async-await.svg | 46 ++++++++++++ .../templates/engineering/13-zero-copy-io.svg | 32 ++++++++ .../engineering/14-memory-alignment.svg | 32 ++++++++ .../14-monolith-vs-microservices.svg | 49 +++++++++++++ .../engineering/15-bit-manipulation.svg | 34 +++++++++ .../engineering/15-memory-management.svg | 38 ++++++++++ .../engineering/16-code-review-tips.svg | 43 +++++++++++ .../templates/engineering/16-event-loop.svg | 33 +++++++++ .../engineering/17-environment-variables.svg | 35 +++++++++ .../templates/engineering/17-memory-pool.svg | 32 ++++++++ .../engineering/18-bloom-filters.svg | 33 +++++++++ .../engineering/18-semantic-versioning.svg | 47 ++++++++++++ .../engineering/19-debugging-techniques.svg | 42 +++++++++++ .../engineering/19-write-amplification.svg | 33 +++++++++ .../engineering/20-jit-compilation.svg | 32 ++++++++ .../engineering/20-technical-debt.svg | 41 +++++++++++ .../techgrind-01-react-performance.svg | 48 ++++++++++++ .../techgrind-02-nodejs-streams.svg | 48 ++++++++++++ .../fellowship/techgrind-03-postgresql.svg | 48 ++++++++++++ .../fellowship/techgrind-04-graphql.svg | 48 ++++++++++++ .../templates/fellowship/techgrind-05-tdd.svg | 48 ++++++++++++ .../fellowship/techgrind-06-docker.svg | 48 ++++++++++++ .../fellowship/techgrind-07-typescript.svg | 48 ++++++++++++ images/templates/general/01-tip-post.svg | 43 +++++++++++ images/templates/general/02-announcement.svg | 42 +++++++++++ .../templates/general/03-poll-engagement.svg | 37 ++++++++++ images/templates/general/04-fun-fact.svg | 40 ++++++++++ images/templates/general/05-weekly-update.svg | 49 +++++++++++++ .../templates/git-commands/01-git-stash.svg | 33 +++++++++ .../templates/git-commands/02-git-reset.svg | 33 +++++++++ .../templates/git-commands/03-git-rebase.svg | 31 ++++++++ .../git-commands/04-git-cherry-pick.svg | 33 +++++++++ .../templates/git-commands/05-git-bisect.svg | 33 +++++++++ images/templates/git-commands/06-git-log.svg | 33 +++++++++ .../git-commands/07-git-worktree.svg | 33 +++++++++ .../templates/git-commands/08-git-reflog.svg | 33 +++++++++ .../templates/git-commands/09-git-aliases.svg | 33 +++++++++ .../templates/git-commands/10-git-hooks.svg | 31 ++++++++ .../templates/instagram/01-tip-of-the-day.svg | 38 ++++++++++ .../templates/instagram/02-carousel-cover.svg | 50 +++++++++++++ images/templates/instagram/03-quote-post.svg | 35 +++++++++ .../templates/instagram/04-before-after.svg | 41 +++++++++++ .../templates/instagram/05-announcement.svg | 40 ++++++++++ images/templates/interview/01-two-sum.svg | 32 ++++++++ .../interview/02-valid-parentheses.svg | 31 ++++++++ .../templates/interview/03-binary-search.svg | 32 ++++++++ .../interview/04-reverse-linked-list.svg | 32 ++++++++ .../templates/interview/05-sliding-window.svg | 33 +++++++++ .../templates/interview/06-dfs-traversal.svg | 33 +++++++++ .../templates/interview/07-bfs-traversal.svg | 32 ++++++++ .../interview/08-merge-two-lists.svg | 33 +++++++++ images/templates/interview/09-lru-cache.svg | 33 +++++++++ .../templates/interview/10-detect-cycle.svg | 33 +++++++++ .../interview/11-dp-climbing-stairs.svg | 32 ++++++++ .../templates/interview/12-top-k-elements.svg | 32 ++++++++ .../interview/13-merge-intervals.svg | 33 +++++++++ .../templates/interview/14-trie-structure.svg | 32 ++++++++ .../interview/15-kadanes-algorithm.svg | 33 +++++++++ .../templates/interview/16-backtracking.svg | 33 +++++++++ .../interview/17-longest-substring.svg | 33 +++++++++ .../interview/18-binary-tree-lca.svg | 34 +++++++++ .../interview/19-number-of-islands.svg | 33 +++++++++ .../interview/20-time-complexity.svg | 31 ++++++++ .../linkedin-banners/01-main-banner.svg | 30 ++++++++ .../linkedin-banners/02-dark-stats.svg | 29 ++++++++ .../linkedin-banners/03-hiring-banner.svg | 27 +++++++ .../linkedin-banners/04-event-banner.svg | 33 +++++++++ .../linkedin-posts/01-insight-post.svg | 41 +++++++++++ .../linkedin-posts/02-success-story.svg | 49 +++++++++++++ .../linkedin-posts/03-poll-engagement.svg | 45 ++++++++++++ .../templates/linkedin-posts/04-hot-take.svg | 34 +++++++++ .../linkedin-posts/05-job-posting.svg | 37 ++++++++++ .../mindmaster-light/01-pomodoro.svg | 42 +++++++++++ .../mindmaster-light/02-growth-mindset.svg | 36 +++++++++ .../mindmaster-light/03-eisenhower-matrix.svg | 37 ++++++++++ .../mindmaster-light/04-learning-pyramid.svg | 36 +++++++++ .../mindmaster-light/05-deep-work.svg | 34 +++++++++ .../mindmaster-light/06-two-minute-rule.svg | 27 +++++++ .../mindmaster-light/07-time-blocking.svg | 40 ++++++++++ .../mindmaster-light/08-pareto-principle.svg | 30 ++++++++ .../mindmaster-light/09-inbox-zero.svg | 38 ++++++++++ .../mindmaster-light/10-eat-the-frog.svg | 28 +++++++ .../mindmaster-light/11-context-switching.svg | 29 ++++++++ .../mindmaster-light/12-spaced-repetition.svg | 46 ++++++++++++ .../mindmaster-light/13-feynman-technique.svg | 38 ++++++++++ .../mindmaster-light/14-morning-routine.svg | 31 ++++++++ .../mindmaster-light/15-flow-state.svg | 29 ++++++++ .../mindmaster-light/16-weekly-review.svg | 28 +++++++ .../mindmaster-light/17-imposter-syndrome.svg | 29 ++++++++ .../mindmaster-light/18-brain-dump.svg | 38 ++++++++++ .../mindmaster-light/19-energy-management.svg | 40 ++++++++++ .../20-rest-is-productive.svg | 33 +++++++++ .../mindmaster-light/21-second-brain.svg | 40 ++++++++++ .../22-analysis-paralysis.svg | 30 ++++++++ .../mindmaster-light/23-rubber-duck.svg | 38 ++++++++++ .../24-sleep-optimization.svg | 30 ++++++++ .../templates/mindmaster-light/25-say-no.svg | 31 ++++++++ .../mindmaster/01-session-announcement.svg | 47 ++++++++++++ .../mindmaster/02-psychology-tip.svg | 41 +++++++++++ images/templates/mindmaster/03-book-club.svg | 41 +++++++++++ .../mindmaster/04-carousel-cover.svg | 45 ++++++++++++ .../mindmaster/05-what-is-mindmaster.svg | 55 ++++++++++++++ .../session-01-focus-fundamentals.svg | 43 +++++++++++ .../mindmaster/session-02-mental-models.svg | 43 +++++++++++ .../session-03-stress-management.svg | 43 +++++++++++ .../mindmaster/session-04-habit-building.svg | 43 +++++++++++ .../mindmaster/session-05-time-management.svg | 43 +++++++++++ .../session-06-learning-techniques.svg | 43 +++++++++++ .../session-07-motivation-burnout.svg | 43 +++++++++++ .../templates/motivational/01-quote-dark.svg | 36 +++++++++ .../motivational/02-journey-comparison.svg | 40 ++++++++++ .../motivational/03-mindset-post.svg | 31 ++++++++ .../templates/motivational/04-hard-truth.svg | 31 ++++++++ .../motivational/05-encouragement.svg | 37 ++++++++++ .../pakistan-events/01-independence-day.svg | 20 +++++ .../pakistan-events/02-eid-mubarak.svg | 23 ++++++ .../pakistan-events/03-pakistan-day.svg | 31 ++++++++ .../templates/pakistan-events/04-ramadan.svg | 22 ++++++ .../pakistan-events/05-iqbal-day.svg | 26 +++++++ .../01-vscode-multicursor.svg | 42 +++++++++++ .../02-terminal-shortcuts.svg | 42 +++++++++++ .../productivity-commands/03-find-replace.svg | 42 +++++++++++ .../productivity-commands/04-split-editor.svg | 42 +++++++++++ .../05-code-navigation.svg | 42 +++++++++++ .../productivity-commands/06-refactoring.svg | 42 +++++++++++ .../07-integrated-terminal.svg | 42 +++++++++++ .../productivity-commands/08-debugging.svg | 42 +++++++++++ .../09-command-palette.svg | 33 +++++++++ .../productivity-commands/10-zen-mode.svg | 42 +++++++++++ .../system-design/01-load-balancing.svg | 50 +++++++++++++ images/templates/system-design/02-caching.svg | 49 +++++++++++++ .../templates/system-design/03-sharding.svg | 47 ++++++++++++ .../system-design/04-cap-theorem.svg | 44 +++++++++++ .../system-design/05-message-queues.svg | 50 +++++++++++++ images/templates/system-design/06-cdn.svg | 53 ++++++++++++++ .../system-design/07-replication.svg | 48 ++++++++++++ .../system-design/08-api-gateway.svg | 49 +++++++++++++ .../system-design/09-rate-limiting.svg | 46 ++++++++++++ .../system-design/10-microservices.svg | 54 ++++++++++++++ .../system-design/11-consistent-hashing.svg | 52 +++++++++++++ .../system-design/12-sql-vs-nosql.svg | 44 +++++++++++ .../templates/system-design/13-indexing.svg | 43 +++++++++++ .../templates/system-design/14-websockets.svg | 60 +++++++++++++++ .../15-distributed-transactions.svg | 65 +++++++++++++++++ .../system-design/16-service-discovery.svg | 52 +++++++++++++ .../system-design/17-circuit-breaker.svg | 51 +++++++++++++ .../system-design/18-event-driven.svg | 52 +++++++++++++ images/templates/system-design/19-cqrs.svg | 50 +++++++++++++ .../system-design/20-estimations.svg | 56 ++++++++++++++ .../tech-events/01-session-announcement.svg | 43 +++++++++++ images/templates/tech-events/02-hackathon.svg | 38 ++++++++++ images/templates/tech-events/03-workshop.svg | 40 ++++++++++ .../templates/tech-events/04-open-source.svg | 38 ++++++++++ images/templates/tech-events/05-ama.svg | 40 ++++++++++ images/templates/template-1-featured-post.svg | 38 ++++++++++ images/templates/template-2-tutorial.svg | 57 +++++++++++++++ .../templates/template-3-mindmaster-quote.svg | 34 +++++++++ images/templates/template-4-listicle.svg | 41 +++++++++++ .../templates/template-5-case-study-dark.svg | 47 ++++++++++++ .../template-6-session-announcement.svg | 52 +++++++++++++ images/templates/template-7-book-review.svg | 47 ++++++++++++ .../year-in-review/01-annual-stats.svg | 36 +++++++++ .../year-in-review/02-top-moments.svg | 39 ++++++++++ .../year-in-review/03-community-growth.svg | 43 +++++++++++ .../templates/year-in-review/04-thank-you.svg | 28 +++++++ .../year-in-review/05-looking-ahead.svg | 34 +++++++++ 375 files changed, 14631 insertions(+) create mode 100644 images/templates/LLD/01-singleton.svg create mode 100644 images/templates/LLD/02-factory.svg create mode 100644 images/templates/LLD/03-observer.svg create mode 100644 images/templates/LLD/04-strategy.svg create mode 100644 images/templates/LLD/05-decorator.svg create mode 100644 images/templates/LLD/06-adapter.svg create mode 100644 images/templates/LLD/07-builder.svg create mode 100644 images/templates/LLD/08-command.svg create mode 100644 images/templates/LLD/09-facade.svg create mode 100644 images/templates/LLD/10-proxy.svg create mode 100644 images/templates/LLD/11-state.svg create mode 100644 images/templates/LLD/12-template-method.svg create mode 100644 images/templates/LLD/13-chain-of-responsibility.svg create mode 100644 images/templates/LLD/14-composite.svg create mode 100644 images/templates/LLD/15-iterator.svg create mode 100644 images/templates/LLD/16-mediator.svg create mode 100644 images/templates/LLD/17-prototype.svg create mode 100644 images/templates/LLD/18-flyweight.svg create mode 100644 images/templates/LLD/19-visitor.svg create mode 100644 images/templates/LLD/20-dependency-injection.svg create mode 100644 images/templates/achievements/01-placement-announcement.svg create mode 100644 images/templates/achievements/02-fellowship-stats.svg create mode 100644 images/templates/achievements/03-milestone-celebration.svg create mode 100644 images/templates/achievements/04-fellow-success-story.svg create mode 100644 images/templates/achievements/05-year-in-review.svg create mode 100644 images/templates/ambassador-program/01-become-ambassador.svg create mode 100644 images/templates/ambassador-program/02-ambassador-role.svg create mode 100644 images/templates/ambassador-program/03-ambassador-benefits.svg create mode 100644 images/templates/ambassador-program/04-how-to-apply.svg create mode 100644 images/templates/ambassador-program/05-welcome-ambassador.svg create mode 100644 images/templates/aws/01-ec2-essentials.svg create mode 100644 images/templates/aws/01-ec2-instances.svg create mode 100644 images/templates/aws/02-s3-storage-classes.svg create mode 100644 images/templates/aws/02-s3-storage.svg create mode 100644 images/templates/aws/03-lambda-functions.svg create mode 100644 images/templates/aws/04-rds-database.svg create mode 100644 images/templates/aws/04-rds-databases.svg create mode 100644 images/templates/aws/05-dynamodb-nosql.svg create mode 100644 images/templates/aws/05-vpc-networking.svg create mode 100644 images/templates/aws/06-cloudformation-iac.svg create mode 100644 images/templates/aws/06-iam-best-practices.svg create mode 100644 images/templates/aws/07-cloudfront-cdn.svg create mode 100644 images/templates/aws/07-iam-security.svg create mode 100644 images/templates/aws/08-cloudwatch-logs.svg create mode 100644 images/templates/aws/08-elb-load-balancers.svg create mode 100644 images/templates/aws/09-api-gateway.svg create mode 100644 images/templates/aws/09-dynamodb.svg create mode 100644 images/templates/aws/10-sqs-queues.svg create mode 100644 images/templates/aws/10-sqs-sns.svg create mode 100644 images/templates/aws/11-cloudformation.svg create mode 100644 images/templates/aws/11-sns-pubsub.svg create mode 100644 images/templates/aws/12-cloudfront-cdn.svg create mode 100644 images/templates/aws/12-cloudwatch.svg create mode 100644 images/templates/aws/13-ecs-containers.svg create mode 100644 images/templates/aws/13-ecs-fargate.svg create mode 100644 images/templates/aws/14-ecr-registry.svg create mode 100644 images/templates/aws/14-route53.svg create mode 100644 images/templates/aws/15-secrets-manager.svg create mode 100644 images/templates/aws/16-api-gateway.svg create mode 100644 images/templates/aws/16-elasticache-redis.svg create mode 100644 images/templates/aws/17-elasticache.svg create mode 100644 images/templates/aws/17-route53-dns.svg create mode 100644 images/templates/aws/18-cognito-auth.svg create mode 100644 images/templates/aws/18-kinesis.svg create mode 100644 images/templates/aws/19-cognito.svg create mode 100644 images/templates/aws/19-step-functions.svg create mode 100644 images/templates/aws/20-cli-tips.svg create mode 100644 images/templates/aws/20-eks-kubernetes.svg create mode 100644 images/templates/circles/01-new-circle.svg create mode 100644 images/templates/circles/02-weekly-update.svg create mode 100644 images/templates/circles/03-what-are-circles.svg create mode 100644 images/templates/circles/04-active-circles.svg create mode 100644 images/templates/circles/05-graduation.svg create mode 100644 images/templates/community-spotlight/01-member-feature.svg create mode 100644 images/templates/community-spotlight/02-mentor-highlight.svg create mode 100644 images/templates/community-spotlight/03-core-team.svg create mode 100644 images/templates/community-spotlight/04-testimonial.svg create mode 100644 images/templates/community-spotlight/05-ambassador-feature.svg create mode 100644 images/templates/daily-dsa-challenge/day-01-two-sum.svg create mode 100644 images/templates/daily-dsa-challenge/day-02-valid-palindrome.svg create mode 100644 images/templates/daily-dsa-challenge/day-03-reverse-linked-list.svg create mode 100644 images/templates/daily-dsa-challenge/day-04-valid-parentheses.svg create mode 100644 images/templates/daily-dsa-challenge/day-05-maximum-subarray.svg create mode 100644 images/templates/daily-dsa-challenge/day-06-merge-two-sorted-lists.svg create mode 100644 images/templates/daily-dsa-challenge/day-07-best-time-buy-sell-stock.svg create mode 100644 images/templates/daily-dsa-challenge/day-08-valid-anagram.svg create mode 100644 images/templates/daily-dsa-challenge/day-09-binary-search.svg create mode 100644 images/templates/daily-dsa-challenge/day-10-climbing-stairs.svg create mode 100644 images/templates/daily-dsa-challenge/day-11-same-tree.svg create mode 100644 images/templates/daily-dsa-challenge/day-12-invert-binary-tree.svg create mode 100644 images/templates/daily-dsa-challenge/day-13-max-depth-binary-tree.svg create mode 100644 images/templates/daily-dsa-challenge/day-14-contains-duplicate.svg create mode 100644 images/templates/daily-dsa-challenge/day-15-product-except-self.svg create mode 100644 images/templates/daily-dsa-challenge/day-16-3sum.svg create mode 100644 images/templates/daily-dsa-challenge/day-17-container-with-most-water.svg create mode 100644 images/templates/daily-dsa-challenge/day-18-longest-substring-no-repeat.svg create mode 100644 images/templates/daily-dsa-challenge/day-19-group-anagrams.svg create mode 100644 images/templates/daily-dsa-challenge/day-20-top-k-frequent-elements.svg create mode 100644 images/templates/daily-dsa-challenge/day-21-encode-decode-strings.svg create mode 100644 images/templates/daily-dsa-challenge/day-22-longest-consecutive-sequence.svg create mode 100644 images/templates/daily-dsa-challenge/day-23-min-stack.svg create mode 100644 images/templates/daily-dsa-challenge/day-24-evaluate-rpn.svg create mode 100644 images/templates/daily-dsa-challenge/day-25-generate-parentheses.svg create mode 100644 images/templates/daily-dsa-challenge/day-26-daily-temperatures.svg create mode 100644 images/templates/daily-dsa-challenge/day-27-car-fleet.svg create mode 100644 images/templates/daily-dsa-challenge/day-28-sliding-window-maximum.svg create mode 100644 images/templates/daily-dsa-challenge/day-29-search-rotated-sorted-array.svg create mode 100644 images/templates/daily-dsa-challenge/day-30-find-min-rotated-sorted.svg create mode 100644 images/templates/daily-dsa-challenge/day-31-koko-eating-bananas.svg create mode 100644 images/templates/daily-dsa-challenge/day-32-merge-intervals.svg create mode 100644 images/templates/daily-dsa-challenge/day-33-insert-interval.svg create mode 100644 images/templates/daily-dsa-challenge/day-34-non-overlapping-intervals.svg create mode 100644 images/templates/daily-dsa-challenge/day-35-rotate-image.svg create mode 100644 images/templates/daily-dsa-challenge/day-36-spiral-matrix.svg create mode 100644 images/templates/daily-dsa-challenge/day-37-set-matrix-zeroes.svg create mode 100644 images/templates/daily-dsa-challenge/day-38-happy-number.svg create mode 100644 images/templates/daily-dsa-challenge/day-39-plus-one.svg create mode 100644 images/templates/daily-dsa-challenge/day-40-pow-x-n.svg create mode 100644 images/templates/daily-dsa-challenge/day-41-multiply-strings.svg create mode 100644 images/templates/daily-dsa-challenge/day-42-detect-cycle-linked-list.svg create mode 100644 images/templates/daily-dsa-challenge/day-43-reorder-list.svg create mode 100644 images/templates/daily-dsa-challenge/day-44-remove-nth-node-from-end.svg create mode 100644 images/templates/daily-dsa-challenge/day-45-copy-list-random-pointer.svg create mode 100644 images/templates/daily-dsa-challenge/day-46-lru-cache.svg create mode 100644 images/templates/daily-dsa-challenge/day-47-merge-k-sorted-lists.svg create mode 100644 images/templates/daily-dsa-challenge/day-48-level-order-traversal.svg create mode 100644 images/templates/daily-dsa-challenge/day-49-validate-bst.svg create mode 100644 images/templates/daily-dsa-challenge/day-50-lowest-common-ancestor.svg create mode 100644 images/templates/devops-tools/01-kubernetes-basics.svg create mode 100644 images/templates/devops-tools/02-docker-essentials.svg create mode 100644 images/templates/devops-tools/03-terraform-basics.svg create mode 100644 images/templates/devops-tools/04-jenkins-pipelines.svg create mode 100644 images/templates/devops-tools/05-gitlab-cicd.svg create mode 100644 images/templates/devops-tools/06-github-actions.svg create mode 100644 images/templates/devops-tools/07-ansible-automation.svg create mode 100644 images/templates/devops-tools/08-prometheus-monitoring.svg create mode 100644 images/templates/devops-tools/09-grafana-dashboards.svg create mode 100644 images/templates/devops-tools/10-helm-charts.svg create mode 100644 images/templates/devops-tools/11-nginx-config.svg create mode 100644 images/templates/devops-tools/12-docker-compose.svg create mode 100644 images/templates/devops-tools/13-kubectl-debug.svg create mode 100644 images/templates/devops-tools/14-argocd-gitops.svg create mode 100644 images/templates/devops-tools/15-vault-secrets.svg create mode 100644 images/templates/devops-tools/16-datadog-apm.svg create mode 100644 images/templates/devops-tools/17-sentry-errors.svg create mode 100644 images/templates/devops-tools/18-jaeger-tracing.svg create mode 100644 images/templates/devops-tools/19-netlify-deploy.svg create mode 100644 images/templates/devops-tools/20-vercel-deploy.svg create mode 100644 images/templates/discord-rooms/01-your-voice-matters.svg create mode 100644 images/templates/discord-rooms/02-open-mic-open-hearts.svg create mode 100644 images/templates/discord-rooms/03-late-night-debugging.svg create mode 100644 images/templates/discord-rooms/04-no-question-too-small.svg create mode 100644 images/templates/discord-rooms/05-coworking-virtual-cafe.svg create mode 100644 images/templates/discord-rooms/06-weekly-tech-talks.svg create mode 100644 images/templates/discord-rooms/07-study-buddies-welcome.svg create mode 100644 images/templates/discord-rooms/08-weekend-hangouts.svg create mode 100644 images/templates/discord-rooms/09-mentorship-moments.svg create mode 100644 images/templates/discord-rooms/10-just-drop-by.svg create mode 100644 images/templates/dsa-techniques/01-two-pointers.svg create mode 100644 images/templates/dsa-techniques/02-sliding-window.svg create mode 100644 images/templates/dsa-techniques/03-binary-search.svg create mode 100644 images/templates/dsa-techniques/04-dfs.svg create mode 100644 images/templates/dsa-techniques/05-bfs.svg create mode 100644 images/templates/dsa-techniques/06-dynamic-programming.svg create mode 100644 images/templates/dsa-techniques/07-backtracking.svg create mode 100644 images/templates/dsa-techniques/08-greedy.svg create mode 100644 images/templates/dsa-techniques/09-divide-conquer.svg create mode 100644 images/templates/dsa-techniques/10-hashmap.svg create mode 100644 images/templates/dsa-techniques/11-stack.svg create mode 100644 images/templates/dsa-techniques/12-queue.svg create mode 100644 images/templates/dsa-techniques/13-heap.svg create mode 100644 images/templates/dsa-techniques/14-linked-list.svg create mode 100644 images/templates/dsa-techniques/15-recursion.svg create mode 100644 images/templates/dsa-techniques/16-prefix-sum.svg create mode 100644 images/templates/dsa-techniques/17-monotonic-stack.svg create mode 100644 images/templates/dsa-techniques/18-trie.svg create mode 100644 images/templates/dsa-techniques/19-union-find.svg create mode 100644 images/templates/dsa-techniques/20-sorting.svg create mode 100644 images/templates/dsa-techniques/21-graph-algorithms.svg create mode 100644 images/templates/dsa-techniques/22-bit-manipulation.svg create mode 100644 images/templates/dsa/01-problem-card.svg create mode 100644 images/templates/dsa/02-concept-explainer.svg create mode 100644 images/templates/dsa/03-cheat-sheet.svg create mode 100644 images/templates/dsa/04-roadmap-carousel.svg create mode 100644 images/templates/dsa/05-daily-challenge.svg create mode 100644 images/templates/engineering/01-big-o-notation.svg create mode 100644 images/templates/engineering/01-memory-layout.svg create mode 100644 images/templates/engineering/02-cpu-cache-lines.svg create mode 100644 images/templates/engineering/02-solid-principles.svg create mode 100644 images/templates/engineering/03-branch-prediction.svg create mode 100644 images/templates/engineering/03-rest-api-practices.svg create mode 100644 images/templates/engineering/04-false-sharing.svg create mode 100644 images/templates/engineering/04-git-commands.svg create mode 100644 images/templates/engineering/05-http-status-codes.svg create mode 100644 images/templates/engineering/05-memory-barriers.svg create mode 100644 images/templates/engineering/06-clean-code.svg create mode 100644 images/templates/engineering/06-tail-call-optimization.svg create mode 100644 images/templates/engineering/07-copy-on-write.svg create mode 100644 images/templates/engineering/07-database-indexing.svg create mode 100644 images/templates/engineering/08-instruction-pipelining.svg create mode 100644 images/templates/engineering/08-testing-pyramid.svg create mode 100644 images/templates/engineering/09-cicd-pipeline.svg create mode 100644 images/templates/engineering/09-system-calls.svg create mode 100644 images/templates/engineering/10-docker-basics.svg create mode 100644 images/templates/engineering/10-virtual-memory.svg create mode 100644 images/templates/engineering/11-auth-vs-authz.svg create mode 100644 images/templates/engineering/11-lock-free-structures.svg create mode 100644 images/templates/engineering/12-api-vs-sdk.svg create mode 100644 images/templates/engineering/12-simd-instructions.svg create mode 100644 images/templates/engineering/13-async-await.svg create mode 100644 images/templates/engineering/13-zero-copy-io.svg create mode 100644 images/templates/engineering/14-memory-alignment.svg create mode 100644 images/templates/engineering/14-monolith-vs-microservices.svg create mode 100644 images/templates/engineering/15-bit-manipulation.svg create mode 100644 images/templates/engineering/15-memory-management.svg create mode 100644 images/templates/engineering/16-code-review-tips.svg create mode 100644 images/templates/engineering/16-event-loop.svg create mode 100644 images/templates/engineering/17-environment-variables.svg create mode 100644 images/templates/engineering/17-memory-pool.svg create mode 100644 images/templates/engineering/18-bloom-filters.svg create mode 100644 images/templates/engineering/18-semantic-versioning.svg create mode 100644 images/templates/engineering/19-debugging-techniques.svg create mode 100644 images/templates/engineering/19-write-amplification.svg create mode 100644 images/templates/engineering/20-jit-compilation.svg create mode 100644 images/templates/engineering/20-technical-debt.svg create mode 100644 images/templates/fellowship/techgrind-01-react-performance.svg create mode 100644 images/templates/fellowship/techgrind-02-nodejs-streams.svg create mode 100644 images/templates/fellowship/techgrind-03-postgresql.svg create mode 100644 images/templates/fellowship/techgrind-04-graphql.svg create mode 100644 images/templates/fellowship/techgrind-05-tdd.svg create mode 100644 images/templates/fellowship/techgrind-06-docker.svg create mode 100644 images/templates/fellowship/techgrind-07-typescript.svg create mode 100644 images/templates/general/01-tip-post.svg create mode 100644 images/templates/general/02-announcement.svg create mode 100644 images/templates/general/03-poll-engagement.svg create mode 100644 images/templates/general/04-fun-fact.svg create mode 100644 images/templates/general/05-weekly-update.svg create mode 100644 images/templates/git-commands/01-git-stash.svg create mode 100644 images/templates/git-commands/02-git-reset.svg create mode 100644 images/templates/git-commands/03-git-rebase.svg create mode 100644 images/templates/git-commands/04-git-cherry-pick.svg create mode 100644 images/templates/git-commands/05-git-bisect.svg create mode 100644 images/templates/git-commands/06-git-log.svg create mode 100644 images/templates/git-commands/07-git-worktree.svg create mode 100644 images/templates/git-commands/08-git-reflog.svg create mode 100644 images/templates/git-commands/09-git-aliases.svg create mode 100644 images/templates/git-commands/10-git-hooks.svg create mode 100644 images/templates/instagram/01-tip-of-the-day.svg create mode 100644 images/templates/instagram/02-carousel-cover.svg create mode 100644 images/templates/instagram/03-quote-post.svg create mode 100644 images/templates/instagram/04-before-after.svg create mode 100644 images/templates/instagram/05-announcement.svg create mode 100644 images/templates/interview/01-two-sum.svg create mode 100644 images/templates/interview/02-valid-parentheses.svg create mode 100644 images/templates/interview/03-binary-search.svg create mode 100644 images/templates/interview/04-reverse-linked-list.svg create mode 100644 images/templates/interview/05-sliding-window.svg create mode 100644 images/templates/interview/06-dfs-traversal.svg create mode 100644 images/templates/interview/07-bfs-traversal.svg create mode 100644 images/templates/interview/08-merge-two-lists.svg create mode 100644 images/templates/interview/09-lru-cache.svg create mode 100644 images/templates/interview/10-detect-cycle.svg create mode 100644 images/templates/interview/11-dp-climbing-stairs.svg create mode 100644 images/templates/interview/12-top-k-elements.svg create mode 100644 images/templates/interview/13-merge-intervals.svg create mode 100644 images/templates/interview/14-trie-structure.svg create mode 100644 images/templates/interview/15-kadanes-algorithm.svg create mode 100644 images/templates/interview/16-backtracking.svg create mode 100644 images/templates/interview/17-longest-substring.svg create mode 100644 images/templates/interview/18-binary-tree-lca.svg create mode 100644 images/templates/interview/19-number-of-islands.svg create mode 100644 images/templates/interview/20-time-complexity.svg create mode 100644 images/templates/linkedin-banners/01-main-banner.svg create mode 100644 images/templates/linkedin-banners/02-dark-stats.svg create mode 100644 images/templates/linkedin-banners/03-hiring-banner.svg create mode 100644 images/templates/linkedin-banners/04-event-banner.svg create mode 100644 images/templates/linkedin-posts/01-insight-post.svg create mode 100644 images/templates/linkedin-posts/02-success-story.svg create mode 100644 images/templates/linkedin-posts/03-poll-engagement.svg create mode 100644 images/templates/linkedin-posts/04-hot-take.svg create mode 100644 images/templates/linkedin-posts/05-job-posting.svg create mode 100644 images/templates/mindmaster-light/01-pomodoro.svg create mode 100644 images/templates/mindmaster-light/02-growth-mindset.svg create mode 100644 images/templates/mindmaster-light/03-eisenhower-matrix.svg create mode 100644 images/templates/mindmaster-light/04-learning-pyramid.svg create mode 100644 images/templates/mindmaster-light/05-deep-work.svg create mode 100644 images/templates/mindmaster-light/06-two-minute-rule.svg create mode 100644 images/templates/mindmaster-light/07-time-blocking.svg create mode 100644 images/templates/mindmaster-light/08-pareto-principle.svg create mode 100644 images/templates/mindmaster-light/09-inbox-zero.svg create mode 100644 images/templates/mindmaster-light/10-eat-the-frog.svg create mode 100644 images/templates/mindmaster-light/11-context-switching.svg create mode 100644 images/templates/mindmaster-light/12-spaced-repetition.svg create mode 100644 images/templates/mindmaster-light/13-feynman-technique.svg create mode 100644 images/templates/mindmaster-light/14-morning-routine.svg create mode 100644 images/templates/mindmaster-light/15-flow-state.svg create mode 100644 images/templates/mindmaster-light/16-weekly-review.svg create mode 100644 images/templates/mindmaster-light/17-imposter-syndrome.svg create mode 100644 images/templates/mindmaster-light/18-brain-dump.svg create mode 100644 images/templates/mindmaster-light/19-energy-management.svg create mode 100644 images/templates/mindmaster-light/20-rest-is-productive.svg create mode 100644 images/templates/mindmaster-light/21-second-brain.svg create mode 100644 images/templates/mindmaster-light/22-analysis-paralysis.svg create mode 100644 images/templates/mindmaster-light/23-rubber-duck.svg create mode 100644 images/templates/mindmaster-light/24-sleep-optimization.svg create mode 100644 images/templates/mindmaster-light/25-say-no.svg create mode 100644 images/templates/mindmaster/01-session-announcement.svg create mode 100644 images/templates/mindmaster/02-psychology-tip.svg create mode 100644 images/templates/mindmaster/03-book-club.svg create mode 100644 images/templates/mindmaster/04-carousel-cover.svg create mode 100644 images/templates/mindmaster/05-what-is-mindmaster.svg create mode 100644 images/templates/mindmaster/session-01-focus-fundamentals.svg create mode 100644 images/templates/mindmaster/session-02-mental-models.svg create mode 100644 images/templates/mindmaster/session-03-stress-management.svg create mode 100644 images/templates/mindmaster/session-04-habit-building.svg create mode 100644 images/templates/mindmaster/session-05-time-management.svg create mode 100644 images/templates/mindmaster/session-06-learning-techniques.svg create mode 100644 images/templates/mindmaster/session-07-motivation-burnout.svg create mode 100644 images/templates/motivational/01-quote-dark.svg create mode 100644 images/templates/motivational/02-journey-comparison.svg create mode 100644 images/templates/motivational/03-mindset-post.svg create mode 100644 images/templates/motivational/04-hard-truth.svg create mode 100644 images/templates/motivational/05-encouragement.svg create mode 100644 images/templates/pakistan-events/01-independence-day.svg create mode 100644 images/templates/pakistan-events/02-eid-mubarak.svg create mode 100644 images/templates/pakistan-events/03-pakistan-day.svg create mode 100644 images/templates/pakistan-events/04-ramadan.svg create mode 100644 images/templates/pakistan-events/05-iqbal-day.svg create mode 100644 images/templates/productivity-commands/01-vscode-multicursor.svg create mode 100644 images/templates/productivity-commands/02-terminal-shortcuts.svg create mode 100644 images/templates/productivity-commands/03-find-replace.svg create mode 100644 images/templates/productivity-commands/04-split-editor.svg create mode 100644 images/templates/productivity-commands/05-code-navigation.svg create mode 100644 images/templates/productivity-commands/06-refactoring.svg create mode 100644 images/templates/productivity-commands/07-integrated-terminal.svg create mode 100644 images/templates/productivity-commands/08-debugging.svg create mode 100644 images/templates/productivity-commands/09-command-palette.svg create mode 100644 images/templates/productivity-commands/10-zen-mode.svg create mode 100644 images/templates/system-design/01-load-balancing.svg create mode 100644 images/templates/system-design/02-caching.svg create mode 100644 images/templates/system-design/03-sharding.svg create mode 100644 images/templates/system-design/04-cap-theorem.svg create mode 100644 images/templates/system-design/05-message-queues.svg create mode 100644 images/templates/system-design/06-cdn.svg create mode 100644 images/templates/system-design/07-replication.svg create mode 100644 images/templates/system-design/08-api-gateway.svg create mode 100644 images/templates/system-design/09-rate-limiting.svg create mode 100644 images/templates/system-design/10-microservices.svg create mode 100644 images/templates/system-design/11-consistent-hashing.svg create mode 100644 images/templates/system-design/12-sql-vs-nosql.svg create mode 100644 images/templates/system-design/13-indexing.svg create mode 100644 images/templates/system-design/14-websockets.svg create mode 100644 images/templates/system-design/15-distributed-transactions.svg create mode 100644 images/templates/system-design/16-service-discovery.svg create mode 100644 images/templates/system-design/17-circuit-breaker.svg create mode 100644 images/templates/system-design/18-event-driven.svg create mode 100644 images/templates/system-design/19-cqrs.svg create mode 100644 images/templates/system-design/20-estimations.svg create mode 100644 images/templates/tech-events/01-session-announcement.svg create mode 100644 images/templates/tech-events/02-hackathon.svg create mode 100644 images/templates/tech-events/03-workshop.svg create mode 100644 images/templates/tech-events/04-open-source.svg create mode 100644 images/templates/tech-events/05-ama.svg create mode 100644 images/templates/template-1-featured-post.svg create mode 100644 images/templates/template-2-tutorial.svg create mode 100644 images/templates/template-3-mindmaster-quote.svg create mode 100644 images/templates/template-4-listicle.svg create mode 100644 images/templates/template-5-case-study-dark.svg create mode 100644 images/templates/template-6-session-announcement.svg create mode 100644 images/templates/template-7-book-review.svg create mode 100644 images/templates/year-in-review/01-annual-stats.svg create mode 100644 images/templates/year-in-review/02-top-moments.svg create mode 100644 images/templates/year-in-review/03-community-growth.svg create mode 100644 images/templates/year-in-review/04-thank-you.svg create mode 100644 images/templates/year-in-review/05-looking-ahead.svg diff --git a/images/templates/LLD/01-singleton.svg b/images/templates/LLD/01-singleton.svg new file mode 100644 index 0000000..cb7249d --- /dev/null +++ b/images/templates/LLD/01-singleton.svg @@ -0,0 +1,45 @@ + + + + DEV WEEKENDS + + + LLD + + Singleton + Pattern + + Only one instance, globally accessible + + + + class + DatabaseConnection { + + private static + instance: DB; + + private + constructor + () { } + + static + getInstance + () { + + if + (!this.instance) { + + this + .instance = + new + DB(); + + } + return this + .instance; } + + Use: Config managers, DB connections, Logging + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/02-factory.svg b/images/templates/LLD/02-factory.svg new file mode 100644 index 0000000..67521b9 --- /dev/null +++ b/images/templates/LLD/02-factory.svg @@ -0,0 +1,42 @@ + + + + DEV WEEKENDS + + + LLD + + Factory + Pattern + + Create objects without specifying exact class + + + + + VehicleFactory + + + + + + + + + + Car + + + Motorcycle + + + Truck + + + factory.create("car") + → returns Car instance + + Use: Payment processors, UI components, Document parsers + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/03-observer.svg b/images/templates/LLD/03-observer.svg new file mode 100644 index 0000000..f59e823 --- /dev/null +++ b/images/templates/LLD/03-observer.svg @@ -0,0 +1,45 @@ + + + + DEV WEEKENDS + + + LLD + + Observer + Pattern + + One-to-many dependency, notify on state change + + + + + Subject + notifyAll() + + + + + + notify + notify + notify + + + Observer A + update() + + + Observer B + update() + + + Observer C + update() + + Subject state changes → All observers notified + + Use: Event systems, pub/sub, notifications, MVC + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/04-strategy.svg b/images/templates/LLD/04-strategy.svg new file mode 100644 index 0000000..3eb8ae6 --- /dev/null +++ b/images/templates/LLD/04-strategy.svg @@ -0,0 +1,45 @@ + + + + DEV WEEKENDS + + + LLD + + Strategy + Pattern + + Define algorithms, make them interchangeable + + + + + PaymentContext + + setStrategy(strategy) + + + PaymentStrategy (interface) + + + + + + + CreditCard + pay(amount) + + + PayPal + pay(amount) + + + Crypto + pay(amount) + + Switch strategies at runtime without modifying context + + Use: Sorting algorithms, payment methods, compression + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/05-decorator.svg b/images/templates/LLD/05-decorator.svg new file mode 100644 index 0000000..d3a055c --- /dev/null +++ b/images/templates/LLD/05-decorator.svg @@ -0,0 +1,41 @@ + + + + DEV WEEKENDS + + + LLD + + Decorator + Pattern + + Add behavior dynamically, wrap objects + + + + + Coffee (base) + + + +Milk + + + +Sugar + + + +Whip + + + +Caramel + + Composition: + + + new Whip(new Milk(new Coffee())) + + Each wrapper adds its behavior to the wrapped object + + Use: I/O streams, UI components, middleware + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/06-adapter.svg b/images/templates/LLD/06-adapter.svg new file mode 100644 index 0000000..af22e86 --- /dev/null +++ b/images/templates/LLD/06-adapter.svg @@ -0,0 +1,41 @@ + + + + DEV WEEKENDS + + + LLD + + Adapter + Pattern + + Convert interface to another interface clients expect + + + + + Client + expects Target + + + + + + Adapter + translates calls + + + + + + Adaptee + incompatible API + + + // Example: XMLtoJSONAdapter + adapter.toJSON(xmlData) → converts XML to JSON + + Use: Legacy code integration, third-party libraries, API wrappers + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/07-builder.svg b/images/templates/LLD/07-builder.svg new file mode 100644 index 0000000..8578937 --- /dev/null +++ b/images/templates/LLD/07-builder.svg @@ -0,0 +1,45 @@ + + + + DEV WEEKENDS + + + LLD + + Builder + Pattern + + Construct complex objects step by step + + + + const + pizza = + new + PizzaBuilder() + + .setSize( + "large" + ) + + .setCrust( + "thin" + ) + + .addTopping( + "cheese" + ) + + .addTopping( + "pepperoni" + ) + + .build() + ; + + Fluent interface, avoid constructor with many params + + Use: Query builders, form builders, complex configs + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/08-command.svg b/images/templates/LLD/08-command.svg new file mode 100644 index 0000000..885234a --- /dev/null +++ b/images/templates/LLD/08-command.svg @@ -0,0 +1,49 @@ + + + + DEV WEEKENDS + + + LLD + + Command + Pattern + + Encapsulate requests as objects, support undo + + + + + Invoker + execute() + + + + + + Command (interface) + execute(), undo() + + + + + + Receiver + action() + + + CopyCommand + + + PasteCommand + + + DeleteCommand + + + Commands can be queued, logged, and undone + + Use: Text editors, transaction systems, macro recording + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/09-facade.svg b/images/templates/LLD/09-facade.svg new file mode 100644 index 0000000..f186ed6 --- /dev/null +++ b/images/templates/LLD/09-facade.svg @@ -0,0 +1,45 @@ + + + + DEV WEEKENDS + + + LLD + + Facade + Pattern + + Simplified interface to complex subsystem + + + + + HomeTheaterFacade + + + + watchMovie() hides complexity + + + + + DVDPlayer + + + Projector + + + Amplifier + + + Lights + + + Screen + + Client interacts only with facade, not subsystems + + Use: Library wrappers, API simplification, legacy systems + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/10-proxy.svg b/images/templates/LLD/10-proxy.svg new file mode 100644 index 0000000..d1d9072 --- /dev/null +++ b/images/templates/LLD/10-proxy.svg @@ -0,0 +1,47 @@ + + + + DEV WEEKENDS + + + LLD + + Proxy + Pattern + + Control access, add functionality to object + + + + + Client + + + + + + Proxy + caching / auth / logging + + + + + + Real Service + + + Protection Proxy + access control + + + Caching Proxy + store results + + + Virtual Proxy + lazy loading + + Use: Lazy loading, access control, logging, caching + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/11-state.svg b/images/templates/LLD/11-state.svg new file mode 100644 index 0000000..1b3a1b9 --- /dev/null +++ b/images/templates/LLD/11-state.svg @@ -0,0 +1,53 @@ + + + + DEV WEEKENDS + + + LLD + + State + Pattern + + Object behavior changes based on state + + + + + Order Context + + + state + + + + + OrderState (interface): process(), cancel() + + + + + + + + Pending + + + Processing + + + Shipped + + + Delivered + + + + + + Each state handles transitions differently + + Use: Order systems, UI components, game states + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/12-template-method.svg b/images/templates/LLD/12-template-method.svg new file mode 100644 index 0000000..800ea96 --- /dev/null +++ b/images/templates/LLD/12-template-method.svg @@ -0,0 +1,38 @@ + + + + DEV WEEKENDS + + + LLD + + Template + Method + + Define algorithm skeleton, defer steps to subclasses + + + + + DataMiner (abstract) + mine() = extract → parse → analyze + + + + + + PDFMiner + extract(): read PDF file + parse(): parse PDF data + + + CSVMiner + extract(): read CSV file + parse(): parse CSV data + + Common algorithm, specific implementations + + Use: Frameworks, testing, data processing pipelines + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/13-chain-of-responsibility.svg b/images/templates/LLD/13-chain-of-responsibility.svg new file mode 100644 index 0000000..93504ac --- /dev/null +++ b/images/templates/LLD/13-chain-of-responsibility.svg @@ -0,0 +1,51 @@ + + + + DEV WEEKENDS + + + LLD + + Chain of + Responsibility + + Pass request along handler chain + + + + + Request + type: "auth" + + + + + + AuthHandler + check auth + + + + + + LogHandler + log request + + + + + + CacheHandler + check cache + + Each handler decides to process or pass along + + + handler.setNext(log).setNext(cache).handle(req) + + Decouple sender and receiver of request + + Use: Middleware, event handling, form validation + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/14-composite.svg b/images/templates/LLD/14-composite.svg new file mode 100644 index 0000000..0904eb4 --- /dev/null +++ b/images/templates/LLD/14-composite.svg @@ -0,0 +1,46 @@ + + + + DEV WEEKENDS + + + LLD + + Composite + Pattern + + Treat individual objects and compositions uniformly + + + + + Component (interface) + + + + + + Leaf (File) + getSize(): return size + + + Composite (Folder) + getSize(): sum children + + + + + File A + + + File B + + + Subfolder + + folder.getSize() recursively sums all files + + Use: File systems, UI hierarchies, org charts + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/15-iterator.svg b/images/templates/LLD/15-iterator.svg new file mode 100644 index 0000000..04b0e4e --- /dev/null +++ b/images/templates/LLD/15-iterator.svg @@ -0,0 +1,43 @@ + + + + DEV WEEKENDS + + + LLD + + Iterator + Pattern + + Sequential access without exposing structure + + + + + Collection + createIterator(): Iterator + + + Iterator + next(), hasNext(), current() + + + + + + + const + iter = collection.createIterator(); + + while + (iter.hasNext()) { + + process + (iter.next()); } + + Unified traversal for arrays, trees, graphs, etc. + + Use: Database cursors, file readers, custom collections + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/16-mediator.svg b/images/templates/LLD/16-mediator.svg new file mode 100644 index 0000000..a402514 --- /dev/null +++ b/images/templates/LLD/16-mediator.svg @@ -0,0 +1,43 @@ + + + + DEV WEEKENDS + + + LLD + + Mediator + Pattern + + Centralize complex communications between objects + + + + + Chat + Mediator + + + User A + + + User B + + + User C + + + User D + + + + + + + + Users communicate through mediator, not directly + + Use: Chat rooms, air traffic control, form validation + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/17-prototype.svg b/images/templates/LLD/17-prototype.svg new file mode 100644 index 0000000..77fb439 --- /dev/null +++ b/images/templates/LLD/17-prototype.svg @@ -0,0 +1,41 @@ + + + + DEV WEEKENDS + + + LLD + + Prototype + Pattern + + Clone existing objects without coupling + + + + + Original Object + name: "Config", data: {...} + + + clone() + + + + Cloned Object + name: "Config", data: {...} + + + + interface + Prototype { clone(): Prototype; } + + const + copy = original.clone(); + + Deep copy objects without knowing their concrete classes + + Use: Object copying, caching, undo history + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/18-flyweight.svg b/images/templates/LLD/18-flyweight.svg new file mode 100644 index 0000000..1d0bb79 --- /dev/null +++ b/images/templates/LLD/18-flyweight.svg @@ -0,0 +1,36 @@ + + + + DEV WEEKENDS + + + LLD + + Flyweight + Pattern + + Share common parts to minimize memory usage + + + + 1000 Tree Objects in Game + + + Without Flyweight + Each tree stores: + mesh, texture, color, x, y + 1000 x full object = High memory + + + With Flyweight + Shared: mesh, texture, color + Unique: x, y only + 1 shared + 1000 x coords = Low memory + + + Intrinsic (shared) vs Extrinsic (unique) state separation + + Use: Text editors, game sprites, browser fonts + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/19-visitor.svg b/images/templates/LLD/19-visitor.svg new file mode 100644 index 0000000..3a23bce --- /dev/null +++ b/images/templates/LLD/19-visitor.svg @@ -0,0 +1,49 @@ + + + + DEV WEEKENDS + + + LLD + + Visitor + Pattern + + Add operations without modifying classes + + + + + Elements + + + Circle + + + Square + + + Triangle + + + Visitors + + + AreaCalculator + + + XMLExporter + + + accept + + + + circle.accept(areaVisitor) + → visitor.visitCircle(this) + Double dispatch: element type + visitor type determines action + + Use: Compilers, document exports, analytics + + @devweekends + \ No newline at end of file diff --git a/images/templates/LLD/20-dependency-injection.svg b/images/templates/LLD/20-dependency-injection.svg new file mode 100644 index 0000000..404847a --- /dev/null +++ b/images/templates/LLD/20-dependency-injection.svg @@ -0,0 +1,36 @@ + + + + DEV WEEKENDS + + + LLD + + Dependency + Injection + + Pass dependencies, dont create them inside + + + + + Tightly Coupled + class UserService { + db = new Database(); // hardcoded + } + + + Dependency Injection + class UserService { + constructor(db: IDatabase) {} + } + + + Benefits: + Testable (mock dependencies) + Flexible (swap implementations) | Loosely coupled | Single responsibility + + Use: Service classes, testing, frameworks (Angular, Spring) + + @devweekends + \ No newline at end of file diff --git a/images/templates/achievements/01-placement-announcement.svg b/images/templates/achievements/01-placement-announcement.svg new file mode 100644 index 0000000..a647bbc --- /dev/null +++ b/images/templates/achievements/01-placement-announcement.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + DEV WEEKENDS + + + + PLACEMENT ALERT + + + + 👤 + + + + + + [Name Here] + + + Got placed at + + + + [COMPANY] + + + XX LPA + + + "Dev Weekends helped me crack my dream job!" + + + 🎉 Congratulations from the Dev Weekends family! + \ No newline at end of file diff --git a/images/templates/achievements/02-fellowship-stats.svg b/images/templates/achievements/02-fellowship-stats.svg new file mode 100644 index 0000000..841e1f4 --- /dev/null +++ b/images/templates/achievements/02-fellowship-stats.svg @@ -0,0 +1,59 @@ + + + + + + DEV WEEKENDS + + + + FELLOWSHIP SUCCESS + + + 50+ + + + Fellows Placed + in 2024 + + + + + + + 15 LPA + Average Package + + + 35 LPA + Highest Package + + + 100% + Placement Rate + + + Top companies hiring our fellows: + + + Google + + + Microsoft + + + Amazon + + + Meta + + + Atlassian + + + + more + + + + Apply for the next cohort → devweekends.com + \ No newline at end of file diff --git a/images/templates/achievements/03-milestone-celebration.svg b/images/templates/achievements/03-milestone-celebration.svg new file mode 100644 index 0000000..b171e3d --- /dev/null +++ b/images/templates/achievements/03-milestone-celebration.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + DEV WEEKENDS + + + + MILESTONE + + + + + + 5K + + + + + + Community Members + + + Thank you for being part of our journey! + + + + 200+ + Sessions + + + 50+ + Mentors + + + 15+ + Countries + + + 3 + Years + + + Building better engineers together 🚀 + \ No newline at end of file diff --git a/images/templates/achievements/04-fellow-success-story.svg b/images/templates/achievements/04-fellow-success-story.svg new file mode 100644 index 0000000..0cf428b --- /dev/null +++ b/images/templates/achievements/04-fellow-success-story.svg @@ -0,0 +1,53 @@ + + + + + DEV WEEKENDS + + + + FELLOW SPOTLIGHT + + + + 📷 + + + + + + [Fellow Name] + Software Engineer @ [Company] + + + " + The fellowship completely + transformed my approach to + problem-solving and career. + + + + 6 + Month Journey + + + 300+ + DSA Problems + + + 20 LPA + Package + + + JOURNEY HIGHLIGHTS + + + + Joined as fresher with basic coding skills + + + Cracked dream job in 6 months + + + Your journey starts here → devweekends.com + \ No newline at end of file diff --git a/images/templates/achievements/05-year-in-review.svg b/images/templates/achievements/05-year-in-review.svg new file mode 100644 index 0000000..c5c847a --- /dev/null +++ b/images/templates/achievements/05-year-in-review.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + DEV WEEKENDS + + + + YEAR IN REVIEW + + + 2024 + + + + 120+ + Sessions Conducted + + + 50+ + Placements + + + 2K+ + New Members + + + 15+ + New Mentors + + + 30+ + Circles Formed + + + 10K+ + Hours of Learning + + + Another incredible year of growth and learning + + + Thank You! 🙏 + Here's to an even better 2025! + \ No newline at end of file diff --git a/images/templates/ambassador-program/01-become-ambassador.svg b/images/templates/ambassador-program/01-become-ambassador.svg new file mode 100644 index 0000000..f0585ea --- /dev/null +++ b/images/templates/ambassador-program/01-become-ambassador.svg @@ -0,0 +1,36 @@ + + + + DEV WEEKENDS + + + AMBASSADOR PROGRAM + + Become a + Dev Weekends + Ambassador + + Represent. Connect. Grow. + + + + + Lead Events + Host local meetups + and workshops + + + Build Network + Connect with fellow + developers globally + + + Exclusive Perks + Swag, mentorship, + and recognition + + + Apply Now + + @devweekends + \ No newline at end of file diff --git a/images/templates/ambassador-program/02-ambassador-role.svg b/images/templates/ambassador-program/02-ambassador-role.svg new file mode 100644 index 0000000..775eca7 --- /dev/null +++ b/images/templates/ambassador-program/02-ambassador-role.svg @@ -0,0 +1,37 @@ + + + + DEV WEEKENDS + + + AMBASSADOR PROGRAM + + What Does an + Ambassador Do? + + + + + Community Building + Organize local tech meetups and study groups + + + Content Creation + Share knowledge through posts and tutorials + + + Mentorship + Guide newcomers on their dev journey + + + Brand Advocacy + Spread the word about Dev Weekends + + + Feedback Loop + Help us improve by sharing community insights and suggestions + + Ready to make an impact? + + @devweekends + \ No newline at end of file diff --git a/images/templates/ambassador-program/03-ambassador-benefits.svg b/images/templates/ambassador-program/03-ambassador-benefits.svg new file mode 100644 index 0000000..49168b4 --- /dev/null +++ b/images/templates/ambassador-program/03-ambassador-benefits.svg @@ -0,0 +1,39 @@ + + + + DEV WEEKENDS + + + AMBASSADOR PROGRAM + + Ambassador + Benefits + + + Exclusive Swag + Dev Weekends merchandise, + stickers, and gear + + + Mentorship Access + 1-on-1 sessions with + industry professionals + + + Network Growth + Connect with ambassadors + worldwide + + + Resume Boost + Official recognition and + reference letters + + + Event Support + Resources, budget support, and marketing materials for your local events + + Join the community today + + @devweekends + \ No newline at end of file diff --git a/images/templates/ambassador-program/04-how-to-apply.svg b/images/templates/ambassador-program/04-how-to-apply.svg new file mode 100644 index 0000000..add163c --- /dev/null +++ b/images/templates/ambassador-program/04-how-to-apply.svg @@ -0,0 +1,42 @@ + + + + DEV WEEKENDS + + + AMBASSADOR PROGRAM + + How to Apply + + + + + 1 + Fill Application Form + Tell us about yourself and your community involvement + + + + + 2 + Interview Round + Quick chat with our team about your vision + + + + + 3 + Get Onboarded + Access resources, join private channels, get your kit + + + + + 4 + Start Making Impact + Lead events, mentor others, and grow with us + + Applications reviewed within 7 days + + @devweekends + \ No newline at end of file diff --git a/images/templates/ambassador-program/05-welcome-ambassador.svg b/images/templates/ambassador-program/05-welcome-ambassador.svg new file mode 100644 index 0000000..e55f173 --- /dev/null +++ b/images/templates/ambassador-program/05-welcome-ambassador.svg @@ -0,0 +1,26 @@ + + + + DEV WEEKENDS + + + AMBASSADOR PROGRAM + + Welcome Our + New Ambassador + + + [Photo + Here] + + [Ambassador Name] + [City, Country] + + + "[Inspiring quote or mission statement + from the ambassador]" + + Help us welcome them to the community + + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/01-ec2-essentials.svg b/images/templates/aws/01-ec2-essentials.svg new file mode 100644 index 0000000..f34c903 --- /dev/null +++ b/images/templates/aws/01-ec2-essentials.svg @@ -0,0 +1,63 @@ + + + + + AWS SERVICES + + + ☁️ EC2 ESSENTIALS + + + + Elastic Compute Cloud + + Instance Types: + + + t3.micro + 2 vCPU, 1GB RAM + Free tier eligible + + + m5.large + 2 vCPU, 8GB RAM + General purpose + + + c5.xlarge + 4 vCPU, 8GB RAM + Compute optimized + + Key Concepts: + + + 🔐 Security Groups + • Virtual firewall for instances + • Inbound/outbound rules + • Stateful (return traffic auto) + + + 🔑 Key Pairs + • SSH access to instances + • Public key stored in AWS + • Private key download once + + Pricing Models: + + + On-Demand + Pay per second + + + Reserved + 1-3 year, up to 72% off + + + Spot + Up to 90% off, can interrupt + + 💡 Use Auto Scaling Groups for high availability & cost optimization + + DEV WEEKENDS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/01-ec2-instances.svg b/images/templates/aws/01-ec2-instances.svg new file mode 100644 index 0000000..fa245c8 --- /dev/null +++ b/images/templates/aws/01-ec2-instances.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + AWS + + EC2 + Instance Management + + + + # List running instances + aws ec2 describe-instances --filters "Name=instance-state-name,Values=running" + + # Start an instance + aws ec2 start-instances --instance-ids i-1234567890 + + # Stop an instance + aws ec2 stop-instances --instance-ids i-1234567890 + + # Get instance public IP + aws ec2 describe-instances --query 'Reservations[].Instances[].PublicIpAddress' + + # SSH into instance + ssh -i key.pem ec2-user@<public-ip> + + + Elastic Compute Cloud - Virtual servers in the cloud + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/02-s3-storage-classes.svg b/images/templates/aws/02-s3-storage-classes.svg new file mode 100644 index 0000000..d502b2e --- /dev/null +++ b/images/templates/aws/02-s3-storage-classes.svg @@ -0,0 +1,47 @@ + + + + + AWS SERVICES + + + 🪣 S3 STORAGE CLASSES + + + + Simple Storage Service + + + S3 Standard + Frequently accessed data + 99.99% availability + + + S3 Standard-IA + Infrequent access + ~40% cheaper storage + + + S3 Glacier Instant + Archive with ms retrieval + ~68% cheaper than Standard + + + S3 Glacier Deep Archive + Long-term archive (12hrs) + ~95% cheaper! + + Key Features: + + + // Bucket policy example + "Effect": "Deny", + "Action": "s3:*", + "Condition": {"Bool": {"aws:SecureTransport": "false"}} + ↑ Deny non-HTTPS requests + + 💡 Use S3 Lifecycle policies to auto-transition between storage classes + + DEV WEEKENDS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/02-s3-storage.svg b/images/templates/aws/02-s3-storage.svg new file mode 100644 index 0000000..80fa34c --- /dev/null +++ b/images/templates/aws/02-s3-storage.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + AWS + + S3 + Object Storage + + + + # Create bucket + aws s3 mb s3://my-bucket-name + + # Upload file + aws s3 cp ./file.txt s3://my-bucket/ + + # Sync directory + aws s3 sync ./dist s3://my-bucket/app --delete + + # List bucket contents + aws s3 ls s3://my-bucket/ --recursive + + # Generate presigned URL (1 hour) + aws s3 presign s3://bucket/file --expires-in 3600 + + + Simple Storage Service - Infinitely scalable object storage + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/03-lambda-functions.svg b/images/templates/aws/03-lambda-functions.svg new file mode 100644 index 0000000..8cc2734 --- /dev/null +++ b/images/templates/aws/03-lambda-functions.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + AWS + + Lambda + Serverless Functions + + + + # Create function from zip + aws lambda create-function --function-name myFunc \ + --runtime nodejs18.x --handler index.handler + + # Invoke function + aws lambda invoke --function-name myFunc output.json + + # Update function code + aws lambda update-function-code --function-name myFunc \ + --zip-file fileb://function.zip + + # View logs + aws logs tail /aws/lambda/myFunc --follow + + + Run code without managing servers - pay per execution + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/04-rds-database.svg b/images/templates/aws/04-rds-database.svg new file mode 100644 index 0000000..a8b3090 --- /dev/null +++ b/images/templates/aws/04-rds-database.svg @@ -0,0 +1,68 @@ + + + + + AWS SERVICES + + + 🗄️ RDS DATABASE + + + + Relational Database Service + + Supported Engines: + + + PostgreSQL + + + MySQL + + + MariaDB + + + Oracle + + + SQL Server + + + Aurora + + Multi-AZ Deployment: + + + + Primary (AZ-1) + + + Sync + Replication + + + Standby (AZ-2) + + Auto failover + in ~60 seconds + + Key Features: + + + 🔄 Automated Backups + Point-in-time recovery + + + 📊 Read Replicas + Scale reads, cross-region + + + 🔐 Encryption + At rest & in transit + + 💡 Use Parameter Groups to tune database settings + + DEV WEEKENDS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/04-rds-databases.svg b/images/templates/aws/04-rds-databases.svg new file mode 100644 index 0000000..ba817f9 --- /dev/null +++ b/images/templates/aws/04-rds-databases.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + AWS + + RDS + Managed Databases + + + + # Create PostgreSQL instance + aws rds create-db-instance --db-instance-identifier mydb \ + --engine postgres --db-instance-class db.t3.micro + + # Get connection endpoint + aws rds describe-db-instances --query \ + 'DBInstances[*].Endpoint.Address' + + # Create snapshot + aws rds create-db-snapshot --db-instance-identifier mydb \ + --db-snapshot-identifier mydb-backup + + # Modify instance (scale up) + aws rds modify-db-instance --db-instance-class db.t3.large + + + Managed relational databases with auto backups + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/05-dynamodb-nosql.svg b/images/templates/aws/05-dynamodb-nosql.svg new file mode 100644 index 0000000..4f8e664 --- /dev/null +++ b/images/templates/aws/05-dynamodb-nosql.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + AWS + + DynamoDB + NoSQL at Scale + + + + # Create table + aws dynamodb create-table --table-name Users \ + --attribute-definitions AttributeName=id,AttributeType=S + + # Put item + aws dynamodb put-item --table-name Users \ + --item '{"id":{"S":"123"},"name":{"S":"John"}}' + + # Query by partition key + aws dynamodb query --table-name Users \ + --key-condition-expression "id = :id" + + # Scan all items (expensive!) + aws dynamodb scan --table-name Users + + + Single-digit millisecond latency at any scale + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/05-vpc-networking.svg b/images/templates/aws/05-vpc-networking.svg new file mode 100644 index 0000000..d53aa89 --- /dev/null +++ b/images/templates/aws/05-vpc-networking.svg @@ -0,0 +1,56 @@ + + + + + AWS SERVICES + + + 🌐 VPC NETWORKING + + + + Virtual Private Cloud + + + VPC: 10.0.0.0/16 + + + Public Subnet (AZ-1) + 10.0.1.0/24 + + Web Server + + NAT Gateway + + + Private Subnet (AZ-1) + 10.0.2.0/24 + + App Server + + Database + + + Internet Gateway → Route Table → Subnets + + + 🔐 Security Groups + Instance-level + + + 🛡️ NACLs + Subnet-level + + + 🔗 VPC Peering + Connect VPCs + + + 🚪 VPC Endpoints + Private AWS access + + 💡 Use VPC Flow Logs to monitor network traffic + + DEV WEEKENDS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/06-cloudformation-iac.svg b/images/templates/aws/06-cloudformation-iac.svg new file mode 100644 index 0000000..d77c163 --- /dev/null +++ b/images/templates/aws/06-cloudformation-iac.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + AWS + + CloudFormation + Infrastructure as Code + + + + # Create stack + aws cloudformation create-stack --stack-name my-stack \ + --template-body file://template.yaml + + # Update stack + aws cloudformation update-stack --stack-name my-stack \ + --template-body file://template.yaml + + # Describe stack status + aws cloudformation describe-stacks --stack-name my-stack + + # Delete stack + aws cloudformation delete-stack --stack-name my-stack + + + Define and provision AWS infrastructure with YAML/JSON + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/06-iam-best-practices.svg b/images/templates/aws/06-iam-best-practices.svg new file mode 100644 index 0000000..ab72bd9 --- /dev/null +++ b/images/templates/aws/06-iam-best-practices.svg @@ -0,0 +1,44 @@ + + + + + AWS SERVICES + + + 🔑 IAM BEST PRACTICES + + + + Identity & Access Management + + + 👤 Users & Groups + • One user per person + • Group users by function + • Attach policies to groups + • Enable MFA for all humans + + + 🎭 Roles + • For AWS services (EC2, Lambda) + • Cross-account access + • Federated identity + • No long-term credentials + + Policy Example: + + + { + "Effect": "Allow", + "Action": ["s3:GetObject", "s3:PutObject"], + "Resource": "arn:aws:s3:::my-bucket/*", + "Condition": {"IpAddress": {"aws:SourceIp": "10.0.0.0/8"}} + } + + 🔒 Security Tips: + + • Never use root account for daily tasks • Use IAM Access Analyzer • Rotate credentials regularly + + DEV WEEKENDS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/07-cloudfront-cdn.svg b/images/templates/aws/07-cloudfront-cdn.svg new file mode 100644 index 0000000..9362263 --- /dev/null +++ b/images/templates/aws/07-cloudfront-cdn.svg @@ -0,0 +1,57 @@ + + + + + AWS SERVICES + + + 🚀 CLOUDFRONT CDN + + + + Content Delivery Network + + + Distribution Flow + + + User + + + + + Edge Location + + + + + Origin (S3/ALB) + + 450+ edge locations globally • Sub-millisecond latency • 99.9% availability + + Key Features: + + + 🔒 HTTPS + Free SSL with ACM + TLS 1.3 support + + + 📍 Geo Restriction + Whitelist/blacklist + countries + + + ⚡ Lambda@Edge + Run code at edge + A/B testing, auth + + Cache Behaviors: + + + /api/* → ALB Origin (TTL: 0) | /static/* → S3 (TTL: 1 year) + /*.html → S3 (TTL: 1 hour) | /images/* → S3 (TTL: 1 week) + + DEV WEEKENDS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/07-iam-security.svg b/images/templates/aws/07-iam-security.svg new file mode 100644 index 0000000..da5b343 --- /dev/null +++ b/images/templates/aws/07-iam-security.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + AWS + + IAM + Identity & Access + + + + # Create user + aws iam create-user --user-name developer + + # Attach policy to user + aws iam attach-user-policy --user-name developer \ + --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess + + # Create access key + aws iam create-access-key --user-name developer + + # Create role for Lambda + aws iam create-role --role-name LambdaRole \ + --assume-role-policy-document file://trust.json + + + Principle of least privilege - grant minimal permissions + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/08-cloudwatch-logs.svg b/images/templates/aws/08-cloudwatch-logs.svg new file mode 100644 index 0000000..b719e39 --- /dev/null +++ b/images/templates/aws/08-cloudwatch-logs.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + AWS + + CloudWatch + Monitoring & Logs + + + + # View log groups + aws logs describe-log-groups + + # Tail logs in real-time + aws logs tail /aws/lambda/myFunc --follow + + # Query logs with Insights + aws logs start-query --log-group-name /aws/lambda/myFunc \ + --query-string "fields @timestamp, @message" + + # Get metric statistics + aws cloudwatch get-metric-statistics --namespace AWS/EC2 \ + --metric-name CPUUtilization --statistics Average + + + Collect metrics, logs, and set alarms across AWS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/08-elb-load-balancers.svg b/images/templates/aws/08-elb-load-balancers.svg new file mode 100644 index 0000000..34d1706 --- /dev/null +++ b/images/templates/aws/08-elb-load-balancers.svg @@ -0,0 +1,53 @@ + + + + + AWS SERVICES + + + ⚖️ ELB LOAD BALANCERS + + + + Elastic Load Balancing Types + + + ALB + Application Load Balancer + • Layer 7 (HTTP/HTTPS) + • Path-based routing + • Host-based routing + • WebSocket support + • Lambda targets + + + NLB + Network Load Balancer + • Layer 4 (TCP/UDP) + • Ultra-low latency + • Static IP support + • Millions of RPS + • Preserve source IP + + + GWLB + Gateway Load Balancer + • Layer 3 (IP packets) + • Network appliances + • Firewalls, IDS/IPS + • GENEVE protocol + • Transparent to apps + + ALB Routing Rules: + + + # Path-based routing + /api/* → API Target Group + /static/* → S3 Bucket (static assets) + # Host-based routing + api.example.com → API Target Group + www.example.com → Web Target Group + + DEV WEEKENDS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/09-api-gateway.svg b/images/templates/aws/09-api-gateway.svg new file mode 100644 index 0000000..fc44843 --- /dev/null +++ b/images/templates/aws/09-api-gateway.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + AWS + + API Gateway + REST APIs at Scale + + + + # Create REST API + aws apigateway create-rest-api --name my-api + + # Get APIs + aws apigateway get-rest-apis + + # Create resource (path) + aws apigateway create-resource --rest-api-id abc123 \ + --parent-id xyz789 --path-part users + + # Deploy to stage + aws apigateway create-deployment --rest-api-id abc123 \ + --stage-name prod + + + Build, deploy, and manage APIs with Lambda integration + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/09-dynamodb.svg b/images/templates/aws/09-dynamodb.svg new file mode 100644 index 0000000..49631ed --- /dev/null +++ b/images/templates/aws/09-dynamodb.svg @@ -0,0 +1,51 @@ + + + + + AWS SERVICES + + + 🗃️ DYNAMODB + + + + NoSQL Database Service + + Key Concepts: + + + 🔑 Partition Key (PK) + Required, determines + data distribution + + + 📊 Sort Key (SK) + Optional, enables + range queries + + + 🔍 GSI/LSI + Secondary indexes + for query flexibility + + Single-Table Design: + + + PK SK Data + USER#123 PROFILE {name, email...} + USER#123 ORDER#001 {total, items...} + USER#123 ORDER#002 {total, items...} + ORDER#001 ITEM#1 {product, qty...} + // Query: PK=USER#123 AND begins_with(SK, 'ORDER') + + Capacity Modes: + + + On-Demand: Pay per request + + + Provisioned: RCU/WCU (cheaper) + + DEV WEEKENDS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/10-sqs-queues.svg b/images/templates/aws/10-sqs-queues.svg new file mode 100644 index 0000000..b634427 --- /dev/null +++ b/images/templates/aws/10-sqs-queues.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + AWS + + SQS + Message Queues + + + + # Create queue + aws sqs create-queue --queue-name my-queue + + # Send message + aws sqs send-message --queue-url $URL \ + --message-body '{"event":"order_placed"}' + + # Receive messages + aws sqs receive-message --queue-url $URL \ + --max-number-of-messages 10 + + # Delete message after processing + aws sqs delete-message --queue-url $URL --receipt-handle $H + + + Decouple services with reliable async messaging + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/10-sqs-sns.svg b/images/templates/aws/10-sqs-sns.svg new file mode 100644 index 0000000..28c4dbf --- /dev/null +++ b/images/templates/aws/10-sqs-sns.svg @@ -0,0 +1,70 @@ + + + + + AWS SERVICES + + + 📬 SQS & SNS + + + + Messaging Services + + + 📥 SQS (Queue) + Simple Queue Service + + • Pull-based messaging + • 1-to-1 (one consumer per msg) + • Messages retained up to 14 days + • Standard (best effort) or FIFO + + + Use for: Decoupling, buffering + + + 📢 SNS (Topic) + Simple Notification Service + + • Push-based pub/sub + • 1-to-many (fan-out) + • No message persistence + • SMS, Email, HTTP, Lambda + + + Use for: Notifications, fan-out + + Common Pattern: Fan-Out + + + + + Producer + + + + + SNS Topic + + + + + + SQS Queue 1 + + + SQS Queue 2 + + + + + + Lambda 1 + + + Lambda 2 + + DEV WEEKENDS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/11-cloudformation.svg b/images/templates/aws/11-cloudformation.svg new file mode 100644 index 0000000..3819aa2 --- /dev/null +++ b/images/templates/aws/11-cloudformation.svg @@ -0,0 +1,44 @@ + + + + + AWS SERVICES + + + 🏗️ CLOUDFORMATION + + + + Infrastructure as Code + + + # template.yaml + AWSTemplateFormatVersion: '2010-09-09' + Description: Simple web server stack + Parameters: + InstanceType: + Type: String + Default: t3.micro + Resources: + WebServer: + Type: AWS::EC2::Instance + Properties: + InstanceType: !Ref InstanceType + + Key Intrinsic Functions: + + + !Ref + + + !GetAtt + + + !Sub + + + !If / !Condition + + DEV WEEKENDS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/11-sns-pubsub.svg b/images/templates/aws/11-sns-pubsub.svg new file mode 100644 index 0000000..5e418e4 --- /dev/null +++ b/images/templates/aws/11-sns-pubsub.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + AWS + + SNS + Pub/Sub Notifications + + + + # Create topic + aws sns create-topic --name my-topic + + # Subscribe email to topic + aws sns subscribe --topic-arn $ARN \ + --protocol email --notification-endpoint user@email.com + + # Subscribe Lambda function + aws sns subscribe --topic-arn $ARN \ + --protocol lambda --notification-endpoint $LAMBDA_ARN + + # Publish message to all subscribers + aws sns publish --topic-arn $ARN --message "Hello!" + + + Fan-out messages to multiple subscribers instantly + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/12-cloudfront-cdn.svg b/images/templates/aws/12-cloudfront-cdn.svg new file mode 100644 index 0000000..ab5cee9 --- /dev/null +++ b/images/templates/aws/12-cloudfront-cdn.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + AWS + + CloudFront + Global CDN + + + + # Create distribution for S3 + aws cloudfront create-distribution \ + --origin-domain-name my-bucket.s3.amazonaws.com + + # List distributions + aws cloudfront list-distributions + + # Invalidate cache (clear CDN) + aws cloudfront create-invalidation \ + --distribution-id E123ABC --paths "/*" + + # Get distribution config + aws cloudfront get-distribution-config --id E123ABC + + + Deliver content with low latency via 400+ edge locations + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/12-cloudwatch.svg b/images/templates/aws/12-cloudwatch.svg new file mode 100644 index 0000000..577ca17 --- /dev/null +++ b/images/templates/aws/12-cloudwatch.svg @@ -0,0 +1,50 @@ + + + + + AWS SERVICES + + + 📊 CLOUDWATCH + + + + Monitoring & Observability + + + 📈 Metrics + • CPU, Memory, Network + • Custom metrics + • 1-second resolution + • 15 months retention + + + 📝 Logs + • Log groups/streams + • Insights queries + • Metric filters + • Cross-account + + + 🚨 Alarms + • Threshold-based + • Anomaly detection + • SNS notifications + • Auto Scaling triggers + + Logs Insights Query: + + + fields @timestamp, @message + | filter @message like /ERROR/ + | stats count(*) by bin(5m) + | sort @timestamp desc + + Dashboards: + + + 💡 Create custom dashboards with widgets: Line, Stacked, Number, Gauge, Logs table + + DEV WEEKENDS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/13-ecs-containers.svg b/images/templates/aws/13-ecs-containers.svg new file mode 100644 index 0000000..483aa5d --- /dev/null +++ b/images/templates/aws/13-ecs-containers.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + AWS + + ECS + Container Orchestration + + + + # Create cluster + aws ecs create-cluster --cluster-name my-cluster + + # Register task definition + aws ecs register-task-definition \ + --cli-input-json file://task-def.json + + # Create service + aws ecs create-service --cluster my-cluster \ + --service-name my-svc --task-definition my-task:1 + + # Update service (deploy new version) + aws ecs update-service --cluster my-cluster --force-new-deployment + + + Run Docker containers without managing servers (Fargate) + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/13-ecs-fargate.svg b/images/templates/aws/13-ecs-fargate.svg new file mode 100644 index 0000000..f7c7d31 --- /dev/null +++ b/images/templates/aws/13-ecs-fargate.svg @@ -0,0 +1,59 @@ + + + + + AWS SERVICES + + + 🐳 ECS & FARGATE + + + + Container Orchestration + + + 🖥️ EC2 Launch Type + • You manage EC2 instances + • Full control over infrastructure + • GPU/specialized workloads + • Use Spot instances for savings + Best for: Cost optimization, GPU + + + ☁️ Fargate Launch Type + • Serverless containers + • No infrastructure management + • Pay per vCPU/memory + • Automatic scaling + Best for: Simplicity, variable load + + ECS Components: + + + + + Cluster + + + + + Service + + + + + Task + + + + + Container + + Task Definition (key fields): + + + cpu: 256 | memory: 512 | image: myapp:latest | portMappings: [{containerPort: 80}] + + DEV WEEKENDS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/14-ecr-registry.svg b/images/templates/aws/14-ecr-registry.svg new file mode 100644 index 0000000..7fee724 --- /dev/null +++ b/images/templates/aws/14-ecr-registry.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + AWS + + ECR + Container Registry + + + + # Create repository + aws ecr create-repository --repository-name my-app + + # Login to ECR + aws ecr get-login-password | docker login \ + --username AWS --password-stdin $ACCOUNT.dkr.ecr.$REGION + + # Tag and push image + docker tag my-app:latest $ECR_URI:latest + docker push $ECR_URI:latest + + # List images + aws ecr list-images --repository-name my-app + + + Private Docker registry integrated with ECS and EKS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/14-route53.svg b/images/templates/aws/14-route53.svg new file mode 100644 index 0000000..932818a --- /dev/null +++ b/images/templates/aws/14-route53.svg @@ -0,0 +1,68 @@ + + + + + AWS SERVICES + + + 🌍 ROUTE 53 + + + + DNS & Domain Management + + Record Types: + + + A Record + Name → IPv4 + + + AAAA Record + Name → IPv6 + + + CNAME + Name → Name + + + ALIAS + AWS resources + + Routing Policies: + + + 🔄 Simple + Single resource + No health checks + + + ⚖️ Weighted + Traffic distribution + A/B testing, canary + + + 📍 Geolocation + Route by user location + Content localization + + + ⚡ Latency + Lowest latency region + Best user experience + + + 🔁 Failover + Active-passive DR + Health check required + + + 🎯 Multi-Value + Up to 8 healthy records + Client-side LB + + 💡 Use ALIAS for AWS resources (ELB, CloudFront, S3) - free & supports zone apex + + DEV WEEKENDS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/15-secrets-manager.svg b/images/templates/aws/15-secrets-manager.svg new file mode 100644 index 0000000..680613e --- /dev/null +++ b/images/templates/aws/15-secrets-manager.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + AWS + + Secrets Manager + Secure Secret Storage + + + + # Create a secret + aws secretsmanager create-secret \ + --name MySecret \ + --secret-string '{"user":"admin"}' + + # Retrieve secret value + aws secretsmanager get-secret-value \ + --secret-id MySecret + + # Enable automatic rotation + aws secretsmanager rotate-secret \ + --secret-id MySecret + + + + Rotate credentials automatically with Lambda + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/16-api-gateway.svg b/images/templates/aws/16-api-gateway.svg new file mode 100644 index 0000000..dc6f2d6 --- /dev/null +++ b/images/templates/aws/16-api-gateway.svg @@ -0,0 +1,69 @@ + + + + + AWS SERVICES + + + 🚀 API GATEWAY + + + + RESTful API Management + + API Types: + + + REST API + • Full featured + • API keys, usage plans + • Request validation + • Caching, WAF + + + HTTP API + • Low latency, low cost + • 70% cheaper + • OIDC/OAuth 2.0 + • Simpler setup + + + WebSocket + • Real-time, 2-way + • Chat, gaming + • Connection mgmt + • @connect, @message + + Integration Types: + + + + + Lambda + + + HTTP/ALB + + + AWS Service + + + VPC Link + + Authorization: + + + IAM Policies + + + Cognito + + + Lambda Authorizer + + + JWT (HTTP API) + + DEV WEEKENDS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/16-elasticache-redis.svg b/images/templates/aws/16-elasticache-redis.svg new file mode 100644 index 0000000..2e23c28 --- /dev/null +++ b/images/templates/aws/16-elasticache-redis.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + AWS + + ElastiCache + Redis & Memcached + + + + # Create Redis cluster + aws elasticache create-cache-cluster \ + --cache-cluster-id my-redis --engine redis + + # Describe clusters + aws elasticache describe-cache-clusters + + # Get endpoint + aws elasticache describe-cache-clusters \ + --query 'CacheClusters[].CacheNodes[].Endpoint' + + # Reboot cluster node + aws elasticache reboot-cache-cluster --cache-cluster-id my-redis + + + Sub-millisecond latency for caching and sessions + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/17-elasticache.svg b/images/templates/aws/17-elasticache.svg new file mode 100644 index 0000000..b3d9be5 --- /dev/null +++ b/images/templates/aws/17-elasticache.svg @@ -0,0 +1,55 @@ + + + + + AWS SERVICES + + + ⚡ ELASTICACHE + + + + In-Memory Caching + + + Redis + ✅ Complex data structures + ✅ Pub/Sub messaging + ✅ Lua scripting + ✅ Replication & persistence + ✅ Cluster mode for sharding + ✅ Sorted sets, streams + Best for: Sessions, leaderboards, queues + + + Memcached + ✅ Simple key-value + ✅ Multi-threaded + ✅ Easy horizontal scaling + ❌ No persistence + ❌ No replication + ❌ No complex data types + Best for: Simple caching, objects + + Caching Strategies: + + + Lazy Loading + Cache on read miss + May return stale data + + + Write-Through + Update cache on write + Always fresh, more writes + + + TTL-Based + Set expiration time + Balance freshness/load + + 💡 Use Redis for most use cases; Memcached only for simple, multi-threaded needs + + DEV WEEKENDS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/17-route53-dns.svg b/images/templates/aws/17-route53-dns.svg new file mode 100644 index 0000000..5b842ae --- /dev/null +++ b/images/templates/aws/17-route53-dns.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + AWS + + Route 53 + DNS Management + + + + # Create hosted zone + aws route53 create-hosted-zone --name example.com \ + --caller-reference $(date +%s) + + # List hosted zones + aws route53 list-hosted-zones + + # Create A record + aws route53 change-resource-record-sets \ + --hosted-zone-id Z123 --change-batch file://record.json + + # Health check status + aws route53 get-health-check-status --health-check-id HC123 + + + 100% SLA with global DNS, health checks, routing policies + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/18-cognito-auth.svg b/images/templates/aws/18-cognito-auth.svg new file mode 100644 index 0000000..cf25b99 --- /dev/null +++ b/images/templates/aws/18-cognito-auth.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + AWS + + Cognito + User Authentication + + + + # Create user pool + aws cognito-idp create-user-pool --pool-name my-users + + # Create app client + aws cognito-idp create-user-pool-client \ + --user-pool-id $POOL_ID --client-name web-app + + # Sign up user + aws cognito-idp sign-up --client-id $CLIENT_ID \ + --username user@email.com --password Pass123! + + # Initiate auth (login) + aws cognito-idp initiate-auth --auth-flow USER_PASSWORD_AUTH + + + Add auth to apps with OAuth 2.0, SAML, social logins + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/18-kinesis.svg b/images/templates/aws/18-kinesis.svg new file mode 100644 index 0000000..8172779 --- /dev/null +++ b/images/templates/aws/18-kinesis.svg @@ -0,0 +1,63 @@ + + + + + AWS SERVICES + + + 📊 KINESIS + + + + Real-Time Data Streaming + + + Data Streams + • Real-time data ingestion + • Shards for throughput (1 MB/s in) + • 24hr default retention (up to 365d) + • Multiple consumers per stream + + + Firehose + • Load data to destinations + • S3, Redshift, OpenSearch + • Auto scaling, no shards + • Near real-time (60s buffer) + + Data Streams Architecture: + + + + + Producers + + + + + Kinesis Data Stream + Shard 1 | Shard 2 | Shard 3 + + + + + Consumers + + Lambda + KCL App + Firehose + + Use Cases: + + + 📈 Real-time analytics + + + 📝 Log aggregation + + + 🎮 Gaming/IoT events + + DEV WEEKENDS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/19-cognito.svg b/images/templates/aws/19-cognito.svg new file mode 100644 index 0000000..359b116 --- /dev/null +++ b/images/templates/aws/19-cognito.svg @@ -0,0 +1,73 @@ + + + + + AWS SERVICES + + + 👤 COGNITO + + + + User Identity & Access + + + User Pools + User Directory & Authentication + • Sign up/sign in + • Social identity (Google, Facebook) + • SAML/OIDC federation + • MFA, password policies + + + Identity Pools + AWS Credentials for Access + • Temp AWS credentials + • Access AWS resources + • Guest (unauthenticated) access + • IAM role mapping + + Authentication Flow: + + + + + App + + + + + User Pool + + + + + JWT Tokens + + + + + Identity Pool + + + + + AWS Creds + + Tokens Returned: + + + 🔑 ID Token + User attributes + + + 🔐 Access Token + API authorization + + + 🔄 Refresh Token + Get new tokens + + DEV WEEKENDS + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/19-step-functions.svg b/images/templates/aws/19-step-functions.svg new file mode 100644 index 0000000..06cd658 --- /dev/null +++ b/images/templates/aws/19-step-functions.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + AWS + + Step Functions + Workflow Orchestration + + + + # Create state machine + aws stepfunctions create-state-machine \ + --name my-workflow --definition file://workflow.json + + # Start execution + aws stepfunctions start-execution \ + --state-machine-arn $ARN --input '{"order_id":"123"}' + + # Describe execution + aws stepfunctions describe-execution --execution-arn $EXEC + + # List executions + aws stepfunctions list-executions --state-machine-arn $ARN + + + Visual workflows for Lambda, ECS, and more + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/20-cli-tips.svg b/images/templates/aws/20-cli-tips.svg new file mode 100644 index 0000000..c6d3069 --- /dev/null +++ b/images/templates/aws/20-cli-tips.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + AWS + + AWS CLI + Essential Tips + + + + # Configure credentials + aws configure + + # Use named profiles + aws s3 ls --profile production + + # Filter output with --query (JMESPath) + aws ec2 describe-instances --query 'Reservations[].Instances[].InstanceId' + + # Output as table or JSON + aws lambda list-functions --output table + + # Enable auto-prompt for command discovery + aws --cli-auto-prompt + + + Use AWS_PAGER="" to disable pagination in scripts + @devweekends + \ No newline at end of file diff --git a/images/templates/aws/20-eks-kubernetes.svg b/images/templates/aws/20-eks-kubernetes.svg new file mode 100644 index 0000000..ce971fa --- /dev/null +++ b/images/templates/aws/20-eks-kubernetes.svg @@ -0,0 +1,58 @@ + + + + + AWS SERVICES + + + ☸️ EKS (KUBERNETES) + + + + Managed Kubernetes Service + + Cluster Architecture: + + + + + Control Plane (AWS Managed) + API Server | etcd | Scheduler + + + Data Plane (Your Account) + + + Node Group (EC2) + + + Fargate Profile + + + Pods running your containers + + Node Types: + + + Managed Node Groups + AWS provisions EC2 + Auto updates & scaling + + + Self-Managed + You manage EC2 + Full control, custom AMI + + + Fargate + Serverless pods + No node management + + Key Add-ons: + + + AWS LB Controller | EBS CSI | Cluster Autoscaler | CoreDNS | kube-proxy | VPC CNI + + DEV WEEKENDS + @devweekends + \ No newline at end of file diff --git a/images/templates/circles/01-new-circle.svg b/images/templates/circles/01-new-circle.svg new file mode 100644 index 0000000..a76ea43 --- /dev/null +++ b/images/templates/circles/01-new-circle.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + DEV WEEKENDS + + + + NEW CIRCLE + + + Join the + + + + [Circle Name] + + Circle + + + A focused peer group for learning and growing together + + + + Focus Area + Frontend Development + + + Meeting Time + Saturdays 6PM IST + + + ✓ Weekly sync calls + ✓ Accountability partners + ✓ Peer code reviews + ✓ Project collaborations + + + + Join Now → + + + Only 8 spots available! + \ No newline at end of file diff --git a/images/templates/circles/02-weekly-update.svg b/images/templates/circles/02-weekly-update.svg new file mode 100644 index 0000000..a379b8b --- /dev/null +++ b/images/templates/circles/02-weekly-update.svg @@ -0,0 +1,55 @@ + + + + + + DEV WEEKENDS + + + + CIRCLE UPDATE + + + This Week in + [Circle Name] + + + + + + + + + + 📚 + Completed Module 3 of React Course + All 8 members finished their assignments + + + + 💬 + Held 2 peer review sessions + Great feedback exchange on projects + + + + 🎯 + Next week: Build a mini project together + Collaborative Todo app with React + TypeScript + + + + Week 4 of 12 + Circle Progress + + + 100% + Attendance + + + 8/8 + Active Members + + + @devweekends + \ No newline at end of file diff --git a/images/templates/circles/03-what-are-circles.svg b/images/templates/circles/03-what-are-circles.svg new file mode 100644 index 0000000..4068a8d --- /dev/null +++ b/images/templates/circles/03-what-are-circles.svg @@ -0,0 +1,51 @@ + + + + + DEV WEEKENDS + + + + CIRCLES + + + What are Circles? + + + + + + + 👤 + + + 👤 + + + 👤 + + + 👤 + + + 👤 + + + 👤 + + + 👤 + + + 8 People + 1 Goal + + + ✓ Small peer groups of 6-10 members + ✓ Weekly sync calls & accountability + ✓ Focus on specific skills or goals + ✓ Learn together, grow together + + + Join a Circle → devweekends.com/circles + \ No newline at end of file diff --git a/images/templates/circles/04-active-circles.svg b/images/templates/circles/04-active-circles.svg new file mode 100644 index 0000000..5427e7a --- /dev/null +++ b/images/templates/circles/04-active-circles.svg @@ -0,0 +1,53 @@ + + + + + DEV WEEKENDS + + + + ACTIVE CIRCLES + + + Find Your Circle + + + + ⚛️ + React Circle + 6/8 spots filled + + + 🧮 + DSA Circle + 5/8 spots filled + + + 🏗️ + System Design + 7/8 spots filled + + + 🐍 + Python Circle + 3/8 spots filled + + + 📱 + Mobile Dev + 4/8 spots filled + + + + Start Your Own + Propose a new circle + + + Each circle runs for 12 weeks with weekly sync calls + + + Browse All Circles → + + + @devweekends + \ No newline at end of file diff --git a/images/templates/circles/05-graduation.svg b/images/templates/circles/05-graduation.svg new file mode 100644 index 0000000..93df5f4 --- /dev/null +++ b/images/templates/circles/05-graduation.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + DEV WEEKENDS + + + + CIRCLE GRADUATION + + + Congratulations! + + + [Circle Name] Batch 1 + + + 🏆 + + + 12 weeks of dedication and growth + + + + 8 + Graduates + + + 24 + Sessions + + + 96% + Attendance + + + 3 + Got Placed! + + + From strangers to lifelong friends and collaborators + + + You did it! 🎉 + @devweekends + \ No newline at end of file diff --git a/images/templates/community-spotlight/01-member-feature.svg b/images/templates/community-spotlight/01-member-feature.svg new file mode 100644 index 0000000..1649d7a --- /dev/null +++ b/images/templates/community-spotlight/01-member-feature.svg @@ -0,0 +1,43 @@ + + + + + DEV WEEKENDS + + + + MEMBER SPOTLIGHT + + + + + 👤 + + + [Member Name] + Community Member since 2023 + + + + 6 + Months Active + + + 25+ + Sessions Attended + + + 5 + Others Helped + + + + Placed! + + + "Dev Weekends gave me the community I needed" + + + Congratulations! 🎉 + @devweekends + \ No newline at end of file diff --git a/images/templates/community-spotlight/02-mentor-highlight.svg b/images/templates/community-spotlight/02-mentor-highlight.svg new file mode 100644 index 0000000..467482b --- /dev/null +++ b/images/templates/community-spotlight/02-mentor-highlight.svg @@ -0,0 +1,52 @@ + + + + + + DEV WEEKENDS + + + + MENTOR HIGHLIGHT + + + + 📷 + + + [Mentor Name] + Senior Engineer @ [Company] + + + + 3+ Years + Mentoring Experience + + + 50+ + Mentees Guided + + + EXPERTISE + + + React + + + Node.js + + + System Design + + + "Helping others grow is the best way to grow + yourself. Every mentee teaches me something." + + + + Book a session → devweekends.com/mentorship + + + Thank you for your dedication! 🙏 + @devweekends + \ No newline at end of file diff --git a/images/templates/community-spotlight/03-core-team.svg b/images/templates/community-spotlight/03-core-team.svg new file mode 100644 index 0000000..d2acb41 --- /dev/null +++ b/images/templates/community-spotlight/03-core-team.svg @@ -0,0 +1,47 @@ + + + + + DEV WEEKENDS + + + + THANK YOU + + + Meet Our + Core Team + + + + + 👤 + [Name] + Role + + + + 👤 + [Name] + Role + + + + 👤 + [Name] + Role + + + + 👤 + [Name] + Role + + + The people behind the community + + Thank you for making Dev Weekends possible! 🙏 + + + @devweekends + \ No newline at end of file diff --git a/images/templates/community-spotlight/04-testimonial.svg b/images/templates/community-spotlight/04-testimonial.svg new file mode 100644 index 0000000..859cf69 --- /dev/null +++ b/images/templates/community-spotlight/04-testimonial.svg @@ -0,0 +1,40 @@ + + + + + DEV WEEKENDS + + + + TESTIMONIAL + + + " + + + Before Dev Weekends, I was stuck + in a loop of tutorials without + real progress. The mentorship + and community changed everything. + + + + Got placed at [Company] in 4 months! + + + + + + 👤 + + [Name] + Software Engineer @ [Company] + Fellowship Batch 2024 + + + ★★★★★ + + + Want similar results? Join the fellowship! + @devweekends + \ No newline at end of file diff --git a/images/templates/community-spotlight/05-ambassador-feature.svg b/images/templates/community-spotlight/05-ambassador-feature.svg new file mode 100644 index 0000000..19ebafc --- /dev/null +++ b/images/templates/community-spotlight/05-ambassador-feature.svg @@ -0,0 +1,42 @@ + + + + + DEV WEEKENDS + + + + AMBASSADOR FEATURE + + + + 📷 + + + [Ambassador Name] + Campus Ambassador + [College Name] + + + ACHIEVEMENTS + + + 🎯 Onboarded 50+ students + + + 📢 Organized 5 campus events + + + ⭐ Top Ambassador Q4 2024 + + + "Being an ambassador helped me develop leadership + skills while helping my peers grow." + + + + Become an Ambassador → + + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-01-two-sum.svg b/images/templates/daily-dsa-challenge/day-01-two-sum.svg new file mode 100644 index 0000000..adf0b17 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-01-two-sum.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 01 + + Two Sum + + + Easy + + + Problem: + Given an array of integers and a target, + return indices of two numbers that add up to target. + Input: nums = [2,7,11,15], target = 9 + + + Hint: + Use a HashMap to store complements. + Time: O(n) | Space: O(n) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-02-valid-palindrome.svg b/images/templates/daily-dsa-challenge/day-02-valid-palindrome.svg new file mode 100644 index 0000000..b7d31a8 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-02-valid-palindrome.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 02 + + Valid Palindrome + + + Easy + + + Problem: + Given a string, determine if it is a palindrome, + considering only alphanumeric characters. + Input: "A man, a plan, a canal: Panama" + + + Hint: + Two pointers from both ends. + Time: O(n) | Space: O(1) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-03-reverse-linked-list.svg b/images/templates/daily-dsa-challenge/day-03-reverse-linked-list.svg new file mode 100644 index 0000000..46ba0ba --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-03-reverse-linked-list.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 03 + + Reverse Linked List + + + Easy + + + Problem: + Reverse a singly linked list. + Input: 1 → 2 → 3 → 4 → 5 + Output: 5 → 4 → 3 → 2 → 1 + + + Hint: + Use three pointers: prev, curr, next. + Time: O(n) | Space: O(1) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-04-valid-parentheses.svg b/images/templates/daily-dsa-challenge/day-04-valid-parentheses.svg new file mode 100644 index 0000000..b87bd55 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-04-valid-parentheses.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 04 + + Valid Parentheses + + + Easy + + + Problem: + Given a string containing just (){}[], + determine if the input string is valid. + Input: "({[]})" → true + + + Hint: + Use a Stack. Push opening, pop for closing. + Time: O(n) | Space: O(n) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-05-maximum-subarray.svg b/images/templates/daily-dsa-challenge/day-05-maximum-subarray.svg new file mode 100644 index 0000000..fe27517 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-05-maximum-subarray.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 05 + + Maximum Subarray + + + Medium + + + Problem: + Find the contiguous subarray with the largest sum. + Input: [-2,1,-3,4,-1,2,1,-5,4] + Output: 6 (subarray [4,-1,2,1]) + + + Hint: + Kadane's Algorithm: track current max and global max. + Time: O(n) | Space: O(1) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-06-merge-two-sorted-lists.svg b/images/templates/daily-dsa-challenge/day-06-merge-two-sorted-lists.svg new file mode 100644 index 0000000..5b72852 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-06-merge-two-sorted-lists.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 06 + + Merge Two Sorted Lists + + + Easy + + + Problem: + Merge two sorted linked lists and return it + as a new sorted list. + Input: 1->2->4, 1->3->4 Output: 1->1->2->3->4->4 + + + Hint: + Use a dummy node and compare values iteratively. + Time: O(n+m) | Space: O(1) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-07-best-time-buy-sell-stock.svg b/images/templates/daily-dsa-challenge/day-07-best-time-buy-sell-stock.svg new file mode 100644 index 0000000..8864eff --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-07-best-time-buy-sell-stock.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 07 + + Best Time to Buy & Sell + + + Easy + + + Problem: + Given an array of stock prices, find the maximum + profit from one buy and one sell transaction. + Input: [7,1,5,3,6,4] Output: 5 + + + Hint: + Track minimum price seen so far, update max profit. + Time: O(n) | Space: O(1) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-08-valid-anagram.svg b/images/templates/daily-dsa-challenge/day-08-valid-anagram.svg new file mode 100644 index 0000000..89c625b --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-08-valid-anagram.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 08 + + Valid Anagram + + + Easy + + + Problem: + Given two strings s and t, return true if t is an + anagram of s, and false otherwise. + Input: s="anagram", t="nagaram" Output: true + + + Hint: + Count character frequencies with a hash map. + Time: O(n) | Space: O(1) - 26 letters + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-09-binary-search.svg b/images/templates/daily-dsa-challenge/day-09-binary-search.svg new file mode 100644 index 0000000..1d45120 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-09-binary-search.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 09 + + Binary Search + + + Easy + + + Problem: + Given a sorted array of integers, search for a + target value and return its index, or -1 if not found. + Input: nums=[-1,0,3,5,9,12], target=9 Output: 4 + + + Hint: + Divide and conquer: compare mid, eliminate half. + Time: O(log n) | Space: O(1) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-10-climbing-stairs.svg b/images/templates/daily-dsa-challenge/day-10-climbing-stairs.svg new file mode 100644 index 0000000..16cc39b --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-10-climbing-stairs.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 10 + + Climbing Stairs + + + Easy + + + Problem: + You can climb 1 or 2 steps at a time. How many + distinct ways can you climb to the top? + Input: n=3 Output: 3 (1+1+1, 1+2, 2+1) + + + Hint: + Fibonacci pattern: f(n) = f(n-1) + f(n-2) + Time: O(n) | Space: O(1) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-11-same-tree.svg b/images/templates/daily-dsa-challenge/day-11-same-tree.svg new file mode 100644 index 0000000..ed70e90 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-11-same-tree.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 11 + + Same Tree + + + Easy + + + Problem: + Given the roots of two binary trees, check if + they are structurally identical with same values. + Input: p=[1,2,3], q=[1,2,3] Output: true + + + Hint: + Recursively check: same value, left, right subtrees. + Time: O(n) | Space: O(h) - height + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-12-invert-binary-tree.svg b/images/templates/daily-dsa-challenge/day-12-invert-binary-tree.svg new file mode 100644 index 0000000..100793f --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-12-invert-binary-tree.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 12 + + Invert Binary Tree + + + Easy + + + Problem: + Given the root of a binary tree, invert the tree + and return its root. + Input: [4,2,7,1,3,6,9] Output: [4,7,2,9,6,3,1] + + + Hint: + Swap left and right children recursively at each node. + Time: O(n) | Space: O(h) - height + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-13-max-depth-binary-tree.svg b/images/templates/daily-dsa-challenge/day-13-max-depth-binary-tree.svg new file mode 100644 index 0000000..97d1847 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-13-max-depth-binary-tree.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 13 + + Max Depth Binary Tree + + + Easy + + + Problem: + Given the root of a binary tree, return its + maximum depth (longest path from root to leaf). + Input: [3,9,20,null,null,15,7] Output: 3 + + + Hint: + 1 + max(depth(left), depth(right)) recursively. + Time: O(n) | Space: O(h) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-14-contains-duplicate.svg b/images/templates/daily-dsa-challenge/day-14-contains-duplicate.svg new file mode 100644 index 0000000..687b163 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-14-contains-duplicate.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 14 + + Contains Duplicate + + + Easy + + + Problem: + Given an integer array nums, return true if any + value appears at least twice in the array. + Input: [1,2,3,1] Output: true + + + Hint: + Use a HashSet to track seen numbers. + Time: O(n) | Space: O(n) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-15-product-except-self.svg b/images/templates/daily-dsa-challenge/day-15-product-except-self.svg new file mode 100644 index 0000000..ed9ef7b --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-15-product-except-self.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 15 + + Product Except Self + + + Medium + + + Problem: + Return an array where each element is the product + of all elements except itself. No division allowed! + Input: [1,2,3,4] Output: [24,12,8,6] + + + Hint: + Two passes: prefix products then suffix products. + Time: O(n) | Space: O(1) excluding output + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-16-3sum.svg b/images/templates/daily-dsa-challenge/day-16-3sum.svg new file mode 100644 index 0000000..ddf928a --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-16-3sum.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 16 + + 3Sum + + + Medium + + + Problem: + Find all unique triplets in the array that sum + to zero. No duplicate triplets allowed. + Input: [-1,0,1,2,-1,-4] Output: [[-1,-1,2],[-1,0,1]] + + + Hint: + Sort first, then fix one element and use two pointers. + Time: O(n^2) | Space: O(1) or O(n) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-17-container-with-most-water.svg b/images/templates/daily-dsa-challenge/day-17-container-with-most-water.svg new file mode 100644 index 0000000..077017a --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-17-container-with-most-water.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 17 + + Container With Most Water + + + Medium + + + Problem: + Given n lines, find two lines that together with + x-axis form a container holding the most water. + Input: [1,8,6,2,5,4,8,3,7] Output: 49 + + + Hint: + Two pointers: move the shorter line inward. + Time: O(n) | Space: O(1) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-18-longest-substring-no-repeat.svg b/images/templates/daily-dsa-challenge/day-18-longest-substring-no-repeat.svg new file mode 100644 index 0000000..e35ff36 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-18-longest-substring-no-repeat.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 18 + + Longest Substring No Repeat + + + Medium + + + Problem: + Find the length of the longest substring + without repeating characters. + Input: "abcabcbb" Output: 3 ("abc") + + + Hint: + Sliding window with a set to track characters. + Time: O(n) | Space: O(min(n, m)) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-19-group-anagrams.svg b/images/templates/daily-dsa-challenge/day-19-group-anagrams.svg new file mode 100644 index 0000000..5d180f7 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-19-group-anagrams.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 19 + + Group Anagrams + + + Medium + + + Problem: + Given an array of strings, group anagrams together. + Order doesn't matter. + Input: ["eat","tea","tan","ate","nat","bat"] + + + Hint: + Use sorted string or char count as hash key. + Time: O(n * k log k) | Space: O(n * k) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-20-top-k-frequent-elements.svg b/images/templates/daily-dsa-challenge/day-20-top-k-frequent-elements.svg new file mode 100644 index 0000000..b45ed8f --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-20-top-k-frequent-elements.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 20 + + Top K Frequent Elements + + + Medium + + + Problem: + Given an integer array and k, return the k most + frequent elements. Order doesn't matter. + Input: [1,1,1,2,2,3], k=2 Output: [1,2] + + + Hint: + Bucket sort or min-heap with frequency count. + Time: O(n) bucket | O(n log k) heap | Space: O(n) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-21-encode-decode-strings.svg b/images/templates/daily-dsa-challenge/day-21-encode-decode-strings.svg new file mode 100644 index 0000000..75fd24b --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-21-encode-decode-strings.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 21 + + Encode Decode Strings + + + Medium + + + Problem: + Design encode and decode methods for a list of + strings to a single string and back. + ["hello","world"] -> "5#hello5#world" + + + Hint: + Use length prefix with delimiter: "len#string" + Time: O(n) | Space: O(1) extra + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-22-longest-consecutive-sequence.svg b/images/templates/daily-dsa-challenge/day-22-longest-consecutive-sequence.svg new file mode 100644 index 0000000..83f221f --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-22-longest-consecutive-sequence.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 22 + + Longest Consecutive Seq + + + Medium + + + Problem: + Given an unsorted array, find the length of the + longest consecutive elements sequence in O(n). + Input: [100,4,200,1,3,2] Output: 4 (1,2,3,4) + + + Hint: + HashSet, only count from sequence start (no n-1). + Time: O(n) | Space: O(n) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-23-min-stack.svg b/images/templates/daily-dsa-challenge/day-23-min-stack.svg new file mode 100644 index 0000000..13505ed --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-23-min-stack.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 23 + + Min Stack + + + Medium + + + Problem: + Design a stack that supports push, pop, top, and + retrieving minimum element in O(1) time. + push(-2), push(0), push(-3), getMin() -> -3 + + + Hint: + Store (value, currentMin) pairs or use two stacks. + Time: O(1) all ops | Space: O(n) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-24-evaluate-rpn.svg b/images/templates/daily-dsa-challenge/day-24-evaluate-rpn.svg new file mode 100644 index 0000000..733a5f0 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-24-evaluate-rpn.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 24 + + Evaluate RPN + + + Medium + + + Problem: + Evaluate the value of an arithmetic expression + in Reverse Polish Notation (postfix). + Input: ["2","1","+","3","*"] Output: 9 + + + Hint: + Stack: push numbers, pop two on operator, push result. + Time: O(n) | Space: O(n) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-25-generate-parentheses.svg b/images/templates/daily-dsa-challenge/day-25-generate-parentheses.svg new file mode 100644 index 0000000..d2d5261 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-25-generate-parentheses.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 25 + + Generate Parentheses + + + Medium + + + Problem: + Given n pairs of parentheses, generate all + combinations of well-formed parentheses. + Input: n=3 Output: ["((()))","(()())","(())()","()(())","()()()"] + + + Hint: + Backtracking: add ( if open < n, add ) if close < open. + Time: O(4^n/sqrt(n)) | Space: O(n) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-26-daily-temperatures.svg b/images/templates/daily-dsa-challenge/day-26-daily-temperatures.svg new file mode 100644 index 0000000..1c45276 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-26-daily-temperatures.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 26 + + Daily Temperatures + + + Medium + + + Problem: + Given daily temperatures, return array where each + element is days until a warmer temperature. + Input: [73,74,75,71,69,72,76,73] Output: [1,1,4,2,1,1,0,0] + + + Hint: + Monotonic decreasing stack storing indices. + Time: O(n) | Space: O(n) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-27-car-fleet.svg b/images/templates/daily-dsa-challenge/day-27-car-fleet.svg new file mode 100644 index 0000000..0433972 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-27-car-fleet.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 27 + + Car Fleet + + + Medium + + + Problem: + Cars drive toward a target at different speeds. + Return the number of car fleets reaching target. + target=12, position=[10,8,0,5,3], speed=[2,4,1,1,3] + + + Hint: + Sort by position, stack by arrival time. Merge if catches up. + Time: O(n log n) | Space: O(n) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-28-sliding-window-maximum.svg b/images/templates/daily-dsa-challenge/day-28-sliding-window-maximum.svg new file mode 100644 index 0000000..6e6cf6d --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-28-sliding-window-maximum.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 28 + + Sliding Window Maximum + + + Hard + + + Problem: + Given an array and sliding window size k, return + max values for each window position. + Input: [1,3,-1,-3,5,3,6,7], k=3 Output: [3,3,5,5,6,7] + + + Hint: + Monotonic decreasing deque storing indices. + Time: O(n) | Space: O(k) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-29-search-rotated-sorted-array.svg b/images/templates/daily-dsa-challenge/day-29-search-rotated-sorted-array.svg new file mode 100644 index 0000000..c5b75f7 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-29-search-rotated-sorted-array.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 29 + + Search Rotated Sorted Array + + + Medium + + + Problem: + Search for target in a rotated sorted array. + Return index or -1 if not found. O(log n) required. + Input: [4,5,6,7,0,1,2], target=0 Output: 4 + + + Hint: + Binary search: find which half is sorted, then decide. + Time: O(log n) | Space: O(1) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-30-find-min-rotated-sorted.svg b/images/templates/daily-dsa-challenge/day-30-find-min-rotated-sorted.svg new file mode 100644 index 0000000..1baea89 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-30-find-min-rotated-sorted.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 30 + + Find Min Rotated Sorted + + + Medium + + + Problem: + Find the minimum element in a rotated sorted + array. All elements are unique. + Input: [3,4,5,1,2] Output: 1 + + + Hint: + Binary search: compare mid with right to find pivot. + Time: O(log n) | Space: O(1) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-31-koko-eating-bananas.svg b/images/templates/daily-dsa-challenge/day-31-koko-eating-bananas.svg new file mode 100644 index 0000000..37e5b14 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-31-koko-eating-bananas.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 31 + + Koko Eating Bananas + + + Medium + + + Problem: + Find minimum eating speed k so Koko can eat all + bananas within h hours. + Input: piles=[3,6,7,11], h=8 Output: 4 + + + Hint: + Binary search on speed k from 1 to max(piles). + Time: O(n log m) | Space: O(1) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-32-merge-intervals.svg b/images/templates/daily-dsa-challenge/day-32-merge-intervals.svg new file mode 100644 index 0000000..2c3d606 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-32-merge-intervals.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 32 + + Merge Intervals + + + Medium + + + Problem: + Given an array of intervals, merge all + overlapping intervals. + Input: [[1,3],[2,6],[8,10],[15,18]] Output: [[1,6],[8,10],[15,18]] + + + Hint: + Sort by start time, merge if current overlaps previous. + Time: O(n log n) | Space: O(n) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-33-insert-interval.svg b/images/templates/daily-dsa-challenge/day-33-insert-interval.svg new file mode 100644 index 0000000..ac663dc --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-33-insert-interval.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 33 + + Insert Interval + + + Medium + + + Problem: + Insert a new interval into sorted non-overlapping + intervals, merge if necessary. + Input: [[1,3],[6,9]], new=[2,5] Output: [[1,5],[6,9]] + + + Hint: + Add non-overlapping before, merge overlapping, add after. + Time: O(n) | Space: O(n) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-34-non-overlapping-intervals.svg b/images/templates/daily-dsa-challenge/day-34-non-overlapping-intervals.svg new file mode 100644 index 0000000..38a6c39 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-34-non-overlapping-intervals.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 34 + + Non-Overlapping Intervals + + + Medium + + + Problem: + Find minimum number of intervals to remove to make + the rest non-overlapping. + Input: [[1,2],[2,3],[3,4],[1,3]] Output: 1 + + + Hint: + Greedy: sort by end time, keep interval ending earliest. + Time: O(n log n) | Space: O(1) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-35-rotate-image.svg b/images/templates/daily-dsa-challenge/day-35-rotate-image.svg new file mode 100644 index 0000000..70d324c --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-35-rotate-image.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 35 + + Rotate Image + + + Medium + + + Problem: + Rotate an n x n 2D matrix by 90 degrees clockwise. + Do it in-place without extra matrix. + [[1,2,3],[4,5,6],[7,8,9]] -> [[7,4,1],[8,5,2],[9,6,3]] + + + Hint: + Transpose matrix, then reverse each row. + Time: O(n^2) | Space: O(1) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-36-spiral-matrix.svg b/images/templates/daily-dsa-challenge/day-36-spiral-matrix.svg new file mode 100644 index 0000000..6ab1f35 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-36-spiral-matrix.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 36 + + Spiral Matrix + + + Medium + + + Problem: + Given an m x n matrix, return all elements + in spiral order. + [[1,2,3],[4,5,6],[7,8,9]] -> [1,2,3,6,9,8,7,4,5] + + + Hint: + Track boundaries: top, bottom, left, right. Shrink after each layer. + Time: O(m*n) | Space: O(1) excluding output + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-37-set-matrix-zeroes.svg b/images/templates/daily-dsa-challenge/day-37-set-matrix-zeroes.svg new file mode 100644 index 0000000..cadec50 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-37-set-matrix-zeroes.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 37 + + Set Matrix Zeroes + + + Medium + + + Problem: + If an element is 0, set its entire row and + column to 0. Do it in-place. + [[1,1,1],[1,0,1],[1,1,1]] -> [[1,0,1],[0,0,0],[1,0,1]] + + + Hint: + Use first row and column as markers for O(1) space. + Time: O(m*n) | Space: O(1) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-38-happy-number.svg b/images/templates/daily-dsa-challenge/day-38-happy-number.svg new file mode 100644 index 0000000..2a6391b --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-38-happy-number.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 38 + + Happy Number + + + Easy + + + Problem: + A happy number reaches 1 after repeatedly replacing + with sum of squares of digits. Detect cycle or 1. + 19 -> 82 -> 68 -> 100 -> 1 (Happy!) + + + Hint: + Floyd's cycle detection (slow/fast pointers) or HashSet. + Time: O(log n) | Space: O(1) with Floyd + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-39-plus-one.svg b/images/templates/daily-dsa-challenge/day-39-plus-one.svg new file mode 100644 index 0000000..0a68811 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-39-plus-one.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 39 + + Plus One + + + Easy + + + Problem: + Given a large integer as array of digits, + increment it by one and return the result. + Input: [1,2,9] Output: [1,3,0] + + + Hint: + Start from end, handle carry. Edge case: all 9s need new digit. + Time: O(n) | Space: O(1) or O(n) for new array + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-40-pow-x-n.svg b/images/templates/daily-dsa-challenge/day-40-pow-x-n.svg new file mode 100644 index 0000000..e9510d5 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-40-pow-x-n.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 40 + + Pow(x, n) + + + Medium + + + Problem: + Implement pow(x, n), which calculates x raised + to the power n. Handle negative exponents. + Input: x=2.0, n=10 Output: 1024.0 + + + Hint: + Binary exponentiation: x^n = (x^2)^(n/2). + Time: O(log n) | Space: O(1) iterative + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-41-multiply-strings.svg b/images/templates/daily-dsa-challenge/day-41-multiply-strings.svg new file mode 100644 index 0000000..d1d690f --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-41-multiply-strings.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 41 + + Multiply Strings + + + Medium + + + Problem: + Multiply two numbers represented as strings. + Cannot use BigInteger or convert to integer directly. + Input: "123" * "456" Output: "56088" + + + Hint: + Grade school multiplication. Position i*j goes to i+j and i+j+1. + Time: O(m*n) | Space: O(m+n) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-42-detect-cycle-linked-list.svg b/images/templates/daily-dsa-challenge/day-42-detect-cycle-linked-list.svg new file mode 100644 index 0000000..be7d36c --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-42-detect-cycle-linked-list.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 42 + + Detect Cycle Linked List + + + Easy + + + Problem: + Given the head of a linked list, determine if + the linked list has a cycle in it. + 3 -> 2 -> 0 -> -4 -> (back to 2) = true + + + Hint: + Floyd's Tortoise and Hare: slow moves 1, fast moves 2. + Time: O(n) | Space: O(1) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-43-reorder-list.svg b/images/templates/daily-dsa-challenge/day-43-reorder-list.svg new file mode 100644 index 0000000..fe2fbb9 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-43-reorder-list.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 43 + + Reorder List + + + Medium + + + Problem: + Reorder list: L0 -> Ln -> L1 -> Ln-1 -> L2 -> Ln-2... + Do it in-place without modifying node values. + 1->2->3->4 becomes 1->4->2->3 + + + Hint: + Find middle, reverse second half, merge alternating. + Time: O(n) | Space: O(1) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-44-remove-nth-node-from-end.svg b/images/templates/daily-dsa-challenge/day-44-remove-nth-node-from-end.svg new file mode 100644 index 0000000..c8a5b60 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-44-remove-nth-node-from-end.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 44 + + Remove Nth Node From End + + + Medium + + + Problem: + Remove the nth node from the end of the + linked list and return its head. + 1->2->3->4->5, n=2 becomes 1->2->3->5 + + + Hint: + Two pointers: advance first by n, then move both until end. + Time: O(n) | Space: O(1) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-45-copy-list-random-pointer.svg b/images/templates/daily-dsa-challenge/day-45-copy-list-random-pointer.svg new file mode 100644 index 0000000..935dc9d --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-45-copy-list-random-pointer.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 45 + + Copy List with Random Ptr + + + Medium + + + Problem: + Deep copy a linked list where each node has a + random pointer to any node or null. + Each node: {val, next, random} + + + Hint: + HashMap old->new, or interleave copies A->A'->B->B'. + Time: O(n) | Space: O(n) or O(1) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-46-lru-cache.svg b/images/templates/daily-dsa-challenge/day-46-lru-cache.svg new file mode 100644 index 0000000..61bf77f --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-46-lru-cache.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 46 + + LRU Cache + + + Medium + + + Problem: + Design a data structure for Least Recently Used + cache with O(1) get and put operations. + LRUCache(2), put(1,1), put(2,2), get(1), put(3,3)... + + + Hint: + HashMap + Doubly Linked List. Head=recent, tail=LRU. + Time: O(1) | Space: O(capacity) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-47-merge-k-sorted-lists.svg b/images/templates/daily-dsa-challenge/day-47-merge-k-sorted-lists.svg new file mode 100644 index 0000000..b83b995 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-47-merge-k-sorted-lists.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 47 + + Merge K Sorted Lists + + + Hard + + + Problem: + Merge k sorted linked lists into one sorted + linked list. + [[1,4,5],[1,3,4],[2,6]] -> [1,1,2,3,4,4,5,6] + + + Hint: + Min-heap of k elements, or divide and conquer merge. + Time: O(n log k) | Space: O(k) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-48-level-order-traversal.svg b/images/templates/daily-dsa-challenge/day-48-level-order-traversal.svg new file mode 100644 index 0000000..1d1356d --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-48-level-order-traversal.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 48 + + Level Order Traversal + + + Medium + + + Problem: + Return the level order traversal of a binary tree's + values (left to right, level by level). + [3,9,20,null,null,15,7] -> [[3],[9,20],[15,7]] + + + Hint: + BFS with queue. Process all nodes at current level together. + Time: O(n) | Space: O(n) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-49-validate-bst.svg b/images/templates/daily-dsa-challenge/day-49-validate-bst.svg new file mode 100644 index 0000000..613ff38 --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-49-validate-bst.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAILY DSA CHALLENGE + + Day 49 + + Validate BST + + + Medium + + + Problem: + Given the root of a binary tree, determine if it + is a valid binary search tree (BST). + [2,1,3] -> true | [5,1,4,null,null,3,6] -> false + + + Hint: + Pass min/max bounds down, or check inorder is sorted. + Time: O(n) | Space: O(h) + + Drop your solution in the comments + + @devweekends + \ No newline at end of file diff --git a/images/templates/daily-dsa-challenge/day-50-lowest-common-ancestor.svg b/images/templates/daily-dsa-challenge/day-50-lowest-common-ancestor.svg new file mode 100644 index 0000000..1fbe37a --- /dev/null +++ b/images/templates/daily-dsa-challenge/day-50-lowest-common-ancestor.svg @@ -0,0 +1,30 @@ + + + + DEV WEEKENDS + + + DAY 50 COMPLETE! + + Day 50 + + Lowest Common Ancestor + + + Medium + + + Problem: + Find the lowest common ancestor (LCA) of two given + nodes in a binary tree. + Tree: [3,5,1,6,2,0,8], p=5, q=1 -> LCA=3 + + + Hint: + Recursively search left and right. LCA is where both return non-null. + Time: O(n) | Space: O(h) + + Congrats on completing 50 days! + + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/01-kubernetes-basics.svg b/images/templates/devops-tools/01-kubernetes-basics.svg new file mode 100644 index 0000000..2022ff5 --- /dev/null +++ b/images/templates/devops-tools/01-kubernetes-basics.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + Kubernetes + Core Concepts + + + + # Pod - Smallest deployable unit + kubectl get pods -A + + # Deployment - Manages ReplicaSets + kubectl create deployment nginx --image=nginx + + # Service - Exposes pods to network + kubectl expose deployment nginx --port=80 + + # ConfigMap - Store configuration + kubectl create configmap app-config --from-file=./ + + # Debug a pod + kubectl describe pod <name> && kubectl logs <name> + + + Container orchestration made simple + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/02-docker-essentials.svg b/images/templates/devops-tools/02-docker-essentials.svg new file mode 100644 index 0000000..cd8e185 --- /dev/null +++ b/images/templates/devops-tools/02-docker-essentials.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + Docker + Essential Commands + + + + # Build an image + docker build -t myapp:latest . + + # Run container with port mapping + docker run -d -p 3000:3000 --name app myapp + + # Execute command in running container + docker exec -it container_id bash + + # View container logs + docker logs -f container_id + + # Clean up unused resources + docker system prune -af --volumes + + + Use multi-stage builds to reduce image size by 90% + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/03-terraform-basics.svg b/images/templates/devops-tools/03-terraform-basics.svg new file mode 100644 index 0000000..07f5f7c --- /dev/null +++ b/images/templates/devops-tools/03-terraform-basics.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + Terraform + Infrastructure as Code + + + + # Initialize working directory + terraform init + + # Preview changes before applying + terraform plan -out=tfplan + + # Apply infrastructure changes + terraform apply tfplan + + # Format and validate config + terraform fmt && terraform validate + + # Destroy all resources + terraform destroy + + + Never commit .tfstate to version control + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/04-jenkins-pipelines.svg b/images/templates/devops-tools/04-jenkins-pipelines.svg new file mode 100644 index 0000000..6a8b06b --- /dev/null +++ b/images/templates/devops-tools/04-jenkins-pipelines.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + Jenkins + Pipeline Syntax + + + + pipeline { + agent any + stages { + stage('Build') { + steps { sh 'npm install' } + } + stage('Test') { + steps { sh 'npm test' } + } + stage('Deploy') { + when { branch 'main' } + steps { sh './deploy.sh' } + } + + + Store Jenkinsfile in repo root for GitOps + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/05-gitlab-cicd.svg b/images/templates/devops-tools/05-gitlab-cicd.svg new file mode 100644 index 0000000..1cad6a8 --- /dev/null +++ b/images/templates/devops-tools/05-gitlab-cicd.svg @@ -0,0 +1,31 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + GitLab CI/CD + .gitlab-ci.yml + + + + stages: + - build + - test + - deploy + build_job: + stage: build + image: node:18 + script: + - npm ci + - npm run build + artifacts: + paths: [dist/] + + + Built-in container registry and Auto DevOps + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/06-github-actions.svg b/images/templates/devops-tools/06-github-actions.svg new file mode 100644 index 0000000..338e659 --- /dev/null +++ b/images/templates/devops-tools/06-github-actions.svg @@ -0,0 +1,31 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + GitHub Actions + Workflow YAML + + + + name: CI/CD Pipeline + on: + push: { branches: [main] } + pull_request: { branches: [main] } + jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: { node-version: 20 } + - run: npm ci && npm test + + + Store in .github/workflows/ - Free 2000 mins/month + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/07-ansible-automation.svg b/images/templates/devops-tools/07-ansible-automation.svg new file mode 100644 index 0000000..35c8c91 --- /dev/null +++ b/images/templates/devops-tools/07-ansible-automation.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + Ansible + Automation Playbooks + + + + # deploy.yml + --- + - name: Deploy Web Application + hosts: webservers + become: yes + vars: + app_version: "2.0.0" + tasks: + - name: Install nginx + apt: name=nginx state=latest + - name: Copy config + template: src=nginx.j2 dest=/etc/nginx.conf + notify: restart nginx + + + ansible-playbook -i hosts deploy.yml + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/08-prometheus-monitoring.svg b/images/templates/devops-tools/08-prometheus-monitoring.svg new file mode 100644 index 0000000..e749432 --- /dev/null +++ b/images/templates/devops-tools/08-prometheus-monitoring.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + Prometheus + PromQL Queries + + + + # Request rate per second + rate(http_requests_total[5m]) + + # 95th percentile latency + histogram_quantile(0.95, rate(http_duration[5m])) + + # Error rate percentage + sum(rate(http_errors[5m])) / sum(rate(http_total[5m])) + + # Check service health + up{job="api-server"} == 0 + + # Group by status code + sum by(status)(rate(http_requests_total[5m])) + + + Time-series monitoring and alerting toolkit + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/09-grafana-dashboards.svg b/images/templates/devops-tools/09-grafana-dashboards.svg new file mode 100644 index 0000000..a4779d6 --- /dev/null +++ b/images/templates/devops-tools/09-grafana-dashboards.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + Grafana + Dashboard Essentials + + + + # RED Method (for services) + Rate → Requests per second + Errors → Failed request count + Duration → Latency percentiles + + # USE Method (for resources) + Utilization → Percent time busy + Saturation → Work queue depth + Errors → Error event count + + # Panel types: Time series, Stat, Gauge, Heatmap + Use variables for environment/service filtering + Set meaningful thresholds with color coding + + + Visualize metrics, logs, and traces in one place + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/10-helm-charts.svg b/images/templates/devops-tools/10-helm-charts.svg new file mode 100644 index 0000000..ab2d155 --- /dev/null +++ b/images/templates/devops-tools/10-helm-charts.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + Helm Charts + K8s Package Manager + + + + # Install a chart + helm install myapp ./my-chart + + # Upgrade with new values + helm upgrade myapp ./my-chart -f values-prod.yaml + + # Rollback to previous release + helm rollback myapp 1 + + # Preview rendered templates + helm template myapp ./my-chart --debug + + # List all releases + helm list -A + + + Use helm diff plugin to preview changes before upgrade + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/11-nginx-config.svg b/images/templates/devops-tools/11-nginx-config.svg new file mode 100644 index 0000000..bf47925 --- /dev/null +++ b/images/templates/devops-tools/11-nginx-config.svg @@ -0,0 +1,31 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + NGINX + Reverse Proxy Config + + + + upstream backend { + server 127.0.0.1:3000; + server 127.0.0.1:3001; + } + server { + listen 80; + server_name example.com; + location / { + proxy_pass http://backend; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + } + + + Test: nginx -t | Reload: nginx -s reload + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/12-docker-compose.svg b/images/templates/devops-tools/12-docker-compose.svg new file mode 100644 index 0000000..da61f51 --- /dev/null +++ b/images/templates/devops-tools/12-docker-compose.svg @@ -0,0 +1,31 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + Docker Compose + Multi-Container Setup + + + + # docker-compose.yml + version: '3.8' + services: + app: + build: . + ports: ["3000:3000"] + depends_on: [db, redis] + environment: + DATABASE_URL: postgres://db:5432 + db: + image: postgres:15 + volumes: [pgdata:/var/lib/postgresql/data] + + + docker compose up -d | docker compose down + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/13-kubectl-debug.svg b/images/templates/devops-tools/13-kubectl-debug.svg new file mode 100644 index 0000000..37ea472 --- /dev/null +++ b/images/templates/devops-tools/13-kubectl-debug.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + kubectl + Debug Commands + + + + # Get pod events and status + kubectl describe pod <name> + + # Stream logs from pod + kubectl logs -f <pod> -c <container> + + # Execute shell in pod + kubectl exec -it <pod> -- /bin/sh + + # Port forward to local machine + kubectl port-forward pod/<name> 8080:80 + + # Copy files from pod + kubectl cp <pod>:/path/file ./local/file + + + Add -n namespace to target specific namespace + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/14-argocd-gitops.svg b/images/templates/devops-tools/14-argocd-gitops.svg new file mode 100644 index 0000000..0623dc2 --- /dev/null +++ b/images/templates/devops-tools/14-argocd-gitops.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + ArgoCD + GitOps Continuous Delivery + + + + # Login to ArgoCD + argocd login argocd.example.com + + # Create an application + argocd app create myapp --repo https://github.com/... + + # Sync application (deploy) + argocd app sync myapp + + # Get application status + argocd app get myapp + + # Rollback to previous version + argocd app rollback myapp + + + Declarative GitOps CD for Kubernetes + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/15-vault-secrets.svg b/images/templates/devops-tools/15-vault-secrets.svg new file mode 100644 index 0000000..7893029 --- /dev/null +++ b/images/templates/devops-tools/15-vault-secrets.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + Vault + Secrets Management + + + + # Login to Vault + vault login -method=userpass username=admin + + # Write a secret + vault kv put secret/myapp db_pass=supersecret + + # Read a secret + vault kv get secret/myapp + + # Enable secrets engine + vault secrets enable -path=aws aws + + # Create policy + vault policy write app-policy app-policy.hcl + + + Dynamic secrets with automatic rotation + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/16-datadog-apm.svg b/images/templates/devops-tools/16-datadog-apm.svg new file mode 100644 index 0000000..04d5120 --- /dev/null +++ b/images/templates/devops-tools/16-datadog-apm.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + Datadog + APM & Monitoring + + + + # Key metrics to track + avg:trace.http.request.duration{service:api} + + # Error rate query + sum:trace.errors{service:api}.as_count() + + # Container metrics + docker.cpu.usage{container_name:app} + + # Log search query + service:api status:error @http.status_code:500 + + # Alert threshold + p95 latency > 500ms for 5 minutes → PagerDuty + + + Unified observability: metrics, traces, logs + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/17-sentry-errors.svg b/images/templates/devops-tools/17-sentry-errors.svg new file mode 100644 index 0000000..45165b8 --- /dev/null +++ b/images/templates/devops-tools/17-sentry-errors.svg @@ -0,0 +1,30 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + Sentry + Error Tracking + + + + # JavaScript SDK setup + import * as Sentry from "@sentry/node"; + Sentry.init({ + dsn: "https://...@sentry.io/...", + tracesSampleRate: 1.0, + environment: "production", + }); + # Capture custom error + Sentry.captureException(error); + # Add user context + Sentry.setUser({ id: userId, email }); + + + Track errors with stack traces and context + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/18-jaeger-tracing.svg b/images/templates/devops-tools/18-jaeger-tracing.svg new file mode 100644 index 0000000..2e3470f --- /dev/null +++ b/images/templates/devops-tools/18-jaeger-tracing.svg @@ -0,0 +1,30 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + Jaeger + Distributed Tracing + + + + # OpenTelemetry setup for Node.js + const { NodeTracerProvider } = require( + '@opentelemetry/node' + ); + const provider = new NodeTracerProvider(); + # Configure Jaeger exporter + const exporter = new JaegerExporter({ + endpoint: 'http://jaeger:14268/api/traces' + }); + # Key: propagate trace context between services + W3C TraceContext or B3 headers + + + Trace requests across microservices + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/19-netlify-deploy.svg b/images/templates/devops-tools/19-netlify-deploy.svg new file mode 100644 index 0000000..6fd8021 --- /dev/null +++ b/images/templates/devops-tools/19-netlify-deploy.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + Netlify + Deployment Commands + + + + # Install CLI + npm install -g netlify-cli + + # Login and link site + netlify login && netlify link + + # Deploy preview + netlify deploy + + # Deploy to production + netlify deploy --prod + + # Local dev with serverless functions + netlify dev + + + Auto deploy on git push with preview URLs + @devweekends + \ No newline at end of file diff --git a/images/templates/devops-tools/20-vercel-deploy.svg b/images/templates/devops-tools/20-vercel-deploy.svg new file mode 100644 index 0000000..660d288 --- /dev/null +++ b/images/templates/devops-tools/20-vercel-deploy.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + DEVOPS + + Vercel + Edge Deployment + + + + # Install CLI + npm i -g vercel + + # Deploy to preview + vercel + + # Deploy to production + vercel --prod + + # Set environment variables + vercel env add API_KEY production + + # Pull env to local + vercel env pull .env.local + + + Zero-config deployment for Next.js + @devweekends + \ No newline at end of file diff --git a/images/templates/discord-rooms/01-your-voice-matters.svg b/images/templates/discord-rooms/01-your-voice-matters.svg new file mode 100644 index 0000000..45b7af9 --- /dev/null +++ b/images/templates/discord-rooms/01-your-voice-matters.svg @@ -0,0 +1,25 @@ + + + + DEV WEEKENDS + + + DISCORD COMMUNITY + + Your Voice + Matters Here + + Jump into our virtual rooms anytime. + No agenda. No pressure. Just connect. + + + What happens in our rooms: + Share your wins, big or small + Ask that question you've been holding back + Find your tribe of like-minded devs + + + Join the Conversation + + discord.gg/devweekends + \ No newline at end of file diff --git a/images/templates/discord-rooms/02-open-mic-open-hearts.svg b/images/templates/discord-rooms/02-open-mic-open-hearts.svg new file mode 100644 index 0000000..2feecbd --- /dev/null +++ b/images/templates/discord-rooms/02-open-mic-open-hearts.svg @@ -0,0 +1,25 @@ + + + + DEV WEEKENDS + + + DISCORD COMMUNITY + + Open Mic, + Open Hearts + + Our virtual rooms are always open. + Speak freely. Listen kindly. Grow together. + + + Drop in when you want to: + Talk through a tricky problem + Celebrate a breakthrough moment + Simply say hello to fellow devs + + + Start a Conversation + + discord.gg/devweekends + \ No newline at end of file diff --git a/images/templates/discord-rooms/03-late-night-debugging.svg b/images/templates/discord-rooms/03-late-night-debugging.svg new file mode 100644 index 0000000..c888ce1 --- /dev/null +++ b/images/templates/discord-rooms/03-late-night-debugging.svg @@ -0,0 +1,25 @@ + + + + DEV WEEKENDS + + + DISCORD COMMUNITY + + Late Night + Debugging Sessions + + 3 AM and stuck on a bug? + Someone's probably awake and ready to help. + + + The beauty of a global community: + 24/7 rooms where night owls thrive + Real-time rubber duck debugging + Pair programming across time zones + + + Join a Room Now + + discord.gg/devweekends + \ No newline at end of file diff --git a/images/templates/discord-rooms/04-no-question-too-small.svg b/images/templates/discord-rooms/04-no-question-too-small.svg new file mode 100644 index 0000000..861fe11 --- /dev/null +++ b/images/templates/discord-rooms/04-no-question-too-small.svg @@ -0,0 +1,25 @@ + + + + DEV WEEKENDS + + + DISCORD COMMUNITY + + No Question + Is Too Small + + We've all been beginners once. + Ask anything. We're here to lift you up. + + + A safe space to learn: + Judgment-free zone, always + Patient mentors ready to explain + Every question helps someone else too + + + Ask Your Question + + discord.gg/devweekends + \ No newline at end of file diff --git a/images/templates/discord-rooms/05-coworking-virtual-cafe.svg b/images/templates/discord-rooms/05-coworking-virtual-cafe.svg new file mode 100644 index 0000000..d776fea --- /dev/null +++ b/images/templates/discord-rooms/05-coworking-virtual-cafe.svg @@ -0,0 +1,25 @@ + + + + DEV WEEKENDS + + + DISCORD COMMUNITY + + Co-Working + Virtual Cafe + + Missing the office vibe? + Code alongside others in real-time. + + + Why devs love it: + Accountability without the pressure + Background presence of fellow coders + Quick chats when you need a break + + + Join the Cafe + + discord.gg/devweekends + \ No newline at end of file diff --git a/images/templates/discord-rooms/06-weekly-tech-talks.svg b/images/templates/discord-rooms/06-weekly-tech-talks.svg new file mode 100644 index 0000000..fe8fcb8 --- /dev/null +++ b/images/templates/discord-rooms/06-weekly-tech-talks.svg @@ -0,0 +1,25 @@ + + + + DEV WEEKENDS + + + DISCORD COMMUNITY + + Weekly + Tech Talks + + Learn something new every week. + Community-led sessions on hot topics. + + + Recent sessions covered: + System Design fundamentals + Career growth strategies + Building in public journeys + + + See Schedule + + discord.gg/devweekends + \ No newline at end of file diff --git a/images/templates/discord-rooms/07-study-buddies-welcome.svg b/images/templates/discord-rooms/07-study-buddies-welcome.svg new file mode 100644 index 0000000..e4b05af --- /dev/null +++ b/images/templates/discord-rooms/07-study-buddies-welcome.svg @@ -0,0 +1,25 @@ + + + + DEV WEEKENDS + + + DISCORD COMMUNITY + + Study Buddies + Welcome Here + + Preparing for interviews? Learning a new stack? + Find your accountability partner here. + + + What happens here: + Pair programming sessions + Mock interview practice + Code reviews with peers + + + Find a Buddy + + discord.gg/devweekends + \ No newline at end of file diff --git a/images/templates/discord-rooms/08-weekend-hangouts.svg b/images/templates/discord-rooms/08-weekend-hangouts.svg new file mode 100644 index 0000000..2900f6b --- /dev/null +++ b/images/templates/discord-rooms/08-weekend-hangouts.svg @@ -0,0 +1,25 @@ + + + + DEV WEEKENDS + + + DISCORD COMMUNITY + + Weekend + Hangouts + + Saturdays and Sundays hit different. + Chill, code, or just hang with the crew. + + + The vibe: + No agenda, just good energy + Side projects welcome + Tech and non-tech talks equally valued + + + Join This Weekend + + discord.gg/devweekends + \ No newline at end of file diff --git a/images/templates/discord-rooms/09-mentorship-moments.svg b/images/templates/discord-rooms/09-mentorship-moments.svg new file mode 100644 index 0000000..2646765 --- /dev/null +++ b/images/templates/discord-rooms/09-mentorship-moments.svg @@ -0,0 +1,25 @@ + + + + DEV WEEKENDS + + + DISCORD COMMUNITY + + Mentorship + Moments + + Need guidance on your journey? + Our community mentors are here for you. + + + Get help with: + Career path decisions + Tech stack choices + Growth roadmap planning + + + Seek Guidance + + discord.gg/devweekends + \ No newline at end of file diff --git a/images/templates/discord-rooms/10-just-drop-by.svg b/images/templates/discord-rooms/10-just-drop-by.svg new file mode 100644 index 0000000..f9c6ed8 --- /dev/null +++ b/images/templates/discord-rooms/10-just-drop-by.svg @@ -0,0 +1,25 @@ + + + + DEV WEEKENDS + + + DISCORD COMMUNITY + + Just + Drop By + + No commitment. No pressure. + Just real people, real conversations. + + + Why our rooms are different: + Camera off is perfectly okay + Listening without talking is welcome + Leave anytime, no explanations needed + + + Come Say Hello + + discord.gg/devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/01-two-pointers.svg b/images/templates/dsa-techniques/01-two-pointers.svg new file mode 100644 index 0000000..c029e51 --- /dev/null +++ b/images/templates/dsa-techniques/01-two-pointers.svg @@ -0,0 +1,39 @@ + + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Two Pointers + + Use two references to traverse data structure + + + + 1 + + 2 + + 3 + + 4 + + 5 + + L + R + + When to use: + • Sorted arrays + • Finding pairs with a specific sum + • Removing duplicates + • Container with most water + + Time: O(n) + Space: O(1) + + Save for your DSA prep | @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/02-sliding-window.svg b/images/templates/dsa-techniques/02-sliding-window.svg new file mode 100644 index 0000000..4701fd6 --- /dev/null +++ b/images/templates/dsa-techniques/02-sliding-window.svg @@ -0,0 +1,45 @@ + + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Sliding Window + + Track a subset of data that moves through a larger set + + + + + 1 + + + + 2 + + 3 + + 4 + + + 5 + + 6 + + Window Size: 3 + + When to use: + • Maximum sum subarray of size k + • Longest substring without repeating chars + • Minimum window substring + • String anagrams + + + Time: O(n) + Space: O(1) + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/03-binary-search.svg b/images/templates/dsa-techniques/03-binary-search.svg new file mode 100644 index 0000000..fef6157 --- /dev/null +++ b/images/templates/dsa-techniques/03-binary-search.svg @@ -0,0 +1,46 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Binary Search + + Divide search space in half each iteration + + + + + 1 + + 3 + + 5 + + 7 + + 9 + + 11 + + 13 + + low + mid + high + + target = 7 → Found at mid! + + When to use: + • Sorted arrays + • Finding boundaries (first/last occurrence) + • Search in rotated arrays + • Finding peak elements + + Time: O(log n) + Space: O(1) + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/04-dfs.svg b/images/templates/dsa-techniques/04-dfs.svg new file mode 100644 index 0000000..8370fea --- /dev/null +++ b/images/templates/dsa-techniques/04-dfs.svg @@ -0,0 +1,50 @@ + + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + DFS + Depth-First Search + + + + + 1 + + + + + + 2 + + 3 + + + + + + 4 + + 5 + + Visit: 1 → 2 → 4 → 5 → 3 + + + Use Cases + + • Path finding + • Cycle detection + • Topological sort + • Connected components + • Maze solving + + Time: O(V + E) + Space: O(V) + + Goes deep before going wide + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/05-bfs.svg b/images/templates/dsa-techniques/05-bfs.svg new file mode 100644 index 0000000..8624e50 --- /dev/null +++ b/images/templates/dsa-techniques/05-bfs.svg @@ -0,0 +1,49 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + BFS + Breadth-First Search + + + + + 1 + + + + + + 2 + + 3 + + + + + + 4 + + 5 + + Level 0: 1 → Level 1: 2,3 → Level 2: 4,5 + + + Use Cases + + • Shortest path (unweighted) + • Level order traversal + • Finding neighbors + • Web crawling + • Social network connections + + Time: O(V + E) + Space: O(V) + + Explores all neighbors before going deeper + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/06-dynamic-programming.svg b/images/templates/dsa-techniques/06-dynamic-programming.svg new file mode 100644 index 0000000..3f5b67d --- /dev/null +++ b/images/templates/dsa-techniques/06-dynamic-programming.svg @@ -0,0 +1,35 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Dynamic + Programming + + Break complex problems into simpler subproblems + + + Key Properties: + 1. Optimal Substructure + 2. Overlapping Subproblems + + + Top-Down (Memoization) + • Recursive approach + • Cache computed results + • More intuitive + + + Bottom-Up (Tabulation) + • Iterative approach + • Build from base cases + • Often more efficient + + Classic Problems: + Fibonacci | Knapsack | LCS | LIS | Coin Change | Edit Distance + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/07-backtracking.svg b/images/templates/dsa-techniques/07-backtracking.svg new file mode 100644 index 0000000..3917714 --- /dev/null +++ b/images/templates/dsa-techniques/07-backtracking.svg @@ -0,0 +1,45 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Backtracking + + Explore all possibilities, abandon invalid paths + + + + Decision Tree for [1,2,3] Subsets + + + [ ] + + + + + + [1] + + [ ] + + + + + + [1,2] + + [1] + + Each branch: include or exclude current element + + Classic Problems: + N-Queens | Sudoku Solver | Permutations | Combinations + Word Search | Subset Sum | Palindrome Partitioning + + Time: O(2^n) typical + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/08-greedy.svg b/images/templates/dsa-techniques/08-greedy.svg new file mode 100644 index 0000000..306b46f --- /dev/null +++ b/images/templates/dsa-techniques/08-greedy.svg @@ -0,0 +1,38 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Greedy + Algorithm + + Make locally optimal choices at each step + + + The Greedy Choice Property + A globally optimal solution can be reached by making locally optimal choices + + + Works When + Greedy choice leads to + optimal solution + + + Fails When + Local optima doesn't + lead to global optima + + + Time + O(n log n) + typically with sorting + + Classic Problems: + Activity Selection | Huffman Coding | Fractional Knapsack + Job Scheduling | Minimum Spanning Tree | Dijkstra's + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/09-divide-conquer.svg b/images/templates/dsa-techniques/09-divide-conquer.svg new file mode 100644 index 0000000..59bbb59 --- /dev/null +++ b/images/templates/dsa-techniques/09-divide-conquer.svg @@ -0,0 +1,47 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Divide & + Conquer + + Break problem into smaller subproblems, solve, combine + + + + + Original Problem + + + + + + Subproblem 1 + + Subproblem 2 + + + + + + Solution 1 + + Solution 2 + + + + + COMBINE + + Classic Problems: + Merge Sort | Quick Sort | Binary Search | Strassen's Matrix + Maximum Subarray | Closest Pair of Points + + Time: O(n log n) typical + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/10-hashmap.svg b/images/templates/dsa-techniques/10-hashmap.svg new file mode 100644 index 0000000..0cc3e80 --- /dev/null +++ b/images/templates/dsa-techniques/10-hashmap.svg @@ -0,0 +1,53 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Hash Map + + O(1) average lookup, insert, delete + + + + Hash Table Structure + + + 0 + + + + 1 + + "apple" → 5 + + + 2 + + + + 3 + + "banana" → 3 + + + 4 + + + + Use Cases + + • Two Sum problem + • Frequency counting + • Anagram detection + • Caching (LRU) + • Group elements + + Avg: O(1) | Worst: O(n) + + Trade-off: Space O(n) for Time O(1) + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/11-stack.svg b/images/templates/dsa-techniques/11-stack.svg new file mode 100644 index 0000000..fa5355d --- /dev/null +++ b/images/templates/dsa-techniques/11-stack.svg @@ -0,0 +1,48 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Stack + + LIFO - Last In, First Out + + + + Stack Operations + + + TOP → 42 + + + 15 + + + 8 + + + 23 + + Push ↓ | Pop ↑ + + + + Common Problems + + • Valid Parentheses + • Min Stack + • Evaluate RPN + • Daily Temperatures + • Largest Rectangle in Histogram + • Next Greater Element + + + All ops: O(1) + + Tip: Think stack when you need to "go back" or match pairs + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/12-queue.svg b/images/templates/dsa-techniques/12-queue.svg new file mode 100644 index 0000000..590aa90 --- /dev/null +++ b/images/templates/dsa-techniques/12-queue.svg @@ -0,0 +1,60 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Queue + + FIFO - First In, First Out + + + + Queue Flow + + Enqueue → + + + NEW + + + 3 + + + 7 + + + 12 + + + 5 + + + FRONT + + → Dequeue + + + Operations + enqueue(x) + O(1) + dequeue() + O(1) + peek() + O(1) + + + Common Problems + • BFS Traversal + • Level Order Traversal + • Sliding Window Max + • Task Scheduler + • Design Hit Counter + • Moving Average + + Variants: Deque | Priority Queue | Circular Queue + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/13-heap.svg b/images/templates/dsa-techniques/13-heap.svg new file mode 100644 index 0000000..7204a80 --- /dev/null +++ b/images/templates/dsa-techniques/13-heap.svg @@ -0,0 +1,53 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Heap / + Priority Queue + + Access min/max in O(1), insert/delete in O(log n) + + + + Min Heap Structure + + + 1 + + + + + + 3 + + 2 + + + + + + 7 + + 4 + + + + Common Problems + + • Kth Largest Element + • Merge K Sorted Lists + • Top K Frequent + • Find Median (2 heaps) + • Task Scheduler + • Dijkstra's Algorithm + + Insert: O(log n) | Extract: O(log n) | Peek: O(1) + + Heapify entire array: O(n) + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/14-linked-list.svg b/images/templates/dsa-techniques/14-linked-list.svg new file mode 100644 index 0000000..2868643 --- /dev/null +++ b/images/templates/dsa-techniques/14-linked-list.svg @@ -0,0 +1,63 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Linked List + + Sequential access, efficient insert/delete at known positions + + + + Singly Linked List: + + + HEAD + val: 1 + + + + + val: 2 + + + + + val: 3 + + + + + TAIL + val: 4 + + + NULL + + + Time Complexity + + Access by index + O(n) + Insert at head/tail + O(1) + Delete at known pos + O(1) + + + Classic Problems + + • Reverse Linked List + • Detect Cycle + • Merge Two Lists + • LRU Cache + • Add Two Numbers + • Remove Nth Node + + Tip: Use dummy head node to simplify edge cases + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/15-recursion.svg b/images/templates/dsa-techniques/15-recursion.svg new file mode 100644 index 0000000..2e0d6b6 --- /dev/null +++ b/images/templates/dsa-techniques/15-recursion.svg @@ -0,0 +1,47 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Recursion + + A function that calls itself with a smaller problem + + + + Factorial Example: n! = n × (n-1)! + + + factorial(4) + + + + + 4 × factorial(3) + + + + + 3 × factorial(2) + + → 24 + → 6 + → 2 + + ... until base case: factorial(1) = 1 + + + Key Components + 1. Base Case - When to stop + 2. Recursive Case - Make progress + + + Classic Problems + Fibonacci | Tower of Hanoi + Tree Traversal | Merge Sort + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/16-prefix-sum.svg b/images/templates/dsa-techniques/16-prefix-sum.svg new file mode 100644 index 0000000..3d65f95 --- /dev/null +++ b/images/templates/dsa-techniques/16-prefix-sum.svg @@ -0,0 +1,59 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Prefix Sum + + Precompute cumulative sums for O(1) range queries + + + + Original Array: + + + 1 + + 2 + + 3 + + 4 + + 5 + + arr = [1, 2, 3, 4, 5] + + Prefix Sum Array: + + + 1 + + 3 + + 6 + + 10 + + 15 + + prefix[i] = sum(0...i) + + + Range Sum Formula + sum(l, r) = prefix[r] - prefix[l-1] + sum(1,3) = prefix[3] - prefix[0] = 10 - 1 = 9 + + + Classic Problems + • Range Sum Query + • Subarray Sum Equals K + • 2D Matrix Sum + + Preprocess: O(n) | Query: O(1) + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/17-monotonic-stack.svg b/images/templates/dsa-techniques/17-monotonic-stack.svg new file mode 100644 index 0000000..253ecc5 --- /dev/null +++ b/images/templates/dsa-techniques/17-monotonic-stack.svg @@ -0,0 +1,48 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Monotonic + Stack + + Stack maintaining increasing/decreasing order + + + + Monotonic Decreasing Stack + Finding next greater element + + + 15 + + + 10 + + + 5 + + 15 > 10 > 5 + Always decreasing + from bottom to top + + + + Classic Problems + + • Next Greater Element + • Daily Temperatures + • Largest Rectangle in Histogram + • Trapping Rain Water + • Stock Span Problem + • Sliding Window Maximum + + Time: O(n) - each element pushed/popped at most once + + Use when: Finding previous/next greater/smaller elements + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/18-trie.svg b/images/templates/dsa-techniques/18-trie.svg new file mode 100644 index 0000000..df57235 --- /dev/null +++ b/images/templates/dsa-techniques/18-trie.svg @@ -0,0 +1,59 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Trie + (Prefix Tree) + + Efficient string prefix operations + + + + Trie storing: "cat", "car", "card" + + + root + + + + + c + + + + + a + + + + + + t + cat + + + r + car + + + Operations + insert(word) + O(m) + search(word) + O(m) + m = word length + + + Classic Problems + • Autocomplete + • Word Search II + • Implement Trie + + Space: O(alphabet_size × word_length × num_words) + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/19-union-find.svg b/images/templates/dsa-techniques/19-union-find.svg new file mode 100644 index 0000000..334e57f --- /dev/null +++ b/images/templates/dsa-techniques/19-union-find.svg @@ -0,0 +1,54 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Union Find + (Disjoint Set Union) + + Track connected components with near-constant operations + + + + Before Union(1,4): + + + 1 + + 2 + + 3 + + + + + + 4 + + 5 + + + + Two separate sets: {1,2,3} and {4,5} + After Union: All connected under one root + + + Operations + find(x) | union(x,y) + O(α(n)) + α = inverse Ackermann (nearly constant) + + + Optimizations + • Path Compression + • Union by Rank/Size + + Classic Problems: + Number of Connected Components | Kruskal's MST + Redundant Connection | Accounts Merge | Graph Valid Tree + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/20-sorting.svg b/images/templates/dsa-techniques/20-sorting.svg new file mode 100644 index 0000000..b757542 --- /dev/null +++ b/images/templates/dsa-techniques/20-sorting.svg @@ -0,0 +1,53 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Sorting + Algorithms + + Know when to use which sorting approach + + + Comparison-Based + + + Quick Sort + O(n log n) avg + + + Merge Sort + O(n log n) + + + Heap Sort + O(n log n) + + + Bubble/Insert/Select + O(n²) + + + Non-Comparison + + Counting Sort + O(n+k) + + Radix Sort + O(nk) + + Bucket Sort + O(n+k) + + k = range of input values + + Best for: integers with small range + + Stable sorts preserve relative order of equal elements + Stable: Merge, Counting, Radix | Unstable: Quick, Heap + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/21-graph-algorithms.svg b/images/templates/dsa-techniques/21-graph-algorithms.svg new file mode 100644 index 0000000..b063620 --- /dev/null +++ b/images/templates/dsa-techniques/21-graph-algorithms.svg @@ -0,0 +1,50 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Graph + Algorithms + + Essential algorithms for graph problems + + + Shortest Path + + + Dijkstra's + Non-negative weights + O(E log V) + + + Bellman-Ford + Handles negative weights + O(VE) + + + Floyd-Warshall + All pairs shortest path + O(V³) + + BFS for unweighted: O(V+E) + + + Minimum Spanning Tree + Kruskal's (Union-Find) + O(E log E) + Prim's (Priority Queue) + O(E log V) + + + Topological Sort + For DAGs (Directed Acyclic) + DFS-based or Kahn's (BFS) + O(V+E) + + Also: Tarjan's SCC | Kosaraju's | Articulation Points + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa-techniques/22-bit-manipulation.svg b/images/templates/dsa-techniques/22-bit-manipulation.svg new file mode 100644 index 0000000..834ceed --- /dev/null +++ b/images/templates/dsa-techniques/22-bit-manipulation.svg @@ -0,0 +1,46 @@ + + + + DEV WEEKENDS + + + DSA TECHNIQUE + + Bit + Manipulation + + Leverage binary representation for efficient operations + + + Common Operations + + n & (n-1) + Clear lowest set bit + + n & (-n) + Get lowest set bit + + n | (1 << i) + Set bit at position i + + n ^ n = 0 + XOR self is zero + + n ^ 0 = n + XOR zero is self + + + Power of 2 Check + n & (n-1) == 0 + True if n is power of 2 + + + Classic Problems + • Single Number (XOR) + • Counting Bits + + Subset generation: Iterate 0 to 2^n - 1 + Each bit represents include/exclude decision + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa/01-problem-card.svg b/images/templates/dsa/01-problem-card.svg new file mode 100644 index 0000000..ce3838e --- /dev/null +++ b/images/templates/dsa/01-problem-card.svg @@ -0,0 +1,54 @@ + + + + + + DEV WEEKENDS + + + + DSA PROBLEM + + + + EASY + + + Two Sum + + + #1 + + + Given an array of integers nums and an integer + target, return indices of the two numbers such + that they add up to target. + + + + + + + + function + twoSum(nums, target) { + const + map = + new + Map + (); + // Your solution here... + } + + + + Array + + + Hash Table + + + + Try it yourself! Comment your approach 👇 + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa/02-concept-explainer.svg b/images/templates/dsa/02-concept-explainer.svg new file mode 100644 index 0000000..e8306e2 --- /dev/null +++ b/images/templates/dsa/02-concept-explainer.svg @@ -0,0 +1,60 @@ + + + + + DEV WEEKENDS + + + + CONCEPT + + + Binary Search + Explained + + + + + + + 1 + + + 3 + + + 5 + + + 7 + + + 9 + mid + + + 11 + + + 13 + + + 15 + + + + Time Complexity + O(log n) + + + Space Complexity + O(1) + + + ✓ Works on sorted arrays + ✓ Divides search space in half each step + ✓ Much faster than linear search for large datasets + + + Save for your DSA prep 📌 + \ No newline at end of file diff --git a/images/templates/dsa/03-cheat-sheet.svg b/images/templates/dsa/03-cheat-sheet.svg new file mode 100644 index 0000000..c7e3028 --- /dev/null +++ b/images/templates/dsa/03-cheat-sheet.svg @@ -0,0 +1,69 @@ + + + + + DEV WEEKENDS + + + Big O Cheat Sheet + + + + + + + Notation + Name + Example + + + O(1) + Constant + Array access + + + + + O(log n) + Logarithmic + Binary search + + + + + O(n) + Linear + Simple loop + + + + + O(n log n) + Linearithmic + Merge sort + + + + + O(n²) + Quadratic + Bubble sort + + + + + O(2ⁿ) + Exponential + Fibonacci recursive + + + + + O(n!) + Factorial + Permutations + + + 🟢 Fast → 🔴 Slow + @devweekends • Save this! + \ No newline at end of file diff --git a/images/templates/dsa/04-roadmap-carousel.svg b/images/templates/dsa/04-roadmap-carousel.svg new file mode 100644 index 0000000..a5b4445 --- /dev/null +++ b/images/templates/dsa/04-roadmap-carousel.svg @@ -0,0 +1,42 @@ + + + + + DEV WEEKENDS + + + SWIPE → + + + + DSA ROADMAP + + + 7 + + + Data Structures + You Must Master + + + + + + Before your next technical interview + + + 1. Arrays & Strings + 2. Linked Lists + 3. Stacks & Queues + ... + + + + + + + + + + @devweekends + \ No newline at end of file diff --git a/images/templates/dsa/05-daily-challenge.svg b/images/templates/dsa/05-daily-challenge.svg new file mode 100644 index 0000000..5cd13ec --- /dev/null +++ b/images/templates/dsa/05-daily-challenge.svg @@ -0,0 +1,59 @@ + + + + + + DEV WEEKENDS + + + + DAILY CHALLENGE + + + + DAY + 15 + + + Reverse a + Linked List + + + + MEDIUM + + + + + + Before: + + 1 + + + 2 + + + 3 + + + After: + + 3 + + + 2 + + + 1 + + + 💡 Think about three pointers: prev, curr, next + ⏱️ Solve in under 15 minutes + 🎯 Aim for O(n) time, O(1) space + + + + Drop your solution in comments! 👇 + #100DaysOfDSA + \ No newline at end of file diff --git a/images/templates/engineering/01-big-o-notation.svg b/images/templates/engineering/01-big-o-notation.svg new file mode 100644 index 0000000..78f57ad --- /dev/null +++ b/images/templates/engineering/01-big-o-notation.svg @@ -0,0 +1,39 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + Big O + Notation + + Measure algorithm efficiency + + + + Common Complexities (best to worst) + + + O(1) + Constant + + + O(log n) + Logarithmic + + + O(n) + Linear + + + O(n log n) + Linearithmic + + + O(n^2) + Quadratic + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/01-memory-layout.svg b/images/templates/engineering/01-memory-layout.svg new file mode 100644 index 0000000..143d3b5 --- /dev/null +++ b/images/templates/engineering/01-memory-layout.svg @@ -0,0 +1,31 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + Memory Layout + Stack vs Heap Allocation + + + + // Stack: Fast, automatic, limited size + int x = 42; // Stack allocated + char arr[100]; // Stack array + + // Heap: Flexible, manual, slower + int* ptr = malloc(sizeof(int) * 100); + free(ptr); // Must free! + + // Modern C++: RAII pattern + auto vec = std::vector<int>(100); + // Automatic cleanup on scope exit + + + + Understanding memory is key to performance + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/02-cpu-cache-lines.svg b/images/templates/engineering/02-cpu-cache-lines.svg new file mode 100644 index 0000000..e139fbc --- /dev/null +++ b/images/templates/engineering/02-cpu-cache-lines.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + CPU Cache Lines + Cache-Friendly Code + + + + // Bad: Column-major access (cache misses) + for (int j = 0; j < cols; j++) + for (int i = 0; i < rows; i++) + arr[i][j] = 0; // Cache unfriendly + + // Good: Row-major access (sequential) + for (int i = 0; i < rows; i++) + for (int j = 0; j < cols; j++) + arr[i][j] = 0; // Cache friendly! + + // Cache line = 64 bytes on most CPUs + // 10-100x faster with good locality + + + + Memory access patterns matter more than algorithms + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/02-solid-principles.svg b/images/templates/engineering/02-solid-principles.svg new file mode 100644 index 0000000..87322a5 --- /dev/null +++ b/images/templates/engineering/02-solid-principles.svg @@ -0,0 +1,40 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + SOLID + Principles + + + + + S + Single Responsibility + One class, one job + + + O + Open/Closed + Open for extension, closed for modification + + + L + Liskov Substitution + Subtypes replaceable for base types + + + I + Interface Segregation + Many specific interfaces over one general + + + D + Dependency Inversion + Depend on abstractions, not concretions + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/03-branch-prediction.svg b/images/templates/engineering/03-branch-prediction.svg new file mode 100644 index 0000000..33f9065 --- /dev/null +++ b/images/templates/engineering/03-branch-prediction.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + Branch Prediction + Avoiding Pipeline Stalls + + + + // Unpredictable branches hurt performance + for (int i = 0; i < n; i++) + if (arr[i] > 128) // Random data = bad + sum += arr[i]; + + // Sorted data = predictable branches + std::sort(arr, arr + n); + for (int i = 0; i < n; i++) + if (arr[i] > 128) // Predictable! + sum += arr[i]; // 6x faster + + // Branch misprediction: ~15 cycle penalty + + + + Make your branches predictable for the CPU + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/03-rest-api-practices.svg b/images/templates/engineering/03-rest-api-practices.svg new file mode 100644 index 0000000..3ecc3dd --- /dev/null +++ b/images/templates/engineering/03-rest-api-practices.svg @@ -0,0 +1,43 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + REST API + Best Practices + + + + + Use Nouns, Not Verbs + /users not /getUsers + + + HTTP Methods + GET, POST, PUT, DELETE + + + Proper Status Codes + 200, 201, 400, 401, 404, 500 + + + Version Your API + /api/v1/users + + + Pagination + ?page=1&limit=20 + + + Filtering & Sorting + ?sort=name&filter=active + + + Consistent Error Responses + {"error": "message", "code": "ERROR_CODE"} + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/04-false-sharing.svg b/images/templates/engineering/04-false-sharing.svg new file mode 100644 index 0000000..a04f3b7 --- /dev/null +++ b/images/templates/engineering/04-false-sharing.svg @@ -0,0 +1,31 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + False Sharing + Hidden Concurrency Killer + + + + // Bad: Variables share cache line + struct Counters { + int counter1; // Thread 1 + int counter2; // Thread 2 + }; // Same cache line! + + // Good: Pad to separate cache lines + struct Counters { + alignas(64) int counter1; + alignas(64) int counter2; + }; // Now in separate cache lines + + + + False sharing can make parallel code slower than serial + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/04-git-commands.svg b/images/templates/engineering/04-git-commands.svg new file mode 100644 index 0000000..d90559b --- /dev/null +++ b/images/templates/engineering/04-git-commands.svg @@ -0,0 +1,53 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + Git + Commands + + Essential commands every dev should know + + + + + git clone + Copy remote repo + + + git branch + List/create branches + + + git checkout + Switch branches + + + git merge + Combine branches + + + git rebase + Replay commits + + + git stash + Save changes temp + + + git reset + Undo commits + + + git cherry-pick + Pick specific commit + + + git reflog + Recovery tool - shows all HEAD history + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/05-http-status-codes.svg b/images/templates/engineering/05-http-status-codes.svg new file mode 100644 index 0000000..1f39ae2 --- /dev/null +++ b/images/templates/engineering/05-http-status-codes.svg @@ -0,0 +1,53 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + HTTP + Status Codes + + + + + 2xx Success + 200 OK | 201 Created | 204 No Content + + + 3xx Redirect + 301 Moved | 302 Found | 304 Not Modified + + + 4xx Client Error + 400 Bad Request | 401 Unauthorized | 404 Not Found + + + 5xx Server Error + 500 Internal | 502 Bad Gateway | 503 Unavailable + + Most Common Codes + + + 200 + + + 201 + + + 400 + + + 401 + + + 404 + + + 500 + + 418 I'm a teapot - yes, it's real + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/05-memory-barriers.svg b/images/templates/engineering/05-memory-barriers.svg new file mode 100644 index 0000000..616d68c --- /dev/null +++ b/images/templates/engineering/05-memory-barriers.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + Memory Barriers + Ordering Guarantees + + + + // Without barriers: reordering possible + data = 42; // Can be reordered! + ready = true; // Another thread sees + // ready before data + + // With atomic operations and barriers + data = 42; + std::atomic_thread_fence(release); + ready.store(true, std::memory_order_release); + + // Reader side + while (!ready.load(memory_order_acquire)); + + + + CPUs and compilers reorder memory operations + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/06-clean-code.svg b/images/templates/engineering/06-clean-code.svg new file mode 100644 index 0000000..c55fa0e --- /dev/null +++ b/images/templates/engineering/06-clean-code.svg @@ -0,0 +1,42 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + Clean Code + Principles + + + + + Meaningful Names + Variables and functions should reveal intent + + + Small Functions + Do one thing, do it well + + + DRY + Don't Repeat Yourself + + + Comments + Explain why, not what + + + Error Handling + Use exceptions, not error codes + + + Formatting + Consistent style across the codebase + + "Any fool can write code that a computer can understand. Good programmers + write code that humans can understand." - Martin Fowler + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/06-tail-call-optimization.svg b/images/templates/engineering/06-tail-call-optimization.svg new file mode 100644 index 0000000..4e18009 --- /dev/null +++ b/images/templates/engineering/06-tail-call-optimization.svg @@ -0,0 +1,31 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + Tail Call Optimization + Avoiding Stack Overflow + + + + // Not tail-recursive: stack grows + function factorial(n) { + if (n <= 1) return 1; + return n * factorial(n - 1); // BAD + } + + // Tail-recursive: constant stack + function factorial(n, acc = 1) { + if (n <= 1) return acc; + return factorial(n-1, n*acc); // GOOD + } + + + + Tail calls reuse the same stack frame + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/07-copy-on-write.svg b/images/templates/engineering/07-copy-on-write.svg new file mode 100644 index 0000000..4b57855 --- /dev/null +++ b/images/templates/engineering/07-copy-on-write.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + Copy-on-Write + Lazy Deep Copy Pattern + + + + // Expensive: Immediate deep copy + let b = structuredClone(a); // Full copy + b.name = "new"; // Rarely modified + + // CoW: Share until modification + class CoWString { + constructor(data) { + this.data = data; + this.refCount = 1; + } + // Copy only on write... + } + + + + Used in OS fork(), Swift strings, Git objects + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/07-database-indexing.svg b/images/templates/engineering/07-database-indexing.svg new file mode 100644 index 0000000..d573275 --- /dev/null +++ b/images/templates/engineering/07-database-indexing.svg @@ -0,0 +1,37 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + Database + Indexing + + Speed up queries with proper indexes + + + + + B-Tree Index + Default, good for range queries + + + Hash Index + Fast for equality lookups + + + Composite Index + Multiple columns, order matters + + + Covering Index + All query columns in index + + + When to Index + WHERE clauses, JOIN columns, ORDER BY, frequently queried columns + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/08-instruction-pipelining.svg b/images/templates/engineering/08-instruction-pipelining.svg new file mode 100644 index 0000000..2d459af --- /dev/null +++ b/images/templates/engineering/08-instruction-pipelining.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + Instruction Pipelining + CPU Parallelism Basics + + + + // Pipeline stages: Fetch, Decode, Execute + // Without pipeline: + // Instr1: [F][D][E] + // Instr2: [F][D][E] + + // With pipeline (overlapping): + // Instr1: [F][D][E] + // Instr2: [F][D][E] + // Instr3: [F][D][E] + + // Data dependencies cause stalls + x = a + b; y = x * 2; // y waits for x + + + + Modern CPUs have 14-20 pipeline stages + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/08-testing-pyramid.svg b/images/templates/engineering/08-testing-pyramid.svg new file mode 100644 index 0000000..64fd4bc --- /dev/null +++ b/images/templates/engineering/08-testing-pyramid.svg @@ -0,0 +1,38 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + Testing + Pyramid + + + + + + E2E + Few, slow + + + + Integration Tests + API, Database, Services + + + + Unit Tests + Many, fast, isolated + + Slow + Fast + + + + + 70% Unit | 20% Integration | 10% E2E + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/09-cicd-pipeline.svg b/images/templates/engineering/09-cicd-pipeline.svg new file mode 100644 index 0000000..b8f39ae --- /dev/null +++ b/images/templates/engineering/09-cicd-pipeline.svg @@ -0,0 +1,58 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + CI/CD + Pipeline + + Continuous Integration & Delivery + + + + + Code + Push + + + + + + Build + Compile + + + + + + Test + Unit + Int + + + + + + Deploy + Staging + + + + + + Prod + + + CI: Continuous Integration + Merge frequently, test automatically + + + CD: Continuous Delivery + Always ready to deploy to production + + Tools: GitHub Actions, Jenkins, GitLab CI, CircleCI + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/09-system-calls.svg b/images/templates/engineering/09-system-calls.svg new file mode 100644 index 0000000..471528d --- /dev/null +++ b/images/templates/engineering/09-system-calls.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + System Calls + User to Kernel Mode + + + + // Every syscall has overhead + // Bad: Many small writes + for (char c : data) + write(fd, &c, 1); // 1 syscall/char! + + // Good: Buffered I/O + char buffer[4096]; + // Fill buffer... + write(fd, buffer, 4096); // 1 syscall + + // Syscall cost: ~100-1000 CPU cycles + // Context switch + security checks + + + + Batch your I/O operations to minimize syscalls + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/10-docker-basics.svg b/images/templates/engineering/10-docker-basics.svg new file mode 100644 index 0000000..a008f5d --- /dev/null +++ b/images/templates/engineering/10-docker-basics.svg @@ -0,0 +1,46 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + Docker + Basics + + Containerize your applications + + + + + docker build -t app . + Build image from Dockerfile + + + docker run -p 3000:3000 app + Run container with port mapping + + + docker ps + List running containers + + + docker-compose up + Start multi-container app + + + Basic Dockerfile + FROM + node:18 + WORKDIR + /app + COPY + . . + RUN + npm install + CMD + ["npm", "start"] + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/10-virtual-memory.svg b/images/templates/engineering/10-virtual-memory.svg new file mode 100644 index 0000000..b855ece --- /dev/null +++ b/images/templates/engineering/10-virtual-memory.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + Virtual Memory + Page Tables & TLB + + + + // Virtual address → Physical address + // Page size: typically 4KB + // Huge pages: 2MB or 1GB + + // TLB miss is expensive (~100 cycles) + // Use huge pages for large allocations + mmap(NULL, size, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_HUGETLB, -1, 0); + + // Linux: Enable transparent huge pages + echo always > /sys/.../transparent_hugepage + madvise(ptr, len, MADV_HUGEPAGE); + + + + TLB misses can dominate memory-intensive workloads + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/11-auth-vs-authz.svg b/images/templates/engineering/11-auth-vs-authz.svg new file mode 100644 index 0000000..669f5d4 --- /dev/null +++ b/images/templates/engineering/11-auth-vs-authz.svg @@ -0,0 +1,41 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + Authentication + vs Authorization + + + + + Authentication + "Who are you?" + Verifying identity + Login, passwords, tokens + + + Authorization + "What can you do?" + Checking permissions + Roles, access control + + Common Methods + + + JWT + + + OAuth 2.0 + + + Session + + + RBAC + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/11-lock-free-structures.svg b/images/templates/engineering/11-lock-free-structures.svg new file mode 100644 index 0000000..930d8e3 --- /dev/null +++ b/images/templates/engineering/11-lock-free-structures.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + Lock-Free Structures + Compare-and-Swap + + + + // Lock-free stack push using CAS + void push(Node* node) { + Node* oldHead; + do { + oldHead = head.load(); + node->next = oldHead; + } while (!head.compare_exchange_weak( + oldHead, node)); + } + + // No mutex = no blocking! + // Beware: ABA problem exists + + + + CAS is the building block of lock-free code + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/12-api-vs-sdk.svg b/images/templates/engineering/12-api-vs-sdk.svg new file mode 100644 index 0000000..eccecb3 --- /dev/null +++ b/images/templates/engineering/12-api-vs-sdk.svg @@ -0,0 +1,33 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + API vs + SDK + + + + + API + Application Programming Interface + Contract for communication + Between systems + Example: REST API, GraphQL + + + SDK + Software Development Kit + Pre-built tools and libraries + For specific platform + Example: Stripe SDK, AWS SDK + + + Key Difference + API = the interface | SDK = tools that wrap the API for easier use + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/12-simd-instructions.svg b/images/templates/engineering/12-simd-instructions.svg new file mode 100644 index 0000000..d891013 --- /dev/null +++ b/images/templates/engineering/12-simd-instructions.svg @@ -0,0 +1,31 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + SIMD Instructions + Vectorized Operations + + + + // Scalar: Process one element at a time + for (int i = 0; i < n; i++) + c[i] = a[i] + b[i]; // 1 op/cycle + + // SIMD: Process 8 floats at once (AVX256) + #include <immintrin.h> + for (int i = 0; i < n; i += 8) { + __m256 va = _mm256_load_ps(&a[i]); + __m256 vb = _mm256_load_ps(&b[i]); + _mm256_store_ps(&c[i], _mm256_add_ps(va,vb)); + } // 8 ops/cycle! + + + + SIMD can give 4-16x speedup for numeric code + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/13-async-await.svg b/images/templates/engineering/13-async-await.svg new file mode 100644 index 0000000..299253c --- /dev/null +++ b/images/templates/engineering/13-async-await.svg @@ -0,0 +1,46 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + Async/Await + Explained + + Write async code that looks synchronous + + + + Callback Hell + + getData(function(a) { + getMore(a, function(b) { + getSome(b, function(c) { + // callback hell + + Async/Await + + async function + load() { + const + a = + await + getData(); + const + b = + await + getMore(a); + + + Key Concepts + async + Returns a Promise + await + Pauses until Promise resolves + try/catch + Handle errors cleanly + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/13-zero-copy-io.svg b/images/templates/engineering/13-zero-copy-io.svg new file mode 100644 index 0000000..d43f3c0 --- /dev/null +++ b/images/templates/engineering/13-zero-copy-io.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + Zero-Copy I/O + Avoid Data Copying + + + + // Traditional: 4 copies, 4 context switches + read(fd, buf, len); // disk → kernel + // kernel → user + write(sock, buf, len);// user → kernel + // kernel → NIC + + // Zero-copy: Direct kernel-to-NIC + sendfile(sock, fd, NULL, len); + // disk → kernel → NIC (no user space!) + + // Also: mmap(), splice(), vmsplice() + // Used by nginx, kafka, databases + + + + Copying data is often the bottleneck + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/14-memory-alignment.svg b/images/templates/engineering/14-memory-alignment.svg new file mode 100644 index 0000000..bd3fb7f --- /dev/null +++ b/images/templates/engineering/14-memory-alignment.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + Memory Alignment + Struct Padding Tricks + + + + // Bad: Wasteful padding (24 bytes) + struct Bad { + char a; // 1 byte + 7 padding + double b; // 8 bytes + char c; // 1 byte + 7 padding + }; // Total: 24 bytes! + + // Good: Reorder by size (16 bytes) + struct Good { + double b; // 8 bytes + char a, c; // 2 bytes + 6 padding + }; // Total: 16 bytes - 33% saved! + + + + Order struct fields from largest to smallest + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/14-monolith-vs-microservices.svg b/images/templates/engineering/14-monolith-vs-microservices.svg new file mode 100644 index 0000000..e7471ec --- /dev/null +++ b/images/templates/engineering/14-monolith-vs-microservices.svg @@ -0,0 +1,49 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + Monolith vs + Microservices + + + + Monolith + + + + User Module + + Order Module + + Payment Module + + Single Codebase + + Microservices + + + Users + + + Orders + + + Payment + + + Notify + + + Simple, easy deploy + Hard to scale, single point of failure + + + Scalable, independent deploy + Complex, distributed challenges + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/15-bit-manipulation.svg b/images/templates/engineering/15-bit-manipulation.svg new file mode 100644 index 0000000..6d07c48 --- /dev/null +++ b/images/templates/engineering/15-bit-manipulation.svg @@ -0,0 +1,34 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + Bit Manipulation + Fast Low-Level Tricks + + + + // Check if power of 2 + bool isPow2 = (n & (n - 1)) == 0; + + // Swap without temp variable + a ^= b; b ^= a; a ^= b; + + // Count set bits (popcount) + int count = __builtin_popcount(n); + + // Find lowest set bit + int lowest = n & (-n); + + // Clear lowest set bit + n = n & (n - 1); + + + + Bit tricks can replace expensive operations + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/15-memory-management.svg b/images/templates/engineering/15-memory-management.svg new file mode 100644 index 0000000..ae04184 --- /dev/null +++ b/images/templates/engineering/15-memory-management.svg @@ -0,0 +1,38 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + Memory + Management + + Stack vs Heap + + + + + Stack + Local variables + Function calls + LIFO order + Fast, auto-managed + + + Heap + Dynamic allocation + Objects, arrays + Random access + Slower, needs GC + + + Common Issues + Stack Overflow + Memory Leak + Dangling Pointer + Heap Fragmentation + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/16-code-review-tips.svg b/images/templates/engineering/16-code-review-tips.svg new file mode 100644 index 0000000..86931cd --- /dev/null +++ b/images/templates/engineering/16-code-review-tips.svg @@ -0,0 +1,43 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + Code + Review Tips + + + + + Review Small PRs + 200-400 lines max, easier to catch bugs + + + Be Constructive + Suggest improvements, not just criticize + + + Check Logic First + Does it solve the problem correctly? + + + Test Coverage + Are edge cases handled? + + + Security Check + SQL injection, XSS, auth issues + + + Readability + Will others understand this code? + + + "Approve with comments" for minor issues + Don't block on style preferences - use linters for that + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/16-event-loop.svg b/images/templates/engineering/16-event-loop.svg new file mode 100644 index 0000000..6b3b20a --- /dev/null +++ b/images/templates/engineering/16-event-loop.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + Event Loop + Non-Blocking I/O + + + + // epoll-based event loop (Linux) + int epfd = epoll_create1(0); + epoll_ctl(epfd, EPOLL_CTL_ADD, fd, &ev); + + while (running) { + int n = epoll_wait(epfd, events, MAX, -1); + for (int i = 0; i < n; i++) { + if (events[i].events & EPOLLIN) + handle_read(events[i].data.fd); + } + } + + // Handles 100K+ connections/thread + + + + Foundation of Node.js, nginx, Redis + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/17-environment-variables.svg b/images/templates/engineering/17-environment-variables.svg new file mode 100644 index 0000000..7718dfb --- /dev/null +++ b/images/templates/engineering/17-environment-variables.svg @@ -0,0 +1,35 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + Environment + Variables + + Keep secrets out of code + + + + + .env file (never commit!) + DATABASE_URL + =postgres://user:pass@localhost:5432/db + API_KEY + =sk_live_xxxxxxxxxxxx + + + Access in Code + process.env.DATABASE_URL + + + .env.example (commit this) + DATABASE_URL=your_db_url + + + Add .env to .gitignore | Use secrets manager in production + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/17-memory-pool.svg b/images/templates/engineering/17-memory-pool.svg new file mode 100644 index 0000000..5112c49 --- /dev/null +++ b/images/templates/engineering/17-memory-pool.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + Memory Pool + Avoid Allocation Overhead + + + + // Pre-allocate objects to avoid malloc + template<typename T, size_t N> + class ObjectPool { + T pool[N]; + std::stack<T*> free_list; + + public: + T* acquire() { + T* obj = free_list.top(); + free_list.pop(); + return obj; // O(1), no syscall! + } + + + + Used in games, real-time systems, databases + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/18-bloom-filters.svg b/images/templates/engineering/18-bloom-filters.svg new file mode 100644 index 0000000..232333f --- /dev/null +++ b/images/templates/engineering/18-bloom-filters.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + Bloom Filters + Probabilistic Data Structure + + + + // Space-efficient set membership test + class BloomFilter { + bitset<1000000> bits; + + void add(string s) { + bits.set(hash1(s) % size); + bits.set(hash2(s) % size); + } + + bool mayContain(string s) { + return bits[hash1(s)] && bits[hash2(s)]; + } // False positives possible! + }; + + + + Used by databases to avoid disk lookups + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/18-semantic-versioning.svg b/images/templates/engineering/18-semantic-versioning.svg new file mode 100644 index 0000000..178e66d --- /dev/null +++ b/images/templates/engineering/18-semantic-versioning.svg @@ -0,0 +1,47 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + Semantic + Versioning + + MAJOR.MINOR.PATCH + + + + + 2 + MAJOR + + . + + + 4 + MINOR + + . + + + 1 + PATCH + + + MAJOR + Breaking changes + + + MINOR + New features, backward compatible + + + PATCH + Bug fixes + + Start at 0.1.0 for development, 1.0.0 for first stable release + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/19-debugging-techniques.svg b/images/templates/engineering/19-debugging-techniques.svg new file mode 100644 index 0000000..6b7a325 --- /dev/null +++ b/images/templates/engineering/19-debugging-techniques.svg @@ -0,0 +1,42 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + Debugging + Techniques + + + + + Rubber Duck Debugging + Explain code line by line to find bugs + + + Binary Search + Comment out half the code, narrow down + + + Print Statements + console.log() is your friend + + + Breakpoints + Pause and inspect state in debugger + + + Read the Error + Actually read the stack trace first + + + Reproduce First + Cant fix what you cant reproduce + + + "If debugging is removing bugs, then programming is adding them" + + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/19-write-amplification.svg b/images/templates/engineering/19-write-amplification.svg new file mode 100644 index 0000000..0e5f733 --- /dev/null +++ b/images/templates/engineering/19-write-amplification.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + Write Amplification + SSD & Database Concern + + + + // Write amplification = physical / logical + // Writing 1 byte can write 4KB page! + + // Bad: Random small writes + UPDATE users SET age = 25 WHERE id = 1; + // Rewrites entire page + WAL + index + + // Good: LSM trees (append-only) + // RocksDB, LevelDB, Cassandra + // Write to memtable → flush to SST + // Sequential writes, compact later + + // WA affects SSD lifespan & perf + + + + Key metric for database and storage design + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/20-jit-compilation.svg b/images/templates/engineering/20-jit-compilation.svg new file mode 100644 index 0000000..a834ed6 --- /dev/null +++ b/images/templates/engineering/20-jit-compilation.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + ENGINEERING + + JIT Compilation + Runtime Optimization + + + + // JIT: Compile at runtime with profiling + // Stage 1: Interpreted (slow) + function add(a, b) { return a + b; } + + // Stage 2: Baseline compile (faster) + // After ~100 calls, type profile built + + // Stage 3: Optimized (near native) + // Inline, specialize for int+int + // Deoptimize if types change! + + // V8, HotSpot JVM, PyPy use tiered JIT + + + + Why monomorphic code is faster in JS/Python + @devweekends + \ No newline at end of file diff --git a/images/templates/engineering/20-technical-debt.svg b/images/templates/engineering/20-technical-debt.svg new file mode 100644 index 0000000..f35f5ee --- /dev/null +++ b/images/templates/engineering/20-technical-debt.svg @@ -0,0 +1,41 @@ + + + + DEV WEEKENDS + + + ENGINEERING + + Technical + Debt + + Shortcuts now = pain later + + + + Types of Technical Debt + + + Deliberate + "Ship now, fix later" + + + Accidental + "Didnt know better" + + + Bit Rot + "Code aged poorly" + + + How to Manage + Document it, schedule refactoring sprints + + + Cost of Ignoring + Slower development, more bugs + + 20% time for addressing tech debt = sustainable development + + @devweekends + \ No newline at end of file diff --git a/images/templates/fellowship/techgrind-01-react-performance.svg b/images/templates/fellowship/techgrind-01-react-performance.svg new file mode 100644 index 0000000..aab0e82 --- /dev/null +++ b/images/templates/fellowship/techgrind-01-react-performance.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + DEV WEEKENDS FELLOWSHIP + + + TECH GRIND + + + CODING SESSION + + React Performance + Optimization + + useMemo, useCallback, React.memo - when and why + + + DATE + Sunday, Dec 8 + + + TIME + 3:00 PM PKT + + + FORMAT + Live Coding + + + WHAT YOU'LL LEARN + + ✓ Identifying re-render issues + ✓ Memoization strategies + ✓ React DevTools Profiler + ✓ Virtualization for lists + ✓ Code splitting + + Hands-on exercises included + + Fellowship Members Only → + diff --git a/images/templates/fellowship/techgrind-02-nodejs-streams.svg b/images/templates/fellowship/techgrind-02-nodejs-streams.svg new file mode 100644 index 0000000..c99caa5 --- /dev/null +++ b/images/templates/fellowship/techgrind-02-nodejs-streams.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + DEV WEEKENDS FELLOWSHIP + + + TECH GRIND + + + BACKEND SESSION + + Node.js Streams + Deep Dive + + Process large files without memory overflow + + + DATE + Sunday, Dec 15 + + + TIME + 3:00 PM PKT + + + FORMAT + Workshop + + + TOPICS COVERED + + ✓ Readable & Writable streams + ✓ Transform streams + ✓ Piping and chaining + ✓ Backpressure handling + ✓ Real-world use cases + + Build a file processor together + + Fellowship Members Only → + diff --git a/images/templates/fellowship/techgrind-03-postgresql.svg b/images/templates/fellowship/techgrind-03-postgresql.svg new file mode 100644 index 0000000..1864714 --- /dev/null +++ b/images/templates/fellowship/techgrind-03-postgresql.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + DEV WEEKENDS FELLOWSHIP + + + TECH GRIND + + + DATABASE SESSION + + PostgreSQL + Query Mastery + + Advanced queries, indexes, and query planning + + + DATE + Sunday, Dec 22 + + + TIME + 3:00 PM PKT + + + FORMAT + Deep Dive + + + KEY LEARNINGS + + ✓ EXPLAIN ANALYZE + ✓ Index types & strategies + ✓ CTEs and Window functions + ✓ Query optimization + ✓ Avoiding N+1 queries + + Practice with real datasets + + Fellowship Members Only → + diff --git a/images/templates/fellowship/techgrind-04-graphql.svg b/images/templates/fellowship/techgrind-04-graphql.svg new file mode 100644 index 0000000..d9e7867 --- /dev/null +++ b/images/templates/fellowship/techgrind-04-graphql.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + DEV WEEKENDS FELLOWSHIP + + + TECH GRIND + + + API SESSION + + GraphQL + From Scratch + + Build a production-ready GraphQL API step by step + + + DATE + Sunday, Dec 29 + + + TIME + 3:00 PM PKT + + + FORMAT + Build Together + + + SESSION OUTLINE + + ✓ Schema design patterns + ✓ Resolvers architecture + ✓ DataLoader for batching + ✓ Authentication + ✓ Error handling + + Starter template provided + + Fellowship Members Only → + diff --git a/images/templates/fellowship/techgrind-05-tdd.svg b/images/templates/fellowship/techgrind-05-tdd.svg new file mode 100644 index 0000000..1dfbb86 --- /dev/null +++ b/images/templates/fellowship/techgrind-05-tdd.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + DEV WEEKENDS FELLOWSHIP + + + TECH GRIND + + + TESTING SESSION + + Test-Driven + Development + + Write tests first, code second - the TDD workflow + + + DATE + Sunday, Jan 5 + + + TIME + 3:00 PM PKT + + + FORMAT + Pair Coding + + + WHAT WE'LL COVER + + ✓ Red-Green-Refactor cycle + ✓ Jest & Testing Library + ✓ Mocking strategies + ✓ Integration tests + ✓ Coverage goals + + Build a tested feature together + + Fellowship Members Only → + diff --git a/images/templates/fellowship/techgrind-06-docker.svg b/images/templates/fellowship/techgrind-06-docker.svg new file mode 100644 index 0000000..6d723ca --- /dev/null +++ b/images/templates/fellowship/techgrind-06-docker.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + DEV WEEKENDS FELLOWSHIP + + + TECH GRIND + + + DEVOPS SESSION + + Docker Multi-Stage + Builds + + Optimize your Docker images for production + + + DATE + Sunday, Jan 12 + + + TIME + 3:00 PM PKT + + + FORMAT + Hands-on Lab + + + YOU'LL LEARN + + ✓ Multi-stage patterns + ✓ Layer caching + ✓ Security best practices + ✓ Image size reduction + ✓ Build arguments + + From 1GB to 50MB images + + Fellowship Members Only → + diff --git a/images/templates/fellowship/techgrind-07-typescript.svg b/images/templates/fellowship/techgrind-07-typescript.svg new file mode 100644 index 0000000..76ce194 --- /dev/null +++ b/images/templates/fellowship/techgrind-07-typescript.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + DEV WEEKENDS FELLOWSHIP + + + TECH GRIND + + + TYPESCRIPT + + Advanced Types + Masterclass + + Generics, utility types, and type inference magic + + + DATE + Sunday, Jan 19 + + + TIME + 3:00 PM PKT + + + FORMAT + Interactive + + + DEEP DIVE INTO + + ✓ Conditional types + ✓ Mapped types + ✓ Template literal types + ✓ Infer keyword + ✓ Type guards + + Real-world type challenges + + Fellowship Members Only → + diff --git a/images/templates/general/01-tip-post.svg b/images/templates/general/01-tip-post.svg new file mode 100644 index 0000000..98b06cd --- /dev/null +++ b/images/templates/general/01-tip-post.svg @@ -0,0 +1,43 @@ + + + + + + DEV WEEKENDS + + + + TIP + + + #01 + + + + 💡 + + + Quick Tip of + the Day + + + + + [Tip Title Here] + + Write your quick tip content here. Keep it + concise and actionable. One paragraph that + developers can apply immediately. + + + + #productivity + + + #coding + + + + Save this for later! + @devweekends + \ No newline at end of file diff --git a/images/templates/general/02-announcement.svg b/images/templates/general/02-announcement.svg new file mode 100644 index 0000000..84d5d3a --- /dev/null +++ b/images/templates/general/02-announcement.svg @@ -0,0 +1,42 @@ + + + + + DEV WEEKENDS + + + + ANNOUNCEMENT + + + + 📢 + + + Big News! + + + We're excited to announce + + + + [Your Announcement Here] + Add details about the announcement + + + + 📅 Key Detail 1 + + + 🎯 Key Detail 2 + + + 🔗 Key Detail 3 + + + + Learn More → + + + devweekends.com + \ No newline at end of file diff --git a/images/templates/general/03-poll-engagement.svg b/images/templates/general/03-poll-engagement.svg new file mode 100644 index 0000000..ea67e35 --- /dev/null +++ b/images/templates/general/03-poll-engagement.svg @@ -0,0 +1,37 @@ + + + + + DEV WEEKENDS + + + + POLL TIME + + + What do you struggle + with most? + + + + + Data Structures + + + + System Design + + + + Behavioral Interviews + + + + Building Projects + + + Vote in the comments! 👇 + + + @devweekends + \ No newline at end of file diff --git a/images/templates/general/04-fun-fact.svg b/images/templates/general/04-fun-fact.svg new file mode 100644 index 0000000..4339af3 --- /dev/null +++ b/images/templates/general/04-fun-fact.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + DEV WEEKENDS + + + + DID YOU KNOW + + + Fun Fact + + + 90% + + + of developers learn best through + hands-on projects and mentorship + + + + + + — Stack Overflow Developer Survey 2024 + + + That's why Dev Weekends exists! 💪 + + + @devweekends + \ No newline at end of file diff --git a/images/templates/general/05-weekly-update.svg b/images/templates/general/05-weekly-update.svg new file mode 100644 index 0000000..d4e89b8 --- /dev/null +++ b/images/templates/general/05-weekly-update.svg @@ -0,0 +1,49 @@ + + + + + + DEV WEEKENDS + + + + WEEKLY UPDATE + + + Week 12 + + + This Week at + Dev Weekends + + + + + + + 1 + New session on System Design + Saturday 5PM IST + + + + 2 + 5 new fellows joined the program + Welcome to the family! + + + + 3 + Mentorship batch starting soon + Applications open until Friday + + + + 4 + New DSA resources uploaded + Check the resources section + + + Stay tuned for more updates! + @devweekends + \ No newline at end of file diff --git a/images/templates/git-commands/01-git-stash.svg b/images/templates/git-commands/01-git-stash.svg new file mode 100644 index 0000000..f973746 --- /dev/null +++ b/images/templates/git-commands/01-git-stash.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + GIT TIPS + + Git Stash + Save Your Work + + + + # Save changes temporarily + git stash + + # Stash with a message + git stash save "WIP: feature login" + + # List all stashes + git stash list + + # Apply and remove latest stash + git stash pop + + # Apply specific stash + git stash apply stash@{2} + + + Switch branches without losing work + @devweekends + diff --git a/images/templates/git-commands/02-git-reset.svg b/images/templates/git-commands/02-git-reset.svg new file mode 100644 index 0000000..6614f8b --- /dev/null +++ b/images/templates/git-commands/02-git-reset.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + GIT TIPS + + Git Reset + Undo Mistakes + + + + # Unstage files, keep changes + git reset HEAD file.js + + # Undo last commit, keep changes staged + git reset --soft HEAD~1 + + # Undo last commit, unstage changes + git reset HEAD~1 + + # ⚠️ DANGER: Discard all changes + git reset --hard HEAD~1 + + # Reset to specific commit + git reset --soft abc123 + + + ⚠️ Use --hard carefully - changes are lost forever! + @devweekends + diff --git a/images/templates/git-commands/03-git-rebase.svg b/images/templates/git-commands/03-git-rebase.svg new file mode 100644 index 0000000..c8042aa --- /dev/null +++ b/images/templates/git-commands/03-git-rebase.svg @@ -0,0 +1,31 @@ + + + + + DEV WEEKENDS + + + GIT TIPS + + Git Rebase + Interactive Mode + + + + # Rebase last 3 commits interactively + git rebase -i HEAD~3 + + # Available commands in editor: + pick - use commit as is + reword - change commit message + squash - combine with previous commit + fixup - squash and discard message + drop - remove commit entirely + + # Abort if things go wrong + git rebase --abort + + + Clean up your commit history before PR + @devweekends + diff --git a/images/templates/git-commands/04-git-cherry-pick.svg b/images/templates/git-commands/04-git-cherry-pick.svg new file mode 100644 index 0000000..fd9f331 --- /dev/null +++ b/images/templates/git-commands/04-git-cherry-pick.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + GIT TIPS + + Git Cherry-Pick + Grab Any Commit + + + + # Apply a specific commit to current branch + git cherry-pick abc123 + + # Cherry-pick multiple commits + git cherry-pick abc123 def456 + + # Cherry-pick without committing + git cherry-pick -n abc123 + + # Continue after resolving conflicts + git cherry-pick --continue + + # Abort cherry-pick + git cherry-pick --abort + + + Pull specific fixes from other branches + @devweekends + diff --git a/images/templates/git-commands/05-git-bisect.svg b/images/templates/git-commands/05-git-bisect.svg new file mode 100644 index 0000000..3883363 --- /dev/null +++ b/images/templates/git-commands/05-git-bisect.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + GIT TIPS + + Git Bisect + Find the Bug + + + + # Start binary search for bug + git bisect start + + # Mark current (bad) commit + git bisect bad + + # Mark a known good commit + git bisect good abc123 + + # After testing each commit, mark it + git bisect good # or bad + + # When done, reset + git bisect reset + + + Binary search through commits to find bugs fast + @devweekends + diff --git a/images/templates/git-commands/06-git-log.svg b/images/templates/git-commands/06-git-log.svg new file mode 100644 index 0000000..7fc1c06 --- /dev/null +++ b/images/templates/git-commands/06-git-log.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + GIT TIPS + + Git Log + Beautiful History + + + + # One line per commit + git log --oneline + + # Visual branch graph + git log --oneline --graph --all + + # Search commits by message + git log --grep="fix bug" + + # Commits by author + git log --author="John" + + # Commits touching specific file + git log -- path/to/file.js + + + Understand your project's history + @devweekends + diff --git a/images/templates/git-commands/07-git-worktree.svg b/images/templates/git-commands/07-git-worktree.svg new file mode 100644 index 0000000..b004c30 --- /dev/null +++ b/images/templates/git-commands/07-git-worktree.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + GIT TIPS + + Git Worktree + Multiple Branches + + + + # Create new worktree for a branch + git worktree add ../feature-x feature-x + + # Create worktree with new branch + git worktree add -b hotfix ../hotfix + + # List all worktrees + git worktree list + + # Remove a worktree + git worktree remove ../feature-x + + # Prune stale worktree info + git worktree prune + + + Work on multiple branches simultaneously! + @devweekends + diff --git a/images/templates/git-commands/08-git-reflog.svg b/images/templates/git-commands/08-git-reflog.svg new file mode 100644 index 0000000..a92447a --- /dev/null +++ b/images/templates/git-commands/08-git-reflog.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + GIT TIPS + + Git Reflog + Time Machine + + + + # View reference log (ALL actions) + git reflog + + # Recover deleted branch + git checkout -b recovered abc123 + + # Undo a hard reset + git reset --hard HEAD@{2} + + # View reflog for specific branch + git reflog show feature-x + + # Reflog expires after 90 days (default) + git reflog expire --expire=now --all + + + Recover "lost" commits and branches + @devweekends + diff --git a/images/templates/git-commands/09-git-aliases.svg b/images/templates/git-commands/09-git-aliases.svg new file mode 100644 index 0000000..bf19bb1 --- /dev/null +++ b/images/templates/git-commands/09-git-aliases.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + GIT TIPS + + Git Aliases + Type Less, Do More + + + + # Add these to your .gitconfig + git config --global alias.co checkout + + git config --global alias.br branch + + git config --global alias.ci commit + + git config --global alias.st status + + # Complex alias: pretty log + git config --global alias.lg \ + "log --oneline --graph --decorate" + + # Now use: git co, git br, git ci, git st, git lg + + + Customize Git to match your workflow + @devweekends + diff --git a/images/templates/git-commands/10-git-hooks.svg b/images/templates/git-commands/10-git-hooks.svg new file mode 100644 index 0000000..8c78e9f --- /dev/null +++ b/images/templates/git-commands/10-git-hooks.svg @@ -0,0 +1,31 @@ + + + + + DEV WEEKENDS + + + GIT TIPS + + Git Hooks + Automate Quality + + + + # .git/hooks/pre-commit (make executable) + #!/bin/sh + npm run lint && npm run test + + # Popular hooks: + pre-commit Run before commit + commit-msg Validate commit message + pre-push Run before pushing + post-merge Run after merging + + # Use Husky for easier hook management + npx husky-init && npm install + + + Never push broken code again + @devweekends + diff --git a/images/templates/instagram/01-tip-of-the-day.svg b/images/templates/instagram/01-tip-of-the-day.svg new file mode 100644 index 0000000..a564319 --- /dev/null +++ b/images/templates/instagram/01-tip-of-the-day.svg @@ -0,0 +1,38 @@ + + + + + + DEV WEEKENDS + + + + TIP OF THE DAY + + + 01 + + + Your Tip Title + Goes Here + + + + + + Add your tip description here. Keep it + concise and actionable for your audience. + + + + const + tip = + "Your code here" + console + .log(tip) + + + + Save this for later 📌 + @devweekends + \ No newline at end of file diff --git a/images/templates/instagram/02-carousel-cover.svg b/images/templates/instagram/02-carousel-cover.svg new file mode 100644 index 0000000..814a0ec --- /dev/null +++ b/images/templates/instagram/02-carousel-cover.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + + + DEV WEEKENDS + + + SWIPE → + + + 5 + + + Things Every + Developer Must Know + + + + + + A thread that will change your career + + + + #coding + + + #tech + + + #career + + + + + + + + + + @devweekends + \ No newline at end of file diff --git a/images/templates/instagram/03-quote-post.svg b/images/templates/instagram/03-quote-post.svg new file mode 100644 index 0000000..1885587 --- /dev/null +++ b/images/templates/instagram/03-quote-post.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + DEV WEEKENDS + + + " + + + The only way to do + great work is to love + what you do. + + + + + + Steve Jobs + Co-founder, Apple + + + + + + + + Double tap if this resonates ❤️ + \ No newline at end of file diff --git a/images/templates/instagram/04-before-after.svg b/images/templates/instagram/04-before-after.svg new file mode 100644 index 0000000..c7710ce --- /dev/null +++ b/images/templates/instagram/04-before-after.svg @@ -0,0 +1,41 @@ + + + + + DEV WEEKENDS + + + + + + + BEFORE + + + // Bad code example + var x = 1; + var y = 2; + var z = x + y; + + ❌ Hard to maintain + ❌ No type safety + ❌ Global scope + + + + AFTER + + + // Clean code example + const sum = (a, b) => + a + b; + sum(1, 2); + + ✅ Reusable function + ✅ Clear intent + ✅ Modern syntax + + + + Which one do you write? Comment below 👇 + \ No newline at end of file diff --git a/images/templates/instagram/05-announcement.svg b/images/templates/instagram/05-announcement.svg new file mode 100644 index 0000000..d6e5c07 --- /dev/null +++ b/images/templates/instagram/05-announcement.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + DEV WEEKENDS + + + + NEW + + + Something + Big is + Coming + + + + LAUNCHING ON + Dec 15, 2025 + + + + Turn on notifications 🔔 + + + + + + + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/01-two-sum.svg b/images/templates/interview/01-two-sum.svg new file mode 100644 index 0000000..760e091 --- /dev/null +++ b/images/templates/interview/01-two-sum.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + Two Sum + Hash Map Pattern + + + + # Find two numbers that add to target + def two_sum(nums, target): + seen = {} # num → index + for i, num in enumerate(nums): + complement = target - num + if complement in seen: + return [seen[complement], i] + seen[num] = i + return [] + + # O(n) time, O(n) space + # Better than O(n²) brute force + + + + The most common interview starter question + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/02-valid-parentheses.svg b/images/templates/interview/02-valid-parentheses.svg new file mode 100644 index 0000000..cf75ca0 --- /dev/null +++ b/images/templates/interview/02-valid-parentheses.svg @@ -0,0 +1,31 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + Valid Parentheses + Stack Pattern + + + + # Check if brackets are balanced + def is_valid(s): + stack = [] + pairs = {')':'(', '}':'{', ']':'['} + for char in s: + if char in pairs: + if not stack or stack.pop()!=pairs[char]: + return False + else: + stack.append(char) + return len(stack) == 0 + + + + Classic stack problem - understand LIFO + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/03-binary-search.svg b/images/templates/interview/03-binary-search.svg new file mode 100644 index 0000000..33d6d1b --- /dev/null +++ b/images/templates/interview/03-binary-search.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + Binary Search + Divide and Conquer + + + + # O(log n) search in sorted array + def binary_search(nums, target): + left, right = 0, len(nums) - 1 + while left <= right: + mid = left + (right - left) // 2 + if nums[mid] == target: + return mid + elif nums[mid] < target: + left = mid + 1 + else: + right = mid - 1 + return -1 + + + + Foundation for many advanced problems + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/04-reverse-linked-list.svg b/images/templates/interview/04-reverse-linked-list.svg new file mode 100644 index 0000000..b6e59c2 --- /dev/null +++ b/images/templates/interview/04-reverse-linked-list.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + Reverse Linked List + Pointer Manipulation + + + + # Iterative approach - O(n) time, O(1) space + def reverse_list(head): + prev = None + curr = head + while curr: + next_temp = curr.next # Save next + curr.next = prev # Reverse link + prev = curr # Move prev + curr = next_temp # Move curr + return prev + + # prev→1←2←3 becomes 3→2→1→None + + + + Asked at every FAANG interview + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/05-sliding-window.svg b/images/templates/interview/05-sliding-window.svg new file mode 100644 index 0000000..45f5aa4 --- /dev/null +++ b/images/templates/interview/05-sliding-window.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + Sliding Window + Max Sum Subarray + + + + # Find max sum of k consecutive elements + def max_sum_subarray(nums, k): + window_sum = sum(nums[:k]) + max_sum = window_sum + + for i in range(k, len(nums)): + # Slide: add new, remove old + window_sum += nums[i] - nums[i - k] + max_sum = max(max_sum, window_sum) + + return max_sum + + # O(n) instead of O(n*k) brute force + + + + Essential pattern for subarray problems + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/06-dfs-traversal.svg b/images/templates/interview/06-dfs-traversal.svg new file mode 100644 index 0000000..c5c5f74 --- /dev/null +++ b/images/templates/interview/06-dfs-traversal.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + DFS Traversal + Graph/Tree Exploration + + + + # Recursive DFS for graphs + def dfs(graph, node, visited=None): + if visited is None: + visited = set() + + visited.add(node) + print(node) # Process node + + for neighbor in graph[node]: + if neighbor not in visited: + dfs(graph, neighbor, visited) + + # O(V + E) time complexity + + + + Foundation for path finding and cycle detection + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/07-bfs-traversal.svg b/images/templates/interview/07-bfs-traversal.svg new file mode 100644 index 0000000..5f6af26 --- /dev/null +++ b/images/templates/interview/07-bfs-traversal.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + BFS Traversal + Level Order / Shortest Path + + + + # BFS using queue for shortest path + from collections import deque + def bfs(graph, start): + visited = {start} + queue = deque([start]) + + while queue: + node = queue.popleft() + for neighbor in graph[node]: + if neighbor not in visited: + visited.add(neighbor) + queue.append(neighbor) + + + + Best for finding shortest unweighted path + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/08-merge-two-lists.svg b/images/templates/interview/08-merge-two-lists.svg new file mode 100644 index 0000000..3aea3f9 --- /dev/null +++ b/images/templates/interview/08-merge-two-lists.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + Merge Two Lists + Linked List Merge + + + + # Merge two sorted linked lists + def merge_lists(l1, l2): + dummy = ListNode(0) + current = dummy + + while l1 and l2: + if l1.val <= l2.val: + current.next, l1 = l1, l1.next + else: + current.next, l2 = l2, l2.next + current = current.next + + current.next = l1 or l2; return dummy.next + + + + Dummy node pattern is key here + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/09-lru-cache.svg b/images/templates/interview/09-lru-cache.svg new file mode 100644 index 0000000..72b09d8 --- /dev/null +++ b/images/templates/interview/09-lru-cache.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + LRU Cache + HashMap + DoublyLinkedList + + + + # O(1) get and put operations + from collections import OrderedDict + class LRUCache: + def __init__(self, capacity): + self.cache = OrderedDict() + self.capacity = capacity + + def get(self, key): + if key not in self.cache: return -1 + self.cache.move_to_end(key) + return self.cache[key] + + # put() evicts LRU when full + + + + Very common system design question + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/10-detect-cycle.svg b/images/templates/interview/10-detect-cycle.svg new file mode 100644 index 0000000..27bf730 --- /dev/null +++ b/images/templates/interview/10-detect-cycle.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + Detect Cycle + Floyd's Slow-Fast Pointer + + + + # O(1) space cycle detection + def has_cycle(head): + if not head or not head.next: + return False + + slow = head + fast = head.next + + while slow != fast: + if not fast or not fast.next: + return False + slow = slow.next + fast = fast.next.next + + + + Tortoise and Hare algorithm + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/11-dp-climbing-stairs.svg b/images/templates/interview/11-dp-climbing-stairs.svg new file mode 100644 index 0000000..a9baa16 --- /dev/null +++ b/images/templates/interview/11-dp-climbing-stairs.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + Dynamic Programming + Climbing Stairs + + + + # Ways to reach top taking 1 or 2 steps + def climb_stairs(n): + if n <= 2: return n + + # DP: dp[i] = dp[i-1] + dp[i-2] + prev, curr = 1, 2 + for _ in range(3, n + 1): + prev, curr = curr, prev + curr + return curr + + # Fibonacci pattern! + # O(n) time, O(1) space + + + + Classic intro to dynamic programming + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/12-top-k-elements.svg b/images/templates/interview/12-top-k-elements.svg new file mode 100644 index 0000000..24ee9e1 --- /dev/null +++ b/images/templates/interview/12-top-k-elements.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + Top K Elements + Heap Pattern + + + + # Find k largest elements + import heapq + def top_k_elements(nums, k): + # Use min heap of size k + return heapq.nlargest(k, nums) + + # Manual implementation + def top_k_manual(nums, k): + heap = [] + for num in nums: + heapq.heappush(heap, num) + if len(heap) > k: heapq.heappop(heap) + + + + O(n log k) - better than sorting for small k + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/13-merge-intervals.svg b/images/templates/interview/13-merge-intervals.svg new file mode 100644 index 0000000..5b51b50 --- /dev/null +++ b/images/templates/interview/13-merge-intervals.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + Merge Intervals + Interval Pattern + + + + # Merge overlapping intervals + def merge(intervals): + intervals.sort(key=lambda x: x[0]) + merged = [intervals[0]] + + for start, end in intervals[1:]: + if start <= merged[-1][1]: + # Overlapping - extend + merged[-1][1] = max(merged[-1][1], end) + else: + merged.append([start, end]) + + return merged + + + + Sort first, then merge - O(n log n) + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/14-trie-structure.svg b/images/templates/interview/14-trie-structure.svg new file mode 100644 index 0000000..7b39cc7 --- /dev/null +++ b/images/templates/interview/14-trie-structure.svg @@ -0,0 +1,32 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + Trie Data Structure + Prefix Tree + + + + # Efficient prefix lookup + class TrieNode: + def __init__(self): + self.children = {} + self.is_end = False + + class Trie: + def insert(self, word): + node = self.root + for char in word: + if char not in node.children: + node.children[char] = TrieNode() + + + + Used for autocomplete and spell checking + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/15-kadanes-algorithm.svg b/images/templates/interview/15-kadanes-algorithm.svg new file mode 100644 index 0000000..41b739d --- /dev/null +++ b/images/templates/interview/15-kadanes-algorithm.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + Kadane's Algorithm + Max Subarray Sum + + + + # Find contiguous subarray with max sum + def max_subarray(nums): + max_sum = nums[0] + current_sum = nums[0] + + for num in nums[1:]: + # Either extend or start fresh + current_sum = max(num, current_sum + num) + max_sum = max(max_sum, current_sum) + + return max_sum + + # O(n) time, O(1) space + + + + The DP decision: extend or restart + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/16-backtracking.svg b/images/templates/interview/16-backtracking.svg new file mode 100644 index 0000000..a32c148 --- /dev/null +++ b/images/templates/interview/16-backtracking.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + Backtracking + Generate Permutations + + + + # Generate all permutations + def permute(nums): + result = [] + + def backtrack(path, remaining): + if not remaining: + result.append(path[:]) + return + for i, num in enumerate(remaining): + backtrack(path + [num], + remaining[:i] + remaining[i+1:]) + + backtrack([], nums); return result + + + + Pattern: choose → explore → unchoose + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/17-longest-substring.svg b/images/templates/interview/17-longest-substring.svg new file mode 100644 index 0000000..93bb680 --- /dev/null +++ b/images/templates/interview/17-longest-substring.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + Longest Substring + Without Repeating Chars + + + + # Sliding window with set + def length_of_longest(s): + char_set = set() + left = max_len = 0 + + for right in range(len(s)): + while s[right] in char_set: + char_set.remove(s[left]) + left += 1 + char_set.add(s[right]) + max_len = max(max_len, right - left + 1) + + return max_len + + + + Variable-length sliding window pattern + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/18-binary-tree-lca.svg b/images/templates/interview/18-binary-tree-lca.svg new file mode 100644 index 0000000..c694dcd --- /dev/null +++ b/images/templates/interview/18-binary-tree-lca.svg @@ -0,0 +1,34 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + Binary Tree LCA + Lowest Common Ancestor + + + + # Find LCA of two nodes in binary tree + def lowest_common_ancestor(root, p, q): + if not root: + return None + + # Found one of the targets + if root == p or root == q: + return root + + left = lowest_common_ancestor(root.left, p, q) + right = lowest_common_ancestor(root.right, p, q) + + if left and right: return root # LCA found! + return left or right + + + + Elegant recursion with propagation + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/19-number-of-islands.svg b/images/templates/interview/19-number-of-islands.svg new file mode 100644 index 0000000..8cdbfe5 --- /dev/null +++ b/images/templates/interview/19-number-of-islands.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + Number of Islands + Grid DFS/BFS + + + + # Count connected components in grid + def num_islands(grid): + def dfs(i, j): + if (i<0 or i>=len(grid) or j<0 or + j>=len(grid[0]) or grid[i][j]!='1'): + return + grid[i][j] = '0' # Mark visited + dfs(i+1,j); dfs(i-1,j) + dfs(i,j+1); dfs(i,j-1) + + count = 0 + for i,j in itertools.product(...): + if grid[i][j]=='1': dfs(i,j); count+=1 + + + + Flood fill pattern - mark and explore + @devweekends + \ No newline at end of file diff --git a/images/templates/interview/20-time-complexity.svg b/images/templates/interview/20-time-complexity.svg new file mode 100644 index 0000000..5865ff5 --- /dev/null +++ b/images/templates/interview/20-time-complexity.svg @@ -0,0 +1,31 @@ + + + + + DEV WEEKENDS + + + INTERVIEW + + Time Complexity + Big O Cheat Sheet + + + + # Common complexities (best to worst) + + O(1) → Constant (hash lookup) + O(log n) → Logarithmic (binary search) + O(n) → Linear (single loop) + O(n log n)→ Linearithmic (merge sort) + O(n²) → Quadratic (nested loops) + O(2ⁿ) → Exponential (subsets) + O(n!) → Factorial (permutations) + + # Always explain time AND space complexity + + + + Interviewers WILL ask about complexity + @devweekends + \ No newline at end of file diff --git a/images/templates/linkedin-banners/01-main-banner.svg b/images/templates/linkedin-banners/01-main-banner.svg new file mode 100644 index 0000000..e2bb444 --- /dev/null +++ b/images/templates/linkedin-banners/01-main-banner.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + DEV WEEKENDS + + + Building the Next Generation + of Software Engineers + + + + + + 20,000+ Members • 500+ Sessions • 50+ Mentors + + + + + + \ No newline at end of file diff --git a/images/templates/linkedin-banners/02-dark-stats.svg b/images/templates/linkedin-banners/02-dark-stats.svg new file mode 100644 index 0000000..d4eb6e9 --- /dev/null +++ b/images/templates/linkedin-banners/02-dark-stats.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + DEV WEEKENDS + + + We Don't Just Teach Code. + We Build Engineers. + + + + JOIN FREE → + + + 20K+ + MEMBERS + + 500+ + SESSIONS + \ No newline at end of file diff --git a/images/templates/linkedin-banners/03-hiring-banner.svg b/images/templates/linkedin-banners/03-hiring-banner.svg new file mode 100644 index 0000000..0903b29 --- /dev/null +++ b/images/templates/linkedin-banners/03-hiring-banner.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + DEV WEEKENDS + + + + WE'RE HIRING + + + Join Our Mission to + Transform Tech Education + + + Open Roles: Mentor • Community Manager • Content Creator + + + + + \ No newline at end of file diff --git a/images/templates/linkedin-banners/04-event-banner.svg b/images/templates/linkedin-banners/04-event-banner.svg new file mode 100644 index 0000000..d4ffb1b --- /dev/null +++ b/images/templates/linkedin-banners/04-event-banner.svg @@ -0,0 +1,33 @@ + + + + + + + + DEV WEEKENDS + + + + LIVE EVENT + + + DEC + 15 + + + System Design + Masterclass + + Learn how to design scalable systems from industry experts + + + + 7:00 PM PKT + + + Discord + + + FREE + \ No newline at end of file diff --git a/images/templates/linkedin-posts/01-insight-post.svg b/images/templates/linkedin-posts/01-insight-post.svg new file mode 100644 index 0000000..85da1ba --- /dev/null +++ b/images/templates/linkedin-posts/01-insight-post.svg @@ -0,0 +1,41 @@ + + + + + + DEV WEEKENDS + + + + INSIGHT + + + The One Skill + That Separates + Good Developers + From + Great Ones + + + + + Problem-solving mindset over syntax mastery + + + Understanding the "why" behind every decision + + + Continuous learning as a daily habit + + + + 20,000+ + developers learning together + + + + Photo + + + 👆 Follow for more insights | Dev Weekends + \ No newline at end of file diff --git a/images/templates/linkedin-posts/02-success-story.svg b/images/templates/linkedin-posts/02-success-story.svg new file mode 100644 index 0000000..ec27ab1 --- /dev/null +++ b/images/templates/linkedin-posts/02-success-story.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + DEV WEEKENDS + + + + SUCCESS STORY + + + "I went from earning + ₹15,000/month to + ₹3,00,000/month + in just 8 months." + + + + + + + Photo + Fellow Name + Now SDE @ Amazon + + + + BEFORE + Fresher, No Job + + + AFTER + FAANG Engineer + + + + Read full story → + + + Join 20,000+ engineers transforming their careers + \ No newline at end of file diff --git a/images/templates/linkedin-posts/03-poll-engagement.svg b/images/templates/linkedin-posts/03-poll-engagement.svg new file mode 100644 index 0000000..5c5c82c --- /dev/null +++ b/images/templates/linkedin-posts/03-poll-engagement.svg @@ -0,0 +1,45 @@ + + + + + DEV WEEKENDS + + + + POLL + + + Which framework + should you learn + in 2025? + + + + React.js + 45% + + + + Next.js + 32% + + + + Vue.js + 15% + + + + Svelte + 8% + + + + 2,847 votes • 3 days left + + + Vote in comments! 👇 + + + @devweekends + \ No newline at end of file diff --git a/images/templates/linkedin-posts/04-hot-take.svg b/images/templates/linkedin-posts/04-hot-take.svg new file mode 100644 index 0000000..bf72a71 --- /dev/null +++ b/images/templates/linkedin-posts/04-hot-take.svg @@ -0,0 +1,34 @@ + + + + + DEV WEEKENDS + + + + HOT TAKE 🔥 + + + Unpopular opinion: + + You don't need a CS degree + to become a successful + software engineer. + + + + + + + + Here's why: + + → Skills matter more than credentials + → Portfolio beats GPA every time + → Real-world experience > theory + → Many top engineers are self-taught + + + + Agree or disagree? Drop your thoughts 👇 + \ No newline at end of file diff --git a/images/templates/linkedin-posts/05-job-posting.svg b/images/templates/linkedin-posts/05-job-posting.svg new file mode 100644 index 0000000..8279a35 --- /dev/null +++ b/images/templates/linkedin-posts/05-job-posting.svg @@ -0,0 +1,37 @@ + + + + + + + + DEV WEEKENDS + + + + WE'RE HIRING + + + Senior + Software + Engineer + + + + 📍 Remote • Full-time + + + REQUIREMENTS + + ✓ 3+ years experience + ✓ React, Node.js, TypeScript + ✓ Strong problem-solving skills + ✓ Passion for learning + + + + Apply Now → + + + Link in comments | Tag someone who'd be perfect + \ No newline at end of file diff --git a/images/templates/mindmaster-light/01-pomodoro.svg b/images/templates/mindmaster-light/01-pomodoro.svg new file mode 100644 index 0000000..0c01833 --- /dev/null +++ b/images/templates/mindmaster-light/01-pomodoro.svg @@ -0,0 +1,42 @@ + + + + + DEV WEEKENDS + + + MINDMASTER + + The Pomodoro + Technique + + + + + 25 + MINUTES + + Focus + + + 5 + MINUTES + + Break + + + 4x + CYCLES + + Repeat + + Why it works: + 1. Reduces mental fatigue + 2. Creates urgency and focus + 3. Prevents burnout + 4. Makes large tasks manageable + + + Try it for your next coding session + @devweekends + \ No newline at end of file diff --git a/images/templates/mindmaster-light/02-growth-mindset.svg b/images/templates/mindmaster-light/02-growth-mindset.svg new file mode 100644 index 0000000..6b5f055 --- /dev/null +++ b/images/templates/mindmaster-light/02-growth-mindset.svg @@ -0,0 +1,36 @@ + + + + DEV WEEKENDS + + + MINDMASTER + + Growth Mindset + vs Fixed Mindset + + + Fixed Mindset + + "I'm not good at this" + "I give up" + "This is too hard" + "I'll never learn this" + "Mistakes are failures" + "I'm afraid to try" + + + Growth Mindset + + "I can learn this" + "I'll try a different way" + "This is challenging me" + "I'm on my way" + "Mistakes help me learn" + "I'm excited to try" + + Your mindset shapes your reality + + Save this for when you need a reminder + @devweekends + \ No newline at end of file diff --git a/images/templates/mindmaster-light/03-eisenhower-matrix.svg b/images/templates/mindmaster-light/03-eisenhower-matrix.svg new file mode 100644 index 0000000..be7dd0b --- /dev/null +++ b/images/templates/mindmaster-light/03-eisenhower-matrix.svg @@ -0,0 +1,37 @@ + + + + + DEV WEEKENDS + + + MINDMASTER + + The Eisenhower + Matrix + + Prioritize tasks based on urgency and importance + + + DO FIRST + Urgent + Important + Deadlines, crises, problems + + + SCHEDULE + Not Urgent + Important + Learning, planning, growth + + + DELEGATE + Urgent + Not Important + Interruptions, some meetings + + + ELIMINATE + Not Urgent + Not Important + Time wasters, distractions + + Focus on Quadrant 2 for long-term success + @devweekends + \ No newline at end of file diff --git a/images/templates/mindmaster-light/04-learning-pyramid.svg b/images/templates/mindmaster-light/04-learning-pyramid.svg new file mode 100644 index 0000000..0918c42 --- /dev/null +++ b/images/templates/mindmaster-light/04-learning-pyramid.svg @@ -0,0 +1,36 @@ + + + + DEV WEEKENDS + + + MINDMASTER + + The Learning Pyramid + + + + + Lecture 5% + + + Reading 10% + + + Audio-Visual 20% + + + Demonstration 30% + + + Discussion 50% + + + Practice by Doing 75% + + + Teaching Others 90% + + The best way to learn is to teach + That's why we encourage peer mentoring + \ No newline at end of file diff --git a/images/templates/mindmaster-light/05-deep-work.svg b/images/templates/mindmaster-light/05-deep-work.svg new file mode 100644 index 0000000..0c3c842 --- /dev/null +++ b/images/templates/mindmaster-light/05-deep-work.svg @@ -0,0 +1,34 @@ + + + + + DEV WEEKENDS + + + MINDMASTER + + Deep Work + Rules + + Based on Cal Newport's framework + + + + Rule 1: Work Deeply + Schedule blocks of uninterrupted time for cognitively demanding tasks + + + + Rule 2: Embrace Boredom + Train your mind to resist distraction even when bored + + + + Rule 3: Quit Social Media + Adopt a tool only if its benefits substantially outweigh its costs + + + + Rule 4: Drain the Shallows + Minimize low-value administrative tasks in your schedule + \ No newline at end of file diff --git a/images/templates/mindmaster-light/06-two-minute-rule.svg b/images/templates/mindmaster-light/06-two-minute-rule.svg new file mode 100644 index 0000000..0e495e4 --- /dev/null +++ b/images/templates/mindmaster-light/06-two-minute-rule.svg @@ -0,0 +1,27 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + The 2-Minute Rule + Beat Procrastination + + + If it takes less than 2 minutes, + do it now. + + Why it works: + + • Eliminates decision fatigue + • Clears mental clutter instantly + • Builds momentum for bigger tasks + • Reduces your to-do list anxiety + + + Small actions, big impact + @devweekends + diff --git a/images/templates/mindmaster-light/07-time-blocking.svg b/images/templates/mindmaster-light/07-time-blocking.svg new file mode 100644 index 0000000..40af44b --- /dev/null +++ b/images/templates/mindmaster-light/07-time-blocking.svg @@ -0,0 +1,40 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + Time Blocking + Your Calendar = Your Priorities + + + + Sample Developer Day: + + + 9:00 - 11:00 | Deep Work: Feature Development + + + 11:00 - 11:30 | Email & Slack Catch-up + + + 11:30 - 12:30 | Code Review & Meetings + + + 12:30 - 1:30 | Lunch Break (Protected!) + + + 1:30 - 4:00 | Deep Work: Bug Fixes + + + 4:00 - 5:00 | Learning & Side Projects + + 💡 What gets scheduled, gets done! + + + Protect your deep work time + @devweekends + diff --git a/images/templates/mindmaster-light/08-pareto-principle.svg b/images/templates/mindmaster-light/08-pareto-principle.svg new file mode 100644 index 0000000..9db5260 --- /dev/null +++ b/images/templates/mindmaster-light/08-pareto-principle.svg @@ -0,0 +1,30 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + The 80/20 Rule + Pareto Principle + + + 20% + of your effort + produces + + + 80% + of your results + Focus on what matters + + For developers: + • 20% of bugs cause 80% of crashes + • 20% of features get 80% of usage + + + Identify your high-impact activities + @devweekends + diff --git a/images/templates/mindmaster-light/09-inbox-zero.svg b/images/templates/mindmaster-light/09-inbox-zero.svg new file mode 100644 index 0000000..983be3d --- /dev/null +++ b/images/templates/mindmaster-light/09-inbox-zero.svg @@ -0,0 +1,38 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + Inbox Zero + Email Sanity + + + + The 4 D's of Email: + + + DELETE + Not relevant? Trash it. + + + DO + <2 min? Handle it now. + + + DELEGATE + Not your task? Forward it. + + + DEFER + Needs time? Schedule it. + + 💡 Check email 2-3x daily at scheduled times, not constantly! + + + Your inbox is not your to-do list + @devweekends + diff --git a/images/templates/mindmaster-light/10-eat-the-frog.svg b/images/templates/mindmaster-light/10-eat-the-frog.svg new file mode 100644 index 0000000..1eeb05d --- /dev/null +++ b/images/templates/mindmaster-light/10-eat-the-frog.svg @@ -0,0 +1,28 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + Eat the Frog + First Thing Morning + + + "If it's your job to eat a frog, + it's best to do it first thing in the morning." + — Mark Twain + + The Frog = Your most important, dreaded task + + ✓ Do your hardest task when energy is highest + ✓ Everything else feels easy after + ✓ No more dreading tasks all day + ✓ Build momentum for the rest of the day + + + What's your frog today? + @devweekends + diff --git a/images/templates/mindmaster-light/11-context-switching.svg b/images/templates/mindmaster-light/11-context-switching.svg new file mode 100644 index 0000000..65f9977 --- /dev/null +++ b/images/templates/mindmaster-light/11-context-switching.svg @@ -0,0 +1,29 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + Context Switching + The Hidden Cost + + + Every context switch costs you + 23 minutes to refocus + + Developer's worst enemies: + + ❌ Slack notifications during coding + ❌ Checking email "real quick" + ❌ "Quick" question interruptions + ❌ Too many browser tabs + + ✓ Batch similar tasks together + + + Protect your focus time + @devweekends + diff --git a/images/templates/mindmaster-light/12-spaced-repetition.svg b/images/templates/mindmaster-light/12-spaced-repetition.svg new file mode 100644 index 0000000..00dc453 --- /dev/null +++ b/images/templates/mindmaster-light/12-spaced-repetition.svg @@ -0,0 +1,46 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + Spaced Repetition + Learn Forever + + + + Review intervals for lasting memory: + + + Day 1 + Learn it + + + + + Day 3 + Review + + + + + Week 1 + Review + + + + + Month 1 + Review + + Tools: Anki, Notion, or simple flashcards + + 💡 Perfect for: Algorithms, APIs, concepts, commands + + + Science-backed learning technique + @devweekends + diff --git a/images/templates/mindmaster-light/13-feynman-technique.svg b/images/templates/mindmaster-light/13-feynman-technique.svg new file mode 100644 index 0000000..77af08a --- /dev/null +++ b/images/templates/mindmaster-light/13-feynman-technique.svg @@ -0,0 +1,38 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + The Feynman + Technique + + Learn anything by teaching it simply + + + + + 1 + Choose a concept to learn + + + 2 + Explain it to a 5-year-old (or rubber duck) + + + 3 + Identify gaps in your explanation + + + 4 + Go back and learn those gaps, simplify + + 💡 If you can't explain it simply, you don't understand it well enough + + + Named after Nobel Prize physicist Richard Feynman + @devweekends + diff --git a/images/templates/mindmaster-light/14-morning-routine.svg b/images/templates/mindmaster-light/14-morning-routine.svg new file mode 100644 index 0000000..67b467a --- /dev/null +++ b/images/templates/mindmaster-light/14-morning-routine.svg @@ -0,0 +1,31 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + Morning Routine + for Developers + + + + High-performance morning stack: + + ☀️ 6:00 - Wake up (no snooze!) + 💧 6:05 - Hydrate first + 🏃 6:15 - 15min exercise or walk + 🧘 6:30 - 10min meditation or journaling + 🍳 6:45 - Healthy breakfast + 📱 7:15 - NO phone/social media until now + 💻 7:30 - Plan today's 3 most important tasks + 🚀 8:00 - Deep work begins + + 💡 Win your morning, win your day + + + Customize based on your schedule + @devweekends + diff --git a/images/templates/mindmaster-light/15-flow-state.svg b/images/templates/mindmaster-light/15-flow-state.svg new file mode 100644 index 0000000..e713ee5 --- /dev/null +++ b/images/templates/mindmaster-light/15-flow-state.svg @@ -0,0 +1,29 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + Flow State + The Zone + + + + Trigger conditions for flow: + + 🎯 Clear goals - know exactly what you're building + ⚖️ Challenge vs Skill - not too easy, not too hard + 🔇 Eliminate distractions - phone off, notifications muted + ⏱️ Uninterrupted time - minimum 90 minutes + 🎧 Environment - music/white noise if it helps + 💻 Immediate feedback - see your code work + + Takes ~15-20 min to enter, seconds to break! + + + Flow = 5x productivity according to McKinsey + @devweekends + diff --git a/images/templates/mindmaster-light/16-weekly-review.svg b/images/templates/mindmaster-light/16-weekly-review.svg new file mode 100644 index 0000000..24d5914 --- /dev/null +++ b/images/templates/mindmaster-light/16-weekly-review.svg @@ -0,0 +1,28 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + Weekly Review + Stay on Track + + + + Every Friday, ask yourself: + + 📊 What did I accomplish this week? + 🚧 What's still in progress? + ❌ What didn't get done and why? + 📚 What did I learn? + 🎯 What are next week's top 3 priorities? + 🔧 What can I improve? + 😊 What am I grateful for? + + + 30 minutes that transform your productivity + @devweekends + diff --git a/images/templates/mindmaster-light/17-imposter-syndrome.svg b/images/templates/mindmaster-light/17-imposter-syndrome.svg new file mode 100644 index 0000000..c6ca0e9 --- /dev/null +++ b/images/templates/mindmaster-light/17-imposter-syndrome.svg @@ -0,0 +1,29 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + Imposter Syndrome + You Belong Here + + + "70% of people experience imposter syndrome + at some point in their careers" + — International Journal of Behavioral Science + + Remind yourself: + + ✓ Everyone googles things - even seniors + ✓ Not knowing is the first step to learning + ✓ You were hired for a reason + ✓ Compare yourself to your past self, not others + ✓ Document your wins, review them often + + + The fact that you care means you're already ahead + @devweekends + diff --git a/images/templates/mindmaster-light/18-brain-dump.svg b/images/templates/mindmaster-light/18-brain-dump.svg new file mode 100644 index 0000000..9579d98 --- /dev/null +++ b/images/templates/mindmaster-light/18-brain-dump.svg @@ -0,0 +1,38 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + Brain Dump + Clear Your Mind + + + + When your mind is racing: + + + 1 + Get paper or open a blank doc + + + 2 + Write EVERYTHING on your mind (10-15 min) + + + 3 + No filtering, no organizing - just dump it all + + + 4 + Review and categorize later + + 💡 Your brain is for having ideas, not holding them + + + Do this weekly or when overwhelmed + @devweekends + diff --git a/images/templates/mindmaster-light/19-energy-management.svg b/images/templates/mindmaster-light/19-energy-management.svg new file mode 100644 index 0000000..db92e0b --- /dev/null +++ b/images/templates/mindmaster-light/19-energy-management.svg @@ -0,0 +1,40 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + Energy Management + > Time Management + + + + Match tasks to energy levels: + + + HIGH ENERGY (Morning) + Complex coding, architecture, learning + + + MEDIUM ENERGY + Meetings, code review, emails + + + LOW ENERGY + Admin tasks, docs, planning + + + CREATIVE ENERGY + Brainstorming, side projects + + 💡 Track your energy patterns for 1 week to know YOUR rhythm + + Energy comes from: Sleep, exercise, food, breaks, purpose + + + Manage energy, not just time + @devweekends + diff --git a/images/templates/mindmaster-light/20-rest-is-productive.svg b/images/templates/mindmaster-light/20-rest-is-productive.svg new file mode 100644 index 0000000..6a0d6dc --- /dev/null +++ b/images/templates/mindmaster-light/20-rest-is-productive.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + Rest is Productive + Take Real Breaks + + + "Almost everything will work again + if you unplug it for a few minutes. + Including you." + + Quality breaks: + + ✓ Walk without phone + ✓ Look out window (20-20-20 rule) + ✓ Stretching or exercise + ✓ Meditation + + ✗ Scrolling social media + ✗ Checking email + ✗ Watching YouTube + ✗ Switching to another screen + + + A tired brain writes buggy code + @devweekends + diff --git a/images/templates/mindmaster-light/21-second-brain.svg b/images/templates/mindmaster-light/21-second-brain.svg new file mode 100644 index 0000000..e87c150 --- /dev/null +++ b/images/templates/mindmaster-light/21-second-brain.svg @@ -0,0 +1,40 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + Second Brain + Externalize Knowledge + + + + The PARA Method: + + + PROJECTS + Active tasks with deadlines + + + AREAS + Ongoing responsibilities + + + RESOURCES + Reference materials & interests + + + ARCHIVES + Completed or inactive items + + Tools: Notion, Obsidian, Roam, or plain folders + + 💡 Capture → Organize → Distill → Express + + + Based on Tiago Forte's Building a Second Brain + @devweekends + diff --git a/images/templates/mindmaster-light/22-analysis-paralysis.svg b/images/templates/mindmaster-light/22-analysis-paralysis.svg new file mode 100644 index 0000000..4d64cec --- /dev/null +++ b/images/templates/mindmaster-light/22-analysis-paralysis.svg @@ -0,0 +1,30 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + Analysis Paralysis + Just Start + + + "Done is better than perfect." + — Sheryl Sandberg + + Break the overthinking cycle: + + 1. Set a decision deadline (e.g., 10 minutes) + 2. Define "good enough" criteria upfront + 3. Accept that most decisions are reversible + 4. Use the 70% rule: act at 70% certainty + 5. Start with the smallest possible step + + 💡 You'll learn more by doing than by planning + + + Progress over perfection + @devweekends + diff --git a/images/templates/mindmaster-light/23-rubber-duck.svg b/images/templates/mindmaster-light/23-rubber-duck.svg new file mode 100644 index 0000000..caf9db1 --- /dev/null +++ b/images/templates/mindmaster-light/23-rubber-duck.svg @@ -0,0 +1,38 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + Rubber Duck + Debugging + + + + How to solve problems by talking: + + + 1 + Get a rubber duck (or any object) + + + 2 + Explain your code line by line to the duck + + + 3 + Describe what the code should do vs what it does + + + 4 + The answer often appears while explaining! + + 💡 Works because forcing articulation reveals hidden assumptions + + + A real technique used by software engineers worldwide 🦆 + @devweekends + diff --git a/images/templates/mindmaster-light/24-sleep-optimization.svg b/images/templates/mindmaster-light/24-sleep-optimization.svg new file mode 100644 index 0000000..907d42f --- /dev/null +++ b/images/templates/mindmaster-light/24-sleep-optimization.svg @@ -0,0 +1,30 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + Sleep Optimization + Code Better Tomorrow + + + + Developer sleep hygiene: + + 🌙 No screens 1 hour before bed + 🕐 Consistent sleep/wake times (even weekends) + ☕ No caffeine after 2pm + 🌡️ Cool room temperature (65-68°F / 18-20°C) + 🔵 Use night shift / dark mode in evenings + 📵 Phone charging outside bedroom + 📝 Brain dump worries before bed + + 7-9 hours = 23% better problem-solving! + + + Your brain processes and consolidates learning during sleep + @devweekends + diff --git a/images/templates/mindmaster-light/25-say-no.svg b/images/templates/mindmaster-light/25-say-no.svg new file mode 100644 index 0000000..44a16be --- /dev/null +++ b/images/templates/mindmaster-light/25-say-no.svg @@ -0,0 +1,31 @@ + + + + + DEV WEEKENDS + + + MIND & PRODUCTIVITY + + Say No More + Protect Your Time + + + "People think focus means saying yes to what + you focus on. It means saying no to the 100 + other good ideas." + + Polite ways to say no: + + "I'm focused on [X] right now" + "My schedule won't allow it this week" + "Have you tried asking [person/resource]?" + "I can help after [deadline]" + "That's not my area of expertise" + + 💡 Every yes to something is a no to something else + + + Your time is your most valuable resource + @devweekends + diff --git a/images/templates/mindmaster/01-session-announcement.svg b/images/templates/mindmaster/01-session-announcement.svg new file mode 100644 index 0000000..fa46e34 --- /dev/null +++ b/images/templates/mindmaster/01-session-announcement.svg @@ -0,0 +1,47 @@ + + + + + + + + + DEV WEEKENDS + + + + MINDMASTER + + + 🧠 + + + MindMaster + Session #42 + + + + TOPIC + The Psychology of Procrastination + + + + DATE & TIME + Sunday, 5 PM IST + + + SPEAKER + [Speaker Name] + + + What you'll learn: + ✓ Why we procrastinate (the science) + ✓ Practical techniques to overcome it + ✓ Building sustainable productivity habits + + + + Join Session → + + Free for all community members + \ No newline at end of file diff --git a/images/templates/mindmaster/02-psychology-tip.svg b/images/templates/mindmaster/02-psychology-tip.svg new file mode 100644 index 0000000..5175b9d --- /dev/null +++ b/images/templates/mindmaster/02-psychology-tip.svg @@ -0,0 +1,41 @@ + + + + + + DEV WEEKENDS + + + + MINDMASTER + + + + PSYCHOLOGY TIP + + + The 2-Minute Rule + + + + + "If a task takes less than 2 minutes, + do it immediately instead of adding + it to your to-do list." + + — David Allen, Getting Things Done + + Why it works: + • Reduces mental clutter + • Builds momentum + • Creates quick wins + + + Try it now: + Reply to that email. File that document. Drink that water. 🚀 + + + + MindMaster: Psychology insights for developers + @devweekends + \ No newline at end of file diff --git a/images/templates/mindmaster/03-book-club.svg b/images/templates/mindmaster/03-book-club.svg new file mode 100644 index 0000000..af9b0a4 --- /dev/null +++ b/images/templates/mindmaster/03-book-club.svg @@ -0,0 +1,41 @@ + + + + + DEV WEEKENDS + + + + BOOK CLUB + + + + + 📚 + [Book Title] + by [Author] + + + Book of the + Month + + + Why we picked this book: + Add 2-3 lines about why this book + is valuable for developers and the + key takeaways we'll discuss. + + + + Discussion Session + Sunday, 6 PM IST + + + Key themes we'll explore: + • Theme 1 + • Theme 2 + • Theme 3 + + + Join the MindMaster book club! @devweekends + \ No newline at end of file diff --git a/images/templates/mindmaster/04-carousel-cover.svg b/images/templates/mindmaster/04-carousel-cover.svg new file mode 100644 index 0000000..9df9559 --- /dev/null +++ b/images/templates/mindmaster/04-carousel-cover.svg @@ -0,0 +1,45 @@ + + + + + DEV WEEKENDS + + + + MINDMASTER + + + SWIPE → + + + 5 Cognitive + Biases + + + That Affect Your Coding Decisions + + + + + 1. Confirmation Bias + Looking for evidence that confirms what you believe + + 2. Sunk Cost Fallacy + Continuing with bad code because you invested time + + 3. Anchoring Effect + First solution shapes all future thinking + + Swipe to see all 5 → + + + + + + + + + + Save this for your next code review 💡 + @devweekends + \ No newline at end of file diff --git a/images/templates/mindmaster/05-what-is-mindmaster.svg b/images/templates/mindmaster/05-what-is-mindmaster.svg new file mode 100644 index 0000000..a024a77 --- /dev/null +++ b/images/templates/mindmaster/05-what-is-mindmaster.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + DEV WEEKENDS + + + + MINDMASTER + + + What is + MindMaster? + + + Weekly sessions on psychology, mindset, and + personal development for developers. + + + + 🧠 + Psychology Insights + + + 📚 + Book Discussions + + + 💪 + Mindset Training + + + 40+ sessions conducted + 500+ attendees + Every Sunday 5PM + + + + Join Next Session → + + + Watch past sessions on YouTube + + + @devweekends + \ No newline at end of file diff --git a/images/templates/mindmaster/session-01-focus-fundamentals.svg b/images/templates/mindmaster/session-01-focus-fundamentals.svg new file mode 100644 index 0000000..064df2c --- /dev/null +++ b/images/templates/mindmaster/session-01-focus-fundamentals.svg @@ -0,0 +1,43 @@ + + + + + + + + + + DEV WEEKENDS + + + LIVE SESSION + + + MINDMASTER + + Focus Fundamentals: + Deep Work Mastery + + Learn to eliminate distractions and achieve flow state + + + DATE + Saturday, Dec 7 + + + TIME + 8:00 PM PKT + + + PLATFORM + Discord Stage + + + + Speaker + Mental Performance Coach + Productivity Expert + Interactive Q&A included + + Free for all community members → + diff --git a/images/templates/mindmaster/session-02-mental-models.svg b/images/templates/mindmaster/session-02-mental-models.svg new file mode 100644 index 0000000..527d9c0 --- /dev/null +++ b/images/templates/mindmaster/session-02-mental-models.svg @@ -0,0 +1,43 @@ + + + + + + + + + + DEV WEEKENDS + + + LIVE SESSION + + + MINDMASTER + + Mental Models for + Problem Solving + + First principles thinking, inversion, and more + + + DATE + Saturday, Dec 14 + + + TIME + 8:00 PM PKT + + + PLATFORM + Discord Stage + + + + Speaker + Strategic Thinker + Decision Science + Practical frameworks + + Think better, decide faster → + diff --git a/images/templates/mindmaster/session-03-stress-management.svg b/images/templates/mindmaster/session-03-stress-management.svg new file mode 100644 index 0000000..289103d --- /dev/null +++ b/images/templates/mindmaster/session-03-stress-management.svg @@ -0,0 +1,43 @@ + + + + + + + + + + DEV WEEKENDS + + + LIVE SESSION + + + MINDMASTER + + Stress Management + for Developers + + Techniques to stay calm under deadline pressure + + + DATE + Saturday, Dec 21 + + + TIME + 8:00 PM PKT + + + PLATFORM + Discord Stage + + + + Speaker + Wellness Coach + Tech Industry Expert + Breathing exercises included + + Your mental health matters → + diff --git a/images/templates/mindmaster/session-04-habit-building.svg b/images/templates/mindmaster/session-04-habit-building.svg new file mode 100644 index 0000000..b2e296a --- /dev/null +++ b/images/templates/mindmaster/session-04-habit-building.svg @@ -0,0 +1,43 @@ + + + + + + + + + + DEV WEEKENDS + + + LIVE SESSION + + + MINDMASTER + + Atomic Habits for + Consistent Coding + + Build a daily coding practice that sticks + + + DATE + Saturday, Dec 28 + + + TIME + 8:00 PM PKT + + + PLATFORM + Discord Stage + + + + Speaker + Habit Coach + Behavioral Science + Habit tracker templates + + Small habits, big results → + diff --git a/images/templates/mindmaster/session-05-time-management.svg b/images/templates/mindmaster/session-05-time-management.svg new file mode 100644 index 0000000..c1f5d7a --- /dev/null +++ b/images/templates/mindmaster/session-05-time-management.svg @@ -0,0 +1,43 @@ + + + + + + + + + + DEV WEEKENDS + + + LIVE SESSION + + + MINDMASTER + + Time Boxing: + Master Your Calendar + + The scheduling technique top performers use + + + DATE + Saturday, Jan 4 + + + TIME + 8:00 PM PKT + + + PLATFORM + Discord Stage + + + + Speaker + Time Management Pro + Calendar Optimization + Calendar setup walkthrough + + Take control of your time → + diff --git a/images/templates/mindmaster/session-06-learning-techniques.svg b/images/templates/mindmaster/session-06-learning-techniques.svg new file mode 100644 index 0000000..5a8e530 --- /dev/null +++ b/images/templates/mindmaster/session-06-learning-techniques.svg @@ -0,0 +1,43 @@ + + + + + + + + + + DEV WEEKENDS + + + LIVE SESSION + + + MINDMASTER + + Speed Learning: + Tech Skills Fast + + Learn any programming language or framework in weeks + + + DATE + Saturday, Jan 11 + + + TIME + 8:00 PM PKT + + + PLATFORM + Discord Stage + + + + Speaker + Learning Expert + Self-taught Developer + Learning roadmap included + + Learn smarter, not harder → + diff --git a/images/templates/mindmaster/session-07-motivation-burnout.svg b/images/templates/mindmaster/session-07-motivation-burnout.svg new file mode 100644 index 0000000..5bc95ec --- /dev/null +++ b/images/templates/mindmaster/session-07-motivation-burnout.svg @@ -0,0 +1,43 @@ + + + + + + + + + + DEV WEEKENDS + + + LIVE SESSION + + + MINDMASTER + + Beating Burnout: + Stay Motivated + + Practical strategies to reignite your passion for coding + + + DATE + Saturday, Jan 18 + + + TIME + 8:00 PM PKT + + + PLATFORM + Discord Stage + + + + Speaker + Developer Advocate + Burnout Survivor + Open discussion & support + + You're not alone → + diff --git a/images/templates/motivational/01-quote-dark.svg b/images/templates/motivational/01-quote-dark.svg new file mode 100644 index 0000000..cde0d86 --- /dev/null +++ b/images/templates/motivational/01-quote-dark.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + DEV WEEKENDS + + + " + + + The best time to + plant a tree was + 20 years ago. + + The second best + time is now. + + + — Chinese Proverb + + + " + + + + Start your journey today | @devweekends + \ No newline at end of file diff --git a/images/templates/motivational/02-journey-comparison.svg b/images/templates/motivational/02-journey-comparison.svg new file mode 100644 index 0000000..7338aca --- /dev/null +++ b/images/templates/motivational/02-journey-comparison.svg @@ -0,0 +1,40 @@ + + + + + + DEV WEEKENDS + + + + MY JOURNEY + + + 6 Months Ago + + + + Stuck in tutorial hell + + Couldn't solve basic DSA + + Overwhelmed by job search + + + + + Today + + + + Built 3 production projects + + Solved 200+ DSA problems + + Got my dream job! + + + Consistent effort beats talent every time 💪 + + @devweekends + \ No newline at end of file diff --git a/images/templates/motivational/03-mindset-post.svg b/images/templates/motivational/03-mindset-post.svg new file mode 100644 index 0000000..0a24c7d --- /dev/null +++ b/images/templates/motivational/03-mindset-post.svg @@ -0,0 +1,31 @@ + + + + + DEV WEEKENDS + + + + MINDSET + + + Stop comparing your + Chapter 1 + to someone else's + Chapter 10 + + + + 📖 + Your Journey + + + 📚 + Their Journey + + + Everyone starts somewhere. Focus on your progress. + + + Save this for when you need a reminder 💛 + \ No newline at end of file diff --git a/images/templates/motivational/04-hard-truth.svg b/images/templates/motivational/04-hard-truth.svg new file mode 100644 index 0000000..2ef241b --- /dev/null +++ b/images/templates/motivational/04-hard-truth.svg @@ -0,0 +1,31 @@ + + + + + DEV WEEKENDS + + + + HARD TRUTH + + + Nobody is coming + to save you. + + + + You have to save yourself. + + + → No one will learn for you + → No one will practice for you + → No one will apply for jobs for you + → No one will show up for you + + + + But you can. And you will. Start today. + + + @devweekends + \ No newline at end of file diff --git a/images/templates/motivational/05-encouragement.svg b/images/templates/motivational/05-encouragement.svg new file mode 100644 index 0000000..1900e39 --- /dev/null +++ b/images/templates/motivational/05-encouragement.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + DEV WEEKENDS + + + + + + + It's okay to be + a work in progress + and a masterpiece + at the same time. + + + + + + Growth is a continuous journey, not a destination + + + Tag someone who needs to hear this 💛 + + + @devweekends + \ No newline at end of file diff --git a/images/templates/pakistan-events/01-independence-day.svg b/images/templates/pakistan-events/01-independence-day.svg new file mode 100644 index 0000000..df09a53 --- /dev/null +++ b/images/templates/pakistan-events/01-independence-day.svg @@ -0,0 +1,20 @@ + + + + + + DEV WEEKENDS + + 14 August + Independence Day + + + + Building the future of Pakistan + one developer at a time + + + Pakistan Zindabad + + @devweekends + \ No newline at end of file diff --git a/images/templates/pakistan-events/02-eid-mubarak.svg b/images/templates/pakistan-events/02-eid-mubarak.svg new file mode 100644 index 0000000..91fdfc9 --- /dev/null +++ b/images/templates/pakistan-events/02-eid-mubarak.svg @@ -0,0 +1,23 @@ + + + + DEV WEEKENDS + + + EID MUBARAK + + Eid Mubarak + + ★ ★ ★ + + Wishing you and your family + a blessed Eid + + + May this Eid bring you joy, success, + and many opportunities to grow + + From the Dev Weekends family + + @devweekends + \ No newline at end of file diff --git a/images/templates/pakistan-events/03-pakistan-day.svg b/images/templates/pakistan-events/03-pakistan-day.svg new file mode 100644 index 0000000..c09d2c0 --- /dev/null +++ b/images/templates/pakistan-events/03-pakistan-day.svg @@ -0,0 +1,31 @@ + + + + + DEV WEEKENDS + + + 23 MARCH + + Pakistan Day + + Celebrating the Lahore Resolution + + + + "The only way to do great work + is to love what you do" + + Let's build technology that makes Pakistan proud + + + 5,000+ Engineers + + + Building Together + + + From Pakistan + + @devweekends + \ No newline at end of file diff --git a/images/templates/pakistan-events/04-ramadan.svg b/images/templates/pakistan-events/04-ramadan.svg new file mode 100644 index 0000000..b372038 --- /dev/null +++ b/images/templates/pakistan-events/04-ramadan.svg @@ -0,0 +1,22 @@ + + + + DEV WEEKENDS + + + RAMADAN + + Ramadan + Mubarak + + + + + May this blessed month bring you + peace, growth, and countless blessings + + Adjusted session timings during Ramadan + Check Discord for updated schedule + + From the Dev Weekends family + \ No newline at end of file diff --git a/images/templates/pakistan-events/05-iqbal-day.svg b/images/templates/pakistan-events/05-iqbal-day.svg new file mode 100644 index 0000000..103e05f --- /dev/null +++ b/images/templates/pakistan-events/05-iqbal-day.svg @@ -0,0 +1,26 @@ + + + + DEV WEEKENDS + + + 9 NOVEMBER + + Iqbal Day + + Remembering Allama Muhammad Iqbal + + + + "Khudi ko kar buland itna + ke har taqdeer se pehle + Khuda bande se khud pooche bata teri raza kya hai" + + — Allama Iqbal + + + Raise yourself to such heights that destiny asks you your will + + Building engineers who shape their own destiny + @devweekends + \ No newline at end of file diff --git a/images/templates/productivity-commands/01-vscode-multicursor.svg b/images/templates/productivity-commands/01-vscode-multicursor.svg new file mode 100644 index 0000000..0f6ae19 --- /dev/null +++ b/images/templates/productivity-commands/01-vscode-multicursor.svg @@ -0,0 +1,42 @@ + + + + + DEV WEEKENDS + + + PRODUCTIVITY TIP + + VS Code Multi-Cursor + Magic + + + + Key Commands: + + + Ctrl + D + Select next occurrence of word + + + Ctrl + Shift + L + Select ALL occurrences + + + Alt + Click + Add cursor at click position + + + Ctrl + Alt + ↑/↓ + Add cursor above/below + + + Shift + Alt + I + Add cursor to end of each selected line + + 💡 Edit 100 lines in seconds instead of minutes! + + + Save hours of repetitive editing + @devweekends + diff --git a/images/templates/productivity-commands/02-terminal-shortcuts.svg b/images/templates/productivity-commands/02-terminal-shortcuts.svg new file mode 100644 index 0000000..13a75ab --- /dev/null +++ b/images/templates/productivity-commands/02-terminal-shortcuts.svg @@ -0,0 +1,42 @@ + + + + + DEV WEEKENDS + + + PRODUCTIVITY TIP + + Terminal Shortcuts + That Save Time + + + + Essential Commands: + + + Ctrl + R + Search command history (reverse search) + + + !! + Repeat last command + + + Ctrl + A / Ctrl + E + Jump to start / end of line + + + Ctrl + U + Clear line before cursor + + + Alt + . + Insert last argument from previous command + + 💡 Stop retyping commands - let history work for you! + + + Master your terminal, master your workflow + @devweekends + diff --git a/images/templates/productivity-commands/03-find-replace.svg b/images/templates/productivity-commands/03-find-replace.svg new file mode 100644 index 0000000..8ca187e --- /dev/null +++ b/images/templates/productivity-commands/03-find-replace.svg @@ -0,0 +1,42 @@ + + + + + DEV WEEKENDS + + + PRODUCTIVITY TIP + + Find & Replace + Like a Pro + + + + Power Commands: + + + Ctrl + H + Find and Replace in file + + + Ctrl + Shift + H + Find and Replace in all files + + + Alt + Enter + Select all matches (in search) + + + Ctrl + Shift + 1 + Replace only the first occurrence + + + .* (with regex) + Use regex for powerful pattern matching + + 💡 Rename variables across your entire project instantly! + + + Refactor with confidence + @devweekends + diff --git a/images/templates/productivity-commands/04-split-editor.svg b/images/templates/productivity-commands/04-split-editor.svg new file mode 100644 index 0000000..0b21065 --- /dev/null +++ b/images/templates/productivity-commands/04-split-editor.svg @@ -0,0 +1,42 @@ + + + + + DEV WEEKENDS + + + PRODUCTIVITY TIP + + Split Editor + Multitasking + + + + Split View Commands: + + + Ctrl + \ + Split editor vertically + + + Ctrl + K, Ctrl + \ + Split editor horizontally + + + Ctrl + 1/2/3 + Focus on editor group 1, 2, or 3 + + + Ctrl + K, ← / → + Move active file to left/right group + + + Ctrl + W + Close current editor + + 💡 View component and its test side by side! + + + Work on multiple files simultaneously + @devweekends + diff --git a/images/templates/productivity-commands/05-code-navigation.svg b/images/templates/productivity-commands/05-code-navigation.svg new file mode 100644 index 0000000..13b3ecd --- /dev/null +++ b/images/templates/productivity-commands/05-code-navigation.svg @@ -0,0 +1,42 @@ + + + + + DEV WEEKENDS + + + PRODUCTIVITY TIP + + Code Navigation + Speed Run + + + + Navigate Faster: + + + Ctrl + P + Quick open any file by name + + + Ctrl + G + Go to specific line number + + + Ctrl + Shift + O + Go to symbol in file + + + F12 / Ctrl + Click + Go to definition + + + Alt + ← / → + Navigate back / forward + + 💡 Jump to any function without scrolling! + + + Navigate codebases like a ninja + @devweekends + diff --git a/images/templates/productivity-commands/06-refactoring.svg b/images/templates/productivity-commands/06-refactoring.svg new file mode 100644 index 0000000..bf9426d --- /dev/null +++ b/images/templates/productivity-commands/06-refactoring.svg @@ -0,0 +1,42 @@ + + + + + DEV WEEKENDS + + + PRODUCTIVITY TIP + + Code Refactoring + Shortcuts + + + + Refactor Commands: + + + F2 + Rename symbol (across all files!) + + + Ctrl + . + Quick fix / refactor suggestions + + + Ctrl + Shift + R + Refactor menu (extract function, etc.) + + + Shift + Alt + F + Format entire document + + + Ctrl + K, Ctrl + F + Format selected code + + 💡 Rename a variable in 50 files with one keystroke! + + + Clean code, clean mind + @devweekends + diff --git a/images/templates/productivity-commands/07-integrated-terminal.svg b/images/templates/productivity-commands/07-integrated-terminal.svg new file mode 100644 index 0000000..c724478 --- /dev/null +++ b/images/templates/productivity-commands/07-integrated-terminal.svg @@ -0,0 +1,42 @@ + + + + + DEV WEEKENDS + + + PRODUCTIVITY TIP + + Integrated Terminal + Power User + + + + Terminal Commands: + + + Ctrl + ` + Toggle integrated terminal + + + Ctrl + Shift + ` + Create new terminal + + + Ctrl + PageUp/Down + Switch between terminals + + + Ctrl + Shift + 5 + Split terminal + + + Ctrl + Shift + C/V + Copy/Paste in terminal + + 💡 Run dev server, tests, and git - all in one view! + + + No more switching to external terminal + @devweekends + diff --git a/images/templates/productivity-commands/08-debugging.svg b/images/templates/productivity-commands/08-debugging.svg new file mode 100644 index 0000000..2602ef1 --- /dev/null +++ b/images/templates/productivity-commands/08-debugging.svg @@ -0,0 +1,42 @@ + + + + + DEV WEEKENDS + + + PRODUCTIVITY TIP + + Debugging + Like a Boss + + + + Debug Commands: + + + F5 + Start/Continue debugging + + + F9 + Toggle breakpoint + + + F10 + Step over (next line) + + + F11 + Step into function + + + Shift + F5 + Stop debugging + + 💡 Stop using console.log - use breakpoints instead! + + + Find bugs 10x faster with proper debugging + @devweekends + diff --git a/images/templates/productivity-commands/09-command-palette.svg b/images/templates/productivity-commands/09-command-palette.svg new file mode 100644 index 0000000..70d31c3 --- /dev/null +++ b/images/templates/productivity-commands/09-command-palette.svg @@ -0,0 +1,33 @@ + + + + + DEV WEEKENDS + + + PRODUCTIVITY TIP + + Command Palette + Master Key + + + + The One Shortcut: + + + Ctrl + Shift + P + + Access EVERY VS Code command from here: + + • Change theme: "Preferences: Color Theme" + • Format code: "Format Document" + • Install extensions: "Extensions: Install" + • Git commands: "Git: Commit" + • Settings: "Preferences: Open Settings" + + 💡 Forgot a shortcut? Find it here! + + + The most powerful shortcut in VS Code + @devweekends + diff --git a/images/templates/productivity-commands/10-zen-mode.svg b/images/templates/productivity-commands/10-zen-mode.svg new file mode 100644 index 0000000..4fdf38a --- /dev/null +++ b/images/templates/productivity-commands/10-zen-mode.svg @@ -0,0 +1,42 @@ + + + + + DEV WEEKENDS + + + PRODUCTIVITY TIP + + Zen Mode & Focus + Distraction Free + + + + Focus Commands: + + + Ctrl + K Z + Toggle Zen Mode (fullscreen, no distractions) + + + Ctrl + B + Toggle sidebar visibility + + + Ctrl + J + Toggle panel (terminal, problems) + + + Ctrl + K, Ctrl + Z + Fold all code blocks + + + Esc Esc + Exit Zen Mode + + 💡 Enter the flow state with zero distractions! + + + Focus on what matters - your code + @devweekends + diff --git a/images/templates/system-design/01-load-balancing.svg b/images/templates/system-design/01-load-balancing.svg new file mode 100644 index 0000000..fbe4203 --- /dev/null +++ b/images/templates/system-design/01-load-balancing.svg @@ -0,0 +1,50 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + Load + Balancing + + Distribute traffic across multiple servers + + + + + Load Balancer + + Clients → + + + + + + + Server 1 + Healthy + + + Server 2 + Healthy + + + Server 3 + Healthy + + + Strategies + • Round Robin + • Least Connections + • IP Hash + • Weighted + + + Tools + NGINX | HAProxy | AWS ELB + Cloudflare | F5 | Traefik + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/02-caching.svg b/images/templates/system-design/02-caching.svg new file mode 100644 index 0000000..3c49e49 --- /dev/null +++ b/images/templates/system-design/02-caching.svg @@ -0,0 +1,49 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + Caching + Strategies + + Store frequently accessed data closer to the user + + + Write Strategies + + + Write-Through + Cache + DB sync + + + Write-Behind + Async DB write + + + Eviction Policies + LRU - Least Recently Used + LFU - Least Frequently Used + TTL - Time To Live + + + Cache Levels + + + L1: Browser/CDN + + + L2: App Cache + + + L3: Redis/Memcached + + + DB + + Cache invalidation is one of the hardest problems in CS + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/03-sharding.svg b/images/templates/system-design/03-sharding.svg new file mode 100644 index 0000000..b364ce0 --- /dev/null +++ b/images/templates/system-design/03-sharding.svg @@ -0,0 +1,47 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + Database + Sharding + + Horizontal partitioning to distribute data across servers + + + + + User Data + + + + + + Shard Key: user_id % 3 + + + Shard 0 (A-H) + + + Shard 1 (I-Q) + + + Shard 2 (R-Z) + + + Sharding Strategies + • Hash-based (Consistent Hashing) + • Range-based (Time/ID ranges) + • Directory-based (Lookup table) + + + Challenges + • Cross-shard queries + • Rebalancing data + • Joins across shards + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/04-cap-theorem.svg b/images/templates/system-design/04-cap-theorem.svg new file mode 100644 index 0000000..5af47b4 --- /dev/null +++ b/images/templates/system-design/04-cap-theorem.svg @@ -0,0 +1,44 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + CAP + Theorem + + You can only guarantee 2 out of 3 properties + + + + + Consistency + All nodes see + same data + + + Availability + Always responds + + + Partition + Tolerance + Works despite + network issues + + + CP Systems + MongoDB, HBase + + + AP Systems + Cassandra, DynamoDB + + + CA Systems + RDBMS (single node) + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/05-message-queues.svg b/images/templates/system-design/05-message-queues.svg new file mode 100644 index 0000000..7b17908 --- /dev/null +++ b/images/templates/system-design/05-message-queues.svg @@ -0,0 +1,50 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + Message + Queues + + Async communication between services + + + + + Producer + Service A + + + + + + Message Queue + + + + FIFO Processing + + + + + + Consumer + Service B + + + Benefits + • Decoupling services + • Buffer for traffic spikes + • Retry failed operations + + + Popular Solutions + RabbitMQ | Apache Kafka + Amazon SQS | Redis Streams + Google Pub/Sub + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/06-cdn.svg b/images/templates/system-design/06-cdn.svg new file mode 100644 index 0000000..b2f2d94 --- /dev/null +++ b/images/templates/system-design/06-cdn.svg @@ -0,0 +1,53 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + Content + Delivery Network + + Serve content from servers closest to users + + + + + Origin + + + Edge + Europe + + + Edge + Asia + + + Edge + US West + + + Edge + US East + + + + + + + + CDN Benefits + • Reduced latency + • DDoS protection + • Better availability + • Less origin load + + + Popular CDNs + Cloudflare | Akamai | AWS CloudFront + Fastly | Azure CDN | Google Cloud CDN + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/07-replication.svg b/images/templates/system-design/07-replication.svg new file mode 100644 index 0000000..b8bd00f --- /dev/null +++ b/images/templates/system-design/07-replication.svg @@ -0,0 +1,48 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + Database + Replication + + Copy data across multiple servers for reliability + + + + Leader-Follower Replication + + + Leader (Primary) + Handles all writes + + + + + + + Follower 1 + + + Follower 2 + + + Follower 3 + + + Sync vs Async + Synchronous: Wait for all replicas + → Stronger consistency, slower + Asynchronous: Don't wait + + + Multi-Leader + Multiple leaders accept writes + Conflict resolution needed + Good for multi-region setups + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/08-api-gateway.svg b/images/templates/system-design/08-api-gateway.svg new file mode 100644 index 0000000..028a0c0 --- /dev/null +++ b/images/templates/system-design/08-api-gateway.svg @@ -0,0 +1,49 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + API + Gateway + + Single entry point for all client requests + + + + + Clients + + + + + API Gateway + Auth | Rate Limit + Routing | SSL + Logging | Caching + Transform + + + + + + + User Service + + + Order Service + + + Payment Service + + + Microservices + + + Popular API Gateways + Kong | AWS API Gateway | NGINX | Apigee | Traefik | Express Gateway + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/09-rate-limiting.svg b/images/templates/system-design/09-rate-limiting.svg new file mode 100644 index 0000000..0e1ed65 --- /dev/null +++ b/images/templates/system-design/09-rate-limiting.svg @@ -0,0 +1,46 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + Rate + Limiting + + Control traffic to prevent abuse and ensure fairness + + + Common Algorithms + + + Token Bucket + Tokens added at fixed rate, consumed per request + + + Leaky Bucket + Requests processed at constant rate + + + Fixed Window + Count requests per time window + + + Sliding Window Log + Track timestamps of recent requests + + + HTTP 429 Response + HTTP/1.1 429 Too Many Requests + Retry-After: 60 + X-RateLimit-Remaining: 0 + + + Where to Implement + • API Gateway (centralized) + • Application level + • Redis for distributed systems + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/10-microservices.svg b/images/templates/system-design/10-microservices.svg new file mode 100644 index 0000000..a63b346 --- /dev/null +++ b/images/templates/system-design/10-microservices.svg @@ -0,0 +1,54 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + Microservices + Architecture + + Small, independent services that do one thing well + + + + + Auth + Service + + + User + Service + + + Product + Service + + + Order + Service + + + Payment + + + Notification + + + Analytics + + + Pros + • Independent deployment + • Technology flexibility + • Better fault isolation + + + Cons + • Network complexity + • Data consistency challenges + • Operational overhead + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/11-consistent-hashing.svg b/images/templates/system-design/11-consistent-hashing.svg new file mode 100644 index 0000000..28eca30 --- /dev/null +++ b/images/templates/system-design/11-consistent-hashing.svg @@ -0,0 +1,52 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + Consistent + Hashing + + Distribute data evenly with minimal redistribution + + + + + + + Server A + + + Server B + + + Server C + + + Server D + + + key1 + + + key2 + + + key3 + + Keys map to ring + Find next server + clockwise + + + Add/Remove node: Only K/n keys move + K = total keys, n = number of nodes + + + Use Cases + Load Balancers | Distributed Caches | DBs + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/12-sql-vs-nosql.svg b/images/templates/system-design/12-sql-vs-nosql.svg new file mode 100644 index 0000000..df6edfa --- /dev/null +++ b/images/templates/system-design/12-sql-vs-nosql.svg @@ -0,0 +1,44 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + SQL vs + NoSQL + + Choose the right database for your use case + + + SQL (Relational) + + Structured data with relations + • ACID transactions + • Strong consistency + • Complex queries (JOINs) + • Vertical scaling + + Examples: + PostgreSQL, MySQL, Oracle + SQL Server, SQLite + + + NoSQL + + Flexible schema, various models + • BASE transactions + • Eventual consistency + • High write throughput + • Horizontal scaling + + Types: + Document: MongoDB, Firestore + Key-Value: Redis, DynamoDB + + Best for: Banking, ERP + Best for: Real-time, Big Data + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/13-indexing.svg b/images/templates/system-design/13-indexing.svg new file mode 100644 index 0000000..2c5def3 --- /dev/null +++ b/images/templates/system-design/13-indexing.svg @@ -0,0 +1,43 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + Database + Indexing + + Speed up queries by creating lookup structures + + + + Without Index + With B-Tree Index + + + Full Table Scan + O(n) - Check every row + + Row by row scan... + + + Index Lookup + O(log n) - Binary search + + + + + + Index Types + • B-Tree (default, range queries) + • Hash (equality checks only) + + + Trade-offs + • Slower writes (index update) + • Extra storage space + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/14-websockets.svg b/images/templates/system-design/14-websockets.svg new file mode 100644 index 0000000..cd0fa70 --- /dev/null +++ b/images/templates/system-design/14-websockets.svg @@ -0,0 +1,60 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + WebSockets + vs Long Polling vs SSE + + Real-time communication patterns + + + WebSocket + Full-duplex connection + + + + + + + + Use: Chat, Gaming + + + Long Polling + Hold request until data + + + + + wait... + + + + Use: Notifications + + + SSE + Server → Client only + + + + + + + + Use: Live feeds + + + Connection: Persistent + Direction: Bidirectional + Connection: Repeated + Overhead: High + Connection: Persistent + Direction: Server only + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/15-distributed-transactions.svg b/images/templates/system-design/15-distributed-transactions.svg new file mode 100644 index 0000000..8ecf396 --- /dev/null +++ b/images/templates/system-design/15-distributed-transactions.svg @@ -0,0 +1,65 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + Distributed + Transactions + + Maintain consistency across multiple services + + + Two-Phase Commit (2PC) + + + Coordinator + + + + + + + Node 1 + + + Node 2 + + + Node 3 + + Phase 1: Prepare (vote) + Phase 2: Commit/Abort + Blocking if coordinator fails + + + Saga Pattern + + Sequence of local transactions + + + Step 1 + + + + + Step 2 + + + + + Step 3 (fail) + + + + + Compensate + + On failure: Run compensating + transactions to rollback + Non-blocking, eventually consistent + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/16-service-discovery.svg b/images/templates/system-design/16-service-discovery.svg new file mode 100644 index 0000000..4f5ecc7 --- /dev/null +++ b/images/templates/system-design/16-service-discovery.svg @@ -0,0 +1,52 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + Service + Discovery + + Automatically detect and connect to services + + + + + Service Registry + + Tracks all service instances + + + Service A + 192.168.1.10:8080 + + + Service B + 192.168.1.20:8081 + + + Service C + 192.168.1.30:8082 + + + + + + register + heartbeat + register + + + Discovery Patterns + Client-side: Client queries registry + Server-side: Load balancer queries + + + Tools + Consul | etcd | ZooKeeper + Eureka | Kubernetes DNS + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/17-circuit-breaker.svg b/images/templates/system-design/17-circuit-breaker.svg new file mode 100644 index 0000000..1324443 --- /dev/null +++ b/images/templates/system-design/17-circuit-breaker.svg @@ -0,0 +1,51 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + Circuit + Breaker + + Prevent cascading failures in distributed systems + + + + State Machine + + + CLOSED + + + OPEN + + + HALF- + OPEN + + + Failures exceed threshold + + + Timeout expires + + + Test fails + + + Test succeeds + + + Closed (Normal) + Requests flow through + Monitor for failures + + + Open (Blocking) + Fail fast, return error + No requests to service + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/18-event-driven.svg b/images/templates/system-design/18-event-driven.svg new file mode 100644 index 0000000..a907d05 --- /dev/null +++ b/images/templates/system-design/18-event-driven.svg @@ -0,0 +1,52 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + Event-Driven + Architecture + + Communicate through events, loosely coupled services + + + + + Order Service + (Producer) + + + emit + + + Event Bus + + OrderCreated Event + + PaymentReceived Event + + + + + + Inventory + (Consumer) + + + Notification + (Consumer) + + + Advantages + • Loose coupling + • Easy to add consumers + + + Event Sourcing + Store events as source of truth + Rebuild state by replaying events + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/19-cqrs.svg b/images/templates/system-design/19-cqrs.svg new file mode 100644 index 0000000..e41647e --- /dev/null +++ b/images/templates/system-design/19-cqrs.svg @@ -0,0 +1,50 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + CQRS + + Command Query Responsibility Segregation + + Separate read and write operations + + + + + API Layer + + + + + + Command Side + Write Model + + + Domain Logic + + + Write DB + + + Query Side + Read Model + + + Denormalized Views + + + Read DB (Optimized) + + + Sync (Events) + + Benefits: Independent scaling, optimized models for each operation + Trade-off: Eventual consistency, increased complexity + + @devweekends + \ No newline at end of file diff --git a/images/templates/system-design/20-estimations.svg b/images/templates/system-design/20-estimations.svg new file mode 100644 index 0000000..6f5f3c5 --- /dev/null +++ b/images/templates/system-design/20-estimations.svg @@ -0,0 +1,56 @@ + + + + DEV WEEKENDS + + + SYSTEM DESIGN + + Back-of-Envelope + Calculations + + Key numbers every engineer should know + + + Latency Numbers + + L1 cache reference + 0.5 ns + + L2 cache reference + 7 ns + + RAM reference + 100 ns + + SSD random read + 150 μs + + HDD seek + 10 ms + + Network round trip (same DC) + 0.5 ms + + Network round trip (cross DC) + 150 ms + + + Power of 2 + + 1 KB = 2^10 bytes + 1 MB = 2^20 bytes + 1 GB = 2^30 bytes + + 1 TB = 2^40 + 1 PB = 2^50 + + + Quick Estimates + 1 day = 86,400 sec ≈ 10^5 sec + 1 year ≈ 30 million sec ≈ 10^7.5 sec + + QPS = Daily active users × avg requests / 86400 + + @devweekends + \ No newline at end of file diff --git a/images/templates/tech-events/01-session-announcement.svg b/images/templates/tech-events/01-session-announcement.svg new file mode 100644 index 0000000..b63091c --- /dev/null +++ b/images/templates/tech-events/01-session-announcement.svg @@ -0,0 +1,43 @@ + + + + + + DEV WEEKENDS + + + + + LIVE + + + + TECH SESSION + + + Introduction to + Cloud Computing + + + + + + + Sat, Dec 14 + + + 7:00 PM + + + Discord + + + + Photo + Speaker Name + Cloud Engineer @ AWS + + + + Join Free → + \ No newline at end of file diff --git a/images/templates/tech-events/02-hackathon.svg b/images/templates/tech-events/02-hackathon.svg new file mode 100644 index 0000000..7f3e5a5 --- /dev/null +++ b/images/templates/tech-events/02-hackathon.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + DEV WEEKENDS + + + + HACKATHON + + + Build + Something + Amazing + + + December 20-22, 2025 • 48 Hours + + + + PRIZE POOL + $5,000 + + + + Register Now → + + + Only 50 spots left! + \ No newline at end of file diff --git a/images/templates/tech-events/03-workshop.svg b/images/templates/tech-events/03-workshop.svg new file mode 100644 index 0000000..5d2678f --- /dev/null +++ b/images/templates/tech-events/03-workshop.svg @@ -0,0 +1,40 @@ + + + + + + + + DEV WEEKENDS + + 14 + DEC + 7:00 PM PKT + + + FREE EVENT + + + + WORKSHOP + + Git & GitHub + for Beginners + + Master version control from scratch. + Hands-on, practical, no prior experience needed. + + + + Git Basics + + + Branching + + + PRs + + + + Register → + \ No newline at end of file diff --git a/images/templates/tech-events/04-open-source.svg b/images/templates/tech-events/04-open-source.svg new file mode 100644 index 0000000..fabf78f --- /dev/null +++ b/images/templates/tech-events/04-open-source.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + DEV WEEKENDS + + + + OPEN SOURCE + + + Hacktoberfest + Prep Session + + + Get ready to contribute to open source + + + ✓ Finding good first issues + ✓ Making quality PRs + ✓ Building your profile + + + + WHEN + Oct 1, 2025 + 7:00 PM PKT + + + Join Discord → + Free for all members + \ No newline at end of file diff --git a/images/templates/tech-events/05-ama.svg b/images/templates/tech-events/05-ama.svg new file mode 100644 index 0000000..a65424b --- /dev/null +++ b/images/templates/tech-events/05-ama.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + DEV WEEKENDS + + + + AMA + + + Ask Me Anything + with Industry Expert + + + + + Photo + Speaker Name + Senior Engineer @ Google + 10+ years in tech + + + + WHEN + Sunday, Dec 15 + 8:00 PM PKT • Discord + + + Submit your questions in #ama-questions + \ No newline at end of file diff --git a/images/templates/template-1-featured-post.svg b/images/templates/template-1-featured-post.svg new file mode 100644 index 0000000..caaa741 --- /dev/null +++ b/images/templates/template-1-featured-post.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + DEV WEEKENDS + + + + FEATURED + + + Your Blog Title Here + Second Line If Needed + + + A compelling subtitle that captures the essence of your article + + + + Author Name + Date • 5 min read + + + + + \ No newline at end of file diff --git a/images/templates/template-2-tutorial.svg b/images/templates/template-2-tutorial.svg new file mode 100644 index 0000000..4fc8009 --- /dev/null +++ b/images/templates/template-2-tutorial.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DEV WEEKENDS + + + + TUTORIAL + + + How to Build + Something Great + + + + React + + + TypeScript + + + Next.js + + + Author Name + Step-by-step guide • 10 min read + \ No newline at end of file diff --git a/images/templates/template-3-mindmaster-quote.svg b/images/templates/template-3-mindmaster-quote.svg new file mode 100644 index 0000000..96391dd --- /dev/null +++ b/images/templates/template-3-mindmaster-quote.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + 01 + + + DEV WEEKENDS + + + + MINDMASTER + + + "The mind is + everything. What you + think, you become." + + + + Speaker Name + Role or Description + + + + + \ No newline at end of file diff --git a/images/templates/template-4-listicle.svg b/images/templates/template-4-listicle.svg new file mode 100644 index 0000000..f63a541 --- /dev/null +++ b/images/templates/template-4-listicle.svg @@ -0,0 +1,41 @@ + + + + + + + + + + DEV WEEKENDS + + + + COMMUNITY + + + + 01 + First Point + Description here + + + 02 + Second Point + Description here + + + 03 + Third Point + Description here + + + 3 Things Every Developer + Should Know in 2025 + + + + + + Read time: 8 min + \ No newline at end of file diff --git a/images/templates/template-5-case-study-dark.svg b/images/templates/template-5-case-study-dark.svg new file mode 100644 index 0000000..4e7cd88 --- /dev/null +++ b/images/templates/template-5-case-study-dark.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + DEV WEEKENDS + + + + CASE STUDY + + + From Zero to + Industry Ready + + + + + + A Fellow's transformation journey + + + 6 + months + + 3x + salary + + 1 + dream job + + + + Photo + + + Fellow Name + Now at Company + \ No newline at end of file diff --git a/images/templates/template-6-session-announcement.svg b/images/templates/template-6-session-announcement.svg new file mode 100644 index 0000000..b460776 --- /dev/null +++ b/images/templates/template-6-session-announcement.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + DEV WEEKENDS + + + + ANNOUNCEMENT + + + + SESSION + + + System Design + Deep Dive + + + Building scalable architectures that handle millions + + + + DATE + Saturday, Dec 14 + + + TIME + 7:00 PM PKT + + + PLATFORM + Discord Stage + + + + + Speaker + Speaker Name + Role @ Company + 5+ years experience + + + Free for all members → + \ No newline at end of file diff --git a/images/templates/template-7-book-review.svg b/images/templates/template-7-book-review.svg new file mode 100644 index 0000000..f69292f --- /dev/null +++ b/images/templates/template-7-book-review.svg @@ -0,0 +1,47 @@ + + + + + + + Book Cover + or Visual + + + + DEV WEEKENDS + + + + BOOK REVIEW + + + Atomic Habits + + + by James Clear + + + ★★★★★ + Must Read + + + KEY TAKEAWAYS + + + Small changes compound over time + + + Identity-based habits stick better + + + Environment shapes behavior + + + + READ REVIEW → + + + + + \ No newline at end of file diff --git a/images/templates/year-in-review/01-annual-stats.svg b/images/templates/year-in-review/01-annual-stats.svg new file mode 100644 index 0000000..2a941b3 --- /dev/null +++ b/images/templates/year-in-review/01-annual-stats.svg @@ -0,0 +1,36 @@ + + + + + DEV WEEKENDS + + 2024 + Year in Review + + + 150+ + Sessions Conducted + + + 75+ + Placements + + + 5K+ + Community Members + + + 40+ + Active Mentors + + + 25+ + Circles Formed + + + 15+ + Countries + + Thank you for an incredible year + @devweekends + \ No newline at end of file diff --git a/images/templates/year-in-review/02-top-moments.svg b/images/templates/year-in-review/02-top-moments.svg new file mode 100644 index 0000000..f9642eb --- /dev/null +++ b/images/templates/year-in-review/02-top-moments.svg @@ -0,0 +1,39 @@ + + + + + DEV WEEKENDS + + + 2024 REWIND + + Top 5 Moments + of the Year + + + + 1 + Crossed 5,000 community members + + + + 2 + 75+ fellows placed at top companies + + + + 3 + Launched the Circles program + + + + 4 + 50+ MindMaster sessions completed + + + + 5 + Ambassador program expanded to 20+ colleges + + @devweekends + \ No newline at end of file diff --git a/images/templates/year-in-review/03-community-growth.svg b/images/templates/year-in-review/03-community-growth.svg new file mode 100644 index 0000000..2b85dd8 --- /dev/null +++ b/images/templates/year-in-review/03-community-growth.svg @@ -0,0 +1,43 @@ + + + + DEV WEEKENDS + + + GROWTH + + Community Growth + 2024 + + + + + + + 5K + 3K + 1K + 0 + + + + + + + + + + + Jan + Mar + May + Jul + Sep + Nov + Dec + + +350% Growth + + From 1,100 to 5,000+ members + @devweekends + \ No newline at end of file diff --git a/images/templates/year-in-review/04-thank-you.svg b/images/templates/year-in-review/04-thank-you.svg new file mode 100644 index 0000000..29acd83 --- /dev/null +++ b/images/templates/year-in-review/04-thank-you.svg @@ -0,0 +1,28 @@ + + + + DEV WEEKENDS + + Thank You + 2024 + + + + To every member, mentor, and ambassador + who made this year special + + + 5,000+ + Members + + + 40+ + Mentors + + + 30+ + Ambassadors + + See you in 2025! + @devweekends + \ No newline at end of file diff --git a/images/templates/year-in-review/05-looking-ahead.svg b/images/templates/year-in-review/05-looking-ahead.svg new file mode 100644 index 0000000..1c0134d --- /dev/null +++ b/images/templates/year-in-review/05-looking-ahead.svg @@ -0,0 +1,34 @@ + + + + DEV WEEKENDS + + + 2025 + + Looking + Ahead + + What we're building next year + + + 10,000 Members + Growing our community + + + 100+ Placements + Helping more engineers succeed + + + 50 Active Circles + Peer learning at scale + + + New Programs + More ways to learn and grow + + + Join us on this journey + + @devweekends + \ No newline at end of file From eab7555dffe712ab19b1574a675c6ec1bb752afe Mon Sep 17 00:00:00 2001 From: Zeeshan Adil Date: Fri, 28 Nov 2025 07:31:37 +0500 Subject: [PATCH 2/2] add more templates --- .../time-management-masterclass-light.svg | 35 ++++++++++++++ .../time-management-masterclass.svg | 48 +++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 images/templates/mindmaster/time-management-masterclass-light.svg create mode 100644 images/templates/mindmaster/time-management-masterclass.svg diff --git a/images/templates/mindmaster/time-management-masterclass-light.svg b/images/templates/mindmaster/time-management-masterclass-light.svg new file mode 100644 index 0000000..575e53f --- /dev/null +++ b/images/templates/mindmaster/time-management-masterclass-light.svg @@ -0,0 +1,35 @@ + + + + + DEV WEEKENDS + + + MINDMASTER + + Time Management + Masterclass + + + TOPIC + Master the habits that high performers use to stay organized and unstoppable. + + + DATE AND TIME + Friday, Nov 28, 2025 - 9 PM + + + SPEAKER + Moeez Ahmad + Software Engineer @ Calo Inc. + + What you will learn: + - Prioritization frameworks used by top performers + - How to eliminate distractions and stay focused + - Building sustainable daily routines for peak productivity + + + Join Session + + Free for all community members + diff --git a/images/templates/mindmaster/time-management-masterclass.svg b/images/templates/mindmaster/time-management-masterclass.svg new file mode 100644 index 0000000..c46bb3b --- /dev/null +++ b/images/templates/mindmaster/time-management-masterclass.svg @@ -0,0 +1,48 @@ + + + + + + + + + DEV WEEKENDS + + + + MINDMASTER + + + 🧠 + + + Time Management + Masterclass + + + + TOPIC + Master the habits that high performers use to stay organized and unstoppable. + + + + DATE & TIME + Friday, Nov 28, 2025 • 9 PM + + + SPEAKER + Moeez Ahmad + Software Engineer @ Calo Inc. + + + What you'll learn: + ✓ Prioritization frameworks used by top performers + ✓ How to eliminate distractions and stay focused + ✓ Building sustainable daily routines for peak productivity + + + + Join Session → + + Free for all community members +