اذهب إلى المحتوى

لوحة المتصدرين

  1. Berg Heisen

    Berg Heisen

    الأعضاء


    • نقاط

      3

    • المساهمات

      29


  2. Mustafa Suleiman

    Mustafa Suleiman

    الأعضاء


    • نقاط

      2

    • المساهمات

      13227


  3. خالد ابو الشيش

    • نقاط

      2

    • المساهمات

      29


  4. عبدالرحمن عوني

    • نقاط

      2

    • المساهمات

      12


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 06/10/23 في كل الموقع

  1. انا حاليا ادرس في دورة تصميم واجهات المستخدم لاكاديمية حسوب وقاربت على الانتهاء من قسم الاساسيات وفهمت جيدا اساسيات HTML وCSS و Javascript وبدأت اواجه بعض الصعوبات في فهم J query وفهم Ajax واشعر ان المدرب تخطى الكثير من المقدمات لفهم الموضوع ودخل في الصميم والان اشعر بالاحباط ووجدت معاناة كبيرة عندما سمعت التطبيق على قسم الاساسيات ولا استطيع تطبيقه وحدي انا افهم معظم الاكواد ودورها اذا كانت مكتوبة لكن لا استطيع تطبيقها بنفسي واستخدامها كما اشعر ان المدرب يتجاهل الكثير من التفاصيل ويستخدم خصائص لم ترد في شرح الاساسيات ما الخطوة التي يجب ان اتخذها لاستعيد حماسي واتخلص من الاحباط الملازم لي وما هي حلول المشكلات السابقة هل اتجاهل ما يعوقني وقد اجد له اجابات في اجزاء الدورة التالية
    2 نقاط
  2. لم افهم موضوع ال CDN عبر HTTPS وماهي المواقع التي تقدم افضل خدمات ال CDN و HTTPS
    2 نقاط
  3. بعد ما ربط الserver Godaddy ل cloudflare ال username و ال password اتغيرو تلقائي الخاصين بالدخول علي Host معنت شعارف اعمل access علي FTP او من ال cPanel
    2 نقاط
  4. text.html index.html .DS_Store bootstrap-rtl.css bootstrap.css img.html bootstrap.js popper.min.js jquery-3.5.1.slim.min.js table.html .DS_Store
    2 نقاط
  5. سنتعرف في هذا المقال على مفهوم واجهة برمجية التطبيقات Application Programming Interface، هذا المصطلح السهل المعقد حيث سنحاول فهمه وكيفية بناء مواقع الويب والتطبيقات الحديثة في يومنا هذا بالاعتماد على الواجهات البرمجية ونجيب على سؤال مهم وهو كيف ترتبط الواجهة الأمامية مع الواجهة الخلفية لتطبيق الويب أو الموقع الإلكتروني. هذا المقال هو جزء من سلسلة مقالات حول الواجهة البرمجية API وكيفية الاستفادة منها في بناء تطبيق ويب: مدخل إلى الواجهات البرمجية API الاتصال بواجهة زد البرمجية وفهم عملية الاستيثاق والتصريح أمثلة عملية لاستخدام واجهة برمجة متاجر زد zid API تطوير تطبيق عملي يزيد من احتفاظ العملاء عبر واجهة زد البرمجية مفهوم الواجهة البرمجية للتطبيقات API قبل أن ندخل في أية تفاصيل تقنية عن موضوعنا اليوم، سأحكي لك يومًا في حياة علي. علي هو مبرمج تطبيقات ويب يعمل في إحدى الشركات التقنية العربية، علي يحب تجربة المأكوﻻت المختلفة، بحيث يجرب في كل يوم أكلة جديدة في المطاعم المحيطة وإن سمع بافتتاح مطعم جديد بالقرب من مكان عمله، فإنه ﻻ يتوانى في زيارته وتذوق مختلف اﻷطباق التي يقدمها. ذهب علي ﻷحد المطاعم التي فتحت أبوابها مؤخرا، واختار مكانا هادئًا ونادى النادل يسأله عن اﻷطباق التي يقدمونها من أجل أن يأخذ طلبيته إلى الطباخ لتحضير ما طلبه علي. دوَّن النادل ما يريد علي تناوله من مأكوﻻت وذهب بها إلى الطباخ من أجل تحضيرها، بعد مدة وجيزة، عاد النادل إلى علي وهو يحمل كل ما طلبه وقدمها متمنيا أنه يعجبه اﻷكل، تذوق علي المأكوﻻت وأبدى إعجابه اﻷولي بها، وبدأ في اﻷكل إلى أن أنهى كل ما في الصحون، دفع الحساب، وخرج من المطعم شاكرا النادل على حسن اﻷستقبال. هل تتساءل اﻵن، ما علاقة هذه القصة بالواجهات البرمجية؟ وهل تساءلت يومًا عن طريقة عمل تطبيقات الهواتف الذكية، وكيف تتصل بخوادم الشركات المطورة لها، هل استطعت الوصول إلى إجابات كافية عن ذلك؟ سأبين لك ما العلاقة بين المثال السابق والواجهات البرمجية وكيف أن الواجهات البرمجية ماهي إﻻ تطبيق لمثالنا باختلاف بسيط وهو مكان التطبيق فقط، فمثالنا هو من الواقع الذي نعيشه يوميًا ونراه دائمًا حتى تعودنا عليه حتى أصبحنا ﻻ ندركه، أما الواجهات البرمجية، فقد أصبحت جزءًا ﻻ يتجزأ من حياة مبرمج المواقع وتطبيقات الويب المهنية. كنت قد نوهتك ﻷن تسأل نفسك عن طريقة ربط تطبيقات الهواتف الذكية مع خوادم الشركات. هنالك طريقتين لربط تطبيقات الهواتف الذكية مع خوادم الشركات المطورة، الطريقة اﻷقدم تسمى SOAP وهي اختصار لجملة Simple Object Access Protocol، أما الطريقة اﻷحدث فهي الواجهة البرمجيةللتطبيقات API وهي اختصار لجملة Application Programming Interface، وهي التي سأركز عليها، ولكن باختصار، API هي طريقة لتواصل البرمجيات في ما بينها باستخدام صيغة JavaScript Object Notation والتي تعرف اختصارا بـ JSON. لن أدخل في التفاصيل التاريخية وسأبقى مركزا على الجانب التقني فقط، لهذا أتوقع منك أن تحاول البحث عن تاريخ ابتكار وتطوير تقنية API والتقنية المكملة لها REST والتي هي اختصار لجملة REpresentational State Transfer. مصطلحات وجب معرفتها سنسرد بعض المصطلحات باللغة الإنجليزية والعربية الضروري على كل مطور ويب أن يعرفها: Backend: الواجهة الخلفية، هي المسؤولة عن العمليات المنطقية للنظام، تتعامل مع الملفات أيضا ومع قواعد البيانات. Frontend: الواجهات الأمامية، كل ما يراه المستخدم ويتعامل معه بشكل مباشر، ويتم ربطها مع النظم الخلفية بما يعرف بالواجهة البرمجية للتطبيقات API. API: الواجهة البرمجية للتطبيقات، هي حلقة الوصل ما بين النظم أو الواجهة الخلفية والواجهات الأمامية. Request: الطلب الذي يرسله العميل (قد تكون الواجهة الأمامية) إلى الخادم Server الموجود في الواجهة الخلفية. Header: ترويسة الطلب Request المرسل والذي يحوي بعض البيانات الوصفية التي تصف الطلبية وحالها وأية معلومات إضافية مطلوبة. Body: جسم أو متن الطلب المرسل والذي يحوي غالبًا على البيانات المتبادلة في الطلبية. Response: استجابة أو رد الخادم وهي المعلومات الراجعة من الخادم إلى العميل مقدم الطلب ردًا على طلبه. تحوي المعلومات الراجعة من الخادم إلى العميل على ترويسة Header وأيضا على متن Body. Endpoint: نقطة الوصول، وهي نقطة اتصال الواجهات الأمامية مع موقع محدد في الواجهة الخلفية أي نقطة محددة تتصل عبرها الواجهة الأمامية مع الواجهة الخلفية لغرض محدَّد. HTTP Client Software: عميل خادم HTTP وهو برنامج يساعد على تسريع التعامل مع الواجهات البرمجية بتوفير آلية واضحة في عملية إرسال واستقبال الطلبيات والردود. هل تعرفت على أي من المصطلحات التي ذكرناها قبل قليل؟ لا بأس إن لم تفعل، فسنشرحها لك حتى تكون لديك معرفة مبدئية بموضوع الواجهات البرمجية. لماذا نستخدم الواجهات البرمجية للتطبيقات APIs وما هي فائدتها؟ تُعَد الواجهات البرمجية للتطبيقات طبقة الحماية الأولى First Security Layer للبرمجية الموجودة على خادم الويب، بسبب أنها تفصل ما بين النظم الخلفية والعمليات الجارية على قواعد البيانات عن الواجهات الأمامية سواءً كانت صفحات ويب عادية أو تطبيقات هواتف ذكية. أي أن أي تطبيق ويب أو موقع اليوم يتألف من واجهة خلفية وواجهة أمامية وواجهة برمجية تعد وصلة وصل بينهما. أما الواجهة الخلفية، فتحوي على كامل العمليات والإجراءات والخدمات التي يوفرها التطبيق أو الموقع مثل معالجة صورة أو بيانات أو حتى تقديم خدمة الطقس. أما الواجهة الأمامية فهي الواجهة التي يراها المستخدم والمسؤولة عن عرض البيانات القادمة من الواجهة الخلفية للمستخدم بصورة مناسبة ومتناسقة مع إرسال البيانات من المستخدم إلى الخادم بالشكل الذي يطلبها، فالبيانات المتبادلة تلك تكون بشكلها الخام (تستعمل غالبًا صيغة JSON أو حتى صيغة XML)، أما الواجهة البرمجية للتطبيقات API فهي صلة الوصل كما ذكرنا ووظيفتها استلام البيانات من الواجهة الأمامية وتسلميها للواجهة الخلفية وإرسال البيانات من الواجهة الخلفية إلى الأمامية بطريقة وأسلوب موحد أي هي التي تؤمن عملية التفاهم بين الواجهة الأمامية والخلفية لتأمين التخاطب فيما بينهما. كيف تعمل الواجهات البرمجية للتطبيقات API سأحاول قدر اﻹمكان تبسيط آلية عمل الواجهات البرمجية بمثال عملي من حياتنا اليومية، وليكن مثلا منصة فيسبوك. كما تعلم أنه بإمكانك الدخول إلى حسابك في فيسبوك من أي جهاز تريد، سواءً من هاتفك الذكي أو من جهازك اللوحي أو من جهاز الحاسوب بل بإمكانك الدخول منها مجتمعة وفي نفس الوقت، وهنا يجب أن تطرح سؤاﻻ مهمًا، كيف تتم مزامنة حسابك في كل تلك اﻷجهزة؟ هنا تأتي أهمية الواجهة البرمجية، بحيث أن كل تلك اﻷجهزة متصلة بنظام خلفي واحد وكلها تتصل بالواجهة البرمجية التي تكون حلقة الوصل ما بين كل اﻷجهزة المتصلة و النظام الخلفي. سنأخذ مثاﻻ من حياتنا اليومية وهو موقع فيسبوك، سنقوم بالدخول إلى حسابنا باستخدام الأجهزة التي بحوزتنا، إن لم تكن لديك أجهزة غير جهاز الحاسوب، افتح أكثر من متصفح، ليس نفس المتصفح، مثلا متصفح كروم Google Chrome ومتصفح فايرفوكس Mozilla Firefox، في هذه الحالة يمكنك فتح حسابك 4 مرات باستخدام التصفح الخفي، في متصفح كروم يسمى Incognito Mode أما في متصفح فايرفوكس فيسمى Private Mode. هل قمت بذلك؟ كيف تستطيع إرسال رسائل إلى أصدقائك من أي متصفح وتشاهدها في نفس الوقت من بقية المتصفحات؟ قم بالدخول إلى حسابك على فيسبوك من هاتفك الذكي، من التطبيق الرسمي أو من المتصفح، هل تستطيع أن ترى الرسائل التي قمت بإرسالها على هاتفك أيضا، كيف يحدث ذلك؟ كيف تستطيع الدخول إلى حسابك من أماكن مختلفة في نفس الوقت؟ سأشرح العملية بأكملها بشكل بسيط وبالمقارنة مع مثالنا في بداية المقال وبدون الدخول في التفاصيل الدقيقة في الوقت الحالي. عند دخول علي مطور الويب إلى المطعم، كان عليه أن يختار طاولة محددة برقم حتى يعلم النادل موقعه وأنه يريد تناول الطعام وبالتالي يستطيع تقديم مختلف الخدمات التي يعرضها المطعم. هنا الطاولة وتفاصيلها (من رقم وحجم وغيرهما) تعتبر المكان المتفق عليه من أجل اﻹستفادة من خدمات المطعم، ويمكن القول أنها نقطة الوصول إلى خدمات المطعم Endpoint. في حالة موقع فيسبوك، وعند قيامك فتح التطبيق مثلا، سيتصل تطبيقك بخادم الشركة، في نقطة متفق عليها ومحددة مسبقًا في التطبيق وفيها فقط يستطيع الخادم أن يقدم خدماته للتطبيق. جاء النادل إلى عليٍ والذي يسمى العميل client ليأخذ الطلبات منه، ودون أية ملاحظات أو أي خدمات أخرى، وبعدها ذهب إلى المطبخ ليخبر الطباخ بالطلبات من أجل تحضيرها. هنا نسمي العملية: إرسال طلب Send Request من العميل علي إلى الطباخ في المطعم مقدمة الخدمة. في حالة موقع فيسبوك، أقرب عملية لذلك المثال عملية تسجيل الدخول حيث تُدخل اسم المستخدم الخاص بك مع كلمة المرور، تأخذ الواجهة الأمامية منك هذه المعلومات وترسلها للواجهة الخلفية لموقع فيسبوك لتتحقق منها ومن الطلب الخاص بك، طلب تسجيل الدخول. يستلم الطباخ الطلبية ويتأكد من أنها طلبية صالحة ويمكنك تحضيرها (أي ليست طلبية شراء ملابس مثلًا) ثم يبدأ بتحضيرها وعندما ينتهي منها، يعطيها للنادل الذي يرتبها بدوره في صينية ويأخذها إلى علي ليضعها على طاولته حتى يتسنى له البدء في تذوقها. هذه العملية تسمى: اﻹستجابة Send Response أي استجاب الطباخ لطلبية علي وقدم له ما يريد. وفي حالة موقع فيسبوك، إن كانت المعلومات المقدمة صالحة، سيقوم خادم فيسبوك بالسماح لك بالدخول واستعراض مختلف الصفحات واﻷجزاء الخاصة به والاستفادة من خدمته التي يقدمها. هل اتضحت الصورة العامة اﻵن؟ ببساطة، الواجهة البرمجية تنفذ عمل النادل في المطعم، حيث أن النادل يقوم بأخذ طلبات الزبائن إلى الطباخ وفريقه لتحضيرها وبعد ذلك، يقوم بأخذ تلك استجابة الطباخ لتلك الطلبات إلى أصحابها، أي أن الواجهة البرمجية تأخذ الطلبات من المستخدمين (الواجهة الأمامية) إلى النظام الخلفي لتقوم بعمل محدد ومن ثم تعيد النتائج المتحصل عليها إلى طالبيها أي تعيدها للواجهة الأمامية مرةً أخرى. خاتمة تعرفنا على ماهية الواجهة البرمجية للتطبيقات وأهم المصطلحات فيها وكيف يستفيد منها المطورون في بناء تطبيقات الويب الحديثة واستثمارها في التواصل ما بين الواجهة الأمامية والخلفية لتطبيقات الويب والمواقع الحالية، فالتعامل مع الواجهة البرمجية للتطبيقات ضروري لأي مبرمج متخصص في تطوير الويب، وعليه أن يعي مفهوم الواجهة البرمجة تمامًا إذ أصبح هذا المفهوم هو المفهوم الحديث في التواصل ما بين الواجهة البرمجية الخلفية والأمامية للمواقع وتطبيقات الويب، أضف إلى ذلك أن الكثير من الخدمات والمواقع أصبحت تتيح واجهتها البرمجية (مثل الواجهة البرمجية للمطورين من فيسبوك وتويتر وغيرهما) للاستفادة منها أو حتى هنالك واجهة برمجية مخصصة فقط لتقديم خدمات محددة (مثل واجهة برمجية للحصول على معلومات الطقس) وتقدمها للمطورين للاستفادة من تلك الخدمات في مختلف المشاريع. اقرأ أيضًا المقال التالي: الاتصال بواجهة زد البرمجية وفهم عملية الاستيثاق والتصريح كيفية إنشاء متجر إلكتروني متكامل باستعمال منصة زد الواجهة البرمجية Fetch API في جافاسكريبت
    1 نقطة
  6. اعتذر اذا الأسئلة كثيرة، ماهو افضل برنامج لعمل قوالب الوردبريس طبعا من الصفر، والسؤال الثاني بعد الانتهاء من عمل قالب اريد ان اجعله متاح في متجر الوردبريس ماهي الطريقة لذلك؟ وكيف اضيف خاصية التحديث بالقالب يعني يكون القالب مميز ويمكن تحديثه عن بعد للمستخدمين، وسؤال اخير كيف اضيف خاصية كود التفعيل بالقالب اذا اردت جعله مدفوع؟
    1 نقطة
  7. السلام عليكم انا اريد الدخول في عالم ال فريلاسنر كيف ممكن هذا و ما هي نصائحكم و انا تصفحت موقع فريلانسر و وجد ان بعض مبرمجين فلاتر يطلبون ١٠ دولار في الساعة و البعض الاخر ٥٠ دولار و الاخر ٨٠ دولار فما هوه السعر المناسب الذي اضعه ؟ و كيف يتم حساب الساعه ؟ وشكرا لكم
    1 نقطة
  8. السلام عليكم اريد حل لهذا السؤال بإستخدام البرمجة الشيئية باستخدام OOP اكتب برنامج يقوم بإدخال بيانات طالب ودرجاته في أربعة مقررات ثم أوجد معدل الطالب واطبع بياناته مع المعدل؟
    1 نقطة
  9. السلام عليكم ممكن مساعده عندي في برنامج visual studio code احيانا لا يعمل run ف هل ممكن حد يعرفني إيه المشكلة و طريقه حلها و جزاكم الله خيرا
    1 نقطة
  10. السلام عليكم أواجه مشكلة بتثبيت الاعدادات في cpanel بعد رفع المشروع على cpanel الصفحات الثابتة بالموقع تعمل ولكن الصفحات التي تتولد ديناميكيا لا تعمل والسبب غالبا ضبط الاعدادات في ال Cpanel وهذه لم استطع ان اعرفها يظهر عندي هذا الخطأ
    1 نقطة
  11. عليك بالتأكد من أنك قمت بالتالي: الخطوة 1: إنشاء خادم Next.js مخصص قم بإنشاء ملف بالاسم "server.js" في المجلد الرئيسي لمشروعك. وضع الكود التالي في الملف "server.js": // server.js const { createServer } = require('http'); const { parse } = require('url'); const next = require('next'); const dev = process.env.NODE_ENV !== 'production'; const app = next({ dev }); const handle = app.getRequestHandler(); app.prepare().then(() => { createServer((req, res) => { const parsedUrl = parse(req.url, true); handle(req, res, parsedUrl); }).listen(3000, (err) => { if (err) throw err; console.log('> Ready on http://localhost:3000'); }); }); أو قم بقراءة الدليل الرسمي Next JS guide لتعرف ما هي الإعدادات المناسبة لمشروعك. الخطوة 2: تعديل ملف package.json عليك بتعديل ملف package.json في مشروع Next.js الخاص بك. ثم تعديل سكريبت البدء (start) ليشير إلى "node server.js" بدلاً من "next start". وتأكد من تعيين المتغير "NODE_ENV" إلى "production". مثال على package.json المعدل: { "name": "my-next-app", "version": "1.0.0", "scripts": { "dev": "next dev", "build": "next build", "start": "NODE_ENV=production node server.js" }, "dependencies": { "next": "^12.0.1", "react": "^17.0.2", "react-dom": "^17.0.2" } } الخطوة 3: بناء تطبيق Next.js قم بتشغيل الأمر التالي في وحدة التحكم (Terminal) لبناء تطبيق Next.js: npm run build وانتظر حتى تنتهي عملية البناء. الخطوة 4: رفع الملفات إلى cPanel قم بفتح مجلد مشروع Next.js الخاص بك على جهاز الكمبيوتر. حدد جميع الملفات والمجلدات باستثناء المجلد "node_modules" والملفات ".git" و"README.md" و".gitignore". أنشئ ملف ZIP باستخدام الملفات المحددة. الخطوة 5: رفع الملفات إلى cPanel دخول إلى cPanel الخاص بك. قم بتحميل ملف ZIP الذي أنشأته إلى المجلد الجذر لاسم النطاق الخاص بك وقم بفك الضغط عنه. الخطوة 6: إعداد تطبيق Node.js على cPanel انتقل إلى قسم البرمجيات في cPanel وانقر على "Setup Node.js App". انقر على زر "+ Create Application". قم بتكوين التطبيق Node.js كما يلي: Node.js version: حدد الإصدار الذي يتوافق مع إصدار Node.js الذي استخدمته أثناء تطوير التطبيق. Application mode: حدد "Production". Application root: اكتب المسار الذي يربط معه المجلد الجذر لمشروعك. إذا وضعت الملفات والمجلدات في مجلد "public_html"، فاكتب "/public_html". Application URL: حدد اسم النطاق الخاص بك. Application startup file: اكتب "server.js". والآن: انقر على الزر "CREATE" وانتظر حتى يتم إنشاء التطبيق. قم بالنقر على زر "STOP APP" لإيقاف التطبيق مؤقتًا. انتقل قليلاً لترى قسم "Detected configuration files"، وانقر على "Run NPM Install" لتثبيت جميع حزم Node.js المستخدمة في مشروعك. انتقل مرة أخرى للنقر على زر "START APP" لبدء التطبيق. افتح اسم النطاق الخاص بك في المستعرض وسيظهر لك تطبيق Next.js الخاص بك. وإذا ما زلت تواجهة أية مشكلة، أنصحك بالبحث عن Build and deploy Next js app on cpanel على يوتيوب وستجد شروحات توضح كيفية القيام بالأمر.
    1 نقطة
  12. هل يمكنك اعطاء تفاصيل أكثر، كيف قمت بتوليد المشروع النهائي build وكيف قمت برفعه على الـ cpanel. فالصحيح هو ان تستخدم ال custom server وأن تقوم برفع الموقع مثل اي سيرفر node js. في حال قمت بتوليد المشروع النهائية build باستخدام الـ next export فلن تعمل الوظائف الخاصة بالسيرفر.
    1 نقطة
  13. تحديد التسعير هو جزء مهم جدًا من العمل كفريلانسر، حيث يتأثر بالعديد من العوامل، مثل مستوى الخبرة و صعوبة المشروع و متطلبات العميل، و نوعية الخدمة التي تقدمها و المنافسة في السوق، و تكلفة المعيشة في بلدك (بسبب هذه النقطة يضع الهنود أسعار رخيصة جداً). لذلك، فمن المهم أن تأخذ بعض الأمور في الاعتبار عند تحديد التسعير: 1- تحديد تكلفة العمل: يجب عليك حساب تكلفة العمل، بما في ذلك وقتك وجهدك والمواد والأدوات التي قد تحتاج إليها. يمكنك تحديد سعرك بناءً على هذه التكلفة الأساسية. 2- تحديد الأسعار التنافسية: قم ببحث السوق وتحديد الأسعار التي يتم تحديدها من قبل الفريلانسرز الآخرين في نفس مجالك. قد يكون من المناسب تحديد سعر أقل من الفريلانسرز الآخرين (في البداية فقط)، ولكن لا ينبغي أن يكون أقل من تكلفة العمل. 3- تحديد القيمة المضافة: إذا كنت تقدم خدمات فريدة ومتميزة، يمكنك تحديد سعر أعلى من المتوسط للتعويض عن القيمة المضافة التي تقدمها. 4- تحديد السعر الساعي أو الثابت: يمكنك تحديد السعر الساعي (حساب تكلفة المشروع بالساعة) أو الثابت، حيث يتم حساب السعر الساعي بناءً على عدد الساعات التي تعملها، في حين يتم حساب السعر الثابت بناءً على متطلبات العمل والمهام المحددة. بالنسبة لحساب الساعة، يتم حساب الوقت الذي تعمل فيه كفريلانسر بناءً على عدد الساعات التي تم قضاؤها في المشروع. يمكنك استخدام التطبيقات المختلفة لتسجيل وقت العمل لحساب المبلغ المستحق للمشروع. 5- توضيح التكاليف الإضافية: يجب عليك توضيح التكاليف الإضافية، مثل التعديلات الإضافية أو الوقت الإضافي الذي قد يستغرقه العمل. قد يتطلب ذلك تعديل السعر الأساسي للتعويض عن هذه التكاليف. في النهاية، يجب عليك أن تحدد سعرًا يعكس قيمة خدماتك ويتناسب مع السوق ومستوى خبرتك. يمكنك أيضًا تغيير السعر بناءً على الخبرة والطلب على خدماتك (إذا كان الطلب عليك أكثر أرفع من سعر خدماتك). هذا الكتاب سيفيدك في حالات عدم الرغبة من العميل في الدفع، وسيوضح لك كيفية التعامل مع هذه الحالات بشكل فعال. وسوف يفيدك هذا الكتاب في مجال العمل الحر بشكل عام.
    1 نقطة
  14. للدخول في عالم الفريلانسر وتطوير مهاراتك وكسب العملاء، إليك بعض النصائح الهامة: ابدأ بتطوير مهاراتك: قم بتحسين وتطوير مهاراتك في مجال البرمجة أو التصميم أو أي مجال آخر تود العمل فيه كفريلانسر. استكشف التقنيات الجديدة وابحث عن الأدوات والمصادر التعليمية التي تساعدك في تعلم المهارات اللازمة. إنشاء محفظة عمل قوية: قم بإنشاء مجموعة من الأعمال السابقة التي تعكس قدراتك ومهاراتك. يمكنك إنشاء موقع شخصي أو استخدام منصات مثل Behance أو GitHub لعرض أعمالك. التسجيل في منصات الفريلانس: قم بالتسجيل في منصات الفريلانس المعروفة والموثوقة مثل Upwork وFreelancer وFiverr. قد يتطلب الأمر بعض الوقت والجهود للحصول على أولى العملاء، لكن استمر في تحسين ملفك الشخصي وتقديم عروض متميزة. تحديد أسعارك: عند تحديد أسعارك كفريلانسر، ينبغي أن تأخذ في الاعتبار عدة عوامل، مثل مستوى خبرتك، صعوبة المشاريع التي تتولاها، المنافسة في سوق العمل والقيمة المضافة التي تقدمها. قد تحتاج إلى تجربة بعض التسعيرات المختلفة في البداية لتجد ما يناسبك ويناسب العملاء. حساب الساعات: عادةً ما يتم حساب الساعات بناءً على الوقت الفعلي الذي تستغرقه في إنجاز المشروع. يمكنك استخدام أدوات مثل تطبيقات تتبع الوقت أو برامج الإدارة المشروع لتسجيل وتحسين الوقت الذي تعمله على المشاريع. السعر المناسب: يعتمد السعر المناسب على عدة عوامل، بما في ذلك مستوى خبرتك والقيمة التي تقدمها وسوق العمل المحلي والمنافسة. يمكنك القيام ببحث في السوق لمعرفة الأسعار المتوسطة في منطقتك أو في المجال الذي تعمل فيه. تذكر أن بناء سمعتك وتطوير مهاراتك يستغرق الوقت، لذا استعد للعمل بجهد وتحمل التحديات. مع الممارسة المستمرة وتقديم جودة عمل متميزة، ستتمكن من جذب المزيد من العملاء وتحقيق نجاحك كفريلانسر. حظًا موفقًا في رحلتك!
    1 نقطة
  15. هي لا تسمى متغيرات ثابتة على نحو دقيق، فهي ثوابت وفقط. ولا يمكن تغيير قيمتها بطبيعة الحال لأنها كذلك. فهي ثابتة لا يفترض أن تتغير وإلا فلماذا قمنا أصلا بتصريحها واستعمالها. وما يظهر في الصورة لا يفترض به أن يخبرك أنه ثابت أو متغير، وإنما يقوم بإخبارك عن نوع بيانات المتغير أو الثابت المسند له. فمرة يخبرنا أنه string أو سلسلة نصية، ومرة يخبرنا أنه integer أو عدد وما نحو ذلك. في جافاسكربرت لا يمكن التحقق بشكل مباشر مما ان كان شيء ما متغيرا أو ثابتا، ولكن يمكنك القيام بدالة مخصصة تقوم لك بذلك. مثال: var value = 42; // variable const PI = 3.14; // constant console.log(typeOfSomething(value)); // خرج: variable console.log(typeOfSomething(PI)); // خرج: constant function typeOfSomething(value) { try { value = 10; // جرب اسناد قيمة return "variable"; } catch (error) { // في حالة تعطل الاسناد فهو حتما ثابت return "constant"; } }
    1 نقطة
  16. وهناك وجهات نظر مختلفة، لكن في رأي الاستيعاب والحفظ مهمان في بداية التعلم، فالاستيعاب وحده لا يكفي، والتطبيق العملي يقوم بتثبيت ذلك الاستيعاب والحفظ بنسبة أكبر، وبعد ذلك لو نسيت بعض الأمور لا مشكلة وليس جميعها بالطبع فالأساسيات لا يفترض أن تنساها، ومع التكرار ستترسخ لديك الأمور التي أنت بحاجة بشكل متكرر في المشاريع. بعد ذلك في البرمجة لن يفيدك الحفظ في شيء، ولا يوجد مبرمج محترف يتذكر كافة ما تعلمه بل يعلم كيف يقوم ببناء المشروع باستخدام الأداة المناسبة، أي يعلم أن اللغة تلك تمتلك الأدوات اللازمة وذلك الإطار هو المناسب للمشروع الخاص بي، وبالطبع هو يحفظ الأساسيات لكونه قام بمشاريع بتلك اللغات والأدوات من قبل. ثم يتذكر ما يريده من خلال البحث وقراءة المستندات، مثلاً يتذكر أنه يمكنه تنفيذ ما يريد من خلال دالة معينة لكنه لا يتذكر طريقة استخدامها أو كتابتها، وبالتالي يقوم بالبحث والقراءة ومع الوقت ستتذكر كل ما يخص عملك اليومي. والباقي عليك بالبحث عنه والقراءة، أو البحث باسم how to تنفيذ شيء معين وهكذا. أي عليك بفهم الأساسيات وفهم الكود جيدًا، فذلك ما سيمكنك من تعلم كل ما تريد، والبعض يمل من بطيء عملية التعلم في البداية، ولكن لا يعلم أنه بذلك سيصعب من عملية تعلمه أي شيء جديد مستقبلاً وسيخاف من أي شيء جديد يظهر أمامه لم يراه من قبل. وبخصوص طريقة التعلم المناسبة قد تم التطرق إلى ذلك بالتفصيل في النقاش التالي:
    1 نقطة
  17. يتيح لك مايكروسوفت اكسل العديد من الأدوات التي تمكنك من تنظيم البيانات على شكل جداول بيانات، تنسيق هذه البيانات وإجراء العديد من العمليات الحسابية عليها باستخدام الصيغ أو المعاملات. كما يمكنك تحليل البيانات وعرضها على شكل مخططات أو جداول محورية. في هذا الدرس سنتعرف كبداية على كيفية إنشاء مصنف جديد workbook وعناصر هذا المصنف. بالإضافة إلى بعض أساسيات الاستخدام. إصدار البرنامج المستخدم في شرح هذا الدرس هو Excel 2013، لكنه لا يختلف عن الإصدارات السابقة (ربما بعض الاختلافات البسيطة مثل شكل الأيقونات أو مواقع الأدوات). واجهة اكسلبما أنّ هذه هي المرة الأولى التي ستستخدم فيها البرنامج، اختر مصنف فارغ blank workbook عند فتحه. سيكون المصنف الجديد بالشكل التالي: يتكون مصنف اكسل من: أشرطة الأدوات بتصميم Ribbon والتي قد تبدو مألوفة بالنسبة لك إذا اعتدت العمل على برنامج مايكروسوفت وورد.ورقة عمل sheet واحدة أو عدة أوراق عمل تقوم بإضافتها أو حذفها حسب حاجتك. تتكون ورقة العمل الواحد من الملايين من الصفوف rows والأعمدة columns، إذ أنّ عددها سيتزايد كلما قمت بالتمرير نزولًا، أو إلى جهة اليمين باستخدام أشرطة التمرير. تُسمى الأعمدة بالأحرف الأبجدية الإنجليزية وتُسمى الصفوف بالأرقام. يمكنك إضافة أوراق العمل عن طريق زر (+) بجانب اسم الورقة في أسفل يمين المصنف.الخلايا cells. تعرّف الخلية من تقاطع صف محدد مع عمود محدد. عند النقر على الخلية سيتم تحديدها بمربع أخضر.صندوق الاسم name box. وهو الذي يحتوي على اسم الخلية المحدد الذي ينتج من حرف العمود ورقم الصف. لاحظ اسم الخلية C7 في صندوق الاسم، أي الخلية الناتجة من تقاطع العمود C مع الصف 7.شريط الصيغة formula bar. وفيه تعرض محتويات الخلية سواء كانت نص اعتيادي أو صيغة.تحتوي أشرطة الأدوات على الكثير من الأوامر والخيارات التي تساعدك في تنسيق الخلايا وإجراء العمليات على البيانات. تنظم هذه الأوامر والخيارات في مجموعة من التبويبات tabs. مثلا يحتوي تبويب الصفحة الرئيسية Home على الكثير من الأوامر المهمة التي تحتاجها في تنسيق الخلايا، تنسيق البيانات وبعض الصيغ الأساسية كصيغة الجمع. ويحتوي تبويب إدراج Insert على أوامر لإدراج عناصر كالصور، المخططات، الجداول، وغيرها. أما تبويب صيغ Formulas فيمكنك من خلاله استعراض الصيغ والدوال الموجودة بمختلف الأنواع، كالدوال الرياضية، الإحصائية، المنطقية، وغيرها الكثير. لتوضيح كيفية استخدام اكسل والأوامر والأدوات المختلفة التي يوفرها سنقوم بعمل جدول بيانات بسيط لمبيعات متجر ما خلال فترة ما (قد تكون البيانات غير منطقية لكنها للتوضيح فحسب). انقر فوق الخلية التي تريد إدخال البيانات فيها سواء كانت بيانات نصية أو رقمية. يمكنك استخدام المفتاح Enter للانتقال إلى الخلية التالية إلى الأسفل، والمفتاح Tab للانتقال إلى الخلية التالية إلى اليمين إذا كان اتجاه الورقة من اليمين إلى اليسار (أو إلى اليسار إذا كان اتجاه الورقة من اليسار إلى اليمين) بدلًا من استخدام الفأرة وتحديد كل خلية على حدة لإدخال محتوى. لاحظ في الجدول أن بعض النصوص يتجاوز حجمها عرض الخلية، يمكنك تعديل عرض العمود ليتناسب مع حجم النص بوضع المؤشر على الخط الفاصل بين العمودين، وعندما يتحول المؤشر إلى علامة + مع سهمين قم بسحب العمود إلى اليسار إذا كان اتجاه الورقة من اليمين إلى اليسار (أو إلى اليمين إذا كان اتجاه الورقة من اليسار إلى اليمين). لتنسيق مجموعة من الخلايا قم بالنقر على أول خلية، استمر بالنقر على زر الفأرة الأيسر نزولا إلى آخر خلية تريد تنسيقها. عند النقر بزر الفأرة الأيمن فوق مجموعة الخلايا المحددة ستظهر قائمة منسدلة تحتوي على مجموعة من الخيارات كالنسخ، اللصق، إدراج، تصفية البيانات، وغيرها. بالإضافة إلى شريط أدوات مصغر mini tool bar يمكنك من خلاله إجراء تنسيقات سريعة على النص أو مجموعة البيانات، وكذلك عندما تقوم بتحديد مجموعة من الخلايا سيظهر زر صغير في زاوية التحديد يسمى التحليل السريع Quick Analysis. يمكنك من خلال هذا الزر تنفيذ بعض الأوامر بصورة سريعة كعمل تنسيق شرطي للخلايا، تحويل الخلايا إلى مخطط أو جدول، أو استخدام بعض الدوال السريعة. سأقوم هنا بتحويل مجموعة الخلايا المحددة إلى جدول مثلا: قد تتساءل لما أقوم بتحويل البيانات إلى جدول على الرغم من أنّ الورقة مقسمة إلى صفوف وأعمدة. عندما تقوم بتحويل البيانات إلى جدول ستظهر لك خيارات إضافية يمكنك الوصول إليها عن طريق السهم بجانب عناوين الجدول. من هذه الخيارات فرز البيانات أو تصفيتها. كما تلاحظ ظهور تبويب جديد. هذا التبويب سياقي، أي يظهر عند تحديد الجدول ويختفي عندما تلغي التحديد. يظهر هذا التبويب مع بعض العناصر الأخرى، مثل الصور أو المخططات. حفظ المصنف وطباعتهطريقة حفظ المصنف لا تختلف عن طريقة حفظ مستندات وورد. اذهب إلى منطقة backstage (وهي المنطقة التي تظهر عندما تنقر على زر ملف File في أقصى يسار المصنف في النسخة الإنجليزية وأقصى يمين المصنف في النسخة العربية). من هذه المنطقة يمكنك حفظ الملف، تصديره، طباعته، مشاركته، أو الوصول إلى خيارات البرنامج. لحفظ المصنف لأول مرة انقر فوق حفظ كـ Save As. يمكنك حفظ الملف على جهازك أو على حساب OneDrive الخاص بك. إذا قمت بحفظ الملف على حساب OneDrive يمكنك الوصول إليه والعمل عليه من أي جهاز حاسوب متصل بالإنترنت. يمكنك أيضًا مشاركة المصنف بإرساله عبر البريد الإلكتروني عبر خيار مشاركة Share. لطباعة الملف اذهب إلى خيار طباعة Print. يمكنك مشاهدة معاينة الطباعة واختيار نوع الطابعة، عدد النسخ، وحجم صفحة الطباعة. كما يمكنك طباعة المصنف على شكل ملف PDF. إدراج الأعمدة والصفوف أو حذفهالنفترض أنّك تريد إجراء تغييرات على الجدول كتوسيعه وإضافة أعمدة أو صفوف أخرى أو حذفها. إدراج الأعمدة أو الصفوفيمكنك إدراج عمود أو صف خارج الجدول بعدة طرق: قم بكتابة عنوان العمود ثم اضغط المفتاح Enter. أو اكتب عنوان العمود ثم اضغط المفتاح Tab للانتقال إلى عنوان العمود التالي.لإدراج صف خارج الجدول قم بسحب المقبض الصغير في حافة الجدول إلى الأسفل حسب الصفوف التي تريد إضافتها. أما إذا كنت ترغب في إدراج عمود أو صف في وسط الجدول، اتبع الخطوات التالية: انقر على أحد عناوين الجدول، اذهب إلى تبويب الصفحة الرئيسية Home، ثم انقر على السهم تحت زر إدراج Insert.اختر إدراج أعمدة جدول إلى اليسار Insert Table Columns to the Left. الخطوات نفسها تنطبق على الصفوف: انقر فوق الخلية التي تريد إدراج صف فوقها، اذهب إلى تبويب الصفحة الرئيسية Home، ثم انقر على السهم تحت زر إدراج Insert.اختر إدراج صفوف جدول في الأعلى Insert Table Rows Above. حذف الأعمدة أو الصفوفيمكنك حذف الأعمدة أو الصفوف التي لا ترغب في وجودها في الجدول بالخطوات التالية: قم بتحديد خلية داخل العمود/الصف الذي تريد حذفه ثم اذهب إلى تبويب الصفحة الرئيسية Home وانقر على السهم تحت زر حذف Delete.من القائمة المنسدلة اختر حذف أعمدة جدول Delete Table Columns أو حذف صفوف جدول Delete Table Rows. نسخ الأعمدة وتغيير مواضعها داخل الجدوللا يختلف النسخ، القص، واللصق عن بقيمة البرامج الأخرى. أي يمكنك تحديد نطاق الخلايا الذي تريد نسخه أو قصه، ثم النقر بزر الفأرة الأيمن واختيار نسخ Copy أو قص Cut من القائمة المنسدلة. وللصق مجموعة الخلايا، انقر فوق الموضع الذي تريد لصق الخلايا فيه، انقر بزر الفأرة الأيمن واختر لصق Paste. أما إذا أردت تغيير موضع عمود أو صف معين داخل الجدول، بتحريكيه إلى اليمين أو اليسار اتبع الخطوات التالية: حدد عنوان العمود ثم ضع المؤشر على حافة الخلية ليتحول شكله إلى + بأربعة اتجاهات. استمر بالنقر ليتحول المؤشر إلى حرف I أخضر وكبير، حرك بالفأرة مع الاستمرار بالنقر باتجاه الموضع الذي تريد نقل العمود إليه.نفس الخطوات تنطبق على تحريك الصفوف: مرر المؤشر فوق الصف ليتحول إلى سهم أسود باتجاه واحد ثم انقر بزر الفأرة الأيسر لتحديد الصف.حرك المؤشر إلى حافة الصف إلى أن يتحول شكله إلى + بأربعة اتجاهات. انقر بزر الفأرة الأيسر وحرك الصف، مع الاستمرار بالنقر، إلى الموضع الذي تريد نقل الصف إليه.سنقوم الآن بعمل بعض التنسيقات للجدول. سأقوم مثلا بإضافة عنوان للجدول وتنسيقه: يمكنك عمل التنسيقات يدويا أو اختيار أحد أنماط الخلايا الجاهزة من تبويب الصفحة الرئيسية Home ثم قائمة أنماط الخلية Cell Styles. سأقوم أيضًا بتعديل البيانات في عمود "السعر" بتحديد نطاق الخلايا وإضافة عملة بجانب الرقم من تبويب الصفحة الرئيسية Home ثم اختار العملة من زر العملات. كما سأقوم باستخدام زر الجمع التلقائي AutoSum لإظهار مجموع كلف السلع المباعة، وذلك بالنقر على الخلية أسفل العمود (أو أي خلية تريد إظهار النتيجة فيها)، ثم النقر على زر الجمع التلقائي. ملاحظة: لتغيير محتوى الخلية بالكامل يمكنك تحديد الخلية ثم الكتابة من لوحة المفاتيح. أما إذا أردت تعديل جزء من محتوى الخلية قم بالنقر بشكل مزدوج على الخلية وإجراء التعديل المرغوب. أو يمكنك أيضًا استخدام شريط الصيغة للتعديل على محتوى الخلية. كانت هذه مقدمة بسيطة عن الإجراءات التي يمكنك تنفيذها على البيانات كبداية في برنامج اكسل. بإمكانك الآن البدء بعمل جداول البيانات الخاصة بك، تنسيقها، والتعديل عليها. سنقوم في درس قادم إن شاء الله بشرح الصيغ والدوال في اكسل بشكل مفصل.
    1 نقطة
×
×
  • أضف...