تفاوت بین SSR, CSR, SSG و ISR : بررسی دقیق و کاربردی
بعضی وقتا توی دنیای وب، وقتی میخوایم سایتهامون رو بسازیم، با اصطلاحاتی مثل SSR، CSR، SSG و ISR روبهرو میشیم. اما اینا چیا هستن و چه تفاوتهایی با هم دارن؟ 🤔
🔸 (رندر سمت کلاینت) CSR :
🔸 (رندر سمت سرور) SSR :
🔸 (تولید سایت ایستا) SSG :
🔸(بازسازی استاتیک افزایشی) ISR :
🕔 زمان مناسب استفاده از هر کدوم:
🔹 (رندر سمت کلاینت) CSR: برای اپلیکیشنهای پیچیده و پویا
🔹 (رندر سمت سرور) SSR: برای سایتهایی که نیاز به SEO بالا و سرعت بارگذاری اولیه دارند
🔹 (تولید سایت ایستا) SSG : برای سایتهای ثابت و کم تغییر
🔹 (بازسازی استاتیک افزایشی) ISR : برای سایتهایی که نیاز به محتوای ثابت و بهروز دارند بدون نیاز به استقرار مجدد
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
بعضی وقتا توی دنیای وب، وقتی میخوایم سایتهامون رو بسازیم، با اصطلاحاتی مثل SSR، CSR، SSG و ISR روبهرو میشیم. اما اینا چیا هستن و چه تفاوتهایی با هم دارن؟ 🤔
🔸 (رندر سمت کلاینت) CSR :
در این روش، محتوا در مرورگر کاربر با استفاده از جاوا اسکریپت رندر میشه. در اینجا، سرور فقط دادههای خام رو میفرسته و بارگذاری صفحه با استفاده از جاوا اسکریپت و استایلها در مرورگر کاربر اتفاق میفته. این روش برای اپلیکیشنهای پیچیده و با محتوای پویا مناسبتره، ولی یه مشکل اصلی داره: SEO به خاطر اینکه موتورهای جستجو نمیتونن محتوای جاوا اسکریپت رو درست ایندکس کنن.
🔸 (رندر سمت سرور) SSR :
این روش یه مزیت بزرگ برای سئو داره چون محتوای HTML قبل از ارسال به مرورگر روی سرور رندر میشه. یعنی سرور مسئولیت ساخت محتوای صفحه رو بر عهده میگیره و به کاربر یک صفحه کامل و آماده میده. البته بار سرور بالا میره و ممکنه واکشی دادهها زمانبر بشه.
🔸 (تولید سایت ایستا) SSG :
در این روش، تمام صفحات سایت در زمان ساخت به صورت HTML ایستا رندر میشن. این یعنی صفحات از قبل آمادهسازی میشن و وقتی کاربر درخواست میده، سریع بهش داده میشه. این استراتژی برای سایتهایی که نیاز به محتوای ثابت دارن عالیه، چون بارگذاری خیلی سریعتره و امنیت بیشتره.
🔸(بازسازی استاتیک افزایشی) ISR :
این روش ترکیبی از SSR و SSG هست. یعنی میشه صفحات ایستا رو پیش از زمان ساخت آماده کرد و بهطور دورهای صفحات خاصی رو با دادههای جدید بهروز کرد. این مدل برای سایتهایی که هم نیاز به سرعت بالا و هم نیاز به دادههای بهروز دارند، بهترین گزینه است.
🕔 زمان مناسب استفاده از هر کدوم:
🔹 (رندر سمت کلاینت) CSR: برای اپلیکیشنهای پیچیده و پویا
🔹 (رندر سمت سرور) SSR: برای سایتهایی که نیاز به SEO بالا و سرعت بارگذاری اولیه دارند
🔹 (تولید سایت ایستا) SSG : برای سایتهای ثابت و کم تغییر
🔹 (بازسازی استاتیک افزایشی) ISR : برای سایتهایی که نیاز به محتوای ثابت و بهروز دارند بدون نیاز به استقرار مجدد
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
👍1
Forwarded from Ditty | دیتی
آرایه با عضو اجباری توی تایپاسکریپت؟ 🤔
برای مثال چکار کنیم وقتی میخوایم یک تایپ برای یک آرایه داشته باشیم که:
۱. اعضای اون عددی باشن
۲. میخوایم کاربر رو مجبور کنیم که حتماً این آرایه رو خالی نذاره
از ترفند خط ۶ عکس استفاده میکنیم 👌
#typenoscript
برای مثال چکار کنیم وقتی میخوایم یک تایپ برای یک آرایه داشته باشیم که:
۱. اعضای اون عددی باشن
۲. میخوایم کاربر رو مجبور کنیم که حتماً این آرایه رو خالی نذاره
از ترفند خط ۶ عکس استفاده میکنیم 👌
#typenoscript
👍2
یکی از دوستان پلتفرمی رو معرفی کرد که خیلی خوبه برای تقویت مهارت های مهندس نرم افزار
اینطوریه که بصورت مرحله به مرحله شمارو راهنمایی میکنه که یکی از ابزارهای پرکاربرد رو از صفر توسعه بدید، ابزارهایی مثل ردیس یا git و غیره…
البته خیلی از قسمت هاش پولیه ولی برای ایرانیا ۵۰ درصد تخفیف میده
https://app.codecrafters.io/pay
Become a better software engineer.
Stop following tutorials designed for beginners.
Start working on projects that actually challenge you.
Become a better engineer through deliberate practice.
https://codecrafters.io
---------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
اینطوریه که بصورت مرحله به مرحله شمارو راهنمایی میکنه که یکی از ابزارهای پرکاربرد رو از صفر توسعه بدید، ابزارهایی مثل ردیس یا git و غیره…
البته خیلی از قسمت هاش پولیه ولی برای ایرانیا ۵۰ درصد تخفیف میده
https://app.codecrafters.io/pay
Become a better software engineer.
Stop following tutorials designed for beginners.
Start working on projects that actually challenge you.
Become a better engineer through deliberate practice.
https://codecrafters.io
---------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
❤2👍1
Forwarded from Webinarfarsi | Soheib Kiani | وبینار فارسی
Linkedin
#استخدام #اُکالا #engineering | Okala | اُکالا
ما در اُکالا به دنبال یک Senior Front-End Developer هستیم که با پیوستن به تیم مهندسی، به ما کمک کنه تجربهای سریع، کاربرپسند و مقیاسپذیر برای کاربرانمون بسازیم.
اگه تجربه توسعه UI وب اپلیکیشن با React و Next.js این فرصت شغلی برای توئه.
میتونی جزئیات…
اگه تجربه توسعه UI وب اپلیکیشن با React و Next.js این فرصت شغلی برای توئه.
میتونی جزئیات…
👍3
📤این سایت (chatgot) هوش مصنوعی یک واسطه بین چند هوش مصنوعی مخلف از جلمه chatgpt و bard و midjourney هست. در اصل خود chatgot یک هوش مصنوعی نیست و فقط شما رو به چند هوش مصنوعی معروف وصل میکنه.
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
👍2
نمونهای از مصاحبه با شرکت Google
⭐️ بسیار مهم و کاربردی ⭐️
این ویدئو به شما نشون میده چطور تو مصاحبهی های فنی رفتار کنید
به عنوان مثال:
- سعی کنید قبل از حلکردن سوال، تمام اطلاعات مورد نیاز رو از مصاحبهکننده بگیرید
- چیزی که تو فکرتون میگذره رو به زبون بیارید
- سکوت طولانی نکنید و با مصاحبهکننده ارتباط بگیرید
- اگه بهینهترین روش رو بلد نبودید، سادهترین روشی که درسته رو پیشنهاد بدید
- اگه اشتباه کردید، اعتماد به نفس خودتون رو حفظ کنید و به تلاش ادامه بدید
- قبل از اینکه کد رو بنویسید، در مورد الگوریتم توضیح شفاهی بدید
- در مورد پیچیدگی زمانی الگوریتمتون صحبت کنید
- مشکلات الگوریتم فعلی و راههایی که برای بهینهسازی به ذهنتون میرسه رو پیشنهاد بدید
https://www.youtube.com/watch?v=XKu_SEDAykw&ab_channel=LifeatGoogle
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
⭐️ بسیار مهم و کاربردی ⭐️
این ویدئو به شما نشون میده چطور تو مصاحبهی های فنی رفتار کنید
به عنوان مثال:
- سعی کنید قبل از حلکردن سوال، تمام اطلاعات مورد نیاز رو از مصاحبهکننده بگیرید
- چیزی که تو فکرتون میگذره رو به زبون بیارید
- سکوت طولانی نکنید و با مصاحبهکننده ارتباط بگیرید
- اگه بهینهترین روش رو بلد نبودید، سادهترین روشی که درسته رو پیشنهاد بدید
- اگه اشتباه کردید، اعتماد به نفس خودتون رو حفظ کنید و به تلاش ادامه بدید
- قبل از اینکه کد رو بنویسید، در مورد الگوریتم توضیح شفاهی بدید
- در مورد پیچیدگی زمانی الگوریتمتون صحبت کنید
- مشکلات الگوریتم فعلی و راههایی که برای بهینهسازی به ذهنتون میرسه رو پیشنهاد بدید
https://www.youtube.com/watch?v=XKu_SEDAykw&ab_channel=LifeatGoogle
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
YouTube
How to: Work at Google — Example Coding/Engineering Interview
Watch our video to see two Google engineers demonstrate a mock interview question. After they code, our engineers highlight best practices for interviewing at Google.
Learn more about how we hire at http://goo.gl/xSD7jo, then head over to https://goo.gl/BEKV6Z…
Learn more about how we hire at http://goo.gl/xSD7jo, then head over to https://goo.gl/BEKV6Z…
👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
✅ روز اول کاری تو شرکت جدید 😂👌
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
👍1😁1
لیست 10 تایی از برترین مقالات مختص System Design
1- How Meta Achieves 99.99999999% Cache Consistency:
→ https://lnkd.in/e88kUZAm
2- How Uber Computes ETA at Half a Million Requests per Second:
→ https://lnkd.in/eVKV2ePC
3- How PayPal Was Able to Support a Billion Transactions per Day With Only 8 Virtual Machines:
→ https://lnkd.in/eqcb7MpP
4- How YouTube Was Able to Support 2.49 Billion Users With MySQL:
→ https://lnkd.in/efmJw4Dx
5- How WhatsApp Was Able to Support 50 Billion Messages a Day With Only 32 Engineers:
→ https://lnkd.in/gRqBgXfc
6- How Uber Finds Nearby Drivers at 1 Million Requests per Second:
→ https://lnkd.in/eeqH9Hjh
7- How Stripe Prevents Double Payment Using Idempotent API:
→ https://lnkd.in/erMkqwq4
8- How Google Ads Was Able to Support 4.77 Billion Users With a SQL Database:
→ https://lnkd.in/efnSvwJp
9- How Amazon S3 Achieves 99.999999999% Durability:
→ https://lnkd.in/eutGiK35
10- How Slack Works:
→ https://lnkd.in/eATMDjrK
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
1- How Meta Achieves 99.99999999% Cache Consistency:
→ https://lnkd.in/e88kUZAm
2- How Uber Computes ETA at Half a Million Requests per Second:
→ https://lnkd.in/eVKV2ePC
3- How PayPal Was Able to Support a Billion Transactions per Day With Only 8 Virtual Machines:
→ https://lnkd.in/eqcb7MpP
4- How YouTube Was Able to Support 2.49 Billion Users With MySQL:
→ https://lnkd.in/efmJw4Dx
5- How WhatsApp Was Able to Support 50 Billion Messages a Day With Only 32 Engineers:
→ https://lnkd.in/gRqBgXfc
6- How Uber Finds Nearby Drivers at 1 Million Requests per Second:
→ https://lnkd.in/eeqH9Hjh
7- How Stripe Prevents Double Payment Using Idempotent API:
→ https://lnkd.in/erMkqwq4
8- How Google Ads Was Able to Support 4.77 Billion Users With a SQL Database:
→ https://lnkd.in/efnSvwJp
9- How Amazon S3 Achieves 99.999999999% Durability:
→ https://lnkd.in/eutGiK35
10- How Slack Works:
→ https://lnkd.in/eATMDjrK
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
lnkd.in
LinkedIn
This link will take you to a page that’s not on LinkedIn
❤1👍1
Forwarded from IranCoderz (Farid Ghaderi)
This media is not supported in your browser
VIEW IN TELEGRAM
👍2
ProCode | پُروکُد
https://www.linkedin.com/posts/amir-reza-riahi_%D8%AF%D8%B1%D9%88%D8%AF-%D9%81%D8%B1%D8%A7%D9%88%D8%A7%D9%86-%D8%AF%D9%88%D8%B3%D8%AA%D8%A7%D9%86-%D8%AA%D9%88-%D9%BE%D8%B3%D8%AA-%D8%AC%D8%AF%DB%8C%D8%AF-%D8%AF%DB%8C%D8%AA%DB%8C-activity-7324626708521701376…
اگه به مبحث کاستوم هوک ها علاقه دارید یه نگاه بندازید بهش :) ------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
Telegram
ProCode | پُروکُد
پُروکُد ، جایی که برنامه نویسان حرفهای متولد میشوند 🚀🧑🏻💻
Linkedin : https://ir.linkedin.com/in/amirreza-riahi-106a51304
Telegram :
@AmirRh2087
Github :
www.github.com/AmirRiahi2008
Website :
بزودی
Linkedin : https://ir.linkedin.com/in/amirreza-riahi-106a51304
Telegram :
@AmirRh2087
Github :
www.github.com/AmirRiahi2008
Website :
بزودی
👍1
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
توی چند ماه گذشته، مشغول جمعآوری و دستهبندی سوالات مصاحبهی فنی فرانتاند بودم — از مفاهیم پایه مثل HTML و CSS گرفته تا مباحث پیشرفتهتری مثل معماری سیستم، بهینهسازی عملکرد، امنیت، و همکاری تیمی.
ریپو رو میتونی از اینجا ببینی:
https://github.com/ArminShaikhy/frontend-interview-questions
@DevTwitter | <Armin/>
ریپو رو میتونی از اینجا ببینی:
https://github.com/ArminShaikhy/frontend-interview-questions
@DevTwitter | <Armin/>
❤1👍1
400+ javanoscript questions .pdf
5.4 MB
400+ JS Questions😎📝
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
👍2
فوق العاده ست این warp. اینطوریه که یه ایجنت خیلی خوب برای ترمینال میشه. به جای اینکه برای انجام دادن یه پروسه مجبور باشی دونه دونه دستور و خطاهارو تو گوگل دنبال جواب باشی، یه جمله بهش میگی چیکار کن خودش هم پلن میکنه دستورالعمل رو و هم دونه به دونه اجرا میکنه و اگه خطایی هم باشه خودش دنبال راه حل میگرده.
اگه به استفاده کردن ازش عادت کنید فکر نمیکنم دیگه بتونید با ترمینال دیگه ای کار کنید.
ضمنا خودش context کار رو میدونه و وقتی در خطا فرمان میخوای دستوری رو اجرا کنی قبل از نوشتن دستور پیشنهاداتش رو بهت میگه.
https://www.warp.dev
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
اگه به استفاده کردن ازش عادت کنید فکر نمیکنم دیگه بتونید با ترمینال دیگه ای کار کنید.
ضمنا خودش context کار رو میدونه و وقتی در خطا فرمان میخوای دستوری رو اجرا کنی قبل از نوشتن دستور پیشنهاداتش رو بهت میگه.
https://www.warp.dev
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
👍3
📌آشنایی با مفاهیم پایه هوش مصنوعی
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
❤2
📖 داستان کوتاه: «رمز SSH»
همهچی از یه پروژه ساده شروع شد. یه سرور لینوکس با یه اسکریپت بکآپ که هر شب ساعت ۲:۰۷ اجرا میشد. نه عجیب بود، نه پیچیده.
ولی یه شب، تو لاگ سرور یه چیزی دیدم که نباید میدیدم.
یک اتصال SSH ثبت شده بود. از آیپی لوکال: 127.0.0.1
ولی من اون ساعت پای سیستم نبودم.
فکر کردم یه باگه. خواستم رمز root رو عوض کنم، ولی اجازه نمیداد. نوشت:
رفتم سراغ authorized_keys. یه کلید جدید اونجا بود، با این توضیح:
اون لحظه دستهام یخ کرد. چون خودم نبودم.
شب بعد، نشستم و منتظر موندم.
ساعت ۲:۰۷ که شد، یه صدا از کیس بلند شد. انگار فن برای یه لحظه وایساد. بعد دوباره راه افتاد.
یه فایل جدید تو پوشهی home ظاهر شد به اسم: hello.txt
بازش کردم. نوشته بود:
فرداش، پروژه رو پاک کردم. کل دیسک رو فرمت کردم. حتی یه لپتاپ جدید گرفتم.
ولی هنوز، هر شب ساعت ۲:۰۷، فن برای یه ثانیه وایمیسته.
و هفته پیش، روی دسکتاپ لپتاپ جدیدم یه فایل دیدم به اسم: we_moved_with_you.txt
بازش کردم. فقط یه جمله نوشته بود:
📌 منبع: گزارش واقعی ثبتشده در فروم خصوصی netsec فارسی، مرداد ۱۴۰۲ – اسکرینها موجوده ولی بهدلایل امنیتی عمومی نشده.
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
همهچی از یه پروژه ساده شروع شد. یه سرور لینوکس با یه اسکریپت بکآپ که هر شب ساعت ۲:۰۷ اجرا میشد. نه عجیب بود، نه پیچیده.
ولی یه شب، تو لاگ سرور یه چیزی دیدم که نباید میدیدم.
یک اتصال SSH ثبت شده بود. از آیپی لوکال: 127.0.0.1
ولی من اون ساعت پای سیستم نبودم.
فکر کردم یه باگه. خواستم رمز root رو عوض کنم، ولی اجازه نمیداد. نوشت:
Permission denied. You're already connected.
رفتم سراغ authorized_keys. یه کلید جدید اونجا بود، با این توضیح:
added by YOU
اون لحظه دستهام یخ کرد. چون خودم نبودم.
شب بعد، نشستم و منتظر موندم.
ساعت ۲:۰۷ که شد، یه صدا از کیس بلند شد. انگار فن برای یه لحظه وایساد. بعد دوباره راه افتاد.
یه فایل جدید تو پوشهی home ظاهر شد به اسم: hello.txt
بازش کردم. نوشته بود:
«دیگه دستکاری نکن. همینطوری بهتره.»
فرداش، پروژه رو پاک کردم. کل دیسک رو فرمت کردم. حتی یه لپتاپ جدید گرفتم.
ولی هنوز، هر شب ساعت ۲:۰۷، فن برای یه ثانیه وایمیسته.
و هفته پیش، روی دسکتاپ لپتاپ جدیدم یه فایل دیدم به اسم: we_moved_with_you.txt
بازش کردم. فقط یه جمله نوشته بود:
«ما فقط منتظر رمز جدید بودیم. حالا دسترسی کامل داریم.»
📌 منبع: گزارش واقعی ثبتشده در فروم خصوصی netsec فارسی، مرداد ۱۴۰۲ – اسکرینها موجوده ولی بهدلایل امنیتی عمومی نشده.
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
👍1👌1
😁😁👍👍
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
------------------------------------
پُروکُد، جایی که برنامهنویسای حرفهای متولد میشن🧑🏻💻👇🏽
https://news.1rj.ru/str/ProCode0101
😁2