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

گروه چت پرسش و پاسخ: https://t.me/azad_program
Download Telegram
⭕️ دسته بندی زبان ها:

زبان های کامپایلری (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 5

★彡 @kiau_program 彡★
https://t.me/kiau_program/137
❤4
⭕️ دسته بندی زبان ها:

زبان‌های اسکریپتی (Scripting Languages)
این زبان ها معمولا برای نوشتن اسکریپت ها و برنامه های کوچک و سریع و متنوع استفاده میشن. این زبان ها معمولا مفسری هستن و برای توسعه سریع و راحت مناسبن.
از این زبان ها برای خودکارسازی وظایف هم استفاده میشه.
از زبان های اسکریپتی میشه به JavaScript, Python, PHP, Perl, Bash, Ruby و ... اشاره کرد

زبان های توصیفی (Declarative Languages)
زبان های توصیفی به جای تمرکز به چگونگی انجام یک کار به (چه چیزی باید انجام بشه) تمرکز دارن. به عبارتی توصیف میکنن که چه کاری باید انجام بشه. این زبان ها به برنامه نویس اجازه میده تا بجای نوشتن الگوریتم های دقیق، نتایج مورد نظر خودش رو توصیف کنه.

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

از زبان های توصیفی میشه به SQL, HTML, XML, CSS اشاره کرد

زبان های دامنه خاص (Domain-Specific Languages) درمقابل (General-Purpose Languages)
زبان های DSL زبان هایی هستن که برای یک حوزه یا دامنه خاصی طراحی شدن و ویژگی ها و قابلیت های مخصوصی برای اون حوزه دارن. این زبان ها درمقابل زبان های همه منظوره (General-Purpose Languages) یا GPL قرار میگیرن که برای بازه گسترده ای از کاربردها قابل استفاده هستن.

این زبان ها برای حل مسائل خاص در یک حوزه خاص طراحی شدن
نسبت به زبان های همه منظوره مسائل خاصی رو ساده تر حل میکنن.

از این نوع زبان ها میشه به HTML, CSS, SQL, Verilog اشاره کرد

زبان های نشانه گذاری (Markup Languages)
این زبان ها برای ساختاردهی و نمایش داده ها استفاده میشن و معمولا به عنوان زبان های برنامه نویسی شناخته نمیشن اما نقش مهمی در توسعه وب و یا تبادل داده ها دارن.

مثل زبان HTML برای ساختاردهی صفحات وب
زبان XML برای تبادل داده ها بین سیستم ها
زبان Markdown برای نوشتن مستندات و محتوای متنی با پسوند md.

💻 Part 6

★彡 @kiau_program 彡★
https://t.me/kiau_program/138
❤3
⭕️ پارادایم (Paradigm) یا الگو برنامه نویسی:
پارادایم های برنامه نویسی روش های مختلفی برای سازماندهی و نوشتن کد ها، و یک چارچوب مفهومی هستن که نحوه تفکر، طراحی و توسعه برنامه هارو مشخص میکنن. به عبارت دیگه، پارادایم برنامه نویسی مجموعه اصول، ابزارها و تکنیک های خاصی هستن که یک برنامه نویس برای ساختاردهی، سازماندهی و تولید کد استفاده میکنه.

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

🔸 پارادایم منطقی (Logic)
در این پارادایم، برنامه‌ها به صورت مجموعه‌ای از قواعد و حقایق تعریف میشن و سیستم به دنبال یافتن جواب به سوالات بر اساس این قواعد هست. Prolog یکی از زبان‌های معروف این پارادایمه. این پارادایم برای مسائل هوش مصنوعی و سیستم‌های خبره مناسبه.
🔸 پارادایم رویدادمحور (Event-Driven)
در این پارادایم، برنامه‌ها بر اساس رویدادهایی که در سیستم رخ میدن، عمل میکنن. این پارادایم معمولاً در برنامه‌های رابط کاربری گرافیکی (GUI) و برنامه‌های وب استفاده میشن. زبان‌هایی مثل JavaScript و #C از این پارادایم پشتیبانی میکنن. کاربردهای اصلی شامل توسعه برنامه‌های وب، برنامه‌های موبایل و سیستم‌های تعاملیه.
🔸 پارادایم واکنشی (Reactive)
در این پارادایم، برنامه‌ها به صورت جریان‌های داده‌ای و انتشار تغییرات تعریف میشن. این پارادایم برای برنامه‌های زمان واقعی و سیستم‌های توزیع‌شده مناسبه. زبان‌هایی مثل RxJava و ReactiveX از این پارادایم استفاده میکنن. کاربردهای اصلی شامل برنامه‌های زمان واقعی، سیستم‌های توزیع‌شده و برنامه‌های تعاملیه.
🔸 پارادایم همزمانی (Concurrency)
در این پارادایم، برنامه‌ها به گونه‌ای نوشته میشن که بتونن چندین کار رو به طور همزمان انجام بدن. این پارادایم برای برنامه‌های چندوظیفه‌ای و سیستم‌های توزیع‌شده مناسبه. زبان‌هایی مثل Java و Go از این پارادایم پشتیبانی میکنن. کاربردهای اصلی شامل برنامه‌های چندوظیفه‌ای، سیستم‌های توزیع‌شده و برنامه‌های زمان واقعی هست.
در نهایت باید اشاره کرد که پارادایم های بیشتری وجود دارن که اینجا ازشون اسمی برده نشد.

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

💻 Part 7

★彡 @kiau_program 彡★
https://t.me/kiau_program/139
❤3
روز برنامه نویس رو به تمامی دوستان، چه اونایی که چندین سال تجربه کاری دارن و به یک فرد سنیور و خبره تبدیل شدن و چه کسایی که تازه وارد این دنیای بی انتها شدن و با شوق و اشتیاق زیاد توی این مسیر حرکت میکنن تبریک میگیم✌️🏼❤️

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

با احترام، برنامه نویسان دانشگاه آزاد 💻🌺

★彡 @kiau_program 彡★
❤18❤‍🔥1👎1🌭1
⭕️ کتابخانه (Library) در برنامه نویسی:
کتابخانه‌ها مجموعه‌ای از کدهای از پیش نوشته شده هستن که برنامه‌نویسان میتونن از اونها برای انجام وظایف خاص استفاده کنن. این کدها شامل توابع، کلاس‌ها و متدهایی هستن که به برنامه‌نویسان کمک میکنن تا بدون نیاز به نوشتن کدهای تکراری، وظایف پیچیده رو به سادگی انجام بدن. برای مثال کتابخانه math.h در زبان C شامل توابع ریاضی مثل محاسبه لگاریتمه که برنامه‌نویسان میتونن به راحتی از اونها استفاده کنن.

ویژگی Library ها
🔸 قابلیت استفاده مجدد:
کتابخانه‌ها به برنامه‌نویسان اجازه میدن تا کدهای تکراری رو حذف کنن و از کدهای از پیش نوشته شده استفاده کنن.

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

🔸 سادگی در استفاده:
کتابخانه‌ها معمولاً دارای مستندات خوبی هستن که به برنامه‌نویسان کمک میکنن تا به راحتی از اونها استفاده کنن.


مثال هایی از Library ها

🔸 کتابخانه JQuery:
یک کتابخانه جاوا اسکریپت که کار با DOM (Document Object Model) رو ساده‌تر میکنه.

🔸 کتابخانه NumPy:
یک کتابخانه پایتون برای محاسبات علمی و عددی.

🔸 کتابخانه Pandas:
یک کتابخانه پایتون برای تحلیل داده‌ها و کار با داده‌های جدولی.


💻 Part 8

★彡 @kiau_program 彡★
https://t.me/kiau_program/140
❤4
⭕️ چارچوب (Framework) در برنامه نویسی:
فریمورک‌ها چارچوب‌های نرم‌افزاری هستن که ساختار و اسکلت اصلی یک برنامه رو فراهم میکنن. فریمورک‌ها شامل مجموعه‌ای از قوانین، الگوها و ابزارهایی هستن که به برنامه‌نویسان کمک میکنن تا برنامه‌های خودشون رو به صورت سازمان‌یافته و کارآمد توسعه بدن. برخلاف کتابخانه‌ها که برنامه‌نویس اونها رو فراخوانی میکنه، در فریمورک‌ها این فریمورکه که کدهای برنامه‌نویس رو فراخوانی میکنه و جریان اصلی برنامه رو کنترل میکنه.

ویژگی‌های Framework ها
🔸 کنترل جریان برنامه:
فریمورک کنترل جریان برنامه رو در دست داره و کدهای برنامه‌نویس رو در زمان‌های مشخصی فراخوانی میکنه.

🔸 ساختار و سازمان‌دهی:
فریمورک‌ها ساختار و سازمان‌دهی مشخصی رو برای توسعه برنامه‌ها فراهم میکنه که این امر باعث میشه برنامه‌ها به صورت منظم و قابل نگهداری باشن.

🔸 ابزارها و امکانات بیشتر:
فریمورک‌ها معمولاً شامل ابزارها و امکانات بیشتری نسبت به کتابخانه‌ها هستن که به برنامه‌نویسان کمک میکنه تا وظایف پیچیده‌تری رو انجام بدن.


مثال‌هایی از Framework ها
🔸 فریمورک Django:
یک فریمورک پایتون برای توسعه وب (بک اند) که شامل ابزارهای بسیاری برای ساخت برنامه‌های وب هست.

🔸 فریمورک Angular:
یک فریمورک جاوا اسکریپت برای ساخت برنامه‌ها و وبسایت هایی با تفکر تک صفحه‌ای (SPA).

🔸 فریمورک Laravel:
یک فریمورک PHP برای توسعه وب که از معماری MVC (Model-View-Controller) استفاده میکنه و ابزارهای بسیاری برای مدیریت پایگاه داده، مسیریابی و احراز هویت فراهم میکنه.

🔸 فریمورک Vue.js:
یک فریمورک جاوا اسکریپت برای ساخت رابط‌های کاربری تعاملی و پویا که بخاطر سادگی و انعطاف پذیری و قابلیت های بسیار زیادش محبوب شده.


💻 Part 9

★彡 @kiau_program 彡★
https://t.me/kiau_program/142
❤5🔥1
⭕️ محیط‌های توسعه یکپارچه (IDE) و ویرایشگرهای کد (Code Editor):

🔶 محیط‌های توسعه یکپارچه (IDE):
محیط‌های توسعه یکپارچه (Integrated Development Environment) یا IDE ابزارهایی هستن که به توسعه‌دهندگان کمک میکنن تا کدهای خودشون رو بنویسن، تست کنن و اشکال‌زدایی کنن. IDEها معمولاً شامل مجموعه‌ای از ابزارها و ویژگی‌ها هستن که فرآیند توسعه نرم‌افزار رو ساده‌تر و کارآمدتر میکنن.

برخی از ویژگی های IDE ها
🔸 ویرایشگر کد: برای نوشتن و ویرایش کد.

🔸 اشکال‌زدایی (Debugger): برای پیدا کردن و رفع اشکالات کد.

🔸 کامپایلر: برای ترجمه کد به زبان ماشین.

🔸 مدیریت نسخه‌ها (Version Control): برای مدیریت تغییرات کد.

🔸 تکمیل خودکار کد (Code Completion): برای افزایش سرعت و دقت در نوشتن کد.

🔸 ابزارهای تست: برای اطمینان از عملکرد صحیح کد.


برخی از IDE های محبوب
🔸 برنامه Visual Studio:
یکی از محبوب‌ترین IDEها برای توسعه نرم‌افزارهای ویندوز و وب. این IDE توسط مایکروسافت توسعه داده شده و از زبان‌های برنامه‌نویسی مختلفی مثل #C یا ++C و ... پشتیبانی میکنه

🔸 برنامه IntelliJ IDEA:
یک IDE قدرتمند برای توسعه نرم‌افزارهای جاوا و دیگر زبان‌های JVM. این IDE توسط JetBrains توسعه داده شده و ویژگی‌های پیشرفته‌ای مثل تحلیل کد و ابزارهای اشکال‌زدایی داره.

🔸 برنامه Android Studio:
یک IDE رسمی برای توسعه برنامه‌های اندروید که توسط گوگل توسعه داده شده. این IDE بر پایه IntelliJ IDEA ساخته شده و ابزارهای خاصی برای توسعه اندروید مثل Android Virtual Device (AVD) Manager و ابزارهای طراحی رابط کاربری داره.

🔸 برنامه WebStorm:
یک IDE قدرتمند برای توسعه وب که توسط JetBrains توسعه داده شده. این IDE از زبان‌ها و فریم‌ورک‌های مختلف وب مثل HTML، CSS، JavaScript، Angular، React و Vue.js پشتیبانی میکنه.

🔸 برنامه PyCharm:
یک IDE تخصصی برای توسعه نرم‌افزارهای پایتون که توسط JetBrains توسعه داده شده. این IDE ابزارهای پیشرفته‌ای برای تحلیل کد، اشکال‌زدایی و تست نرم‌افزارهای پایتون داره.

🔸 برنامه PhpStorm:
یک IDE قدرتمند برای توسعه نرم‌افزارهای PHP که توسط JetBrains توسعه داده شده. این IDE از فریم‌ورک‌های مختلف PHP مثل Laravel، Symfony و Zend پشتیبانی میکنه و ابزارهای پیشرفته‌ای برای تحلیل کد و اشکال‌زدایی داره.


🔷 ویرایشگرهای کد (Code Editor)
ویرایشگرهای کد ابزارهایی هستن که به توسعه‌دهندگان اجازه میدن کدهای خودشون رو بنویسن و ویرایش کنن. این ابزارها معمولاً سبک‌تر و ساده‌تر از IDEها هستن و برای کارهای سریع و ساده مناسب ترن.

برخی از ویژگی های Code Editor ها
🔹 هایلایت سینتکس (Syntax Highlighting): برای نمایش کد با رنگ‌های مختلف بر اساس نوع سینتکس.

🔹 تکمیل خودکار کد: برای افزایش سرعت نوشتن کد.

🔹 پشتیبانی از پلاگین‌ها: برای افزودن قابلیت‌های بیشتر به ویرایشگر.


برخی از Code Editor های محبوب
🔹 برنامه Visual Studio Code:
یک ویرایشگر کد رایگان و متن‌باز که توسط مایکروسافت توسعه داده شده. این ویرایشگر از پلاگین‌های متعددی پشتیبانی میکنه و برای توسعه‌دهندگان وب بسیار محبوبه.

🔹 برنامه Sublime Text:
یک ویرایشگر کد سبک و سریع که از پلاگین‌های متعددی پشتیبانی میکنه. این ویرایشگر برای توسعه‌دهندگان که به دنبال یک ابزار ساده و کارآمد هستن، مناسبه.

🔹 برنامه Atom:
یک ویرایشگر کد متن‌باز که توسط GitHub توسعه داده شده. این ویرایشگر از پلاگین‌های متعددی پشتیبانی میکنه و قابلیت‌های پیشرفته‌ای مثل تکمیل خودکار کد و هایلایت سینتکس داره.


‼️ تفاوت‌های کلیدی بین IDE و Code Editor
❕ویژگی‌ها:
معمولا IDEها شامل ابزارهای بیشتری مثل اشکال‌زدایی و کامپایلر هستن. در حالی که ویرایشگرهای کد بیشتر روی ویرایش کد تمرکز دارن.

❕کارایی:
معمولا IDEها سنگین‌تر و پیچیده‌تر هستن، در حالی که ویرایشگرهای کد سبک‌تر و سریعترن.

❕کاربرد:
همچنین IDEها برای پروژه‌های بزرگ و پیچیده مناسبت ترن، در حالی که ویرایشگرهای کد برای کارهای سریع و ساده تر مناسبن.


💻 Part 10

★彡 @kiau_program 彡★
https://t.me/kiau_program/143
❤5🔥2
Azad's Programmers
رفقایی که قصد یادگیری جاوااسکریپت رو دارن و به دنبال یه کورس برتر و جامع میگردن، دوره جاوااسکریپت Zero to Expert از Jonas Schmedtmann یکی از مدرسین و اساتید کامیونیتی بزرگ یودمی به جرعت بهترین کورس آموزشی که تاحالا منتشر شده. اگر هم مشکل زبان انگلیسی دارید…
رفقا تیم و دوبلور دوره جاوااسکریپت Jonas به فعالیت خودش خاتمه داده و بخاطر همین هم دوره React جوناس که حدودا 30 فصله و دوبله شده بود رو رایگان کرده و در دسترس عموم قرار داده👌🏼
میتونید از لینک زیر هم به دوره جاوااسکریپت و هم دوره ری اکت دوبله شده جوناس دسترسی پیدا کنین

پیام دوبلور این دوره ها:
دوبله دوره ریکت بنا به دلایلی رایگان شد و از dubdev.ir میتونید دسترسی داشته باشید...

نه ریسپانسیوه نه هیچی صرفا لینک فصل ها هستش، با سیستم برید راحت تر میتونید استفاده کنید


Link: dubdev.ir

★彡 @kiau_program 彡★
https://t.me/kiau_program/32
👍4❤‍🔥2😘1
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻کاربردی ترین کتاب خانه های پایتون که باید بشناسید

#پایتون
★彡 @kiau_program 彡★
👍3
⭕️ رابط برنامه نویسی کاربردی (API):

رابط برنامه‌نویسی کاربردی (Application Programming Interface) یا به طور مخفف API، مجموعه‌ای از قوانین و پروتکل‌هاست که به نرم‌افزارها اجازه میده با همدیگه ارتباط برقرار کنن. به زبان ساده، API ها واسطه‌ای هستن که به برنامه‌ها و سرویس‌های مختلف امکان میده داده‌ها و عملکردهای خودشون رو به اشتراک بذارن. مثلا برای دریافت وضعیت آب و هوا یا قیمت بروز دلار و ارزهای دیجیتال تا گرفتن اطلاعات کامل یه برنامه سمت سرور از API های موجود استفاده میکنیم.

نحوه عملکرد API ها

درواقع API ها به عنوان واسطه‌ای بین دو نرم‌افزار عمل می کنن. وقتی یک برنامه درخواست اطلاعات یا عملکردی رو از برنامه دیگه ای میکنه، این درخواست از طریق API ارسال میشه. API درخواست رو پردازش میکنه و پاسخ مناسب رو به برنامه درخواست‌کننده ارسال می‌کنه. این فرآیند شامل چند مرحله ست:

🔸 ارسال درخواست (Request):
برنامه درخواست‌کننده یک درخواست به API ارسال می‌کنه این درخواست می‌تونه شامل پارامترها و داده‌های مورد نیاز باشه.

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

🔸 ارسال پاسخ (Response):
پس از پردازش درخواست، API پاسخ مناسب رو به برنامه درخواست‌کننده ارسال می‌کنه. این پاسخ معمولاً به صورت فرمت خاصی از داده ها به شکل JSON یا XML هست.


انواع API‌ ها
🔸 نوع اول، API های وب:
این نوع API‌ها از پروتکل‌های HTTP/HTTPS استفاده میکنن و برای ارتباط بین سرویس‌های وب و برنامه‌های کاربردی استفاده می‌شن.

🔸نوع دوم، API‌های سیستم‌عامل:
این API‌ها به برنامه‌ها اجازه میدن تا با سیستم‌عامل و سخت‌افزار دستگاه تعامل داشته باشن.

🔸نوع سوم، API‌های کتابخانه‌ای:
این نوع API‌ها به توسعه‌دهندگان این امکان رو میدن تا از توابع و کلاس‌های موجود داخل یک کتابخانه نرم‌افزاری استفاده کنن.


کاربردهای API

🔸 پرداخت آنلاین:
بسیاری از وب‌سایت‌ها از API‌های پرداخت مثل PayPal یا درگاه پرداخت زرین پال و ... استفاده می‌کنن تا به کاربران امکان پرداخت آنلاین را بدن.

🔸 نقشه‌ها و مکان‌یابی:
یسری API‌های نقشه مثل Google Maps به توسعه‌دهندگان این امکان رو میدن تا نقشه‌ها و خدمات مکان‌یابی رو داخل برنامه‌های خودشون ادغام کنن.

🔸 شبکه‌های اجتماعی:
یسری از API ها مثل API‌های شبکه‌های اجتماعی Facebook و Twitter و ... به برنامه‌ها اجازه میدن تا پست‌ها، نظرات و داده‌های کاربرا رو مدیریت کنن و به نمایش بذارن.

🔸 استفاده از هوش مصنوعی:
با کمک API های موجود هوش مصنوعی، امکان ساخت بات های هوشمند، استفاده از قابلیت های ai داخل اپلیکیشن ها و وب اپلیکیشن ها و ... فراهم میشه.

🔸 دریافت اطلاعات به صورت زنده:
با استفاده از API های موجود، امکان دریافت اطلاعاتی مثل وضعیت آب و هوا، قیمت دلار، طلا و ارزهای دیجیتال. اخبار مهم ورزشی و ... و استفاده ازشون داخل برنامه ها موجوده.


مزایا و معایب API‌ها

🔶 مزایا:
🔸 اتصال و یکپارچگی: API‌ها به نرم‌افزارها اجازه میدن به راحتی با همدیگه ارتباط برقرار کنن و داده‌ها رو به اشتراک بذارن.

🔸 صرفه‌جویی در زمان و هزینه: با استفاده از API‌ها، توسعه‌دهندگان نیازی به نوشتن کدهای پیچیده برای هر عملکرد جدید ندارن.

🔸 افزایش کارایی: API‌ها به برنامه‌ها اجازه میدن تا به صورت خودکار و بدون نیاز به دخالت انسانی با همدیگه تعامل کنن.
🔶 معایب:
🔸 مستندات ناکافی: اگر مستندات API کامل و دقیق نباشه، ممکنه توسعه‌دهندگان در استفاده از اون دچار مشکل بشن.

🔸 محدودیت‌های نرخ (Rate Limits): بسیاری از API‌ها محدودیت‌هایی برای تعداد درخواست‌هایی که میشه در یک بازه زمانی مشخص ارسال کرد، دارن.

🔸 تغییرات نسخه: API‌ها ممکن هست به مرور زمان تغییر کنن و نسخه‌های جدیدی از اونها منتشر بشه که نیاز به به‌روزرسانی کدها داشته باشن.


نحوه استفاده از API ها:

برای استفاده از یک API، اول باید مستندات یا داکیومنت اون رو مطالعه کنیم تا با نحوه عملکرد و درخواست‌های مورد نیاز آشنا بشیم. در مرحله بعدی با استفاده از زبان‌های برنامه‌نویسی مختلف  درخواست‌های API رو ارسال کنیم و پاسخ‌ها رو پردازش کنیم.

💻 Part 11

★彡 @kiau_program 彡★
https://t.me/kiau_program/144
👍3❤1⚡1
⭕️ اصطلاح باگ (Bug) و فرایند رفع باگ (Debug) در برنامه نویسی:

🔶 اطلاح باگ (Bug):
اصطلاح "باگ" در دنیای برنامه نویسی و کامپیوتر به مشکلات و خطاهای نرم افزاری اشاره داره. این اصطلاح زمانی به کار میره که یک برنامه یا سیستم کامپیوتری به درستی کار نمیکنه و نتایج غیر منتظره یا نادرست تولید میکنه. درواقع، باگ ها خطاهایی هستن که باعث میشن نرم افزار ها اونطور که ما انتظار داریم عمل نکنن. اما این کلمه به یک حادثه تاریخی جالب برمیگرده.

🔸 تاریخچه اصطلاح Bug
در سال 1947، اولین بار این اصطلاح توسط گریس هاپر، یکی از اولین برنامه نویسان زن به کار گرفته شد. گروهی از دانشمندان و مهندسان کامپیوتر که روی کامپیوتر Mark II در دانشگاه هاروارد کارمیکردن، متوجه شدن که یک حشره (به معنای واقعی کلمه) وارد پره های این کامپیوتر شده و داخل قطعات سخت افزار گیر کرده و باعث اختلال در عملکرد اون شده. بعد از کشف این موضوع، اون حشره رو از سیستم خارج کردن و داخل دفتر ثبت مشکلات خودشون نوشتن: "اولین باگ پیدا شد" و این حشره رو داخل دفترچه ثبت مشکلات چسبوندن.

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


🔸 انواع باگ ها
1. باگ سینتکسی (Syntax Bug): خطاهایی که به دلیل اشتباه در نوشتار کد برنامه‌نویسی رخ میدن.

2. باگ منطقی (Logical Bug): خطاهایی که به دلیل اشتباه در منطق برنامه‌نویسی به وجود میان.

3. باگ محاسباتی (Arithmetic Bug): خطاهایی که در محاسبات ریاضی رخ میدن.

4. باگ منابع (Resource Bug): خطاهایی که به دلیل استفاده نادرست از منابع سیستم مثل حافظه و پردازنده به وجود میان.


🔷 فرایند رفع باگ (Debug):
دیباگ یا اشکال زدایی فرایندیه که طی اون برنامه نویسان خطاها و باگ های موجود در کدهای نرم افزاری رو شناسایی و رفع میکنن. این فرایند شامل چند مرحله ست.

🔹 مراحل رفع باگ (Debug)
1. شناسایی مشکل: اولین مرحله در دیباگ، شناسایی مشکل یا باگه. این مرحله معمولاً با مشاهده رفتار غیرمنتظره نرم‌افزار یا دریافت گزارش‌های خطا آغاز می‌شه.

2. بازتولید مشکل: در این مرحله، برنامه‌نویس سعی می‌کنه شرایطی را ایجاد کنه که مشکل دوباره رخ بده. این کار به شناسایی دقیق‌تر منبع مشکل کمک می‌کنه.

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

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

5. آزمایش مجدد: پس از تصحیح مشکل، برنامه‌نویس باید نرم‌افزار رو دوباره آزمایش کنه تا اطمینان حاصل بشه که مشکل برطرف شده و هیچ مشکل جدیدی ایجاد نشده.

6. مستندسازی: در نهایت، برنامه‌نویس باید تغییرات انجام شده رو مستندسازی کنه تا در آینده بشه به راحتی به اون مراجعه کرد.


💻 Part 12

★彡 @kiau_program 彡★
https://t.me/kiau_program/149

Image Link
❤2👍2⚡1
This media is not supported in your browser
VIEW IN TELEGRAM
8 پروتکل معروفی که در شبکه وجود داره و نحوه کار و محل‌کارکد آن ها

★彡 @kiau_program 彡★
🔥5👍2
50 کامندی که هر یوزر لینوکسی باید راجبشون بدونه و بلد باشه

نکته: اگر کامندی رو بلد نیستید فقط کافیه با کامند man تمام اطلاعات و نوع عملکرد اون کامند رو بفهمید.
man [ Command ]


★彡 @kiau_program 彡★
👍2
Azad's Programmers
50 کامندی که هر یوزر لینوکسی باید راجبشون بدونه و بلد باشه نکته: اگر کامندی رو بلد نیستید فقط کافیه با کامند man تمام اطلاعات و نوع عملکرد اون کامند رو بفهمید. man [ Command ] ★彡 @kiau_program 彡★
نمونه کاربرد این کامند ها:

- کامند ls: این کامند به شما محتویات جایی قرار دارید رو نشون میده.

- کامند pwd: این کامند به شما کمک میکنه که بدونید دقیقاً در کجای لینوکس قرار دارید - در ریشه هستید یا در دایرکتوری خاصی قرار دارید
- pwd
Results: /etc/netplan

- کامند cd: برای جابه جایی در دایرکتوری های لینوکس از cd مینوان استفاده کرد
cd /home/user1


- کامند mkdir: با این دستور یک دایرکتوری میشه ساخت
mkdir test1


کامند‌های mv,cp,rm,touch:
کامند mv یک فایل رو از یک جا به جای دیگر انتقال میده یا برای rename هم استفاده میشه
rm /etc/file1 /root
در خط کامند بالا فایلی به نام file1 رو از دایرکتوری /etcبه دایرکتوری root میبره.

کامند cp یک فایل رو یا دایرکتوری رو میشه کپی‌کرد
cp /etc/file1 /root/
فایلی به نام file1 را از دایرکتوری /etc در دایرکتوری /root کنی می‌کنه


کامند rm این امکان رو به شما میده که یک فایل را حذف کنید. در صورتی که می‌خواستیم دایرکتوری که دارای محتوا هست رو حذف کنید باید از rm -rf استفاده کنید

rm -rf /etc/test
در کامند بالا تمام محتوای دایرکتوری تست و خود دایرکتوری تست رو حذف میکنه


با touch میشه یک فایل خالی ساخت
touch test1


کامند Clear: این کامند تمام محتویاتی که در ترمینال هست رو برای شما پاک میکنه

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

کامند top: این امکان رو به شما میده که وضعیت مصرفی رم و سی پیو سیستمون رو چک کنید و مقدار مصرفی هر سرویسی که run است.

کامند ifconfig: با این کامند اطلاعات مربوط به network اتون رو میتونید مشاهده کنید ( البته در بسیاری از توزیع های لینوکسی این کامند به طور دیفالت نصب نیست و باید نصب کنید پکیجش رو )
در صورت فعال نبودن این کامند میتونید این اطلاعات رو از طریق ip a بگیرید.

کامند sudo: قبل از هر دستوری اگر sudo قرار بگیره اون دستور از طریق یوزر root که به تمامی permission ها دسترسی داره اجرا میشه.

★彡 @kiau_program 彡★
👍3
سلام دوستان یه نرم افزاری ساختیم که ، می‌تونه بیماری هارو از طریق فیلم انسان تشخیص بده(بااستفاده از علائم بیماری) ، تاشب  می‌زارم براتون ، خروجی به ۳ صورت خواهد بود app , windows app , apk

فقط قبل گذاشتنش ازتون درخواست میکنم نشرش بدین ، تا متخصصین داخلی یا همه پزشک ها از کارشون بیکار بشن🙏😁😂

@kiau_program
💩7👍5😁2
🔰 معرفی دوره های برتر زبان های مختلف برنامه نویسی

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

‌‏__

✅
‏1. Python 🐍
پایتون زبانی ساده و محبوب برای شروع برنامه‌نویسی و یادگیری هوش مصنوعی است. 
🎓 دوره پایتون جادی رایگان
🎓 دوره پایتون مونگارد رایگان
🎓 دوره مقدماتی تا پیشرفته پایتون - تاپلرن اردوخانی  رایگان

‌‏__

✅
‏2. ++C 💻
برای پروژه‌های سنگین و توسعه نرم‌افزارهای سیستمی و بازی‌سازی استفاده می‌شه. 
🎓 دوره ++C مقدماتی تا پیشرفته (یوتوب)
🎓دوره ++C کدیاد رایگان

‌‏__

✅
‏3. HTML, CSS 🌐
دو زبان اصلی برای طراحی ساختار صفحات وب و توسعه استایل آن‌ها. 
🎓 دوره HTML , CSS میلاد بهرامی یوتوب
🎓 دوره HTML سبزلرن همراه با پروژه

‌‏__

✅
‏4. JavaScript ⚡️
زبان برنامه نویسی محبوب و قدرتمند برای توسعه وب و اپلیکیشن‌های تحت وب. 
🎓 دوره جاوااسکریپت جوناس دوبله فارسی رایگان
🎓 دوره جاوااسکریپت جوناس زیرنویس فارسی رایگان

‌‏__

✅
‏5. #C 🎮
یک زبان قدرتمند برای توسعه نرم‌افزارها و بازی‌های ویندوزی. 
🎓 دوره سیشارپ مقذماتی تا پیشرفته تاپرلن ایمان مدائنی رایگان
🎓 سیشارپ آتریا پولی

‌‏__


✅
‏6. PHP 🖥
برای توسعه وب‌سایت‌های پویا و سیستم‌های مدیریت محتوا مثل وردپرس. 
🎓 دوره جامع PHP خسروجردی تاپلرن


‏__


🔗 لینک‌ها رو از دست ندید و یادگیری رو همین امروز شروع کنید! 💻

این لیست به مرور اپدیت میشه 💯

Group: @azad_program 👨‍💻👩‍💻
Channel:
@kiau_program 💻

"قدم به قدم در مسیر برنامه نویسی حرفه‌ای!"
🔥6❤‍🔥4👍2
Azad's Programmers pinned «🔰 معرفی دوره های برتر زبان های مختلف برنامه نویسی سلام به برنامه‌نویس‌های عزیز! 👋  این پست مخصوص کساییه که می‌خوان یادگیری برنامه‌نویسی رو شروع کنن یا توی زبان‌ها، تکونولوژی ها و یا فریمورک های مختلف حرفه‌ای بشن. برای هر مورد، یسری از پرطرفدار ترین و کاربردی…»
لیست تمامی پورت های معروف همراه با پروتکل هاشون و اسم های آن ها

Group: @azad_program
Channel: @kiau_program
❤6👍3🙏1
تفاوت سوییچ های لایه ۳ و لایه ۲:

سوییچ‌های لایه ۲ (Data Link Layer) بر اساس آدرس فیزیکی MAC از لایه ۲ OSI عمل می‌کنند و بسته‌ها را بر اساس MAC address هدف به دستگاه مقصد ارسال می‌کنند. در حالی که سوییچ‌های لایه ۳ (Network Layer) بر اساس آدرس IP کار می‌کنند و بسته‌ها را بین شبکه‌ها منتقل می‌کنند. معمولاً Distribution Switch ها از سوییچ های لایه ۳‌ای هستند و Access Switch ها لایه ۲ ای هستند.

Group: @azad_program
Channel: @kiau_program
👍6