Azad's Programmers
2.43K subscribers
90 photos
27 videos
18 files
71 links
کانال آموزش برنامه نویسی دانشگاه آزاد

گروه چت پرسش و پاسخ: https://t.me/azad_program
Download Telegram
Azad's Programmers
⭕️ دسته بندی زبان ها: تعداد زبان های برنامه نویسی تقریبا بی شماره و به تعداد تمامی حروف انگلیسی از A تا Z زبان های برنامه نویسی مختلفی وجود داره. بعض از این زبان ها جزو زبان های پرکاربرد و بروز شناخته میشن، بعضی از زبان ها منسوخ شدن و زبان های جدیدی جایگزینشون…
⭕️ دسته بندی زبان ها:

زبان های کامپایلری (Compiled Languages)
این زبان ها قبل از اجرا به کد ماشین تبدیل میشن. این فرآیند توسط کامپایلر انجام میشه و نتیجه اون یک فایل اجرایی Portable هست. مزیت اصلی این نوع زبان ها سرعت بالای اجرای کدهاست.
در این نوع زبان ها برخلاف برخی از زبان های سطح پایین که نیازمند کامپایلر نیستن کدهای نوشته شده ابتدا به کد ماشین ترجمه میشه و بعد امکان پردازش فراهم میشه.
از زبان های کامپایلری میشه به زبان هایی مثل
C, C++, C#, Java و ...
اشاره کرد
زبان های تفسیری (Interpreted Languages)
در زبان های تفسیری، مفسر، اجرا و خوندن کدهای تفسیری رو خط به خط و به صورت مستقیم انجام میده و کدها به کد ماشین کامپایل نمیشه. به همین دلیل امکان این وجود داره که کدها بدون نیاز به مراحل کامپایل جداگانه، در همون لحظه اجرا بشن. این زبان ها برخلاف زبان های کامپایلری حین اجرای اولیه سرعت بیشتری دارن اما به طور کل فرایند دیباگ پیچیده تر و پرفورمنس و سرعت پایین تری نسبت به زبان های کامپایلری دارن. مثل زبان های
Python, Ruby, PHP, JavaScript و ...

زبان های کامپایل درجا یا JIT (Just-In-Time Compiled Languages)
این زبان ها ترکیبی از دو روش بالا هستن. ابتدا کد به بایت کد تبدیل میشه و سپس در زمان اجرا به کد ماشین تبدیل میشه. در این نوع زبان ها فایل اجرایی ساخته نمیشه
از زبان های JIT Compiled میشه به زبان هایی مثل java به کمک JVM
یا زبان سی شارپ تو بستر Net.
و یا جاوااسکریپت با کمک انجین V8، انجین کروم و نود جی اس اشاره کرد


💻 Part 2

Group: @azad_program
Channel: @kiau_program
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Unity یا Unreal؟ 🎮
.
.
.
.
یونیتی = بازی‌های موبایل و مستقل 📱✨
.
آنریل = گرافیک سینمایی و واقع‌گرایی 🎬🔥
.
.
.
تو کدوم تیمی؟ 👇
.
.
.
#unity #unrealengine #gamedev #بازی_سازی #گیمینگ #برنامه_نویسی #گیمر #فناوری

Group: @azad_program
Channel: @kiau_program
❤8👾2
⭕️ پارادایم (Paradigm) یا الگو برنامه نویسی:

پارادایم های برنامه نویسی روش های مختلفی برای سازماندهی و نوشتن کد ها، و یک چارچوب مفهومی هستن که نحوه تفکر، طراحی و توسعه برنامه هارو مشخص میکنن. به عبارت دیگه، پارادایم برنامه نویسی مجموعه اصول، ابزارها و تکنیک های خاصی هستن که یک برنامه نویس برای ساختاردهی، سازماندهی و تولید کد استفاده میکنه.

🧩 چندتا از پارادایم های مهم و پرکاربرد

🔸 پارادایم دستوری (Imperative)
در این پارادایم برنامه نویس به ماشین دستور میده که چگونه حالت خودش رو تغییر بده. این پاردایم شامل برنامه نویسی رویه ای (Procedural) و ساختار یافته (Structured) ست.
✔️ برنامه‌نویسی رویه‌ای (Procedural)
در این روش، برنامه‌ها به صورت مجموعه‌ای از رویه‌ها یا توابع تعریف میشن که هر کدوم وظایف خاصی رو انجام میدن. زبان‌هایی مثل C و Pascal از این پارادایم استفاده میکنن. کاربرد اصلی این پارادایم در سیستم‌های عامل، برنامه‌های کاربردی و نرم‌افزارهای سیستمیه.
✔️ برنامه‌نویسی ساختار یافته (Structured)
این روش زیرمجموعه‌ای از پارادایم دستوریه که به استفاده از ساختارهای کنترلی مثل حلقه‌ها و شرط‌ها برای بهبود خوانایی و نگهداری کد تأکید داره. زبان‌هایی مثل C و Ada از این پارادایم پشتیبانی میکنن. این پارادایم برای توسعه نرم‌افزارهای بزرگ و پیچیده مناسبه.
🔸پارادایم اعلانی (Declarative)
در این پاردایم برنامه نویس مشخص میکنه که چه چیزی باید انجام بشه، بدون اینکه چگونگی انجام اون رو توضیح بده. زبان هایی مثل SQL و Prolog از این پاردایم استفاده میکنن. این پاردایم برای پایگاه های داده، سیستم های خبره و مسائل بهینه سازی مناسبه
🔸 پارادایم تابعی (Functional)
در این پارادایم، برنامه‌ها به صورت مجموعه‌ای از توابع تعریف میشن که هر کدوم ورودی‌ها رو به خروجی‌ها تبدیل میکنن. زبان‌هایی مثل #F یا Haskell، Elixir, Scala، و JavaScript (در فرانت اند) از این پارادایم استفاده میکنن.
🔸 پارادایم شی گرایی (Object-Oriented)
در این پارادایم، برنامه‌ها به صورت مجموعه‌ای از اشیاء تعریف میشن که هر کدوم دارای ویژگی‌ها و رفتارهای خاص خودشون هستن.

مفاهیم و ویژگی های خاصی در پارادایم شی گرایی وجود داره.

مثل کپسوله‌سازی (Encapsulation)، وراثت (Inheritance) و چندریختی (Polymorphism)

کلاس ها (class) نقشه ای برای ساخت object ها محسوب میشن

زبان‌هایی مثل #C و Java مفاهیم شی گرایی رو به طور دقیق مورد استفاده قرار دادن و به عنوان زبان های Object-Oriented base شناخته میشن. همچنین زبان هایی مثل ++C و Python و ... از این پارادایم پشتیبانی میکنن. کاربرد های اصلی این پارادایم شامل توسعه نرم افزارهای بزرگ، سیستم های توزیع شده و برنامه های کاربردی پیچیده ست.

در نهایت باید اشاره کرد که پارادایم های بیشتری وجود دارن که اینجا ازشون اسمی برده نشد.

البته این الگوها کاملا جدا از هم نیستن و برخی زبان ها امکان ترکیب چندین پارادایم رو هم دارن که به این نوع زبان ها Multi-Paradigm میگن.

Group: @azad_program
Channel: @kiau_program
❤4💋1
آیا لازم هست که همه ی عناصر داخل برنامه مون رو بنویسیم؟

خیر

چرا؟
به این دلیل که ممکنه بیشتر چیز هایی که لازم دارید به صورت پکیج و یا لایبراری (library) وجود داشته باشه

مثال:
شما میخواید توی برنامه ای که مینویسید از تاریخ شمسی استفاده کنید ولی نمیدونید چجوری
با یک سرچ ساده داخل گوگل و یا پرسیدن از ابزار های هوش مصنوعی میتونید بهترین لایبراری که به درد کارتون میخوره پیدا کنید و تاریخ رو تبدیل کنید

این یک مثال ساده بود و حتی لایبراری های خیلی پیچیده تری هست که شما اون کاری که میخواید انجام بدید رو انجام میدن

اگر کاری که خواستید خیلی خاص بود و دیگه لایبراریش وجود نداشت
میتونید یک لایبراری برای خودتون و دیگران بنویسید و شاید دیگران هم به اون لایبراری نیاز داشتند

#software #برنامه_نویسی #programming #library

Group: @azad_program
Channel: @kiau_program
❤7
معرفی 100 کانال یوتیوب برای یادگیری

Group: @azad_program
Channel: @kiau_program
❤9😍1
اگر جایی میرید برای استخدام در حوزه شبکه حتما باید بلد باشید هر پروتکل در چه لایه ای کار میکنه. این جدول میتونه کمکتون کنه.

Group: @azad_program
Channel: @kiau_program
❤12👍5
This media is not supported in your browser
VIEW IN TELEGRAM
یه جوری راه میرن که انگار آینده رو فتح کردن،
ولی واقعیتش اینه فقط دو تا آدم‌ن که دارن نقش ربات بازی می‌کنن 😂🤖
قشنگ‌ترین فریب سال!

#ربات #هوش_مصنوعی #برنامه‌نویسی

Group: @azad_program
Channel: @kiau_program
🤣27❤2😁1
📢 اعلان جذب ادمین برای همکاری در فعالیت‌های گروه

سلام رفقا 👋
برای بهتر شدن روند فعالیت‌های گروه، می‌خوایم برای چند حوزه‌ی برنامه‌نویسی ادمین اضافه کنیم تا توی مدیریت محتوا، پاسخ‌گویی و هماهنگی‌ها کمک کنن.
(همکاری بصورت داوطلبانه)

🔸 حوزه‌های مورد نیاز:

Front-end

Back-end

AI

Machine Learning / Deep Learning

Android

Cyber Security

Game Development

UI/UX

Data Science

و بقیه‌ی حوزه‌های مرتبط با برنامه‌نویسی


🔸 شرایط همکاری:

- حداقل میدلول در حوزه‌ی خودش

- فعال، قابل اعتماد و مسئولیت‌پذیر

- علاقه‌مند به مشارکت در فعالیت‌های گروه


اگه تمایل دارین همکاری کنین، لطفاً به اکانت پشتیبان پیام بدین و حوزه تخصصی + رزومه کوتاه یا نمونه کار ارسال کنین.

@i_kent8
❤1🔥1
یکی از بزرگ‌ترین دغدغه‌هایی که هممون توی دوران دانشجویی داریم، اینه که دقیقاً نمی‌دونیم برای متخصص شدن تو یه حوزه خاص (مثلاً هوش مصنوعی، فرانت‌اند، دواپس و...) باید چه مسیرهایی رو طی کنیم. دانشگاه الفبا رو یاد میده، اما جمله‌سازی با خود مونه.

می‌خوام بهتون سایتی رو معرفی کنم که حکم GPS دنیای برنامه‌نویسی رو داره: 🌐 Roadmap.sh

چرا این سایت برای ما دانشجوها نون شب واجبه؟ ۱. مسیرهای قدم‌به‌قدم: دقیقاً بهت میگه اول چی یاد بگیر، بعدش برو سراغ چی (مثلاً برای پایتون اول سینتکس، بعد مدیریت پکیج‌ها، بعد فریم‌ورک‌ها و...). ۲. بروز بودن: تکنولوژی‌هایی رو معرفی می‌کنه که همین الان تو بازار کار سال ۲۰۲۵ خواهان داره، نه چیزای منسوخ شده. ۳. تنوع بالا: فرقی نمی‌کنه عاشق AI و دیتاساینس باشی یا شبکه و امنیت؛ برای همه‌شون نقشه راه داره.

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

شما الان کجای مسیرین؟ (React؟ Python؟ یا هنوز دارین می‌گردین؟) 👇

Group: @azad_program
Channel:
@kiau_program
❤12
معدل بالا یا گیت‌هابِ سبز؟ 🎓 vs 💻

دم امتحاناته و دوباره این سوال توی ذهن هممون هست: واقعاً نمره و معدل دانشگاه چقدر توی آینده شغلی‌مون تاثیر داره؟

دو تا دیدگاه همیشه بین بچه‌ها هست:
1️⃣ تیم تخصص: میگن معدل ۱۲ با ۱۹ توی بازار کار فرقی نداره، کارفرما فقط مهارت و نمونه کار میخواد. دانشگاه وقت تلف کردنه و فقط باید پاس کرد.
2️⃣ تیم مدرک: میگن برای اپلای (مهاجرت) یا استخدام جاهای دولتی و بزرگ، معدل فیلتر اوله. اگه پایین باشه، بهترین برنامه‌نویس هم باشی کلی فرصت می‌پره.

شما الان استراتژی‌تون چیه؟ دارید برای ۲۰ می‌خونید یا فقط پاس کنید که برید سراغ کد زدن؟ 🤔

Group: @azad_program
Channel:
@kiau_program
👍3❤2🤔1🗿1
یکی از ابزاری که میتونه کمک کنه که ببینید در طولانی مدت چقدر پروداکتیو بودید و با دوستانتون به اشتراک بزاری و یا حتی اون ها رو به چالش بکشید استفاده از ابزار مانیتور کد هستش
یکی از این ابزار ها که من به تازگی باهاش آشنا شدم و خواستم به شما به اشتراک بزارم این wakatime هستش
این ابزار کاملا رایگان هستش ولی اگه بخواید قابلیت های بیشتری رو به شما بده میتونید از اشتراکش استفاده کنید
یک ورژن اوپن سورس مانند این هم هست که wakapi هستش

نحوه ی نصب و راه اندازه برای تمامی پلتفرم ها و تمامی IDE و CodeEditor ها داخل وبسایت هست
از قسمت لیدر بورد هم میتونید افراد برتر رو ببینید که بالا ۱۴ ساعت برنامه نویسی توی یک روز رو داشتن

لینک ها:
https://wakatime.com/
https://wakapi.dev/

Group: @azad_program
Channel: @kiau_program
❤3
اگه به ساخت گیم علاقه دارید
ساختن گیم همیشه اینطوری نیست که شما موتور بازی خودتون رو بسازید. شما میتونید از موتور هایی که بصورت رایگان هستند استفاده کنید. مثل:
Unreal Engine (blueprints, C++)
Unity (C#)
Godot (C++, C#)

این موتور ها یکی از پر طرفدار ترین موتور ها هستند که برای دستگاه های مختلفی هم خروجی میدند

اگر میخواید موتور خودتونو بنویسید اول باید کار با Graphical API ها رو بلد باشید
DirectX (Windows)
Vulkan (Cross-platform, on Apple devices using moltenVK)
OpenGL (Cross-platform excluding Apple devices)
OpenCL
Metal (Apple devices only)

بهترین حالت برای توسعه ی گیم و موتور این هستش که شما هدف برای سه سیستم عامل Windows, Linux, MacOS گذاشته بشه و بهینه بشه
لینوکس چون کنسول های دستی مانند Steam deck و حتی کامپیوتر های شخصی رو هدف قرار داده خیلی سیستم عامل مهمی هست که براش گیم ساخته بشه و حتی یوزر ها به این سمت هم دارند میروند

برای MacOS هم حتما باید حواستون باشه که برای Apple Silicon (M series) بهینه بشه که بهترین پرفورمنس و کارایی رو داشته باشه. همچنین میتونید از قابلیت های مختلفی که اپل برای این سری چیپ ها میده رو هم استفاده کنید. همچنین در مک های با چیپ های M3 به بالا شما میتونید از Hardware Ray Tracing استفاده کنید. همچنین میتونید از MetalFX برای FrameGen استفاده کنید

درسته تعداد یوزر های ویندوز بالا تر هستند ولی جدیدا توسعه دهندگان بازی دارند به لینوکس و مخصوصا مک توجه نشون میدند که خیلی میتونه کمک کننده باشه به کسایی که از ویندوز استفاده نمیکنند یا میخوان سوییچ کنند به یک سیستم عامل دیگه

Group: @azad_program
Channel: @kiau_program
❤6
هوک جدیدی که عاشقش می‌شی: useAction

اخیراً با یه قابلیت جدید تو React آشنا شدم به اسم useAction که حسابی کار با فرم‌ها و server actionها رو راحت‌تر می‌کنه.

تا قبل از این، کلی state و error و loading باید دستی هندل می‌کردیم… ولی حالا؟
فقط یه خط:

const action = useAction(myAction);

و بعد خیلی راحت:

action.execute(data);

✅ اتوماتیک همه‌چی رو مدیریت می‌کنه:

وضعیت loading

ارورها

و حتی رفرش شدن فرم یا component بعد از action


اگه با Next.js یا React کار می‌کنید و از server actions استفاده می‌کنید، حتماً یه نگاهی بهش بندازید. خیلی تمیزتر و مرتب‌تر می‌شه کدتون

کسی از شما امتحانش کرده؟ تجربه‌ای دارید؟ دوست
دارم نظرتون رو بدونم


Group: @azad_program
Channel: @kiau_program
❤16
وبینار تخصصی اپلای مهندسی کامپیوتر و هوش مصنوعی

📅 زمان: سه‌شنبه ۱۹ خرداد ۱۴۰۵
🕖 ساعت: ۱۹:۰۰ الی ۲۱:۰۰
🏢 برگزارکننده: مجموعه اپلای ویزاردز

👨‍💻مجری وبینار:
محمدمهدی مجیری

👨‍🏫 ارائه‌کنندگان:
- محمدرضا تقی‌لو
- سجاد صالحی

🎯 در این وبینار تخصصی، مسیرهای اپلای در حوزه‌های مهندسی کامپیوتر و هوش مصنوعیبا نگاهی کاربردی و مبتنی بر تجربه بررسی می‌شود.

✅ با بیش از ۵۰۰ پرونده موفق، این وبینار می‌تواند برای دانشجویانی که به دنبال شناخت دقیق‌تر مسیر اپلای و تصمیم‌گیری حرفه‌ای‌تر هستند، بسیار مفید باشد.

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


Group: @azad_program
Channel: @kiau_program
❤6
وبینار تخصصی اپلای مهندسی کامپیوتر و هوش مصنوعی

📅 زمان: سه‌شنبه ۱۹ خرداد ۱۴۰۵
🕖 ساعت: ۱۹:۰۰ الی ۲۱:۰۰
🏢 برگزارکننده: مجموعه اپلای ویزاردز

👨‍💻مجری وبینار:
محمدمهدی مجیری

👨‍🏫 ارائه‌کنندگان:
- محمدرضا تقی‌لو
- سجاد صالحی

🎯 در این وبینار تخصصی، مسیرهای اپلای در حوزه‌های مهندسی کامپیوتر و هوش مصنوعیبا نگاهی کاربردی و مبتنی بر تجربه بررسی می‌شود.

✅ با بیش از ۵۰۰ پرونده موفق، این وبینار می‌تواند برای دانشجویانی که به دنبال شناخت دقیق‌تر مسیر اپلای و تصمیم‌گیری حرفه‌ای‌تر هستند، بسیار مفید باشد.

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


Group: @azad_program
Channel: @kiau_program
❤6
کل داستان IPv4 به طور خلاصه

Group: @azad_program
Channel: @kiau_program
❤10👍2
چرا عدد "منفی 1" در حافظه می‌شود 0xFF؟ - پارت 1

اگر با C، سیستم‌پروگرمینگ، کامپایلر، اسمبلی یا حتی دیباگ‌کردن باینری سروکار داشته باشید، دیر یا زود به یک سئوال اساسی می‌رسید:
عددهای منفی واقعاً چطور داخل حافظه ذخیره می‌شن؟

تقریباً روی همه‌ی معماری‌های مدرن، جواب two’s complementئه.

اما two’s complement فقط یک روش ذخیره‌سازی نیست؛ یکی از مهم‌ترین ترفندهای طراحی کامپیوتره که باعث می‌شه CPU بتونه جمع، تفریق، اعداد مثبت، اعداد منفی و overflow رو با یک منطق بسیار ساده مدیریت کنه.
———
مسئله از کجا شروع می‌شه؟
در باینری معمولی، اگر ۸ بیت داشته باشیم:
00000000 = 0
00000001 = 1
00000010 = 2
...
01111111 = 127

تا اینجا همه‌چیز روشنه. اما با ۸ بیت فقط ۲۵۶ الگوی مختلف داریم. حالا سئوال:
با همین ۲۵۶ الگو، هم عدد مثبت داشته باشیم، هم عدد منفی، چطور باید تقسیم‌شون کنیم؟

در سیستم two’s complement برای ۸ بیت، بازه اینه:
-128 تا +127

یعنی:
00000000 = 0
00000001 = 1
...
01111111 = 127

———

10000000 = -128
10000001 = -127
...
11111110 = -2
11111111 = -1

نکته‌ی مهم اینجاست: بیت سمت چپ فقط علامت نیست بلکه وزنش منفی‌ئه.
bit: 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
weight: -128 | 64 | 32 | 16 | 8 | 4 | 2 | 1

پس مقدار این باینری:
11111111

می‌شه:
-128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = -1

برای همین 0xFF در signed 8-bit برابر -1 است.

———

قانون اصلی two’s complement

برای پیدا کردن نمایش باینری -x در N بیت:
1. نمایش باینری x رو بنویس
2. همه بیت‌ها رو invert کن
3. یک واحد اضافه کن

مثلاً برای -5 در ۸ بیت:
اول +5:
00000101

invert:
11111010

plus one:
11111011

پس:
-5 = 11111011

اگر مقدارش رو با وزن بیت‌ها حساب کنیم:
11111011
= -128 + 64 + 32 + 16 + 8 + 0 + 2 + 1
= -5


در مهندسی نرم‌افزار، تفاوت آدمی که فقط کد می‌نویسه با آدمی که سیستم رو می‌فهمه، دقیقاً از همین سؤال‌های ظاهراً ساده شروع می‌شه. توی پارت دوم به این روش به‌طور عمیق‌تر می‌پردازیم.

Group: @azad_program
Channel: @kiau_program
❤5👍2👎1🔥1💯1
دوستان اگه کسی اندروید دولوپره (کاتلین) یه سورس کد دارم ممنون میشم بیاد پیوی یه کمکی برسونه بهم
@erf014
❤2👍1🤣1