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

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

  1. Abdourabih Tahtah

    Abdourabih Tahtah

    الأعضاء


    • نقاط

      6

    • المساهمات

      36


  2. محمد بدرالدين

    محمد بدرالدين

    الأعضاء


    • نقاط

      2

    • المساهمات

      3


  3. aboelabbas

    aboelabbas

    الأعضاء


    • نقاط

      2

    • المساهمات

      9


  4. أحمد النوبي

    أحمد النوبي

    الأعضاء


    • نقاط

      1

    • المساهمات

      92


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

المحتوى الأعلى تقييمًا في 05/08/17 في كل الموقع

  1. بصراحة انا انتظر اجاباتكم والله البرمجة شيئ خيالي.. اجابني احدهم باجابة جميلة و قال: << استغرقت سنة كاملة وانا اتعلم كيف افكر برمجياً وتعلمت صياغة الكود باسابيع قليلة فيجب عليك ان تحل مسائل برمجية وتعرف المنهجية كي تتقن التفكير البرمجي فعندما تتعلم الأسس البرمجية ستجد ان تعلم اللغة لا تحتاج اكثر من اسبوعين او شهر على الأكثر لاتقانها بشكل جيد >> عجيب انتى يا برمجة و تحية ليكم من القلب يا مبرمجين
    2 نقاط
  2. اعذروني على كثره الاسئله وكثرتها لتوضيح الصوره ليس الا وشكرا مقدما لمن ساعدني أتمنى لكم التوفيق : عبد ربه تحتح
    2 نقاط
  3. الخوارزميات هي مجموعة من الخطوات الرياضية والمنطقية والمتسلسلة اللازمة لحل مشكلة ما. وسميت الخوارزمية بهذا الاسم نسبة إلى العالم أبو جعفر محمد بن موسى الخوارزمي الذي ابتكرها في القرن التاسع الميلادي. الكلمة المنتشرة في اللغات اللاتينية والأوروبية هي «algorithme» وفي الأصل كان معناها يقتصر على خوارزمية لتراكيب ثلاثة فقط وهي: التسلسل والاختيار (selection) والتكرار. وكما نعلم ايضا ان الخوارزميات مهمة جداً. كونها تعلمك طريقة التفكير البرمجي لا اكثر
    2 نقاط
  4. اليك اخي عبد ربه كتاب رائع ومفيد جدا لمؤلفه خالد السعداني و الله هذا الرجل لديه ما يقول لا تنسى متابعته الكتاب تحت عنوان: البحر الشاسع، لدخول الخوارزميات من بابها الواسع نبدة عن الكتاب: يتطرق الكتاب في الفصل الأول إلى أنظمة تمثيل البيانات بالتفصيل (النظام العشري، الثنائي، الثماني، الست عشري) وطرق التحويل الرياضية بين الأنظمة. وفي الفصل الثاني يستعرض الكتاب كيفية القيام بالعمليات الحسابية الأساسية على البيانات الثنائية. أما الفصل الثالث ففيه ندخل إلى عالم البرمجة عبر شرح الخوارزميات وكيفية صياغة الحلول البرمجية. ملحوظات: 1. الكتاب به مزية عرض الخوارزميات بالعربية والانجليزية 2. الكتاب لم يتطرق إلى خوارزميات الترتيب والبحث والمفاهيم المتقدمة 3. الكتاب مهم جدا لكل من يريد أن يدخل إلى عالم البرمجة تأليف: خالد السعداني في الاخير سلامي لك ووفقك الله . www.kutub.info_18640.pdf
    2 نقاط
  5. Android هو نظام تشغيل مفتوح المصدر مبني على نواة لينكس مع إضافة بعض التعديلات عليها ليعمل النظام على الهواتف المحمولة والحواسيب اللوحية، وغيرهما من الأجهزة الذكية المختلفة، ويتم تطوير إصدارات النظام بواسطة شركة جوجل. الطبقات الرئيسية المكونة لنظام أندرويد الصورة التالية توضح الهيكل الداخلي للأندرويد والطبقات الرئيسية المكونة لنظام التشغيل. ينقسم نظام التشغيل إلى خمس طبقات وظيفتها كالآتي: طبقة التطبيقات Application Layer (الطبقة العلوية) وهي الطبقة التي نتعامل معها دائمًا كمستخدمين لنظام التشغيل، فهي تحتوي على تطبيقات النظام والتطبيقات التي نقوم بتحميلها من المتجر -وهي الطبقة التي سيعمل فيها تطبيقك في آخر هذا الدرس-، أمثلة على ذلك تطبيق الاتصال وتطبيق البريد الإلكتروني وتطبيق المتصفح. الطبقة الخاصة ببيئة عمل التطبيقات Application Framework Layer تحتوي تلك الطبقة على مكتبات بُنيت بلغة الجافا خصّيصًا لنظام تشغيل أندرويد وتوفر هذه المكتبات طرق الوصول إلى الموارد الخاصة بالهاتف مما يجعل تطوير التطبيقات أسهل -وهي الطبقة التي سنتعامل معها كمطوري تطبيقات للأندرويد- وأمثلة على ذلك: View System: وهي مكتبة تحتوي على العناصر اللازمة لإنشاء واجهة المستخدم مثل TextViews و Buttons و Checkboxes و غيرها من العناصر الخاصة بواجهة المستخدم. Notification Manager: تحتوي هذه المكتبة على العناصر اللازمة لإنشاء و إرسال الإشعارات للمستخدم الخاصة بتطبيقك. Telephony Manager: وهي المكتبة المسؤولة عن استقبال و إرسال المكالمات الهاتفية من داخل تطبيقك. Location Manager: وهي المكتبة المسؤولة عن تحديد المواقع باستخدام GPS Sensors المتواجدة بالهاتف. أسفل هذه الطبقة سنجد طبقة خاصة تنقسم إلى جزئين: طبقة المكتبات المطورة بلغة C و ++C (المعروفة باسم Libraries Layer) وتحتوي هذه الطبقة على مكتبات مكتوبة بلغة C لقدرة لغة C على القيام بالمهام القوية بشكل كفء دون إهدار لموارد النظام. أمثلة على ذلك: SQLite: تستخدم للتعامل مع قواعد البيانات. OpenGL|ES: تستخدم للتعامل مع الرسوميات ثنائية و ثلاثية الأبعاد و تستخدم بشكل أكبر مع ثلاثية الأبعاد. FreeType: تستخدم للتعامل مع أنواع الخطوط المختلفة. Media FrameWork: تستخدم للتعامل مع الصيغ المختلفة لملفات الفيديو. Android Runtime و تحتوى هذه الطبقة على مجموعة من المكتبات والتي تجعل المطور قادر على برمجة التطبيقات باستخدام لغة الجافا. كما تحتوى على الآلة الافتراضية (Virtual Machine) المسؤولة عن تشغيل التطبيقات والتي تم تطويرها لكي تعمل على الهواتف المحمولة وتتميز باستهلاكها القليل للموارد من الذاكرة العشوائية والمعالج وبطارية الهاتف وتسمى بـ Dalvik Virtual machine. ويعمل كل تطبيق داخل نسخة خاصة به من الآلة الافتراضية مما يميزها بالأمان فالتطبيق لا يستطيع أن يرى باقي التطبيقات ولا يستطيع الوصول إلى بيانات من داخل الهاتف دون علم المستخدم ومنحه الصلاحيات اللازمة لذلك - تلك الصلاحيات التي يتم منحها للتطبيق عند تحميله من المتجر- لذلك ينصح بالتدقيق فيما يحتاجه التطبيق من صلاحيات وألا تقوم بتحميل تطبيقات ذات صلاحيات زائدة عن حاجة التطبيق لكي يعمل ، وصُممت الآلة الافتراضية بطريقة تجعل أكثر من نسخة من الآلة الافتراضية تعمل معًا بسلاسة وذلك لكي يصبح المستخدم قادراً على تشغيل واستخدام أكثر من تطبيق معًا دون الشعور باختلاف في الأداء. طبقة النواة (Kernel) وهي الطبقة المسؤولة عن التعامل مع العتاد المختلف للهواتف فتحتوي على التعريفات الأساسية الخاصة بهذا العتاد كما توفر طريقة أبسط للطبقة العلوية للوصول لمميزات العتاد وهي نفس نواة لينكس. تعتبر كل طبقة هي حلقة الوصل بينها وبين ما فوقها أو تحتها من طبقات، وكلما أتجهنا للأسفل كلما استُخدمت لغات وطرق أقرب في تعاملها مع العتاد كلغة C أو الأسمبلي مثلاً وكلما صعدنا للأعلى كلما استُخدمت لغات وطرق أسهل للمستخدم وتقدم خدمات غنية له كالجافا مثلاً. إصدارات أندرويد قبل البدء بتطوير التطبيقات ينبغي علينا معرفة ما هي إصدارات أندرويد، سأقوم سريعًا بذكر كافة إصدارات أندرويد المختلفة ورقم الإصدار ورقم الـ API الخاص بها. Cupcake 1.5 API 3 Dount 1.6 API 4 Eclair 2.0 API 5 Froyo 2.2 API 8 Gingerbread 2.3.3 API 10 Honeycomb 3.0 API 11 Ice Cream sandwich 4.0 API 14 Jellybean 4.1 API 16 Kitkat 4.4 API 19 Lollipop 5.0 API 22 Marshmallow 6.0 API 23 بعد أن تعرفنا على إصدارات أندرويد تبقى علينا معرفة عدد مستخدمي كل إصدار منهم لأنه ليس بالضرورة أن يكون أحدث إصدار هو الأفضل لتطوير التطبيقات من أجله، فعدد المستخدمين لهذا الإصدار أحد العوامل المحددة لذلك. تقوم جوجل شهرياً بنشر إحصائيات عن عدد مستخدمي كل إصدار من إصدارات أندرويد ويمكنك معرفتها عن طريق الرسم البياني التالي. لكل إصدار من إصدارات أندرويد مزايا خاصة أُضيفت له لم تكن متوافرة في الإصدارات الأقدم، ولكي تستطيع بناء هذه المزايا في تطبيقك ينبغي اختيار الإصدار الأدنى المناسب لمزايا تطبيقك لأنك تستطيع دعم المزايا الخاصة بالإصدار الأدنى فقط، لذا كلما قمنا بدعم إصدارات أقدم كلما فقدنا المزايا الحديثة وفي المقابل نحصل على عدد مستخدمين أكثر وإذا قمنا بدعم أحدث الإصدارات سوف نحصل على مزايا أكثر وعدد مستخدمين أقل. لذا سنختار الحد الأدنى الذي سنحتاجه من المزايا دون خسارة عدد المستخدمين، وإصدار Jellybean يتيح لك مزايا جيدة واستهداف عدد مستخدمين أكبر لأن تطبيقك سيعمل على كل من Jellybean و kitkat و lollipop و marshmallow وما سيأتي بعد ذلك من إصدارات أحدث وهو كما يتضح في الرسم البياني السابق أكثر من 90% من مستخدمي أندرويد، ولكنه لن يعمل على أي هاتف يعمل بإصدار أقدم من Jellybean. المتطلبات للبدء ببرمجة تطبيقات أندرويد كل ما تحتاجه هو حاسوب يعمل بأي نظام من أنظمة التشغيل الرئيسية -ويندوز أو لينكس أو ماك- لتبدأ معنا هذه الدروس. لا يوجد حاجة لمعرفة سابقة بلغة برمجة فسنتعلم معاً ما نحتاج إليه. هذه الدروس موجهة بشكل أساسي للمبتدئين. البرامج التي سنعمل عليها خلال الدروس القادمة: JDK Android Studio قم بتحميل هذه البرامج وبتثبيتها على جهازك. ملاحظة: ينبغي تثبيت JDK أولاً قبل البدء في تثبيت Android Studio حيث أنه يحتاج إليه عند التثبيت. إنشاء مشروع جديد الآن بعد الانتهاء من تثبيت البرامج اللازمة لتطوير تطبيقات أندرويد دعنا نُنشئ مشروعنا الأول وهو مشروع "أهلاً بالعالم Hello World". قم بفتح برنامج Android Studio واختر Start a new android studio project من القائمة. قم باختيار اسم التطبيق الخاص بك ثم اكتب نطاق موقعك – إن وجد – أو قم بكتابة الاسم كما هو موجود في الصورة وسيتم شرح فائدة هذا الاسم لاحقاً. اختر تطوير التطبيق من أجل Phone and Tablet ثم اختر إصدار Jellybean كإصدار أدنى كما ذكرنا سابقًا. اختر Blank Activity ثم أضغط Next. سنبقي هذه الخانات على حالتها الافتراضية حيث يمكننا تغييرها فيما بعد وأضغط Finish. تم إنشاء أول مشروع لك بنجاح. ملفات ومجلدات المشروع دعنا الآن نستعرض بيئة التطوير وما توفره لنا كمطورين من مزايا. على اليسار هناك ثلاثة ملفات / مُجلّدات رئيسية تكونت تلقائياً بداخل app وهي: manifests java res مجلد manifest والذي يحتوي على ملف AndroidManifest.xml ويعتبر هذا الملف مهم جداً لنظام أندرويد لما يقدمه من معلومات أساسية للنظام قبل أن يقوم بتشغيله، أبرز هذه المعلومات: يحتوي على اسم الحزمة Package Name: وهو اسم مميز للتطبيق لتمييزه عن باقي التطبيقات المتواجدة على الهاتف ، فمثلاً إن كان اسم تطبيقك Gallery و هناك تطبيق آخر على الهاتف يسمى Gallery كيف يستطيع النظام التفرقة بين صلاحيات كل منهما و معلوماتهما الخاصة؟ يقوم النظام بتمييزهما عن طريق Package Name لذا فهو يعتبر اسمًا مُميّزًا لتطبيقك لا ينبغي أن يتشابه مع Package Name لأي تطبيق آخر ، من أجل ذلك وضعت قواعد لتسمية الـ Package أهمها هو أن تجعل تطبيقك على هيئة اسم نطاق لموقعك - إن وجد – فمثلا نجد شركة Google عند تسمية حزم تطبيقاتها تستخدم com.google.appName فيكون لها اسم حزمة Package Name فريد لا يتكرر. ملحوظة: يتم تحديد Package Name عند إنشاء التطبيق في الخانة الخاصة بالـ Company Domain. يقوم بتعريف المكونات الأساسية التي يتكون منها التطبيق الخاص بك: سوف نتعرف على هذه المكونات في الدرس التالي، ويتكون التطبيق من أحد هذه المكونات أو أكثر على حسب حاجة التطبيق. يحتوي الإصدار الأدنى الذي يعمل التطبيق معه وهو ما قمنا بتحديده مسبقا عند إنشاء للمشروع. يحتوي على الصلاحيات التي سيعطيها النظام للتطبيق –إن وجدت-. يحتوي على الصلاحيات التي يجب على التطبيقات الأخرى أن تطلبها إن أرادت أن تتبادل معلومات مع تطبيقك. لذا يعتبر هذا الملف من الملفات الأساسية التي يعتمد عليها النظام في تحديد كيفية التعامل مع التطبيق وإذا لم يتم تحديد كل شيء بشكل صحيح فذلك يعرض تطبيقك إلى ألا يعمل. مجلد java يختص هذا المُجلّد بالشيفرة التى سنكتبها للتطبيق و هي الشيفرة الذى يحدد وظيفة التطبيق و استجابة الواجهة و تنفيذها للأوامر. مجلد res و يهتم هذا المُجلّد بكل الموارد التي يتعامل معها التطبيق من صور و عناصر مكونة لواجهة المستخدم و عناصر مكونة للقوائم ويتكون من مجموعة من المجلّدات المرتبة كالآتي: drawable ويخص هذا المُجلد كافة الصور التي سيتم استخدامها في التطبيق. layout ويخص هذا المجلد بالتصميم الخاص بواجهة المستخدم و ما تحتويه من عناصر مختلفة. menu ويخص هذا المجلد بالقوائم و ما تحتويه من عناصر. mipmap ويخص هذا المجلد بالأيقونة الخاصة بالتطبيق فقط. values ويحتوى هذا المجلد على ملفات أخرى لكل منها وظيفة مختلفة و لكنها تشترك في فكرة عامة واحدة وهي جعل التطبيق أكثر مرونة لدعم دقة الشاشات المختلفة و الأحجام المختلفة ودعم اللغات المختلفة كما سنرى لاحقا في الدروس القادمة. المحاكي Simulator كما تتميز بيئة تطوير Android Studio بأنها بيئة تطوير متكاملة وتحتوي على ما يحتاجه المطور من أدوات لصنع تطبيق أندرويد فكما رأينا فهي تحتوي على مستعرض للمشروع وملفاته وتحتوي على المترجم الخاص والذي يحول الشيفرة إلى صيغته التنفيذية والتي تعمل على الهواتف وأيضاً تحتوي على محاكي للهواتف والحواسيب اللوحية ونستطيع تجربته عن طريق الضغط على (AVD (Android Virtual Device من داخل Android Studio في شريط القوائم وسنجد أنه تلقائياُ لديه هاتف جاهز للعمل. كما يمكنك أن تقوم بصنع محاكي آخر عن طريق الضغط على Create Virtual Device. الآن قم بتشغيل المحاكي و انتظر حتى يعمل كالتالي. قد يأخذ المحاكي بعض الوقت خاصة عند تشغيله أول مرة لذا ينصح دائما أن تقوم بتشغيل المحاكي قبل أن تقوم بتجربة التطبيق بفترة كافية. لتجربة التطبيق الذي قمنا بإنشائه على المحاكي من داخل android studio اضغط على الأيقونة Run ثم انتظر حتى تظهر أمامك شاشة يظهر فيها اسم المحاكي. ثم اختر المحاكي وأضغط ok. ستجد التطبيق يعمل الآن على المحاكي. ملحوظة: عند إنشاء أي مشروع داخل بيئة عمل Android Studio يقوم تلقائياً بإنشاء مشروع يعرض فقط كلمة !Hello World أمام المستخدم وهو الذي شاهدناه في الصورة السابقة حيث أننا لم نقوم بتغيير أي شيء في المشروع الأصلي. بهذا نكون قد وصلنا إلى نهاية أول دروسنا من هذه السلسة وإلى لقاء قريب بإذن الله، في انتظار تجربتكم وما مررتم به من مشاكل إن وجدت.
    1 نقطة
  6. العفو أخي. لا أعرف صراحة ما الذي يستخدمه موقع خمسات نفسه. لكن مدونة خمسات بالتأكيد تستخدم ووردبريس.
    1 نقطة
  7. من خلال تفاصيل المشروع صاحبه سيطلب تطوير واجهة بالتقنيات التي تعلمتها بالدورة HTML,CSS,JQuery، غالبا عن طريق توفير تصميم مسبق كـ PSD مثلا تقوم انت بتنفيذه كصفحات HTML. بما أن التصميم والتطوير سواء للواجهة أو الخلفية عمليتان لهما علاقة وثيقة ستجد كثيراً من أصحاب المشاريع يطلبون الاثنين معاً. وفي هذه الحالة اما أن تكون على دراية بعملية التصميم باستخدام الفوتوشوب مثلا فتقوم انت بالمشروع، أو تقوم فقط بعملية التكويد اذا كنت تعمل كجزء من فريق ما. مما قرأته في تفاصيل الدورة، بالتأكيد يمكنك ومن الطبيعي جدا أن تجد صعوبة في البداية، من الأفضل أن تقوم بتنفيذ مشروع أو أكثر -أو المشاركة في مشروع- بنفسك أولا قبل البدء في تلقي وتنفيذ طلبات العملاء لتكون أكثر مهارة من ناحية وأكثر ثقة من ناحية أخرى. يمكنك ذلك، لكن خطوة التصميم خطوة مهمة لتسهيل عملية التكويد والتطوير فالتصميم يعطيك التصور الكامل والنهائي لشكل الواجهة وما عليك سوى تنفيذ هذا الشكل؛ أما عدم توفر التصميم سيزيد من مجهودك وسيطيل وقت عملية التكويد؛ في بعض الأحيان أيضا قد تكون أحد خطوات تنفيذ المشروع هو عرض مبدأي لشكل الواجهة على العميل قبل عملية التكويد. قالب ووردبريس هو الواجهة، ولوحة التحكم -Dashboard- هي الـ back-end الواجهة هي شكل وترتيب وتنسيق لما تقوم ووردبريس بتنفيذه على مستوى السيرفر وقاعدة البيانات. نعم ولكن سيكون هناك مشاكل كثيرة عندما تزداد عدد صفحات الموقع وملفاته، يكفيك فقط ان تتصور موقعا اخباريا يقوم بعرض الاخبار أولا بأول كيف سيمكنك المواصلة في ادخال الاخبار وتنسيقها في صفحات أولا بأول دون تأخير وأنت تقوم بهذه العملية يدويا، وكل خبر جديد ستضيفه سيكون عليك تعديل ملفات أخرى كثيييرة جدا منها على سبيل المثال فقط أن تضيف الخبر في صفحة التصنيف الخاص به، تضيفه في كل صفحة من صفحات الوسوم الخاصة به، ستضيفه في اهم الأخبار مثلا على الرئيسية، عليك ان تضيفه في صفحة خبر آخر لانه متعلق به، جزئية الاخبار الأكثر قراءة كيف ستقوم بحساب ذلك لكل الاخبار وفي كل مرة تقوم بتحديث القائمة بنفسك... الخ كل هذا وأكثر يقوم به الـ backend. في هذا المشروع العميل وضح أنه يمتلك الواجهة جاهزة هو فقط يحتاج برمجة الـ backend ، وكامل يقصد بها العميل غالبا أي يحتوي على جميع الخصائص التي يمكن ان تتوفر في موقع تجاري مثل خمسات مثل: امكانية تسجيل الاعضاء، امكانية التحكم في ملف كل عضو، امكانية اضافة مشاريع، امكانية تصنيف المشاريع ... الخ
    1 نقطة
  8. تستطيع تقيمة بافضل اجابة لتفيدة
    1 نقطة
  9. إذا كنت تريد أن تتعلم كيفية تصميم المواقع يجب أولا أن تتعلم html فهي تعتبر البنية الأساسية لهيكلة الموقع ويجب أيضا أن تتعلم css وهي لتنسيق وتوزيع محتوي الموقع وتغيير الألوان والخلفيات والتحكم فى عرض وارتفاع الأدوات ...إلخ هناك أيضا html5 و css3 والجي كويرى يجب أن تتعلمها بعد html و css فيمكن من خلالها عمل تأثيرات للصفحة بحيث تظهر بشكل جذاب وهناك أدوات كثيرة في الجي كويرى إذا كنت مبتدئ تعلم html و css بطريقة سهلة وبسيطة من هنا http://code-wap.blogspot.com
    1 نقطة
×
×
  • أضف...