الاستطلاع، بينغ، pubsub، pubsubhub، pubsubhubbub

6 سبتمبر 2009 بواسطة براشانت · تعليقات
قدم تحت: تكنولوجيا

في حال كنت متشككا، وهناك أسلوب في جنون أعلاه، في عنوان آخر. في دوائر التكنولوجيا فإنه من غير المحتمل أن لم تكن قد سمعت من pubsubhubbub. في أشهر قليلة بسرعة، فقد كان واحدا من المراكز الثلاثة الاولى تحدثنا عن امور. الاثنان الآخران يجري تشفير متماثل الشكل وجوجل موجة [ 1. ]. أعود إلى آخر الحالي - حيث في العنوان يبين كيف يمكنك الحصول على محتويات من أشخاص آخرين. تفاصيل بعد أن تصبح أكثر وضوحا، إذا كنت أتخيل الأشياء يحدث فيما يتعلق بلوق، على الرغم من المفهوم أنها لا تقتصر على بلوق.

الاقتراع يشير إلى أن السيناريو حيث عملاء يبقى السؤال الخادم إذا كان هناك شيء جديد قد حان حتى. كيف سيكون في كثير من الأحيان لطلب التحديثات تكون دائما مشكلة مع الاقتراع متكررة جدا أو متباعدة جدا، ولكن كما أشار أحد القراء هنا أن واحدة كبيرة، مع شيء الاقتراع هو أن الخادم لا يملك للحفاظ على الدولة.

بينغ يشير إلى حالة حيث أنت (أو البرمجيات الخاصة بك) عندما نشر مقالا، أيضا تحديث بعض الخدمات الشعبية التحديث (وسط). بعض المعلومات الأساسية هنا .

التالية هي pubsub التي تقف على نشر / الاشتراك، واحد من أقرب الملعب لصنع كان هنا من قبل ايفان هينشو، بلاث وكيلان إليوت، McCrea (72 شرائح لكنه يستحق يمر بها). وكان مثالا بارزا قدموه ضد هذا - في تاريخ معين، فريندفيد زحف فليكر 2900000 مرات للحصول على أحدث الصور من 45754 المستخدمين، منها 6721 زار فليكر في تلك مدار 24 ساعة ويمكن أن يكون "محتملة" تم الرفع صورة. علما بأن ما اقترحت ليست تقنية جديدة، كما يشيرون إلى "ثورة التكنولوجيا الجديدة 20 عاما من العمر". اذا كنت تفعل ذلك لبلوق بعد ذلك واحدة من المشاكل الرئيسية مع XMPP - يمكن الحد من وجود بيانات النفقات العامة، والتي قد يكون مرتفعا كما 60-70٪ الكثير.

pubsubhub لتقف على نشر اكتتاب محور وpubsubhubbub هو بروتوكول، الذي هو جوهر فكرة pubsubhub. الناشرين فيها (ويقول المدونين) تحديث محور التي (قد يكون أكثر من واحد المحاور، والتي يتحدثون مع بعضهم البعض) يقيم "في مكان ما في سحابة"، وفقا لهذا البروتوكول يمكن دفع أو سحب وفقا للبروتوكول ولكن الرابط التالي في سلسلة، مركزا على العميل (ويقول القراء) انها تدفع دائما نموذج. هذا صفحة جيدة نقطة البداية لpubsubhubbub، والشرائح نظرة عامة جيدة. بليغ من أي وقت مضى أنيل داش يصفه هنا كما الويب عبر الضغط على زر.
اثنين من القراءات الأخرى ذات الصلة هي webhooks الذي هو في الأساس رد HTTP. Github يستخدم ذلك، يفعل ذلك باي بال للدفع الإخطارات غير متزامن في IPN . وكذلك الحال بالنسبة غيرها الكثير. ومفهوم ذات الصلة rsscloud وهو مرة أخرى محور pubsub. اتبع هذا الرابط للاطلاع على التفاصيل.

هل يمكن أن يتساءل ما هو الهدف من كتابة كل هذه هنا، وهناك نوعان 1. هذه الأمور يستحق أن يعرف، على الأقل الحد الأدنى و 2. هذا بلوق هو تمكين pubsubhubbub الآن عبر محور appspot باستخدام هذا وورد البرنامج المساعد والأعلاف جدا pubsubhubbub سكريبت عن طريق وصلة، فيدبورنر هنا
-
[ 1 ]. - جيد قراءة تمهيدية للتشفير متماثل الشكل هو تماما هذه المادة من قبل بروس شنير، و هذا الحديث هو أكثر أو أقل المصدر الوحيد لموجة جوجل.

التحديث - هذا آخر يشرح كيف يمكن عمل شرط الخادم العام لالاستدعاء للعملاء في جميع أنحاء سطح المكتب باستخدام بوابة XMPP (لpubsubhubbub).

وهناك القليل من الجمعية

29 أغسطس 2009 بواسطة براشانت · تعليقات
قدم تحت: تكنولوجيا

بعد قراءة هذا المقال عن مخازن قفل حرة ورؤية استخدام CAS (قارن والمبادلة)، شعرت وكأني نشر رمز الجمعية أن تفعل نفس الشيء. استخدام أكثر من حالة كان هناك طريقة لكتابة الأصلي والذي يطلق عليه من جافا (مرة أخرى في 1.5، عندما المتزامنة هياكل البيانات في جاوة كانت أكثر أو أقل غير موجود). دون مزيد من اللغط، وأنا على إطلاق العنان للرمز لك :) . الأول هو لاستراتيجية المساعدة القطرية والثاني هو لGCD الحوسبة باستخدام خوارزمية إقليدس (ويمكن الاطلاع على هذا واحد في كثير من الأماكن والبرامج التعليمية وكذلك).

ترجمة وتشغيل تعليمات gcc file_name.c ; ./a.out

قارن ومقايضة

   وتشمل # 
  وتشمل # 
 / / تبادل - newvalue، comperand قديمة / القيمة المتوقعة
 / *
  * وظيفة في الواقع لا شيء التالية - إذا كانت القيمة في دست * تساوي oldvalue ثم الاستعاضة عنها newvalue آخر ترك الأمر دون تغيير: هل كل هذه بالذرة
  *
  * وهناك خياران لقيمة الإرجاع
  * القيمة الأولية 1.is من دست * وترك عبء fxn يدعو لمقارنتها مع oldval
  * 2.  يفعل ذلك أكثر من هنا والعودة 0 أو 1، وهذا ينبغي أن تكون أكثر كفاءة
  ** /

 / * تغيير في وقت لاحق إلى الماكرو * /
 مادبا CAS (INT * دست، وكثافة العمليات oldvalue، وكثافة العمليات newvalue) {
	 printf ("(٪ د، د٪، د٪)"، * دست، oldvalue، newvalue)؛
	 / * كثافة العمليات CAS (INT دست، وكثافة العمليات oldvalue، وكثافة العمليات newvalue) {* /
	 / * كثافة العمليات CAS (INT دست، وكثافة العمليات newvalue، وكثافة العمليات oldvalue) {* /
	 مادبا نتيجة = 1 ؛/ * 1 يدل على أن استراتيجية المساعدة القطرية نجحت و 0 يدل على أن فشلت * /
	 / * راجع للشغل في حاجة إلى تعيين مكعب للعلم clobbering!  * /
	 __asm__ __ volatile__ (
			 "movl 2٪،٪ EAX٪ \ ن \ T"
			 "movl٪ 3،٪٪ EBX \ ن \ T"
			 "movl 0٪،٪٪ ECX \ ن \ T"
			 "قفل \ ن \ T"
			 "CMPXCHG٪ EBX٪، (٪ ECX٪) \ ن \ ر" يجب أن / * قفل تكون على نفس السطر * /
			 "JZ حررت \ ن \ T"
			 "movl $ 0، 1٪ \ ن \ T"
			 "حررت: \ ن \ T"
			 : "= م" (دست)، "= ز" (النتيجة)
			 : "ز" (oldvalue)، "ز" (newvalue)، "م" (دست)
			 : "EAX٪"، "EBX٪"، "ECX"، "سي سي"
			
	 printf ("(٪ د، د٪، د٪)"، * دست، oldvalue، newvalue)؛
	 عودة نتيجة؛
 }

 / * TODO
  * الكتابة آخر fxn ASM الذي يضع فوق fxn في حلقة وبينما تحاول أن تبقي ما لم ينجح * /

 الباحث الرئيسي () {
	 مادبا 1 = 5، ب = 6؛
	 مادبا * ج = (كثافة العمليات *) malloc (sizeof (الباحث))؛
	 * ج = 6؛
	 / * كثافة ج = 6؛ * /
	 printf ("٪ د \ ن"، CAS (ج، ب، ب))؛
	 printf ("٪ د \ ن"، CAS (ج، ب، أ))؛
	 printf ("٪ د \ ن"، CAS (ج، أ، أ))؛
	 printf ("٪ د \ ن"، CAS (ج، ب، ب))؛
	 * ج = 6؛
	 / * ج = 5؛ * /
	 printf ("القيمة المتغيرة لل* ج ب٪ د \ ن"، * ج)؛
	 printf ("٪ د \ ن"، CAS (ج، ب، ب))؛
	 printf ("٪ د \ ن"، CAS (ج، ب، أ))؛
	 printf ("٪ د \ ن"، CAS (ج، أ، أ))؛
	 printf ("٪ د \ ن"، CAS (ج، أ، ب))؛
	 printf ("٪ د \ ن"، CAS (ج، ب، أ))؛
	 عودة 0؛
 }

تلاحظ التنسيق - يبدو وكأنه تمييز بناء الجملة WP تضيف في النهاية، تجاهل ذلك.

GCD

 وتشمل # 
 مادبا GCD (كثافة العمليات أ، كثافة العمليات ب) {
     مادبا النتيجة؛
     / * حساب المقسوم المشترك الأكبر باستخدام خوارزمية إقليدس * /
     __asm__ volatile__ __ ("movl٪ 1،٪ EAX٪؛"
                           "movl 2٪،٪ EBX٪؛"
                           "تابع: cmpl $ 0٪٪، EBX"؛
                           "التهاب الدماغ الياباني الذي قام به؛"
                           "٪٪ xorl EDX، EDX٪٪؛"
                           "٪٪ idivl EBX"؛
                           "٪٪ movl EBX، EAX٪٪؛"
                           "٪٪ movl EDX، EBX٪٪؛"
                           "تابع أحزاب اللقاء المشترك"؛
                           "حررت: movl٪ EAX٪، 0٪؛": "= ز" (النتيجة): "ز" (أ)، "ز" (ب)
    

     عودة نتيجة؛
 }

 الباحث الرئيسي () {
     مادبا الأولى والثانية؛
     printf ("أدخل عددين:")؛
     scanf ("٪ D٪ D"، و 1، و 2)؛

     printf ("GCD٪ من D & D٪ هو٪ د \ ن"، الأولى والثانية، GCD (الأولى والثانية))؛

     عودة 0؛
 }

العالم ينتظر لعبة الكريكيت النظام العالمي الجديد

25 أغسطس 2009 بواسطة براشانت · تعليقات
قدم تحت: متفرقات

بعد سلسلة تمتد خمس تجارب وشهرين تقريبا، والرماد إنجلترا المستصلحة.

دعونا نتحدث عن الفريق الفائز 1 - ترتيبها الاوسط هو "متوسط" إذا كنت لا ترغب في حرج. ومساهمة Greame سوان مع الخفافيش عد ما لا يقل عن مساهمة مع الكرة. ستيوارت واسع - أفضل كل مستدير كانت بداية غير لاختبار 5. وكان أندرو شتراوس رجل المضرب فقط بما يتفق وجيمي أندرسون كان الرامي فقط متسقة.

النقطة هنا ليست لتوبيخ انجازات الفريق الفائز ولكن لوضع وجهة نظر حقيقة أنه على الرغم من كل هذه، واستراليا خسرت. سيكون لديك للتفكير لبضع ثوان، إذا طلب منه تسمية الرامي أفضل ما لديهم. حق، وكان BW Hilfenhaus. تفوقت Hauritz توقع everbody لكنها لا تزال غير جيدة بما فيه الكفاية ليتم تحديده لاثنين من التجارب الخمس. جنوب أفريقيا أبدا أصبح الخافق العالم دون مستوى عالمي الدوار، ويمكن أن نأمل في أستراليا تظل واحدة من دون واحدة واحدة جيدة بما فيه الكفاية على الأقل. غادر الساحر المرحلة وانها لا تشبه الفن بعد الآن، وننسى السحر. بونتينغ طويل القامة يقف بين البشر أقل ومايكل كلارك يقف في كثير من الأحيان، ولكن ذلك يجعلهم فريق مع بعض اللاعبين الجيدين وليس فريق جيد جدا.
سيذكر رماد 2009 للرماد أندرو فلينتوف الأخير، وصول ستيوارت واسع باعتبارها مستدير جميعا (إذا كان يضيف بعض أكثر رماد الفولكلور إلى بدايته واعدة)، واحدة من قرن لاول مرة الأكثر تعبيرا على الإطلاق من قبل تروت لكنها ستكون أيضا يذكر بوصفه نقطة حيث افتراضات أو تحفظات حول التفوق في استراليا وضعت أخيرا إلى الراحة، وأنه قد انتهى. لا تفهموني خطأ يمكن أن لا يزال كشف مايك كلارك ستيوارت هاسي أو لكنك تشعر مساهمة كل عظماء الوقت الذي كانوا في عداد المفقودين. أحيانا يأتون لتذكيرك أنفسهم في الشعيرات ولكن لا يزال لا يمكن أن يتم استبدالهم. دعونا نرى المباركة لبعد أن شهدت مدينة وارن، وماكغراث جيلكريست اللعب معا، والتي تدعمها Waughs، بونتينغ، هايدن، ومارتن لانغر.

للمضي قدما، وجنوب أفريقيا ستبقى دائما فريق جيد جدا ولكنهم بحاجة الى الفوز الدور نصف النهائي وتكون أكثر ثباتا في جميع أنحاء العالم، وباكستان ستظل رائعة محير، والمدافع الشاب الهندي ربما تجد صعوبة في ملء أحذية من سابقاتها غير عادية. وينبغي أن سري لانكا لا تزال تظهر لمحات من الفن في حرفة. ولكن، ربما علينا أن ننتظر لبعض الوقت قبل وجود فريق من جميع المهيمنة أو من قبل ضابط برتبة نقيب وتشكو من عدم وجود منافسة، كما فعل ستيف وو مرة واحدة.

وعلى صعيد ذات صلة - دعونا نرحب مرة أخرى قادمة من آصف، وقال انه لديه الكثير من الجحيم محتملة، دعونا نأمل أن نرى بعض من ذلك، ونرحب أيضا أندي زهرة في awatar جديد، والحق لا يمكنك ان تبقى الرجال جيد أسفل لفترة طويلة.

روبي 1 المتشددين لإنشاء التجزئة

20 أغسطس 2009 بواسطة براشانت · تعليقات
قدم تحت: تكنولوجيا

أمس في حين يمر واحد من البرامج بلادي القديمة، لقد وجدت هذا الذي كتبه لي مرة أخرى في وقت ما:

#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) سبليت ('&')    

 => ["نجاح"، "mc_gross = 10.00"، "protection_eligibility = غير مؤهل"، "payer_id = U7PPJJ4TSJ47E"، "ضريبة = 0.00"، "payment_date 09:45:30 = 10 يوليو 2009 PDT"، "payment_status = بانتظار "]                                                                         

 الاتحاد الدولي للرجبي (الرئيسي): 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 PDT"]، ["payment_status"، "معلق".]]                               

 الاتحاد الدولي للرجبي (الرئيسي): 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 PDT "،" payment_status "،" معلق "]
 الاتحاد الدولي للرجبي (الرئيسي): 015:0>
 تجزئة التجزئة = [* flattened_array]
 => {"ضريبة" => "0.00"، "payment_status" => "معلقة"، "payer_id" => "U7PPJJ4TSJ47E"، "mc_gross" => "10،00"، "نجاح" => لا شيء "، payment_date" = > "09:45:30 10 يوليو 2009 PDT"، "protection_eligibility" => "غير مؤهل"} 

راجع للشغل، ويسمى * عامل تنبيه في روبي

طريقة أخرى لإنشاء التجزئة من "مجموعة من أزواج 'هو استخدام حقن:

  التجزئة = [[1،2]، [3،4]] حقن ({}). {| نتيجة لذلك، عنصر | نتيجة [element.first] = النتيجة [element.last]؛ نتيجة} 

هناك أكثر من طريقة :) كتابة حلقة، الذي سأترك باعتبارها ممارسة للقراء!

هنا قليلا حالة الاستخدام لا علاقة لها من خلق التجزئة من المصفوفات:

  الاتحاد الدولي للرجبي (الرئيسي): 005:0> [1،2،3،4،7،9] group_by {| X | X <5.؟  : أقل :: أكبر}

 => {: أقل => [1، 2، 3، 4]،: أكبر => [7، 9]} 

يمكنك أن تفعل المزيد من الأشياء، ويستخدم أساسا نتيجة للكتلة كمفتاح لهذا العنصر في التجزئة الناتجة عن ذلك.

Gmail، والمغفل، وmsmtp الإصلاح

17 أغسطس 2009 بواسطة براشانت · تعليقات
قدم تحت: تكنولوجيا

إذا كنت تستخدم المغفل وبروتوكول نقل البريد الإلكتروني من الدخول إلى Gmail. وهنا هو أنباء (السيئة). الرجال بارد في غوغل تغير مرة أخرى شهادة. أوه، لم تسأل - كيف أنها تعرف ذلك؟ بدأ المغفل بسيط تشكو الشهادة السيئة عند محاولة استخدام، الذي اشتهر msmpt 'msmtp: TLS التحقق شهادة: فشل. الشهادة لم حصلت على مصدر معروف' استقبل لي على الشاشة.

لعبور تأكيد -
تشغيل فقط بعد

$ 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

لحسن الحظ الإصلاح هو بسيط، وهنا ما عليك القيام به على دبيان

# 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

الجهاز الهضمي ومسح ممتاز

15 أغسطس 2009 بواسطة براشانت · تعليقات
قدم تحت: متفرقات

وهنا اثنين من وصلات لمسح بواسطة الجهاز الهضمي (إصدار نظام التحكم) ورهيبة المجتمع (مدير النوافذ). إذا كنت تستخدم أي من هذه، يرجى اتخاذ بعض الوقت لملء الاستبيان. كما أنها تفكر في أبسط وسيلة للمساهمة عودة إلى البرامج التي تستخدمها.
وهنا هي الروابط:

الجهاز الهضمي - http://www.survs.com/survey؟id=2PIMZGU0&channel=Q0EKJ3NF54

رهيبة - http://www.survs.com/survey؟id=8BVEV3FO&channel=BH07CQ040D

ملاحظة - (كما وجدت في تلك الصفحات ولكن في الجزء السفلي :) ) -
واضاف "اذا كان لديك تمكين ملفات تعريف الارتباط، يمكنك أن تقدم دائما مسح مملوء جزئيا، والعودة إلى إجاباتك في وقت لاحق، استكماله في وقت لاحق."

دمج التجزئة في ملفات YAML أسيوط

31 يوليو 2009 بواسطة براشانت · تعليقات
قدم تحت: تكنولوجيا

YAML هو مفيد جدا لكتابة ملفات التكوين. الميزة الرئيسية هي أن يقرأ مثل ملف نص. هذا يعمل بشكل جيد حقا إذا كان ملف التكوين مسطح (أي التسلسل الهرمي) وليس لديه التكرار.
إذا كان لديك تكوينات لديه ملف التكرار ثم فمن المنطقي أن فصل هذه العناصر وإعادة استخدامها. ما أعنيه هو هذا - دعونا نقول لكم ملف التكوين يشبه هذا:

  التنمية:
   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 

على افتراض فوق رمز في / تمة / test.yml هنا هو كيف يمكنك أن تقرأ في بيثون وروبي
$cat readyml.py

 #! / البيرة / بن / بيثون الحياة الفطرية
 من pprint الاستيراد pprint كما PP
 # في ديبيان تحتاج إلى تثبيت بيثون YAML
 من YAML استيراد التحميل، التفريغ، load_all
 التجزئة = حمل (مفتوحة ('/ تمة / test.yml'))
 ص (التجزئة ['تنمية']) 


$ cat readyml.rb

  #! / البيرة / بن / روبي الحياة الفطرية
 يتطلب 'ص'
 التجزئة = YAML :: تحميل (File.open ('/ تمة / test.yml'). قراءة)
 PP التجزئة ['تنمية'] 

هنا هو مفيد 1 بطانة للنسخة روبي
$ 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"
$

عظيم، وأنها تعمل (TM)!
تداول يمكن القول أننا لبعض الوضوح قليلا من السحر. وهنا لشرح صغير: & *، و<<: لا يمكن فهمه والتي هي علامة ارتساء كما معرف العقدة *، هو إشارة العقدة و<<: لتقف على دمج التجزئة.

لمزيد من التفاصيل راجع إما المواصفات 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"
$

هل نقول لديك مستوى واحد أكثر من أن تعشش، كذلك يمكنك انبسط بالتأكيد واحدة أكثر من مستوى، ولكن بعد ذلك يصبح فوضى. لذا، إذا كنت لا يحاولون الكتابة إلى حل أبراج هانوي في ملف أسيوط، أنه من الأفضل أن restucture ملف أسيوط من حفر في YAML أو أي شيء آخر. ولكن هذا هو مكالمتك على أي حال.

المبرمجين كبير عثور على حلول بسيطة لمشاكل معقدة

30 يونيو 2009 بواسطة براشانت · تعليقات
قدم تحت: متفرقات

بعد فترة طويلة يمكن أن أجد مصدرا للاقتباس، بعد

المبرمجين المبتدئين إيجاد حلول بسيطة لمشاكل بسيطة. المبرمجين كبار إيجاد حلول معقدة لمشاكل معقدة. المبرمجين كبير عثور على حلول بسيطة لمشاكل معقدة.

هو من مقال دعا البرامج الجميلة التي كونيل تشارلز.

آخر واحد مفضل من الألغام وزن من بيثون -

جميل هو أفضل من القبيح.
واضح هو أفضل من ضمني.
بسيط هو أفضل من التعقيد.
مجمع هو أفضل من التعقيد.
شقة هو أفضل من تداخل.
متناثر هو أفضل من الكثيفة.
قراءة التهم الموجهة إليه.
حالات خاصة ليست خاصة بما يكفي لكسر القواعد.
على الرغم من أن العملية يدق نقاء.
وينبغي أن الأخطاء لم يمر بصمت.
ما لم أسكت صراحة.
في مواجهة غموض، رفض إغراء تخمين.
يجب أن يكون هناك واحد فقط ويفضل أن يكون واحد واضح طريقة للقيام بذلك.
وإن كان من المحتمل أن الطريق لا يكون واضحا في البداية إلا إذا كنت الهولندية.
الآن هو أفضل من ألا تأتي أبدا.
على الرغم من أن أبدا في كثير من الأحيان أفضل من * حق * الآن.
إذا كان التنفيذ من الصعب أن أشرح، انها فكرة سيئة.
إذا كان التنفيذ هو من السهل ان يفسر، قد يكون فكرة جيدة.
مساحات واحدة فكرة التزمير كبير - دعونا نفعل أكثر من تلك!
-------------------------
ثم هناك الكلاسيكية تاو للبرمجة

-

اعتمادات على ربط الموقع

وترجم من قبل جيمس جيفري

كتب من قبل هيلارد دوق

تنتقل عن طريق تريفيدي أنوبام، Tampi Sajitha، وجاغاناث Meghshyam

إعادة HTML-أوتوماتيكية وحرره سيتلر سيتاكر

-

كتاب 1 - الفراغ الصامت

تكلم وبالتالي مبرمج رئيسي:

وقال "عندما كنت قد علمت لانتزاع رمز الخطأ من إطار فخ، فإنه
وسوف يكون الوقت قد حان بالنسبة لك لمغادرة البلاد. "

1.1

ويتكون شيء غامض، ولدت في الفراغ الصامت. الانتظار وحده، و
مؤثر، هو في آن واحد لا يزال وحتى الآن في حركة مستمرة. هذا هو المصدر
لجميع البرامج. أنا لا أعرف اسمها، ولذا فإنني سوف يطلق عليه تاو
البرمجة.

إذا كان تاو أمر عظيم، ثم نظام التشغيل هو عظيم. إذا كان التشغيل
النظام هو عظيم، ثم المترجم هو عظيم. إذا كان المترجم هو عظيم،
ثم التطبيق شيء عظيم. ويسر للمستخدم ويوجد هناك
الانسجام في العالم.

تاو للبرمجة تدفقات بعيدا وتعود على الرياح من صباح اليوم.

1.2

أعطى تاو الميلاد إلى لغة الآلة. أعطى لغة الآلة الولادة إلى
المجمع.

وقدم المجمع الميلاد إلى المترجم. الآن هناك 10000
لغات.

كل لغة لها الغرض منه، مهما كان متواضعا. كل لغة تعبر عن
يين ويانغ من البرمجيات. كل لغة لها مكانها داخل تاو.

ولكن لا البرنامج في COBOL ما اذا كان يمكنك تجنب ذلك.

1.3

في البدء كان تاو. أعطى تاو الميلاد إلى المكان والزمان.
لذلك الفضاء والوقت ويين ويانغ من البرمجة.

المبرمجين والتي لا نفهم تاو تعمل دائما من الوقت
ومساحة لبرامجها. المبرمجين أن فهم دائما تاو
لديها ما يكفي من الوقت والمساحة لتحقيق أهدافها.

كيف يمكن أن يكون خلاف ذلك؟

1.4

وقال مبرمج الحكيمة حول تاو، ويلي ذلك. المتوسط
وقال مبرمج حول تاو ويبحث عن ذلك. مبرمج أحمق
وقال تاو حول ويضحك على ذلك.

لو لم يكن للضحك، لن يكون هناك أي تاو.

على أعلى الأصوات هي أصعب سماعها.
للمضي قدما هو وسيلة للتراجع.
موهبة كبيرة تظهر نفسها في وقت متأخر من الحياة.
حتى برنامج مثالي لا يزال البق.

-------------------------

كتاب 2 - درجة الماجستير القديمة

تكلم وبالتالي مبرمج رئيسي:

واضاف "بعد ثلاثة أيام دون الحاجة إلى البرمجة، تصبح الحياة بلا معنى".

2.1

كانت المبرمجين من العمر غامضة وعميقة. لا يمكننا فهم
أفكارهم، لذلك كل ما نفعله هو وصف مظهرها.

يدرك، مثل الثعلب عبور الماء. تنبيه، وكأنه عام على
ساحة المعركة. نوع، وكأنه مضيفة تحية ضيوفها. بسيطة، مثل
uncarved كتل من الخشب. مبهمة، مثل حمامات سوداء في الكهوف المظلمة.

الذي يمكن أن نقول للأسرار قلوبهم وعقولهم؟

الجواب موجود فقط في تاو.

2.2

غراند ماستر تورينج حلمت ذات مرة أنه كان آلة. عندما استيقظت انه
صاح:

"أنا لا أعرف ما إذا أنا أحلم تورينج أنني آلة، أو
آلة الحلم أنني تورينج "!

2.3

وتوجه مبرمج من شركة كمبيوتر كبيرة جدا على البرامج
عاد المؤتمر ومن ثم تقديم تقرير إلى مدير أعماله، قائلا: "ما هو نوع
من المبرمجين العمل في الشركات الأخرى؟ تصرفوا بشكل سيء، وكانت
غير مبال مع مباراة. وكان شعرهم طويل وغير مهذب، وعلى
وكانت الملابس التجاعيد والقديم. تحطمت انهم جناح الضيافة لدينا وهم
جعل الضوضاء وقحا خلال العرض الذي قدمته ".

وقال المدير: "أنا يجب أن يكون أبدا بإرسالها إلى المؤتمر. هؤلاء
المبرمجين يعيشون خارج العالم المادي. يعتبرونه حياة عبثية، وهي
عرضي صدفة. انهم يأتون ويذهبون من دون معرفة القيود.
من دون رعاية، ويعيشون فقط لبرامجها. لماذا يجب أن تهتم
مع الأعراف الاجتماعية؟

واضاف "انهم على قيد الحياة داخل تاو".

2.4

وسأل أحد مبتدئ السيد: "هنا هو مبرمج أن يصمم أبدا،
وثائق أو اختبارات برامجه. بعد كل الذي أعرفه يعتبرونه واحدا من
أفضل المبرمجين في العالم. لماذا هذا؟ "

ماجستير يجيب: "هذا مبرمج اتقنت تاو. وقد ذهب
ما وراء الحاجة إلى تصميم، وأنه لا تغضب عندما يكون النظام
تحطم، ولكن يقبل الكون من دون قلق. بل ذهب أبعد من
الحاجة إلى وثائق، وأنه لم يعد يهتم إذا كان أي شخص آخر يرى رمز له.
بل ذهب أبعد من الحاجة لإجراء تجارب، ولكل من برامجه هي الكمال
داخل أنفسهم، هادئة وأنيقة، والغرض منها واضح. حقا،
وقد دخل هو سر تاو ".

-------------------------

3 الكتاب - تصميم

تكلم وبالتالي مبرمج رئيسي:

وقال "عندما يتم اختبار البرنامج، وبعد فوات الأوان لجعل التصميم
التغييرات ".

3.1

كان هناك مرة واحدة في الرجل الذي ذهب إلى جهاز كمبيوتر المعرض التجاري. كل يوم كما هو
وقال دخل الرجل، وحارس على الباب:

"أنا لص كبير، تشتهر مآثر بلدي من السرقة من المتاجر. أن تكون
أعذر، يكون لهذا المعرض التجاري ليس هربا من unplundered ".

اضطراب هذا الخطاب الحارس إلى حد كبير، لأن هناك الملايين من
دولار من داخل أجهزة الحاسوب، وشاهد ذلك هو الرجل بعناية. لكن
الرجل تجولت فقط من كشك إلى كشك، طنين بهدوء إلى نفسه.

تولى الحرس عندما غادر الرجل، له جانبا والبحث عن ملابسه، ولكن
وكان لا شيء يمكن العثور عليها.

في اليوم التالي من المعرض التجاري، عاد الرجل وانتقد الحارس
قائلا: "لقد هربت مع غنيمة واسعة أمس، ولكن اليوم سوف يكون حتى
أفضل. "ولذا فإن الحرس راقبه عن كثب من أي وقت مضى، ولكن دون جدوى.

في اليوم الأخير من المعرض التجاري، يمكن للحارس كبح جماح فضوله
لم يعد. "سيدي اللص"، وقال: "أنا في حيرة لذلك، لا أستطيع أن أعيش في
سلام. يرجى تنورني. ما الذي كنت سرقة؟ "

ابتسم الرجل. "أنا سرقة الأفكار،" قال.

3.2

كان هناك مرة واحدة في مبرمج الرئيسي الذي كتب برامج غير منظم. A
مبرمج مبتدئ، تسعى لتقليده، كما بدأ الكتابة
غير منظم البرامج. عندما طلب من مبتدئ الرئيسي لتقييم له
تقدم، انتقد سيد له لكتابة برامج غير منظم،
وقال: "ما هو مناسب للسيد ليست مناسبة لل
مبتدئ. يجب فهم تاو قبل تجاوز هيكل ".

3.3

كان هناك مرة واحدة في مبرمج الذي جرى ضمه الى محكمة لأمراء الحرب
من وو. طلب من امراء الحرب للمبرمج: "أيهما أسهل في التصميم: 1
حزمة المحاسبة أو نظام التشغيل؟ "

"نظام التشغيل"، أجاب مبرمج.

قالها زعيم الحرب تعجب من عدم التصديق. "من المؤكد ان للمحاسبة
الحزمة هي تافهة بجانب تعقيد نظام التشغيل "، كما
قال.

"هذه ليست الحال"، وقال مبرمج، "عند تصميم حزمة المحاسبة،
مبرمج يعمل كوسيط بين الناس وجود مختلف
الأفكار: كيف يجب أن تعمل، وكيف يجب أن تظهر تقاريرها، والكيفية التي يجب أن
مطابقة لقوانين الضرائب. على النقيض من ذلك، لا يقتصر على نظام التشغيل
قبل مباراة خارج. عند تصميم نظام التشغيل، ومبرمج
يسعى أبسط الانسجام بين الجهاز والأفكار. هذا هو السبب في 1
نظام التشغيل هو أسهل لتصميم ".

هز زعيم الحرب من وو وابتسم. واضاف "هذا هو كل شيء جيد وجيد، ولكن
وهو أسهل لتصحيح؟ "

أدلى مبرمج أي رد.

3.4

وتوجه مدير للسيد مبرمج وأظهر له متطلبات
وثيقة لتطبيق جديد. وطلب المدير الرئيسي: "كم من الوقت
سوف يستغرق لتصميم هذا النظام إذا أنا تعيين 5 المبرمجين لذلك؟ "

"وسوف يستغرق سنة واحدة"، وقال سيد على وجه السرعة.

واضاف "لكن نحن بحاجة إلى هذا النظام فورا، أو حتى قبل ذلك! كم من الوقت
إذا كنت تأخذ تعيين 10 المبرمجين لذلك؟ "

عبس مبرمج الرئيسي. "وفي هذه الحالة، وسوف يستغرق عامين."

"وماذا لو كنت تعيين المبرمجين 100 لذلك؟"

وتجاهل مبرمج الرئيسي. "وبعد ذلك سوف لن يكون تصميم
الانتهاء، "قال.

-------------------------

الكتاب 4 - ترميز

تكلم وبالتالي مبرمج رئيسي:

"برنامج مكتوب بشكل جيد هي الجنة الخاصة بها، وبرنامجا سيئة المكتوبة
في الجحيم الخاصة ".

4.1

وهناك برنامج يجب أن تكون خفيفة ورشيقة، الوظائف الفرعية المتصلة به مثل
سلسلة من اللؤلؤ. ينبغي الابقاء على روح وهدف البرنامج
طوال. لا ينبغي أن يكون هناك القليل جدا أو كثيرا، لا
وغني عن الحلقات ولا المتغيرات لا طائل منه، ولا عدم وجود هيكل ولا
ساحق صلابة.

وينبغي لبرنامج تتبع قانون `أقل من الدهشة". ما هو هذا القانون؟
هو ببساطة أن هذا البرنامج ينبغي أن تستجيب دائما للمستخدم في الطريق
أن يذهل له على الأقل.

وهناك برنامج، مهما كانت معقدة، ينبغي أن يعمل كوحدة واحدة. البرنامج
وينبغي أن توجه من قبل ضمن منطق وليس المظاهر الخارجية.

إذا فشل البرنامج في هذه المتطلبات، فإنه سيكون في حالة من
الفوضى والارتباك. الطريقة الوحيدة لتصحيح هذا هو لإعادة كتابة
برنامج.

4.2

وسأل أحد مبتدئ سيد: "لدي برنامج الذي يعمل في وقت ما و
إحباط في بعض الأحيان. لقد تابعت قواعد البرمجة، وحتى الآن أنا
حيرة تماما. ما هو السبب وراء هذا؟ "

أجاب سيد: "يتم الخلط لأنك لا تفهم تاو.
فقط أحمق تتوقع سلوك عقلاني من البشر الذين كانوا معه. لماذا أنت
نتوقع من جهاز أن البشر قد شيدت؟ أجهزة محاكاة
الحتمية؛ تاو فقط على ما يرام.

"قواعد البرمجة هي عابرة؛ تاو الوحيد هو الأبدية. ولذلك
يجب عليك التفكير قبل تاو تتلقى التنوير ".

واضاف "لكن كيف اعرف عندما تلقيت التنوير؟" طلبت من
مبتدئ.

"البرنامج سيتم تشغيل ثم بشكل صحيح"، أجاب السيد.

4.3

كان سيد شرح طبيعة تاو إلى واحد من المبتدئين له. "إن
ويتجسد تاو في جميع البرمجيات - بغض النظر عن مدى تافهة "، وقال
سيد.

وقال "هل تاو في الآلة الحاسبة المحمولة باليد؟" طلب من المبتدئين.

"إنه" جاء الرد.

واصلت "هل تاو في لعبة فيديو؟" المبتدئ.

"انه حتى في لعبة فيديو"، وقال سيد.

واضاف "هو تاو في DOS لأجهزة الكمبيوتر الشخصية؟"

سعل السيد وتحول موقفه قليلا. "إن الدرس انتهى
لهذا اليوم، "قال.

4.4

وكان الأمير مبرمج وانغ ترميز البرمجيات. رقصت على أصابعه
لوحة المفاتيح. برنامج تجميع بدون رسالة خطأ، والبرنامج
ركض مثل الرياح لطيف.

"ممتاز"! هتف الأمير، "الأسلوب الخاص بك لا عيب فيه!"

وقال "وتقنيات"؟ مبرمج تحول من محطة له، وقال "ما أنا
اتبع هو تاو - وراء كل التقنيات! عندما بدأت أول من البرنامج الأول
ستشهد قبلي المشكلة برمتها في كتلة واحدة. بعد ثلاث سنوات أنا لا
وشهدت فترة أطول هذه الكتلة. بدلا من ذلك، كنت الوظائف الفرعية. ولكن الآن لا أرى شيئا.
كياني كله موجود في فراغ بلا شكل. حواسي عاطلة. بلدي الروح،
مجانا للعمل دون خطة، تتبع غريزة خاصة به. باختصار برنامجي،
يكتب نفسه. صحيح، أحيانا هناك مشاكل صعبة. أراها
المقبلة، وأنا إبطاء، وأنا أراقب بصمت. ثم قمت بتغيير سطر واحد من رمز
والصعوبات التي تتلاشى مثل نفث دخان الخمول. أنا ثم ترجمة
برنامج. أستطيع أن أؤدي والسماح للفرح للعمل شغل كياني. أنا قريبة لي
عيون للحظة واحدة ومن ثم تسجيل الخروج ".

وقال الأمير وانغ، "هل أن كل من المبرمجين بلدي وكانت الحكمة و!"

-------------------------

كتاب 5 - صيانة

تكلم وبالتالي مبرمج رئيسي:

"على الرغم من أن يكون البرنامج ولكن ثلاثة طوابير طويلة، ويوما ما فلا بد لها أن تكون
الحفاظ عليها. "

5.1

باب جيدا استخداما لا يحتاج إلى النفط على المفصلات لها.
وهناك تيار سريع الجريان لا ينمو في حالة ركود.
يمكن أن لا صوت ولا أفكار السفر من خلال فراغ.
البرمجيات تتعفن إذا لم يتم استخدامها.

هذه هي أسرار عظيمة.

5.2

وسأل مدير مبرمج كم من الوقت سوف تأخذه لإنهاء
البرنامج الذي كان يعمل. "سوف يتم الانتهاء من ذلك غدا"، و
مبرمج أجاب على الفور.

واضاف "اعتقد انك كونها غير واقعية"، وقال مدير "بصدق، وكيف
وسوف يستغرق من الوقت؟ "

فكر مبرمج للحظة واحدة. وقال "لدي بعض الميزات التي أود أن
إضافة. هذا سيستغرق أسبوعين على الأقل "، كما قال أخيرا.

واضاف "حتى أن كثيرا ان نتوقع"، وأصر مدير، "ساكون
راضية إذا قلت ببساطة لي عندما البرنامج كاملا ".

وافق مبرمج لهذا.

بعد عدة سنوات، تقاعد المدير. في الطريق إلى تقاعده
غداء، اكتشف مبرمج نائما في محطة له. لو كان
برمجة كل ليلة.

5.3

تم تعيينه مرة واحدة في مبرمج مبتدئ إلى رمز حزمة مالية بسيطة.

عملت المبتدئ بشراسة لعدة أيام، ولكن عندما استعرضت سيده
برنامجه، اكتشف أنه يحتوي على شاشة محرر، ومجموعة من
معمم الرسومات الروتينية، واجهة الذكاء الاصطناعي، ولكن
لا أدنى إشارة إلى أي شيء المالية.

أصبح المبتدئ عندما سئل عن هذا سيد، ساخط. "لا
لذلك بفارغ الصبر "، قال:" انا في وضع الاشياء المالية في نهاية المطاف. "

5.4

لا أحد المزارعين إهمال محصول جيد كان قد زرعت؟
لا معلم جيد نغفل حتى الطالب الأكثر تواضعا؟
لا أب جيد يسمح لطفل واحد لتجويع؟
لا مبرمج جيد رفض للحفاظ على رمز له؟

-------------------------

كتاب 6 - الإدارة

تكلم وبالتالي مبرمج رئيسي:

وقال "دعونا المبرمجين تكون كثيرة، وبعض المديرين - ثم ستكون جميع
منتجة ".

6.1

عندما مديري عقد اجتماعات لا نهاية لها، والمبرمجين كتابة ألعاب. عندما
المحاسبين الحديث عن أرباح ربع سنوية، وميزانية التنمية على وشك أن
يتم قصها. عندما يتحدث كبار العلماء سماء زرقاء، والسحب على وشك لفة
في.

حقا، ليست هذه هي تاو للبرمجة.

عندما مديري تقديم التزامات، ويتم تجاهل برامج اللعبة. عندما
المحاسبين جعل خطط طويلة المدى، وئام والنظام على وشك أن تكون
المستعادة. عندما كبار العلماء التصدي للمشاكل المطروحة، و
قريبا المشاكل يمكن حلها.

حقا، هذا هو تاو من البرمجة.

6.2

لماذا المبرمجين غير منتجة؟
لأنه يتم إهدار وقتهم في الاجتماعات.

لماذا المبرمجين المتمرد؟
وذلك لأن إدارة يتدخل أكثر من اللازم.

لماذا لا توجد المبرمجين الاستقالة واحدا تلو الآخر؟
لأنه يتم حرق هذه الطائرات.

بعد أن عملت لسوء الإدارة، أنها لم تعد قيمة وظائفهم.

6.3

وكان مدير على وشك أن تطلق، ولكن المبرمج الذي تعمل لديه
اخترع برنامج جديد أن أصبحت شعبية وتباع بشكل جيد. ونتيجة لذلك، فإن
الإبقاء على مدير وظيفته.

حاول مدير لإعطاء مبرمج على مكافأة، ولكن مبرمج
ورفض ذلك، قائلا: "لقد كتبت هذا البرنامج لأنني اعتقدت أنه كان
مفهوم مثير للاهتمام، وبالتالي أتوقع أي مكافأة. "

وأشار مدير عند سماع هذا، "وهذا مبرمج، على الرغم من انه يحمل
موقف من احترام الصغيرة، تفهم جيدا واجب السليم لل
موظف. دعونا الترويج له موقف تعالى من إدارة
مستشار "!

ولكن عندما قال هذا، مبرمج مرة أخرى رفضت، قائلا: "أنا موجود حتى
أستطيع أن البرنامج. إذا تمت ترقية لي، وأود أن تفعل شيئا ولكن النفايات
وقت الجميع. يمكنني أن أذهب الآن؟ لدي البرنامج الذي أعمل على. "

6.4

وتوجه مدير للمبرمجين له وقال لهم: "وفيما يخص عملك
ساعات: أنت ذاهب للا بد أن يأتي في الساعة التاسعة صباحا ويغادر
في الساعة الخامسة بعد ظهر اليوم. "في هذه، وأصبح كل منهم غاضب وعدة
استقال من منصبه على الفور.

قال ذلك مدير: "حسنا، في هذه الحالة قد حدد بنفسك
ساعات العمل، ما دام الانتهاء من المشاريع في موعدها المحدد. "إن
المبرمجين، وبدأت راضية الآن، ليأتي في وقت الظهيرة، والعمل على الاولى
ساعة من صباح اليوم.

-------------------------

كتاب 7 - الحكمة الشركات

تكلم وبالتالي مبرمج رئيسي:

"يمكنك أن يبرهن على وجود برنامج للمدير التنفيذي للشركات، ولكن لا يمكنك
جعل له بالحاسوب. "

7.1

وسأل أحد مبتدئ سيد: "في الشرق هناك شجرة كبيرة هيكل
أن الرجال استدعاء `مقر الشركة". وإنتفاخ البطن ذلك للخروج من الشكل مع
نواب الرؤساء والمحاسبين. تصدر العديد من المذكرات، كل
قائلا `الذهاب، لذلك! أو `الذهاب، هنا! ' ولا أحد يعرف ما هو المقصود. كل
يتم وضع أسماء جديدة سنويا على الفروع، ولكن جميع من دون جدوى. كيف يمكن
مثل هذا الكيان غير طبيعي أن يكون؟ "

أجاب سيد: "أنت ترى هذه البنية الهائلة وهي
منزعج أنه ليس لديها هدف عقلاني. لا يمكنك أن تتخذ من تسلية
الدوران التي لا تنتهي؟ هل لا تتمتع سهولة منزعجة من البرمجة
تحت فروعها يحتمون؟ لماذا ازعجت لها
عدم الجدوى؟ "

7.2

في الشرق وجود سمك القرش الذي هو أكبر من جميع الأسماك الأخرى. هذا
تغييرات في الطيور التي أجنحة تشبه الغيوم تملأ السماء. عندما يكون هذا
الطيور تنتقل عبر الأرض، في ان يجلب رسالة من الشركة
المقر الرئيسي. هذه الرسالة فإنه يسقط في وسط المبرمجين،
مثل طيور النورس تضع بصمتها على الشاطئ. ثم يتصاعد الطيور على
والرياح، مع السماء الزرقاء في ظهرها، يعود الى ارض الوطن.

ويحدق مبرمج مبتدئ في عجب في الطيور، لأنه يدرك أنه
لا. مبرمج متوسط ​​يخشى القادمة من الطيور، لأنه يخشى
لها رسالة. مبرمج سيد تواصل العمل في محطة له، لل
انه لا يعرف أن الطيور قد جاء وذهب.

7.3

جلب الساحر من برج العاج اختراع الأخير ل
سيد مبرمج للنظر. بعجلات الساحر مربع أسود كبير في
الماجستير في حين أن مكتب رئيسي انتظرت في صمت.

"هذا هو، الموزعة المتكاملة، ومحطات العمل ذات الأغراض العامة،" بدأت
على الساحر، "مصممة هندسيا مع تشغيل احتكاري
نظام، لغات الجيل السادس، ودولة متعددة من المستخدم الفن
واجهات. استغرق الأمر سنوات مساعدي رجل عدة مئات من بناء.
أليس من المدهش؟ "

رفعت سيد حاجبيه قليلا. "إنه حقا مدهش"، كما
قال.

"مقر الشركة وقد أمر"، وتابع الساحر "، الذي
الجميع استخدام محطة العمل هذه كمنبر لبرامج جديدة. هل توافق
إلى هذا؟ "

واضاف "بالتأكيد"، أجاب سيد: "ستكون لدي نقلها إلى
مركز البيانات على الفور! "وعاد الساحر لبرج له، وأيضا
يسر.

بعد عدة أيام، تجولت مبتدئا في مكتب رئيسي
وقال ومبرمج، "أنا لا يمكن العثور على قائمة لبرنامج عملي الجديد. فعل
أنت تعرف أين يمكن أن تكون؟ "

"نعم"، أجاب سيد: "مكدسة القوائم على منصة في
مركز البيانات ".

7.4

مبرمج رئيسي يتحرك من برنامج إلى آخر من دون خوف. لا
يمكن أن تغير في إدارة يضره. انه لن تطلق، حتى لو كان
يتم إلغاء المشروع. لماذا هذا؟ يتم تعبئة انه مع تاو.

-------------------------

كتاب 8 - الأجهزة والبرامج

تكلم وبالتالي مبرمج رئيسي:

"لولا الرياح، والعشب لا يتحرك. بدون برامج وأجهزة الكمبيوتر هي
غير مجدية ".

8.1

وسأل أحد مبتدئ سيد: "باعتقادي أن شركة واحدة الكمبيوتر كثيرا
أكبر من كل الآخرين. وترتفع فوق المنافسة لها مثل عملاقا بين
الأقزام. ويمكن أي واحد من أقسامها تشمل الاعمال كلها. لماذا
ذلك؟ "

أجاب سيد: "لماذا تسأل مثل هذه الحماقة؟ أن شركة
كبيرة لأنها كبيرة. إذا كانت تتم فقط الأجهزة، فإن لا أحد يشتري
عليه. إذا كان فقط جعل البرمجيات، وسوف لا أحد استخدامها. اذا ما حافظت فقط
نظم، كان الناس التعامل معه وكأنه موظف. ولكن لأنه يجمع بين جميع
من هذه الأشياء، والناس يعتقدون انها واحدة من الآلهة! من قبل لا تسعى إلى
نسعى جاهدين، من ينتصر دون جهد ".

8.2

تمرير مبرمج رئيسي مبرمج مبتدئ يوم واحد. وأشار سيد
المبتدئ في انشغال مع لعبة الكمبيوتر المحمولة باليد. "عفوا"
قال: "اسمحوا لي أن فحص ذلك؟"

انسحب المبتدئ إلى اهتمام وسلم الجهاز لربان. "أنا
نرى أن الجهاز يدعي أنه لديه ثلاثة مستويات من اللعب: سهل، متوسط، و
من الصعب "، وقال سيد. "ولكن كل جهاز من هذا القبيل لديه مستوى آخر من
لعب، حيث كان الجهاز لا يسعى لقهر الإنسان، ولا لغزا يمكن
من جانب الانسان ".

"صلوا، المعلم الكبير"، ناشد المبتدئ، "كيف يمكن للمرء العثور على هذا
وضع غامض؟ "

انخفض سيد الجهاز على الأرض وسحقه تحت الأقدام. و
فجأة والمستنير المبتدئ.

8.3

كان هناك مرة واحدة في مبرمج الذين عملوا على المعالجات. "انظروا كيف
ميسور الحال وأنا هنا "، وقال انه لمبرمج الحاسوب الذي جاء لزيارة،
وقال "لدي نظام التشغيل الخاصة بها وملف جهاز التخزين. أنا لم يكن لديك
تقاسم الموارد لي مع أي شخص. والبرنامج هو ذاتي بما يتفق و
سهل الاستخدام. لماذا لا ترك عملك الحالي والانضمام إلي هنا؟ "

مبرمج حاسب مركزي ثم بدأت لوصف نظام له لصديقه،
قائلا ان "المركزية يجلس وكأنه يتأمل حكيم القديم في خضم
من مركز البيانات. الأقراص تكمن نهاية إلى نهاية مثل محيط كبير من
الماكينات. والبرنامج هو متعدد الوجوه مثله مثل الماس، ومعقدة كما
كما غابة البدائية. البرامج، كل فريدة من نوعها، التحرك من خلال نظام
مثل نهر سريع الجريان. وهذا هو السبب أنا سعيد حيث أنا. "

مبرمج الحواسيب الصغيرة، عند سماع هذا، صمتت. لكن اثنين
بقي المبرمجين أصدقاء حتى نهاية أيامهم.

8.4

التقى الأجهزة والبرامج على طريق Changtse. وقال البرنامج: "أنت
يين ويانغ وأنا. إذا نسافر معا فإننا سوف تصبح مشهورا وكسب
مبالغ طائلة من المال. "وهكذا فان مجموعة معا عليها، والتفكير لقهر
العالم.

واجتمع في الوقت الحاضر هم الثابتة، الذي كان يرتدي في الخرق البالية ومتعثرة
مسنود على طول على عصا الشائكة. وقال الثابتة لهم: "إن تاو تكمن
وراء يين ويانغ. وهو لا يزال صامتا وكما بركة من الماء. يفعل
لا تسعى الشهرة، وبالتالي لا أحد يعرف وجودها. وهو لا يسعى
ثروة، لأنها كاملة داخل نفسه. كان موجودا وراء الفضاء و
الوقت ".

البرامج والأجهزة، وعاد بالخجل، إلى ديارهم.

-------------------------

كتاب 9 - الخاتمة

تكلم وبالتالي مبرمج رئيسي:

"لقد حان الوقت بالنسبة لك لمغادرة البلاد."

-------------------------

إذا كنت تحب هذه، قد ترغب أيضا في قراءة أسوأ من الأفضل

وهناك القليل من إعادة توجيه قذيفة

10 مايو 2009 بواسطة براشانت · تعليقات
قدم تحت: تكنولوجيا

هنا هو كيف نفعل عادة إعادة توجيه قذيفة
$ ./pgm.sh args >out.txt 2>err.txt
كنت أرغب في تعديله قليلا وتشغيل كما يلي
$ ./pgm.sh args
مع اشتراط أن خرج والخطأ يجب ان تذهب الى بعض اسم حسابها داخل pgm.sh بناء على وسائط. يمكن للمرء أن يكون حالة توضيحية عندما التاريخ هو جزء من وسائط. لذلك ترغب المعياري للذهاب الى القول / الخاص / الدليل / pgm_out_YYYYMMDD.txt 1

المشكلة مع طريقة قياسية من إعادة توجيه N>file.txt أي ربط ملف N اصف إلى file.txt، هو انه يعمل فقط لعملية متشعب حديثا، وليس للعملية الحالية.
هكذا
$ echo hi 1>out.txt ; echo hii . سوف ترسل مرحبا إلى out.txt لكن سيتم طباعة HII إلى stdout 2

هذا هو المكان الذي exec يأتي لإنقاذنا. إذا أضفنا exec 1>somefile.txt ثم خرج من بقية السيناريو انتقل إلى somefile.txt

$ cat test.sh
#!/usr/bin/env bash
exec 1>out.txt
echo hi
echo hii
$. / سوف test.sh توجيه مرحبا، وكذلك إلى HII out.txt

وبالمثل لتوجيه stdout فضلا عن STDERR سنفعل شيئا من هذا القبيل
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 في 1> out.txt لا لزوم لها لكنه يوضح هنا أن نقوم بإعادة توجيه FD 1

سوني فايو استعراض

29 أبريل 2009 بواسطة براشانت · تعليقات
قدم تحت: استعراض

وبعد شهر من عودة اشتريت VAIO NS25G ولقد تم التخطيط لكتابة هذا المنصب منذ ذلك الحين. هذا آخر هو في المقام الأول يشير إلى الذات ومراجعة للنفس. دعونا الخروج من علامة بسرعة -

آخر من جزأين -

أولا مراجعة الأجهزة
II. تثبيت ديبيان وأشياء لإعداد

أولا مراجعة الأجهزة

بما أنني لست رجل التسويق VAIO، سأبدأ أخرى العكس -

لماذا قد لا ترغب في شراء هذا الكمبيوتر المحمول:

  1. No بلوتوث: صدقوني، في عام 2009 تبيع سوني كمبيوتر محمول بدون بلوتوث. بالتأكيد يمكنك استخدام USB الاشياء ولكن ...
  2. حجم الشاشة 15.4 بوصة: إذا كنت كثير السفر ثم هذا الكمبيوتر المحمول قد لا تكون مفيدة جدا، وكذلك أجهزة الكمبيوتر المحمول 2.9kg ليست بالضبط الأخف وزنا في جميع أنحاء.
  3. لا يوجد خرج HDMI.
  4. عدم وجود بطاقة رسومات منفصلة ويحب. (وليس ذاكرة فيديو مخصصة

الآن، لماذا قد ترغب في شراء ما يلي:

  1. هذا الكمبيوتر المحمول هو سطح المكتب لعنة جيدة. ما أعنيه هو هذا إذا الشرط الخاص بك هو مثلي - في الغالب كتابة البرامج، ومحاولة استخدامه 25 من أصل 24 ساعة، ثم مع شاشة كبيرة ومريحة للغاية تخطيط لوحة المفاتيح مع بقية النخيل واسعة وجيدة القوة الحاسوبية، فإنه يجعل جيدة جدا الجمع.
  2. هذا هو 2MB L2 مخبأ والمعالج / ذاكرة حافلة النظام هي 800MHz. أنا لا ألعب المباريات لذلك لا يمكن القول عن ذلك ولكن عن أي شيء آخر ولكن على معالج كور 2 ديوو مع التكرار ذكر 2GHz هو جيد، وهذا هو اكثر من كاف.
  3. من استخدامي، وأرى المعالج معظمها في الساعات 1.2GHz، واستخدام الذاكرة ~ و500MB. هذه الحقيقة تعزز من النقطة السابقة.
  4. بطارية احتياطية جيدة، ~ 2 ساعة هو ما أحصل عليه.

واحد فقط أكثر شيء هنا - أن تكون سوني، وسوف يكلفك قليلا من أجهزة الكمبيوتر المحمولة الأخرى مع التكوين مماثلة، ولكن هذا هو دعوة قد تضطر إلى القيام بها.

II. تكوين لينكس (لنفاد مربع!):
جاء ذلك قبل تركيبها مع ويندوز فيستا (على ما أظن قسط المنزل أو بعض اسم نزوة من هذا القبيل). Dungara تمهيد مرة واحدة وخلق قسم آخر من 150 غيغابايت. ديبيان الاختبار هو ما يمكنني تثبيت دائما وحتى بعد ذلك (بانخفاض؟) إلى درجة "غير مستقر" SID.

الأشياء التي تعمل دون أي مشكلة:

  1. X - لا يثير الدهشة X الخادم لم مشكلة مع بداية أو قرار. بعد واحد من الترقيات X رفض لبدء الرغم من ذلك، ولكن 'X-تكوين' إنشاء ملف أسيوط التي عملت بشكل جيد جدا.
  2. الصوت - الانتاج السمعي والخارجية غرامة عمل هيئة التصنيع العسكري. نسخة النواة 2.6.29-1-686 # 1 SMP وALSA الإصدار 1.0.17. هذا هو ما تحصل عليه من
    $ lspci -v |grep Audio 00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Con1.0.17troller (rev 03)
  3. فيديو كام - يعمل فقط
  4. السبات إلى القرص ومرة ​​أخرى - لا مشكلة
  5. اللاسلكي - باختصار - الأعمال فقط.
    $ lspci |grep -i wireless
    03:13:55 04:00.0 Network controller: Atheros Communications Inc. AR928X Wireless Network Adapter (PCI-Express) (rev 01) .

    وأعتقد أن النواة 2.6 .. 27 فصاعدا أن تعمل مع الأوراق المالية مصدر النواة. لا أميل لديك لتثبيت نديسورابر أو أشياء مثل تي
    قبعة. كملاحظة، يرجى نقول جيد شراء التمثال، مدير الشبكة، ونرحب wicd، انها مجرد طبقة واجهة المستخدم الرسومية ولكن خلف الكواليس لديهم الكثير من الاشياء الثابتة مثل wpasupplient التكوين وأكثر من ذلك.

ما لا يعمل -

  1. هيئة التصنيع العسكري الداخلي بطريقة ما يرفض العمل : ( هيئة التصنيع العسكري الخارجي يعمل بشكل جيد على الرغم من. لم أحدث مصادر ALSA ليس تجميع نظيفة على دبيان، وذلك في الوقت الحاضر اشتريت هيئة التصنيع العسكري والداخلية الخارجية، وسيحاول حفر في وقت ما في المستقبل بالرغم من ذلك.

عدد قليل من أكثر تلميحات متفرقات لdeiban:

  • حزمة الخطوط الخط بين الصناديق، الهندية، devnagri
  • صفقة لاعب فلاش - flashplugin، غير الحرة
  • دخول في sources.list لإمبلاير وامثاله - DEB http://www.debian-multimedia.org SID الرئيسية
  • دخول في sources.list لE17 - DEB http://debian.alphagemini.org/~~V الرئيسي غير مستقر
  • دخول في sources.list لسكايب - http://download.skype.com/linux/repos/debian/ مستقر غير الحرة

oneliner لزيادة وخفض سطوع -

[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

سيكون لديك لوضع هذا في سودو بالرغم من ذلك.
وتقليل التغير + إلى - و... تحصل على هذه الفكرة، على حق!

أكثر قليلا، إذا كنت تستخدم التنوير (E17) وهنا بعض مزيد من تلميحات -

[التنوير bindidings مفتاح]

يمكنك استخدام رمز مفتاح التالية ورسم الخرائط

كتم:
KEY="Keycode-160" ACTION="exec" PARAMS="/usr/bin/amixer -q set Master toggle"
السبات:
KEY="Keycode-165" ACTION="exec" PARAMS="sudo /usr/sbin/hibernate-disk"
حجم نقصان:
KEY="Keycode-174" ACTION="exec" PARAMS="/usr/bin/amixer -q set Master 2-"
حجم الزيادة:
KEY="Keycode-176" ACTION="exec" PARAMS="/usr/bin/amixer -q set Master 2+"
زيادة سطوع:
KEY="Keycode-212" ACTION="exec" PARAMS="sudo /root/bin/incbrightness.sh"
تقليل السطوع
KEY="Keycode-101" ACTION="exec" PARAMS="sudo /root/bin/decbrightness.sh"

الصفحة التالية »