JavaRush /وبلاگ جاوا /Random-FA /چک لیست توسعه دهندگان جاوا. آنچه یک توسعه دهنده باید بدان...

چک لیست توسعه دهندگان جاوا. آنچه یک توسعه دهنده باید بداند

در گروه منتشر شد
سلام! امروز در مورد مسیر توسعه یک توسعه دهنده جاوا و آنچه که او باید بداند تا مورد تقاضا باشد صحبت خواهیم کرد. چک لیست توسعه دهندگان جاوا.  آنچه یک توسعه دهنده باید بداند - 1هر توسعه‌دهنده‌ای در مصاحبه می‌تواند نامزدی را برای یک موقعیت "شکست" دهد. به عنوان مثال، او شروع به پرسیدن سوالاتی در مورد موضوعات خاصی می کند که در پروژه فعلی با آنها مواجه شده است. اما اشکالی ندارد که همه چیز را ندانیم. پاسخ ندادن به برخی سوالات نیز طبیعی است. به طور کلی، هر برنامه نویس جاوا باید دانش اولیه ای از توسعه داشته باشد. بنابراین، بیایید ببینیم چه فناوری هایی "اساسی" در نظر گرفته می شوند.

1. الگوریتم های اساسی

اولین چیزی که هنگام شروع یادگیری برنامه نویسی باید انجام دهید (این نه تنها در مورد جاوا صدق می کند) تجزیه و تحلیل اصول اولیه است. به عنوان مثال، الگوریتم ها. تعداد نامتناهی از آنها وجود دارد، و شما نباید سال های تمام را صرف یادگیری هرچه بیشتر الگوریتم های ممکن کنید: بیشتر آنها برای شما مفید نخواهند بود. حداقل دانش مورد نیاز را می توان از کتاب « الگوریتم های غوغایی » به دست آورد. این برای شروع سفر کافی است، اما در صورت تمایل می توانید با کمک کتاب « ساختارها و الگوریتم ها » یا «الگوریتم ها در جاوا» نوشته رابرت سدویک و کوین وین، یاد بگیرید. من همچنین به شما توصیه می کنم که دانش خود را از مبانی علوم کامپیوتر افزایش دهید. این را می توان در JavaRush با استفاده از دوره CS50 انجام داد .

2. نحو جاوا

پس از یادگیری اصول اولیه الگوریتم ها، باید سینتکس جاوا را یاد بگیریم. از این گذشته، همه ما اینجا یاد می گیریم که برنامه نویس جاوا باشیم، اینطور نیست؟ دوره JavaRush برای این کار عالی است. در فرآیند انجام وظایف متعدد، به نحوی به زبان جاوا مسلط خواهید شد و بدون فکر کردن، کدهای جاوا را می نویسید/خوان می کنید، انگار که زبان مادری شماست. JavaRush یک تمرین است و علاوه بر آن، باید به تئوری نیز نگاه کنید تا بفهمید دقیقاً چه کاری انجام می دهید. برای این کار می‌توانید کتاب‌هایی را بخوانید، مثلاً یکی از موارد زیر:
  • Head First Java ”؛
  • «جاوا برای آدمک‌ها» نوشته بری برد.
  • «جاوا. راهنمای مبتدیان» هربرت شیلد.
پس از خواندن این کتاب ها، می توانید کتاب های دشوارتری را انتخاب کنید:
  • «فلسفه جاوا»، بروس اکل؛
  • "برنامه نویسی موثر"، جاشوا بلوخ.
  • «جاوا. راهنمای کامل، هربرت شیلد.
خواندن سه کتاب آخر برای مبتدیان آسان نیست، اما می توانند پایه ای محکم در تئوری جاوا ارائه دهند. همچنین، مقالات JavaRush را فراموش نکنید، زیرا آنها می توانند توضیحاتی را در مورد اکثر موضوعات مورد علاقه شما بیابند. می توانید مقاله مورد نیاز خود را با تایپ موضوع مورد نظر خود بیابید: چک لیست توسعه دهندگان جاوا.  آنچه یک توسعه دهنده باید بداند - 2همچنین توصیه می کنم به دنبال سوالات مصاحبه جاوا مانند این مجموعه سوالات در مورد کلاس ها و رابط های انتزاعی باشید . این به شما کمک می کند بفهمید دقیقاً چه چیزی را باید مطالعه کنید و برای چه سؤالاتی آماده باشید.چک لیست توسعه دهندگان جاوا.  آنچه یک توسعه دهنده باید بداند - 3

3. الگوهای برنامه نویسی

الگوهای برنامه نویسی برخی از الگوهای تکرارپذیر هستند که نشان دهنده راه حلی برای یک مشکل در یک زمینه مکرر هستند. در میان آنها قالب های ساده و ابتدایی وجود دارد که هر برنامه نویسی که به خود احترام می گذارد باید بداند. برای درک این موضوع، از کتاب « اول سر. الگوهای طراحی .” او الگوهای اصلی برنامه نویسی را به وضوح توضیح خواهد داد. اما کتاب در مورد جاوا بسیار صحبت می کند ، بنابراین در زمان مطالعه کتاب باید به این زبان برنامه نویسی تسلط داشته باشید. برای بررسی عمیق‌تر الگوها، می‌توانید «تکنیک‌های طراحی شی‌گرا» را نیز بخوانید. الگوهای طراحی» از باند چهار ( گروه چهار: تیمی از نویسندگان شامل اریش گاما، ریچارد هلم، رالف جانسون، جان ولیسیدز - یادداشت سردبیر) . پس از مطالعه این موضوع، تقریباً در همه جای کد خود الگوها را مشاهده خواهید کرد. به این نکته توجه کنید، به خصوص الگوهای استفاده شده در فصل بهار ، زیرا این یک سوال رایج در مصاحبه ها است.

4. پارادایم های برنامه نویسی. تمیزی کد

علاوه بر الگوهای برنامه نویسی استاندارد، اصول و پارادایم های مختلفی وجود دارد که باید بدانید ( SOLID ، GRASP ). همچنین لازم است از تمیز و خوانایی کد اطمینان حاصل شود. همه چیزهایی که باید در مورد این موضوع بدانید در کتاب « کد پاک » نوشته رابرت مارتین آمده است یا کتاب «کد کامل» نوشته استیو مک کانل را امتحان کنید.

5.SQL

گام بعدی ما مطالعه زبان پایگاه داده های رابطه ای - SQL است . پایگاه داده جایی است که اطلاعات (داده) یک برنامه وب در آن ذخیره می شود. یک پایگاه داده از جداول زیادی تشکیل شده است (کتاب آدرس روی گوشی شما ساده ترین نمونه از این جداول است). در این مقاله می توانید اطلاعات بیشتری در مورد پایگاه های داده بخوانید . برای توسعه دهندگان جاوا، حوزه مسئولیت تنها برنامه جاوا نیست، بلکه پایگاه داده ای است که با آن تعامل دارد و داده ها را در کجا ذخیره می کند. در پایگاه داده های رابطه ای (متداول ترین)، تمام تعاملات از طریق یک زبان خاص - زبان پرس و جو ساختاریافته یا SQL انجام می شود. برای درک این موضوع کافی است یکی از کتاب های زیر را بخوانید:
  • "یادگیری SQL" توسط آلن بیولی.
  • "SQL"، کریس فیالی؛
  • “Head First SQL” نوشته لین بیلی.
اما تمرین بدون تئوری کار نمی کند، اینطور است؟ و در مصاحبه‌ها برای آزمایش دانش SQL، اغلب (تقریباً همیشه) یک یا دو مشکل در نوشتن یک پرس و جوی SQL می‌دهند. بنابراین، بسیار مهم است که مهارت های عملی SQL خود را تقویت کنید تا خود را در یک نور خوب نشان دهید. یک منبع عالی برای به دست آوردن تمرین SQL می تواند منبع sql-ex.ru باشد .

6. MySQL/PostgreSQL

پس از یادگیری زبان SQL، باید با پیاده سازی پایگاه داده خاص آشنا شوید. بسته به پایگاه داده، برخی از دستورات ممکن است به شدت متفاوت باشند. و تفاوت در قابلیت های پایگاه داده کاملا محسوس است. رایج ترین پایگاه داده های رابطه ای MySQL و PostgreSQL هستند . چک لیست توسعه دهندگان جاوا.  آنچه یک توسعه دهنده باید بداند - 4MySQL بسیار ساده تر است، اما PostgreSQL قابلیت های بیشتری دارد. برای شروع، کافی است حداقل با یکی از آنها آشنا باشید. اگر از مهارت های گوگل استفاده می کنید، می توانید پیاده سازی های پایگاه داده را مطالعه کنید - مقالات و آموزش های لازم را در یوتیوب بیابید. شما باید در جستجوی صحیح سؤالاتی که مورد علاقه شما هستند، مهارت داشته باشید، زیرا برنامه نویس فردی است که در جستجوهای Google "با کمربند سیاه" شناخته می شود.

7. Maven/Gradle

شما باید یکی از فریمورک های Gradle یا Maven را مطالعه کنید که برای مونتاژ پروژه ها طراحی شده اند، زیرا اکنون برای شما جاوا نه تنها وظایف چند کلاس است، بلکه زبانی برای نوشتن برنامه های کاربردی کامل است. باید بدانید که چگونه یک پروژه را مونتاژ کنید، مراحل اسمبلی چیست، چگونه کتابخانه های خارجی لازم را با کد آماده بارگذاری کنید، و خیلی چیزهای دیگر. اگرچه Gradle جدیدتر و مختصرتر است، Maven در بیشتر موارد استفاده می شود. بنابراین، به چرخه عمر مونتاژ آن توجه ویژه ای داشته باشید.

8. گیت

Git یک سیستم کنترل نسخه توزیع شده است. این فناوری به توسعه دهندگان این امکان را می دهد که به طور مشترک یک برنامه بدون تداخل با یکدیگر ایجاد کنند. البته، آنالوگ هایی برای این سیستم کنترل نسخه وجود دارد. به عنوان مثال، براندازی . اما این Git است که عمدتا استفاده می شود و شما باید بتوانید با آن کار کنید. چک لیست توسعه دهندگان جاوا.  آنچه یک توسعه دهنده باید بداند - 5علاوه بر مقالات آموزشی در مورد آن، ویدیوهای کافی در یوتیوب وجود دارد که به شما کمک می کند تا قدم به قدم بر این فناوری مسلط شوید. در ابتدا بهتر است از کنسول Git استفاده کنید و نه نوعی پیاده سازی رابط، زیرا در آن باید همه چیز را از طریق دستورات انجام دهید. در طول مصاحبه، مردم اغلب دستورات Git را می‌پرسند ، بنابراین توصیه می‌کنم آنها را یادداشت کنید و در جایی دم دستی نگه دارید. همچنین به شما توصیه می کنم یادداشتی داشته باشید که در آن نکات مهم را مشخص کنید تا قبل از مصاحبه آن را مرور کنید و حافظه خود را تازه کنید.

9. JDBC

این فناوری برای ایجاد ارتباط بین برنامه جاوا و پایگاه داده رابطه ای طراحی شده است. برای آشنایی با اصول اولیه مطالعه مقاله JDBC یا Where It All Begins را توصیه می کنم. علیرغم این واقعیت که هیچ کس دیگر مستقیماً از JDBC برهنه استفاده نمی کند، مقالات زیادی در مورد توضیح فناوری JDBC و ارائه مثال های ابتدایی وجود دارد.

10. JPA. خواب زمستانی

JPA راهی برای برقراری ارتباط بین یک برنامه جاوا و یک پایگاه داده است، درست مانند JDBC. اما در عین حال، JPA یک فناوری سطح بالاتر و بر این اساس، استفاده آسان تر است. اما JPA فقط یک مشخصه (مفهوم) است که اجرا نمی شود و نیاز به پیاده سازی خاصی دارد. بسیاری از این پیاده سازی ها وجود دارد، اما نزدیک ترین آنها به ایده آل های JPA، محبوب و توسعه یافته، Hibernate در نظر گرفته می شود . در حرفه توسعه خود، بیش از یک بار با این فناوری روبرو خواهید شد. بنابراین، علاوه بر آشنایی با این فناوری از طریق مقالات، ممکن است ارزش مطالعه کتابی در مورد آن را داشته باشید، به عنوان مثال، Java Persistence API .

11. بهار

وقتی یک توسعه دهنده جاوا می شوید، Spring دیگر برای شما یک کلمه نیست. چک لیست توسعه دهندگان جاوا.  آنچه یک توسعه دهنده باید بداند - 6اکنون این فریم ورک در جایگاه اول اهمیت با نیاز به دانستن نحو زبان جاوا مشترک است. می توان گفت که Spring همتای خود را دارد، یعنی فناوری های Java EE. اما Java EE قدیمی است و دیگر در پروژه های جدید استفاده نمی شود. اکثریت قریب به اتفاق توسعه دهندگان جاوا در حال حاضر توسعه دهندگان Java Spring هستند، بنابراین دانش برخی از فناوری های اولیه Spring الزامی است. Spring فقط یک فریم ورک نیست، بلکه یک پلتفرم کامل از فریم ورک ها است: چک لیست توسعه دهندگان جاوا.  آنچه یک توسعه دهنده باید بداند - 7و این تنها بخشی از چارچوب هایی است که Spring ارائه می کند. کافی است که یک مبتدی فقط تعدادی از آنها را بداند:

  • هسته فنری

باید در وهله اول متوجه شوید که اسپرینگ چیست: ظرف اسپرینگ، لوبیا، DI، IoC و غیره چیست. بنابراین، فلسفه استفاده از Spring را درک کنید. مطالعه بیشتر فریمورک های Spring بر اساس این پایه انجام خواهد شد. ممکن است ارزش ایجاد اپلیکیشن کوچک خود را داشته باشد که به تدریج فناوری های جدیدی را که آموخته اید به آن اضافه کنید.

  • بهار JDBC

قبلاً در مورد فناوری JDBC به عنوان فناوری ایجاد اتصال به پایگاه داده صحبت کردیم. به طور کلی، استفاده «برهنه» از فناوری ممکن است در پروژه‌ها در حال حاضر یافت نشود، بنابراین ممکن است به نظر برسد که یادگیری JDBC ضروری نیست. اما اینطور نیست. با نگاهی به استخوان های لخت JDBC می توانید این فناوری را در سطح پایین تری ببینید و مشکلات و کاستی های آن را درک کنید. هنگامی که شروع به یادگیری Spring JDBC کردید، متوجه خواهید شد که این فریم ورک دقیقا چه چیزی را بهبود می بخشد، بهینه می کند و از چشم ما پنهان می کند.

  • خواب زمستانی بهار

مانند JDBC بدون استخوان، این چارچوب استفاده از فناوری موجود، در این مورد Hibernate را بهبود می بخشد. اگر از Hibernate بدون Spring استفاده کنید، دقیقاً متوجه خواهید شد که مزایای استفاده از Spring Hibernate چیست.

  • JPA بهار

قبلاً در مورد JPA صحبت کردیم و اینکه چگونه آن فقط یک مشخصات است که پیاده سازی های مختلفی برای آن وجود دارد. در میان این پیاده سازی ها، Hibernate نزدیک ترین به ایده آل است. فنر اجرای ایده آل JPA خود را دارد که از Hibernate "زیر هود" استفاده می کند و تا حد امکان به ایده آل مشخصات JPA نزدیک است. این فناوری Spring JPA نام دارد. به هر حال، دسترسی به پایگاه داده را بسیار ساده می کند. شما می توانید JPA را فقط بدون یادگیری JDBC، Hibernate، Spring JDBC، Spring Hibernate یاد بگیرید. اما در این صورت دانش شما از اتصال به پایگاه داده بسیار سطحی خواهد بود.

  • فنر MVC

با این فناوری می توانیم رابط وب اپلیکیشن خود را به کاربران نمایش دهیم و به رابط اجازه دهیم تا با بقیه اپلیکیشن ارتباط برقرار کند. این فناوری همچنین می تواند بدون نمایشگر کار کند، زمانی که برخی از برنامه ها مسئول نمایش هستند و شما با استفاده از درخواست ها و پاسخ ها با استفاده از فناوری RESTful با این برنامه تعامل دارید. برای درک بهتر اطلاعات در مورد بهار، علاوه بر مقالات و سخنرانی ها در یوتیوب، می توانید چندین کتاب بخوانید. من کتاب "بهار در عمل" نوشته والز کریگ را خیلی دوست داشتم. متأسفانه در زبان روسی اکنون فقط نسخه سوم وجود دارد که منسوخ شده است. توصیه می کنم اگر انگلیسی را خوب می دانید نسخه 6 را بخوانید. یکی دیگر از کتاب های عالی در مورد بهار "بهار 5 برای حرفه ای ها" است. یادگیری آن سخت‌تر است و بیشتر شبیه کتاب مقدس بهاری است که بهتر است در دسترس داشته باشید تا از روی جلد به جلد بخوانید.چک لیست توسعه دهندگان جاوا.  آنچه یک توسعه دهنده باید بداند - 8

  • چکمه بهاره

این فناوری استفاده از اسپرینگ را تا حد زیادی ساده می کند. من آن را به دلیلی در انتهای لیست قرار دادم، زیرا چیزهای زیادی را در زیر "هود" پنهان می کند و برای فردی که با بهار معمولی آشنا نیست، بسیاری از نکات ممکن است واضح و نامفهوم نباشند. ابتدا، برای درک بهتر نحوه کار فریمورک های Spring، باید از Spring معمولی و سپس از تمام مزایای بالاتر استفاده از Spring Boot استفاده کنید. همچنین به شما توصیه می کنم که با Spring Security و Spring AOP آشنا شوید. اما بر خلاف فناوری های بالا، دانش عمیق این دو در حال حاضر مورد نیاز نیست. این فناوری برای مبتدیان نیست. در طول مصاحبه، از جوانان در مورد آنها سؤال نمی شود (به جز یک سؤال سطحی). به طور کلی بخوانید که این فناوری ها چیست و چگونه کار می کنند. در طول این مقاله بارها به خواندن کتاب اشاره کرده ام. از یک طرف، این ضروری نیست. شما می توانید بدون مطالعه یک کتاب، برنامه نویس شوید، با مطالعه همه چیزهایی که از مقالات و فیلم های آموزشی نیاز دارید. از سوی دیگر، در حال حاضر رقابت در بازار برای توسعه دهندگان تازه کار بالا است، که سطح دانش اولیه مورد نیاز را برای یک مبتدی بالا می برد. بنابراین، هر چه بیشتر بدانید، سریع‌تر می‌توانید اولین شغل خود را با تحت تأثیر قرار دادن مصاحبه‌گر با سطح دانش خود به دست آورید. از همه شما متشکرم و امیدوارم جاوا همراه شما باشد .چک لیست توسعه دهندگان جاوا.  آنچه یک توسعه دهنده باید بداند - 9
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION