كيف تصبح مبرمج قوى ومحترف

Programming Languages

 

Hello Every Body, and welcome to you in my simple blog in this article I will talk about the BEST thing in the world, in this article I will talk about     !PROGRAMMING

 

 (: Aren't important words, they are just for crawling ,So Don't Care

====================================================

كيف تصبح مبرمج محترف

كيف تصبح مبرمج محترف في وقت قصير

كيف تصبح مبرمج مواقع

كيف تصبح مبرمج تطبيقات

كيف تصبح مبرمج ناجح

كيف تصبح مبرمجا محترفا

كيف تصبح مبرمج ألعاب

مبرمج كمبيوتر

====================================================

دعونا من الفلسفة قليلاً وهي بنا نتحدث باللغة العربية ^_^

أهلاً زواري ومرحباً بكم فى مدونتى المتواضعة, اليوم سنتحدث عن البرمجة استكمالاً لدروس الاختراق أو ال Penetration Testing او ال Pentesting التى ذكرناها سابقاً , 

حسناً فلندخل بصُلب الموضوع :)

سنتكلم فى هذه المقالة عن الآتي:-

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


أولاً

ما هي البرمجة ؟

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

 
ولكن سنتحدث عنهم في حياتنا اليومية وفى هذا المقال على أنهم شيئاً واحداً -اختصاراً وعدم تضيعة وقت- 

ولكننا نعلم جيداً ما الفرق بينهم ولا يجب أن ننسي حتي يحفذنا هذا على الومواصلة فى تعلم البرمجةوحل المشكلات والتعقيدات الرياضية وكل شئ يُمكن حلّه بلغات البرمجة يمكنك حلّه بالطبع!


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

حسناً الآن عرفنا ما هي البرمجة و هيا بنا لنعرف

ما هي لغات البرمجة ؟

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

حسناً, لماذا وُجِدَت لغات البرمجة ؟

لكي تتعامل وتتفاهم مع اﻵلة يجب عليك معرفة لغتها أي لغة اﻵلة ولكي تعرف لغة اﻵلة وتفهمها وتتفنها ستظل طول عمرك لن تري أو تفهم سوي رقمين هما 0 و 1 وبالطبع لن تفهم معني سوي true و false أَي صح أو خطأ أو قم بعمل و لا تقُم بعمل شيئٍ ما , فلهذا وُجدِت لغات البرمجة وهي الوسيلة للتواصل مع اﻵلة وليس فقط الكمبيوتر, فيمكنك تصميم روبوت بها والتحدث إليه والتعامل معه أيضاً ولكن لتفعل ذلك يجب عليك دراسة الروبوتِكس - Robotics الروبوتيات أو الإنساليات

وهو علم خاص بالروبوتات واﻷتمَتة أَي عمل Automation لأي شئ نريد عمل له ذلك.

سأعطي مثالاً بسيطاً, إذا انت شخصٌ عربيٌ وتريد التحدث والعياذ بالله مع شخصٍ إسرائيلي, وهذا الإسرائيلي السارق المتخلّف لا يعلم سوي اللغة العِبرية وهي لغته الأم وأنت لا تعلم سوي اللغة العربية لغة نبينا وحبيبنا محمد عليه أفضل الصلاة وأتم التسليم , فما الحل حتي تتواصلوا ؟

نعم, بالطبع يجب وجود مترجم بالوسيط, قِس علي ذلك البرمجة والآلة فهما بالطبع ينطبق عليهم نفس المثال إنما ليس لدرجة أن جهازي إسرائيلياً, لأنه لو كان كذلك لكنتَ شقنته وعدمته بالرصاص ذبحاً وشنقته ضرباً ثُم سجنته بعد ذلك ( الرأفة بالحيوان إخوانى ^_^ ) نرجع لموضوعنا :)

لغات البرمجة بكل بساطة هي عبارة عن أداه تستخدمها لتطبيق الفِكر والتخطيط الذي قمت به فمعني ذلك أنك أولاص وقبل أي شئ وقبل كتابة أي كود برمجي, يجب عليك أن تفكر بالمنطق وبالعقل جيداً ثم بعد أن ذلك وبعد أن عرفت ما هي الطريقة التي ستنفذها أو تقوم بها , تبدأ فى كتابة الكود البرمجي أو ال source code الخاص بالscript المُودُّ كتابتَه

سأخبرك مقولة باﻹنجليزية تذكّرتها حالياً 


!Think Twice And Code Once


Progarmming Code
 

ثانياً:

كيف تتقن البرمجة وتصبح محترفاً وتربح منها مالاً ؟

حسناً, كي تتعلم البرمجة وتتقنها جيداً يجب عليك تحديد هدفك المراد الوصول إليه وتسأل نفسك كي تعلم ذلك جيداً , يعني علي سبيل المثال لا الحصر , لماذا تريد أن تتعلم البرمجة؟

ماذا تريد الوصول إليه بعد ذلك ؟

ما هي اللغة المفضّله والمحبوبة عند الجميع ؟

وقِس على ذلك

ثُم بعد ذلك يمكنك البدأ بتعلّم وإتقان لغات البرمجة , ولكن قبل ذلك يجب أن تعلم جيداً كيف تخطط وكيف تفكر وكيف تنمي من قدراتك فى تحليل المشكلات والتعقيدات, لماذا يا تري ؟ 

لأن بكل بساطة هه هي البرمجة ولا غني عنها حين استخدامك لأي لغة من لغات الرمجة والتى يفوق عددها 300 لغة واستخدام !

حسناً اﻵن عرفنا كيف نفكر وننمِّي عقولَنا , اﻵن لنعرف

من أين أبدأ التعلّم ؟

حسناً عزيزي القارئ, سأخبرك من أين تبدأ تعلم البرمجة وما المصادر الجيدة والمتخصصة فى ذلك المجال :)

مصادر تعلم البرمجة

موقع geeksforgeeks

موقع coursera

موفع Udemy

موقع Github (هذا مُخصص للأكواد البرمجية)

موقع codeacademy

موقع edx

موقع codeavengers

موقع free code camp

موقع free food camp

موقع w3schools

 

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

وإذا واجهك أي مشكلة يمكنك البحث عنها بجوجل ستجد الحل بنسبة 90% بهذا الموقع stackoverflow

هو موقع يُنشر عليه أسئلة ويوجد مبرمجين تو مختبرين اختراق يقومون بالرد علي هذه اﻷسئلة بالتفصيل الممل وإرفاق اكثر من مصدر لرجوع إليه


الآن سأذكر لكم ما هي أهم القنوات التعليمية على اليوتيوب لتعلّم البرمجة

أهم قنوات اليوتيوب لتعليم البرمجة

 

ملحوظة: </ الترتيب في الذِكر لا يعني اﻷهمية أو الترتيب في المَنفعة >

يمكنك أن تتقن لغات برمجة , فلنقُل 3 لغات يكفي جداً , ثم بعد ذلك يمكنك الانتقال إلى العمل كفريلانسر - freelancer أو تعمل كمبرمج مستقل فى أشهر المواقع المختصة بذلك من أشهرها مستقل و فريلاسنر وفكرتها هي أنه يوجد أُناسٌ يعرضون الوظائف ( مشاكلهم أو متطلباتهم ) لأنهم بالطبع يريدون مبرمجين يقومون بحل مشاكلهم وأنت بالطبع ستعرض عليهم حلّك او بمعني أصح فكرة حلك أو تخبرهم انك تعرف الحل جيداً ومتخصص بذلك, ثم بعد ذلك سيتعاقدون معكَ -أونلاين- وبعد اﻹنتهاء من المطلوب سيتم تحويل أموالك إليك عبر معظم خدمات نقل اﻷموال عبر الانترنت ومنا paypal وفودافون كاش او البطاقات اﻹتمانية - visa card وغيرها, ولكل موقع خدماته ومدعماته الخاصه أي ما الخدامت الذي يعمها الموقع سواء كان بايبال - paypal أو البطاقات اﻹئتمانية أو حتي البيتكوين - Bitcoin ويمكنك بالطبع اختيار ما تشاء .

 

الآن, كيف تُصمم تطبيقات الديسكتوب والويب ؟

!? How to design Desktop and web applications with your self

ببساطة, يمكنني أن أخبرك بأنك اذا صبرت وأصريت علي تعلم شي ستقوم به ( مَن أراد شيئاً سيفعله! ) وتنقذه على أكمل وجه بإذن الله ويُسعددني أن أُخبرك بأنك إذا تابعت المصادر المذكورة سابقاً ستكون محترف جداً فى هذا المجال وأيضاً يمكنك استخدام مهاراتك الخاصة فى كتابة الأكواد والبرمجيات الخبيثة وأدوات اﻹختراق واسكربتات جمع المعلومات والتشفير والرانسوم وير Ransomware لا تندهش يا عزيزي فكل هذا وأكثر يمكنك فعله بالبرمجة, فهي كنزٌ لا يُفني (أُبالغ كثيراً ^_^ )

Ransomware


يمكنك أيضاً بمساعدة لغات البرمجة أن تتعلم لغة اﻵله - Machine Language وبالطبع ستبحث عن دورات خاصة بالDeep Learning وال Machine Learning


Programming


اﻵن وأخيراً وليس آخراً سنتحدث عن كيفية تصميم أدوات واسكربتات لا غِنى عنها فى اختبار اﻹختراق باستخدام البرمجة (لغات البرمجة)


اﻵن سأُعطي نُبذه بسيطة عن كيفية عمل ذلك وما هي اﻷساسيات وسأتعمق فى هذا الموضوع بالتفصيل ولكن لاحقأ وسنقوم بعمل اسكربتات في مقالات أُخري قادمة بإذن الله, تابعونا قايز :)


أولاً وقبل أي شئ يجب أن نعرف ما هي لغات البرمجة المختصة بذلك أي اختبار الاختراق, فليست كل لغات البرمجة خاصة باختبار الاختراق أو جمع المعلومات وغيره من هذا المجال, فهناك لغات خاصة بالويب, والويب ينقسم إلى قسمين رئيسيين , هما الباك اند - Back-End والفرونت اند - Front-End كل قسمٍ من هذان القسمان له لغاته البرمجية الخاصه ولا يُمكن أن نخلط بينهم -لكل مقامٍ مقام :) -

ولغات خاصة بالاختراق ولغات خاصة بالشبكات ..إلى آخره 


ولكن إذا جئنا لنتحدث عن الإختراق أو ال penetration testing بالتحديد فيجب علينا أن نُتقن اللغة الشهيره بايثون - Python ( عشقي, وإذا حضر العشقُ ذاب القلبُ 😟💗 )

لا أمزح معك أنا 😕!

أمزح أمزح 😂😂😘

Python

لماذا بايثون ؟!

بايثون كما ذكرتُ سابقاً هي العشق 😇💗 -أمزح 😂💘-

بايثون تعلُّمها سهل وبسيط جداً, فهي تُعتبر من أسهل وأبسط لغات البرمجة من حيث التعلّم والتعامل , إذ لم تكُن أسهلَهُم!

بايثون يا عزيزي القارئ أو أي لغة برمجة أُخري قوتُها تكمُن فى مكتباتها أو باﻷصح فى وظائفها 

فبايثون تمتلك العديد من المكتبات والmodules والpackages الخاصة التى تجعلها متربعة على عرش الأمن المعلوماتى أو الأمن السيبراني أو اختبار الاختراق, فهي تمتلك العديد من المكتبات المهمة والقوية مثل sockets و cryptography و hashlib و requests و urllib و pandas و Numpy و nmap والعديد والعديييد من المكتبات التى من المستحيل أن أذكرها جميعها فهي بحرٌ كبيرٌ حقّا , بحر ملئ بالمُتعة واﻹثارة التشويق -لا لا, ليس فيلماً إنما هي بايثون 😂💖-

كلٌ من هؤلاء المكتبات أو بمعني أصح modules , لها وظائف معينة فمنهم خاص بالشبكات مثل nmap و sockets ,ومنهم خاص بالويب وارسال واستقبال الطلبات, مثل requests و urllib ومنهم خاص بالتشفير مثل hashlib و cryptography ومنهم خاص بمعالجة وتحليل البيانات وبالتحديد هي pandas و Numpy فهاتان المكتبات تقدمان هياكل بيانات جاهزة ولهما القدرة على إجراء عمليات التلاعب بالجداول الرقمية و السلاسل الزمنية والكثير والكثير سنتطرق إليهم فيما بعد, ولكن في هذا المقال عرفنا اﻷساسيات وجزء من الخبرة وإذا وجدت أي شئ غير واضح أو بحاجة إلى شرحٍ وافرٍ وبسرعة, لا تخجل أن تراسلنى فى قسم التعليقات أسفل المقالة وسأقوم بالرد عليك فى أقرب وقت ممكن بإذن الله, فنحن في خدمة سيادتكم :) 😌

 

هيا بنا لنختم مقالتنا ^_^

إلى هنا وقد انتهي شرح اليوم وقد عرفنا تقريباً مُعظم اﻷساسيات الخاصة بهذا المجال والتى من المهم جداً أن تتعلمها حتي تصبح محترفاً وقوياً فى هذا المجال -إذا أردت بالطبع- , أرجو أن أكون قد أفدتَكم وشكراً لحسن قرائتكم 💙🌺



Post a Comment

أحدث أقدم