- بناء تطبيق جافا إف إكس من الصفر
شرح عمل تطبيق بلغة جافا مع واجهة JavaFX وقاعدة بيانات MySQL من الصفر
مرحبًا.. سأشرح في هذا المقال كيفية عمل تطبيق جافا للحاسوب مع واجهة (JavaFX) وقاعدة بيانات (MySQL)، أي بناء تطبيق متكامل ومن الصفر. النتيجة النهائية لهذا التطبيق ستكون على الشكل التالي: نافذة تسجيل الدخول النافذة الرئيسية نافذة تحرير المستخدمين حيث يمكن إضافة وحذف مستخدم أو تعديل بياناته وما إلى ذلك.. سأضع لك عند بعض المراحل في الشرح رابطًا للكود البرمجي في حالته عند تلك المرحلة. والكود النهائي للتطبيق تجده هنا ماهي JavaFX البرامج والمكتبات المستخدمة وصف...
قراءة المزيد»
- القاموس في لغة جافا
شرح صنف القاموس Dictionary ودالاته في لغة جافا مع مثال عملي
مرحبًا..وردتني بعض الأسئلة عبر البريد الإلكتروني عن القواميس في لغة جافا فأحببت تخصيص هذا المقال لشرح هذا النوع من البيانات في لغة جافا. حيث ستجد تعريفا وشرحا عاما عن القاموس ودالاته ثم في النهاية ستجد مثال عملي كامل عن تعريف القاموس واستخدام تلك الدالات بشكل عملي. القاموس في لغة جافا وهو من مكتبة util.Dictionary هو أحد أنواع البيانات، وهو صنف abstract أي لايتم إنشاء عنصر منه (راجع ملاحظات جافا وهو عبارة عن زوج مفتاح-قيمة حيث...
قراءة المزيد»
- كيفية تنصيب OpenGL على أبونتو لينكس
إليك كيفية تنصيب OpenGL والذي يستخدم لمعالجة الرسوميات وبالتالي يلزم لبرامج التصميم والجرافيك والتصميم ثلاثي الأبعاد وتصميم الألعاب مثل برنامج Godot وغيره. هذا الشرح موجه لنظام أبونتو ولكنه يصلح أيضًا للاستخدام على توزيعات لينكس الأخرى. قم بتنصيب المكتبات اللازمة من خلال الأمر: $sudo apt-get install cmake libx11-dev xorg-dev libglu1-mesa-dev freeglut3-dev libglew1.5 libglew1.5-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev libglfw3-dev libglfw3 وانتهى! يمكنك اختبار عمل OpenGL على جهازك من خلال حفظ الكود التالي لديك بملف اسمه “text.cpp” #include...
قراءة المزيد»
- كيفية تبادل ومشاركة الملفات مع أبونتو على الفيرجوال بوكس
شرح تبادل الملفات بين ويندوز أو ماك أو لينكس ونظام اللينكس على الـ virtualbox
إليك شرح بالصور لكيفية مشاركة مجلد أو أكثر بين الجهاز المُضيف ولينكس الموجود على الفيرجوال بوكس 1. افتح الفيرجوال بوكس (virtual box) ثم اختار نظام لينكس من القائمة الجانبية له واضغط في الأعلى على “Settings” كما في الصورة: 2. اضغط من القائمة الجانبية على “shared folders” ثم على اليمين اضغط على علامة الزائد لإضافة مجلد جديد ومشاركته مع النظام على الفيرجوال بوكس 3. اختر المجلد الذي تريد مشاركته ونؤشر على الخيار “Auto mount” 4. بعد...
قراءة المزيد»
- حل مشكلة بطء أبونتو على الفيرجوال بوكس
قد يكون أبونتو أو نظام لينكس عموما الذي نزلته ضمن الفيرجوال بوكس بطيئ للغاية والنوافذ فيه والتطبيقات عموما بطيئة الاستجابة. لنتعرف هنا على سبب هذه المشكلة وحلها المحتمل! السبب غالبًا يكون بسبب بطئ استجابة واجهة أبونتو على الفيرجوال بوكس الحل افتح تطبيق الفيرجوال بوكس قم بالتحديث لآخر إصدار من قائمة المساعدة “Help > Check for Updates” اضغط في الأعلى على “Settings” في القائمة الجانبية اضغط على “Display” ومنها ستجد خيار “Enable 3D acceleration” قم بوضع...
قراءة المزيد»
- سلسلة أساسيات أوامر لينكس
شرح بالأمثلة لعدة أوامر أساسية لمبتدئي لينكس
سأشرح في هذه السلسلة العديد من الأوامر الأساسية في سطر أوامر لينكس، كل أمر على حدى ومع الأمثلة للتوضيح. في البداية لا بد من معرفة بعض الأمور قبل الدخول في تفاصيل كل أمر أن سطر أوامر لينكس حساس للأحرف الكبيرة والصغيرة، أي مثلا ‘name’ لاتساوي ‘Name’ لاتساوي ‘NAME’. يمكن التعرف على أي أمر ومعرفة خياراته من التوثيق (manual) الخاص به عبر الأمر man يليه اسم الأمر المراد قراءة معلوماته. مثلا man ls يمكن معرفة إصدار...
قراءة المزيد»
- الفرق بين ()malloc و ()calloc بالأمثلة
شرح الفرق بين دالتي التخصيص الديناميكي للذاكرة في لغة سي malloc و calloc مع أمثلة عملية
هذا المقال متعلق بالمقال السابق: التخصيص الديناميكي للذاكرة في سي ويجب قراءته لفهم هذا المقال إن كلتا دالتي ()malloc و ()calloc تقومان بتخصيص جزء من الذاكر بشكل ديناميكي (قابل للتغيير). وهذا يعني أن الذاكرة يتم تخصيصها خلال زمن العمل (تنفيذ البرنامج) من الـ heap segment أو بالعربي قد نترجمها لـ “قطعة التكدس” (لايهم كيف تترجم المهم أنها جزء من الذاكرة). الفروقات بين الدالتين المذكورتين نكمن في النقاط التالية: التهيئة: إن الدالة ()malloc تقوم بتخصيص حجرة...
قراءة المزيد»
- التخصيص الديناميكي للذاكرة في لغة سي
شرح دالات malloc و calloc و free و realloc في لغة سي
بما إن لغة سي لغة هيكلية فإن لها قواعد ثابتة في البرمجة، ومن ذلك تغيير حجم مصفوفة. المصفوفة هي مجموعة من العناصر المخزنة بأماكن متصلة من الذاكرة (اي ليست بأماكن متقطعة - بأماكن مختلفة من الذاكرة). كما ترى فإن حجم (طول) المصفوفة أعلاه هو 9. وهو ثابت في حالة المصفوفات. ولكن قد نحتاج إلى تغيير هذا الحجم في حالات مثل: في حال كان هناك حاجة لإدخال خمسة عناصر فقط في المصفوفة، في هذه الحالة تكون...
قراءة المزيد»
- شرح دالة ()memset في لغة سي بالأمثلة
تُستخدم دالة ()memset لملء حجرة من الذاكرة بقيمة محددة. صيغة الدالة: void *memset(void *ptr, int x, size_t n); حيث يشير: ptr إلى عنوان بداية الذاكرة المطلوب ملؤها x القيمة التي سيتم الملء بها n عدد البايتات التي سيتم ملؤها بدءًا من العنوان ptr ولاحظ أن ptr هو مؤشر (pointer) من نوع void وبالتالي يمكن تمرير مؤشر من أي نوع في هذه الدالة. لنلقِ نظرة الآن على مثال بسيطة لتوضيح عمل الدالة ()memset: // C program...
قراءة المزيد»
- التعامل مع الملفات بلغة سي
شرح فتح ملف وأوضاع الكتابة والقراء والإضافة وأمور أخرى في لغة سي
سأشرح في هذا المقال كيفية التعامل مع الملفات في لغة سي ويتضمن ذلك فتح ملف والقراءة منه أو الكتابة فوقه أو إضافة أسطر له ثم إغلاقه. فتح وإغلاق ملف وأوضاعهم في لغة سي الفرق بين الوضع النصي والوضع الثنائي في لغة سي فتح وإغلاق ملف وأوضاعهم في لغة سي هناك دالات عدة في لغة سي للقيام بذلك، وسنستخدم هنا دالتي: fopen() لفتح ملف fclose() لإغلاقه حيث يشير الحرف f في البداية إلى الكلمة File أي...
قراءة المزيد»
- إنشاء موقع وب بأقصر وقت وأفضل التقنيات المجانية
شرح استخدام أقوى التقنيات المجانية لإنشاء موقع ثابت آمن وأنيق بدقائق
مرحبًا، أنا ملهم طالب هندسة حاسوب وأود هنا مشاركتكم لكيفية عمل موقع ثابت في مدة قصيرة وباستخدام خدمات قوية ومستقرة. لاستعراض النتيحة النهائية يمكن مشاهدة الموقع الذي قمت بإنشائه لإحدى الشركات المعمارية من هنا وهو مجرد مثال لما يمكن عمله من هذا الشرح. المتطلبات والتقنيات المستخدمة لهذا الشرح هي: نطاق (اسم) الموقع دوت كوم أو ماشابه (اختياري) صفحات Github Cloudflare فلنبدأ على بركة الله.. نطاق الموقع يمكن شراء اسم الموقع (Domain Name) والذي ينتهي ب...
قراءة المزيد»
- أهم الأسئلة التي تسأل لمبرمجي لغة جافا في مقابلات العمل
الأسئلة العشرة الأكثر شيوعا لمبرمجي جافا
إليك أهم عشر أسئلة لمبرمجي لغة الجافا في مقابلات العمل لاختبار معرفتهم باللغة: مناقشة تصميم المصعد الكهربائي. تلميح: سيتم طرح الأسئلة المتعلقة بوظيفة المصعد؛ متبوعة بتصميم عالي المستوى وتصميم منخفض المستوى. ستكون مستعدًا لأسئلة الجدولة المتعلقة بالمصعد. يتم إعطاء عدد n من النقاط، و ينبغي ايجاد عدد الرباعيات التي تشكّل مربّعًا. أسئلة تتعلق بإدارة الذاكرة في Java. خوارزمية Mark and Sweep وجمع المخلّفات في جافا إنشاء شجرة من Inorder و Preorder التسلسل (Serialization) في جافا...
قراءة المزيد»