session1.pdf
315.8 KB
صرفا برای مشاهده سطح جلسات ساختماندادهای که پیش رو داریم ، جزوه غیرنهایی جلسه اول رو اینجا توی کانال آپلود میکنم که خودش به تنهایی تا حد زیادی به اطلاعاتتون اضافه میکنه و میتونه مفید باشه.
فقط چندتا نکته :
۱- به عمد ، این جزوه به فارسی تهیه نشده.
۲- این جزوه با ترکیب هوش مصنوعی ، دانش خودم و چندتا منبع دیگه تهیه شده. بخشهاییش ممکنه ایراداتی ببینید چون نسخه غیر نهاییه.
۳- منظور از جلسه ۱ ، صرفا یک روز نیست. ممکنه جلسه ۱ ، خودش چند روز طول بکشه. کلمه "جلسه" معادل واژه session هستش.
فقط چندتا نکته :
۱- به عمد ، این جزوه به فارسی تهیه نشده.
۲- این جزوه با ترکیب هوش مصنوعی ، دانش خودم و چندتا منبع دیگه تهیه شده. بخشهاییش ممکنه ایراداتی ببینید چون نسخه غیر نهاییه.
۳- منظور از جلسه ۱ ، صرفا یک روز نیست. ممکنه جلسه ۱ ، خودش چند روز طول بکشه. کلمه "جلسه" معادل واژه session هستش.
رقصنده با کد
session1.pdf
پیشنهاد میکنم اینو بخونید حتما. 👆
مهم نیست توی چه حوزه از علوم کامپیوتر هستید.
مهم نیست توی چه حوزه از علوم کامپیوتر هستید.
متاسفانه همه سوالهای مصاحبهایمون پاک شد 🥲
کسی احیانا ندارتشون؟
اونایی که به شکل کامنت گذاشته بودم
کسی احیانا ندارتشون؟
اونایی که به شکل کامنت گذاشته بودم
دوره جامع علوم کامپیوتر (آنلاین)
اطلاعات بیشتر در کانال رقصنده با کد :
https://news.1rj.ru/str/danceswithcode
اطلاعات بیشتر در کانال رقصنده با کد :
https://news.1rj.ru/str/danceswithcode
🔹 آرایههای جاوااسکریپت چطور تغییر اندازه میدن؟
یکی از ویژگیهای جذاب آرایهها در جاوااسکریپت اینه که بهطور خودکار بزرگتر میشن وقتی که با push() بهشون مقدار اضافه میکنیم.
اما این دقیقاً چطور اتفاق میافته؟ 🤔
🧠 وقتی یه آرایه میسازید، موتور جاوااسکریپت یه مقدار حافظهی مشخص (مثلاً برای ۱۰ آیتم) براش کنار میذاره.
تا وقتی که ظرفیت پر نشده، اضافهکردن مقدار جدید خیلی سریع انجام میشه (در زمان O(1)).
✅ اما وقتی آرایه پر میشه چی؟
اون موقع موتور جاوااسکریپت یه حافظهی بزرگتر اختصاص میده (مثلاً دو برابر قبلی)، و تمام مقادیر قبلی رو به اون منتقل میکنه.
این کار یه بار اتفاق میافته و هزینهاش O(n) هست (چون n تا آیتم باید کپی بشن).
🧮 ولی چون این اتفاق بهندرت میافته، وقتی تعداد زیادی push() انجام بدیم، میانگین زمان برای هر push هنوز هم O(1) باقی میمونه.
به این حالت میگیم زمان میانگین یا Amortized O(1).
یکی از ویژگیهای جذاب آرایهها در جاوااسکریپت اینه که بهطور خودکار بزرگتر میشن وقتی که با push() بهشون مقدار اضافه میکنیم.
اما این دقیقاً چطور اتفاق میافته؟ 🤔
🧠 وقتی یه آرایه میسازید، موتور جاوااسکریپت یه مقدار حافظهی مشخص (مثلاً برای ۱۰ آیتم) براش کنار میذاره.
تا وقتی که ظرفیت پر نشده، اضافهکردن مقدار جدید خیلی سریع انجام میشه (در زمان O(1)).
✅ اما وقتی آرایه پر میشه چی؟
اون موقع موتور جاوااسکریپت یه حافظهی بزرگتر اختصاص میده (مثلاً دو برابر قبلی)، و تمام مقادیر قبلی رو به اون منتقل میکنه.
این کار یه بار اتفاق میافته و هزینهاش O(n) هست (چون n تا آیتم باید کپی بشن).
🧮 ولی چون این اتفاق بهندرت میافته، وقتی تعداد زیادی push() انجام بدیم، میانگین زمان برای هر push هنوز هم O(1) باقی میمونه.
به این حالت میگیم زمان میانگین یا Amortized O(1).
توی بحث پیچیدگی زمانی و مرتبه اجرا ، پیچیدگی سرشکن شده یا Amortized Complexity یعنی چی؟
فرض کن یه عملیات توی برنامهت گاهی خیلی سریع انجام میشه، ولی بعضی وقتها خیلی کند میشه. حالا اگه بیایم میانگین هزینهی هر بار اجرای اون عملیات رو در طول چندین بار اجرا بررسی کنیم، به این میانگین میگیم پیچیدگی سرشکنشده یا همون Amortized Complexity.
به عبارت دیگه:
وقتی چند عملیات پشت سر هم انجام میدیم، ممکنه بعضیاشون گرون (زمانبر) باشن، ولی اگر کل زمان همه عملیات رو با هم در نظر بگیریم و تقسیم بر تعداد دفعات کنیم، ممکنه میانگینش خیلی خوب دربیاد.
یه مثال خیلی معروف: آرایه داینامیک (Dynamic Array)
تو جاوااسکریپت، وقتی از push توی آرایه استفاده میکنی:
تو نگاه اول فکر میکنی همیشه O(1) هست. درسته، اما گاهی اوقات که ظرفیت آرایه پر میشه، سیستم یه آرایه جدید با ظرفیت بزرگتر میسازه و همهی مقادیر قبلی رو کپی میکنه.
اون کپی کردن ممکنه O(n) زمان ببره. ولی این اتفاق فقط بعضی وقتها میافته. مثلاً هر بار که ظرفیت دو برابر میشه.
اگر بیایم کل زمانی که برای مثلاً ۱۰۰ بار push کردن صرف شده رو حساب کنیم، و بعد تقسیم بر ۱۰۰ کنیم، میبینیم که میانگین زمان هر push هنوز هم حدود O(1) هست.
این همون Amortized O(1) هست.
فرض کن یه عملیات توی برنامهت گاهی خیلی سریع انجام میشه، ولی بعضی وقتها خیلی کند میشه. حالا اگه بیایم میانگین هزینهی هر بار اجرای اون عملیات رو در طول چندین بار اجرا بررسی کنیم، به این میانگین میگیم پیچیدگی سرشکنشده یا همون Amortized Complexity.
به عبارت دیگه:
وقتی چند عملیات پشت سر هم انجام میدیم، ممکنه بعضیاشون گرون (زمانبر) باشن، ولی اگر کل زمان همه عملیات رو با هم در نظر بگیریم و تقسیم بر تعداد دفعات کنیم، ممکنه میانگینش خیلی خوب دربیاد.
یه مثال خیلی معروف: آرایه داینامیک (Dynamic Array)
تو جاوااسکریپت، وقتی از push توی آرایه استفاده میکنی:
let arr = [];
arr.push(1);
arr.push(2);
...
تو نگاه اول فکر میکنی همیشه O(1) هست. درسته، اما گاهی اوقات که ظرفیت آرایه پر میشه، سیستم یه آرایه جدید با ظرفیت بزرگتر میسازه و همهی مقادیر قبلی رو کپی میکنه.
اون کپی کردن ممکنه O(n) زمان ببره. ولی این اتفاق فقط بعضی وقتها میافته. مثلاً هر بار که ظرفیت دو برابر میشه.
اگر بیایم کل زمانی که برای مثلاً ۱۰۰ بار push کردن صرف شده رو حساب کنیم، و بعد تقسیم بر ۱۰۰ کنیم، میبینیم که میانگین زمان هر push هنوز هم حدود O(1) هست.
این همون Amortized O(1) هست.
This media is not supported in your browser
VIEW IN TELEGRAM
آقاااااااا 😂
ایستگاه صلواتی آقای سفید 😁
ایستگاه صلواتی آقای سفید 😁
از ۲۰۱۷ دارم رزومه مینویسم ، هنوز تموم نشده. 😐
رزومهنویسی و بروزرسانی رزومه ، فرآیندی دایمی است.
رزومهنویسی و بروزرسانی رزومه ، فرآیندی دایمی است.
جلسه ساختمان دادهای که بالای کانال پین شده ، به امید خدا از ۲۳ فروردین با حضور ۱۲ نفر از دوستان برگزار میشه و توی این روزهای باقیمانده دوباره امکان ثبت نام وجود داره.
جزوه جلسه اولش رو هم چند پست قبلتر گذاشتم. برای آشنایی با سطح جلسات میتونید نگاهی بهش داشته باشید.
در صورت تمایل ، هستم در خدمتتون 🙏
@AliTheCodeGuy
جزوه جلسه اولش رو هم چند پست قبلتر گذاشتم. برای آشنایی با سطح جلسات میتونید نگاهی بهش داشته باشید.
در صورت تمایل ، هستم در خدمتتون 🙏
@AliTheCodeGuy
به جز یک مورد ، هر کسی زنگ زده بهم برای مصاحبه ، هندی بوده.
جدا از اینکه به شدت سخت حرف میزنن ، هر لحظه ممکنه کلاهبرداری دربیاد و سرویس بشی 😐
اینقدر اینجا کلاهبرداری چیز رایجیه ، عملا میشه گفت شغل رسمی محسوب میشه
جدا از اینکه به شدت سخت حرف میزنن ، هر لحظه ممکنه کلاهبرداری دربیاد و سرویس بشی 😐
اینقدر اینجا کلاهبرداری چیز رایجیه ، عملا میشه گفت شغل رسمی محسوب میشه
امسال ، روی دورهها چند درصد افزایش قیمت اعمال کنیم که منصفانه باشه؟
Anonymous Poll
55%
20
16%
30
6%
40
4%
50
20%
100
یه خواهش دارم ازتون. از همه شما. 🙏
بابت پیدا کردن کار کمی مشکل پیدا کردم و نیاز دارم تا پست آخرم توی لینکدین تا جای ممکن دیده بشه.
ممنون میشم حتی اگر توی لینکدین فعال نیستید ، این پست رو لایک کنید و کامنت با هشتگ مرتبط بذارید که بالخره توسط اونی که باید دیده بشه ، دیده بشه. ❤️
https://www.linkedin.com/posts/alithecodeguy_frontenddeveloper-reactjs-nextjs-activity-7315580720159121408-tpIj?utm_source=share&utm_medium=member_desktop&rcm=ACoAACtcWEYBTrZMU9DqRUSmbHsrw5UuZpcD8m0
بابت پیدا کردن کار کمی مشکل پیدا کردم و نیاز دارم تا پست آخرم توی لینکدین تا جای ممکن دیده بشه.
ممنون میشم حتی اگر توی لینکدین فعال نیستید ، این پست رو لایک کنید و کامنت با هشتگ مرتبط بذارید که بالخره توسط اونی که باید دیده بشه ، دیده بشه. ❤️
https://www.linkedin.com/posts/alithecodeguy_frontenddeveloper-reactjs-nextjs-activity-7315580720159121408-tpIj?utm_source=share&utm_medium=member_desktop&rcm=ACoAACtcWEYBTrZMU9DqRUSmbHsrw5UuZpcD8m0
پایه چالش هستید؟
میخوام تا ۲۴ ساعت آینده Docker رو مرور کنم بعد از مدتها.
اگر پایه هستید ، بسم الله. من شروع کردم
میخوام تا ۲۴ ساعت آینده Docker رو مرور کنم بعد از مدتها.
اگر پایه هستید ، بسم الله. من شروع کردم
۱۶ ساعت اخیر رو نان استاپ کد زدم تا بالخره سایت شخصی خودمو از صفر ایجاد کردم.
البته هنوز ناقصه و خیلی کار داره ولی تمام قسمتهای اصلیش زده شده و هنوز به حالت کامنته بعضیهاش. متنهاشم پرت و پلاست.
برای ۱۶ ساعت راضی کنندهاس.
ممنون میشم ببینید و نظر خاصی اگر دارید بگید. ایدههاتون قطعا مفیده.
https://www.seemyplace3d.com/
فیلتر شکن نیاز دارید احتمالا.
البته هنوز ناقصه و خیلی کار داره ولی تمام قسمتهای اصلیش زده شده و هنوز به حالت کامنته بعضیهاش. متنهاشم پرت و پلاست.
برای ۱۶ ساعت راضی کنندهاس.
ممنون میشم ببینید و نظر خاصی اگر دارید بگید. ایدههاتون قطعا مفیده.
https://www.seemyplace3d.com/
فیلتر شکن نیاز دارید احتمالا.
توی این دو یه روز ، سه بار پروژهای که بالا گفتم رو از صفر نوشتم و باورتون نمیشه چه قدر همه چی نرم و روون پیش میره. نه قطعی اینترنت ، نه خطای ۴۰۳ ، نه تحریم ، نه فیلتر.
همینقدر براتون بگم که پیاده سازی درگاه پرداخت برای منی که اولین باره این سیستمهارو میبینم ، ۱۰ دقیقه طول کشید 😐
البته مشخصا با کمک هوش مصنوعی ولی خب یه جاهایی خودتون باید انجامش بدید.
همینقدر براتون بگم که پیاده سازی درگاه پرداخت برای منی که اولین باره این سیستمهارو میبینم ، ۱۰ دقیقه طول کشید 😐
البته مشخصا با کمک هوش مصنوعی ولی خب یه جاهایی خودتون باید انجامش بدید.