مرحبا بالجميع! في 6 أكتوبر ، ستستضيف موسكو مؤتمر
RubyRussia - RailsClub القديم الجيد ، ولكن باسم جديد. المتحدثون هذا العام: آرون باترسون ، تشارلز نوتر ، جودفري تشان ، ماسيج مانسفيلد ، ماركوس شيرب والمزيد. وبطبيعة الحال ، 600 مشارك ، أفضل الشركات مع المدرجات في الردهة والنار بعد الحفلة.
تقليديا ، قبل المؤتمر ، نتحدث عن الموضوعات الأكثر صلة في روبي وريلز. نقدم لك اليوم إلى
Godfrey Chan - فريق أساسي سابق لـ Rails ، يعمل في Tilde ، حيث يمزق بين إنشاء ملف تعريف Rails ذكي من
Skylight ، والعمل على Ember.js وتطوير JavaScript على TC39.
سأل Tim
Leader من
Evrone Dmitry Matveev ضيفنا أسئلة مهمة.
لنبدأ بسؤالين حول تقريرك عن RubyRussia؟لا اريد الكشف عن كل الاسرار! تقريري يسمى "الإنزال إلى المعدن". سأتحدث عن كيفية كتابة كود Rubu الغريب نوعًا ما باستخدام metaprogramming لعمل شيء مشابه لـ JavaScript. بالطبع ، لن نتمكن من كتابة محلل جافا سكريبت كامل الوقت ووقت التشغيل ، لكنني سأعرض بعض السحر الذي سيجعل قطعة من التعليمات البرمجية تشبه جافا سكريبت في روبي باستخدام وقت تشغيل روبي الأصلي. إنها ممتعة ، على الأقل أحبها حقًا. هذه هي نفس التقنية التي يمكنك من خلالها كتابة أشياء مثل rspec أو أشعل النار أو DSLs أخرى في Ruby. سأوضح للطلاب كيف يقوم Ruby بتحليل التعليمات البرمجية الخاصة بك وتشغيلها ، وما هي الخطافات التي يمكنك استخدامها. أعتقد أن التقرير لن يكون ممتعًا فحسب ، بل سيعلم أيضًا بعض الأشياء المفيدة حول الرسم البياني في روبي.
رائع! أي ستكون هناك نصائح عملية ، أليس كذلك؟لست متأكدًا من أنه سيكون من الممكن التركيز عليها ، ولكن أعتقد أنه من خلال هذه الدقائق الثلاثين ستتعلم شيئًا مفيدًا لنفسك.
عظيم! أعتقد أن التقرير سيكون مثيرا للاهتمام لكل من المبرمجين ذوي الخبرة والمبتدئين. صحيح؟آمل ذلك. على الأقل سأحاول.
بالمناسبة ، قرأت أمس مقالتك حول Medium حول إعادة التفكير في التعليم في علوم الكمبيوتر. المقالة مثيرة للاهتمام للغاية ، وأنا أتفق مع الأفكار حول الاختلافات بين التعليم الجامعي الكلاسيكي والدورات الحديثة للمبرمجين. بالمناسبة ، لماذا قررت أن تصبح مبرمجًا؟مجرد صدفة ، لم أخطط أبدًا للعمل كمبرمج ، بالنسبة لي كانت مجرد هواية. لقد أحببت حقًا العبث مع أجهزة الكمبيوتر ، وكان من السهل التوصل إلى شيء للقيام به - حذف ملفات النظام عن طريق الخطأ أو التعمق في سجل Windows. ثم أردت شيئا أكثر. بعد المدرسة ، بدأت في أخذ دورات حول تطوير الموقع. سعدت بفرصة إنشاء شيء جديد على الكمبيوتر. ولكن سرعان ما أدركت أن هذا لم يكن كافياً بالنسبة لي. يمكنني إنشاء نوع من ألعاب الكمبيوتر بتنسيق HTML ، لكن مجموعة الأدوات هذه كانت محدودة للغاية. ذات يوم ، أعطاني أستاذي كتابًا عن PHP. لقد قرأت كل شيء ، وبشكل غير متوقع لنفسي ، اكتشفت عالمًا جديدًا بالكامل من الاحتمالات ، والذي يوفر أكثر بكثير من HTML و CSS. كان الأمر رائعًا جدًا ، بعد ذلك بدأت أقرأ المزيد والمزيد من الكتب حول هذا الموضوع. اللغة التالية التي تعلمتها هي Java. بمجرد أن قرأت عن روبي في مجلة لينكس (في الواقع ليس عن روبي ، ولكن عن ريلز ، بالطبع) ، واعتقدت أنه سيكون من الرائع تعلمها. من هناك بدأ كل شيء ، ومثل كرة الثلج ، يتدحرج حتى يومنا هذا.
وهكذا تحولت إلى روبي ، أليس كذلك؟لقد اكتشفت روبي في الوقت الذي بدأت فيه دراسة علوم الكمبيوتر في الكلية ، لذلك كنت أدرس في نفس الوقت لغة جافا ، C ++ ، هاسكل وليس فقط تعلم العديد من لغات البرمجة في وقت واحد. كجزء من دراساتنا ، لم يكن لدينا مهام روبي ، وقد أعجبتني حقًا ، لذلك حاولت دائمًا استخدامها في تلك الفصول حيث يمكنك اختيار التكنولوجيا بنفسك. حسنًا ، في مشاريع الطرف الثالث أيضًا. عندما تخرجت من الكلية ، قررت البحث عن وظيفة تتعلق بروبي. كان الأمر بسيطًا ، لأن ريلز كانت في ذروة الشعبية: استخدم العديد من الشركات الناشئة هذه التكنولوجيا. حتى أصبح الاهتمام وظيفتي.
الآن هل تستخدم روبي كأداة أساسية لك؟ أم أنك تعمل مع شيء آخر؟في وظيفتي الحالية في تيلدا ، لا أكتب روبي بقدر ما كنت أكتب من قبل. أود أن أقول إن عملي عبارة عن مزيج من JavaScript / TypeScript و Rust و Ruby وأحيانًا Java. ولكن ، على أي حال ، كل العمل الذي أقوم به يتعلق بروبي.
المنتج الرئيسي في Tilde هو Skylight. لم يتم كتابة جميع المكونات الموجودة بها في Ruby: الواجهة الأمامية في JavaScript و Ember ، والواجهة الخلفية في Rails ، ولكن كل معالجة البيانات الواردة هي Java و Rust. لكن Skylight نفسها هي أداة لمراقبة الأداء لتطبيقات ريلز. وبهذا المعنى ، فإن كل العمل الذي أقوم به لا يزال متعلقًا بروبي.
عظيم! لقد سجلت بنفسي مع Skylight قبل بضعة أيام لأحد المشاريع ، والآن أقوم باختباره. يبدو الأمر مثيرًا للاهتمام ، ومن البداية كان من الواضح كيف يعمل كل شيء. لم أقم بالتعمق كثيرًا ، لكنني أخطط لبدء استخدامه بإحكام شديد الأسبوع المقبل. آمل أن أتمكن من إصلاح بعض المشاكل معها.رائع ، سيكون من الرائع سماع التعليقات!
من المثير للاهتمام مقارنة روبي بلغات أخرى. على سبيل المثال ، مع الصدأ. روبي معبرة للغاية ، ومصممة لجعل التعليمات البرمجية قابلة للقراءة. إذا قارنته مع Python أو مع C ++ ، C # ، Java ، في رأيي ، ليس من السهل قراءتها مثل روبي. ما رأيك بهذا؟سأوافق. هناك طريقتان "لتعلم" لغة جديدة. الأول سطحي للغاية: أدرس أساسيات النحو ، ألعب بأمثلة ، ثم أنسى ذلك على الفور. كان الأمر كذلك مع Go. فعلت ذلك في عطلة نهاية الأسبوع ، ثم كتبت لبضعة أسابيع مشاريع صغيرة عليها. ولكن بعد ذلك لم يكن لدي أي سبب لمواصلة البرمجة على Go. لقد درستها للتو من أجل الفضول ، ونسيت بسرعة.
من ناحية أخرى ، هناك JavaScript / TypeScript و Rust و Ruby ، والذي أستخدمه طوال الوقت. لقد فتحت كل من هذه اللغات فرصًا جديدة لي ، وهي محفزة رائعة.
على سبيل المثال ، عندما بدأت العمل مع روبي ، انجذبت للتعبير. لا توجد لغة أخرى تسمح لك بالقيام بأشياء مجنونة مثل method_missing. إن ما وراء البرمجة ، والتعبير ، وقراءة الكود هي الأشياء الرئيسية التي أحبها في روبي. سيكون من الرائع إذا استطاعت لغات أخرى.
ولكن فيها يمكنك القيام بأشياء مستحيلة في روبي. على سبيل المثال ، JavaScript. كان كل شيء مختلفًا تمامًا عنه عن روبي ، التي وقعت في حبها من النظرة الأولى. بدأت في استخدام جافا سكريبت حسب الحاجة ، وكنت بحاجة لكتابة كود المتصفح. سواء أحببنا ذلك أم لا ، ليس هناك مفر من JS. إذا كنت تريد كتابة تطبيق متصفح تفاعلي ، مثل Skylight (ما كنت مهتمًا به في ذلك الوقت) ، فإن JavaScript هو المخرج الوحيد.
كنت أرغب في نقل الأفكار التي أعجبتني في روبي إلى جافا سكريبت ، لذلك في النهاية بدأت العمل مع إمبر. هذا بدوره قادني إلى TypeScript. عندما تكتب إطار عمل ضخم ، مثل Ember ، في JavaScript ، فإن وجود أنواع ومترجم للتحقق من الأخطاء يساعد حقًا. ساعدتني JavaScript و TypeScript في فهم ذلك.
الأفكار التي علمني إياها رست مشابهة جدًا لـ TypeScript. من الجيد أن تكون قادرًا على تجميع البرنامج بأكمله ، والتأكد من أنه يعمل. بالنسبة لي ، إنه رائع. لقد عملت مع اللغات المترجمة من قبل: مع Java و C. يجب عليك أيضًا الانتظار حتى يتم تجميع التعليمات البرمجية ، ولكن هذا ليس مفيدًا كثيرًا ، لأن نظام الكتابة في هذه اللغات لا يمسك بالأخطاء بشكل جيد. ولكن في Rust ، يمكن أن يضمن المترجم أن البرنامج لن يسبب مشاكل في الذاكرة ، وأنه أثناء تنفيذه لن تكون هناك أخطاء تجزئة (segfault). من أصعب الأشياء التي يجب القيام بها في البرمجة C هي مشاكل الذاكرة ، والتي يصعب تجنبها. الميزة الرئيسية لـ Rust بالنسبة لي هي القدرة على القيام ببرمجة منخفضة المستوى دون القلق بشأن ذلك.
بالمناسبة ، كان اهتمامي بـ Rust متعلقًا بـ Ruby. لقد بدأت للتو العمل في تيلدي ، وعرفت أن جوهرة سكايلايت كتبت بلغة الصدأ. اعتقدت أنه سيكون من الرائع معرفة كيفية كتابة ملحقات أصلية لروبي بنفس الطريقة. كنت أرغب في معرفة كيفية الكتابة في Rust حتى لا تقلق بشأن كسر عمليات ياقوت المستخدم ، كما يحدث عندما يتم إلغاء الإشارة إلى المؤشرات بشكل غير صحيح في C. لذلك ، كان الهدف الرئيسي من تعلم Rust بالنسبة لي ، في الواقع ، كتابة امتدادات روبي الأصلية.
هذا الصباح فقط ، كنت أعمل في مشروع مع بيتر واغنيت من تيلدي ، وشون غريفين من Shopify وفريق ريلز الأساسي. يعمل Sean على إصدار جديد من Active Record مكتوب بلغة Rust لتسريع الأجزاء البطيئة. وقبل هذه المقابلة مباشرة ، كنت أعمل على مشروع في روست يسمى libcruby-sys ، والذي يسمح لك بكتابة ملحقات أصلية لروبي في روست.
في النهاية ، يمكننا القول أن جميع اللغات متصلة. اللغات التي أتعلمها وأبرمجها هي مجرد أدوات تسمح لي بإنشاء ما يدور في خلدي.
مثير جدا للاهتمام! رائع أن ActiveRecord سيكون أسرع بكثير. بقدر ما أفهم ، لن تتغير فكرة ActiveRecord. أعني ، هل سيكون نفس ActiveRecord ، وليس شيئًا مثل مخطط البيانات؟التسجيل النشط على روبي ، بالطبع ، لن يذهب إلى أي مكان ، فهو يتطور بنشاط ، يتم استخدامه. في حالة JRuby ، هذا هو الخيار الأول. تطبيق Sean متوافق بنسبة 100٪ مع واجهة برمجة التطبيقات الأصلية. تتم إعادة كتابة المكونات الداخلية في Rust ، لذلك يعمل كل شيء بشكل أسرع ، لكن واجهة برمجة التطبيقات لن تتغير للمستخدم النهائي.
نفس الشيء مع المشروع الذي عملت عليه في العامين الماضيين. يطلق عليه
Helix ، وهو مرتبط بتجاربي مع Rust لإنشاء امتدادات أصلية لـ Ruby. كان من الصعب جدًا البدء بسبب مجموعة من مشكلات سلامة الذاكرة التي يجب معالجتها. يسمح لك Helix بالتركيز ببساطة على كتابة التعليمات البرمجية في Rust ، ويهتم بتجميعها في ملحق Ruby.
أعتقد أن الكثير استخدموا JSON جوهرة في روبي. في الواقع ، هناك نوعان من التطبيقات المختلفة لهذه الأحجار الكريمة. هناك تطبيق Ruby خالص وامتداد C الذي يقوم بتنفيذ نفس API. هذا ليس ملحوظًا ، ولكن إذا كتبت `` تتطلب json` ، فمن المرجح أن يتم تحميل الإصدار C. إذا لم يكن النظام الأساسي الحالي مدعومًا ، فسيكون إصدارًا ياقوتيًا. ولكن ، مرة أخرى ، يتم استخدام API بنفس الطريقة تمامًا في كلتا الحالتين. والفرق الوحيد هو أن المكونات الداخلية لأحدها يتم تنفيذها في C ، لذلك يعمل بشكل أسرع. بالإضافة إلى الأداء العالي ، لا توجد فروق. هذا هو الهدف من كل هذه المشاريع - أن تكون قادرًا على استخدام Ruby الذي نحبه ، ولكن للحصول على مزايا أداء الشفرة الأصلية عند الضرورة.
من الرائع أن تكون روبي أسرع. على الرغم من وجود رأي مفاده أن سرعة التنفيذ ليست مهمة جدًا لبرامج Ruby ، لكنني متأكد من أن الجميع سيكونون سعداء إذا زاد الأداء.في الغالب أوافق. بشكل عام ، هذا هو الحال. ولكن ، بعد زيادة الإنتاجية بشكل كبير ، يمكننا القيام بأشياء كانت مستحيلة في السابق على هذه المنصة. كما قلت ، تعلمت جافا سكريبت لأنني أردت كتابة برامج للمتصفح ، ومن المستحيل أن أفعل خلاف ذلك. أعتقد أن الشيء نفسه ينطبق على الأداء. لا يهمني إذا كان الرمز يعمل بشكل أسرع بنسبة 20٪. هذا جيد ، لكنه ليس مهمًا جدًا. ولكن عندما تعمل الشفرة بشكل أسرع 10 مرات ، فإن هذا يفتح إمكانيات جديدة تمامًا.
على سبيل المثال ، إذا كنت منخرطًا في التعلم الآلي ، فيجب عليك إجراء الكثير من الحسابات المعقدة. على الأرجح ، لن تتمكن من تنفيذ ذلك على Ruby ، لأن Ruby بطيء جدًا. ولكن إذا كانت هناك واجهة للتفاعل بسهولة مع مكتبات التعلم الآلي الأصلية ، فيمكنك العمل باستخدام ML حتى على Ruby. يمكنك كتابة تعليمات برمجية لتنظيم جميع العمليات باستخدام الحسابات في Ruby ، بكل تعبيرها ونظامها البيئي من الأحجار الكريمة. بالنسبة لي ، الأداء هو أداة لجلب ميزات جديدة.
هذا صحيح تماما! لقد عانيت عدة مرات مع برامج روبي ذات الأداء الضعيف. كان علي أن أكتب الكثير من كود SQL لتسريع الأمور ، لنقل جزء من المنطق إلى جانب قاعدة البيانات ، لأنه يعمل أسرع مئات المرات.هذا صحيح ، لكنني أفضل أن أنقل الشفرة المسببة للمشاكل إلى الامتدادات الأصلية بدلاً من إعادة كتابتها كخدمة صغيرة على Go أو Haskell. أعتقد أنه من الجيد أن تكون قادرًا على كتابة أكبر قدر ممكن من كود روبي ، ونقل الأجزاء الهامة للأداء في مكان ما يمكنك التفاعل معه بسهولة في روبي. الفرصة نفسها رائعة.
نعم ، يجب أن تكون أسرع وأسهل وأكثر كفاءة من حيث المهام التجارية. لا حاجة لتوظيف مبرمجين ذوي مهارات وأكوام مختلفة ، حيث يمكن كتابة كل شيء في Ruby. يبدو ذلك واعدًا. ما رأيك في مستقبل ريلز؟ كل عام ، هناك شائعات بأن ريلز تحتضر ...أنا متحيز لأنني أعمل في شركة يكون منتجها الرئيسي أداة لمراقبة الأداء في ريلز. أنا شخصياً لا أعتقد أنهم يموتون ، لكن ريلز أصبح بالتأكيد أكثر نضجاً ، "نضجاً". بالنسبة لكثير من الناس في المجتمع ، هذا شيء جديد بشكل أساسي. انضم الكثير منا إلى مجتمع ريلز وروبي عندما كان ريلز موضوعًا ضجيجًا. كان هناك الكثير من الحماس والكثير من الابتكارات. على الرغم من أن العديد من "ابتكاراتنا" كانت شائعة في النظم البيئية الأخرى ، أكثر الكبار. كان الكثير مستحيلًا في ذلك الوقت ، لأن النظام البيئي كان لا يزال غير ناضج.
لقد كانت فترة مثيرة للغاية. كنت أتطلع كل يوم اثنين إلى حلقة جديدة من RailsCasts. جوهرة جديدة كل أسبوع. على سبيل المثال ، نقوم هذا الأسبوع بإنشاء ملفات PDF ، وفي الأسبوع القادم نقوم بتحميل ملف ، ثم يظهر شيء جديد بشكل أساسي ، مثل أداة الحزم ، على سبيل المثال. لقد كان وقت أفكار جديدة ومثيرة ، كان لدى الجميع الكثير من الطاقة. يعتقد الكثير من الناس أن ريلز أو روبي يموتان بسبب اختفاء هذه المشاعر.
وفي رأيي ، فإن النظام البيئي قد نضج للتو وأصبح أكثر استقرارًا. لقد جربنا بالفعل 5 طرق مختلفة تمامًا لتحميل الملفات ، ولا نحتاج إلى القيام بذلك كل أسبوع. من حيث العواطف ، بالتأكيد أفتقد تلك الأوقات. لكن لا أعتقد أن الوضع أسوأ الآن. يمكننا أن نقول هذا: "حسنًا ، لقد مررنا بكل هذه المغامرات ، جربنا مناهج مختلفة ، حصلنا على دروس. والآن اخترنا الخيار الأفضل الذي سيستخدمه الجميع ". أعتقد أنه رائع.
جزء مني يخطئ بالتأكيد هذا الدافع ، والشعور المستمر للتغيير والتقدم الذي كان في مجتمع روبي في ذلك الوقت. أراه الآن في مجتمع روست. هناك أستطيع تجربة نفس المشاعر. نعم ، في روبي ، خفت العواطف. ولكن من وجهة نظر الإنتاجية والعمل الحقيقي - كل ذلك ليس سيئًا على الإطلاق. أفهم أن الشخص الذي يحب أن يتعلم أشياء جديدة باستمرار يحتاج إلى مثل هذه العواطف. أسعى والعثور عليها في النظم البيئية الأخرى. المجتمع ينضج ، وهناك تغييرات أقل. ولكن شخصيا يناسبني.
أعتقد أن هذا هو الترتيب الطبيعي للأشياء ، ولا تزال ريلز جميلة. كل ما يحدث - يفيد العمل الحقيقي الذي يطور التطبيقات التجارية. أنا أحب أن ريلز يسمح بمقاربات مختلفة. على سبيل المثال ، يمكنك استخدام الأحجار الكريمة أو تريل بليزر أثناء البقاء في سياق ريلز. يمكنك استخدام أنواع مختلفة من التجريد في التعليمات البرمجية الخاصة بك ، ولكن في النهاية سيظل تطبيق Rails. هذا ما يعجبني.أنا بالتأكيد أتفق معك. أعتقد أن النظام البيئي بأكمله ينمو. في ذلك الوقت ، والتي نسميها الآن "ذروة" ريلز ، ظهرت العديد من الشركات الناشئة الجديدة. لا أحد يهتم بالاستقرار والاستقرار. ثم تحصل على تدفق مستمر من العواطف والطاقة الجديدة. الآن نمت العديد من هذه الشركات إلى شركات كبيرة مثل Github أو Shopify ، وبدأت في الاهتمام بالاستقرار. هذا صحيح للكثيرين
كمجتمع ، قررنا بشكل جماعي تفضيل الاستقرار على التجارب. من وجهة نظر اللغة ، لا يزال هناك مجال كبير للتجربة لأن روبي لا يزال كما هو. السبب الذي جعل روبي عظيمًا للتجريب لم يصل إلى أي مكان. ومع ذلك ، قرر المجتمع التركيز على إنشاء الأشياء التي تعمل على ريلز ، لأنه تم استخدام ريلز بنشاط منذ فترة طويلة. عند كتابة جوهرة ، من المحتمل أن تقدم الدعم لعدة إصدارات من Rails ، لأن هناك العديد من الشركات التي تستخدمها. ونتيجة لذلك ، تصبح Rails نفسها أيضًا أكثر حذراً ، ولا تكسر واجهة برمجة التطبيقات الخاصة بها دون داع. أنا شخصياً سعيد لكوني جزء من هذه العملية.
من منظور الأعمال ، الاستقرار مهم جدا. خاصة للأنظمة المحملة بشكل كبير. استقرار واجهات الإطار يجعل العمل أسهل. أتذكر الأوقات التي كان فيها من الصعب جدًا التبديل من إصدار Rails إلى آخر. على سبيل المثال ، في اللحظة التي بدأ فيها التطبيق بإلقاء مجموعة من الأخطاء بسبب ترميز غير متوافق.Trailblazer هو مثال رائع يوضح الحالة الراهنة للمجتمع والنظام البيئي. من ناحية ، فإن حقيقة وجوده دليل جيد على أنه لا يزال هناك مجال كبير للتجربة في مجتمع روبي. لكن أعتقد أنه إذا ظهر قبل 5 سنوات ، فسيكون أكثر شعبية ، لأننا الآن قمنا ببناء نظام بيئي أكبر بكثير حول ريلز ، مع الكثير من الأحجار الكريمة.
في النهاية ، أنت تهتم أكثر بما يمكنك القيام به مع المكدس المألوف. عندما تحتاج فقط إلى كتابة تطبيق يمكنه إصدار الفواتير وإنشاء ملفات PDF واستخدام مآخذ الويب ، يفضل العديد من الأشخاص استخدام ما يستخدمه الآخرون بالفعل - في هذه الحالة ، يمكنك مشاركة الأحجار الكريمة والمناقشات والعثور على إجابات لـ StackOverflow وما إلى ذلك.
بهذا المعنى ، يمكننا القول أن جزءًا من مجتمع روبي قد مات. منذ 5-10 سنوات ، كنت تفعل أشياء جديدة باستمرار ، ولا تقلق كثيرًا بشأن التوافق ، وتستخدم أحدث وأروع الأحجار الكريمة ، لأنه لم يكن هناك "أمتعة" خلف ظهرك. الآن ، تراكمت معظم المشاريع في مجتمع "الأمتعة" بشكل لائق. وقد انتقل أولئك الذين يحبون التجريب والابتكار إلى مجتمعات وأنظمة بيئية أخرى.
أعتقد أن هذا أمر طبيعي.أنا لا أمانع أيضًا. إنه مثل النمو ، مرحلة أخرى من الحياة.
ما رأيك في الكتابة الثابتة؟ هل هناك أي احتمال للحصول على فوائد هذا النهج في روبي؟أتطلع إلى ذلك لأنني اختبرت بالفعل مزايا هذا الشيء في نظام جافا سكريبت مع TypeScript. جافا سكريبت تشبه إلى حد كبير روبي. , , . TypeScript — JavaScript , JavaScript . , , , , . TypeScript, JavaScript.
, . TypeScript. Ruby. , TypeScript JavaScript, , JavaScript . . , . , , . JavaScript, , , , - JavaScript. , TypeScript JavaScript, , .
, Ruby, . , , , , , , , , Rails, , , , . , Ruby .
. , . : . , , . , , , , . , ., , . , TypeScript . . , JavaScript . , - , .
, — . , . TypeScript , . , Ruby. , Ruby , .
, RailsClub . , , . , . , ., , , , , , , , - .
, , , , ., . , , Rails, . . - , , Rails. , JavaScript , . , Ember, TypeScript. , , JavaScript . , , . , .
? 5 ?, . 2 .
-, , «», , . , , . Ruby, , . , Ruby , open source, . . , . , , , .
Medium. , , , — . , , , , , . — , , .
, . , . . , . , . ?, . . «». - «», . , - , , . , , .
, , . . , Ruby. , , Rust Ruby. . , . , . , , , , , . — .
, ?, . , — , . , .
, . , Rust . Java Rust. , Rust. , . Rust — , .
, — . -, .Rust, , . , , , , -, . , , , , . .
, «This Week in Rails» .شكرا لك!
أنا شخصياً لم يعد لدي الوقت الكافي لكتابة هذه الرسائل ، لذا لا داعي الآن لتقديم الشكر. الرجال الذين يكتبون لهم يعرفون الآن أشياءهم. والآن ، بصفتي قارئ رسائل إخبارية ، أقدر حقًا عملهم.لقد تلقيت هذه الرسائل على الأقل في العامين الماضيين. من المثير للاهتمام أن تقرأ يوم الاثنين ما حدث الأسبوع الماضي في مجتمع ريلز!لقد كان الكثير من المرح! أنا سعيد لأنني بدأت هذا المشروع.شكرا لك! . RubyRussia . ?, , , . , . , , . ? -, ?
-, , , . : , , . ! , , .! - , . , . , !
.!
! ! ! !! ( :) 6 .
, . 8000 .
hype.codes .
, Ruby- :
—
Toptal—
Gett—
Instamart ,
UCHi.ru ,
JetBrains—
Bookmate InSales