Mark Stratmann
ABout Background

इस साइट के बारे में

मैंने यह साइट क्यों बनाई

यह साइट क्यों मौजूद है?

किसी भी नई तकनीक को सीखने में एक पुरानी समस्या यह है कि इंटरनेट पर या AIs से मिलने वाले अधिकांश दस्तावेज़ और उदाहरण इतने तुच्छ होते हैं कि उनसे आपको यह अंदाज़ा ही नहीं होता कि वह तकनीक या उसका आपका इम्प्लीमेंटेशन वास्तविक, जटिल वर्कलोड को संभाल पाएगा या नहीं। इसका एक उदाहरण असंख्य to-do list वाले उदाहरण हैं।

मेरे पास एक SASS प्रोजेक्ट योजना में है जो कई तकनीकी मान्यताओं पर आधारित है, जिन्हें वास्तविक प्रोजेक्ट बनाने की कोशिश करने से पहले टेस्ट करना ज़रूरी है; और इस तरह की एक पर्सनल प्रोफ़ाइल साइट, जो एक पूर्ण CMS बैकएंड द्वारा संचालित हो, इतनी जटिल तो है कि एक सही production buildout की हकदार हो और इतनी सरल भी है कि इसे बनाने में बहुत समय न लगे; अतिरिक्त लाभ यह है कि अगर सब ठीक रहा, तो मुझे एक ऐसा प्रोफ़ाइल साइट मिलेगा जो अच्छा परफॉर्म करे और आगे के अधिक तकनीकी प्रयोगों के लिए एक अच्छा testbed बने।

डिप्लॉयमेंट टार्गेट के रूप में Cloudflare

Cloudflare Workers https://workers.cloudflare.com/ पहली नज़र में एक जटिल एप्लिकेशन को डिप्लॉय करने का बेहद सस्ता तरीका लगते हैं। बैक-एंड डेवलपमेंट सरल और मज़बूत दिखता है, और OpenNext https://opennext.js.org/ पैकेज आपके फ्रंट-एंड को Next.js https://nextjs.org/ में विकसित करने और Cloudflare पर डिप्लॉय करने का एक कुशल तरीका प्रदान करता प्रतीत होता है।

मुझे नहीं लगता कि यह साइट बहुत अधिक मानवीय ट्रैफ़िक आकर्षित करेगी; हालांकि, मैं जितना संभव हो उतना वेब सर्च और AI crawler ट्रैफ़िक इसे भेजने की कोशिश करूँगा। इस तरह, मैं Cloudflare के प्लेटफ़ॉर्म पर एक व्यस्त साइट चलाने की वास्तविक लागत समझ पाऊँगा।

इस साइट को जितना होना चाहिए उससे ज़्यादा जटिल बनाना

कंटेंट मैनेजमेंट बैकएंड (CMS)

पूरी ईमानदारी से कहूँ तो, यह साइट, जैसा कि यह अभी है, कुछ ही घंटों में एक coding agent के साथ जोड़-तोड़कर बनाई जा सकती है; हालांकि, एक गंभीर सिस्टम में बुनियादी कंटेंट बदलने के लिए डिप्लॉयमेंट की ज़रूरत नहीं होनी चाहिए। इसलिए, यह साइट Payload CMS (https://payloadcms.com/) पर आधारित एक पूर्ण CMS का उपयोग करती है, जिसे एक अलग Cloudflare Worker के रूप में डिप्लॉय किया गया है।

Payload स्वयं एक SQL डेटाबेस का उपयोग करता है, जिसे आगे CloudFlare D1 SQLite डेटाबेस इंस्टेंस https://developers.cloudflare.com/d1/ के रूप में डिप्लॉय करना पड़ता है, और डेवलपमेंट लाइफ़साइकल को सपोर्ट करने के लिए डेटाबेस migrations के साथ ठीक से मैनेज करना पड़ता है।

स्वचालित अनुवाद

यह साइट 20 भाषाओं का समर्थन करती है। चूँकि वेबसाइट CMS कंटेंट के लिए एक सरल scaffold है, इसलिए i18n पक्ष को डेवलपमेंट के दौरान एक coding agent (Co-pilot और Claude Opus 4.5) के साथ संभाला जाता है।

इसका मतलब है कि वर्तमान और भविष्य का सारा CMS कंटेंट, जब भी किसी अंग्रेज़ी कंटेंट में बदलाव हो, अपने-आप अनुवादित होना चाहिए।

क्यू और क्रॉन-आधारित Worker

अनुवाद की यह आवश्यकता एक अपेक्षाकृत जटिल प्रक्रिया की मांग करती है जो:

  • एक Cron टाइमर पर ट्रिगर होगी।
  • ऐसे किसी भी कंटेंट की पहचान करेगी जिसे नए अनुवाद की ज़रूरत है।
  • भरोसेमंद तरीके से अनुवाद निष्पादित करेगी।
  • विफलता होने पर भरोसेमंद तरीके से रिकवर करेगी।

इसलिए, अनुवाद कार्य को ट्रैक करने के लिए एक अन्य CloudFlare D1 इंस्टेंस का उपयोग किया जाता है, और Cloudflare queues (https://developers.cloudflare.com/queues/) का उपयोग एक cron-based producer-consumer pattern के साथ कार्यों को मैनेज और स्केल करने के लिए किया जाता है। अनुवाद करने के लिए OpenAI’s gpt-5.2 API को कॉल किया जाता है और AI.SDK https://ai-sdk.dev/ इसे सब एक साथ जोड़ देता है।

इस साइट के लिए यह overkill है, लेकिन किसी भी production सिस्टम को, किसी भी स्केल पर, बैकग्राउंड प्रोसेसिंग को orchestrate करने के लिए एक मज़बूत पैटर्न चाहिए।

इस साइट के पिछले संस्करण

मैंने नई तकनीकें सीखने के एक टूल के रूप में यह साइट पहले ही दो बार बनाई है:

2013 - Ruby और AWS सीखना

  • Ruby on Rails v4.0.0.
  • Bootstrap styling v3.
  • UI के लिए CoffeeScript.
  • Backbone Marionette VMC front-end pattern.
  • एक AWS होस्ट पर डिप्लॉय किया गया।

2017 - React सीखना

  • UI के लिए React v16.0.0.
  • asynchronous operations के लिए Redux और Thunk.
  • styling के लिए Semantic UI.

आगे क्या

यह साइट SEO के लिए सही तरीके से hooked up है, और crawler ट्रैफ़िक बढ़ाने के लिए नए कंटेंट की नियमित cadence की ज़रूरत है। मैं उपयोग की गई विभिन्न तकनीकों और समाधानों पर अधिक विस्तृत लेख पोस्ट करूँगा।