5 أمثلة على أفضل استخدامات روبي
هل تساءلت يومًا ما الذي يمكننا فعله مع روبي؟ حسناً، ربما تكون السماء هي الحد الأقصى، ولكن يسعدنا أن نتحدث عن بعض الحالات المعروفة بشكل أو بآخر...
قبل بضع سنوات، كنت أستجوب بعض أصدقائي، وجميعهم مطورو جافا. لست متأكدًا من كيفية حدوث ذلك، لكننا بدأنا الحديث عن بيئات البرمجة الخاصة بنا. أخبرتهم أنني أقوم بكل ما أقوم به من تطوير باستخدام Vim والمحطات الطرفية. أثار ذلك بعض النكات والأسئلة المضحكة، مثل ما إذا كنت لا أزال أستخدم البطاقات المثقوبة 🙂
ومنذ ذلك الحين، جربت بعض برامج IDE "الحقيقية" لكنني كنت أعود دائمًا إلى فيم والمحطات الطرفية حيث إنها طريقة سريعة جدًا، وتحتوي على جميع الأدوات التي أحتاجها وأحب ببساطة العمل في وضع النص.
إليك بعض التفاصيل حول سير عملي. تجدر الإشارة إلى أنني أعمل على نظام لينكس، ولكن يمكنك إعداده على نظام ماك أو ويندوز دون أي مشاكل.
أبدأ يوم عملي بفتح محطة طرفية، و cd ~/Projects/XYZ، وتشغيل تمكسلذا دعنا نبدأ من هنا.
ما هو تموكس? كما يقول المؤلفان
TMUX هو مُضاعِف إرسال طرفي. يُتيح لك التبديل بسهولة بين عدة برامج في محطة طرفية واحدة، وفصلها (تظل تعمل في الخلفية) وإعادة ربطها بمحطة طرفية مختلفة.
أستخدمه للتبديل بين عدة أشياء في محطة واحدة. لذا، في واحد تموكس النافذة، لدي القضبان الخادم قيد التشغيل، في الثانية لدي فيم مفتوحة، وفي كل مرة أحتاج فيها إلى القيام بشيء ما في المحطة، مثل التحقق من المسارات أو تشغيل الترحيلات أو الاختبارات، أفتح نافذة جديدة مع CTRL-A C
وفعل الشيء
لا أستخدم تموكس الأجزاء، والنوافذ فقط، وأقوم بالكثير من التبديل (لديّ CTRL + double-A مرتبط بالتبديل بين النوافذ الأخيرة).
ميزة أخرى مريحة للغاية لـ تموكس هو أنه يسمح لي بالعثور على نص ونسخه من محطة طرفية دون استخدام الماوس.
إنه الجزء الرئيسي من سير عملي. لن أخوض في تفاصيل حول ماهية فيم وكيف يختلف عن المحررين الآخرين. هناك الكثير من المقالات ومقاطع الفيديو الرائعة حول هذا الموضوع. باختصار فيم هو محرر مشروط. يحتوي على وضعين، وضع الإدراج والوضع العادي. الإدراج هو لكتابة النص في المستند، والوضع العادي هو لإجراء عمليات مختلفة على المستند، مثل تحريك المؤشر، وحذف أجزاء من النص، وتغييره، وما إلى ذلك. يبدو الأمر غريبًا ولكن بعد مرور بعض الوقت يبدو الأمر طبيعيًا جدًا ومن الصعب جدًا العودة إلى المحرر العادي.
ما أود أن أعرضه عليكم هو الطريقة التي أدمج بها فيم مع أدوات أخرى للحصول على كل ما أحتاجه كمطور ويب.
لست من محبي المكونات الإضافية الثقيلة فيم التكوينات، لذلك أنا أستخدم القليل منها فقط. فيما يلي القائمة:
نيردتري - هو مستكشف ملفات. يتيح لك القيام ببعض عمليات نظام الملفات الأساسية بسهولة، مثل نقل الملفات وإعادة التسمية وإنشاء ملفات جديدة وغيرها الكثير,
فيم-إندوايز - أنا مطور روبي، لذا أستخدمه لإضافة النهاية
بعد إذا
, افعل
, ديف
، والعديد من الكلمات الرئيسية الأخرى,
فيم-رايلز - إنه القضبان مكون الطاقة الإضافي. يعرف بنية تطبيق رايلز. هل تريد التحقق من الجزئية الموجودة أسفل المؤشر؟ فقط اضغط على زف
ويفتحه في نافذتك الحالية. يحتوي على العديد من الخيارات الأخرى ولكن هذا هو الخيار الذي أستخدمه في أغلب الأحيان,
فيم-محيط - مكون إضافي رائع يجعل العمل مع المناطق المحيطة سهلًا للغاية. باستخدامه، يمكنك تغيير محيط النص من () إلى [] ببضع ضغطات على المفاتيح,
فيم-تكرار - مكمل لـ Vim-surround. يسمح بتغيير محيطي متكرر مع .
(كرر التغيير الأخير في Vim),
فيمويكي- طريقي لتدوين الملاحظات
fzf.vim+ ف زف - الجزء الأساسي من تطوير الويب سير العمل.
هذه هي الأدوات التي تحدد الطريقة التي أقوم بها بالبرمجة. لقد أدركت أنني عادةً عندما أقوم ببعض مهام البرمجة، أقضي معظم وقتي في البحث عن كيفية عمل الأشياء. وللقيام بذلك، أحتاج إلى التحقق بسرعة من أجزاء مختلفة من قاعدة البرمجة وتعريفات الطرق والفئات وأشياء أخرى.
ف زف هو مرشح يونيكس تفاعلي لسطر الأوامر يمكن استخدامه مع أي قوائم (الملفات، سجل الأوامر، التزامات git، قوائم العمليات)؛ بعبارة أخرى، هو مكتشف ضبابي.
ريبجريب هو بديل لـ grep، ولكنه البديل السريع للغاية.
بمجرد الجمع بينهما، يتيح لي هذان الاثنان العثور بسرعة على أي شيء أريده في المشروع.
لدي إعدادان في فيم ملف التكوين لمساعدتي في ذلك:
nnoremap :الملفات
خريطة nnoremap :Rg
الأول يتيح لي العثور بسرعة على الملفات الصحيحة باستخدام البحث الضبابي على مسارات الملفات (CTRL-P). والثاني تشغيل أداة البحث الضبابي على جميع مسارات ومحتويات الملفات في مشروعي باستخدام ريبجريب (CTRL-F).
إذًا، لنفترض أنني أريد العثور على الهجرة حيث أضفت عمودًا إلى المستخدمون
الجدول. أضغط على CTRL-F وأكتب شيئًا مثل آدكولوسنام
وسوف تتطابق مع إضافة_عمود :المستخدمون، :الاسم، :سلسلة
.
عندما أبحث عن تعريف طريقة، غالبًا ما أقوم بتشغيل CTRL-F تعريف اسم_الطريقة
.
إنه مفيد جدًا لأنه يبحث من خلال مسار الملف + المحتوى. إنه مناسب بشكل خاص عندما أعرف أن المحتوى الذي أبحث عنه موجود في جزء معين من المشروع. على سبيل المثال، أريد العثور على مكان تحديث اسم مستخدم، وأتذكر أنه كان في مكان ما في وحدات التحكم. أضغط على CTRL-F
conupdname
لمطابقة الخط التطبيق/المتحكمون/المستخدمون_المتحكمون: @user.update(الاسم: اسم: new_name)
.
إذا كنت تعرف هيكلية مشروعك وقاعدة التعليمات البرمجية الخاصة بك، يمكنك بسهولة إنشاء استعلامات بحث غامضة للعثور بسرعة على أي شيء تريده تقريبًا.
انقر هنا لمشاهدة تسجيل قصير لي وأنا ألعب بقاعدة شيفرة "discourse" (440 ألف LOC على حاسوبي i5، 16 جيجابايت) وأظهر كيف أتحرك عادةً في المشروع.
آمل أن تكون مهتمًا بإعدادي وقررت أن تعطي ف زف في مساعي البرمجة الخاصة بك. لقد غيرت حقًا الطريقة التي أستخدم بها فيم كـ الكود محرر