Home برمجة جافا خارطة طريق لتعلم الجافا
خارطة طريق لتعلم الجافا

خارطة طريق لتعلم الجافا

3.23K
15

chooseingbook

خارطة طريق لتعلم الجافا

هناك كثير من الكتب في لغه الجافا متوفرة في السوق أو المواقع الالكترونية ، فكيف تختار الكتاب الجيد الذي سوف يفيدك أثناء التعلم ؟ وما هي الكتب المناسبه لك حالياً؟

هذه المقالة سوف تجيبك على تلك الأسئلة ، وسوف نقسم الموضوع الى 3 سلات Buckets  (وليست مستويات) لأن الفكرة هو ان تقطف من هنا وهناك وليس الجلوس في مكان واحد خصوصاً بعد معرفة أساسيات البرمجة.

السلة الأولى: اللغه والمكتبات :

في هذه السله سوف تحتاج الى أن تتعلم قواعد اللغه Grammar  والمكتبات في اللغه Foundations Classes وقد تحتاج الى تعلم مكتبات خارجيه اخرى Third-Party Libraries من المكتبات الجيدة.  مثلاً مكتبة Guava وهو توفر Collections و String Processing API وغيرها من قوقل ، أو مكتبة JodaTime للتعامل مع الوقت والتاريخ .

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

Java How to Program

javahowtoprogram

الكتاب مناسب للمبتدئين ، وهو يحتوي على كميه من الامثلة والتمارين بأخر الفصول حتى تمرن نفسك اكثر في البرمجة ، يشرح الكتاب اساسيات البرمجة (المصفوفات، التكرار ، الدوال) وغيرها بالتفصيل مما يجعله مناسباً كأول كتاب في مسيرتك البرمجية بالجافا

Head First Java

headfirstjava

ايضاً الكتاب سهل وممتع ومليئ بالصور التوضيحية، يشرح الكثير من المفاهيم بشكل سلس وهو يمكن أن يكون كتابك الأول عند تعلمك الجافا.

واجهات المستخدم  GUI والوصول لقواعد البيانات JDBC Database وبرمجة الشبكات Network Programming وأساسيات ال Threading تنطوي تحت السله وسوف تجدها في الكتب اعلاه ، لأنها مجرد API سوف تستخدمها بعد أن تتعلم المنطق البرمجي، لذلك عليك بفهمها وربما تكتب برامج صغيرة بها ولكن هذا ما زال تحت المبتدئ.

لذلك قرائه كتاب شامل للأساسيات مثل Java How to Program مفيد جداً للمبتدئ,, اذا كانت لديك خلفية ممتازة بلغة اخرى فيمكنك اختيار Core Java 2 فهو مناسب جداً لمن لديهم خبرة في البرمجة.

 

Core Java Volume 1 — Fundamentals

Core Java Volume 1 -- Fundamentals

كتاب Core Java مكون من جزئين ، الجزء الاول يتناول الأساسيات بشكل عميق ويتناول معظم الأشياء الضرورية لتقوية اساس مبرمج الجافا مثلاً Generic Programming وبرمجة ال GUI والLayouts ويدخل في ال Multithreading ويتحدث بشكل جيد عن ال Exceptions وأساسيات ال OOP. لذلك ان كنت قادم من سي++ أو أي لغه اخرى وتعرف المنطق البرمجي فهذا مناسب لك لكي تتعلم الجافا بشكل جيد.

 

Core Java Volume 2 — Advanced Features

 

Core Java Volume 2

الجزء الثاني يدخل في مواضيع مهمه بدئاً من الIO وبرمجة الشبكات ويمر على Advanced GUI والعمل مع XML والDatabase والتشفير Security & Cryptography وكيف تكتب تستدعي كود سي++ بالجافا JNI  وغيرها. اعتبره من المراجع الرئيسية لي في العمل.

 

هذه اهم الكتب في هذه السله، هناك كتب اخرى شهيره مثلاً كتاب بروس اكيل  Thinking in Java وان كنت أرى ان ال Core Java أشمل وأوسع منه

 

السله الثانية: تفاصيل اللغه بشكل أعمق :

بعد أن تتعلم الأساسيات وتستطيع بناء برامج بسيطة ، عليك العودة مرة أخرى للغه وتدرس تفاصيل اللغه بشكل اعمق حتى تعرف  الاستخدام الامثل لها Practical Usage (مثلاً لماذا يفضل استخدام static factory على دالة البناء ، وكيف تكتب دالة hash code بشكل جيد ، ولماذا يجب عليك أن تحاول أن تجعل اي كلاس لديك Immutable اذا استطعت الخ) كل هذه المواضيع السابقة لن تجدها في كتب الأساسيات وتحتاج لكتب مختصه بهذه التفاصيل ,,

وهذا هو فاصل جيد بين شخص مبتدئ باللغه وشخص خبير باللغه، ايضاً هذه السلة سوف تحتوى على مواضيع الConcurrency وكيفية بناء برنامج يستخدم امكانيات الجهاز (جميع الCores ويستغلها بشكل جيد)،  وسوف تمر على مرحلة أعمق في OOP وهي طرق التصميم Design Pattern وكيف تبنى هيكلية احترافيه للمشروع، ومروراً بكيفة كتابة كود عالى الجودة Quality Code وعمل تغيير في هيكلة الكود بحيث تضمن مقروئية وصيانته Refactoring ،،  السله مليئة هذه المرة بكثير من الأمور ولكنها فاصل واضح بين مبرمج مبتدئ وشخص متوسط أو خبير في اللغه.

الكتب التالية هي مفتاحك:

Java Concurrency in Practice

javaconcurrenyinpractice

اذا أردت كتابه اي برنامج فيه أكثر من Thread واحد ، فهذا هو افضل ما ستقرئه على الاطلاق، هذا الكتاب مناسب لمصممي الأنظمة أو ال Infrastructure للغير مثلاً تريد كتابه Web Server أو تعمل في مشروع يتطلب أن تدير اكثر من Request في آن واحد في شتى المجالات بدئاً من تجربة الخوارزميات ومعالجة الصور والالعاب والخ.

 

Effective Java

Effective Java

كتاب جوشا (أحد مبرمجي Collections API) هو من افضل الكتب لفهم الكثير من التفاصيل حول اللغه التي يحتاج أي خبير ان يعرفها، حتى لو كنت مبرمج بلغه اخرى فهذا الكتاب سوف ينفع معك لأنه يناقش مواضيع كثيرة مثلاً Serialization أو كيف تكتب Exception وتقوم بعمل mange لها في بشكل صحيح ، والخ ، الكتب السابقة تعلمك كيف تقوم هذا الكتاب يعلمك لماذا تقوم .

 

Clean Code

Clean Code

كتاب أنكل بوب الشهير ، يوضح لك كيف تكتب كود مقروء وواضح، اذا كنت تكتب دوال فيها اكثر من 100 سطر وكلاسات متداخله الأبعاد فأنت بحاجه الى قرائه هذا الكتاب

 

Head First Design Pattern

Head First Design Pattern

اسهل طريقة لتعلم اساسيات ال Design Pattern هو من خلال هذا الكتاب، بعد هذا الكتاب ستبدأ بالشعور بالانتقال من مرحلة Junior الى مرحلة Senior أو البداية في الArchitecture بشكل جيد

 

Refactoring

Refactoring

هل تصدق أن الكتاب عمره قارب ال15 سنه، ومازال يحتفظ بقيمته الى الآن، الكتاب يوضح لك كيف تحسن ال Design لمشروعك الحالي، ويحتوى على نصائح توضح لك متى تقوم بعملية التنظيف أو التحسين هذه ولماذا تقوم بها ، الكتاب لحسن الحظ أمثلته بلغه الجافا ولكنه يعمل على باقي اللغات (اذا لاحظت ان اغلب الكتب في هذه السله تكون من هذه النوعيه، وهي طريق جاد لكي تصبح مبرمج خبير).

 

Practical API Design

Practical API Design

لأن أي مبرمج يمكن أن نطلق عليه مصمم للدوال API Designer فإن ال API هي من أهم الأمور التي يجب الاعتناء بها في مشروعك أو شركتك حتى تستفيد منها فيما بعد ، هناك اساسيات في كتابى الAPI حتى يستخدمها المبرمجين فيما بعدك ، هذا الكتاب يتناول تفاصيل كثيرة حول بناء ال API (وهناك كتاب أخر شهير ولكن بسي++) ، مؤلف هذا الكتاب هو احد مؤسسي ال Netbeans ومكاتنه معروفه في مجتمع الجافا

 

السله الثالثه : الأدوات

هذه الأيام لا يمكن أن تسمى نفسك مبرمجاً هذه الأيام بدون استخدام أدوات مساعدة ، هذه  الأدوات تسهل عملك وتجعله اوتوماتيكي وجعل الحاسب يقوم بالأمور الممله وحفظ وقتك للأمور الأهم ،، لذلك يمكن القول أن تعلم منهجية تطوير (مثلاً Agile) بالاضافة الى الأدوات المطلوبة لأي مبرمج (أدوات Source Control ، أدوات Unit Testing ، أدوات Building ، أدوات Continuous Integration) ، الكتب التالية هي ما يجب النظر اليه اذا كنت لا تستخدم اي أدوات سوى ال IDE :

 

Java Power Tools

Java Power Tools

من أفضل الكتب في جافا التي تتحدث عن الأدوات (Documentation , Unit Testing, Source Control , Bugs Checking والخ) الكتاب قديم منذ 2008 الآن لأنه يتكلم عن أدوات ، و الأدوات تتطور مع الوقت لكنه يفيد لأخذ فكرة عن كل أداه ودورها في عملية التطوير

 

Ship It!

 

shipit

 

 

 

Pragmatic Unit Testing in Java with JUnit

Pragmatic Unit Testing in Java with JUnit

 

 

Pragmatic Project Automation

Pragmatic Project Automation

الثلاثي المرح من اصدار سلسله The Pragmatic Programmers ، هي قديمة منذ 2005 ولكنها كانت وما زالت من الكتب الجيدة ، فكتاب Ship It يوضح لك منهجية بسيطة في تطوير المشاريع وما هي الأمور الذي يجب عملها في اي مشروع برمجي سواء كانت في الأدوات المستخدمه في طريقتك اثناء التطوير (عمل قائمة المهام وكيف تتفاعل مع فريقك) ، كتاب Unit Testing with JUnit هو الكتب القديمة ايضاً عن JUnit والمكتبة حصلت فيها تغييرات كثيرة بعد ذلك ولكنه ما زال يشرح الفكرة والهدف الأساسي من Unit Testing بشكل سلس ومبسط، أما كتاب Automation فهو للمبرمجين الذين لا يستخدموا IDE وهو بصراحة جيد ويبدأ بتعليمك كيف عمل المجلدات في المشروع Folder Structure واين تضع الكود وكود الاختبار وكيف تستخدم ال Building Tool وينتقل تدريجياً بك حتى تصبح عملية الBuild وTesting وال Deployment هي بضغطة زر واحدة ، الكتاب يستخدم Scripts لأنه موجود قبل ان تشتهر ال Continuous Integration ولكنه مفيد مع ذلك.

 

JUnit In Action

JUnit In Action

الكتاب يعلمك كيف تقوم بعمليات ال Unit Testing وما هي فوائدها، هو اكثر حداثه من الكتاب السابق الخاص ب Junit حيث يتناول الاصدار 4 ويمكن القول بأنه اشمل مرجع عن Unit Testing سواء في تطبيقات ال SE وحتى في ال Enterprise Application.

 

السله الرابعه: هندسة البرمجيات

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

Code Complete

Code Complete

الكتاب الأول لكل مهندس برمجيات وهو يتناول قضايا كثيرة في تطوير البرمجيات بدءاً من المتطلبات وكيفة العمل مع الفريق واختيار اللغه المناسبه للمشروع والتقديرات والخ ، اذا أردت أن تكون مهندس برمجيات فعليك بهذا الكتاب.

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

 

Agile Estimation And Planning

Agile Estimation And Planning

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

 

The Agile Samurai

The Agile Samurai

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

 

Clean Coder

Clean Coder

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

 

السله الخامسه: نظرة حول الصندق JVM:
جافا الآن هي ليست الجافا فقط ، بل هي لغه جافا والJVM ، قد لا تصدق ولكن JVM زادت شهرتها عن الجافا لأنها أصبحت منصه تعمل فوقها لغه الجافا واللغات الأخرى التي تعرف ب Polyglot مثلاً Groovy, Scala, Clojure . هذه السله سوف تنظر للأمور واسع اكثر وتزيد من حصة معرفتك في JVM.

Java Performance

Java Performance

افضل كتاب تتعلم فيه ال JVM ماهيته ودوره ، وكيف تقوم بتضبطه (عمل Performance Tunning) حتى يعمل على مشروعك الكبير هو كتاب Java Performance ، فأغلب برامج جافا الكبيرة تحتاج لما يسمى Performance Engineer يقوم بتناول قضايا الJVM وال Memory وكيف يمكن اعداد وتهئية الGC المناسب لبرنامجك (مثلاً برنامجك تريده ان يعمل 24 ساعه فكيف تريده أن يعمل -سريع في العمل أم سرعه في الاستجابه أم معايير اخرى).

 

 Covert Java

Covert Java

احياناً سوف تحتاج لتعلم بعض التفاصيل الLow Level عن الجافا مثل Byte Code وكيف يمكن حمايه برنامجك أو العكس كيف يمكن عمل Reverse لبرنامج الجافا ، وكيفية تشويش الكود وكيفية صناعه License System باستخدام ال Digital Signature (يضمن لك أن المستخدم لن يستطيع توليد مفاتيح تسجيل) هناك الكثير من الأمور الممتعه في هذا الكتاب اذا كنت من هواة ال Cracking

 

 The Well-Grounded Java Developer

The Well-Grounded Java Developer

كتاب جديد نوعاً ما  في الجافا ومفيد للمطورين المتوسطين أو الخبراء،  مقسم مثل هذه المقالة الى الامور الواجب ان يعلمها اي مطور جافا (وهي ما تحتويه السلات السابقة) مثل الأدوات  المهمه وال API الجديدة في جافا 7 ، وال Concurrency وال JVM Tunning وال Polyglot Programming ويأخذ مثال على Scala وGroovy، صراحة الكتاب قيم لكنه متقدم ولا ينفع للمبتدئين على الاطلاق.

 

ملاحظات قبل الختام:

  • لا غني لأي مبرمج عن المشاركة في الOpen Source Projects فهي السبيل لكي ترى ثمرة ما تقرئه واكتساب خبرة حقيقية في البرمجة ، القرائه لا تكفي وحدها.
  • الكتب اعلاه تتناول ناحية الSoftware Engineering Skills الواجبة لأي Modern Java Developer (وكما لاحظت كثير من الكتب اعلاه تصلح لأي مبرمج بغض النظر عن اللغه) ، لكن اذا أردت التعمق في الGUI أو Network Programming أو Image Processing أو Collection Intelligence فلكل منها كتبها الخاصه،
  • بنفس الفكرة لم نستعرض كتب ال Java Enterprise وهذا يحتاج لموضوع اخر ولكن اليك الخبر السعيد اذا قطفت من السله الأولى والثانية والثالثة والرابعه والخامسة فال Enterprise لن تكون معقده لك (ستأخذ وقتاً في أولها حيث التقنيات كثيرة ولكن بعد ذلك سوف تستطيع كتابه كود أفضل بكثير من غيرك البرمجين لأنك تعرف جيداً ما تفعل).
  • حتى تكون مبرمج جيد عليك أن تضيف شيئاً في الProblem Solving Skills ولو في Algorithms And Data Structure هكذا سيزداد ثقلك، كتب Data Structure بالجافا كثيرة وجيدة في الغالب، وهذا الكتاب Beginning Algorithms رائع فهو يدمج الData Structure مع ال Unit testing ويجعلك تكتب Unit Testing مع اي Structure تقوم بكتابته (Array, Linked List, Stack) وسوف تتعلم الUnit Testing جيداً بهذه الطريقة.
  • نذكر أن التقسم كان على اساس سلات وليس (مبتدئ ، متوسط ، محترف) اذ ان المبتدئ يمكن (أو يجب) ان ينتقل ويأخذ من هنا وهناك، كل ما تزداد معرفتك وتضع في الToolbox الخاصه بك كمية أكبر، كلما تنتقل من مستوى مبتدئ الى متوسط وهكذا ،، فقط استمر بالقرائه والتكويد.

(3227)

وجدي عصام مهندس برمجيات مهتم بعلوم الحاسب وبالأخص مجال الخوارزميات وهندسة البرمجيات وحماية التطبيقات،

Comment(15)

  1. مقال رائع جداً، وسيستفيد منه شريحة كبيرة من المطورين.

    بالنسبة لمكتبة JavaFx، هل تعرف كتب جيدة في هذا المجال؟ المكتبة جيدة جداً وربما تتفوق على الـ swing، ولكن ينقصها التوثيق. من الجيد أنهم جعلوها من ضمن الـ JDK 🙂

    واصل في كتابة المقالات، مقالاتك شيّقة (ننتظر منك خارطة طريق تعلم JavaEE :D).

  2. شكرا جزيلا لك أخى العزيز

    بس أنا لى رائى لعلى أن أكون على صواب أو خطأ

    هذة الكتب المفروض أنها تباع بمبالغ مالية, وإذا دخلنا على موقع كمثال أمازون سنجد أنها تعرض الكتب وبجوارها سعر الكتاب,
    فكيف لنا أن نستخدم أشياء ليست مجانية ونوزعها على أنها مجانية, وهى فى الاصل هو مجهود مؤلف الكتاب قام ببذل مجهود لكى يصدر هذا الكتاب ولكى يرزق منة بالمال, فكيف لنا ان نساعد على توزيعة مجانا وهو فى الاصل ليس مجانى, هذة خسارة لصاحب الكتاب, ضع نفسك مكانة إذا بذلت مجهود فى إنشاء كتاب أو تطبيق كـبرنامج أو سكربت, وبعد ذلك قمت بعرضة للبيع ووجدت بعد ذلك شخص أخذة وقام بعرض مجانا للجميع, هل تقبل هذا (فقد ضاع مجهودك ووقتك الذى قضيتة فى إنشائة) .
    ومن هنا نقول ان هذا بالنسبة للدين لا يرضى الله (لاضرر ولا ضرار).

    أتمنى أنى ما أكونش ثقيل عليكم لكن هذا رائى .

  3. شكرا جزيلا على هذا المقال الرائع المنظم والمرتب للافكار —- يا ليت كل من سلك طريق وعر مظلم ووصل الي نهايته ان يلتفت ليساعد من خلفة على الاقل بإضاءة الطريق …. مشكور

  4. سمعت كثيرا عن Unit Test ولكني لا استطيع استيعاب فائدة أني أشغل نفسي بإختبارات للبرمجيات. في حين -من وجهة نظري المحدودة- انه اكتب الكود، إذا عمل فخير وبركة وإذا لم يعمل اطلع على رسالة الخطأ ومكانها في الكود واصلحه.

    يا ليت لو تكتب مقال عن شرح أهمية هذا الموضوع بإسلوب مبسط إن أمكن هذا. لماذا تهتم بال Test؟

    1. المشكلة في كل مرة تضيف كود أو تعدل على جزئية وتريد ان تختبر كل الأجزاء الباقية (هل ستقوم باختبار كافة وظائف النظام لمجرد اضافة او تعديل واحد)؟
      هذا سيكلفك وقت كثير وقد تنسى اختبار تأثرت بالتعديل وحدثت مشكلة بها وأنت لا تدري

      لذلك الtests عندما تكون موجودة سوف تضمن انك كل شيء يعمل على ما يرام خصوصاً لو كان ال test يغطي الأجزاء المهمة من النظام.

      سوف نتحدث عنه ان شاء الله في جزء من سلسلة الأساسيات من تصميم البرمجيات.

      وشكراً.

  5. السلام عليكم
    اردت ان اسئل عن كتاب او سلسلة فديوهات او مقالات تتحدق عن Java networking كيف يمكن ان احمل ملف معين من موقع هن طريق ال java
    على سبيل المثال اردت ان اصنع برنامج يمكن المستخدم من كتابة اسم كتاب ويقوم البرنامج بالدخول الى موقع للكتب ويعيد للمستخدم لائحة باسماء الكتب و امكانية التحميل

    1. هناك سلسلة دروس لي في السابق عن ال Java networking موجودة في الفريق العربي للبرمجة في قسم الجافا، على اي حالة أفضل ان يكون التطبيق يعتمد على ال HTTP وبالتالي لن تدخل في متاهات السوكت وايضاً عمل mutilthreaded socket server امر صعب والأسهل ان تستخدم اي ويب سيرفر جاهز بدلاً من اعادة كتابة كل شيء خصوصاً لو كان هناك هدف غير التعلم في الأمر.

      مثلاً قم بكتابة Web service بالجافا ترجع القائمة، ومن تطبيقك قم بالاتصال بهذه السيرفس واحصل على القائمة، وبمجرد ان يختار المستخدم اي اسم تقوم باستدعاء ويب سيرفس اخرى تقوم بتحميل الكتاب. وايضاً بالHTTP هذا سهل وهناك الكثير من المكتبات تسهل لك بعدة اسطر فقط.

      وشكراً.

  6. كتاب patterns of enterprise application architecture للكاتب مارتن فولر، وهو من الكتب القوية في برمجة تطبيقات الأعمال ولكنه قديم. فهل هناك كتاب في الوقت الحالي بنفس القوة مع تحديث للموضوعات؟

    1. في الدوت نت يوجد الكثير، سوف تجد المصادر في اخر الموضوع وتتحدث عن ال Enterprise Patterns :
      http://informatic-ar.com/solid/

      بينما في الجافا لا يوجد الكثير، ولكن هذا الكتاب قد يناسب – قد جلبته من فترة ولكن لم اقراه بعد-
      https://www.amazon.com/Java-Architects-Handbook-Second-applications/dp/0972954880

      وشكراً لكم.

  7. السلام عليكم ورحمة الله ..
    ماشاء مهندس وجدي مجهود كبير ومقال رائع بارك الله فيك ..
    ولكن استغربت من عدم وجود الكتاب الرائع Java The Complete Reference للمؤلف Herbert Schildt حيث يعد من اقوى مراجع الجافا .

LEAVE YOUR COMMENT

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

مشاركة