يوميات مطور تقنية معلومات
63 subscribers
39 photos
2 videos
3 files
21 links
رحلة من الصفر نحو عالم البرمجة والتقنية.
A journey from scratch to the world of programming and technology.
Download Telegram
✍️ أول خطوة في طريق البرمجة

قد يظن البعض أن البرمجة مجرد أكواد معقدة على شاشة سوداء، لكن الحقيقة أن البرمجة طريقة تفكير قبل أن تكون كتابة أوامر.
أهم ما يحتاجه المبتدئ هو:
1️⃣ الصبر على التعلم.
2️⃣ الاستمرار ولو بخطوات صغيرة.
3️⃣ التطبيق العملي بدلًا من الاكتفاء بالقراءة.

💡 تذكّر: كل مبرمج محترف كان في يوم من الأيام مبتدئًا لا يعرف كيف يطبع "Hello World".

ابدأ اليوم، ولو بسطر واحد من الكود. 🚀

#برمجة #يوميات_مبرمج #Coding #Motivation #تعلم_البرمجة
👍3
.قُل لأحلامك البعيدة :
﴿ وَكَانَ اللَّهُ عَلَىٰ كُلِّ شَيْءٍ مُقْتَدِرًا ﴾
-
وقل لأمنياتك المؤجلة :
﴿ يَأْتِ بِهَا اللَّهُ ۚ إِنَّ اللَّهَ لَطِيفٌ خَبِيرٌ ﴾

-وإن فاتك ما ظننته خيرًا ، واشتدّ عليك فقده
فذكّر قلبك:
﴿ عَسَىٰ رَبُّنَا أَن يُبْدِلَنَا خَيْرًا مِّنْهَا ﴾
🤍
👍3
🖥️ أول خطوة في رحلتي مع البرمجة 🖥️

اليوم بدأت أكتب أول سطر كود بحياتي!
يمكن يكون شيء بسيط جدًا، لكن بالنسبة لي هو البداية الحقيقية لعالم مليان أفكار وتحديات. 👨‍💻

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

💡 "لا تخف من البداية الصغيرة، فكل المبرمجين الكبار كانوا يومًا مبتدئين."

🚀 #رحلة_مبرمج
🚀 #تعلم_البرمجة
🚀 #يوميات_مبرمج
👍1
نصائح_وتجارب_الحياه_الجامعية_1447_♡.pdf
475.8 KB
🔥📚 كتاب "نصائح وتجارب جامعية" مش كتاب عادي… هذا زي الصديق الكبير اللي يهمس لك بأسرار النجاح من أول يوم جامعة.
تخيل تدخل قاعة المحاضرة وأنت عارف إيش تستفيد وكيف تدير وقتك وتتعامل مع الدكاترة والزملاء 👨‍🎓👩‍🎓.

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

🚀 #الجامعة_بداية_الطريق
🚀 #تجارب_ملهمة
🚀 #نصائح_دراسية
👍2
إليك مجموعة من أهم الاختصارات التي ستوفّر وقتك الثمين:

🔑 الأساسية:
✔️ Ctrl + N ➡️ مستند جديد
✔️ Ctrl + O ➡️ فتح مستند
✔️ Ctrl + S ➡️ حفظ سريع
✔️ Ctrl + P ➡️ الطباعة

✂️ التحرير والنسخ:
✔️ Ctrl + X ➡️ قص
✔️ Ctrl + C ➡️ نسخ
✔️ Ctrl + V ➡️ لصق
✔️ Ctrl + Z ➡️ تراجع
✔️ Ctrl + Y ➡️ إعادة

🔎 البحث والتنقل:
✔️ Ctrl + F ➡️ البحث
✔️ Ctrl + H ➡️ البحث والاستبدال
✔️ Home / End ➡️ بداية أو نهاية السطر
✔️ Ctrl + Home / End ➡️ بداية أو نهاية المستند
✔️ Ctrl + ← / → ➡️ التنقل كلمة بكلمة

🖋️ التنسيق:
✔️ Ctrl + B ➡️ غامق
✔️ Ctrl + I ➡️ مائل
✔️ Ctrl + U ➡️ تسطير
✔️ Ctrl + [ / ] ➡️ تصغير أو تكبير الخط
✔️ Ctrl + = / Ctrl + Shift + + ➡️ نص منخفض / نص مرتفع
✔️ Ctrl + E / L / R ➡️ محاذاة النص (وسط – يسار – يمين)

📅 إدراج سريع:
✔️ Alt + Shift + D ➡️ التاريخ
✔️ Alt + Shift + T ➡️ الوقت
✔️ Ctrl + Enter ➡️ فاصل صفحة
✔️ Shift + Enter ➡️ فاصل سطر

📊 الجداول:
✔️ Tab / Shift + Tab ➡️ التنقل بين الخلايا
✔️ Alt + Shift + ↑ / ↓ ➡️ تحريك الصف

💡 ميزة احترافية:
جرّب Ctrl + Shift + 8 لعرض علامات التنسيق المخفية ➡️ مفيد لحل مشاكل النصوص والفواصل.
👍2
🔹 المتغيّرات (Variables) في البرمجة

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

🖥️ أمثلة على المتغيّرات:

int → للأعداد الصحيحة مثل int x = 10;

float / double → للأعداد العشرية مثل float pi = 3.14;

string → للنصوص مثل string name = "Omar";

bool → للقيم المنطقية (true/false) مثل bool isReady = true;


أهمية المتغيّرات:

1. تسهيل تخزين البيانات.

2. إعادة استخدام القيم بدلاً من تكرارها.

3. جعل البرامج أكثر مرونة وقابلية للتعديل.
---

#برمجة #Cplusplus #تعلم_البرمجة #Coding
👍1
🔹 الثوابت (Constants) في البرمجة

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

🖥️ أمثلة في C++:

const float PI = 3.14159;
const int DAYS_IN_WEEK = 7;


أهمية الثوابت:

1. حماية القيم الأساسية من التغيير.

2. تسهيل قراءة الكود وفهمه.

3. تقليل الأخطاء الناتجة عن تعديل قيم ثابتة بالخطأ.
---

#برمجة #Cplusplus #تعلم_البرمجة #Coding
1
🔹 أساسيات البرمجة للمبتدئين

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

🖥️ المفاهيم الأساسية:

1. المتغيّرات (Variables): لحفظ البيانات والتعامل معها.

2. الثوابت (Constants): قيم ثابتة لا تتغير أثناء التنفيذ.

3. أنواع البيانات (Data Types): مثل الأعداد الصحيحة int، الأعداد العشرية float، النصوص string، والقيم المنطقية bool.

4. المعاملات (Operators): مثل الجمع +، الطرح -، الضرب *، القسمة /.

5. التعليقات (Comments): ملاحظات داخل الكود لا تُنفذ، تساعدك على التوضيح.


---

📝 مثال في C++:

#include <iostream>
using namespace std;

int main() {
// هذا تعليق يوضح الكود
int age = 20; // متغير عدد صحيح
const float PI = 3.14; // ثابت عشري

cout << "Age: " << age << endl;
cout << "PI value: " << PI << endl;
return 0;
}

---

نصائح للمبتدئين:

اكتب الكود خطوة بخطوة بدل ما تحاول تكتب برنامج كامل دفعة واحدة.
جرب وخطئك عادي جدًا… الأخطاء هي جزء من التعلّم.
احرص على تسمية المتغيّرات بأسماء واضحة (مثال: studentName بدل x).
---

#برمجة #Cplusplus #Coding #تعلم_البرمجة
1
🔹 لمحة تعريفية عن الخوارزميات (Algorithms)

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

🖥️ خصائص الخوارزمية الجيدة:

1. الوضوح: كل خطوة فيها محددة وواضحة.
2. التحديد: كل مدخل يعطينا مخرج متوقع.
3. النهاية: لا تستمر إلى ما لا نهاية، بل تنتهي بعد عدد خطوات محدود.
4. الكفاءة: تستهلك أقل وقت وموارد ممكنة.
5. العمومية: قابلة للتطبيق على أكثر من مثال ضمن نفس الفئة من المشاكل.
---

📝 أمثلة بسيطة:

خوارزمية إيجاد العدد الأكبر بين رقمين:
1. اقرأ الرقمين (A, B).
2. إذا كان A > B → اطبع A.
3. وإلا → اطبع B.

خوارزمية ترتيب قائمة أعداد تصاعديًا (Sorting):
تُسمى "خوارزميات الفرز" (مثل: Bubble Sort, Merge Sort, Quick Sort).
---

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

هي العمود الفقري لأي لغة برمجة… الكود مجرد أداة لتنفيذها.

---

📌 تذكّر: تعلم الخوارزميات مش بس لحل مسائل برمجية، بل لتعلم كيف تفكر كمبرمج.


---
#برمجة #خوارزميات #تعلم_البرمجة #Algorithms
👍1
🤖 ‏من أفضل مواقع الذكاء الاصطناعي التي حازت على إهتمام كبير خلال 2024 :

1. موقع ChatGpt
ـ دردشة ذكية👇
ـ
chat.openai.com

2. موقع Midjourney
ـ توليد الصور 👇
ـ
midjourney.com

3. موقع Playground AI
ـ كتابة المحتوى👇
ـ
playgroundai.com

4. موقع synthesia
ـ توليد الفيديوهات👇
ـ
synthesia.io

5. موقع Unscreen
ـ إزالة الخلفية👇
ـ
unscreen.com

6. موقع symbolob
ـ حل مسائل رياضيات👇
ـ
symbolab.com

7. موقع imgupscaler
ـ تحسين الصور👇
ـ
imgupscaler.com


8. موقع TensorFlow
ـ منصة تعليم مفتوحة👇
ـ
tensorflow.org


https://t.me/CodeJourney_dev

ساهموا في نشر الفائدة للجميع ♡
👍2
< من افضل المواقع لتعليم الكتابة السريعة على لوحة المفاتيح />

https://www.typingclub.com/

https://t.me/CodeJourney_dev
👍3
🔹 برمج نفسك 🔹

البرمجة مش بس كتابة أكواد! 💻
هي طريقة تفكير، تنظم بها خطواتك وتبسط المشكلات الكبيرة لمشاكل صغيرة يسهل حلّها.

📌 مثال بسيط:
لو تبرمج يومك كـ "خوارزمية" 👇
1️⃣ استيقاظ 🛏
2️⃣ شرب ماء 💧
3️⃣ مراجعة هدف اليوم 🎯
4️⃣ تنفيذ مهامك خطوة بخطوة

مثل الكود تمامًا، كل خطوة تؤدي للخطوة التالية بشكل مرتب.

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

#برمج_نفسك #خوارزميات #برمجة
👍1
فكرة تقنية اليوم

البرمجة مثل صندوق الأدوات 🧰، وكل لغة برمجة هي أداة لها استخدام معيّن:

Python 🐍: بسيطة وسهلة للتعلّم، قوية في الذكاء الاصطناعي.

C++ ⚙️: سريعة جدًا ومناسبة للألعاب والبرامج الثقيلة.

Java : منتشرة في التطبيقات والأنظمة الكبيرة.


📌 السر ليس أنك تتعلم كل الأدوات مرة وحدة، السر أنك تبدأ بأداة وحدة وتتقنها… وبعدها باقي الأدوات بتصير أسهل.

تذكير اليوم: لا تشتت نفسك، برمج نفسك تبدأ بخطوة صغيرة، لكن ثابتة.

#برمجة #تعلم_البرمجة #برمج_نفسك
👍1
أساسيات C++ – بنية الكود الرئيسية

أي برنامج C++ بسيط يتكون من 3 أجزاء رئيسية:

1️⃣ مكتبات الإدخال والإخراج:

#include <iostream>


👉 تعني أننا نستخدم مكتبة لإدخال وإخراج البيانات (مثل cout للطباعة).

2️⃣ الدالة الرئيسية (main):

int main() {

// الأوامر هنا
return 0;
}


👉 أي برنامج لازم يبدأ من هذه الدالة، وهي نقطة
البداية للتنفيذ.

3️⃣ الأوامر البرمجية:
نكتبها داخل { } الخاصة بـ main.

📌 مثال كامل:

#include <iostream>
using namespace std;

int main() {
cout << "Hello, World!" << endl;
return 0;
}

🧩 النتيجة: «المخرجات »

Hello, World!

الفكرة: هذا أبسط برنامج في C++ ويُسمى غالبًا Hello World، نستخدمه للتأكد أن البيئة شغالة والكود يُنفذ بشكل صحيح.

#Cplusplus #برمج_نفسك #كود_اليوم
1
️ أساسيات C++ – المتغيرات (Variables) ⚡️

المتغير في البرمجة هو صندوق في الذاكرة نخزن فيه بيانات مختلفة (أعداد، نصوص، منطق...). في C++ كل متغير له:

نوع بيانات (Data type) يحدد شكل وقيمة ما يُخزن.
اسم (Name) نستخدمه للوصول إلى القيمة.
نطاق (Scope) يحدد أين يمكن استخدامه.
مدة حياة (Lifetime) تحدد متى ينشأ ومتى يُحذف.
---

🔹 1. أنواع البيانات الأساسية

int → أعداد صحيحة مثل: -3, 0, 42

float, double → أعداد عشرية مثل: 3.14

char → حرف مفرد مثل: 'A'

bool → منطقي: true أو false

string → نصوص مثل: "Hello"

أنواع أخرى: short, long, unsigned, enum …



---

🔹 2. إعلان وتهيئة المتغيرات

int a; // إعلان فقط (قد يحتوي على قيمة عشوائية)
int b = 5; // إعلان + تهيئة
int c{10}; // تهيئة بأسلوب آمن (يفضّل)

💡 نصيحة: دائمًا هيّئ المتغير عند الإعلان حتى تتجنب القيم غير المعرّفة.


---

🔹 3. حجم المتغيرات (sizeof)

#include <iostream>
using namespace std;
int main() {
cout << "sizeof(int) = " << sizeof(int) << endl;
cout << "sizeof(double) = " << sizeof(double) << endl;
}

📌 الأحجام تختلف حسب النظام والمعالج.


---

🔹 4. المؤهلات (Qualifiers)

const → قيمة ثابتة لا تتغير:

const int MAX = 100;

constexpr → ثابت يُحسب وقت الترجمة:

constexpr double PI = 3.14159;

unsigned → أعداد موجبة فقط.

static → يحافظ على القيمة بين الاستدعاءات.



---

🔹 5. النطاق ومدة الحياة

محلي (local): داخل دالة/بلوك.

عالمي (global): خارج كل الدوال.

static داخل دالة: يتذكر القيمة حتى بعد خروجك من الدالة.


مثال:

void counter() {
static int c = 0;
c++;
cout << c << endl;
}


---

🔹 6. auto – استنتاج النوع

auto x = 3; // int
auto y = 3.14; // double
auto name = "Ali"; // const char*

💡 مفيد مع الأنواع الطويلة والمعقدة، لكن لا تفرط فيه.


---

🔹 7. التحويل بين الأنواع

تحويل ضمني:

int i = 3.14; // تتحول إلى 3

تحويل صريح:

int i = static_cast<int>(3.14); // 3



---

🔹 8. المؤشرات والمراجع

مرجع (Reference): اسم آخر لمتغير موجود.

int x = 10;
int &r = x;

مؤشر (Pointer): يخزن عنوان متغير.

int *p = &x;
ط
---

🔹 9. النصوص

char name[] = "Ali"; → أسلوب C قديم.

string name = "Ali"; → الأسلوب الحديث المفضل.

---

🔹 10. التعداد (Enum)

enum class Color { Red, Green, Blue };
Color c = Color::Red;

💡 يفضل استخدام enum class لأنه أكثر أمانًا.


---

🔹 11. أمثلة عملية


#include <iostream>
#include <string>
using namespace std;

int main() {
int age = 20;
double pi = 3.14;
char grade = 'A';
string name = "AbuFida";
bool isStudent = true;

cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
cout << "Grade: " << grade << endl;
cout << "PI: " << pi << endl;
cout << "Student: " << isStudent << endl;
}

🧩 النتيجة:

Name: AbuFida
Age: 20
Grade: A
PI: 3.14
Student: 1

📌 في حالة bool → true تطبع 1 و false تطبع 0.
---

🔹 12. أخطاء شائعة

إعلان متغير دون تهيئة → قيمة عشوائية.
استخدام unsigned بدون فهم قد يسبب نتائج غريبة.
نسيان delete بعد new → تسريب ذاكرة.
--
أفضل الممارسات
هيّئ المتغير دائمًا عند الإعلان.
استخدم const و constexpr كلما أمكن.
استعمل auto عند الضرورة لتحسين الوضوح.
فضّل string على char[].
استخدم المراجع بدل المؤشرات إلا عند الحاجة.
---

الخلاصة:
المتغيرات في C++ ليست مجرد تخزين قيم، بل أساس لفهم الذاكرة، النطاق، والتحكم في البيانات. كلما أتقنتها أكثر، صارت برامجك أدق وأقوى.
---
#Cplusplus #كود_اليوم #تعليم_برمجة #برمج_نفسك
1
⚠️ مشاكل شائعة في كود C++ وكيفية التعامل معها ⚠️

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

---

1️⃣ القيم غير المهيأة (Uninitialized Variables)
المشكلة: عند إعلان متغير دون إعطاءه قيمة، سيحمل قيمة عشوائية في الذاكرة.
مثال:


int x;
cout << x; // قيمة غير محددة

الحل: دائمًا هيئ المتغير عند الإعلان:


int x = 0;


---

2️⃣ تجاوز السعة (Overflow / Underflow)
المشكلة: عند تخزين قيمة أكبر من قدرة المتغير (مثلاً int صغير) يحدث overflow، أو قيمة أقل من الصفر مع unsigned.

مثال:

unsigned int u = 0;
u--; // يصبح أكبر عدد ممكن بدلاً من -1

الحل: استخدم نوع أكبر إذا لزم (long long) أو تحقق من القيم قبل العمليات.

---

3️⃣ استخدام المؤشرات غير الصالحة (Dangling / Null Pointers)

المشكلة: المؤشر يشير إلى عنوان غير موجود أو تم حذفه → يؤدي لكراش للبرنامج.

مثال:

int* p = nullptr;
cout << *p; // خطأ

الحل: دائماً تحقق أن المؤشر ليس nullptr قبل الاستخدام، واستخدم smart pointers كلما أمكن:

#include <memory>
auto ptr = std::make_unique<int>(5);


---

4️⃣ مشاكل النطاق (Scope)

المشكلة: محاولة الوصول لمتغير خارج نطاقه → خطأ تجميعي (compile-time error).

مثال:

int main() {
int x = 5;
}
cout << x; // خط
أ

الحل: ضع المتغير ضمن النطاق المطلوب أو اجعله عالميًا إذا لزم.

---

5️⃣ أخطاء التحويل بين الأنواع (Type Casting)
المشكلة: تحويل ضمني يمكن أن يقطع القيم أو يغيرها.
مثال:

int i = 3.9; // يتحول إلى 3 بدون تحذير

الحل: استخدم تحويل صريح:

nt i = static_cast<int>(3.9); // 3


---

6️⃣ نسيان المكتبات أو using namespace std

المشكلة: استخدام cout أو string بدون تضمين المكتبة → compile error.

cout << "Hello"; // خطأ
الحل:

#include <iostream>
#include <string>
using namespace std;
---
7️⃣ الأخطاء المنطقية (Logical Errors)
المشكلة: الكود يعمل بدون أخطاء تجميع، لكن النتيجة خاطئة.

مثال:

int sum = 0;
for(int i=1; i<=10; i++)
sum = i; // كان القصد sum += i
الحل: تحقق من المنطق بعناية، استخدم الطباعة الوسيطة (cout) لتصحيح القيم أثناء التنفيذ.

---

8️⃣ الأخطاء المتعلقة بالذاكرة (Memory Leaks)
المشكلة: عند استخدام new بدون delete → الذاكرة لا تُحرر.
الحل: استخدم smart pointers:
auto p = std::make_unique<int>(10); // يتحرر تلقائيًا

---

9️⃣ مشاكل النصوص والسلاسل (String / Char)

المشكلة: التعامل مع مصفوفة char كبيرة أو تعديل string بطريقة خاطئة → كراش.

الحل: استخدم std::string دائمًا، واحذر من تجاوز الحدود.
---

10️⃣ الأخطاء الناتجة عن العمليات على bool

المشكلة: القيم true/false تتحول إلى أعداد 1/0 عند الطباعة أو الحساب → نتائج مفاجئة.

الحل: افهم التحويل بين bool وأنواع أخرى، أو استخدم المقارنات المنطقية مباشرة.

---
نصائح عملية لتجنب معظم المشاكل

1. هيئ كل متغير عند الإعلان.
2. استخدم أنواع مناسبة لحجم البيانات.
3. استعمل المراجع بدل المؤشرات متى أمكن.
4. تحقق دائمًا من المؤشرات قبل الاستخدام.
5. استعمل smart pointers لتجنب تسريبات الذاكرة.
6. تحقق من المنطق قبل تنفيذ البرنامج.
7. استخدم الطباعة الوسيطة (cout) لتصحيح الأخطاء.
8. اتبع نمط تسمية واضح للمتغيرات والدوال لتقليل الالتباس.

---
الخلاصة:
المشاكل في C++ كثيرة ومتنوعة: من أخطاء بسيطة في المتغيرات إلى أخطاء في إدارة الذاكرة والمنطق. تعلم كيفية التعرف على المشكلة وحلها بسرعة هو ما يجعل منك مبرمجًا محترفًا.


---
#Cplusplus#CPlusPlus #CPP #Programming #LearnToCode #Coding #CodeDaily #Developer