سلام! امروز ما در مورد مسیر رشد یک توسعه دهنده جاوا و آنچه که او باید بداند تا مورد تقاضا باشد صحبت خواهیم کرد. در یک مصاحبه، هر توسعهدهندهای ممکن است نامزد شغل را کباب کند. به عنوان مثال، آنها ممکن است شروع به پرسیدن سوالاتی در مورد موضوعات خاصی کنند که در پروژه فعلی خود با آنها مواجه شده اند. اما ندانستن همه چیز طبیعی است. این که نمی توانید به برخی از سوالات پاسخ دهید نیز طبیعی است. به عنوان یک قاعده کلی، هر برنامه نویس جاوا باید درک اولیه ای از توسعه نرم افزار داشته باشد. بنابراین بیایید نگاهی بیندازیم به آنچه که "اساسی" در نظر گرفته می شود.
شما باید این را در وهله اول قرار دهید تا بتوانید بفهمید Spring چیست - همه چیز در مورد ظروف Spring، لوبیا، DI، IoC و غیره. به اصطلاح برای درک فلسفه استفاده از Spring. مطالعه بیشتر شما در مورد فریمورک های Spring بر روی این پایه قرار خواهد گرفت. شاید باید برنامه کوچک خود را ایجاد کنید که بتوانید به تدریج تمام فناوری های تازه آموخته شده را در آن بگنجانید.
قبلاً از JDBC به عنوان یک فناوری برای ایجاد اتصال پایگاه داده یاد کردیم. به طور کلی، استفاده "برهنه" از این فناوری دیگر در پروژه ها یافت نمی شود، بنابراین ممکن است به این نتیجه برسید که یادگیری JDBC ضروری نیست. این نگرش کاملا درست نیست. با کاوش در استفاده عریان (مستقیم) از JDBC، می توانید این فناوری را در سطح پایین تری ببینید و مشکلات و کاستی های آن را درک کنید. سپس وقتی شروع به یادگیری Spring JDBC می کنید، متوجه خواهید شد که این فریم ورک دقیقا چه چیزی را بهبود می بخشد، بهینه می کند و پنهان می کند.
مشابه وضعیت JDBC برهنه، این چارچوب از یک فناوری موجود، در این مورد، Hibernate استفاده می کند. اگر به فکر استفاده از هایبرنیت بدون اسپرینگ باشید، قطعاً به مزایایی که اسپرینگ هایبرنیت ارائه می دهد پی خواهید برد.
قبلاً در مورد JPA صحبت کردیم و اشاره کردیم که فقط یک مشخصات است، اگرچه پیاده سازی های مختلفی دارد. در میان این پیاده سازی ها، Hibernate به ایده آل نزدیک تر است. فنر اجرای JPA ایده آل خود را دارد که از Hibernate در زیر هود استفاده می کند. تا حد امکان به ایده آل مشخصات JPA نزدیک است. به آن بهار JPA می گویند. در یک کلام، دسترسی به پایگاه داده را بسیار ساده می کند. شما فقط می توانید JPA را بدون یادگیری JDBC، Hibernate، Spring JDBC یا Spring Hibernate یاد بگیرید. اما اگر این رویکرد را در پیش بگیرید، دانش شما از نحوه اتصال به پایگاه داده بسیار سطحی خواهد بود.
این فناوری امکان نمایش رابط وب اپلیکیشن ما را برای کاربران و تسهیل ارتباط بین اینترفیس و بقیه اپلیکیشن ها فراهم می کند. این فناوری همچنین میتواند بدون نمایشگر استفاده شود، زمانی که برنامهای دارید که وظیفه مدیریت نمایشگر را بر عهده دارد و با استفاده از فناوری RESTful
با برنامه تعامل دارید . برای دریافت بهتر اطلاعات در مورد بهار، علاوه بر مقالات و سخنرانی های یوتیوب، می توانید چندین کتاب بخوانید. کتاب «بهار در عمل» نوشته کریگ والز را خیلی دوست داشتم. به شما توصیه می کنم اگر انگلیسی را خوب می دانید، نسخه 6 را بخوانید. یکی دیگر از کتاب های عالی در مورد بهار "بهار 5 برای حرفه ای ها" است. متراکم تر است. بیشتر شبیه مرجعی است که در دسترس بودن آن ارزشمندتر از خواندن جلد به جلد آن است.
این فناوری استفاده از اسپرینگ را تا حد زیادی ساده می کند. من آن را از روی هوس در انتهای لیست قرار ندادم. در واقع، چیزهای زیادی را زیر کاپوت پنهان می کند، و برای کسی که با فنر وانیلی آشنا نیست، بسیاری از نکات ممکن است نامشخص یا غیرقابل درک باشد. ابتدا، برای درک بهتر نحوه عملکرد فریمورکهای Spring، باید از Spring معمولی استفاده کنید و سپس از تمام مزایای بالاتر استفاده از Spring Boot استفاده کنید. همچنین توصیه می کنم با Spring Security و Spring AOP آشنا شوید. اما برخلاف فناوریهای بالا، دانش عمیق این دو هنوز مورد نیاز نیست. این فناوری برای مبتدیان نیست. در مصاحبه ها، از برنامه نویسان جوان در مورد آنها سؤال نمی شود (به جز یک سؤال سطحی، شاید). مروری بر چیستی این فناوری ها و اصول پشت کار آنها را بخوانید. در این مقاله بارها به کتابخوانی اشاره کرده ام. از یک طرف، این اجباری نیست. شما می توانید بدون مطالعه یک کتاب، برنامه نویس شوید و تمام دانش مورد نیاز را از مقالات آنلاین و فیلم های آموزشی به دست آورید. از سوی دیگر، در بازار کار، رقابت بین توسعه دهندگان تازه کار در حال حاضر زیاد است، که این امر باعث می شود که یک مبتدی بداند. بنابراین، هرچه بیشتر بدانید، با تحت تاثیر قرار دادن مصاحبه کننده با سطح دانش خود، سریعتر اولین شغل خود را پیدا خواهید کرد. با تشکر از همه، جاوا همراه شما باشد.
1. الگوریتم های اساسی
اولین چیزی که هنگام شروع به یادگیری برنامه نویسی (نه فقط جاوا) باید به آن پرداخت، درک اصول اولیه است. مثلا الگوریتم ها. تعداد نامتناهی از آنها وجود دارد، و شما نباید تمام سال های زندگی خود را در تلاش برای یادگیری هرچه بیشتر الگوریتم ها بکشید: اکثر آنها برای شما مفید نخواهند بود. حداقل دانش لازم را می توانید از کتاب «الگوریتم های گروکینگ» به دست آورید. این برای شروع کافی است، اما اگر بخواهید می توانید از کتاب «ساختارها و الگوریتم ها» یا «الگوریتم ها در جاوا» نوشته رابرت سج ویک و کوین وین یاد بگیرید. همچنین توصیه میکنم دانش خود را در زمینه علوم کامپیوتر افزایش دهید. این را می توان با دوره هاروارد CS50 انجام داد.2. نحو جاوا
پس از یادگیری اصول اولیه الگوریتم ها، باید سینتکس جاوا را یاد بگیریم. از این گذشته، همه ما در حال مطالعه برای تبدیل شدن به برنامه نویس جاوا در اینجا هستیم، درست است؟ دوره CodeGym برای این کار عالی است. همانطور که کارهای بی شماری را انجام می دهید، دستور زبان جاوا را به دست خواهید آورد و سپس، بدون تردید، کد جاوا را طوری می نویسید/می خوانید که گویی زبان مادری شماست. CodeGym تمرین است، اما فراتر از آن، باید به تئوری نیز نگاه کنید تا بفهمید چه کاری انجام می دهید. برای این کار می توانید کتاب بخوانید. به عنوان مثال یکی از موارد زیر:- "سر اول جاوا"،
- "جاوا برای آدمک ها" نوشته بری برد.
- "جاوا: راهنمای مبتدیان" نوشته هربرت شیلد.
- "تفکر در جاوا"، بروس ایکل.
- «جاوای مؤثر» اثر جاشوا بلوخ.
- "جاوا: مرجع کامل" اثر هربرت شیلد.
3. الگوهای طراحی
الگوهای طراحی، الگوهای تکرارپذیر خاصی هستند که مشکلات را در زمینههایی که اغلب با آن مواجه میشوند، حل میکنند. آنها شامل الگوهای اولیه و ساده ای هستند که هر برنامه نویسی که به خود احترام می گذارد باید بداند. برای درک این موضوع، کتاب «الگوهای طراحی اول سر» را بگیرید. این الگوهای طراحی اولیه را به روشی قابل دسترس توضیح می دهد. اما این کتاب در مورد جاوا بسیار صحبت می کند، بنابراین وقتی این کتاب را مصرف می کنید به تسلط بر این زبان برنامه نویسی نیز نیاز خواهید داشت. برای بررسی عمیقتر الگوها، میتوانید «الگوهای طراحی: عناصر نرمافزار شی گرا با قابلیت استفاده مجدد» را از گروه چهار ( یادداشت سردبیر: گروه چهار گروهی از نویسندگان شامل اریش گاما، ریچارد هلم، رالف) بخوانید. جانسون، جان ولیسیدس. ). هنگامی که این موضوع را مطالعه کردید، تقریباً در همه جای کد خود الگوها را مشاهده خواهید کرد. به این مورد توجه کنید، به خصوص به الگوهای استفاده شده در بهار، زیرا این یک سؤال مصاحبه محبوب است.4. پارادایم های برنامه نویسی. تمیزی کد
علاوه بر الگوهای طراحی استاندارد، اصول و پارادایم های مختلفی وجود دارد که باید از آنها آگاه بود ( SOLID ، GRASP ). همچنین باید کد خود را تمیز و خوانا نگه دارید. برای همه چیز، باید در مورد این موضوع بدانید، به Clean Code اثر رابرت مارتین مراجعه کنید، یا "Code Complete" اثر Steve McConnell را بررسی کنید.5. SQL
گام بعدی ما مطالعه یک زبان برای پایگاه داده های رابطه ای - SQL است . پایگاه داده ها جایی هستند که اطلاعات (داده) مورد استفاده یک برنامه وب در آن ذخیره می شود. یک پایگاه داده از چندین جدول تشکیل شده است (کتاب آدرس روی تلفن شما یک مثال ساده است). توسعه دهندگان جاوا نه تنها مسئول برنامه جاوا هستند، بلکه مسئولیت پایگاه داده ای را نیز بر عهده دارند که با آن تعامل دارد و اطلاعات خود را در کجا ذخیره می کند. در پایگاه داده های رابطه ای (که رایج ترین نوع هستند)، تمام تعاملات از طریق زبان خاصی به نام زبان پرس و جو ساختاریافته یا SQL انجام می شود. برای درک این موضوع، تنها کاری که باید انجام دهید این است که یکی از این کتاب ها را بخوانید:- "یادگیری SQL" توسط Alan Beaulieu.
- "SQL" توسط کریس فیهیلی؛
- "Head First SQL" نوشته لین بیگلی.
GO TO FULL VERSION