لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 03/28/23 في كل الموقع
-
2 نقاط
-
الإصدار 1.0.1
7674 تنزيل
تزداد الأنظمة الحاسوبية المحيطة بنا ذكاءً يومًا بعد يوم -بعد تزويدها بأدوات تعلم صنعية- وامتد تطبيق الذكاء الاصطناعي وتعلم الآلة إلى أغلب الأنظمة والتطبيقات المحيطة بنا فقلما تجد تطبيقًا شائعًا لا يتصف بشيء من الذكاء مثل لوحة الكتابة على الجوال التي تقترح عليك كلمات تالية عند كتابة كلمة معينة أو تصحح لك كلمة إن أخطأت بها وأيضًا مثل محركات البحث والمتاجر الإلكترونية التي تقترح على المستخدم اقتراحات توافق ما يطلبه وكأنها تقرأ أفكاره، وهذا بالنسبة للمستخدم النهائي أما بالنسبة لأصحاب العمل فالتطبيقات كبيرة منها أنظمة مراقبة المعاملات المشبوهة في المصارف والحوالات المالية وأنظمة تحليل العملاء وتصنيفهم وأنظمة التنبؤ وغيرها، هذا لم أذكر ما يتعلق بالروبوتات والسيارات وأنظمة الطيران والملاحة ذاتية القيادة وغيرها الكثير مما لا يتسع حصره وذكره. كل ذلك لم يأت من فراغ بل يقف خلفه جيوش من المهندسين والخبراء وبذلك اعتني بعلم الذكاء الاصطناعي وتعلم الآلة أيما اعتناء وألفت فيه مئات الكتب ونشرت آلاف المقالات والأبحاث ومنها هذا الكتاب الذي بين يديك! دورة تطوير التطبيقات باستخدام لغة Python احترف تطوير التطبيقات مع أكاديمية حسوب والتحق بسوق العمل فور انتهائك من الدورة اشترك الآن هذا الكتاب هو الجزء الثاني من كتاب مدخل إلى الذكاء الاصطناعي وتعلم الآلة فبعد تأسيس المفاهيم والمصطلحات التي يقوم عليها مجال الذكاء الاصطناعي وتعلم الآلة في الجزء الأول، ننطلق في الجزء الثاني بتطبيق مشاريع عملية تطبيقية مبنية على بيانات واقعية ويناقش أفكار قابلة للتطبيق في الحياة العملية. فصول هذا الكتاب مبنية على عدة مساهمات ساهم بها كل مؤلف: الفصول الأربعة الأولى تعتمد على كتاب Python Machine Learning Projects لكاتبه Michelle Morales ونقله للعربية بتصرف محمد لحلح المؤلف للجزء الأول والدكتور باسل الخطيب. الفصل الخامس والسادس وهو من كتابة خالد شمعة أثرى بها الكتاب من خبرته الكبيرة في المجال. الفصل الحادي عشر مبني على ترجمة سلسلة A Complete Machine Learning Project Walk-Through in Python لكاتبه Will Koehrsen ونقلها للعربية بتصرف الدكتور باسل الخطيب. الفصول المتبقية هي من كتابة الدكتور باسل الخطيب المختص في مجال الذكاء الاصطناعي وتعلم الآلة والأستاذ في جامعات عدة مرموقة منها جامعة دمشق. ما يميز هذا الكتاب قربه من القارئ العربي، إذ لم يقتصر على الترجمة ونقل تطبيقات أجنبية جاهزة أو تعتمد على نصوص أجنبية بل يعرض تطبيقات على نصوص باللغة العربية وهذا ما يفتقر إليه المحتوى العربي في هذا المجال. مستوى هذا الكتاب متقدم لذا يجب أن تملك معرفة أساسية بمجال الذكاء الاصطناعي وتعلم الآلة وخبرة بلغة بايثون فالمشاريع كلها مطبقة فيها، فإن كنت مبتدئًا فننصح قبل هذا الكتاب قراءة الكتابيين التاليين: البرمجة بلغة بايثون مدخل إلى الذكاء الاصطناعي وتعلم الآلة ترتيب القراءة الأمثل للكتاب يكون من أوله لآخره وفق ما رتبناه لك ولكن يمكنك قراءة الكتاب بأي ترتيب ففصوله لا تعتمد على بعضها باستثناء الفصل الأول الذي يشرح كيفية إعداد بيئة العمل لسائر المشاريع والفصل الأخير الذي يختتم الكتاب بمناقشة مسألة تقييم نماذج تعلم الآلة وحساب مجموعة من مقاييس تقييم الأداء والتي تخبرنا بأداء نموذج التعلم المبني ودرجة تعلمه. يمكنك تطبيق المشاريع محليًا على حاسوبك مباشرةً أثناء قراءة المشروع وتعلمه وستجد غالبًا في بداية أو نهاية المشروع رابط لتنزيل شيفرته ومقارنتها مع الشيفرة التي كتبتها ولتكون لك مرجعًا، كما يمكنك الاستعانة بمنصة Google Colab لتنفيذ المشاريع واختصار وقت التنفيذ وإعداد البيئة وقد وفرنا لبعض المشاريع رابطًا على تلك المنصة. يمكنك قراءة فصول الكتاب على شكل مقالات وتجد روابطها تاليًا: إعداد بيئة العمل للمشاريع مع بايثون بناء مصنف بالاعتماد على طرق تعلم الآلة بلغة البايثون باستخدام مكتبة Scikit-Learn بناء شبكة عصبية للتعرف على الأرقام المكتوبة بخط اليد باستخدام مكتبة TensorFlow بناء روبوتات للعب الألعاب باستخدام طريقة التعلم المعزز ومشتقاتها باستخدام مكتبة TensorFlow تصنيف الصور والتعرف على الوجه في مجال الذكاء الاصطناعي إعداد شبكة عصبية صنعية وتدريبها للتعرف على الوجوه تحليل المشاعر في اللغة العربية باستخدام التعلّم العميق استخدام خوارزميات العنقدة لتجزئة الزبائن تصنيف الشخصيات بالاعتماد على تغريداتهم العربية باستخدام التعلم العميق استكشاف قواعد الترابط في مبيعات المتاجر باستخدام تقنيات تعلم الآلة تحليل بيانات الطاقة لمدينة نيويورك الجزء الأول الجزء الثاني الجزء الثالث تقييم واختيار نماذج تعلم الآلة1 نقطة -
هل يمكن تشغيل اكواد ملف الباش علي الاندرويد بدون برامج ولا الباش مختصر علي الويندرز واللينكس بس1 نقطة
-
<section> @forelse ($Projects as $project) <div class="col-4 mb-4"> <div class="card"> <div class="card-body"> <div class="status"> @switch($project->status) @case(1) <span class="text-success">مكتمل</span> @break @case(2) <span class="text-danger">ملغي</span> @break @default <span class="text-warning">ملغي</span> @endswitch <h5 class="font-weight-bold card-title"> <a href="/projects/{{project->id}}" >{{ $project->title }}</a> </h5> <div class="card-text mt-4"> {{$project->description}} </div> @include('projects.footer') </div> </div> </div> </div> ما هو الخطأ في سطر الاول؟1 نقطة
-
Get the string as input from the user Split the string into characters Push these characters into a stack one by one until the string is finished Pop from stack one by one and put it in another character array/string Display the contents of the new character array/string1 نقطة
-
public class Main{ public static void main (String[] args) { for (int i=2;i<=100 ;i+=2 ) if(i%2==0){ System.out.println(i);} else if (i % 4 == 0) System.out.println (-i); }} ما هو الخطأ؟1 نقطة
-
تحية طيبة للجميع يمكننا تغيير ملف css من ملف جافاسكربت، بحيث أن المستخدم إذا ضغط على زر معين يتغير مسار href للملف فتتتغير إعدادت االموقع بناءا على المسار الجديد. ولكن هل يمكننا فعل ذلك مع ملف جافاسكربت نفسه، بحيث أن ضغط زر ما يؤدي إلى تغيير مسار src لملف جافاسكربت ؟ حاولت ذلك كثيرا لكن العمل لم يتأثر. مع أنه يمكننا توليد ملف جافاسكربت آخر ضمن كود جافاسكربت الذي يعمل عليه المتصفح، لكن هذا لا يكفي لأنني لا أستطع العودة (بضغط زر آخر مثلاً) إلى الأصل قبل ضغط الزر الأول.1 نقطة
-
نعم، يمكن تغيير مسار src لملف جافاسكربت من ملف جافاسكربت آخر عن طريق إنشاء عنصر script جديد وتعيين مسار src الجديد له. على سبيل المثال، يمكنك استخدام الكود التالي لتحميل ملف جافاسكربت جديد وتعيينه كملف جافاسكربت رئيسي: var newScript = document.createElement('script'); newScript.src = 'new_script.js'; document.head.appendChild(newScript); وعند الضغط على الزر المراد تعيينه لتحميل الملف الجديد، يمكنك استدعاء هذا الكود. ومن المهم ملاحظة أنه إذا قمت بتحميل ملف جافاسكربت جديد، فإن الكود الذي يتم تنفيذه في الملف الأصلي لن يعمل بعد ذلك، إلا إذا تم استدعاءه من الملف الجديد أيضًا. وبالتالي، إذا كنت ترغب في العودة إلى الحالة الأصلية بعد ذلك، فيجب أن تعيد تحميل الملف الأصلي من جديد. لإعادة تحميل الملف الأصلي، يمكنك استخدام نفس الطريقة التي استخدمتها لتحميل الملف الجديد، ولكن مع تغيير المسار إلى المسار الأصلي للملف الذي تريد إعادة تحميله. على سبيل المثال، إذا كان ملف الجافاسكربت الأصلي يسمى original_script.js، يمكن استخدام الكود التالي لإعادة تحميله: var originalScript = document.createElement('script'); originalScript.src = 'original_script.js'; document.head.appendChild(originalScript); وسيتم تحميل الملف الأصلي مرة أخرى، وبالتالي سيتمكن الكود الذي يعمل فيه من العمل مرة أخرى كما كان يفعل في الأصل. ويمكن استدعاء هذا الكود عند الضغط على الزر المناسب للعودة إلى الحالة الأصلية.1 نقطة
-
باستخدام نفس الطريقة: على سبيل المثال، إذا كان هناك عنصر script مع src="../js/file1.js"، يمكن تغيير مساره عند الضغط على الزر كما يلي: button.onclick = function() { const scriptElement = document.querySelector("script[src='../js/file1.js']"); scriptElement.src = "../js/file2.js"; } الكود سيحدث تغييرًا في مسار العنصر script الذي يحتوي على المسار القديم "../js/file1.js"، وسيتم تغييره إلى المسار الجديد "../js/file2.js". ويرجى الانتباه إلى أنه إذا كانت هناك وظيفة محددة تعمل بالفعل في الملف القديم، فلن يتم استدعاؤها بعد تغيير مسار العنصر script، لذلك قد تحتاج إلى إعادة تحميل الصفحة لتشغيل الوظيفة المحدثة. ويمكنك أيضًا استخدام طريقة أحدث وهي باستخدام addEventListener للزر بدلاً من onclick.1 نقطة
-
من الصعب الإجابة على سؤالك دونّ معرفة التفاصيل، فما الذي تريده تنفيذه بالضبط؟ حيث يمكن تغيير مسار ملف JS ولكن لن يعمل بسبب أن السكريبت لم يتم تحميله وعند إعادة تحميل الصفحة سيعود كل شيء كما كان.1 نقطة
-
قمت بانشاء هذا الكود ولكنني اود طباعات بعض الارقام باشاره سالبه كيف يمكن تعديله public class Main{ public static void main (String[] args) { for (int i=2;i<=100 ;i++ ) if(i%2==0){ System.out.println(i); } }1 نقطة
-
ما هو الكود الذي يمكن استخدامه في برنامج الجافا لاخراج الارقام سالبه؟1 نقطة
-
عند تطبيق الحل يظهر خطأ Product object has no attributes 'count'1 نقطة
-
يمكنك جلب الحد الاصغري من self، أي يكون الكود الخاص بك كما يلي: class Product(models.Model): .... firscoun = models.PositiveIntegerField( verbose_name=_("Minimum Countete:"),blank=True, null=True,) ################## def clean(self): errors={} if self.count < self.firscoun: errors['min_count']= f'The min count must be greater than {firscoun}.' if errors: raise ValidationError(errors) هل يمكنك تجربة أن تقومي بإضافة منتج من صفحة الأدمن بعد هذا التعديل؟ أعتقد أنه يجب استدعاء الطريقة clean بشكل يدوي قبل عمل save للمودل، يمكن القيام بذلك عن طريق كتابة الطريقة save للقيام بذلك قبل استدعاء العملية save الاصلية، أي كما يلي: def save(self, *args, **kwargs): self.clean() super(Product, self).save(*args, **kwargs) طبعاً نضع هذه الدالة في ال model الخاص بالمنتج، أي مع الدالة clean. طبعاً عندها في المكان الذي يتم فيه إنشاء منتج جديد يجب القيام بكتابة try..except لالتقاط الخطأ الذي نرميه في الدالة clean.1 نقطة
-
1 نقطة
-
أعتقد أن المشكلة في السطر هذا، كيف تقومين بكتابة قاموس الحدود الأصغرية هذا؟ أي أين تقومين بتعريفه و كيف؟1 نقطة
-
مرحبا استاذ قيس.. لا لم تنجح قمت بتطبيقها على الشكل التالي: class Product(models.Model): .... firscoun = models.PositiveIntegerField( verbose_name=_("Minimum Countete:"),blank=True, null=True,) ################## def clean(self): errors={} firscoun = products_lower_bound_map[self.id] if self.count < firscoun: errors['min_count']= f'The min count must be greater than {firscoun}.' if errors: raise ValidationError(errors)1 نقطة
-
هل الإضافة كما قلت لك أيضاً لا تنجح؟ أي أن تقومي بالإضافة ضمن ال model و ليس ضمن ال form.1 نقطة
-
شكرا لكم.. قمت بإضافتها ضمن المودل بعدclass Product كالتالي: class ProductForm(forms.ModelForm): class Meta: model = Product fields = '__all__' count = forms.IntegerField(widget=forms.NumberInput(attrs={'min': '0'})) def clean_count(self): count = self.cleaned_data['count'] firscoun = Product.objects.get(product_name=self.cleaned_data['product_name']).firscoun if count < firscoun: raise forms.ValidationError(f'The minimum count for this product is {firscoun}.') return count لكن مازال بإمكانه اختيار الرقم الاصغر من المسموح له ماالمشكلة؟؟ كذلك قمت بمحاولة استبدال product_name ب id1 نقطة
-
اكتب برنامج يطلب من المستخدم إدخال مصفوفتين من الاعداد الصحيحة ويخزن في مصفوفة جديدة جميع عناصر المصفوفة الأولى متبوعة بجميع عناصر المصفوفة الثانية1 نقطة
-
كما في التعليقات السابقة فإن تعلم إطار العمل react أو أي إطار آخر مبني على javascript يفضل تعلم اللغة javascript بشكل جيد قبل الإنتقال إليه لذلك لا يفضل إطلاقاً دراسة ال react قبل تعلم ال javascript والتمكن منها ولكن المشكلة عندك أنك تشعر أن المعلومات متشتتة قليلا وليس أفضل حل لهذه المشكلة هو مراجعة الدروس مرة أخرى إنما التطبيق على ما تعلمته ومحاولة بناء بعض التطبيقات على ال javascript ولاحظ أن قلة التطبيق أثناء التعلم هو سبب هذه المشكلة والسؤال هنا كيف تقوم بالتطبيق على javascript بعد تعلم الأساسيات من خلال مواقع تقدم العديد من التدريبات على لغات البرمجة على جزئيات ومفاهيم معينة فمثلاً ستجد تطبيق على ال function فقط وهذه المواقع مثل CodeChef Coderbyte Codewars CodinGame قم بالمرور على الدروس التي قمت بدراستها وستجد لها تطبيق على هذه المواقع قم بتنفيذه كما أن يجب عليك التطبيق وراء المدرب في الدورة وبعد التقدم في الدورة التدريبية بحيث يمكنك التطبيق على جزء كبير من مفاهيم javascript قم بإنشاء تطبيق كبير مثل التطبيقات التالية JavaScript Calculator. : يمكنك بناء هذا التطبيق عند دراسة ال operators JavaScript Weather App.: يمكنك بناء هذا التطبيق عند دراسة ال Ajax وهذه أمثلة يمكنك إختيار التطبيقات التي تفضلها1 نقطة
-
لا يمكن أن يبدأ مع المدرب من خلال كتابة الأكواد في أول تعلم البرمجة من خلال قسم أساسيات البرمجة حيث أن في البداية يجب أن يبدأ معك بشرح بعض المفاهيم الأساسية نظرياً حتى تأخذ فكرة مسبقة حول البرمجة وذلك يحدث من خلال المسار " مبدئ البرمجة " ثم بعد ذلك المسار يبدأ مع بالشرح العملي والنظري معاً حتى تقوم بالتطبيق وراء المدرب تدريجياً لذلك ستقوم بالتدريبوراء المدرب من خلال كتابة البرنامج الذي يقوم المدرب بشرحه في كل درس (حتى إذا كان برنامج بسيط ) فمثلاً يشرح المدرب مفهوم الدوال سيقوم المدرب ببناء دالة بسيطة لتوضيح الشرح فيجب عليك كتباة هذا البرنامج بنفسك عند الإنتهاء من الدرس والطريقه الأفضل ولكن ستتطلب من المزيد من الجهد وهو محاولة التغيير في الكود الذي يستخدمه المدرب والتعديل على البرنامج بشكل بسيط وهذه الطريقة مفيدة وفعالة أكثر من حيث تثبيت المعلومات بشكل أكبر وغالباً ستواجهك بعض المشكلات قم بالطرح المشكلة أسفل الدرس وسيحاول المدرب حل المشكلة معك سيفيدك ذلك في تعلم بنسة أكبر1 نقطة
-
الإجابة التي تم ذكرها من قبل قيس مشكورًا، تحتوي على فكرة جيدة، وهي استخدام دالة clean() الموجودة في ال model الخاص بالمنتج للتحقق من أن الحد الأدنى المحدد للكمية التي يمكن طلبها لهذا المنتج قد تم الالتزام به. ولكن، هناك تحدي يحدث عند استخدام هذه الطريقة، وهو أن الخطأ لن يتم عرضه على الحقل المرتبط بالكمية، وإنما سيتم عرضه على النموذج بشكل عام. لذلك، يمكن استخدام مجموعة العناصر الإضافية (widgets) في Django، وتحويل الحقل المرتبط بالكمية إلى نوع IntegerField والتحقق من الحد الأدنى لهذا الحقل في العنصر الإضافي clean() الخاص به. فيما يلي مثال محدث للطريقة السابقة: from django import forms from django.db import models class Product(models.Model): product_number = models.PositiveIntegerField(unique=True) min_count = models.PositiveIntegerField() class ProductForm(forms.ModelForm): class Meta: model = Product fields = '__all__' count = forms.IntegerField(widget=forms.NumberInput(attrs={'min': '0'})) def clean_count(self): count = self.cleaned_data['count'] min_count = Product.objects.get(product_number=self.cleaned_data['product_number']).min_count if count < min_count: raise forms.ValidationError(f'The minimum count for this product is {min_count}.') return count في المثال، يتم استخدام Django form بدلاً من استخدام clean() في ال model، ويتم إنشاء عنصر إضافي (count) لإدخال الكمية، وتحويل الحقل المرتبط بهذا العنصر الإضافي إلى IntegerField. ثم التحقق من الحد الأدنى للكمية في clean_count()، وعرض الخطأ على الحقل المرتبط بهذا العنصر الإضافي.1 نقطة
-
يمكن استعمال الطريقة clean ضمن ال model للتحقق من البيانات كما نشاء، طبعاً يوجد طرق أسهل في حال كان المطلوب هو التحقق بناء على قيمة الحقل فقط و ليس بناء على قيمة أكثر من حقل في نفس الوقت. حسب ما فهمت تريدين التحقق بناء على حقلين، هما رقم المنتج و الكمية المطلوبة، بحيث الحد الأدنى يعتمد على رقم المنتج. بافتراض أنك تخزنين الحد الأدنى من أجل كل منتج بناء على رقمه، يمكنك استعمال هذه الدالة بشكل مشابه لما يلي (ما يلي مجرد مثال بسيط يجب تعديله حسب ال model الذي لديك): from django.core.exceptions import ValidationError from django.db import models class Product(models.Model): def clean(self): errors={} # نجلب الحد الأصغري من أجل هذا المنتج بناء على رقمه product_lower_bound = products_lower_bound_map[self.product_number] # نتحقق فيما إذا كانت الكمية المطلوبة أصغر من الحد الأصغري if self.count < product_lower_bound: errors['min_count']= f'The min count must be greater than {product_lower_bound}.' if errors: raise ValidationError(errors) يمكنك الإطلاع أكثر على ما يمكن فعله باستعمال هذه الطريقة من هنا.1 نقطة
-
أثناء قراءة التعليمات الإرشادية لتثبيت تطبيق ما ستصادف غالبًا مصطلحات مثل فلات باك Flatpak وسناب Snap وآب إيماج AppImage، وربما تكون قد استخدمت أحدها على لينكس بدون أن تعلم، فما هي هذه المصطلحات؟ يُعَد كل من فلات باك وسناب وآب إيماج نظامًا شاملًا للتحزيم packaging، وسنخص بالذكر في هذا المقال نظام فلات باك. المشكلات قبل فلات باك يُعَد تثبيت وإدارة البرمجيات أحد أهم جوانب إدارة نظام لينكس، والتي تزداد صعوبتها بسبب وجود العديد من توزيعات لينكس. وعند استخدام الأنظمة التقليدية لإدارة الحزم بتنسيقات تقليدية deb/rpm، كانت تتواجد المشكلات التالية أثناء محاولة تشغيل برنامج ما في النظام: البحث عن المكتبات اللازمة لعمل البرنامج. الاعتماديات، والتي تعني اعتماد البرنامج في عمله على حزم أخرى. الحاجة لتحقيق التوافق مع مدير الحزم الجديد عند التبديل من توزيعة لينكس الأخرى. لا توفر أمانًا كبيرًا لعمليات تثبيت وإدارة البرمجيات. يمكن لمستخدمي لينكس المحترفين إيجاد أفضل طريقة للتغلب على الصعوبات، ولكن بالنسبة للمبتدئين أو المستخدمين الذين لا يمتلكون وقتًا لتعلم إدارة الحزم أو يجدون صعوبةً بتعلمها أو الخبرة بالبحث عن كل خلل وإصلاحه؛ يكون الأمر صعبًا جدًا، وهنا يأتي دور فلات باك. ما هو فلات باك Flatpak بالتفصيل؟ أسّس ألكسندر لارسون Alexander Larsson فلات باك مفتوح المصدر في صيف عام 2007 ليكون نظامًا مُساعدًا لإدارة الحزم ويتيح نشر البرمجيات وتثبيتها وإدارتها، ويتم تثبيت البرمجيات بلا أي مشكلات ودون الحاجة إلى القلق بشأن الاعتماديات أو زمن التنفيذ أو المكتبات التي يحتاجها البرنامج في عمله أو توزيعة لينكس المستخدمة سواءً كانت التوزيعة تعتمد على ديبيان أو آرتش لذلك يوُصف بالنظام الشامل الذي وفر حلولًا لمعظم مشكلات الأنظمة التقليدية. آلية عمل فلات باك تعمل تطبيقات فلات باك في بيئة معزولة sandbox تحتوي على عدة أمور لتلبية متطلبات تشغيل برنامج محدد مثل زمن التنفيذ والمكتبات المجمعة. وبسبب خاصية العزل، لا يمكن لتطبيقات فلات باك أن تجري أي تغييرات على النظام دون إذن من المستخدم، مما يُحسّن أمان النظام. من أين يمكن الحصول على تطبيقات فلات باك؟ لا يمكن استخدام حزم فلات باك بدون أن توفر توزيعة لينكس المستخدمة خاصية دعم فلات باك، وتتوفر هذه الخاصية افتراضيًا في توزيعات معينة مثل فيدورا Fedora وسولس Solus، بينما تحتاج بعض التوزيعات مثل أوبنتو Ubuntu إلى تثبيت خاصية الدعم يدويًا. لا يقيّد فلات باك المستخدم بمصدر واحد للحصول على البرامج، حيث توجد العديد من مستودعات فلات باك وأشهرها المستودع الخارجي فلات هاب Flathub وهو مركز تطبيقات وبرامج أنشأه فريق فلات باك ويمكن من خلاله نشر البرمجيات وإدارتها، وتوضح الصورة التالية الصفحة الرئيسية لموقع فلات هاب: مزايا وعيوب فلات باك يمتلك فلات باك العديد من المزايا والعيوب كغيره من الأنظمة، سنناقش تاليًا العديد من هذه المزايا والعيوب: مزايا استخدام فلات باك يمكن تشغيل تطبيقات فلات باك على أي توزيعة لينكس. يوفر توافقيةً مستقبليةً أي أنه يلغي مشكلة عدم عمل بعض التطبيقات عند ترقية إصدار توزيعة لينكس (فقد لا تدعم بعض التطبيقات التوزيعات الجديدة). يحل مشكلة الاعتماديات. يوفر في بعض الحالات أحدث وأهم إصدار من برنامج ما. لا يقيد المستخدمين بمورد واحد بسبب عدم اعتماد التوزيع على خادم مركزي. يُحسّن أمان النظام بسبب خاصية التطبيقات المعزولة sandboxed applications. يحقق تكامل مريح مع مركز البرمجيات الموجود على توزيعة لينكس. عيوب استخدام فلات باك لا يدعم نسخة الخادم، أي لا تتوفر منه نسخة للخادم، وهو متاح فقط لأجهزة الحاسوب المكتبي بنظام التشغيل لينكس. امتلاء أسرع لمساحة التخزين، حيث تشغل تطبيقات فلات باك مساحة أكبر على القرص مما تشغله عادةً ملفات deb/rpm، مما يوجب إيجاد طريقة لتفريغ مساحة التخزين. تفقد بعض البرمجيات فعاليتها بسبب خاصية العمل في بيئة معزولة، فقد لا تدعم تطبيقات فلات باك مثلًا سمة GTK المخصصة حسب المستخدم. تثبيت فلات باك يكون فلات باك مثبتًا على بعض توزيعات لينكس مثل توزيعات فيدورا ولا يكون مثبتًا على توزيعات أخرى مثل أوبنتو، لذا سنشرح كيفية تثبيته وضبطه على تلك التوزيعة، أما إن كانت توزيعتك التي تستخدمها مختلفة، فاختر من صفحة التثبيت الرسمية لفلات باك توزيعتك وطبق الأوامر. نفذ الأمر التالي في سطر الأوامر لتثبيت فلات باك على توزيعة أوبنتو لديك: sudo apt install flatpak يجب أن يكون إصدار التوزيعة 18.10 وما بعد ليعمل الأمر بنجاح، أو نفذ الأوامر الثلاثة التالية: sudo add-apt-repository ppa:flatpak/stable sudo apt update sudo apt install flatpak نزل إضافة باسم Software Flatpak حتى تتاح إمكانية تثبيت التطبيقات دون الحاجة إلى سطر الأوامر، وذلك بتنفيذ الأمر التالي: sudo apt install gnome-software-plugin-flatpak أضف المستودع Flathub الذي أشرنا إليه سابقًا حتى تتمكن من الوصول إلى التطبيقات وتثبيتها منه: flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo أعد تشغيل الحاسوب حتى تكتمل عملية التثبيت، وبعدها يمكنك تثبيت التطبيقات، تصفحها من واجهة التطبيق أو جرب تصفح قائمة apps في الموقع الرسمي وثبت التطبيق الذي تريد. استخدام فلات باك عبر سطر الأوامر عمومًا، توفر واجهة فلات باك الرسومية كل ما تريده في عملية إدارة التطبيقات من تثبيت وتحديث وإزالة مثلًا، وهي سهلة ولا تحتاج إلى تفصيل وشرح ونتركك للتعرف عليها بنفسك، ولكن هنالك طريقة أخرى لاستخدام فلات باك وهي عبر واجهة سطر الأوامر وهذا الاستخدام قد يهم بعض المستخدمين خصوصًا من يحبون استعمال سطر الأوامر وليس لعموم المستخدمين كما أشرنا. يعد الأمر flatpak الأمر الأساسي المستخدم ثم تلحق به كافة الأوامر، مثلًا أمر التثبيت يكون flatpak install وأمر الإزالة يكون flatpak uninstall وهكذا. البحث عن تطبيق يمكنك البحث ضمن التطبيقات باستعمال الأمر search، فمثلًا، إن أردت البحث عن تطبيق الرسم GIMP نفذ الأمر التالي: flatpak search gimp سيعيد الأمر أي نتيجة تطابق عبارة البحث، وتمثل تلك النتيجة معرّف التطبيق والمستودع الموجود فيه وهي تفاصيل مهمة لاستعمالها في عملية التثبيت كما يلي. تثبيت تطبيق إن أردت تثبيت تطبيق ما وليكن تطبيق الرسم GIMP الذي بحثنا عنه في الأمر السابق، فاستعمل الأمر التالي: flatpak install flathub org.gimp.GIMP يشير flathub في الأمر إلى المستودع الذي سيثبّت التطبيق منه والجملة التي في آخره org.gimp.GIMP إلى معرف التطبيق وهو GIMP المراد تثبيته، ويتكون المعرف ذاك من 3 أجزاء كما هو واضح آخرها اسم التطبيق. تثبيت أي تطبيق آخر مشابه للعملية ولكن يختلف جزء معرِّف التطبيق أو أحيانًا المستودع المراد تثبيت التطبيق منه أيضًا، وعمومًا وبدءًا من الإصدار 1.2 من فلات باك، أصبح بإمكانك اختصار الأمر السابق بذكر اسم التطبيق فقط كما يلي: flatpak install gimp ستظهر لك رسالة باسم المستودع ومعرف التطبيق لتؤكدها قبل بدء تثبيت التطبيق. أضف إلى ذلك، توفر معلومات التطبيقات المراد تثبيتها عبر ملف .flatpakref والذي يمكن استعماله في عملية التثبيت أيضًا، سواءً بتحديده محليًا إن كان على الحاسوب أو تحديده عبر رابط ويب، مثلًا يمكن تثبيت تطبيق GIMP السابق بهذه الطريقة عبر الأمر التالي: flatpak install https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref تشغيل تطبيق يمكنك تشغيل التطبيق بمجرد تثبيته كما وضحنا آنفًا باستعمال الأمر run مع معرّف التطبيق كما يلي: flatpak run org.gimp.GIMP تحديث التطبيقات يمكنك تحديث جميع التطبيقات المثبتة عبر فلات باك باستعمال الأمر التالي: flatpak update عرض التطبيقات المثبتة استعمل الأمر التالي لعرض كافة التطبيقات المثبتة: flatpak list --app حذف تطبيق استعمل الأمر التالي لحذف تطبيق مثبّت بتحديد معرّفه: flatpak uninstall org.gimp.GIMP عرضنا إلى هنا الأوامر شائعة الاستخدام ويمكنك الرجوع إلى الموقع الرسمي لمزيد من التفاصيل إن احتجت لها. ترجمة -وبتصرف- للمقال What is Flatpak? لصاحبه Ankush Das. اقرأ أيضًا عرض موجز لأشهر توزيعات لينكس مدخل إلى مستودعات أوبنتو تثبيت نظام لينكس داخل نظام ويندوز في بيئة وهمية عشرون أمرا في لينكس يفترض أن يعرفها كل مدير نظم1 نقطة
-
إذا كنت تواجه مشكلةً في تحقيق التعاون بين أفراد فريقك، فسوف تجد في هذا المقال ضالتك المنشودة، فهو يحتوي على 8 استراتيجيّات فعّالة تضمن التوافق بين أفراد فريقك. لماذا يعد التعاون ضروريا بين أفراد الفريق؟ في استطلاع للرأي ضم 1400 شخص (بين مدير وموظف ومدرس)، قال 86% من المستطلعة آراؤهم بأن الفشل في مكان العمل يرجع إلى ضعف التعاون بين أفراد الفريق. إحصائيات حول فوائد التعاون بين أفراد الفريق في مكان العمل من بين الإحصائيات المهمة فيما يخص التعاون بين أفراد فريق العمل، نجد ما يلي: يصبح 83% من الموظفين أكثر تعاونًا عند استخدام التكنولوجيا، لذا يمكن القول إن برمجيات التعاون بين أفراد الفريق قد تساهم في تحسين إدماج الموظفين. يعتقد 75% من الموظفين أن التعاون الجيّد بين أفراد الفريق، بالإضافة إلى مهارات القيادة تُعد ضروريّة لنجاح مشاريعهم، فيما يعتقد 39% من العاملين المستطلعة آراؤهم، أن هناك مجالًا لتحسين التعاون في شركاتهم وفرقهم التي يعملون فيها. تساعد تطبيقات التعاون وإدارة المشاريع على زيادة الإنتاجيّة بمعدل يصل إلى 30%، لذلك إذا كنت تسعى إلى تحقيق التعاون الفعّال في مكان العمل، فيجدر بك البحث عن أي تطبيق مجاني لتسهيل التعاون بين أفراد الفريق. تسمح لك أدوات إدارة المشاريع بالعمل عن بُعد، وهو الأمر الذي يمكن أن يوفر على أرباب العمل حتى 11,000 دولار سنويًا. ويمكن للعمل عن بُعد، بدلًا من العمل من مقر الشركة، أن يساعد على تحقيق التعاون الناجح بين أفراد الفريق. تظهر الدراسات أن 3.7 مليون موظفًا في الولايات المتحدة يمضون نصف وقت العمل على الأقل وهم يعملون عن بُعد. تحقق الفرق المتعاونة التي تعمل معًا بشكل وثيق أرباحًا أكثر بـ 21% من غيرها – مؤسسة غالوب Gallup. يمر 61% من الموظفين بالاحتراق المهني، بينما يعاني 31% من إجهاد العمل – موقع كارير بيلدر CareerBuilder. يشعر 80% من الموظفين في الولايات المتحدة بنوع من التوتر بسبب غياب التواصل الفعال بين أفراد الفريق – شركة ديناميك سيجنال Dynamic Signal. يرغب 63% من الموظفين الأمريكيين بترك وظائفهم لأن غياب التواصل الفعّال يمنعهم من أداء أعمالهم على النحو الصحيح. يعتقد 97% من الموظفين وكبار المديرين أن غياب التعاون الجيّد بين أفراد الفريق ينعكس سلبًا على مخرجات المشروع – شركة ماكينزي Mckinsey. وفقًا لمجلة ذا إيكونومست The Economist، يؤكد 33% من الموظفين أن التعاون الجيّد بين أفراد الفريق يجعلهم أكثر ولاءً للشركة. بعد أخذ هذه المعطيات في الحسبان، فلنلقِ نظرة على أفضل الاستراتيجيات المتبعة لتحقيق التعاون بين أفراد الفريق. أفضل الممارسات والاستراتيجيات لتحقيق التعاون بين أفراد الفريق فيما يلي بعض استراتيجيات التواصل التي تساعدك على تحقيق التعاون الفعال بين أفراد فريقك. تحديد أهداف الفريق يجب أن تتأكد من معرفة كل فرد من أفراد فريقك بالأهداف التي يسعى الفريق إلى تحقيقها. ولتحقيق هذه الغاية وتلافي أي سوء تفاهم، ذكّر فريقك يوميًا بأهدافه، فذلك من شأنه أن يحافظ على تركيز الفريق ويزيد من إنتاجيته. إن امتلاكك لشخصيّة قياديّة قويّة وأهداف واضحة يساعدانك بلا شك على بناء فريق ناجح، وتحقيق التعاون بين أفراده، مع تنفيذ جميع المهام الموكلة إليه في الوقت المحدد. كسر الجمود ابدأ اجتماعاتك بأسئلة لكسر الجمود نحو "ما هي لعبتكم المفضلة؟" أو "ما هو مكانكم المفضل؟" أو "ماذا تحبون أن تفعلوا في عطلة نهاية الأسبوع؟" ونحو ذلك من الأسئلة. تساعد هذه الأسئلة على تعزيز روح المشاركة بين أفراد الفريق منذ اللحظة الأولى للاجتماع. وإذا كان فريقك جديدًا، يمكنك إنشاء كتاب يتضمن سيرة ذاتيّة مصغرة لكل فرد من أفراده، بحيث تضم هذه السيرة الذاتيّة صورةً للموظف، ومجال عمله، وطرق التواصل معه، وهواياته، وفيلمه المفضل، وغير ذلك من المعلومات. بعد ذلك، يمكنك عرض الكتاب في الاجتماع الأوّل للفريق، بحيث يحصل كل شخص في الفريق على فكرة عن زملائه وميولهم وشخصياتهم. تساعد هذه الخطوة على تعزيز ثقافة التعاون بين الموظفين. تسليط الضوء على نقاط القوة في الفريق تتمثل الاستراتيجيّة التالية لتحسين التعاون بين أفراد الفريق في تسليط الضوء على نقاط القوّة لدى كل فرد من أفراده. فعندما تُشعر موظفيك بالتقدير والاهتمام، فسوف يصبحون بدورهم أكثر تقديرًا لزملائهم وللمكان الذي يعملون فيه. في المقابل، إذا فشلت في إظهار التقدير المطلوب لأفراد فريقك، فسوف يصبحون أكثر عرضة للاستقالة وترك العمل. يشير 66% من الموظفين إلى أنهم قد يستقيلون إذا ما شعروا بعدم التقدير في وظائفهم، ويرتفع هذا المعدّل في أوساط مواليد عام 2000 وما بعده، إذ يصل إلى 76%. تساعدك المعرفة بنقاط القوّة لدى أفراد الفريق على تنظيم المشروع بسهولة، ووضع الرجل المناسب في المكان المناسب. إدارة الاهتمام إذا كنت تريد إلهام فريقك وتحفيزه على التقدّم، فربما يجدر بك البدء بالحديث إليهم عن الإنتاجيّة، فقد بات الجميع مهووسين بها. يعتقد معظم الناس أن الإنتاجيّة ترتبط بإدارة الوقت، ولكن ذلك أبعد ما يكون عن الحقيقة، فالعديد من الناس يضعون أهدافًا يوميّة، ويرتبون مهامهم في قوائم، ولكنهم مع ذلك يعجزون عن الوصول إلى أهدافهم. في المقابل، ينجح آخرون بالوصول إلى أهدافهم وإنجاز المهام الموكلة إليهم، رغم أن الطرفان يعملان يوميًا لذات القدر من الساعات، فما هو السر إذًا؟ السر أن بعض الأشخاص يعرفون كيف يديرون اهتماماتهم ويركزون على المهام الأساسيّة التي تؤثر فعلًا على النتائج النهائيّة. ترتبط إدارة الاهتمام ارتباطًا وثيقًا بالتحفيز، فعندما يتوفر التحفيز المطلوب، فإنك تنجز المهام أسرع بكثير مما لو كنت تسعى فقط للالتزام بالجدول المحدد. يجب أن تتعلم كيف توازن بين أولويّة مهماتك، ففي كل مشروع تعمل عليه، سوف تكون لديك عناصر مهمة وعناصر أقل أهميّة. لنفترض مثلًا أنك تريد صناعة سيارة، وفي هذه الحالة سوف تتكون العناصر المهمة من العجلات والمحرّك والهيكل، إذ إن توفير هذه العناصر معًا يعني صناعة سيارة قادرة على الحركة حتى لو لم تكن مريحةً في القيادة؛ أمّا العناصر الأقل أهميّةً، فسوف تشمل النوافذ والمقاعد والمرايا، وهي جميعها عناصر يمكن للسيارة أن تعمل بدونها. منطقيًا، يجب أن تبدأ العمل من العناصر المهمة حتى تتمكن من شحن منتجك حتى لو كان منجزًا بالحد الأدنى إذا ما نفد منك الوقت. تشجيع التغذية الراجعة يجب أن تحرص على بناء بيئة تسودها ثقافة التعاون ولا يجد فيها الأفراد غضاضةً من مشاركة أفكارهم واقتراحاتهم مع الآخرين، ولكن تجنّب النقد، وركز بدلًا من ذلك على التغذية الراجعة البناءة. ولتعزيز روح الفريق في بيئة العمل، يمكنك أيضًا اتباع أسلوب القيادة التشاركيّة. إذا لاحظت أن الأفراد الانطوائيين يواجهون صعوبةً في الانخراط في النقاش، فيمكنك دعوتهم إلى المشاركة من خلال أسئلة ترحيبيّة نحو "فلان، ما رأيك بكذا؟". يجب أن تحرص أيضًا عند انضمام أفراد جُدد إلى الفريق على تعريفهم ببيئة العمل وآلياته، وذلك حتى تتأكد من انخراطهم في العمل بسلاسة وسرعة. مراعاة قواعد اللباقة والسلوك إذا كنت تعقد اجتماعًا عبر الفيديو، فاحذر من التنفس أو الأكل في الميكروفون، أو إصدار صوت بكرسيّك الهزاز، واحرص في كل حال على أن يكون الجميع قادرًا على سماعك بوضوح. الخروج معا يُعد الخروج مع الفريق من أفضل الاستراتيجيات المتبعة لتعزيز التعاون بين أفراده. لا تكتفِ بدعوة الفريق إلى الغداء بين حين وآخر، بل رتّب لعقد أنشطة أخرى تساعد على تعزيز روح الفريق ويستمتع بها الجميع. تُظهر الدراسات أن أدوات التعاون، مثل برمجيات إدارة المشاريع، قد تترك تأثيرًا إيجابيًا هائلًا على أداء الفريق. وتشير استطلاعات الرأي إلى أن 49% من جيل الألفيّة الثانية يربطون بين استخدام الأدوات "الاجتماعيّة" وتعزيز التعاون بين أفراد الفريق، ويتفق معهم في ذلك 31% من جيل طفرة المواليد و40% من الجيل إكس. إذا كنت تسعى أيضًا لزيادة الإنتاجيّة بدرجة كبيرة، فيمكنك استخدام تطبيقات وبرامج خاصّة لتعزيز التعاون بين أفراد الفريق. التعاون بين الفرق المشتركة في بعض الأحيان، قد تكون هناك حاجة للتعاون بين موظفين من أقسام مختلفة في الشركة لتحقيق هدف مشترك، وهي طريقة رائعة لتعزيز التعاون بين موظفي الشركة عمومًا. وتكمن فائدة هذه الطريقة أن كل موظف يحمل خلفيّة مختلفة عن الآخرين، وبالتالي فإنه يرى المشكلة بمنظار مختلف، ويستطيع الخروج بحلول ومقترحات فريدة، وهكذا يحصل الفريق على أكبر قدر ممكن من المقترحات لحل المشكلة التي هو بصددها. إن المشاركة في هذا النوع من الفرق قد تشعل فيك الحماس من جديد، فهي تختلف عن الاجتماعات الاعتياديّة الروتينية المملة التي تعقدها مع أفراد فريقك (اجتماعات في نفس المكتب، مع نفس الأشخاص، لمناقشة نفس المواضيع). ما هي المهارات اللازمة لتحقيق التعاون الفعال بين أفراد الفريق؟ هناك 3 مهارات أساسية يجب أن تمتلكها لتحقيق التعاون والتوافق بين جميع أفراد فريقك. بدايةً، إذا كنت ترغب ببناء علاقة سليمة وتواصل جيّد مع أفراد فريقك، فيجب أن تكون منفتحًا ورحب الصدر. كذلك، يجب أن تحظى ببُعد النظر وأن تفكر على المدى البعيد. يقولون "إذا كنت تريد السفر بسرعة، فسافر لوحدك؛ أمّا إذا كنت تريد السفر بعيدًا، فسافر مع القافلة". أخيرًا، يجب أن تمتلك مهارة النقاش. إذا أتقنت هذه المهارة، فسوف تضمن تفوّق أفكارك على غيرها من الأفكار، مع ذلك يجب أن تكون أفكارك جيدة بما فيه الكفاية (فلا تتوقع أن تقنع الآخرين بأفكار سيئة فقط لأنك تمتلك مهارة النقاش). فيما يلي 8 نصائح من المذيع الأمريكي الشهير بن شابيرو Ben Shapiro للفوز بأي نقاش: يجب أن تقرر أولًا إذا كان النقاش الذي أنت بصدده يستحق العناء أم لا، فأسوأ نقاش تخوضه عندما يكون خصمك قد حسم رأيه، ولا سبيل لإقناعه مهما جلبت له من الأدلة والحقائق. تعرّف على خصومك وادرسهم جيدًا. فما هي حججهم؟ كيف يستخدمونها؟ وما هي أساليبهم في النقاش؟ احرم خصمك من أساليبه الهجوميّة. قد يلجأ بعض الأشخاص إلى استخدام أساليب هجوميّة، فتراه يتهجم عليك شخصيًا وينعتك بأسوء الألفاظ ويلصق بك شتى أنواع الاتهامات، ولكن السبب الحقيقي لاستخدام مثل هذا الأسلوب هو رغبة خصمك بالهرب من الحقائق والحجج الواقعيّة التي تطرحها، فكيف تتعامل معه؟ ببساطة، يمكنك استخدام العبارة التالية بشكل أو بآخر "نحن نستطيع أن نهاجم بعضنا طوال اليوم، ولكن دعنا نركز على الحقائق". ضع شروط النقاش، وحدد طبيعة الأسئلة التي ترغب بطرحها. أقر بما تعرف، وما لا تعرف. قد يواجهك خصمك ببعض الحقائق التي لم تطلع عليها، وفي هذه الحالة يجب أن يكون جوابك "أنا لم أسمع بهذه الأمور، وسوف أتأكد منها وأعود إليك، ولكن حتى ذلك الحين دعنا نركز على ما يعرفه كلانا." دافع عن الأفكار، لا الأشخاص. اطلب من الخصم توضيح مقصده من المصطلحات التي يستخدمها. اعتمد على البديهيّات، فأقوى الحجج هي تلك التي تعتمد على أمور بديهيّة، وليس على الحقائق أو الإحصائيّات. كيف تلهم فريقك؟ ما هي أفضل طريقة لإلهام أفراد فريقك، وتشجيعهم على تقديم أفضل ما لديهم؟ شجعهم على التجريب وعدم الخوف من الفشل. يمنع خوف الفشل كثيرًا من الموظفين من الكشف عن قدراتهم الكامنة، وكما يقول الممثل والكاتب الأمريكي نيل دونالد والش Neale Donald Walsch "إن حياتك الحقيقيّة تبدأ من حيث تنتهي راحتك". اجعل جو العمل ممتعًا، بحيث يتحول العمل من مجرد عبء على الموظفين إلى مصدر للمتعة والشعور بالإنجاز. فيما يلي نص الرسالة الترحيبيّة التي تبعث بها شركة أبل للأفراد الجدد في فريقها: إذا أردت تحفيز موظفيك الجُدد، فربما يجدر بك التفكير برسالة مشابهة. وفيما يلي بعض الاقتباسات التي قد توفر مصدر إلهام وتحفيز لك ولفريقك: الاستنتاج لقد أصبحت الآن تمتلك 8 استراتيجيات فعالة لتحسين العلاقات وتعزيز التعاون بين أفراد فريقك. ربما تكون استراتيجيّة إدارة الاهتمام هي المفضلة لدى البعض لأنك لست مضطرًا فيها إلى القلق كثيرًا بشأن الجداول ومواعيد التسليم، ولكن باقي الاستراتيجيات مفيدة ورائعة أيضًا. ترجمة -وبتصرّف- للمقال Ultimate Guide To Effective Team Collaboration لصاحبه Momchil. اقرأ أيضًا فوائد مشاركات الموظفين في العمل وأهميتها رفع أداء الموظفين عبر تحديد أهدافهم1 نقطة