از مهمترین ویژگیهای یک توسعهدهنده خوب و باتجربه جاوا، داشتن دانش و اطلاعات زیاد در خصوص API جاوا از جمله jdk و کتابخانههای جاوایی است.
در این سلسله مطالب، به معرفی ۲۰ نوع کتابخانه متنباز جاوا که آشنایی با آنها برای توسعهدهندگان لازم و مفید است، میپردازیم.
برای بهره بردن از امکاناتی که این کتابخانهها در اختیار شما قرار میدهند، در مرحله اول باید از وجود آنها باخبر باشید و هدف از این سلسه مطالب هم، دقیقا همین است.
در ادامه و به مرور، لیست کتابخانههای مفید جاوا در 20 زمینهی مختلف را با هم مرور میکنیم و به این ترتیب شما درصورت نیاز، با یک سرچ ساده میتوانید از آنها استفاده کنید.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
در این سلسله مطالب، به معرفی ۲۰ نوع کتابخانه متنباز جاوا که آشنایی با آنها برای توسعهدهندگان لازم و مفید است، میپردازیم.
برای بهره بردن از امکاناتی که این کتابخانهها در اختیار شما قرار میدهند، در مرحله اول باید از وجود آنها باخبر باشید و هدف از این سلسه مطالب هم، دقیقا همین است.
در ادامه و به مرور، لیست کتابخانههای مفید جاوا در 20 زمینهی مختلف را با هم مرور میکنیم و به این ترتیب شما درصورت نیاز، با یک سرچ ساده میتوانید از آنها استفاده کنید.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
شماره یک: لاگزنی
کتابخانههای #لاگزنی (#Logging) بسیار پراستفاده و پرکاربردند. زیرا تقریبا در هر پروژهای به آنها نیاز پیدا میکنید.
یکی از مهمترین کارها در اپلیکیشنهای سمت سرور، لاگزدن است؛ زیرا لاگها تنها جایی از برنامه هستند که به کمک آنها میتوانید بفهمید دقیقا در اپلیکیشنتان چه خبر است.
با وجودی که jdk خودش کتابخانهای برای لاگزنی دارد، اما جایگزینهای بهتری مانند کتابخانههای #Log4j و #SLF4j و #LogBack وجود دارد.
هر توسعهدهنده جاوا باید با مزایا و معایب کتابخانههای لاگزنی آشنا باشد و مثلا بداند که چرا استفاده از SLF4j بهتر از Log4j است (در آینده نزدیک، سعی میکنیم در این خصوص مطالبی رو باهاتون به اشتراک بذاریم).
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
کتابخانههای #لاگزنی (#Logging) بسیار پراستفاده و پرکاربردند. زیرا تقریبا در هر پروژهای به آنها نیاز پیدا میکنید.
یکی از مهمترین کارها در اپلیکیشنهای سمت سرور، لاگزدن است؛ زیرا لاگها تنها جایی از برنامه هستند که به کمک آنها میتوانید بفهمید دقیقا در اپلیکیشنتان چه خبر است.
با وجودی که jdk خودش کتابخانهای برای لاگزنی دارد، اما جایگزینهای بهتری مانند کتابخانههای #Log4j و #SLF4j و #LogBack وجود دارد.
هر توسعهدهنده جاوا باید با مزایا و معایب کتابخانههای لاگزنی آشنا باشد و مثلا بداند که چرا استفاده از SLF4j بهتر از Log4j است (در آینده نزدیک، سعی میکنیم در این خصوص مطالبی رو باهاتون به اشتراک بذاریم).
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
شماره دو: کار با JSON
در دنیای امروز که دنیای خدمات وب و اینترنت اشیا است، #JSON تبدیل به پروتکلی برای انتقال اطلاعات بین کلایت و سرور شده است. در خیلی جاها برای انتقال اطلاعات، JSON را جایگزین XML کردهاند.
متاسفانه هنوز jdk کتابخانهای برای JSON ندارد، اما خوشبختانه کتابخانههای زیادی وجود دارند که امکان پارسکردن و ایجاد پیامهای JSON را به شما میدهند؛ مانند #Jackson و #Gson.
هر توسعهدهنده جاوا، باید با حداقل یکی از این کتابخانهها آشنایی داشته باشد.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
در دنیای امروز که دنیای خدمات وب و اینترنت اشیا است، #JSON تبدیل به پروتکلی برای انتقال اطلاعات بین کلایت و سرور شده است. در خیلی جاها برای انتقال اطلاعات، JSON را جایگزین XML کردهاند.
متاسفانه هنوز jdk کتابخانهای برای JSON ندارد، اما خوشبختانه کتابخانههای زیادی وجود دارند که امکان پارسکردن و ایجاد پیامهای JSON را به شما میدهند؛ مانند #Jackson و #Gson.
هر توسعهدهنده جاوا، باید با حداقل یکی از این کتابخانهها آشنایی داشته باشد.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
شماره سه: تست واحد
#تست_واحد (#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