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