سیر مطالعاتی

این مستند سیر مطالعاتی پیشنهادی انجمن جاواکاپ برای علاقمندان به Java و JavaEE را ارائه مینماید. منابع مطالعاتی لازم برای موضوعات مختلفی در حوزه آموزش جاوا در این مقاله معرفی شدهاند.
(بروزرسانی: این مستند تا حدودی قدیمی است و فناوریهایی مثل GWT و JSF و vaadin و SprinMVC کمکم در حال از دست دادن بازار خود هستند. همچنین استانداردهایی مثل JPA و کتابخانههای مبتنی بر جاوااسکریپت، مثل AngulaJS در حال همهگیر شدن هستند. به همین دلیل، به منظور مرور فناوریهای مهم و منابع آموزشی جدیدتر، بهتر است این مستند که جدیدتر است را ملاحظه فرمایید)
محتوا
در جدول زیر موضوعات و محتوای پیشنهادی گنجانده شده است. ستون «شناسه» عنوانی یکتا برای موضوعات را نشان میدهدکه در ادامه این مستند، در بخشهای «سیرمطالعاتی» و «آزمون جاواکاپ»، به آن ارجاع میشود. ستون منابع هم شماره مراجعی را نشان میدهد که در بخش «منابع» معرفی شدهاند.
ردیف | شناسه | موضوع | مطالب | منابع |
۱ | JavaFundamentals | مبانی برنامه نویسی جاوا |
| ۱,۲,۳,۴,۵,۸ |
۲ | JavaProfessional | مباحث پیشرفته جاوا | • فایل، streams، برنامهسازی تحت شبکه(Socket) ، Serialization، NIO، NIO.2 • Multi-thread، Synchronization و critical section • Annotation • Enumeration • Reflection • Java7 Features • JDBC • XML Processing | ۱,۲,۳,۴,۵,۸,۱۲ |
۳ | JavaGUI | برنامهسازی واسط کاربری | • ساخت واسط کاربری گرافیکی • اجزای واسط کاربر • Event Handler | 1,4,8 |
۴ | Test | •آزمون نرمافزار و آزمون واحد | 6,8,11 | |
۵ | Refactoring | • Bad Smells • Refactoring techniques | 8,10 | |
۶ | DesignPatterns | •الگوهای طراحی، آشنایی اولیه با نمودار UML Diagram | 8,9 | |
۷ | HTMLBasics | • آشنایی با مبانی وب و HTTP • HTML ، CSS، جاوااسکریپت | 18 | |
۸ | 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 | |
۹ | Hibernate | 13,14 | ||
۱۰ | Spring | • Dependency Injection and IoC • Aspect Oriented Programming • Spring Framework • Transaction Management | 15,16 | |
۱۱ | GWT | 17 | ||
۱۲ | SpringMVC | 19 | ||
۱۳ | JSF | 21 | ||
۱۴ | vaadin | 20 | ||
۱۵ | Work skills | • Code Repository • (Build Tools(Ant, Maven | 6 |
منابع
۱٫ Java How to Program (early objects) (9th Edition), Paul Deitel, Harvey Deitel
۲٫ Thinking in Java (4th Edition), Bruce Eckel
۳٫ Oracle Certified Professional Java SE 7 Programmer Exams 1Z0-804 and 1Z0-805: A Comprehensive OCPJP 7 Certification Guide, S G Ganesh, Tushar Sharma
۴٫ ترجمه کتاب مرجع اول
۵٫ برنامه نویسی به زبان جاوا، احمدرضا صدیقی
۶٫ برنامه نویسی J2EE ، احمد رضا صدیقی
۷٫ برنامهنویسی وب در جاوا ، احمدرضا صدیقی
۸٫ اسلایدهای جاواکاپ برای Java و JavaEE
۹٫Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (Gang of Four)
۱۰٫ Refactoring: Improving the Design of Existing Code, Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
۱۱٫ JUnit in Action, Second Edition, Petar Tahchiev, Felipe Leme, Vincent Massol, Gary Gregory
۱۲٫ Java SE 7 Upgrade Exam
۱۳٫ Hibernate Documentation
۱۴٫ Hibernate Tutorialspoint
۱۵٫ Spring Framework Reference Documentation
۱۶٫ Spring Framework 3.1 Tutorial
۱۷٫ GWT in Action, Adam Tacy, Robert Hanson, Jason Essington, Anna Tokke
۱۸٫ Learning Web Design: A Beginner’s Guide to HTML, CSS, JavaScript, and Web Graphics Paperback, Jennifer Niederst Robbins
۱۹٫ Web MVC framework
۲۰٫ Book of Vaadin
۲۱٫ Core JavaServer Faces (3rd Edition), David Geary, Cay S. Horstmann
آزمون جاواکاپ
آزمون | بخش آزمون | شناسه مفادآزمون |
آزمونJavaSE | بخش پایه | JavaFundamentals |
بخش حرفهای | JavaProfessional Test Refactoring DesignPatterns |
سلام
با سپاس فراوان از مطالب مفیدی که ارایه می دهید.
در لیست ارایه شده خیلی از تکنولوژیهای پرکاربرد ارایه نشده اند از جمله Struts. هرچند که spring می تواند جایگزین struts باشد اما یادگیری تکنولوژیهای مختلف فرصتهای شغلی بیشتری را پیش روی متقاضیان کار قرار می دهد.
باید توجه داشت که حجم زیادی از کد با تکنولوژیهای منسوخ یا در حال احتضار (مانند EJB) نوشته شده و شرکتها اکثراً مایل نیستند هزینه بازنویسی با ابزارهای جدید را متحمل شوند و در نتیجه کارشناسانی را استخدام می کنند که همان کدهای سابق را پشتیبانی کنند.
سلام
من به برنامه نویسی علاقه دارم و میخواستم یه زبان رو شروع به یادگیری کنم که با پیشنهاد بقیه جاوا رو انتخاب کردم.
البته برنامه نویسیم با متلب خوبه، یعنی پیش زمینه برنامه نویسی دارم.
حالال میشه یه مسیر برای یادگیری جاوا بهم پیشنهاد بدید.
با تشکر
سلام.
این صفحه را ببینید:
https://javacup.ir/javacup-training-videos
آموزش گام به گام جاوا همراه با تمرین و پروژه و …
سلام. کارتون واقعا عالیه. لطفا به روز نگهش دارین. خیلی ممنون
سلام بنا به دلایلی هم نیاز و هم علاقه به یادگیری برنامه نویسی برای اندروید دارم و جاوا رو انتخاب کردم
با اصول برنامه نویسی اشنا هستم
یک کتاب که از صفر و پایه بدون پیچیده کردن موضوع آموزش داده باشه میخوام و به روز باشه ( ترجیها نویسنده ایرانی نداشته باشه چون بنا به تجربه توی یادگیری vb و همچنین اندکی c تمام کتاب های فارسی یک مشت منبع کهنه با ادبیات به شدت سخت بودن تا جایی که به این نتیجه رسیدم انگار نویسنده های ما هر قصدی جز آموزش دارن ! )
ترجیها ترجمه اون موجود باشه ولی اگر واقعا منبع فارسی خوب نداریم انگلیسی هم مشکلی نیست
سلام. دوست عزیز پیشنهاد میکنم آموزشهای جاوا کاپ و ببینید. هم فارسیه، هم تصویری و هم کامل.
با سلام
پیشنهاد من برای دوستانی که میخواهند جاوا وب رو یاد بگیرند فیلم های آموزشی استاد رامتین خسروی هست.
برای شروع فوق العادس.
البته هیچ مطلبی به طور کامل روش بحث نمیشه ولی یک دید بهتر نسبت به جاوا وب میده.
و اما یک سوال
برای object-oriented analysis and design
چه منبعی رو پیشنهاد میکنید ؟
اصلا لازمه در این مورد جداگانه مطالعه بشه ؟ یا به مرور زمان و با کار خود به خود مهارت به دست میاریم؟
سوالتون در مورد object-oriented analysis and design بسیار هوشمندانه است. خیلی از برنامه نویسان به یادگیری این مباحث توجهی ندارند و بعد از یادگیری زبان و فناوریهای شروع به تولید می کنند که خروجی خوبی ندارد. پیشنهاد می کنم مفاهیم الگوهای طراحی (Design Pattern) و Domain Driven Design یا DDD رو دنبال کنید تا به منابع مناسب دسترسی پیدا کنید.
برای الگوهای طراحی منبع فارسی خوبی رو به خاظر نمی اورم. در مورد DDD مقالات آموزشی سایت مهندس هادی احمدی به آدرس زیر نقطه شروع خوبی است.
http://hadiahmadi.ir
سلام من میخوام اندروید یاد بگیرم.باید جاوا رو تا کجا یاد بگیرم؟
با سلام
java se
البته بستگی به این داره که میخاین کارتون تا چ حد با کیفیت باشه.
اما با داشتن شناخت نسبت به شی گرایی با خیال راحت میتونین اندرویدو شروع کنید و در کنار خوندن مطالب اندروید مطالب پیشرفته تر جاوا رو هم به طور موازی پیش ببرید.
۱۳ قسمت اول آموزش جاوا کاپ رو ببینید اگر مطالب آموزشی رو کامل یاد گرفتید میتونین اندروید رو شروع کنید.
البت این نظره منه وگرنه خیلی از آموزشگاه ها میگن اصن نیازی به جاوا نیست که به نظر من این آموزشگاه فقد به فکر درآمد بیشتر هستند.
موفق باشید !
برای اندروید کتاب head first بسیار کتاب خوبیه
کتاب the big nerd ranch guide هم کتاب خوبیه
با سلام خدمت استاد گرامی
من با مفاهیم شی گرایی در جاوا آشنایی خوبی دارم و پس از تماشای ویدءو های آموزشی شما از این موضوع خیالم راحت شد.
حالا میخواستم نسخه سازمانی جاوا رو آغاز کنم.
با توجه به قدیمی بودن کتاب آقای صدیقی کمی از این بابت نگرانم.
از دوستانم که در این موارد تجربه داشتند مشورت خواستم ایشون برای شروع مطاله در مورد JSF رو پیشنهاد کردند.
میخواستم اگر امکانش هس نظرتان رو در مورد این موضوع بیان کنید.(آیا JSF برای شروع نقطه آغاز خوبی است؟)
اگر خوب است چه کتابی را معرفی میکنید؟
Core JavaServer Faces (3rd Edition) 3rd Edition
این نام کتابی است که دوسم معرفی کرد.
با تشکر
سلام. هر چند JSF یکی از استانداردهای مهم و متأخر جاوا برای ساخت برنامههای وب است، اما استقبال از این استاندارد در صنعت کم بوده و به مرور کمتر هم شده است ( نه فقط در ایران). به نظر من بهتر است با مبانی JavaEE آشنا شوید و سپس سراغ JPA یا Hibernate بروید و سپس Spring را مطالعه فرمایید. برای محتوای آموزشی در این زمینهها، سایتهایی مثل tutorialpoints یا javatopints را ببینید.
سلام
دیگه آزمون های جاوا برگزار نمیشه؟ لطفا توضیح بدید
احتمالاً یک آزمون دیگر در سال ۱۳۹۵ داشته باشیم.
سلام. ببخشید الان ردیف ۸ که پایه جاوا سازمانی هست مگه نباید کتاب وب در جاوا اقای صدیقی رو میذاشتید؟
کتاب j2ee صدیقی به sparing,hibernate…پرداخته.
سلام
دیگه آزمون های جاوا برگزار نمیشه؟ لطفا توضیح بدید
ایا ازمون های جاوا دیگر برگزار نمیشوند ؟
با سلام، یک سوال داشتم، آیا کتاب های آقای صدیقی برای مطالعه خیلی قدیمی نیستند؟ ضمن اینکه برای شروع java ee باید از کجا شروع کنم؟ آیا می توانم مستقیما به سراغ spring بروم یا باید اول به مباحث java ee مسلط باشم و سپس کار بر روی فریم ورک spring را شروع کنم؟ بسیار ممنون از راهنمایی شما
سلام. متأسفانه همین طوره و کتابهای آقای صدیقی اندکی قدیمی شده اند. برای شروع JavaEE بهتره از استانداردهای JavaEE به خصوص JSP و Servlet شروع کنید و سپس سراغ Spring بروید. هرچند از Spring بدون JavaEE هم میتوانید استفاده کنید.
سلام.
دو کتاب java a beginners guide و java the complete reference رو جزء منابع معرفی نکردید. این دو کتاب رو خود اوراکل منتشر کرده و توی منابع توی سایتش گذاشته. یعنی شما اینارو جزو منابع نمی دونید؟
اینها هم منابع بدی نیستند. ما حداقل منابع لازم و معمول را معرفی کردیم.
نظر شما راجب فیلم های آموزشی چیه ؟ اینکه اول فیلم نگاه کنیم بعد بیایم کتاب بخونیم ( مخصوصا توی java ee) بهتر نیست ؟ اگه فیلم های خاصی هم مد نظر دارید معرفی کنید . سپاس
سلام
من سوال واسم پیش اومده
چرا تو لیست منابعی که ذکر کردید هیچ اشاره ای به کتاب
Effective Java
نکردید؟ یعنی این کتاب رو جزو منابع خوب برای داشتن یه دید عمیق تو جاوا به حساب نمیارید؟
این کتاب هم کتاب خوب و محبوبی است ولی این کتاب نسبتا قدیمی است و نسخه جدیدی ندارد و تغییرات جدید جاوا را پوشش نمیدهد
البته خیلی هم قدیمی نیست……الان ویرایش دومش revised و update شده واسه Java SE 6 موجود هست.
http://www.amazon.com/Effective-Java-Edition-Joshua-Bloch/dp/0321356683
و این رو هم در نظر بگیرید که چن درصد از شرکت های آی تی ایرانی که با جاوا کار میکنن دارن از جاوا۷ یا ۸ و ویژگی های جدیدشون استفاده میکنن؟
سلام ، من دانشچوی رشته هوش مصنوعی هستم، سوالی که دارم اینه که برای شبیه سازی ها و مدلینگ های مختلف با روش های مختلف ( شبکه عصبی، فازی و …) از جاوا میشه کمک گرفت؟ البته نه فقط در محیط دانشگاه، چون برای کارهای دانشگاه از متلب استفاده می کنیم. ولی متلب خروجی اگزه نداره. بعدا برای بازار کار.
با تشکر
بله میشه از جاوا برای کارهای هوش مصنوعی استفاده کرد. بسیاری از کتابخانهها و امکانات هوش مصنوعی در زبان جاوا پیاده شده اند. حتی امکانات جدیدی به صورت متنباز منتشر شدهاند که الگوریتمهای هوش مصنوعی را به صورت کارا و سریع و توزیع شده اجرا میکنند. در این مورد اخیر، اینجا را ببینید:
http://mahout.apache.org/
سلام برای ردیف ۸ و ۱۵ مخصوصاً مورد ۸ کتاب انگلیسی معرفی می کنید!
برای مورد ۸:
http://docs.oracle.com/javaee/7/tutorial/doc/home.htm
مورد ۱۵ موارد مختلفی را شامل میشود. مثلاً برای Maven شاید این بد نباشه:
http://www.sonatype.com/resources/books/maven-by-example
ممنونم.:)
من تقریبا java fundamentelsرو بلدم و میخوام برا مسابقه بعدی جوا کاپ خودمو آماده کنم شما از بین منابعی که معرفی کردیندیگه کدوم یکیش رو مهم تر میدونین و توصیه میکنین؟
خواهش دیگرم این بود که زود به زود توساییتتون سوالات برنامه نویسی بزارین سوالاتی که میدونین کار کردن رو اونا خیلی اموزنده هست.ممنون.
اگر میخواهید یک منبع معرفی کنیم، پیشنهاد میکنیم یکی از سه منبع اول را انتخاب کنید. هر سه کتاب خوب هستند و البته هر کدام هم نقاط ضعف و قوت خاص خود را دارند. مثلاً کتاب دوم عمق بیشتری دارد ولی قدیمی تر از دو اتی دیگر است. اگر کتاب دایتل (منبع اول) را انتخاب کردید، برای مباحث Reflection و Generics به سراغ منبع دوم بروید.
با سلام خدمت شما
من به طراحی وب علاقه دارم.اما نمیدونم جاوا به دردم میخوره یا نه؟
از ۲ تا استاد دانشگاهم پرسیدم بهم جاوا رو معرفی کردند ولی نگفتم برای طراحی وب میخوام.
زمینه برنامه نویسی جاوا چیه؟
طراحی وب حوزه وسیعی است. برنامه نویسی سمت سرور (Server side)، طراحی واسط کاربر (UX) و غیره. شما باید مشخص کنید به چه بخشی علاقه دارید. جاوا برای برنامههای متوسط و بزرگ سمت سرور گزینه مناسبی است.
یکی که میخواد جاوا کار باشه همه این منابع رو باید بخونه تا بتونه توی بازار کاری انجام بده؟
سؤال بسیار خوبی است. نه اصلاً برای وارد شدن به بازار کار، خواندن همه این منابع لازم نیست. بسیاری از این منابع، همپوشانی دارند. مثلاً پنج منبع اول، همگی مراجع معروف آموزش جاوا هستند و خواندن یکی از آنها برای آشنایی اولیه با زبان جاوا کاملاً کافی است. بهتر است در هر موضوع، حداقل یک منبع را انتخاب کنید.
برای ورود به بازار کار در زمینه جاوا، ردیف ۱ قطعاً لازم است، ردیفهای ۲،۴ و ۶ مهم هستند و سایر موارد، بسته به محل کار مهم میشود. مواردی وجود داشته که با داشتن گواهینامه جاوا پیشرفته انجمن جاواکاپ، که فقط موارد ۱و۲و۴و۵و۶ را شامل میشود، مشغول به کار شدهاند.