चमत्कार के बारे में

समय-समय पर, हम में से प्रत्येक स्थितियों को याद कर सकता है जब, ठीक है, आप सब कुछ सही कर रहे हैं, और सिस्टम "अजीब" है। आप मारते हैं, एक समस्या खोजने की कोशिश करते हैं, और कंसीलियम आपके आस-पास इकट्ठा हो गया है - कोई भी यह नहीं समझ सकता है कि मामला क्या है, और फिर क्या समय गुजरता है और ज्ञानोदय में सेट होता है। और आप समझते हैं कि वह मूर्ख था, कि यहाँ वह एक गलती है। सतह पर रखना। फिर आप एक पेशेवर पार्टी में ऐसे किस्से बता सकते हैं।


जीवन पर एक प्रोग्रामिंग विषय के साथ एक छोटा सा। लगभग सात साल पहले तुर्की में एक होटल में मेरे साथ एक अजीब स्थिति हुई। किसी कारण से मुझे वहाँ एक टी-शर्ट को घुमाने की ज़रूरत पड़ी, और मैंने अंग्रेज़ी में एक गहरी सोच बनाने की कोशिश की, साथ ही साथ मैं कर सकता था। स्वागत समारोह में वह भी अच्छी तरह से नहीं थे, उन्होंने मुझे समझने की कोशिश की।

"तू अइरोन, एइ नीड दैट आयरन," मैं लड़की से कहता हूं। लोहे को। करने के लिए - लोहा। सफेद टी-शर्ट। लोहे को। वह अपना सिर हिलाती है: "ठीक है, ठीक है, मिस्टर!" उसने पूछा कि क्या मैं अपने कमरे में रहूँगी। हां, मैं जवाब देता हूं, मैं लोहे के साथ और कहां हो सकता हूं।

मैं कमरे में बैठा हूं। दरवाजे पर एक दस्तक है, मैंने इसे खोला और लगभग फर्श पर दुर्घटनाग्रस्त हो गया। एक तुर्की आदमी मेरी तरफ देख रहा है और कुछ नहीं समझ रहा है। उसके हाथों में एक ट्रे है जिस पर दो एयरन हैं।

ये स्थितियां कभी-कभी कंप्यूटर, और प्रोग्रामिंग और प्रशासन में होती हैं। यह सब मेल के बारे में किसी और की कहानी के साथ शुरू हुआ, जो 500 मील से अधिक नहीं चला । मैंने इसे 2003 में LJ पर प्रकाशित किया था, इसलिए इस पर एक दौरा अभी भी ध्यान देने योग्य है। जाहिर है, लोगों का विषय छू रहा है, हाँ।

एक होम लैपटॉप (मैकबुक) पर मेरा माउस अचानक जाम हो गया। आप माउस कर्सर को स्थानांतरित करते हैं, और वह उसके साथ खिड़कियां खींचता है। मैं कंप्यूटर को रिबूट करता हूं (माउस के बिना ऐसा करना आसान नहीं था), पांच सेकंड के लिए यह काम करता है जैसा कि इसे करना चाहिए, और फिर उसी कचरे को फिर से। वह बिना किसी कारण के, बिना किसी कारण के। उसने एक मिनट पहले काम किया! मैंने कुछ भी सेट नहीं किया और डिस्क पर नहीं लिखा, मैंने इसे नहीं बदला। बस कहीं से भी राज नहीं! - और काम नहीं करता है। और आप कुछ भी नहीं कर सकते हैं, माउस काम नहीं करता है, कीबोर्ड makoshi पर बहुत कम उपयोग करता है। शुरुआत में पांच सेकंड में, निश्चित रूप से, आपके पास समय नहीं है। मैंने अपना सिर तोड़ दिया ताकि यह हो सके।

और फिर मैं रसोई में चली गई। टचपैड ने कमाया है। अपने आप से। उफ, मैंने सोचा, चमत्कार होता है, लेकिन यह सब है, समस्या अतीत में है, और मेल के विश्लेषण पर लौट आई है।

शाम को मैं लैपटॉप लेकर वापस कमरे में लौट आया। खैर, क्रिसमस का पेड़ फिर से चिपक जाता है। कुछ जगहों पर एक चटाई दिखाई दी।

सोचा रसोई में वापस आ गया। मैंने उसे भगा दिया, क्योंकि यह बकवास है। लेकिन वह पीछे नहीं हटी। वह लौट आया। हुर्रे, कर्सर चला गया !!! वह कमरे में लौट आया - फिर से अवरुद्ध।

मैं पहले से ही गोसी के बारे में, गोसी के बारे में सोच चुका हूं।

वह बैठ गया और सोचने लगा। और मैं समझ गया।

आप हंसेंगे। बच्चों के खिलौने ने कमरे के कोने में ब्लूटूथ माउस का बटन दबाया, जिसे मैं पहले से ही भूल गया था - किसी तरह टचपैड अधिक सुविधाजनक था। ब्लूटूथ अब रसोई से समाप्त नहीं हुआ।
तो, यह सब आज के लेख के विषय का एक परिचय है। विषय साइट के बारे में होगा। आपने यह विश्वास नहीं किया, मुझे माउस, अयरण याद आया, जब मैंने यह समझने की कोशिश की कि कल रात क्या बकवास थी।

अब मैं एक साइट प्रोटोटाइप बना रहा हूँ, इस तरह के एक त्वरित घुटने के प्रोटोटाइप साइट और मेरे Wordrive गेम के लिए एक ऑनलाइन संस्करण। खेल अब एप्पल में संशोधन पर है, लगभग दो सप्ताह में यह शुरू हो जाएगा। प्रोटोटाइप को कई तकनीकों का परीक्षण करने के लिए डिज़ाइन किया गया है और यह महान मिशन वह पहले ही पूरा कर चुका है। लेकिन कभी-कभी आपको इसे सुधारने की आवश्यकता होती है जबकि यह अभी भी एक प्रोटोटाइप है।

साइट RewriteEngine के आधार पर चलती है - यह अपाचे की ऐसी तकनीक है जो विशेष रूप से / फ़ोल्डर 1 / folder2 / के पते को /script.php?param=/folder1-folder2 जैसी चीज़ों में बदलने की अनुमति देती है। मुझे सेट किया गया था ताकि यह केवल एक ही मामले में परिवर्तित न हो - यदि मार्ग द्वारा इंगित संसाधन वास्तव में मौजूद है। यह आपको छवियों का उपयोग करने की अनुमति देता है, उदाहरण के लिए, /img/picture.png और इस पथ को script.php स्क्रिप्ट में "फीड" नहीं किया जाएगा। क्योंकि एक विशेष सिलाई है।
हालाँकि, मुझे .htaccess की पूरी सामग्री दें:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /script.php?param=$1 [L,QSA]

Script.php में, मेरे पास निम्नलिखित की तरह एक शर्त है,

clearlog();
$param = $_REQUEST['param'];
if ($param == "/folder1/folder2/")
{
// BLOCK A : process folder1 - folder2
writelog ('1');
} else
{
// BLOCK B :
writelog ('2');
}

और फिर मैं देखता हूं कि ब्राउज़र को वन कॉल के साथ, लॉग को TWO लाइनें लिखी जाती हैं। दो और एक।

मैंने आँखें मूँद लीं। मैंने फिर कोशिश की। लॉग फ़ाइल को मिटा दिया। मैंने "गुप्त" मोड में ब्राउज़र में कॉल दर्ज किया, डेवलपर के टूलकिट को खोला, और जाँच की कि केवल एक ही अनुरोध था। एक ही। लॉग में दो लाइनें हैं। 2 और 1. यह अफ़सोस की बात है कि लॉग का उपयोग करने के लिए कोई उपयोग नहीं है, मैंने वहाँ भी देखा होगा। लेकिन वह नहीं है।

खैर, मैंने सोचा, यह एक होस्टिंग समस्या है। वहां, शायद, अनुरोध गलत तरीके से संसाधित किए जाते हैं। उनके पास उच्च स्तर का .htaccess सर्वर स्तर है और नियम भी हैं। शायद दो बार संसाधित किया गया। और उन्हें एक अनुरोध लिखा।

होस्टिंग के साथ, हमने सुनिश्चित किया कि:

  1. यदि आप .htaccess मिटाते हैं या वहाँ से RewriteEngine हटाते हैं, तो सब कुछ काम करता है,
  2. यदि आप फ़ायरफ़ॉक्स का उपयोग करते हैं - सब कुछ काम करता है,
  3. एक क्रोम होस्टर ने भी कोई समस्या नहीं दी।

होस्टिंग के लोग तीन घंटे तक व्यस्त थे। परिणामस्वरूप, उन्होंने एक पत्र भेजा:

, .

, ,
"Chrome" ~/public_html/.htaccess.

, .htaccess.
. ,
"Chrome". ,
"FireFox", .


मुझे यह पत्र सुबह छह बजे घर पर मिला। काम पर जाते समय, मुझे एहसास हुआ कि समस्या क्या थी। लेकिन यह अभी भी सब कुछ जांचने लायक था।

जैसा कि मैंने उम्मीद की थी, यह favicon.ico निकला। ब्राउज़र स्क्रिप्ट अनुरोध के साथ समानांतर में इस फ़ाइल के लिए एक अनुरोध भेजता है। Google Chrome हर अनुरोध के साथ ऐसा करता है। फ़ायरफ़ॉक्स, शायद एक बार एक आइकन के बजाय स्क्रिप्ट से मेरे HTML का एक टुकड़ा प्राप्त कर रहा था, मुझे एहसास हुआ कि अब कुछ भी इसे एक्सेस नहीं कर रहा है। और क्रोम लगातार है - वह इस फाइल को खींचता है। यह लॉग के मामले में निकला। और favicon.ico फ़ाइल, निश्चित रूप से, साइट पर नहीं थी। और यहां नियम ने काम किया - आपको इसे स्क्रिप्ट पर पुनर्निर्देशित करने की आवश्यकता है, /script.php?param=favicon.ico तर्क के अंदर एक अलग तरह से चला गया, और लॉग को लिखने का काम किया, और सभी डीबगिंग गूंज केवल दूसरे अनुरोध के लिए प्रदर्शित किए गए थे।

वैसे, my.wordrive.com सेवा के प्रोटोटाइप के लिए , मैं दशमलव से 62- दशमलव प्रणाली में अनुवाद फ़ंक्शन लिखने के कार्य से खुश था और इसके विपरीत। आखिरकार, इस तरह के कार्य दिखाई देते हैं! .. और आखिरकार, किसी भी तरह से इसके बिना।

इसलिए मुझे प्रोग्रामिंग पसंद है।

Source: https://habr.com/ru/post/In117053/


All Articles