मैं मूल रूप से, हमारे पिछले परियोजना में स्काला कोड के साथ सिर पर हर किसी को हिट के रूप में मैं एक ही हाइबरनेट + JBoss की समझ की कमी की वजह से समस्याओं डीबगिंग के बीमार हो गया। (यह आश्चर्यजनक है कि वास्तव में डेवलपर के लिए जिन्होंने लिखा मूल प्रणाली अभी भी देखते हैं और अभी भी हाइबरनेट विवरण में खो जाना।।)
हम क्या था -> एक निराला एक साथ वायर्ड राज्यविहीन EJB सेम के एक समूह के साथ ज्यादातर बनाया प्रणाली कुछ हाइबरनेट कोड कुछ एसक्यूएल के साथ एक साथ फेंक दिया। (हम मूल रूप से एक एएसपी हैं, उत्पादन क्लस्टर काफी छोटा है -> केवल 100 मशीनें।)
मैंने क्या किया -> विभिन्न आरईएसटी-आधारित सेवाओं को एक साथ रखा, जहां हमने कुछ सर्वरों के बीच आरपीसी को फिर से परिभाषित किया । यह सब कुछ कोड के लिए बहुत आसान बना रहा है, साथ ही, एक सार्वजनिक एपीआई को एक प्रणाली में कार्यान्वित करना जहां पर निर्भरता पर कोई ध्यान नहीं दिया गया था।
अब तक, हमने जेबॉस उदाहरणों में कोड को वास्तविक रूप से बिना किसी वास्तविक समस्या के तैनात करना शुरू कर दिया है। पहली बार जब आप जावा में स्कैला object
का उपयोग करने का प्रयास करते हैं, तो आप शायद अपनी नाक को झुर्रियों में डाल देंगे। लेकिन अन्यथा, वास्तव में कोई भी ध्यान नहीं दिया।
अभी तक, हम वास्तव में शुरू होने के लगभग 5 महीने हुए हैं। हमने कुछ प्रमुख संशोधन किए हैं, और बाद में पीछे हैं, लेकिन सिस्टम अतीत की तुलना में कहीं अधिक बेहतर परीक्षण किया गया है। इसलिए, जब हम वास्तव में सिस्टम सीख रहे थे, तब हमने कुछ बुरे विचारों में छेड़छाड़ की थी, हम अब उन सभी को हटाने में सक्षम हैं, और, उत्पादन परिनियोजन के बहुत करीब आते हैं। सब कुछ, मैं कहूंगा कि सामान्य दोस्त को जावा प्रोग्रामर की तरह कोडिंग रोकने के लिए 2-3 महीने की आवश्यकता होती है, और अधिकांश मानक पुस्तकालयों के साथ "परिचित" हो जाती है।
ओआरएम सिस्टम के बजाय जेडीबीसी कोड लिखना मूल रूप से हमारी सभी प्रदर्शन समस्याओं को फेंक दिया है। गति वास्तव में काफी बेहतर रही है, लेकिन यह ज्यादातर इसलिए था क्योंकि मैं कम वास्तविक एप्लिकेशन कोड के साथ जो कुछ भी चाहता था वह करने में सक्षम था।
उपकरण मैं उपयोग कर रहा हूँ:
- Restlet: इस ढांचे के साथ बहुत खुश। हमारी restlet परत अपमानजनक मामूली कोड है।
- JDBC -> ध्यान दें: हम बदलाव किया है क्या
- एक्सएमएल विकि में मूल रूप से किया गया था (और जल्द ही, JSON)
- Buildr, परियोजनाओं के एक जोड़े पर Maven मैं कन्वर्ट करने के लिए नहीं करना चाहता था (प्लस नेक्सस और हडसन)। मैं एसबीटी के साथ प्रयोग कर रहा हूं, जो स्केल परियोजनाओं के लिए पहले से ही बहुत अच्छा है।
हमें किसी भी पुराने जावा पुस्तकालयों का पुन: उपयोग करने में बिल्कुल कोई समस्या नहीं है, लेकिन हम उन्हें स्कैला-फीड परतों में लपेटने के लिए प्रतिबद्ध हैं। अधिकतर कम कोड लिखने के लिए।
और pimp my library पैटर्न परिचित होने के लिए सबसे महत्वपूर्ण है। "केक" पैटर्न अच्छा है, लेकिन आपको तत्काल नियंत्रण करना है, जो कभी-कभी काफी उपयोगी नहीं होता है। मैंने मिश्रित वातावरण में गुइस का भी उपयोग किया है, वास्तव में मुश्किल नहीं है। लेकिन मुझे लगता है कि मिश्रण कोड मूल रूप से सोचा जाने से कम उपयोगी तरीका है, हालांकि शायद यह इसलिए है क्योंकि मैं वास्तव में बहुत खराब, वास्तव में खराब जावा कोड बदल रहा हूं।
मेरा संपादन वातावरण ज्यादातर ओएस एक्स पर टेक्स्टमैट है, लेकिन हम लिनक्स सर्वर पर तैनात हैं।
पीएस हाँ, मुझे पता है कि यह लगभग 4 महीने पुराना है, लेकिन जो भी हो। यह प्रासंगिक है, खासकर अब जब हमारे पास कुछ अनुभव है।
अगर कोई "क्रोध में" वाक्यांश को गलत तरीके से परिभाषित करता है, तो यह अभ्यास उद्देश्य के विपरीत, वास्तविक उद्देश्य में वास्तविक उद्देश्य में किसी चीज़ के उपयोग को संदर्भित करता है। वाक्यांश गुणात्मक निर्णय नहीं है, प्रति से। यह सभी के लिए स्पष्ट हो सकता है, लेकिन शायद नहीं। – nsayer