يقولون إن الوقت يمر بسرعة عندما تستمتع بوقتك. بالنسبة لي شخصيًا، فإن الجزء الممتع مهم بشكل خاص في كل يوم من أيام بدء التشغيل ونمو الأعمال. فهو يجعلني أستمتع بوقتي بغض النظر عن مقدار ما يستهلكه الزحام الأسبوعي من موارد طاقتي الداخلية.
(في الحلقة القادمة سأتابع موضوع الفكاهة في مكان العمل لأتوسع أكثر في هذا الموضوع لأني أستطيع ذلك. ").
بالحديث عن الوقت، مرّ أسبوعان على آخر منشور لي وبالتالي حان وقت الحلقة الرابعة من #TheCodestReview السلسلة.
قائمة الموضوعات التي نتناولها هذا الأسبوع
- التعلق بـ React
- كل ما تريد أن تعرفه عن التخزين المؤقت للعرض في Rails
- المدير الهندسي كمدير رئيسي للتوظيف
التعليق على عرض التخزين المؤقت للعرض الذي قدمه مطورنا كامل المكدس والمدير الهندسي في البودكاست الذي علق عليه بنفسي المتواضعة.
بصفتي خبيرًا معروفًا في تطبيق الرسام ومعجبًا بصور GIF والميمات التي تشبه شوكولاتة ميرسي - التي تقول أكثر من 1000 كلمة، قررت أن أضيف هنا من الآن فصاعدًا نكهة منها. وخمنوا ماذا؟
دارث سيديوس هل تعتقد أنك تستطيع إيقافي GIF من صور GIF دارثسيديوس
في المرة الأخيرة قررنا أن نسلط بعض الضوء على StimulusReflex التي تحظى بالاهتمام في مجتمع روبي كطفل جديد في المجموعة، كونها بديلاً لاستخدام جافا سكريبت الأطر في مشاريع Rails لتجنب المبالغة.
انظر: StimulusReflex المعروف أيضًا باسم ReactiveRails
ولجعلها معركة متكافئة، أردت أن أترك React يرد على Stimulus. وبما أنني أيضًا رجل معروف بشرفه، ودائمًا ما أفعل ما أقول وأفي بوعودي، فإليكم الأمر:
في الحلقة القادمة يسعدني ويسعدني أن أعلن أنه سيكون لدينا منشور ضيف من مهندس React من Vinted.com. بالنسبة لأولئك الذين لم يسمعوا من قبل عن Vinted (احتمالات منخفضة، ولكن لا يزال ذلك ممكنًا)، فإن Vinted هو سوق للأزياء نشأ من فيلنيوس، ليتوانيا وقد وصل إلى تقييم أحادي القرن في عام 2019. المنصة مبنية على أساس متين Ruby on Rails مدعومًا بـ React على الجزء الأمامي.
ملاحظة جانبية: زوجتي تحب Vinted تمامًا وقد توقفت تمامًا تقريبًا عن استخدام OLX كوجهة أساسية لها للتخلص من الفوضى في خزانة ملابسنا وبيع الملابس المستعملة (كانت من أشد المعجبين بها) = أنتم يا رفاق تفعلونها بشكل صحيح!
يشرفني أن أرحب بأول ضيف مساهم في سلسلتنا:
ميريل ستريب نعم GIF من صور GIF لميريل ستريب
Ugnė Kryževičičiūtė - React مهندس من فينتيد
عند قراءة عنوان البودكاست الأخير لـ LadyBug ("الحصول على مدمن على React")، توقعت أن يكون في الغالب حول خطافات React. ومع ذلك، على الرغم من أنه لم يتعمق في الخطافات، إلا أن البودكاست قدم مقدمة ممتازة لأساسيات مكتبة React لـ JavaScript.
يناقش علي وإيما من بودكاست LadyBug خصوصيات وعموميات React - بدءًا من التصميم العام للمكتبة وفوائدها إلى المناقشات الحية حول المكونات أو معالجة البيانات أو دورة حياة React، وكل ذلك مقدم مع قليل من الخبرة الشخصية. إنه برنامج جدير بالاهتمام لأي مطور واجهة أمامية لم تتح له الفرصة لتجربة عجائب React.
كان أول لقاء لي مع React منذ حوالي ثلاث سنوات عندما بدأت رحلتي كمطور. على الرغم من أن علي وإيما أشارا إلى أن React قد يبدو مربكاً في البداية، إلا أنني من تجربتي الخاصة، وجدت أنه من السهل نسبياً البدء به وربما الأسهل في التقدم مقارنةً بالأطر الأمامية الأخرى. هناك الكثير من البرامج التعليمية والمقالات والمكتبات مفتوحة المصدر وأنواع أخرى من المواد التعليمية المتاحة في كل مكان. ومع ذلك، يجب على المرء أن يكون على دراية بالتطوير النشط لـ React عند تصفح هذه الموارد. هذه الحلقة من بودكاست LadyBug ليست استثناءً - فبعض الجوانب والطرق المذكورة تم إهمالها بالفعل لبعض الوقت. وبالتالي، من الأفضل اتباع نصيحة إيما نفسها والاطلاع على أحدث الوثائق.
React تطورت ونضجت كثيرًا، مما جعل الكود الكتابة بشكل أسهل مع الخطافات، والتي تتيح لك استخدام طرق الحالة ودورة الحياة دون كتابة مكونات الصنف. ولكن بالنسبة للمبتدئين -كما يلاحظ علي بدقة- فإن تنوع الطرق التي يمكنك من خلالها كتابة React (مثل مكونات الصنف/الدالة/الخطافات) يضيف تعقيدًا إضافيًا، إذ قد يكون من الصعب أحيانًا تصور ما يجري. كما أن الاضطرار إلى استخلاص ما تحتاج إليه والعثور على المعلومات ذات الصلة فيما يتعلق بتنفيذ التعليمات البرمجية قد يكون أمرًا صعبًا.
من أهم مزايا React، يشير علي إلى أنه قائم على المكوّنات، مما يتيح إمكانية وضع وحدات البرمجة وتسهيل العمل مع المطورين الآخرين. بالإضافة إلى ذلك، تُعد القدرة على استخدام JSX أداة مساعدة بصرية رائعة عند العمل مع واجهة المستخدم في كود JavaScript - لا تحتاج إلى ملفات HTML منفصلة!
يلخص علي وإيما أيضًا بشكل جيد المرونة التي يوفرها وجود نظام مكون. ومن الأمثلة الممتازة من الممارسة العملية شركتي Vinted، التي شهدت نموًا سريعًا فيما يتعلق المنتج وكذلك فرق التطوير على مدى السنوات العديدة الماضية. لقد وفرت لنا React فوائد هائلة - فقد مكنتنا من كتابة شيفرة أكثر نظافة، واستخدام مكونات واجهة مستخدم قابلة لإعادة الاستخدام، وجعلت اختبار شيفرتنا أسهل.
بشكل عام، تقدم حلقة بودكاست LadyBug هذه مناقشة حيوية وساحرة حول الجوانب الرئيسية لـ React. أوصي بها لأي شخص يبدأ رحلته مع React. الحلقة مليئة بالأمثلة المضحكة والتشبيهات المضحكة في الحياة الواقعية، "تجذب بسلاسة" انتباه كل مستمع، بما في ذلك أنا.
وجهات النظر في Rails للأسف تصبح أبطأ مع مرور الوقت. وذلك لأن كمية الكائنات المخزنة في قاعدة البيانات تزداد. هذا يسبب أوقات استعلام أطول وبالطبع معالجة أطول إذا كنت تفعل شيئًا ما مع كل كائن من الكائنات. عندما يحدث ذلك لا تترك دون أي فرصة حيث توجد طرق عرض Rails للتخزين المؤقت.
وبفضل هذا يمكنك توفير الكثير من الوقت عن طريق تحميل البيانات الثقيلة بقاعدة البيانات من ذاكرة التخزين المؤقت (تحميل ملف واحد محفوظ يشبه html بدلاً من الاستعلام عن قاعدة البيانات ومعالجة الكائنات). يمكنك أيضًا جعلها أقل تكلفة في حالة وجود أجزاء وكائنات مختلفة - بالطبع إذا كانت الكائنات لا تتغير كثيرًا. يمكنك أيضًا محاولة الاحتفاظ بالكائنات المخزنة مؤقتًا في أجزاء منفصلة - وحفظ 19 من أصل 20 منشورًا يتم عرضها (ربما مع الكثير من الحقول).
بشكل افتراضي يستخدم التخزين المؤقت لـ Rails ذاكرة التخزين المؤقت لـ file_store ويحتفظ بالبيانات المخزنة مؤقتًا في المجلدات. لكنه لا يحذف إدخالات ذاكرة التخزين المؤقت القديمة (التي قد تكون انتهت صلاحيتها منذ فترة طويلة). هذا يمكن أن يؤدي إلى تجاوز كمية الملفات أو حتى نفاد المساحة الخالية على الخادم. الطريقة الأخرى هي memory_store والتي لها أيضًا بعض الجوانب السلبية (حيث يتم الاحتفاظ بذاكرة التخزين المؤقت على خادم واحد). كما أنها يمكن أن تتجاوز مقدار ذاكرة الوصول العشوائي المحفوظة على الخادم (أو نقص ذاكرة التخزين المؤقت إذا كان سيتم حذفها طوال الوقت). هذا هو السبب في أن أفضل آلية للتخزين المؤقت على نطاق واسع هي طريقة Memcached/Redis. يمنحك هذا فرصة استخدام جهاز منفصل يحتفظ بذاكرة التخزين المؤقت التي يمكن استخدامها من قبل جميع الخوادم. وبفضل ذلك لن تكون هناك مشكلة في نقص ذاكرة التخزين المؤقت أو إنهاء مساحة القرص على الخادم.
يتم الاحتفاظ بذاكرة التخزين المؤقت في Rails بناءً على معرّف - والذي يمكن إعطاؤه مباشرةً كسلسلة أو يتم إنشاؤه تلقائيًا عند تمرير كائن إلى دالة التخزين المؤقت. في حالة الكائنات غالبًا ما تكون السمة updated_at. يمكنك أيضًا توفير مفتاح ثابت من معلمات الكائن.
طريقة مختلفة للتخزين المؤقت هي استخدام Javascript لتحديث حقل يتم تغييره مرة واحدة في اليوم. وبهذه الطريقة يمكنك الحصول على تاريخ صالح معروض طوال الوقت، دون تحديث الموقع الإلكتروني - والذي قد يكون تشغيله ضخمًا جدًا أو بطيئًا.
حتى لا أفسد عليكم الكثير، فإن حلقة النقاش التي تغطي موضوع دور مدير الهندسة في عملية التوظيف قيّمة للغاية بالنسبة لكم جميعاً ممن يتساءلون متى يحين الوقت المناسب للقائد التقني للدخول في دورة المقابلات الشخصية. في كوديست، نحن نمارس نوعًا ما ما يعظ به أعضاء اللجنة و CTO هي نقطة الاتصال الأولى مع المهندسين المتقدمين إلينا، بينما في المرحلة التالية تجلس المقابلات من قبل الفريق المديرين الذين سيعمل معهم المنضمين الجدد المحتملين عن كثب. بعض النصائح القابلة للتنفيذ التي يمكنك تطبيقها على الفور لترقية لعبتك في التوظيف كمدير هندسي:
-
راجع العملية التي تتبعها وتأكد من انضمامك إلى التدفق في أقرب وقت ممكن، ومن الأفضل أن تكون نقطة الاتصال الأولى للمرشحين لأن الانطباعات الأولى تلعب دوراً رئيسياً في كيفية رؤية شركتك من قبل أفضل المواهب.
-
تواصل مع مديري التوظيف ذوي الكفاءة العالية في مؤسستك (ربما الشخص الذي قام بتوظيفك في الماضي) واسأل عما إذا كان بإمكانك مرافقة بعض المقابلات التي يخططون لها، وتحقق من أساليبهم، واسأل عن النصائح. راقب وتعلم. ادخل كل مقابلة بفضول حقيقي تجاه المرشحين.
-
ابحث عن الإمكانات ووظّف من أجل الإمكانات والقدرة على النمو السريع.
-
تحدث من خلال إعلانات الوظائف الخاصة بك مع جميع مهندسيك واسألهم عما إذا كانوا سيتقدمون للوظيفة. إذا لم يكن الأمر كذلك، اسألهم عن الأمور السيئة وطبق ملاحظاتهم في إعلان الوظيفة 2.0 التي توشك على دفعها إلى لوحات الوظائف.
-
انظر إلى المقابلة الأولى كفرصة لإنشاء علاقة رائعة مع زملائك المستقبليين المحتملين.
أشجعك على مشاهدة لوحة الفيديو كاملة، ولكن إذا كنت من محبي البودكاست وترغب في الاستماع أثناء القيادة أو التمرين أو غسل الأطباق، فإليك أيضًا سبوتيفاي الرابط.
شكراً جزيلاً على القراءة، وإذا كنت قد وصلت إلى هذا الحد، فأنا أقدر وقتك وأي ملاحظات (سواء كانت رائعة أو انتقاداً لي) هي أكثر من مرحب بها على لينكد إن أو إلى البريد الإلكتروني.
نعود إليكم بالحلقة القادمة قريباً (تقريباً)!
صورة متحركة راقصة يبي سوف أراك قريباً من صور متحركة Yippieiwillseeyyousyoon GIFs
اقرأ المزيد:
مراجعة TheCodestReview #3 - عصير هندسة البرمجيات الأسبوعي
مراجعة TheCodestReview #2 - عصير هندسة البرمجيات الأسبوعي
مراجعة TheCodestReview #1 - عصير هندسة البرمجيات الأسبوعي