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