Eqraatech Newsletter

Eqraatech Newsletter

Share this post

Eqraatech Newsletter
Eqraatech Newsletter
VOL11: Serverless Architecture, Object Relational Mappers and Move Semantics
Copy link
Facebook
Email
Notes
More
User's avatar
Discover more from Eqraatech Newsletter
محتوى تقني متميز في مختلف مجالات هندسة البرمجيات باللغة العربية عن طريق تبسيط المفاهيم البرمجية المعقدة بشكل سلس وباستخدام صور توضيحية مذهلة
Over 4,000 subscribers
Already have an account? Sign in

VOL11: Serverless Architecture, Object Relational Mappers and Move Semantics

Eqraatech - اقرأ-تِك's avatar
Eqraatech - اقرأ-تِك
Jun 06, 2024
2

Share this post

Eqraatech Newsletter
Eqraatech Newsletter
VOL11: Serverless Architecture, Object Relational Mappers and Move Semantics
Copy link
Facebook
Email
Notes
More
Share

من زمان والناس نفسها انه تتيح للـ Developers الفرصة أنهم يركزوا على جزء الـ Development وانهم يكونوا قادرين على بناء Services قوية ويبدعوا فيها بدون عوائق الـ Infrastructure أو التفكير فيها ..

بحيث يركزوا على الـ Core Product أو المنتج اللي مهتمين بيه بمعنى أصح ، من غير ما يهتموا بازاي هيديروا البنية التحتية للـ Product ده

Serverless Architecture

وعشان كده ظهر الـ Serverless Architecture كطريقة أو نمط للتصميم يسمح للـ Developers بتحقيق الأمنية دي , وإن هم يبقوا قادرين على بناء الـ Software بدون الاهتمام بالبنية التحتية واداراتها

ازاي Serverless Architecture بتشتغل ؟

كلنا عارفين أن الـ Servers عشان تسمح للـ Users بإنهم يتواصلوا مع أي تطبيق والـ Business Logic بتاعه , ده هيتطلب Resources وبنية تحتية هتطلب موارد واهتمام وادارة زي :

  • Server Hardware

  • Security Updates

  • Backups

  • Resources Management

ومن خلال اتباع الـ Serverless Architecture احنا بنشيل العبء ده كله وبنخلي الـ Developers يهتموا بس بجزء الـ Business Logic / Core Product وانهم يكتبوا الـ Application Code وبنشيل عبء البنية التحتية ونخليها مسئولية Third Party Provider زي الـ Cloud Services اللي موجودة دلوقتي ومن أشهرهم AWS , Google Cloud , Microsoft Azure

Serverless Architecture In a Nutshell

🚀 Continue Reading Full Content


Thanks for reading Eqraatech Newsletter! Subscribe for free to receive new posts and support my work.


Object Relational Mappers

خلونا نتفق إن شكل العناصر في عالم قاعدة البيانات مختلف عن عالم ال Backend ففي قواعد البيانات غالبًا بنتكلم في جداول وصفوف من البيانات في حالة الـ SQL أو البيانات تكون محطوطة في Blobs or Documents في حالة ال NoSQL 

بينما أثناء تصميم و كتابة ال Backend غالبًا بننظم البيانات ونتعامل معها على هيئة Objects ومش شرط كل البيانات في صف ما في ال Database  مثلاً تكون في Object واحد في الكود والعكس صحيح.

فلو بنحتفظ ببيانات الطالب في قاعدة البيانات هتكون على شكل صف أو عدد من الصفوف في جداول مختلفة ولكن في الكود البيانات دي علي شكل Object و بعد ما نستعيد البيانات من ال Database ب SQL Query لازم نعمل Mapping بين الاثنين بشكل يدوي! 

ولو كتبنا Pseudocode للعملية دي هتكون كدا:

StudentSql =  ‘select * from student where studentId=1
studentData = db.query(StudentSql)
()Student studentObject = new Student
studentObject.setID(studentData[0])
studentObject.setName(studentData[1])

طبعًا دا Pseudocode مبسط كثير من الخطوات المتواجدة في عملية ال Mapping دي واللي ممكن تبقى طويلة وصعبة ومرهقة وتخيل هتضطر تعمل دا في كل مرة تروح تجيب فيها أي بيانات من ال Database عشان تكون في هيئة صالحة للاستخدام في الكود!

وهنا تيجي ال ORM وهي طريقة Mapping بين البيانات في قاعدة البيانات والـ Code, ال ORM بتكون مكتبة Library قادرة تفهم الكود و قاعدة البيانات وتعمل هي الـ Mapping دا بدل ما نضطر نعمله بشكل يدوي.

فال Pseudocode بتاعنا هيتحول للشكل البسيط دا 

Student = dbORM.queryStudent(studentID=1)

وكل دا بإني بعرف Data Model أو Schema لل ORM وهي بتبتدي تتعامل مع ال Database  بنفسها لتكوين وطلب البيانات منها.

Object Relational Mappers (ORM)

🚀 Continue Reading Full Content


Move Semantics in C++ Explained

Move Semantics in C++ Explained

ال Move Semantics تمت إضافتها في C++11 عشان تحل مشكلة معينة والمشكلة كانت الاّتي لو عندنا الcode ده

كود عادي هيعمل vector و في السطر التاني هينسخ copy كل حاجة من الvector الأولاني في الvector التاني وهيعمل pointer جديد و ينسخ الsize والcapacity بتاعت الvector الأولاني زي ما موضح في الصورة

 و الoutput هيطلع كالأتي:

هيبقي نسخة طبق الأصل و ده ممكن فعلاً يكون اللي أنا عايزه بس لو افترضنا أنا عايز بدل منسخ كل حاجة أنقلها عشان أنا مثلاً خلاص مش هستخدم أول vector في حاجة تاني فا بدل ما تضيع وقت في نسخ أنا أنقلها أحسن

الفكرة ورا عملية النقل بسيطة أعمل pointer جديد أخليه يشاور علي المكان اللي بيشاور عليه الpointer القديم و منساش أشيل delete طبعاً الpointer القديم عشان لو منستش ممكن يحصل مشكلة double free عشان بحاول اعمل free لنفس الpointer مرتين و ده هيحصل لما الdestructor بتاع ال 2 vectors يتعملهم call في نهاية الscope

🚀 Continue Reading Full Content


Abdalrhman Mostafa's avatar
Ibrahim Elsawaf's avatar
2 Likes
2

Share this post

Eqraatech Newsletter
Eqraatech Newsletter
VOL11: Serverless Architecture, Object Relational Mappers and Move Semantics
Copy link
Facebook
Email
Notes
More
Share

Discussion about this post

User's avatar
VOL49: Introduction to LM Studio - Running AI Models Locally with Ease
يعتبر LM Studio منصة متكاملة لتطوير وتدريب النماذج اللغوية الضخمة (Large Language Models - LLMs) وبيتيح للمستخدمين بناء نماذج ذكاء اصطناعي قادرة على فهم…
Feb 15 • 
Eqraatech - اقرأ-تِك
2

Share this post

Eqraatech Newsletter
Eqraatech Newsletter
VOL49: Introduction to LM Studio - Running AI Models Locally with Ease
Copy link
Facebook
Email
Notes
More
VOL43: Redis Beyond In-Memory Database
قاعدة بيانات مفتوحة المصدر تعمل في ال Memory , بنستخدمها بشكل أساسي ك Cache أو Quick-Response Database في التطبيقات التي تحتاج زمن إستجابة منخفض والسرعة…
Jan 4 • 
Eqraatech - اقرأ-تِك
6

Share this post

Eqraatech Newsletter
Eqraatech Newsletter
VOL43: Redis Beyond In-Memory Database
Copy link
Facebook
Email
Notes
More
1
VOL47: How to Ace Behavioral Interviews
الـ Star Method هي واحدة من أكثر الطرق الفعالة في تحسين التواصل خلال الانترفيو خصوصًا الـ Behavioral Interviews.
Feb 1 • 
Eqraatech - اقرأ-تِك
5

Share this post

Eqraatech Newsletter
Eqraatech Newsletter
VOL47: How to Ace Behavioral Interviews
Copy link
Facebook
Email
Notes
More

Ready for more?

© 2025 Eqraatech - اقرأ-تِك
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share

Copy link
Facebook
Email
Notes
More

Create your profile

User's avatar

Only paid subscribers can comment on this post

Already a paid subscriber? Sign in

Check your email

For your security, we need to re-authenticate you.

Click the link we sent to , or click here to sign in.