آموزش

سیر مطالعاتی

اين مستند سير مطالعاتي پيشنهادي انجمن جاواکاپ براي علاقمندان به Java و JavaEE را ارائه مي‌نمايد. منابع مطالعاتي لازم براي موضوعات مختلفی در حوزه آموزش جاوا در این مقاله معرفي شده‌اند.

(بروزرسانی: این مستند تا حدودی قدیمی است و فناوری‌هایی مثل GWT و JSF و vaadin و SprinMVC کم‌کم در حال از دست دادن بازار خود هستند. همچنین استانداردهایی مثل JPA و کتابخانه‌های مبتنی بر جاوااسکریپت، مثل AngulaJS در حال همه‌گیر شدن هستند. به همین دلیل، به منظور مرور فناوریهای مهم و منابع آموزشی جدیدتر، بهتر است این مستند که جدیدتر است را ملاحظه فرمایید)

نمودار سير مطالعاتي

محتوا

در جدول زير موضوعات و محتواي پيشنهادي گنجانده شده است. ستون «شناسه» عنواني يکتا براي موضوعات را نشان مي‌دهدکه در ادامه اين مستند، در بخشهاي «سيرمطالعاتي» و «آزمون جاواکاپ»، به آن ارجاع مي‌شود. ستون منابع هم شماره مراجعي را نشان مي‌دهد که در بخش «منابع» معرفي شده‌اند.

ردیف شناسه موضوع مطالب منابع
1 JavaFundamentals مباني برنامه نويسي جاوا
  • متغير، متد، شرط، حلقه، داده‌هاي اوليه(Primitive Data Types)، رشته، آرايه
  • مفاهيم شئ گرايي، نحوه تعريف کلاس‌ها، سطوح دسترسي، constructor، this، static، package
  • inheritance، super، abstract، protected، polymorphism، final، interface، کلاس‌هاي داخلي و کلاس‌هاي بي نام
  • اشياء در حافظه و مديريت حافظه، بارگذاري اوليه و مرگ اشياء در حافظه، زباله روب(garbage collector)
  • Exception، RuntimeException، Finally
  • متد‌ها و انواع داده عام(Generics)
  • مجموعه ها و ظرف ها List، Map، Set، (Containers) Collections، Iterator
1,2,3,4,5,8
2  JavaProfessional  مباحث پيشرفته جاوا • فايل، streams، برنامه‌سازي تحت شبکه(Socket) ، Serialization، NIO، NIO.2
• Multi-thread، Synchronization و critical section
• Annotation
• Enumeration
• Reflection
• Java7 Features
• JDBC
• XML Processing
1,2,3,4,5,8,12
3  JavaGUI  برنامه‌سازي واسط کاربري • ساخت واسط کاربري گرافيکي
• اجزاي واسط کاربر
• Event Handler
 1,4,8
4  Test  •آزمون نرم‌افزار و آزمون واحد  6,8,11
5  Refactoring • Bad Smells
• Refactoring techniques
 8,10
6  DesignPatterns  •الگوهاي طراحي، آشنايي اوليه با نمودار UML Diagram  8,9
7  HTMLBasics • آشنايي با مباني وب و HTTP
• HTML ، CSS، جاوااسکريپت
 18
8 JavaEE
Fundamentals of Java Enterprise Edition
• Java Enterprise Edition
• Layers, Tiers, MVC
• Tomcat, web application structure, web.xml
• JSP, Servlets, Listeners, Filters
• Session, Request, Response
 6
9 Hibernate  13,14
10  Spring • Dependency Injection and IoC
• Aspect Oriented Programming
• Spring Framework
• Transaction Management
 15,16
11  GWT  17
12  SpringMVC  19
13  JSF  21
14  vaadin  20
15  Work skills • Code Repository
• (Build Tools(Ant, Maven
 6

منابع

1. Java How to Program (early objects) (9th Edition), Paul Deitel, Harvey Deitel
2. Thinking in Java (4th Edition), Bruce Eckel
3. Oracle Certified Professional Java SE 7 Programmer Exams 1Z0-804 and 1Z0-805: A Comprehensive OCPJP 7 Certification Guide, S G Ganesh, Tushar Sharma

4. ترجمه کتاب مرجع اول
5. برنامه نویسی به زبان جاوا، احمدرضا صديقی
6. برنامه نويسي J2EE ، احمد رضا صديقي
7. برنامه‌نویسی وب در جاوا ، احمدرضا صدیقی
8. اسلايدهای جاواکاپ برای Java و JavaEE

9.Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (Gang of Four)
10. Refactoring: Improving the Design of Existing Code, Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
11. JUnit in Action, Second Edition, Petar Tahchiev, Felipe Leme, Vincent Massol, Gary Gregory
12. Java SE 7 Upgrade Exam
13. Hibernate Documentation
14. Hibernate Tutorialspoint
15. Spring Framework Reference Documentation
16. Spring Framework 3.1 Tutorial
17. GWT in Action, Adam Tacy, Robert Hanson, Jason Essington, Anna Tokke
18. Learning Web Design: A Beginner’s Guide to HTML, CSS, JavaScript, and Web Graphics Paperback, Jennifer Niederst Robbins
19. Web MVC framework
20. Book of Vaadin
21. Core JavaServer Faces (3rd Edition), David Geary, Cay S. Horstmann

آزمون جاواکاپ

آزمون JavaSE شامل دو بخش پايه و حرفه‌ای است. مفاد اين آزمون در جدول زير آمده است. جزئيات آزمون JavaEE متعاقباً اعلام خواهد شد.
آزمون بخش آزمون شناسه مفادآزمون
آزمونJavaSE بخش پايه JavaFundamentals
بخش حرفه‌ای JavaProfessional
Test
Refactoring
DesignPatterns

 

نوشته های مشابه

‫36 دیدگاه ها

  1. سلام
    با سپاس فراوان از مطالب مفیدی که ارایه می دهید.
    در لیست ارایه شده خیلی از تکنولوژیهای پرکاربرد ارایه نشده اند از جمله Struts. هرچند که spring می تواند جایگزین struts باشد اما یادگیری تکنولوژیهای مختلف فرصتهای شغلی بیشتری را پیش روی متقاضیان کار قرار می دهد.
    باید توجه داشت که حجم زیادی از کد با تکنولوژیهای منسوخ یا در حال احتضار (مانند EJB) نوشته شده و شرکتها اکثراً مایل نیستند هزینه بازنویسی با ابزارهای جدید را متحمل شوند و در نتیجه کارشناسانی را استخدام می کنند که همان کدهای سابق را پشتیبانی کنند.

  2. سلام
    من به برنامه نویسی علاقه دارم و میخواستم یه زبان رو شروع به یادگیری کنم که با پیشنهاد بقیه جاوا رو انتخاب کردم.
    البته برنامه نویسیم با متلب خوبه، یعنی پیش زمینه برنامه نویسی دارم.
    حالال میشه یه مسیر برای یادگیری جاوا بهم پیشنهاد بدید.
    با تشکر

  3. سلام بنا به دلایلی هم نیاز و هم علاقه به یادگیری برنامه نویسی برای اندروید دارم و جاوا رو انتخاب کردم

    با اصول برنامه نویسی اشنا هستم

    یک کتاب که از صفر و پایه بدون پیچیده کردن موضوع آموزش داده باشه میخوام و به روز باشه ( ترجیها نویسنده ایرانی نداشته باشه چون بنا به تجربه توی یادگیری vb و همچنین اندکی c تمام کتاب های فارسی یک مشت منبع کهنه با ادبیات به شدت سخت بودن تا جایی که به این نتیجه رسیدم انگار نویسنده های ما هر قصدی جز آموزش دارن ! )

    ترجیها ترجمه اون موجود باشه ولی اگر واقعا منبع فارسی خوب نداریم انگلیسی هم مشکلی نیست

    1. سلام. دوست عزیز پیشنهاد می‌کنم آموزش‌های جاوا کاپ و ببینید. هم فارسیه، هم تصویری و هم کامل.

  4. با سلام
    پیشنهاد من برای دوستانی که میخواهند جاوا وب رو یاد بگیرند فیلم های آموزشی استاد رامتین خسروی هست.
    برای شروع فوق العادس.
    البته هیچ مطلبی به طور کامل روش بحث نمیشه ولی یک دید بهتر نسبت به جاوا وب میده.

    و اما یک سوال
    برای object-oriented analysis and design
    چه منبعی رو پیشنهاد میکنید ؟
    اصلا لازمه در این مورد جداگانه مطالعه بشه ؟ یا به مرور زمان و با کار خود به خود مهارت به دست میاریم؟

    1. سوالتون در مورد object-oriented analysis and design بسیار هوشمندانه است. خیلی از برنامه نویسان به یادگیری این مباحث توجهی ندارند و بعد از یادگیری زبان و فناوریهای شروع به تولید می کنند که خروجی خوبی ندارد. پیشنهاد می کنم مفاهیم الگوهای طراحی (Design Pattern) و Domain Driven Design یا DDD رو دنبال کنید تا به منابع مناسب دسترسی پیدا کنید.
      برای الگوهای طراحی منبع فارسی خوبی رو به خاظر نمی اورم. در مورد DDD مقالات آموزشی سایت مهندس هادی احمدی به آدرس زیر نقطه شروع خوبی است.
      http://hadiahmadi.ir

    1. با سلام
      java se
      البته بستگی به این داره که میخاین کارتون تا چ حد با کیفیت باشه.
      اما با داشتن شناخت نسبت به شی گرایی با خیال راحت میتونین اندرویدو شروع کنید و در کنار خوندن مطالب اندروید مطالب پیشرفته تر جاوا رو هم به طور موازی پیش ببرید.
      ۱۳ قسمت اول آموزش جاوا کاپ رو ببینید اگر مطالب آموزشی رو کامل یاد گرفتید میتونین اندروید رو شروع کنید.

      البت این نظره منه وگرنه خیلی از آموزشگاه ها میگن اصن نیازی به جاوا نیست که به نظر من این آموزشگاه فقد به فکر درآمد بیشتر هستند.
      موفق باشید !

      برای اندروید کتاب head first بسیار کتاب خوبیه
      کتاب the big nerd ranch guide هم کتاب خوبیه

  5. با سلام خدمت استاد گرامی
    من با مفاهیم شی گرایی در جاوا آشنایی خوبی دارم و پس از تماشای ویدءو های آموزشی شما از این موضوع خیالم راحت شد.
    حالا میخواستم نسخه سازمانی جاوا رو آغاز کنم.
    با توجه به قدیمی بودن کتاب آقای صدیقی کمی از این بابت نگرانم.
    از دوستانم که در این موارد تجربه داشتند مشورت خواستم ایشون برای شروع مطاله در مورد JSF رو پیشنهاد کردند.
    میخواستم اگر امکانش هس نظرتان رو در مورد این موضوع بیان کنید.(آیا JSF برای شروع نقطه آغاز خوبی است؟)

    اگر خوب است چه کتابی را معرفی میکنید؟

    Core JavaServer Faces (3rd Edition) 3rd Edition
    این نام کتابی است که دوسم معرفی کرد.

    با تشکر

    1. سلام. هر چند JSF یکی از استانداردهای مهم و متأخر جاوا برای ساخت برنامه‌‌های وب است، اما استقبال از این استاندارد در صنعت کم بوده و به مرور کمتر هم شده است ( نه فقط در ایران). به نظر من بهتر است با مبانی JavaEE آشنا شوید و سپس سراغ JPA یا Hibernate بروید و سپس Spring را مطالعه فرمایید. برای محتوای آموزشی در این زمینه‌ها، سایتهایی مثل tutorialpoints یا javatopints را ببینید.

  6. سلام. ببخشید الان ردیف ۸ که پایه جاوا سازمانی هست مگه نباید کتاب وب در جاوا اقای صدیقی رو میذاشتید؟
    کتاب j2ee صدیقی به sparing,hibernate…پرداخته.

  7. با سلام، یک سوال داشتم، آیا کتاب های آقای صدیقی برای مطالعه خیلی قدیمی نیستند؟ ضمن اینکه برای شروع java ee باید از کجا شروع کنم؟ آیا می توانم مستقیما به سراغ spring بروم یا باید اول به مباحث java ee مسلط باشم و سپس کار بر روی فریم ورک spring را شروع کنم؟ بسیار ممنون از راهنمایی شما

    1. سلام. متأسفانه همین طوره و کتابهای آقای صدیقی اندکی قدیمی شده اند. برای شروع JavaEE بهتره از استانداردهای JavaEE به خصوص JSP و Servlet شروع کنید و سپس سراغ Spring بروید. هرچند از Spring بدون JavaEE هم میتوانید استفاده کنید.

  8. سلام.
    دو کتاب java a beginners guide و java the complete reference رو جزء منابع معرفی نکردید. این دو کتاب رو خود اوراکل منتشر کرده و توی منابع توی سایتش گذاشته. یعنی شما اینارو جزو منابع نمی دونید؟

  9. نظر شما راجب فیلم های آموزشی چیه ؟ اینکه اول فیلم نگاه کنیم بعد بیایم کتاب بخونیم ( مخصوصا توی java ee) بهتر نیست ؟ اگه فیلم های خاصی هم مد نظر دارید معرفی کنید . سپاس

  10. سلام
    من سوال واسم پیش اومده

    چرا تو لیست منابعی که ذکر کردید هیچ اشاره ای به کتاب
    Effective Java
    نکردید؟ یعنی این کتاب رو جزو منابع خوب برای داشتن یه دید عمیق تو جاوا به حساب نمیارید؟

    1. این کتاب هم کتاب خوب و محبوبی است ولی این کتاب نسبتا قدیمی است و نسخه جدیدی ندارد و تغییرات جدید جاوا را پوشش نمیدهد

      1. البته خیلی هم قدیمی نیست……الان ویرایش دومش revised و update شده واسه Java SE 6 موجود هست.
        http://www.amazon.com/Effective-Java-Edition-Joshua-Bloch/dp/0321356683

        و این رو هم در نظر بگیرید که چن درصد از شرکت های آی تی ایرانی که با جاوا کار میکنن دارن از جاوا7 یا 8 و ویژگی های جدیدشون استفاده میکنن؟

  11. سلام ، من دانشچوی رشته هوش مصنوعی هستم، سوالی که دارم اینه که برای شبیه سازی ها و مدلینگ های مختلف با روش های مختلف ( شبکه عصبی، فازی و …) از جاوا میشه کمک گرفت؟ البته نه فقط در محیط دانشگاه، چون برای کارهای دانشگاه از متلب استفاده می کنیم. ولی متلب خروجی اگزه نداره. بعدا برای بازار کار.
    با تشکر

    1. بله میشه از جاوا برای کارهای هوش مصنوعی استفاده کرد. بسياری از کتابخانه‌ها و امکانات هوش مصنوعی در زبان جاوا پیاده شده اند. حتی امکانات جدیدی به صورت متن‌باز منتشر شده‌اند که الگوریتم‌های هوش مصنوعی را به صورت کارا و سريع و توزيع شده اجرا می‌کنند. در این مورد اخیر، اینجا را ببینید:
      http://mahout.apache.org/

  12. من تقریبا java fundamentelsرو بلدم و میخوام برا مسابقه بعدی جوا کاپ خودمو آماده کنم شما از بین منابعی که معرفی کردیندیگه کدوم یکیش رو مهم تر میدونین و توصیه میکنین؟
    خواهش دیگرم این بود که زود به زود توساییتتون سوالات برنامه نویسی بزارین سوالاتی که میدونین کار کردن رو اونا خیلی اموزنده هست.ممنون.

    1. اگر ميخواهيد يک منبع معرفی کنيم، پيشنهاد ميکنيم يکی از سه منبع اول را انتخاب کنيد. هر سه کتاب خوب هستند و البته هر کدام هم نقاط ضعف و قوت خاص خود را دارند. مثلاً کتاب دوم عمق بيشتری دارد ولی قديمی تر از دو اتی ديگر است. اگر کتاب دايتل (منبع اول) را انتخاب کرديد، برای مباحث Reflection و Generics به سراغ منبع دوم برويد.

  13. با سلام خدمت شما
    من به طراحی وب علاقه دارم.اما نمیدونم جاوا به دردم میخوره یا نه؟
    از 2 تا استاد دانشگاهم پرسیدم بهم جاوا رو معرفی کردند ولی نگفتم برای طراحی وب میخوام.
    زمینه برنامه نویسی جاوا چیه؟

    1. طراحی وب حوزه وسيعی است. برنامه نويسی سمت سرور (Server side)، طراحی واسط کاربر (UX) و غيره. شما بايد مشخص کنيد به چه بخشی علاقه داريد. جاوا برای برنامه‌های متوسط و بزرگ سمت سرور گزينه مناسبی است.

  14. یکی که میخواد جاوا کار باشه همه این منابع رو باید بخونه تا بتونه توی بازار کاری انجام بده؟

    1. سؤال بسيار خوبی است. نه اصلاً برای وارد شدن به بازار کار، خواندن همه اين منابع لازم نيست. بسياری از اين منابع، همپوشانی دارند. مثلاً پنج منبع اول، همگی مراجع معروف آموزش جاوا هستند و خواندن يکی از آنها برای آشنایی اوليه با زبان جاوا کاملاً کافی است. بهتر است در هر موضوع، حداقل يک منبع را انتخاب کنيد.
      برای ورود به بازار کار در زمينه جاوا، رديف 1 قطعاً لازم است، رديفهای 2،4 و 6 مهم هستند و ساير موارد، بسته به محل کار مهم می‌شود. مواردی وجود داشته که با داشتن گواهينامه جاوا پيشرفته انجمن جاواکاپ، که فقط موارد 1و2و4و5و6 را شامل می‌شود، مشغول به کار شده‌اند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا