بهترین منابع آموزشی برنامه نویسی فارسی



لومن بعنوان یک پروژه ی جدید توسط سازنده ی اصلی لاراول یعنی Taylor Otwell ساخته شده است . Taylor Otwell گفته که این فریمورک یک میکرو-فریمورک است یعنی سایزش کوچکتر است ، سرعتش بیشتر است و یک نسخه ی ظریف از فریمورک کامل laravel است . 

البته برای زبان برنامه نویسی php دو میکروفریمورک دیگر هم وجود دارد که نام آنها Slim و Silex است .

 

فریمورک Lumen چیست - میکروفریمورک lumen لاراول

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

lumen در سال ۲۰۱۵ بعنوان یک فریمورک اوپن سورس زبان php معرفی شد و هدف اصلی این فریمورک ساخت میکروسرویس ها و API های خیلی سریع است . 

lumen در اصل یک میکروفریمورک یا micro-framework است و اساسا برای سرعت بخشی به پروژه ها ساخته شده است . 

lumen سریعتر از دو فریمورک میکرو-سرویس زبان php به نام های Slim و Silex است . 

براساس آزمایشی که خود Taylor Otwell انجام داده است ، میکروفریمورک های php از نظر سرعت به ترتیب زیر هستند :‌

  1. Lumen — 1,700 requests per second
  2. Slim — 1,250 requests per second
  3. Silex — 950 requests per second

و همانطور که میبینید Lumen سریعتر از  Slim و آن هم سریعتر از Silex است . 

 

- برخی از ویژگی های مهم میکرو-فریمورک Lumen : 

  • Lumen سرعت بسیار بالایی داره
  • Lumen کدنویسی بسیار راحت یا بهتره بگیم Syntax ساده ای داره 
  • Lumen را هر زمانی بخواهید میتونید به لاراول کامل ارتقا بدید
  • Lumen میتونه درخواست های بیشتری را در هر ثانیه نسبت به دیگر فریمورک های php انجام بده
  • سیستم Routing : لومن از سیستم Fast Route استفاده میکنه که یه کتابخانه است که میتونه route های براساس Regex را سریعا پیاده سازی بکنه 
  • سیستم Lumen event  کمک میکنه تا به رویدادهای اپلیکیشن خود بپردازید و آنها را مدیریت کنید 
  • سیستم Authentication : در لومن از سشن های عادی برای احراز هویت استفاده نمیشه یک مکانیسم ویژه مثل استفاده از توکن ها برای احراز هویت در لومن استفاده میشه
  • سیستم Caching : همانند laravel ، لومن هم سیستم کشینگ داره ، بین سیستم کش لاراول و لومن تفاوتی خاصی وجود ندارد . در lumen درایور های کش مانند Database, Memcached و  Redis پشتیبانی میشود . 
  • سیستم خطاها و لاگ : در lumen از کتابخانه ی Monolog برای کنترل کردن خطاها و لاگ ها استفاده میشود . 
  • سیستم queuing : که همانند سیستم queuing خود لاراول است . 

 

لاراول یا لومن - laravel یا lumen

- تفاوت بین Laravel و Lumen :

 

  1. laravel یک فریمورک کامل برای توسعه ی وب است ولی lumen یک میکرو-فریمورک سریع برای ساخت micro-service است که بر پایه ی زبان PHP و برای ساخت اپلیکیشن های تحت وب است . 
  2. lumen تخصصی تر است که برای توسعه ی Micro-services و API ها کاربرد دارد پس بسیاری از چیزهای Laravel مثل سشن ها ، کوکی ها و تمپلیت ها در آن وجود ندارد lumen سعی کرده است چیزهای ضروری را نگهداری کند مثل routing, logging, caching, queues, validation, error handling  و خیلی چیزای مشابه دیگر

 

- نیازمندی های کلیدی Lumen : 

 

برای Lumen شما باید مطمعن شوید سرویس شما شرایط زیر را دارد :‌

  1. مطمئن شوید PHP روی ماشین شما نصب است و همچنین Lumen یک سری افزونه های php را نیاز دارد مثل OpenSSL, PDO و Mbstring .
  2. برنامه ی مدیریت بسته های php به نام Composer باید نصب کنید . برای نصب کامپوزر به سایت getcomposer.org بروید و براساس سیستم عامل خودتان دانلود و نصب کنید .
  3. برای کار با Lumen باید با مفاهیم پایگاه داده و زبان PHP آشنا باشید . 

آموزش نصب کردن Lumen

- نصب Lumen : 

 

دو راه برای ساختن پروژه ی Lumen وجود دارد :‌

 

  1. با استفاده از نصب کننده ی Lumen 
    خب ابتدا نصب کننده ی Lumen را توسط Composer دریافت کنید :‌
     Composer global require Laravel/Lumen-installer”​
    خب حالا که نصب کننده ی Lumen دانلود شده میتونید با دستور زیر یک پروژه جدید به نام blog  بسازید :‌
    Lumen new blog​

     
  2. با استفاده از دستور Create-Project مربوط به Composer
    برای نصب کردن Lumen با استفاده از دستورات Composer میتوانید طبق زیر عمل کنید :
    composer create-project –prefer-dist Laravel/Lumen blog​

- اجرای Lumen در مرورگر  :‌

توسط کامند زیر میتوانید پروژه ی Lumen را از طریق localhost:۸۰۰۰ آماده اجرا کنید :‌

php -S localhost:8000 -t public

 

- دلایلی که نباید Lumen را انتخاب کنید :‌

  • برعکس فریمورک Laravel که قابلیت های زیادی برای تنظیم کردن فریمورک وجود دارد در Lumen فقط یکجا تنظیمات دارد آن هم فایل .env است .
  • Lumen از کامپوننت های Symfony برای routing استفاده نمیکند بجای آن از Fast Route استفاده شده است اگر به ویژگی های Symfony Routing مثل routing روی ساب دامین یا با پارامترهای اختیاری نیاز دارید از فریمورک Laravel استفاده کنید . 
  • اگر با سینتکس خود لاراول حال نمیکنید سمت Lumen هم نروید .
  • پذیرش کم Lumen نسبت به لاراول : تاکنون 20 میلیون بار laravel دانلود شده است در حالیکه lumen فقط 125 هزار دانلود داشته
  • Lumen محدود است و بیشتر تمرکز خود را روی تولید API و میکروسرویس گذاشته و اگر برنامه نویس کاری جز اینها انجام دهد ممکن است با محدودیت مواجه شود
  • Lumen برپایه ی لاراول است اگر یک پروژه با فریمورکی بجر لاراول پیاده شده باشد برای راه اندازی میکروسرویس روی آن Lumen انتخاب خوبی نیست . 

 

نتیجه گیری درباره ی میکروفریمورک Lumen : 

 

خب تا اینجا متوجه شدیم که Lumen یک میکروفریمورک جدید برپایه ی فریمورک Laravel است و مخصوص ساختن میکروسرویس ها یا  API های اپلیکیشن تحت وب است . 

همانطور که دیدید نصب و تست کردن Lumen ساده است و به امتحانش می ارزد 

و هر زمان هم خواستید میتوانید Lumen را به یک لاراول کامل ارتقا دهید 

 

تمام


مطالب زیر ممکن است برای شما مفید باشد

 دیباگ کردن پروژه های لاراولی با Laravel Debugbar کدایگنایتر یا لاراول ؟ کدام فریمورک پی اچ پی چند داشبورد مدیریتی آماده برای لاراول احراز هویت با لاراول 6 جانگو یا لاراول ؟ برنامه نویسان وب بخوانند

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

 دوره پروژه محور ساخت فروشگاه بامیلو با لاراول دوره ی آموزش کامل فریمورک لاراول Laravel کارگاه آموزش کار با API های اینستاگرامی دوره ی آموزش ساخت اپ گالری تصاویر آنلاین با کاتلین

پایان


مدیریت بسته های php با composer

 

اگه قبلا با php کار کرده باشید شاید بعضی وقتا ، احساس کرده باشید که دارید چرخ رو دوباره اختراع میکنید !‌( اختراع کردن دوباره چرخ استعاره از کارهای تکراریه )

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

php فریمورک های زیادی داره که قبلا این کار ها را انجام داده . به نظرتون بهتر نیست هر قسمتی که نیاز داریم را از اون فریمورک ها برداریم و دوباره ننویسیم ؟‌ 

اگر بخواهیم بصورت دستی قسمت های مختلف را از فریمورک هایی مثل zend یا laravel یا symfony برداریم ، این کار سخت میشه !

ممکن است هر کتابخانه به کتابخانه ها یا کدهای دیگر وابسته باشد و مدیریت کردن و پیدا کردن آن وابستگی ها بصورت دستی کار را خراب میکند مخصوصا اگر کار تیمی باشد یا به کس دیگری بسپارید .

اینجاست که composer خودش رو نشون میده .  composer  یک ابزار مدیریت وابستگی ها برای php است . composer وابستگی های لازم را بر اساس پروژه ی اصلی ،‌مدیریت میکند . به عبارتی دیگر composer تمام کتابخانه ها و وابسته های مورد نیاز را یکجا جمع میکند و یکجا مدیریت میکند . 

البته مدیریت وابستگی ها مبحث جدیدی نیست و ابزارهای مشابه composer زیادی وجود دارد مثلا npm برای Node.js و Bundler برای Ruby مشابه composer پی اچ پی هستند . 

ممکنه شما قبلا PEAR را هم دیده باشید . PEAR یک ابزار مدیریت پکیج ها برای php است که از سالها قبل وجود داشت . ولی PEAR توسط برنامه نویسان پی اچ پی ترک شد و دلیل اصلی این کار هم دو دلیل زیر بود : 

  • بیشتر کدهای موجود در PEAR بروزرسانی نمیشند و منقضی شده بودن 
  • مشکل دوم  PEAR این بود که کل پروژه را یکجا دانلود میکرد و به شما اجازه نمیداد بخشی از آن را که نیاز دارید به همراه وابستگی های ان دانلود و مدیریت کنید . 

 

- آموزش نصب کردن Composer : 

نصب کردن composer خیلی سادست من در زیر‌اموزش نصب را در سیستم عامل OSX گذاشتم و شما میتونید در ویندوز و لینوکس هم به سادگی نصب کنید . 

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

 

$ curl -s https://getcomposer.org/installer | php  
$ sudo mv composer.phar /usr/local/bin/composer  
[/bash]

The first command downloads the composer.phar file to your computer. The second line moves the composer.phar file in to your bin so that is accessible globally on your computer.

Now run the following command:  
```bash  
$ composer  
[/bash]

If you have installed Composer successfully, you should be given a list of available commands and descriptions.

### Installing on Windows?

If you are looking to install Composer on a Windows machine, take a look at the guide on the [Composer website](http://getcomposer.org/).


## Using Composer

Now that you have Composer installed, you can use it to require some packages into your project. To make a Composer configuration file, we just need to make a JSON file in the root of the project.

For example, if you wanted to use [Slim Framework](http://slimframework.com/) you could create the following composer.json file.

```js  
{  
"require": {  
"slim/slim": "2.*"  
}  
}  

خب بعد از نصب کامپوزر شما میتوانید هر کد و فریمورک مربوط به پی اچ پی را بصورت کامل به همراه پیش نیاز ها یا وابستگی های انها نصب کنید مثلا برای نصب فریمورک slim میتوانید طبق دستورات زیر عمل کنید :‌

 $ composer install  
 [/bash]

This will automatically download Slim into your project under the directory vendor/slim/slim.

See, how easy was that?


## Autoloading

Now that you have all of these different packages, you need the ability to autoload them into your project. Fortunately Composer also comes with an autoload file, which is capable of autoloading any of the files in the projects that you download.

To use the Composer autoloader, simply include the following line in your project’s index or bootstrap file.

```php  
 require ‘vendor/autoload.php’;  

 

شما میتوانید بدون نگرانی از کتابخانه های موجود در پروژه خود استفاده کنید چون اگر وابستگی به پروژه یا کتابخانه ی دیگرم داشته باشد اینجاست که قدرت composer معلوم میشود . 

برای مثال کدهای زیر را ببینید :‌

// Autoload  
require ‘vendor/autoload.php’;

// Instantiate a Slim application  
$app = new \Slim\Slim();

// Define a HTTP GET route  
$app->get(‘/hello/:name’, function ($name) {  
echo "Hello, $name";  
});

// Run the Slim application  
$app->run();  

 

نتیجه گیری :‌

 

خب استفاده کردن از مدیریت بسته هایی مثل composer برای یک برنامه نویس پی اچ پی واقعا لازم است همانطور که زبان Ruby نشان داد استفاده کردن از یک برنامه ی مدیریت وابستگی ها چقدر به روند توسعه و راحت تر شدن برنامه نویسی کمک میکند . 

استفاده از برنامه ی مدیریت بسته ها در وقت و زحمت برنامه نویسان کلی صرفه جویی میکند به مثال اختراع دوباره چرخ فکر کنید ! 

بسیاری از فریمورک های محبوب کدهای خودشان را درون composer قرار داده اند و خیلی از کتابخانه های آماده که توسط برنامه نویسان نیز ساخته شده در composer آماده است تا شما استفاده کنید . 

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

 

تمام .

 


مطالب زیر ممکن است برای شما مفید باشد

 آموزش ساخت سیستم ثبت نام در PHP و پایگاه داده MySQL کدایگنایتر یا لاراول ؟ کدام فریمورک پی اچ پی تماس با ما جانگو یا لاراول ؟ برنامه نویسان وب بخوانند مفاهیم موتور جستجو و آموزش ساخت موتور جستجو با PHP

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

 دوره ی آموزش ساخت فریمورک برای پی اچ پی با PHP MVC دوره ی پروژه محور ساخت هتلداری با php mvc دوره پروژه محور ساخت فروشگاه بامیلو با لاراول دوره ی آموزش کامل زبان پی اچ پی ( PHP )

پایان


انتشار پروژه ی لاراولی روی هاست های اشتراکی 

 

در ابتدای این مقاله باید توجه کنید که فریمورک  لاراول بعنوان محبوب ترین فریمورک زبان برنامه نویسی PHP برای اجرای صحیح و درست بصورت زنده نیاز به دسترسی SSH دارد که روی سرور یا سرور مجاری مقدور است و معمولا این امکان توسط هاست های اشتراکی به شما داده نمیشود . 

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

ابتدا نیازمندی های فریمورک لاراول برای سرور را ببیینیم : 

 

  •  PHP 7.0.0 or Above و از لاراول نسخه ی 6.0 به بعد حداقل نسخه ی پی اچ پی  PHP 7.2  است 
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension

برای اجرای کدهای php artisan شما نیاز به دسترسی SSH دارید که این مورد در هاست های اشتراکی به شما داده نمیشود پس برای استفاده از مایگریشن ها به مشکل میخورید و برای این هم یک راه حل دیگری داریم مقاله را ادامه دهید . 

 

ما در نظر میگیریم که شما برنامه نویسی پروژه ی خود با لاراول را تمام کرده اید و آماده آپلود آن روی هاست اشتراکی هستید . 

ما این آموزش را برای پروژه ای از لاراول که با نسخه ی ۵,۱ لاراول نوشته شده بود انجام دادیم و درست کار کرد و شما میتوانید برای نسخه های بالاتر هم تست کنید و در صورت اینکه کار کرد در کامنت ها اعلام کنید . 

خب فرض کنیم نام پروژه ی ما laravel۵۰ است و ساختار آن طبق تصویر زیر است :‌

 

آموزش آپلود لاراول روی هاست اشتراکی

 

نکته : به هیچ چیز دست نزنید حتی فایل htaccess و به همان صورت که هست بگذارید بماند . 

  1. تمام فایل ها و فولدرهای درون پروژه خود را زیپ کنید و نام آنرا مثلا laravel50.zip بگذارید 
  2. سی پنل مربوط به هاست اشتراکی که میخواهید پروژه ی خود را به آن منتقل کنید باز کنید  تصویر زیر را ببینید :‌

    آپلود پروژه ی لاراول روی هاست اشتراکی - سی پنل
     
  3. روی File Manager کلیک کنید 
  4. روی Upload کلیک کنید 
  5. فایل laravel50.zip که در مرحله ی 1 درست کردیم را آپلود کنید . توجه کنید که محل آپلود باید روت اصلی هاست شما باشد نه درون دایرکتوری public_html
  6. فایل زیپ laravel50.zip را اکسترکت کنید و در نهایت سی پنل شما باید مشابه تصویر زیر باشد ‌:‌

    آموزش آپلود پروژه ی لاراول روی هاست سی پنل
  7. پوشه ی laravel50 را باز کنید و محتویات درون پوشه ی public را به مسیر public_html هاست اشتراکی خود در سی پنل منتقل کنید بعد از انتقال محتویات شما میتوانید پوشه ی public خالی را حذف کنید .
  8. به مسیر public_html در سی پنل بروید و فایل index.php را پیدا کنید و روی آن راست کلیک کنید سپس Code Edit را انتخاب کنید . 
  9. یک پنجره ی جدید ادیت کد یا Code editor سی پنل برای شما باز میشود 
  10. تغییرات زیر را در فایل انجام دهید و دو خط اول را به دو خط بعدی تغییر دهید البته این دو خط ممکن است در لاین شماره ی 22 و 36 شما باشد : 
    این دو خط را پیدا کنید : 
    
    `require __DIR__.'//bootstrap/autoload.php';
     .
     $app = require_once __DIR__.'//bootstrap/app.php';`
    
    و به کد زیر تغییر دهید 
    
    `require __DIR__.'//laravel50/bootstrap/autoload.php';
     .
     $app = require_once __DIR__.'//laravel50/bootstrap/app.php';`​

 

  1. لطفا به محتویات درون htaccess دست نزنید ( البته مگر در موقعی که میدانید چیکار میکنید :) )
    محتویات درون فایل htaccess باید مشابه زیر باشد :‌
       `<IfModule mod_rewrite.c>
                      <IfModule mod_negotiation.c>
                      Options -MultiViews
                      </IfModule>
    
                      RewriteEngine On
    
                    # Redirect Trailing Slashes…
                      RewriteRule ^(.*)/$ /$1 [L,R=301]
    
                    # Handle Front Controller…
                      RewriteCond %{REQUEST_FILENAME} !-d
                      RewriteCond %{REQUEST_FILENAME} !-f
                      RewriteRule ^ index.php [L]
                      </IfModule>`​

     

  2. اگر همه مراحل بالا را درست رفته باشید و به آدرس دامنه ی خود مثلا domain.com بروید با خطای پایگاه داده مواجه خواهید شد (البته اگر مدل در پروژه ی خود دارید و از دیتابیس استفاده میکنید) . نگران نباشید ! در ادامه نحوه ی ساختن پایگاه داده در هاست اشتراکی هم به شما آموزش داده خواهد شد . 
     

- Migrate کردن جداول پایگاه داده لاراول در هاست اشتراکی :‌

یکی از مزایای لاراول استفاده از سیستم مایگریشن هاست که به شما اجازه میدهد به سادگی جدول های دیتابیس را ایجاد و مدیریت کنید به سادگی یک خط کد میتوانید جداول را بسازید :‌ php artisan migrate
از آنجایی که ما روی هاست اشتراکی هستیم و دسترسی هم به SSH نداریم خب تصور کنیم حداکثر ده جدول داریم این کار به سادگی قابل انجام است . 

 

- ساختن دیتابیس در هاست اشتراکی 

  1. در سی پنل شما یک ابزاری به نام PHPMyAdmin نصب شده است و در اکثر سی پنل ها ابزار Mysql Database Wizard وجود دارد . برای ساخت پایگاه داده و همچنین کاربران پایگاه داده از Mysql Database wizard میتوانید استفاده کنید . پس یک پایگاه داده و یک کاربر بسازید و به همدیگر متصل کنید و مجوز های لازم را به آنها بدهید ( درباره ی نحوه ی ساختن پایگاه داده با mysql database wizard سرچ کنید ). توجه کنید که نام کاربری پایگاه داده و رمز آنرا نگهدارید چون به زودی به انها نیاز دارید . 
     
  2. از PHPMyAdmin استفاده کنید تا جدول های خودتان را بسازید . برای عملکرد بهتر PHPMyAdmin روی ماشین لوکال خود را باز کنید و طبق آن پیش بروید و دقیقا ساختاری که در پایگاه داده موجود در ماشین لوکال ساخته شده است را در سی پنل بسازید . 

    آموزش نصب لاراول روی هاست اشتراکی
  3. البته یک راه دیگر هم است . میتوانید پایگاه داده را از لوکال export بگیرید و در هاست اشتراکی import کنید . برای این کار رو ماشین لوکال خود وارد PHPMyAdmin شوید و یک خروجی از بخش Export بگیرید . 

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

اگر با موفقیت عمل ایمپورت انجام بگیرد پیام موفقیت آمیز بودن نمایش داده میشود . 

 

در سی پتل هاست اشتراکی خود به فولدر laravel۵۰ بروید و یا هر مسیری که برای پروژه ی خود در هاست اشتراکی استفاده کردید و سپس به مسیر config/database.php بروید . روی این فایل راست کلیک کنید و Code Edit را انتخاب کنید . و در خط ۵۵ شما تنظیمات دیتابیس MySQL  را مشاهده میکنید .

نام کاربری و پسورد MySQL را به نام کاربری و پسوردی که موقع ساختن دیتابیس تعریف کردید تغییر دهید . 

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

 

تمام 


مطالب زیر ممکن است برای شما مفید باشد

 بررسی اپلیکیشن دیجی کالا - کشف زبان برنامه نویسی این اپلیکیشن آموزش متغیرها در کاتلین ، انواع آنها و تبدیل متغیرها آموزش ساخت اسلایدر تصاویر اپ اندرویدی با زبان Kotlin kotlin یا جاوا ؟ برای برنامه نویسان اندروید مسئله این است ! این ۸ چیر رو باید همه برنامه نویسا بدونن !

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

 دوره ی طلایی لاراول 6 دوره ی آموزش ساخت اپ گالری تصاویر آنلاین با کاتلین دوره ی آموزش پروژه محور ساخت دیجیکالا به همراه اپ و سورس کامل دوره ی آموزش پروژه محور ساخت آپارات با اپلیکیشن موبایل و سورس کد آماده

پایان


چرا باید Node.js یاد بگیرید - دلایل استفاده از Node.js - مزیت های استفاده از Node.js

 

 

نود جی اس ( Node.js ) چیست ؟‌

 

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

این درحالی است که چند سال پیش که دنیای وب با Flash و Java Applet ها محصور شده بود . 

 

خب همانطور که در ویکیپدیا نوشته شده است :‌ 

 

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

 

بعد از ۲۰ سال ، که ارتباط وب با سرور یک طرفه بود حالا تکنولوژی داریم که با آن میتوانیم اپلیکیشن های تحت وب بصورت Real Time یا با ارتباط دو طرفه بسازیم . 

 

در یک جمله : نود جی اس در پیاده سازی اپلیکیشن های real-time درخشید و تکنولوژی وب را به سمت وب سوکت ها هدایت کرد . 

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

 

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

 

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

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

 

10 دلیل برای اینکه Nodejs را باید یاد بگیرید 

 

1 - Node.js بسیار سریع است :‌

 

Node.js از موتور V۸  گوگل استفاده میکند . موتور V۸ گوگل کدهای جاوااسکریپت را کدهای محلی ماشین کامپایل میکند و با سرعت بسیار بالایی اجرا میشود و به همین خاطر است که Node.js پرسرعت تر از بقیه فریمورک هاست . 

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

طبق گزارش شرکت PayPal این شرکت ، بعد از کوچ کردن سیستم هایشان به Node.js مدت زمان پاسخگویی سرویس هایش طی یک ثانیه ،  در حالیکه درخواست ها دوبرابر قبل شده بود ،  ۳۵% کاهش داشته  . 

 

2 - Node.js برنامه نویسان را به اشتراک گذاری کدهایشان ترغیب میکند :‌

 

Node.js سعی دارد برنامه نویسان را به NPM یا نود پکیج منیجر نزدیک کند  . این مخزن دارای بیش از ۵۰،۰۰۰ پکیج آماده است که به برنامه نویسان کمک میکند تا کارهای خود را خیلی سریع پیش ببرند . 

با استفاده از NPM برنامه نویسان میتوانند کدها را بروزرسانی کنند ، به اشتراک بگذارند یا مجدد استفاده کنند ، بدون اینکه زحمت خاصی بکشند . 

 

3 - با Node.js میتوانید اپلیکیشن های تحت وب RealTime بنویسید که پرفرمنس بالاتری داشته باشد :‌

 

Node.js ابزارهای خیلی خوبی دارد تا بتوانید یک اپلیکیشن مثل چت یا بازی انلاین بسازید که بصورت real-time با سرور در ارتباط است . 

همچنین Node.js برای برنامه هایی کاربرد دارد که event-based هستند مثل non-blocking driven server ها . 

 

4 - زبان برنامه نویسی یکسان در دو طرف اپلیکیشن های Real-Time  ( کلاینت و سرور )‌  : 

 

توسعه دهندگان Node.js با کدهای جاوا اسکریپت هم سمت سرور و هم سمت کلاینت میتوانند کد نویسی کنند و این امر باعث آسانی مبادله اطلاعات بین کلااینت و سرور میشود . 

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

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

 

5 - استریم کردن خوب داده ها در Node.js :

 

دیگر فریمورک های وب به درخواست و پاسخ مبتنی بر HTTP بعنوان دیتا ابجکت نگاه میکنند اما Node.js در کنترل  I/O بسیار خوب عمل میکند . بنابراین ما می توانیم از این مزایا بهره ببریم و اپلیکیشن های پیشرفته تری مبتنی بر شبکه بسازیم . 

مثلا می توانید هنگام بارگذاری یک فایل صوتی و تصویری را رمزگذاری کنید ، Node.js همچنین می تواند با  WebSocket ها ارتباط برقرار کند تا بتوانید اطلاعات روی HTTP  را بخواند و بنویسد.

 

6 - هر برنامه نویس جاوا اسکریپت را میشناسد :‌

 

تقریبا میشه گفت همه ی برنامه نویس ها با جاوااسکریپت آشنا هستند و حداقل یکبار با آن کدنویسی کرده اند ، میشه گفت حداقل یکبار یک پلاگین جیکوئری را دستکاری کردن ! 

پیدا کردن برنامه نویس و توسعه دهنده ی وب که حرفه ای باشد کمی دشوار است . خب چرا از یک زبانی استفاده نکنیم که همه با آن آشنا هستند ؟ اینطوری سریعتر هم میشه یک برنامه نویس واسه ی آن زبان پیدا کرد . این مزیت جاوااسکریپت به پای Node.js هم نوشته میشود . 

 

7 - Node.JS برای هاستینگ :

 

با پذیرفته شدن سریع Node.js از طرف توسعه دهندگان و شرکت های بزرگ ، سرویس دهنده های هاستینگ شروع به سرویس دهی به نود جی اس کردند . 

برای نصب Node.js روی هاست های اشتراکی شما باید دسترسی به SSH داشته باشید اگر SSH در پنل مدیریتی هاست شما وجود ندارد یا فعال نیست با پشتیبان سرویس دهنده ی خود صحبت کنید

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

سرویس دهنده های Platform as a Service (PaaS) در سطح جهانی نیز به فکر ایجاد بستر مناسب برای توسعه ی Node.js هستند . 

 

8 - Node.js باعث افزایش بهره وری میشود : 

 

بهره وری Node.js از دو جنبه قابل بررسی است . یکی اینکه توسعه دهنده به دلیل وجود خطاهای Run Time بهره وری بالاتری خواهد داشت و دوم اینکه شرکت های بزرگ میتوانند تیم های مجزای فرانت اند و بک اند را در یک گروه جمع کنند تا پروژه سریعتر و بهتر به نتیجه برسد . 

 

9 - سرور Node.js بعنوان Proxy - برنامه نویسان سرور Node.js را استخدام کنید :‌

 

همانطور که قبلتر دیدیم Node.js مشخص کرد که در اکثر سیستم های مدیریت با مدت زمان پاسخگویی بسیار کمتری کاربرد دارد  .به همین ترتیب Node.js می تواند برای stream کردن اطلاعات از منابع مختلف مورد استفاده قرار گیرد.

 

10 -  پشتیبان و حمایت کننده ی Node.js  

 

اگر شما از فریمورک های اوپن سورس استفاده کرده باشید ممکن است توسط سازندگان آزاد و داوطلب خودش رها شده باشد ولی Node.js توسط Joynet  حمایت میشود . 

 

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

تمام  


مطالب زیر ممکن است برای شما مفید باشد

 5 دلیل برای اینکه با جاوا اسکریپت کار کنید Express.js چیست و چرا انقدر مهمه ؟‌ رادیو صفر و یک - پادکست شماره ی 9 ام - اینترنت بی اینترنت رادیو صفر و یک - پادکست شماره ی 3 ام - شرکت جت برینز و محصولاتش برای برنامه نویسان رادیو صفر و یک - پادکست شماره ی 5 ام - دیپ فیک چیست ؟‌ آخرین مرز میان حقیقت و دروغ

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

 کارگاه آموزشی کار با Grunt js کارگاه آموزشی نحوه ی آپدیت ورژن فریمورک laravel دوره ی آموزش لینوکس اوبونتو کارگاه آموزش کار با API های اینستاگرامی

پایان


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

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

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

معمولا داشبورد های مدیریتی لاراول به دو دسته اصلی تقسیم بندی میشوند :‌ visual builders و console-based و این به شما بستگی دارد که کدام دسته ها نیاز شما را رفع میکند . 

 

یکی دیگر از ویزگی های مهم داشبورد ها انجام خوب عمل CRUD در دیتابیس است خب همه میدانیم که CRUD مخفف کلمات Create, Read, Update, Delete است . معمولا عملیات CRUD با یک مدل در پروژه ی لاراول در ارتباط است . 

 

نکته ی مهم :‌ تمام ابزارهای معرفی شده در زیر روی لاراول ۵,۴ تست شده و درست کار میکنند و ممکنه الان برای نسخه های جدید تر هم بروزرسانی شده باشند . پس برای اطلاع از اینکه با نسخه های بالاتر مثلا نسخه های ۶ کار می کنند یا نه ؟‌باید به سایت اصلی آنها مراجعه کنید و ببینید که بروزرسانی جدید آنها تا نسخه ی چند لاراول را پشتیبانی میکند . 

 

پنل های مدیریتی دسته ی visual builders 

 

پنل مدیریتی Voyager: The Missing Laravel Admin

پنل مدیریت لاراول - داشبورد مدیریت لاراول - ساخت مدیریت laravel

 

این محصول اگرچه تازه است ولی بیشترین تاثیر را روی من گذاشت ! طرفداران زیادی دارد و همچنین آموزش های ویدیویی رسمی روی یوتیوب دارد که از این لینک میتوانید ویدیوهای آموزشی اش را ببینید :‌ Youtube series by DevDojo

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

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

 

یکی از ویژگی های دیگر ویجر این است که شما به هنگام نصب میتوانید اطلاعات ساختگی یا اصطلاحا dummy-data در پایگاه داده وارد کنید تا سایت شما شکل شمایل اصلی به خود بگیرد فرض کنید یک فروشگاه ساختید و بعد از نصب باید بشینید دونه دونه محصولات الکی وارد کنید تا ظاهر و امکانات فروشگاه را تست کنید این کار را ویجر بصورت خودکار انجام میده و کلی اطلاعات ساختگی وارد دیتابیس میکنه 

 

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

 

در نهایت یکی از ویژگی های خوب ویجر این است که شما میتوانید جداول دیتابیس را در پنل مدیریتی ویرایش کنید ! یه چیزی مثل phpmyadmin کوچک درون پنل مدیریتی ! جالبه نه ؟

 

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

 

پنل مدیریت LaraAdmin: Admin Panel + CRM

آموزش ساخت پنل مدیریت لاراول - پنل مدیریت لاراول - داشبورد مدیریت laravel

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

 با چند کلیک ساده شما میتوانید مایگریشن های مربوط به model های خودتان را بسازید و عملیات CRUD را روی آنها یا بصورت جداگانه انجام دهید . 

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

همانند voyager یک سیستم آپلود دارد . در حقیقت یک مرورگر درونی برای کارهای اپلود دارد . 

برای ظاهر پنل مدیریتی LaraAdmin از یک قالب معروف به نام AdminLTE استفاده میکند که توسط بسیاری از توسعه دهندگان وب استفاده میشود . 

 

پنل مدیریتی QuickAdmin: Package and Online Generator 

آموزش ساخت پنل مدیریت لاراول - داشبور مدیر لاراول - پنل مدیریت laravel

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

در بین تمام ابزارهای بررسی شده کمترین فایل راهنما را دارد . 

یکی از مهمترین نقاط عطف QuickAdmin سیستم آنلاین ادمین پنل است .

 

 پنل های مدیریت Non-Visual

 

پنل مدیریتی Z-song / Laravel-admin 

آموزش ساخت پنل مدیریتی لاراول - داشبورد مدیریت laravel - پنل و داشبورد مدیریتی laravel

در حقیقت این پکیج از دو بخش تشکیل شده است بخشی که ویژوال است و میتوانید آیتم های منو را بسازید ولی بخش دیگری است که با کدنویسی باید انجام دهید مثل زیر :‌

php artisan admin:make UserController --model=App\\User

$router->resource('users', UserController::class);

use Encore\Admin\Grid;
use Encore\Admin\Facades\Admin;
$grid = Admin::grid(Movie::class, function(Grid $grid){

و این تفاوت بخش ویژوال با بخش کدنویسی است . البته شما باید سینتکس و قوانین کدنویسی آنرا یاد بگیرید 

پکیج Z-Song یک پکیج مدیریتی خوب است که بخوبی کار میکند . 

همچنین این پکیج متدهای اضافی مثل model-grid, model-form, model-tree و  ready-built widgets را داراست . 

 

پنل مدیریتی InfyOm Laravel Generator

 آموزش ساخت پنل مدیریت لاراول - آموزش ساخت داشبورد مدیریت laravel - آموزش پنل مدیریت لاراول

شعار اصلی این پنل Get your APIs and Admin Panel ready in minutes است بنابراین این پنل بیشتر روی API ها تاکید دارد . 

این پکیج یک تولید کننده ی API دارد که میتواند بعنوان بخشی از پنل مدیریت یا به تنهایی کار کند . 

همچنین annotation های  Swagger  را هم برای API میسازد . 

همچنین پکیج InfyOm هیچ رابط گرافیکی ندارد (البته توسعه دهنده ی آن میگوید که روی رابط کاربری یا GUI آن در حال کار کردن است ).

این پکیج سه گزینه ی  دیگری برای عملیات CRUD معرفی میکند . console ، JSON file و database table .

شما میتوانید روی یک جدول از پیش ساخته شده CRUD بسازید . 

یکی از ابزارهای جالب این فریمورک این است که کدها را با   پترن repository  میسازد .

خب پس کنترلر شما باید چنین چیزی باشد :‌

class BookController extends AppBaseController
{
    /** @var  BookRepository */
    private $bookRepository;

    public function __construct(BookRepository $bookRepo)
    {
        $this->bookRepository = $bookRepo;
    }

    /**
     * Display a listing of the Book.
     *
     * @param Request $request
     * @return Response
     */
    public function index(Request $request)
    {
        $this->bookRepository->pushCriteria(new RequestCriteria($request));
        $books = $this->bookRepository->all();

        return view('books.index')
            ->with('books', $books);
    }

برای فرانت اند هم InfyOm چهار گزینه را پیشنهاد میکند : AdminLTE, Metronic, Bootstrap, و FlatLab

یکی از بزرگترین مشکلات InfyOm این است که شما مجبور هستید از سینتکس آن پیروی کنید .

میتوانید از مستندات InfyOm هم کمک بگیرید . 

 

پنل مدیریت AppzCoder: CRUD Generator + Admin Panel 

پنل مدیریت لاراول - داشبورد مدیریت لاراول - پنل مدیریت برای laravel

این پکیج در واقع دو محصول در یک پکیج است . یک تولید کننده CRUD یا پکیج مدیریت laravel بصورت مستقل وجود دارد . 

مستندات این پکیج میگوید که نسخه ی لاراول باید  Laravel ۵,۱ باشد اما روی لاراول ۵.۳ هم بخوبی کار کرد ! 

بعد از نصب کردن شما یک قالب تحت Bootstrap را مشاهده خواهید کرد که میتوانید CRUD را بصورت دستی یک به یک وارد کنید و میتوانید از دستور آرتیسان crud:[command] استفاده کنید . 

یک مثال از مستندات خود این پکیج :‌

php artisan crud:generate Posts --fields="title#string; content#text; category#select#options=technology,tips,health" --view-path=admin --controller-namespace=Admin --route-group=admin

اگر این به نظر شما مشکل است شما میتوانید اطلاعات فیلد ها را درون یک فایل JSON قرار دهید و بعد بعنوان یک پارامتر برای دستورات ارسال کنید . 

همچنین می توانید فایلهای مختلفی را بطور جداگانه تولید کنید ، مانند این:

php artisan crud:controller PostsController --crud-name=posts --model-name=Post --view-path="directory" --route-group=admin
php artisan crud:model Post --fillable="['title', 'body']"

بعد از تولید CRUD ها میتوانید بقیه اطلاعات مورد نظر را درون کدها وارد کنید که برای آیتم های منو میخواهید . 

مثلا اینکه middleware/roles  چه کاری انجام خواهد داد و . .

 

Backpack for Laravel

این پکیج یک پروژه بزرگ است . این پکیج فراتر از یک پنل مدیریتی برای لاراول است و ساختار مناسبی برای دیگر پکیج ها دارد .  Base, CRUD, LogManager, BackupManager و غیره .

سازندگان Backpack ادعا میکنند این پکیج برای پروژه های بزرگ مناسب است . 

علاوه بر تولید کننده ی  CRUD ، دارای CRUDهای از قبل ساخته شده ،  settings, page manager, news manager و menu manager. است . 

همچنین برخی پکیج ها بعنوان افزونه برایش وجود دارد مثلا :‌ logs, backups و خیلی پکیج های دیگر که به سادگی به وب سایت شما اضافه میشود . 

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

class TagCrudController extends CrudController {

  public function setup() {
    $this->crud->setModel("App\Models\Tag");
    $this->crud->setRoute("admin/tag");
    $this->crud->setEntityNameStrings('tag', 'tags');

    $this->crud->setColumns(['name']);
    $this->crud->addField([
    'name' => 'name',
    'label' => "Tag name"
    ]);
  }

 

پنل مدیریت SleepingOw۷ Admin 

 


مطالب زیر ممکن است برای شما مفید باشد

 دیباگ کردن پروژه های لاراولی با Laravel Debugbar لاراولی کوچک با طعم جدید - میکروفریمورک Lumen احراز هویت با لاراول 6 کدایگنایتر یا لاراول ؟ کدام فریمورک پی اچ پی جانگو یا لاراول ؟ برنامه نویسان وب بخوانند

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

 دوره ی آموزش کامل فریمورک لاراول Laravel دوره پروژه محور ساخت فروشگاه بامیلو با لاراول دوره ی طلایی لاراول 6 دوره ی آموزش پروژه محور ساخت دیجیکالا به همراه اپ و سورس کامل

پایان


express.js یا اکسپرس جی اس چیست ؟‌- آموزش های نود جی اس

 

در این مقاله قصد داریم درباره ی express.js بنویسیم و بگیم که چرا در بحث وب مطرح میشه و مهمه ؟‌

Express.js چیست و چرا انقدر مهمه ؟‌

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

Fast, unopinionated, minimalist web framework for Node.js

 

به زبان جاوا اسکریپت نوشته شده است و تنها بعنوان یک لایه ی نازک ویژگی های هسته ی وب عمل میکند . بر خلاف فریمورک های بزرگ و پردردسر مثل Ruby on Rails  اکسپرس هیچگونه تمپیلت انجین یا ORM جانبی ندارد . اکسپرس توسط کامپوننت های دیگر ساخته نشده است . 

کار اکسپرس این است که یک ابزاری برای دستان برنامه نویسان وب بسازد که ساخت سایت با Node.js را راحت بکند . 

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

express.js بهترین گزینه برای استارتاپ هایی است که میخواهند سریعا یک محصول تولید کنند و زیاد درگیر مسائل پیچیده کدنویسی نشوند . 

بیایید دقیقا express.js را بررسی کنیم و ببینیم که چطور کار میکنه ، خب اول مقاله باید این نکته را بدونید که پیش نیاز  express.js فهمیدن Node.js است . 

محیط Node.js بخشی اساسی برای ساخت و استقرار express.js است . تقریبا میشه گفت Node.js یک مفسر کراس - پلتفرم برای جاوا اسکریپت است  که قادر به اجرای جاوا اسکریپت بصورت نامحدود برای مرورگرهاست . 

در واقع Node.js به جاوا اسکریپت کمک میکند تا بتواند در سمت سرور هم نقش بازی کند و بعنوان یک زبان برنامه نویسی سمت سرور بجای زبان های PHP, Python, Java و . اانتخاب شود . 

توسط پکیج منیجر نود یا همان npm میتوان express.js را نصب کرد و Node.js از پیش نصب شده را شخصی سازی کرد . 

برنامه نویسان Node.js هزاران کتابخانه ی اوپن سورس به این شکل نوشته اند که میتوانید استفاده کنید . 

این وب سرور ساده را بررسی کنید :‌

server.js
```
var express = require('express');
var app = express();


app.get('/', function(req, res){
           res.send('<h1>Hello World!</h1>');
});


app.listen(8000);
```

 

توسط چند خط ساده شما میتوانید یک سرور درست کنید و به مرورگر بگید در ادرس  localhost:۸۰۰۰ بهش دسترسی داشته باش !

با آمدن جاوا اسکریپت به سمت سرور ، توسعه دهندگان وب از دو راه سودبری میکنند :

  1. تک زبانه شدن کل وب سایت ( بک اند و فرانت اند ) با جاوا اسکریپت در زمان توسعه وب بسیار صرفه جویی میکند .
    براساس نظرسنجی سایت استک اور فلو در سال 2017  جاوا اسکریپت بیشترین کاربرد را در بین زبان های برنامه نویسی وب دارد و همچنین جاوا اسکریپت در حال رشد سریع است همانطور که فریمورک های سمت فرانت اند مثل vue.js , Angular.js و React.js رشد سریع و خوبی داشتند . وقتی شما با جاوا اسکریپت کدنویسی میکنید در حقیقت روی یک زبان اساسی کدنویسی میکنید که اکثر برنامه نویس ها آنرا میفهمند . جاوا اسکریپت محبوب ترین تکنولوژی توسعه ی وب است پس همیشه جامعه ی اطراف آن شلوغ است و مخاطبان زیادی دارد . یکی شدن زبان برنامه نویسی فرانت اند و بک اند سایت شما اول اینکه باعث خلاقیت تیم شما و بعد باعث صرفه جویی در وقت و هزینه ها خواهد شد . 
  2. مزیت بعدی یک زبان non-blocking event-driven هست فکر کنید یک ترافیک فله ای روی سرور اتفاق بیوفتد ، جاوا اسکریپت بخونی میتواند با استفاده از یک ترد واحد event loop ، ترافیک همزمان را کنترل کند . اساسا جاوااسکریپت برای سایت های شلوغ و پرترافیک بهتر است . وقتی یک درخواستی برای دسترسی به یک منبعی به هر دلیلی از بین میرود جاوااسکریپت منتظرش نمی ماند و به کارهای دیگر خود میرسد . جاوا اسکریپت زمانی که نتیجه ی درخواست آمد به آن میبپردازد . همه ی این کارها روی پردازش یک نخ یا ترد انجام میگیرد و به همین دلیل باعث میشود node.js هم منابع سروری کمتری نیاز داشته باشد . 

 

خب express.js چطور در همه ی این موارد کاربرد دارد ؟‌ express.js تمام ابزارهای مورد نیاز برای کار با یک سرور مبتنی بر HTTP را در اختیار توسعه دهنده های وب قرار میدهد . 

Node  یک محیط است این یک چیز اساسی است . Express هر آنچه که برای ورود و خروج داده ها روی سرور نیاز باشد در اختیارتان قرار میدهد ولی موارد زیر را شامل نمیشود :‌

 

  • object relational mapping
  • database
  •  templating engine

 

قابلیت های اکسپرس به توسعه دهنده های وب آزادی میدهد ، express.js تنها یک ماژول برای Node.js نیست و شما میتوانید هر کامپوننت مورد نیاز را به آن اضافه کنید . به جای اینکه در یک قالب و سبکی ثابت بمانید express.js با موارد زیر میتواند تعامل داشته باشد و همکاری کند :‌

به راحتی شما میتوانید با یک کامپوننت template کار کنید و سپس express خود را به یک سرور API تبدیل کنید . خروجی چیزی نخواهد بود جز JSON 

 

با ذخیره سازی داده ها توسط express نیز از آزادی بهره مند خواهید شد . شما میتوانید از یک ماژول Node به نام Mongoose استفاده کنید و میتوانید express خود را به MongoDB وصل کنید ! 

ضمنا شما میتوانید به RedisSQLPostgres  هم وصل شوید . 

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

 

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

شما تقریبا میتوانید هر چیزی را تولید کنید از یک سرور محتوای ثابت گرفته تا  RESTful APIs  برای فریمورک های Model-View-Controller (MVC) 

 

 

جمع بندی و خلاصه ی نوشته های بالا :‌

 

خب پس فهمیدیم که Express.js یک فریمورک برای اپلیکیشن های تحت وب است که API ساده ای برای ساخت وب سایت ها ، وب اپلیکیشن ها و بک اند ها است . 

با ExpressJS دیگر نیاز نیست نگران پروتکل های سطح پایین ، پردازش ها و . باشید . 

 

Express چیست ؟‌ 

 

Express یک interface مینیمال برای ساخت اپلیکیشن های ما فراهم میکند . برای ما ابزارهایی را فراهم میکند که برای ساخت اپ های خود نیاز داریم . 

بسیار انعطاف پذیر است و ماژول های فراوانی برایش روی npm وجود دارد که مستقیما میتوانید انها را در  Express  وارد کنید . 

Express توسط  TJ Holowaychuk توسعه داده شده است و توسط Node.js نگهداری و پشتیبانی میشود . 

 

چرا Express ؟‌

 

بر خلاف رقبایش مثل Rails و Django که روش های خاصی دارند و مستبد هستند Express هیچ روشی را بعنوان بهترین روش پیشنهاد نمیکند . Express بسیار انعطاف پذیر و ماژولار است . 

 

Pug

 

Pug که قبلا با اسم Jade شناخته میشد یک زبان دقیق برای نوشتن قالب های HTML است . 

  • تولید HTML
  • پشتیبانی از کد dynamic
  • پشتیبانی مجدد از قابلیت استفاده (DRY)
  •  

این یکی از محبوب ترین زبان قالب است که با Express استفاده می شود.

 

MongoDB و Mongoose

MongoDB یک پایگاه داده ، اوپن سورس ، مقیاس پذیر و document database هست که برای توسعه راحت ساخته شده است . 

همچنین برای ذخیره سازی اطلاعات استفاده میشود 

Mongoose یک API برای کلاینت node.js است که دسترسی پایگاه داده توسط Express را راحت تر میکند . 

 

 

تمام 

 

 


مطالب زیر ممکن است برای شما مفید باشد

 چرا باید از Node.js استفاده کنیم ؟‌ ( بررسی کلی ) تگ های header را در سئو سایت دست کم نگیرید رادیو صفر و یک - پادکست شماره ی 9 ام - اینترنت بی اینترنت رادیو صفر و یک - پادکست شماره ی 3 ام - شرکت جت برینز و محصولاتش برای برنامه نویسان رادیو صفر و یک - پادکست شماره ی 5 ام - دیپ فیک چیست ؟‌ آخرین مرز میان حقیقت و دروغ

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

 کارگاه آموزشی نحوه ی آپدیت ورژن فریمورک laravel کارگاه آموزش کار با API های اینستاگرامی دوره ی آموزش ساخت اپ گالری تصاویر آنلاین با کاتلین کارگاه آموزشی کار با Grunt js

پایان


برای هر توسعه دهنده ی وب نیاز است که کار با فریمورک لاراول که محبوب ترین فریمورک زبان برنامه نویسی php هست را یاد بگیرد

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

Laravel Debuger توسط Barry vd. Heuvel ساخته شده است این پکیج به شما اجازه میدهد که تب هایی برای دیباگ کردن پروژه در حین کدنویسی یک سایت داشته باشید.  

Debugbar package  یکی از اساسی ترین پکیج های فریمورک لاراول است . 

لاراول دیباگر برای اخرین نسخه ی لاراول ۵ بروزرسانی شده است و من در این مقاله قصد دارم که ویژگی های بارز این پکیج را به شما بازگو کنم . 

 

آموزش نصب کردن دیباگر لاراول یا Laravel Debugger

 

نصب کردن دیباگر لاراول بسیار ساده است . از طریق کامپوزر یا composer میتوانید این پکیج را نصب کنید 

 

composer require barryvdh/laravel-debugbar

 

سپس در لاراول به مسیر config/app.php بروید و به ارایه ی providers خط زیر را اضافه کنید :‌

 

'Barryvdh\Debugbar\ServiceProvider',

 

در نهایت کد زیر را به آرایه aliases اضافه کنید ( اگر میخواهید Facade را اضافه کنید)  :‌

 

'Debugbar' => 'Barryvdh\Debugbar\Facade',

حالا تا زمانی که اپلیکیشن شما در حالت debug mode  باشد دیباگر برای شما لود میشود و اطلاعات مفیدی در اختیار شما میگذارد . 

 

آشنایی با debugbar

 

شما میتوانید به رابط کاربری laravel debuger در عرض چند دقیقه مسلط شوید که بسیار قدرتمند است . بیایید تمام تنظیمات پیشفرض را بررسی کنیم . 

 

بخش Messages

 

آموزش کار با laravel debugger - آموزش دیباگ کردن لاراول

Messages بخش ویژه ای است و تنها در صورتی فراخوانی میشود که facade را لود کرده باشید

Debugbar::info($object);
Debugbar::error('Error!');
Debugbar::warning('Watch out…');
Debugbar::addMessage('Another message', 'mylabel');

 

بخش messages یا تب messages شامل PSR-۳ ها میشود (debug, info, notice, warning, error, critical, alert, emergency)

 

بخش Timeline

آموزش دیباگ لاراول - بخش timeline دیباگر لاراول

این بخش برای جلوگیری از رخداد bottlenecks بسیار کاربردی است . در زیر کد مثالی برای این بخش را میبینید :‌

 

Debugbar::startMeasure('render','Time for rendering');
Debugbar::stopMeasure('render');
Debugbar::addMeasure('now', LARAVEL_START, microtime(true));
Debugbar::measure('My long operation', function() {
// Do something…
});

 

بخش Exceptions 

 

آموزش دیباگ لاراول - آموزش بخش Exceptions دیباگر لاراول

تب بعدی یک لاگر برای exception ها است که میتوانید از طریق کد زیر یک لاگ به بخش exceptions بفرستید 

try {
  throw new Exception('foobar');
} catch (Exception $e) {
  Debugbar::addException($e);
}

 

بخش Views 

 

آموزش دیباگ کردن لاراول - آموزش بخش Views دیباگ لاراول

بخش Views تمپلیت های لود شده برای بخش رابط کاربری به همراه پارامترهایی که در آن بخش وجود دارد برای شما نمایش میدهد 

این بخش بسیار کاربردی است مخصوصا زمانی که ویو های زیاد با پارامترهای زیادی دارید و توسط این بخش از ارسال پارامترهای لازم به ویو مطمئن میشوید

 

بخش Route 

 

آموزش دیباگ کردن لاراول - آموزش بخش Route دیباگر لاراول

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

 

بخش Queries

 

آموزش دیباگ لاراول - آموزش Queries در دیباگر لاراول

Querie ها بخش مهمی از تمام اپلیکیشن های لاراولی است . ممکن است کوئری های زیادی داشته باشید و باعث بی نظمی و سردرگمی شود . 

برای مثال من در یک سیستم فروشگاهی با لاراول کار میکردم و بعد از اینکه داده ها را در فروشگاه اعمال میکردم بالای ۲۰ ثانیه طول میکشید ولی بخش Queries به من کمک کردم تا بفهمم مشکل درج یا واکشی اطلاعات در پایگاه داده کجاست .

 

بخش Mail and Request

این دو برای هر چیزی که به ایمیل مربوط میشود درون خود دارند . 

 

Folder Icon

آموزش دیباگ کردن لاراول - آموزش laravel debug

شما یک آی به شکل پوشه میبینید با کلیک کردن روی آن درخواست های اخیر را مثل تصویر بالا مشاهده میکنید .

 

خب به پایان این مقاله رسیدیم و در این مقاله ما فقط سعی داشتیم امکانات اساسی laravel debugger  را خدمت شما معرفی کنیم . 

امکانات دیگری در laravel debugger هست مثل  twig integration, enabling/disabling at runtime, و bridge collectors .

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

ضمنا من استفاده از این پکیج را شدیدا پیشنهاد میکنم 

 

تمام .


مطالب زیر ممکن است برای شما مفید باشد

 چند داشبورد مدیریتی آماده برای لاراول احراز هویت با لاراول 6 لاراولی کوچک با طعم جدید - میکروفریمورک Lumen کدایگنایتر یا لاراول ؟ کدام فریمورک پی اچ پی جانگو یا لاراول ؟ برنامه نویسان وب بخوانند

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

 دوره پروژه محور ساخت فروشگاه بامیلو با لاراول دوره ی آموزش کامل فریمورک لاراول Laravel دوره ی طلایی لاراول 6 دوره ی آموزش پروژه محور ساخت دیجیکالا به همراه اپ و سورس کامل

پایان


آخرین ارسال ها

آخرین جستجو ها

اسباب کشی و حمل اثاثیه منزل ، ادارات و شرکت ها با اتوبار و باربری اطلس بار حمیدوو برگ بیدوو aads فروش بادام زمینی گیلان تخصص اولین مرجع بازی DomiNations مداد رنگی دانلود آهنگ جدید دروغگو latlivensilt