برمجةوتقنية المعلومات C. P. W
620 subscribers
810 photos
94 videos
303 files
644 links
عالم الحاسوب برمجه وتقنيه وتطوير شرح كل ما يتطلب في مجال علوم الحاسوب والبرمجة
https://t.me/programming_C_w
قنات الجرافيكس @l_d_gh
#Digitalmarketing
#programming
#AI #CPA
#learn
التواصل معي @Eng_sharaf1
Download Telegram
منقول لكم مفاتيح التفعيل الرسمية – Microsoft Office PRO PLUS 🔑
(انسخ المفتاح المناسب لك 👇)

Office 2019 PRO PLUS
JN79Y-H76Y9-4QMXC-FBPD6-MKP63

Office 2021 PRO PLUS
D3YWG-KN47B-8M79R-F374V-G6R2X

🛠️ طريقة التفعيل (Office 2019 / 2021):

1️⃣ تأكد إن عندك نفس إصدار الأوفيس (2019 أو 2021 – PRO PLUS).
2️⃣ افتح أي برنامج أوفيس (Word أو Excel).
3️⃣ من الأعلى اختر File ➜ Account.
4️⃣ اضغط Change Product Key أو Activate Office.
5️⃣ الصق مفتاح التفعيل واضغط Next.
6️⃣ انتظر رسالة التأكيد ✅ وتم التفعيل بنجاح.
🔥 عرض نهاية السنة – فرصة ما تتكرر! 🔥
🎨 مكتبة Lumina للمصممين
أكثر من 250GB من ملفات التصميم الاحترافية — كل اللي تحتاجه في مكان واحد!
✅ المحتوى يشمل:
🔹 15,000 موشن جرافيك
🔹 600 قالب After Effects
🔹 5,000+ انتقالات Premiere
🔹 23,000+ شعار (PSD & EPS)
🔹 7,000+ قالب سوشيال ميديا
🔹 1,000+ هوية بصرية كاملة
🔹 6,500 قالب CorelDRAW
🔹 8,000+ عنصر تصميم
🔹 10,000+ أيقونة
🔹 موكابات، منيوهات، تيشيرتات، ملفات AI، صوتيات وأكثر!
💼 مكتبة مرتبة – سهلة الاستخدام – جاهزة للعمل مباشرة
🎯 عرض نهاية السنة فقط:!
⏳ العرض لفترة محدودة — لا تفوّت الفرصة وابدأ تصمّم باحتراف!
📩 تواصل الآن للحصول على المكتبة

تواصل للحجز @Eng_sharaf1

محضور تواصل @ll77_ll99_bot
انشرو يستفيد الجميع☝️
محكمة في Zwolle بهولندا أبطلت شهادة زواج بسبب ChatGPT 😳

اللي أدار المراسيم كان واحد يعرفونه، وأخذ صلاحية مأذون/مُسجّل زواج ليوم واحد بس.

بدل ما يلقي الخطاب الرسمي اللي القانون يلزمه فيه، راح اخذ كلام من ChatGPT وقاله لهم.

المحكمة اعتبرت الخطاب غير صحيح، وبالتالي الزواج غير صالح. والحين ما قدّام الزوجين إلا يتزوجون من جديد 😅
🖐 لجميع المهتمين بـــ 🦾 ( فلاتر 🛸 Flutter ) من جوجل
👈 للهاتف 📱 والديسك 💻 ويندوز ولينكس وماك والويب 🌐 اليكم فيديو مميز لها
👈 من هنا https://youtu.be/cbdZwQ61EWo ملييييييييئ بخبرات إطار عمل Flutter
فيها كتير 🦾 ( فلاتر ⌨️ Flutter ) من جوجل
👈 للهاتف 📱 والديسك 💻 ويندوز ولينكس وماك والويب 🌐 اليكم فيديو مميز لها
👈 من هنا https://youtu.be/cbdZwQ61EWo ملييييييييئ بخبرات إطار عمل Flutter + معلومات عن كورس فلاتر قريبا ان شاء الله 😊
Forwarded from Codefajr_كود فجر
درس مهم للمبتديين
كيفية الاتصال بقاعدة بيانات SQL Server باستخدام C#
Forwarded from Codefajr_كود فجر
الخطوة 1: إعداد قاعدة البيانات
إنشاء قاعدة بيانات جديدة:

افتح SQL Server Management Studio.
قم بإنشاء قاعدة بيانات جديدة باسم Clinic.
إنشاء جدول:

أنشئ جدولًا باسم Patients يحتوي على الأعمدة التالية:
sql


CREATE TABLE Patients (
Id INT PRIMARY KEY IDENTITY(1,1),
Name NVARCHAR(50),
PhoneNumber NVARCHAR(15)
);
Forwarded from Codefajr_كود فجر
الخطوة 2: إعداد مشروع C#
فتح Visual Studio:

أنشئ مشروع جديد من نوع Console Application.
إضافة مكتبة SQL Server:

تأكد من إضافة System.Data.SqlClient عبر NuGet Package Manager.
الخطوة 3: كتابة الكود للاتصال بقاعدة البيانات


الكلاس مرفق تحت Program
Forwarded from Codefajr_كود فجر
الخطوة 4: تشغيل البرنامج
تأكد من تعديل سلسلة الاتصال لتناسب إعدادات قاعدة البيانات الخاصة بك.
قم بتشغيل البرنامج وأدخل الاسم ورقم الهاتف.

string connectionString = "Server=localhost;Database=Clinic;User Id=sa;Password=your_password;";
Forwarded from Codefajr_كود فجر
Program.cs
3.1 KB
هذ الصفحه في السي شارب الخاصه بالاتصال بقواعد البيانات مع بعض التعديلات
Forwarded from Codefajr_كود فجر
البعض سوف يضهر له خطا SqlConnection في المكتبات وذالك بسبب نقص المكتبات اتبع الخطوات التاليه
إضافة مكتبة SQL Server: تأكد من إضافة System.Data.SqlClient إلى المشروع. يمكنك إضافتها عبر NuGet Package Manager.
54 مفهوم مهم في البرمجة 🗺🎨


🔹 1. Algorithm – الخوارزمية

مجموعة من الخطوات المحددة لحل مشكلة معينة أو تنفيذ مهمة.

🔹 2. Data Structure – هيكل البيانات
طريقة لتنظيم البيانات داخل الذاكرة لتسهيل الوصول والتعديل.

🔹 3. Variable Scope – نطاق المتغيرات
المكان الذي يمكن فيه الوصول إلى المتغير (داخل دالة، كلاس، إلخ).

🔹 4. Encapsulation – التغليف
إخفاء تفاصيل تنفيذ الكود وإظهار واجهة استخدام فقط.

🔹 5. Abstraction – التجريد
التركيز على المهم وإخفاء التفاصيل المعقدة.

🔹 6. Polymorphism – تعدد الأشكال
استخدام دوال أو كائنات بنفس الاسم ولكن بسلوك مختلف.

🔹 7. Inheritance – الوراثة
كلاس يرث خصائص ودوال من كلاس آخر.

🔹 8. Recursion – الاستدعاء الذاتي
دالة تستدعي نفسها لحل أجزاء أصغر من المشكلة.

🔹 9. DRY – Don’t Repeat Yourself
مبدأ يمنع تكرار الكود ويسعى لإعادة الاستخدام.

🔹 10. KISS – Keep It Simple, Stupid
اجعل الكود بسيطًا وواضحًا دون تعقيد غير ضروري.

🔹 11. YAGNI – You Ain’t Gonna Need It
لا تكتب كودًا أو تضف ميزات غير مطلوبة بعد.

🔹 12. SOLID Principles
خمسة مبادئ تصميم تجعل الكود قابلًا للصيانة والتوسعة.

🔹 13. Design Patterns – أنماط التصميم
حلول عامة لمشاكل متكررة في تصميم البرمجيات.

🔹 14. Coupling – الترابط
مدى اعتماد كائنات أو وحدات الكود على بعضها البعض.

🔹 15. Cohesion – التماسك
مدى تركيز الوحدة على وظيفة واحدة واضحة.

🔹 16. Singleton Pattern
نمط تصميم يضمن وجود نسخة واحدة فقط من الكائن.

🔹 17. Factory Pattern
نمط لإنشاء الكائنات دون تحديد الكلاس مباشرة.

🔹 18. Observer Pattern
نمط لإبلاغ كائنات متعددة عند تغيير حالة كائن معين.

🔹 19. MVC – Model View Controller
تقسيم المشروع لثلاثة أجزاء: البيانات، العرض، التحكم.

🔹 20. API – واجهة برمجية
وسيلة للتواصل بين البرمجيات باستخدام طلبات واستجابات.

🔹 21. RESTful API
تصميم API يعتمد على بروتوكول HTTP بطريقة بسيطة.

🔹 22. GraphQL
لغة استعلام بديلة لـ REST تتيح الحصول على البيانات بشكل مرن.

🔹 23. Callback Function
دالة تُمرَّر كوسيط ليتم استدعاؤها لاحقًا بعد انتهاء مهمة.

🔹 24. Asynchronous Programming
تنفيذ الأوامر دون الانتظار، لتحسين الأداء.

🔹 25. Multithreading
تشغيل أكثر من سلسلة أوامر (Thread) في الوقت نفسه.

🔹 26. Deadlock
حالة توقف يحدث فيها تعارض بين عمليتين تنتظران بعضهما.

🔹 27. Race Condition
مشكلة تحدث عند الوصول المتزامن لنفس البيانات بطريقة غير آمنة.

🔹 28. Garbage Collection
عملية حذف الكائنات غير المستخدمة من الذاكرة تلقائيًا.

🔹 29. Memory Leak
فشل في تحرير الذاكرة مما يؤدي لاستهلاكها تدريجيًا.

🔹 30. Immutable Object
كائن لا يمكن تغيير حالته بعد إنشائه.

🔹 31. Unit Testing
اختبار وحدة واحدة من الكود (مثل دالة) بشكل مستقل.

🔹 32. Mocking
محاكاة كائنات حقيقية أثناء الاختبار لتسهيل العزل.

🔹 33. TDD – Test Driven Development
أسلوب تطوير يعتمد على كتابة الاختبارات قبل الكود.

🔹 34. Code Smells
مؤشرات على وجود مشاكل في تصميم الكود يجب تحسينها.

🔹 35. Refactoring
تحسين هيكل الكود بدون تغيير سلوكه الخارجي.

🔹 36. Version Control
إدارة تغييرات الكود بمرور الوقت (مثل Git).

🔹 37. Branching
إنشاء نسخ مستقلة من الكود للعمل على ميزات أو إصلاحات.

🔹 38. Merge Conflict
تعارض يحدث عند دمج فروع تحتوي على تعديلات متضاربة.

🔹 39. CI/CD
أتمتة بناء واختبار ونشر التطبيقات بشكل مستمر.

🔹 40. Docker
أداة لحزم وتشغيل التطبيقات في بيئة معزولة (Containers).

🔹 41. Containerization
تشغيل البرامج في بيئات خفيفة ومعزولة عن النظام الأساسي.

🔹 42. Kubernetes
نظام لإدارة وتشغيل مجموعات من الحاويات (Containers) تلقائيًا.

🔹 43. Load Balancer
توزيع الحمل على عدة خوادم لتحسين الأداء والموثوقية.

🔹 44. Caching
تخزين مؤقت للبيانات لتسريع الوصول إليها.

🔹 45. SQL Injection
هجوم يتم عبر إدخال أوامر SQL ضارة في استعلامات قاعدة البيانات.

🔹 46. XSS – Cross Site Scripting
هجوم يتم عن طريق إدخال سكريبتات خبيثة في صفحات الويب.

🔹 47. JWT – JSON Web Token
رمز يستخدم للتحقق من هوية المستخدم بطريقة آمنة.

🔹 48. OAuth
بروتوكول يسمح بالتفويض الآمن بين التطبيقات.

🔹 49. Normalization
تنظيم بيانات قواعد البيانات لتقليل التكرار.

🔹 50. Denormalization
إدخال بعض التكرار في البيانات لتحسين الأداء.

🔹 51. Big O Notation
طريقة لقياس تعقيد الخوارزميات من حيث الأداء والسرعة.

🔹 52. Time Complexity
قياس الزمن الذي تستغرقه الخوارزمية حسب حجم البيانات.

🔹 53. Space Complexity
كمية الذاكرة التي تحتاجها الخوارزمية أثناء تنفيذها.
🔹 54. Functional Programming
نمط برمجي يعتمد على الدوال كعناصر أساسية بدون تغيير الحالة.
كيف عززت ميتا نفوذها في الذكاء الاصطناعي خلال 2025؟

t.ly/6C8m4
توليد الصور والفيديو يصل إلى التلفاز مع تحديث Gemini الجديد

t.ly/ut54P
This media is not supported in the widget
VIEW IN TELEGRAM
Forwarded from Codefajr_كود فجر
⏹️ من اهم النصائح لتحسين جودة الكود بإذن الله 📚

اتباع المبادئ الصلبة
(SOLID Principles)

⬅️ لكتابة كود قابل للتوسع والصيانة بسهولة.

كتابة كود نظيف ومنظم
(Clean Code)

⬅️ حافظ على بساطة الكود واجعل أجزائه مفهومة و واضحة قدر الإمكان.

التوثيق الجيد
(Documentation)

⬅️ قم بكتابة تعليقات توضيحية وتوثيق الأكواد لتسهيل فهمها من قبل الآخرين.

إعادة استخدام الكود
(Code Reusability)

⬅️ اجعل الكود قابل لإعادة الاستخدام من خلال استخدام الدوال والوحدات او الفصول البرمجية.

التنسيق الصحيح للكود
(Code Formatting)

⬅️ اتبع معايير التنسيق الموحدة للكود واستخدم أدوات مثل Prettier وESLint لتحسين تنسيق الكود.

التسمية الواضحة والمتناسقة
(Clear Naming Conventions)

⬅️ استخدم أسماء متناسقة ومعبرة للمتغيرات، والدوال، والوحدات او الفصول البرمجية.

إجراء الاختبارات الدائمة
(Continuous Testing)

⬅️ تأكد من اختبار الكود بانتظام باستخدام وحدات او فصول الاختبار بشكل مستمر لتجنب الأخطاء.

المراجعة الدورية للكود
(Code Reviews)

⬅️ اطلب من زملائك مراجعة كودك بانتظام لتحسين جودته واكتشاف الأخطاء المحتملة.

تقليل التكرار
(Avoid Code Duplication)

⬅️ تجنب تكرار الكود عن طريق استخدام الدوال والوحدات او الفصول البرمجية المشتركة.

تحسين الأداء
(Performance Optimization)

⬅️ حلل أداء الكود وابحث عن طرق لتحسينه مثل تقليل استخدام الذاكرة وتحسين سرعة التنفيذ.

استخدام أنماط التصميم
(Design Patterns)

⬅️ استعن بأنماط التصميم المعروفة مثل Singleton وFactory وObserver لحل المشاكل المتكررة بطرق منظمة وفعالة.

التعلم المستمر
(Continuous Learning)

⬅️ استمر في تعلم أفضل الممارسات والأدوات الجديدة من خلال قراءة الكتب والمستندات والمقالات وحضور الدورات التدريبية سواء كانت حضورية في الواقع او على مواقع تعليمية.

⏺️ تحسين جودة الكود يتطلب الالتزام بالممارسات الجيدة والاستمرار في التعلم والتطوير. باتباع هذه النصائح، ستتمكن من كتابة كود أكثر احترافية وفعالية بإذن الرحمن.
Forwarded from Codefajr_كود فجر
مقارنة قائمتين في WPS Office: مع حلول بديلة إذا لم تكن بعض الدوال مثل VSTACK / UNIQUE مدعومة.
---------------------------------------------------
سنعالج الأنواع الثلاثة المطلوبة:
البيانات الفريدة بين القائمتين (تظهر في قائمة واحدة فقط)
جميع البيانات الموجودة في القائمتين (اتحاد القائمتين)
البيانات المشتركة والمتكررة في القائمتين (التقاطع)
لنفرض:
القائمة 1 في A4:A50
القائمة 2 في B4:B50

✅ أولاً: إذا كان WPS عندك يدعم VSTACK و UNIQUE
1) استخراج البيانات الفريدة بين القائمتين (exclusive)
أي القيم الموجودة في قائمة واحدة فقط:
=UNIQUE(FILTER(VSTACK(A4:A50; B4:B50); COUNTIF(A4:A50; VSTACK(A4:A50; B4:B50))=0 + COUNTIF(B4:B50; VSTACK(A4:A50; B4:B50))=0))
✔ هذه تعطي القيم التي لا تتكرر في القائمتين
✔ أي قيمة تظهر مرة واحدة فقط في أحدهما
2) جميع البيانات الموجودة في القائمتين (Union)
اتحاد القائمتين بدون تكرار:
=UNIQUE(VSTACK(A4:A50; B4:B50))
3) استخراج البيانات المتكررة والمشتركة (Intersection)
أي القيم الموجودة في القائمتين معًا:
=UNIQUE(FILTER(A4:A50; COUNTIF(B4:B50; A4:A50)>0))
✔ هذه تعطي القيم المتكررة في القائمتين
✔ إذا أردتها مع التكرار بدون إزالة (أخبرني)
❗ إذا كان WPS عندك لا يدعم VSTACK / UNIQUE
لا تقلق… إليك البديل العملي:
1) اتحاد القائمتين (بدون UNIQUE)
ضع في C4:
=A4
واسحب حتى نهاية قائمة 1
ثم في C.. (بعد آخر صف) ضع:
=B4
واسحب حتى نهاية قائمة 2.
ثم لإزالة التكرار ➜ Data → Remove Duplicates
2) البيانات المشتركة بين القائمتين
في D4:
=IF(COUNTIF($B$4:$B$50; A4)>0; A4; "")
اسحب للأسفل.
ثم احذف الفراغات بالفلترة.
3) استخراج البيانات الفريدة بين القائمتين
في E4:
=IF(AND(COUNTIF($A$4:$A$50; B4)=0; COUNTIF($B$4:$B$50; B4)=1); B4; "")
ثم اسحب للأسفل.
Forwarded from Codefajr_كود فجر
مثالًا عمليًا جاهزًا وواضحًا
لتوزيع أسماء بشكل عشوائي على 4 مجموعات دون تكرار باستخدام RAND + SORTBY.
------------------------------------------------------------
✅ الهدف

لدينا قائمة أسماء،
ونريد توزيعها عشوائيًا إلى 4 مجموعات،
بدون تكرار،
وبطريقة قابلة للتحديث عند كل ضغط Delete.
------------------------------------------------------
📌 الخطوات العملية مع مثال

1) إعداد جدول البيانات:
- الأسم ( A ) ضع 20 اسم من الخلية A4:A23
- المجموعة ( B )
- عشوائي ( C ) "العمود المساعد"
-----------------------------------------------------
2) إنشاء العمود المساعد (C) (عشوائي)
وفي الخلية C4 ضع المعادلة التالية: =RAND()
ثم اسحب للأسفل حتى C23.
-----------------------------------------------------

3) لترتيب الأسماء عشوائيًا إستخدام الدالة SORTBY في الخلية F4 وضع المعادلة التالية:
=SORTBY(A4:A23; C4:C23)
وسيظهر لديك عمود مرتّب عشوائيًا دون تكرار.
-----------------------------------------------------
4) تقسيم القائمة إلى 4 مجموعات
بعد أن أصبحت القائمة عشوائية في العمود F، نقوم بتوزيعها على 4 مجموعات كالتالي:
-----------------------------------------------------
* المجموعة الاولى 1: ضع المعادلة التالية في الخلية G4:
=INDEX($F$4:$F$23; ROWS(G$4:G4))
-----------------------------------------------------
* المجموعة الثانية 2 : ضع في الخلية H4 المعادلة التالية:
=INDEX($F$4:$F$23; ROWS(H$4:H4)+5)
------------------------------------------------------
*المجموعة الثالثة 3: ضع في الخلية I4 المعادلة التالية:
=INDEX($F$4:$F$23; ROWS(I$4:I4)+10)
-----------------------------------------------------
* المجموعة الرابعة 4 : ضع في الخلية J4 المعادلة التالية :
=INDEX($F$4:$F$23; ROWS(J$4:J4)+15)
----------------------------------------------------
النتيجة : ستحصل على أربع مجموعات كل مجموعة تحصل فيها 5 أسماء. من الاسماء ال20 الذي لديك في عمود الاسم A ،
-----------------------------------------------------
🔁 لإعادة التوزيع العشوائي :لإعادة خلط الأسماء تلقائيًا.قم بأحدى العمليات التالية:
١- إضغط على Delete في أي خلية فارغة
٢- نفّذ عملية بسيطة (كتابة/مسح)
-----------------------------------------------------
💡 ملاحظة مهمة

ميزة هذه الطريقة:
لا يوجد تكرار إطلاقًا
التوزيع عادل
يمكن زيادة عدد المجموعات أو الأسماء بسهولة

يمكن استخدام SORTBY بمدى متعدد الأعمدة مثل A4:B23 إذا كانت لديك بيانات إضافية مع الأسماء
-----------------------------------------------------
📦 نسخة جاهزة مختصرة للدالة الرئيسية

=SORTBY(A4:A23; RANDARRAY(20;1))

(بدل العمود المساعد)-إن كان إصدار Excel يدعم RANDARRAY.