ماژول ها در Node.js بخش اول : نحوه بارگذاری اسکریپت ها

by MDP 21. April 2013 20:21

مقدمه

هنگامی که یک اسکریپت در داخل web page بارگذاری می شود،به فضای نامی global اضافه می شود که محلی است برای تمام اسکریپت های لود شده ! 

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

Node.js با پیاده سازی استاندارد های CommonJS این مشکل را حل کرده است.

استاندارد های CommonJS بر این اصل استوار است که هر ماژول  context مخصوص خود را داراست که از دیگر ماژول ها جداست.

با این نوع پیاده سازی مشکل مطرح شده کاملا حل می شود.

با این کار دیگرماژول ها در بدنه فضای نامی global بارگذاری نمی شوند و در نتیجه مشکلی هم پیش نخواهد آمد.

 

درک چگونگی بارگذاری ماژول ها در node.js

در nodejs ماژول ها بر اساس نام و آدرس قابل بارگذاری هستند.

اگر هنگام بارگذاری به نام ماژول اشاره شود، این نام به صورت اتوماتیک به مسیر درست منطبق خواهد شد(البته مسیر مرتبط از قوانین خاصی پیروی می کند که در بحث های بعدی بررسی خواهد شد) غیر از زمانی که ماژول یک ماژول از هسته nodejs باشد.

ماژول های هسته node.js به صورت خودکار هنگام اجرای پروسه اولیه بارگذاری خواهند شد.

هر ماژول از هر نوعی یک API را نشر می دهد که برنامه نویس می تواند بعد از import کردن از آن ها بهره ببرد.

برای بارگذاری این نوع ماژول ها از کلمه کلیدی require استفاده می شود.

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

var http = require('http');

دستور require انواع ماژول هایی که در سیستم وجود داشته باشند،نظیر ماژول های اصلی،ماژول های نوشته شده توسط برنامه نویس و ماژول هایی که توسط npm نصب شده اند را بارگذاری می کند.

خروجی دستور require می تواند :

  1. یک function
  2. یک object که می تواند شامل خصایت های باشد از نوع : function,array و یا هر نوع داده جاوااسکریپتی باشد.

Tags: ,

Node.js

باید ها و نباید های نگارش رزومه

by MDP 15. April 2013 19:57

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

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

 رزومه شما، شخصیت شماست

رزومه شما، شخصیت شماست

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

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

 

2 کلمه حرف حساب بزنید

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

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

جزئیات تخصصات رو فقط توضیح دهید

برای هیچ مدیری آنقدر ها مهم نیست که شما هرزگاهی گیتار میزنید(!!!!) 

سعی کنید توضیح دهید که چه چیزی رو در رشته خودتان خوب بلدید !

مثلا بجای نوشتن "آشنایی با word" بنویسید "آشنا با ورود و طراحی فرم های اداری و نگارش نامه"

 

کار افراد دیگر را به نام خود نزنید

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

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

دروغ نگویید

سعی ک��ید هیچوت در رزومه خود دروغ ننویسید، کوچکترین نوشته شما حتی مورد توجه است.

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

 

 

Tags: ,

Work

کامپوننت های همراه پکیج مانگو چیستند؟

by MDP 15. April 2013 17:01

اگر پست قبلی با عنوان "نحوه نصب mongodb روی ویندوز و معرفی به صورت سرویس" را مطلعه کرده باشید حتمی با فایل هایی که در کنار فایل mongod قرار دارن برخورد کرده اید.

اینها کامپوننت های مانگو هستند.جزئیات کارایی هر کدام از این فایل ها را در زیر می توانید مطالعه کنید :

mongod

هسته اصلی مانگو دی بی این فایل می باشد.

mongod وظایفی همچون : به عهده گرفتن request ها ، اجرای دستورات پس ضمینه و مدیریت نوع داده ها را بر عهده دارد

mongos

یک سرویس است که عملیات های clustering مربوط به "MongoDB Shard" را کنترل و مدیریت می کند.

mongo

یک رابط کاربری برا اساس javascript است.همانند "Sql Server Management Studio برای MS Sql Server".

در این رابط تمام کوئری ها از جمله کوئری های تست و حتی مدیریتی قابل اجرا می باشند.

mongodump

کامپوننت Backup گیری از دیتابیس های مانگو می باشد

mongorestore

این کامپوننت وظیفه restore کردن فایل های binary تولید شده توسط mongodump را به mongodb بر عهده داره

نکته جالب در مورد mongorestore این است که این کامپوننت می تواند حتی بدون وجود نسخه فعالی از مانگو اطلاعات را به data file ها بنویسد.

* در مورد دیتافایل های مانگو به زودی مطلبی نگارش خواهم کرد.

bsondump

یک decoder برای bson می باشد که فایل های bson را به فرمت json تبدیل میکند.

این کامپوننت معمولا برای دیباگ کاربرد دارد.

mongofiles

همانطور که می دانید ( یا خواهید فهمید) اطلاعات در مانگو db در فرمت های bson ذخیره می شوند.هر فایل bson در بیشترین حالت می تواند 16 مگابایت اطلاعات را در خود ذخیره کند.

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

mongofiles این قابلیت را فراهم میکند که از طریق خط فرمان این نوع فایل ها ( با حجم بیش از 16 MB) در mongodb ذخیره شوند.

mongoimport

وظیفه ورود اطلاعات به دیتابیس را از روی فایل JSON , CSV و یا TSV بر عهده دارد.

تفاوت این کامپوننت با mongoresore در این است که این کامپوننت از روی دیتا فایل های ذکر شده روی mongodb فقط data entry می کند.

mongooplog

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

به عبارت دیگر ابزار real-time migration در mongodb

mongoperf

یک ابزار کنترلی جهت I/O برای مانگو.

این ابزار بصورت تصادفی سرعت I/O دیسک را بررسی می کند و میتواند حتی برای مصارف دیگیری خارج از مانگو استفاده شود.

mongostat

شمای کلی از نحوه فعالیت نسخه فعال mongodb را ارائه می کند.

mongotop

به صورت پیش فرض هر ثانیه ، مدت زمانی که مانگو صرف خواندن و نوشتن می کند را گزارش می دهد.

این گزارش برای بررسی وضیعت سلامت مانگو کاربرد دارد.

 

Tags: ,

MongoDB

نحوه نصب mongodb روی ویندوز و معرفی به صورت سرویس

by MDP 6. April 2013 15:55

مانگو یک دیتابیس NOSQL بس��ار پرطرفدار می باشد که این روز ها شرکت ها و سازمان های زیادی در دنیا و حتی ایران درحال استفاده از این سیستم هستند.وسعت درایور های این دیتابیس بسیاری رو به سمت خودش جذب کرده

 

نصب و راه اندازی سرویس مانگو روی ویندوز نیاز به کمی دقت و کار بیشتری نسبت به نصب روی لینوکس و غیره نیاز داره.

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

برای اینکه معماری سیستم خودتون رو پیدا کنید از دستور زیر استفاده کنید :

RUN > CMD > wmic os get osarchitecture

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

mongodb-win32-i386-[version] -> برای CPU های AMD

یا

mongodb-win32-x86_64-[version] -> برای CPU های اینتل 

که آخرین ورژن در حال نگارش این مطلب ورژن 2.4.1 هست که جای [version] قرار خواهد گرفت.

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

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

محلی که این فایل ها در آنجا کپی میشود دلخواه است ولی پیشنهاد می شود در فولدری در روت یک دراو و همچنین ف��یلی که در اسم آن از فاصله استفاده نشده است استفده کنید.

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

C:\Data

محتویات فولدر دیتا نیز شامل چنیدن فولدر دیگر می باشد که یکی از این فولدر های فولدر DB می باشد.فولدر DB محصل اصلی ذخیره سازی اطلاعاتی می باشد ( مشابه فایل MDF در MS SQL Server)

نگران نباشید، این فولدر قابل تغییر است و شما می توانید هنگام Start کردن Engine مانگو این فولدر را به صورت زیر به مانگو معرفی کنید :

[Mango-Bin-Path]\mongod.exe --dbpath d:\[Your Path]\data
// و یا اگر در آدرس فاصله وجود داشت 
[Mango-Bin-Path]\mongod.exe --dbpath "d:\[Your Path]\data"

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

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

برای اینکه از صحت نصب اطمینان حاصل کنید فایل mongo.exe را از محل فولدر bin اجرا کنید.

برای تست می توانید اسکریپت های زیر را در کنسول mongo.exe تایپ کنید :

db.test.save({ id : 1 })
db.test.find()

معرفی به عنوان سرویس

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

برای معرفی فولدر لاگ به مانگو در فولدری که فایل db در آن قرار دارد فولدری به نام logs بسازید.یعنی فایل data باید شامل فولدر های زیر باشد :

//  Data
//  |----db
//  |----logs

حالا در فولدر logs یه فایل متنی به اسم :

mongolog.txt

بسازید.

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

[mongo-bin-path]\mongod --install --rest –master 
        –logpath=C:\[data-folder-path]\logs\mongolog.txt

// پارامتر ها :
// --install : برای نصب سرویس استفاده می شود
// --rest : برای فعال کردن محیط REST سیستم مانگو جهت بررسی اطلاعات دیتابیس
// --master : معرفی دیتابیس جاری به عنوان دیتابیس اصلی برای رپلیکیشن
// --logpath : محل فایل log سیستم.

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

net start MongoDB

اگر مایلد نام پیشفرض سرویس مانگو را تغییر دهید می توانید از پارامتر :

--serviceName <name>

استفاده کنید.

برای نصب این سرویس به بخش سرویس های ویندوز بروید و سرویس مانگو را اجرا کنید.

در بعضی مواقع هنگام اجرای سرویس مانگو خطایی به صورت زیر نمایش داده می شود :

The service is not responding to the control function.

برای رفع حل مشکل مراحل زیر را دنبال کنید :

در رجستری به محل زیر بروید :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MongoDB

محتویات کلید ImagePath  را به مقدار زیر تغییر دهید :

C:\[mongo-bin-path]\bin\mongod --service  --rest  --master  --logpath=C:\[mongo-data-path]\data\logs\mongolog.txt  --dbpath=C:\[mongo-data-path]\data

حالا دوباره سرویس را RUN کنید.

Tags: , ,

MongoDB

My Groups

Poll

از چه پلتفرمی برای توسعه استفاده می کنید



Show Results

Month List