Forkney it: 8 انتقل إلى المشروعات التي تثير اهتمامك بالحفر في شفرة المصدر

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

المصدر المفتوح مثالي لهذا:

  • المصدر المفتوح يزيد الرؤية. يمكنك دراسة المصدر بشكل غير انتقائي.
  • يوفر المصدر المفتوح حافزا لكتابة رمز نظيف بقدر الإمكان ومنطق الوثيقة.
  • المساهمة في حركة مفتوحة المصدر يحسن الكرمة.



جنبا إلى جنب مع سيرجي تولسي ، خريج كلية Go-course ، وضعنا قائمة بمشاريع مفتوحة المصدر من مختلف المستويات والتوجهات المناسبة لتعلم كيفية كتابة رمز جيد وفي نفس الوقت جعل العالم مكانًا أفضل.

استراتيجية Tolsi :
"إذا كنت تريد استخدام المصدر المفتوح للتدريب ، فعليك أولاً تحديد مجال عمل معين وتحديد هدف - على سبيل المثال ، لإنشاء موقع ويب أو لعبة أو نوع من الخدمة - ثم ابحث عن مشروع مماثل أو إطار عمل به أمثلة. على سبيل المثال ، أعمل في مجال العملات المشفرة واكتشفوا أنهم يكتبون على تطبيق Go لتطبيق شبكة Lightning لتسريع عمليات النقل في شبكة Bitcoin وأن العقدة الأكثر ثباتًا لـ Ethereum هي geth. "

1. عامل الميناء


لنبدأ بواحد من أكثر المشاريع تعقيدًا وضخامة والمعروف عن بعد مجتمع Go. منذ عام 2013 ، يتم توزيع Docker مجانًا بموجب ترخيص Apache 2.0 وهو نظام لإنشاء أجهزة افتراضية معزولة مع أي بيئة ضرورية لاختبار التطبيقات. المكون الرئيسي ، libcontainer ، هو المعيار لهذا النوع من النظام. أفضل تطبيق لـ "sandbox" على سبيل المثال لا يمكن العثور عليه.

2. Kubernetes


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

إذا كنت تدرس Go ، فمن المفيد القيام بذلك فقط لأن Kubernetes كتبه مبرمجو Google ، ومن بين المساهمين في المشروع هناك متخصصون من RedHat و IBM و Microsoft. يتم توفير قاعدة بيانات Kubernetes مع دليل جيد لـ Kubernetes ، ويمكنك الدردشة مع فريق التطوير على Slack خلال جلسات الأسئلة والأجوبة العادية .

3. المزامنة


Syncthing هو مشروع مصمم جيدًا بدون مشاكل فنية ملحوظة وأخطاء حرجة ، تم إنشاؤها مع مراعاة ممارسات Effective Go .

يعتمد هذا التطبيق لنظام توزيع الملفات الموزع مثل BitTorrent Sync على بروتوكول Block Exchange المفتوح المصدر (BEP).

بالمقارنة مع Kubernetes ، تمتلك Syncthing بنية بسيطة تتكون من ثلاث طبقات رئيسية فقط. يتوافق رمز البرنامج مع مكتبة Go القياسية ويجمعها مع LevelDB والعديد من المكتبات الأخرى. يتم استخدامها لتشفير اتصالات الشبكة وحساب التجزئة وتخزين البيانات. لفهم قاعدة الكود الخاصة به ، سيساعد المرشد من الموقع الرسمي ومنتدى حيوي .

4. G3N


ماذا عن المحرك ثلاثي الأبعاد الذي أنشأه المبرمجون للمبرمجين؟ يحتفظ G3N بهذا اللقب ، كما أنه مكتوب بالكامل في Go. يعد المحرك مناسبًا للألعاب ، ولكن يتم وضعه كأداة لكتابة التطبيقات التفاعلية.

5. GoLearn


التعلم الآلي وبيثون مترادفان تقريبًا ، ولكن Go مفيد أيضًا لعلماء البيانات. مكتبة GoLearn البسيطة والمرنة للتعلم الآلي مكتوبة بهذه اللغة. يستخدم Gonum BLAN shell ويدعم خوارزميات تعلم الآلة الأساسية ، بما في ذلك: طريقة متجه الدعم ، الانحدار الخطي ، الشبكات العصبية ، الغابة العشوائية ، أشجار القرار ومصنف بايزي الساذج.

6. جورجونيا


يعتبر حل Go للتعلم الآلي على مستوى منخفض - Gorgonia - جديرًا بالملاحظة أيضًا. تستخدم هذه المكتبة ، التي تذكرنا بمفهوم TensorFlow ، مفهوم تمثيل المعادلات في الرسم البياني ويتم تعبئتها في ملف ثنائي واحد.

7. أكرا


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

بالإضافة إلى ذلك ، تتوفر مكتبة عملاء AcraWriter ليس فقط على Go ، ولكن أيضًا على Ruby و Python و NodeJS و iOS (Objective-C / Swift) و Android Java و PHP - يمكنك مقارنة التطبيقات ومعرفة بعض التفاصيل الدقيقة لبرامج النقل.

يتوفر أحدث إصدار من وثائق Acra والدروس التعليمية على خادم Cossack Labs الرسمي.

8. ConnectorDB


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

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

و ايضا ...


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

من خلال تحليل رمز المشروع والمساهمة ، يمكنك تطوير المهارات المكتسبة وتحديث المعرفة. هناك فرصة للانخراط في حركة المصدر المفتوح ، وهناك طريقة واحدة فقط لمعرفة مدى العمق والطول. ولأولئك الذين سيبدأون بالأساسيات ويرغبون في الانضمام فورًا إلى التطوير ، في يومي 8 و 9 ديسمبر / كانون الأول ، ستجري عملية مكثفة عملية حول البرمجة في Go في Binary District.

Source: https://habr.com/ru/post/ar432022/


All Articles