فكر برمجي
400 subscribers
233 photos
2 videos
67 files
158 links
#فكر_برمجي
Think_Programmatically
قناة تقنية متخصصة في البرمجة وتطوير المهارات. نوفر شروحات مبسطة، موارد مفيدة، وأفكار ملهمة لتحويل شغفك بالتقنية إلى إبداع.
Download Telegram
Focus on: احدى هذه
C# - .Net
JavaScript - Node.js
Python - Django
Php - laravel


Backend development
Enterprise-level software engineering
Production-ready standards

إذا كنت تريد خارطة تطبيقية تناسب مسارك (خاصة بما أنك تتجه لتطوير البرمجيات والـ Backend)، فابدأ بالترتيب:
Clean Code → SOLID → Refactoring → Design Patterns → Architecture → Testing → Production Standards.
هذا هو المسار الفعلي
👍1
backend.pdf
603 KB
خارطة الطريق لمطور Backend
👍3
system-design.pdf
261.8 KB
المستوى المتقدم
devops.pdf
322.9 KB
خارطة الطريق للمطور السحابي
انتهى الزمن الذي كانت فيه "الشهادة الجامعية" تضمن المستقبل؛ فنحن نعيش عصر "ماذا تستطيع أن تفعل؟" لا "ماذا درست؟". إنَّ التمسك باللقب الأكاديمي مع الجمود المهاراتي هو أقصر طريق للتقاعد المبكر عن التأثير. الميدان اليوم ينحاز لمن يملك "القدرة التطبيقية" والتعلم المستمر، لا لمن يملك بروازاً على الحائط.

د. عبد الكريم بكار
👍1
نعيد ونكرر بعد التأسيس

هنا تجد خارطة الطريق لأي تخصص في البرمجة
خذ مجال معين واتخصص فيه وسوي مشاريع فيه
كل التوفيق والنجاح
https://roadmap.sh/dashboard
👏3
هل لديك سيرة ذاتية؟ أم ما زلت تنتظر “الفرصة” لتبدأ؟

الكثير يعتقد أن السيرة الذاتية تُكتب بعد التخرج فقط او عند طلبها…
وهذا مفهوم خاطئ.

السيرة الذاتية ليست مجرد ورقة، بل هي:

انعكاس لمهاراتك الحالية
وسيلة لتوثيق تطورك الأكاديمي والعملي
أداة أساسية للحصول على التدريب و الفرص سوى للعمل او الدراسة

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

حتى لو لم تكن لديك خبرة، يمكنك كتابة:

مهاراتك الدراسية
مشاريعك الجامعية او مشاريعك الخاصة او مشاريع اشتغلت عليها
الدورات التي التحقت بها
أي نشاط تقني أو تطوعي
• شهادات حصلت عليها مثلاً

نصيحتي لكل طالب: ابدأ بسيرة ذاتية بسيطة اليوم، وطورها مع كل خطوة جديدة في رحلتك.

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

م. طارق العمري
#CV
#مسار_مهني #هندسة_برمحيات #تطوير_الذات
Alaa Alawdi CV-pages.pdf
306.1 KB
Alaa Alawdi CV-pages.pdf
نموذج لسيرة ذاتية احترافية
نظام ATS هو اختصار لـ Applicant Tracking System، ويعني بالعربية:
نظام تتبّع المتقدمين للوظائف.

ببساطة، هو برنامج تستخدمه الشركات لتنظيم عملية التوظيف وفرز السير الذاتية.

خلونا من شروط السيرة الذاتية و وجع الرأس
نشتي نفهم النظام نفسه
كيف يشتغل ؟ 👍😏

كيف يعمل نظام ATS؟

عندما تتقدم لوظيفة عبر الإنترنت، يتم إدخال سيرتك الذاتية في النظام

يقوم النظام بقراءة السيرة وتحليلها (غالبًا باستخدام كلمات مفتاحية)

يفرز المتقدمين حسب مدى تطابقهم مع متطلبات الوظيفة

يرشّح أفضل المرشحين لمسؤولي التوظيف


لماذا هو مهم؟

لأن معظم الشركات اليوم تعتمد عليه، وهذا يعني:

قد يتم رفض سيرتك الذاتية قبل أن يراها أي شخص

يعتمد القبول بشكل كبير على الكلمات المفتاحية وطريقة كتابة السيرة


مثال بسيط

إذا كانت الوظيفة تطلب:

"خبرة في إدارة المشاريع باستخدام Agile"



والسيرة الذاتية لا تحتوي على هذه الكلمات أو مرادفاتها، قد لا يتم اختيارها حتى لو كانت لديك خبرة فعلية.

نصائح للتعامل مع ATS

استخدم كلمات مفتاحية من إعلان الوظيفة

تجنب التصاميم المعقدة (الجداول، الصور)

اكتب بشكل واضح وبسيط

استخدم عناوين تقليدية مثل: (خبرات، مهارات، تعليم).
📄 Software Requirements Specification (SRS)

📌 System: Applicant Tracking System (ATS)



1. 🧾 Introduction
1.1 Purpose

يهدف هذا المستند إلى تحديد المتطلبات الوظيفية وغير الوظيفية لنظام ATS المستخدم لإدارة عمليات التوظيف داخل الشركات.

1.2 Scope

النظام يسمح بـ:

نشر الوظائف
استقبال طلبات التوظيف
تحليل السير الذاتية
تصنيف وترتيب المتقدمين
إدارة عملية التوظيف بالكامل



1.3 Definitions
ATS: نظام تتبع المتقدمين
CV: السيرة الذاتية
HR: مسؤول الموارد البشرية



2. 🧠 Overall Description

2.1 Product Perspective

النظام عبارة عن Web Application متكامل يتكون من:

واجهة مستخدم (Frontend)
Backend API

قاعدة بيانات
خدمات تحليل CV و Matching


2.2 User Classes

1. Candidate (المتقدم)

إنشاء حساب
رفع CV
التقديم على الوظائف


2. HR / Recruiter

نشر الوظائف
مراجعة المتقدمين
إدارة مراحل التوظيف


3. Admin

إدارة النظام
التحكم في المستخدمين



2.3 Operating Environment

Web Browser (Chrome, Firefox)

Backend Server (Node.js / .NET / Java)
Database (SQL Server / PostgreSQL)



3. ⚙️ Functional Requirements

3.1 User Management

FR-001: يجب أن يتمكن المستخدم من إنشاء حساب
FR-002: يجب أن يتمكن المستخدم من تسجيل الدخول
FR-003: يجب دعم استعادة كلمة المرور



3.2 Job Management

FR-004: يجب أن يتمكن HR من إنشاء وظيفة
FR-005: يجب تعديل وحذف الوظائف
FR-006: يجب عرض الوظائف للمتقدمين



3.3 Application Management

FR-007: يجب أن يتمكن المستخدم من التقديم على وظيفة
FR-008: يجب تخزين بيانات الطلب
FR-009: يجب تتبع حالة الطلب


3.4 Resume Upload & Parsing

FR-010: يجب رفع CV بصيغة PDF أو DOCX

FR-011: يجب تحليل CV تلقائيًا

FR-012: يجب استخراج:

الاسم
المهارات
الخبرات
التعليم


3.5 Matching & Ranking

FR-013: يجب مقارنة CV مع متطلبات الوظيفة

FR-014: يجب إعطاء Score لكل متقدم

FR-015: يجب ترتيب المتقدمين حسب الأفضلية


3.6 Workflow Management

FR-016: يجب دعم مراحل التوظيف:

Applied
Screening
Interview
Offer
Rejected




3.7 Notification System

FR-017: إرسال إشعارات عند:

التقديم
تغيير الحالة
قبول / رفض

4. 🔒 Non-Functional Requirements

4.1 Performance

يجب أن يعالج النظام 1000 طلب/دقيقة
زمن تحليل CV لا يتجاوز 5 ثواني


4.2 Security

تشفير البيانات (HTTPS)

حماية كلمات المرور (Hashing)

Role-Based Access Control



4.3 Usability

واجهة سهلة الاستخدام
دعم اللغة العربية والإنجليزية


4.4 Scalability

النظام يجب أن يدعم التوسع (Microservices)


4.5 Availability
uptime لا يقل عن 99%



5. 🗄️ Data Requirements

Entities:

Users
Jobs
Candidates
Applications
CV_Data



6. 🔄 System Workflow

1. المستخدم ينشئ حساب
2. يرفع CV
3. النظام يحلل CV
4. المستخدم يقدم على وظيفة
5. النظام يقارن ويعطي Score
6. HR يراجع ويرتب المتقدمين
7. يتم الانتقال بين مراحل التوظيف




7. ⚠️ Constraints

دعم صيغ CV (PDF, DOCX فقط)

الاعتماد على مكتبات NLP

الاتصال بالإنترنت مطلوب




8. 🚀 Future Enhancements

استخدام AI متقدم (LLMs)

توصية وظائف للمتقدمين

تحليل فيديو المقابلات

Chatbot للتوظيف
1
طيب في مواضيع دسمه في تخصصنا
احنا الذي نعرفه ان المشروع يضل محلي فقط نبرمج ونختبره ونشغل سيرفر محلي يعني بيئة واحدة
وهنا اذا استمرت على هذا المستوى الذكاء الاصطناعي يعمل عملك بقوة و ومابش فائدة منك ؟

في مهندس برمجيات بيقول بمنشور له على منصات التواصل الاجتماعي ان البيئات تتكون من ثلاث مراحل ؟

بيئة التطوير المحلية (Local) احنا هنا
بيئة الاختبار (Staging).
بيئة الانتاج (production)

بيئة التطوير المحلية (Local) - > الذكاء الاصطناعي يكون هنا فقط
طيب ةالبقية كيف ما ينفعش معها الذكاء الاصطناعي خالص هذه يحتاج لها خبرة في المجال كهندسة برمجيات و حوسبة سحابية .
لازم نفهمها ولو مقدمة ؟
كونوا معنا
لماذا لا يكفي تشغيل المشروع على جهازك فقط؟
فهم البيئات الثلاث في هندسة البرمجيات الحديثة
Local vs Staging vs Production

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

لكن في الشركات البرمجية الحقيقية الأمر مختلف تمامًا.

المشروع لا يعيش داخل بيئة واحدة فقط، بل يمر غالبًا عبر ثلاث بيئات رئيسية:

Local Environment
Staging Environment
Production Environment

وهذه ليست مجرد أسماء، بل فلسفة كاملة في هندسة البرمجيات الحديثة وإدارة دورة حياة الأنظمة.

أولًا: بيئة التطوير المحلية (Local Environment)

هي البيئة التي يعمل عليها المطور داخل جهازه الشخصي.

عادةً تشمل:

VS Code أو Visual Studio
قاعدة بيانات محلية
Localhost
Docker أحيانًا
ملفات تجريبية
بيانات غير حقيقية

مثال:

localhost:3000
localhost:8000
127.0.0.1

في هذه المرحلة يقوم المطور بـ:

كتابة الكود
تجربة الميزات
إصلاح الأخطاء
اختبار الأفكار الجديدة
بناء النظام مبدئيًا
المشكلة الكبيرة هنا

الكثير يظن أن:

“إذا اشتغل المشروع عندي إذن المشروع ناجح”

وهذا خطأ هندسي خطير.

لأن المشروع داخل Local Environment يعمل في ظروف مثالية جدًا:

نفس جهاز المطور
نفس نظام التشغيل
نفس المكتبات
نفس الشبكة
نفس الإعدادات

بينما المستخدم الحقيقي لن يعمل في هذه الظروف.

ثانيًا: بيئة الاختبار (Staging Environment)

وهنا يبدأ الانتقال من “مشروع طالب” إلى “نظام حقيقي”.

بيئة Staging هي نسخة شبه مطابقة للإنتاج الحقيقي (Production)، لكن مخصصة للاختبار النهائي.

بمعنى:

كأنك تبني نسخة تجريبية من العالم الحقيقي قبل إطلاق المشروع للناس.

لماذا نحتاج Staging؟

لأن كثيرًا من المشاكل لا تظهر في Local.

مثل:

مشاكل السيرفر
مشاكل الأداء
مشاكل الشبكة
أخطاء قواعد البيانات
مشاكل الصلاحيات
مشاكل رفع الملفات
مشاكل API
اختلاف أنظمة التشغيل
مشاكل الحماية
مشاكل التوافق
ماذا يحدث داخل Staging؟

يتم:

رفع المشروع على سيرفر حقيقي
استخدام قاعدة بيانات قريبة من الحقيقية
اختبار المستخدمين
اختبار الأمان
اختبار الأداء
تجربة التحديثات قبل النشر
مثال واقعي

تخيل أنك طورت منصة تجارة إلكترونية.

في جهازك:

الصور تفتح بسرعة
الدفع يعمل
النظام ممتاز

لكن بعد رفع المشروع:

السيرفر ينهار مع 100 مستخدم
API بطيء
الملفات لا تُرفع
الصلاحيات معطلة
قاعدة البيانات تتجمد

هنا تظهر أهمية Staging.

ثالثًا: بيئة الإنتاج (Production Environment)

هذه البيئة هي النسخة النهائية التي يستخدمها العملاء الحقيقيون.

أي خطأ هنا قد يعني:

خسارة مالية
توقف الخدمة
فقدان بيانات
مشاكل أمنية
انهيار ثقة المستخدمين

ولهذا فإن التعامل مع Production يختلف جذريًا عن Local.

في Production يصبح كل شيء حساسًا

حتى سطر كود واحد قد يسبب كارثة.

لهذا تستخدم الشركات:

CI/CD Pipelines
Monitoring Systems
Logging
Load Balancing
Auto Scaling
Backups
Security Layers
Observability
Rollback Systems
الفرق الحقيقي بين المبرمج والمُهندس البرمجي

المبرمج قد يكتب كود يعمل.

أما المهندس البرمجي فيفكر في:

أين سيعمل النظام؟
كيف سيتم نشره؟
كيف سيتحمل الضغط؟
ماذا لو تعطل السيرفر؟
كيف نمنع فقدان البيانات؟
كيف نراقب الأخطاء؟
كيف نحدث النظام بدون توقف الخدمة؟
دورة المشروع الحقيقية داخل الشركات

غالبًا تكون كالتالي:

Developer Machine (Local)

Git Repository

CI/CD Pipeline

Staging Server

QA Testing

Production Deployment

Monitoring & Maintenance
لماذا هذه الفكرة مهمة جدًا لطلاب البرمجة؟

لأن أغلب الطلاب جالس يتعلم لغات برمجة واطر عمل ولا خرج الى طريق

كتابة الكود فقط

لكن سوق العمل يحتاج:

فهم دورة حياة النظام بالكامل

وهنا الفرق بين:

شخص “يبني مشروع”
و
مهندس يستطيع إدارة نظام حقيقي قابل للتوسع.
التقنيات المرتبطة بهذه البيئات

كلما تعمقت ستتعلم أدوات مرتبطة بها مثل:

Local

Docker
XAMPP
WAMP
Local Databases

Staging

Jenkins
GitHub Actions
GitLab CI/CD
Kubernetes Testing Clusters

Production

AWS
Azure
Nginx
Kubernetes
Monitoring Systems
Prometheus
Grafana
الخلاصة

تشغيل المشروع على جهازك لا يعني أن المشروع جاهز.

الأنظمة الحقيقية تمر عبر مراحل متعددة لضمان:

الجودة
الاستقرار
الأمان
الأداء
قابلية التوسع

وفهم هذه البيئات هو أحد الفروقات الجوهرية بين البرمجة كهواية، وهندسة البرمجيات كمجال احترافي متكامل.
2
🎓#_دعوة_لحضور_الأسبوع_العلمي_الأول.
#بكلية_الحاسبات_والعلوم_التطبيقية_جامعة_إب.
برعاية الأستاذ الدكتور/ ا.د. نصر محمد الحجيلي (رئيس الجامعة)، وبإشراف الأستاذ الدكتور منير السروري (عميد الكلية)، واحتفاءً بتدشين أقسامنا الجديدة (الذكاء الاصطناعي والأمن السيبراني)، نتشرف بدعوتكم لحضور:
💥"الأسبوع العلمي للحوسبة والعلوم التطبيقية"
(نحو جيل مبدع يسهم في بناء المستقبل الرقمي)
📅 أجندة الفعاليات (11 - 14 مايو 2026م)
الاثنين (11 مايو): اليوم التقني الثاني
#الحدث: استعراض ومناقشة مشاريع تخرج طلاب (علوم الحاسوب وتقنية المعلومات).
الموقع: قاعة "منقذة" – كلية الطب والعلوم الصحية.
الثلاثاء (12 مايو): المؤتمر العلمي الداخلي الأول
#الحدث: مناقشة أحدث الأوراق البحثية والابتكارات في علوم الحوسبة.
#الموقع: قاعة "منقذة" – كلية الطب والعلوم الصحية.
الأربعاء والخميس (13 - 14 مايو): معرض الابتكار والندوات
#الحدث: عروض حية للمشاريع المتميزة + ندوات تخصصية لنخبة من خبراء الكلية.
#الموقع: رحاب كلية الحاسبات والعلوم التطبيقية.
💡 لماذا يجب أن تحضر؟
•استكشاف: التعرف على ابتكارات الطلاب ومشاريعهم التقنية الصاعدة.
•إثراء: الانخراط في بيئة بحثية تجمع الأكاديميين والمتخصصين.
•تواصل: بناء علاقات مع الخبراء لربط التعليم بمتطلبات سوق العمل.
📍 تنويهات هامة:
التوقيت: تبدأ جميع الفعاليات يومياً في تمام الساعة 9:00 صباحاً.
👥 الدعوة: مفتوحة لجميع الباحثين، الطلاب، والمهتمين بالمجال التقني.
حضوركم دعمٌ للإبداع.. ننتظركم بشغف!
صادر عن:
#عمادة_كلية_الحاسبات_والعلوم_التطبيقية_جامعة_إب.

شاركونا فرحتنا 🎓🤍