Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ Whether you're preparing for a System Design Interview or you simply want to und
* [Is Telegram Secure?](https://bytebytego.com/guides/is-telegram-secure)
* [Fixing Bugs Automatically at Meta Scale](https://bytebytego.com/guides/fixing-bugs-automatically-at-meta-scale)
* [How Levelsfyi Scaled to Millions of Users with Google Sheets](https://bytebytego.com/guides/how-levelsfyi-scaled-to-millions-of-users-with-google-sheets)
* [McDonald’s Event-Driven Architecture](https://bytebytego.com/guides/mcdonald's-event-driven-architecture)
* [McDonald’s Event-Driven Architecture](https://bytebytego.com/guides/mcdonalds-event-driven-architecture)
* [Uber Tech Stack - CI/CD](https://bytebytego.com/guides/uber-tech-stack-cicd)
* [How to Design Stack Overflow](https://bytebytego.com/guides/how-will-you-design-the-stack-overflow-website)
* [Twitter 1.0 Tech Stack](https://bytebytego.com/guides/twitter-10-tech-stack)
Expand All @@ -97,16 +97,16 @@ Whether you're preparing for a System Design Interview or you simply want to und
* [Netflix Tech Stack - CI/CD Pipeline](https://bytebytego.com/guides/netflix-tech-stack-cicd-pipeline)
* [How TikTok Manages a 200K File Frontend MonoRepo](https://bytebytego.com/guides/how-tiktok-manages-a-200k-file-frontend-monorepo)
* [How Netflix Really Uses Java](https://bytebytego.com/guides/how-netflix-really-uses-java)
* [Evolution of Airbnb’s Microservice Architecture](https://bytebytego.com/guides/evolution-of-airbnb's-microservice)
* [Reddit's Core Architecture](https://bytebytego.com/guides/reddit's-core-architecture)
* [Evolution of Airbnb’s Microservice Architecture](https://bytebytego.com/guides/evolution-of-airbnbs-microservice)
* [Reddit's Core Architecture](https://bytebytego.com/guides/reddits-core-architecture)
* [10 Principles for Building Resilient Payment Systems](https://bytebytego.com/guides/10-principles-for-building-resilient-payment-systems-by-shopify)
* [What is the Journey of a Slack Message?](https://bytebytego.com/guides/what-is-the-journey-of-a-slack-message)
* [Top 9 Engineering Blogs](https://bytebytego.com/guides/top-9-engineering-blog-favorites)
* [Uber Tech Stack](https://bytebytego.com/guides/uber-tech-stack)
* [Evolution of the Netflix API Architecture](https://bytebytego.com/guides/evolution-of-the-netflix-api-architecture)
* [How Discord Stores Trillions of Messages](https://bytebytego.com/guides/how-discord-stores-trillions-of-messages)
* [Twitter Architecture 2022 vs. 2012](https://bytebytego.com/guides/twitter-architecture-2022-vs-2012)
* [Evolution of Uber's API Layer](https://bytebytego.com/guides/evolution-of-uber's-api-layer)
* [Evolution of Uber's API Layer](https://bytebytego.com/guides/evolution-of-ubers-api-layer)
* [Netflix's Tech Stack](https://bytebytego.com/guides/netflixs-tech-stack)
* [AI and Machine Learning](https://bytebytego.com/guides/ai-machine-learning)
* [5 Functions to Merge Data with Pandas](https://bytebytego.com/guides/5-functions-to-merge-data-with-pandas)
Expand Down Expand Up @@ -175,7 +175,7 @@ Whether you're preparing for a System Design Interview or you simply want to und
* [What is ELK Stack and Why is it Popular?](https://bytebytego.com/guides/what-is-elk-stack-and-why-is-it-so-popular-for-log-management)
* [Why are Content Delivery Networks (CDN) so Popular?](https://bytebytego.com/guides/why-are-content-delivery-networks-cdn-so-popular)
* [How Big Keys Impact Redis Persistence](https://bytebytego.com/guides/how-do-big-keys-impact-redis-persistence)
* [A Beginner's Guide to CDN](https://bytebytego.com/guides/a-beginner's-guide-to-cdn-content-delivery-network)
* [A Beginner's Guide to CDN](https://bytebytego.com/guides/a-beginners-guide-to-cdn-content-delivery-network)
* [The Ultimate Redis 101](https://bytebytego.com/guides/the-ultimate-redis-101)
* [Cache Systems Every Developer Should Know](https://bytebytego.com/guides/cache-systems-every-developer-should-know)
* [Top 5 Strategies to Reduce Latency](https://bytebytego.com/guides/top-5-strategies-to-reduce-latency)
Expand Down Expand Up @@ -219,7 +219,7 @@ Whether you're preparing for a System Design Interview or you simply want to und
* [Foreign Exchange Payments](https://bytebytego.com/guides/foreign-exchange-payments)
* [How to Avoid Double Payment](https://bytebytego.com/guides/how-to-avoid-double-payment)
* [How do Apple Pay and Google Pay work?](https://bytebytego.com/guides/how-applegoogle-pay-works)
* [How VISA Works When Swiping a Credit Card](https://bytebytego.com/guides/how-does-visa-work-when-we-swipe-a-credit-card-at-a-merchant's-shop)
* [How VISA Works When Swiping a Credit Card](https://bytebytego.com/guides/how-does-visa-work-when-we-swipe-a-credit-card-at-a-merchants-shop)
* [How ACH Payment Works](https://bytebytego.com/guides/how-does-ach-payment-work)
* [How does Visa make money?](https://bytebytego.com/guides/how-does-visa-make-money)
* [Software Architecture](https://bytebytego.com/guides/software-architecture)
Expand Down Expand Up @@ -274,16 +274,16 @@ Whether you're preparing for a System Design Interview or you simply want to und
* [A Roadmap for Full-Stack Development](https://bytebytego.com/guides/a-roadmap-for-full-stack-development)
* [What Are the Greenest Programming Languages?](https://bytebytego.com/guides/what-are-the-greenest-programming-languages)
* [Java Collection Hierarchy](https://bytebytego.com/guides/java-collection-hierarchy)
* [Running C, C++, or Rust in a Web Browser](https://bytebytego.com/guides/is-it-possible-to-run-c-c++-or-rust-on-a-web-browser)
* [Top 8 C++ Use Cases](https://bytebytego.com/guides/top-8-c++-use-cases)
* [Running C, C++, or Rust in a Web Browser](https://bytebytego.com/guides/is-it-possible-to-run-c-c-or-rust-on-a-web-browser)
* [Top 8 C++ Use Cases](https://bytebytego.com/guides/top-8-c-use-cases)
* [Top 6 Multithreading Design Patterns You Must Know](https://bytebytego.com/guides/top-6-multithreading-design-patterns-you-must-know)
* [Data Transmission Between Applications](https://bytebytego.com/guides/how-is-data-transmitted-between-applications)
* [Blocking vs Non-Blocking Queue](https://bytebytego.com/guides/blocking-vs-non-blocking-queue)
* [Big Endian vs Little Endian](https://bytebytego.com/guides/big-endian-vs-little-endian)
* [How to Avoid Crawling Duplicate URLs at Google Scale?](https://bytebytego.com/guides/how-to-avoid-crawling-duplicate-urls-at-google-scale)
* [10 Books for Software Developers](https://bytebytego.com/guides/10-books-for-software-developers)
* [Top 8 Standards Every Developer Should Know](https://bytebytego.com/guides/top-8-standards-every-developer-should-know)
* [How Do C++, Java, Python Work?](https://bytebytego.com/guides/how-do-c++-java-python-work)
* [How Do C++, Java, Python Work?](https://bytebytego.com/guides/how-do-c-java-python-work)
* [10 Key Data Structures We Use Every Day](https://bytebytego.com/guides/10-key-data-structures-we-use-every-day)
* [A Brief History of Programming Languages](https://bytebytego.com/guides/a-brief-history-og-programming-languages)
* [Top 6 Load Balancing Algorithms](https://bytebytego.com/guides/top-6-load-balancing-algorithms)
Expand Down Expand Up @@ -413,7 +413,7 @@ Whether you're preparing for a System Design Interview or you simply want to und
* [How do we manage sensitive data in a system?](https://bytebytego.com/guides/how-do-we-manage-sensitive-data-in-a-system)
* [HTTPS, SSL Handshake, and Data Encryption Explained](https://bytebytego.com/guides/https-ssl-handshake-and-data-encryption-explained-to-kids)
* [Symmetric vs Asymmetric Encryption](https://bytebytego.com/guides/symmetric-encryption-vs-asymmetric-encryption)
* [Session-based Authentication vs. JWT](https://bytebytego.com/guides/what's-the-difference-between-session-based-authentication-and-jwts)
* [Session-based Authentication vs. JWT](https://bytebytego.com/guides/whats-the-difference-between-session-based-authentication-and-jwts)
* [JWT 101: Key to Stateless Authentication](https://bytebytego.com/guides/jwt-101-key-to-stateless-authentication)
* [Is HTTPS Safe?](https://bytebytego.com/guides/is-https-safe)
* [Cybersecurity 101](https://bytebytego.com/guides/cybersecurity-101-in-one-picture)
Expand Down
11 changes: 10 additions & 1 deletion scripts/readme.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,15 @@ function getGuides(): Guide[] {
.sort((a, b) => new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime())
}

function sanitizeForUrl(id: string): string {
return id
.replace(/'/g, '')
.replace(/\+/g, '')
.replace(/[^a-zA-Z0-9-]/g, '')
.replace(/--+/g, '-')
.replace(/^-|-$/g, '')
}

function generateMarkdownList() {
const categories = getCategories()
const guides = getGuides()
Expand All @@ -62,7 +71,7 @@ function generateMarkdownList() {
const categoryGuides = guides.filter(guide => guide.categories.includes(category.id))
if (categoryGuides.length > 0) {
categoryGuides.forEach(guide => {
markdown += ` * [${guide.title}](https://bytebytego.com/guides/${guide.id})\n`
markdown += ` * [${guide.title}](https://bytebytego.com/guides/${sanitizeForUrl(guide.id)})\n`
})
}
})
Expand Down
Loading