ProGraphs
تفاوت این سه روش برای load کردن اسکریپت خارجی چیست ؟ #interviewquestion #html @ProGraphs
جواب:
زمانی که مرورگر به تگ اسکریپت معمولی میرسد پروسه parse شدن داکیومنت را متوقف میکند تا هم فایل اسکریپت دانلود شود و هم execute شود. سپس پروسه parsing را ادامه میدهد. (البته مرورگرهای مدرن برای سرعت بیشتر و برای بعضی از فایل ها کمی متفاوت عمل میکنند. عبارت speculative parsing را جستجو کنید)
در این روش مرورگر زمانی که به تگ اسکریپت میرسد به parse کردن داکیومنت ادامه میدهد و به صورت همزمان اسکریپت را دانلود میکند. ولی وقتی که فایل دانلود شد پروسه parsing را متوقف میکند تا اسکریپت execute شود. دقت کنید که در این روش ممکن است اسکریپتها به ترتیبی که در داکیومنت آمده اند اجرا نشوند (دلیلش هم واضح است 😁). در نتیجه استفاده از این روش برای اسکریپتی مانند jQuery مناسب نیست چرا که ممکن است اسکریپتهای بعدی از آن استفاده کنند و اگر ترتیب اجرای اسکریپتها رعایت نشود اسکریپتها با مشکل مواجه می شوند.
در این روش مانند async فایل اسکریپت همزمان با parse شدن داکیومنت دانلود می شود ولی تا زمان parse شدن کامل داکیومنت صبر میکند بعد اجرا میشود. در این روش برعکس async ترتیب اسکریپتها حفظ می شود.
<script></script>
:زمانی که مرورگر به تگ اسکریپت معمولی میرسد پروسه parse شدن داکیومنت را متوقف میکند تا هم فایل اسکریپت دانلود شود و هم execute شود. سپس پروسه parsing را ادامه میدهد. (البته مرورگرهای مدرن برای سرعت بیشتر و برای بعضی از فایل ها کمی متفاوت عمل میکنند. عبارت speculative parsing را جستجو کنید)
<script async></script>
:در این روش مرورگر زمانی که به تگ اسکریپت میرسد به parse کردن داکیومنت ادامه میدهد و به صورت همزمان اسکریپت را دانلود میکند. ولی وقتی که فایل دانلود شد پروسه parsing را متوقف میکند تا اسکریپت execute شود. دقت کنید که در این روش ممکن است اسکریپتها به ترتیبی که در داکیومنت آمده اند اجرا نشوند (دلیلش هم واضح است 😁). در نتیجه استفاده از این روش برای اسکریپتی مانند jQuery مناسب نیست چرا که ممکن است اسکریپتهای بعدی از آن استفاده کنند و اگر ترتیب اجرای اسکریپتها رعایت نشود اسکریپتها با مشکل مواجه می شوند.
<script defer></script>
:در این روش مانند async فایل اسکریپت همزمان با parse شدن داکیومنت دانلود می شود ولی تا زمان parse شدن کامل داکیومنت صبر میکند بعد اجرا میشود. در این روش برعکس async ترتیب اسکریپتها حفظ می شود.
معرفی CSS Specificity:
فرض کنید در ساختار HTML زیر با CSS عنصر داخلی را انتخاب کنیم:
به اینصورت که به هر انتخابگر بر اساس نوع آن امتیازی تعلق میگیرد و انتخابگر با بیشترین امتیاز اعمال میشود.
دسته بندی انتخابگرها و امتیاز آنها به این شکل است:
1) inline style ==> 1, 0, 0, 0
2) ID ==> 0, 1, 0, 0
3) Class - attributes selector - pseudo-classe ==> 0, 0, 1, 0
4) Type selector - pseudo-element ==> 0, 0, 0, 1
--) اما چرا امتیازها را به جای 1و 10 و 100 و 1000 به این شکل نمایش میدهیم ؟
در واقع این امتیاز ها در سیستم دهدهی محاسبه نمیشوند. به عنوان مثال انتخابگرهای class و id را در نظر بگیرید. اگر انتخابگر class را با 10 و انتخابگر id را با 100 نشان میدادیم به این معنی بود که 10 انتخابگر کلاس برابر با یک انتخابگر id است. اما اینطور نیست و اهمیت id selector بیشتر از class selector است.
در واقع اگر تعداد id selector ها برابر بود، بعد به سراغ شمارش class selector ها میرویم.
#quicktip #css
@ProGraphs
فرض کنید در ساختار HTML زیر با CSS عنصر داخلی را انتخاب کنیم:
<div id="parent">معمولا بیشتر از یک راه برای انتخاب عنصر وجود دارد. برای مثال همهی این انتخابگرها عنصر مورد نظر را برای ما انتخاب میکنند:
<div class="child"></div>
</div>
#parent .child
.child
div.child
...
در عمل بارها پیش میآید که چندین دستور با انتخابگرهای متفاوت، استایلهای متفاوتی را بر روی یک عنصر اعمال میکنند. در این شرایط کدام یک از استایلها برای عنصر اعمال میشود ؟ برای حل این مشکل مفهوم CSS Specificity استفاده میشود.به اینصورت که به هر انتخابگر بر اساس نوع آن امتیازی تعلق میگیرد و انتخابگر با بیشترین امتیاز اعمال میشود.
دسته بندی انتخابگرها و امتیاز آنها به این شکل است:
1) inline style ==> 1, 0, 0, 0
2) ID ==> 0, 1, 0, 0
3) Class - attributes selector - pseudo-classe ==> 0, 0, 1, 0
4) Type selector - pseudo-element ==> 0, 0, 0, 1
--) اما چرا امتیازها را به جای 1و 10 و 100 و 1000 به این شکل نمایش میدهیم ؟
در واقع این امتیاز ها در سیستم دهدهی محاسبه نمیشوند. به عنوان مثال انتخابگرهای class و id را در نظر بگیرید. اگر انتخابگر class را با 10 و انتخابگر id را با 100 نشان میدادیم به این معنی بود که 10 انتخابگر کلاس برابر با یک انتخابگر id است. اما اینطور نیست و اهمیت id selector بیشتر از class selector است.
در واقع اگر تعداد id selector ها برابر بود، بعد به سراغ شمارش class selector ها میرویم.
#test > .a.b.c.d.e.f.g.h.i.j.k
این موضوع را در طول هفته بیشتر بررسی خواهیم کرد.#quicktip #css
@ProGraphs
سایتی پر از تصاویر SVG زیبا که میتوانید کاملاً رایگان آنها را دانلود کنید.
https://undraw.co/illustrations
#link #svg #illustration
@ProGraphs
https://undraw.co/illustrations
#link #svg #illustration
@ProGraphs
unDraw
Illustrations | unDraw
Browse the complete unDraw collection of open-source illustrations. Find and customize the perfect illustration for your next project or website.
ProGraphs
اولین عنصر داخل لیست چه رنگی خواهد بود ؟ #interviewquestion #css @ProGraphs
جواب: indigo
این سوال خیلی ساده با نکاتی که درباره Specificity مطرح کردیم قابل حل هست. تنها نکته ای که باید دقت کنید این است که اگر یک attribute selector به ویژگی Id اشاره کند ماهیت آن به Id Selector تبدیل نمیشود و همچنان امتیاز یک attribute selector را دارد. (که البته منطقی هم هست).
امتیاز انتخابگر اول: 0,0,2,0
امتیاز انتخابگر دوم: 0,0,3,0
بنابراین ruleset دوم اعمال میشود و رنگ اولین آیتم لیست indigo خواهد بود
این سوال خیلی ساده با نکاتی که درباره Specificity مطرح کردیم قابل حل هست. تنها نکته ای که باید دقت کنید این است که اگر یک attribute selector به ویژگی Id اشاره کند ماهیت آن به Id Selector تبدیل نمیشود و همچنان امتیاز یک attribute selector را دارد. (که البته منطقی هم هست).
امتیاز انتخابگر اول: 0,0,2,0
امتیاز انتخابگر دوم: 0,0,3,0
بنابراین ruleset دوم اعمال میشود و رنگ اولین آیتم لیست indigo خواهد بود
🔺نقشه راه برای توسعهدهنده حرفهای React شدن در سال 2018 👇🏻
https://github.com/adam-golab/react-developer-roadmap
#link #react #roadmap
@ProGraphs
https://github.com/adam-golab/react-developer-roadmap
#link #react #roadmap
@ProGraphs
GitHub
GitHub - adam-golab/react-developer-roadmap: Roadmap to becoming a React developer
Roadmap to becoming a React developer. Contribute to adam-golab/react-developer-roadmap development by creating an account on GitHub.
نکات تکمیلی CSS Specificity
1) انتخابگر universal تأثيری بر Specificity ندارد. (قسمت ۱ تصویر)
2) شبه کلاس not جزو pseudo class ها محسوب میشود با این حال تأثيری بر Specificity نمیگذارد. اما انتخابگرهایی که داخل not میآیند Specificity را تغییر میدهند. (قسمت ۲ تصویر)
3) اگر در یک دستور CSS از important استفاده کنیم، بدون توجه به قوانین Specificity آن دستور اعمال میشود. هرچند این کار در اکثر مواقع bad practice و دور زدن Specificity محسوب میشود. (قسمت ۳ تصویر)
#quicktip #css
@ProGraphs
1) انتخابگر universal تأثيری بر Specificity ندارد. (قسمت ۱ تصویر)
2) شبه کلاس not جزو pseudo class ها محسوب میشود با این حال تأثيری بر Specificity نمیگذارد. اما انتخابگرهایی که داخل not میآیند Specificity را تغییر میدهند. (قسمت ۲ تصویر)
3) اگر در یک دستور CSS از important استفاده کنیم، بدون توجه به قوانین Specificity آن دستور اعمال میشود. هرچند این کار در اکثر مواقع bad practice و دور زدن Specificity محسوب میشود. (قسمت ۳ تصویر)
#quicktip #css
@ProGraphs
یه دوره آموزشی کوتاه Figma مناسب برای مبتدیان
https://www.figmaforbeginners.com/
#link #tool #design #ui #figma
@ProGraphs
https://www.figmaforbeginners.com/
#link #tool #design #ui #figma
@ProGraphs
اگر هردوی این ruleset ها به یک عنصر اعمال شوند. متن این عنصر چه رنگی خواهد بود ؟
#interviewquestion #css
@ProGraphs
#interviewquestion #css
@ProGraphs
یه بازی دیگه، این بار برای یاد گرفتن سلکتورها توی CSS 😋
https://flukeout.github.io/
#link #css #selector
@ProGraphs
https://flukeout.github.io/
#link #css #selector
@ProGraphs
flukeout.github.io
CSS Diner
A fun game to help you learn and practice CSS selectors.
ProGraphs
اگر هردوی این ruleset ها به یک عنصر اعمال شوند. متن این عنصر چه رنگی خواهد بود ؟ #interviewquestion #css @ProGraphs
جواب: tomato
در قدم اول Specificity هر دو را محاسبه میکنیم:
امتیاز انتخابگر اول:
سوالات مرتبط با CSS Specificity در مصاحبهها زیاد مطرح میشوند و معمولا برای چالش بیشتر از انتخابگرهای طولانیتر استفاده میشود. ولی دقت کنید که استفاده از این انتخابگرهای طویل در پروژههای واقعی مناسب نیست!
اگر در محاسبه Specificity مشکل دارید نکاتی که پیشتر در مورد Specificity مطرح کردیم را مطالعه کنید.
در قدم اول Specificity هر دو را محاسبه میکنیم:
امتیاز انتخابگر اول:
0, 1, 3, 2
امتیاز انتخابگر دوم:0, 1, 3, 2
امتیاز هر دو انتخابگر یکسان هست. در این شرایط استایلی که آخرتر آمده است اعمال میشود. در نتیجه رنگ متن tomato خواهد بود.سوالات مرتبط با CSS Specificity در مصاحبهها زیاد مطرح میشوند و معمولا برای چالش بیشتر از انتخابگرهای طولانیتر استفاده میشود. ولی دقت کنید که استفاده از این انتخابگرهای طویل در پروژههای واقعی مناسب نیست!
اگر در محاسبه Specificity مشکل دارید نکاتی که پیشتر در مورد Specificity مطرح کردیم را مطالعه کنید.
حتما از قابلیتهای devtools برای تست کردن پروژه در ابعاد موبایلها اطلاع دارید.
اما با chrome devtools میتوانیم اینترنت و پردازنده ضعیفتر دستگاههای همراه را هم شبیهسازی کنیم.
این تنظیمات در تب Performance قرار دارند. برای مثال در تصویر اینترنت 3G و CPU با سرعت پردازش یک چهارم شبیهسازی شده است.
#quicktip #devtools
@ProGraphs
اما با chrome devtools میتوانیم اینترنت و پردازنده ضعیفتر دستگاههای همراه را هم شبیهسازی کنیم.
این تنظیمات در تب Performance قرار دارند. برای مثال در تصویر اینترنت 3G و CPU با سرعت پردازش یک چهارم شبیهسازی شده است.
#quicktip #devtools
@ProGraphs
🔺نقشه راه برای توسعهدهنده حرفهای Vue شدن در سال 2018 👇🏻
https://github.com/marekbrainhub/vue-developer-roadmap
#link #vue #roadmap
@ProGraphs
https://github.com/marekbrainhub/vue-developer-roadmap
#link #vue #roadmap
@ProGraphs
GitHub
GitHub - marekbrainhub/vue-developer-roadmap: Roadmap to becoming a better Vue developer in 2019
Roadmap to becoming a better Vue developer in 2019 - marekbrainhub/vue-developer-roadmap
بهترین منابع رایگان برای دریافت فیلمهای Stock:
https://www.coverr.co/
https://www.videvo.net/
https://mazwai.com/#/grid
https://www.motionplaces.com/
https://www.stockio.com/free-videos/
https://videos.pexels.com/
https://pixabay.com/videos/
https://www.videezy.com/browse
https://www.videomonkey.co/
https://www.veed.io/vyoo/
🔺اگه شما هم منابع خوب دیگهای میشناسین، میتونین از طریق @HiProGraphsBot بهمون معرفی کنین 😎
#link #stockvideo #footage
@ProGraphs
https://www.coverr.co/
https://www.videvo.net/
https://mazwai.com/#/grid
https://www.motionplaces.com/
https://www.stockio.com/free-videos/
https://videos.pexels.com/
https://pixabay.com/videos/
https://www.videezy.com/browse
https://www.videomonkey.co/
https://www.veed.io/vyoo/
🔺اگه شما هم منابع خوب دیگهای میشناسین، میتونین از طریق @HiProGraphsBot بهمون معرفی کنین 😎
#link #stockvideo #footage
@ProGraphs
coverr.co
Download Free HD & 4K Stock Videos, Music & AI Tools
Free and Premium HD and 4K stock video footage for your projects. Perfect for personal and commercial use available for free download.