شماره سه: تست واحد
#تست_واحد (#Unit_Testing) به تنهایی مهمترین فاکتوری است که یک توسعهدهنده خوب را از یک توسعهدهنده معمولی متمایز میکند.
برنامهنویسان معمولا از نوشتن تست واحد طفره میروند و بهانه میآورند. رایجترین دلیل اجتناب آنها از نوشتن تست واحد، بیتجربگی و آشنا نبودن با کتابخانههای محبوب و مرسوم تست واحد مانند #JUnit و #Mockito و #PowerMock و #JMockit است.
اگر با حداقل یکی از این کتابخانهها آشنایی و تجربه کار دارید، بهتر است برای آشنایی با #JUnit5 و #Cucumber و چارچوب #Robot هم زمان بگذارید و سطح دانش خود را در مورد کتابخانههای تست واحد و تست تجمیعی بهبود ببخشید.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
#تست_واحد (#Unit_Testing) به تنهایی مهمترین فاکتوری است که یک توسعهدهنده خوب را از یک توسعهدهنده معمولی متمایز میکند.
برنامهنویسان معمولا از نوشتن تست واحد طفره میروند و بهانه میآورند. رایجترین دلیل اجتناب آنها از نوشتن تست واحد، بیتجربگی و آشنا نبودن با کتابخانههای محبوب و مرسوم تست واحد مانند #JUnit و #Mockito و #PowerMock و #JMockit است.
اگر با حداقل یکی از این کتابخانهها آشنایی و تجربه کار دارید، بهتر است برای آشنایی با #JUnit5 و #Cucumber و چارچوب #Robot هم زمان بگذارید و سطح دانش خود را در مورد کتابخانههای تست واحد و تست تجمیعی بهبود ببخشید.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
شماره چهار: کتابخانههای چندمنظوره
تعدادی کتابخانه خوب و #چندمنظوره (#General_Purpose) مانند #Apache_Commons و #Google_Guava در اختیار توسعهدهندگان جاوا قرار دارد که همیشه میتوانند آنها را به پروژههایشان اضافه کنند. زیرا انجام بسیاری از کارها را سادهتر میکنند.
همانطور که Joshua Bloch در کتاب Effective Java گفته است، اختراع دوباره چرخ هیچ سودی ندارد. باید استفاده از کتابخانههای امتحانشده و تستشده را به نوشتن دوباره آنها ترجیح دهیم.
آشنایی با کتابخانههای Apache Commons و Google Guava برای هر توسعهدهنده جاوایی مفید است.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
تعدادی کتابخانه خوب و #چندمنظوره (#General_Purpose) مانند #Apache_Commons و #Google_Guava در اختیار توسعهدهندگان جاوا قرار دارد که همیشه میتوانند آنها را به پروژههایشان اضافه کنند. زیرا انجام بسیاری از کارها را سادهتر میکنند.
همانطور که Joshua Bloch در کتاب Effective Java گفته است، اختراع دوباره چرخ هیچ سودی ندارد. باید استفاده از کتابخانههای امتحانشده و تستشده را به نوشتن دوباره آنها ترجیح دهیم.
آشنایی با کتابخانههای Apache Commons و Google Guava برای هر توسعهدهنده جاوایی مفید است.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
انجمن جاواکاپ برگزار میکند:
همایش جاوا ویژن
🔸 آشنایی با انجمن جاواکاپ
🔸سخنرانی
🔸 بحث، گفتوگو و شبکهسازی
🔸 آشنایی و همکاری با حامیان
مشاهده جزییات و ثبتنام:
https://bit.ly/2O9Jnio
@JavaCupIR
همایش جاوا ویژن
🔸 آشنایی با انجمن جاواکاپ
🔸سخنرانی
🔸 بحث، گفتوگو و شبکهسازی
🔸 آشنایی و همکاری با حامیان
مشاهده جزییات و ثبتنام:
https://bit.ly/2O9Jnio
@JavaCupIR
انجمن جاواکاپ
انجمن جاواکاپ برگزار میکند: همایش جاوا ویژن 🔸 آشنایی با انجمن جاواکاپ 🔸سخنرانی 🔸 بحث، گفتوگو و شبکهسازی 🔸 آشنایی و همکاری با حامیان مشاهده جزییات و ثبتنام: https://bit.ly/2O9Jnio @JavaCupIR
توجه:
شرکتکنندگان آزمون جاواکاپ ۹۷ دست نگهدارند.
پس از اعلام نتایج آزمون کتبی، شرایط ثبتنام این دوستان جهت ثبتنام در همایش با تخفیف ویژه اعلام خواهد شد.
شرکتکنندگان آزمون جاواکاپ ۹۷ دست نگهدارند.
پس از اعلام نتایج آزمون کتبی، شرایط ثبتنام این دوستان جهت ثبتنام در همایش با تخفیف ویژه اعلام خواهد شد.
شماره پنج: HTTP
یکی از نقصهای JDK، پشتیبانینکردن از #HTTP بوده است. اگرچه میتوانستید از طریق کلاسهای موجود در بسته java.net یک HTTP Connection بسازید، اما این کار به سادگی استفاده از کتابخانههای متنباز مانند #HttpClient و #HttpCore نیست.
پشتیبانی از HTTP 2.0 و همچنین پشتبیانی بهتر از HTTP به JDK 9 اضافه شده است. اما با این حال، شدیدا پیشنهاد میشود که همه توسعهدهندگان جاوا با کتابخانههای محبوب در این زمینه مثل HttpClient و HttpCore آشنایی داشته باشند.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
یکی از نقصهای JDK، پشتیبانینکردن از #HTTP بوده است. اگرچه میتوانستید از طریق کلاسهای موجود در بسته java.net یک HTTP Connection بسازید، اما این کار به سادگی استفاده از کتابخانههای متنباز مانند #HttpClient و #HttpCore نیست.
پشتیبانی از HTTP 2.0 و همچنین پشتبیانی بهتر از HTTP به JDK 9 اضافه شده است. اما با این حال، شدیدا پیشنهاد میشود که همه توسعهدهندگان جاوا با کتابخانههای محبوب در این زمینه مثل HttpClient و HttpCore آشنایی داشته باشند.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
انجمن علمی کامپیوتر دانشگاه صنعتی خواجه نصیر الدین طوسی برگزار می کند:
☕ دورهمی گروه کاربران جاوا با موضوع توسعه اپلیکیشن های مبتنی بر ماکروسرویسز
چهارشنبه 23 آبان از ساعت 17:30 الی 19:15
ثبت نام و اطلاعات بیشتر:
https://evand.com/events/kntujug-microservices
@ce_kntu
☕ دورهمی گروه کاربران جاوا با موضوع توسعه اپلیکیشن های مبتنی بر ماکروسرویسز
چهارشنبه 23 آبان از ساعت 17:30 الی 19:15
ثبت نام و اطلاعات بیشتر:
https://evand.com/events/kntujug-microservices
@ce_kntu
شماره شش: کار با XML
کتابخانههای زیادی برای کار با #XML وجود دارد. مانند #Xerces و #JAXB و #JAXP و #Dom4j و #XStream.
کتابخانه #Xerces2 نسل بعدی پارسرهای با کارایی بالا و کاملا سازگار از خانواده Apache Xerces است. این نسخه جدید Xerces، یک چارچوب کامل برای ساخت مولفهها و پیکربندی پارسر به نام Xerces Native Interface (#XNI) معرفی کرده که کاملا ماژولار است و استفاده از آن آسان.
پارسر Apache Xerces پیادهسازی مرجع XNI است اما سایر اجزای پارسر، پیکربندیها و پارسرها میتوانند با استفاده از XNI نوشته شوند.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
کتابخانههای زیادی برای کار با #XML وجود دارد. مانند #Xerces و #JAXB و #JAXP و #Dom4j و #XStream.
کتابخانه #Xerces2 نسل بعدی پارسرهای با کارایی بالا و کاملا سازگار از خانواده Apache Xerces است. این نسخه جدید Xerces، یک چارچوب کامل برای ساخت مولفهها و پیکربندی پارسر به نام Xerces Native Interface (#XNI) معرفی کرده که کاملا ماژولار است و استفاده از آن آسان.
پارسر Apache Xerces پیادهسازی مرجع XNI است اما سایر اجزای پارسر، پیکربندیها و پارسرها میتوانند با استفاده از XNI نوشته شوند.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
شماره هفت: کار با Execl
ممکنه باور نکنید، اما بسیاری از اپلیکیشنها به طریقی مجبور به تعامل با مایکروسافت #اکسل هستند.
در واقع بسیاری از اپلیکیشنها نیاز دارند بتوانند دادهها را در داخل اکسل بریزند و اگر شما هم در اپلیکیشن جاوایی خود لازم است چنین کاری انجام دهید، به Apache #POI نیاز دارید.
کتابخانه Apache POI امکان خواندن از و نوشتن در فایلهای XLS را از داخل برنامه جاوا به شما میدهد.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
ممکنه باور نکنید، اما بسیاری از اپلیکیشنها به طریقی مجبور به تعامل با مایکروسافت #اکسل هستند.
در واقع بسیاری از اپلیکیشنها نیاز دارند بتوانند دادهها را در داخل اکسل بریزند و اگر شما هم در اپلیکیشن جاوایی خود لازم است چنین کاری انجام دهید، به Apache #POI نیاز دارید.
کتابخانه Apache POI امکان خواندن از و نوشتن در فایلهای XLS را از داخل برنامه جاوا به شما میدهد.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
شماره هشت: بایتکد
اگر در حال نوشتن چارچوب یا کتابخانهای هستید که کد تولید میکند و یا با بایتکدها تعامل دارد به یک کتابخانه #بایتکد نیاز خواهید داشت.
چنین کتابخانهای به شما امکان خواندن و ویرایش بایتکد تولیدشده توسط اپلیکیشن را میدهد.
برخی از کتابخانههای محبوب بایتکد در جاوا عبارتند از: #javassist و #Cglib و #ASM.
کتابخانه javassist ویرایش و دستکاری بایتکدهای جاوا به سادگی قابل انجام است. کتابخانه ASM نیز یک کتابخانه مفید برای ویرایش بایتکد است.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
اگر در حال نوشتن چارچوب یا کتابخانهای هستید که کد تولید میکند و یا با بایتکدها تعامل دارد به یک کتابخانه #بایتکد نیاز خواهید داشت.
چنین کتابخانهای به شما امکان خواندن و ویرایش بایتکد تولیدشده توسط اپلیکیشن را میدهد.
برخی از کتابخانههای محبوب بایتکد در جاوا عبارتند از: #javassist و #Cglib و #ASM.
کتابخانه javassist ویرایش و دستکاری بایتکدهای جاوا به سادگی قابل انجام است. کتابخانه ASM نیز یک کتابخانه مفید برای ویرایش بایتکد است.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
شماره نه: connection pool پایگاهداده
اگر از طریق یک اپلیکیشن جاوایی با #پایگاهداده تعامل دارید، اما از کتابخانههای #connection_pool پایگاهداده استفاده نمیکنید، یک جای کار میلنگه.
از آنجایی که ایجاد connectionهای پایگاهداده در زمان اجرا زمانبر است و باعث کندی پردازش درخواستها میشود، همیشه توصیه میشود از کتابخانههای connection pool پایگاهداده استفاده شود. برخی از محبوبترین این کتابخانهها عبارتند از: #Commons_Pool و #DBCP و #HikariCP
در یک اپلیکیشن وب، معمولا وبسرور این امکانات را فراهم میکند. اما در اپلیکیشنهای core جاوا، برنامهنویس باید کتابخانه connection pool مورد نظر را به classpath خود اضافه کند تا بتواند از آن استفاده کند.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
اگر از طریق یک اپلیکیشن جاوایی با #پایگاهداده تعامل دارید، اما از کتابخانههای #connection_pool پایگاهداده استفاده نمیکنید، یک جای کار میلنگه.
از آنجایی که ایجاد connectionهای پایگاهداده در زمان اجرا زمانبر است و باعث کندی پردازش درخواستها میشود، همیشه توصیه میشود از کتابخانههای connection pool پایگاهداده استفاده شود. برخی از محبوبترین این کتابخانهها عبارتند از: #Commons_Pool و #DBCP و #HikariCP
در یک اپلیکیشن وب، معمولا وبسرور این امکانات را فراهم میکند. اما در اپلیکیشنهای core جاوا، برنامهنویس باید کتابخانه connection pool مورد نظر را به classpath خود اضافه کند تا بتواند از آن استفاده کند.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
شماره ده: پیامرسانی
مشابه لاگزنی و اتصال به پایگاهداده، #پیامرسانی نیز یک قابلیت مرسوم در بین بسیاری از اپلیکیشنهای جاوایی است.
جاوا، #JMS یا Java Messaging Service را به عنوان یک API استاندارد برای پیامرسانی ارایه کردهاست. JMS درواقع بخشی از J2EE است و در JSR-914 تعریف شدهاست. برای استفاده از امکانات JMS در اپلیکیشن خود، میبایست از یک پیادهسازی یا به عبارت دیگر Message Broker استفاده کنید و با استفاده از JMS Client به آن متصل شوید. #ActiveMQ یک نمونه معروف و متنباز از این پیادهسازیها است. JMS بخشی از #JDK نیست و برای استفاده از آن، میبایست فایل jms.jar را به پروژه خود اضافه کنید.
از بین سایر پروتکلهای معروف پیامرسانی میتوان به #AMQP و #MQTT اشاره کرد.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
مشابه لاگزنی و اتصال به پایگاهداده، #پیامرسانی نیز یک قابلیت مرسوم در بین بسیاری از اپلیکیشنهای جاوایی است.
جاوا، #JMS یا Java Messaging Service را به عنوان یک API استاندارد برای پیامرسانی ارایه کردهاست. JMS درواقع بخشی از J2EE است و در JSR-914 تعریف شدهاست. برای استفاده از امکانات JMS در اپلیکیشن خود، میبایست از یک پیادهسازی یا به عبارت دیگر Message Broker استفاده کنید و با استفاده از JMS Client به آن متصل شوید. #ActiveMQ یک نمونه معروف و متنباز از این پیادهسازیها است. JMS بخشی از #JDK نیست و برای استفاده از آن، میبایست فایل jms.jar را به پروژه خود اضافه کنید.
از بین سایر پروتکلهای معروف پیامرسانی میتوان به #AMQP و #MQTT اشاره کرد.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR