الآخر الأسئلة

Mhamed Osman
  • 0
  • 0

أفترض أنك تتحدث عن تطبيقات الهاتف الذكي. إن عمل تطبيقك الخاص دون الرجوع إلى شركات متخصصة هو رحلة طويلة -لكنها ممتعة- وقد تختلف الخطوات التي يتوجب عليك اتباعها بحسب الخبرات السابقة التي تمتلكها سواء في البرمجة أو التصميم وتجربة المستخدم. سأفترض عدم توفر أية خبرات، وبالتالي سأذكر لك الخطوات المطلوبة ...‫اقرأ المزيد

أفترض أنك تتحدث عن تطبيقات الهاتف الذكي. إن عمل تطبيقك الخاص دون الرجوع إلى شركات متخصصة هو رحلة طويلة -لكنها ممتعة- وقد تختلف الخطوات التي يتوجب عليك اتباعها بحسب الخبرات السابقة التي تمتلكها سواء في البرمجة أو التصميم وتجربة المستخدم. سأفترض عدم توفر أية خبرات، وبالتالي سأذكر لك الخطوات المطلوبة بشكل عام ومُختصر:

  1. عليك أولًا تعلّم لغة البرمجة الخاصة بالمنصة (نظام التشغيل) الذي تعتزم إطلاق تطبيقك عليه. هل هو أندرويد فقط؟ حينها يجب أن تتعلم Kotlin. هل هو iOS فقط؟ حينها عليك أن تتعلم Swift. هل تريد إطلاق التطبيق للمنصتين معًا؟ حينها قد تُقرر البرمجة عبر منصة Cross-platform مثل React Native وسيتوجب عليك حينها تعلّم Java Script.
  2. قبل أن تبدأ تعلّم أية لغة برمجة ادرس الخيارات المطروحة جيدًا. إن التطوير باستخدام Kotlin أو Swift لأندرويد و iOS (أو ما يُعرف بالـ Native Development) هو الأفضل دائمًا لكن من الصعب جدًا التطوير للمنصتين معًا لو كنت وحدك، حينها يجب أن تدرس خيارات الـ Cross-platform المتوفرة في السوق. هذا أيضًا يعتمد على ميزات التطبيق المُفترضة، هنالك بعض الأشياء التي لا يمكن تحقيقها إلا عبر الـ Native Development، لكن للتطبيقات الأبسط قد يكون الـ Cross-platform خيارًا جيدًا. لهذا خذ وقتك جيدًا كي تقرر كيف وبماذا ستبدأ.
  3. بعد أن قررت إبدأ بتعلّم لغة البرمجة المطلوبة. تعلّم لغة البرمجة فقط بغض النظر عن المنصة. مثلًا تعلّم Kotlin وحدها ولا تبدأ مُباشرةً بأندرويد، أو تعلّم JavaScript وحدها ولا تبدأ فورًا بـ React Native.
  4. على الأغلب فإن تطبيقك سيحتاج للتخاطب مع واجهة برمجية عبر الويب API. في هذه الحالة يجب أن تتعلم شيئًا عن الواجهات البرمجية وترميز JSON وبروتوكول HTTP.
  5. بعد أن أنهيت لغة البرمجة إبدأ بتعلّم التطوير للمنصة نفسها، مثلًا أندرويد أو iOS.
  6. تعلّم Git واستخدم إحدى مستودعات الشيفرة مثل GitHub لتخزين الشيفرة المصدرية عليها.
  7. قبل أن تبدأ العمل على مشروعك ادرس جيدًا أفضل الممارسات best practices المنصوح بها للمنصة التي تعتزم التطوير لها. مثلًا تنصح جوجل بنموذج التصميم design pattern المُسمى MVVM لتطوير التطبيقات على أندرويد.
  8. إدرس مبادئ تجربة الاستخدام User Experience أو ما يُسمى اختصارًا UX وذلك لمساعدتك في تصميم تجربة استخدام ممتازة. مهما كان تطبيقك رائعًا من الناحية البرمجية لكن أحدًا لن يستخدمه لو كان مُعقدًا وغير مفهوم. ادرس أيضًا مبادئ تصميم الواجهات، مثل مبادئ Material Design بالنسبة لأندرويد. ثم قم بعمل سكيتشات وتصاميم نهائية أو شبه نهائية للواجهات باستخدام أدوات مثل Figma أو Sketch.
  9. تعلّم قليلًا عن مبادئ التحقق من الجودة QA لتطبيقات الهواتف، ثم قم بوضع بروتوكول للتحقق من الجودة تتبعه قبل نشرك لكل إصدار جديد للتأكد بأن الميزات الرئيسية للتطبيق تعمل بشكل سليم.

هذه هي الخطوات الأساسية لإنتاج تطبيق عالي الجودة. كما ترى فهي ليست بالسهلة وتستغرق وقتًا، لكني أتمنى لك حظًا موفقًا في رحلتك لتطوير تطبيقك الخاص.

قراءة أقل
Jahfar Abdalkader
  • 1
  • 1

لدي إطار بيانات يتكون من مئات الأعمدة ، وأحتاج إلى رؤية جميع أسماء الأعمدة. ما الذي قمت بفعله: In[37]: data_all2.columns الذي خرج هو التالي: Out[37]: Index(['customer_id', 'incoming', 'outgoing', 'awan', 'bank', 'family', 'food', 'government', 'internet', 'isipulsa', ... ...‫اقرأ المزيد

لدي إطار بيانات يتكون من مئات الأعمدة ، وأحتاج إلى رؤية جميع أسماء الأعمدة.

ما الذي قمت بفعله:

In[37]:
data_all2.columns

الذي خرج هو التالي:

Out[37]:
Index(['customer_id', 'incoming', 'outgoing', 'awan', 'bank', 'family', 'food',
       'government', 'internet', 'isipulsa',
       ...
       'overdue_3months_feature78', 'overdue_3months_feature79',
       'overdue_3months_feature80', 'overdue_3months_feature81',
       'overdue_3months_feature82', 'overdue_3months_feature83',
       'overdue_3months_feature84', 'overdue_3months_feature85',
       'overdue_3months_feature86', 'loan_overdue_3months_total_y'],
      dtype='object', length=102)

كيف يمكنني إظهار كافة الأعمدة ، بدلاً من قائمة مقطوعة؟

قراءة أقل
Tawfeek Ismail
  • 1
  • 1

أريد إخفاء Footer على الأجهزة المحمولة والأجهزة اللوحية. لقد بحثت في جميع أنحاء google للحصول على بعض المساعدة ولكن لم أجد أي شيء. كود HTML للفوتر هو : <!-- Footer --> <footer class="footer" role="contentinfo"> <div class="container<?php echo ...‫اقرأ المزيد

أريد إخفاء Footer على الأجهزة المحمولة والأجهزة اللوحية. لقد بحثت في جميع أنحاء google للحصول على بعض المساعدة ولكن لم أجد أي شيء. كود HTML للفوتر هو :

<!-- Footer -->
    <footer class="footer" role="contentinfo">
        <div class="container<?php echo ($params->get('fluidContainer') ? '-fluid' : ''); ?>">
            <jdoc:include type="modules" name="footer" style="none" />
          <div class="footer">
&copy; <?php echo date('Y'); ?> <?php echo $sitename; ?>
            </div>

كودال CSS للفوتر هو :

.footer {
  background-color: #F6861F;
  color: #fff;
  padding: 20px 0;
  margin-bottom: 0
  text-align: center;
  overflow: hidden;
  width: 100%;
}
قراءة أقل
Sameh Salama
  • 1
  • 1

أنا أحاول كتابة بعض البيانات إلى ملف ولكن لدي بعض المشاكل مع المسار الذي استخدمه. هذا هو الكود الذي استخدمه: my_path = r'c:\data\XYM\Desktop\MyFolder 7-sep' with open(my_path + '' + 'Vehicles_MM' + '' + name_vehicile + '-AB.txt', 'w') as output: writer = csv.writer(output, delimiter ...‫اقرأ المزيد

أنا أحاول كتابة بعض البيانات إلى ملف ولكن لدي بعض المشاكل مع المسار الذي استخدمه.
هذا هو الكود الذي استخدمه:

my_path = r'c:\data\XYM\Desktop\MyFolder 7-sep'

with open(my_path + '' + 'Vehicles_MM' + '' + name_vehicile + '-AB.txt', 'w') as output:
    writer = csv.writer(output, delimiter = '\t')
    writer.writerow(headers)
    writer.writerow(data)
    for vehicle_loc_list in vehicle_loc_dict.values():
        for record_group in group_records(vehicle_loc_list):
            writer.writerow(output_record(record_group))

هذا هو الخطأ الذي أتلقاه:

FileNotFoundError: [Errno 2] No such file or directory: 'c:\\data\\XYM\\Desktop\\MyFolder 7-sep\\Vehicles_MM\\20200907-AB.txt'
قراءة أقل
Jana Hamoa
  • 3
  • 3

في الحقيقة، ظهرت استراتيجية ومفهوم كلمة السر قبل تقريبًا مئة عام عندما أرادت الشركات والجامعات السماح لمستخدمين مختلفين باستخدام جهاز كمبيوتر واحد في الوقت نفسه، حيث كانت أجهزة الكمبيوتر في ذلك الوقت حواسب رئيسية او مركزية، تتمتع بقدرة حوسبية على المستخدمين الوصول إليها من خلال المحطات. حيث منح هذا ظهر مفهوم ...‫اقرأ المزيد

في الحقيقة، ظهرت استراتيجية ومفهوم كلمة السر قبل تقريبًا مئة عام عندما أرادت الشركات والجامعات السماح لمستخدمين مختلفين باستخدام جهاز كمبيوتر واحد في الوقت نفسه، حيث كانت أجهزة الكمبيوتر في ذلك الوقت حواسب رئيسية او مركزية، تتمتع بقدرة حوسبية على المستخدمين الوصول إليها من خلال المحطات.

حيث منح هذا ظهر مفهوم كلمة المرور لكل مستخدم على هذا الحاسوب للمستخدمين لإعطاؤهم نوعًا من السرية، وهو أمر أساسي اليوم في إدارة الحواسيب، ليس فقط في جهاز الكمبيوتر، ولكن أيضًا للخدمات.

أما عن اكتشاف هذا التكنيك، فهو قديم جدًا قبل ظهور الحوسبة أصلًا، حيث يمكننا إعتبار مقتاح الباب هو كلمة مرور، مفتاح السيارة كلمة مرور أيضًا، أي شيء يندرج تحت مسمى مفتاح ف هو بمثابة كلمة المرور.

بالنسبة لكلمات المرور في الحواسيب، الباحث فرناندو كورباتو في معهد ماساتشوستس للتكنولوجيا بجامعة كامبردج للعلوم الشهيرة في ماساتشوستس (الولايات المتحدة الأمريكية) كان أول من أنشأ كلمة مرور لكل مستخدم على جهاز كمبيوتر. توفي فرناندو كورباتو، المسمى “كوربي”، في 13 يوليو عن عمر يناهز 93 عامًا، تاركًا وراءه كلمة المرور، التي يجب عليك كتابتها في كل مرة تقوم فيها بتشغيل جهاز الكمبيوتر الخاص بك، او الدخول لأحد حساباتك على الانترنت او البرامج المختلفة، وكذلك قانون الكمبيوتر.

قراءة أقل
Sara Hamidi
  • 5
  • 5

نحن نعرف جيدا أن أجهزة الكمبيوتر الحالية أفضل بكثير من تلك الأجهزة التي كانت موجودة في الماضي، هذا يعود بشكلٍ رئيسي إلى تحسن وسائل التصنيع التي تتطور باستمرار. في عام 1965، اكتشف جوردون مور، وهو المؤسس المشارك في شركة إنتل، مسارا يمكن أن يتنبأ بما ستصل إليه التكنولوجيا في المستقبل، فقد ...‫اقرأ المزيد

نحن نعرف جيدا أن أجهزة الكمبيوتر الحالية أفضل بكثير من تلك الأجهزة التي كانت موجودة في الماضي، هذا يعود بشكلٍ رئيسي إلى تحسن وسائل التصنيع التي تتطور باستمرار.

في عام 1965، اكتشف جوردون مور، وهو المؤسس المشارك في شركة إنتل، مسارا يمكن أن يتنبأ بما ستصل إليه التكنولوجيا في المستقبل، فقد استنتج أنه في كل 18 شهرا تقريبا، يتضاعف عدد الترانزستورات التي يمكن وضعها في دارة متكاملة، يعرف هذا المسار باسم قانون مور.

لا يمكن أن يستمر قانون مور إلى ما لا نهاية، ذلك يعني أننا سنصل إلى حد لن نستطيع عنده إضافة المزيد من الترانزستورات في دارة، على سبيل المثال، إذا استمر قانون مور حتى عام 2050، سنحتاج إلى صناعة ترانزستورات من مكونات أصغر من ذرة هيدروجين واحدة.

يتوقع العلماء أن قانون مور سينتهي عندما نتمكن من وضع مكونات لا تبعد سوى 5 نانومتر في الدارة، وهذا على الأغلب سيحدث خلال السنوات المقبلة. فهل سيتوقف التقدم التكنولوجي عند ذلك؟

الإجابة هي لا، فأجهزة الكمبيوتر ستبقى تتحسن حتى لو لم يكن بالإمكان تقليص حجمها. إليك الأسباب التي تجعلنا نعتقد ذلك:

قانون مور عبارة عن مسار وليس قانونا، لذلك، لن يؤدي توقف هذا المسار إلى أي شيء غريب. ببساطة، سيكون توقف مسار مور مرحلة جديدة يجب عندها التفكير بطريقة أخرى، هذا يشبه إلى حد كبير وجود مدينة أصبحت غير قادرة على استيعاب عدد أكبر من السيارات، في هذه الحالة، ستبقى السيارات القديمة في المدينة تعمل، وقد يجد المسؤولون وسيلة لتنظيمها بحيث يصبح السكان معتمدين على عدد أقل منها.

سيؤدي تحسين الخوارزميات والبرمجيات أيضا إلى تحسين عمل أجهزة الكمبيوتر، وسوف يضطر المبرمجون إلى تبسيط الشيفرة البرمجية قدر الإمكان لتحسين السرعة والأداء، وعلى الأغلب، سيتحول هذا المجال إلى مسار جديد بديل لقانون مور. هذا ما حدث في مجال البطارية والشحن الكهربائي للأجهزة، فالبطاريات الموجودة حاليا في هواتفنا المحمولة لا تختلف كثيرا عن تلك البطاريات التي كانت في العقود الماضية، لكن التحسن لم يكن فيها، بل كان في البرمجيات وعتاد الأجهزة الذي أصبح يستهلك البطارية بشكلٍ أكثر كفاءة.

بما أن قانون مور قد ظهر في ستينيات القرن الماضي، أي قبل ظهور الإنترنت بكثير، فإنه لم يأخذ بالاعتبار تأثير هذه الشبكة على عمل أجهزة الكمبيوتر، فحتى لو توقف قانون مور، يمكن تطوير أجهزة تعتمد على المعالجة البعيدة من خلال الإنترنت، يمكننا صناعة جهاز كمبيوتر أو هاتف محمول صغير الحجم ويكون متصلا بالإنترنت مع خدمة حوسبة سحابية توفر معالجات كبيرة الحجم للغاية وذات قدرات فائقة.

يمكن أن يساعد الاعتماد على مكونات جديدة في تحسين أداء أجهزة الكمبيوتر، الأن، يشكل عنصر السيليكون أساس التقدم التكنولوجي، وذلك لأنه موصل جيد ويمكن توفيره باسعار معقولة، وقد نستخدم في المستقبل مكونات أخرى تجعلنا قادرين على تصنيع ترانزستورات أفضل.

أخيرا، ماذا عن تطوير أجهزة حاسوب لا تعتمد على الترانزستورات، هذه فكرة قيد التطوير حاليا ومكلفة للغاية، حيث تتنافس شركات عديدة على تطوير حواسيب كمومية فائقة، وتشير التقديرات إلى أن هذه الحاسيب قادرة على إجراء عمليات حسابية تحتاج الحواسيب العادية إلى مئات أو آلاف السنين لإجراءها.

قراءة أقل
Wafaa Ghannom
  • 4
  • 4

مرحباً.. في البداية حاول الابتعاد عن الاستضافة المشتركة فهي سيئة في العموم و كل شركة ستبهرك بالمميزات و العروض التي ستقدمها لك في البداية لكن لن تحصل على أداء جيد و عن التجديد ستدفع سعر مختلف تماماً عن السعر الذي اشتركت به. ثانياً سأبدأ بذكر أسوء مواقع الاستضافة (حسب خبرتي و ...‫اقرأ المزيد

مرحباً..

في البداية حاول الابتعاد عن الاستضافة المشتركة فهي سيئة في العموم و كل شركة ستبهرك بالمميزات و العروض التي ستقدمها لك في البداية لكن لن تحصل على أداء جيد و عن التجديد ستدفع سعر مختلف تماماً عن السعر الذي اشتركت به.
ثانياً سأبدأ بذكر أسوء مواقع الاستضافة (حسب خبرتي و تجربتي الشخصية)

  1. ipage
  2. namecheap
  3. godaddy

الآن ما البديل ؟

أنت أمام خياران اثنان ، في حال أنت شخص غير تقني و تريد شيء جاهز للاستعمال بضغطة زر واحدة انصحك باستضافة bluehost ، قم باختيار خطة WordPress pro

قراءة أقل