رقصنده با کد – Telegram
رقصنده با کد
783 subscribers
1.69K photos
850 videos
207 files
665 links
Here are some interesting things I've come across during my learning process. That's it. Admin ID:
@alithecodeguy
Download Telegram
مفهوم Boxed Object در جاوااسکریپت به زبان ساده:

" تبدیل خودکار یک مقدار ساده (primitive) مثل string، number، یا boolean به یک شیء متناظر با آن، تا بتوان از ویژگی‌ها و متدهای شیء روی آن استفاده کرد. "


const str = "hello";
console.log(str.toUpperCase()); // "HELLO"


شاید به نظر بیاد str یه رشته (string) ساده‌ست، ولی چطور می‌تونه متد toUpperCase() داشته باشه؟!

چون جاوااسکریپت موقع اجرا به‌طور خودکار اون string ساده رو برای مدت کوتاهی تبدیل می‌کنه به یه شیء از نوع String:


// پشت صحنه
const str = new String("hello");
str.toUpperCase();


این تبدیل موقتی به شیء رو می‌گن Boxing
و این شیء رو می‌گن Boxed Object.
Session 01.pdf
381.9 KB
جزوه جلسه اول دوره جامع جاوااسکریپت که ۱۵ دقیقه دیگه برگزار میشه (تنها جلسه رایگان این دوره)

آپدیت: برگزار شد.
اگر تعداد اعضای کانال به ۱۰۰۰ برسه ، آپدیت‌ترین نسخه pdf و epub سایت javanoscript info رو خریداری میکنم و در اختیارتون قرار میدم که تا ۱ سال هم میشه آپدیت‌ترین ورژنش رو همچنان مستقیم از خود سایت دانلود کرد.

یه هل بدید ، رسیدیم 💪
فعلا این گرونترین دوره‌ایه که دیدم. ۳۵ میلیون تومن.

دنبال اون ۶۸ تومنی میگردم پیداش نمیکنم 😑
دستور queueMicrotask در جاوااسکریپت چیه؟

تابع queueMicrotask بهت اجازه میده یه کار رو بذاری توی صف microtask تا بعد از اینکه کد فعلی (sync code) تموم شد اجرا بشه، ولی قبل از هر macrotask مثل setTimeout.

فکر کن داری الان کدی رو اجرا می‌کنی. می‌خوای یه بخش کوچیک از کار رو بندازی ته همین چرخه اجرا، ولی نمی‌خوای صبر کنه تا نوبت macrotask بعدی برسه.

مثال 1 — ترتیب اجرا


console.log("start");

queueMicrotask(() => console.log("microtask"));

setTimeout(() => console.log("macrotask"), 0);

console.log("end");

start
end
microtask
macrotask



مثال 2 — مقایسه با Promise


console.log("A");

Promise.resolve().then(() => console.log("promise"));

queueMicrotask(() => console.log("micro"));

console.log("B");

A
B
promise
micro
خب رکورد جدید داریم. دوره فرانت.

آنلاین : ۴۸ تومن
حضوری : ۵۸ تومن

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

۲۲ مرداد ، ساعت ۲۰

هزینه : پرداخت ۱۰۰ هزار تومن به حساب موسسه خیریه محک
5029-3870-2000-0656

(رسیدش رو ارسال کنید تا روی کلندر اینوایت بشید)

این پست رو روی لینکدین هم گذاشتم. ممنون میشم لایک و کامنت کنید دیده بشه.
https://www.linkedin.com/posts/alithecodeguy_aeuaepaewaepaepaebagpaezahyafyaes-activity-7359859275281723392-UaBv?utm_source=share&utm_medium=member_desktop&rcm=ACoAACtcWEYBTrZMU9DqRUSmbHsrw5UuZpcD8m0
مغز بعضی‌ها رو پهن برداشته عملا.

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

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

به خاطر لایف استایل راحت‌تریه که دارن یا یه چیزایی واقعا ارزونه؟
تمرین برنامه نویسی (برگرفته از یکی از کلاسامون) :

فرض کنیم اعداد طبیعی رو پشت سر هم تا بینهایت نوشتیم. این شکلی:
۱۲۳۴۵۶۷۸۹۱۰۱۱۱۲۱۳۱۴۱۵...

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

مثلا رقم چهارم این رشته میشه ۴ ، رقم یازدهم میشه ۰

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

قاعدتا ، بدون هوش مصنوعی‌ حل بشه.
عرض کردم که کارفرماها حالت طبیعی ندارن
یه حس غریبی بهم میگه به زودی از توی n8n یه گند بزرگی درمیاد.
👨‍💻 جلسه‌های در حال برگزاری:

۱- چهارشنبه : جلسه سوالات مصاحبه‌ای جاوااسکریپت

۲- جمعه : جلسه دوم و سوم دوره جامع جاوااسکریپت

🥷 دوره‌هایی که شهریور آغاز میشن:

۱- دوره جاوااسکریپت عمیق ، ابتدای شهریور ، یک هفته فشرده (برای درک بهتر js و آمادگی برای استخدامی‌های مهرماه)

۲- دوره ریکت ۱۹
رقصنده با کد
👨‍💻 جلسه‌های در حال برگزاری: ۱- چهارشنبه : جلسه سوالات مصاحبه‌ای جاوااسکریپت ۲- جمعه : جلسه دوم و سوم دوره جامع جاوااسکریپت 🥷 دوره‌هایی که شهریور آغاز میشن: ۱- دوره جاوااسکریپت عمیق ، ابتدای شهریور ، یک هفته فشرده (برای درک بهتر js و آمادگی برای استخدامی‌های…
توی پست بالا چیزی به ذهنم رسید که احتمالا می‌دونید ولی دوباره تکرار کردنش بد نیست.

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

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

پس اگر امید دارید که کار خوب پیدا کنید ، از الان وقتشه شدید روی مهارتتون و البته آمادگی مصاحبه کار کنید چون آگهی‌ها از ۱۰،۱۵ روز دیگه میان.

البته اگر جنگ نشه.

دو تا منبع خوبی که برای آمادگی میتونم پیشنهاد کنم:

۱. دوره جاوااسکریپت عمیق شهریور

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

من دیدم و خیلی جالب بود 😁

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

1. Name
نام کوکی رشته‌ای است که برای شناسایی کوکی استفاده می‌شود و نباید شامل کاراکترهای غیرمجاز مثل ; یا فاصله باشد، این مقدار صرفاً برچسب شناسایی است و رفتار خاصی ایجاد نمی‌کند.

2. Value
مقدار کوکی رشته‌ای است که داده اصلی را ذخیره می‌کند و اگر شامل کاراکترهای خاص باشد باید URL encoded شود، این مقدار همان چیزی است که سرور یا مرورگر در درخواست‌ها می‌خوانند یا تغییر می‌دهند.

3. Domain
دامنه کوکی تعیین می‌کند کوکی به کجا ارسال شود، اگر مقدار به صورت example. com باشد کوکی فقط به همین دامنه ارسال می‌شود و اگر به صورت .example .com باشد علاوه بر دامنه اصلی به همه زیردامنه‌ها هم ارسال خواهد شد، در صورت عدم تعیین فقط به دامنه فعلی ارسال می‌شود.

4. Path
مسیر کوکی مشخص می‌کند کوکی فقط برای همان مسیر و زیرمسیرهایش ارسال شود، به عنوان مثال اگر مقدار / باشد در تمام مسیرها ارسال می‌شود ولی اگر /account/ باشد فقط در آن مسیر و زیرمسیرهایش ارسال خواهد شد.

5. Expires
تاریخ انقضای کوکی زمان دقیق حذف آن را تعیین می‌کند و باید به فرمت GMT باشد، اگر این مقدار تنظیم شود کوکی تا آن تاریخ باقی می‌ماند و بعد از آن به طور خودکار حذف می‌شود و اگر تنظیم نشود کوکی به صورت session عمل کرده و با بستن مرورگر حذف خواهد شد.

6. Max-Age
مدت عمر کوکی به ثانیه مشخص می‌شود و اگر مقدار مثبت مثل 3600 باشد کوکی تا آن مدت باقی می‌ماند، اگر صفر یا منفی باشد بلافاصله حذف می‌شود و اگر این ویژگی همراه با Expires باشد مرورگر Max-Age را در اولویت قرار می‌دهد.

7. Secure
ویژگی Secure که نیازی به مقدار ندارد باعث می‌شود کوکی فقط روی اتصال HTTPS ارسال شود و در HTTP ساده هرگز فرستاده نشود.

8. HttpOnly
ویژگی HttpOnly که نیازی به مقدار ندارد باعث می‌شود کوکی از طریق JavaScript در مرورگر قابل دسترسی نباشد و تنها سرور بتواند آن را بخواند یا بنویسد، این کار برای جلوگیری از حملات XSS مفید است.

9. SameSite
ویژگی SameSite رفتار ارسال کوکی در درخواست‌های cross-site را تعیین می‌کند، مقدار Strict یعنی کوکی فقط وقتی ارسال می‌شود که درخواست از همان دامنه باشد، مقدار Lax یعنی کوکی در بیشتر درخواست‌ها ارسال می‌شود اما برخی درخواست‌های cross-site حساس مثل POST را محدود می‌کند و مقدار None یعنی کوکی در همه درخواست‌ها ارسال می‌شود ولی در این حالت Secure باید فعال باشد.

10. Priority
ویژگی Priority اهمیت کوکی را هنگام کمبود فضای ذخیره مرورگر تعیین می‌کند، مقدار Low یعنی کوکی کم‌اهمیت است و زودتر حذف می‌شود، مقدار Medium پیش‌فرض است و مقدار High یعنی کوکی مهم است و آخرین موردی خواهد بود که حذف می‌شود.

11. Partitioned
ویژگی Partitioned که نیازی به مقدار ندارد باعث می‌شود کوکی در یک فضای جداگانه ذخیره شود و بین سایت‌ها به اشتراک گذاشته نشود که این کار برای حفظ حریم خصوصی کاربر استفاده می‌شود.

12. Comment
ویژگی Comment که امروزه منسوخ شده یک متن ساده به عنوان توضیح کوکی ذخیره می‌کند و هیچ اثری روی نحوه ارسال یا رفتار کوکی ندارد و بیشتر برای مستندسازی داخلی کاربرد داشت.

13. Version
ویژگی Version نسخه پروتکل کوکی را تعیین می‌کند، مقدار 0 نشان‌دهنده نسخه قدیمی Netscape است و مقدار 1 نشان‌دهنده نسخه RFC 2965 می‌باشد که پشتیبانی محدودی دارد.

14. Extension Attributes
ویژگی Extension Attributes امکان تعریف کلید و مقدارهای سفارشی را می‌دهد و هر مقدار بسته به پیاده‌سازی معنای خاص خود را دارد، مثلاً می‌تواند برای قابلیت‌های امنیتی یا محدودیت‌های اختصاصی استفاده شود.

مطالب بیشتر در کانال رقصنده با کد:
https://news.1rj.ru/str/danceswithcode

#cookie #interview
یه شرکتی هست ، تقریبا باهاشون به توافق رسیدیم تموم شده ولی کاشف به عمل اومد سفته میخوان ولی گذاشتن مرحله آخر بگن و من از جای دیگه فهمیدم.

مبلغ سفته‌اش زیاد نیست ولی خب شما بگو هزار تومن. سفته ممنوع ❌️

و البته باز یه چالشی دارم گوششون رو بپیچونم که مردم رو اینطوری بازی ندن