وهناك القليل من الجمعية
بعد قراءة هذا المقال عن مخازن قفل حرة ورؤية استخدام 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؛ }
العالم ينتظر لعبة الكريكيت النظام العالمي الجديد
بعد سلسلة تمتد خمس تجارب وشهرين تقريبا، والرماد إنجلترا المستصلحة.
دعونا نتحدث عن الفريق الفائز 1 - ترتيبها الاوسط هو "متوسط" إذا كنت لا ترغب في حرج. ومساهمة Greame سوان مع الخفافيش عد ما لا يقل عن مساهمة مع الكرة. ستيوارت واسع - أفضل كل مستدير كانت بداية غير لاختبار 5. وكان أندرو شتراوس رجل المضرب فقط بما يتفق وجيمي أندرسون كان الرامي فقط متسقة.
النقطة هنا ليست لتوبيخ انجازات الفريق الفائز ولكن لوضع وجهة نظر حقيقة أنه على الرغم من كل هذه، واستراليا خسرت. سيكون لديك للتفكير لبضع ثوان، إذا طلب منه تسمية الرامي أفضل ما لديهم. حق، وكان BW Hilfenhaus. تفوقت Hauritz توقع everbody لكنها لا تزال غير جيدة بما فيه الكفاية ليتم تحديده لاثنين من التجارب الخمس. جنوب أفريقيا أبدا أصبح الخافق العالم دون مستوى عالمي الدوار، ويمكن أن نأمل في أستراليا تظل واحدة من دون واحدة واحدة جيدة بما فيه الكفاية على الأقل. غادر الساحر المرحلة وانها لا تشبه الفن بعد الآن، وننسى السحر. بونتينغ طويل القامة يقف بين البشر أقل ومايكل كلارك يقف في كثير من الأحيان، ولكن ذلك يجعلهم فريق مع بعض اللاعبين الجيدين وليس فريق جيد جدا.
سيذكر رماد 2009 للرماد أندرو فلينتوف الأخير، وصول ستيوارت واسع باعتبارها مستدير جميعا (إذا كان يضيف بعض أكثر رماد الفولكلور إلى بدايته واعدة)، واحدة من قرن لاول مرة الأكثر تعبيرا على الإطلاق من قبل تروت لكنها ستكون أيضا يذكر بوصفه نقطة حيث افتراضات أو تحفظات حول التفوق في استراليا وضعت أخيرا إلى الراحة، وأنه قد انتهى. لا تفهموني خطأ يمكن أن لا يزال كشف مايك كلارك ستيوارت هاسي أو لكنك تشعر مساهمة كل عظماء الوقت الذي كانوا في عداد المفقودين. أحيانا يأتون لتذكيرك أنفسهم في الشعيرات ولكن لا يزال لا يمكن أن يتم استبدالهم. دعونا نرى المباركة لبعد أن شهدت مدينة وارن، وماكغراث جيلكريست اللعب معا، والتي تدعمها Waughs، بونتينغ، هايدن، ومارتن لانغر.
للمضي قدما، وجنوب أفريقيا ستبقى دائما فريق جيد جدا ولكنهم بحاجة الى الفوز الدور نصف النهائي وتكون أكثر ثباتا في جميع أنحاء العالم، وباكستان ستظل رائعة محير، والمدافع الشاب الهندي ربما تجد صعوبة في ملء أحذية من سابقاتها غير عادية. وينبغي أن سري لانكا لا تزال تظهر لمحات من الفن في حرفة. ولكن، ربما علينا أن ننتظر لبعض الوقت قبل وجود فريق من جميع المهيمنة أو من قبل ضابط برتبة نقيب وتشكو من عدم وجود منافسة، كما فعل ستيف وو مرة واحدة.
وعلى صعيد ذات صلة - دعونا نرحب مرة أخرى قادمة من آصف، وقال انه لديه الكثير من الجحيم محتملة، دعونا نأمل أن نرى بعض من ذلك، ونرحب أيضا أندي زهرة في awatar جديد، والحق لا يمكنك ان تبقى الرجال جيد أسفل لفترة طويلة.
روبي 1 المتشددين لإنشاء التجزئة
أمس في حين يمر واحد من البرامج بلادي القديمة، لقد وجدت هذا الذي كتبه لي مرة أخرى في وقت ما:
#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 الإصلاح
إذا كنت تستخدم المغفل وبروتوكول نقل البريد الإلكتروني من الدخول إلى 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
الجهاز الهضمي ومسح ممتاز
وهنا اثنين من وصلات لمسح بواسطة الجهاز الهضمي (إصدار نظام التحكم) ورهيبة المجتمع (مدير النوافذ). إذا كنت تستخدم أي من هذه، يرجى اتخاذ بعض الوقت لملء الاستبيان. كما أنها تفكر في أبسط وسيلة للمساهمة عودة إلى البرامج التي تستخدمها.
وهنا هي الروابط:
الجهاز الهضمي - http://www.survs.com/survey؟id=2PIMZGU0&channel=Q0EKJ3NF54
رهيبة - http://www.survs.com/survey؟id=8BVEV3FO&channel=BH07CQ040D
ملاحظة - (كما وجدت في تلك الصفحات ولكن في الجزء السفلي
) -
واضاف "اذا كان لديك تمكين ملفات تعريف الارتباط، يمكنك أن تقدم دائما مسح مملوء جزئيا، والعودة إلى إجاباتك في وقت لاحق، استكماله في وقت لاحق."



































