FaraProg | فرا پروگ: آموزش‌های برنامه‌نویسی – Telegram
FaraProg | فرا پروگ: آموزش‌های برنامه‌نویسی
1.86K subscribers
81 photos
35 videos
459 links
فرا پروگ — کانال تخصصی آموزش برنامه‌نویسی
🔸 C
🔸 C++
🔸 C#
🔸 GO
🔸 PHP
🔸 Perl
🔸 Java
🔸 Rust
🔸 Ruby
🔸 Kotlin
🔸 Delphi
🔸 Pascal
🔸 Python
🔸 Visual Basic

🚀 برای مشاهده تمام آموزش‌های ویدیویی برنامه‌نویسی، کلیک کنید👇
fdrs.ir/tc/pg
Download Telegram

❇️ ۷ زبان برنامه نویسی که باید در سال ۹۹ بیاموزید — به همراه منابع یادگیری

در این مطلب، ۷ زبان برنامه نویسی که باید در سال ۹۹ بیاموزید به همراه منابع یادگیری آن‌ها، معرفی شده‌اند. مهارت برنامه‌نویسی یکی از گزینه‌های خوبی است که افراد می‌توانند با یادگیری آن، جایگاه شغلی خوب و با درآمد مناسب را کسب کنند و البته، یک شغل جذاب و چالشی داشته باشند. اما پرسشی که برای اغلب افراد در این شرایط مطرح می‌شود این است که کدام زبان برنامه‌نویسی را بیاموزند؟

🔹 فهرست مطالب این نوشته

◻️موبایل
▫️سوئیفت (Swift)
▫️کاتلین (Kotlin)

◻️علم داده
▫️پایتون (Python)

◻️چندسکویی
▫️دارت (Dart)

◻️دیگر زبان‌های برنامه‌نویسی
▫️ تایپ‌اسکریپت (TypeScript)
▫️ راست (Rust)
▫️ جاوا (Java)


🔸 موبایل

برای
افرادی که در دنیای هیجان‌انگیز برنامه‌نویسی و توسعه نرم‌افزارهای موبایل تازه‌وارد هستند، دو گزینه وجود دارد که باید هر چه سریع‌تر آن‌ها را بیاموزند. البته، یکی از این گزینه‌ها برای برنامه‌نویسانی است که تمایل دارند به کار در پلتفرم اندروید بپردازند و دیگری برای پلتفرم iOS است؛ گزینه‌های مورد نظر، «سوئیفت» (Swift) و «کاتلین» (Kotlin) هستند.


🔸 علم داده

«علم داده» (Data Science) یک زمینه به شدت در حال رشد است. از استارتاپ‌های کوچک گرفته تا شرکت‌های بزرگ، داده‌هایی وجود دارد که کاوش در آن‌ها و تحلیل خروجی‌های حاصل از این کاوش‌ها، می‌تواند به رشد هر چه بیشتر آن‌ها کمک کند. اما از چه زبان‌های برنامه‌نویسی برای علم داده باید استفاده کرد. پاسخ یک کلام و کوتاه است: پایتون.


🔸 چند سکویی

برای بسیاری از توسعه‌دهندگانی که با مشکلات زمان و منابع مواجه هستند، چارچوب‌ها و ابزارهای «چند سکویی» (Cross-Platform) گزینه‌های کلیدی هستند. اگر نیاز به تحویل نسخه‌های دسکتاپ و iOS یک برنامه در مدت زمان کوتاهی وجود داشته باشد، چه زبانی مناسب است و در واقع، کدام زبان، کلیدی برای انجام کارهای چند سکویی محسوب می‌شود؟ در ادامه این مطلب، زبان برنامه‌نویسی مفید و کاربردی در این راستا، معرفی خواهد شد.


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

🔗 ۷ زبان برنامه نویسی که باید در سال ۹۹ بیاموزید — به همراه منابع یادگیری — کلیک کنید.



📌 کانال اختصاصی آموزش‌های رایگان برنامه‌نویسی

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی را در کانال اختصاصی برنامه‌نویسی فرادرس [@FaraProg] دنبال کنید. 👇

@FaraProg — مطالب و آموزش‌های برنامه‌نویسی فرادرس

👍1
✳️ برنامه نویسی سطح بالا و پایین چیست؟ | به زبان ساده

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

══ فهرست مطالب ══

‏ ○ زبان‌های برنامه نویسی سطح بالا و پایین
‏ ○ مروری بر زبان‌های سطح پایین
‏ ○ مروری زبان‌های برنامه‌نویسی سطح بالا
‏ ○ چه نوع زبان برنامه نویسی را باید یاد بگیریم؟
‏ ○ چه چیزی می‌خواهید بسازید؟
‏ ○ مزیت‌های یادگیری هر دو دسته زبان‌های برنامه نویسی سطح بالا و پایین


🔸 زبان‌های برنامه نویسی سطح بالا و پایین

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

‏– قابلیت تجرید یا انتزاع دارند.

‏– به زبان انسان نزدیک‌تر بوده و خوانایی بهتری دارند.

‏– کاری به مدیریت حافظه ندارند.

‏نمونه‌های زبان‌های سطح بالا شامل جاوا، پایتون، روبی و سی شارپ هستند.

‏– قابلیت تجرید ندارند.

‏– توسط ماشین خوانده می‌شوند و به زبان انسان نزدیک نیستند.

‏– نیاز به مدیریت حافظه وجود دارد.

‏نمونه‌های زبان‌های برنامه‌نویسی سطح پایین شامل زبان «اسمبلی» (assembly) و کد ماشین است.


🔸 مروری بر زبان‌های سطح پایین

‏این که یک زبان برنامه‌نویسی در دسته زبان‌های سطح بالا یا سطح پایین قرار می‌گیرد به «تجرید» (abstraction) و میزان نزدیکی کارکرد آن به سیستم عامل مربوط است. زبان‌های سطح پایین به سیستم رایانه‌ای نزدیک هستند. یکی از رایج‌ترین زبان‌های سطح پایین کد ماشین است.

‏کد ماشین هیچ تجریدی ندارد و شامل دستورالعمل‌های منفرد است که به رایانه ارسال می‌شوند. ماشین‌ها تنها بایت‌ها را درک می‌کنند که به صورت دودویی نمایش می‌یابند، گرچه ممکن است گاهی اوقات با نمادگذاری ده‌دهی یا شانزده‌شانزدهی نیز نوشته شوند.



مطالعه ادامه مطلب 👇👇

🔗 برنامه نویسی سطح بالا و پایین چیست؟ | به زبان ساده — کلیک کنید (+)


📌 کانال اختصاصی آموزشی برنامه‌نویسی

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی را در کانال اختصاصی [@FaraProg] دنبال کنید. 👇

@FaraProg — مطالب و آموزش‌های برنامه‌نویسی فرادرس

✳️ آموزش استیمول سافت | کامل، رایگان و پروژه محور — به زبان ساده

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

══ فهرست مطالب ══

‏ ○ مباحث مقدماتی آموزش استیمول سافت
‏ ○ استیمول سافت چیست ؟
‏ ○ آموزش دانلود و نصب استیمول سافت
‏ ○ معرفی مجموعه فیلم های آموزش‌ سی شارپ
‏ ○ آموزش استیمول سافت
‏ ○ نحوه استفاده از استیمول سافت در سی شارپ
‏ ○ معرفی فیلم های آموزش استیمول سافت
‏ ○ جمع‌بندی


🔸 مباحث مقدماتی آموزش استیمول سافت

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

‏«گزارش» قالب مصورسازی شده داده‌ها محسوب می‌شود. در حوزه توسعه نرم‌افزار، یک گزارش شامل نمایش و ارائه داده‌ها در قالب نمودارها، جداول و سایر انواع مصورسازی داده است. این داده‌ها از بانک‌های اطلاعاتی پیاده‌سازی شده با فناوری‌های مختلف استخراج می‌شوند. با توجه به اینکه استیمول سافت یک ابزار گزارش گیری محسوب می‌شود، بهتر است پیش از شروع آموزش استیمول سافت به ارائه تعریفی از یک ابزار گزارش گیری و چیستی آن پرداخته شود.

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


🔸 استیمول سافت چیست ؟

‏شرکت استیمول سافت یک تولید کننده نرم‌افزار در حوزه هوش تجاری، تحلیل داده و پردازش به شمار می‌رود. این شرکت یک ارائه‌دهنده نرم‌افزار برای هوش تجاری در حیطه ابزارهای گزارش گیری به حساب می‌آید. شرکت استیمول سافت با حفظ سازش‌پذیری به طور کامل، برای پلتفرم‌های مختلف ابزارهای گزارش گیری تولید می‌کند. برخی از این پلتفرم‌ها شامل موارد زیر است:

‏– WinForms

‏– ASP.NET

‏– ASP.NET MVC

‏– ‎.NET C‎ore

‏– JavaScript

‏– Java

‏– PHP

‏– WPF

‏استیمول سافت ابزارهایی را برای طراحی و مشاهده گزارش‌ها در پلتفرم‌های گوناگون و برای دستگاه‌های مختلف ارائه کرده است. کاربران می‌توانند هم از اجزای ارائه شده برای یک فناوری خاص و هم از اپلیکیشن‌های مستقل ارائه شده برای ویندوز و مک OS استفاده کنند. در ادامه هر یک از محصولات شرکت استیمول سافت معرفی شده‌اند.

‏Stimulsoft Ultimate محصولی همه جانبه برای فریم‌ورک دات‌نت، جاوا اسکریپت، PHP و جاوا است که برای رندر کردن گزارش‌ها و داشبورد‌ها استفاده می‌شود. این محصول مجموعه کاملی از ابزارها برای ایجاد گزارش‌هایی تحت محیط‌های ‎JavaScript ،WPF .‎NE‎T Core ،ASP.NET ،WinForms و سایر موارد را شامل می‌شود. نمایش‌دهنده‌های گزارش (Report Viewer) متعددی جهت نمایش گزارش‌ها و داشبوردها در این محصول فراهم شده است. Stimulsoft Ultimate سیستم قدرتمندی برای اکسپورت کردن گزارش‌ها دارد که بسیاری از قالب‌های مختلف در آن پشتیبانی می‌شوند.



مطالعه ادامه مطلب 👇👇

🔗 آموزش استیمول سافت | کامل، رایگان و پروژه محور — به زبان ساده — کلیک کنید (+)


📌 کانال اختصاصی آموزشی برنامه‌نویسی

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی را در کانال اختصاصی [@FaraProg] دنبال کنید. 👇

@FaraProg — مطالب و آموزش‌های برنامه‌نویسی فرادرس

✳️ آموزش کامل MVC در PHP — از صفر تا صد و به زبان ساده

‏در این مقاله، با ایجاد یک فریم‌ورک کامل MVC در PHP از صفر، توسعه وب با استفاده از چارچوب الگوی معماری MVC و فناوری PHP آموزش داده شده است. آموزش کامل MVC در PHP با هدف کسب مهارت برای شروع ساخت اپلیکیشن به این شیوه ارائه شده است. با مطالعه این مقاله می‌توان درک بهتری از نحوه کارکرد الگوی MVC در PHP به دست آورد و به دنبال آن، می‌توان فریم‌ورک‌های MVC محور رایج PHP نظیر Phalcon و CodeIgniter را با درک، دانش و مهارت بیش‌تری به کار گرفت. در این آموزش، مباحث به صورت پروژه محور، گام‌به‌گام و با بیانی ساده ارائه شده‌اند.

══ فهرست مطالب ══

‏ ○ پیش‌نیازهای آموزش کامل MVC در PHP
‏ ○ معرفی فیلم های آموزش PHP
‏ ○ آموزش کامل MVC در PHP
‏ ○ معرفی فیلم های آموزش MVC در PHP
‏ ○ جمع‌بندی


🔸 پیش‌نیازهای آموزش کامل MVC در PHP

‏پیش از شروع آموزش کامل MVC در PHP باید آشنایی کافی با زبان‌های پی‌اچ‌پی، HTML و CSS وجود داشته باشد. برای یک برنامه‌نویس مبتدی، منابع و دوره‌های آموزشی بسیاری جهت شروع یادگیری و آموزش زبان‌های HTML ،PHP و CSS در دسترس است. آموزش کامل MVC در PHP در سطح پیچیدگی متوسط قرار می‌گیرد. با یادگیری MVC در PHP، یک برنامه‌نویس مبتدی که پروژه کاملی را انجام داده و آشنایی کافی با زبان‌های HTML ،PHP و CSS دارد، می‌تواند گام بعدی را برداشته و سطح دانش و مهارت‌های خود را در توسعه کاربردهای وب با فناوری PHP ارتقا دهد.

‏بدون شک توسعه دهندگان ارشد در این حوزه مهارت لازم را دارند و آموزش کامل MVC در PHP را فرا گرفته‌اند. آموزش MVC در PHP برای افرادی مناسب است که مراحل مقدماتی آموزش توسعه وب با PHP را گذرانده‌اند، تعدادی پروژه ساده با PHP انجام داده‌اند، درکی از HTML و CSS دارند و اکنون قصد دارند به صورت حرفه‌ای وارد بازار کار شوند. برنامه‌نویسی شی‌گرا یکی دیگر از مهارت‌های مورد نیاز پیش از شروع آموزش کامل MVC در PHP است. ممکن است یادگیری مفاهیم شی‌گرایی در ابتدا کمی دشوار به نظر برسد، اما با تمرین و تکرار می‌توان تسلط کافی را در این زمینه به دست آورد. بنابراین، می‌توان مهارت‌های مورد نیاز برای آموزش کامل MVC در PHP را به صورت زیر فهرست کرد:

‏– PHP

‏– HTML

‏– CSS

‏– برنامه‌نویسی شی‌گرا

‏در ادامه این بخش، چند نکته پیرامون آموزش MVC در PHP بیان شده است.


🔸 معرفی فیلم های آموزش PHP

‏دلایل قانع کننده بسیاری برای استفاده از‌ فناوری PHP در ایجاد وب‌اپلیکیشن‌ها وجود دارد. PHP رایج‌ترین و پراستفاده‌ترین زبان برنامه‌نویسی برای توسعه وب‌سایت و وب‌اپلیکیشن‌ها به حساب می‌آید. PHP یک زبان اسکریپت‌نویسی سمت سرور همه‌منظوره است. مجموعه دوره‌های آموزشی برنامه‌نویسی PHP در سایت فرادرس، تقریباً دارای ۳۸۰۰ دقیقه محتوای آموزشی است. در حال حاضر، این مجموعه ۱۰ عنوان آموزشی دارد که مباحث مقدماتی تا پیشرفته زبان برنامه‌نویسی PHP را شامل می‌شوند.

‏اکثر دوره‌های آموزشی این مجموعه به روش پروژه محور ارائه می‌شوند و در آن‌ها از مثال‌های مختلفی برای درک بهتر مباحث آموزشی استفاده شده است. همچنین، دوره‌هایی برای آموزش برخی از فریم‌ورک‌های PHP که مبتنی بر MVC هستند نیز در این مجموعه یافت می‌شوند. در ادامه، برخی از دوره‌های آموزشی شاخص در مجموعه آموزش PHP معرفی شده‌اند.

‏– فیلم آموزش برنامه‌نویسی PHP: طول مدت این دوره ۲۸ ساعت و ۳۱ دقیقه و مدرس آن دکتر مصطفی کلامی هریس است. هدف این فرادرس آموزش تمامی موضوعات و مباحث عملی مورد نیاز برای ورود به دنیای برنامه‌نویسی و پیاده‌سازی وب به روش پویا و با استفاده از زبان PHP است. برای دیدن فیلم آموزش برنامه‌نویسی PHP + کلیک کنید.

‏– فیلم آموزش فریمورک PHP کدایگنایتر (CodeIgniter): طول مدت این دوره آموزشی ۷ ساعت و مدرس آن مهندس مهدی عاشوری است. هدف این دوره آموزشی شرح روش ایجاد سریع و اصولی وب‌سایت بر اساس کار گروهی و مدل MVC است. برای دیدن فیلم آموزش فریمورک PHP کدایگنایتر (CodeIgniter) + کلیک کنید.

‏– فیلم آموزش ساخت نرم افزار فروشگاه اینترنتی با فریمورک CodeIgniter: طول مدت این دوره ۷ ساعت و ۱۷ دقیقه و مدرس آن مهندس امید نجفی پور است. در این دوره، آموزش CodeIgniter با رویکردی پروژه‌محور ارائه شده است و یک فروشگاه اینترنتی به صورت ساده ولی جامع، طراحی و توسعه داده می‌شود. برای دیدن فیلم آموزش ساخت برنامه فروشگاه اینترنتی با فریمورک CodeIgniter + کلیک کنید.


مطالعه ادامه مطلب 👇👇

🔗 آموزش کامل MVC در PHP — از صفر تا صد و به زبان ساده — کلیک کنید (+)


📌 کانال اختصاصی آموزشی برنامه‌نویسی

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی را در کانال اختصاصی [@FaraProg] دنبال کنید. 👇

@FaraProg — مطالب و آموزش‌های برنامه‌نویسی فرادرس

✳️ مسیر یادگیری برنامه نویسی وب — معرفی نقشه راه و منابع یادگیری

‏رشد اینترنت از اوایل قرن بیستم به صورت نمایی بوده است. در دنیای کنونی، درصد عظیمی از افراد به صورت روزانه از اینترنت و انواع وب‌سایت‌ها استفاده می‌کنند. طبیعتا، برخی از این افراد تصمیم می‌گیرند صرفا مصرف‌کننده نباشند و چگونگی ساخت وب‌سایت‌ها را بیاموزند. بنابراین، این افراد در آغاز مسیر یادگیری برنامه نویسی وب با پرسش‌هایی مانند این مواجه می‌شوند که «توسعه‌دهنده وب کیست؟» و «مسیر یادگیری برنامه نویسی وب چیست؟». در مطلب مسیر یادگیری برنامه نویسی وب پاسخ پرسش‌های مذکور بیان شده است. همچنین، منابع آموزشی برای یادگیری برنامه نویسی وب و گام برداشتن در مسیر یادگیری برنامه نویسی وب بیان شده‌اند.

══ فهرست مطالب ══

‏ ○ توسعه‌دهنده وب کیست؟
‏ ○ توسعه دهنده وب چه کار می‌کند؟
‏ ○ برنامه‌نویسی وب فرانت‌اند چیست؟
‏ ○ برنامه‌نویسی وب بک‌اند چیست؟
‏ ○ برنامه‌نویسی وب فول‌استک چیست؟
‏ ○ تفاوت طراحی وب با توسعه‌دهنده وب چیست؟
‏ ○ توسعه‌دهنده وب کجا کار می‌کند؟
‏ ○ بازار کار توسعه وب چگونه است؟
‏ ○ درآمد توسعه‌دهنده وب چقدر است؟
‏ ○ آموزش‌ها و مهارت‌های مورد نیاز توسعه دهنده وب چیست؟
‏ ○ مسیر یادگیری برنامه نویسی وب چیست؟
‏ ○ معرفی فیلم‌های آموزش توسعه وب فرادرس
‏ ○ زبان‌های برنامه‌نویسی محبوب در مسیر یادگیری برنامه نویسی وب
‏ ○ آشنایی با محبوب‌ترین فریم‌ورک‌های وب
‏ ○ پرسش‌های متداول پیرامون مسیر یادگیری برنامه نویسی وب


🔸 توسعه‌دهنده وب کیست؟

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

‏به بیان دیگر، توسعه‌دهنده وب یک برنامه‌نویس است که در زمینه توسعه برنامه‌های کاربردی وب با استفاده از مدل خادم-مخدوم (Client-Server Model | مدل کلاینت-سرور) مهارت دارد و به طور کلی، به توسعه وب می‌پردازد. برنامه‌های نوشته شده توسط توسعه‌دهنده وب معمولا از CSS ،HTML و جاوا اسکریپت (JavaScript) در سمت کلاینت و PHP، پایتون، C#‎، گو (Go)، Node.js و جاوا در سمت سرور و پروتکل HTTP برای ارتباط بین کلاینت و سرور استفاده می‌کنند. معمولا، یک سیستم مدیریت محتوای وب برای توسعه و نگهداری برنامه‌های کاربردی وب مورد استفاده قرار می‌گیرد. توسعه وب نه تنها یک زمینه بسیار مهم در خط مقدم عصر دیجیتال است، بلکه روز به روز نیز در حال رشد و گسترش است. در ادامه مطلب مسیر یادگیری برنامه نویسی وب به این پرسش پاسخ داده می‌شود که توسعه دهنده وب چه کار می‌کند.


🔸 توسعه دهنده وب چه کار می‌کند؟

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



مطالعه ادامه مطلب 👇👇

🔗 مسیر یادگیری برنامه نویسی وب — معرفی نقشه راه و منابع یادگیری — کلیک کنید (+)


📌 کانال اختصاصی آموزشی برنامه‌نویسی

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی را در کانال اختصاصی [@FaraProg] دنبال کنید. 👇

@FaraProg — مطالب و آموزش‌های برنامه‌نویسی فرادرس

✳️ Thread چیست ؟ — به زبان ساده و جامع

‏Thread (نخ | رشته) توالی محدودی از دستورالعمل‌های برنامه‌نویسی به حساب می‌آید. Thread‌ جریانی واحد از کنترل در یک برنامه است که امکان اجرای چند وظیفه (Task) را در درون یک «پردازه» یا پردازش به وجود می‌آورد. این تعاریف کوتاه احتمالاً پیچیده و ناقص هستند. بنابراین، در این نوشته ابتدا در سطحی جامع به این سوال پاسخ داده شده است که Thread چیست و سپس برای درک بهتر و کامل‌تر معنی Thread ، سایر مفاهیم مرتبط با آن نیز شرح و به سوالات رایج پیرامون مفهوم Thread پاسخ داده شده است. پس از شرح مباحث نظری و تعاریف، نمونه کدهای ایجاد Thread در زبان‌های جاوا، C++‎، سی شارپ و پایتون نیز ارائه شده‌اند و همچنین مفاهیم مهم در برنامه‌نویسی Thread شرح داده شده است.

══ فهرست مطالب ══

‏ ○ Thread چیست ؟
‏ ○ Context Switching چیست؟
‏ ○ تفاوت Process و Thread چیست؟
‏ ○ Thread در سی پی یو چیست ؟
‏ ○ معرفی فیلم های آموزش دروس علوم و مهندسی کامپیوتر
‏ ○ Multi Thread یا چندنخی چیست؟
‏ ○ کاربردهای Thread چه هستند؟
‏ ○ تفاوت Core و Thread در پردازنده چیست؟
‏ ○ تفاوت Concurrency و Parallelism چیست ؟
‏ ○ Green Thread چیست؟
‏ ○ معنی Threading‌ چیست؟
‏ ○ Thread در برنامه نویسی چیست ؟
‏ ○ Thread در جاوا چیست؟
‏ ○ Thread‌ در اندروید چیست ؟
‏ ○ Thread در سی پلاس پلاس
‏ ○ Thread در سی شارپ
‏ ○ Thread در پایتون
‏ ○ مفهوم Thread Safety
‏ ○ Thread Pool چیست؟
‏ ○ معرفی فیلم های آموزشی مرتبط با مفهوم Thread
‏ ○ جمع‌بندی


🔸 Thread چیست ؟

‏Thread کوچک‌ترین واحد اجرایی در سیستم عامل است. Thread‌ واحد اساسی اجرایی یا واحد اساسی در بهره‌برداری از CPU به حساب می‌آید. Thread یکی از مفاهیم مهم در سیستم‌های عامل محسوب می‌شود. Thread موجودیتی در درون یک پردازه (پروسه | Process) است که می‌تواند برای اجرا زمان‌بندی شود. یک برنامه تحت اجرا به عنوان یک Process شناخته می‌شود. هر برنامه ممکن است تعدادی پردازه مرتبط داشته باشد و هر پردازه می‌تواند دارای چند Thread باشد که این Threadها آن پردازه را اجرا می‌کنند. تمام Threadهای یک پردازه فضای آدرس مجازی و منابع سیستمی آن پردازه را با یکدیگر شریک می‌شوند.

‏Threadها معمولاً‌ به وسیله یک زمان‌بند (Scheduler) مدیریت می‌شوند. یک زمان‌بند بخش استانداردی از یک سیستم عامل است. برای ایجاد یک Thread ابتدا باید یک Process یا پردازه ایجاد شود. پس از آن، پردازه یک Thread ایجاد می‌کند و سپس این Thread اجرا خواهد شد. این فرآیند می‌تواند برای بازه زمانی کوتاه یا طولانی بسته به نوع پردازه رخ بدهد. فارق از اینکه چه مدت زمان مورد نیاز باشد، این منظر به وجود می‌آید که کامپیوتر دارد کارهای زیادی را در یک لحظه انجام می‌دهد.

‏هر پردازه حداقل دارای یک Thread است، اما سقفی برای تعداد Threadهای یک پردازه وجود ندارد و پردازه می‌تواند هر تعداد Thread مورد نیازش را به کار گیرد. برای وظایف تخصصی، هر چه تعداد Thread بیش‌تری وجود داشته باشد، عملکرد و کارایی سیستم بهتر خواهد بود. در ادامه پاسخ به سوال «Thread چیست» در این بخش، اجزای تشکیل دهنده Thread شرح داده شده‌اند.


🔸 Context Switching چیست؟

‏«Context Switching» یا «تغییر زمینه» شامل ذخیره مفاد یا وضعیت یک Process در سیستم عامل است تا بتوان در زمان لازم آن را دوباره بارگذاری کرد و اجرای آن پردازه از همان نقطه توقف از سر گرفته شود. Context Switching ویژگی یک سیستم عامل چندوظیفه‌ای است و امکان استفاده چند پردازه از یک CPU واحد را فراهم می‌کند. در طول این مقاله چند بار از اصطلاح Context Switching استفاده شده است. Context Switching به فرایند ذخیره وضعیت سیستم برای یک وظیفه اشاره دارد تا امکان توقف موقت انجام آم وظیفه و ادامه انجام وظیفه دیگر فراهم شود.



مطالعه ادامه مطلب 👇👇

🔗 Thread چیست ؟ — به زبان ساده و جامع — کلیک کنید (+)


📌 کانال اختصاصی آموزشی برنامه‌نویسی

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی را در کانال اختصاصی [@FaraProg] دنبال کنید. 👇

@FaraProg — مطالب و آموزش‌های برنامه‌نویسی فرادرس


✳️ باز کردن فایل exe در اندروید — آموزش تصویری و گام به گام

‏بی‌شک برای شما نیز پیش آمده است که به امکانات یک نرم‌افزار ویندوزی روی محیط خارج از ویندوز و برای نمونه سیستم عامل اندروید نیاز داشته باشید. فرض کنید می‌خواهید یک فایل خاص را باز کنید که برنامه آن را فقط روی ویندوز دارید، یا کلاً اپلیکیشن آن برای اندروید نوشته نشده است. در چنین مواردی همه ما آرزو می‌کنیم که‌ ای کاش روشی برای باز کردن فایل EXE در اندروید وجود می‌داشت. خب باید به اطلاع شما برسانیم که خوشبختانه آرزوی شما برآورده شده است و چنین کاری امکان‌پذیر است. در این مقاله با ما همراه باشید تا با ۶ اپلیکیشن برای باز کردن فایل exe در اندروید آشنا شوید و روش کار با هر یک را نیز بشناسید.

══ فهرست مطالب ══

‏ ○ فهرست اپلیکیشن‌های باز کردن نرم‌افزارهای ویندوز
‏ ○ بررسی کار با Wine برای باز کردن فایل exe در اندروید
‏ ○ معرفی فیلم آموزش برنامه‌نویسی اندروید
‏ ○ سخن پایانی


🔸 فهرست اپلیکیشن‌های باز کردن نرم‌افزارهای ویندوز

‏البته برای باز کردن نرم‌افزارهای یک سیستم عامل روی سیستم عامل دیگر روش‌های مختلفی وجود دارد که از آن جمله می‌توان به بوت دوگانه لینوکس یا استفاده از Bootcamp یا Parallels روی مک اشاره کرد. همچنین امکان نصب برنامه‌هایی که در ادامه اشاره شده است نیز وجود دارد. این اپلیکیشن‌ها امکان نصب و اجرای نرم‌افزارهای ویندوزی را روی سیستم‌عامل‌های غیر ویندوز از قبیل مک، لینوکس، بی‌اس‌دی و سولاریس فراهم می‌سازند.

‏Wine (+) به عنوان یک نرم‌افزار برای باز کردن فایل exe در اندروید یک اختصار بازگشتی برای عبارت «واین یک شبیه‌ساز نیست» (Wine Is Not an Emulator) است. این برنامه در اصل یک پروژه اوپن سورس است که در سال ۱۹۹۳ آغاز شده و از آن زمان تحت هماهنگی فردی به نام «الکساندر ژولیار»‌ (Alexandre Julliard) توسعه یافته و نگهداری می‌شود.

‏واین یک لایه هماهنگی ین برنامه‌های ویندوزی و سیستم عامل است. این برنامه فراخوانی‌های API ویندوز را به فراخوانی‌های POSIX تبدیل می‌کند و به این ترتیب می‌توان اپلیکیشن‌های ویندوزی را با سیستم‌های عامل سازگار با POSIX از قبیل Mac OS X، GNU/Linux و BSD یکپارچه‌سازی کرد. بنابراین واین نه یک شبیه‌ساز یا ماشین مجازی بلکه یک پیاده‌سازی مجدد از Win۳۲ API است.


🔸 بررسی کار با Wine برای باز کردن فایل exe در اندروید

‏با این که واین مدت‌ زیادی است که ارائه شده، اما نسخه ۳.۰ یک به‌روزرسانی مهم را شامل می‌شود که شامل پشتیبانی اندروید است. این بدان معنی است که اکنون می‌توان به راحتی اپلیکیشن‌های ویندوزی را از طریق Wine روی اندروید اجرا کرد.

‏اپلیکیشن Wine برای اندروید یک نرم‌افزار ساده است و تنها به یک دستگاه اندرویدی و یک اتصال اینترنتی فعال برای دانلود کردن و اجرا نیاز دارد. همچنین در صورتی که دستگاه اندرویدی یک اتصال شبکه نداشته باشد، می‌توان فایل APK واین و فایل‌های ویندوزی exe را روی رایانه دانلود کرده و آن‌ها را به دستگاه موبایل انتقال داد.



مطالعه ادامه مطلب 👇👇

🔗 باز کردن فایل exe در اندروید — آموزش تصویری و گام به گام — کلیک کنید (+)


📌 کانال اختصاصی آموزشی برنامه‌نویسی

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی را در کانال اختصاصی [@FaraProg] دنبال کنید. 👇

@FaraProg — مطالب و آموزش‌های برنامه‌نویسی فرادرس

✳️ مفهوم کلاس در برنامه نویسی — همراه با نمونه مثال عملی

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

══ فهرست مطالب ══

‏ ○ مفهوم کلاس در برنامه نویسی چیست ؟
‏ ○ برنامه نویسی شی گرا چیست ؟
‏ ○ شی چیست ؟
‏ ○ تفاوت کلاس و شی چیست ؟
‏ ○ اجزای یک کلاس در برنامه نویسی شی گرا چه هستند؟
‏ ○ مثال ساده برای درک مفهوم کلاس در برنامه نویسی
‏ ○ معرفی فیلم های آموزش برنامه نویسی
‏ ○ مفهوم کلاس در جاوا
‏ ○ تعامل اشیا و کلاس‌ها در جاوا
‏ ○ مفهوم کلاس در پایتون
‏ ○ مفهوم کلاس در سی شارپ
‏ ○ معرفی فیلم های آموزش برنامه نویسی شی گرا
‏ ○ جمع‌بندی


🔸 مفهوم کلاس در برنامه نویسی چیست ؟

‏در برنامه نویسی شی گرا ،‌ کلاس یک قالب کدنویسی توسعه‌پذیر برای ایجاد اشیا است. کلاس مقادیر اولیه را برای وضعیت (متغیرهای عضو) و پیاده‌سازی رفتار (توابع یا متدهای عضو) فراهم می‌کند. در یک کلاس ، مجموعه‌ای از خصوصیت‌ها (Property) و متدهایی تعریف می‌شوند که برای همه اشیا از آن نوع مشترک هستند. برای مثال، یک کلاس می‌تواند یک خودرو باشد که دارای خصوصیت‌های «رنگ» و «داشتن چهار چرخ» باشد.

‏همچنین در یک کلاس ماشین یا خودرو، از «رانندگی کردن» می‌توان به عنوان یک متُد نام برد. در بخش‌های بعدی این مقاله شامل بخش مفهوم کلاس در جاوا، مفهوم کلاس در پایتون و مفهوم کلاس در سی شارپ، آموزش مفهوم کلاس در برنامه نویسی شی گرا به طور جامع و به صورت عملی ارائه خواهد شد. اما، همان‌طور که بیان شد، مفهوم کلاس در برنامه نویسی شی گرا مطرح می‌شود و بنابراین، در ادامه تعریف کوتاهی از برنامه نویسی شی گرا ارائه شده است.


🔸 برنامه نویسی شی گرا چیست ؟

‏برنامه نویسی شی گرا (Object Oriented Programming) که به اختصار با سرنام OOP خطاب می‌شود، روشی در برنامه نویسی است که در آن از اشیا استفاده می‌شود. یک شی درست مثل یک موجودیت در جهان واقعی می‌تواند دارای صفات و قابلیت‌های عملکردی باشد. برنامه نویسی شی گرا برای ساختاردهی به یک برنامه نرم‌افزاری و تبدیل آن به قطعات ساده و قابل استفاده مجدد به کار می‌رود. مهارت‌های برنامه نویسی شی گرا برای نزدیک‌تر کردن مفاهیم برنامه نویسی به مفاهیم دنیای واقعی پدید آمده‌اند.

‏هدف برنامه نویسی شی گرا ، پیاده‌سازی نهادهای جهان واقعی همچون وراثت (ارث‌بری)،‌ پنهان‌سازی، چندریختی (Polymorphism) و دیگر قابلیت‌ها در برنامه نویسی است. هدف اصلی OOP پیوند دادن داده‌ها و توابعی است که روی آن داده‌ها عملیات انجام می‌دهند. برنامه نویسی شی گرا برای رفع کاستی‌ها و مشکلات برنامه نویسی رویه‌گرا یا Procedural به وجود آمده است. با استفاده از برنامه نویسی شی گرا فرآیند کدنویسی، درک و ویرایش کدها ساده‌تر و حجم برنامه کم‌تر می‌شود. اولین مفهوم و موجودیتی که همواره در برنامه نویسی شی گرا مطرح می‌شود شی (object) است. بنابراین، بهتر است در ادامه مقاله مفهوم کلاس در برنامه نویسی به شرح آن پرداخته شود.



مطالعه ادامه مطلب 👇👇

🔗 مفهوم کلاس در برنامه نویسی — همراه با نمونه مثال عملی — کلیک کنید (+)


📌 کانال اختصاصی آموزشی برنامه‌نویسی

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی را در کانال اختصاصی [@FaraProg] دنبال کنید. 👇

@FaraProg — مطالب و آموزش‌های برنامه‌نویسی فرادرس

✳️ ۴ قابلیت جدید پایتون ۳.۹ — راهنمای پیشرفته

‏چندین ماه است که پایتون ۳.۹ با کلی قابلیت‌های ساختاری جدید و بهینه‌سازی‌های مختلف معرفی شده است. در این مقاله قصد داریم ۴ قابلیت جدید پایتون ۳.۹ را بررسی کنیم که بسیار مفید هستند. همچنین شیوه ارتقا به پایتون ۳.۹ را نیز بررسی خواهیم کرد.

══ فهرست مطالب ══

‏ ○ ادغام دیکشنر‌ی‌ها
‏ ○ به‌روزرسانی دیکشنری‌ها
‏ ○ حذف یک پیشوند از رشته‌ها
‏ ○ حذف پسوند از رشته‌ها
‏ ○
‏ ○ شیوه نصب پایتون ۳.۹
‏ ○ سخن پایانی


🔸 ادغام دیکشنر‌ی‌ها

‏از پایتون ۳.۹ امکان استفاده از عملگر | برای ادغام دو یا چند دیکشنری در هم وجود دارد. در صورت وجود کلیدهای تکراری، آن دیکشنری که در سمت راست قرار دارد تقدم خواهد داشت. این تغییر جزئی بخشی از PEP-۵۸۴ محسوب می‌شود.


🔸 به‌روزرسانی دیکشنری‌ها

‏اگر یک گام فراتر برویم، امکان استفاده از عملگر =| برای به‌روزرسانی درجای یک دیکشنری نیز وجود دارد. در واقع a |= b معادل a = a | b است، اما =| یک دیکشنری جدید بازگشت نمی‌دهد، بلکه a موجود آپدیت خواهد شد. این قابلیت جدید نیز بخشی از PEP-۵۸ است.



مطالعه ادامه مطلب 👇👇

🔗 ۴ قابلیت جدید پایتون ۳.۹ — راهنمای پیشرفته — کلیک کنید (+)


📌 کانال اختصاصی آموزشی برنامه‌نویسی

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی را در کانال اختصاصی [@FaraProg] دنبال کنید. 👇

@FaraProg — مطالب و آموزش‌های برنامه‌نویسی فرادرس

✳️ آموزش نفوذ به سایت — راهنمای کاربردی پیدا کردن ضعف‌های امنیتی وب‌سایت

‏یک هکر یا تست‌کننده نفوذ پیش از حمله به یک وب‌سایت، ابتدا فهرستی از سطوح هدف تهیه می‌کند. پس از آن که عملیات شناسایی به خوبی انجام شد و مکان‌های مناسب برای حمله مشخص گردید، از یک ابزار اسکن وب‌سرور مانند Nikto برای شکار آسیب‌پذیری‌ها استفاده می‌شود تا جهات بالقوه حملات مشخص شوند. در این مطلب به توضیح اصول بسیار مقدماتی آموزش نفوذ به سایت می‌پردازیم. توجه کنید که این مطلب صرفاً با هدف آموزش و آگاه‌سازی در خصوص روش‌های مقابله با هک نگارش یافته است و مجموعه فرادرس در مورد هر نوع سوءاستفاده از این مطلب در جهت نفوذ غیر قانونی و بدون اجازه به وب‌سایت‌ها از خود سلب مسئولیت می‌کند.

══ فهرست مطالب ══

‏ ○ روش صحیح استفاده از Nikto
‏ ○ گام یکم: نصب Nikto
‏ ○ گام دوم: آشنایی با Nikto
‏ ○ گام سوم: استفاده از ساختار مقدماتی
‏ ○ گام چهارم: اسکن کردن یک وب‌سایت SSL
‏ ○ گام پنجم: اسکن کردن یک نشانی IP
‏ ○ گام ششم: اسکن کردن یک وب‌سایت HTTP
‏ ○ گام هفتم: همراهی اسکن با Metasploit
‏ ○ سخن پایانی


🔸 روش صحیح استفاده از Nikto

‏اگر اولین بار است که Nikto را روی یک وب‌سایت مقصد اجرا کنید، شاید ندانید که با اطلاعات به دست آمده از اسکن باید چه بکنید. Nikto در واقع بیشتر شبیه یک اشاره‌گر لیزی است تا یک شمشیر لیزری که در جنگ ستارگان دیده‌ایم.

‏نخست باید در مورد سطوح هدف صحبت کنیم. منظور از سطوح هدف در واقع هر جایی است که یک هکر می‌تواند حمله کند و می‌تواند شامل چیزهایی مانند پرینترهای افشاشده در شبکه و یک وب‌سرور باشد. هنگامی که در ادامه به استفاده از Nikto عادت کنیم، باید یکی از سه اطلاعات زیر را در اختیار آن قرار دهیم: یک نشانی IP برای سرویس لوکال، یک دامنه وب برای حمله یا یک وب‌سایت SSL/HTTPS.

‏پیش از آن که دست به اسکن با Nikto بزنیم، بهتر است قبلاً برخی کارهای شناسایی را با استفاده از ابرارهای تجسسی اوپن سورس مانند Maltego انجام دهیم. ابزارهایی مانند این می‌توانند به ساخت یک پروفایل و لیست متمرکزتری از اهداف در دسترس که باید رویان تمرکز کرد کمک کنند. زمانی که این کار انجام یافت، می‌توان از Nikto برای بررسی آسیب‌پذیری‌های بالقوه روی اهداف داخل لیست استفاده کرد.


🔸 گام یکم: نصب Nikto

‏اگر کالی لینوکس را اجرا می‌کنید، Nikto از قبل روی سیستم نصب شده است و از این رو نیازی به دانلود یا نصب چیز دیگر ندارید. این ابزار در دسته Vulnerability Analysis قرار دارد. اگر به هر دلیلی به این ابزار دسترسی ندارید، می‌توانید Nikto را از صفحه گیت‌هاب آن (+) دانلود کنید و یا از دستور apt install بهره بگیرید.

‏اگر این کار را روی یک سیستم مک انجام می‌دهید، امکان استفاده از Homebrew برای نصب نیکتو نیز وجود دارد.



مطالعه ادامه مطلب 👇👇

🔗 آموزش نفوذ به سایت — راهنمای کاربردی پیدا کردن ضعف‌های امنیتی وب‌سایت — کلیک کنید (+)


📌 کانال اختصاصی آموزشی برنامه‌نویسی

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی را در کانال اختصاصی [@FaraProg] دنبال کنید. 👇

@FaraProg — مطالب و آموزش‌های برنامه‌نویسی فرادرس

✳️ آموزش وب سوکت | راهنمای رایگان و جامع — به زبان ساده

‏وب سوکت یک پروتکل ارتباطی کاملاً دوطرفه و پایدار است که در بستر کلاینت-سرور و وب‌اپلیکیشن‌های بی‌درنگ به کار می‌رود. این مقاله به آموزش وب سوکت اختصاص دارد. ابتدا چیستی وب سوکت و مفاهیم نظری آموزش وب سوکت از جمله تفاوت آن با پروتکل HTTP، کاربردها، مزایا و معایب وب سوکت و سایر مباحث مهم در این حوزه شرح داده شده‌اند. سپس، آموزش وب سوکت به صورت عملی و پروژه محور ارائه شده است. یکی از بخش‌های آموزش عملی وب سوکت در این مقاله به آموزش وب سوکت در PHP اختصاص داده شده است. پیش از شرح چیستی و شروع آموزش وب سوکت ، ابتدا بهتر است به چیستی پروتکل HTTP پرداخته شود.

══ فهرست مطالب ══

‏ ○ پروتکل HTTP چیست و HTTP چگونه کار می‌کند؟
‏ ○ وب سوکت چیست ؟
‏ ○ تفاوت وب سوکت با HTTP چیست ؟
‏ ○ سوکت چیست ؟
‏ ○ تفاوت سوکت و وب سوکت چیست ؟
‏ ○ معرفی فیلم های آموزش طراحی سایت
‏ ○ کاربرد‌های وب سوکت چه هستند؟
‏ ○ چه زمانی نباید از وب سوکت استفاده کرد؟
‏ ○ مزایا و معایب وب سوکت
‏ ○ آموزش API‌ وب سوکت در جاوا اسکریت
‏ ○ کلاینت وب سوکت در جاوا اسکریپت
‏ ○ سرور وب سوکت
‏ ○ آموزش وب سوکت در PHP
‏ ○ معرفی فیلم های آموزش وب سوکت
‏ ○ جمع‌بندی


🔸 پروتکل HTTP چیست و HTTP چگونه کار می‌کند؟

‏HTTP سرنامی برای عبارت «Hypertext Transfer Protocol» و به معنی «قرارداد انتقال ابَرمتن» است. HTTP پروتکل یا منشوری است که برای انتقال مستندات ابرمتن استفاده می‌شود. این مستندات پایه و اساس شبکه جهانی وب محسوب می‌شوند. HTTP یک پروتکل مستقل از وضعیت (Stateless) است که بر اساس پروتکل TCP عمل می‌کند. پروتکل HTTP یک سویه است و در آن کلاینت درخواست را ارسال می‌کند و سرور پاسخ می‌دهد.

‏به عنوان مثال، یک کاربر درخواستی در قالب HTTP یا HTTPS به سرور می‌فرستد. سرور پس از دریافت یک درخواست، پاسخ را به کلاینت ارسال می‌کند و در واقع هر درخواست با پاسخ متناظرش همراه است. پس از ارسال پاسخ توسط سرور، اتصال بسته می‌شود. یعنی در هر درخواست HTTP یا HTTPS ارسالی توسط کلاینت، یک اتصال و ارتباط جدید با سرور برقرار می‌شود و پس از فرستادن پاسخ توسط سرور، این اتصال خود‌به‌خود خاتمه پیدا می‌کند.

‏TCP یک پروتکل اتصال‌گرا است که تحویل بسته داده انتقالی را با استفاده از روش‌های دست‌دهی سه جانبه (۳‎-Way‎ Handsha‎ke‎) و ارسال دوباره بسته‌های از دست رفته تضمین می‌کند. HTTP می‌تواند به وسیله هر یک از پروتکل‌های اتصال‌گرای پایا نظیر TCP و SCTP مورد استفاده قرار بگیرد. وقتی یک کلاینت درخواست HTTP به سرور ارسال می‌کند، یک اتصال TCP بین کلاینت و سرور باز است و پس از دریافت پاسخ، اتصال TCP خاتمه می‌یابد. در هر درخواست HTTP اتصال TCP جداگانه‌ای با سرور ایجاد می‌شود.


🔸 وب سوکت چیست ؟

‏وب سوکت (WebSocket) یک پروتکل دوطرفه و کاملاً دو رشته‌ای است که مانند HTTP در ارتباط‌های کلاینت-سروری به کار گرفته می‌شود. وب سوکت به اختصار با سرنام «WS» نیز شناخته می‌شود. وب سوکت یک پروتکل وابسته به وضعیت است. یعنی تا زمان خاتمه توسط یکی از طرفین (کلاینت یا سرور)، اتصال میان کلاینت و سرور قطع نخواهد شد،. پس از قطع اتصال توسط کلاینت یا سرور، ارتباط بین هر دو طرف قطع می‌شود. برای درک بهتر مفهوم وب سوکت ، بهتر است مثالی ارائه شود که در آن از یک ارتباط کلاینت-سروری با پروتکل وب سوکت استفاده می‌شود. این کار در ادامه مقاله آموزش وب سوکت انجام شده است.

‏در این مثال، یک مرورگر وب به عنوان کلاینت با یک وب‌سرور ارتباط برقرار می‌کند. هرگاه یک اتصال میان کلاینت و سرور آغاز می‌شود،‌ کلاینت و سرور با هم دست می‌دهند تا یک اتصال جدید ایجاد شود و تا زمانی که کلاینت یا سرور ارتباط را قطع نکنند، این اتصال برقرار خواهد ماند. پس از برقراری اتصال، ارتباط تا زمان خاتمه با استفاده از کانال یکسانی ادامه پیدا خواهد کرد.



مطالعه ادامه مطلب 👇👇

🔗 آموزش وب سوکت | راهنمای رایگان و جامع — به زبان ساده — کلیک کنید (+)


📌 کانال اختصاصی آموزشی برنامه‌نویسی

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی را در کانال اختصاصی [@FaraProg] دنبال کنید. 👇

@FaraProg — مطالب و آموزش‌های برنامه‌نویسی فرادرس

✳️ آموزش برنامه نویسی iOS در ویندوز | راهنمای رایگان و جامع شروع به کار

‏شرکت اپل از پیشتازان دنیای فناوری و تولید کنندگان مرغوب‌ترین محصولات به حساب می‌آید. اما، یکی از انتقاداتی که به اپل وارد است، انحصارطلبی این شرکت و عدم پشتیبانی از مَنِش نرم‌افزار آزاد و متن‌باز است. این انحصارطلبی حتی در مورد توسعه نرم‌افزار برای محصولات اپل و برنامه نویسی iOS نیز وجود دارد. به گونه‌ای که طبق قوانین این شرکت، توسعه نرم‌افزار برای محصولات اپل باید تنها در سیستم عامل مک انجام شود. جالب اینجاست که طبق توافقنامه مجوز کاربری اپل، استفاده از مک او اس نیز فقط در دستگاه‌های اپل مجاز است. بدین سبب، در مقاله آموزش برنامه نویسی iOS در ویندوز ، به بررسی راهکارهایی برای امکان برنامه نویسی iOS در ویندوز پرداخته و ابزارها و روش‌های توسعه اپلیکیشن iOS در ویندوز شرح داده شده‌اند.

══ فهرست مطالب ══

‏ ○ iOS چیست ؟
‏ ○ برنامه نویسی iOS چیست ؟
‏ ○ برنامه نویسی iOS چه تفاوتی با توسعه سایر برنامه‌ها دارد؟
‏ ○ ابزارهای برنامه نویسی iOS چه هستند؟
‏ ○ چالش‌های برنامه نویسی iOS چه هستند؟
‏ ○ چگونه می‌توان برنامه نویسی iOS در ویندوز انجام داد؟
‏ ○ معرفی فیلم های آموزش توسعه اپلیکیشن موبایل
‏ ○ بهترین روش‌های برنامه نویسی iOS در ویندوز چه هستند؟
‏ ○ آموزش ساخت هکینتاش برای برنامه نویسی iOS در ویندوز
‏ ○ معرفی فیلم های آموزش برنامه نویسی iOS در ویندوز
‏ ○ جمع‌بندی


🔸 iOS چیست ؟

‏iOS یک سیستم عامل موبایل (تلفن همراه) به حساب می‌آید که توسط شرکت اپل توسعه داده شده است. این سیستم عامل در ابتدا «iPhone OS» نام‌گذاری شد، اما در خرداد ۱۳۸۸ (ژوئن ۲۰۰۹) نام آن به iOS تغییر داده شد. سیستم عامل iOS در حال حاضر روی دستگاه‌های آیفون (iPhone)، iPod و iPad اجرا می‌شود. مشابه سیستم عامل‌های امروزی، iOS دارای رابط کاربری گرافیکی (GUI) است. اگرچه، چون iOS یک سیستم عامل موبایل است، به جای صفحه کلید و ماوس، مبتنی بر ورودی صفحه لمسی طراحی شده است. مثلاً می‌توان اپلیکیشن‌های موبایل را که به آن‌ها «App» گفته می‌شود، به جای دوبار کلیک کردن (در PC)، تنها با یک ضربه باز کرد.

‏iOS بر اساس اصل سادگی طراحی شده است و شامل ویژگی‌ها و قابلیت‌های متعدد یک سیستم عامل سنتی نمی‌شود. همچنین، دسترسی به تنظیمات سیستمی در iOS برای کاربران محدودیت دارد. به جای ویرایش، اکثر تنظیمات در برنامه Settings در آیفون انجام می‌شود. علاوه بر این، با وجود اینکه می‌توان چندین برنامه را به طور همزمان اجرا کرد، کاربر تنها می‌تواند یک برنامه باز را در لحظه ببیند. در مقایسه با سیستم عامل macOS یا مک OS اپل،‌ iOS رابط کاربری ساده‌تری را ارائه می‌دهد. با این وجود، ویژگی‌های جدید و بیش‌تری در هر نسخه به iOS اضافه می‌شوند. با کسب آشنایی لازم با سیستم عامل iOS ، اکنون فرصت مناسبی است تا به معرفی برنامه نویسی iOS پرداخته شود.


🔸 برنامه نویسی iOS چیست ؟

‏برنامه نویسی iOS یا توسعه اپلیکیشن iOS، به فرآیند ساخت اپلیکیشن موبایل برای سخت‌افزارهای شرکت اپل شامل آیفون، آی‌پد و آی‌پاد تاچ گفته می‌شود. برنامه نویسی iOS به زبان برنامه نویسی سوئیفت (Swift) یا Objective-C انجام می‌شود و سپس برای دانلود و استفاده کاربران در فروشگاه اپل (اپ استور | App Store) منتشر می‌شود. برنامه نویسی iOS وجوه مشترک بسیاری با سایر انواع برنامه نویسی نرم‌افزار و اپلیکیشن دارد، اما برخی تفاوت‌های کلیدی در این بین وجود دارد که در ادامه به آن‌ها پرداخته شده است.



مطالعه ادامه مطلب 👇👇

🔗 آموزش برنامه نویسی iOS در ویندوز | راهنمای رایگان و جامع شروع به کار — کلیک کنید (+)


📌 کانال اختصاصی آموزشی برنامه‌نویسی

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی را در کانال اختصاصی [@FaraProg] دنبال کنید. 👇

@FaraProg — مطالب و آموزش‌های برنامه‌نویسی فرادرس

👍1
✳️ آموزش Ionic | فریمورک آیونیک چیست ؟ — آموزش گام به گام رایگان

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

══ فهرست مطالب ══

‏ ○ کیت توسعه نرم‌افزار چیست؟
‏ ○ فریمورک چیست؟
‏ ○ فریمورک آیونیک چیست ؟
‏ ○ تاریخچه فریمورک آیونیک چیست ؟
‏ ○ اهداف فریمورک آیونیک چیست ؟
‏ ○ خدمات و ویژگی‌های فریمورک آیونیک چیست ؟
‏ ○ مزایای آیونیک چیست؟
‏ ○ معایب آیونیک چیست؟
‏ ○ فریمورک آیونیک از چه پلتفرم‌هایی پشتیبانی می‌کند؟
‏ ○ کارایی فریمورک آیونیک چگونه است؟
‏ ○ آموزش ionic و نصب آن
‏ ○ نصب خط فرمان ionic
‏ ○ اجرای برنامه کاربردی
‏ ○ اجرای محلی در مرورگر وب
‏ ○ ساخت یک برنامه کاربردی انگولار با آیونیک
‏ ○ معرفی فیلم های آموزش برنامه‌نویسی موبایل


🔸 کیت توسعه نرم‌افزار چیست؟

‏کیت توسعه نرم‌افزار (Software Development Kit | SDK) یک مجموعه از ابزارهای توسعه نرم‌افزار در یک بسته ویژه نصب است.


🔸 فریمورک چیست؟

‏فریمورک یا چارچوب نرم‌افزاری (Software Framework) پلتفرمی برای توسعه نرم‌افزارهای کاربردی است. فریمورک مبنایی را فراهم می‌کند که توسعه‌دهندگان نرم‌افزار می‌توانند برنامه‌های خود را بر اساس آن برای یک پلتفرم خاص تولید کنند. برای مثال، یک فریموک ممکن است حاوی کلاس‌ها و توابع از پیش تعریف شده‌ای باشد که برای پردازش ورودی، مدیریت دستگاه سخت‌افزاری و تعامل با نرم‌افزار سیستمی قابل استفاده هستند. فریمورک کار برنامه‌نویسی را از این جهت تسهیل و تسریع می‌کند که توسعه‌دهنده نیاز ندارد که هر بار کارهای تکراری انجام دهد و اصطلاحا چرخ را از نو بسازد. در بخش بعدی از مطلب آموزش ionic به این پرسش پاسخ داده شده است که فریمورک آیونیک چیست ؟



مطالعه ادامه مطلب 👇👇

🔗 آموزش Ionic | فریمورک آیونیک چیست ؟ — آموزش گام به گام رایگان — کلیک کنید (+)


📌 کانال اختصاصی آموزشی برنامه‌نویسی

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی را در کانال اختصاصی [@FaraProg] دنبال کنید. 👇

@FaraProg — مطالب و آموزش‌های برنامه‌نویسی فرادرس

✳️ برنامه نویسی شی گرا در C++‎ — آموزش رایگان، به زبان ساده و جامع

‏زبان برنامه نویسی C++‎ (سی پلاس‌پلاس) یکی از اولین زبان‌هایی است که برنامه نویسی شی گرا (OOP) در آن پیاده‌سازی و در سطح گسترده‌ای توسط برنامه نویسان مورد استفاده قرار گرفته است. C و C++‎ از جمله زبان‌های برنامه نویسی به حساب می‌آیند که اکثراً در دانشگاه‌ها تحت عنوان دروس مبانی برنامه‌نویسی و برنامه‌نویسی پیشرفته تدریس می‌شوند و در واقع یکی از اولین زبان‌هایی هستند که برای آموزش مقدماتی دانشجویان رشته کامپیوتر و برنامه‌نویسان مبتدی مورد استفاده قرار می‌گیرند. بنابراین، یادگیری برنامه نویسی شی گرا در C++‎ اهمیت ویژه‌ای دارد. بدین سبب، این مقاله با هدف آموزش مباحث و مفاهیم برنامه نویسی شی گرا در C++‎ و بیان مفهوم کلاس در C++‎ و سایر مفاهیم مرتبط ارائه شده است. به عنوان مقدمه، در ابتدا به این مسئله پرداخته شده است که برنامه نویسی شی گرا چیست؟

══ فهرست مطالب ══

‏ ○ برنامه نویسی شی گرا چیست ؟
‏ ○ چرا نیاز به برنامه نویسی شی گرا در C++‎ وجود دارد؟
‏ ○ مزایای برنامه نویسی شی گرا چیست؟
‏ ○ خصوصیات یک زبان برنامه نویسی شی گرا چیست؟
‏ ○ کلاس در ‎C++‎ چیست؟
‏ ○ شی در C++‎ چیست؟
‏ ○ کپسوله‌سازی در C++‎ چیست؟
‏ ○ انتزاع داده‌ها در C++‎ چیست؟
‏ ○ چندریختی در C++‎ چیست؟
‏ ○ ارث بری در C++‎ چیست؟
‏ ○ معرفی فیلم های آموزش برنامه نویسی C و C++‎
‏ ○ آموزش برنامه نویسی شی گرا در C++‎
‏ ○ مثال برنامه نویسی شی گرا در C++‎ : کلاس Circle
‏ ○ معرفی فیلم های آموزشی برنامه نویسی شی گرا در C++‎
‏ ○ جمع‌بندی


🔸 برنامه نویسی شی گرا چیست ؟

‏همان‌طور که از نامش پیداست، در برنامه نویسی شی گرا (Object Oriented Programming | OOP) از اشیا استفاده می‌شود. برنامه نویسی شی گرا برای ساختاردهی به یک برنامه نرم‌افزاری و تبدیل آن به قطعات ساده و قابل استفاده مجدد است. این قطعات درست مثل نقشه ساخت هستند و به آن‌ها «کلاس» (Class) گفته می‌شود. هدف برنامه نویسی شی گرا ، پیاده‌سازی نهادهای جهان واقعی همچون وراثت (ارث‌بری)،‌ پنهان‌سازی، چندریختی (Polymorphism) و دیگر موارد در برنامه‌نویسی است. هدف اصلی OOP پیوند دادن داده‌ها و توابعی است که روی داده‌ها عملیات انجام می‌دهند.

‏در این مقصود، پیوند باید به‌گونه‌ای شکل بگیرد که امکان دسترسی به آن داده‌ها در هیچ بخش دیگری از کدها به غیر از تابع وجود نداشته باشد. در سال‌های اخیر، قابلیت برنامه نویسی شی گرا در C++‎ و بسیاری از زبان‌های برنامه نویسی دیگر فراهم شده است. برای استفاده از این قابلیت، ابتدا باید درکی از دلیل استفاده از برنامه نویسی شی گرا وجود داشته باشد. بنابراین، در ادامه به این سوال پاسخ داده شده است که چرا نیاز به برنامه نویسی شی گرا در C++‎ و سایر زبان‌های شی گرا وجود دارد؟


🔸 چرا نیاز به برنامه نویسی شی گرا در C++‎ وجود دارد؟

‏در این بخش از مقاله برنامه نویسی شی گرا در C++‎ ، به چرایی نیاز به شی گرایی در C++‎ و سایر زبان‌های شی گرا پرداخته شده است. ابتدا با یک مثال ساده، استفاده از اجزا و قطعات کوچک‌تر برای تولید یک موجودیت بزرگ‌تر در سخت‌افزار و نرم‌افزار با هم مقایسه شده‌اند و سپس برای روشن شدن دلیل استفاده از شی گرایی، زبان‌های برنامه نویسی سنتی یا رویه‌گرا (Procedural)‌ شرح داده شده‌اند. پس از آن، به معرفی مفهوم برنامه نویسی شی گرا در C++‎ و سایر زبان‌های شی گرا و شرح ویژگی‌های آن پرداخته شده است.

‏اگر فردی بخواهد کامپیوتر شخصی خودش را سرهم (مونتاژ) کند، به فروشگاه‌های قطعات سخت‌افزار کامپیوتر مراجعه خواهد کرد و یک مادربرد، پردازنده، چند RAM، یک هارد دیسک، کیس، منبع تغذیه و سایر قطعات را خریداری می‌کند و آن‌ها را سرهم‌بندی خواهد کرد. پس از آن، کامپیوتر را به برق وصل می‌کند و PC روشن می‌شود. این فرد دیگر نگرانی بابت این مسئله ندارد که آیا مادربورد چهار لایه یا شش لایه است یا آیا هارد دیسک چهار صفحه دارد یا شش صفحه یا اینکه ضخامت آن سه یا پنج اینچ است. البته، باید مطمئن شد که رابط‌ها با هم همخوانی داشته باشند. به عنوان مثال، در صورتی که مادربورد تنها از رابط IDE پشتیبانی می‌کند، باید اطمینان حاصل کرد که به جای رابط SCSI، یک هارد دیسک با رابط IDE خریداری شود.


مطالعه ادامه مطلب 👇👇

🔗 برنامه نویسی شی گرا در C++‎ — آموزش رایگان، به زبان ساده و جامع — کلیک کنید (+)


📌 کانال اختصاصی آموزشی برنامه‌نویسی

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی را در کانال اختصاصی [@FaraProg] دنبال کنید. 👇

@FaraProg — مطالب و آموزش‌های برنامه‌نویسی فرادرس

✳️ بهترین زبان های برنامه نویسی سال ۱۴۰۰ یا ۲۰۲۱ — راهنمای کاربردی

‏در دنیای مدرن امروزی، نیاز به برنامه نویسان کامپیوتر روز به روز بیش‌تر می‌شود. همه چیز به لحاظ دیجیتال در حال تغییر و تحول است. با توجه به نرخ بالای تعداد افرادی که وارد عرصه برنامه نویسی می‌شوند، این میزان از گسترش و پیشرفت سریع تکنولوژی به هیچ عنوان تعجب‌آور نیست. وجه مشترک همه رشته‌ها و زیر رشته‌های مرتبط با علوم کامپیوتر و فناوری، روند نوشتن دستورالعمل‌ها در قالب کُد است که به آن برنامه نویسی گفته می‌شود. برنامه نویسی قلب علوم کامپیوتر به حساب می‌آید و پایه و اساس بسیاری از علوم و رشته‌های دیگر نیز شمرده می‌شود. با سه رقمی شدن تعداد زبان های برنامه نویسی و همچنین کاربرد متفاوت هر یک از این زبان‌ها، انتخاب یکی از آن‌ها برای یک هدف و پروژه خاص می‌تواند بسیار گیج‌کننده و دلهره‌آور باشد. این مطلب، با هدف ساده‌سازی فرآیند انتخاب یک زبان برنامه نویسی مناسب و همچنین، معرفی بهترین زبان های برنامه نویسی سال ۱۴۰۰ یا ۲۰۲۱ تهیه شده است.

══ فهرست مطالب ══

‏ ○ سوالات رایج پیرامون انتخاب زبان برنامه نویسی مناسب
‏ ○ زبان برنامه نویسی پایتون (Python)
‏ ○ زبان برنامه نویسی جاوا اسکریپت (JavaScript)
‏ ○ جاوا (Java)
‏ ○ C و ++C
‏ ○ سی شارپ
‏ ○ Golang
‏ ○ زبان برنامه نویسی R
‏ ○ PHP — پی اچ پی
‏ ○ Swift — سوئیفت
‏ ○ زبان برنامه نویسی Kotlin (کاتلین)
‏ ○ جمع‌بندی: بهترین زبان های برنامه نویسی سال ۱۴۰۰ یا ۲۰۲۱ کدامند ؟


🔸 سوالات رایج پیرامون انتخاب زبان برنامه نویسی مناسب

‏در این بخش از مطلب بهترین زبان های برنامه نویسی سال ۱۴۰۰ یا ۲۰۲۱ به برخی از سوالات رایج پیرامون انتخاب زبان برنامه نویسی مناسب پرداخته شده است.

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

‏می‌توان بهترین زبان های برنامه نویسی سال ۱۴۰۰ یا ۲۰۲۱ را زبان‌های پایتون، جاوا اسکریپت، جاوا، C/C++‎، سی‌شارپ، PHP ،Golang، سوئیفت و کاتلین دانست. اما مهم‌ترین مسئله در انتخاب زبان برنامه نویسی مناسب، هدف از یادگیری آن زبان است و اینکه فرد قصد دارد چه مسیر شغلی و حرفه‌ای را در پیش بگیرد. به عنوان مثال در صورتی که هدف شروع مسیر شغلی دانشمند داده باشد، زبان پایتون و R از جمله بهترین زبان های برنامه نویسی در این حوزه به حساب می‌آیند و یا در صورتی که هدف تبدیل شدن به یک توسعه‌دهنده فرانت‌اند باشد، یادگیری و آموزش زبان جاوا اسکریپت بسیار اهمیت دارد.


🔸 زبان برنامه نویسی پایتون (Python)

‏برای افرادی که به تازگی پا به عرصه برنامه نویسی و علوم کامپیوتر گذاشته‌اند و حتی برای آن دسته از افرادی که تجربه کار با پایتون را داشته‌اند، زبان برنامه نویسی پایتون یکی از بهترین زبان های برنامه نویسی است که هر برنامه نویسی با آن احساس راحتی خواهد داشت. این زبان دارای نحو (Syntax) واضح و یادگیری آن بسیار ساده است. این مسئله، پایتون را تبدیل به یک انتخاب محبوب و رایج، هم در میان مبتدیان و هم افراد متخصص کرده است.

‏نقطه مثبت پایتون این است که، به عنوان یکی از بهترین زبان های برنامه نویسی، کاملاً همه‌منظوره و تطبیق‌پذیر است و می‌توان از پایتون تقریباً در همه جا استفاده کرد. چه قصد کار بر روی کاربردهای بک‌اند یک وب‌سایت وجود داشته باشد و چه هدف، توسعه بک‌اند یک برنامه کاربردی تلفن همراه باشد، می‌توان از پایتون استفاده کرد.

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



مطالعه ادامه مطلب 👇👇

🔗 بهترین زبان های برنامه نویسی سال ۱۴۰۰ یا ۲۰۲۱ — راهنمای کاربردی — کلیک کنید (+)


📌 کانال اختصاصی آموزشی برنامه‌نویسی

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی را در کانال اختصاصی [@FaraProg] دنبال کنید. 👇

@FaraProg — مطالب و آموزش‌های برنامه‌نویسی فرادرس


❇️ اصول کدنویسی که همه باید بدانند

اگر از ۱۰ برنامه‌نویس بپرسید که برای بهبود برنامه‌نویسی چه باید کرد، ۱۰ پاسخ متفاوت دریافت خواهید کرد. با این که این پاسخ‌ها ممکن است با جمله‌بندی‌های متفاوتی بیان شده باشند، اما همه آن‌ها واجد یک معنای مشترک هستند.

یک برنامه‌نویس خوب، برنامه‌نویسی است که امکان درک مشکل را داشته باشد، یک راه‌حل معقول ارائه کند، بتواند این راه‌حل را به روشی سریع به کاربر نهایی عرضه نماید و برای نیل به این مقصود بتواند به عنوان عضوی از یک تیم کار کند.

چطور می‌توان کد عظیمی که افراد زیادی در آن مشارکت دارند را مدیریت کرد؟ از هر عضو مشارکت‌کننده انتظار می‌رود که کدی تمیز و قابل نگهداری بنویسد. به این منظور باید از اصول کدنویسی خاصی پیروی کرد. این مفاهیم موجب تسهیل امور برای همگان می‌شود.


🔹 فهرست مطالب این نوشته

▫️ ابزارهای مناسب برای پیاده‌سازی اصول
▫️ اصل مسئولیت منفرد
▫️ کد تمیز بهتر از کد هوشمندانه است
▫️ قانون دیمیتر
▫️ اصل YAGNI
▫️ جمع‌بندی


🔸 ابزارهای مناسب برای پیاده‌سازی اصول

برخی ابزارها وجود دارند که موجب می‌شوند پیگیری مفاهیم آسان‌تر شوند و مع‌الأسف این موضوع چندان که شایسته است مورد بحث قرار نمی‌گیرد. برای نمونه توسعه‌دهندگان فرانت‌اند از هاب‌های کامپوننت ابری مانند Bit.dev برای انتشار کامپوننت‌های مستقل استفاده می‌کنند. این هاب‌ها به دلایل زیر به پیگیری اصول برنامه‌نویسی صحیح کمک می‌کنند.

امکان انتشار آزادانه کامپوننت‌ها از هر کدبیس وجود دارد. یعنی کد بیشتری اشتراک یافته و مورد استفاده مجدد قرار می‌گیرد. این وضعیت به رعایت اصل DRY کمک می‌کند. همچنین به این معنی است که لازم نیست یک سیستم طراحی را مجدداً به طور کامل با کامپوننت‌های UI که هرگز استفاده نخواهید کرد بسازید. بلکه به جای آن می‌توانید هر کامپوننت را بسازید و تنها زمانی که نیاز دارید آن‌ها منتشر کنید که به رعایت اصل YAGNI کمک می‌کند.

ساخت کامپوننت‌ها به صورت بخش‌های مستقل کد به منظور انتشار، استفاده مجدد و مشارکت تیمی به طور طبیعی کمک می‌کند که هر توسعه‌دهنده‌ای از اصل «مسئولیت منفرد» (Single Responsibility) آگاه شود.


🔸 اصل مسئولیت منفرد

زمانی که شروع به کدنویسی می‌کنید، در طی دوره‌های زمانی بلندمدت کد شلوغ می‌شود. اغلب در کد خود کلاس‌ها یا ماژول‌هایی داریم که چندین کارکرد را اجرا می‌کنند. این وضعیت در نهایت منجر به ایجاد کلاس‌هایی می‌شود که از صدها یا هزاران خط کد تشکیل یافته‌اند.

اصل «مسئولیت منفرد» (Single Responsibility) بیان می‌کند که هر کلاس یا ماژول در برنامه باید کارکرد خاصی داشته باشد. به بیان دیگر یک کلاس یا ماژول در برنامه باید تنها مسئول وظایفی در رابط به با یک کارکرد خاص باشد. این وضعیت به کوچک و تمیز ماندن ماژول‌ها کمک می‌کند.


🔸 کد تمیز بهتر از کد هوشمندانه است

زمانی که مشغول نوشتن برنامه هستیم، معمولاً این میل را داریم که میزان هوشمندانه بودن کد خود را به رخ بکشیم. کد هوشمندانه ممکن است در عمل به جای یک کد قابل درک به صورت یک مانع به نظر برسد.

خواننده باید بسیار هوشمند باشد تا بفهمد یک قطعه کد هوشمندانه چه کاری انجام می‌دهد و نوشتن این نوع کدها هرگز خوب نیست. هیچ کس واقعاً به میزان هوشمندانه بودن یک کد تا زمانی که تمیز و برای درک همه افراد ساده است، اهمیتی نمی‌‌دهد.

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

🔗 اصول کدنویسی که همه باید بدانند — راهنمای کاربردی — کلیک کنید.



📌 کانال اختصاصی آموزش‌های رایگان برنامه‌نویسی

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی را در کانال اختصاصی برنامه‌نویسی فرادرس [@FaraProg] دنبال کنید. 👇

@FaraProg — مطالب و آموزش‌های برنامه‌نویسی فرادرس