محمد افاضاتی

دیده ها، شنیده ها و علاقه مندی های یک برنامه نویس
جمعه, ۱۱ فروردين ۱۳۹۱، ۰۳:۳۶ ب.ظ

geddy nodejs web framework

nodejs آچار فرانسه ای که هر روز بیشتر خبری درباره اش می شنویم امروزه تبدیل به یکی از ابزار های بسیار جذاب شده است. یکی از این چیز ها که توجهم را به خودش جلب کرد یک فریم ورک وب است که امکانات خوبی دارد.

geddy فریم ورکی است که امکانات جالبی دارد. این فریم ورک از الگوی معماری mvc تبعیت می کند.

 

model:

ساختار منعطف به همراه validation

var User = function () {
  this.property('login', 'string', {required: true});
  this.property('password', 'string', {required: true});

  this.validatesPresent('login');
  this.validatesConfirmed('password', 'confirmPassword');

  // You can define methods for instances like this
  this.someMethod = function () {
    // Do some stuff
  };
};

User = geddy.model.registerModel('User', User);

همانطور که می بیند که فیلد ها می تواند از type های اولیه تعریف شوند همینطور با validator ها چک شوند و شما می توانید متد برای مدل تعریف کنید.

 

view:

برای مدیریت view از ejs استفاده می شود.

// view logic
<% if (localVar) { %>
  // do some stuff with that local variable
<% } %>

// display the value of a variable
<%= user.login %>

// just use regular js
<% for (var i in user.posts) { %>
  <%= user.posts[i].title %>
<% } %>

قبلا چیز هایی مثل mustache را بررسی کرده بودم یکی از معایبی که از ejs دیدم این بود که کامپایل نمی شد (جایی چیزی ازش ندیدم) و احتمال سرعت کمتری به نسبت بقیه دارد.

 

Controller:

به صورت پیشفرض با ساخت مدل crud را jeddy برای شما درست درست می کند. متد های دیگر را می توانید با استفاده از controller اضافه کنید.

var User = function () {
  this.index = function (req, resp, params) {
    this.respond(params, {
      format: 'html'
    , template: 'app/views/main/index'
    });
  };
};

exports.User = User;

 

نوع content format را می توانید مشخص کنید

this.respondsWith = ['js', 'json'];

از حالا .json را می توانید در آدرس هایتان استفاده کنید.

 

با jeddy نیازی به نگرانی درباره clustering ندارید. به راحتی می توانید از cluster استفاده کنید. تعداد worker ها را می گویید.

// just set the number of workers in your config
"workers": 1

// Geddy also handles process rotation
"rotateWorkers": true,
"rotationWindow": 7200000,
"rotationTimeout": 300000,

 

app metric:

برای محاسبه زمان و تست برنامه فقط metric را در تنظیمات فعال کنید و به /metric بروید

// counters
var counter = new geddy.metrics.Counter;
counter.inc(1);

// timers
var timer = new geddy.metrics.Timer;
timer.mark();

 

کلا command line خوبی دارد

// generate an app
$> geddy app test_app

// generate a new resource
$> geddy resource user

// start your app
$> geddy

 

router:

// standard main route
router.match('/').to({controller: 'Main', action: 'index'});

// a custom route
router.match('/moving/pictures/:id').to({controller: 'Moving', action: 'pictures'});

// a restful resource route
router.resource('users');

شما با تعریف router یک url handler دارید که در نهایت controller شما را اجرا می کند.

 

logging:

// info
geddy.log.info('Some info for you');

// warning
geddy.log.warn('A warning!');

// error
geddy.log.Error('An error occurred');

شما از طریق می تونید Log داشته باشید و همه چیز را بنویسید.

 

نصب:

برای نصب کردن از طریق npm دستور زیر ر امی زنید

$> npm install -g jake geddy

حالا می توانید از طریق geddy بگویید که من یک برنامه می خواهم

$> geddy app todo_app

و با وارد شدن به پوشه todo_app می توانید پروژه را اجرا کنید

$> cd todo_app
$> geddy

از طریق http://localhost:4000 می توانید application خودتان را ببینید

geddy resource todo

با این دستور geddy برایتان برنامه اولیه تان را می نویسد. چه می نویسد؟

حالا با اجرای سرور می توانید از آدرس http://localhost:4000/todos برنامه تان را ببینید

در هر فایل می توانید با اجرای تغییرات برنامه تان را کامل تر کنید.

 

راهنمای geddy:

Geddy - A Structured Node.js Framework -> http://geddyjs.org/tutorial.html



نوشته شده توسط محمد افاضاتی
ساخت وبلاگ در بلاگ بیان، رسانه متخصصان و اهل قلم

محمد افاضاتی

دیده ها، شنیده ها و علاقه مندی های یک برنامه نویس
محمد افاضاتی
محمد افاضاتی برنامه نویس python php دیتابیس های postgresql mongodb و ...

رونوشتی از علاقه مندی هایم برای ماندگار تر شدن!

تبلیغات

طبقه بندی موضوعی

Feedburner RSS

Others

توییتر

geddy nodejs web framework

جمعه, ۱۱ فروردين ۱۳۹۱، ۰۳:۳۶ ب.ظ

nodejs آچار فرانسه ای که هر روز بیشتر خبری درباره اش می شنویم امروزه تبدیل به یکی از ابزار های بسیار جذاب شده است. یکی از این چیز ها که توجهم را به خودش جلب کرد یک فریم ورک وب است که امکانات خوبی دارد.

geddy فریم ورکی است که امکانات جالبی دارد. این فریم ورک از الگوی معماری mvc تبعیت می کند.

 

model:

ساختار منعطف به همراه validation

var User = function () {
  this.property('login', 'string', {required: true});
  this.property('password', 'string', {required: true});

  this.validatesPresent('login');
  this.validatesConfirmed('password', 'confirmPassword');

  // You can define methods for instances like this
  this.someMethod = function () {
    // Do some stuff
  };
};

User = geddy.model.registerModel('User', User);

همانطور که می بیند که فیلد ها می تواند از type های اولیه تعریف شوند همینطور با validator ها چک شوند و شما می توانید متد برای مدل تعریف کنید.

 

view:

برای مدیریت view از ejs استفاده می شود.

// view logic
<% if (localVar) { %>
  // do some stuff with that local variable
<% } %>

// display the value of a variable
<%= user.login %>

// just use regular js
<% for (var i in user.posts) { %>
  <%= user.posts[i].title %>
<% } %>

قبلا چیز هایی مثل mustache را بررسی کرده بودم یکی از معایبی که از ejs دیدم این بود که کامپایل نمی شد (جایی چیزی ازش ندیدم) و احتمال سرعت کمتری به نسبت بقیه دارد.

 

Controller:

به صورت پیشفرض با ساخت مدل crud را jeddy برای شما درست درست می کند. متد های دیگر را می توانید با استفاده از controller اضافه کنید.

var User = function () {
  this.index = function (req, resp, params) {
    this.respond(params, {
      format: 'html'
    , template: 'app/views/main/index'
    });
  };
};

exports.User = User;

 

نوع content format را می توانید مشخص کنید

this.respondsWith = ['js', 'json'];

از حالا .json را می توانید در آدرس هایتان استفاده کنید.

 

با jeddy نیازی به نگرانی درباره clustering ندارید. به راحتی می توانید از cluster استفاده کنید. تعداد worker ها را می گویید.

// just set the number of workers in your config
"workers": 1

// Geddy also handles process rotation
"rotateWorkers": true,
"rotationWindow": 7200000,
"rotationTimeout": 300000,

 

app metric:

برای محاسبه زمان و تست برنامه فقط metric را در تنظیمات فعال کنید و به /metric بروید

// counters
var counter = new geddy.metrics.Counter;
counter.inc(1);

// timers
var timer = new geddy.metrics.Timer;
timer.mark();

 

کلا command line خوبی دارد

// generate an app
$> geddy app test_app

// generate a new resource
$> geddy resource user

// start your app
$> geddy

 

router:

// standard main route
router.match('/').to({controller: 'Main', action: 'index'});

// a custom route
router.match('/moving/pictures/:id').to({controller: 'Moving', action: 'pictures'});

// a restful resource route
router.resource('users');

شما با تعریف router یک url handler دارید که در نهایت controller شما را اجرا می کند.

 

logging:

// info
geddy.log.info('Some info for you');

// warning
geddy.log.warn('A warning!');

// error
geddy.log.Error('An error occurred');

شما از طریق می تونید Log داشته باشید و همه چیز را بنویسید.

 

نصب:

برای نصب کردن از طریق npm دستور زیر ر امی زنید

$> npm install -g jake geddy

حالا می توانید از طریق geddy بگویید که من یک برنامه می خواهم

$> geddy app todo_app

و با وارد شدن به پوشه todo_app می توانید پروژه را اجرا کنید

$> cd todo_app
$> geddy

از طریق http://localhost:4000 می توانید application خودتان را ببینید

geddy resource todo

با این دستور geddy برایتان برنامه اولیه تان را می نویسد. چه می نویسد؟

  • It generated a todo model
  • It generated a todos controller
  • It generated views for:
    • an index of todo's
    • a single todo
    • creating a todo
    • editing a todo
  • It generated these routes:
    • /todos (GET)
    • /todos (POST)
    • /todos/add (GET)
    • /todos/:id/edit (GET)
    • /todos/:id (GET)
    • /todos/:id (PUT)
    • /todos/:id (DELETE)
       

حالا با اجرای سرور می توانید از آدرس http://localhost:4000/todos برنامه تان را ببینید

در هر فایل می توانید با اجرای تغییرات برنامه تان را کامل تر کنید.

 

راهنمای geddy:

Geddy - A Structured Node.js Framework -> http://geddyjs.org/tutorial.html

موافقین ۰ مخالفین ۰ ۹۱/۰۱/۱۱

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی