Next.js 16 RLS for Partial Prerendring 💯
Secure your streams. Use RLS and server-side tokens to keep partial prerenders correct and private in Next.js 16
❤3
تعال ندردش شوية عن الـ Load Balancing 💯
.
.
الـ Load Balancing حاجة مهمة جدًا بتأثر في سرعة وثبات أي تطبيق، وخصوصًا لو التطبيق ده عليه عدد ضخم من المستخدمين.
الفكرة في الـ Load Balancing إنه بيوزع ضغط الطلبات اللي بتيجي على السيرفرات عشان يخلي الأداء أحسن ويقلل أي مشاكل ممكن تحصل.
———
📌 إزاي الـ Load Balancing بيشتغل؟
تخيل معايا أنك عندك تطبيق عليه عدد كبير من المستخدمين اللي بيدخلوا ويعملوا طلبات في نفس الوقت، زي متجر إلكتروني كبير أو موقع تواصل اجتماعي.
لو التطبيق ده موجود على سيرفر واحد، هيواجه مشكلة كبيرة لو العدد زاد لأن السيرفر هيبدأ يبقى بطيء، أو ممكن يقع لو الضغط كان زيادة.
الحل هنا إنك بدل ما تشغل التطبيق كله على سيرفر واحد، بتوزعه على أكتر من سيرفر، وكل سيرفر بيشيل جزء من الشغل.
الـ Load Balancer بيدخل هنا وبيبقى هو اللي بيحدد الطلبات تروح لمين، بحيث مفيش سيرفر يكون عليه ضغط أكتر من التاني.
———
📍 أنواع الـ Load Balancing:
- الـ Round Robin: الطريقة دي ببساطة بتوزع الطلبات بالتساوي على كل السيرفرات. أول طلب يروح لأول سيرفر، والتاني للتاني، وهكذا لحد ما يوصل لآخر سيرفر ويرجع تاني من الأول.
- الـ Least Connections: الطريقة دي بتركز على عدد الاتصالات اللي كل سيرفر شغال عليها، بمعنى إنها بتبعت الطلب للسيرفر اللي عليه عدد أقل من الطلبات حاليًا، وده بيكون مفيد لما يكون فيه اختلاف كبير في الحمل بين الطلبات.
- الـ IP Hash: هنا التوزيع بيكون بناءً على عنوان IP بتاع العميل اللي بيعمل الطلب، يعني كل عميل دايمًا هيتم توجيهه لنفس السيرفر بناءً على عنوان الـ IP بتاعه، ودي بتنفع في حالات معينة زي لما يكون فيه بيانات كاش محتاجة تتوزع.
- الـ Weighted Load Balancing: في الحالة دي بنعمل أحمال مختلفة للسيرفرات بناءً على قدرتهم. يعني لو عندك سيرفر أقوى من الباقيين، تقدر تخليه ياخد حمل أكبر.
———
📍 ليه الـ Load Balancing مهم؟
الهدف الأساسي من الـ Load Balancing هو إنه يخلي التطبيق بتاعك مستقر وسريع للمستخدمين مهما زاد عددهم.
يعني بدل ما الموقع يعلق أو يقع، الطلبات هتفضل تتوزع بشكل مرن على كل السيرفرات.
———
وفقكم الله لكل خير 🌿
.
.
الـ Load Balancing حاجة مهمة جدًا بتأثر في سرعة وثبات أي تطبيق، وخصوصًا لو التطبيق ده عليه عدد ضخم من المستخدمين.
الفكرة في الـ Load Balancing إنه بيوزع ضغط الطلبات اللي بتيجي على السيرفرات عشان يخلي الأداء أحسن ويقلل أي مشاكل ممكن تحصل.
———
📌 إزاي الـ Load Balancing بيشتغل؟
تخيل معايا أنك عندك تطبيق عليه عدد كبير من المستخدمين اللي بيدخلوا ويعملوا طلبات في نفس الوقت، زي متجر إلكتروني كبير أو موقع تواصل اجتماعي.
لو التطبيق ده موجود على سيرفر واحد، هيواجه مشكلة كبيرة لو العدد زاد لأن السيرفر هيبدأ يبقى بطيء، أو ممكن يقع لو الضغط كان زيادة.
الحل هنا إنك بدل ما تشغل التطبيق كله على سيرفر واحد، بتوزعه على أكتر من سيرفر، وكل سيرفر بيشيل جزء من الشغل.
الـ Load Balancer بيدخل هنا وبيبقى هو اللي بيحدد الطلبات تروح لمين، بحيث مفيش سيرفر يكون عليه ضغط أكتر من التاني.
———
📍 أنواع الـ Load Balancing:
- الـ Round Robin: الطريقة دي ببساطة بتوزع الطلبات بالتساوي على كل السيرفرات. أول طلب يروح لأول سيرفر، والتاني للتاني، وهكذا لحد ما يوصل لآخر سيرفر ويرجع تاني من الأول.
- الـ Least Connections: الطريقة دي بتركز على عدد الاتصالات اللي كل سيرفر شغال عليها، بمعنى إنها بتبعت الطلب للسيرفر اللي عليه عدد أقل من الطلبات حاليًا، وده بيكون مفيد لما يكون فيه اختلاف كبير في الحمل بين الطلبات.
- الـ IP Hash: هنا التوزيع بيكون بناءً على عنوان IP بتاع العميل اللي بيعمل الطلب، يعني كل عميل دايمًا هيتم توجيهه لنفس السيرفر بناءً على عنوان الـ IP بتاعه، ودي بتنفع في حالات معينة زي لما يكون فيه بيانات كاش محتاجة تتوزع.
- الـ Weighted Load Balancing: في الحالة دي بنعمل أحمال مختلفة للسيرفرات بناءً على قدرتهم. يعني لو عندك سيرفر أقوى من الباقيين، تقدر تخليه ياخد حمل أكبر.
———
📍 ليه الـ Load Balancing مهم؟
الهدف الأساسي من الـ Load Balancing هو إنه يخلي التطبيق بتاعك مستقر وسريع للمستخدمين مهما زاد عددهم.
يعني بدل ما الموقع يعلق أو يقع، الطلبات هتفضل تتوزع بشكل مرن على كل السيرفرات.
———
وفقكم الله لكل خير 🌿
❤3
API Design 101: From Basics to Best Practices 💯
https://levelup.gitconnected.com/api-design-101-from-basics-to-best-practices-e3d59eca10d3
https://levelup.gitconnected.com/api-design-101-from-basics-to-best-practices-e3d59eca10d3
❤5
صديقي المبرمج الفريش 👋🏻
.
.
قبل ما تدخل سوق العمل خليني أدردش معاك في كام حاجة تاخد بالك منها...⭐️
———
أولًا: خليك بعيد عن الشغل المخالف للدين، أي شغل فيه موسيقى أو صور نساء أو غيرها...خلي لقمة العيش حلال.
ثانيًا: تأكد إن الشركة اللي هتشتغل فيها شغلها حلال وبعيدة عن المحرمات.
ثالثًا: متقللش من نفسك، مش معنى إنك فريش إنك تقبض مرتب 2000 جنيه. ابحث عن الشركة اللي هتشتغل فيها قبل ما تعمل انترڤيو وشوف المرتبات عندهم كويسة ولا، ولكن لو أنت محتاج الشغل ضروري ممكن تقبل باللي قدامك لغاية ما تلاقي فرصة أحسن.
رابعًا: خليك طيب وابن حلال وسيبك من شغل العصافير داخل الشركة أو إنك تبخل على حد بمعلومة أو غيرها من الخباثة. خلي سيرتك طيبة في المكان علشان الدنيا أوضتين وصالة.
خامسًا: متوقفش عند أول مشكلة تقابلك، كارير البرمجة مليان تحديات، وكل تحدي هتعديه هتخرج منه أقوى وأحسن وخبرتك هتزيد.
سادسًا: دايمًا خلي عندك روح التعلم، المجال بيتطور بسرعة، فلازم تكون دايمًا متابع كل جديد وتطور من نفسك باستمرار.
سابعًا: اهتم بصحتك النفسية والجسدية، الشغل ساعات طويلة قدام الجهاز ممكن يسبب لك تعب، فحاول توازن بين شغلك وراحتك.
ثامنًا: اعمل شبكة علاقات قوية، تواصل مع زملائك في المجال، واحضر مؤتمرات وورش عمل، ده هيفتح لك أبواب كتير وفرص شغل جديدة.
تاسعًا: خد بالك من التفاصيل الصغيرة، الدقة في شغلك هتفرق معاك كتير، وممكن تفتح لك أبواب فرص أكبر.
عاشرًا: دايمًا اسعى لتحسين نفسك وتطوير مهاراتك. ممكن تاخد كورسات أونلاين أو تقرأ كتب في مجالك...
وأخيرًا، متنساش تحافظ على التوازن بين حياتك الشخصية والعملية. الشغل مهم، لكن حياتك الشخصية كمان مهمة.
———
وقبل كل اللي فوق ده خليك فاكر إن الرزق بيد الله سبحانه وتعالى...
.
.
قبل ما تدخل سوق العمل خليني أدردش معاك في كام حاجة تاخد بالك منها...⭐️
———
أولًا: خليك بعيد عن الشغل المخالف للدين، أي شغل فيه موسيقى أو صور نساء أو غيرها...خلي لقمة العيش حلال.
ثانيًا: تأكد إن الشركة اللي هتشتغل فيها شغلها حلال وبعيدة عن المحرمات.
ثالثًا: متقللش من نفسك، مش معنى إنك فريش إنك تقبض مرتب 2000 جنيه. ابحث عن الشركة اللي هتشتغل فيها قبل ما تعمل انترڤيو وشوف المرتبات عندهم كويسة ولا، ولكن لو أنت محتاج الشغل ضروري ممكن تقبل باللي قدامك لغاية ما تلاقي فرصة أحسن.
رابعًا: خليك طيب وابن حلال وسيبك من شغل العصافير داخل الشركة أو إنك تبخل على حد بمعلومة أو غيرها من الخباثة. خلي سيرتك طيبة في المكان علشان الدنيا أوضتين وصالة.
خامسًا: متوقفش عند أول مشكلة تقابلك، كارير البرمجة مليان تحديات، وكل تحدي هتعديه هتخرج منه أقوى وأحسن وخبرتك هتزيد.
سادسًا: دايمًا خلي عندك روح التعلم، المجال بيتطور بسرعة، فلازم تكون دايمًا متابع كل جديد وتطور من نفسك باستمرار.
سابعًا: اهتم بصحتك النفسية والجسدية، الشغل ساعات طويلة قدام الجهاز ممكن يسبب لك تعب، فحاول توازن بين شغلك وراحتك.
ثامنًا: اعمل شبكة علاقات قوية، تواصل مع زملائك في المجال، واحضر مؤتمرات وورش عمل، ده هيفتح لك أبواب كتير وفرص شغل جديدة.
تاسعًا: خد بالك من التفاصيل الصغيرة، الدقة في شغلك هتفرق معاك كتير، وممكن تفتح لك أبواب فرص أكبر.
عاشرًا: دايمًا اسعى لتحسين نفسك وتطوير مهاراتك. ممكن تاخد كورسات أونلاين أو تقرأ كتب في مجالك...
وأخيرًا، متنساش تحافظ على التوازن بين حياتك الشخصية والعملية. الشغل مهم، لكن حياتك الشخصية كمان مهمة.
———
وقبل كل اللي فوق ده خليك فاكر إن الرزق بيد الله سبحانه وتعالى...
❤30
What is SEO?
A stunning website means nothing if it doesn’t rank and attract traffic.
A stunning website means nothing if it doesn’t rank and attract traffic.
❤2
Bash Scripting
Get started with Bash Shell noscript learning with practical examples. Also test your learning with practice exercises.
📶 Difficulty level: Beginner
⏳ Time to complete: Approx. 3 hours
———
📌 Course Content:
- Create and Run Your First Bash Shell Script
- Understanding Variables in Bash Shell Scripting
- Passing Arguments to Bash Scripts
- Using Arrays in Bash
- Using Arithmetic Operators in Bash Scripting
- String Operations in Bash
- Decision Making With If Else and Case Statements
- Loops in Bash
- Using Functions in Bash
- Automation With Bash
———
https://linuxhandbook.com/courses/bash
👍4
سمعت عن Keycloak؟
.
.
وأنا شغال على أكتر من مشروع في الفترة اللي فاتت، كان دايمًا فيه سؤال بقابله كل مرة:
"إزاي أظبط موضوع تسجيل دخول المستخدمين والصلاحيات بتاعتهم من غير ما أضطر أبني سيستم Auth كامل من الصفر كل مرة؟"
في الأول زي أي حد…
الـ Login بسيط، شوية JWT، شوية Middleware، وبعدها Roles، Permissions، Social Login، Refresh Tokens...
وفجأة تلاقي نفسك بتبني System كامل علشان حاجة مش هي الـ core بتاع المشروع أصلًا وبتحرق فيها وقت جامد.
لغاية ما قابلت Keycloak 💯
———
أداة Keycloak ببساطة عبارة عن Identity & Access Management
يعني سيستم متكامل بيشيل عنك وجع دماغ التوثيق والصلاحيات، ويديك حاجة جاهزة، قوية، وقابلة للتخصيص.
اللي عجبني فيه مش بس إنه:
- بيدعم OAuth2 / OpenID Connect / SAML
- Single Sign-On (SSO)
- User Management + Roles + Groups
- Social Login (Google, GitHub, …)
- Two-Factor Authentication
- عندك UI جاهز تشتغل عليه أو تعدله
———
الفكرة كلها إنك: تفصل الـ Auth عن البزنس لوجيك بتاع المشروع.
يعني بدل ما كل مشروع يبقى فيه Login مختلف، أو كل Microservice يشيل هم المستخدمين، Keycloak تبقى هي المصدر الوحيد للعمليات دي كلها.
———
لما تبدأ تستخدم Keycloak هتحس لأول مرة إن كل حاجة واضحة:
- مين المستخدم اللي داخل على السيستم
- وليه عنده صلاحية يعمل الحاجة دي
- وإزاي تتحكم في ده كله من غير ما تدخل تعدل في الكود لكل خدمة أو صفحة
ده بيفرق جدًا لو شغال على مشاريع فيها:
- Microservices
- Frontend و Backend منفصلين
- أو حتى سيستم كبير للشركات (Enterprise Systems)
———
طبعًا هي مش حاجة سهلة ومش “Plug & Play” ببساطة، بس أول ما تفهمها صح، هتوفر وقت ومجهود كبير...
.
.
وأنا شغال على أكتر من مشروع في الفترة اللي فاتت، كان دايمًا فيه سؤال بقابله كل مرة:
"إزاي أظبط موضوع تسجيل دخول المستخدمين والصلاحيات بتاعتهم من غير ما أضطر أبني سيستم Auth كامل من الصفر كل مرة؟"
في الأول زي أي حد…
الـ Login بسيط، شوية JWT، شوية Middleware، وبعدها Roles، Permissions، Social Login، Refresh Tokens...
وفجأة تلاقي نفسك بتبني System كامل علشان حاجة مش هي الـ core بتاع المشروع أصلًا وبتحرق فيها وقت جامد.
لغاية ما قابلت Keycloak 💯
———
أداة Keycloak ببساطة عبارة عن Identity & Access Management
يعني سيستم متكامل بيشيل عنك وجع دماغ التوثيق والصلاحيات، ويديك حاجة جاهزة، قوية، وقابلة للتخصيص.
اللي عجبني فيه مش بس إنه:
- بيدعم OAuth2 / OpenID Connect / SAML
- Single Sign-On (SSO)
- User Management + Roles + Groups
- Social Login (Google, GitHub, …)
- Two-Factor Authentication
- عندك UI جاهز تشتغل عليه أو تعدله
———
الفكرة كلها إنك: تفصل الـ Auth عن البزنس لوجيك بتاع المشروع.
يعني بدل ما كل مشروع يبقى فيه Login مختلف، أو كل Microservice يشيل هم المستخدمين، Keycloak تبقى هي المصدر الوحيد للعمليات دي كلها.
———
لما تبدأ تستخدم Keycloak هتحس لأول مرة إن كل حاجة واضحة:
- مين المستخدم اللي داخل على السيستم
- وليه عنده صلاحية يعمل الحاجة دي
- وإزاي تتحكم في ده كله من غير ما تدخل تعدل في الكود لكل خدمة أو صفحة
ده بيفرق جدًا لو شغال على مشاريع فيها:
- Microservices
- Frontend و Backend منفصلين
- أو حتى سيستم كبير للشركات (Enterprise Systems)
———
طبعًا هي مش حاجة سهلة ومش “Plug & Play” ببساطة، بس أول ما تفهمها صح، هتوفر وقت ومجهود كبير...
❤12