شماره پانزده: کار با HTML
فرمت #HTML هم مشابه JSON و XML، فرمتی است که خیلی از ما باهاش سروکار داریم. خوشبختانه، کتابخانه #JSoup، کار کردن با HTML را در برنامههای جاوایی برای ما بسیار ساده کرده است.
با استفاده از JSoup نه تنها میتوانیم HTML را پارس کنیم، بلکه میتوانیم فایلهای HTML را تولید کنیم. این کتابخانه، API بسیار مناسبی برای استخراج و دستکاری دادهها در اختیار ما قرار میدهد.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
فرمت #HTML هم مشابه JSON و XML، فرمتی است که خیلی از ما باهاش سروکار داریم. خوشبختانه، کتابخانه #JSoup، کار کردن با HTML را در برنامههای جاوایی برای ما بسیار ساده کرده است.
با استفاده از JSoup نه تنها میتوانیم HTML را پارس کنیم، بلکه میتوانیم فایلهای HTML را تولید کنیم. این کتابخانه، API بسیار مناسبی برای استخراج و دستکاری دادهها در اختیار ما قرار میدهد.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
شماره شانزده: رمزنگاری
بسته Apache Commons #Codec برای فرمتهای مختلف مانند #Base64 و Hexadecimal، رمزگذارها و رمزگشاهای (#encoder و #decoder) سادهای دارد.
این بسته علاوه بر رمزگذارها و رمزگشاهای پرکاربرد و مرسوم، شامل مجموعهای از امکانات رمزگذاریِ آوایی (phonetic) نیز میباشد.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
بسته Apache Commons #Codec برای فرمتهای مختلف مانند #Base64 و Hexadecimal، رمزگذارها و رمزگشاهای (#encoder و #decoder) سادهای دارد.
این بسته علاوه بر رمزگذارها و رمزگشاهای پرکاربرد و مرسوم، شامل مجموعهای از امکانات رمزگذاریِ آوایی (phonetic) نیز میباشد.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
شماره هفده: پایگاهداده تعبیهشده SQL
پایگاهدادههای داخل حافظهای مانند #H2 که در داخل برنامههای جاوایی میتوانند تعبیه (embed) شوند، واقعا دوستداشتنی و پرکاربرد هستند. این پایگاهدادهها، برای تست اسکریپتهای #SQL و اجرای تستهای واحدی که نیاز به #پایگاهداده دارند، عالیاند.
در کنار H2، گزینههای دیگری مانند Apache #Derby و #HSQL نیز وجود دارند و میتوانند انتخاب خوبی باشند.
#معرفی_کتابخانههای_مفید_جاوا
@JavacupIR
پایگاهدادههای داخل حافظهای مانند #H2 که در داخل برنامههای جاوایی میتوانند تعبیه (embed) شوند، واقعا دوستداشتنی و پرکاربرد هستند. این پایگاهدادهها، برای تست اسکریپتهای #SQL و اجرای تستهای واحدی که نیاز به #پایگاهداده دارند، عالیاند.
در کنار H2، گزینههای دیگری مانند Apache #Derby و #HSQL نیز وجود دارند و میتوانند انتخاب خوبی باشند.
#معرفی_کتابخانههای_مفید_جاوا
@JavacupIR
شماره هجده: عیبیابی JDBC
تعدادی کتابخانه خوب برای #JDBC وجود دارد که کار عیبیابی و رفع خطا را برای برنامهنویسان سادهتر میکنند.
یکی از این کتابخانهها، #P6spy است که بدون تغییر در کد برنامه، دادههای #پایگاهداده لاگ میزند.
به طور مثال اگر داخل کدتان از Prepared Statement یا Callable Statement استفاده کرده باشید، این کتابخانهها، به صورت دقیق، فراخوانی انجامشده به همراه پارامترها و مدت زمان اجرای فراخوانی را لاگ میزند.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
تعدادی کتابخانه خوب برای #JDBC وجود دارد که کار عیبیابی و رفع خطا را برای برنامهنویسان سادهتر میکنند.
یکی از این کتابخانهها، #P6spy است که بدون تغییر در کد برنامه، دادههای #پایگاهداده لاگ میزند.
به طور مثال اگر داخل کدتان از Prepared Statement یا Callable Statement استفاده کرده باشید، این کتابخانهها، به صورت دقیق، فراخوانی انجامشده به همراه پارامترها و مدت زمان اجرای فراخوانی را لاگ میزند.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
شماره نوزده: Serialization
استفاده از #GoogleProtocolBuffer یک راه کارآمد و قابل گسترش برای رمزگذاری (#encoding) دادههای ساختارمند است.
این کتابخانه، جایگزین بهتر و غنیتری برای Java #Serialization است.
به توسعهدهندگانِ باتجربهی جاوا، قویا توصیه میشود این کتابخانه (Google #ProtoBuf) را یاد بگیرند.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
استفاده از #GoogleProtocolBuffer یک راه کارآمد و قابل گسترش برای رمزگذاری (#encoding) دادههای ساختارمند است.
این کتابخانه، جایگزین بهتر و غنیتری برای Java #Serialization است.
به توسعهدهندگانِ باتجربهی جاوا، قویا توصیه میشود این کتابخانه (Google #ProtoBuf) را یاد بگیرند.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
شماره بیست: Networking
برخی از کتابخانههای مفید جاوا در زمینه #شبکه عبارتند از #Netty و Apache #MINA. اگر در حال نوشتن اپلیکیشنی هستید که نیاز به کارهای شبکهای سطح پایین دارید، میتوانید از این کتابخانهها استفاده کنید.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
برخی از کتابخانههای مفید جاوا در زمینه #شبکه عبارتند از #Netty و Apache #MINA. اگر در حال نوشتن اپلیکیشنی هستید که نیاز به کارهای شبکهای سطح پایین دارید، میتوانید از این کتابخانهها استفاده کنید.
#معرفی_کتابخانههای_مفید_جاوا
@JavaCupIR
#مقاله
در این مقاله دو پیادهسازی مختلف از واسط Map یعنی HashMap و TreeMap با یکدیگر مقایسه میشوند.
هر دو پیادهسازی، بخش جداییناپذیری از چارچوب Java Collections هستند و دادهها را به صورت زوجهای کلید-مقدار ذخیره میکنند.
https://goo.gl/4hgnGq
@JavaCupIR
در این مقاله دو پیادهسازی مختلف از واسط Map یعنی HashMap و TreeMap با یکدیگر مقایسه میشوند.
هر دو پیادهسازی، بخش جداییناپذیری از چارچوب Java Collections هستند و دادهها را به صورت زوجهای کلید-مقدار ذخیره میکنند.
https://goo.gl/4hgnGq
@JavaCupIR
در کانال IGTV جاواکاپ ببینید:
نگاهی گذرا بر آنچه که در پنجمین دوره از مسابقات جاواکاپ گذشت
https://www.instagram.com/tv/BsAkWLzArG3
@JavaCupIR
نگاهی گذرا بر آنچه که در پنجمین دوره از مسابقات جاواکاپ گذشت
https://www.instagram.com/tv/BsAkWLzArG3
@JavaCupIR
#مقاله
به نظر شما، در پروژههای جاوایی از کدام سطح دسترسی بیش از سایرین استفاده میشود؟ public یا protected یا private و یا default؟ آیا هنگام کد زدن، به سطح دسترسی متدها و کلاسهایتان توجهی میکنید و برای انتخاب مناسبترین سطح دسترسی، فکر میکنید؟
در این مقاله ابتدا میبینیم که میزان استفاده از هر یک از این سطوح دسترسی در پروژههای جاوایی توسط توسعهدهندگان چقدر است و سپس با هم میبینیم که چرا توجه به سطوح دسترسی مهم است.
https://goo.gl/QgfTHU
@JavaCupIR
به نظر شما، در پروژههای جاوایی از کدام سطح دسترسی بیش از سایرین استفاده میشود؟ public یا protected یا private و یا default؟ آیا هنگام کد زدن، به سطح دسترسی متدها و کلاسهایتان توجهی میکنید و برای انتخاب مناسبترین سطح دسترسی، فکر میکنید؟
در این مقاله ابتدا میبینیم که میزان استفاده از هر یک از این سطوح دسترسی در پروژههای جاوایی توسط توسعهدهندگان چقدر است و سپس با هم میبینیم که چرا توجه به سطوح دسترسی مهم است.
https://goo.gl/QgfTHU
@JavaCupIR
انجمن جاواکاپ
#دستگرمی #جاوا۹
#پاسخ_دستگرمی
هر دوی #takeWhile و #dropWhile در واقع نوعی فیلتر برای #stream هستند با این تفاوت که باعث قطعشدن stream میشوند:
📌 متد takeWhile آیتمهای stream را به ترتیب بررسی میکند و تا زمانی که شرط ورودیاش برقرار باشد، آن آیتمها را بر میدارد (take میکند). به محضی که به آیتمی برسد که شرط ورودی را نقض کند، متوقف میشود. بنابراین آیتمهای بررسیشده از آن عبور میکنند.
📌 متد dropWhile آیتمهای stream را به ترتیب بررسی میکند و تا زمانی که شرط ورودیاش برقرار باشد، پیش رفته و آیتمهای بررسیشده را دور میریزد (drop میکند). به محضی که به آیتمی برسد که شرط را نقض کند، متوقف شده و آیتمهای باقیمانده (بررسینشده) از آن عبور میکنند.
🔸 و اما پاسخ دستگرمی
✔️ اولین stream نکتهی خاصی ندارد و طبق توضیحات بالا، خروجیاش برابر با 7 است.
✔️ دومین stream بر روی یک Set اجرا میشود و از آنجا که اعضای Set ترتیب ندارند، با هر بار اجرای برنامه ممکن است اعضای آن با ترتیبهای متفاوتی به stream داده شده و به همین دلیل، نتیجه متفاوتی هم گرفته شود. بنابراین برای مثال:
✔️✔️ اگر اعضای Set با ترتیب 89657 به stream داده شوند، خروجی برابر با 657 خواهد بود و
✔️✔️ اگر اعضای Set با ترتیب 56789 به stream داده شوند، خروجی برابر با 56789 خواهد بود.
به این ترتیب، از میان گزینههای دادهشده، گزینههای ۲ و ۶ از خروجیهای ممکن این برنامه هستند و در نهایت گزینه ۷ پاسخ صحیح این دستگرمی است.
@JavaCupIR
هر دوی #takeWhile و #dropWhile در واقع نوعی فیلتر برای #stream هستند با این تفاوت که باعث قطعشدن stream میشوند:
📌 متد takeWhile آیتمهای stream را به ترتیب بررسی میکند و تا زمانی که شرط ورودیاش برقرار باشد، آن آیتمها را بر میدارد (take میکند). به محضی که به آیتمی برسد که شرط ورودی را نقض کند، متوقف میشود. بنابراین آیتمهای بررسیشده از آن عبور میکنند.
📌 متد dropWhile آیتمهای stream را به ترتیب بررسی میکند و تا زمانی که شرط ورودیاش برقرار باشد، پیش رفته و آیتمهای بررسیشده را دور میریزد (drop میکند). به محضی که به آیتمی برسد که شرط را نقض کند، متوقف شده و آیتمهای باقیمانده (بررسینشده) از آن عبور میکنند.
🔸 و اما پاسخ دستگرمی
✔️ اولین stream نکتهی خاصی ندارد و طبق توضیحات بالا، خروجیاش برابر با 7 است.
✔️ دومین stream بر روی یک Set اجرا میشود و از آنجا که اعضای Set ترتیب ندارند، با هر بار اجرای برنامه ممکن است اعضای آن با ترتیبهای متفاوتی به stream داده شده و به همین دلیل، نتیجه متفاوتی هم گرفته شود. بنابراین برای مثال:
✔️✔️ اگر اعضای Set با ترتیب 89657 به stream داده شوند، خروجی برابر با 657 خواهد بود و
✔️✔️ اگر اعضای Set با ترتیب 56789 به stream داده شوند، خروجی برابر با 56789 خواهد بود.
به این ترتیب، از میان گزینههای دادهشده، گزینههای ۲ و ۶ از خروجیهای ممکن این برنامه هستند و در نهایت گزینه ۷ پاسخ صحیح این دستگرمی است.
@JavaCupIR
خوشحال میشیم زیر آخرین پست اینستاگرام، نظراتتون رو در خصوص آزمون کتبی جاواکاپ که مهرماه امسال برگزار شد، بشنویم.
قطعا نظرات، انتقادات و پیشنهادات شما برای دستاندرکاران جاواکاپ بسیار باارزشه و باعث رشد جاواکاپ میشه😊
https://www.instagram.com/p/BssrPDjg65V/?utm_source=ig_share_sheet&igshid=665s92wqczb6
@JavaCupIR
قطعا نظرات، انتقادات و پیشنهادات شما برای دستاندرکاران جاواکاپ بسیار باارزشه و باعث رشد جاواکاپ میشه😊
https://www.instagram.com/p/BssrPDjg65V/?utm_source=ig_share_sheet&igshid=665s92wqczb6
@JavaCupIR