Barah Taijon

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

الخوارزميات وتحليل تعقيد الوقت في Loops

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

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

كيف ستفيدك البرمجة التنافسية في العمل Competitive Programming

البرمجة التنافسية هي لعبة فكرية تحدث على الإنترنت، أو على شبكة محلية حيث يتعين على المبرمجين البرمجة وفقًا لقيود المحددة، العديد من الشركات الرائدة مثل (Google) و (Facebook) استضافت مسابقات البرمجة، مثل، (Codejam) و (Hackercup)، لكن كيف يمكن لمسابقات البرمجة التنافسية هذه أن تساعدك في الحصول على وظيفة؟

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

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

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

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

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

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

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

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

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

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

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

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

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

أسباب لتعلم أنماط التصميم Design patterns

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

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

موقع Codeforces

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

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

لغة الترميز Markup Language

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

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

ما هو الـ Character في البرمجة

"Character" أو للاختصار "Char"، هي أي حرف أو أي رقم مكون من رقم واحد أو مسافة أو علامة ترقيم أو رموز الخاصة يمكن كتابته على جهاز الكمبيوتر. ولعمل "char"، ما عليك سوى وضعهم داخل علامات اقتباس مفردة.

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

دورة حياة مشروع علوم البيانات Life Cycle of Data Science projects

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

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

النموذج الحلزوني لتطوير البرمجيات Spiral Model

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

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

تقنيات استنباط المتطلبات لتطوير البرمجيات Requirements Elicitation Techniques

تتمثل المسؤولية الأولى لمحلل الأعمال في جمع المتطلبات من العميل، الآن، النقطة الأساسية التي تبرز هنا هي كيف يمكن لمحلل الأعمال أن يجمع المتطلبات من العميل؟ في هذه المقالة، سوف نجيب على هذا السؤال، أي أننا سنناقش تقنيات استنباط المتطلبات.

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

هياكل البيانات الثابتة والديناميكية Static vs Dynamic data structures

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

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

هيكلة البيانات بواسطة الشجرة Tree

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