CodeGym /وبلاگ جاوا /Random-FA /چک لیست یک توسعه دهنده جاوا. آنچه یک توسعه دهنده باید بدا...
John Squirrels
مرحله
San Francisco

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

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

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

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

2. نحو جاوا

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

3. الگوهای طراحی

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

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

علاوه بر الگوهای طراحی استاندارد، اصول و پارادایم های مختلفی وجود دارد که باید از آنها آگاه بود ( SOLID ، GRASP ). همچنین باید کد خود را تمیز و خوانا نگه دارید. برای همه چیز، باید در مورد این موضوع بدانید، به Clean Code اثر رابرت مارتین مراجعه کنید، یا "Code Complete" اثر Steve McConnell را بررسی کنید.

5. SQL

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

6. MySQL/PostgreSQL

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

7. Maven/Gradle

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

8. Git

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

9. JDBC

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

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

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

11. بهار

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

  • هسته فنری

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

  • بهار JDBC

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

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

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

  • JPA بهار

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

  • فنر MVC

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

  • چکمه بهاره

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