Adib Codes – Telegram
Adib Codes
565 subscribers
24 photos
11 videos
3 files
90 links
Informational videos and articles on Android, Kotlin, Java, Programming and more.

My YouTube Channel:
https://www.youtube.com/@AdibCodes

--
Adib Faramarzi - Head of Mobile at TAPSI
Download Telegram
Technology Radar Vol 32 - رادار تکنولوژی.pdf
3.2 MB
💡نسخه جدید Technology Radar از Thoughtworks منتشر شده (ویرایش ۳۲ – آوریل ۲۰۲۵) و مثل همیشه تصویری جالب از وضعیت فعلی و روندهای در حال شکل‌گیری در دنیای فناوری ارائه می‌ده. تمرکز این نسخه روی موضوعاتی مثل دستیارهای کدنویسی مبتنی بر ای‌آی، ابزارهای نظارت بر عملکرد LLMها، و همچنین رویکرد محصول‌سازی داده‌ها هست که حالا به عنوان یک توصیه جدی در مدیریت داده معرفی شده.

تکنولوژی‌هایی مثل GraphRAG، مدل‌های کوچک زبان، و ابزارهایی برای فهم کدهای legacy با GenAI از مواردیه که داره به شکل جدی وارد پروژه‌ها می‌شه — نه به عنوان آینده، بلکه واقعیت فعلی. Thoughtworks هم مثل همیشه تلاش کرده این موارد رو با دیدگاه‌ منتقدانه بررسی کنه: چی ارزش امتحان کردن داره، چی بهتره با احتیاط بهش نزدیک شد، و چی واقعاً وقتشه که به کار گرفته بشه.

اگر درگیر تصمیم‌گیری‌های فنی هستید یا صرفاً دوست دارید از حال‌وهوای دنیای تکنولوژی عقب نیفتید، پیشنهاد می‌کنم این رادار رو ببینید. نسخه کامل رو می‌تونید از فایل همین پست یا اینجا دانلود کنید: thoughtworks.com/radar

@AdibCodes #TechnologyRadar
🔥4
💡کامپایلر K2 کاتلین چه‌طور کار می‌کنه؟

https://blog.jetbrains.com/idea/2025/04/the-story-behind-k2-mode-and-how-it-works

این مقاله‌ی عالی رو تیم کالین در مورد نحوه‌ی کارکرد K2 نوشته و مطالب خوبی برای یادگیری داره. پیشنهاد می‌کنم ببینیدش.

@AdibCodes #Kotlin
🔥4👍2👏1
چه‌طور تو برنامه‌نویسی حرفه‌ای‌تر بشیم؟

تو این یه سری از ویدیوهای Shorts تصمیم گرفتم مفاهیم مهم و کاربردی برنامه‌نویسی رو خیلی خلاصه و مفید توضیح بدم؛ چیزهایی که کمک می‌کنن توی کدنویسی حرفه‌ای‌تر و تمیزتر عمل کنیم.

هر قسمت روی یه مفهوم کلیدی تمرکز داره، و هدف اینه که توی چند دقیقه کوتاه بتونید یک نکته مهم رو یاد بگیرید و یا دید بهتری نسبت بهش پیدا کنید.


🔹تعریف if های بهتر به شکل Guard Condition (۱)

🔹یک ریفکتور مهم در کد Legacy (۲)

🔹چه‌طور به کد Immutable ریفکتور کنیم؟  (۳)

🔹یک ریفکتور خفن با استفاده از فانکشنال پروگرمینگ، map و فیلتر (۴)

🔹ریفکتور فانکشن بزرگ -  چه‌طور برنامه‌نویس حرفه‌ای بشیم (۵)

🔹نکته مهم در استریم و فلوهای Cold  (۶)

🔹انواع ساختن فلوها در کاتلین (۷)

🔹نحوه کارکرد استریم‌ها (و فلوهای کاتلین) (۸)

🔹چند نکته مهم استریم و فلوهای Hot  (۹)

🔹تفاوت مهم map و flatMap و نحوه استفاده (۱۰)


این ویدئوها رو در این Playlist یوتیوب هم می‌تونید ببینید و دنبال کنید.
اگر در زمینه‌ای پیشنهادی داشتید حتماً تو کامنت‌ها مطرح کنید که بریم سراغش.

دمتون گرم و خفن باشید،
@AdibCodes
🔥202
Adib Codes
💡چند مقاله و خبر تازه - قسمت ۸: Kotlin: 🔹 Introducing Metro - لایبرری دیپندنسی اینجکشن جدید 🔹 Metro - Github 🔹 A Quick Guide to htmx in Kotlin 🔹 Debugging Coroutines in IntelliJ and Android Studio 🔹 Using Vertex AI in a Compose/Kotlin Multiplatform project…
💡چند مقاله و خبر تازه - قسمت ۹:

🔹 Structuring Ktor Projects Using Domain-Driven Design (DDD) Concepts
یک مقاله‌ی خوب حول اعمال Domain Driven Design در پروژه‌های Ktor
🔹 Gradle Best Practices - A Path to Build Happiness
این مقاله رو خود گریدل نوشته و از ‌Best Practiceها در بیلدها گفته. از چیزهای عمومی گریدل گرفته، تا مدیریت دیپندنسی‌ها و  تسک‌ها.
 
🔹 Effective Strategies for Testing Asynchronous Kotlin Code
یه مقاله‌ی خوب در مورد تست کردن کوروتین‌ها که احتمالاً به کار خیلی‌هاتون میاد.

🔹 Understanding Context Parameters in Kotlin 2.2.0
کانتکست پارامترها که به زودی ریلیس نهایی قراره بشن یکی از فیچرهای جذاب کاتلین هستن که تو ویدئوی مربوط به کاتلین ۲ کمی در موردشون صحبت کردم، و در این مقاله هم می‌تونید بیشتر در موردشون بدونید.
 
🔹 Becoming a Great Backend Engineer
این مقاله در زمینه‌ی اینکه چه‌طور برنامه‌نویس بهتری باشیم (نه الزاماً در بک‌اند) توضیحات خوبی ارائه کرده.
 
 
خفن باشید،
@AdibCodes#AdibWeekly #9
🔥5👍4
🔥دوره‌ی رایگان و جامع Generative AI از مایکروسافت

مایکروسافت یک مجموعهٔ ویدئویی رایگان منتشر کرده که در ۱۸ درس کوتاه، شما رو از آشنایی با مدل‌های زبانی بزرگ (LLM) تا ساخت اپلیکیشن‌های حرفه‌ای‌تر (چت‌بات، جست‌وجو با RAG، تولید تصویر و حتی فاین‌تیون کردن مدل‌ها) همراهی می‌کنه.

هر درس همراه با کوییز، تمرین عملی و ریپؤ متن‌باز در GitHub ارائه شده و برای شروع هم هیچ پیش‌نیاز خاصی لازم نیست. اگر علاقه‌مند به این حوزه هستید می‌تونید برید سراغش.

🔗 لینک تماشا و دانلود رایگان:
https://learn.microsoft.com/en-us/shows/generative-ai-for-beginners/

@AdibCodes #ai #llm
🔥5👍4
This media is not supported in your browser
VIEW IN TELEGRAM
گوگل و معرفی متریال دیزاینی جدید(تر؟)

گوگل با معرفی نسخه جدید کیت طراحی خودش به اسم «Material 3 Expressive»، رویکردی ماکسیمالیستی در طراحی رو پیش گرفته و به نظر دیگه خبری از سادگی مینیمال سابق نیست نیست. هدف گوگل به نظر اینه که یه تعادل بین طراحی ساده و پرجزئیات بسازه تا هر کسی بتونه سبک خاص خودش رو توی اپ‌ها داشته باشه.

تغییرات مهم این کیت:

🔹استفاده از رنگ‌های جسورانه و متفاوت با قبل

🔹انیمیشن (و موشن‌های ریز) نرم و پویا برای بهبود تجربه کاربر

🔹معرفی فونت جدید Google Sans Flex Rounded

🔹تمرکز روی طراحی احساسی‌تر و قابل‌شخصی‌سازی

🔹اعمال تغییرات در محصولاتی مثل Android، Wear OS و Google Photos

احتمالاً در گوگل‌آی‌آو امسال که به زودی برگزار می‌شه روش مانور‌های بیشتری خواهند داد.

نظر شما در موردش چیه؟ اگر خوشتون اومد از ایموجی 🔥 و اگر خوشتون نیومد از 🍌 در این پیام استفاده کنید.

@AdibCodes #material
🔥31🍌10👍5🤔1
Adib Codes
چه‌طور تو برنامه‌نویسی حرفه‌ای‌تر بشیم؟ تو این یه سری از ویدیوهای Shorts تصمیم گرفتم مفاهیم مهم و کاربردی برنامه‌نویسی رو خیلی خلاصه و مفید توضیح بدم؛ چیزهایی که کمک می‌کنن توی کدنویسی حرفه‌ای‌تر و تمیزتر عمل کنیم. هر قسمت روی یه مفهوم کلیدی تمرکز داره،…
چه‌طور تو برنامه‌نویسی حرفه‌ای‌تر بشیم؟ (سری دوم)

در سری «برنامه‌نویسی حرفه‌ای‌تر» مفاهیم مهم و کاربردی برنامه‌نویسی رو به صورت خلاصه و مفید توضیح می‌دم؛ نکاتی که به حرفه‌ای‌تر و تمیزتر برنامه‌نویسی کردن کمک می‌کنن و در هر قسمت روی یک مفهوم تمرکز دارن.

🔹 ۱۱ - ریفکتور مهم حذف Feature Envy

🔹 ۱۲ - ریفکتور کد درهم تنیده: Encapsulate Interaction

🔹 ۱۳ - ریفکتور اساسی متدهای بزرگ - Large Method

🔹 ۱۴ - روش بهتر برای ساختن و فرمت کردن استرینگ‌ها با StringBuilder

🔹 ۱۵ - اوپراتور Merge در فلوهای کاتلین و استریم‌ها

🔹 ۱۶ - اوپراتور خفن combine در استریم‌ها و فلوهای کاتلین

🔹 ۱۷ - اوپراتور distinct در استریم‌ها و فلوهای کاتلین

🔹۱۸ - یکی از مهم‌ترین اپراتورهای استریم‌ها و فلوهای کاتلین در فانکشنال پروگرمینگ

🔹 ۱۹ - نحوه ریفکتور های بزرگ روی اسم‌ها

🔹 ۲۰ - حذف آیتم‌های تکراری با Setها

این ویدئوها رو در این Playlist یوتیوب هم می‌تونید ببینید و دنبال کنید.

دمتون گرم و خفن باشید،
@AdibCodes
🔥114
همکاری استراتژیک جت‌برینز و اسپرینگ

در خبری داغ از امروز، این دو شرکت تصمیم گرفتن که با هم همکاری کنن و به نظر این شراکت ۴ هدف اصلی داره:

🔹 نال‌سیفتی (Null safety) سرتاسر در اکوسیستم فوق‌العاده‌ی اسپرینگ
🔹 انتشار منابع آموزشی رسمی اسپرینگ به زبان کاتلین
🔹 سریع‌تر کردن اسپرینگ با استفاده از رفلکشن‌های native کاتلین (kotlinx.reflect)
🔹 توسعه‌ی DSLهای کاتلینی برای ساخت و توسعه Beanهای اسپرینگ

در حال حاضر نزدیک ۳۰ درصد کاربران اسپرینگ از کاتلین استفاد می‌کنن و با این همکاری قطعاً تعداد افراد بیشتر خواهد شد.

خبر کامل‌ترش رو می‌تونید اینجا بخونید:

https://blog.jetbrains.com/kotlin/2025/05/strategic-partnership-with-spring/

@AdibCodes #java #kotlin #spring
🔥15👍3
آکادمی مجانی هوش‌مصنوعی از شرکت OpenAI 🔥

شرکت اوپن‌ای‌آی به تازگی آکادمی هوش‌مصنوعی خودش رو منتشر کرده که از طریق اون می‌تونید در زمینه‌های مختلف هوش مصنوعی (خصوصاً LLMها) از طریق ویدئو‌های کوتاه و بلند یاد بگیرید و پیشرفت کنید.

این ویدئوها در تاپیک‌های مختلف و متنوع، از Prompt Engineering گرفته تا Reasoning و... در سطوح مختلف منتشر شدن و در حال حاضر دسترسی بهشون هم مجانیه.

🔗 لینک آکادمی و ویدئوها:
https://academy.openai.com/public/content

خفن باشید،
@AdibCodes #llm #ai
9👍2
در کاتلین‌کانف ۲۰۲۵ چه گذشت؟

🔹 ویژگیهای جدید زبان Kotlin در نسخه ۲.۲ و ویژگیهای زبانی آینده‌ی کاتلین

🔹 پیش‌فرض شدن کامپایلر K2 در IntelliJ IDEA 2025.1

🔹 ابزار جدید Amper

🔹 معرفی Koog: چارچوبی برای ساخت ایجنت‌های هوش مصنوعی در Kotlin

🔹 گسترش بنیاد Kotlin و برنامه کمک‌هزینه‌ها

🔹 ابزارهای هوش مصنوعی JetBrains: Mellum و Junie

🔹 به‌روزرسانی‌های Kotlin Multiplatform

🔹 پیشرفت در Kotlin برای توسعه سمت سرور

🔹 توسعه LSP برای Kotlin (بالاخره!)

بیشتر بخوانید:
🔗 https://blog.jetbrains.com/kotlin/2025/05/kotlinconf-2025-language-features-ai-powered-development-and-kotlin-multiplatform/

@AdibCodes
🔥6👏31
Adib Codes
چه‌طور تو برنامه‌نویسی حرفه‌ای‌تر بشیم؟ (سری دوم) در سری «برنامه‌نویسی حرفه‌ای‌تر» مفاهیم مهم و کاربردی برنامه‌نویسی رو به صورت خلاصه و مفید توضیح می‌دم؛ نکاتی که به حرفه‌ای‌تر و تمیزتر برنامه‌نویسی کردن کمک می‌کنن و در هر قسمت روی یک مفهوم تمرکز دارن.…
چه‌طور تو برنامه‌نویسی حرفه‌ای‌تر بشیم؟ (سری سوم)

در سری «برنامه‌نویسی حرفه‌ای‌تر» مفاهیم مهم و کاربردی برنامه‌نویسی رو به صورت خلاصه و مفید توضیح می‌دم؛ نکاتی که به حرفه‌ای‌تر و تمیزتر برنامه‌نویسی کردن کمک می‌کنن و در هر قسمت روی یک مفهوم تمرکز دارن.

🔹 ۲۱ - فانکشن مهم fold در لیست‌ها و آرایه‌ها

🔹 ۲۲ - ریفکتورهای بزرگ با typealias ها

🔹 ۲۳ - سوپرپاور کاتلین در تعریف عملگرهای جدید

🔹 ۲۴ - کاربرد مهم lateinit ها در کاتلین

🔹 ۲۵ - کاربرد و نحوه کار by lazy در کاتلین

🔹 ۲۶ - کاربرد Companion Object ها در کاتلین و تفاوت با جاوا

🔹 ۲۷ - نحوه کار Equals و اهمیت آن

این ویدئوها رو در این Playlist یوتیوب هم می‌تونید ببینید و دنبال کنید.

دمتون گرم و خفن باشید،
@AdibCodes
8
آیا مالتی‌تردینگ همیشه منجر به افزایش پرفورمنس می‌شه؟

وقتی صحبت از موازی‌سازی می‌شه، همه اسم‌هایی از قبیل ترد، پارالل، کانکارنسی،‌ کوروتین و ... رو شنیدیم. اما واقعاً فرق این‌ها چیه و چه‌طور کار می‌کنن؟

در این ویدئو به این سوال‌ها با مثال‌های ساده پاسخ می‌دم.:

🔷 پارالل و موازی‌سازی دقیقاً یعنی چی؟

🔷 تفاوت کارهای Parallel با Concurrent چیه؟

🔷 آیا همه چیز رو می‌شه موازی‌سازی کرد؟

🔷 چالش‌های کانکارنسی کجا خودشون رو نشون می‌دن؟

🔷 داده‌های مشترک و Shared Data چه دردسرهایی درست می‌کنن؟

🔷 و در نهایت، کوروتین‌ها چی هستن؟

🔗 لینک تماشای ویدئو:
https://youtu.be/lmJISjTWZtg

#multithreading #concurrency #coroutines #parallelism
👏113🔥2
چه‌طور تو برنامه‌نویسی حرفه‌ای‌تر بشیم؟ (سری چهارم)

در سری «برنامه‌نویسی حرفه‌ای‌تر»، در هر قسمت با تمرکز روی یک موضوع خاص، به مفاهیم مهم و کاربردی برنامه‌نویسی به صورت خلاصه و مفید می‌پردازم.
در این سری...

🔗 کلاس فوق‌العاده Duration برای بازه‌های زمانی

🔗 یک کاربرد مهم Inline Functionها

🔗 نکته‌ی مهم hashCode در جاوا و کاتلین

🔗 یک فیچر کلیدی در کاتلین و جاوا - Interface Default Method

🔗 در اعماق اینترفیس‌ها چی می‌گذره؟

🔗 موضوع Method Dispatch در برنامه‌نویسی چیه و چرا اهمیت داره؟

🔗 در ستایش Extension Function های فوق‌العاده

🔗 بررسی اعماق Extension Functionها

🔗 مقایسه و تفاوت‌های by Lazy و lateinit در کاتلین

این ویدئوها رو در این Playlist یوتیوب هم می‌تونید ببینید و دنبال کنید.

دمتون گرم و خفن باشید،
@AdibCodes
🔥111
🚨یکی از بهترین ریفکتورها در برنامه‌نویسی

احتمالاً شده که به کدهایی برسید که شرط‌های تو در تو دارن، چشم‌های آدم رو در میارن (!) و دنبال کردنشون سخته و در کنارش تغییر دادنشون هم کار پیچیده‌ایه.

در این ویدئوی کوتاه سراغ یک تکنیک مهم برای ریفکتور کردن این مدل کدها با استفاده از چیزی که کتاب DDD بهش می‌گه Guard Clause می‌ریم.

🎥 لینک تماشا:
https://www.youtube.com/watch?v=zELBBBl-K5A

@AdibCodes
🔥5😍1
چه‌طور تو برنامه‌نویسی حرفه‌ای‌تر بشیم؟ (سری پنجم)

در سری «برنامه‌نویسی حرفه‌ای‌تر»، در هر قسمت با تمرکز روی یک موضوع خاص، به مفاهیم مهم و کاربردی برنامه‌نویسی به صورت خلاصه و مفید می‌پردازم.
در این سری...

🔗چه‌طور زبان جدید برنامه‌نویسی رو خوب یاد بگیریم؟

🔗کوروتین‌ها دقیقاً چی هستن؟

🔗ساسپند فانکشن‌ها دقیقاً چین و چیکار می‌کنن؟ - Suspend Functions

🔗نحوه کارکرد کوروتین اسکوپ‌ها رو یاد بگیریم - Coroutine Scope

🔗اهمیت نحوه Error Handling در کوروتین‌ها

🔗ساز و کار Supervisor Scope در کوروتین‌های کاتلین

🔗جادوی runBlocking در کاتلین

🔗نکات کلیدی Context و runBlocking در کوروتین‌ها

🔗ساز و کار Coroutine Context ها رو یاد بگیریم

این ویدئوها رو در این Playlist یوتیوب هم می‌تونید ببینید و دنبال کنید.

دمتون گرم و خفن باشید،
@AdibCodes
🔥86
«به انیمیشن نیاز ندارید»

در این مقاله‌ی خوب، به نحوه‌ی پیاده‌سازی انیمیشن‌ها و نکات ریز و درشت‌شون (فارغ از پلتفورم مورد استفاده) اشاره شده. از اینکه چرا همه انیمیشن‌ها لازم نیستند، تا چه‌طوری باید زمان و شیوه‌اش رو در جهت یو‌آی بهتر انتخاب کرد.

خوندنش رو به افرادی که سمت کلاینت کار می‌کنن توصیه می‌کنم.

🔗 https://emilkowal.ski/ui/you-dont-need-animations

@AdibCodes
8🍌1
Adib Codes
چه‌طور تو برنامه‌نویسی حرفه‌ای‌تر بشیم؟ (سری پنجم) در سری «برنامه‌نویسی حرفه‌ای‌تر»، در هر قسمت با تمرکز روی یک موضوع خاص، به مفاهیم مهم و کاربردی برنامه‌نویسی به صورت خلاصه و مفید می‌پردازم. در این سری... 🔗چه‌طور زبان جدید برنامه‌نویسی رو خوب یاد بگیریم؟…
چه‌طور تو برنامه‌نویسی حرفه‌ای‌تر بشیم؟ (سری ۶)

در سری «برنامه‌نویسی حرفه‌ای‌تر»، در هر قسمت با تمرکز روی یک موضوع خاص، به مفاهیم مهم و کاربردی برنامه‌نویسی به صورت خلاصه و مفید می‌پردازم.
در این سری...

🔗 ساخت فانکشن abstract، در Enumها

🔗 قابلیت خفن کاتلین در مقداردهی به Enumها

🔗 چرا بهتره با Enum به شکل Exhaustive برخورد کنیم؟

🔗 چه زمانی و برای چی بهتره Enum بسازیم؟

🔗 کجا باید از Sealed Class استفاده کنیم و کاربردش چیه؟

🔗 تفاوت Sealed Class ها با Enum ها چیه؟ به چه دردی می‌خورن؟

🔗 یک ریفکتور مهم در استفاده از Enum ها

🔗 چند روش نوشتن when که باید بلد باشید

این ویدئوها رو در این Playlist یوتیوب هم می‌تونید ببینید و دنبال کنید.

دمتون گرم و خفن باشید،
@AdibCodes
4🔥1
Adib Codes
چه‌طور تو برنامه‌نویسی حرفه‌ای‌تر بشیم؟ (سری ۶) در سری «برنامه‌نویسی حرفه‌ای‌تر»، در هر قسمت با تمرکز روی یک موضوع خاص، به مفاهیم مهم و کاربردی برنامه‌نویسی به صورت خلاصه و مفید می‌پردازم. در این سری... 🔗 ساخت فانکشن abstract، در Enumها 🔗 قابلیت خفن کاتلین…
حرفه‌ای شدن در برنامه‌نویسی، ریفکتور و دیباگینگ، با قابلیت‌های خفن IntelliJ، اندروید استودیو و دوستان

در سری «برنامه‌نویسی حرفه‌ای‌تر»، در هر قسمت با تمرکز روی یک موضوع خاص، به مفاهیم مهم و کاربردی برنامه‌نویسی به صورت خلاصه و مفید می‌پردازم.

در سری هفتم...

🔗 پرواز در IntelliJ و بقیه با قابلیت Postfix Completion

🔗 پرانتزگذاری حرفه‌ای در IntelliJ IDEA و اندروید استودیو و...

🔗 دیزاین پترن Factory Method رو یاد بگیریم

🔗 شورت‌کات حرفه‌ای برگشت به آخرین تغییر رو یاد بگیریم

🔗 ریفکتور سریع یک تکه کد به فایل جدید رو یاد بگیریم

🔗 دیباگ حرفه‌ای در IntelliJ و دوستان رو یاد بگیریم

🔗 ریفکتور بیرون کشیدن فانکشن از کد رو با IntelliJ و دوستان یاد بگیریم

🔗 ریفکتور فانکشن با پارامترهای زیاد در IntelliJ و دوستان رو یاد بگیریم

این ویدئوها رو در این Playlist یوتیوب هم می‌تونید ببینید و دنبال کنید.

دمتون گرم و خفن باشید،
@AdibCodes
8🔥1👌1