5️⃣ #توصیه پنجم: ساختار داخلی JMV را یاد بگیرید
اگر واقعا قصد دارید تبدیل به یک توسعهدهنده حرفهای جاوا شوید، باید برای یادگیری ساختار داخلی #JVM وقت بگذارید. مثلا باید با بخشهای مختلف JVM، وظایف و نحوه کار هر یک آشنا باشید (JIT، JVM options، زبالهروب، collectorها و ...).
اگر JVM را خوب بشناسید، میتوانید برنامههایی قدرتمند و با کارایی بالا بنویسید. یعنی دقیقا همان کاری که توسعهدهندگان حرفهای جاوا انجام میدهند.
در این میان، این را هم باید بیاموزید که چگونه برنامه جاوایی خود را از جنبههای مختلف مانیتور کنید و چگونه گلوگاههای کارایی را بیابید.
برای یک آموزش ساختارمند، پیشنهاد میکنیم کتاب The Definitive Guide to Java Performance اثر Scott Oaks را که یک کتاب عالی در این زمینه است، بخوانید.
@IranianJavaDevelopers
اگر واقعا قصد دارید تبدیل به یک توسعهدهنده حرفهای جاوا شوید، باید برای یادگیری ساختار داخلی #JVM وقت بگذارید. مثلا باید با بخشهای مختلف JVM، وظایف و نحوه کار هر یک آشنا باشید (JIT، JVM options، زبالهروب، collectorها و ...).
اگر JVM را خوب بشناسید، میتوانید برنامههایی قدرتمند و با کارایی بالا بنویسید. یعنی دقیقا همان کاری که توسعهدهندگان حرفهای جاوا انجام میدهند.
در این میان، این را هم باید بیاموزید که چگونه برنامه جاوایی خود را از جنبههای مختلف مانیتور کنید و چگونه گلوگاههای کارایی را بیابید.
برای یک آموزش ساختارمند، پیشنهاد میکنیم کتاب The Definitive Guide to Java Performance اثر Scott Oaks را که یک کتاب عالی در این زمینه است، بخوانید.
@IranianJavaDevelopers
فهرست تیمهایی که تا به امروز به حد نصاب (حداقل سه عضو) رسیدهاند.
همدانشگاهیها و همکاران خود را دعوت به شرکت در مسابقه کنید تا شانس تیم شما در ردهبندی گروهی بیشتر شود.
@IranianJavaDevelopers
همدانشگاهیها و همکاران خود را دعوت به شرکت در مسابقه کنید تا شانس تیم شما در ردهبندی گروهی بیشتر شود.
@IranianJavaDevelopers
6️⃣ #توصیه ششم: الگوهای طراحی را یاد بگیرید
#الگوهای_طراحی برای حل مسائل و مشکلات متداول در طراحی برنامههای نرمافزاری، راهحلهایی کلی و قابل استفاده مجدد ارایه میدهند. از این راهحلها در طول زمان بسیار استفاده شدهاست و بنابراین میتوان گفت امتحان خود را پس دادهاند.
با دانستن و استفاده از این الگوها در کد خود، برنامه شما انعطافپذیرتر میشود و در آینده اعمال تغییرات در آن آسانتر خواهد بود.
همچنین استفاده از الگوهای طراحی به طور کلی باعث بهبود کیفیت کد و مستندات آن میشود؛ زیرا سایر توسعهدهندگان جاوا نیز با این الگوها آشنایی دارند و به سرعت میتوانند راهحل شما را بفهمند.
بهتر است فقط روی کدنویسی تمرکز نکنید و روح الگوها را درک کرده و خلاقانه از آنها استفاده کنید. مثلا میتوانید از ویژگیهای #جاوا_8 مثل لامبدا و جویبار (Stream) برای نوشتن الگوها استفاده کنید.
اگر به دنبال منبعی برای یادگیری الگوهای طراحی هستید، میتوانید به اینجا مراجعه کنید که همراه با مثال الگوها را توضیح داده. دوستداران کتاب هم میتوانند کتاب Head First Design Patterns را تهیه و مطالعه کنند.
@IranianJavaDevelopers
#الگوهای_طراحی برای حل مسائل و مشکلات متداول در طراحی برنامههای نرمافزاری، راهحلهایی کلی و قابل استفاده مجدد ارایه میدهند. از این راهحلها در طول زمان بسیار استفاده شدهاست و بنابراین میتوان گفت امتحان خود را پس دادهاند.
با دانستن و استفاده از این الگوها در کد خود، برنامه شما انعطافپذیرتر میشود و در آینده اعمال تغییرات در آن آسانتر خواهد بود.
همچنین استفاده از الگوهای طراحی به طور کلی باعث بهبود کیفیت کد و مستندات آن میشود؛ زیرا سایر توسعهدهندگان جاوا نیز با این الگوها آشنایی دارند و به سرعت میتوانند راهحل شما را بفهمند.
بهتر است فقط روی کدنویسی تمرکز نکنید و روح الگوها را درک کرده و خلاقانه از آنها استفاده کنید. مثلا میتوانید از ویژگیهای #جاوا_8 مثل لامبدا و جویبار (Stream) برای نوشتن الگوها استفاده کنید.
اگر به دنبال منبعی برای یادگیری الگوهای طراحی هستید، میتوانید به اینجا مراجعه کنید که همراه با مثال الگوها را توضیح داده. دوستداران کتاب هم میتوانند کتاب Head First Design Patterns را تهیه و مطالعه کنند.
@IranianJavaDevelopers
انجمن جاواکاپ
Photo
هدیه🎁 بده، تخفیف 💸بگیر
از امروز میتوانید پس از ثبتنام در سامانه ایوند و رفتن به صفحه ثبتنام پنجمین آزمون جاواکاپ، از گزینه اعتبار رایگان استفاده کنید.
کافی است لینک مخصوص خود را برای دوستانتان ارسال کنید. در این صورت اگر دوستتان با استفاده از لینک شما اقدام به ثبتنام کند، به میزان 8 درصد خریدش تخفیف میگیرد و شما هم با هر بار خرید دوستانتان، به میزان 12% خریدشان اعتبار رایگان هدیه میگیرید.
از امروز میتوانید پس از ثبتنام در سامانه ایوند و رفتن به صفحه ثبتنام پنجمین آزمون جاواکاپ، از گزینه اعتبار رایگان استفاده کنید.
کافی است لینک مخصوص خود را برای دوستانتان ارسال کنید. در این صورت اگر دوستتان با استفاده از لینک شما اقدام به ثبتنام کند، به میزان 8 درصد خریدش تخفیف میگیرد و شما هم با هر بار خرید دوستانتان، به میزان 12% خریدشان اعتبار رایگان هدیه میگیرید.
ایوند
پنجمین مسابقه کشوری جاواکاپ - جمعه ۲۷ مهر ۹۷
خرید بلیت و ثبتنام پنجمین مسابقه کشوری جاواکاپ در ایوند - زمان: جمعه ۲۷ مهر ۹۷ - موضوع: تکنولوژی - محل برگزاری: تهران
7️⃣ #توصیه هفتم: ابزار DevOps را یاد بگیرید
برای یک توسعهدهنده بهروز جاوا، برخورداری از دانش #DevOps امری ضروری است. حداقل باید با مفاهیم تجمیع پیوسته (Continuous Integration یا #CI) و استقرار پیوسته (Continuous Deployment یا #CD) و همچنین با نحوه کارکرد ابزاری مانند #جنکینز (Jenkins) در این زمینه آشنا باشید.
برای توسعهدهندههای ارشد جاوا که معمولا مسئولیت تنظیم و اعمال best practiceها، ایجاد محیط، ساخت اسکریپتها و دستورالعملها را بر عهده دارند، توجه به این مورد مهمتر نیز میشود.
همچنین توصیه میکنیم وقت بیشتری برای یادگیری DevOps و ابزارهایی مانند #Docker و Kubernetes و Chef و غیره در کنار #Maven و جنکینز، صرف کنید.
اگر به دنبال منبعی برای یادگیری هستید، دوره Master Jenkins CI For DevOps and Developers در Udemy احتمالا بهترین دوره برای شروع یادگیری است. در این دوره علاوه بر CI و CD، جنکینز و Maven را هم یاد میگیرید.
@IranianJavaDevelopers
برای یک توسعهدهنده بهروز جاوا، برخورداری از دانش #DevOps امری ضروری است. حداقل باید با مفاهیم تجمیع پیوسته (Continuous Integration یا #CI) و استقرار پیوسته (Continuous Deployment یا #CD) و همچنین با نحوه کارکرد ابزاری مانند #جنکینز (Jenkins) در این زمینه آشنا باشید.
برای توسعهدهندههای ارشد جاوا که معمولا مسئولیت تنظیم و اعمال best practiceها، ایجاد محیط، ساخت اسکریپتها و دستورالعملها را بر عهده دارند، توجه به این مورد مهمتر نیز میشود.
همچنین توصیه میکنیم وقت بیشتری برای یادگیری DevOps و ابزارهایی مانند #Docker و Kubernetes و Chef و غیره در کنار #Maven و جنکینز، صرف کنید.
اگر به دنبال منبعی برای یادگیری هستید، دوره Master Jenkins CI For DevOps and Developers در Udemy احتمالا بهترین دوره برای شروع یادگیری است. در این دوره علاوه بر CI و CD، جنکینز و Maven را هم یاد میگیرید.
@IranianJavaDevelopers
8️⃣ #توصیه هشتم: برنامهنویسی با Kotlin را یاد بگیرید
در کتاب The Well-Grounded Java Developers بر روی مزایای تبدیلشدن به یک برنامهنویس چندزبانی تاکید شدهاست. این کتاب الهامبخش نویسنده این مقاله (Javin Paul) برای یادگیری #Scala بوده و بعدا #Groovy را نیز به دلیل کاربرد آن در ایجاد اسکریپتهای ساخت (build) و #تست_واحد، امتحان کرده است. این تجربه کمک زیادی به او کرده و به همین دلیل توسهدهندگان جاوا را به یادگیری زبانهای JMVای جدیدتر تشویق میکند. میتوانید به مقاله سه زبان JVM که برنامهنویسان جاوا باید یاد بگیرند (از همین نویسنده)، مراجعه کنید، ولی اگر وقت ندارید، فقط #کاتلین (#Kotlin) را یاد بگیرید.
زبان کاتلین توسط شرکت #JetBrains (سازنده IntelliJ IDEA) طراحی شده است و در سال ۲۰۱۷ توسط گوگل به عنوان زبان رسمی توسعه Android معرفی شد.
یادگیری کاتلین نه تنها تواناییها و بهرهوری شما را افزایش میدهد، بلکه به شما کمک میکند تا به محیط توسعه اندروید هم وارد شوید. اگر قصد دارید امسال کاتلین را یاد بگیرید و به دنبال منابع خوبی میگردید، این لیست از دورههای آموزشی کاتلین نقطه شروع خوبی برای شما خواهد بود.
@IranianJavaDevelopers
در کتاب The Well-Grounded Java Developers بر روی مزایای تبدیلشدن به یک برنامهنویس چندزبانی تاکید شدهاست. این کتاب الهامبخش نویسنده این مقاله (Javin Paul) برای یادگیری #Scala بوده و بعدا #Groovy را نیز به دلیل کاربرد آن در ایجاد اسکریپتهای ساخت (build) و #تست_واحد، امتحان کرده است. این تجربه کمک زیادی به او کرده و به همین دلیل توسهدهندگان جاوا را به یادگیری زبانهای JMVای جدیدتر تشویق میکند. میتوانید به مقاله سه زبان JVM که برنامهنویسان جاوا باید یاد بگیرند (از همین نویسنده)، مراجعه کنید، ولی اگر وقت ندارید، فقط #کاتلین (#Kotlin) را یاد بگیرید.
زبان کاتلین توسط شرکت #JetBrains (سازنده IntelliJ IDEA) طراحی شده است و در سال ۲۰۱۷ توسط گوگل به عنوان زبان رسمی توسعه Android معرفی شد.
یادگیری کاتلین نه تنها تواناییها و بهرهوری شما را افزایش میدهد، بلکه به شما کمک میکند تا به محیط توسعه اندروید هم وارد شوید. اگر قصد دارید امسال کاتلین را یاد بگیرید و به دنبال منابع خوبی میگردید، این لیست از دورههای آموزشی کاتلین نقطه شروع خوبی برای شما خواهد بود.
@IranianJavaDevelopers
9️⃣ #توصیه نهم: Microserviceها را یاد بگیرید
معماری نرمافزارها بهطور مداوم در حال تغییر است و بسیاری از شرکتها نیز در حال جایگزینی برنامههای یکپارچه با #میکروسرویسها هستند.
وقت آن فرا رسیده تا توسعهدهندگان جاوا معماری میکروسرویسها و نحوه ایجاد میکروسرویسها را در جاوا یاد بگیرند تا از این موجی که اخیرا ایجاد شده، بهرهمند شوند.
خوشبختانه چارچوب #Spring با فراهمکردن #Spring_Boot و #Spring_Cloud، کار توسعهی میکروسرویسها در جاوا را برای ما راحتتر کردهاست.
اگر به دنبال دوره آموزشی هستید، دوره Master Microservices with Spring Boot and Spring Cloud برای شروع خوب است.
همچنین اگر کتاب را ترجیح میدهید، پیشنهاد میکنیم کتاب Cloud Native Java نوشتهی Josh Long را مطالعه کنید. این کتاب راهنمای جامعی را برای توسعه برنامههای جاوا برای cloud ارایه میدهد.
@IranianJavaDevelopers
معماری نرمافزارها بهطور مداوم در حال تغییر است و بسیاری از شرکتها نیز در حال جایگزینی برنامههای یکپارچه با #میکروسرویسها هستند.
وقت آن فرا رسیده تا توسعهدهندگان جاوا معماری میکروسرویسها و نحوه ایجاد میکروسرویسها را در جاوا یاد بگیرند تا از این موجی که اخیرا ایجاد شده، بهرهمند شوند.
خوشبختانه چارچوب #Spring با فراهمکردن #Spring_Boot و #Spring_Cloud، کار توسعهی میکروسرویسها در جاوا را برای ما راحتتر کردهاست.
اگر به دنبال دوره آموزشی هستید، دوره Master Microservices with Spring Boot and Spring Cloud برای شروع خوب است.
همچنین اگر کتاب را ترجیح میدهید، پیشنهاد میکنیم کتاب Cloud Native Java نوشتهی Josh Long را مطالعه کنید. این کتاب راهنمای جامعی را برای توسعه برنامههای جاوا برای cloud ارایه میدهد.
@IranianJavaDevelopers
بودجهبندی پنجمین آزمون جاواکاپ (97) اعلام شد:
http://javacup.ir/jc/javacup-5-syllabus/
@IranianJavaDevelopers
http://javacup.ir/jc/javacup-5-syllabus/
@IranianJavaDevelopers
🔟 #توصیه دهم: IDE خود را بهتر یاد بگیرید
توسعهدهندگان حرفهای جاوا، کار با ابزارهایشان را خیلی خوب بلدند. آنها نسبت به توسعهدهندگان معمولی، نهتنها ابزارهای بیشتری را میشناسند، بلکه به ابزارهای خود به خوبی مسلط هستند.
از آنجایی که IDEهایی مانند #Eclipse و #NetBeans و #IntelliJ_IDEA از مهمترین ابزارها برای توسعه جاوا هستند، باید زمانی را صرف یادگیری و شناخت آنها کنید.
میتوانید کار با پلاگینهای کاربردی را یاد بگیرید و یا به میانبرهای صفحه کلید مسلط شوید و سرعت خود را در کار با IDE بالا ببرید.
حتی برخی از ترفندهای کوچک هم میتواند خیلی به شما کمک کند، زیرا بیشتر از چیزی که فکر میکنید از آنها استفاده خواهید کرد. اگر از Eclipse استفاده میکنید و میخواهید مهارتهای IDE خود را ارتقا دهید به دوره Eclipse Debugging Techniques And Tricks در Udemy سر بزنید.
@IranianJavaDevelopers
توسعهدهندگان حرفهای جاوا، کار با ابزارهایشان را خیلی خوب بلدند. آنها نسبت به توسعهدهندگان معمولی، نهتنها ابزارهای بیشتری را میشناسند، بلکه به ابزارهای خود به خوبی مسلط هستند.
از آنجایی که IDEهایی مانند #Eclipse و #NetBeans و #IntelliJ_IDEA از مهمترین ابزارها برای توسعه جاوا هستند، باید زمانی را صرف یادگیری و شناخت آنها کنید.
میتوانید کار با پلاگینهای کاربردی را یاد بگیرید و یا به میانبرهای صفحه کلید مسلط شوید و سرعت خود را در کار با IDE بالا ببرید.
حتی برخی از ترفندهای کوچک هم میتواند خیلی به شما کمک کند، زیرا بیشتر از چیزی که فکر میکنید از آنها استفاده خواهید کرد. اگر از Eclipse استفاده میکنید و میخواهید مهارتهای IDE خود را ارتقا دهید به دوره Eclipse Debugging Techniques And Tricks در Udemy سر بزنید.
@IranianJavaDevelopers
انجمن جاواکاپ via @like
#دستگرمی کدام دو متد تصمین میکنند که thread از وضعیت درحالاجرا (running) خارج شود؟ 1. yeild() 2. wait() 3. notify() 4. sleep(100) 🔵 2, 4 🔴 1, 4 ⚫️ 2, 3 ⚪️ 1, 2
#پاسخ_دستگرمی
گزینه 🔵 (2,4) صحیح است:
🔹متد wait باعث میشود اجرای thread متوقف شده و در صف انتظار قرار گیرد.
🔹متد sleep هم با توجه به مدت زمان معینشده، اجرای thread را مدتی متوقف میکند.
🔸نکته: متد yield تضمین نمیکند که اجرای thread متوقف شود (ممکن است سریعا return شود).
@JavaCupIR
گزینه 🔵 (2,4) صحیح است:
🔹متد wait باعث میشود اجرای thread متوقف شده و در صف انتظار قرار گیرد.
🔹متد sleep هم با توجه به مدت زمان معینشده، اجرای thread را مدتی متوقف میکند.
🔸نکته: متد yield تضمین نمیکند که اجرای thread متوقف شود (ممکن است سریعا return شود).
@JavaCupIR
Forwarded from CodeCup
🏁چهارمین دوره مسابقات برنامهنویسیکدکاپ
☝️این بار در ۸ تکنولوژی و دهها زبانبرنامهنویسی برگزار میشود.
#مسابقه_برنامه_نویسی_کشوری
#دیجیکالا #Quera
🔹ثبت نام:
quera.ir/codecup
@codecup
☝️این بار در ۸ تکنولوژی و دهها زبانبرنامهنویسی برگزار میشود.
#مسابقه_برنامه_نویسی_کشوری
#دیجیکالا #Quera
🔹ثبت نام:
quera.ir/codecup
@codecup