البحث في الموقع
المحتوى عن 'إصدارات'.
-
ما هو نظام التحكّم في النسخ Git، ولماذا حرّي بك أن توليه اهتماما؟ إن التحكّم في النّسخ، هو نظام يسجل التغيرات التي تحدث عبر الزمن على ملف أو مجموعة ملفات بحيث يمكنك الرجوع إلى مرحلة معينة (إصدار) لاحقًا. عمليا، يمكنك أن تقوم بهذا على جُل أنواع ملفات الحاسوب. إذا كنت تعمل كمصمم رسوميات أو ويب، مبرمج أو ما شابه وتريد طريقة لمتابعة جميع الإصدارات والتعديلات التي تجريها على صورة أو قالب ما (الأمر الذي سيعجبك بالتأكيد)، فإنه من الحكمة استعمال نظام إدارة الإصدارات VCS. حيث يمكّنك من إرجاع الملفات إلى حالٍ كانت عليه سابقًا، أو إرجاع مشروع بأكمله، يمكنك أيضًا مقارنة التغيرات الحاصلة مع مرور الزمن، أو معرفة من قام بآخر تعديل قد يكون سبب خطأ ما، من أشَارَ إلى خطْبٍ ما ومتى، وغيرهم المزيد. استخدامك لنظام إدارة الإصدارات يعني أيضًا أنه إذا قمت بعبث وتبعثرت أشياء، أو خسرت ملفات المشروع لسبب ما، يمكنك استرجاعها إلى حالها بسهولة. بل وبأدنى مشقة منك. أنظمة إدارة إصدارات المصدر المحلية الطريقة المثلى لدى كثير من الناس في التحكّم النسخ، هي نَسخ الملفات في مجلد مغاير (قد يكون مُعّلما بالزمن، في حالة كان الشخص حذِقا). هذا النهج منتشر بكثرة لبساطته، لكنه وبشكل مفرط، مَدعاة للغلط. فمن السهل نسيان أيٌ من المجلدات أنت فيها فتكتب عن غير قصد في الملف الخطأ، أو تنسخ فوق ملفات لم تكن تعنيها. للتعامل مع هذا المشكل، عمل المبرمجون قديما على تطوير VCSs مزودة بقاعدة بيانات بسيطة تحفظ جميع التغيرات التي تطرأ على الملفات التي هي تحت إدارة المراجعة (انظر الصورة). إحدى أدوات VCS الأكثر شعبية كان نظاما تدعى rcs والتي لا تزال تُوّزع مع العديد من حواسيب اليوم. حتى نظام OS X المشهور يحوي أمر rcs عند تنصيبك لأدوات المطور، تعمل هذه الأداة أساسا بحفظ مجموع الرقع (أي الاختلافات الحاصلة بين الملفات) بين كل عملية تغيير واحدة ومثيلتها في هيئة خاصة على القرص الصلب، يمكنها بهذا إعادة إنشاء أي ملف بنفس الهيئة التي كان عليها في نقطة ما من الزمن عن طريق دمج الرقع. أنظمة إدارة إصدارات المصدر المركزية المشكل الكبير التالي الذي واجه المستخدمين هو حاجتهم إلى التعاون مع مُبرمجين آخرين على أنظمة تشغيل أخرى. ولحل هذا المُشكل تم تطوير أنظمة لإدارة إصدارات المصدر مركزية (CVCSs). تستخدم هذه الأنظمة، مثل كل من CVS ،Subversion أو Perforce خادوما واحدا يحتوي كل الملفات التي نقوم بإدارة إصداراتها، إضافة إلى مجموعة من العملاء الذين يقومون باسترجاع الملفات من هذا الخادوم المركزي. ظلت هذه الأنظمة لسنوات عديدة المعيار القياسي لأنظمة إدارة إصدارات المصدر. توفر هذه الأنظمة مزايا عديدة خاصة إذا ما قارناها بأنظمة إدارة الإصدارات المحلية، فعلى سبيل المثال يُمكن للجميع –إلى حد مُعين من الدقة- معرفة ما الذي يقوم به الجميع على المشروع، كما أن للمدراء القدرة على التحكم بشكل دقيق فيما يُمكن لأي مشارك أن يقوم به. دون أن ننسى أنه من الأسهل التعامل مع نظام إدارة إصدارات مركزي مقارنة مع إدارة قواعد بيانات على جهاز كل مشارك. في المقابل، تأتي هذه الأنظمة مرفقة ببعض العيوب والتي قد يكون أخطرها هو اعتماد النظام على نقطة مركزية وحيدة، فإن تعطل الخادوم لساعة من الزمن، فإنه من غير المُمكن لأي كان أن يتشارك التحديثات التي تمت خلال تلك الفترة. أما لو تعرض القرص الصلب على الخادوم لعطب، فإنه -ما لم يتم أخذ نسخ احتياط قبل حصول ذلك- فإن احتمال فقدان المشروع بكامل تاريخه أمر وارد جدا، باستثناء النسخ المحلية المتواجدة على أجهزة المتعاونين في المشروع. أنظمة إدارة الإصدارات الموزعة ولمثل هذه الأوضاع ظهرت أنظمة إدارة الإصدارات المُوزعة (DVCSs). في مثل هذه الأنظمة كـ Git ،Mercurial ،Bazaar أو Darcs فإن ما يقوم به المستخدمون ليس مُجرد التحقق من آخر إصدار للملفات، لكن يقومون بإخذ نسخ كاملة عن المستودعات التي يعملون عليها. وعليه، فإن تعرض الخادوم لأي خلل فإنه يُمكن مواصلة العمل عبر نسخ المستودع الموجود على أي من أجهزة المستخدمين بحكم أن أي عملية تحقق يقوم بها المستخدم هي عبارة عن عملية نسخ احتياطي كامل لكامل بيانات المشروع (انظر الصورة التالية). وعلاوة على ذلك، فإن العديد من هذه الأنظمة المُوزعة تتعامل بشكل جيد مع المشاريع التي تملك عدة مستودعات تعمل عليها مجموعات مختلفة من المستخدمين بطرق مختلفة وضمن نفس المشروع. هذا الأمر يسمح باعتماد مهام لسير العمل لم يكن بالإمكان اعتمادها على الأنظمة المركزية مثل النماذج الهرمية. ترجمة -وبتصرف- لـ About Version Control من كتاب Pro Git لصاحبه Scott Chacon.
-
- vcs
- نظام إدارة النسخ
-
(و 3 أكثر)
موسوم في:
-
إن الإصدارات التجريبيّة الخاصّة (private betas) هي طريقة رائعة في التّحكم في آلية الوصول إلى مُنتجك (من يستخدم مُنتجك وكيف) وهو في مرحلة التطوير. تَعمل الإصدارات التجريبيّة (بيتا) بالشكل الأمثل عندما يُقدّم المُنتج قيمة، ولكنه غير جاهز للاستخدام من طرف الجميع؛ إمّا لأسباب تتعلّق بمشاكل التوسّع (scaling)، أو عوز التوثيق، أو عدم اكتمال ميّزة جوهريّة في المُنتج، أو لأي سببٍ كان. لا يُمكن بطبيعة الحال اعتماد هذا الأسلوب مع أي مُنتج أو مشروع، وربّما هذه هي مُشكلة الإصدارات التجريبيّة الوحيدة. مسار عمليّة التسجيلإن بدأت بالتحدّث عن المُنتج علانية، فإن ذلك قد يُلفت نظر المُستخدمين المحتملين، ربّما عن طريق رابط من تغريدة، أو رُبما من تدوينة، المهم، سينتهي المطاف بالمُستخدم على صفحة سننطلق قريبًا (holding page)، إن المُستخدم في هذه المرحلة مُهتم بالمُنتج، ولكنه في نفس الوقت لا يستطيع الاستفادة منه، وكل ما سيفعله هو تسجيل بريده الإلكتروني، أو مُتابعتك على تويتر، لتبدأ رحلة من الانتظار. نعتقد نحن أصحاب المشاريع، أنّه ما أنّ ندعو هؤلاء الزبائن، أو نُطلق المشروع بشكل رسمي، سيقفز هؤلاء الزبائن فرحين مُتلهفين للمُنتج، ولكن هذا نادرًا ما يحدث، أتعلم ما سيحدث؟ خسران الزبون، أنت خسرتَ الزبون حتّى قبل أنّ تحصل عليه. الافتراضات الخاطئة والمسارات الهشّةتُظهر الصورة السابقة مسارًا (funnel) ناجحًا يتعلّق بنقل المُستخدمين من مرحلة الانطلاق التجريبي بيتا إلى مرحلة التسجيل الرسميّة، حيثُ أننا نفترض أنّه بما أنّ المُستخدم قد قام بالتسجيل، فسنحصل على بريد صالح، وإن كان البريد صالحًا، إذًا فإن رسالتنا المُرسلة قد تمّ استلامها، وإن تمّ استلامها، إذًا قد تمّ فتحها من قبل الزبون المُستهدف، أخيرًا، إن تمّ فتح الرسالة، إذًا فقد تمّ تصفّحها والعودة إلى الموقع من خلالها، ولكن في حقيقة الأمر هذه مُجرّد افتراضات، حيثُ أنّ مرحلة التسجيل بيتا غير مأمونة مع كل خطوة من هذه الخطوات. تكمن المُشكلة الحقيقية هنا، أنك جذبت اهتمام الزبون في وقتٍ لا تستطيع تقديم فيه أي شيء، وقد يبدو المسار السابق مُحبطًا بعض الشيء، ولكنني تحدّثت مع العديد من أصحاب التطبيقات، وجميعهم تقريبًا أكدوا على هذا التّراجع في الاهتمام والتّفاعل. خطوات عليك اتباعها قبل إرسال دعوات البريد الإلكترونيهناك بعض الأشياء تبدو بديهيّة مع ذلك يغفل عنها الناس عادةً رغم بساطتها، حيثُ أني أعتقد أنّ دعوات البريد الإلكتروني تُكتب دائمًا بنوع من العجلة، ولا تحصل على القدر الكافي من التحضير والتخطيط، ناهيك عن التصميم. اكتب بشكل شخصيإن كنت تقوم بتجميع أسماء الزبائن المُحتملين، إذًا عليك استخدام هذه الأسماء في عنوان البريد الإلكتروني وفي متن الرسالة أيضًا، شخصيًا سأفتح بالتأكيد رسالة من نوع "مرحبًا مُحمّد" بدلًا من رسائل من نوع "عزيزي المُستخدم"، فمن خلال تجربتنا، وجدنا أنّ هذا الأمر لوحده زاد من معدّل فتح الرسالة (open rate) على أقل تقدير 12%، ونسبة clickthroughs / النقر على الّروابط (CTR) بمقدار 15%. إن كنت لا تستطيع الحصول على الأسماء، فهناك طريقة سهلة للحصول عليها، وهي باستخدام أداة Rapportive، بالإضافة إلى أنّ بعض تطبيقات البريد الإلكتروني ستُساعدك على جلبها. بالنّسبة إلى معظم الشركات الناشئة فإن الحصول على مُستخدمين للتّطبيق في بداياته جدير بأن تُخصّص وقتًا للحصول على هذه الأسماء اشرح ووضّح تطبيقك تعثّر عمر في زحام المرور، لذا قرّر تصفّح موقع تويتر ليقتل الوقت والتخلّص من الملل، ليجد شخصًا ما قد قام بإعادة تغريد رابط إلى الإصدار بيتا الخاصّ بك، تابع عمر إلى أنّ وصل إلى صفحة "سننطلق قريبًا"، أدخل عمر بريده الإلكتروني، وبينما هو يقوم بالإرسال، حُلّت أزمة الزحام، ليُتابع مسرعًا إلى المنزل، متلهفًا إلى مشاهدة مُباراة اللّيلة، هل تظن أنّ عمر ستكون لديه أدنى فكرة عن التطبيق بعد أسبوعين من الآن؟ بكل بساطة الإجابة هي "لا". إن الأمر مُشابه بالنسبة لي عندما استلم بريدًا فحواه "الموقع فلاني دوت كوم تمّ إغلاقه ولكنّنا انتقلنا إلى العمل على مشروعنا الجديد علّاني دوت نت" أنا أقرأ هذا الرسالة كالتّالي: "موقعنا الّذي لم تسمع به من قبل لم يعد متاحًا، لذلك قمنا بإنشاء موقع آخر لك لكي تنساه أيضًا". أتمنّى لو أستطيع ترشيح هذا النوع من الرسائل إلى الحذف مُباشرةً. وضّح ما يقوم به مُنتجك، من تَستهدف منه، من يقوم باستخدامه بالفعل، ما هي ميزاته عن مُنافسيه، ولا تنس أنّ تجعل الخطوة التّالية واضحة، مثلًا، إن كان المُنتج تطبيقًا للهاتف iPhone، وضّح للمُستخدم أنّ الوصلة التي سينقر عليها ستأخذه إلى متجر التطبيقات، إن كانت هناك نسخة تجريبية لا تحتاج إلى تسجيل وضّح ذلك أيضًا، ولا تنس أنّ الصور التوضيحيّة تساعد أيضًا خاصّةً إن كانت الواجهة فريدة من نوعها وتتحدّث عن نفسها. اجعل الأمر مُغريًايعيش ماجد في الرياض، وهي أحد المُدن المُكتظّة بالمقاهي والمطاعم، وهو الآن في أحدها مع صديقه المُقرّب، وبينما يقوم صديقه بالطلب، بدأ ماجد باللعب بهاتفه ليجد أربع رسائل إلكترونيّة غير مقروءة، وعلى عكس ما قد يفعل عادةً، قرّر النظر في أمرها ورُبّما التخلّص منها بينما هو ينتظر، وبدأ بالحذف والأرشفة إلى أنّ وصل إلى رسالتك، وفي هذه الأثناء أصبح الطلب جاهزًا للاستلام. السؤال هنا، هل أعطيته سببًا لكيلا يتخلّص من رسالتك الإلكترونيّة؟ إن الأمر كالتّالي: أنت لا تستطيع أنّ تختار كيف وأين سيقرأ ماجد رسالتك، ولا يمكن لك أنّ حتّى أن تُقرّر فيما إذا كان سيفتح ويقرأ رسالتك أم لا، إن الشيء الوحيد الّذي تستطيع أنّ تتحكّم به هو العنوان والكلمات الأولى من الرّسالة (60 حرف لا أكثر)، وهذا هو سلاحك الوحيد فقط ضد حذف رسالتك الإلكترونيّة، لذا استخدمه بحكمة. التأخير وتحويل الزوّار إلى زبائنتقل فرص التحويل conversion مع مرور كل أسبوع، إلا إذا كانت الفئة المُستهدفة موجودة بالفعل وتنتظر مُنتجك على أحر من الجمر (وهذا احتمال ضعيف) فعندما وصلنا إلى نهاية المرحلة التجريبيّة في "إنتركوم" قمنا بإرسال عدد كبير (أزْيَد من 500) من الدعوات يوميًّا، بعد تحليل هذه الأرقام، أصبح من الواضح لدينا كيف أنّه كلّما قصُر الوقت بين وقت التسجيل ووقت إرسال الدعوة، كلما زاد معدّل التحويل (conversion rate). يبدو الأمر منطقيًّا في الحقيقة، ففُرص نجاح الحملة أكبر على اعتبار أنّ المُستخدم ما زال يُفكّر بالمُنتج، ومازال يرغب بالحصول عليه، ولم يجد إلى الآن بديلًا آخر بعد. قياس أداء البريد الإلكترونيلا تستطيع مُعظم أدوات البريد الإلكتروني اكتشاف متى تمّت قراءة رسالة البريد الإلكتروني أو إن تمّ تجاهلها بدقّة، ليس هذا فقط بل إني أتوقّع أننا سنشهد تدهورًا في معدّل فتح الرسائل في السنوات القليلة القادمة، إلا إذا ما تمّ اختراع تقنيّة جديدة للحد من ذلك، مع العلم أنّ البعض أصبح يُقدّم بعض هذه التقنيّات لقياس وقت تفاعل المُستخدم مع الرسالة، ويُعتبر ذلك مؤشّر أفضل من معدّل فتح الرسالة (open rate)، ولكن الجميع مهووس بحساب العائد على الاستثمار، وعليه فإن على مسوّقي البريد الإلكتروني البحث عن مكان آخر من أجل معلومات ذات قيمة حقيقيّة. الدعاية مع الإصدارات بيتاتعمل إصدارات البيتا الخاصّة بشكل فعّال عندما تريد أنّ يُستخدم المُنتج بشكل حقيقي وفعلي لدى بنائك لرؤيتك للمُنتج (your vision of the product)، ولكنك ترغب أيضًا في التّحكم فيما يُقال ويُتشارك بخصوص المُنتج، وعلى الشركات الناشئة التحكّم فيما يُنشر على مُنتجاتها لثلاثة أسباب: الانطباع الأوّل مُهمإن كان مُنتجك ذو فكرة جديدة ومُبتكرة، فلديك فرصة وحيدة لإبهار المُستخدمين، فإن كان كل من يتحدّث عن مُنتجك يُضمن في حديثك عبارات مثل “بمُجرّد أن يتم تحسين واجهة المُستخدم”، أو “هناك نقائص في واجهة المُستخدم”، فإن ذلك يترك الانطباع السّيّء: “مُنتج جيّد لكن التصميم سيّء”. الإعلام يُغطّي الجديد فقطلا تستطيع الادعاء بأن مُنتجك جديد إن كان الجميع يتحدّث عنه على الشّبكات الاجتماعية، فغالبًا كل من قد يهتمّ لحال مُنتجك قد يكون قد سمع به، بمعنى آخر لا وجود لأي “قصّة” قد تدفع وسائل الإعلام للحديث عن مُنتجك. حتّى ولو كان مُنتجك عبارة عن iPad جديد وكانت مُتوفّرًا بإصدار تجريبي لفترة، فلن يذهب أي أحد لحفل الإطلاق الرّسمي له فالكل يعلم ماهية المُنتج الذي سيتم الكشف عنه. تحدّث قليلًا، لتُسمعيُطلق هاتف جديد أندرويد كل أسبوع، وما ينتج عن ذلك هو أن قلّة فقط تهتم بالأمر، ولكن في المُقارنة تُطلق أبل مُنتجين بالسنة، وقد لا تحتوي هذه المُنتجات على شيء جوهري جديد، ولكن الجميع يُريد أنّ يعرف عن الأمر، إن الصمت الّذي تنتهجه أبل قوي بالفعل، واستغرب من عدم اتباع باقي الشركات المفهوم ذاته. تتطلّب البيتا الخاصّة جُهدًا إضافيًا، ومن الصعب أنّ تبقى صامتًا عندما تعمل على شيء مُميّز وتهتم به، ولكن تذكّر أنّ أحد أكبر التحديات الّتي تواجه التطبيق هو الحصول على الشهرة والانتشار بين المُستخدمين، فالأمر يتطلّب أن يكون الأمر فريدًا من نوعه، ومُثيرًا للاهتمام. ترجمة –وبتصرّف- للمقال What You Should Know About Private Betas.