دوره مجازی جاوااسکریپت (جلسه 2): قرارداد ها، شروع کدنویسی حساب شده و مفاهیم پایه !



visibility  
mode_comment   ۵۳

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

مطالب مطرح شده در این جلسه عبارتند از :

  • آشنایی با ویرایشگرهای نوتپد++ و phpStorm
  • آشنایی با انکودینگ فایل ها و انتخاب انکودینگ مناسب برای زبان فارسی
  • توضیح قابلیت های phpStorm و افزونه LiveEdit
  • معرفی افزونه ای کاربردی برای مرورگرهای کروم و فایرفاکس
  • نمایش تغیرات کدها بدون نیاز به رفرش کردن مرورگر و صفحه وب
  • پوشه common و فایل های درون آن
  • تابع رندم و تولید اعداد تصادفی
  • تگ script در html و استفاده از کدهای جاوااسکریپت
  • دو روش بکارگیری جاوااسکریپت در صفحات وب و نکات آن
  • فرمت فایل های جاوااسکریپت و نحوه لود آن ها در صفحات وب
  • نکاتی در مورد محل لود فایل های جاوااسکریت در صفحات وب
  • توضیح در مورد تگ noscript
  • کدنویسی استاندارد و قراردادهای این دوره ی آموزشی
  • استاندارد تعین نام ها
  • استاندارد تعین فرمت ها
  • رعایت نظم و فرورفتگی ها (Indentation) در کدنویسی
  • استفاده از سمی کالن ; در پایان دستورات
  • کامنت ها در زبان جاوااسکریپت
info توجه

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

ثبت نام در آموزش javascript

comment دیدگاه کاربران
wsjavan replyپاسخ

دم شما گرم استاد عالیه

meysam1366 replyپاسخ

سلام ممنون استاد آوند

خسته نباشید و خدا قوت

محمد هادی جوشقانی replyپاسخ

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

لقمان آوند

خواهش می کنم

BraveMan replyپاسخ

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

لقمان آوند

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

مهدی خسروی

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

لقمان آوند

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

safarzad

باسلام
میشه توضیح بدید چرا این کار رو انجام دادید؟(از نظر آموزشی)
به عبارت دیگه چه مشکل امنیتی رو با این کار رفع کردید؟

لقمان آوند

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

افشین زندی replyپاسخ

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

لقمان آوند

idm not work with chrome رو گوگل کن و مشکلو رفع کن . باید رابطه بین گوگل کروم و idm رو خوب کنی !

BraveMan replyپاسخ

من الان 4 ساعته می خوام دانلود کنم نمیشه
تو رو خدا لینکای آدمی زاد بزارید 😡 😡 😡 😡
کارم شده فقط چند ساعت التماس و دعا کردن واسه دانلود آموزش های جاوا اسکریپت

لقمان آوند

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

safarzad

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

BraveMan

سلام
ببخشید اینترنت دانلود منیجر من پرتابل نیست و نصبش کردم
مشکلی از اینترنت دانلود منیجر نیست چون آموزش های دیگه مثل آموزش طراحی وب و آموزش پی اچ پی رو هم ثبت نام کردم و همش رو بدون هیچ مشکلی دانلود کردم
ولی آموزش های جاوا اسکریپت رو اصلا نمی تونم دانلود کنم و به مشکل خوردم
با مرورگر های مختلفی مثل کروم ، فایرفاکس ، ie ، torch ، safari هم تست کردم ولی هیچ کدوم جواب نداد
چی کار کنم دیگه !!!!
کممممممممممممممممممممممممممممممممممممممممممممممممممک !!!!!!!!!

لقمان آوند

لطفا امشب آیدی و رمز تیم ویور به من بدید که خودم چک کنم رو سیستمتون …

yasermeha replyپاسخ

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

بابت دوره بسیار عالی php تون هم واقعا متشکرم (بی نظیر بود)

لقمان آوند

سلام
توی متن جلسه اول که گفتیم. جلسات شنبه ها و 3 شنبه ها ساعت 9 شب روی سایت قرار میگیره فعلا.
سایت بامیلو هم دقیقا شبیه همون چیزی هست که lazyload انجام میده. در عین حال اگر امکانش بود سعی می کنیم روشش رو بگیم .
ممنون از لطفتون

افشین زندی

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

لقمان آوند

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

bahman azari replyپاسخ

با سلام خدمت استاد گرامی،چند تا سوال داشتم راجع به همین جلسه و یه سوال متفرقه.
1- آیا منطقی هست که خود کتابخانه جی کوئری یعنی jquery.js رو در انتهای کدها و بالای تگ بسته بادی قرار داد؟
2- با قرار دادن اتریبیوت defer معمولا بعد از لود صفحه دیگه کدها عمل نمی کنن و کارکردشون مختل میشه علتش چیه؟
3- در سیستم وردپرس که استفاده از افزونه ها معمول هست،فایل های جاوا اسکریپت این افزونه ها معمولا در بخش head لود میشن و خیلی هاشون گزینه لود جاوا اسکریپت رو اصطلاحا در بخش فوتر ندارن،چیکار میشه کرد در این موارد که همه فایل های جاوا اسکریپت در بخش پایانی لود بشن،جهت افزایش سرعت بارگزاری عرض می کنم.راه حل چیست؟باید افزونه ها دستکاری بشن؟یا به چه صورت خواهد بود.که با توجه به تجارب چندین ساله شما حتما راه حلی برای این مورد دارین.

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

لقمان آوند

سلام
1- در همین جلسه که دلیلش رو گفتم. برای اینکه لود شدن فایل های جاوااسکریپت (که میتونه jquery.js باشه) سرع باز شدن صفحه رو کم نکنه در آخر میشه لود کرد .
2- مشکلی نداره. احتمالا کدنویسی استاندارد نبوده . بعدا در موردش صحبت می کنیم.
3- برای اینکار هم راه حل هایی وجود داره که نیاز به آشنایی با اکشنها و مفاهیم وردپرس هست . اگر دوره ای برای طراحی قالب وردپرس برگزار کنیم در این باره صحبت میکنیم حتما.
4- ایشالله در این مورد هم سعی می کنیم صحبت کنیم.

bahman azari replyپاسخ

سلام،یه سوال دیگه،در مورد کش شدن فایل های جاوا اسکریپت به کار برده شده و جلوگیری از لود دوباره اونها چه ترفندی رو می بایست به کار برد؟

لقمان آوند

یه کوئری استرینگ رندم باید به ته آدرس اضافه کنید :

bahman azari

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

لقمان آوند

عدد تولید شده بهتره رندم باشه .

hassani replyپاسخ

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

لقمان آوند

این صفحه رو بخون.

hassani

تشکر بابت راهنماییتون.

hassani replyپاسخ

این جلسه هم خیلی خوب بود
خسته نباشید.

سعید replyپاسخ

❓ ❓ ❓
خسته نباشید استاد عزیز

وحید صالحی

ممنون آقا سعید

Mahmood Dabestani replyپاسخ

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

لقمان آوند

سلام
خود اون پنجره رو که نه نمی تونید . چون مربوط به مرورگر هست و نه سند html که قابل شخصی سازی باشه .
ولی میشه به کدهای جاوااسکریپت و html و css مشابهش رو ایجاد کرد . کتابخانه sweetAlert رو ببینید …

shahriar rad replyپاسخ

با سلام و درود
آقای آوند عزیز

آقای آوند من متوجه نشدم آخر سر که :
برای وارد کردن یک فایل جاوا در کل باید توی header نوشت یا ته body ، یعنی نرسیده به بسته تگ body

——
سوال دیگه ام اینه که مثلا برای وارد کردن کتابخانه جاوا باید کجا وارد کرد header یا Body

—–
ممنون بابت زحماتتان با تشکر

لقمان آوند

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

سید قاسم بهشتی replyپاسخ

سلام استاد من جلسه اول دوم هست که دارم میبینم و برای تمرین کردن با بروزر مشکل دارم تاprint(); رو مینویسم بروزر برام پرینت میکنه داخل خود بروزر نشون نمیده چیکار کنم که مشکلم حل بشه با تشکر

لقمان آوند

سلام
ربع ساعت اول جلسه 7 دوره رو ببینید. مشکل رو رفع کردیم اونجا.

افشین زندی replyپاسخ

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

لقمان آوند

توضیحات کامل رو تقریبا توی این جلسه گفتم .
جاوااسکریپت یه مفهوم به نام function hosting داره که خودش توابع رو میبره بالا که هر جا لود کرده باشید در بقیه صفحه قابل دسترسی باشه.
موردی هم که گفتی مثل همونایی هست که توی این جلسه گفتم و اگر کد جی کوئری رو درون رویداد ready تعریف کرده باشید مهم نیست کجا لودش کنید . بعدا بهش می رسیم.

امیرحسین اروجلو replyپاسخ

سلام جناب آوند
یک سوال در مورد اتریبوت defer داشتم ، شما گفتید یکی از معایت async اینه که ممکنه html ما وابسته باشه به فایل js برای همین صفحه با مشکل مواجه بشه ، اما در مورد defer به عیبی اشاره نکردید ، من توی کارم تمامی فایل های js رو در آخر صفحه قرار میدم تا لود بشه اگر از defer استفاده کنم به مشکل میخورم؟ این اتریبوت عیبی داره یا نه؟
بعد داشتم سایت w3 رو میدیدم دیدم این اتریبویت رو به صورت زیر قرار داده :


اما شما اینطور :

میخواستم ببینم فرقی دارن این ها ؟
با تشکر
ارادت

لقمان آوند

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

امیرحسین اروجلو

سلام مجدد متشکر و ممنون
یک سوال هم در مورد ادیتوری که باهاش کار میکنیم داشتم ، برای اجرای روان و خوب جت برین به چه سیستمی نیاز هست ؟ من با دو گیگ رم و دو هسته سی پی یو کمی اذیت میشم واسه اجرای این نرم افزار ، بعد سوال دیگه هم که داشتم میخواستم بدونم چطور باید فایل های php رو داخلش اجرا کنیم که مثل یه وب سرور عمل کنه برای ما ؟
با تشکر

لقمان آوند

سلام
4 گیگ رم رو ما توصیه می کنیم. مدل cpu تون رو دقیقا نگفتید که در موردش اظهار نظر کنیم. در عین حال یه گزینه به نام power save mode توی منوی فایل هست که اگه بزنید برنامه سبکتر اجرا میشه و کمتر اذیت می کنه .
شما برای اجرای php باید یه وب سرور لولال مثل ومپ رو نصب و استفاده کنید .

Pouriya Ariyafar replyپاسخ

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


ولی تو سایت w3sch خالی اورده و کافیه فقط کلمه های async یا defer رو درج کنیم، علت چی هست؟ نحوه نشدن فرق کرده؟

استاد یک سوال دیگه در آدرس http://www.w3schools.com/js/js_syntax.asp یک قسمت داره با عنوان JavaScript and Camel Case و درباره Hyphens و Underscore و Camel Case صحبت کرده، میشه بگید این برای چی هست؟ من خوندم ولی متوجه نشدم
چه فرقی با استانداردهای Underscores و PascalCase و Camel Case داره
ممنون

لقمان آوند

سلام
نه فرقی نداره و به هر دو روش می تونید استفاده کنید.
اونها فقط نوع نامگذاری هستند که در همین دوره و در بخش قرارداد های نامگذاری در موردش صحبت کردیم.
در underscore : کلمات با _ جدا میشن. مثل : variable_name
در PascalCase به هم میچسبن و حرف اول هر کلمه بزرگه : VariableName
در camelCase مثل پاسکالکیس هست فقط حرف اول کلمه اول کوچیکه .

سید محمد جواد رضوی replyپاسخ

سلام
من JetBrains PhpStorm 2016.2.2 رو نصب کردم ولی با ctrl+scroll موس سایز فونت تغییر نمیکنه لطفا راهنمایی کنید.ممنون

لقمان آوند

به این شکل فعالش کنید این قابلیت رو.

امین replyپاسخ

سلام وقت بخیر
این ویژگی async رو از جایی میشه در سرور فعال و غیر فعال کرد که مثلا روی فایلای جاوا اسکریپت اعمال بشه یا نشه یا بصورت پیشفرض مال خود جاوا اسکریپته و ربطی به سرور نداره؟ چون یه بار تست کردم ولی بازم اول فایل js لود شد بعد سایر کدها
ممنون

لقمان آوند

خیر ربطی به سرور نداره.
تصمیم گیریش با مرورگره در واقع

Esmail Muhmmadzade replyپاسخ

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

وحید صالحی

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

ارسال نظرات

کاربر گرامی، امکان ارسال نظر و پشتیبانی برای دوره های مجازی فقط برای دانشجویان این دوره امکان پذیر می باشد.