لما تتعلم برمجة بيقولون لك استعمل vscode، ولا شك أنه ممتاز
بس أنه أحد أسوء القرارات للرامات لأنك بتودع نص رام زي السلام عليكم كبداية
مع هذا يمديك تحل المشكلة بطريقة سهلة
وهي أنك تحمل VIM والإضافات اللي تحتاجها لأكثر فعالية ممكنة بشغلك
واللي كلها على بعضها ما راح توصل جيجا
بس بتواجهك مشكلة
وهي تعلم اختصارات VIM اللي بتكون بعد كذا أسرع شي تسويه بالعالم
5 أمور ما قد سمعتها عن استخدام الذكاء الاصطناعي:
1- هو أداة أنت توظفها، لو بحلال صارت حلال، لو بحرام صارت حرام
2- مستحيل يبدلك الذكاء الاصطناعي إلا لو كانت فايدتك ومهاراتك متدنية، خايف منه؟ تعلم شي صعب أو فن بشري
3- سرعة تطور الذكاء الاصطناعي أسرع مما تتوقع، بس فيه أشياء مستحيل يبدل��ا
4- الاعتماد على الذكاء الاصطناعي = سرعة مقابل مخك
5- قلل من مساعدي الذكاء الاصطناعي قبل تدخل الجامعة، وبالجامعة لا تستخدمه قد ما تقدر ولو شرح
لو ما تتفق أتمنى تقولنا ليش بالكومنتات، ولو تتفق ما يضرك لايك
مالك داعي تجي وملفك كله دورات مدفوعة وبالأخير خويك اللي متعلم من منصة سطر مجانا أحسن منك
خلني بقولك وشلون تنلعب الشغلة:
1- الشركات تبي واحد يعرف يسوي الشغل، مب معه ستين شهادة على غير سنع
2- خلك قعيطي، إذا نفس العلم موجود مجانا ��يش تدفع عشانه؟
3- لا تكمل بأي دورة، فيد، كتاب، بدون ما تطبق الجزئية السابقة وبطرق معقدة
يعني تتعلم c على مدى سنة وتتقنها، ولا تتعلمها وتطلع منها بشرط ولوب بدون ما توظفهن
لا تعتقد لأنك سعودي أن صندوق الاستثمارات العامة ما راح يستثمر فيك
لا تعتقد لأنك سعودي ما تقدر تسوي اللي يسويه أمريكي أو اثنين
لا تعتقد لأنك سعودي أنك أقل من غيرك بالعلم الدنيوي
ولا تعتقد لأنك سعودي أنك ما تحتاج تشتغل بقوة
بعطيك مهارة بتفيدك طول حياتك مقابل دقيقة وحدة
أهم أوامر MySQL اللي لازم تحفظها وتكون هي أساسك:
1. أوامر قواعد البيانات (Databases):
CREATE DATABASE dbname; -- إنشاء قاعدة بيانات
SHOW DATABASES; -- عرض جميع قواعد البيانات
USE dbname; -- اختيار قاعدة بيانات للعمل عليها
DROP DATABASE dbname; -- حذف قاعدة بيانات
2. أوامر الجداول (Tables):
CREATE TABLE users ( -- إنشاء جدول
id INT AUTO_INCREMENT PRIMARY KEY, – اسم العمود، ثم نوعه، ثم زيادة تلقائية لأنه ع��د ويصنف كمفتاح أساسي للجدول
name VARCHAR(50), – اسم العمو، نوعه (عدد الحروف فيه)، فاصله قبل العمود اللي بعده
email VARCHAR(100)
);
SHOW TABLES; -- عرض كل الجداول
DESCRIBE users; -- عرض تفاصيل جدول (الأعمدة + أنواعها) مفيدة صدقني
DROP TABLE users; -- حذف جدول
ALTER TABLE users ADD age INT; -- إضافة عمود
ALTER TABLE users DROP COLUMN age; -- حذف عمود
3. أوامر الإدخال (Insert):
INSERT INTO users (name, email)
VALUES ('Ali', '[email protected]'); -- إضافة صف جديد
4. أوامر الاستعلام (Select):
SELECT * FROM users; -- عرض كل البيانات
SELECT name, email FROM users; -- عرض أعمدة محددة
SELECT * FROM users WHERE id = 1; -- شرط
SELECT * FROM users ORDER BY name; -- ترتيب
SELECT * FROM users LIMIT 5; -- تحديد عدد النتائج
5. أوامر التعديل (Update):
UPDATE users
SET email = '[email protected]'
WHERE id = 1; -- تعديل قيمة
6. أوامر الحذف (Delete):
DELETE FROM users WHERE id = 1; -- حذف سجل محدد
DELETE FROM users; -- حذف كل البيانات بالجدول (مع بقاء الجدول) غريبة صح؟
7. أوامر المفاتيح والربط (Keys & Joins):
(Foreign Key) – مفتاح ثانوي / خارجي
CREATE TABLE orders (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
FOREIGN KEY (user_id) REFERENCES users(id)
);
Join – بين جدولين
SELECT https://t.co/uf9zkUc0Dw, https://t.co/qMOq5t4EG6
FROM users
JOIN orders ON https://t.co/8S2zKw6Jnx = orders.user_id;
8. أوامر متقدمة مختصرة:
CREATE INDEX idx_name ON users(name); -- إنشاء فهرس
DROP INDEX idx_name ON users; -- حذف فهرس
GRANT ALL PRIVILEGES ON dbname.* TO 'user'@'localhost'; -- إعطاء صلاحيات
البرمجة مب بس عملية منطقية بحتة
تبي تخالفني بكيفك، بس خلني أقولك ليش كلامي صح
البرمجة = ا��رسم
الرسم: تبدا بورقة بيضاء وتستخدم أدوات (قلم، فرشاة، ألوان) عشان تعبر عن فكرة
البرمجة: تبدأ بملف فاضي وتستخدم أدوات (لغة برمجة، محرر، مكتبات) عشان تبني فكرة (برنامج/موقع/نظام)
1. الأدوات الأساسية (مثل أدوات الرسم):
•الخطوط الأولى = المتغيرات:
مثل لما ترسم خطوط إرشادية للوجه هيكل أساسي
في البرمجة المتغير يخزن قيمة
•الفرشاة = الدوال (Functions):
في الرسم الفرشاة ترسم تفاصيل مختلفة (خط عريض، تظليل)
في البرمجة الدالة تعطيك أداة تعيد استخدامها في أي وقت
•الألوان = أنواع البيانات:
كل لون يعطي إحساس مختلف
كل نوع بيانات (نص، رقم، منطق) له دور مختلف بالبرنامج
2. الأساسيات (تعلم خطوط الرسم):
•Sketch = تعلم أساسيات اللغة:
كيف تكتب جملة، كيف تخزن معلومة، كيف تطبع نتيجة
مثل رسم دوائر وخطوط قبل تدخل في تفاصيل الوجه
•Practice = التكرار:
الرسام يكرر يرسم العين 100 مرة لين يتقنها
المبرمج يكتب شروط (if) وحلقات (loops) مية مرة لين تصير بديهية
3. التكوين (Composition):
•في الرسم تختار: وين تحط العناصر؟ كيف توزن الصورة؟
•في البرمجة: كيف تبني هيكل البرنامج؟ كيف تقسم الكود إلى أجزاء منطقية؟
4. التظليل والتفاصيل:
•الرسام يحط الضوء والظل عشان يعطي عمق
•المبرمج يحط شروط (if) وحلقات (loops) عشان يعطي مرونة وتكرار
5. الأسلوب الشخصي:
•في الرسم كل فنان له لمسة (واقعي، تجريدي، كرتوني)
•في البرمجة كل مبرمج له أسلوب (منظم بالتعليقات، سريع بالكود القصير، أو يحب الأنماط المعمارية الكبيرة)
6. التدرج في التعلم (مراحل مثل مراحل الرسام):
1نسخ رسومات موجودة = نسخ أكواد من الإنترنت
2تقليد أسلوب = مشاريع صغيرة بنفس اللغة
3رسم من الخيال = بناء مشروع من الصفر
4المعارض = GitHub / مشاركة
7. الأخطاء (مثل اللطخات في الرسم):
•الرسام يغلط بخط أو يلطخ اللون = يتعلم يصححه
•المبرمج يواجه أخطاء (bugs) = يتعلم يستخدم Debugger ويشخص المشكلة
كل خطأ = جزء من عملية الإبداع، مو فشل
8. الصبر والوقت:
•الرسام يحتاج ساعات عشان اللوحة تبان جميلة
•المبرمج يحتاج ساعات عشان كود يشتغل مضبوط
وبكذا البرمجة != عملية منطقية بحتة
تخيل سيناريو مهم بعد عشرين سنة، فيه موت وحياة، وبالأخير تلاقي عيالك يسألون الذكاء الاصطناعي وش يسوون ويتبعون كلامه بحذافيره
لذلك تعلم من الحين وشلون ومتى تستعمل الذكاء الاصطناعي
وما عليك، حنا نقدر نعلمك بتغريداتنا
قبل يكون فيه ChatGPT كان فيه مجتمع مساعدات وشماتة بنفس الوقت
إذا ما تعرفه اسمه Stack overflow
للحين موجود، بس بقولك وشلون تتجنب الشماتة إذا بتستخدمه لأنك بتترك البرمجة بعدها
5 خطوات لتجنب شماتة مبرمجي Stack Overflow:
1. ابحث قبل تسأل، لو جواب سؤالك بسيط وتلاقيه بجوجل لا تطريه هناك نصيحة 🙂
2. وضح المشكلة زين
•لا تكتب "الكود ما يشتغل ساعدوني"
•اشرح: وش تبغى تسوي، إيش النتيجة المتوقعة، وإيش اللي يطلع فعليًا، وممكن وش جربت بعد
3. اعرض كود قصير وقابل للتشغيل (Minimal Reproducible Example)
•لا ترمي المشروع كامل
•قص الكود لأصغر مثال يوضح الخطأ، هنا بتصير محترم جدًّا
4. انتبه للأسلوب
•لا تطلب "أبغى الحل بسرعة"
•استخدم أسلوب مؤدب (مثل ما تعودنا منك 😌) + واضح ("جربت كذا وكذا لكن واجهت المشكلة")
5. تابع وتفاعل
•لو جاك جواب، جرّبه وارجع برد
•عطِ تقييم إيجابي (upvote) واشكر الشخص
الخلاصة: أهم شيء تبيّن إنك حاولت بنفسك وتعرض المشكلة بشكل احترافي، وقتها حتى الشماتين من المبرمجين راح يجاوبونك باحترام (إن شاء الله يعني)
للي يخاف من الذكاء الاصطناعي أنه ياكله
هذي 20 شغلة ما يقدر يبدلها الذكاء الاصطناعي:
1. الجراحين:
تخيل ذكاء اصطناعي علق عليه السيرفر وش بيسوي
2. المعلمين (خصوصًا الأطفال):
التفاعل العاطفي والطرق التعليمية اللي جربها جيل التسعينات مستحيل تنقله آلة
3. الأطباء النفسيين:
لو بيواسيك بيقولك ليش ما تجرب خوارزمية التعلم الجديدة
4. الممرضين:
ما أتوقع أحد وده ياخذ إبره من ذكاء اصطناعي
5. رعاية كبار السن:
عشان ما يصير زي ديترويت
6. رجال الإطفاء:
تخيل يشيلك من النار وهو حديد وبالأخير بسببه تجيك حروق
7. الشرطة (الميدانية):
التعامل مع مواقف غير متوقعة يحتاج حكم بشري (ما فيه AI بيمشيك)
8. القضاة:
قانوننا مبني على ديننا، والذكاء الاصطناعي يكيس آيات أحيانا
9. المحامين (المرافعة):
ماذا ده��ك أيها القاضي، ألا ترى أن الحكم لصالحه حسب ما تعلمت
10. الرياضيين:
ما ودي يبدلون الغنام بروبوت ولا بيصير الوضع مثل real steel
11. الفنانين التشكيليين:
الإبداع الحقيقي يجي تجرب�� شخصية
12. الموسيقيين:
مع أن الموسيقى شي غير جيد ما ودي أسمعها من ذكاء اصطناعي ولو بالغلط
13. الممثلين المسرحيين:
عادل إمام يكفينا
14. الطباخين (المطاعم الفاخرة):
لأن كفتيرية الحارة ما تسوي لك حركات بالصحن
15. المزارعين التقليديين:
الخبرة بالأرض والطقس لها عنصر غريزي، واسأل القصمان والحساوية
16. النجارين والحرفيين:
العمل اليدوي الفني صعب يتكرر آليًا بنفس الروح (شاعري بزيادة أدري)
17. المرشدين السياحيين:
بتصير زي حصص الابتدائي
18. القادة (السياسيين/الاجتماعيين):
محد يبدل سيدي الملك سلمان، وولي عهده الأمير محمد بن سلمان
19. الأئمة والوعاظ:
هذي بس غلط، من كثر ما هي غلط ما تنفع
20. الآباء والأمهات
الذكاء الاصطناعي ما راح يرجع من صلاة الفجر ويلزخك لأنك نايم
وبكذا 20 شغلة مستحيل تتغير (إن شاء الله)
كيف تختار المحرر المناسب لك بخمس خطوات
1. حدد لغات البرمجة اللي تشتغل عليها:
•بعض المحررات تدعم لغات معينة بشكل أفضل
•مثلا: Code::Blocks ممتاز لـ C/C++، بس PyCharm مصمم خصيصًا للـ Python
2. قيّم مستوى خبرتك:
•مبتدئ = غالبا تحتاج واجهة سهلة (VS Code, Code::Blocks)
•متوسط / محترف = ممكن تستفيد من محررات خفيفة وقابلة للتخصيص (Vim, Emacs, Sublime)
3. فكر بالبيئة اللي تشتغل فيها:
•لو على سيرفرات أو نظام بدون واجهة رسومية = الأفضل محرر طرفية مثل Vim
��لو على جهازك الشخصي مع واجهة رسومية = VS Code أو IDE كامل بيكون أنسب
4. قارن بين الأداء والميزات:
•محررات خفيفة (مثل: Vim, Sublime) تفتح بسرعة وتستهلك موارد أقل
•محررات (مثل: IntelliJ, Visual Studio, PyCharm) ثقيلة بس مليانة ميزات جاهزة (Debugging، إدارة مشاريع، إلخ)
5. جرّب بنفسك واختر اللي يناسبك:
•ما فيه محرر "أفضل للجميع"
•جرّب أكثر من واحد أسبوع أو أسبوعين، وشوف إنتاجيتك مع كل واحد
الخلاصة: المحرر المناسب = اللي يرفع إنتاجيتك + يدعم لغتك + يناسب بيئتك
عشان توفر لأهلك ساعات أكثر بالشهر تعلم هذي ال 15 اختصار لـ VS code:
1. Ctrl + P (أو Cmd + P بماك):
تفتح أي ملف لما تكتب كتابة اسمه
2. Ctrl + Shift + P:
تفتح Command Palette لأي أمر
3. Ctrl + D:
تحديد تكرارات الكلمة وتعديلها مرة وحدة
4. Alt + Shift + سهم فوق / تحت:
نسخ السطر فوق أو تحت
5. Ctrl + /:
تعليق أو ��لغاء تعليق السطر
6. Ctrl + B:
يظهر / يخفي الشريط الجانبي
7. Ctrl + Shift + K:
يحذف السطر الحالي كاملًا
8. Ctrl + L:
يحدد السطر كامل بضغطة وحدة
9. Ctrl + Space:
يطلع الـ IntelliSense (اقتراحات الكود)
10. Ctrl + Shift + O:
التنقل بين الـ functions والـ classes داخل الملف
11. F12 :
يوديك لتعريف المتغير أو الدالة (Go to Definition)
12. Alt + Click :
يضيف أكثر من مؤشر كتابة بمناطق مختلفة، رهيب للتعديل المتوازي
13. Ctrl + Shift + [ / Ctrl + Shift + ] :
طيّ وفتح الكتل البرمجية (عجزت أشرحها بلهجتنا 😅) (Collapse/Expand)
14. Ctrl + Tab :
ينقلك بسرعة بين الملفات المفتوحة مثل Alt+Tab للنوافذ
15. Ctrl + Shift + T :
يفتح آخر ملف صكيته بالغلط، منقذ عظيم
وبالأخير ترا VS code ياكل الرامات، فإذا قررت تتعلم هذي الاختصارات تعلم على VIM أحسن، شرحناه بهذي التغريدة
عشان تصير محترف VIM:
الأساسيات (لازم تحفظها مثل اسمك):
•الحركة:
◦h = يسار
◦l = يمين
◦j = تحت
◦k = فوق
•الأوامر الأساسية:
◦i = دخول وضع الإدخال (insert)
◦Esc = رجوع للوضع العادي (normal)
◦:w = حفظ
◦:q = خروج
◦:wq = حفظ وخروج
2. التحرير بسرعة:
•dd = حذف سطر كامل
•yy = نسخ سطر
•p = لصق بعد المؤشر
•u = تراجع
•Ctrl + r = إعادة
3. الحركات المتقدمة:
•w = كلمة قدام
•b = كلمة وراء
•0 = بداية السطر
•$ = نهاية السطر
•gg = أول الملف
•G = آخر الملف
4. التحرير بالجمع بين الأوامر:
Vim يعتمد على الفكرة: (أمر) + (حركة)
•d + w = حذف كلمة
•y + $ = نسخ لآخر السطر
•c + w = تعديل كلمة
5. البحث والاستبدال:
•/كلمة = بحث للأمام
•?كلمة = بحث للخلف
•:%s/old/new/g = استبدال الكل
6. تخصيص وتجهيز بيئتك:
•ملف الإعدادات: ~/.vimrc
مثال: set number " عرض أرقام الأسطر
set relativenumber " أرقام نسبية
set tabstop=4 " حجم التاب
set expandtab " يحول التاب لمسافات
syntax on " تفعيل الألوان
7. المستويات الأعلى (عشان تصير محترف صح):
•تعلم macros:
◦q + حرف = تسجيل ماكرو
◦q = إيقاف
◦@حرف = تشغيل الماكرو
•استغلال البحث السريع مع * و # للتنقل بين الكلمات المتكررة.
•استخدام splits:
◦:vsp ملف = فتح الملف في نافذة جانبية
◦:sp ملف = فتح الملف في نافذة أفقية
8. الإضافات (Plugins):
•استخدم vim-plug لإدارة الإضافات
•أهم الإضافات:
◦nerdtree = لتصفح الملفات
◦fzf = بحث سريع
◦vim-airline = شريط حالة جميل
◦coc.nvim = إكمال ذكي (مثل VSCode)
عشان تشارك بأحداث مهمة تحتاج 3 أشياء
مهارة، وتواجد، وتواصل
بدون المهارة ما راح تفيد أحد بشي
بدون التواجد ما راح تنعرف
وبدون التواصل ما راح يتذكرونك الناس