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