وعدنا 5-6 أسباب للتبديل إلى الذهاب ، وحدث ما حدث! في مؤتمر GolangConf ، المخصص بالكامل لـ Go ، في 7 أكتوبر ، سيكون هناك 5 تقارير تحمل علامة "التبديل إلى الذهاب" لأولئك الذين يذهبون إلى هذه اللغة أو يبدأون في استخدامها في مشاريعهم.
ولكن هذه ليست سوى البداية. من المرة الأولى ، تمكنا من وضع برنامج قوي ومتنوع للغاية يلبي احتياجات ثلاث فئات من المشاركين: مطورو Go المحترفون ؛ أولئك الذين يتحولون فقط إلى Go ؛ مهندسي البنية التحتية ومستخدمي الأدوات المكتوبة في Go.
يشتمل
برنامج المؤتمر على 21 تقريرًا ، ودورة لتقارير مداهمات وتخفيف الأخطاء. في أي وقت ، سيتمكن ضيوف المؤتمر من الاختيار من 3 إلى 4 مواضيع مختلفة وإيجاد شيء مثير للاهتمام لأنفسهم. أعتقد أن الاختيار وعدم القدرة على التمزيق بين التدفقات سيكونان أكثر ملاءمة (من الجيد أن كل شيء سيكون على الفيديو لاحقًا). في الوقت نفسه ، ستتم مناقشة الموضوعات ذات الصلة بمجموعة متنوعة من المتخصصين في غرف مختلفة.
سنكرس الكثير من الاهتمام
لأفضل الممارسات للعمل مع Go وأي كود بشكل عام. سوف نناقش مشكلات الأداء والأشياء المتشددة المختلفة مع رجال الدين ذوي الخبرة. لمهندسي البنية التحتية ، سيكون هناك أيضا بعض التقارير المثيرة للاهتمام. إن حظر الطرق غير القياسية لاستخدام Go لن يترك أي شخص غير مبال على الإطلاق. بالإضافة إلى ذلك ، سيكون هناك ما يصل إلى تقريرين حول تطوير الواجهة الأمامية على Go ، كلاهما من متحدثين أجانب.
يمكننا القول أن الواجهة الأمامية هي اتجاه تجريبي. لا يتم كتابة الإنتاج النهائي غالبًا على Go ، وغالبًا ما تتم تجربة WebAssembly في المشروعات الصغيرة الشخصية. سيكون بمقدور المتحدثين الذين قمنا بدعوتهم أكثر من مجرد تحديد كيفية البدء في استخدام WebAssembly. هذه تقارير متعمقة ، مبنية على تجربة شخصية ، وسوف تظهر أنه يمكن القيام بالحياة على WebAssembly ، وكيفية استخدامها في مشاريعك.
GolangConf المتحدثون
تعاملت لجنة البرنامج مع اختيار المواضيع والمتحدثين بصرامة شديدة. معظم المتحدثين لدينا معروفون في مجتمع Go ، ولكن في الوقت نفسه ، هناك وجوه جديدة. عندما يتكلم نفس الأشخاص من وقت لآخر ، يكون هذا مملاً بعض الشيء. أريد أن أرى نظرة جديدة ، تحديات جديدة ، متحدثين جدد. لقد نجحنا في جذب دماء جديدة ، ولديهم أيضًا تقارير مثيرة جدًا بناءً على الخبرة العملية. على سبيل المثال ، أتطلع إلى
تقرير Ksenia Yakil.
كان اختيار المتحدثين الأجانب أكثر صرامة ، نظرًا لوجود العديد من التطبيقات منهم. لكننا نعلم أنه قد يكون من الصعب على جمهورنا الاستماع إلى العديد من التقارير باللغة الإنجليزية. 8-9 تقارير يوميًا هي بالفعل كمية كبيرة من المعلومات الجديدة ، وعندما تحتاج إلى إنفاق المزيد من الجهد بسبب اللغة لفهمها ، يصبح الأمر صعبًا للغاية. لذلك ، لدينا ثلاثة تقارير باللغة الإنجليزية فقط ، لكنها الأكثر.
في الواقع ، مجتمع Go العالمي ودود للغاية ومستعد لتبادل الخبرات. تلقينا استجابة جيدة للغاية عندما فتحنا "دعوة للأوراق" على موقع PaperCall.io وأعلننا عن مؤتمر في مجتمع Go-community الدولي حول Slack و Twitter. صحيح أننا لم ننجح في جذب النجوم البارزين في المجتمع العالمي ، ومن المقرر أن يكون جدول أحداثهم للعام المقبل. ولكن بعد ذلك لدينا خطط بعيدة المدى ل GolangConf المقبل.
هذا العام سيكون لدينا 21 تقريراً صفياً. هنا سأتحدث عن العديد منهم ، وللحصول على المعلومات الكاملة والجدول الزمني ، انتقل إلى
موقع المؤتمر على
الويب .
تطبيق الذهاب رمز التشابه التحليل
عمل Iskander Sharipov (VKontakte) في الماضي على برنامج Go-compiler وضبطه من طرف ثالث له - محللون ثابتون وأدوات مساعدة لإعادة البناء. يخطط الآن لنقل العديد من الأدوات التي تم إنشاؤها لـ Go to PHP system. ربما يمكنك أن تسأل عن هذه التجربة الهائلة لإسكندر على الهامش ، وسيكون
تقريره في المقام الأول موضع اهتمام لأولئك الذين يفكرون في قضايا معالجة Go code:
- كيفية العثور على وظائف وطرق مكررة في قاعدة التعليمات البرمجية الخاصة بك.
- تجنب إعادة اختراع وظيفة مكتبة Go القياسية.
- كيفية تبسيط تحليل Go-code على المستوى النحوي.
مفتاح الإجابة على هذه الأسئلة هو تطبيع برامج Go ، وسيتم مناقشة هذا الأمر في التقرير. ولكن ليس بالكلمات ، ولكن في الممارسة العملية - فكر في مكتبة لتطبيع Go code والعديد من تطبيقاتها العملية.
الحصول على الذهاب مع WebAssembly
سيأتي المساهم في Go
Johan Brandhorst إلى موسكو لتعريفنا بـ WebAssembly وإظهار كيفية البدء باستخدام WebAssembly و Go. تم دعم WebAssembly في المتصفحات لمدة عامين تقريبًا وتم تضمينه في Go كتجربة منذ الإصدار 1.11. ربما يمكنه حتى استبدال JavaScript في المتصفح ويصبح هذه اللغة بالذات ، والتي يمكن أن تعمل عليها في أي مكان.
بعد هذا
الحديث ، سوف يتعلم المتجولون المبتدئون كيفية استخدام Go with WebAssembly وما الذي يمكن أن تفعله هذه التقنيات الآن وما الذي سيكون ممكنًا في المستقبل.
تحجيم الذهاب اتصالات WebSocket
هناك بعض مكتبات WebSocket كبيرة في نظام Go البيئي. يبدو - خذ مشروعك وقم به ، مع الأخذ كأساس للحل الجاهز. ومع ذلك ، يجب حل العديد من المشكلات العاجلة بشكل مستقل ، على سبيل المثال:

- كيفية توسيع نطاق اتصالات المستخدم ؛
- ماذا تفعل مع هؤلاء المستخدمين الذين لا يستطيعون الاتصال عبر WebSocket ؛
- كيفية إدارة عمر اتصال دائم ؛
- ما يجب القيام به مع فقدان الرسائل مع قطع الاتصال على المدى القصير للمستخدم.
وأخيرًا - سيتعين عليك كتابة بروتوكولك الخاص أعلى WebSocket والعملاء الذين يقومون بتطبيقه على جميع أنظمة العميل الحديثة. هل أنت مستعد لهذا؟
تتم معالجة هذه المشكلات بالفعل بواسطة مكتبة Centrifuge مفتوحة المصدر ، والتي تضيف العديد من الميزات المفيدة في مقدمة Gorilla WebSocket لإنشاء تطبيقات في الوقت الفعلي. سيتحدث مؤلف هذا المشروع ،
ألكساندر إملين ، في GolangConf.
سيقوم ألكساندر
بتدريس التقنيات والممارسات التي تتيح لك العمل بفعالية مع عدد كبير من الاتصالات ، وإخبار كيف تعمل هذه الأساليب في إنتاج Messenger Avito.
جعل الذهاب أخطاء المنافسة

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

ربما كان الكثير منا مهتمًا بالبرمجة ، لأننا حلمنا بكتابة الألعاب. حتى
أليكسي أكولوفيتش يشارك في خلفية مشاريع فكونتاكتي المعقدة ، لكنه لم يترك الرغبة في الانخراط في GameDev ، ولكنه نجح في دمجها مع التطوير على Go. أي شخص يريد الاسترخاء أثناء كتابة لعبة دون الدخول في Unity / Unreal وغيرها من أفراحه سيجد هذا التقرير مفيدًا.
ستعرض لك Alexey إطارات عمل ثنائية الأبعاد وثلاثية الأبعاد لسطح المكتب / الويب وإمكانيات التطوير اليدوي وخيارات لتوسيع الوظائف دون إعادة ترجمة البيانات الثنائية الرئيسية. سنتحدث عن الوضع في عام 2019 ، بحيث يتم إرفاق الإصدارات والاتجاهات الحديثة.
الذهاب للواجهة الأمامية
وإذا كنت تحلم منذ فترة طويلة بكتابة رمز الواجهة حصريًا على GO ،
فاصل إلى تقرير
Aarushi Kansal (Tier)
. تقليديًا ، تعد التصور اللطيف وتنفيذ التصميم الإبداعي ، عند التقاطع مع الفن ، من صلاحيات مطوري JavaScript ، ولكن Aarushi سيخبرك بكيفية إنشاء تطبيقات ورسومات تعمل في متصفح على Go. بعد هذا التقرير ، ستؤمن أنه بإمكانك الكشف بالكامل عن إمكاناتك في التطوير الأمامي دون التخلي عن لغتك المفضلة.
كيفية كتابة نظام التشغيل على الذهاب
أندريه سميرنوف مؤلف العديد من مشاريع المصادر المفتوحة وفئة رئيسية بعنوان "تطوير أنظمة محمولة عالية التحميل".
حديثه في GolangConf هو في المقام الأول لأولئك الذين يستخدمون Kubernetes. سوف يتحدث أندريه عن عملية تطوير نظام التشغيل Talos وما تم تحقيقه من خلال استخدام Go. على سبيل المثال ، لا يستغرق تجميع نظام التشغيل وحلقة التعليقات عبر CI أكثر من 5 دقائق.
سنرى كيف تتيح لك المفاهيم البسيطة والمفهومة للبرمجة التنافسية في Go تنظيم تنظيم مراحل تهيئة نظام التشغيل بشكل متوازٍ وفي نفس الوقت بالتسلسل الصحيح. سنناقش متى يتم فحص النظام الذي يمكنك الحصول عليه من خلال اختبارات الوحدات البسيطة وكيف تبدو اختبارات التكامل لنظام التشغيل. يقول أندريه إن جو وجد نفسه في وضع احتكاري في هذا المجال ، وسنكتشف لماذا ولماذا يناسبنا.
الذهاب اختبارات التكامل
بالمناسبة ، عن اختبارات التكامل. على الرغم من تقارير عن فوائدها وحتى عدد كبير من الميمات ، فإنها لا تزال لا تتلقى الاهتمام المناسب. أم أنها فقط في gophers ، ولدينا فقط اختبار وحدة متأصلة في الجينات؟ بصرف النظر عن ذلك ، شرعت Badoo في كتابة اختبارات التكامل على Go ، وقد فعلوا ذلك جيدًا.
ستخبرك كسينيا ياكيل كيف. كيفية تنفيذ إطار Go لاختبار التكامل ، وما الصعوبات التي ستقع في الطريق وما هي النتائج التي يمكن تحقيقها. سترى أن كتابة اختبارات التكامل على Go أمر حقيقي وليست مؤلمة للغاية.
كيف ولماذا لكتابة التعليمات البرمجية القابلة للقراءة
بغض النظر عن اللغة التي تكتبها ، يحدث أن تكون إعادة كتابة الكود القديم أسهل من إعادة الكتابة. أتعس شيء هو عندما يكون رمزك الخاص ، الذي كتبه مع الحب "فقط" قبل بضع سنوات.

يحب
Grigory Petrov (Evrone) الفيزيولوجيا العصبية والوصول إلى نهاية الأسباب.
حديثه في GolangConf هو دليل عملي للتعامل مع تعقيد الكود: من أين يأتي ، ولماذا لا يمكن إزالته ، وكيفية التعامل معه. سيتحدث غريغوري عن التحلل ، وتركيب "إشارات" بطرق مختلفة ، وتقنيات لكتابة معرفات مفيدة ، وإنشاء مصائد باستخدام الأنواع. قبل "كتابة وظائف أقصر ، وأسماء المعرف أكثر قابلية للفهم" لن نذهب إلى أسفل :)
وفي الجزء الأخير من التقرير ، سنناقش النهج "التدريجي" لكتابة التعليمات البرمجية القابلة للقراءة ، والتي لا تقتصر على لغات "الكتابة الديناميكية" المألوفة.
لماذا Golang غريب جدا
وهنا ، في المساء ، عندما نناقش بالفعل العديد من قضايا التنمية على Go ، أخيرًا أولئك الذين يشككون في التحول إلى Go ،
سوف يطرح Philip Kulin هذا الموضوع: "لماذا Golang غريب جدًا" ويعد بوضع كل شيء على الرفوف ونقول كيف كان كل شيء قيد التشغيل في الواقع ، وأين تختفي الأدوية الجنيسة.
Mitapy ومنطقة الخبراء
ربما لاحظت أنه لا يوجد عضو واحد في لجنة البرنامج من بين المتحدثين ، على الرغم من أنها تتألف من نشطاء المجتمع ، الذين تعرفهم بالتأكيد إذا كنت في اجتماعات Go-go والمؤتمرات. لقد فعلنا شيئًا آخر: موضوعات مختارة ومساعدة المتحدثين وإعداد أنشطة إضافية.
يمكن العثور على أعضاء لجنة البرنامج خلال المؤتمر واستجوابهم في منطقة خبراء خاصة. غالبًا ما يكون لدى الوافدين الجدد إلى Go أسئلة لا يمكن حلها لسبب ما ، ولهذا السبب لم يتم تعليقهم ، ولا يساعد حتى StackOverflow. سيكون لدينا موقف منفصل في المؤتمر حيث يمكنك طرح مثل هذه الأسئلة على أعضاء لجنة البرنامج والناشطين في مجتمع Go. تعال مع أسئلتك ، وسنحاول معا حلها!
GolangConf هو جزء من عائلة مؤتمرات Ontiko ، مما يعني أنه سيتم تخصيص غرفة منفصلة لعمليات
التخفيف - اجتماعات ضيقة صغيرة لمجموعة من الأشخاص المتشابهين في التفكير. قد تكون هذه فئة رئيسية أو ورشة عمل ، ولكن الشيء الرئيسي فيها على أي حال سيكون التواصل بين المتخصصين ومناقشة الآلام والبحث المشترك عن حل. يمكن لكل مشارك محاولة تنظيم عملية التخفيف أو التصرف كعضو في لجنة البرنامج والتصويت على مقترحات المشاركين الآخرين.
وبالطبع ، فإن التواصل كجزء لا يتجزأ من أي مؤتمر في حالتنا سيكون مفيدًا بشكل خاص ، حيث سيكون جميع المشاركين في المؤتمر مهتمين بطريقة أو بأخرى بموضوع واحد - Golang. في المساء بعد البرنامج الرئيسي ، بطبيعة الحال ، سيكون لدينا طرف لاحق وفرصة للاختلاط في جو غير رسمي أكثر.
GolangConf في غضون أسبوع تمامًا يوم 7 أكتوبر في Infospace ، نتطلع إلى رؤية مجتمع Go. انضم الآن!