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
Adib Codes
🔥 ۱۰ اشتباه مهم در تست‌نویسی در برنامه‌نویسی و نکات و راه‌حل‌هاش در این ویدئو بریم سراغ موضوع تست در برنامه‌نویسی و به ۱۰ اشتباه مهمی که ممکنه در نوشتن تست‌ها (و یونیت‌تست‌ها) داشته باشید، به همراه دیگر نکات مهم تست‌نویسی و راه‌حل‌هاشون بپردازیم. 🎥 لینک…
با توجه به استقبال‌تون از این ویدئو، اگر فکر می‌کنید خوبه روی تست در برنماه‌نویسی ادامه بدیم، یا اگر سوالی داشتید، توی کامنت‌هاش بنویسید که بهش بپردازیم.

برای مرور، تو این ویدئو به مباحث زیر پرداختیم:

🔹 نحوه‌ی تست درست: تست Observable Behavior به‌جای تست Implementation
🔹 ماک‌ها در تست و سواستفاده ازشون
🔹 مخشص کردن دلیل و چرایی پشت هر تست
🔹 نام‌گذاری، ساختار و تفکیک درست برای تست‌ها
🔹 تست‌های شکننده و تست‌های کند
🔹 اتکای بیش از حد به تست‌ها
🔹 رفع باگ‌ها با نوشتن تست‌ها
🔹 اهمیت Edge-caseها
و …

دمتون گرم.

@AdibCodes
31
🔥 ابزاری که سرعت برنامه‌نویسی من رو متحول کرد...

در این ویدئوی خلاصه می‌رم سراغ Live Templateها در اندروید استودیو وبقیه‌ی IDEهای جت‌برینز و به این‌که چه‌طور سرعت و البته لذت برنامه‌نویسی‌تون رو باهاش بیشتر کنید می‌پردازم.

🔹چه Live Templateهایی در حال حاضر برای کاتلین و اندروید و بقیه زبان‌ها و فریم‌وورک‌ها وجود دارن؟

🔹 چه‌طور سریع Live Template خودتون رو بسازید؟

🔹 چه‌طور Live Template خودتون رو شخصی‌سازی و خفن کنید، طوری که تمام Importها به درستی بیان، فایل به طور کامل نوشته بشه و ...

🎥 لینک تماشای ویدئو:
https://www.youtube.com/watch?v=Aik6KXa5IEU

#Editor #IDE #AndroidStudio
@AdibCodes
👏10
🚨 بهترین منابع یادگیری و پیشرفت در اندروید 🚨

در آخرین دورهمی اندرویدی‌ها، پرتکرارترین سوال‌تون از من این بود که منابع خوب برای اندروید و کاتلین کدوم‌ها هستن؟

من هم تصمیم گرفتم در این ویدئوی کوتاه بریم سراغ...

🔹منابع خوب یادگیری اندروید کجاها هستن؟

🔹 چه‌طور دانش‌مون رو «به‌روز» نگه داریم و عقب نمونیم؟

🔹 آموزش‌های قدم به قدم، خصوصاً برای شروع اندروید و کامپوز رو از کجا پیش ببریم؟
و ...


🎥 لینک تماشای ویدئو:
https://www.youtube.com/watch?v=j9ZYMcUQzIQ

اگر شما هم منابع خوبی داشتید، توی کامنت‌های ویدئو برای بقیه بنویسید. دمتون گرم.

#Android
@AdibCodes
🔥116
Adib Codes
💡چند مقاله‌ی تازه - قسمت پنجم: 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…
💡چند مقاله تازه - قسمت ۶:

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
4👍4
حل سوال الگورتمی گوگل برای مصاحبه‌های فنی - Knight Dialer

یکی از سوالات معروف مصاحبه‌ی گوگل در برنامه‌نویس‌ها Knight Dialer یا همون «شماره‌گیر اسبی» بوده.
در این سوال، شما یک صفحه‌ی تلفن (مشابه چیزی که در گوشی‌تون موجوده) دارید و فقط می‌تونید از حرکت L (مثل اسب در شطرنج) استفاده کنید و تعداد کل شماره‌های n رقمی با شروع از هر شماره‌ای رو به دست بیارید.

در این ویدئو می‌ریم سراغ حل این مسئله و می‌بینیم که:

🔹 چه‌طور بهش فکر کنیم؟
🔹 چه‌طور کدش رو بزنیم؟
🔹 چه‌طور بهینه‌اش کنیم که جواب اعداد بزرگ رو هم بده (به کمک Dynamic Programming)

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



@AdibCodes #Programming #Algorithm #Interview
👏7🔥6👍1
🚨 حل سوال معروف Unique Paths در مصاحبه‌های فنی

یکی از چالش‌های معروف مصاحبه‌های فنی در شرکت‌های دنیا، سوال Unique Paths هست:

چند راه مختلف برای رفتن از خانه‌ی سمت چپ بالا به خانه‌ی پایین راست در یک شبکه‌ی n در m وجود داره؟

💡همراه من باشید که ببینیم چه‌طور بهش فکر کنیم، چه‌طور حلش کنیم و در نهایت چه‌طور با Memoization و Dynamic Programming بهینه‌اش کنیم.

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

@AdibCodes #Programming #Interview
5🔥4
🔥 لینکس |‌ Lynx رقیبی جدید برای React Native و فلاتر


لینکس یک فریم‌وورک جدید مالتی‌پلتفورم مبتنی بر جاوااسکریپت و وب از شرکت بایت‌دنس (تیک‌تاک) هست که به تازگی به رقابت با فلاتر و ری‌اکت نیتیو اومده و در این ویدئو به جزئیاتش می‌پردازیم.

🔹 بررسی کد‌های لینکس و استفاده‌هاش در تیک‌تاک

🔹پرفورمنس لینکس و معماری Threading دوگانه‌ی Main و بک‌گراند

🔹 نحوه پشتیبانیش از CSS و ری‌اکت و بقیه‌ی فریم‌وورک‌ها

🔹 نگاهی به آینده‌ی توسعه‌ی موبایل و کلاینت‌های نیتیو

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

نظر شما راجع بهش چیه؟

@AdibCodes
#TechNews
10🤯3👍2
🤯 افزایش سرعت ۱۰ برابری کامپایلر TypeScript با مهاجرت به Go

تیم کامپایلر تایپ‌اسکریپت در مایکروسافت ۲ روز پیش و در ویدئویی از افزایش ۱۰ برابری سرعت کامپایر تایپ‌اسکریپت با بازنویسی و پورت کدهای این کامپایلر به Go خبر داد و تو این ویدئو می‌ریم ببینیم چی‌کار کردن.

🔹 روی یه پروژه‌ی بزرگ مثل Playwright رانش می‌کنیم و می‌بینیم چقدر واقعاً بهبود پرفورمنس داره؟

🔹می‌ریم سراغ سوال «چرا از Go استفاده کردن؟ چرا Rust نه؟»

🔹 نگاهی به نحوه‌ی انجام کارشون و آینده‌ی کامپایر تایپ‌اسکریپت


🎥 لینک تماشا:
https://youtu.be/wR5gtvxMT3k

نظر شما راجع بهش چیه؟

@AdibCodes
#TechNews
👍6
🚨بررسی آسیب‌پذیری امنیتی بحرانی در Next.js

چند روز پیش یک آسیب‌پذیری خطرناک در فریم‌وورک فرانت‌اندی معروف نکست (Next.js) پیدا شد که باعث می‌شه احراز هویتش رو به طور کامل دور زد و صرفاً با اضافه کردن یک Header و بدون نیاز به لاگین، Middlewareهای این فریم‌وورک رو دور زد و به منابع دسترسی پیدا کرد!

این مسئله نمره‌ی امنیتی ۹.۱ از ۱۰ -بحرانی- رو به خودش اختصاص داد، در کنار اینکه این آسیب‌پذیری از چند سال پیش وجود داشته و به تازگی پیدا شده و در این ویدئو می‌ریم که یه اپ خیلی ساده با نکست بسازیم، خودمون این مسئله‌ی امنیتی رو با چشم ببینیم (!) و در نهایت روش حلش رو بررسی کنیم.


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

@AdibCodes
#TechNews
🔥3👍1
🔥ساخت یه دستیار خفن هوش‌مصنوعی با پایتون و 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
😍11
🔥10👍3👌1
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