VIP همه چیز درباره برنامه نویسی

وضعیت
موضوع بسته شده است.

☾♔TALAYEH_A♔☽

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2017/05/18
ارسالی ها
35,488
امتیاز واکنش
104,218
امتیاز
1,376
وب چگونه کار می کند؟


در توضیح این که وب چگونه کار می کند، توضیحات خود را با مثالی شروع می کنیم. اکنون که شما در حال مطالعه ی این دوره ی آموزشی در سکان آکادمی هستید،‌ در نرم افزاری تحت عنوان مرورگر وب -مثل گوگل کروم یا فایرفاکس- آدرس اینترنتی سکان آکادمی که sokanacademy.com است را وارد نموده‌اید و دکمه ی اینتر را زده اید. سپس مرورگر شما این دستور را از شما گرفته، و درخواستی را برای مودم -وسیله ای که اینترنت منزل شما را تأمین می کند- ارسال می‌کند با این مضمون که صاحب من -یعنی شما- قصد دارد سایت سکان آکادمی را مشاهده کند. مودم هم این دستور را گرفته و آن را برای شرکت آی اس پی -همان شرکتی که شما اینترنت خود را از آن گرفته‌اید مثل شاتل، پارس آنلاین و غیره- ارسال می کند. سیستم‌های قرار گرفته در شرکت آی اس پی، آدرس یو آر ال -یا همان sokanacademy.com- را گرفته و تبدیل به یک آدرس عددی می‌کند که اصطلاحاً IP یا آدرس پروتوکل اینترنتی گفته می شود.

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

در ادامه،‌ وب سرور سایت سکان آکادمی درخواست را گرفته، فایل‌های سایت سکان آکادمی را پیدا کرده و در جواب درخواست شرکت آی اس پی، آن‌ها را ارسال می‌کند و در نهایت فایل‌ها به دست مرورگر شما می رسند. حال مرورگر هم کدها را گرفته و آن‌ها را پردازش می کند و این می‌شود که شما می‌توانید سایت سکان آکادمی را مشاهده کنید!
 
  • پیشنهادات
  • ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    یک وب سایت از چه بخش هایی تشکیل شده است؟


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

    - ظاهر وب سایت: ظاهر وب سایت یا اصطلاحاً Front-end چیزی است که کاربران مشاهده می‌کنند مثل متون، تصاویر، ویدیوها و … برای طراحی فرانت اند یک سایت نیاز است تا ما با زبان‌هایی مثل HTML, CSS و JavaScript آشنایی داشته باشیم (برای طراحی این صفحه از سکان آکادمی که مشاهده می‌کنید نیز از این زبان‌ها استفاده شده است)

    - بک اند سایت: این که چه محتوایی، برای چه کسی و در کجای سایت نمایش داده شود را اصطلاحاً Back-end سایت می گویند. برای روشن شدن این مسأله مثالی می زنیم. اگر تاکنون از سایت یاهو استفاده کرده باشید، می‌بینید که در بخش آب و هوا به صورت پیش فرض،‌ آب و هوای شهری که در آن سکونت دارید را در معرض دید شما قرار می دهد. در‌ واقع این که سایت بفهمد آب و هوای کدام منطقه را برای چه کاربری نمایش دهد، وظیفه ی بک اند سایت -یا همان کدهایی که وظیفه تحلیل درخواست ها را دارند- می باشد. توجه داشته باشیم که بک اند یک سایت با استفاده از زبان‌هایی همچون پایتون، پی اچ پی، روبی و … نوشته می شود (به عنوان مثال، بک اند سایت سکان آکادمی با استفاده از زبان برنامه نویسی PHP نوشته شده است.)

    - فضای ذخیره سازی داده ها: هر سایت از اطلاعات مختلفی تشکیل شده است. مثلاً وقتی شما در سکان آکادمی ثبت نام می کنید، نام کاربری و رمز عبور شما می بایست در جایی ذخیره شود که این محل ذخیره سازی اطلاعات اصطلاحاً دیتابیس نام دارد. برای ذخیره سازی داده ها داخل دیتابیس، از زبان های مختلف مثل SQL یا SQLite و ... استفاده می شود (ما در سکان آکادمی برای ذخیره سازی داده ها از سیستم مدیریت دیتابیس MySQL استفاده می کنیم.)

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

    توجه داشته باشیم که تسلط به کلیه مهارت های فوق الذکر کار نسبتاً دشواری است چرا که هر کدام از این مباحث -مثلا Front-end و یا Back-end- نیاز به کلی مطالعه و یادگیری دارند. اما به هر حال استثناء هایی هم یافت می‌شود به این شکل که یک برنامه نویسی تمامی مباحث مربوط به یک سایت را فرا می‌گیرد که اصطلاحاً به چینن فردی Full Stack Developer یا برنامه نویس همه فن حریف گفته می شود که قیمت این دست برنامه نویسان نه تنها در دنیا، بلکه در ایران بسیار بالا است!
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    تفاوت موبایل وب اپلیکیشن و نیتیو موبایل اپلیکیشن


    امروزه اپلیکیشن های موبایل که اصطلاحاً Native Mobile App نامیده می‌شوند خیلی رواج پیدا کرده‌اند که از معروف ترین آن‌ها می‌توان به بازی Angry Birds و اپلیکیشن های ارتباطی WhatsApp و Viber اشاره کرد. در اینجا می بایست به تفاوت Mobile Web Application ها و Native Mobile Application ها اشاره‌ای داشته باشیم. به طور کلی، منظور از موبایل وب اپلیکیشن ها سایت‌هایی است که برای نمایش در صفحه های موبایل که نسبت به صفحه ی مانیتور دسکتاپ کوچک‌تر هستند بهینه شده‌اند که از طریق مرورگر نصب شده روی دستگاه موبایل یا تبلت قابل دسترسی هستند. در مقابل،‌ نیتو موبایل اپلیکیشن ها قرار دارند که صرفاً برای ابزارهای هوشمندی همچون موبایل و تبلت نوشته شده و از طریق مرورگر موبایل قابل دسترسی نبوده و می بایست آن‌ها را روی دستگاه نصب کرد. موبایل وب اپلیکیشن ها با همان زبان‌هایی که برای طراحی وب اپلیکیشن ها مورد استفاده قرار می‌گیرند -یعنی اچ تی ام ال، سی اس اس و جاوا اسکریپت- طراحی می‌شوند اما این در حالی است که برای نیتیو موبایل اپلیکیشن های سیستم عامل آی او اس از زبانی تحت عنوان آبجکتیو سی یا سوئیفت، برای سیستم عامل اندروید از زبان برنامه نویسی جاوا و همچنین برای سیستم عامل ویندوزفون از زبان سی شارپ استفاده می گردد.

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

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

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

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    آشنایی با زبان اچ تی ام ال


    زبان HTML مخفف واژگان HyperText Markup Language به معنی زبان نشانه گذاری فرامتنی است که در ساخت صفحات وب به کار گرفته می شود. این زبان، زبانی بسیار ساده اما در عین حال کاربردی است که برای ورود به دنیای برنامه نویسی، گزینه ی مناسبی است.

    آقای تیم برنرزلی در تلاش بود که مجامع علمی سراسر دنیا از طریقی پروتکلی بتوانند مقالات علمی را به راحتی با یکدیگر به اشتراک بگذارند. در همین راستا، وی در سال 1989 اولین نسخه از زبان اچ تی ام ال را طراحی کرده و به دنیا عرضه نمود. در ادامه ی راه، وی سازمان W3C که مخفف واژگان World Wide Web Consortium به معنی کنسرسیوم جهانی وب است را تاسیس کرد که وظیفه ی اصلی این سازمان، پشتیبانی و توسعه ی زبان HTML است.

    به خاطر داشته باشید
    در جوامع برنامه نویسی، هرگز از زبان اچ تی ام ال به عنوان یک زبان برنامه نویسی یاد نمی شود چرا که این زبان به هیچ وجه قابل مقایسه با زبان های برنامه نویسی نبوده بلکه زبانی است که با استفاده از تگ ها، چیزی را روی مرورگر به نمایش در می آورد.
    در پاسخ به این سؤال که زبان اچ تی ام ال چه کاری انجام می دهد، بایست گفت که کدهای نوشته شده با این زبان به مرورگر دستور می‌دهند تا متون، تصاویر و هر چیز دیگری را در قالب یک صفحه ی وب به نمایش درآورد. صفحات وب، با پسوند html. یا htm. شناخته می‌شوند که اصطلاحاً به این‌گونه فایل‌ها Plain Text گفته می شود. فایل‌های Plain Text این قابلیت را دارا هستند که از طریق یک مرورگر اجرا شوند اما در مقابل، فایل‌های Rich Text -همان فایل‌هایی که مثلاً توسط نرم‌افزار مایکروسافت آفیس ایجاد می شوند- یکسری اطلاعات اضافی را به فایل مد نظر -که مثلا با پسوندی همچون docx. ذخیره می شود- می افزایند که منجر به این خواهند شد تا فایل مد نظر به درستی توسط نرم افزارهای پردازنده ی متن -مثل آفیس ورد- نمایش داده شوند. لذا اگر کدهای اچ تی ام ال را در قالب فایل‌های اصطلاحاً Rich Text بنویسیم، این فایل‌ها به درستی در مرورگر نمایش داده نخواهند شد.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    آشنایی با زبان سی اس اس


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

    با پیشرفت وب، نیازهای کاربران هم به مراتب بیشتر شد که یکی از اساسی‌ترین آن ها، نیاز به زیبایی ظاهری برای صفحات وب بود. به همین منظور، زبانی تحت عنوان CSS که مخفف Cascading Style Sheets به معنی الگوهای آبشاری است توسط Håkon Wium Lie در سال ۱۹۹۶ ابداع شد تا همچون سازه ی یک ساختمان که با استفاده از رنگ، گچبری، سنگ کاری و … زیبا می گردد، صفحات خام اچ تی ام ال را زیبا سازد. زبان سی اس اس صرفاً چهار / پنج سال پس از ابداع زبان اچ تی ام ال توسعه یافت و به مرور زمان که مرورگرهای بیشتری اقدام به پشتیبانی از آن کردند، در میان توسعه دهندگان جای خود را باز کرد و امروزه به عنوان بخش لاینفک دنیای وب شناخته می شود.

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

    آشنایی با فریم ورک های زبان CSS
    در دنیای برنامه نویسی، یکی از معیارهای تعیین کننده از بسیاری جنبه ها، سرعت اجرای پروژه های برنامه نویسی است. در همین راستا برای استایل دادن به تگ های اچ تی ام ال توسط زبان سی اس اس، یکسری فریم ورک ها نیز ابداع شده‌اند که سرعت کار برنامه نویسان و طراحان سایت‌ها را به مراتب بیشتر کردند که از جمله ی این فریم ورک ها، می‌توان به Twitter Bootstrap اشاره کرد.

    در سال ۲۰۱۱ دو نفر از توسعه دهندگان شرکت توییتر به نام های Mark Otto و Jacob Thornton اقدام به توسعه ی یکسری کدهای سی اس اس برای استفاده در شبکه ی اجتماعی توییتر کردند اما چیزی نگذشت که مجموعه کدهای سی اس اس خود را در قالب یک فریم ورک به صورت آزاد در اختیار سایر توسعه دهندگان دنیا قرار دادند که در حال حاضر، این فریم ورک به منزله ی یکی از محبوب‌ترین فریم ورک های سی اس اس دنیا است.

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

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

    - Twitter Bootstrap

    - Foundation

    - Pure

    - Materialize

    - uikit

    - Skeleton

    - Yaml

    - Gumby

    - Kube

    - Less Framework

    - Responsive Grid System

    - BASE

    - Semantic

    - Responsive Grid System

    - compass

    - columnal

    - Fluid Baseline Grid

    - The Goldilocks

    - Blueprint

    - Grid

    - (960) Grid System

    البته این لیست نسبتا طولانی به همین موارد ختم نشده و دائما فریم ورک های جدید با قابلیت هایی نوین در اختیار توسعه دهندگان قرار می گیرد ( لازم به ذکر است که ما در سکان آکادمی از فریم ورک توییتر بوت استرپ استفاده می کنیم.)
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    آشنایی با زبان جاوا اسکرپیت


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

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

    - کنترل کردن ظاهر یک وب سایت مثلاً حذف و اضافه کردن تگ های اچ تی ام ال
    - ساخت بخش‌های تعاملی وب سایت مثل Menu ها، Date Picker ها و …
    - چک کردن ارور فرم‌ها در سمت مرورگر پیش از ارسال درخواست به سرور
    - نمایش داده‌ها با استفاده از چارت‌ها و نمودارها
    - استفاده از فناوری AJAX در سایت‌ها به منظور جلوگیری از بارگذاری مجدد صفحات وب و در نتیجه ایجاد یک تجربه ی کاربری به مراتب بهتر
    - ایمپورت کردن داده‌ها از سایر سایت ها و تحلیل آن‌ها و بسیاری کارهای دیگر.

    توجه داشته باشیم که زبان جاوا اسکریپت در سال ۱۹۹۶ توسط Brendan Eich که یکی از مهندسین شرکت Netscape بود طراحی و توسعه داده شد که در ابتدا نام آن LiveScript بود که چندی نگذشت که به دلایل خاصی -شاید استفاده از محبوبیت زبان برنامه نویسی Java- نام آن به JavaScript تغییر پیدا کرد اما توجه داشته باشیم که این زبان با زبانی تحت عنوان Java کاملاً فرق دارد.

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

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

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

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

    - AngularJS: فریم ورک آنگولار نسبت به فریم ورک های بکبون و امبر قدیمی تر بوده و عرضه آن به سال ۲۰۰۹ باز می‌گردد لذا جامعه توسعه دهندگان آن نیز نسبت به رقبایش بیشتر است. در سال ۲۰۱۳ این فریم ورک از دید دولوپرهای مشارکت کننده در توسعه این فریم ورک، جایگاه چهارم را به خود اختصاص داده بود و در سایت گیت هاب هم از دید تعداد ستاره دریافتی، جایگاه سوم را به خود اختصاص داده بود (ستاره در سایت گیت هاب، همچون لایک در شبکه اجتماعی فیسبوک است.) از جمله شرکت های حامی این فریم ورک می‌توان به گوگل، نایک، جنرال موتوز و سایت خبری گاردین اشاره کرد. یکی از دلایلی که شرکت های مطرحی همچون موارد فوق الذکر به این فریم ورک روی آورده‌اند این است که این فریم ورک نه تنها بسیار انعطاف پذیر است بلکه تغییرات مد نظر را خیلی سریع می‌توان در اپلیکیشن های نوشته شده با این فریم ورک اعمال کرد. علاوه بر این، آنگولار جی اس نسب به سایر فریم ورک ها دست دولوپرها را بازتر می‌گذارد تا کدهای خود را نوشته و تست کنند و پیش از آن که ارورهای ایشان به باگ های بزرگی تبدیل شوند، خواهند توانست آن‌ها را یافته و برطرف کنند. یکی از چیزهای عجیب و غریب در مورد فریم ورک آنگولار جی اس این است که در این فریم ورک از اصطلاحات خاصی استفاده شده که مخصوص این فریم ورک است و شاید دلیل استفاده از چنین اصطلاحاتی این باشد که آنگولار از قابلیت‌هایی برخوردار است که هیچ فریم ورک دیگری آن‌ها را دارا نمی باشد.

    - Backbone.js: بکبون جی اس در سال ۲۰۱۰ به دنیا عرضه شد و جامعه دولوپرهای این فریم ورک هم دست کمی از آنگولار ندارد. وب اپلیکیشن های معروفی همچون توییتر، فوراسکور، لینکدین موبایل، سوندکلود، پیچ فورک و پاندورا از این فریم ورک استفاده می کنند. یکی از نکات قابل توجه در مورد فریم ورک بکبون جی اس حجم دانلود این فریم ورک است که نسبت به سایر رقبا بسیار اندک است. به طور مثال فریم ورک آنگولار 36K است، امبر 69K است اما بکبون جی است صرفاً 6.4K می باشد. این حجم پایین بکبون، برگ برنده آن است و دلیل این مسأله هم آن است که بکبون به جای وابسته بودن به چندین لایبرری جاوا اسکریپت، صرفاً به یک لایبرری وابسته است و همین سبک بودن باعث شده تا دولوپرهایی که می خواهند اپلیکیشن های سریع و واکنش گرا طراحی کنند به این فریم ورک روی آورند. یکی دیگر از مزیت‌های این فریم ورک این است که برنامه نویسان حرفه‌ای جاوا اسکریپت خیلی سریع می‌توانند شروع به کدنویسی با بکبون کنند. جامعه‌ای که از این فریم ورک پشتیبانی می‌کند گسترده است و در عین حال پروژه های آماده و همچنین آموزش‌های رایگانی هم در گیت هاب و هم سایر سایت‌ها برای این فریم ورک موجود است لذا اگر قصد نوشتن یک اپلیکیشن تک صفحه‌ای یا یک ویجت را در سر دارید، فریم ورک Backbone گزینه مناسبی برای شما است.

    - Ember.js: امبر جی اس یکی از جدید ترین فریم ورک ها در نوع خود است اما در همین عمر کوتاه (در سال ۲۰۱۱ به بازار عرضه شده) خود توانسته سهم بازار نسبتاً قابل توجهی را به خود اختصاص دهد. اپلیکیشن های LivingSocial، Groupon، Zendesk، Discourse و Square برخی از نمونه‌های معروفی اند که از این فریم ورک استفاده کرده اند. به گفته توسعه دهندگان اصلی این فریم ورک، زمانی که شما سایتی را مشاهده می‌کنید به راحتی می‌توانید تشخیص دهید که آیا از امبر استفاده کرده است یا خیر زیرا سایت‌هایی که از فریم روک Ember استفاده می کنند خیلی سریع لود می‌شوند و دلیل این مسأله هم آن است که تمامی فرایند رندر شدن در مرورگر کاربر اتفاق می افتد. این قبیل وب سایت‌ها در ظاهر همانند سایت‌های عادی هستند اما پشت پرده ساختاری شبیه به یک اپلیکیشن اندروید یا آی او اس دارند که فرایندها در آن ها توسط سرور پردازش نمی شوند. این فریم ورک از بعد حجم عنوان سنگین ترین فریم ورک را به خود اختصاص داده است (۶۹K). گفته می‌شود که اپلیکیشن هایی که با این فریم ورک نوشته شده‌اند پس از این که کامپایل شدند، اندازه‌ای مشابه اپلیکیشن های نوشته شده با سایر فریم ورک ها دارند و شاید دلیل این مسأله آن باشد که سایر فریم ورک ها غالباً در حین فرایند ساخت، لایبرری های اضافی دانلود می کنند. یکی از دلایلی که فریم ورک امبر سایز بیشتری نسبت به رقبا دارد این است که این فریم ورک دارای یکسری خصوصیات از پیش تعریف شده است و همین مسأله منجر شده تا حجم آن افزایش یابد. شاید برای شما هم اتفاق افتاده باشد که در یک وب اپلیکیشن دکمه بازگشت را کلیک می‌کنید اما به خاطر باگ جاوا اسکریپتی هیچ اتفاقی نمی افتد. خصوصیات منحصر به فرد فریم ورک Ember.js از این دست ارور های کوچک اما آزار‌دهنده جلوگیری به عمل خواهد آورد. یکی دیگر از برگ برنده های فریم ورک امبر، شبکه پشتیبانی آن است اما اگر شما قصد طراحی یک ویجت کوچک و یا وب اپلیکیشن تک صفحه‌ای را در ذهن می پرورانید، امبر گزینه مناسبی برای شما نخواهد بود اما اگر روی یک پروژه چند صفحه‌ای نسبتاً بزرگ کار می کنید، امبر گزینه مناسبی است.

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

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

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    آشنایی با زبان‌های برنامه نویسی سمت سرور برای طراحی سایت


    به طور کلی فرایند طراحی سایت را می‌توان به دو بخش Front-end و Back-end تقسیم‌ بندی کرد. پیش از این آشنا شدیم که برای طراحی فرانت اند یا همان رابط کاربری سایت می بایست از زبان‌های اچ تی ام ال، سی اس اس و جاوا اسکرپیت استفاده نمود. این دست زبان‌ها برای طراحی سایت‌های استاتیک مناسب هستند اما اگر بخواهیم یک سایت پویا یا دینامیک داشته باشیم، نیاز به زبان‌هایی به غیر از آنچه تاکنون مورد بررسی قرار داده‌ایم خواهیم داشت.

    به طور کلی، یک سایت Static سایتی است که صرفاً یکسری اطلاعات ثابت را در اختیار کاربران قرار می‌دهد مثل سایت معرفی یک هنرمند که به معرفی وی و آثارش می پردازد یا یک سایت شرکتی معمولی که صرفاً توضیحی در ارتباط با آن شرکت می‌دهد. در مقابل سایت‌های استاتیک، سایت‌های Dynamic یا پویا قرار دارند که به منزله ی سایت‌هایی هستند که این امکان را برای کاربران سایت فراهم می‌سازند که ایشان بتوانند با سایت تعامل داشته باشند. این تعامل می‌تواند شامل ثبت نام در سایت، ورود به ناحیه ی کاربری،‌ نظردهی، تولید محتوا و … گردد. برای مثال، سایت سکان آکادمی یک سایت دینامیک است و شاهد این ادعا هم آن که شما خواهید توانست پس از ثبت نام در این سایت، نظر خود را در ارتباط با این آموزش در پایین همین صفحه ابراز نمایید.

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

    - PHP

    - Hack

    - #C

    - Python

    - Perl

    - Ruby

    - Java

    - JavaScript و …

    به خاطر داشته باشید
    سیستم های مدیریت محتوا یا CMSهایی همچون وردپرس، جوملا و دروپال که بسیاری از وب مسترها از آن ها برای طراحی سایت استفاده می کنند از زبان برنامه نویسی PHP برای کدنویسی Back-end شان استفاده شده است. جالب است بدانید که زبان برنامه نویسی PHP در حال حاضر محبوب ترین و معروف ترین زبان برنامه نویسی سمت سرور برای طراحی سایت در دنیا است که بخش هایی از سایت های معروفی همچون فیسبوک، یاهو،‌ ویکیپیدیا نیز با این زبان نوشته شده است. سایت سکان آکادمی نیز از زبان برنامه نویسی PHP برای برنامه نویسی سمت سرور استفاده می کند.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    آشنایی با وب سرور و نحوه ی عملکرد آن


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

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

    فرض کنیم که می خواهیم صفحه اول سایت سکان آکادمی را باز کنیم. برای این منظور، آدرس sokanacademy.com را وارد مرورگر می کنیم. اکنون پس از زدن دکمه ی اینتر، آدرس صفحه درخواستی ما در قالب درخواستی از جنس HTTP به دست نرم افزاری تحت عنوان وب سرور می رسد (HTTP مخفف واژگان Hypertext Transfer Protocol به معنی "پروتوکل انتقال داده فرامتنی" بوده و وظیفه ی برقراری ارتباط مابین شبکه های کامپیوتری را دارا است.) کاری که نرم افزار وب سرور می بایست انجام دهد این است که دستور ما به منظور ارسال صفحه نخست سکان آکادمی را عملی سازد.

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

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    آشنایی با وب سرورهای مشهور دنیا


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

    وب سرور آپاچی
    این وب سرور از روی یک قبیله سرخپوستی آمریکایی نامگذاری شده است. وب سرور آپاچی به صورت اپن سورس و رایگان بوده که روی اکثر سیستم عامل ها از ویندوز گرفته تا مکینتاش و گنو/لینوکس مورد استفاده قرار می گیرد (البته در عمل آن را بیشتر روی لینوکس می بینیم.)

    به خاطر داشته باشید
    منظور از Open Source یا متن باز این است که توسعه دهندگان به سورس کد برنامه دسترسی داشته و در صورت نیاز می توانند آن ها را بسته به کار خود تغییر دهند.
    در حقیقت وب سرور آپاچی به عنوان معروف ترین وب سرور در دنیا شناخته شده است و بیش از نیمی از سرورهای دنیا از این وب سرور استفاده می کنند (و تمرکز ما نیز بیشتر روی این وب سرور خواهد بود چرا که شما نیز حداقل در ابتدای کار بیشتر با آپاچی سر و کار خواهید داشت.)

    وب سرور IIS
    از جمله دیگر وب سرورهای معروف دنیا می توان به Internet Information Service که به طور خلاصه IIS نامیده می شود اشاره کرد. در واقع این وب سرور به صورت رایگان روی سیستم عامل های ویندوزی نصب می باشد و تخصصی که این وب سرور دارد پیشتیبانی از زبان هایNET. است اما این در حالی است که از دیگر زبان های برنامه نویسی نیز پشتیبانی می کند.

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

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

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    کامپیوترهای سرور و میزبانی وب


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

    این کامپیوتر میزبان وب اپلیکیشن سکان اکادمی است و به همین خاطر به آن Web Host نیز می گویند و البته همان طور که گفتیم گاهی اوقات از کلمه وب سرور هم به طور کلی برای اشاره به آن استفاده می شود.

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

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

    از این رو، وقتی که می خواهید سایت خودتان را راه اندازی کنید لازم است که به شرکت هایی مراجعه کنید که خدمات میزبانی وب ارائه می کنند و از آن ها یک سرور برای میزبانی سایت تان اجاره کنید. اما صبر کنید! هزینه ی اجاره یک سرور عدد نسبتا بالایی است و برای بسیاری از افراد که قصد دارند یک سایت کوچک -مثلا یک سایت شخصی- راه اندازی کنند مقرون به صرفه نیست. به همین خاطر سیستم میزبانی اشتراکی به وجود آمده است.

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

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

    برخی موضوعات مشابه

    بالا