Barah Taijon

التقنيةلغات البرمجة

الخوارزميات في برمجة الحاسوب Algorithms

ما هي الخوارزميات Algorithms ؟   الخوارزمية هي مجموعة تعليمات مفصلة خطوة بخطوة أو صيغة لحل مشكلة أو إكمال مهمة. في مجال الحوسبة، يكتب المبرمجون خوارزميات ترشد الكمبيوتر إلى كيفية أداء مهمة ما. ولتقريب المعنى للأذهان يمكنك تشبيه الخوارزمية البرمجية بوصفة الطعام التي تصف (المكونات المطلوبة، الخطوات لكيفية تحضير الوجبة الموصوفة، والنتائج)، فالخوارزمية هي الخطوات، […]

التقنيةلغات البرمجة

موقع Codeforces

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

التقنيةلغات البرمجة

هياكل البيانات Data Structure

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

التقنيةلغات البرمجة

هيكلة البيانات بواسطة طابور البيانات Queue

تعني قائمة الانتظار، وتُصنف ضمن هياكل البيانات الخطية و المجردة (abstract)، على عكس ال(stack)، فإن ال(queue) مفتوحة من كلا الطرفين، حيث يتم إدخال العنصر الأول من على طرف النهاية (tail)، ويتم حذف العنصر الموجود من طرف الأمامي (head).

التقنيةلغات البرمجة

هيكلة البيانات بواسطة Stack

هو أحد أهم هياكل البيانات في علوم الكمبيوتر، ويتبع ترتيبًا معينًا في تنفيذ العمليات يُطلق على ال(Stack) بمجموعة (LIFO) أي ما يرد أخيرًا يصرف أولاً. هذا يعني أن آخر شيء أضفناه (pushed) هو أول شيء يتم سحبه (popped).

التقنيةلغات البرمجة

ما هو سودوكود pseudocode؟

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

التقنيةلغات البرمجة

كيف تصبح مهندس برمجيات

هندسة البرمجيات هي تطبيق المفاهيم الهندسية لتطوير البرمجيات، وهدفها الرئيسي هو إنشاء البرامج (software) وتحسينها وصيانتها، تأخذ هندسة البرمجيات في الحسبان الجوانب الهندسية مثل بيئة الأجهزة (hardware) والبرامج (software) عند العمل على أحد المشاريع البرمجية،

التقنيةلغات البرمجة

هندسة متطلبات البرمجيات Software Requirements

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

التقنيةلغات البرمجة

البرمجة الوظيفية Functional Programming

ما هي البرمجة الوظيفية Functional Programming؟   البرمجة الوظيفية (وتسمى أيضًا “FP”)، هي طريقة للتفكير في إنشاء البرامج من خلال إنشاء وظائف (أي دوال) خالصة، أي أنه لا يوجد استخدام للمتغيرات أو كائنات (objects) أو الأماكن المحجوزة في الذاكرة في نطاق مشترك، والبيانات القابلة للتغيير التي لوحظت في البرمجة الشيئية، وتُركز لغات البرمجة الوظيفية على […]

التقنيةلغات البرمجة

البرمجة الشيئية OOP

البرمجة الشيئية (OOP)، هي نموذج برمجة يعتمد على مفهومي ال (classes) و ال (objects)، حيث يتم استخدام البرمجة الشيئية لبناء كود برمجي ذو أجزاء بسيطة قابلة لإعادة الاستخدام، يسمى عادةً (class)، والذي يتم استخدمه لإنشاء (objects) منه، هناك العديد من لغات البرمجة التي تدعم البرمجة الشيئية، بما في ذلك (JavaScript و ++C و Java و Python).

التقنيةلغات البرمجة

أبرز الوظائف في مجال تكنولوجيا المعلومات التي لا تتطلب البرمجة

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

التقنيةلغات البرمجة

التجريد في البرمجة Abstraction

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

التقنيةلغات البرمجة

التكوين في البرمجة Composition

في الحياة الواقعية، غالبًا ما تُبنى الكائنات المعقدة من كائنات أصغر وأبسط، على سبيل المثال، يتم تصنيع السيارة باستخدام إطار معدني ومحرك وبعض الإطارات وناقل حركة وعجلة قيادة وعدد كبير من الأجزاء الأخرى،

التقنيةلغات البرمجة

هندسة البرمجيات العكسية Software Reverse Engineering

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

التقنيةلغات البرمجة

إعادة هندسة البرمجيات Software re-engineering

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

التقنيةلغات البرمجة

من هو مطور الويب الشامل Full Stack Developer

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

التقنيةلغات البرمجة

البرمجيات مفتوحة المصدر Open-source Software

البرمجيات مفتوحة المصدر هي برمجيات ذات كود مصدر يمكن لأي شخص فحصه وتعديله وتحسينه، و"الكود مصدر" هي جزء من البرنامج لا يراه معظم مستخدمي الكمبيوتر على الإطلاق؛ وهو الكود الذي يمكن لمبرمجي الكمبيوتر معالجتها لتغيير كيفية عمل البرنامج (software)

التقنيةلغات البرمجة

الفرق بين وقت التشغيل للبرامج ووقت ترجمتها compile time Vs Runtime

مفهومي وقت الترجمة ووقت التشغيل للبرامج:   في مصطلحات الكمبيوتر، يُشار إلى وقت الترجمة (compile time)، على أنه الوقت اللازم للبرنامج لتجميع (compile) البرنامج باتباع بعض العمليات، حيث يقوم المترجم (compiler) بإتباع هذه العمليات، وتتم هذه العمليات من أجل تحويل الكود المكتوب بلغة برمجة معينة بحيث يمكن تحويله إلى لغة الآلة المقابلة.   على سبيل […]