सेवा के बारे में
अनुवादितमैं Clojure और ClojureScript पर बैकएंड और डेटा प्रोसेसिंग सिस्टम का विकास करता हूँ, भाषा द्वारा प्रदान की गई सभी चीजों का लाभ उठाते हुए: कार्यात्मक शैली, अपरिवर्तनीय डेटा, और JVM पर सुरक्षित समवर्तीता। मैं REPL-प्रेरित मोड में काम करता हूँ - छोटे सत्यापित चरणों में सिस्टम का विकास करते हुए, ताकि जब एक फ़ंक्शन तैयार हो, मैंने इसे लाइव डेटा पर काम करते हुए देखा हो। यह आदत कोड को व्यक्तिपरक और विश्वसनीय बनाती है, यही कारण है कि मेरी सेवाएँ आमतौर पर उत्पादन में चुपचाप रहती हैं बजाय इसके कि मध्यरात्रि में ऑन-कॉल इंजीनियर को जगाएँ।
मेरा मुख्य ध्यान सर्वर साइड पर है: HTTP और JSON APIs, स्ट्रीमिंग और इवेंट पाइपलाइन्स, बैकग्राउंड वर्कर्स, और ऐसे इंटीग्रेशन जो लोड के तहत प्रदर्शन करना चाहिए। मैं डेटा को सरल अपरिवर्तनीय मानों के रूप में मॉडल करता हूँ और उन्हें स्पेक्स के साथ वर्णित करता हूँ - यह बग्स के एक पूरे वर्ग को तेज़ प्रारंभिक क्रैश में बदल देता है बजाय इसके कि चुपचाप डेटा भ्रष्टाचार हो। वास्तव में समानांतर कार्यों के लिए, मैं एटम, रेफ, एजेंट, और core.async चैनलों का उपयोग करता हूँ ताकि समवर्तीता को एक क्षमता के रूप में प्रबंधनीय रखा जा सके, न कि एक जुआ।
आपको पठनीय कोड मिलता है, कुछ लाइव REPL सत्र जहाँ आप सिस्टम को क्रियान्वित होते हुए देखते हैं, और एक समाधान जो बढ़ाने में डरावना नहीं है। मुझे बताएं कि कौन से गारंटी महत्वपूर्ण हैं - मैं उसे स्थिर, बनाए रखने योग्य सॉफ़्टवेयर में बदल दूँगा।
— Clojure/ClojureScript पर बैकएंड, APIs, और डेटा पाइपलाइन्स
— clojure.spec और पूर्ण परीक्षणों के साथ REPL-प्रेरित विकास
— core.async, एटम, रेफ, और एजेंट के साथ समवर्तीता
— JVM पर तैनाती, प्रोफाइलिंग, और स्थिर समर्थन
मेरा मुख्य ध्यान सर्वर साइड पर है: HTTP और JSON APIs, स्ट्रीमिंग और इवेंट पाइपलाइन्स, बैकग्राउंड वर्कर्स, और ऐसे इंटीग्रेशन जो लोड के तहत प्रदर्शन करना चाहिए। मैं डेटा को सरल अपरिवर्तनीय मानों के रूप में मॉडल करता हूँ और उन्हें स्पेक्स के साथ वर्णित करता हूँ - यह बग्स के एक पूरे वर्ग को तेज़ प्रारंभिक क्रैश में बदल देता है बजाय इसके कि चुपचाप डेटा भ्रष्टाचार हो। वास्तव में समानांतर कार्यों के लिए, मैं एटम, रेफ, एजेंट, और core.async चैनलों का उपयोग करता हूँ ताकि समवर्तीता को एक क्षमता के रूप में प्रबंधनीय रखा जा सके, न कि एक जुआ।
आपको पठनीय कोड मिलता है, कुछ लाइव REPL सत्र जहाँ आप सिस्टम को क्रियान्वित होते हुए देखते हैं, और एक समाधान जो बढ़ाने में डरावना नहीं है। मुझे बताएं कि कौन से गारंटी महत्वपूर्ण हैं - मैं उसे स्थिर, बनाए रखने योग्य सॉफ़्टवेयर में बदल दूँगा।
— Clojure/ClojureScript पर बैकएंड, APIs, और डेटा पाइपलाइन्स
— clojure.spec और पूर्ण परीक्षणों के साथ REPL-प्रेरित विकास
— core.async, एटम, रेफ, और एजेंट के साथ समवर्तीता
— JVM पर तैनाती, प्रोफाइलिंग, और स्थिर समर्थन