لقد نشرنا بالفعل مقاطع فيديو لتقارير JPoint 2018 على موقع YouTube وخاصةً لمركز Java على Habré ، فقد اخترنا مجموعة مختارة تقليدية من أفضلها وفقًا لزوار المؤتمر.
كالعادة ، هناك تقارير "صغيرة" في الأعلى ، مع أعلى تصنيف في النهاية. بالطبع ، هذا لا يعني أن أحد التقارير أسوأ بكثير من تقرير آخر: إذا غيرت منهجية الحساب ، يمكن أن تتغير الأماكن بسهولة. في الواقع ، قمنا بتغييره ، والآن يتم استخدام نسخة "النصاب القانوني" للتصنيف ، مع مراعاة عدد المشاركين الحاضرين في التقرير. هذا النهج له عيوبه (على سبيل المثال ، يأتي عدد كبير من الناس إلى كلمة رئيسية أكثر من تقرير منتظم ، ببساطة لأن الجمهور ليس لديه خيار) ، ولكن بشكل عام يعطي صورة أفضل لما حدث.
تحت قص - ومقاطع الفيديو من أفضل التقارير ، وروابط لعروضهم ، وأوصاف قصيرة ، ورابط لقائمة التشغيل الكاملة.

قائمة التشغيل الكاملة
قائمة التشغيل الكاملة مع جميع مقاطع الفيديو التي نوقشت أدناه متاحة هنا .
→ تحميل الشرائح
اجتاحت ثورة الحاوية الجميع - لم يكن عالم جافا بدونها. ومع ذلك ، كانت Java دائمًا تعاني من بعض المشاكل والميزات ، وستتم مناقشتها في تقرير Sasha Goldstein.
ساشا هو خالق المسلسل المتشددين الأداء. في العام الماضي ، في JPoint ، أجرى حديثًا ممتازًا حول استخدام عامل تصفية Berkeley Packet Filter لـ JVM (أوصي بشدة بمشاهدة منشور على YouTube) ، وكانت هذه مسألة وقت فقط قبل أن يلقي نظرة تفصيلية على النقل بالحاويات. العالم يذهب إلى الغيوم والعاملين ، وهذا بدوره يجلب لنا العديد من المشاكل الجديدة. كما لاحظت ، فإن معظم أنظمة تصحيح الأخطاء والتنميط ذات المستوى المنخفض ، بعد تطبيقها على الحاويات ، محاطة بميزات وعضلات مختلفة. تم طرح Sasha عبر السيناريوهات الرئيسية (استخدام وحدة المعالجة المركزية ، استجابة IO ، الوصول إلى قواعد البيانات المشتركة ، وما إلى ذلك) من خلال منظور استخدام الأدوات الحديثة على نظام التشغيل GNU / Linux ، بما في ذلك BCC و perf.
ليس كل شخص يحتاج إلى هذه الخصوصية. هذا هو أحد الأسباب التي جعلت التقرير في المرتبة العاشرة فقط - فقد حضره حوالي مائتي شخص (مقارنة بأكثر من ألف شخص من Tolkachev و Borisov) ، وخوارزمية حساب التصنيف لدينا حساسة للغاية لحجم الجمهور.
بالنسبة لأولئك الذين يرتبطون بطريقة أو بأخرى بالحاويات ، يجب مشاهدة هذا التقرير. سيوفر الكثير من الوقت على بحث مستقل عن كل التفاصيل من خلال البحث الكامل عن عدد لا يحصى من الأدوات المساعدة وكيفية استخدامها.
أود أيضًا أن أشير إلى أن تقرير ساشا من أفضل 10 تقارير هو الأكثر كثافة من حيث كمية المعلومات العملية لكل وحدة زمنية. من كل شريحة تقريبًا ، يمكنك نسخ بعض الأشياء المفيدة لنفسك. حتى لا تشارك في سرد تفصيلي ، سأعرض فقط هيكل سطح العرض التقديمي:
تقرير المخطط- كيف يتم ترتيب الحاويات؟
- مجموعات التحكم: وحدة المعالجة المركزية والذاكرة وكتلة I / O ؛
- مساحات الأسماء: مساحة اسم معرف المنتج ، ومساحة اسم النطاق ، ومساحة اسم الشبكة ؛
- الفرق بين المشاكل التي تنشأ:
- على المضيف ؛
- في الحاوية
- أمثلة للمشاكل مع الحلول:
- اتصال JVM؟
- بيانات أداء JVM؟
- أدوات عرض JVM على المضيف ؛
- أدوات معلومات الموارد:
- جانبي للرصد.
- احصائيات عامل ميناء.
- systemd-cgtop ؛
- هتك + معرف مجموعة.
- nsenter أو عامل ميناء exec ؛
- رصد تجريبي لموارد الحاويات ؛
- تنميط حاويات وحدة المعالجة المركزية:
- perf على المضيف: -G ، ورمز الخرائط ، ورسم خرائط PID ، ومشاركة خريطة perf (perf-map-agent) ؛
- تجريبي مع flamegrams ؛ oos
- perf في الحاوية في وضع غير منقطع ؛
- أمين - بروفيل ، بروفيل غير متزامن ، بيرف مقابل بروفيل غير متزامن ؛
- التجريبي المتزامن
- BCC هي أداة للتوصيف (تعمل على حل عدد من المشكلات بنفسها ، ولكنها تعمل فقط على نظام Linux 4.9+) ؛
- اختناق
- طرق الرصد الأخرى:
- cAdvisor ، SysDig ، بقايا جديدة ، DataDog ...
9. مرة واحدة في السنة ، تزدهر الحدائق: تحليل دلالات أباتشي كافكا "مرة واحدة بالضبط"
→ تحميل الشرائح
فيكتور جاموف لديه ميزة غير عادلة تماما على مكبرات الصوت الأخرى. هذا هو الرجل الذي أصدر ما يقرب من مائتي إصدار من البودكاست في استخلاص المعلومات ، ومؤلف مجموعة من التقارير والنصوص والمشاركات وحتى كتاب "تطوير مواقع الويب" من تأليف أورايلي. وجود Gamow ذاته يفعل أي شيء أفضل. أنا متأكد من أنه يمكن أن يحكي بنفس التجويد ، لا عن كافكا ، ولكن عن نمو إبرة الراعي على حافة النافذة ، وسيظل هذا رائعًا.
هنا لدينا حالة خاصة: الموضوع الأول في البداية حول دلالات "مرة واحدة بالضبط". هرع كافكا لاستخدام كل شيء في نطاق غير عادي ، الأمر الذي تطلب معالجة دلالات تسليم الرسائل التقليدية. لا تضع إصبعًا في فمك - لقد غيروا أحذيتهم أثناء التنقل وفقًا لتنسيق البروتوكول والرسائل الصحيح وفعلوا كل ما يحتاجون إليه. في جميع أنحاء التقرير ، يتحدث فيكتور عن كيفية ترتيبه في الداخل وما يؤثر عليه.
اثنين من الأخبار ، جيدة وسيئة. جيد: تم إعداد كل شيء في كافكا. سيئ: تم إعداد كل شيء في كافكا. لتتعايش معها ، عليك أن تفهم كيف تعمل وأين تتسلق بيديك القذرة.
يمكن للمرء أن يتوقع نوعا من عصير من فيكتور ، ولكن بعد ذلك حصل على المتشددين يائسة ، والخطة هي مثل هذا:
تقرير المخطط- مقدمة إلى كافكا:
- المواضيع
- أقسام
- سجلات وإزاحة
- العظة والقادة
- العملاء: المنتجون والمستهلكون
- منتج
- كيف يعمل على الأمثلة
- بروتوكول المنتج
- المستهلك
- كيف يعمل على الأمثلة
- بروتوكول المستهلك
- نموذج المعالجة
- قراءة ، عد ، سجلت
- أنواع الثغرات (كل شيء محطم ، الزومبي)
- معالجة الدلالات
- على الأقل مرة واحدة ، على الأكثر مرة واحدة ، بالضبط مرة واحدة
- دلالات "بالضبط مرة واحدة"
- مع الأمثلة
- نقاط الضعف
- محاولات غير آمنة
- تسجيل الأوفست غير الذري
- الكسالى
- إصلاح الضعف الأول: منتج عاطفي
- إصلاح الضعف الثاني:
- تشاندي لامبورت لقطات
- المبدأ
- كيف تعيش مع الاخفاقات؟
- الصعب: تحطم أثناء المعالجة
- لينة: تحطمها قبل أو أثناء إزالة لقطة
- المعاملات في كافكا
- نوعان من العلامات (الالتزام ، والإجهاض)
- التسجيل الذري على العديد من الأقسام (بما في ذلك! _Consumer_offsets)
- إصلاح الضعف الثالث: المبارزة غيبوبة
- قراءة المستهلك العزلة
- eos نهاية إلى نهاية
- كافكا ربط المصدر
- تيارات كافكا
- كافكا كونكت بالوعة
8. قتال المتسللين الروس مع كافكا تيارات و Firehose API
→ تحميل الشرائح
مرة أخرى كافكا! Gamow مرة أخرى! نعم ، ومع Baruch Sadogursky ( jbaruch ) الآن. ومع ذلك ، فإن هذا التقرير ليس عصيرًا ، ولكنه قطعة عملية محددة للغاية حول كيفية استخدام منصة Apache Kafka (التي يكون فيكتور مسؤولاً عنها) و Firehose على أنماط Bintray (والتي يعتبر Victor مسؤولاً عنها) و Firehose ، وتحليل أنماط السلوك ومعالجة كميات كبيرة من البيانات.
إذا كان التقرير السابق حول الدواخل في كافكا يحتوي على 245 شريحة ، فإن هذه الشريحة تحتوي على 17 شريحة فقط ، وذلك لأنك بحاجة إلى مشاهدته! هذا هو في المقام الأول حوار حيوي بين العروض الرائدة والعيش. لا تبقي ، فتح vidosik والبحث.
7. ذاكرة الأجهزة المعاملات في جافا
→ تحميل الشرائح
نيكيتا كوفال ( ndkoval ) باحث في JetBrains في فريق Kotlin وطالب دكتوراه في IST Austria (كان في Devexperts وقت الحديث). يتناقض تقريره بشكل صارخ مع "المتسللين الروس" ، لأنه ليس مسألة قراءة ممتعة ومسلية ، ولكنه قصة عن الأجزاء الداخلية المعقدة من VM. إذا نظرت إلى الشرائح ، يمكنك العثور على 150 ورقة ، معظمها رمز.
إذا كنت في JBreak في أوائل عام 2018 ، فقد تكون وجدت قصة Nikita حول أشياء مختلفة تمامًا - حول كتابة جدول تجزئة سريع متعدد الخيوط باستخدام قوة البنى الحديثة متعددة النواة والخوارزميات الخاصة. موافق ، نيكيتا لديه أسلوب . أتذكر على الفور Shipilev.
هذه المرة سوف نتحدث عن ذاكرة المعاملات ، والتي تظهر تدريجيا في المعالجات الحديثة ، ولكن لا يزال من غير الواضح كيفية استخدامها لشخص عادي من عالم JVM. خارج JVM ، بالطبع ، كل شيء أبسط. لكن تخيل ما تقوله لمطور شبكة Spring العادي: "نعم ، فقط قم بتحرير vmstructs ، كومة على جوهرك ، أعد بناء OpenJDK وانت انتهيت!" وهو مثل هذا: "حسنًا ، بالطبع ، أنا أفعل ذلك كل يوم!". يتحدث Nikita بوضوح تام عن طرق الاستخدام ، وما هي التحسينات الموجودة بالفعل في OpenJDK وكيفية إجراء المعاملات مباشرة من Java code.
تقرير المخطط- مقدمة: لماذا نحتاج multithreading
- خوارزمية بناء النهج
- قفل الخام
- قفل رقيقة
- عدم حظر التزامن
- يتم توضيح الأنواع الثلاثة في مهمة المثال الخاصة ببنك الألعاب.
- تعدد العمليات معقدة. ما يجب القيام به
- المعاملات في عالم مثالي. اكتب فقط الذرية!
- من أين تحصل على الذري من:
- ذاكرة معاملات البرامج (STM). Scala STM ، NOrec ، Coroutines.
- ذاكرة معاملات الأجهزة (HTM). هاسويل ، القوة 8.
- ذاكرة المعاملات المختلطة
- إنتل RTM من خلال الأمثلة
- XBEGIN ، XEND ، XABORT ، XTEST
- إنتل RTM + جافا
- قفل elision
- java.util.concurrent.RTMSupport
- الجوهرية: مترجم ، C1 ، C2
- الخشنة الحبيبية / قفل خالية + دعم RTMS على الرسوم البيانية
6. نحن الملف الشخصي بدقة إلى مايكروثانية وتعليمات المعالج
→ تحميل الشرائح
قدم لنا سيرجي ميلنيكوف ( RainM ) من Raiffeisenbank تقرير التنميط الثاني. ومن المثير للاهتمام ، قبل العمل على كود Java منخفض زمن الوصول ، عمل في شركة Intel كمهندس أداء مترجم للغات C / C ++ / FORTRAN. هذا التقرير أيضا perf! :-) هناك أيضًا ميزات الأجهزة للمعالجات وتقنية Intel Processor Trace ، والتي تتيح لك اتخاذ الخطوة التالية في دقة التنميط وإعادة تنفيذ قسم البرنامج. هناك القليل من هذه التقارير (على سبيل المثال ، يمكنك العثور على تقرير Andi Kleen في قمة التتبع 2015) ، وعادة ما تترك مجموعة من الأسئلة ولا تتألق مع التطبيق العملي فيما يتعلق بجافا. هنا ، ليس لدينا شخص زار العالمين (Intel و Java في البنك) فحسب ، بل يعرف أيضًا كيفية شرح الموضوعات المعقدة بوضوح.
تقرير المخطط- ما هو ولماذا هو ضروري
- مجال الموضوع - تطبيقات الكمون المنخفض
- مثال تبادل موسكو
- اختيار منشئ ملفات التعريف
- كيف الملف الشخصي؟ أخذ العينات والأدوات التعريفية
- غير متزامن
- نحن نعلم المحلل تجميع ملف تعريف مفصل
- كيفية تشغيل perf
- كيف تبدو في الملف الشخصي ، في مكدس المكالمة
- perf-map-agent، sysctl، dmesg ...
- باستخدام أحداث PMU / PEBS في perf
- Intel Processor Trace - ما هو وكيفية تعيين ملف تعريف Java
- المتطلبات: الحزم ، الأجهزة ، نظام التشغيل
- كيف تعمل على Skylake-X (Xeon و i9)
5. VMStructs: لماذا يحتاج التطبيق إلى معرفة JVM الداخلية
→ تحميل الشرائح
أندريه ( apangin ) هو شخص يقوم ، مرارًا وتكرارًا ، بجمع التقارير الأكثر عمقًا وقوة. في الماضي ، جمع Joker أقل من ألف شخص - وهذا رقم قياسي من حيث حجم الجمهور في تقرير منتظم لا يمثل كلمة رئيسية. في هذا ساعده عقد من الخبرة في العمل على الأجهزة الافتراضية والقدرة على شرح المتشددين الفني بحيث يمكن تكرارها في الممارسة العملية.
كثيرون لا يفهمون تمامًا سبب الخوض في جهاز افتراضي إذا كان لديك تطبيق منتظم على قطة ، مع وجود قاعدة بيانات وكل شيء كما ينبغي. يحتوي هذا التقرير على حجة جيدة على مستوى "كيفية فهم الاستعلام الذي سوف يسحب الكثير من البيانات؟" إذا حاولت توجيه التعليمات البرمجية باستخدام JMX ، فسيحدث شيء غريب في الأداء. أولاً ، يمكنك فهم سبب حدوث ذلك ، وثانياً ، ما الذي يمكن القيام به حيال ذلك. في رأيي ، يعد هذا التقرير ذا قيمة كبيرة ليس بمجموعة من الأدوات (على الرغم من وجود القليل من المعلومات حول helfy هناك) ، ولكن مع عرض لعقلية مطور OpenJDK الصحيح وكيفية التصرف في المواقف الصعبة. يتحدث عن الوجود ويشرح معنى أشياء محددة مثل TLAB ، و Code Cache ، و Constant Pool ، وما إلى ذلك.
4. Coroutines في Kotlin
→ تحميل الشرائح
الشخص الكسول هو الوحيد الذي لا يعرف عن Kotlin الآن ، وأنت ، أيها القارئ ، قرأت مرة واحدة الفقرة الرابعة - من الواضح أنها ليست من كسول. رومان ( elizarov ) هو مطور سابق لبرامج التداول عالية الأداء ، وهو الآن رائد في مكتبات Kotlin. لقد أجرينا بالفعل مقابلة مع Roma حول coroutines ، وقد يكون من المفيد إعادة قراءتها قبل أو بعد عرض التقرير. Coroutines مفهوم قديم جدًا ، نظرًا لأن وقت Simula ، ولكن ليس كل اللغات الرئيسية تدعمهم ، فلن تظهر في Java قريبًا. ولكن في Kotlin هم بالفعل في نسخة مستقرة.
يجيب هذا التقرير على جميع الأسئلة ذات الصلة حول coroutines ، أي جميع القضايا ذات الصلة في عصرنا بشكل عام :-)
تقرير المخطط- الصورة العامة لتطور اللغات
- غير متزامن البرمجة رد الاتصال
- العقود الآجلة / الوعود / آر إكس
- Coroutines في Kotlin
- حلقات منتظمة ، معالجة الاستثناء ، وظائف الترتيب العالي
- وظائف أعلى ترتيب مخصصة
- كل شيء يشبه في حظر رمز!
- كيف يعمل؟
- تعليق وظائف ، رمز مع نقاط تعليق
- التكامل
- التحديثية المتزامن
- عمليات الاسترجاعات والاستمرارات (استدعاء / سم مكعب من مخطط!)
- contlinx-coroutines الأساسية
- jdk ، الجوافة ، nio ، مفاعل ، rx1 ، rx2
- كيفية تشغيل coroutines؟
- متزامن / تنتظر
- لماذا لا توجد كلمات رئيسية تنتظر في Kotlin؟
- التزامن صعب. تحتاج إلى القيام بذلك بشكل صريح.
- نهج Kotlin إلى المتزامن
- مفهوم كوروتين: خيوط خفيفة الوزن للغاية
- التفاعل مع جافا
- Coroutines متزامن - توليد / العائد
- التواصل العمليات المتسلسلة (CSP)
- مكتبة مقابل اللغة
- يجب أن يكون اللسان صغيرًا!
- الكلمات الرئيسية: المزامنة / تنتظر ، توليد / العائد
- المعدلات: تعليق
- kotlinx-coroutines: launch، async، runBlocking، future، delay، Job، Deferred، ...
3. على أكتاف العمالقة: اللغات التي درسها Kotlin
→ تحميل الشرائح
تقرير عن Kotlin من أحد المبدعين للغة - ما هو المطلوب من أجل السعادة؟ يختلف جوهر العرض التقديمي وهيكله تمامًا عن تقرير إليزاروف السابق. تحدثت الرواية عن أشياء محددة - ماذا وكيف ولماذا في تصميم coroutine ، وكيفية استخدامها ، وأنا بحاجة إلى هذا لتحسين مهارة البرمجة في Kotlin. هنا يتحدث Andrei ( abreslav ) عن الأشياء التي تعمل على تحسين المعرفة وسعة الاطلاع بشكل عام في الحياة وتعطي مكانًا للفهم في العالم. إذا رأيت كل هذه اللغات بأم عينيك - Java و C # و Scala و Groovy و Python و Gosu - فهذا أكثر إثارة للاهتمام ، لأن هناك سببًا للمناقشة (قد يحضر المشاركون في المؤتمر هذه الفرصة ويناقشوا حقًا فهمهم للأشياء على الهواء مباشرة في منطقة المناقشة) ) هذا هو "سبع لغات في سبعة أسابيع" ، ولكن في ساعة واحدة فقط.
بالمناسبة ، أجرينا مؤخرًا مقابلة منفصلة مع Andrey ، ولكن الأمر لا يتعلق بكوتلين فحسب ، بل يتعلق بالكثير من الأشياء المختلفة.
2. مغامرات كبار هولمز وجونسون واتسون في عالم تطوير البرمجيات
→ تحميل الشرائح
من الصعب للغاية تقديم عروض تقديمية تضم أكثر من متحدث. في كثير من الأحيان يبدو هذا: نصف الوقت يقف أحدهم على المسرح ويشعر بالملل ، ويبدو مملاً للغاية. ماذا يمكن أن نقول عن الأداء المشترك لـ Baruch Sadogursky و Evgeny Borisov ( EvgenyBorisov ) - على العكس من ذلك ، تم القيام به بشكل رائع ، إنه عمل فني. اجتمعت النجوم بالترتيب الصحيح ، وظهر على المسرح متحدثان رئيسيان يتمتعان بخبرة كبيرة وممارسة إجراء التقارير المزدوجة لمناقشة موضوع مثير للاهتمام لكل منهما. لماذا أؤكد ذلك - عادة ما لا يكون لدى المشاهدين فكرة عن إنشاء مثل هذا العرض التقديمي ، ويأخذون كل شيء كأمر مسلم به.
لكن النتيجة بررت الاستثمار. إذا حكمنا على نفسك ، فهذه هي الكلمة الرئيسية المسائية ، وهي أحدث تقرير للمؤتمر ، والتي خلالها الناس مرهقون بالفعل لمدة يومين من القصدير ، ويريدون النوم ، ويحتاج شخص ما إلى السفر إلى المنزل الآن وما إلى ذلك. ومع ذلك ، تم ترك أكثر من 600 شخص في القاعة بالتأكيد.
هذا ليس تقريرًا مرجعيًا ، لكنه عرض تقرير ، يجب مراقبته. في ذلك ، سيكشف هولمز و واطسون عن العديد من الألغاز التي واجهتها ، أو واجهتها ، أو ستواجهها في التنمية اليومية. لن يكون هناك مجموعة من جامعي القمامة والرمز الثانوي ، ولكن ستكون هناك أدوات ومكتبات وأطر عمل تحاكي المطورين العاديين في روتين حياتهم اليومي ، مما يؤدي إلى التوقف ، وتحديد المواعيد النهائية والضغط المنخفض. في الممارسة العملية ، في هذا التقرير ، يقوم كل من شيرلوك و واطسون بحفظ جبينك من الوجهات والخناجر التي قام شخص ما بالتدخل عليها بالفعل.
لذلك ، لن يكون هناك ملخص موجز هنا - فقط ابدأ الفيديو وشاهده.
1. تمهيد نفسك ، الربيع قادم
→ تحميل الشرائح
باروخ + جامو ، باروخ + بوريسوف ، الذي هو مفقود من مؤلفي تقارير الزوجين الشعبية؟ هذا صحيح ، بوريسوف + Tolkachev ( tolkkv ). تقرير رائع آخر ، والذي ، ليس كونه كلمة رئيسية ، جمع عددًا قياسيًا من المشاركين - أكثر من ألف. كان هناك الكثير من المواد ، ومن المثير للاهتمام أنه تم تخصيص شريحتين لها في برنامج المؤتمر - وسيكون عليك مشاهدة مقطعين فيديو على YouTube وفقًا لذلك.
منذ عدة سنوات ، استخدم مبرمجو Java "جديد" لإنشاء الخدمات. لقد قاموا بالكثير من الإجراءات اليدوية والتكوين المختلط مع منطق العمل. حتى أنها تستخدم تقنيات نسخ لصق. تم كتابة العديد من أسطر التعليمات البرمجية البائسة ، والتي نجحت في بعض الأحيان.
ثم جاء الربيع. لقد تغير الكثير معه ... لقد حصلنا على الكثير من "السحر" من أسطوانة Spring spring ، وأصبح كودنا أكثر نظافة وبساطة ويمكن صيانته.
وبدا ربيع الحذاء. من ناحية ، فإنه يحل آلاف المشاكل الموجودة مسبقًا: تعارضات الإصدارات ، ومهام التهيئة ، والعمل مع صناديق البنية التحتية ، ومشكلة إعداد البيئة ، وبالطبع إطلاق أو نشر تطبيق ، بما في ذلك إنشاء محفوظات jar / war. من ناحية أخرى ، أضاف Spring Boot المزيد من السحر إلى أسطوانة السحر الخاصة بنا. نتيجة لذلك ، هناك سيناريوهان:
- كل شيء يعمل بشكل رائع ، على الرغم من أنه لا أحد يعرف كيف.
- لا شيء يعمل ولا أحد يعرف السبب.
يكشف هذا التقرير عن الأسرار الأساسية لسحر Spring Boot. سوف تفهم المبادئ الأساسية والاتفاقيات لتطبيقات Spring Boot النموذجية. مهمة Cyril و Eugene ، بحيث يتحول كل السحر من الاسطوانة لك إلى عملية أكثر شفافية ولا يمكنك الاستمتاع فقط عندما يعمل كل شيء ، ولكن أيضًا فهم جوهر المشكلات ويمكن حلها دون مساعدة من سيارة الإسعاف وغيرها من الخدمات المتاحة على مكالمات عاجلة.
الخاتمة
استغرق الأمر عدة أيام لمشاهدة جميع مقاطع الفيديو من القائمة. لم يكن الأمر سهلاً ، لكن من الواضح أنه كان يستحق كل هذا العناء. في الواقع ، كان هناك المزيد من التقارير في المؤتمر ، ومشاهدة العشرة الأوائل منها بداية جيدة لطريقة أكبر بكثير. إذا كنت ستشاهد هذه التقارير أيضًا - فلا تكون كسولًا جدًا في كتابة تعليقاتك في التعليقات على Habré!
وفي الوقت نفسه ، من الممكن بالفعل شراء تذاكر لـ JPoint التالي. سيعقد في الفترة من 5-6 أبريل 2019 في مركز مؤتمرات WTC. حتى 1 يناير ، لا تزال هناك فرصة لشراء التذاكر بأسعار منخفضة !