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

مهمان گرامی، خوش‌آمدید!
شما قبل از این که بتوانید در این انجمن مطلبی ارسال کنید باید ثبت نام کنید.

نام کاربری
  

گذرواژه‌
  





جستجوی انجمن‌ها

(جستجوی پیشرفته)

آمار انجمن
» اعضا: 3,543
» آخرین عضو: makabaka
» موضوعات انجمن: 10,390
» ارسال‌های انجمن: 14,565

آمار کامل

کاربران آنلاین
در حال حاضر 309 کاربر آنلاین وجود دارد.
» 0 عضو | 309 مهمان
،

آخرین موضوع‌ها
سفر به ماسال؛ اقامت در وی...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۸/۲۳، ۰۱:۴۲ عصر
» پاسخ: 0
» بازدید: 74
بهترین ویلاهای بابلسر برا...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۸/۲۳، ۰۱:۴۱ عصر
» پاسخ: 0
» بازدید: 65
سوئیت یا ویلا؟ بهترین گزی...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۸/۲۳، ۰۱:۴۰ عصر
» پاسخ: 0
» بازدید: 55
آینده‌ای بدون صف؛ وقتی فن...
انجمن: گفتگوی آزاد
آخرین ارسال توسط: marjan1999
۰۴/۸/۲۱، ۰۱:۲۸ عصر
» پاسخ: 0
» بازدید: 66
نقش دستگیره هوشمند در امن...
انجمن: گفتگوی آزاد
آخرین ارسال توسط: marjan1999
۰۴/۸/۲۰، ۰۴:۵۵ عصر
» پاسخ: 0
» بازدید: 60
آموزش طرز تهیه کیک مرغ با...
انجمن: گفتگوی آزاد
آخرین ارسال توسط: navidradi
۰۴/۸/۱۹، ۰۶:۱۲ عصر
» پاسخ: 0
» بازدید: 62
ویلا بابلسر؛ ترکیب دریا، ...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۸/۱۶، ۰۲:۲۵ عصر
» پاسخ: 0
» بازدید: 90
ویلا؛ انتخابی برای سبک زن...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۸/۱۶، ۰۲:۲۱ عصر
» پاسخ: 0
» بازدید: 73
اجاره ویلا در رشت؛ تجربه ...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۸/۱۶، ۰۲:۱۶ عصر
» پاسخ: 0
» بازدید: 75
هوشمند سازی ساختمان در ته...
انجمن: گفتگوی آزاد
آخرین ارسال توسط: navidradi
۰۴/۸/۱۴، ۱۰:۳۷ صبح
» پاسخ: 1
» بازدید: 968
زندگی محلی را با بوم‌گردی...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۸/۹، ۰۸:۵۶ عصر
» پاسخ: 0
» بازدید: 85
یک آخر هفته رویایی در ویل...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۸/۹، ۰۸:۵۵ عصر
» پاسخ: 0
» بازدید: 80
کلبه چوبی؛ قصه‌ی آرامش در...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۸/۹، ۰۸:۵۱ عصر
» پاسخ: 0
» بازدید: 81
تفریح، آرامش و لوکس بودن ...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۸/۲، ۱۰:۳۲ عصر
» پاسخ: 0
» بازدید: 82
ویلا در شمال | سفری به سر...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۸/۲، ۱۰:۰۹ عصر
» پاسخ: 0
» بازدید: 79

 
  پشتیبانی در طراحی سایت
ارسال کننده: sitecup1 - ۹۶/۸/۲۸، ۰۸:۰۴ عصر - انجمن: طراحی سایت، سئو و بهینه سازی - بدون پاسخ

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

چاپ این مطلب

  الگوریتم های گوگل در طراحی سایت:
ارسال کننده: sitecup1 - ۹۶/۸/۲۸، ۰۸:۰۱ عصر - انجمن: معرفی سایت، وبلاگ و خدمات - بدون پاسخ

در این مقاله می خواهیم در مورد الگوریتم های گوگل در دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
 
صحبت کنیم.
بیشتر افرادی که وب سایت دارند بسیار خرسند می شود تا در موتورهای جستجوگر در رتبه های اول قرار گیرند. این افراد همیشه برای پیدا کردن راه حل هایی برای این مورد هستند. در قدم اول بایدالگوریتم های گوگل در دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
 
آنها طبق استانداردهای جهانی باشد. این استانداردها باید به لحاظ فنی برای موتورهای جستجوگر قابل فهم باشد یا این که در راستا الگوریتم های گوگل باشد.دانستن الگوریتم های گوگل یک کار بسیار تخصصی و فنی می باشد علاوه بر این که متخصصان باید فن و علم داشته باشند باید تجربه کافی در این زمینه هم داشته باشند.
الگوریتم چیست؟
تعریف الگوریتم بدین صورت است که یکسری دستورالعمل ها به صورت دقیق که دارای هدف خاصی است گام به گام با جزئیات انجام شود و دارای نقطه شروع و پایان است الگوریتم نامیده می شود.
الگوریتم گوگل
گوگل دارای الگوریتم هایی است که برای سئو یا بهینه سازی از الگوریتم های  گوگل در دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
 
استفاده می شود. این الگوریتم های با آنالیز وب سایت ها در موتورهای جستجوگر انجام می شود. آنالیز الگوریتم ها دارای توابع و معاملات متفاوتی دارد. خزنده های گوگل همانند ریاضی عمل می کند. اطلاعات و دیتاها را بررسی و ذخیره می کند.
الگوریتم های گوگل کدامند؟
گوگل الگوریتم های مختلفی دارد که در رتبه بندی به صورت فرمول محاسبه می شود.برخی از این الگوریتم ها را معرفی می کنیم
الگوریتم پاندا
الگوریتم مرغ مگس خوار
الگوریتم پنگوئن
این سه الگوریتم گوگل بسیار معروف هستند
الگوریتم پاندا
الگوریتم پاندا اولین بار در سال ۲۰۱۱ شروع به کار کرد که این الگوریتم رتبه بندی صفحه ها را آنالیز می کند. الگوریتم پاندا با مطالب کپی و بی ارزش در تناقض است برای همین وب سایت هایی که محتوای کپی داشتند با این الگوریتم به شدت در رتبه بندی افت کنند.
الگوریتم پنگوئن
الگوریتم پنگوئن در سال ۲۰۱۲ شروع به کار نمود. آنالیز این الگوریتم بدین صورت است که وب سایت هایی اصول گوگل در آنها رعایت نشده باشد با کاهش رتبه بندی در صفحات روبرو شوند.
با به کار گیری این اگوریتم، بسیاری از وب سایت ها معروف و مشهور دنیا از صفحه اول گوگل به رده های پایین تر بروند. علوه بر این با سئو سازی و لینک سازی که ضعیف باشد به شدت مخالف است. تمام سعی این الگوریتم این است که وب سایت های محتوای با کیفیت و اصولی هستند در نتایج رتبه های بالایی داشته باشند.
الگوریتم مرغ مگس خوار
این الگوریتم یک الگوریتم برای آنالیز جملاتی است که کاربران آن را جستجو می کنند. این الگوریتم در رتبه بندی تاثیر مستقیم ندارد. صرفا برای جستجو به کاربران کمک می کند.
تولید محتوای وب سایت خود را با ارزش کنید. تا مخاطبانی به مطالب مورد نیاز خود دست پیدا کنند . آنالیز الگوریتم ها با تولید محتوای با کیفیت و با ارزش به وب سایت شما ارزش بیشتری می دهند و در نتیجه در موتورهای جستجوگر رتبه های بهتری را برای وب سایت خود رقم می زنید.
با رعایت اصول الگوریتم ها در دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
  
به راحتی می توانید وب سایت خود را بهینه سازی کنید و رتبه خوبی را برای وب سایت داشته باشید.
سایت پیشنهادی:دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.

چاپ این مطلب

  نکته: منظور از Split DNS در طراحی ساختار DNS چیست ؟
ارسال کننده: arenanoc - ۹۶/۸/۲۸، ۰۳:۱۵ عصر - انجمن: کامپیوتر و اینترنت - بدون پاسخ

قبلا بارها در انجمن تخصصی فناوری اطلاعات ایران در خصوص این مشکل صحبت شده است که یک Domain راه اندازی شده است که نام آن با نام وب سایت اینترنتی ان سازمان یکسان است
 و به همین دلیل کاربران داخلی قادر به باز کردن وب سایت سازمان نبودند ، یکی از راهکارهایی که برای جلوگیری از به وجود آمدن چنین مشکلاتی عنوان شده بود استفاده از طراحی Split DNS بود. 
Split Domain Naming Service یا Split DNS به یک نوع طراحی و پیاده سازی ساختار DNS سرور گفته می شود که در آن دو عدد ( یا بیشتر ) DNS سرور وجود دارند که هر کدام بصورت 
جداگانه برای شبکه داخلی و شبکه خارجی سازمان عملیات Name Resolution را انجام می دهند ، در واقع به زبان ساده تر شما دو عدد DNS سرور دارید 
که یکی از انها برای استفاده در Domain داخلی با همان اسم دامین سازمان و یکی از انها برای استفاده از منابع عمومی سازمان مثل وب سایت سازمان و استفاده عمومی در اینترنت قرار گرفته اند. 
با استفاده از چنین مکانیزمی امنیت و البته حریم خصوصی سازمان حفظ می شود و مدیریت آن نیز به طبع ساده تر می شود. 

Split DNS چیست


در طراحی Split DNS زمانیکه یک کاربر درخواستی را به سمت سرور ارسال می کند که برای استفاده از یکی از منابع دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
باشد و این درخواست از طرف شبکه ی داخلی به سمت سرور ارسال شده باشد ،
 فرآیند Name Resolution توسط DNS سرور داخلی انجام می شود و در عین حال زمانیکه درخواست برای استفاده از منابع خارجی سازمان ارسال شده باشد ، 
درخواست توسط DNS سرور خارجی سازمان پاسخ داده خواهد شد. معمولا DNS سرور خارجی در یک محیط ایزوله شده و برای استفاده عمومی بیشتر در محیط DMZ قرار می گیرد. 
طراحی Split DNS با اسامی مختلفی شناخته می شود که از آنها می توانیم به Split DNS ، Split-Horizon DNS ، Split-View DNS و Split-Brain DNS اشاره کنیم. 

در ساختار Split DNS با توجه به اینکه کاربران خارج سازمانی از رکورد ها و آدرس های IP های دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
داخلی ما به هیچ عنوان مطلع نمی شوند ،
 امنیت شبکه ما به نسبت بسیار بالا می رود ، همانطور که عنوان کردیم در ساختار Split DNS ما از حداقل دو عدد DNS سرور استفاده می کنیم ، 
اینها می توانند دو عدد سرور فیزیکی ، دو عدد سرور مجازی ، بصورت سخت افزاری یا نرم فزاری و یا حتی یک عدد DNS سرور با قابلیت تفکیک کردن درخواست های Name Resolution باشند. 
در Split DNS سروری که بصورت عمومی سرویس دهی می کند حاوی تعداد معدودی رکورد است که برای منابع عمومی سازمان مورد استفاده قرار می گیرد ،
 برای مثال رکورد های FTP سرور عمومی سازمان ، وب سرور عمومی سازمان و همینطور Email سرور عمومی سازمان در این DNS سرور عمومی قرار می گیرند
 از طرفی در DNS سرور داخلی همه رکوردهای مرتبط به کامپیوترهای دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
داخلی و البته سرورهای موجود در شبکه داخلی قابل دسترس می باشند. 
با این راهکار ساختار شبکه داخلی شما برای کاربران ناشناخته خارجی نامفهوم می شود و امنیت بر همین اساس بالا خواهد رفت. ITPRO باشید 

نویسنده : محمد نصیری 
منبع : انجمن تخصصی فناوری اطلاعات ایران

چاپ این مطلب

  نکته: معرفی تکنولوژی VoIP یا Voice Over Internet Protocol
ارسال کننده: arenanoc - ۹۶/۸/۲۸، ۰۲:۱۴ عصر - انجمن: کامپیوتر و اینترنت - بدون پاسخ

شاید تا کنون از نرم افزارهایی مثل viber یا skype برای صحبت کردن با دوستان خود در محیط اینترنت استفاده کرده باشید و برای شما جالب باشد که بدانید چگونه است که بدون وجود خطوط تلفن شهری شما می توانید
 بدون پرداخت هرگونه هزینه ای بصورت رایگان با دوستان خود صحبت کنید ، از طرفی شاید با اقوام یا دوستان خود که در کشورهای خارجی هستند از طریق کارت تلفن های اینترنتی بین المللی صحبت کرده باشید و برای شما جالب باشد که بدانید
 چرا هزینه اینگونه تلفن ها بسیار پایینتر از هزینه های تلفن شهری است . با پیشرفت تکنولوژی در چند سال اخیر شاهد بوجود آمدن تکنولوژی های جذابی بوده ایم.
 این تکنولوژی ها باعث آسان تر شدن روال زندگی شده اند. در چند سال اخیر با رشد اینترنت شاهد بوجود آمدن پست الکترونیکی و انواع نرم افزار های چت بوده ایم. 
همچنین تمام این امکانات برای برقراری ارتباط میان مردم می باشند. یکی از جدیدترین تکنولوژی ها در این زمینه (VOIP (Voice Over Internet Protocol به معنای تبادل صدا از طریق اینترنت می باشد که همه مواردی که در مقدمه این مطلب عنوان کردیم از مزایای پیاده سازی تکنولوژی VOIP در اینترنت است. 

VOip چیست


معرفی VOIP

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

Analog Telephone Adapters) ATAs)

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


شکل 1 :آداپتور ATA 
یکی از کاربرد های VOIP استفاده از آن در مکان هایی می باشد که دارای شبکه های بی سیم برای برقراری ارتباط هسنتد. 
به عنوان مثال در فرودگاهها و کافه ها که دارای دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
بی سیم هستند، استفاده از VOIP امکان پذیر است.برخی از اراﺋه دهندگان خدمات VOIP ، خدمات خود را برای نقاط نزدیک به صورت رایگان در اختیار مشترکین قرار می دهند. 
اما زمانی که مشترک بخواهد با یک مکان دور تماس اینترنتی برقرار کند، باید پول آن را پرداخت نماید. همچنین برخی از اراﺋه دهندگان خدمات، این امکان را به شما می دهند تا در صورت لزوم با چند نفر به صورت همزمان صحبت کنید.
برای داشتن تلفن اینترنتی، شما به یک اتصال اینترنتی از نوع DSL یا کابل و یا Wireless نیاز دارید. البته در اغلب موارد شما به یک اتصال با پهنای باند حداقل Kbps128 برای اتصال صوتی VOIP نیاز دارید. 

تلفن های مبتنی بر تکنولوژی VOIP یا IPPhone

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


تلفن های VOIP ممکن است تلفن نرم افزاری نیز باشند. به عنوان نمونه نرم افزار Skype روی کامپیوتر راه اندازی می شود و با استفاده از میکروفن و هدست تماس برقرار می شود.
در نهایت برای استفاده از این تکنولوژی، شبکه اینترنت برای اتصال و یک تلفن VOIP یا نرم افزار شبیه سازی شده تلفن همانند Skype و یک سرور VOIP برای وصل شدن نیاز می باشد.
یکی از مزایای استفاده از تلفن اینترنتی ارزان تر بودن تماس های بین المللی نسبت به  دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
تلفن های معمولی می باشد. همچنین در هنگام برقراری تماس، امکان ضبط مکالمات نیز وجود دارد. 
از دیگر مزایای این تکنولوژی می توان به پیام صوتی یا Voice mail اشاره کرد.یکی از مهمترین مشکلات تکنولوژی VOIP در برابر تلفن های معمولی قطع برق می باشد. 
زیرا در تلفن های معمولی بدون وجود برق می توان برقراری و دریافت ارتباط را فراهم ساخت، در صورتی که در تکنولوژی VOIP با قطع برق تمام اطلاعات از بین می رود. البته این مشکل را می توان با قرار دادن UPS برطرف کرد. 

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

چاپ این مطلب

  تفاوت فیبرهای نوری Multimode و Single Mode در چیست ؟
ارسال کننده: arenanoc - ۹۶/۸/۲۸، ۱۲:۳۴ عصر - انجمن: کامپیوتر و اینترنت - بدون پاسخ

تقریبا دیگر در هیچ شبکه بزرگی نمی توانید بدون استفاده از زیرساختارهای فیبرنوری شبکه را پیاده سازی کنید ، با گذشت هر سال فیبرهای نوری ثابت می کنند که آینده شبکه ها در دست آنهاست.
شبکه های فیبر نوری امروزه در زیرساخت های مخابراتی به صورت گسترده ای مورد استفاده قرار می گیرند اما هنوز استفاده از آنها در شبکه های کوچک چندان مرسوم نیست.
فیبر نوری همانطور که از نامش هم پیداست فیبری است که نور را انتقال می دهد ، این فیبر در واقع همان شیشه است با شفافیت بسیار بالا ، گفته می شود اگر از شیشه ای که در فیبر نوری استفاده شده است یک دریاچه به عمق 400 متر ایجاد کنیم ،
آنقدر شفاف است که انتهای دریاچه به وضوع دیده می شود ، فیبر نوری در اصطلاح  خدمات شبکه ای دارای نشتی نیست و شنود کردن اطلاعات از آن به سادگی شنود کابل مسی نیست ،
در کابل مسی با قطع و وصل شدن برق ، صفر و یک تعریف می شود در حالیکه در فیبر نوری با قطع و وصل شدن نور صفر و یک تعریف می شود که به آن پالس نوری گفته می شود ،
بصورت کلی طبقه بندی فیبرهای نوری به دو دسته انجام می شود ، فیبرهای نوری Multimode و فیبرهای نوری Single Mode ، مهمترین تفاوت بین فیبرهای نوری Multimode و Single Mode اندازه ، ظرفیت و هسته مورد استفاده در آنها است.
هسته مورد استفاده در فیبرهای نوری Single Mode اندازه ای برابر 5 میکرومتر دارد و این در حالی است که هسته مورد استفاده در فیبرهای نوری Multimode اندازه ای برابر 50 میکرومتر یا حتی بیشتر دارد.

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

تفاوت دیگری که در بین فیبرهای نوری Single Mode و Multimode وجود دارد نوع تجهیزاتی است که برای اتصال آنها استفاده می شود.
فیبرهای نوری Single Mode به دلیل داشتن اندازه ظریف هسته به تجهیزات خاصی از قبیل تجهیزات لیزری برای متمرکز کردن نور و تنظیم کردن دقیق آن نیاز دارند.
شاید اینکار برای یک یا دو اتصال در یک سازمان چندان هزینه بردار نباشد اما زمانیکه صحبت از یک شبکه Campus بزرگ می شود این تجهیزات به شدت هزینه های فیبرکشی شما را افزایش خواهند داد.
اما برخلاف فیبرهای نوری Single Mode همانطور که اشاره کردیم فیبرهای نوری Multimode دارای قطر بیشتری هستند و همین ضخامت فیبر بکار رفته در آنها باعث می شود
نور بیشتری را انتقال دهند و اجازه استفاده از تجهیزات ارزان قیمت تری برای پیاده سازی پشتیبانی شبکه و تست را می دهند ، بعضا از تجهیزات LED به جای تجهیزات لیزری در این نوع فیبرها می توان استفاده کرد.
اگر هزینه های معقولی در پیاده سازی فیبرهای نوری در نظر گرفته شود طبیعتا به سرعت این نوع رسانه های ارتباطی جای کابل های مسیر را خواهند گرفت.
بصورت کلی استفاده از فیبرهای Single Mode بیشتر در تجهیزات زیرساخت مخابراتی استفاده می شود حال آنکه استفاده از Multimode ها بیشتر در شبکه های داخلی و Campus ها رواج دارد. ITPRO باشید

نویسنده : محمد نصیری
منبع : انجمن تخصصی فناوری اطلاعات ایران

چاپ این مطلب

  مشاهده یک صفحه php با آدرس های که به ایمیل ارسال میشه
ارسال کننده: nex1music - ۹۶/۸/۲۸، ۰۴:۴۲ صبح - انجمن: PHP - پاسخ (6)

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

من یه آدرس صفحه ای دارم که عمومیه یعنی همه میتونند به صفحه مراجعه کنند.

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

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

خوش حال میشم راهنماییم کنید.

چاپ این مطلب

  آموزش جاوا اسکریپت - متغیرهای عددی
ارسال کننده: mesterweb - ۹۶/۸/۲۷، ۱۱:۱۹ عصر - انجمن: JavaScript - بدون پاسخ

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

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

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

عددهای ریاضی چه اعداد اعشاری چه اعداد صحیح، جزو داده‌های عددی یا اینتجرها هستند. اگر یک عدد بنویسید و آن را بین کوتیشن نگذاشته باشید، این عدد به‌عنوان اینتجر محسوب می‌شود. این نوع متغیرها را اصطلاحا متغیرهای عددی می‌گویند.
مثلا var number = 2 یک متغیر عددی با مقدار ۲ است، ولی var number = "2" یک متغیر استرینگی با مقدار ۲ است؛ چرا که در داخل کوتیشن نوشته شده است.
در متغیرهای عددی به هیچ وجه کوتیشن (سینگل یا دابل) وجود ندارد و فقط و فقط عدد مورد نظر جلوی آن نوشته می‌شود. دقت کنید، اگر عدد بنویسید ولی آن را در کوتیشن قرار دهید، جاوا اسکریپت آن را به‌عنوان استرینگ در نظر می‌گیرد!

مهمترین نکته متغیرهای عددی، امکان انجام فرمول‌ها و توابع ریاضی روی آن‌ها است.

در مثال زیر ابتدا سه متغیر بدون مقدار تعریف کرده‌ایم. این متغیرها می‌توانند بعدا عدد، استرینگ یا هر چیز دیگری بشوند. در ادامه به هر یک از آن‌ها یک عدد اختصاص داده و آن‌ها را در قالب متغیر z جمع کرده‌ایم.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

نتیجه‌ چاپ کردن متغیر z در تب کنسول، برابر عدد ۳ خواهد بود!
حالا  دو متغیر X و Y در مثال بالا را به شکل استرینگی تعریف می‌کنیم.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

در این حالت دو متغیر استرینگی را با هم جمع‌ کرده‌ایم. پس وقتی خروجی z  را در کنسول مرورگر چاپ کنیم، به‌جای عدد ۳ با استرینگ 12 مواجه خواهیم شد. استرینگی که از چسباندن دو متغیر x و y حاصل شده است.
حالا  فرض کنید قصد داریم از یک فروشگاه زنجیره‌ای بزرگ خرید کنیم! از آنجا که قرار است مقداری کدنویسی کنیم، باید چندین متغیر برای سبد خرید خود مشخص کنیم.

متغیر اول: سس کچاپ - نوع: استرینگ

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

متغیر دوم: نوشابه - نوع: استرینگ

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

متغیر سوم:‌ جمع مبلغ پولی که باید هزینه کنیم - نوع: عدد

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

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

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

حالا بیاید کمی آزمون و خطا کنیم. در ابتدا بیایید دو متغیر ketchupPrice و  sodaPrice را با هم جمع کنیم. برای این کار می‌توانیم ابتدا یک متغیر جداگانه تعریف می‌کنیم که مقداری ندارد! می‌نویسیم:


*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

حالا قیمت سس کچاپ و نوشابه را در این متغیر ذخیره می‌کنیم:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

برای نمایش این مقدار راه‌حل‌های بسیاری وجود دارد. راحت ترین راه حل، استفاده از console.logا(totalPrice) برای نمایش  این مقدار در کنسول مرورگر و راه حل دم دستی دیگر، استفاده از alert است. ولی از هیچ یک از این روش‌ها استفاده نمی‌کنیم. فعلا دستوری را استفاده می‌کنیم که شما قبلا یاد نگرفته‌اید ولی بعدا کامل آن را شرح خواهیم داد. فعلا فقط این دستور را در انتهای کد و بعد از متغیر totalPrice بنویسید.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

حالا صفحه را ریفرش کنید!‌ شاید تعجب کنید! بله! نتیجه اشتباه از آب درآمد. به‌جای اینکه جمع این دو عدد ۱۰۰۰ شود؛ شد،‌ ۵۰۰ ! چرا؟
حالا به یک نکته مهم برخورد کرده‌ایم!‌ این بار هم یک متغیر استرینگی را با یک متغیر عددی جمع کرده‌ایم! در این حالت باز هم متغیر استرینگی به متغیر عددی می‌چسبد. بنابراین دقت کنید که اگر قصد انجام اعمال ریاضی روی متغیرها دارید، همیشه نوع آن‌ها را به‌درستی مشخص کنید تا بعدا به مشکل برخورد نکنید.
برای درست شدن این مشکل دو راه حل وجود دارد:
راه حل ساده‌تر آن است که مقدار متغیر sodaPrice را تغییر دهیم. یعنی کوتیشن اطراف آن را برداریم و بدین ترتیب دوباره یک متغیر عددی خواهیم داشت و همه چیز مثل روز اول کار می‌کند.
راه حل دوم هر چند ضروری نیست ولی یک نکته آموزشی ساده دارد! آن هم این است که شما وقتی یک متغیر تعریف می‌کنید بدین معنا نیست که این متغیر وحی منزل است و جای هیچگونه تغییری در آن نیست! همانطور که گفتیم، مقدار و نوع متغیرها هر زمان که دوست داشته باشیم قابل تغییر است. پس به‌جای تغییر در متغیر اولیه، همان متغیر را با یک مقدار عددی پر می‌کنیم. یعنی یک بار دیگر نام آن را بدون کلمه var می‌نویسیم و مقدار جدید بدان می‌دهیم! بعد از این کار متغیر ما مقدارش به آخرین مقداری که ما برایش تعیین کرده‌ایم تغییر می‌کند.

کد نهایی ما بعد از این تغییر به شکل زیر درمی‌آید:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

متغیر سوم:‌ جمع مبلغ پولی که باید هزینه کنیم - نوع: عدد

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

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

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

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

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

بعد از ده‌ها خط برنامه می توانیم متغیرهای اولیه‌مان را فراخوانی کنیم

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

همچنین مانند این مثال که می‌خواهید همزمان چندین متغیر تغریف کنید، می‌توانید یکبار کلمه var را بنویسید و بین هر یک از متغیرها یک علامت , بگذارید. این عین آن است که برای هر کدام یک بار کلمه var را جدا نوشته باشید.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

امیدواریم که پنجمین جلسه از آموزش جاوا اسکریپت توانسته باشد برای شما لذت‌بخش باشد. در جلسه بعدی باز هم ویژگی‌های بیشتری از متغیرهای عددی را بررسی خواهیم کرد.

چاپ این مطلب

  آموزش جاوا اسکریپت - آشنایی با متغیرها
ارسال کننده: mesterweb - ۹۶/۸/۲۷، ۱۱:۰۷ عصر - انجمن: JavaScript - بدون پاسخ

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

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

نحوه‌ی تعریف متغیرها در جاوا اسکریپت

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

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

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

مثال‌های درست:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

مثال‌های اشتباه:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

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

تعریف متغیر خالی

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

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

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

خواهید دید که مقدار تمامی این متغیرها خالی است. چون هنوز هیچ مقداری بدا‌ن‌ها داده نشده است.

متغیر متنی

در همان پروژه سیستم حسابداری، فرض کنید، می‌خواهیم یک کاربر جدید ایجاد کنیم و نام خودتان را به آن اختصاص دهیم. به این متغیرها متنی می‌گویند.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

متن یا استرینگ چیست؟
داده‌هایی که در بین دو " " یا ' ' قرار می‌گیرند استرینگ یا رشته یا هر چیزی که می‌خواهید بگویید نامیده می‌شوند. استرینگ‌ها مانند متن‌های عادی هستند و می‌توانند هر چیزی باشند. در واقع می‌توانید هر چیزی را در این استرینگ‌ها بنویسید. جاوا اسکریپت هر چیزی که بین این دو علامت باشد ""، به‌عنوان استرینگ در نظر می‌گیرد و از اجرای آن به‌عنوان کد قابل محاسبه، خود‌داری می‌کند. حتی اگر کد یا اسکریپت یا عدد یا تابع ریاضی یا هر چیزی در اینجا نوشته شود، به‌عنوان یک متن ساده در نظر گرفته می‌شود.

مثال‌‌های دیگر از استرینگ:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

حتی وقتی یک عبارت ریاضی (mathString) را که شامل یک جمع و تفریق ریاضی ساده است بین دو "" قرار می‌دهیم، جاوا اسکریپت آن را نیز به‌عنوان متن ساده در نظر می‌گیرد و بدون محاسبه و با همین شکل فعلی نمایش می‌دهد.
یعنی اگر متغیر mathString را در پنجره کنسول نمایش دهیم با عبارت ۲ +‌۲ +۷ روبه‌رو خواهیم شد. برای امتحان این کار علاوه بر کدهای بالا، دستور زیر را در فایل جاوا اسکریپت بنویسید و صفحه اچ‌تی‌ام‌ال خود را ریفرش کنید:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

اعمال ابتدایی روی استرینگ‌ها:

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

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

در این مثال ما یک متغیر myName داریم. متغیر myName دو رشته را با هم جمع می‌کند. در نهایت حاصل متغیر myName را اگر در صفحه نمایش دهیم، متن زیر نوشته و نمایش داده خواهد شد:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

نکته
: وقتی می‌خواهید دو متغیر را با هم جمع کنید، از علامت + بین آن‌ها استفاده کنید. دقت کنید که علامت + نباید در داخل کوتیشن قرار بگیرد؛ چرا که در این صورت این علامت نیز به‌عنوان جزئی از همان استرینگ محسوب می‌شود و از خوانده شدن آن جلوگیری خواهد شد. این علامت + برای جمع کردن دو متغیر به‌کار می‌رود.
همچنین ما در این مثال یک استرینگ خالی حاوی اسپیس ساخته‌ایم؛ چرا که جاوا اسکریپت اسپیس‌های اضافه در استرینگ‌ها را نادیده می‌گیرد و ما برای جدا کردن دو استرینگ Hamid و Hamidi از یک استرینگ که تنها حاوی اسپیس بود استفاده کردیم. این موضوع را می‌توانید به‌صورت زیر امتحان کنید.
یک متغیر استرینگی بسازید که بین کلمه اول و دوم آن ۵ بار اسپیس زده شده است. اگر این متغیر را در کنسول یا پنجره alert چاپ کنید مشاهده می‌کنید که تنها یک اسپیس از این پنج اسپیس محاسبه شده و باقی آن‌ها نادیده گرفته شده است.
مثال دیگر از جمع متغیرهای استرینگی را در زیر با هم مرور می‌کنیم:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

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

ذخیره تگ‌های اچ‌تی‌ام‌ال به‌عنوان متغیرهای متنی 
جالب است بدانید که می‌توانید از تگ‌های اچ‌تی‌ام‌ال نیز در متغیرهای متنی بهره‌مند شوید! مثلا می‌توانید یک پیغام متنی را با تگ h2 بنویسید و بدین ترتیب اگر آن را در صفحه با دستور document.write() چاپ کنید، به‌صورت یک عنوان بزرگ چاپ خواهد شد.

مثال زیر را ببینید.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

همانطور که می‌بینید، ما در متد document.wite() که در جلسه گذشته آموختیم، به جای نوشتن یک متن استرینگی به‌عنوان پارامتر یک متغیر تعریف کرده‌ایم و آن متغیر را به‌عنوان پارامترdocument.wite استفاده‌ کرده‌ایم. بدین ترتیب مرورگر موقع خواندن کدها می‌رود و مقدار آن متغیر را جایگزین می‌کند و خروجی نهایی ما همان‌ مقدار متغیر خواهد شد.
تمرین: حالا که کمی با متغیرها آشنا شده‌اید بد نیست خودتان دست به‌کار شوید و چند متغیر متنی بنویسید و آن‌ها را با هم جمع کنید.

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

استفاده عملی از متغیرهای استرینگی

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

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

چاپ این مطلب

  آموزش جاوا اسکریپت - آشنایی با کنسول مرورگر و تب توسعه دهندگان و نح
ارسال کننده: mesterweb - ۹۶/۸/۲۷، ۱۰:۳۲ عصر - انجمن: JavaScript - بدون پاسخ

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

برای دیباگ کردن و فهمیدن اینکه کجای کدهایمان ایراد دارد، به ابزارهایی نیاز داریم که به ما بگوید کجای کد ما اشتباه بوده است؛ این ابزار خوشبختانه به‌صورت پیش‌فرض در مرورگرهای امروزی وجود دارد. در واقع همه مرورگرها به‌صورت پیش‌فرض سیستم‌هایی برای توسعه وب‌سایت‌ دارند. این ابزارها که در حالت از دید کاربران مخفی هستند، Developer Tools نام دارند. برای نمایش ابزار مخصوص توسعه‌دهندگان در مرورگر کروم مراحل زیر را طی کنید:

نمایش ابزار توسعه‌دهندگان در مرورگر کروم

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

آشنایی با بخش Elements

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

جالب است بدانید تمامی CSS-ها  و HTML-های صفحه قابل تغییر هستند و شما می‌توانید همانجا در تب Elements، آن‌ها را به دلخواه خود تغییر دهید و تغییرات خود را به‌صورت زنده و لحظه‌ای مشاهده کنید.  البته این تغییرات تنها در مرورگر شما اجرا می‌‌شود و در سایت اصلی به هیچ عنوان تغییری ایجاد نمی‌شود. همچنین با هر بار Refresh و بارگذاری مجدد صفحه، تمام تغییرات شما نیز از بین خواهد رفت و همه چیز به حالت ابتدایی خود برخواهد گشت.
همچنین شما می‌توانید با کلیک روی المنت‌های اچ‌تی‌ام‌ال صفحه در صورت لزوم آن‌ها را تغییر دهید یا کپی یا حذف کنید.

آشنایی با بخش Console
اینجا همانجایی است که ما با‌ آن بسیار سر و کار خواهیم داشت. کنسول مرورگر یکی از پرکاربردترین بخش‌هایی است که در جاوا اسکریپت بدان نیاز خواهید داشت. این کنسول شما را از خطاها و مشکلات کدهای جاوا اسکریپت آگاه می‌کند و اطلاعات دقیق ارورها و خطاهای جاوا اسکریپتی‌ در کد شما را اعلام می‌کند.
همچنین شما می‌توانید پیغام‌های دلخواه را در جاوا اسکریپت بنویسید و این پیغام‌ها را در کنسول مرورگر نمایش دهید (اصطلاحا چاپ کنید). این کار توسط دستور console.log انجام می‌شود. بعدا این دستور را با هم استفاده خواهیم کرد.
همچنین شما می‌توانید در محیط کنسول، به‌صورت ریل تایم کد جاوا اسکریپت بنویسید و این کدها را همان جا اجرا کنید. برای مثال ما می‌توانیم از دستور alert جاوا اسکریپت به‌صورت مستقیم در کنسول استفاده کنیم. برای این کار دستور زیر را در کنسول مرورگر کپی کنید و اینتر بزنید.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

همانطور که مشاهده می‌کنید، دستور alert در صفحه فعلی اجرا می‌شود.

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

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

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

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

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

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

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

مرحله سوم:‌ فایل جاوا اسکریپت را مطابق آموزش جلسه قبل در صفحه بارگذاری می‌کنیم. سپس صفحه اچ‌تی‌ام‌ال خود را ذخیره می‌کنیم .
مرحله چهارم: حالا فایل اچ‌تی‌ام‌ال خود را در مرورگر باز کنید.
همانطور که دیدید، به محض باز شدن صفحه با پیغام "سلام من پنجره alert هستم" که در یک پنجره کوچک باز شده است مواجه خواهیم شد. این پنجره همان پنجره alert است.
همچنین اگر کلیک راست کنید و روی inspect element بزنید و  وارد تب console شوید، مشاهده میکنید که پیغام «سلام من کنسول مرورگر هستم» در بخش کنسول چاپ شده است.

فایل‌ نهایی

فایل HTML:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

فایل app.js:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

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

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

راه اول: استفاده از دستور document.write() 
ساده‌ترین راه برای نمایش خروجی در اچ‌تی‌ام‌ال دستور write است. فایل اچ‌تی‌ام‌ال زیر را برای خود بسازید و آن را در مرورگر اجرا کنید.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

این دستور چیست و چگونه کار می‌کند؟
کلمه اول document همان کل مجموعه اچ‌تی‌ام‌ال صفحه است. در واقع کل یک صفحه اچ‌تی‌ام‌ال در کد جاوا اسکریپت در داخل یک مجموعه‌ به نام document ذخیره می‌شود. این مجموعه و هر مجموعه دیگری را می‌توان به کمک دستوراتی که به آن‌ها متد می‌گوییم، رویشان تغییر ایجاد کرد. مثلا هر صفحه اچ‌تی‌ام‌ال در کد جاوا اسکریپت به‌عنوان یک آبجکت به نام document شناخته می‌شود.
در واقع تمامی المنت‌های اچ‌تی‌ام‌ال در داخل جاوا اسکریپت در یک مجموعه جدا ذخیره می‌شوند. وقتی می‌خواهیم روی هر یک تغییری ایجاد کنیم، آن مجموعه را انتخاب و روی آن تغییر ایجاد می‌کنیم.
حالا به بحث قبل بر می‌گردیم. با متد write می‌توانیم هر چه می‌خواهیم در داخل این مجموعه نمایش دهیم.  کافی است نام متد write را به همراه یک پرانتز که حاوی متن مورد نظر است، بنویسیم و در اینجا چاپ کنیم. همین حالا خودتان هم می‌توانید این کار را انجام دهید و متن‌های متفاوتی را چاپ کنید.
نکته قابل توجه در این بخش همان خط به خط اجرا شدن کدهای جاوا اسکریپت در مرورگر است. اگر هر کجای صفحه دستور  document.write را بنویسید، همانجا دستور شما چاپ خواهد شد. برای مثال اگر سه دستور document.write را در مابین تگ‌های اچ‌تی‌ام‌ال خود بنویسید، این کدها دقیقا در همانجایی که نوشته شده‌اند چاپ خواهند شد.

کجا می‌توانیم از این دستور استفاده کنیم؟

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

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

بعد از اجرای دوباره صفحه مشاهده می‌کنید که فایل سی‌اس‌اس روی صفحه اعمال شده است! یعنی فایل سی‌اس‌اس شما حتی بعد از لود صفحه به صفحه اضافه و اجرا شده است! از این مدل کار چه استفاده‌های خلاقانه‌تری می‌توانیم بکنیم؟ بگذارید چند تا مثال ساده و کاربردی بزنیم:
مثلا می‌توانید با محاسبه ساعت سیستم کاربر (با کمک جاوا اسکریپت) و محاسبه اینکه شب، روز یا بعدازظهر است فایل‌های CSS مناسب آن زمان از روز را لود کنید! مثلا یک فایل CSS برای صبح! یک فایل CSS برای شب و یک فایل CSS برای غروب! 
مثلا می‌توانید با گذشت یک مدت زمان مشخص (مثلا دو دقیقه) از حضور کاربر در سایت، ویسی‌اس‌اس بخش‌هایی از سایت را به دلخواه تغییر دهید! شما چه پیشنهاد خلاقانه‌ای برای این بخش به ذهنتان می‌رسد! با ما در میان بگذارید. 
حالا که اندکی با ابزارهای اولیه جاوا اسکریپت آشنا شده‌اید، وقت آن رسیده است تا یک پروژه ساده و اولیه را استارت بزنیم! این پروژه قرار است در هر جلسه تکمیل‌ و تکمیل‌تر شود و در نهایت به یک پروژه واقعی ولی کوچک تبدیل شود.
این پروژه قرار است یک سرویس سفارش غذا به‌صورت آنلاین باشد! برای انجام این پروژه تنها می‌توانیم یک کار ساده انجام دهیم و آن‌ هم انتخاب نام آن است! یک نام دلخواه برای این رستوران آنلاین انتخاب کنید و سپس با کمک دستور document.write که در این جلسه یاد گرفته‌ایم آن را در صفحه چاپ کنید.

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

چاپ این مطلب

  آموزش جاوا اسکریپت - اضافه کردن فایل جاوا اسکریپت به صفحه
ارسال کننده: mesterweb - ۹۶/۸/۲۷، ۰۸:۵۵ عصر - انجمن: JavaScript - بدون پاسخ

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

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

چگونه می‌توانیم از جاوا اسکریپت در وب استفاده کنیم؟
برای نوشتن کدهای جاوا اسکریپت نیاز به هیچ ابزار خاصی نیست. تنها یک صفحه‌ی اچ‌تی‌ام‌ال و یک تگ مخصوص کدهای جاوا اسکریپت به نام <script> برای انجام این کار کافی است. در واقع کدهای جاوا اسکریپت در داخل این تگ با نام <script> </script> نوشته می‌شوند. 
برای نوشتن کد جاوا اسکریپت در صفحه کافی است تا تگ <script> </script> را در بین کدهای اچ‌تی‌ام‌ال باز کنید و هر چه به ذهنتان می‌رسد در آن بنویسید. مرورگر، در هنگام باز شدن صفحه، تمامی کدهای نوشته شده در این تگ‌ها را به عنوان کد جاوا اسکریپت شناسایی کرده و آن‌ها را خط‌به‌خط اجرا خواهد کرد.

مثال ۱):

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

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

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

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

راه اول: باز کردن تگ <script></script> در داخل صفحه‌ی اچ‌تی‌ام‌ال و نوشتن کدهای جای جاوا اسکریپت درون این تگ
راه دوم: نوشتن کدهای جاوا اسکریپت در یک فایل مجزا با فرمت .js و سپس صدا زدن این فایل توسط تگ script در صفحه‌ی اچ‌تی‌ام‌ال.

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

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

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

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

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

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

در مثال بالا ما در جاوا اسکریپت بالای صفحه، المان اچ‌تی‌ام‌ال با آی‌دی after-head-element را انتخاب کرده‌ایم. سپس به کمک جاوا اسکریپت دستور سی‌اس‌اس رنگ را روی این المان اِعمال کرده‌ایم؛ البته توضیح جامع و کامل و نحوه‌ی اعمال تمام این تغییرات و انتخاب المان‌ها توسط جاوا اسکریپت را در جلسات آینده خواهیم گفت، پس می‌خواهیم که شما تنها به اصل موضوع این جلسه توجه کنید.
مشکلی که در این حالت پیش می‌آید این است که المان صفحه‌ی ما که آن را در جاوا اسکریپت انتخاب کرده‌ایم، بعد از کد جاوا اسکریپت، توسط مرورگر نمایش (رندر) داده می‌شود. پس وقتی در حال نوشتن کد هستیم، این المان وجود ندارد که بخواهیم آن را انتخاب کنیم؛ بنابراین در این حالت با یک خطا با مقدار undefined بودن المان روبه‌رو خواهیم شد که ما را از قافله عقب خواهد انداخت. برای عدم بروز این مشکل دو راه پیش رو داریم. راه ساده‌تر این است که زمانی که کدهایمان قرار است با اچ‌تی‌ام‌ال درگیر باشند، آن‌ها را در تگ head بالای صفحه ننویسیم. راه‌حل دیگر نیز استفاده از دستورات جاوا اسکریپت برای اطمینان از لود شدن کامل اچ‌تی‌ام‌ال در صفحه است. آز آنجایی که این راه‌حل، پیش‌نیازهای بسیاری نظیر eventListener-ها دارد ناچاریم تا آن را به جلسات بعدی موکول کنیم.

بین تگ Body
شما می‌توانید اسکریپت‌هایتان را در هر کجایی از تگ
شما عضو این انجمن نبوده یا وارد نشده اید. لطفا برای مشاهده کامل انجمن و استفاده از آن وارد شوید یا ثبت نام کنید .
نیز بنویسید. در واقع می‌توانید هر وقت که لازم شد یک تگ script در وسط اچ‌تی‌ام‌ال صفحه باز کنید و کدهایتان را درون آن بنویسید. ولی بهترین کار این است که تگ اسکریپت و کدهای جاوا اسکریپت خود را دقیقا بعد از تمامی تگ‌های اچ‌تی‌ام‌ال (قبل از بسته‌شدن تگ body) بنویسید. ولی چرا این کار روش بهتری محسوب می‌شود؟

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

منظم شدن کدها یکی دیگر از مزایای به‌کارگیری جاوا اسکریپت در پایین صفحه است. شما می‌توانید بی‌نهایت تگ اسکریپت در هر جای صفحه که خواستید و در بین اچ‌تی‌ام‌ال خود باز کنید؛ ولی این موضوع تنها سبب شلوغ شدن صفحه و ناخوانا شدن کدهایتان می‌شود.

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

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

برای این کار مراحل زیر را دنبال کنید:
  •  یک صفحه HTML ایجاد کنید. آن را با نام دلخواه (اینجا ما از test.html استفاده کرده‌ایم) ذخیره کنید. 
  • یک فایل جدید ایجاد و آن را با پسوند .js ذخیره کنید. نام آن را می‌توانید app.js بگذارید.
  •  حالا برای اینکه این فایل جاوا اسکریپت و فایل HTML را به یکدیگر وصل کنیم باید فایل جاوا اسکریپت را در HTML خود صدا بزنیم؛ برای این کار از تگ script استفاده می‌کنیم. با این تفاوت که این بار به جای نوشتن کدها بین آن، آدرس فایل جاوا اسکریپتی خود را بدان می‌دهیم.
*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

کلمه type="text/javascript" به مرورگر ما می‌فهماند که در حال نوشتن چه نوع فایل جاوا اسکریپتی هستیم. کلمه src نیز آدرس فایل جاوا اسکریپت ما را بیان می‌کند.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

روش‌های آدرس دهی به فایل‌های جاوا اسکریپت
به طور کلی برای وارد کردن هر فایل خارجی به صفحه HTML (خواه فایل سی‌اس‌اس، عکس یا ... باشد) باید آدرس دقیق آن را به تگ مربوطه اضافه نمایید. برای مثال در اتریبیوت src در تگ img شما باید آدرس دقیق عکس را وارد کنید تا عکس شما نمایش داده شود. جاوا اسکریپت و هر منبع خارجی دیگر نیز از این قاعده مستثنی نیستند و برای استفاده در صفحه باید از آدرسی که به تگ آن‌ها می‌دهیم بارگذاری شوند.

برای آدرس دادن به فایل‌ها دو راه حل وجود دارد:

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

برای آدرس دهی به فایل‌هایی که درون یک پوشه قرار دارند به نکات زیر توجه کنید:
حالت اول: وقتی دو فایل در یک پوشه قرار بگیرند برای آدرس‌دهی به آن‌ها تنها کافیست تا اسم فایل را وارد کنید؛ مثلا فرض کنید ما یک فولدر به اسم sample1 داریم که در آن دو فایل با نام index.html و index.js وجود دارد. برای صدا زدن فایل جاوا اسکریپت در این صفحه HTML تنها کافیست تا به صورت زیر عمل کنیم:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

حالت دوم: در حالتی که یک فایل در فولدری جداگانه مانند sample2 قرار دارد و فولدر دیگری با نام js-folder دارید که داخل این فولدر فایل جاوا اسکریپت ما قرار گرفته است صفحه html نیز در فولدر ریشه یا همان sample2 قرار دارد. برای اینکه به فایل HTML فایل جاوا اسکریپتی داخل JS Folder برسید تنها کافی است تا قبل از نام فایل، نام فولدر  را به همراه علامت / بنویسید.
در این حالت، نوشتن نام فولدر مانند این است که ما وارد آن فولدر شده باشیم. به مثال زیر توجه کنید:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

مثال دیگر:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

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

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

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

[تصویر:  do.php?img=3968]

حالت سوم: فرض کنید فولدری به نام sample3 داریم که در آن یک فولدر به نام html، فولدری به نام js Folder و یک فولدر به اسم image وجود دارد. فرض کنید که فایل HTML ما در داخل فولدر html و فایل جاوا اسکریپت نیز در فولدر js-folder قرار دارد. برای اینکه از فایل HTML فایل جاوا اسکریپت را صدا بزنیم چه کار باید کنیم؟
در این حالت فایل مبدا ما (همان HTML) در فولدر اصلی نیست در نتیجه نمی‌توان تنها نام فولدرها را بنویسیم و وارد آن فولدر شویم. در این حالت با کمک یک / ساده در  ابتدای آدرس می‌توان آدرس‌دهی را از فولدر ریشه شروع کرد. با قرار دادن  علامت / در ابتدای مسیر  در حقیقت مسیر‌دهی را از فولدر ریشه شروع کرده‌ایم. در مثال زیر فایل HTML در پوشه اچ‌تی‌ام‌ال قرار دارد و در این پوشه هیچگونه فایل جاوا اسکریپتی وجود ندارد با این حال چون ما در ابتدای آدرس علامت / قرار داده‌ایم گویی که از فولدر ریشه ‌آدرس داده‌ایم.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
[تصویر:  do.php?img=3969]

حالت چهارم: فرض کنید یک فولدر با نام sample4 داریم که در این فولدر نیز فولدری به نام app وجود دارد؛ درون فولدر app یک فولدر  با نام index وجود دارد که درون آن نیز فولدری به نام HTML و یک فولدر به نام jsfolder وجود دارد. فرض کنید فایل html ما مثل همیشه در داخل فولدر html و فایل جاوا اسکریپت نیز در فولدر jsfolder قرار دارد در این صورت برای اینکه از فایل اچ‌تی‌ام‌ال، فایل جاوا اسکریپت را صدا بزنیم چه کار باید کرد؟

در این حالت باز هم فایل مبدا ما (HTML) در فولدر اصلی نیست پس نمی‌توان تنها نام فولدرها را نوشته و وارد آن فولدر شویم. در حالت قبلی با کمک / به ابتدای آدرس توانستیم تا آدرس‌دهی را از فولدر ریشه شروع کنیم ولی این روش همیشه جوابگو نخواهد بود؛ فرض کنید فولدرهای بسیاری از فولدر ریشه وجود دارند و برای رسیدن به این فایل باید تمامی آن‌ها را از اول نوشت در حالی که ما می‌توانیم با یک روش ساده این مشکل را حل کنیم.

اما راه‌حل چیست؟ استفاده از /..

وقتی /.. قبل از آدرس یک فایل قرار می‌دهید بدین معنا است که قصد بازگشت از فولدر را داریم (مثل زدن دکمه back در ویندوز). در این حالت تنها کافی است تا به جای حرکت به سمت فولدرهای جلو به سمت عقب و فولدرهای پیشین حرکت کنید. 

اگر در همین مثال مسیر رسیدن به فایل‌ اچ‌تی‌ام‌ال به صورت زیر باشد:
 
*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

و مسیر رسیدن به جاوا اسکریپت از ریشه به صورت زیر باشد:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

دیگر نیازی نیست برای صدا زدن فایل جاوا اسکریپت در داخل فایل اچ‌تی‌ام‌ال کل مسیر از فولدر ریشه را طی کنیم؛ برای این کار کافی است تا یک بار به فولدر قبلی برگردیم (یعنی فولدر app در این مثال) و از آنجا وارد فولدر بعدی یعنی فولدر جاوا اسکریپت شویم (با زدن دو نقطه در اول آدرس در این حالت & از پوشه HTML به عقب برگشته‌ایم و بعد وارد پوشه Js شده و در آخر فایل index.js را انتخاب کرده‌ایم).

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

جهت درک بیشتر  و راحت‌تر این موضوع، می‌توانید به نمونه‌های ساخته شده در سایت w3schools مراجعه کنید.

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



چاپ این مطلب