با سلام و خسته نباشید به همه کنکوری های امسال و علاقمندان به یادگیری جاوا
با اجازه از دوستان فعال در این صفحه، چند تا تجربه کوچکی که در این چندسال کار در زمینه جاوا دارم رو براتون می نویسم:
۱- چرا جاوا؟
در ابتدا کمی تحقیق کنید که چرا می خواهید جاوا رو یاد بگیرید؟ آیا واقعا جاوا در حوزه کاری شما کاربردی داره؟ و...
۲- Java صرفا یه زبان برنامه نویسی نیست !
Java Programming Language ابزاری است برای ورود به Java Technology. باید توجه داشت که این تکنولوژی بسیار فراتر از یه زبان برنامه نویسی است.
در ابتدا بد نیست با Java Community Process یا همون JCP آشنا بشید، پوستر ارائه شده در لینک زیر شما رو با این روند آشنا می کنه، این
پوستر مربوط به زمانی است که Sun Microsystems توسعه دهنده اصلی Java بود، اما به هر حال این روند هنوز مشابه قبل است.
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
(متاسفانه هنوز برخی از سایت های مربوط به این حوزه از قبیل oracle.com و netbeans.org به روی IP های ایران بسته است.)
سپس به خوبی متوجه می شوید که چرا برای یک Java Specification Request یا JSR پیاده سازی های متفاوتی وجود داره. مثلا برای JSR 186,286 تیم های زیادی، پیاده سازی های متفاوتی ارائه کرده اند:
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
سایت زیر به برخی از پیاده سازی های Open Source در تکنولوژی Java اشاره کرده، به عنوان مثال راجع به JSR 186,286 به ۲۳ پیاده سازی Open Source اشاره شده است.
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
۳- جاوا چند بخشه؟!
به طور کلی به سه قسمت زیر تقسیم می شه:
Java Standard Edition (Java SE)
Java Enterprise Edition (Java EE)
Java Micro Edition (Java ME)
۴- چگونه جاوا رو یاد بگیریم؟
برای یادگیری روش هایی از قبیل رفتن به کلاس، خوندن کتاب، دیدن Tutorial ها و یا اسلایدهای مفید، وجود داره که هر کدوم محاسن و معایب خاص خودش رو داره، ولی حتما سعی کنید که برای خودتون deadline تعریف کنید و در انتها یه پروژه نهایی (شامل همه مباحثی که یادگرفتید) رو آماده کنید. اگر زیاد طول بکشه و شما موفق به انجام حتی به پروژه ساده هم نشید، کم کم دلسرد می شید و دست از کار می کشید. همچنین باید توجه داشت که صرفا با کلاس رفتن و کتاب و اسلاید خوندن نمی توان برنامه نویس شد!
به جدول زیر توجه کنید:
اگر برای دوره Java SE 1 مباحث زیر در نظر گرفته شود، با در نظر نگرفتن جلسات ۱۴-۱۱ می توانید یه برنامه تحت کنسول برای ارتباط با DB بنویسید که بسیاری از اصول OOP در زبان جاوا رو رعایت کرده باشید و با اضافه شدن مباحث جلسات ۱۳ و ۱۴ می توانید به برنامه تون GUI اضافه کنید و اصطلاحا Desktop Application نوشته باشید.
جلسه ۱ • Java Platform Overview (Strategies, Services, Features and Benefits)
• Application Development & Deployment (Tools and IDEs)
جلسه ۲ • Java Keywords, Data Types, Operators, Control flow
جلسه ۳ • Object Oriented Analysis and Design & UML
• Classification Methods and Use-Case Driven
جلسه ۴ • Object Creation, Constructors, Encapsulation
• Mutable & Immutable Objects, Business Object, Value Object
جلسه ۵ • Static, Singletons and Overview of OO Design Patterns
جلسه ۶ • Polymorphism and Class Inheritance
جلسه ۷ • Interface Inheritance, Marker Interfaces and Adapter Classes
جلسه ۸ • Factories and Template Method
• Static, Inner and Local Inner Classes
جلسه ۹ • Packaging and Java Standard Packages
• Collection Framework & Generics
جلسه ۱۰ • Exceptions and Error Handling
• Assertion and Logging
جلسه ۱۱ • I/O Streams and File Handling
• Object Serialization and JavaBeans
جلسه ۱۲ • Network Socket
• Multithreaded Programming
جلسه ۱۳ • GUI Design with Swing (and AWT)
جلسه ۱۴ • Event Handling
• MVC Design & Observer
• Applet
جلسه ۱۵ • Java Database Connectivity (JDBC)
جلسه ۱۶ • Sample CRUD Project
جلسه ۱۷ • Unit Test Framework: JUnit, DbUnit, Mockito
تدریس مباحث بالا ۵۰ ساعت زمان می بره، لازم به ذکر است که در حوزه های متفاوت جاوایی بحث های بسیار زیادی وجود داره، ولی برای شروع کار لازم به دونستن آنها نیست. مثلا می توان از Spring و hibernate استفاده کرد و برای پوسته گرافیکی از rich client platform ها استفاده کرد. حواس تون باشه که وسعت و جزئیات مطالب بسیار زیاده و تا دست به کد نشید به اکثرشون پی نمی برید، بنابراین ابتدا اصول رو یادبگیرید.
انتخاب کتاب خوب خیلی در روند آموزشی موثره و می تونه سرعت شما رو بالا ببره. اما نیازی نیست که اول کار همه فصل های یه کتاب رو بخونید. پیشنهاد می کنم تا جایی که براتون مقدور هست از منابع انگلیسی استفاده کنید.
کتاب های فارسی زیر هم اثر یکی از جاواکاران با سابقه ایران هست، همچنین ایشون کتاب Spring Persistence with Hibernate رو به زبان انگلیسی نوشته اند.
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
سایت زیر، اسلاید های کامل و آپدیتی رو برای آموزش step by step در حوزه جاوا داره که خیلی خیلی کمک می کنه.
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
در ضمن در کنار مطالعه منابع جاوا، آشنایی با بعضی از Design Pattern ها برای برنامه نویسی خوب الزامی است.
حوزه Java EE هم شامل مباحث متعددی مانند RMI, e-mail, JMS, web services, XML و... می شود که انشاءالله در وقت دیگری درباره آن بحث خواهد شد.
در انتها پیشنهاد می کنم مصاحبه زیر (درباره یادگیری جاوا) رو با یکی از مدرسان درس برنامه نویسی جاوا در دانشگاه شریف بخونید:
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
انجمن های فعال در کشور در زمینه جاوا : (که بنده می شناسم)
جاواکاپ : انجمن جاواکاپ فرصت بسیار خوبی برای ارزیابی و یافتن موقعیت شغلی در زمینه جاوا رو در اختیار شما قرار می ده.
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
صفحه جاواکاپ در Linkedin :
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
صفحه جاواکاپ در facebook :
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
====================================
J2EE list :
j2eelist@yahoogroups.com
موفق باشید
علی قرائی