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

محققان امنیتی بدافزار جدیدی را کشف کرده اند که در یک کمپین هدفمند سیستم های ویندوزی و لینوکسی را نشانه گرفته است. باج افزار تایکون (Tycoon) که از دسامبر سال ۲۰۱۹ فعال بوده ظاهرا حاصل تلاش جمعی از مجرمان سایبری …

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

گردآوری توسط ایده طلایی

کاربران بعد از افشای اطلاعات سرویس های اینترنتی هم پسورد خود را عوض نمی کنند

طبق پژوهشی تازه اغلب مردم بعد از فاش شدن اطلاعات هویتی شان هم اقدام به تعویض پسورد خود نمیکنند و این مساله را جدی نمی گیرند. براساس گزارشی که اوایل همین ماه موسسه امنیت و حریم خصوصی دانشگاه کارنگی ملون …

نوشته کاربران بعد از افشای اطلاعات سرویس های اینترنتی هم پسورد خود را عوض نمی کنند اولین بار در دیجیاتو پدیدار شد.

گردآوری توسط ایده طلایی

افزایش دو برابری برنامه‌های اندرویدی مخرب در فصل اول ۲۰۲۰ به خاطر کرونا

بر اساس گزارشی جدید، ده‌ها هزار اپلیکیشن مخرب اندرویدی میلیون‌ها کاربر این سیستم عامل را در معرض خطر حملات سایبری و کلاهبرداری اینترنتی قرار داده‌اند. شرکت امنیتی «Upstream» در سه ماهه اول ۲۰۲۰، بیش از ۲۹ هزار اپلیکیشن اندرویدی مخرب …

نوشته افزایش دو برابری برنامه‌های اندرویدی مخرب در فصل اول ۲۰۲۰ به خاطر کرونا اولین بار در دیجیاتو پدیدار شد.

گردآوری توسط ایده طلایی

لو رفتن اطلاعات کاربران رایتل تایید شد

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

نوشته لو رفتن اطلاعات کاربران رایتل تایید شد اولین بار در دیجیاتو پدیدار شد.

گردآوری توسط ایده طلایی

که عشق آسان نمود اول، ولی افتاد مشکل‌ها

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

منظورم از مسایل ساده، مسایلی از این دست است:

  • بررسی عضویت یک عنصر در مجموعه داده (membership)، به عنوان مثال، پاسخ به این سوال که آیا یک عدد در یک آرایه وجود داره یا نداره؟
  • شمارش تعداد عناصر متمایز در یک مجموعه داده (cardinality)، به عنوان مثال، در یک آرایه چند نوع عدد متفاوت وجود داره
  • محاسبه تعداد دفعات تکرار یک عنصر در یک مجموعه، یا شناسایی عناصر پرتکرار (frequency)، به عنوان مثال عدد ۴۲ چندبار در یک آرایه تکرار شده

و یا مسایل ساده‌ی دیگری از این جنس.

حل این مسایل بسیار ساده در بعضی شرایط بسیار سخت می‌شود.

  1. حجم (Volume) بسیار زیاد داده‌ها
  2. سرعت (Velocity) تولید و پردازش داده‌ها
  3. تنوع (Variety) و گوناگونی داده‌ها

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

داده‌ها از همه جا سرازیر می‌شوند، از شبکه‌های مجازی، از سنسورها، از تراکنش‌های مالی و …. از طرفی هم شرکت‌ها می‌خواهند که از داده‌ها سر در بیارن و از آن‌ها ارزش تولید کنند. این عوامل باعث رشد بسیار سریعِ بازارِ نرم‌افزارهای مرتبط با کلان داده شده است و به عنوان یک برنامه‌نویس در این بازار باید الگوریتم‌ها و داده‌ساختارهای مورد نیاز برای حل این مسایل را فرا بگیریم.

مرورگر امن

فرض کنید برنامه‌نویس یک مرورگر هستم، مثلا گوگل کروم! و قراره یک امکان به مرورگر اضافه کنم که از ورود به سایت‌های مشکوک جلوگیری کنه. به عبارت دیگه یک لیست چند میلیونی (معمولا بیش از ۲ میلیون) از آدرس‌های مربوط به این سایت‌ها دارم و برای هر آدرسی که کاربر در نوار آدرس مرورگر وارد می‌کنه، برنامه باید در این لیست چند میلیونی جستجو کنه و در صورتی که در این لیست وجود داشته باشد به کاربر اخطار بده. آیا برای این کار می‌توانم تمامی آدرس‌ها را در حافظه نگهداری کنم و به ازای هر درخواست در بین آن‌ها جستجو کنم؟

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

پیشنهادها

فرض کنید که برنامه نویس سایت Medium یا ویرگول هستم! و قرار است که به هر کاربر چندین مقاله برای مطالعه پیشنهاد بدم، ولی می‌خوام مطمئن باشم که کاربر این مقاله را قبلا مطالعه نکرده باشه. به عبارت دیگر بعد از این‌که به کمک الگوریتم‌های توصیه‌گر، مجموعه‌ای از مقاله‌ها را برای کاربر ایجاد کردم، مقاله‌هایی که قبلا مطالعه کرده را از آن حذف کنم. بر اساس توئیت ویرگول در سال ۹۸ بیش از ۱۸ میلیون کاربر از ویرگول استفاده کرده‌اند. آیا برای این کار می‌توانم مقاله‌هایی که هر کاربر مطالعه کرده را در دیتابیس ذخیره کنم و برای حذف مقاله‌های قبلا خوانده شده از این دیتابیس استفاده کنم؟

توزیع محتوا

فرض کنید من برنامه نویس Akamai یا ابرآروان هستم! و قرار است که الگوریتمی برای مسیردهی درخواست‌ها ایجاد کنم به طوری که درخواست‌ها به کَش سروری مسیردهی شوند که پاسخ این درخواست در آن وجود دارد، و برای این کار باید تمامی کَش سرورها از اطلاعات کَش شده در دیگر کَش سرورها اطلاع داشته باشند (Cache Sharing)، آیا درست است که برای این کار، هر کَش سرور، آدرس درخواست‌هایی را که کَش کرده است را به تمامی کَش‌سرورها ارسال کند؟

سهام عدالت

فرض کنید من برنامه نویس سامانه سهام عدالت هستم!! و قرار است که وب‌سایتی راه‌اندازی کنم که ۸۰ میلیون ایرانی جستجو کنند که آیا سهام عدالت دارند یا نه. آیا راه درستیه که به ازای هر درخواست من در دیتابیس چند ده میلیونی دارندگان سهام عدالت جستجو کنم؟

فایروال

فرض کنید من برنامه نویس Fortigate یا یک شرکت ایرانی در این زمینه هستم! و قرار است بر روی یک پهنای باند ۱۰ گیگابیت در ثانیه، تمامی بسته‌ها (Packets) را بررسی کنم و لیستی از آی‌پی‌های پرتکرار بسازم. آیا می‌توانم به ازای هر بسته، در لیست آی‌پی‌ها جستجو کنم و شمارنده این آی‌پی را افزایش بدهم و در انتها با مرتب کردن تمامی این لیست، آی‌پی‌های پرتکرار را بسازم؟

توییتر

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

خوب فکر کنم مثال‌ها کافی هستند، برای اینکه نشان دهند که حل مسایل راحت در تولید سرویس‌ها و محصولات واقعی به راحتی امکان پذیر نیستند.

داده‌ساختارهای احتمالاتی

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

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

به عنوان مثال به کمک فیلتر کوکو (Cuckoo Filter) که یک داده‌ساختار احتمالاتی برای حل مساله عضویت (membership) در یک مجموعه است، برای پردازش یک میلیارد اِلِمان مجزا به کمی کمتر از یک گیگابایت حافظه نیاز دارد، پیچیدگی زمانی حذف و اضافه و جستجو O(1)‎ است.

چشم‌پوشی

آیا خطا در داده‌ساختار قابل چشم پوشی است؟ در بسیاری از موارد بله، قابل چشم پوشی‌است، به عنوان نمونه داده‌ساختارهایی که برای حل مساله عضویت وجود دارند، مانند فیلتر کوکو، یا فیلتر بلوم؛ دارای خطای «مثبت کاذب» (False-Positive) هستند ولی خطای «منفی کاذب» ندارند.

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

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

درهم‌سازی

پایه و اساس تمامی داده‌ساختارهای احتمالاتی توابع درهم‌ساز یا همان توابع هَش (Hash Functions) است.

توابع درهم‌سازی در دو دسته قرار می‌گیرند:

  1. توابع درهم‌ساز رمزنگارانه (Cryptographic Hash Functions)
  2. توابع درهم‌ساز غیررمزنگارانه

دسته اول برای استفاده در حوزه امنیت و رمزنگاری کاربرد دارند و معمولا به خاطر ویژگی‌هایی که دارند سرعت پردازشی کمتری به نسبت توابع درهم‌ساز دسته دوم دارند. به عنوان مثال SHA1-32 توانایی پردازش تقریبا ۳۰۰ مگابایت در ثانیه را دارد ولی MurMurHash3 توانایی پردازش نزدیک به ۳ گیگابایت در ثانیه، یا xxHash قدرت پردازشی نزدیک به 5.5 گیگابایت در ثانیه را دارد.

همانطور که حدس زده‌اید، در داده‌ساختارهای احتمالاتی از توابع درهم‌ساز غیر رمزنگارانه استفاده می‌شود که نرخ برخورد ( Collision Rate) کم و سرعت بسیار بالا دارند.

پیاده‌سازی

یکی از پیاده‌سازی‌های داده‌ساختارهای احتمالاتی که البته متعلق به نویسنده همین مطلب هم هست 🙂 در گیت‌هاب (github.com/zaghaghi/pdstl) قابل دسترس است. البته پیاده‌سازی‌های دیگری نیز به صورت متن‌باز وجود دارد ولی سعی شده و خواهد شد که در این پیاده‌سازی تقریبا بیشتر داده‌ساختارهای احتمالاتی به صورت یک‌جا و یک شکل پیاده‌سازی شود.

به عنوان مثال برای استفاده از فیلتر بلوم (Bloom Filter) به کمک کتابخانه PDSTL می‌توان به شکل زیر عمل کرد.

#include <membership/bloom_filter.h>
#include <vector>
#include <string>
#include <iostream>

int main() {
    // Read all urls from file or database into urls 
    std::vector<std::string> urls;
    // Define bloom filter with 11 hash functions and 16M memory bits
    bloom_filter<11, 16000000> url_bloom_filter;
    std::for_each(urls.begin(), urls.end(), [&url_bloom_filter](auto& item) {
        // Insert items into bloom filter
        url_bloom_filter.insert(item);
    });

    // Check that bloom filter contains an item or not
    if (url_bloom_filter.contains(&quothttps://gmail.com&quot)) {
        std::cout << &quotFOUND!!!!!&quot << std::endl;
    } else {
        std::cout << &quotNOT FOUND&quot << std::endl;
    }
}

بیشتر بخوانیم

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

Probabilistic Data Structures and Algorithms for Big Data Applications by Andrii Gakhov, 2019, ISBN: 978-3748190486 (paperback) ASIN: B07MYKTY8W (e-book)

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

گردآوری توسط ایده طلایی

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

بر اساس گفته‌های یکی از توسعه دهندگان اولیه بیت کوین، ساتوشی ناکاموتو برای بالا بردن امنیت این پول دیجیتال از متخصصان رمزنگاری کمک گرفته است. «Laszlo Hanyecz»، که سال ۲۰۱۰ همکاری نزدیکی با ساتوشی ناکاموتو داشته و اولین خرید ثبت …

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

گردآوری توسط ایده طلایی

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

شرکت امنیت سایبری کسپرسکی خبر از حمله پیشرفته و غیر معمول مبتنی بر استیگانوگرافی (پنهان‌نگاری) داده که هکرها برای هدف قرار دادن قربانیان در سراسر جهان در پیش گرفته‌اند. بر اساس گزارش کسپرسکی و به نقل از ars TECHNICA مهاجمان در …

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

گردآوری توسط ایده طلایی

توضیح وزیر کشور درباره قطع اینترنت در آبان ماه: امنیت عمومی مهم بود

سوم آذر پارسال بود که مجلس بعد از اظهارات وزیر ارتباطات مبنی بر اینکه نقشی در قطعی اینترنت در آبان ماه گذشته ندارد، طرح استیضاح وزیر کشور را به دلایل مختلف از جمله قطع اینترنت مطرح کردند. بعد از گذشت …

نوشته توضیح وزیر کشور درباره قطع اینترنت در آبان ماه: امنیت عمومی مهم بود اولین بار در دیجیاتو پدیدار شد.

گردآوری توسط ایده طلایی

آسیب‌پذیری «StrandHogg 2.0» امنیت دستگاه‌های اندرویدی را به خطر می‌اندازد

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

نوشته آسیب‌پذیری «StrandHogg 2.0» امنیت دستگاه‌های اندرویدی را به خطر می‌اندازد اولین بار در دیجیاتو پدیدار شد.

گردآوری توسط ایده طلایی

برنامه نویسی رو از کجا و چطور شروع کنم؟

Problem

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

چون خودم این مشکل رو داشتم، و راهی که انتخب کردم به نظرم درست بود، میخوام به اشتراکش بزارم تا اگه کسی خوشش اومد از این راه برای یاد گیری برنامه نویسی استفاده کنه.

اینم بگم که خودمم توی دنیای برنامه نویسی حرفه ای نیستم و تقریبا تازه کار هستم.

از کجا شروع کنم و کدوم زبانو انتخاب کنم؟

From where?

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

HTML and CSS

بعد از یاد گیری HTML برای زیبا سازی صفحات و… CSS رو هم باید یاد میگرفتم. و بعد اونا فلکس باکس(FlexBox) و بوت استرپ (BootStrap) و سی اس اس گرید (CSS Grid) رو یاد بگیرم تا بتونم پروژه های استاتیک زیبایی طراحی کنم.

Dynamic or Static

بعد از اینکه تونستیم پرژه های استاتیک طراحی کردیم باید بتونیم اونارو داینامیک هم طراحی شون کنیم، پس باید جاوا اسکریپت (javascript) هم یاد بگیریم. بعد از یاد گیری کافی javascript باید تصمیم بگیریم که میخوایم توی سایت ها Back-end کار کنیم یا Front-end یا برنامه نویس اندروید بشیم یا … و طبق علاقه زبان برنامه نویسی اصلی که میخوام دنبالشو بگیریم رو انتخاب و شروع به یاد گیریش کنیم.

برای پیدا کردن اینکه به کدوم زبان برنامه نویسی علاقه دارین، میتونین کمی ازش رو یاد بگیرین و باهاش کارکنین تا اینکه زبان برنامه نویسی مورد علاقتون رو پیدا کنین.

خلاصه مسیر:
HTML
—-> CSS + Extensions —-> BootStrap —-> JavaScript —-> The main programming
.language you wanna learn it

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

از چه منابعی استفاده کنم؟

Resources
  • سایت های داخلی:

سکان آکادمی

سکان آکادمی

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

فرادرس

فرادرس

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

سون لرن

سون لرن

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

تاپ لرن

تاپ لرن

این سایت توسر ایمان مدائنی راه اندازی شده و به تازگی آموزش های بسیار کاربردی ای درزمینه های مختلف برنامه نویسی داره. برای شروع برنامه نویسی میتونه یکی از بهترین گزینه ها باشه.

بلدشو

بلدشو

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

زمینه های عکاسی،انیمیشین سازی، شبکه، طراحی مهندسی، برنامه نویسی، درسی، بازاریابی، امنیت و …

لرن سورس

لرن سورس

این سایت از سال ۱۳۹۶ فعالیت خود را درباره آموزش برنامه نویسی و طراحی وب سایت شروع کرده است. با توجه به اینکه در وب فارسی کمتر میتوان وبسایتی را یافت که آموزش برنامه نویسی و وب را به صورت دوره محور منتشر کند و اکثر سایت ها مطالبشان را به صورت پراکنده منتشر میکنند ، این سایت تصمیم گرفت تاباطراحی وب سایتی این نیاز را برطرف کند.لرن سورس یک پلتفرم شاخص و متفاوت در زمینه یادگیری و آموزش بوده و به شما کمک میکندتا نیازهای آموزشی خود را در زمینه کد نویسی رفع نمایید.

فرانش

فرانش

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

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

راکت

راکت

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

روکسو

روکسو

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

  • سایت های خارجی:

W3school

W3school

این وب‌سایت برای افرادی که در برنامه‌نویسی تازه‌ کار هستند، بسیار مفید است. یک سایت بسیار عالی برای تمرین کدنویسی. وب سایت w3schools را می‌توان به جرات یکی از بهترین منابع آموزشی برای طراحی وب دانست. این وب سایت کاملا رایگان است و روزانه افراد زیادی از آن استفاده می‌کنند.

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

با استفاده از w3schools می‌توانید به یادگیری HTML، CSS، JavaScript، Angular JS، Jquery و بسیاری دیگر از مباحث مربوط به طراحی وب سایت بپردازید. استفاده از امکانات این وب سایت به طور کامل رایگان است و محیط کاربری آن طوری طراحی شده که به راحتی بتوانید سرفصل‌های مورد نظر خود را برای یادگیری مباحث متنوع ارائه شده پیدا کنید.

Sololearn

Sololearn

این وب سایت بستر مناسبی برای افرادی که تازه پا در عرصه برنامه نویسی گذاشته اند ایجاد کرده است. وب‌سایت سولولرن یک وب‌سایت آموزش زبان برنامه‌نویسی دیگر است. نرم‌‎افزار موبایل این سایت نیز وجود دارد که در آن بعد از هر توضیح از کاربر سؤال پرسیده می‌شود و برای تشویق کاربران به یادگیری مسابقاتی در آنجا نیز برگزار می‌شود.

Udemy

Udemy

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

Coursera

Coursera

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

Codecademy

Codecademy

یکی از بهترین وبسایت‌ها برای آموزش برنامه نویسی Codecademy نام دارد. این وبسایت توانسته به بیش از ۲۴ میلیون نفر برنامه نویسی را آموزش دهد. این سایت پر است از دوره‌های آموزش کامپیوتر، نرم‌افزار، برنامه‌نویسی، هوش مصنوعی، ماشین لرنینگ، طراحی وب‌ سایت و …. .

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

امیدوارم مطالب مفید باشن.✔

نوشته برنامه نویسی رو از کجا و چطور شروع کنم؟ اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی