#اصطلاحات_مهم
ریفکتور (Refactor) چیه؟🧐
ریفکتور یعنی تغییر و بهبود کد بدون تغییر در عملکرد آن. این کار معمولاً برای سادهتر کردن کد، بهبود خوانایی و حذف کدهای اضافی انجام میشه.✔️
یعنی میخواهید کد را به گونهای بنویسید که بهتر خوانده بشه و راحتتر نگهداری بشه، ولی بدون اینکه کارایی برنامه تغییر کنه.⚙️
➖➖➖➖➖➖
🤖 @kotlinbox
ریفکتور (Refactor) چیه؟
ریفکتور یعنی تغییر و بهبود کد بدون تغییر در عملکرد آن. این کار معمولاً برای سادهتر کردن کد، بهبود خوانایی و حذف کدهای اضافی انجام میشه.
یعنی میخواهید کد را به گونهای بنویسید که بهتر خوانده بشه و راحتتر نگهداری بشه، ولی بدون اینکه کارایی برنامه تغییر کنه.
➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13⚡2 2
#کوییز_باکس
⚙️ سطح سوال : متوسط رو به بالا ( زیادی راحت )
❓ چرا باید در هنگام استفاده از Retrofit، از GsonConverterFactory استفاده کنید؟
➖➖➖➖➖➖
🤖 @kotlinbox
➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
Kotlin Box | کاتلین باکس
متوسط رو به بالا ( زیادی راحت )
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7👨💻3👍1
Kotlin Box | کاتلین باکس
#کوییز_باکس ⚙️ سطح سوال : متوسط رو به بالا ( زیادی راحت ) ❓ چرا باید در هنگام استفاده از Retrofit، از GsonConverterFactory استفاده کنید؟ ➖➖➖➖➖➖ 🤖 @kotlinbox
➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡8👍1👨💻1
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻11👍3⚡1
#توصیه
📌 مراقبت از اندازه فایلهای تصویری
اندازه بزرگ تصاویر میتواند باعث کاهش سرعت اپلیکیشن شما بشه. برای بهینهسازی تصاویر، از فرمتهای مناسب مثل WebP استفاده کنید.🔥
🛠 مثال: استفاده از WebP بهجای فرمتهای سنگینتر مثل PNG برای تصاویر ثابت.📷
➖➖➖➖➖➖
🤖 @kotlinbox
اندازه بزرگ تصاویر میتواند باعث کاهش سرعت اپلیکیشن شما بشه. برای بهینهسازی تصاویر، از فرمتهای مناسب مثل WebP استفاده کنید.
➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12⚡3
#کوییز_باکس
⚙️ سطح سوال : نسبتا متوسط
❓ چه تفاوتی بین launch و async در coroutines وجود دارد؟
➖➖➖➖➖➖
🤖 @kotlinbox
➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9⚡1
Kotlin Box | کاتلین باکس
#کوییز_باکس ⚙️ سطح سوال : نسبتا متوسط ❓ چه تفاوتی بین launch و async در coroutines وجود دارد؟ ➖➖➖➖➖➖ 🤖 @kotlinbox
کلمه کلیدی launch: زمانی استفاده میشود که نیازی به بازگرداندن نتیجه از coroutine ندارید. این تابع بهصورت پیشفرض یک Job برمیگرداند که میتوانید از آن برای لغو یا نظارت بر coroutine استفاده کنید. معمولاً برای انجام عملیات جانبی (مثل بهروزرسانی UI) مناسب است.
اما async: برای مواردی استفاده میشود که میخواهید نتیجهای از coroutine دریافت کنید. این تابع یک Deferred برمیگرداند که مشابه یک Promise یا Future در زبانهای دیگر است. برای دریافت نتیجه، باید از متد await() استفاده کنید.
val job = launch {
println("This is a launch coroutine.")
}
val result = async {
5 + 10 // This will return 15
}
println("Result: ${result.await()}")
پ.ن : در ادامه معنی یه سری اصطلاحات هم گفته میشه
➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
#اصطلاحات_مهم
عملیات موازی (Parallelism) چیه؟🧐
عملیات موازی به این معنی است که چندین کار بهطور همزمان در چندین thread یا core اجرا میشوند. در این حالت، برنامه میتواند از قدرت پردازش چندین هسته (core) پردازنده استفاده کند و وظایف را بهطور موازی انجام دهد تا سرعت اجرای برنامه افزایش پیدا کند.⚡️
این مفهوم معمولاً در پردازشهای سنگین مانند پردازش دادههای بزرگ، محاسبات علمی، و پردازشهای موازی شبکه بیشتر کاربرد دارد. در زبان کاتلین، برای پیادهسازی عملیات موازی میتوان از Coroutines برای مدیریت چندین تسک بهطور همزمان استفاده کرد.✔️
⚙️ مثال: وقتی میخواهید چندین درخواست HTTP را بهطور همزمان انجام دهید یا چندین عملیات سنگین را بهطور موازی پردازش کنید.
➖➖➖➖➖➖
🤖 @kotlinbox
عملیات موازی (Parallelism) چیه؟
عملیات موازی به این معنی است که چندین کار بهطور همزمان در چندین thread یا core اجرا میشوند. در این حالت، برنامه میتواند از قدرت پردازش چندین هسته (core) پردازنده استفاده کند و وظایف را بهطور موازی انجام دهد تا سرعت اجرای برنامه افزایش پیدا کند.
این مفهوم معمولاً در پردازشهای سنگین مانند پردازش دادههای بزرگ، محاسبات علمی، و پردازشهای موازی شبکه بیشتر کاربرد دارد. در زبان کاتلین، برای پیادهسازی عملیات موازی میتوان از Coroutines برای مدیریت چندین تسک بهطور همزمان استفاده کرد.
➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10⚡1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10⚡2 1
#اصطلاحات_مهم
عملیات ترتیبی (Sequential) چیه؟🧐
عملیات ترتیبی یعنی که کارها یکی پس از دیگری اجرا میشوند و هیچکدام بهطور همزمان اجرا نمیشوند. این یعنی که کار بعدی باید منتظر بشه تا کار قبلی تموم بشه.🔸
مثلاً فرض کنید که میخواهید دو فایل رو از اینترنت دانلود کنید. در عملیات ترتیبی، دانلود فایل اول تمام میشه، بعد فایل دوم شروع میشه. این رو میشه به یه صف کاری تشبیه کرد که کارها یکی یکی انجام میشن.✔️ ⚙️
➖➖➖➖➖➖
🤖 @kotlinbox
عملیات ترتیبی (Sequential) چیه؟
عملیات ترتیبی یعنی که کارها یکی پس از دیگری اجرا میشوند و هیچکدام بهطور همزمان اجرا نمیشوند. این یعنی که کار بعدی باید منتظر بشه تا کار قبلی تموم بشه.
مثلاً فرض کنید که میخواهید دو فایل رو از اینترنت دانلود کنید. در عملیات ترتیبی، دانلود فایل اول تمام میشه، بعد فایل دوم شروع میشه. این رو میشه به یه صف کاری تشبیه کرد که کارها یکی یکی انجام میشن.
➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12⚡1👨💻1
#کوییز_باکس #سوال_مصاحبه_ای
⚙️ سطح سوال : متوسط ( بیشتر سوال مصاحبه ای هست )
❓ چه تفاوتی بین val و const val در کاتلین وجود دارد؟
➖➖➖➖➖➖
🤖 @kotlinbox
➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9⚡3 2 1
مثال:
val currentTime: Long = System.currentTimeMillis()
مقداردهی const val در زمان کامپایل (compile-time) انجام میشود.
فقط برای مقادیر ثابت اولیه (مثل String یا اعداد) استفاده میشود که در زمان کامپایل کاملاً مشخص باشند.
نمیتوان از const val برای مقادیری که وابسته به زمان اجرا هستند استفاده کرد.
const val APP_NAME = "KotlinBox"
➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14 3⚡1 1
➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
مصاحبه اندروید داری؟ این ریپازیتوری رو از دست نده!
اگه میخوای برای مصاحبههای شغلی اندروید آماده بشی، این ریپازیتوری یه لیست کامل از سوالات پرکاربرد مصاحبههای اندروید رو جمعآوری کرده!
سوالات درباره Jetpack، MVVM، RxJava، Room، Dagger و کلی مبحث دیگه که ممکنه توی مصاحبه ازت بپرسن.
یه مرور روش داشته باش تا آمادهتر و حرفهایتر ظاهر بشی!
➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡12👍4 3
امیدوارم سال جدید برای همه شما سرشار از موفقیتهای کاری، پروژههای عالی و رشد حرفهای باشه.
با آرزوی بهترینها در مسیر برنامهنویسی و توسعهی اپلیکیشنهای فوقالعاده
➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM