This media is not supported in your browser
VIEW IN TELEGRAM
الگوریتم Quick Sort به زبون ساده! | یادگیری سریع و راحت 🚀
الگوریتم Quick Sort یکی از سریعترین الگوریتمهای مرتبسازیه که با روش "تقسیم و حل" کار میکنه! 🚀 توی این ویدیو یاد میگیری چطور دادهها رو با این الگوریتم بهینه و سریع مرتب کنی.
🔴 </CodeHub>
الگوریتم Quick Sort یکی از سریعترین الگوریتمهای مرتبسازیه که با روش "تقسیم و حل" کار میکنه! 🚀 توی این ویدیو یاد میگیری چطور دادهها رو با این الگوریتم بهینه و سریع مرتب کنی.
🔴 </CodeHub>
👍2🔥1
Forwarded from DevTwitter | توییت برنامه نویسی
This media is not supported in your browser
VIEW IN TELEGRAM
اینو دیدم برام جالب بود گفتم شما هم ببینید...
پرامپتی که نوشته بودن:
"یک برنامهی پایتون بنویسید که یک توپ را نشان دهد که درون یک ششضلعی در حال چرخش میجهد. توپ باید تحت تأثیر گرانش و اصطکاک باشد و هنگام برخورد با دیوارهای در حال چرخش بهطور واقعگرایانهای بازتاب کند."
@DevTwitter | <Sam92/>
پرامپتی که نوشته بودن:
"یک برنامهی پایتون بنویسید که یک توپ را نشان دهد که درون یک ششضلعی در حال چرخش میجهد. توپ باید تحت تأثیر گرانش و اصطکاک باشد و هنگام برخورد با دیوارهای در حال چرخش بهطور واقعگرایانهای بازتاب کند."
@DevTwitter | <Sam92/>
😁2
15 پروژه اوپن سورسی که باید حتما بوکمارک داشته باشی:
1 - Frappe — Build Scalable Web Apps 🔧
2 - Permit.io — Simplified Access Control 🔒
3 - cal.com — Open-Source Scheduling Tool 🗓⌚️
4 - Screenshot-to-Code — Design to Frontend Code 🎨🔄
5. Sourcebot — Advanced Code Search 🎮⚡️
6. Mockoon — Local Mock APIs 🎮🚫
7. Plane — Simplified Agile Management ✈️
8. Activepieces — Low-Code Workflow Automation ⚙️⌛️
9. DevPod — Collaborative Dev Environments 🤖⚖️
10. SurrealDB — All-in-One Database 📊🌐
11. WunderGraph — API Workflow Optimizer 🔄🎡
12. Keep — Centralized Alert Management 🛎🌐
13. Akto — API Security Simplified ⚠️🔐
14. Podman Desktop — Simplified Container Management 🌬
15. Discourse — Modern Community Platform 🔗🌐
📚Source : LINK
🔵 </CodeHub>
1 - Frappe — Build Scalable Web Apps 🔧
2 - Permit.io — Simplified Access Control 🔒
3 - cal.com — Open-Source Scheduling Tool 🗓⌚️
4 - Screenshot-to-Code — Design to Frontend Code 🎨🔄
5. Sourcebot — Advanced Code Search 🎮⚡️
6. Mockoon — Local Mock APIs 🎮🚫
7. Plane — Simplified Agile Management ✈️
8. Activepieces — Low-Code Workflow Automation ⚙️⌛️
9. DevPod — Collaborative Dev Environments 🤖⚖️
10. SurrealDB — All-in-One Database 📊🌐
11. WunderGraph — API Workflow Optimizer 🔄🎡
12. Keep — Centralized Alert Management 🛎🌐
13. Akto — API Security Simplified ⚠️🔐
14. Podman Desktop — Simplified Container Management 🌬
15. Discourse — Modern Community Platform 🔗🌐
📚Source : LINK
🔵 </CodeHub>
👍2
Forwarded from DevTwitter | توییت برنامه نویسی
یک بزرگواری تونسته بیاد سیستم پرامپت v0 و v0 Model رو پیدا کنه حالا گذاشته توی گیت هاب
بعد گفته به صورت دیفالت این مدل از موارد معمولی از GPT-4o استفاده میکنه و برای Reasoning از Deepseek و درآینده برای فیچر اینترنت سرچ Perplexity
https://github.com/x1xhlol/v0-system-prompts-models-and-tools
@DevTwitter | <Reza"/>
بعد گفته به صورت دیفالت این مدل از موارد معمولی از GPT-4o استفاده میکنه و برای Reasoning از Deepseek و درآینده برای فیچر اینترنت سرچ Perplexity
https://github.com/x1xhlol/v0-system-prompts-models-and-tools
@DevTwitter | <Reza"/>
👍2
Forwarded from کانال دانلود تکنولوژی هوش مصنوعی
This media is not supported in your browser
VIEW IN TELEGRAM
+ اگر وبمستر، طراح سایت یا بلاگر هستی، حتما این ابزارو امتحان کن!
@RoidBest
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from Yasha
تایپاسکریپت رو دارن با Go باز نویسی میکنن و تا الان ۱۰ برابر سریعتر از قبل شده. چیزی که خیلی جالبه اینه که تیم توسعهاش با C# خیلی نزدیکه (چون پشت جفتشون مایکروسافته) و حتی سازندهاشونم یکیه. اما با این حال با وجود رقابتی که الان بین C# و Go هست، اومدن Go رو انتخاب کردن.
این اتفاق به نظرم خیلی حرفا داره برای گفتن، اگه بخوایم سطحی نگاه کنیم اینطور نتیجه میگیریم که گولنگ > سیشارپ. ولی نتیجه معقولی که تو بحثا هست اینه که آدمای باتجربه و بزرگ دنبال ابزار درست برای حل مشکل میگردن و حتی اگه اون زبان رو خودشون ساخته باشن روش تعصب ندارن که بهترینه :)
🔗 لینک پست معرفی
🔗 لینک بحث توی گیتهاب
@Yasha
این اتفاق به نظرم خیلی حرفا داره برای گفتن، اگه بخوایم سطحی نگاه کنیم اینطور نتیجه میگیریم که گولنگ > سیشارپ. ولی نتیجه معقولی که تو بحثا هست اینه که آدمای باتجربه و بزرگ دنبال ابزار درست برای حل مشکل میگردن و حتی اگه اون زبان رو خودشون ساخته باشن روش تعصب ندارن که بهترینه :)
🔗 لینک پست معرفی
🔗 لینک بحث توی گیتهاب
@Yasha
👍7
🔸 اگه میخوای اندازه Bundle پروژهات رو کم کنی و سرعت لود سایت رو به شدت بالا ببری، باید چندتا نکته کلیدی رو رعایت کنی. 🚀
۱. تجزیه و تحلیل Bundle 🧐
چی کار میکنه؟
قبل از هر کاری، بفهم که چه چیزایی توی Bundle فضا رو میگیرند. ابزارهایی مثل
۲. حذف وابستگیهای غیرضروری ✂️
چرا مهمه؟
توی پروژههات ممکنه dependency هایی وجود داشته باشه که یا اصلاً استفاده نمیشن یا به بهینهترین شکل نوشته نشدهاند. حذف یا جایگزینی این وابستگیها میتونه اندازه Bundle رو خیلی کاهش بده.
۳. استفاده از Code Splitting 🔀
مفهوم کلی:
به جای اینکه کل کد رو توی یه فایل بزرگ بریزی، اون رو به قسمتهای کوچکتر تقسیم کن.
مزایا:
- فقط بخشهایی که کاربر نیاز داره در ابتدا لود میشه.
- زمان بارگذاری اولیه کمتر میشود.
- تجربه کاربری بهتری فراهم میشود.
❗️تصور کن یه کتاب ضخیم رو بخونی؛ به جای اینکه کل کتاب رو یکجا بخونی، فقط فصل یا بخش مورد نیازت رو میخونی!
۴. استفاده از Tree Shaking 🌳
هدف این تکنیک:
حذف قسمتهای غیرضروری کد که هرگز اجرا نمیشن، به طوری که فقط کدهای واقعی و کاربردی داخل Bundle بمونن.
نتیجه:
یک Bundle تمیزتر و بهینهتر که باعث بهبود عملکرد برنامه میشه.
💡 نتیجهگیری:
کاهش حجم Bundle باعث میشه سایت یا اپلیکیشن شما سریعتر، کارآمدتر و بهینهتر عمل کنه. این تغییرات نه تنها رضایت کاربران رو بالا میبره، بلکه از نظر SEO هم به بهبود رتبه سایت کمک میکن.
🔵</CodeHub>
۱. تجزیه و تحلیل Bundle 🧐
چی کار میکنه؟
قبل از هر کاری، بفهم که چه چیزایی توی Bundle فضا رو میگیرند. ابزارهایی مثل
Bundle
Analyzer
با نمودارهای تصویری کمک میکنن تا جزئیات و بخشهای سنگین کد رو به راحتی شناسایی کنی.۲. حذف وابستگیهای غیرضروری ✂️
چرا مهمه؟
توی پروژههات ممکنه dependency هایی وجود داشته باشه که یا اصلاً استفاده نمیشن یا به بهینهترین شکل نوشته نشدهاند. حذف یا جایگزینی این وابستگیها میتونه اندازه Bundle رو خیلی کاهش بده.
۳. استفاده از Code Splitting 🔀
مفهوم کلی:
به جای اینکه کل کد رو توی یه فایل بزرگ بریزی، اون رو به قسمتهای کوچکتر تقسیم کن.
مزایا:
- فقط بخشهایی که کاربر نیاز داره در ابتدا لود میشه.
- زمان بارگذاری اولیه کمتر میشود.
- تجربه کاربری بهتری فراهم میشود.
❗️تصور کن یه کتاب ضخیم رو بخونی؛ به جای اینکه کل کتاب رو یکجا بخونی، فقط فصل یا بخش مورد نیازت رو میخونی!
۴. استفاده از Tree Shaking 🌳
هدف این تکنیک:
حذف قسمتهای غیرضروری کد که هرگز اجرا نمیشن، به طوری که فقط کدهای واقعی و کاربردی داخل Bundle بمونن.
نتیجه:
یک Bundle تمیزتر و بهینهتر که باعث بهبود عملکرد برنامه میشه.
💡 نتیجهگیری:
کاهش حجم Bundle باعث میشه سایت یا اپلیکیشن شما سریعتر، کارآمدتر و بهینهتر عمل کنه. این تغییرات نه تنها رضایت کاربران رو بالا میبره، بلکه از نظر SEO هم به بهبود رتبه سایت کمک میکن.
🔵</CodeHub>
👍3
CodeHub
🔸 اگه میخوای اندازه Bundle پروژهات رو کم کنی و سرعت لود سایت رو به شدت بالا ببری، باید چندتا نکته کلیدی رو رعایت کنی. 🚀 ۱. تجزیه و تحلیل Bundle 🧐 چی کار میکنه؟ قبل از هر کاری، بفهم که چه چیزایی توی Bundle فضا رو میگیرند. ابزارهایی مثل Bundle Analyzer…
🔹 چرا Code Splitting مهمه؟ 🚀
1 - افزایش سرعت لود:
با تقسیم کد به بخشهای کوچکتر، نیاز نیست کل کد یکجا دانلود بشه، بنابراین صفحه سریعتر لود میشه. ⚡️
2 - صرفهجویی در منابع:
فقط زمانی که کاربر به یک بخش خاص از برنامه نیاز داره، اون بخش از سرور دریافت میشه، که بهینهسازی منابع رو به دنبال داره. 💾
3 - بهبود تجربه کاربری:
کاهش زمان انتظار برای بارگذاری کامل برنامه، مخصوصاً در دستگاههایی با اینترنت کند، تجربه کاربری رو بهبود میبخشه. 😊
🔹 چطور Code Splitting در React انجام میشه؟ ⚛️
در React، میتونیم با استفاده از dynamic imports و ابزارهایی مثل React.lazy و Suspense، کد رو به بخشهای کوچکتر تقسیم کنیم. برای مثال:
در این مثال، OtherComponent فقط زمانی بارگذاری میشه که واقعاً لازم باشه. اگر کاربر به بخشی از برنامه که این کامپوننت استفاده میشه دسترسی پیدا کنه، کد اون کامپوننت از سرور دریافت و اجرا میشه. این روش به بهبود عملکرد و کاهش زمان بارگذاری کمک میکنه.
🔹 نکات کاربردی 🛠
تقسیمبندی مسیرها (Route-based Splitting):
در برنامههای چند صفحهای، هر صفحه رو به صورت جداگانه بارگذاری کنیم تا زمان لود کاهش پیدا کنه.
پیکربندی ابزار Build:
ابزارهایی مثل Vite یا Webpack بهطور خودکار از تکنیکهای Code Splitting استفاده میکنن، اما میتونیم با تنظیمات دستی هم به این کار بپردازیم.
🔵</CodeHub>
1 - افزایش سرعت لود:
با تقسیم کد به بخشهای کوچکتر، نیاز نیست کل کد یکجا دانلود بشه، بنابراین صفحه سریعتر لود میشه. ⚡️
2 - صرفهجویی در منابع:
فقط زمانی که کاربر به یک بخش خاص از برنامه نیاز داره، اون بخش از سرور دریافت میشه، که بهینهسازی منابع رو به دنبال داره. 💾
3 - بهبود تجربه کاربری:
کاهش زمان انتظار برای بارگذاری کامل برنامه، مخصوصاً در دستگاههایی با اینترنت کند، تجربه کاربری رو بهبود میبخشه. 😊
🔹 چطور Code Splitting در React انجام میشه؟ ⚛️
در React، میتونیم با استفاده از dynamic imports و ابزارهایی مثل React.lazy و Suspense، کد رو به بخشهای کوچکتر تقسیم کنیم. برای مثال:
import React, { Suspense } from 'react';
// بارگذاری تنبل (Lazy Loading) یک کامپوننت
const OtherComponent = React.lazy(() => import('./OtherComponent'));
function App() {
return (
<div>
<h1>برنامه من</h1>
{/* استفاده از Suspense برای نمایش fallback تا زمان بارگذاری کامپوننت */}
<Suspense fallback={<div>در حال بارگذاری...</div>}>
<OtherComponent />
</Suspense>
</div>
);
}
export default App;
در این مثال، OtherComponent فقط زمانی بارگذاری میشه که واقعاً لازم باشه. اگر کاربر به بخشی از برنامه که این کامپوننت استفاده میشه دسترسی پیدا کنه، کد اون کامپوننت از سرور دریافت و اجرا میشه. این روش به بهبود عملکرد و کاهش زمان بارگذاری کمک میکنه.
🔹 نکات کاربردی 🛠
تقسیمبندی مسیرها (Route-based Splitting):
در برنامههای چند صفحهای، هر صفحه رو به صورت جداگانه بارگذاری کنیم تا زمان لود کاهش پیدا کنه.
پیکربندی ابزار Build:
ابزارهایی مثل Vite یا Webpack بهطور خودکار از تکنیکهای Code Splitting استفاده میکنن، اما میتونیم با تنظیمات دستی هم به این کار بپردازیم.
🔵</CodeHub>
🔥1
Forwarded from DotNet | دات نت
در ادامه یک راهنمای کامل و بهبود یافته برای استفاده رایگان از Cursor ارائه شده است. لطفاً مراحل زیر را به ترتیب با دقت دنبال کنید:
---
گام ۱: خروج از حساب کاربری Cursor
1. خروج از حساب (Logout):
ابتدا از حساب کاربری Cursor خود خارج شوید. این کار تضمین میکند که تنظیمات قبلی یا اطلاعات ورود مانع روند ثبتنام جدید نشوند.
2. راهاندازی مجدد برنامه:
پس از خروج، برنامه Cursor را دوباره اجرا کنید تا مطمئن شوید در وضعیت خارج از حساب هستید.
---
گام ۲: اجرای PowerShell
1. باز کردن PowerShell:
برنامه Windows PowerShell را اجرا کنید. این محیط به شما امکان میدهد تا دستورات خط فرمان را وارد کرده و اسکریپتهای لازم را اجرا کنید.
2. اجرای اسکریپت نصب:
در پنجره PowerShell، دستور زیر را وارد کنید:
توضیح:
دستور irm مخفف Invoke-RestMethod است که فایل اسکریپت نصب را از گیتهاب دانلود میکند.
عملگر | خروجی دستور اول را به دستور دوم (که در اینجا liex است) میدهد.
با اجرای این دستور، اسکریپت نصب اجرا شده و فرآیند تنظیمات اولیه آغاز میشود.
---
گام ۳: ثبتنام جدید در Cursor
1. انتخاب گزینه ثبتنام:
پس از اجرای موفق اسکریپت، در منوی ارائه شده گزینه "Cursor New Register" را انتخاب کنید.
2. شروع فرآیند ثبتنام توسط ربات:
به محض انتخاب گزینه، ربات به صورت خودکار فعال شده و تلاش میکند شما را در سیستم ثبت کند.
3. نکات مهم در این مرحله:
فعال بودن فیلترشکن:
مطمئن شوید فیلترشکن (VPN) شما فعال است. این امر به دلیل محدودیتهای جغرافیایی و دسترسی به سرورهای مورد نیاز ضروری است.
تأیید عدم ربات بودن:
قبل از کلیک روی دکمه مربوط به ربات، گزینه "من ربات نیستم" را فعال کنید. این اقدام از بروز خطاهای احتمالی در فرآیند ثبتنام جلوگیری میکند.
---
گام ۴: تکمیل ثبتنام و استفاده از Cursor
1. تغییر شناسه دستگاه:
پس از تکمیل فرآیند ثبتنام، شناسه (Machine ID) دستگاه شما تغییر میکند. این تغییر به معنای موفقیتآمیز بودن ثبتنام و فعال شدن خدمات رایگان Cursor است.
2. استفاده از نسخه جدید Cursor:
حالا میتوانید از امکانات و ویژگیهای جدید Cursor بهره ببرید.
3. پیشنهاد مهم:
توصیه میشود پس از تکمیل ثبتنام، از بهروزرسانی (Update) خودداری کنید تا تنظیمات و دسترسی رایگان شما حفظ شود.
---
با دنبال کردن دقیق مراحل فوق، میتوانید به راحتی از نسخه رایگان Cursor استفاده کرده و از امکانات آن لذت ببرید.
---
گام ۱: خروج از حساب کاربری Cursor
1. خروج از حساب (Logout):
ابتدا از حساب کاربری Cursor خود خارج شوید. این کار تضمین میکند که تنظیمات قبلی یا اطلاعات ورود مانع روند ثبتنام جدید نشوند.
2. راهاندازی مجدد برنامه:
پس از خروج، برنامه Cursor را دوباره اجرا کنید تا مطمئن شوید در وضعیت خارج از حساب هستید.
---
گام ۲: اجرای PowerShell
1. باز کردن PowerShell:
برنامه Windows PowerShell را اجرا کنید. این محیط به شما امکان میدهد تا دستورات خط فرمان را وارد کرده و اسکریپتهای لازم را اجرا کنید.
2. اجرای اسکریپت نصب:
در پنجره PowerShell، دستور زیر را وارد کنید:
irm https://raw.githubusercontent.com/yeongpin/cursor-free-vip/main/scripts/install.ps1 | iex
توضیح:
دستور irm مخفف Invoke-RestMethod است که فایل اسکریپت نصب را از گیتهاب دانلود میکند.
عملگر | خروجی دستور اول را به دستور دوم (که در اینجا liex است) میدهد.
با اجرای این دستور، اسکریپت نصب اجرا شده و فرآیند تنظیمات اولیه آغاز میشود.
---
گام ۳: ثبتنام جدید در Cursor
1. انتخاب گزینه ثبتنام:
پس از اجرای موفق اسکریپت، در منوی ارائه شده گزینه "Cursor New Register" را انتخاب کنید.
2. شروع فرآیند ثبتنام توسط ربات:
به محض انتخاب گزینه، ربات به صورت خودکار فعال شده و تلاش میکند شما را در سیستم ثبت کند.
3. نکات مهم در این مرحله:
فعال بودن فیلترشکن:
مطمئن شوید فیلترشکن (VPN) شما فعال است. این امر به دلیل محدودیتهای جغرافیایی و دسترسی به سرورهای مورد نیاز ضروری است.
تأیید عدم ربات بودن:
قبل از کلیک روی دکمه مربوط به ربات، گزینه "من ربات نیستم" را فعال کنید. این اقدام از بروز خطاهای احتمالی در فرآیند ثبتنام جلوگیری میکند.
---
گام ۴: تکمیل ثبتنام و استفاده از Cursor
1. تغییر شناسه دستگاه:
پس از تکمیل فرآیند ثبتنام، شناسه (Machine ID) دستگاه شما تغییر میکند. این تغییر به معنای موفقیتآمیز بودن ثبتنام و فعال شدن خدمات رایگان Cursor است.
2. استفاده از نسخه جدید Cursor:
حالا میتوانید از امکانات و ویژگیهای جدید Cursor بهره ببرید.
3. پیشنهاد مهم:
توصیه میشود پس از تکمیل ثبتنام، از بهروزرسانی (Update) خودداری کنید تا تنظیمات و دسترسی رایگان شما حفظ شود.
---
با دنبال کردن دقیق مراحل فوق، میتوانید به راحتی از نسخه رایگان Cursor استفاده کرده و از امکانات آن لذت ببرید.
Forwarded from DevTwitter | توییت برنامه نویسی
This media is not supported in your browser
VIEW IN TELEGRAM
یک نفر اومده پرامتِ یکسانی رو رویِ ۱۸ مدل تست کرده. اینم نتیجهش. فقط DeepSeek R1 که داره برعکس میچرخه. :))))
@DevTwitter | <Ayub Kokabi/>
@DevTwitter | <Ayub Kokabi/>
🔥3
سال نو شد و مثل یه ریاستارت تازه، وقتشه که کدهای زندگیمونو بهینهتر و بیباگتر بنویسیم! 😃💻
امیدوارم امسال همهی پروژههاتون بدون ارور بیلد بشه، هیچ باگی اذیتتون نکنه و همیشه توی گیتلایف موفق باشید! 🎯🚀
⚡️💙 عیدتون پر از شادی و موفقیت! 💙⚡️
امیدوارم امسال همهی پروژههاتون بدون ارور بیلد بشه، هیچ باگی اذیتتون نکنه و همیشه توی گیتلایف موفق باشید! 🎯🚀
⚡️💙 عیدتون پر از شادی و موفقیت! 💙⚡️
❤2🔥2
Forwarded from تِکبوکولوژی | Techbookology (Mahdi Jafari)
یه لیست فوقالعاده از ۱۰۰ پروژه در دستههای مختلف که کمک میکنه در هر سطحی هستید، بتونید مهارت برنامهنویسیتون رو بهبود بدید
اگر دنبال ایده برای پروژه هستید از دستش ندید
https://github.com/florinpop17/app-ideas
➖➖➖➖➖➖➖➖
✅ @Techbookology
اگر دنبال ایده برای پروژه هستید از دستش ندید
https://github.com/florinpop17/app-ideas
➖➖➖➖➖➖➖➖
✅ @Techbookology
چند تا ترفند باحال برای افزایش سرعت اجرای برنامههای Next.js , این نکات به بهبود عملکرد برنامهها کمک میکنن :
1️⃣ استفاده کمتر از useEffect: اگر بخشی از کدتون رو میشه خارج از useEffect مدیریت کرد، حتماً این کار رو بکنید تا رندر اولیه سریعتر انجام بشه.
2️⃣ استفاده از next/image: این کامپوننت تصاویر رو به صورت بهینه و lazy load بارگذاری میکنه که باعث میشه صفحه سریعتر نمایش داده بشه. 📸
3️⃣ انتقال محاسبات به سرور: سعی کنید کدهای سنگین محاسباتی رو به سمت سرور بفرستید تا کلاینت از بار اضافی رهایی پیدا کنه.
4️⃣ استفاده از getStaticProps: با این متد، محتواها در زمان build به صورت استاتیک تولید میشن، در نتیجه زمان بارگذاری صفحات کاهش پیدا میکنه. 🚀
5️⃣ بهینهسازی فونتها: انتخاب فونتهای مناسب و کاهش درخواستهای اضافی فونت میتونه تاثیر زیادی در سرعت لود صفحه داشته باشه.
6️⃣ فشردهسازی (compress) و کشینگ: فعال کردن این فیچرها باعث میشه تا حجم فایلها کاهش پیدا کنه و کاربرها سریعتر به اطلاعات دسترسی پیدا کنن. ⚡️
7️⃣ استفاده از dynamic imports: کدهایی که نیازی به بارگذاری همزمان با صفحه ندارن رو به صورت دینامیک ایمپورت کنید تا تنها زمانی که نیاز هست، لود بشن. 📦
8️⃣ بهینهسازی استایلها: استفاده از روشهای مدرن مثل CSS-in-JS یا استفاده از استایلهای کمحجم، به کاهش زمان رندر کمک میکنه.
9️⃣ به کارگیری CDN: استفاده از Content Delivery Network برای فایلهای استاتیک مثل تصاویر و ویدئوها، زمان بارگذاری رو به طرز چشمگیری کم میکنه. 🌐
برای اطلاعات بیشتر میتونید این مقاله جالب رو مطالعه کنید: لینک مقاله 📚
🔵 <CodeHub/>
1️⃣ استفاده کمتر از useEffect: اگر بخشی از کدتون رو میشه خارج از useEffect مدیریت کرد، حتماً این کار رو بکنید تا رندر اولیه سریعتر انجام بشه.
2️⃣ استفاده از next/image: این کامپوننت تصاویر رو به صورت بهینه و lazy load بارگذاری میکنه که باعث میشه صفحه سریعتر نمایش داده بشه. 📸
3️⃣ انتقال محاسبات به سرور: سعی کنید کدهای سنگین محاسباتی رو به سمت سرور بفرستید تا کلاینت از بار اضافی رهایی پیدا کنه.
4️⃣ استفاده از getStaticProps: با این متد، محتواها در زمان build به صورت استاتیک تولید میشن، در نتیجه زمان بارگذاری صفحات کاهش پیدا میکنه. 🚀
5️⃣ بهینهسازی فونتها: انتخاب فونتهای مناسب و کاهش درخواستهای اضافی فونت میتونه تاثیر زیادی در سرعت لود صفحه داشته باشه.
6️⃣ فشردهسازی (compress) و کشینگ: فعال کردن این فیچرها باعث میشه تا حجم فایلها کاهش پیدا کنه و کاربرها سریعتر به اطلاعات دسترسی پیدا کنن. ⚡️
7️⃣ استفاده از dynamic imports: کدهایی که نیازی به بارگذاری همزمان با صفحه ندارن رو به صورت دینامیک ایمپورت کنید تا تنها زمانی که نیاز هست، لود بشن. 📦
8️⃣ بهینهسازی استایلها: استفاده از روشهای مدرن مثل CSS-in-JS یا استفاده از استایلهای کمحجم، به کاهش زمان رندر کمک میکنه.
9️⃣ به کارگیری CDN: استفاده از Content Delivery Network برای فایلهای استاتیک مثل تصاویر و ویدئوها، زمان بارگذاری رو به طرز چشمگیری کم میکنه. 🌐
برای اطلاعات بیشتر میتونید این مقاله جالب رو مطالعه کنید: لینک مقاله 📚
🔵 <CodeHub/>
⚡3👍1🔥1
🚀 #WorldBackupDay
۳۱ مارس - روز جهانی بکاپ , امروز یه یادآوری برای همه ست که از دادههای ارزشمندشون نسخه پشتیبان (بکاپ) تهیه کنن!
آمار جالب درباره بکاپ :
✅ ۳۰٪ افراد هیچوقت از اطلاعاتشون بکاپ نمیگیرن!
✅ ۲۹٪ از مواقع، از دست دادن دادهها به دلیل خطای انسانی اتفاق میافته!
✅ ۱۱۳ تلفن در دقیقه گم یا دزدیده میشن! 📱
✅ ۶۰٪ از شرکتهایی که اطلاعات مهمشون رو از دست میدن، طی ۶ ماه تعطیل میشن!
📌 امروز وقتشه که یه بکاپ از اطلاعات مهمت بگیری و خیال خودتو راحت کنی! 😉💾
۳۱ مارس - روز جهانی بکاپ , امروز یه یادآوری برای همه ست که از دادههای ارزشمندشون نسخه پشتیبان (بکاپ) تهیه کنن!
آمار جالب درباره بکاپ :
✅ ۳۰٪ افراد هیچوقت از اطلاعاتشون بکاپ نمیگیرن!
✅ ۲۹٪ از مواقع، از دست دادن دادهها به دلیل خطای انسانی اتفاق میافته!
✅ ۱۱۳ تلفن در دقیقه گم یا دزدیده میشن! 📱
✅ ۶۰٪ از شرکتهایی که اطلاعات مهمشون رو از دست میدن، طی ۶ ماه تعطیل میشن!
📌 امروز وقتشه که یه بکاپ از اطلاعات مهمت بگیری و خیال خودتو راحت کنی! 😉💾
👍1
Forwarded from Webinarfarsi | Soheib Kiani | وبینار فارسی
بخونید جالبه
The difference between a $120K developer and a $250K tech lead isn't coding skills.
It's this one thing:
Communication.
Specifically, how you translate technical concepts into business value.
I've watched brilliant coders get stuck at mid-level while others with average technical skills zoom past them into leadership roles.
The secret? Senior developers understand that leadership doesn't speak "code" - they speak business outcomes.
Let me show you what this looks like:
JUNIOR DEV: "We need to refactor our authentication service because the JWT implementation has significant technical debt. The current singleton pattern is causing memory leaks."
[Leadership's reaction: blank stares, immediate mental checkout]
SENIOR DEV: "Our user login system is at risk of failing during peak traffic, which could cost us $20K per hour in lost transactions. I've identified a two-week solution that would prevent these outages AND reduce our AWS costs by 15% monthly."
[Leadership's reaction: immediate prioritization and resources]
After observing successful senior devs, I've identified their 3-part "Business Translation Framework":
1️⃣ Business Impact First - Always lead with cost, revenue, risk, or time savings
2️⃣ Stakeholder-Specific Language - Executives care about strategy, PMs care about features, designers care about user experience
3️⃣ Visual Simplification - Use analogies and simple diagrams ("Our current architecture is like a single-lane highway during rush hour")
The truth is, your technical expertise only matters if others understand its value. The career multiplier isn't writing more code - it's communicating that code's value to decision-makers.
The difference between a $120K developer and a $250K tech lead isn't coding skills.
It's this one thing:
Communication.
Specifically, how you translate technical concepts into business value.
I've watched brilliant coders get stuck at mid-level while others with average technical skills zoom past them into leadership roles.
The secret? Senior developers understand that leadership doesn't speak "code" - they speak business outcomes.
Let me show you what this looks like:
JUNIOR DEV: "We need to refactor our authentication service because the JWT implementation has significant technical debt. The current singleton pattern is causing memory leaks."
[Leadership's reaction: blank stares, immediate mental checkout]
SENIOR DEV: "Our user login system is at risk of failing during peak traffic, which could cost us $20K per hour in lost transactions. I've identified a two-week solution that would prevent these outages AND reduce our AWS costs by 15% monthly."
[Leadership's reaction: immediate prioritization and resources]
After observing successful senior devs, I've identified their 3-part "Business Translation Framework":
1️⃣ Business Impact First - Always lead with cost, revenue, risk, or time savings
2️⃣ Stakeholder-Specific Language - Executives care about strategy, PMs care about features, designers care about user experience
3️⃣ Visual Simplification - Use analogies and simple diagrams ("Our current architecture is like a single-lane highway during rush hour")
The truth is, your technical expertise only matters if others understand its value. The career multiplier isn't writing more code - it's communicating that code's value to decision-makers.
👍7
#js
با این تریک میتونید به کلیپبورد یوزر دسترسی داشته باشید و سیستم کپی پیست خودتون رو داشته باشید.
🔴<CodeHub/>
با این تریک میتونید به کلیپبورد یوزر دسترسی داشته باشید و سیستم کپی پیست خودتون رو داشته باشید.
🔴<CodeHub/>
❤3
یه ویدئوی عالی دربارهی نحوه کار Event Loop، Web APIs و Task Queue در جاوااسکریپت که خیلی جالب بود!
https://youtu.be/eiC58R16hb8?si=rFgZIo_I0Lh3rQ03
🔴<CodeHub/>
https://youtu.be/eiC58R16hb8?si=rFgZIo_I0Lh3rQ03
🔴<CodeHub/>
YouTube
JavaScript Visualized - Event Loop, Web APIs, (Micro)task Queue
Learn how the browser event loop, task queue, microtask queue, and Web APIs work together to enable non-blocking, asynchronous JavaScript.
- https://www.patreon.com/LydiaHallie
- https://buymeacoffee.com/lydiahallie
- https://twitter.com/lydiahallie
- …
- https://www.patreon.com/LydiaHallie
- https://buymeacoffee.com/lydiahallie
- https://twitter.com/lydiahallie
- …
⚡4👍2
CodeHub
یه ویدئوی عالی دربارهی نحوه کار Event Loop، Web APIs و Task Queue در جاوااسکریپت که خیلی جالب بود! https://youtu.be/eiC58R16hb8?si=rFgZIo_I0Lh3rQ03 🔴<CodeHub/>
جاوااسکریپت یک زبان تکترد است، به این معنی که در هر لحظه فقط میتواند یک عملیات را اجرا کند. برای مدیریت عملیاتهای غیرهمزمان (asynchronous)، مفاهیمی مانند حلقه رویداد (Event Loop)، وب APIها (Web APIs) و صفهای وظیفه (Task Queues) در این زبان وجود دارند.
پشته فراخوانی (Call Stack): محل ذخیرهسازی توابعی است که قرار است اجرا شوند. هر زمان که تابعی فراخوانی میشود، به بالای پشته افزوده میشود و پس از اتمام اجرا، از پشته خارج میشود.
وب APIها (Web APIs): مرورگرها مجموعهای از APIها را فراهم میکنند که امکان انجام عملیاتهای غیرهمزمانی مثل تایمرها (setTimeout)، درخواستهای شبکهای (fetch) و مدیریت رویدادها را میدهند. این عملیاتها خارج از پشته فراخوانی و در محیط مرورگر انجام میشوند.
صف وظایف (Task Queue): زمانی که یک عملیات غیرهمزمان به پایان میرسد، تابع بازگشتی آن در صف وظایف قرار میگیرد تا زمانی که پشته فراخوانی خالی شود، در نوبت اجرا قرار گیرد.
حلقه رویداد (Event Loop): مکانیزمی است که بهطور مداوم بررسی میکند آیا پشته فراخوانی خالی است یا خیر. اگر خالی باشد، اولین تابع از صف وظایف را به پشته اضافه کرده و اجرا میکند. این فرایند به جاوااسکریپت این امکان را میدهد که عملیاتهای غیرهمزمان را مدیریت کند و یک رابط کاربری پاسخگو ایجاد نماید.
صف میکروتسکها (Microtask Queue): این صف حاوی وظایفی با اولویت بالاتر است، مانند توابع بازگشتی مربوط به Promiseها. حلقه رویداد ابتدا تمام میکروتسکها را قبل از پردازش تسکهای عادی از صف وظایف اجرا میکند.
🔴<CodeHub/>
پشته فراخوانی (Call Stack): محل ذخیرهسازی توابعی است که قرار است اجرا شوند. هر زمان که تابعی فراخوانی میشود، به بالای پشته افزوده میشود و پس از اتمام اجرا، از پشته خارج میشود.
وب APIها (Web APIs): مرورگرها مجموعهای از APIها را فراهم میکنند که امکان انجام عملیاتهای غیرهمزمانی مثل تایمرها (setTimeout)، درخواستهای شبکهای (fetch) و مدیریت رویدادها را میدهند. این عملیاتها خارج از پشته فراخوانی و در محیط مرورگر انجام میشوند.
صف وظایف (Task Queue): زمانی که یک عملیات غیرهمزمان به پایان میرسد، تابع بازگشتی آن در صف وظایف قرار میگیرد تا زمانی که پشته فراخوانی خالی شود، در نوبت اجرا قرار گیرد.
حلقه رویداد (Event Loop): مکانیزمی است که بهطور مداوم بررسی میکند آیا پشته فراخوانی خالی است یا خیر. اگر خالی باشد، اولین تابع از صف وظایف را به پشته اضافه کرده و اجرا میکند. این فرایند به جاوااسکریپت این امکان را میدهد که عملیاتهای غیرهمزمان را مدیریت کند و یک رابط کاربری پاسخگو ایجاد نماید.
صف میکروتسکها (Microtask Queue): این صف حاوی وظایفی با اولویت بالاتر است، مانند توابع بازگشتی مربوط به Promiseها. حلقه رویداد ابتدا تمام میکروتسکها را قبل از پردازش تسکهای عادی از صف وظایف اجرا میکند.
🔴<CodeHub/>
🔥6
Forwarded from DevTwitter | توییت برنامه نویسی
من کتاب مهندسی پرامپت گوگل که چند روزه وایرال شده رو به فارسی ترجمه کردم و گذاشتم روی گیتهاب.
کتاب خوبیه، سبکه و اصول اولیه و روشهای اصلی رو شرح داده و دستهبندی کرده و خواننده یه جورایی شیرفهم میشه که چطوری میشه پرامپت نوشت.
بخونین و به اشتراک بذارید
https://teal33t.github.io/prompt-engineering/
@DevTwitter | <Saman/>
کتاب خوبیه، سبکه و اصول اولیه و روشهای اصلی رو شرح داده و دستهبندی کرده و خواننده یه جورایی شیرفهم میشه که چطوری میشه پرامپت نوشت.
بخونین و به اشتراک بذارید
https://teal33t.github.io/prompt-engineering/
@DevTwitter | <Saman/>
👍3