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

✳️ باز کردن فایل 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 — مطالب و آموزش‌های برنامه‌نویسی فرادرس

✳️ مبانی برنامه نویسی – آشنایی با ساختار و مولفه‌های یک زبان برنامه نویسی

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

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

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


🔸 چرا از کامپیوتر استفاده می کنیم؟

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

‏انسان به سه دلیل کامپیوتر را اختراع کرد:

‏– دقت

‏– سرعت

‏– عدم خستگی کامپیوتر

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


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

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



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

🔗 مبانی برنامه نویسی – آشنایی با ساختار و مولفه‌های یک زبان برنامه نویسی — کلیک کنید (+)


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

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

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

✳️ برنامه نویس فرانت اند ، بک اند و فول استک دولوپر — وظایف، مهارت ها و درآمد

‏ممکن است برای علاقه‌مندانی که قصد انتخاب یک مسیر شغلی در زمینه برنامه‌نویسی و توسعه وب را دارند، این سئوال به وجود بیاید که توسعه‌دهنده فرانت‌اند (Front-End Developer)، توسعه‌دهنده بک‌اند (Back-End Developer) و توسعه‌دهنده فول‌استک (Full Stack Developer) که هستند، روزانه چه کارهایی انجام می‌دهند، چه مهارت‌ها و چه وظایفی دارند؟ در مطلب برنامه نویس فرانت اند ، بک اند و فول استک دولوپر این سه موقعیت شغلی که در واقع انواع نقش‌های شغلی توسعه دهنده وب هستند، به طور کامل مورد بررسی قرار گرفته‌اند و مهارت‌های لازم برای هر یک از این جایگاه‌های شغلی، وظایفت، حوزه های کاری و درآمد آن‌ها بررسی و با یکدیگر مقایسه شده است.

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

‏ ○ برنامه نویس فرانت اند ، بک اند و فول استک دولوپر کیست؟
‏ ○ توسعه دهنده فرانت اند (Front-End) چه کسی است؟
‏ ○ توسعه دهنده بک اند (Back-End) چه کسی است؟
‏ ○ توسعه دهنده فول استک (Full Stack) چه کسی است؟
‏ ○ منابع آموزشی برای توسعه‌دهندگان فرانت اند، ‌بک اند و فول استک
‏ ○ مقایسه میزان درآمد توسعه‌دهندگان فرانت اند، ‌بک اند و فول استک
‏ ○ جمع‌بندی


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

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

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

‏سوال اصلی که در این وهله مطرح می‌شود این است که آموزش دیدن و آماده شدن برای چه نوع موقعیت شغلی در حوزه توسعه وب بهتر است؟ با مراجعه به سایت‌های کاریابی و یا بررسی دوره‌های آموزشی آنلاین موجود در اینترنت، مشخص می‌شود که نقش‌های شغلی حوزه توسعه وب به سه دسته اصلی تقسیم می‌شود: ‌فرانت‌اند (Front-End)، ‌بک‌اند (Back-End) و فول‌استک (Full Stack).


🔸 توسعه دهنده فرانت اند (Front-End) چه کسی است؟

‏در این بخش از مطلب برنامه نویس فرانت اند ، بک اند و فول استک دولوپر به این پرسش پاسخ داده می‌شود که توسعه دهنده فرانت اند (Front-End) چه کسی است؟ ظاهر و بخش بیرونی یک وب‌سایت، قسمتی است که کاربران با آن به تعامل می‌پردازند. تمام آن‌چه که هنگام پیمایش در اینترنت دیده می‌شود، از فونت‌ها و رنگ‌ها گرفته تا منوهای کشویی و اسلایدرها (Slider)، ترکیبی از سی‌اس‌اس (CSS)، اچ‌تی‌ام‌ال و جاوا اسکریپت هستند. این مولفه‌های بصری که می‌توان آن‌ها را بخشی از «تجربه‌کاربری» (User Experience) دانست، در سیستم کاربر به وسیله «مرورگر وب» (Web Browser) کنترل می‌شوند.

‏– None

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

‏علاوه بر نیاز به تسلط بر این سه زبان، لازم است توسعه‌دهندگان با فریم‌ورک‌هایی چون بوت‌استرپ (Bootstrap)، فاندیشن (Foundation)، بک‌بون (Backbone)، انگولارجی‌اس (AngularJs) و امبرجی‌اس (EmberJS) آشنایی داشته ‌باشند. این فریم‌ورک‌ها مستقل از نوع دستگاه مورد استفاده، ارائه محتوا با ظاهری آراسته و زیبا را تضمین می‌کنند.



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

🔗 برنامه نویس فرانت اند ، بک اند و فول استک دولوپر — وظایف، مهارت ها و درآمد — کلیک کنید (+)


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

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

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

👍1
✳️ ۶ عادت خوب برنامه نویسی | راهنمای کاربردی

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

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

‏ ○ ۱. تمیزکاری کد
‏ ○ ۲. به فرد بعد از خود فکر کنید
‏ ○ ۳. تنها آن چه لازم است و نه بیشتر انجام دهید
‏ ○ ۴. برای کد خود طرح‌ریزی داشته باشید
‏ ○ ۵. مستندسازی
‏ ○ ۶. هرگز از یادگیری دست نکشید
‏ ○ سخن پایانی


🔸 ۱. تمیزکاری کد

‏یک عادت عالی برنامه‌نویسی این است که هر زمان یک قطعه کد را تغییر می‌دهید، تلاش کنید آن را بهبود ببخشید. مهم نیست که مشغول اصلاح یک خط کد هستید یا یک قابلیت کاملاً جدید را به کد موجود اضافه می‌کنید، در هر حال باید در جهت تمیزکاری و بهبود کد تلاش کنید. «رابرت سی. مارتین» (Robert C. Martin) این عادت را در یک نقل قول مشهور به خوبی بیان کرده است:

‏«همواره کدی که ویرایش می‌کنید را بهتر از حالت اولیه آن بکنید»

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


🔸 ۲. به فرد بعد از خود فکر کنید

‏هر زمان که یک قطعه کد را می‌نویسید، باید به توسعه‌دهنده بعدی که قرار است روی کد شما کار کند، فکر کنید.

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

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



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

🔗 ۶ عادت خوب برنامه نویسی | راهنمای کاربردی — کلیک کنید (+)


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

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

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

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

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

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

‏ ○ زبان برنامه نویسی پایتون
‏ ○ زبان برنامه نویسی جاوا
‏ ○ زبان برنامه نویسی C++/C
‏ ○ زبان برنامه نویسی جاوا اسکریپت
‏ ○ زبان برنامه نویسی گو
‏ ○ زبان برنامه نویسی R
‏ ○ زبان برنامه نویسی سوئیفت
‏ ○ زبان برنامه نویسی پی‌اچ‌پی
‏ ○ زبان برنامه نویسی سی‌شارپ
‏ ○ زبان برنامه نویسی متلب
‏ ○ نتیجه‌گیری


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

‏«زبان برنامه‌نویسی پایتون» (Python Programming Language) بدون شک در صدر لیست زبان‌هایی قرار دارد که برای داشتن یک شغل خوب، باید در سال جدید آموخت. این زبان به طور گسترده‌ای به عنوان بهترین زبان برنامه‌نویسی که باید آن را به عنوان اولین زبان برنامه‌نویسی آموخت، انتخاب و پذیرفته شده است. استفاده از زبان پایتون و توسعه برنامه با بهره‌گیری از آن ساده است. از پایتون به طور گسترده‌ای برای توسعه برنامه‌های کاربردی وب مقیاس‌پذیر استفاده می‌شود. «یوتیوب» (YouTube)، «اینستاگرام» (Instagram)، «پینترست» (Pinterest)، «سروی‌مانکی» (SurveyMonkey) از جمله پروژه‌های بزرگی هستند که با زبان پایتون ساخته شده‌اند. پایتون دارای «کتابخانه‌های» (Libraries) پشتیبان خوب و جامعه توسعه‌دهندگان بزرگی است.

‏زبان برنامه‌نویسی پایتون یک نقطه آغاز خوب برای افراد تازه‌کار فراهم می‌کند. بنابراین، به افرادی که به دنبال شغل خوبی هستند، قطعا یادگیری این زبان توصیه می‌شود. استارتاپ‌های زیادی از پایتون به عنوان زبان اول و اصلی خود به ویژه برای بک‌اِند استفاده می‌کنند و این امر فرصت خوبی را برای برنامه‌نویسان فول-استک پایتون فراهم می‌کند. در زیر یک برنامه ساده «سلام دنیا!» یا همان «Hello World!» مشهور قابل مشاهده است.

‏همانطور که از همین ابتدای راه مشهود است، کد زدن به زبان پایتون ساده است. کلیه افرادی که تمایل دارند به استارتاپ‌ها بپیوندند باید پایتون یاد بگیرند. نکته قابل توجه آن است که زبان پایتون کاربرد زیادی در زمینه «علم داده» (Data Science) و «یادگیری ماشین» (Machine Learning) دارد. بنابراین، یادگیری آن برگ برنده‌ای برای کسب فرصت‌های شغلی پیشرو و گام برداشتن به سوی آینده است.


🔸 زبان برنامه نویسی جاوا

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

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

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

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


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

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

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

✳️ آموزش Visual Studio Code — از نصب تا اجرای اولین پروژه در VS Code

‏Visual Studio Code یک ویرایشگر کد منبع (Source Code Editor) سبک اما قدرتمند است که روی کامپیوتر دسکتاپ اجرا می‌شود. این ویرایشگر کد برای ویندوز، macOS و لینوکس در دسترس است. این برنامه با پشتیبانی توکار (Built-in) از JavaScript ،TypeScript و Node.js ارائه می‌شود و دارای یک اکوسیستم غنی از افزونه‌هایی (Add-on) برای زبان‌های دیگر (مانند C++ ،C# ،Java ،Python ،PHP و Go) و سیستم‌های زمان اجرا (مانند NET. و Unity) است. پیش از شروع آموزش Visual Studio Code و ارائه تعریف کامل‌تری از آن، بهتر است ابتدا به این سوال پاسخ داده شود که یک ویرایشگر کد چیست و چه تفاوت‌هایی با ویرایشگر متن و محیط توسعه یکپارچه (IDE) دارد.

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

‏ ○ ویرایشگر کد چیست؟
‏ ○ Visual Studio Code چیست؟
‏ ○ معرفی فیلم های آموزش برنامه‌نویسی
‏ ○ کاربردهای Visual Studio Code
‏ ○ ویژگی های کاربردی Visual Studio Code
‏ ○ مزایا و معایب Visual Studio Code
‏ ○ آموزش Visual Studio Code
‏ ○ نگاهی به رابط کاربری در VS Code
‏ ○ معرفی مطالب آموزش Visual Studio Code
‏ ○ معرفی فیلم های آموزش برنامه‌نویسی
‏ ○ جمع‌بندی


🔸 ویرایشگر کد چیست؟

‏یک نرم‌افزار کامپیوتری از «کدهای منبع» ساخته شده است. این کدهای منبع معمولاً از طریق یک برنامه ویرایشگر کد منبع وارد کامپیوتر می‌شوند. این ویرایشگر یک «واسط برنامه‌نویسی» (Programming Interface) است که کدهای نرم‌افزاری را دریافت و ذخیره می‌کند. در حوزه کدنویسی، ویرایشگرهای کد منبع مختلفی وجود دارد. اغلب، هر ویرایشگر برای یک زبان برنامه‌نویسی خاص نوشته می‌شود.

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

‏IDE محیطی است که چند قابلیت را با هم در یک برنامه واحد ترکیب می‌کند. بنابراین می‌توان تفاوت ویرایشگر کد و محیط توسعه را اینگونه بیان کرد:


🔸 Visual Studio Code چیست؟

‏Visual Studio Code (معروف به VS Code) ویرایشگر کد منبع متن‌باز (منبع آزاد) و رایگان ارائه شده توسط شرکت مایکروسافت است. Visual Studio Code به برنامه‌نویسان و توسعه‌دهندگان کمک می‌کند تا اشکال زدایی و اصلاح کد را با استفاده از روش‌های هوشمند انجام دهند. VS Code در ویندوز، لینوکس و macOS قابل استفاده است. اگرچه، VS Code ویرایشگری نسبتاً سبک به حساب می‌آید، اما برخی ویژگی‌های قدرتمندش آن‌را به یکی از محبوب‌ترین ابزارهای توسعه در چند وقت اخیر تبدیل کرده است. در ادامه آموزش Visual Studio Code به معرفی امکانات و ساختار رابط کاربری این ویرایشگر کد پرداخته شده است.

‏VS Code از مجموعه گسترده‌ای از زبان‌های برنامه‌نویسی شامل ++Java ،C و Python گرفته تا CSS ،Go و Dockerfile پشتیبانی می‌کند. علاوه بر این، VS Code به برنامه‌نویسان امکان می‌دهد تا افزونه‌های جدیدی از جمله Code Linterها (ابزارهای تحلیل کد برای عیب‌یابی)، اشکال‌زدایی و پشتیبانی از توسعه وب و فناوری ابری را اضافه و حتی ایجاد کنند. رابط کاربری VS Code در مقایسه با سایر ویرایشگرهای متن، امکان تعامل بیش‌تری را با برنامه‌نویس فراهم می‌کند. برای ساده‌سازی تجربه کاربری، VS Code به پنج ناحیه اصلی تقسیم می‌شود:

‏– نوار فعالیت (activity bar)

‏– نوار کناری (side bar)

‏– گروه‌های ویرایشگر (Editor groups)

‏– پنل (panel)

‏– نوار وضعیت (status bar)

‏تصویر زیر نشان می‌دهد که این نواحی چطور در Visual Studio Code نمایش داده می‌شوند.



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

🔗 آموزش Visual Studio Code — از نصب تا اجرای اولین پروژه در VS Code — کلیک کنید (+)


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

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

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

👍1
✳️ کاربرد زبان اسمبلی — زبان اسمبلی چیست و چه ویژگی هایی دارد؟

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

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

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


🔸 مقدمه‌ای بر زبان اسمبلی

‏زبان اسمبلی (Assembly Language) یک زبان برنامه‌نویسی سطح پایین (Low-Level Programming Language) است.دستورهای زبان اسمبلی به کد ماشین و در نتیجه، به سخت‌افزار بسیار نزدیک هستند. به همین دلیل، فراگیری زبان اسمبلی دشوار و کاربردهای آن، منحصر به برخی از زمینه‌های خاص است. از یادگیری زبان اسمبلی برای فراگیری سازکار کلیه قطعات کامپیوتر از واحد پردازش مرکزی (CPU) گرفته تا حافظه استفاده می‌شود. البته، زبان اسمبلی کاربردهای دیگری نیز دارد که در ادامه مطلب کاربرد زبان اسمبلی به طور کامل به آن‌ها پرداخته شده است.

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

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


🔸 زبان ماشین چیست؟

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

‏هر دستوری به زبان ماشین، منجر به آن می‌شود که واحد پردازش مرکزی یک وظیفه خاص را انجام دهد. از جمله این وظایف می‌توان به بارگذاری، ذخیره‌سازی، پرش یا انجام عملیات در واحد محاسبه و منطق (Arithmetic Logic Unit) روی یک یا تعداد بیشتری واحد داده در ثبات یا حافظه اشاره کرد. زبان ماشین یک زبان صرفا «عددی» است. یعنی کدهای زبان ماشین دنباله‌های از اعداد هستند که برای سخت‌افزار معنای خاصی دارند و قطعات الکترونیکی را به انجام کار خاصی مجبور می‌کنند. یکی از مهم‌ترین اهداف زبان ماشین، اجرا شدن برنامه نوشته شده در آن در سریع‌ترین زمان ممکن است و به همین دلیل این سطح از نزدیکی به سخت‌افزار را دارد.

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



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

🔗 کاربرد زبان اسمبلی — زبان اسمبلی چیست و چه ویژگی هایی دارد؟ — کلیک کنید (+)


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

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

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

✳️ ۱۲ زبان برنامه نویسی برای IoT به همراه معرفی منابع | راهنمای کاربردی

‏در این مطلب، ۱۲ زبان برنامه نویسی برای IoT مورد بررسی قرار خواهد گرفت. همچنین، منابع یادگیری برنامه نویسی IoT نیز معرفی می‌شوند. رشد و توسعه اینترنت و تعدد دستگاه‌های هوشمند درسال‌های اخیر، بشریت را به سمت داشتن دنیای کاملا متصل، به پیش می‌برد. در جهان کنونی که شبکه دستگاه‌های فیزیکی متصل به یکدیگر همواره در حال رشد است، «اینترنت اشیا» که به آن «اینترنت چیزها» (Internet of Things | IoT) نیز گفته می‌شود، به مسئله‌ای واقع‌گرایانه‌تر مبدل و از فضای یک رویای دوردست خارج شده است.

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

‏ ○ زبان برنامه نویسی برای IoT
‏ ○ منابع یادگیری زبان برنامه نویسی برای IoT
‏ ○ جمع‌بندی


🔸 زبان برنامه نویسی برای IoT

‏در ساخت و توسعه برنامه‌های کاربردی دسکتاپ، سرورها و موبایل، از زبان‌های برنامه‌نویسی گوناگونی استفاده می‌شود. همین امر موجب شده است تا افراد فکر کنند که هیچ تفاوتی بین اشیای هوشمند وجود ندارد و همه آن‌ها «مینی‌کامپیوتر» (Minicomputer) هستند. اینترنت اشیا دارای یک معماری سه لایه است که شامل تولید داده‌ها، سازمان‌دهی داده‌ها با استفاده از «دروازه‌ها» (Gateways) یا «هاب‌ها» (Hubs) و همچنین، سرورهای مرکزی است. این سرورهای مرکزی به لحاظ جغرافیایی دورتر از محلی قرار دارند که داده‌ها تولید می‌شوند.

‏برخی از پرسش‌هایی که در این وهله امکان دارد مطرح شوند عبارتند از:

‏– سیستم‌های اینترنت اشیا چگونه کار می‌کنند؟

‏– چه روش برنامه نویسی برای IoT مورد استفاده قرار می‌گیرد؟

‏– چه زبان برنامه نویسی برای IoT استفاده می‌شود؟

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


🔸 منابع یادگیری زبان برنامه نویسی برای IoT

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

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

‏برای کسب اطلاعات بیشتر پیرامون دوره آموزش ویدئویی «آموزش اینترنت اشیا – مقدماتی» و مشاهده پیش‌نمایش‌هایی از آن، کلیک کنید.



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

🔗 ۱۲ زبان برنامه نویسی برای IoT به همراه معرفی منابع | راهنمای کاربردی — کلیک کنید (+)


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

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

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

✳️ آموزش روبی (Ruby) | راهنمای کامل و رایگان برای شروع به کار — به زبان ساده

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

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

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


🔸 روبی چیست ؟

‏روبی (Ruby) یک زبان برنامه‌نویسی پویا و متن‌باز است که بر سادگی و بازدهی بالا تمرکز دارد. نحو زبان Ruby بسیار مناسب است، به طوری که خواندن و و یرایش مجدد کدها را آسان می‌کند. Ruby یک زبان برنامه‌نویسی اسکریپت‌نویسی به حساب می‌آید که توسط دانشمند رایانه و برنامه‌نویس نرم‌افزاری اهل ژاپن، یوکی‌هیرو ماتسوموتو (Yukihiro Matsumoto) طراحی شده است. زبان روبی روی بسترهای مختلفی مثل ویندوز، مک OS ‌و لینوکس اجرا می‌شود. واژه Ruby در انگلیسی به معنی یاقوت سرخ است که طراحی لوگو روبی نیز به همین مفهوم اشاره دارد.

‏فریم‌ورک Ruby on Rails به رشد و افزایش استفاده از این زبان در حوزه برنامه‌نویسی وب بسیار کمک کرده است. همچنین لازم به ذکر است که زبان برنامه‌نویسی روبی یک زبان کاملاً شیٔ‌گرا محسوب می‌شود. برای مثال، حتی ساده‌ترین انواع داده مثل نوع عدد صحیح (Integer) متدها و متغیرهای نمونه (Instance Variable) مخصوص به خود را دارد. اکنون که به سوال «روبی چیست» به میزان زیادی پاسخ داده شده است، می‌توان دریافت که آموزش روبی امر مهمی به حساب می‌آید و یادگیری آن بسیار مفید است. در ادامه این مطلب، با هدف آشنایی بیش‌تر با این زبان و شروع آموزش روبی، اشاره‌ای به تاریخچه این زبان برنامه‌نویسی شده است.

‏– None


🔸 تاریخچه روبی

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

‏Ruby توسط یوکی‌هیرو ماتسوموتو (Yukihiro Matsumoto) در ژاپن و در اوایل دهه هفتاد شمسی ساخته شد. او در سال ۱۳۴۴ به دنیا آمده است. یوکی‌هیرو ماتسوموتو اغلب با نام مستعار «ماتس» (Matz) شناخته می‌شود. او یک دانشمند علوم کامپیوتر و برنامه‌نویس نرم‌افزار ژاپنی است. مهم‌ترین دستاورد ماتسوموتو را می‌توان همین خلق زبان Ruby و پیاده‌سازی مستندات آن دانست. رفتار و منش ماتسوموتو باعث شده است که شعار معروفی درباره او در اجتماع Ruby شکل بگیرد:

‏معادل انگلیسی این شعار «Matz is nice and so we are nice» است که معمولاً به صورت خلاصه با سرنام «MINASWAN» به کار گرفته می‌شود. در ادامه، پیرامون هدف از ساخت روبی و این مسئله که ایده خلق روبی چطور در ذهن ماتس شکل گرفت، توضیحاتی ارائه شده است.



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

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


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

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

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

✳️ پنج نکته کلیدی برای شروع یادگیری زبان برنامه نویسی C — راهنمای مقدماتی

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

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

‏ ○ زبان برنامه‌نویسی C چیست؟
‏ ○ چرا باید برنامه‌نویسی C را بیاموزیم؟
‏ ○ ۱. یادگیری انواع متغیرهای پایه
‏ ○ ۲. یادگیری عملگرها
‏ ○ ۳. استفاده از کتابخانه‌های استاندارد
‏ ○ ۴. C بخشش ندارد
‏ ○ ۵. دیباگ کردن بهترین دوست شما است
‏ ○ سخن پایانی


🔸 زبان برنامه‌نویسی C چیست؟

‏برای این که بدانید ماهیت زبان برنامه‌نویسی C چیست، بهتر است ابتدا با مفهوم کدنویسی آشنا شوید. بدین منظور پیشنهاد می‌کنیم ابتدا مطلب زیر را مطالعه نمایید:

‏– آموزش زبان C با یک پروژه ساده — راهنمای مقدماتی

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


🔸 چرا باید برنامه‌نویسی C را بیاموزیم؟

‏اگر C چنین پیچیده و خطرناک است، پس اصلاً چرا باید آن را آموخت؟ پاسخ این است که:

‏– C در همه جا حضور دارد.

‏– تقریباً همه سیستم‌های عامل برای رایانه‌ها به زبان C نوشته شده‌اند.

‏– اغلب گوشی‌های هوشمند و تبلت‌ها سیستم عامل مبتنی بر زبان C دارند.

‏– تقریباً همه میکروکنترلرها چه روی نمایشگر درب میکروویو باشند و چه در مسافت‌یاب داخلی خودرو به کار رفته باشند، به زبان C برنامه‌نویسی شده‌اند.

‏– C++، Objective C و #C مستقیماً بر مبنای C ساخته شده‌اند و زبان برنامه‌نویسی «پایتون» (Python) نیز به وسیله آن نوشته شده است.

‏– کسب دانش مناسب از زبان C، در رزومه هر برنامه‌نویسی نقطه‌ای مثبت تلقی می‌شود.

‏برخی افراد فکر می‌کنند که یادگیری C پیش از هر زبان دیگر برنامه‌نویسی موجب می‌شود که فرد درک بهتری از برنامه‌نویسی به صورت کلی داشته باشد.

‏یادگیری C در واقع به معنی یادگیری طرز کار رایانه‌ها نیز هست. برنامه نویسان C می‌توانند درک عمیق‌تری از شیوه تأثیر کد روی سیستم‌ها داشته باشند و در نتیجه یادگیری زبان‌های برنامه‌نویسی دیگر برای آن‌ها آسان‌تر خواهد بود.



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

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


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

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

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

👍1
✳️ برنامه نویسی بلاکچین برای توسعه دهندگان تازه کار — بخش اول

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

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

‏ ○ صنعت جدید
‏ ○ تحلیل برنامه‌نویسی بلاکچین
‏ ○ زبان‌های چندمنظوره در برابر زبان‌های با دامنه خاص
‏ ○ زبان چندمنظوره
‏ ○ زبان با دامنه خاص
‏ ○ خوانایی دستور زبان و شیب یادگیری
‏ ○ سخن پایانی


🔸 صنعت جدید

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

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

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


🔸 تحلیل برنامه‌نویسی بلاکچین

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

‏به طور کلی برنامه‌نویسی بلاک‌چین می‌تواند واجد سه معنا باشد:

‏– انتشار یک پیشنهاد عرضه اولیه سکه (ICO).

‏– ساخت یک قرارداد هوشمند یا اپلیکیشن توزیع یافته (DAPP).

‏– مشارکت در یک بلاکچین موجود یا انتشار یک بلاکچین جدید.

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



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

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


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

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

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

✳️ تولید اعداد تصادفی با Mersenne Twister — الگوریتم و مفاهیم اولیه | به زبان ساده

‏«اعداد تصادفی» (Random Number) و همچنین اعداد «شبه تصادفی» (Pseudo Random) در صنعت، نمونه‌گیری و توزیع‌های آماری و بخصوص در «رمزنگاری» (Cryptography) اطلاعات رایانه‌ای کاربرد دارند. الگوریتم و روش‌های مختلفی برای تولید اعداد شبه تصادفی وجود دارد که یکی از مرسوم ترین آن‌ها روش تولید اعداد تصادفی با Mersenne Twister یا الگوریتم Mersenne Twister است. به علت پرکاربرد بودن این تکنیک در بسیاری از نرم‌افزارهای رایانه‌ای، در این متن به معرفی تکنیک تولید اعداد تصادفی به روش Mersenne Twister می‌پردازیم. در انتها نیز دو بخش برای معرفی این الگوریتم با استفاده از شبه کد و همچنین کد پایتون اشاره خواهیم کرد.

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

‏ ○ تولید اعداد تصادفی با Mersenne Twister
‏ ○ معرفی فیلم آموزش Cryptography در دات نت
‏ ○ خلاصه و جمع‌بندی


🔸 تولید اعداد تصادفی با Mersenne Twister

‏«مرسن پیچشی» «Mersenne Twister» یک تولید کننده «اعداد شبه تصادفی» (Pseudo Random Number Generator) یا به اختصار PRNG است. روش‌های مبتنی بر PRNG بیشترین کاربرد عمومی در تولید اعداد (شبه) تصادفی را دارد. نام روش تولید اعداد تصادفی با Mersenne Twister از این واقعیت ناشی می‌شود که طول دوره تناوب آن به عنوان یک «عدد اول مرسن» (Mersenne prime) انتخاب شده است.


‏Mersenne Twister در سال ۱۹۹۷ توسط دو دانشمند ژاپنی به نام‌های «ماکوتو ماتسومو» (Makoto Matsumoto) و «تاکوجی ناشیمورا» (Takuji Nishimura) ابداع گشت. این روش به طور خاص برای رفع بسیاری از نقایص موجود در روش‌های قدیمی مولد اعداد شبه تصادفی طراحی شده است.


🔸 معرفی فیلم آموزش Cryptography در دات نت

‏اعداد تصادفی (Random Number) و همچنین روش‌‌های تولید اعداد شبه تصادفی (PRNG) در رمزنگاری (Cryptography) و تکنیک‌های مختلف آن، نقش بسازایی دارند. باید توجه داشت که برای تولید کدهای رمز شده از اعداد تصادفی و همچنین اعداد اول (Prime Numbers) استفاده می‌شود. در این فیلم آموزشی به طور عملی نحوه رمزنگاری داده‌ها را به کمک زبان برنامه‌نویسی سی شارپ (#C) و همچنین محیط Dot.net فرا می‌گیرید. فهرست سرفصل‌ها و رئوس مطالب مطرح شده در این مجموعه آموزشی، در ادامه آمده است:

‏– درس یکم: تعریف Cryptography، تاریخچه رمزنگاری، زمینه های اصلی رمزنگاری، رمزنگاری در دات نت.

‏– درس دوم: اعداد تصادفی در رمزنگاری، کلاس RNGCryptoServiceProvider.

‏– درس سوم: الگوریتم های Hashing، توابع Hashing، MD۵، خانواده SHA، MAC یا کدهای ارزیابی پیام.

‏– درس چهارم: ذخیره سازی رمز عبور، استفاده از Hashing در ذخیره رمز عبور، پسورد بر مبنای توابع کلید اشتقاق.

‏– درس پنجم: رمزنگاری متقارن، mode های رمزنگاری، padding در رمزنگاری، کلید بردار مقدار دهی اولیه، الگوریتم رمزنگاری DES، الگوریتم رمزنگاری Triple DES، الگوریتم رمزنگاری AES.

‏– درس ششم: رمزنگاری نامتقارن، الگوریتم رمزنگاری RSA.

‏– درس هفتم: روش ترکیبی یا Hybrid در رمزنگاری (RSA + AES)، پیاده سازی رمزگذاری Hybrid

‏– درس هشتم: امضاهای دیجیتال

‏– درس نهم: رشته‌های امن



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

🔗 تولید اعداد تصادفی با Mersenne Twister — الگوریتم و مفاهیم اولیه | به زبان ساده — کلیک کنید (+)


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

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

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