पोल पिंग, pubsub, pubsubhub, pubsubhubbub के
मामले में आप उलझन में हैं, वहाँ ऊपर पागलपन में विधि पोस्ट के शीर्षक में है. टेक हलकों में यह संभावना नहीं है कि आप pubsubhubbub के बारे में सुना नहीं है. तेजी से कुछ ही महीनों में, यह एक शीर्ष तीन चीजों के बारे में बात कर दिया गया है. अन्य दो की जा रही समरूप एन्क्रिप्शन और गूगल लहर [ 1 ]. वर्तमान पोस्ट करने के लिए वापस आ रहा है - शीर्षक के मामले में संकेत मिलता है कि कैसे आप सामग्री को अन्य लोगों से मिलते हैं. जानकारी के बाद और अधिक स्पष्ट हो जाते हैं, अगर तुम बातें ब्लॉग के लिए सम्मान के साथ हो, भले ही वे धारणा ब्लॉग के लिए प्रतिबंधित नहीं कर रहे हैं कल्पना.
मतदान परिदृश्य जहां ग्राहकों सर्वर पूछ अगर कुछ नया आ गया है रखने के लिए संदर्भित करता है. कितनी बार अद्यतन करने के लिए पूछने हमेशा भी अक्सर या बहुत निराला मतदान के साथ एक समस्या हो जाएगा, लेकिन स्थिति बनाए रखने के रूप में एक पाठक ने बताया कि मतदान के साथ एक महान बात है, उस सर्वर नहीं है.
पिंग मामले में जहां जब एक लेख पोस्ट करने के लिए, आप (या अपने सॉफ्टवेयर) भी कुछ लोकप्रिय (केंद्रीय) अद्यतन सेवाओं को अद्यतन करने के लिए संदर्भित करता है. कुछ पृष्ठभूमि यहाँ .
अगले pubsub जो प्रकाशित / सदस्यता लेने के लिए, एक जल्द से जल्द पिच के लिए इसे बनाया गया था के लिए खड़ा है यहाँ इवान Henshaw Plath और केलन इलियट - McCrea - (72 स्लाइड्स लेकिन लायक के माध्यम से जा रहा). सम्मोहक उदाहरण वे के खिलाफ दिया था BobrDobr इस पर एक विशेष तिथि पर, फ़्लिकर 2,9 लाख बार क्रॉल करने के लिए 45,754 उपयोगकर्ताओं की नवीनतम फोटो, जिसमें से उन 24 घंटे में 6721 फ़्लिकर का दौरा किया था और संभवतः सकता है एक तस्वीर अपलोड. ध्यान दें कि वे प्रस्तावित एक नई तकनीक नहीं था, क्योंकि वे 'क्रांतिकारी नए 20 साल पुरानी तकनीक' बिंदु. यदि आप यह तो ब्लॉग के लिए एक XMPP साथ प्रमुख समस्याओं की उपस्थिति डेटा भूमि के ऊपर, जो के रूप में 60-70% के रूप में उच्च के रूप में हो सकता है एक बहुत कम किया जा सकता है.
pubsubhub के लिए सदस्यता हब प्रकाशित खड़ा है और pubsubhubbub एक प्रोटोकॉल है, जो कोर के pubsubhub के विचार है. जिसमें प्रकाशकों (ब्लॉगर्स कहना) जो हब (एक से अधिक केन्द्र है, जो एक दूसरे से बात हो सकता है) बादल में कहीं 'रहता है, के रूप में इस प्रोटोकॉल के प्रति या धक्का किया जा सकता है प्रोटोकॉल के प्रति के रूप में खींच लेकिन अगली कड़ी में अद्यतन श्रृंखला, ग्राहक के लिए हब (पाठकों को कहते हैं) यह हमेशा मॉडल धक्का है. इस पृष्ठ pubsubhubbub के लिए शुरू बिंदु अच्छा है, सिंहावलोकन स्लाइड अच्छा कर रहे हैं. कभी सुवक्ता अनिल डैश यह वर्णन यहाँ pushbutton वेब के रूप में.
दो अन्य संबंधित पढ़ता webhooks जो मूल रूप से http callbacks. GitHub का उपयोग करता है यह है, तो में भुगतान के अतुल्यकालिक सूचना के लिए पेपैल करता IPN तो कई दूसरों है. संबंधित अवधारणा है rsscloud है जो फिर pubsub हब है. का पालन करें इस जानकारी के लिए लिंक.
आप सोच रहे होंगे ये सब यहाँ लिखने की क्या बात है हो सकता है, वहाँ दो 1. ये बातें जानने लायक है, कम से कम से कम से कम और 2. यह ब्लॉग अब appspot इस WordPress का उपयोग कर हब के माध्यम से सक्षम pubsubhubbub प्लगइन और चारा भी pubsubhubbub है Feedburner, लिंक के माध्यम से सक्षम यहाँ
-
[ 1 ] परिचयात्मक अच्छा पूरी तरह से समरूप एन्क्रिप्शन पढ़ने के लिए है इस लेख ब्रूस Schneier और इस बात को और अधिक या कम गूगल लहर के लिए केवल स्रोत है.
- अद्यतन इस पोस्ट में बताते हैं कि कैसे कॉलबैक के लिए सार्वजनिक सर्वर की आवश्यकता डेस्कटॉप ग्राहकों के लिए चारों ओर कर सकते हैं XMPP प्रवेश द्वार (pubsubhubbub के लिए) का उपयोग कर काम किया.
विधानसभा की एक बिट
पढ़ने के बाद यह ताला मुक्त buffers के बारे में लेख और कैस के उपयोग (तुलना और स्वैप) देख, मैं विधानसभा कोड पोस्ट करने के लिए भी ऐसा ही लगा. मामले का प्रयोग करें वहाँ एक देशी विधि लिखने के लिए और यह जावा (1.5 में वापस आ गया, जब जावा में समवर्ती डेटा संरचनाओं और अधिक या कम गैर विद्यमान थे) से फोन किया गया था. आगे की हलचल के बिना, मैं आप पर कोड दिलाने हूँ
. पहले कैस के लिए और 2 के लिए कंप्यूटिंग GCD यूक्लिड के एल्गोरिथ्म (यह एक कई स्थानों और ट्यूटोरियल के रूप में अच्छी तरह से में पाया जा सकता है) का उपयोग.
संकलित करें और चलाने के निर्देश gcc file_name.c ; ./a.out
तुलना करें और स्वैप
# शामिल# शामिल / / विनिमय - टिप्पणी परिवर्तन, comperand पुराने / उम्मीद मूल्य है / * * समारोह वास्तव में निम्नलिखित बात करता है - अगर * गंतव्य पर मूल्य के बराबर है तो यह और टिप्पणी परिवर्तन यह अपरिवर्तित छोड़ द्वारा प्रतिस्थापित oldvalue: atomically इन सभी करते हैं * * मान के लिए दो विकल्प हैं * * गंतव्य के 1.is प्रारंभिक मूल्य और को बुला fxn के बोझ को छोड़ने के लिए यह oldval साथ तुलना * 2. ऐसा करने पर यहाँ और लौटने 0 या 1, यह और अधिक कुशल होना चाहिए / ** / * बाद में यह मैक्रो में परिवर्तन * / int कैस (int गंतव्य * int oldvalue, int टिप्पणी परिवर्तन) printf ("(% d,% d,% d)" * गंतव्य, oldvalue, टिप्पणी परिवर्तन); * / Int (int के गंतव्य, oldvalue int, int टिप्पणी परिवर्तन) कैस {* / * / Int (int गंतव्य, int टिप्पणी परिवर्तन, int oldvalue) कैस {* / int परिणाम = 1, "* 1 से पता चलता है कि कैस सफल और 0 से पता चलता है कि यह विफल रहा है * / / * Btw झंडा clobbering के लिए सीसी सेट की जरूरत है! * / __asm__ __ volatile__ ( "Movl 2%,% EAX \ n \ t" "Movl 3%,% EBX \ n \ t" "Movl% 0% ECX \ n \ t" "ताला \ n \ t" "% EBX, CMPXCHG (% ECX) \ n \ t" / * एक ही पंक्ति पर बंद कर देना चाहिए * / "Jz \ \ n किया "Movl $ 0, 1% \ n \ t" ": \ N \ t किया" "= मीटर (गंतव्य)," = छ "(परिणाम) (Oldvalue) "जी", "जी" (टिप्पणी परिवर्तन), "मीटर" (गंतव्य) EAX% ","% EBX "," ECX "," सीसी " ); printf ("(% d,% d,% d)" * गंतव्य, oldvalue, टिप्पणी परिवर्तन); परिणाम वापसी; } / * TODO * एक और asm fxn है जो थोड़ी देर के पाश में fxn ऊपर डालता है लिखने के लिए और कोशिश कर रहा है जब तक यह * / सफल रहते हैं int मुख्य () { int एक = 5, ख = 6; int * ग = (int *) malloc (sizeof (int)); * ग = 6; * / Int ग = 6; / * printf ("% d \ n", कैस (ग, ख ख)); printf ("% d \ n", कैस (ग, ख, एक)); printf ("% d \ n" ", कैस (ग,,) एक); printf ("% d \ n", कैस (ग, ख ख)); * ग = 6; / * ग = 5; * / printf ("* का बदल रहा है मूल्य ग% s \ n", * ग); printf ("% d \ n", कैस (ग, ख ख)); printf ("% d \ n", कैस (ग, ख, एक)); printf ("% d \ n" ", कैस (ग,,) एक); printf ("% d \ n", कैस (ग, ए, बी)); printf ("% d \ n", कैस (ग, ख, एक)); 0 वापसी; }
स्वरूपण नोट - wp वाक्यविन्यास हाइलाइटर की तरह लगता है जोड़ने का है अंत में, कि उपेक्षा.
GCD
# शामिलint gcd (int एक, int ख) { int के परिणाम; / * कंप्यूट महानतम यूक्लिड एल्गोरिथ्म का उपयोग करते हुए आम भाजक / * __asm__ __ volatile__ ("movl 1%,% EAX;" "Movl% 2% EBX;" "जारी: cmpl $ 0% EBX;" जेई किया; "Xorl% edx,% edx;" "Idivl% EBX;" "Movl% EBX,% EAX;" "Movl% edx,% EBX;" Jmp जारी; "ठीक है: movl% EAX, 0%," "= छ" (परिणाम): "जी" (एक), "जी" (ख) ); परिणाम वापसी; } int मुख्य () { प्रथम, द्वितीय लिए int; printf ("दो integers दर्ज करें:"); scanf ("% d घ" और पहली, दूसरी और); printf ("% और% d d की GCD% d \ n" ", पहली, दूसरी, gcd (प्रथम, द्वितीय)); 0 वापसी; }
क्रिकेट की दुनिया एक नई विश्व व्यवस्था का इंतजार कर रहा है
एक पांच परीक्षण और लगभग दो महीने, इंग्लैंड reclaimed राख फैले श्रृंखला के बाद.
विजेता टीम के बारे में पहले बात उनके मध्यक्रम 'औसत' है अगर आप महत्वपूर्ण नहीं करना चाहती. बल्ले के साथ greame स्वान योगदान गेंद के साथ योगदान से कम नहीं गिनती होगी. स्टुअर्ट ब्रॉड सबसे अच्छा राउंडर 5 वीं परीक्षा के लिए सभी गैर स्टार्टर था. एंड्रयू स्ट्रॉस केवल संगत बल्लेबाज था और जिमी एंडरसन केवल लगातार गेंदबाज था.
यहाँ प्वाइंट जीतने वाली टीम की उपलब्धियों को धमकाना लेकिन तथ्य यह है कि इन सब के बावजूद, ऑस्ट्रेलिया खो परिप्रेक्ष्य में डाल नहीं है. आप कुछ सेकंड के लिए लगता है, अगर अपने सर्वश्रेष्ठ गेंदबाज का नाम पूछा. ठीक है, यह BW हिल्फेनहॉस था. हॉरिट्ज everbody उम्मीद से बेहतर प्रदर्शन किया है लेकिन अभी भी काफी अच्छा करने के लिए पांच परीक्षणों के दो के लिए चयनित किया जाना नहीं था. दक्षिण अफ्रीका एक विश्व स्तर के स्पिनर बिना एक दुनिया डिब्बा कभी नहीं बने, ऑस्ट्रेलिया के लिए कम से कम एक अच्छा पर्याप्त एक के बिना रह नहीं की उम्मीद कर सकते हैं. जादूगर मंच छोड़ दिया और यह अब और कला की तरह नहीं लगती है, जादू भूल. पोंटिंग कम मनुष्यों के बीच लंबे खड़ा है और माइकल क्लार्क बहुत अक्सर खड़ा है, लेकिन है कि उन्हें कुछ बहुत अच्छे खिलाड़ी और नहीं एक बहुत अच्छी टीम के साथ एक टीम बनाता है.
2009 एशेज एंड्रयू ने फ्लिंटॉफ पिछले राख, एक सब राउंडर (अगर वह उसके होनहार शुरू करने के लिए कुछ और राख लोकगीत कहते हैं), और एक सबसे कह सभी समय का ट्रोट द्वारा पहली सदी लेकिन यह भी हो जाएगा के रूप में स्टुअर्ट ने ब्रॉड आगमन के लिए याद किया जा जाएगा इस मुद्दे पर जहां ऑस्ट्रेलिया के वर्चस्व के बारे में अगर और मगर अंत में आराम करने के लिए डाल रहे थे के रूप में याद है, यह खत्म हो गया है. मुझे गलत नहीं है वे अभी भी पता लगाना माइक हसी या स्टुअर्ट क्लार्क, लेकिन आप सभी समय महान के योगदान को महसूस कर सकते हैं जब वे गायब हो जाते हैं. कभी कभी वे आईपीएल में खुद की तुम्हें याद दिलाना आते हैं लेकिन अभी भी वे जगह नहीं किया जा सकता है. चलो के लिए धन्य होने वॉर्न, मैकग्रा, और गिलक्रिस्ट के साथ खेल रहा है और Waughs द्वारा समर्थित किया जा रहा है, पोंटिंग Hyden मार्टिन, और लैंगर देखा लगता है.
आगे जा रहे हैं, दक्षिण अफ्रीका हमेशा एक बहुत अच्छी टीम रहते हैं लेकिन वे सेमीफाइनल जीतने के लिए और विश्व भर में लगातार हो करने की आवश्यकता है, पाकिस्तान रहस्यात्मक ढंग से शानदार रहेगा, भारतीय युवा बंदूकें शायद यह कठिन असाधारण पूर्ववर्तियों के जूते को भरने के लिए मिल जाएगा. श्रीलंका शिल्प में कला की झलक दिखाने के लिए जारी रखना चाहिए. लेकिन, हम बाहर सभी प्रमुख टीम होने से पहले या एक कप्तान प्रतियोगिता की कमी की शिकायत है, के रूप में स्टीव वॉ एक बार किया था पहले कुछ समय के लिए इंतजार करना पड़ सकता है.
एक संबंधित नोट पर हम आसिफ के आ वापस स्वागत करते हैं, वह क्षमता का एक नरक बहुत कुछ है, के लिए उस के कुछ देख और भी नई awatar में एंडी फ्लावर का स्वागत करते हैं, आप सही अच्छा पुरुषों के लंबे समय के लिए नहीं नीचे रख सकते हैं उम्मीद है.
गहरे लाल रंग का एक हैश बनाने liners के
कल जबकि मेरे पुराने कार्यक्रमों के माध्यम से जा रहा है, मैंने पाया कि यह कुछ समय पहले मेरे द्वारा लिखा:
#begin magic
hash=Hash[*CGI.unescape(raw_text).split('&').map{|x| b=x.split("=");b.push(nil) if b.size==1;b}.flatten]
#end magic
रहस्य का कुछ को मार मुझे खुलासा है कि raw_text की तरह लग रहा है
, यह सही पेपैल भुगतान रसीद से काट दिया गया है.
रेखा से ऊपर अगर भागों में टूट बेहतर पढ़ता है:
विभाजन unescaped_array = CGI.unescape (raw_text). ('और') unescaped_array = unescaped_array.collect {| x | ख = x.split ("="}); b.push (शून्य) b.size == 1 अगर; flattened_array = unescaped_array.flatten हैश = हैश [* flattened_array,]
आईआरबी में अलग अलग चरणों:
विभाजन 009:0> unescaped_array है = CGI.unescape (raw_text) ('और'): (मुख्य) IRB. => ["सफलता", "mc_gross 10.00 =", "protection_eligibility = अयोग्य," payer_id = U7PPJJ4TSJ47E "," कर 0.00 = "," payment_date = 09:45:30 10 जुलाई, 2009 पीडीटी "," payment_status = लंबित "] (मुख्य) IRB: 013:0> unescaped_array = unescaped_array.map {| x | ख = x.split ("="}); b.push (शून्य) b.size == 1 अगर; => [["सफलता" शून्य, "mc_gross", "10.00"] ["protection_eligibility", "अयोग्य"] ["payer_id", "U7PPJJ4TSJ47E"] ["कर", "0.00"] ["payment_date", "09:45:30 10 जुलाई, 2009 पीडीटी"] ["payment_status", "लंबित"]] (मुख्य) IRB: 014:0> flattened_array = unescaped_array.flatten => ["सफलता" शून्य, "mc_gross", 10.00 "," protection_eligibility "," अयोग्य "," payer_id "," U7PPJJ4TSJ47E "," कर "," 0.00 "," payment_date "," 09:45: 30 पीडीटी 10 जुलाई, 2009 "," payment_status "," लंबित "] (मुख्य) IRB: 015:0> हैश = हैश [* flattened_array,] => {"कर" => "0.00", "payment_status" => "लंबित", "payer_id" => "U7PPJJ4TSJ47E", "mc_gross" => "10.00", "सफलता" => शून्य, "payment_date = > "09:45:30 10 जुलाई, 2009 पीडीटी", "protection_eligibility" => "अयोग्य"}
Btw, * माणिक में सूचक ऑपरेटर कहा जाता है
जोड़े की सरणी 'से हैश बनाने के लिए एक और रास्ता इंजेक्षन उपयोग करने के लिए है:
हैश = [1,2 [], [3,4] इंजेक्षन ({}). {| परिणाम, तत्व | परिणाम [element.first] = परिणाम [element.last]; परिणाम} वहाँ एक और तरीका है
एक पाश लिखें, कि मैं पाठकों के लिए एक व्यायाम के रूप में छोड़ दूँगा!
यहाँ एक बिट arrays से हैश बनाने के असंबंधित उपयोग के मामले है:
(मुख्य) IRB: 005:0> [1,2,3,4,7,9] group_by {| x | x 5 <? : कम :: अधिक} => {: कम => [1, 2, 3, 4]: बड़ा => [7, 9]}
आप अधिक बातें करते हैं, मूल रूप से ब्लॉक के परिणाम के रूप में प्रयोग किया जाता है जिसके परिणामस्वरूप हैश में उस तत्व के लिए कुंजी हो सकता है.
जीमेल मठ, और msmtp तय
यदि आप मठ और एसएमटीपी जीमेल का उपयोग करने के लिए उपयोग करें. यहाँ एक खबर (खराब) है. गूगल पर शांत लोग फिर से प्रमाणपत्र बदल दिया. ओह, आप से पूछना था - यह कैसे जानते हो? सरल मठ बुरा प्रमाण पत्र के बारे में शिकायत जब msmpt, कुख्यात उपयोग करने की कोशिश कर रहा शुरू कर दिया 'msmtp: टीएलएस प्रमाणपत्र सत्यापन विफल:. प्रमाण पत्र एक ज्ञात का जारीकर्ता नहीं मिला है' मुझे स्क्रीन पर बधाई दी.
पार करने के लिए की पुष्टि -
बस के बाद चलाने के
$ msmtp --serverinfo --host=smtp.gmail.com --tls=on --port=587 --tls-certcheck=off
अब पुराने Thwate सर्वर के जगह में आपको जारीकर्ता खंड में निम्नलिखित मिलता है
Issuer:
Common Name: Google Internet Authority
Organization: Google Inc
Country: US
सौभाग्य से तय सरल है, यहाँ है कि आप क्या debian पर क्या करने की जरूरत
# apt-get install ca-certificates
# dpkg -s ca-certificates|grep Version
Version: 20090814
इस के बाद बस में निम्नलिखित लाइन बदलने के लिए आप / ~~ msmtprc.
tls_trust_file /certs/Thawte SSLWeb Server Roots/thawte Premium Server CA/Thawte Premium Server CA.pem
tls_trust_file /certs/Thawte SSLWeb Server Roots/thawte Premium Server CA/Thawte Premium Server CA.pem
तक
tls_trust_file /usr/share/ca-certificates/mozilla/Equifax_Secure_CA.crt
Git और बहुत बढ़िया सर्वेक्षण
यहाँ git द्वारा सर्वेक्षण के लिए दो लिंक (संस्करण नियंत्रण प्रणाली) और भयानक समुदाय विंडो प्रबंधक हैं. यदि आप इनमें से किसी के उपयोग, बाहर प्रश्नावली में भरने के कुछ समय ले कृपया. सरल सॉफ्टवेयर आप का उपयोग करने के लिए वापस योगदान के रूप में इसके बारे में सोचो.
यहाँ लिंक हैं:
Git - http://www.survs.com/survey?id=2PIMZGU0&channel=Q0EKJ3NF54
बहुत बढ़िया - http://www.survs.com/survey?id=8BVEV3FO&channel=BH07CQ040D
नोट - (के रूप में उन पन्नों पर लेकिन नीचे पाया
) -
"यदि आप कुकीज़ सक्षम हैं, तो आप हमेशा आंशिक रूप से भरा सर्वेक्षण प्रस्तुत कर सकते हैं और बाद में समय पर अपने जवाब के लिए, यह बाद में पूरा."
Yaml conf फ़ाइलों में मर्ज हैश
YAML विन्यास फाइल लिखने के लिए काफी आसान है. प्राथमिक लाभ यह है कि, यह पाठ फ़ाइल की तरह पढ़ता है. वास्तव में अच्छी तरह से काम करता है अगर आपके config फाइल फ्लैट (कोई पदानुक्रम) और कोई repetitions के.
यदि repetitions के अपने विन्यास फाइल है तो यह समझ में आता है उन तत्वों को अलग करने और उन्हें पुनः प्रयोग. यह मैं क्या मतलब है - हम कहते हैं कि आप अपने config फाइल इस तरह दिखता है:
विकास: input_location: common_input output_location: dev_location मेल: smtp_server: your_server लॉगिन: your_login पासवर्ड: top_secret उत्पादन: input_location: common_input output_location: dev_location मेल: smtp_server: your_server लॉगिन: your_login पासवर्ड: top_secret
/ Tmp / test.yml के यहाँ कोड के ऊपर मान लिया जाये कि आप अजगर और गहरे लाल रंग में कैसे पढ़ सकते हैं
$cat readyml.py
# / Usr / bin / अजगर वातावरण pprint पीपी के रूप में आयात pprint से # Debian में अजगर yaml स्थापित करने की आवश्यकता है yaml आयात लोड, load_all के डंप से हैश = लोड (खुले ('/ tmp / test.yml के')) पीपी (हैश 'विकास'])
$ cat readyml.rb
# / Usr / bin / वातावरण माणिक 'पीपी' की आवश्यकता है हैश = :: लोड () File.open ('/ tmp / test.yml पढ़ें) YAML पीपी हैश ['विकास']
यहाँ रूबी संस्करण के लिए एक आसान एक लाइनर
$ ruby -rpp -e 'pp YAML::load(File.open("/tmp/a.yml"))["development"]' या आप आईआरबी या अजगर कंसोल में एक ही कोशिश कर सकते हैं.
ध्यान दें कि उपरोक्त कोड स्निपेट में, सब कुछ अन्य की तुलना में उत्पादन विकास और उत्पादन के भाग में एक ही स्थान है. यह है, जहां yml नोड पहचानकर्ता बचाव के लिए आता है. डिफ़ॉल्ट मानों का एक सेट है और उन्हें अलग जगह पर ओवरराइड विचार सरल है.
आप इसे खींच अलग रूप में इस प्रकार हो सकता है:
चूक: चूक और input_location: common_input output_location: dev_location मेल: SENDER_NAME: प्रेषक smtp_server: your_server लॉगिन: your_login पासवर्ड: top_secret विकास: <<: * चूक उत्पादन: <<: * चूक output_location: prod_location
$ ruby -rpp -e 'pp YAML::load(File.open("/tmp/a.yml"))["development"]["mail"]["login"]'
"your_login"
$
महान, यह (टीएम) काम करता है!.
बेशक हम जादू का एक बिट के लिए कुछ स्पष्टता कारोबार किया. यहाँ एक छोटा सा विवरण है: और, * और << और जो लंगर टैग नोड पहचानकर्ता के रूप में समझा जा सकता है, * नोड संदर्भ और << है: हैश मर्ज के लिए खड़ा है.
अधिक जानकारी के लिए या तो देखो yaml चश्मा या विकिपीडिया
अब तक तो अच्छा है लेकिन वहाँ एक पकड़ है, इन हैश मर्ज के पुनरावर्ती नहीं हैं. क्या इसका मतलब यह है: हम कहते हैं कि आप दो वातावरण में मेल के लिए अलग प्रेषक का नाम है करना चाहते हैं, तो आप निम्न कार्य करने के लिए परीक्षा हो सकती है:
चूक: चूक और input_location: common_input output_location: dev_location मेल: SENDER_NAME: प्रेषक smtp_server: your_server लॉगिन: your_login पासवर्ड: top_secret विकास: <<: * चूक मेल: SENDER_NAME: sender_dev उत्पादन: <<: * चूक output_location: prod_location मेल: SENDER_NAME: sender_prod
आओ हम जाँच
$ ruby -rpp -e 'pp YAML::load(File.open("/tmp/a.yml"))["development"]["mail"]["login"]'
nil
$
उफ़ समस्या, कुछ गलत हो गया था, इसके बाद के संस्करण के रूप में उल्लेख किया है कि हैश मर्ज पुनरावर्ती नहीं है और जबकि विलय यह उत्पादन का मेल है जो सिर्फ एक कुंजी है द्वारा डिफ़ॉल्ट मेल की जगह. / समाधान के आसपास काम करने के लिए एक अधिक स्तर उतारना है:
common_settings: और common_settings input_location: common_input output_location: dev_location mail_defaults: mail_defaults और SENDER_NAME: प्रेषक smtp_server: your_server लॉगिन: your_login पासवर्ड: top_secret चूक: चूक और <<: * Common_settings मेल: <<: * Mail_defaults विकास: <<: * चूक उत्पादन: <<: * चूक मेल: <<: * Mail_defaults SENDER_NAME: sender_prod
चलो फिर से जाँच करें
$ ruby -rpp -e 'pp YAML::load(File.open("/tmp/a.yml"))["development"]["mail"]["login"]'
"your_login"
$
क्या आप कहते हैं कि आप घोंसले के शिकार का एक और स्तर है, अच्छी तरह से आप निश्चित रूप से एक अधिक स्तर उतारना कर सकते हैं, लेकिन तब यह एक गड़बड़ हो जाता है. तो, अगर आप एक conf फ़ाइल में हनोई के टावरों का हल लिखने की कोशिश नहीं कर रहे हैं, यह बेहतर है yaml या कुछ में खुदाई से conf फ़ाइल restucture. लेकिन है कि आपकी कॉल वैसे भी है.
महान प्रोग्रामर जटिल समस्याओं को सरल समाधान खोजने
एक लंबे समय के बाद मैं बोली के निम्नलिखित के लिए स्रोत मिल सकता है
जूनियर प्रोग्रामर साधारण समस्याओं के लिए सरल समाधान बनाने के लिए. वरिष्ठ प्रोग्रामर जटिल समस्याओं का समाधान जटिल बना. महान प्रोग्रामर जटिल समस्याओं को सरल समाधान खोजने.
यह एक निबंध से सुंदर सॉफ्टवेयर चार्ल्स Connell के द्वारा.
मेरा एक और पसंदीदा एक अजगर की जेन
सुंदर बदसूरत तुलना में बेहतर है.
स्पष्ट अंतर्निहित तुलना में बेहतर है.
सरल जटिल की तुलना में बेहतर है.
जटिल से जटिल है.
फ्लैट से नेस्टेड बेहतर है.
विरल घने से बेहतर है.
पठनीयता मायने रखता है.
विशेष मामलों में विशेष के लिए नियमों को तोड़ने के लिए पर्याप्त नहीं हैं.
हालांकि व्यावहारिकता पवित्रता धड़कता है.
त्रुटियाँ चुपचाप कभी नहीं देना चाहिए.
जब तक स्पष्ट रूप से खामोश है.
अस्पष्टता के चेहरे में, लगता है कि प्रलोभन इंकार कर दिया.
एक और अधिमानतः केवल एक स्पष्ट तरीका यह करना होना चाहिए.
हालांकि पहली बार में उस तरह स्पष्ट नहीं हो जब तक आप डच हो सकता है.
अब कभी नहीं से बेहतर है.
हालांकि * की तुलना में बेहतर कभी नहीं अक्सर सही * अब.
यदि कार्यान्वयन करने के लिए समझाना मुश्किल है, यह एक बुरा विचार है.
यदि कार्यान्वयन आसानी से समझा है, यह एक अच्छा विचार हो सकता है.
नामस्थान एक आवाज महान विचार कर रहे हैं रहा है उन की अधिक कर!
-------------------------
और फिर वहाँ क्लासिक प्रोग्रामिंग के ताओ
-
के रूप में जुड़ा हुआ पर क्रेडिट साइट
जेफ्री जेम्स द्वारा अनूदित
ड्यूक हिल्लर्ड द्वारा लिखित
अनुपम त्रिवेदी, Sajitha Tampi, और Meghshyam जगन्नाथ के माध्यम से प्रेषित
पुन: html-ized और Kragen Sittler द्वारा संपादित
-
1 पुस्तक - मौन शून्य
इस प्रकार गुरु प्रोग्रामर spake:
"जब आप त्रुटि कोड छीन जाल फ्रेम से सीखा है,
तुम्हारे जाने का समय होगा. "1.1
रहस्यमय कुछ का गठन किया है, चुप शून्य में जन्म. अकेले प्रतीक्षा कर रहा है और
unmoving, यह एक बार में अभी भी निरंतर गति में है और अभी तक है. यह स्रोत है
सभी कार्यक्रमों की. मैं उसका नाम नहीं पता, तो मैं इसे फोन के ताओ
प्रोग्रामिंग.यदि ताओ महान है, तो ऑपरेटिंग सिस्टम महान है. यदि परिचालन
प्रणाली महान है, तो संकलक महान है. यदि संकलक महान है,
आवेदन तो महान है. उपयोगकर्ता की कृपा है और वहाँ मौजूद
दुनिया में सद्भाव.प्रोग्रामिंग के ताओ दूर बहती है और सुबह की हवा पर रिटर्न.
1.2
ताओ मशीनी भाषा को जन्म दिया. मशीनी भाषा को जन्म दिया
कोडांतरक.कोडांतरक संकलक को जन्म दिया. अब दस हजार
भाषा.प्रत्येक भाषा के अपने उद्देश्य, लेकिन विनम्र है. प्रत्येक भाषा व्यक्त
सॉफ्टवेयर के यिन और यांग. प्रत्येक भाषा ताओ भीतर अपनी जगह है.लेकिन कोबोल में कार्यक्रम नहीं है अगर आप इसे से बचने कर सकते हैं.
1.3
ताओ शुरुआत में था. ताओ स्थान और समय को जन्म दिया.
इसलिए स्थान और समय के प्रोग्रामिंग के यिन और यांग रहे हैं.प्रोग्रामर्स कि ताओ का समझ नहीं हमेशा समय से बाहर चल रहे हैं
और अपने कार्यक्रमों के लिए अंतरिक्ष. प्रोग्रामर्स कि ताओ हमेशा समझना
पर्याप्त समय और स्थान के अपने लक्ष्यों को पूरा है.अन्यथा यह कैसे हो सकता है?
1.4
बुद्धिमान प्रोग्रामर ताओ के बारे में कहा जाता है और यह इस प्रकार है. औसत
प्रोग्रामर ताओ और इसके लिए खोज के बारे में कहा जाता है. मूर्ख प्रोग्रामर
ताओ के बारे में बताया और इस पर हंसते हुए कहते हैं.यदि यह हँसी के लिए नहीं थे, वहाँ कोई ताओ होगा.
उच्चतम लगता है मुश्किल कर रहे हैं सुनना.
आगे जा रहे हैं करने के लिए पीछे हटने के लिए एक रास्ता है.
महान प्रतिभा ही जीवन में देर से पता चलता है.
यहां तक कि एक संपूर्ण कार्यक्रम अभी भी कीड़े है.-------------------------
पुस्तक 2 - प्राचीन मास्टर्स
इस प्रकार गुरु प्रोग्रामर spake:
"प्रोग्रामिंग के बिना तीन दिन के बाद, जीवन व्यर्थ हो जाता है."
2.1
पुराने प्रोग्रामर रहस्यमय और गहरा. हम गौर नहीं कर सकते हैं
अपने विचारों को, तो हम करते है उनके स्वरूप का वर्णन है.एहसास है, एक पानी पार लोमड़ी की तरह. पर एक सामान्य की तरह सतर्क है,
युद्ध के मैदान. तरह, एक अपने मेहमानों को बधाई परिचारिका की तरह. सरल, जैसे
लकड़ी के uncarved ब्लॉक. अंधेरे गुफाओं में काले ताल की तरह अपारदर्शी,.उनके दिल और दिमाग के रहस्यों को कौन बता सकता है?
जवाब ताओ में ही मौजूद है.
2.2
ग्रैंड मास्टर ट्यूरिंग एक बार सपना देखा कि वह एक मशीन था. जब वह वह awoke
exclaimed:"मैं नहीं जानता कि क्या मैं सपना देख रही है कि मैं एक मशीन कर रहा हूँ, या एक ट्यूरिंग रहा हूँ
मशीन सपना देख कि मैं ट्यूरिंग रहा हूँ! "2.3
एक बहुत बड़ी कंप्यूटर कंपनी से एक प्रोग्रामर एक सॉफ्टवेयर के लिए चला गया
सम्मेलन और फिर अपने प्रबंधक को रिपोर्ट लौटे, कह रही: "किस तरह
के प्रोग्रामर अन्य कंपनियों के लिए काम करते हो? वे बुरी तरह व्यवहार किया और थे
दिखावे के साथ उदासीन. उनके बाल लंबे और गंदा और उनके
कपड़े झुर्रियों वाली होती है और पुराने थे. वे वे हमारे आतिथ्य सूट दुर्घटनाग्रस्त हो गया और
अपनी प्रस्तुति के दौरान अपमानजनक शोर बनाया. "प्रबंधक ने कहा: "मैं सम्मेलन के लिए कभी नहीं भेजा आप चाहिए. उन
प्रोग्रामर भौतिक दुनिया से परे रहते हैं. वे जीवन बेतुका विचार करना है,
आकस्मिक संयोग. वे आते हैं और सीमाओं को जानने के बिना जाओ.
एक परवाह किए बिना, वे अपने कार्यक्रमों के लिए ही रहते हैं. वे क्यों परेशान होना चाहिए
सामाजिक सम्मेलनों के साथ?"वे को ताओ भीतर जीवित हैं."
2.4
एक नौसिखिया मास्टर से पूछा: "यहाँ एक प्रोग्रामर है कि डिजाइन कभी नहीं है,
दस्तावेज़ों या अपने कार्यक्रमों परीक्षण. अभी तक सब जो जानते हैं कि उसे एक के विचार
दुनिया में सबसे अच्छा प्रोग्रामर. ऐसा क्यों है? "मास्टर उत्तर: "यह प्रोग्रामर ताओ महारत हासिल है. वह जा चुका है
डिजाइन के लिए जरूरत से परे है, वह गुस्सा नहीं बन जाता है प्रणाली जब
क्रैश हो जाता है, लेकिन चिंता के बिना ब्रह्मांड स्वीकार करता है. वह परे चला गया है
प्रलेखन के लिए की जरूरत है, वह अब नहीं परवाह है अगर किसी और अपने कोड को देखता है.
वह परीक्षण के लिए जरूरत से परे चला गया है, उनके कार्यक्रमों में से प्रत्येक सही कर रहे हैं
स्वयं के भीतर, शांत और सुरुचिपूर्ण, अपने उद्देश्य स्पष्ट है. सच में,
वह ताओ के रहस्य में प्रवेश किया है. "-------------------------
पुस्तक 3 - डिजाइन
इस प्रकार गुरु प्रोग्रामर spake:
जब कार्यक्रम का परीक्षण किया जा रहा है, यह बहुत देर हो चुकी है के लिए डिजाइन बनाने
परिवर्तन. "3.1
वहाँ एक बार एक आदमी है जो एक कंप्यूटर व्यापार शो के लिए गए थे. के रूप में वह प्रत्येक दिन
प्रवेश, आदमी दरवाजे पर गार्ड को बताया:"मैं एक महान चोर, shoplifting के अपने कारनामों के लिए प्रसिद्ध रहा हूँ. होना
forewarned, इस व्यापार शो के लिए बच नहीं unplundered जाएगाइस भाषण के गार्ड बहुत परेशान है, क्योंकि वहाँ के लाखों
कंप्यूटर उपकरण के अंदर की डॉलर है, तो वह आदमी ध्यान से देखा. लेकिन
आदमी केवल बूथ से बूथ के लिए फिरते, खुद के लिए चुपचाप गुनगुना.जब आदमी को छोड़ दिया, गार्ड उसे अलग ले और उसके कपड़े खोजा, लेकिन
कुछ भी नहीं पाया जा रहा था.व्यापार शो के अगले दिन पर, आदमी लौटे और गार्ड chided
कह रही: "मैं कल एक विशाल लूट के साथ भाग गया, लेकिन आज भी हो जाएगा
बेहतर तो गार्ड उसे कभी और अधिक बारीकी से देखा, लेकिन कोई फायदा नहीं हुआ.व्यापार शो के अंतिम दिन पर, गार्ड उसकी जिज्ञासा को नियंत्रित कर सकते हैं
अब और नहीं. "सर चोर," उन्होंने कहा, "मैं इतनी उलझन में हूँ, मैं में नहीं रह सकते हैं
शांति. कृपया मुझे बताए. यह क्या है कि आप चोरी कर रहे हैं? "आदमी मुस्कुराया. "मैं विचारों चोरी कर रहा हूँ," उन्होंने कहा.
3.2
वहाँ एक बार एक मास्टर प्रोग्रामर जो असंरचित कार्यक्रमों लिखा था. एक
नौसिखिया प्रोग्रामर, उसकी नकल करने की मांग भी लिखने के लिए शुरू हुई
असंरचित कार्यक्रमों. जब नौसिखिया गुरु से कहा कि उनके मूल्यांकन
प्रगति, गुरु उसे असंरचित प्रोग्राम लिखने के लिए आलोचना की,
कहा, "गुरु के लिए क्या उचित है के लिए उपयुक्त नहीं है
नौसिखिया. आप संरचना को पार करने से पहले ताओ समझना चाहिए. "3.3
वहाँ एक बार एक प्रोग्रामर जो सिपहसालार की अदालत में संलग्न किया गया था
वू की. "सहज है के लिए डिजाइन: एक सिपहसालार प्रोग्रामर से पूछा
लेखा पैकेज या एक ऑपरेटिंग सिस्टम है? ""एक ऑपरेटिंग सिस्टम प्रोग्रामर ने कहा.
सिपहसालार अविश्वास की एक विस्मयादिबोधक बोला. "निश्चित रूप से एक लेखा
पैकेज एक ऑपरेटिंग सिस्टम की जटिलता के आगे तुच्छ है, वह है "
कहा."नहीं तो" प्रोग्रामर ने कहा, "जब एक लेखा पैकेज डिजाइन,
प्रोग्रामर लोगों को अलग होने के बीच एक मध्यस्थ के रूप में संचालित
विचारों: कैसे यह काम करना होगा, अपनी रिपोर्ट को कैसे दिखाई देते हैं और यह होना चाहिए कि कैसे करना चाहिए
कर कानूनों के अनुरूप है. इसके विपरीत करके, एक ऑपरेटिंग सिस्टम ही सीमित नहीं है
बाहर दिखावे के द्वारा. जब एक ऑपरेटिंग सिस्टम डिजाइन, प्रोग्रामर
सरल मशीन और विचारों के बीच सामंजस्य करना चाहता है. यह है एक क्यों
ऑपरेटिंग सिस्टम डिजाइन करने के लिए आसान है. "वू के सिपहसालार सिर हिलाया और मुस्कुराया. "यह सब अच्छा है और अच्छी तरह से है, लेकिन
जो डिबग करने के लिए आसान है? "प्रोग्रामर कोई जवाब नहीं बनाया.
3.4
एक प्रबंधक मास्टर प्रोग्रामर के लिए चला गया और उसे पता चला आवश्यकताओं
दस्तावेज़ के लिए एक नया आवेदन. प्रबंधक गुरु से पूछा: "कब तक
यह अगर मैं यह करने के लिए पाँच प्रोग्रामर असाइन करने के लिए इस प्रणाली के डिजाइन के लिए ले जाएगा?"यह एक साल ले जाएगा" मास्टर तुरंत कहा.
"लेकिन हम इस प्रणाली को तुरंत या तो और भी जल्दी की जरूरत है! कितनी देर तक यह होगा
अगर मैं यह करने के लिए दस प्रोग्रामर असाइन ले? "मास्टर प्रोग्रामर सिकोड़ी. उस मामले में दो साल, इसे ले जाएगा. "
"और क्या अगर मैं यह करने के लिए एक सौ प्रोग्रामर असाइन?
मास्टर प्रोग्रामर सरका दिया जाता. "तो फिर डिजाइन कभी नहीं होगा
उन्होंने कहा कि पूर्ण ".-------------------------
बुक 4 - कोडिंग
इस प्रकार गुरु प्रोग्रामर spake:
"एक अच्छी तरह से लिखा कार्यक्रम अपने स्वयं के स्वर्ग है, एक खराब लिखा कार्यक्रम है
अपने स्वयं के नरक है. "4.1
एक प्रकाश कार्यक्रम और चुस्त होना चाहिए, इसके सबरूटीन्स तरह जुड़े
मोती की स्ट्रिंग. और कार्यक्रम की भावना और आशय को बनाए रखा जाना चाहिए
भर में. वहाँ न तो बहुत कम या बहुत ज्यादा होना चाहिए, न
अनावश्यक loops और न ही बेकार चर, संरचना की न तो कमी न
भारी कठोरता.एक कार्यक्रम कम से कम 'विस्मय की `कानून का पालन करना चाहिए. इस कानून क्या है?
यह बस यह है कि कार्यक्रम हमेशा रास्ते में उपयोगकर्ता के लिए जवाब देना चाहिए
कि उसे कम से कम हैरान.एक कार्यक्रम, कोई फर्क नहीं पड़ता कि कैसे जटिल, एक एकल इकाई के रूप में कार्य करना चाहिए. कार्यक्रम
भीतर तर्क के बजाय जावक छपने द्वारा निर्देशित किया जाना चाहिए.यदि प्रोग्राम इन आवश्यकताओं में विफल रहता है, यह के एक राज्य में हो जाएगा
विकार और भ्रम. केवल यह सही तरीका है करने के लिए फिर से लिखना
कार्यक्रम.4.2
एक नौसिखिया के मालिक से पूछा: "मैं एक प्रोग्राम है कि कुछ समय में चलाता है और
कभी कभी aborts. मैं प्रोग्रामिंग के नियमों का पालन किया है, फिर भी मैं कर रहा हूँ
पूरी तरह से चकित. इस का कारण क्या है? "मास्टर ने कहा: "आप भ्रमित कर रहे हैं क्योंकि आप ताओ समझ में नहीं आता.
केवल एक मूर्ख अपने साथी मनुष्यों से तर्कसंगत व्यवहार की उम्मीद है. तुम क्यों करूँ
यह एक मशीन है कि मनुष्य का निर्माण किया है की उम्मीद है? कंप्यूटर अनुकरण
नियतिवाद, केवल ताओ एकदम सही है."प्रोग्रामिंग के नियमों क्षणभंगुर हैं, केवल ताओ अनन्त है. इसलिए
आप ताओ सोचने से पहले आप आत्मज्ञान प्राप्त करना चाहिए. ""लेकिन मैं जब मैं आत्मज्ञान प्राप्त है कैसे पता चल जाएगा."
नौसिखिया."आपका कार्यक्रम तो सही ढंग से चलाने के" मालिक ने कहा.
4.3
अपने novices के एक मास्टर की ताओ की प्रकृति समझा रहा था. "
ताओ सभी सॉफ्टवेयर में सन्निहित है - तुच्छ कैसे कहा, "की परवाह किए बिना
मास्टर.एक हाथ से आयोजित कैलकुलेटर में ताओ "नौसिखिया पूछा.
", यह है," उत्तर आया था.
"ताओ में एक वीडियो गेम है? नौसिखिया जारी रखा.
"यह एक वीडियो गेम में भी है," गुरु ने कहा.
और ताओ डॉस में एक व्यक्तिगत कंप्यूटर के लिए है? "
मास्टर coughed और अपनी स्थिति को थोड़ा स्थानांतरित कर दिया. 'सबक खत्म हो गया है
आज के लिए, "उन्होंने कहा.4.4
राजकुमार वैंग प्रोग्रामर सॉफ्टवेयर कोडन किया गया था. अपनी उंगलियों पर नृत्य
कुंजीपटल. एक त्रुटि संदेश के बिना संकलित कार्यक्रम है, और कार्यक्रम
एक सज्जन हवा की तरह भाग गया.राजकुमार "उत्कृष्ट!" कहा, "आपका तकनीक निर्दोष है!
"तकनीक है?" प्रोग्रामर अपने टर्मिनल से मोड़, "मैं क्या कहा
पालन ताओ है - सभी तकनीकों से परे! जब मैं पहली बार मैं कार्यक्रम शुरू किया
मुझे एक मास में पूरी समस्या से पहले देखना होगा. नहीं तीन मैं वर्षों के बाद
अब यह बड़े पैमाने पर देखा. इसके बजाय, मैं सबरूटीन्स का इस्तेमाल किया. लेकिन अब मैं कुछ भी नहीं देखते.
मेरा पूरा किया जा रहा एक निराकार शून्य में मौजूद है. मेरे होश बेकार हैं. मेरी आत्मा,
योजना के बिना काम करने के लिए स्वतंत्र है, अपने स्वयं के वृत्ति निम्नानुसार है. कम, मेरे कार्यक्रम
खुद लिखते हैं. यह सच है, कभी कभी वहाँ मुश्किल समस्याएं हैं. मैं उन्हें देख
आ रहा है, मैं नीचे धीमा, मैं चुपचाप देखते हैं. तो मैं कोड की एक लाइन बदलने
कठिनाइयों और निष्क्रिय धूम्रपान के puffs की तरह गायब हो. मैं तो संकलन
कार्यक्रम. मैं अभी भी बैठने और काम की खुशी मेरी जा रहा है भर. मैं बंद करें मेरे
एक पल के लिए आँखें और फिर से लॉग इन करें. "राजकुमार वांग ने कहा, "कि मेरे सभी प्रोग्रामर के रूप में बुद्धिमान थे चाहेंगे!"
-------------------------
5 बुक - रखरखाव
इस प्रकार गुरु प्रोग्रामर spake:
हालांकि एक कार्यक्रम हो सकता है, लेकिन तीन लाइनों लंबा है, किसी दिन यह हो जाएगा
बनाए रखा. "5.1
एक अच्छी तरह से इस्तेमाल दरवाजा इसके टिका पर कोई तेल की जरूरत है.
तेजी से बह धारा स्थिर नहीं उगते.
न तो ध्वनि और न ही विचार एक वैक्यूम के माध्यम से यात्रा कर सकते हैं.
सॉफ्टवेयर rots अगर इस्तेमाल नहीं किया.महान रहस्यों हैं.
5.2
एक प्रबंधक एक प्रोग्रामर से पूछा कितनी देर तक यह उसे लेने के लिए खत्म होगा
प्रोग्राम है जिस पर वह काम कर रहा था. "यह कल समाप्त हो जाएगा."
प्रोग्रामर तुरंत उत्तर दिया.उन्होंने कहा, "मुझे लगता है कि आप अवास्तविक किया जा रहा है" मैनेजर ने कहा, "सच है, कैसे
लंबे समय लगेगा? "प्रोग्रामर एक पल के लिए सोचा. "मैं कुछ विशेषताएं है कि मैं करने के लिए इच्छा है
जोड़ें. , वह अंत में यह कम से कम दो सप्ताह के ले जाएगा "कहा."यहां तक कि बहुत ज्यादा उम्मीद है," प्रबंधक जोर देकर कहा, "मैं होगा
अगर आप बस मुझे बताओ जब कार्यक्रम पूरा हो गया है संतुष्ट हैं. "प्रोग्रामर यह करने के लिए सहमत.
कई साल बाद, प्रबंधक सेवानिवृत्त. उनकी सेवानिवृत्ति के लिए रास्ते में
लंच, वह अपने टर्मिनल पर सो प्रोग्रामर की खोज की. वह गया था
सारी रात प्रोग्रामिंग.5.3
एक नौसिखिया प्रोग्रामर एक बार एक सरल वित्तीय पैकेज कोड सौंपा गया था.
नौसिखिया कई दिनों के लिए जिस पर काम किया, लेकिन जब अपने स्वामी की समीक्षा
उनके कार्यक्रम, वह पता चला कि यह एक स्क्रीन संपादक, का एक सेट होता है
सामान्यीकृत ग्राफिक्स दिनचर्या, एक कृत्रिम खुफिया इंटरफेस है, लेकिन
वित्तीय कुछ भी की थोड़ी सी भी उल्लेख नहीं है.जब मास्टर इस बारे में पूछा, नौसिखिया क्रोधित हो गया. "नहीं हो सकता.
अधीर इतना, "उन्होंने कहा," मैं वित्तीय सामान में अंत में डाल देता हूँ. "5.4
क्या एक अच्छा किसान एक फसल लगाया गया है वह उपेक्षा?
क्या एक अच्छा शिक्षक भी सबसे अधिक विनम्र छात्र को नजरअंदाज?
क्या एक अच्छा पिता एक भी बच्चे को भूखा करने की अनुमति है?
क्या एक अच्छा प्रोग्रामर करने के लिए अपने कोड को बनाए रखने के लिए मना कर दिया?-------------------------
6 पुस्तक प्रबंधन
इस प्रकार गुरु प्रोग्रामर spake:
"प्रोग्रामर कई और कुछ प्रबंधकों हो तो सब हो जाएगा
उत्पादक ".6.1
जब प्रबंधकों अंतहीन बैठकों पकड़, प्रोग्रामर खेल लिखें. जब
एकाउंटेंट तिमाही मुनाफे की बात करते हैं, विकास के बजट के बारे में
जा कटौती. जब वरिष्ठ वैज्ञानिकों नीले आकाश में बात करते हैं, बादलों के रोल के बारे में हैं
अंदरसच में, इस प्रोग्रामिंग के ताओ नहीं है.
जब प्रबंधकों प्रतिबद्धताओं बनाने, खेल कार्यक्रमों की अनदेखी कर रहे हैं. जब
एकाउंटेंट लंबी दूरी की योजना बनाते हैं, सद्भाव और व्यवस्था के बारे में हैं
बहाल. जब वरिष्ठ वैज्ञानिकों के हाथ में समस्याओं का पता,
समस्याओं का जल्द ही हल हो जाएगा.सच में, इस प्रोग्रामिंग के ताओ है.
6.2
प्रोग्रामर क्यों गैर उत्पादक हैं?
क्योंकि उनकी बैठकों में समय बर्बाद किया है.प्रोग्रामर विद्रोही क्यों हैं?
क्योंकि प्रबंधन बहुत अधिक हस्तक्षेप.प्रोग्रामर एक एक करके क्यों इस्तीफा दे दिया है?
क्योंकि वे बाहर जला रहे हैं.गरीब प्रबंधन के लिए काम किया है, वे अब अपने काम मूल्य.
6.3
प्रबंधक के बारे में निकाल दिया था, लेकिन एक प्रोग्रामर जो उसके लिए काम किया
एक नया कार्यक्रम है कि लोकप्रिय बन गया है और अच्छी तरह से बेच आविष्कार. एक परिणाम के रूप में,
प्रबंधक अपनी नौकरी को बनाए रखा.प्रबंधक प्रोग्रामर एक बोनस देने की कोशिश की, लेकिन प्रोग्रामर
इसे मना कर दिया, कह, "मैं प्रोग्राम लिखा क्योंकि मुझे लगा कि यह एक
दिलचस्प अवधारणा है, और इस तरह मैं कोई इनाम की उम्मीद है. "इस सुनवाई पर प्रबंधक ने कहा, "इस प्रोग्रामर, हालांकि वह धारण
छोटा सा सम्मान की स्थिति है, अच्छी तरह से एक के समुचित कर्तव्य समझता है
कर्मचारी. हमें उसे प्रबंधन का ऊंचा स्थिति को बढ़ावा देने
सलाहकार! "लेकिन जब यह बताया था, प्रोग्रामर एक बार अधिक से इनकार कर दिया, कह, "मैं इतना मौजूद
है कि मैं कार्यक्रम कर सकते हैं. अगर मैं पदोन्नत किया गया, मैं कुछ भी नहीं बर्बाद करना होगा
हर समय. अब मैं जा सकता है? मैं एक प्रोग्राम है कि मैं पर काम कर रहा है. "6.4
एक प्रबंधक उसके प्रोग्रामर के लिए चला गया और उनसे कहा: "के रूप में अपने काम का संबंध
घंटे: आप नौ बजे सुबह में आना छोड़ जा रहे हैं
इस पर दोपहर में पांच. "में, उन सभी को गुस्से में है और कई बन गया
मौके पर ही इस्तीफा दे दिया.तो मैनेजर ने कहा: "ठीक है, उस मामले में आप अपने खुद निर्धारित कर सकते हैं
घंटे काम करने के रूप में लंबे समय के रूप में आप समय पर अपनी परियोजनाओं को खत्म "
प्रोग्रामर, अब संतुष्ट, दोपहर में आते हैं और मूत के लिए काम शुरू किया
सुबह के घंटे.-------------------------
7 किताब - कॉर्पोरेट बुद्धि
इस प्रकार गुरु प्रोग्रामर spake:
"आप एक कंपनी के कार्यकारी के लिए एक कार्यक्रम का प्रदर्शन कर सकते हैं, लेकिन तुम नहीं कर सकते
उसे कंप्यूटर साक्षर बनाना है. "7.1
एक नौसिखिया के मालिक से पूछा: "पूर्व में एक महान वृक्ष संरचना है
कि पुरुषों `कॉर्पोरेट मुख्यालय 'कहते हैं. यह आकार के साथ फूला हुआ है
उप राष्ट्रपति और एकाउंटेंट. यह मेमो, प्रत्येक के एक भीड़ के मुद्दों
`कह जाओ, इसलिए! या 'जाओ, इधर! और कोई नहीं जानता कि क्या मतलब है. प्रत्येक
साल नया नाम शाखाओं पर डाल रहे हैं, लेकिन कोई फायदा नहीं हुआ. कैसे कर सकते
अप्राकृतिक इकाई हो सकता है? "मास्टर ने कहा: "आप इस विशाल संरचना अनुभव और कर रहे हैं
परेशान है कि यह कोई तर्कसंगत उद्देश्य है. आप से ले जा सकते हैं नहीं मनोरंजन
अपने अंतहीन gyrations? क्या आप प्रोग्रामिंग के untroubled आराम का आनंद नहीं
अपनी पनाह शाखाओं के नीचे? आप अपने से क्यों परेशान कर रहे हैं
uselessness? "7.2
पूर्व में एक शार्क है जो अन्य सभी मछली की तुलना में बड़ा है. यह
एक पक्षी पंख जिसका आकाश भरने बादलों की तरह कर रहे हैं में बदल जाता है. यह जब
पक्षी देश भर चलता है, यह कॉर्पोरेट से एक संदेश लाता है
मुख्यालय. यह संदेश यह प्रोग्रामर के बीच में आ जाता है,
एक seagull के समुद्र तट पर अपनी छाप बना पसंद है. तो पक्षी पर आरोहित
हवा, और अपनी पीठ पर नीले आकाश के साथ घर वापस.पक्षी पर नौसिखिए आश्चर्य में साफ झलकती है प्रोग्रामर के लिए, वह यह समझता है
नहीं. औसत प्रोग्रामर पक्षी के आने के dreads, के लिए वह भय
अपने संदेश. मास्टर प्रोग्रामर अपने टर्मिनल पर काम जारी है,
वह नहीं जानता है कि पक्षी आ गया है और चला गया.7.3
हाथीदांत टॉवर के जादूगर के लिए अपनी नवीनतम आविष्कार लाया
मालिक प्रोग्रामर जांच करने के लिए. जादूगर में एक बड़े ब्लैक बॉक्स चक्र
मास्टर के कार्यालय जबकि मास्टर मौन में इंतजार कर रहे थे."यह एक एकीकृत, वितरित, सामान्य प्रयोजन वर्कस्टेशन है" शुरू किया
जादूगर, "ergonomically स्वामित्व ऑपरेटिंग के साथ डिजाइन
प्रणाली, छठी पीढ़ी भाषा और कला उपयोगकर्ता के कई राज्य
इंटरफेस. यह कई सौ आदमी साल मेरे सहायकों का निर्माण करने के लिए ले लिया.
क्या यह आश्चर्यजनक नहीं है? "मास्टर उसके आइब्रो थोड़ा उठाया. "यह वास्तव में आश्चर्यजनक है," वह
कहा."निगम मुख्यालय की आज्ञा दी है," जादूगर जारी रखा, "कि
हर नए कार्यक्रमों के लिए एक मंच के रूप में इस कार्य केंद्र का उपयोग करें. क्या आप सहमत हैं
यह करने के लिए? "मैं निश्चित रूप से, "गुरु ने कहा" के लिए ले जाया दिया जाएगा
डेटा सेंटर! तुरंत "और जादूगर अपने टावर के लिए अच्छी तरह से लौटे,
कृपा.कई दिन बाद, एक नौसिखिया के मास्टर के कार्यालय में फिरते
प्रोग्रामर और कहा, "मैं अपने नए कार्यक्रम के लिए सूचीकरण नहीं पा सकते हैं. करना
आप जहां यह हो सकता है पता है? ", मंच पर लिस्टिंग "हाँ," गुरु ने कहा "में खड़ी दिखती हैं
डेटा सेंटर. "7.4
मास्टर प्रोग्रामर डर के बिना कार्यक्रम से कार्यक्रम के लिए ले जाता है. नहीं
प्रबंधन में बदल उसे नुकसान नहीं पहुँचा सकता. वह निकाल दिया नहीं जा सकता, भले ही होगा
परियोजना रद्द कर दिया है. ऐसा क्यों है? वह ताओ से भर जाता है.————————————————————————–
Book 8 – Hardware and Software
Thus spake the master programmer:
“Without the wind, the grass does not move. Without software, hardware is
useless.”8.1
A novice asked the master: “I perceive that one computer company is much
larger than all others. It towers above its competition like a giant among
dwarfs. Any one of its divisions could comprise an entire business. Why is
this so?”The master replied, “Why do you ask such foolish questions? That company
is large because it is large. If it only made hardware, nobody would buy
it. If it only made software, nobody would use it. If it only maintained
systems, people would treat it like a servant. But because it combines all
of these things, people think it one of the gods! By not seeking to
strive, it conquers without effort.”8.2
A master programmer passed a novice programmer one day. The master noted
the novice's preoccupation with a hand-held computer game. “Excuse me,”
he said, “may I examine it?”The novice bolted to attention and handed the device to the master. मैं "
see that the device claims to have three levels of play: Easy, Medium, and
Hard,” said the master. “Yet every such device has another level of
play, where the device seeks not to conquer the human, nor to be conquered
by the human.”“Pray, great master,” implored the novice, “how does one find this
mysterious setting?”The master dropped the device to the ground and crushed it underfoot. और
suddenly the novice was enlightened.8.3
There was once a programmer who worked upon microprocessors. “Look at how
well off I am here,” he said to a mainframe programmer who came to visit,
“I have my own operating system and file storage device. I do not have to
share my resources with anyone. The software is self- consistent and
easy-to-use. Why do you not quit your present job and join me here?”The mainframe programmer then began to describe his system to his friend,
saying “The mainframe sits like an ancient sage meditating in the midst
of the data center. Its disk drives lie end-to-end like a great ocean of
machinery. The software is as multifaceted as a diamond, and as convoluted
as a primeval jungle. The programs, each unique, move through the system
like a swift-flowing river. That is why I am happy where I am.”The microcomputer programmer, upon hearing this, fell silent. But the two
programmers remained friends until the end of their days.8.4
Hardware met Software on the road to Changtse. Software said: “You are
Yin and I am Yang. If we travel together we will become famous and earn
vast sums of money.” And so the set forth together, thinking to conquer
the world.Presently they met Firmware, who was dressed in tattered rags and hobbled
along propped on a thorny stick. Firmware said to them: “The Tao lies
beyond Yin and Yang. It is silent and still as a pool of water. It does
not seek fame, therefore nobody knows its presence. It does not seek
fortune, for it is complete within itself. It exists beyond space and
time.”Software and Hardware, ashamed, returned to their homes.
————————————————————————–
Book 9 – Epilogue
Thus spake the master programmer:
“It is time for you to leave.”
————————————————————————–
If you liked these, you may also like to read worse is better
खोल पुनर्निर्देशन का एक बिट
यहाँ है कि कैसे हम सामान्य रूप से खोल पुनर्निर्देशन
$ ./pgm.sh args >out.txt 2>err.txt
I wanted to modify it a bit and run as follows
$ ./pgm.sh args
with the requirement that output and error should go to some filename computed inside pgm.sh based on args. एक निदर्शी मामला है जब तारीख args का हिस्सा है हो सकता है. तो आप stdout / निर्देशिका / / pgm_out_YYYYMMDD.txt कहना चाहते करने के लिए जाना होगा 1
The problem with standard way of redirecting N>file.txt ie, associating file descriptor N to file.txt , is that it works only for the newly forked process and not for the current process.
so
$ echo hi 1>out.txt ; echo hii हाय out.txt के लिए भेज लेकिन stdout में नमूना मुद्रित होगा. 2
यह वह जगह है जहां exec हमारे बचाव के लिए आता है. अगर हम जोड़ने के exec 1>somefile.txt तो स्क्रिप्ट के बाकी हिस्सों से आउटपुट somefile.txt के लिए जाना जाएगा
$. / Test.sh हाय out.txt के रूप में नमूना के रूप में अच्छी तरह से अनुप्रेषित करेगा
$ cat test.sh
#!/usr/bin/env bash
exec 1>out.txt
echo hi
echo hii
Similarly to redirect stdout as well as stderr we'll do something like this
cat test2.sh
exec 1>out.txt
exec 2>err.txt
echo out text
echo 1>&2 err text
somenoneexitent command
ls -ld /tmp
अब खोल के अंदर से कुछ फ़ाइल को पुनः निर्देशित कर के मूल बिंदु के लिए वापस आ रहा है, चलो का कहना है कि कार्यक्रम कुछ चर OUTFILE में फ़ाइलनाम गणना, हम बस किया सकता exec 1>$OUTFILE
यह वर्तमान समस्या हल करती है. लेकिन आप निम्न उदाहरण है जो खोल स्क्रिप्ट में फ़ाइल के यादृच्छिक अभिगम 'प्राप्त होता है के माध्यम से जाना चाहते हो सकता है. उदाहरण से है यहाँ
echo 1234567890 > File # Write string to "File".
exec 3<> File # Open "File" and assign fd 3 to it.
read -n 4 <&3 # Read only 4 characters.
echo -n . >&3 # Write a decimal point there.
exec 3>&- # Close fd 3.
cat File # ==> 1234.67890
टिप्पणी के साथ, इस कोड को आत्म व्याख्यात्मक है.
-
1 यह भी द्वारा किया जा सकता है $ ./pgm.sh args >pgm_out`date +%Y%m%d` लेकिन विचार करने के लिए ही प्रोग्राम में कुछ तर्क पर आधारित इस फ़ाइल नाम उत्पन्न है.
2 1 in 1>out.txt is redundant but it clarifies here that we are redirecting fd 1
Sony VAIO review
A month back I bought a vaio NS25G and have been planning to write this post since then. This post is primarily notes to self and review of the same. Let's get off the mark quickly -
Post has two parts -
I. Review of hardware
द्वितीय. Installing debian and things to setup
Since I am not a VAIO marketing guy, I'll start other way round -
Why you may not like to buy this laptop :
- No bluetooth : believe me, in 2009 sony sells laptop without bluetooth. Sure you can use usb stuff but …
- Screen size is 15.4 inches : if you travel a lot then this laptop may not be very handy and also 2.9kg laptop is not exactly the lightest around.
- No HDMI output.
- No separate graphics card and the likes.(and no dedicated video memory
Now , why you may like to buy it :
- This laptop is a damn good desktop. What I mean is this if your requirement is like me – mostly writing programs and trying to use it 25 out of 24 hrs, then with a big screen , extremely comfortable keyboard layout with spacious palm rest and good compute power , it makes a very good combination.
- It L2 cache is 2MB and processor/memory system bus are 800MHz. I don't play games so can't say about that but for anything else but a core 2 duo processor with 2GHz freq is good, this is more than enough.
- From my usage, I see processor mostly clocks at 1.2GHz, and memory usage ~500MB. That just reinforces previous point.
- Battery backup is good, ~2 hrs is what I get.
Just one more thing here – being Sony, it will cost you a bit than other laptops with similar configuration, but that is a call u have to make.
II. Configuring linux (to run out of box ! ) :
It came pre installed with Vista( I think home premium or some fancy name like that). Dungara booted once and created another partition of 150 GB. Debian testing is what I always install and then up(down?)grade to 'unstable' sid.
Things which worked without any problem:
- X - unsurprisingly X server had not problem with starting or resolution. After one of the upgrades X refused to start though, but 'X -configure' generated a conf file which worked pretty well.
- Audio - Audio output and external mic work fine. kernel version 2.6.29-1-686 #1 SMP and alsa version 1.0.17. This is what you get from
$ lspci -v |grep Audio 00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Con1.0.17troller (rev 03) - Video cam – just works
- Hibernate to disk and back – no problem
- Wireless - in short – just works.
$ lspci |grep -i wireless
03:13:55 04:00.0 Network controller: Atheros Communications Inc. AR928X Wireless Network Adapter (PCI-Express) (rev 01) .
I think kernel 2.6..27 onwards it works with the stock kernel source. You dont have to install ndiswrapper or things like t
hat. As a note, please say good buy gnome-network-manager and welcome wicd, it is just a gui layer but behind the scene they have fixed lot of config stuff like wpasupplient and more.
What doesn't work -
- Somehow internal mic refuses to work
External mic works fine though. Latest alsa sources did not compile cleanly on debian, so for the time being I bought external Internal mic, will try to dig into it sometime in future though.
Few more misc hints for deiban:
- Package for devnagri font- ttf-indic-fonts
- Package for flash player – flashplugin-nonfree
- Entry in sources.list for mplayer and likes – deb http://www.debian-multimedia.org sid main
- Entry in sources.list for e17 – deb http://debian.alphagemini.org/ unstable main
- Entry in sources.list for skype – http://download.skype.com/linux/repos/debian/ stable non-free
oneliner for increasing and decreasing the brightness -
[root]prashant@vaio09:12 PM$ cat bin/incbrightness.sh
#!/usr/bin/env bash
echo $[1+`cat /sys/class/backlight/acpi_video0/brightness `] >/sys/class/backlight/acpi_video0/brightness
you'll have to put this in sudo though.
and to decrease change + to – and … you get the idea, right !
A bit more, if you use enlightenment(e17) here are few more hints -
[enlightenment key bindidings]
You can use following key code and mapping
mute :
KEY="Keycode-160" ACTION="exec" PARAMS="/usr/bin/amixer -q set Master toggle"
hibernate :
KEY="Keycode-165" ACTION="exec" PARAMS="sudo /usr/sbin/hibernate-disk"
volume decrease :
KEY="Keycode-174" ACTION="exec" PARAMS="/usr/bin/amixer -q set Master 2-"
volume increase:
KEY="Keycode-176" ACTION="exec" PARAMS="/usr/bin/amixer -q set Master 2+"
increase brightness :
KEY="Keycode-212" ACTION="exec" PARAMS="sudo /root/bin/incbrightness.sh"
decrease brightness
KEY="Keycode-101" ACTION="exec" PARAMS="sudo /root/bin/decbrightness.sh"



































