021-88926351
info@ezHost.ir
ورود ثبت نام
Facebook
LinkedIn
Instagram
  • صفحه نخست
  • ثبت دامنه
  • میزبانی وب
    • هاست لینوکس
      • حرفه ای ایران
      • حرفه ای اروپا
      • اقتصادی (لیکونومی)
      • هاست ویژه وردپرس
    • هاست ویندوز
      • حرفه ای ابری ایران
  • سرور مجازی
    • ایران
    • خارج
      • آلمان
      • فنلاند
    • سرور مجازی بایننس و ترید
  • سرور اختصاصی
    • خارج از کشور
      • سرور هلند
  • نمایندگی فروش
    • هاست لینوکس
      • داخل کشور
      • خارج از کشور
    • هاست ویندوز
      • داخل کشور
    • نمایندگی دامنه بین المللی
    • همکاری در فروش
  • سایر خدمات
    • گواهینامه SSL
    • طراحی وب سایت
  • ایزی هاست
    • ورود به ناحیه کاربری
    • وبلاگ ایزی هاست
    • شماره حساب ها
    • فرصت های شغلی
    • سنجش رضایتمندی
    • درباره ما
    • تماس با ما
ruby on rails

زبان Ruby on Rails

سپتامبر 11, 2015علیرضا طبرزدیدانشنامهبدون پیغام

شما ممکن است برای ساخت وب سایت از زبانها و Framework های مختلفی استفاده کنید، پر استفاده ترین آنها  ASP و PHP است، اما از سال ۲۰۰۴ یک Framework جدید وارد عرصه اینترنت شد و باعث شگفتی بسیاری از برنامه نویسان شد. در این پست در باره یه Framework صحبت می کنیم، شاید اسمش رو شنیده باشید، Ruby on Rails. قبل از توضیح دادن در مورد این زبان بهتر هست در مورد زبان Ruby و یکسری اصطلاح ها صحبت کنیم.

Framework چیست ؟

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

Ruby Logo

 Ruby چیست ؟

باید توجه داشته باشید که Ruby on Rails یک Web Framework است که بر مبنای زبان Ruby نوشته شده است، مشخصات زبان Ruby بدین شرح است :

● Ruby یک زبان برنامه نویسی است که توسط Yukihiro “matz” Matsumoto در سال ۱۹۹۵ ابداع شده است.
● شباهتهای زیادی به Perl، SmallTalk، Python و LISP دارد.
● Ruby فقط برای Web Application ساخته نشده است و همانند زبانهای مثل C کاربردهای بسیاری دارد.
● یک زبان شی گرا Object Oriented است.
● وب سایت : www.ruby-lang.org/en

مثال کلاسیک Hello world:

  puts "Hello World!"
ruby on rails logo

Rails چیست ؟

● یک Web Framework است.
● به زبان Ruby نوشته شده است.
● در سال ۲۰۰۴ توسط David Heinemeier Hansson ساخته شده است.
● این زبان Open Source هست.
● وب سایت : www.rubyonrails.com

اما چه ویژگیهایی باعث قدرت Ruby on Rails شده است ؟

اولین ویژگی که خیلی ممکن است به آن برخورد کنید و خیلی از آن صحبت میشود DRY است، این واژه مخفف Don’t Repeat Yourself است. بدین معنی است که در Rails شما باید سعی کنید فقط و فقط هر کد را یکبار و در یکجا بیاورید و نباید آنرا در جاهای مختلف برنامه تکرار کنید، این ویژگی این امکان رو به برنامه نویس میدهد تا به راحتی برنامه خود را کنترل کند و هر بار برای تغییرات روی آن نخواهد در صدها خط کد و حتی بیشتر دنبال قسمت مورد نظر بگردد.
مورد دیگر Conventions & Sensible Defaults است. به این معنیست که برای مثال وقتی شما در حال کار با Database هستید، Rails به طور پیش فرض یکسری قوانین و کدهایی رو برای اتصال به بانک اطلاعاتی شما در خود دارد و این امکان زو به شما میدهد تا بدون اینکه نیاز به کد نویسی زیادی داشته باشید به راحتی به بانک اطلاعاتی خود متصل شوید و Rails سایر کارها را خودش برای شما انجام میدهد.

اما شما هم میتوانید خودتان این کد نویسیها را انجام دهید بدون استفاده از Conventions & Sensible Defaults. اما استفاده از این ویژگیها در زمان و انرژی شما صرفه جویی زیادی خواهد کرد. یک مثال خیلی ساده این است که برای مثال شما دارید با بانک اطلاعاتی دانش آموزان کار میکنید، وقتی به Rails میگویید که Student (به مفرد بودن کلمه Student دقت کنید) Rails می فهمد که شما دنبال یک id از جدول Student ها هستید اما وقتی بگویید Students (به S که در آخر Student آمده دقت کنید) که یک کلمه جمع است Rails میفهمد که شما با چند id از جدول Student کار دارید. این یک مثال ساده از این ویژگی مفید هست.
مثال دیگر این است که همه Javascript ها یا CSS ها در فولدرهای مربوط به خودشون هستند، همه چیز مرتب و سازمان دهی شده است. شما میتوانید این قوانین و پیش فرض ها را تغییر دهید ولی دنبال کردن این موارد شما را خیلی جلو میندازه و بهتون خیلی کمک میکنه.

نکته دیگر که باعث قدرت Rails شده است ساخته شدن آن روی ساختار MVC است. این واژه مخفف کلمه های Model، View و Controller است. MVC از دو ویژگی که در بالا ذکر کردم استفاده میکند. در Model همه Object های ما با Database در ارتباط هستند و نه در جای دیگر، این همان ویژگی DRY است، چون شما فقط در Model با بانک اطلاعاتی در ارتباط هستید. لایه View همان قسمتی است که کاربر با آن در ارتباط است، همان صفحه های HTML که کاربر در انتها خواهد دید در این لایه ساخته میشوند. لایه Controller قسمتی است که وظیفه عکس العمل نشان دادن به Event ها را دارد و با دو لایه View و Model در ارتباط است.

به شکل زیر دقت کنید :

MVC Modern model

در روش Non-MVC معمولا در سایتهای سنتی که با ASP و PHP نوشته شده اند استفاده میشه ولی روش MVC در Ruby on Rails استفاده میشود. در روش سنتی مرورگر درخواست به View میفرستد و اگر لازم باشد View با بانک اطلاعاتی ارتباط برقرار میکند و پاسخ آنرا در View نشان میدهد. (در این روش Controller و Model درون همان View هست). البته این نکته را باید مد نظر داشت که ممکن است برنامه نویسان ASP و PHP از روش MVC هم استفاده کنند ولی بیشتر برنامه نویسان این زبانها از این روش استفاده نمیکنند.

اما در روش MVC مرورگر درخواست خود را به Controller میفرستد (Controller وظیفه کنترل کردن Event ها را دارد و با Model و View در ارتباط است) Controller این درخواست را پردازش میکند و میبیند که مثلا چه لینکی کلیک شده است یا چه URL وارد شده است و آن را به Model میفرستد، Model با بانک اطلاعاتی ارتباط برقرار میکند و اطلاعات لازم رو دریافت میکنه یا درون آن قرار میده، سپس Model این اطلاعات رو به Controller میدهد و به آن میگوید که چه اطلاعاتی از Database گرفته و یا در آن قرار داده، Controller ممکن است بر حسب نیاز با Model دوباره ارتباط برقرار کند و در نهایت اطلاعات رو به View میفرستد تا نمایش داده شوند.

این روش به خوبی با DRY همخوانی دارد، شما وقتی بخواهید مثلا تغییری در Database بدهید میدانید که باید در Model این کار رو انجام دهید. اگر بخواهید Event ها رو کنترل کنید در Controller تغییر میدهید و اگر بخواهید در نمایش اطلاعات برای کاربر تغییر ایجاد کنید میدانید که در View باید این کار رو بکنید. پس میبینید که همه چی در Rails سازماندهی شده است و شما میدانید که در کجا باید تغییرات را ایجاد کنید. اما در روش سنتی ممکن است شما همه صفحات رو مرور کنید تا بخواهید یک تغییر کوچک در برنامه خود ایجاد کنید.

نویسنده: فرشاد ذوالفقاری

Download Premium WordPress Themes Free
Download WordPress Themes
Free Download WordPress Themes
Download Nulled WordPress Themes
udemy course download free
download redmi firmware
Download WordPress Themes
free download udemy paid course
برچسب: Ruby, Ruby on Rails, زبان, زبان برنامه نویسی

مطالب پیشنهادی

جاوا اسکریپت (Javascript) چیست؟

سپتامبر 5, 2015علیرضا طبرزدی

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

سپتامبر 17, 2015علیرضا طبرزدی

زبان برنامه نویسی Perl

سپتامبر 15, 2015علیرضا طبرزدی

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

ورود به ناحیه کاربری
مرکز آموزش

تمام حقوق این سایت متعلق به ایزی هاست می باشد