Adib Codes
Kanalga Telegram’da o‘tish
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
Ko'proq ko'rsatish492
Obunachilar
Ma'lumot yo'q24 soatlar
+17 kunlar
+430 kunlar
Postlar arxiv
492
💡کامپایلر K2 کاتلین چهطور کار میکنه؟
https://blog.jetbrains.com/idea/2025/04/the-story-behind-k2-mode-and-how-it-works
این مقالهی عالی رو تیم کالین در مورد نحوهی کارکرد K2 نوشته و مطالب خوبی برای یادگیری داره. پیشنهاد میکنم ببینیدش.
@AdibCodes #Kotlin
492
💡نسخه جدید Technology Radar از Thoughtworks منتشر شده (ویرایش ۳۲ – آوریل ۲۰۲۵) و مثل همیشه تصویری جالب از وضعیت فعلی و روندهای در حال شکلگیری در دنیای فناوری ارائه میده. تمرکز این نسخه روی موضوعاتی مثل دستیارهای کدنویسی مبتنی بر ایآی، ابزارهای نظارت بر عملکرد LLMها، و همچنین رویکرد محصولسازی دادهها هست که حالا به عنوان یک توصیه جدی در مدیریت داده معرفی شده.
تکنولوژیهایی مثل GraphRAG، مدلهای کوچک زبان، و ابزارهایی برای فهم کدهای legacy با GenAI از مواردیه که داره به شکل جدی وارد پروژهها میشه — نه به عنوان آینده، بلکه واقعیت فعلی. Thoughtworks هم مثل همیشه تلاش کرده این موارد رو با دیدگاه منتقدانه بررسی کنه: چی ارزش امتحان کردن داره، چی بهتره با احتیاط بهش نزدیک شد، و چی واقعاً وقتشه که به کار گرفته بشه.
اگر درگیر تصمیمگیریهای فنی هستید یا صرفاً دوست دارید از حالوهوای دنیای تکنولوژی عقب نیفتید، پیشنهاد میکنم این رادار رو ببینید. نسخه کامل رو میتونید از فایل همین پست یا اینجا دانلود کنید: thoughtworks.com/radar
@AdibCodes #TechnologyRadar
492
💡چند مقاله و خبر تازه - قسمت ۸:
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
🔹 Understanding Flow Operators: Buffer, Conflate, Debounce, and Sample
🔹 Getting Started with MockK in Kotlin
🔹 Kotlin inline reified to Solve Type Erasure
Android:
🔹 Understanding Dispatchers: Main and Main.immediate
🔹 Profile & Benchmark Android Builds
🔹 Does Gemini Create Accessible Android Apps?
Compose:
🔹 Being Quick: Resolve what’s dirty
یکی از مقالههای خیلی خوب کامپوز
🔹 Strong skipping does not fix Kotlin collections in Jetpack Compose
Libs:
🔹 OpenNote-Compose
Markdown Editor & Notebook for Android entirely based on Jetpack Compose.
@AdibCodes - #AdibWeekly #8
492
🔥ساخت یه دستیار خفن هوشمصنوعی با پایتون و Gemini
از اونجا که خیلیهاتون دوست دارید کار کردن با LLMها رو یاد بگیرید و توش پیشرفت کنید، در این ویدئو میریم سراغ ساختن یه اپ ساده که فایلها و فولدرهامون رو با استفاده از جمنای گوگل مرتب کنه:
🛑 اسم فیلمها، موزیک و ... کامل نوشته بشه و اولش سال ساختش باشه. مثلاً:
(1999) - The Matrix
🛑 آیتمهای مشابه (مثل قسمتهای سریال و فیلمها و ...) براشون فولدر ساخته بشه و داخلش گروهبندی بشن (مثلاً برای چند تا فایلی که از سریال Severance داریم یه فولدر Severance بسازه).
برای این کار از پایتون استفاده میکنیم و میریم سراغ:
🔹استفاده از LiteLLM که باهاش میتونیم با همهی LLMها با اینترفیس یکسان صحبت کنیم.
🔹 اتصال LiteLLM به Gemini گوگل (که استفاده ازش مجانی هست)
🔹 استفاده از Structured Output و Pydantic و گرفتن خروجیهای غیرمتنی از Gemini
🔹 ساخت یه یوآی ساده با پایتون با قابلیت Drag & Drop برای فولدرها و اعمال تغییرات
🎥 لینک تماشا:
https://youtu.be/OFvyuBe1v74
🔗 ریپازیتوری گیتهاب این پروژه:
https://github.com/adibfara/GeminiAIFileOrganizerAgent
@AdibCodes
#AI #LLM
492
🔥ساخت یه دستیار خفن هوشمصنوعی با پایتون و Gemini
از اونجا که خیلیهاتون دوست دارید کار کردن با LLMها رو یاد بگیرید و توش پیشرفت کنید، در این ویدئو میریم سراغ ساختن یه اپ ساده که فایلها و فولدرهامون رو با استفاده از جمنای گوگل مرتب کنه:
🛑 اسم فیلمها، موزیک و ... کامل نوشته بشه و اولش سال ساختش باشه. مثلاً:
(1999) - The Matrix
🛑 آیتمهای مشابه (مثل قسمتهای سریال و فیلمها و ...) براشون فولدر ساخته بشه و داخلش گروهبندی بشن (مثلاً برای چند تا فایلی که از سریال Severance داریم یه فولدر Severance بسازه).
برای این کار از پایتون استفاده میکنیم و میریم سراغ:
🔹استفاده از LiteLLM که باهاش میتونیم با همهی LLMها با اینترفیس یکسان صحبت کنیم.
🔹 اتصال LiteLLM به Gemini گوگل (که استفاده ازش مجانی هست)
🔹 استفاده از Structured Output و Pydantic و گرفتن خروجیهای غیرمتنی از Gemini
🔹 ساخت یه یوآی ساده با پایتون با قابلیت Drag & Drop برای فولدرها و اعمال تغییرات
🎥 لینک تماشا:
https://youtu.be/OFvyuBe1v74
🔗 ریپازیتوری گیتهاب این پروژه:
https://github.com/adibfara/GeminiAIFileOrganizerAgent
@AdibCodes
#AI #LLM
492
🚨بررسی آسیبپذیری امنیتی بحرانی در Next.js
چند روز پیش یک آسیبپذیری خطرناک در فریموورک فرانتاندی معروف نکست (Next.js) پیدا شد که باعث میشه احراز هویتش رو به طور کامل دور زد و صرفاً با اضافه کردن یک Header و بدون نیاز به لاگین، Middlewareهای این فریموورک رو دور زد و به منابع دسترسی پیدا کرد!
این مسئله نمرهی امنیتی ۹.۱ از ۱۰ -بحرانی- رو به خودش اختصاص داد، در کنار اینکه این آسیبپذیری از چند سال پیش وجود داشته و به تازگی پیدا شده و در این ویدئو میریم که یه اپ خیلی ساده با نکست بسازیم، خودمون این مسئلهی امنیتی رو با چشم ببینیم (!) و در نهایت روش حلش رو بررسی کنیم.
🎥 لینک تماشا:
https://www.youtube.com/watch?v=XyivtCtuH6M
@AdibCodes
#TechNews
492
🚨بررسی آسیبپذیری امنیتی بحرانی در Next.js
چند روز پیش یک آسیبپذیری خطرناک در فریموورک فرانتاندی معروف نکست (Next.js) پیدا شد که باعث میشه احراز هویتش رو به طور کامل دور زد و صرفاً با اضافه کردن یک Header و بدون نیاز به لاگین، Middlewareهای این فریموورک رو دور زد و به منابع دسترسی پیدا کرد!
این مسئله نمرهی امنیتی ۹.۱ از ۱۰ -بحرانی- رو به خودش اختصاص داد، در کنار اینکه این آسیبپذیری از چند سال پیش وجود داشته و به تازگی پیدا شده و در این ویدئو میریم که یه اپ خیلی ساده با نکست بسازیم، خودمون این مسئلهی امنیتی رو با چشم ببینیم (!) و در نهایت روش حلش رو بررسی کنیم.
🎥 لینک تماشا:
https://www.youtube.com/watch?v=XyivtCtuH6M
@AdibCodes
#TechNews
492
🤯 افزایش سرعت ۱۰ برابری کامپایلر TypeScript با مهاجرت به Go
تیم کامپایلر تایپاسکریپت در مایکروسافت ۲ روز پیش و در ویدئویی از افزایش ۱۰ برابری سرعت کامپایر تایپاسکریپت با بازنویسی و پورت کدهای این کامپایلر به Go خبر داد و تو این ویدئو میریم ببینیم چیکار کردن.
🔹 روی یه پروژهی بزرگ مثل Playwright رانش میکنیم و میبینیم چقدر واقعاً بهبود پرفورمنس داره؟
🔹میریم سراغ سوال «چرا از Go استفاده کردن؟ چرا Rust نه؟»
🔹 نگاهی به نحوهی انجام کارشون و آیندهی کامپایر تایپاسکریپت
🎥 لینک تماشا:
https://youtu.be/wR5gtvxMT3k
نظر شما راجع بهش چیه؟
@AdibCodes
#TechNews
492
🔥 لینکس | Lynx رقیبی جدید برای React Native و فلاتر
لینکس یک فریموورک جدید مالتیپلتفورم مبتنی بر جاوااسکریپت و وب از شرکت بایتدنس (تیکتاک) هست که به تازگی به رقابت با فلاتر و ریاکت نیتیو اومده و در این ویدئو به جزئیاتش میپردازیم.
🔹 بررسی کدهای لینکس و استفادههاش در تیکتاک
🔹پرفورمنس لینکس و معماری Threading دوگانهی Main و بکگراند
🔹 نحوه پشتیبانیش از CSS و ریاکت و بقیهی فریموورکها
🔹 نگاهی به آیندهی توسعهی موبایل و کلاینتهای نیتیو
🎥 لینک تماشا:
https://www.youtube.com/watch?v=kYl056GfWew
نظر شما راجع بهش چیه؟
@AdibCodes
#TechNews
492
💡چند مقاله تازه - قسمت ۷:
Kotlin:
🔹 New Kotlin 2.1.20-RC
🔹 KSP Memory Leak Dive
🔹 Kotlin Guards Explained: Boost Code Clarity with when Statements
🔹 Kotlin Multiplatform Scalability Challenges on a Large Project
🔹 Kotlin Multiplatform Architecture Best Practices for Mobile Apps
Android:
🔹 Unit Testing ViewModels
🔹 Deprecating idling resource libraries
🔹 Static App Shortcuts in Android: A Simple Implementation Guide
🔹 Reliable Timekeeping with the TrustedTime API in Android
🔹 Hints in Compose
Podcast:
🔹 Data Oriented Programming
Videos:
🔹 Building KMP Libraries: The RevenueCat Story
🔹 Kotlin Multi Platform RSS Feeds parser: Debugging Madness
@AdibCodes - #AdibWeekly #7
492
💡چند مقاله تازه - قسمت ۷:
Kotlin:
🔹 New Kotlin 2.1.20-RC
🔹 KSP Memory Leak Dive
🔹 Kotlin Guards Explained: Boost Code Clarity with when Statements
🔹 Kotlin Multiplatform Scalability Challenges on a Large Project
🔹 Kotlin Multiplatform Architecture Best Practices for Mobile Apps
Android:
🔹 Unit Testing ViewModels
🔹 Deprecating idling resource libraries
🔹 Static App Shortcuts in Android: A Simple Implementation Guide
🔹 Reliable Timekeeping with the TrustedTime API in Android
🔹 Hints in Compose
Podcast:
🔹 Data Oriented Programming
Videos:
🔹 Building KMP Libraries: The RevenueCat Story
🔹 Kotlin Multi Platform RSS Feeds parser: Debugging Madness
@AdibCodes - #AdibWeekly #7
492
🚨 حل سوال معروف Unique Paths در مصاحبههای فنی
یکی از چالشهای معروف مصاحبههای فنی در شرکتهای دنیا، سوال Unique Paths هست:
❓چند راه مختلف برای رفتن از خانهی سمت چپ بالا به خانهی پایین راست در یک شبکهی n در m وجود داره؟
💡همراه من باشید که ببینیم چهطور بهش فکر کنیم، چهطور حلش کنیم و در نهایت چهطور با Memoization و Dynamic Programming بهینهاش کنیم.
🎥 لینک تماشا:
https://www.youtube.com/watch?v=BfguNOM7CDg
@AdibCodes #Programming #Interview
492
حل سوال الگورتمی گوگل برای مصاحبههای فنی - Knight Dialer
یکی از سوالات معروف مصاحبهی گوگل در برنامهنویسها Knight Dialer یا همون «شمارهگیر اسبی» بوده.
در این سوال، شما یک صفحهی تلفن (مشابه چیزی که در گوشیتون موجوده) دارید و فقط میتونید از حرکت L (مثل اسب در شطرنج) استفاده کنید و تعداد کل شمارههای n رقمی با شروع از هر شمارهای رو به دست بیارید.
در این ویدئو میریم سراغ حل این مسئله و میبینیم که:
🔹 چهطور بهش فکر کنیم؟
🔹 چهطور کدش رو بزنیم؟
🔹 چهطور بهینهاش کنیم که جواب اعداد بزرگ رو هم بده (به کمک Dynamic Programming)
📽 لینک تماشای ویدئو:
https://youtu.be/rC_49OK51TA
@AdibCodes #Programming #Algorithm #Interview
492
💡چند مقاله تازه - قسمت ۶:
Kotlin:
🔹 📕 KMP for Mobile Native Developers: The Book.
یک کتاب جالب در قالب وب برای یادگیری کاتلین مولتیپلتفورم
Java:
🔹 Using Renovate to update build JDK
🔹 This is why we can’t have nice things: When POM files lie
Android:
🔹 Parallelism with Android SQLite
Compose:
🔹 Designing Effective UI Components in Jetpack Compose
🔹 Mesh Gradients in Jetpack Compose
Libs:
🔹 AYA | Android ADB Desktop App
AYA is a desktop application for easily controlling android devices, which can be considered as a GUI wrapper for ADB.
🔹 KAnalytics
Analytics is a powerful Kotlin Multiplatform library that streamlines analytics integration across Android and iOS applications
@AdibCodes - #AdibWeekly #6
492
🚨 بهترین منابع یادگیری و پیشرفت در اندروید 🚨
در آخرین دورهمی اندرویدیها، پرتکرارترین سوالتون از من این بود که منابع خوب برای اندروید و کاتلین کدومها هستن؟
من هم تصمیم گرفتم در این ویدئوی کوتاه بریم سراغ...
🔹منابع خوب یادگیری اندروید کجاها هستن؟
🔹 چهطور دانشمون رو «بهروز» نگه داریم و عقب نمونیم؟
🔹 آموزشهای قدم به قدم، خصوصاً برای شروع اندروید و کامپوز رو از کجا پیش ببریم؟
و ...
🎥 لینک تماشای ویدئو:
https://www.youtube.com/watch?v=j9ZYMcUQzIQ
اگر شما هم منابع خوبی داشتید، توی کامنتهای ویدئو برای بقیه بنویسید. دمتون گرم.
#Android
@AdibCodes
492
💡چند مقالهی تازه - قسمت پنجم:
Kotlin:
🔹 Understanding Coroutine Dispatchers
🔹 Exploring Kotlin’s Immutable Collections Library
🔹 Kotlin for Server-Side Content Creators
🔹 Kotlin Tips and Tricks You May Not Know: #6 — Inject Functions in Spring Boot
🔹 Modularization in Gradle Projects with Kotlin
Android:
🔹 Exercise Caution When Using runBlocking on Android
🔹 The future is adaptive: Changes to orientation and resizability APIs in Android 16
🔹 Production-ready generative AI on Android with Vertex AI in Firebase
🔹 The First Beta of Android 16
Compose:
🔹 BasicTextField bubble wrap
🔹 Migrating to the Compose PullToRefreshBox
🔹 Seamless shimmer integration with existing Compose code
🔹 Draw sleep timeline graph in Compose
Libs:
🔹 SVG to Jetpack Compose Icon
🔹 flow-operators
Flow operators that enable you to create restartable, pausable, or one-shot StateFlow instances, allowing you to customize and control additional behaviors for StateFlow based on your specific use case.
🔹 Kotlin 2.1.10
#Article #5
@AdibCodes
492
💡چند مقالهی تازه در زمینهی کاتلین، کامپوز و اندروید:
Kotlin:
Understanding Coroutines Dispatchers
Modularization in Gradle Projects with Kotlin
Pitfalls when working with KMP Strings
Koin Framework 2025 Roadmap: From 4.0 to Future Milestones
Compose:
🎥How 'Hot Reload' is implemented for Compose
Optimize App Performance By Mastering Stability in Jetpack Compose
LazyGrids in Jetpack Compose
Create a spotlight effect with CameraX and Jetpack Compose
Compose Preview Screenshot Testing test drive
Libraries:
vat
vat renders vector graphics (SVG & Android Vector Drawables) to your terminal.
Android Artifacts Size Report
Android Artifacts Size Report is a Gradle plugin that enhances Build Scans by adding custom values to report the sizes of key artifacts in your Android project.
#Article #4
@AdibCodes
