Forwarded from Keyvan Rezaei
🔵 شرکت نماوا در پوزیشن 'تست نرمافزار' کارآموز میپذیرد 🔵
شرایط:
🔷 رشته تحصیلی زیر مجموعه کامپیوتر در دانشگاههای معتبر
🔷 حداقل سال سوم یا آخر کارشناسی
🔷 ساکن تهران
داشتن شرایط زیر مزیت محسوب میشود:
🔷 آشنا به فرایند تولید و تست نرم افزار و سناریو نویسی تست
🔷 توانایی مستند کردن فرایند تست نرم افزار
🔷 صبور، دقیق و توانمند در بررسی جزییات محصول
🔷 توانایی انجام کار گروهی
مزایا:
🔷 دوره کارآموزی به صورت هیبرید (دورکاری و حضوری) برگزار میگردد
🔷 امکان بهرهمندی از سهمیه دانشبنیان شرکت (امریه)
🔷 پرداخت کمک هزینه در طول دوره به کارآموز
🔷 قرار گرفتن کارآموز در لیست بیمه شرکت
🔷 امکان استخدام پس از گذراندن دوره کارآموزی
🔷 محیط کاری دوستانه و صمیمی
🔷 امکان یادگیری و رشد در کنار افراد با تجربه
دوستانی که علاقهمند هستن، لطفا رزومهشون رو به آیدی زیر ارسال کنند.
@KeyvanRezaeiF
شرایط:
🔷 رشته تحصیلی زیر مجموعه کامپیوتر در دانشگاههای معتبر
🔷 حداقل سال سوم یا آخر کارشناسی
🔷 ساکن تهران
داشتن شرایط زیر مزیت محسوب میشود:
🔷 آشنا به فرایند تولید و تست نرم افزار و سناریو نویسی تست
🔷 توانایی مستند کردن فرایند تست نرم افزار
🔷 صبور، دقیق و توانمند در بررسی جزییات محصول
🔷 توانایی انجام کار گروهی
مزایا:
🔷 دوره کارآموزی به صورت هیبرید (دورکاری و حضوری) برگزار میگردد
🔷 امکان بهرهمندی از سهمیه دانشبنیان شرکت (امریه)
🔷 پرداخت کمک هزینه در طول دوره به کارآموز
🔷 قرار گرفتن کارآموز در لیست بیمه شرکت
🔷 امکان استخدام پس از گذراندن دوره کارآموزی
🔷 محیط کاری دوستانه و صمیمی
🔷 امکان یادگیری و رشد در کنار افراد با تجربه
دوستانی که علاقهمند هستن، لطفا رزومهشون رو به آیدی زیر ارسال کنند.
@KeyvanRezaeiF
😁11👍4🫡1
خروجی کد بالا
Anonymous Quiz
24%
false false true false
25%
false true true false
30%
true false true false
21%
false true false false
❤6👍3
وب یو اس بی (web usb ) یک API که به مرورگرها اجازه میده با دستگاههای USB مستقیماً از طریق وبسایتها ارتباط برقرار کنند. به زبان ساده، این یعنی وبسایتها میتوانند به دستگاههای USB مثل پرینتر، دوربین یا دستگاههای خاص مثل میکروکنترلرها دسترسی پیدا کنن و با آنها کار کنن، بدون اینکه نیاز باشه نرم افزار جدایی نصب بشه. این ارتباط از طریق کدهای جاوااسکریپت انجام میشود و باید حتماً کاربر اجازه دسترسی را به وبسایت بدهد تا امنیت حفظ شود.
Channel | Group | YouTube
navigator.usb.getDevices().then((devices) => {
devices.forEach((device) => {
console.log(device.productName); // "Arduino Micro"
console.log(device.manufacturerName); // "Arduino LLC"
});
});
Channel | Group | YouTube
👍24🤯7⚡2🔥1😁1
⭐️ انواع مختلف رندرینگ (Rendering) برای تولید صفحات وب در Next.js ⭐️
1️⃣ رندرینگ سمت سرور (Server-Side Rendering یا SSR)
🔹 در این نوع رندرینگ، صفحه در هر بار درخواست کاربر به صورت پویا در سمت سرور رندر میشود. نتیجه به عنوان HTML به کاربر ارسال میشود. SSR به بهبود SEO و زمان بارگذاری اولیه کمک میکند، زیرا محتوا قبل از رسیدن به مرورگر آماده است.
🔄 کاربرد: زمانی که نیاز به دریافت داده های پویا در لحظه و بهینهسازی SEO دارید.
2️⃣ رندرینگ استاتیک (Static Site Generation یا SSG)
🔹در این نوع رندرینگ، صفحات در زمان build تولید میشوند و به صورت استاتیک به سرور ارائه میشوند. این روش منجر به بارگذاری سریع تر صفحات میشود، زیرا صفحات از قبل آماده هستند و نیازی به رندر سمت سرور در هر درخواست ندارند.
🔄 کاربرد: برای صفحات با محتوای ثابت یا به ندرت تغییر یافته که نیاز به زمان بارگذاری سریع دارند.
3️⃣ رندر استاتیک با ایجاد تدریجی (Incremental Static Regeneration یا ISR)
🔹 این قابلیت ترکیبی از SSG و SSR است. صفحات در زمان build به صورت استاتیک تولید میشوند، اما میتوان آنها را به صورت پویا با فاصله های زمانی مشخصی بهروزرسانی کرد. با این روش، صفحه ای که توسط کاربر دیده میشود همچنان استاتیک است، اما در پسزمینه داده ها بروز رسانی میشوند.
🔄 کاربرد: برای صفحاتی که بیشتر استاتیک هستند اما گهگاه نیاز به بروز رسانی دارند.
4️⃣ رندرینگ سمت کلاینت (Client-Side Rendering یا CSR)
🔹در این نوع رندرینگ، صفحه ابتدا به صورت پایه ای (HTML خالی) به کاربر ارسال میشود و سپس محتوای پویا در سمت کلاینت (مرورگر) با استفاده از جاوااسکریپت بارگذاری میشود. این رویکرد شبیه به شیوه های رایج در React و SPA است.
🔄 کاربرد: برای صفحاتی که نیاز به تعامل زیاد با کاربر دارند و محتوای آنها میتواند در سمت کلاینت بارگذاری شود.
Channel | Group | YouTube
1️⃣ رندرینگ سمت سرور (Server-Side Rendering یا SSR)
🔹 در این نوع رندرینگ، صفحه در هر بار درخواست کاربر به صورت پویا در سمت سرور رندر میشود. نتیجه به عنوان HTML به کاربر ارسال میشود. SSR به بهبود SEO و زمان بارگذاری اولیه کمک میکند، زیرا محتوا قبل از رسیدن به مرورگر آماده است.
🔄 کاربرد: زمانی که نیاز به دریافت داده های پویا در لحظه و بهینهسازی SEO دارید.
2️⃣ رندرینگ استاتیک (Static Site Generation یا SSG)
🔹در این نوع رندرینگ، صفحات در زمان build تولید میشوند و به صورت استاتیک به سرور ارائه میشوند. این روش منجر به بارگذاری سریع تر صفحات میشود، زیرا صفحات از قبل آماده هستند و نیازی به رندر سمت سرور در هر درخواست ندارند.
🔄 کاربرد: برای صفحات با محتوای ثابت یا به ندرت تغییر یافته که نیاز به زمان بارگذاری سریع دارند.
3️⃣ رندر استاتیک با ایجاد تدریجی (Incremental Static Regeneration یا ISR)
🔹 این قابلیت ترکیبی از SSG و SSR است. صفحات در زمان build به صورت استاتیک تولید میشوند، اما میتوان آنها را به صورت پویا با فاصله های زمانی مشخصی بهروزرسانی کرد. با این روش، صفحه ای که توسط کاربر دیده میشود همچنان استاتیک است، اما در پسزمینه داده ها بروز رسانی میشوند.
🔄 کاربرد: برای صفحاتی که بیشتر استاتیک هستند اما گهگاه نیاز به بروز رسانی دارند.
4️⃣ رندرینگ سمت کلاینت (Client-Side Rendering یا CSR)
🔹در این نوع رندرینگ، صفحه ابتدا به صورت پایه ای (HTML خالی) به کاربر ارسال میشود و سپس محتوای پویا در سمت کلاینت (مرورگر) با استفاده از جاوااسکریپت بارگذاری میشود. این رویکرد شبیه به شیوه های رایج در React و SPA است.
🔄 کاربرد: برای صفحاتی که نیاز به تعامل زیاد با کاربر دارند و محتوای آنها میتواند در سمت کلاینت بارگذاری شود.
Channel | Group | YouTube
🔥22👍7❤3⚡2❤🔥2
رفقا ریکت و نکست (شاید به عنوان آخرین دوبله ها) به یه سری دلایل به زودی رایگان خواهد شد..
منتظر باشید
منتظر باشید
❤🔥58🔥6👀5🤝4👍3💔3🆒2❤1😁1🕊1
امروز پنجشنبه 22 شهریور روز برنامه نویسه
روز برنامه نویسو به همتون تبریک میگم🎉
روز برنامه نویسو به همتون تبریک میگم🎉
❤78👍6😁5😎3
## تابع کلینآپ useEffect چیست؟
تابع cleanup useEffect تابعی در هوک useEffect است که به ما اجازه می دهد قبل از اینکه کامپوننتمان غیرفعال شود، اثر افکت را از بین ببریم یا به اصطلاح پاک کنیم. وقتی کدمان برای هر رندر اجرا و مجددا اجرا می شود، useEffect نیز هر بار با ریترن کردن تابع کلین آپ، رفتار دلخواه مارا دوباره انجام میدهد.
هوک useEffect به گونه ای طراحی شده است که اجازه ریترن کردن تابعی در آن را می دهد که به عنوان یک تابع کلین آپ عمل می کند. این ویژگی به عنوان مثال برای غیر فعال کردن ایونت لیستنر هاب غیر ضروری بوجود آمده در افکت و بطور کلی اثر هوک یوزافکت بسیار کاربردی است.
مثال در کد:
مثال در فچ:
Channel | Group | YouTube
تابع cleanup useEffect تابعی در هوک useEffect است که به ما اجازه می دهد قبل از اینکه کامپوننتمان غیرفعال شود، اثر افکت را از بین ببریم یا به اصطلاح پاک کنیم. وقتی کدمان برای هر رندر اجرا و مجددا اجرا می شود، useEffect نیز هر بار با ریترن کردن تابع کلین آپ، رفتار دلخواه مارا دوباره انجام میدهد.
هوک useEffect به گونه ای طراحی شده است که اجازه ریترن کردن تابعی در آن را می دهد که به عنوان یک تابع کلین آپ عمل می کند. این ویژگی به عنوان مثال برای غیر فعال کردن ایونت لیستنر هاب غیر ضروری بوجود آمده در افکت و بطور کلی اثر هوک یوزافکت بسیار کاربردی است.
مثال در کد:
useEffect(() => {
// set our variable to true
let isApiSubscribed = true;
axios.get(API).then((response) => { if (isApiSubscribed) {
// handle success } });
return () => {
// cancel the subnoscription
isApiSubscribed = false; };
}, [])مثال در فچ:
useEffect(() => {
const controller = new AbortController();
const signal = controller.signal;
fetch(API, { signal: signal }) .then((response) => response.json()) .then((response) => { // handle success });
return () => { // cancel the request before component unmounts
controller.abort();
};
}, []);Channel | Group | YouTube
❤🔥17👍9🤝1
شرکت نرم افزاری زاداک با بیش از ۱۰ سال سابقه دنبال نیرو vue و nuxt هست خوشحال میشم اگر کسی مایل به همکاری باشه از طریق لینک جابینجا که قرار میدم رزومه خودش ارسال کنه
لینک ارسال رزومه
Channel | Group | YouTube
لینک ارسال رزومه
Channel | Group | YouTube
👍8🔥5😁3❤1💯1
👍6
دوبله دوره ریکت رایگان شد و از dubdev.ir میتونید دسترسی داشته باشید...
نه ریسپانسیوه نه هیچی صرفا لینک فصل ها هستش، با سیستم برید راحت تر میتونید استفاده کنید
نه ریسپانسیوه نه هیچی صرفا لینک فصل ها هستش، با سیستم برید راحت تر میتونید استفاده کنید
❤60😡8👍4😎3
سلام به همه دوستان عزیز
خلاصه این ویس اینه:
دوستان قراره یه مدت نباشم 💔
دوبله ها رایگان شدن کاملا (جاوااسکریپت که رایگان بود، ریکت هم رایگان شد) و از سایتمون dubdev.ir میتونید فصل های مختلف رو دانلود کنید 👌
موقع انتشار این پیام احتمال خیلی زیاد من از اکانتم لاگ اوت کردم برای همین دیگه کلا پیام هاتون رو نمیبینم ولی اگر هر چیزی بود پیوی بگید هر زمان برگردم همشونو میخونم ❤️
نکست هم دوبله نخواهد شد، منتظر نمونید...
و در نهایت، مهرشادم، تا دیدار بعد بدرود..
خلاصه این ویس اینه:
دوستان قراره یه مدت نباشم 💔
دوبله ها رایگان شدن کاملا (جاوااسکریپت که رایگان بود، ریکت هم رایگان شد) و از سایتمون dubdev.ir میتونید فصل های مختلف رو دانلود کنید 👌
موقع انتشار این پیام احتمال خیلی زیاد من از اکانتم لاگ اوت کردم برای همین دیگه کلا پیام هاتون رو نمیبینم ولی اگر هر چیزی بود پیوی بگید هر زمان برگردم همشونو میخونم ❤️
نکست هم دوبله نخواهد شد، منتظر نمونید...
و در نهایت، مهرشادم، تا دیدار بعد بدرود..
❤🔥62💔22❤7👍6
سلام دوستان صبحتون بخیر👋
امیدوارم حالتون خوب و کدتون بی باگ باشه.😎
تیم DeepDevs نیاز به چند ادمین برای چنل و گروههای زیر داره:
👈 برای چنل اصلی نیاز به افرادی هست که حتما سطح دانش خوبی از فرانت یا بک اند اند داشته باشن، اول یه دوره آزمایشی رو میگذرونین و بعد دسترسی ها رفته رفته بهتون داده خواهد شد. فعالیت بالا بعد از سطح دانش خوب برامون اولویته، اگه تایم ندارین لطفا پیام ندین🙏
👈 برای گروه ها اما صرفا کار شما اینه که روی اعضا و بحث گروه نظارت کنین.
💰 در مورد درآمد، با توجه به وضعیت دوبله ها فعلا درآمدی پرداخت نمیشه.
اگه فک میکنین شرایط بالا رو دارین، زیر این پست اعلام کنین.👏
Channel | Group | YouTube
امیدوارم حالتون خوب و کدتون بی باگ باشه.😎
تیم DeepDevs نیاز به چند ادمین برای چنل و گروههای زیر داره:
چنل اصلی:
@DeepDevs
گروه اصلی:
@DeepDevsGpOriginal
گروه چت:
@instaDevsGp
👈 برای چنل اصلی نیاز به افرادی هست که حتما سطح دانش خوبی از فرانت یا بک اند اند داشته باشن، اول یه دوره آزمایشی رو میگذرونین و بعد دسترسی ها رفته رفته بهتون داده خواهد شد. فعالیت بالا بعد از سطح دانش خوب برامون اولویته، اگه تایم ندارین لطفا پیام ندین🙏
👈 برای گروه ها اما صرفا کار شما اینه که روی اعضا و بحث گروه نظارت کنین.
💰 در مورد درآمد، با توجه به وضعیت دوبله ها فعلا درآمدی پرداخت نمیشه.
اگه فک میکنین شرایط بالا رو دارین، زیر این پست اعلام کنین.👏
Channel | Group | YouTube
🤝9❤🔥1👍1😎1
گاربج کالکشن (Garbage Collection) به فرآیندی گفته میشود که بهصورت خودکار حافظهای که توسط دادههای بلااستفاده اشغال شده است را آزاد میکند. زمانی که برنامه در حال اجراست، ممکن است برخی از دادهها دیگر مورد نیاز نباشند، اما همچنان بخشی از حافظه را اشغال کنند. این مسئله میتواند باعث پر شدن حافظه و در نتیجه کاهش کارایی یا حتی اختلال در اجرای برنامه شود.
گاربج کالکشن مانند یک "جمعکننده زباله" عمل میکند و بهطور خودکار دادههایی که دیگر مورد نیاز نیستند را از حافظه حذف میکند تا فضا برای دادههای جدید باز شود. این مکانیزم به بهینهسازی استفاده از حافظه و حفظ عملکرد روان برنامه کمک میکند.
Channel | Group | YouTube
گاربج کالکشن مانند یک "جمعکننده زباله" عمل میکند و بهطور خودکار دادههایی که دیگر مورد نیاز نیستند را از حافظه حذف میکند تا فضا برای دادههای جدید باز شود. این مکانیزم به بهینهسازی استفاده از حافظه و حفظ عملکرد روان برنامه کمک میکند.
Channel | Group | YouTube
👍11🆒2
## کانسپت Promise Executer چیست؟
همه نمونه های Promise یک متد به عنوان آرگومان قبول می کنند که به آن اجرا کننده (executor) می گویند. این اجرا کننده دو متد به عنوان آرگومان می گیرد: resolve و reject. در داخل اجرا کننده، اگر resolve فراخوانی شود، نمونه Promise تبدیل به fulfilled می شود. اگر مشکلی رخ بدهد شود، reject به جای آن فراخوانی می شود و نمونه Promise تبدیل به rejected می شود.
مثال در کد:
Channel | Group | YouTube
همه نمونه های Promise یک متد به عنوان آرگومان قبول می کنند که به آن اجرا کننده (executor) می گویند. این اجرا کننده دو متد به عنوان آرگومان می گیرد: resolve و reject. در داخل اجرا کننده، اگر resolve فراخوانی شود، نمونه Promise تبدیل به fulfilled می شود. اگر مشکلی رخ بدهد شود، reject به جای آن فراخوانی می شود و نمونه Promise تبدیل به rejected می شود.
مثال در کد:
const executor = (resolve, reject) => {
setTimeout(() => resolve("I'm done"), 1000);
};
new Promise(executor).then(result => {
console.log(result);
// خروجی بعد از 1000 میلی ثانیه: I'm done
});Channel | Group | YouTube
🔥10👍7
اصطلاح «باگ» (Bug) در برنامهنویسی و کامپیوتر به مشکلات یا خطاهای نرمافزاری اشاره دارد که باعث میشود برنامهها به درستی عمل نکنند. اما منشأ این کلمه به یک حادثه خاص در تاریخ فناوری برمیگردد.
در سال 1947، گروهی از دانشمندان و مهندسان کامپیوتر که روی کامپیوتر مارک در دانشگاه هاروارد کار میکردند، متوجه شدند که یک حشره (به معنای واقعی کلمه) در داخل سختافزار کامپیوتر گیر کرده است و باعث اختلال در عملکرد آن شده است. این حشره یک پروانه بود که بین رلههای مکانیکی گیر کرده بود و عملکرد سیستم را مختل کرده بود. پس از کشف این موضوع، آنها این حشره را از سیستم خارج کردند و در دفتر ثبت مشکلات خود نوشتند: «اولین باگ پیدا شد» و این پروانه را در دفترچه ثبت مشکلات چسباندند.
این حادثه باعث شد که واژه "باگ" برای توصیف هر نوع مشکل فنی و خطاهای نرمافزاری استفاده شود، هرچند که پیش از این حادثه نیز کلمه "باگ" برای اشاره به اشکالات کوچک در ماشینآلات استفاده شده بود، اما این واقعه به شکل رسمی آن را به حوزه کامپیوتر وارد کرد.
Channel | Group | YouTube
در سال 1947، گروهی از دانشمندان و مهندسان کامپیوتر که روی کامپیوتر مارک در دانشگاه هاروارد کار میکردند، متوجه شدند که یک حشره (به معنای واقعی کلمه) در داخل سختافزار کامپیوتر گیر کرده است و باعث اختلال در عملکرد آن شده است. این حشره یک پروانه بود که بین رلههای مکانیکی گیر کرده بود و عملکرد سیستم را مختل کرده بود. پس از کشف این موضوع، آنها این حشره را از سیستم خارج کردند و در دفتر ثبت مشکلات خود نوشتند: «اولین باگ پیدا شد» و این پروانه را در دفترچه ثبت مشکلات چسباندند.
این حادثه باعث شد که واژه "باگ" برای توصیف هر نوع مشکل فنی و خطاهای نرمافزاری استفاده شود، هرچند که پیش از این حادثه نیز کلمه "باگ" برای اشاره به اشکالات کوچک در ماشینآلات استفاده شده بود، اما این واقعه به شکل رسمی آن را به حوزه کامپیوتر وارد کرد.
Channel | Group | YouTube
❤26👍9😎3❤🔥1
چرا باید از پکیجهای مدیریت فرم در ریاکت جیاس استفاده کنیم ؟
مدیریت فرمها در ریاکت، بهویژه وقتی تعداد زیادی فیلد یا اعتبارسنجی پیچیده داریم، میتواند چالشبرانگیز باشد. استفاده از پکیجهای مدیریت فرم باعث میشود کد ما تمیزتر و ساختاریافتهتر شود، خطاها کاهش یابد و قابلیتهای بیشتری مانند اعتبارسنجی و مدیریت استیت فرم بهراحتی پیادهسازی شوند.
✅ بهترین لایبرریهای مدیریت فرم در ریاکت
Formik
React Hook Form
Final Form
Channel | Group | YouTube
مدیریت فرمها در ریاکت، بهویژه وقتی تعداد زیادی فیلد یا اعتبارسنجی پیچیده داریم، میتواند چالشبرانگیز باشد. استفاده از پکیجهای مدیریت فرم باعث میشود کد ما تمیزتر و ساختاریافتهتر شود، خطاها کاهش یابد و قابلیتهای بیشتری مانند اعتبارسنجی و مدیریت استیت فرم بهراحتی پیادهسازی شوند.
یکی از مهم ترین ویژگی ها در مورد این پکیجها اینه که توسعه و نگهداری اپلیکیشن رو بسیار آسانتر میکنند و بهش سرعت میبخشند. 🚀
✅ بهترین لایبرریهای مدیریت فرم در ریاکت
Formik
🔗 link
React Hook Form
🔗 link
Final Form
🔗 link
Channel | Group | YouTube
👍15🔥1
الگوریتم Mark and Sweep یکی از روشهای مهم برای مدیریت حافظه در برنامههاست، به ویژه برای بازیافت حافظه یا Garbage Collection. این الگوریتم به زبان ساده، کارش اینه که حافظهای که دیگه بهش نیازی نیست رو پیدا کرده و آزاد کنه.
توضیح فرآیند:
مرحله Mark (علامتگذاری): در این مرحله، الگوریتم تمام اشیایی که هنوز مورد استفاده هستند رو شناسایی میکند. این کار معمولاً با شروع از نقاط مشخصی در برنامه انجام میشود و به صورت عمیقتر به اشیاء مرتبط با آنها میرسد. هر شیء که به آنها دسترسی داره، برچسبگذاری میشه تا مشخص بشه که هنوز به کار میاد.
مرحله Sweep (پاکسازی): بعد از مرحله علامتگذاری، الگوریتم به حافظه برمیگرده و تمام اشیایی که برچسب نخوردهاند (یعنی به عنوان "غیر قابل دسترس" شناخته میشوند) رو شناسایی میکند. این اشیاء در واقع دیگه به کار نمیآیند و میتوانند از حافظه پاک شوند تا فضا آزاد بشه
Channel | Group | YouTube
توضیح فرآیند:
مرحله Mark (علامتگذاری): در این مرحله، الگوریتم تمام اشیایی که هنوز مورد استفاده هستند رو شناسایی میکند. این کار معمولاً با شروع از نقاط مشخصی در برنامه انجام میشود و به صورت عمیقتر به اشیاء مرتبط با آنها میرسد. هر شیء که به آنها دسترسی داره، برچسبگذاری میشه تا مشخص بشه که هنوز به کار میاد.
مرحله Sweep (پاکسازی): بعد از مرحله علامتگذاری، الگوریتم به حافظه برمیگرده و تمام اشیایی که برچسب نخوردهاند (یعنی به عنوان "غیر قابل دسترس" شناخته میشوند) رو شناسایی میکند. این اشیاء در واقع دیگه به کار نمیآیند و میتوانند از حافظه پاک شوند تا فضا آزاد بشه
Channel | Group | YouTube
👍7😁1