Pro.Anwar alsaiary
Open in Telegram
- professional software engineering. - full stack developer. asp.net - flutter - sql server - firebase.
Show more205
Subscribers
No data24 hours
No data7 days
No data30 days
Data loading in progress...
Similar Channels
No data
Any problems? Please refresh the page or contact our support manager.
Tags Cloud
Incoming and Outgoing Mentions
---
---
---
---
---
---
Attracting Subscribers
July '25
July '25
+7
in 1 channels
June '250
in 0 channels
Get PRO
May '25
+25
in 0 channels
Get PRO
April '250
in 1 channels
Get PRO
March '25
+20
in 0 channels
Get PRO
February '250
in 0 channels
Get PRO
January '250
in 0 channels
Get PRO
December '24
+151
in 0 channels
Get PRO
November '240
in 0 channels
Get PRO
October '24
+2
in 2 channels
Channel Posts
#نموذج_تطبيق_متجر_الكتروني_مصغر
غير مكتمل
الغرض منه تعليمي وافادة طلابي ( مخصص له ساعتين اسبوعيا )
https://github.com/GeniusSystems24/genius_store
كما تلاحظ يظهر المشروع مع التوصيف الخاص به.
وهذه الطريقة هي المطلوبة عند التقديم الى الشركات وتشوف ان عملك مرتب.
اذا تريد السعي لمستقبل حقيقي مميز التزم بالاشياء الصعبة على الاخرين.
يوجد وصف لمحتوى كل مجلد مثلا
https://github.com/GeniusSystems24/genius_store/tree/main/lib/presentation/screens
| 2 | مع الاب القدوة ذو الفضل الاستاذ الدكتور
بشير محمد المقالح - عميد كلية الحاسبات #جامعة_ذمار - اليمن
والدكتور العزيز وليد دحيه
من مناقشة مشاريع التخرج لطلاب #جامعة_السعيدة. | 193 |
| 3 | Top 9 HTTP Request Methods
طرق طلبات HTTP التسعة الأساسية
HTTP Methods تحدد العمليات التي يتم تنفيذها على الموارد المخزنة في الخادم، سواءً جلب بيانات أو تعديلها أو حذفها أو إنشاء بيانات جديدة.
1. GET
- Purpose (الغرض): Retrieve a single item or a list of items.
Fetches data from the server without making any changes. No request body is needed.
تسترجع بيانات من الخادم دون تعديلها. لا يتطلب إرسال بيانات مع الطلب.
- مثال: GET /v1/products/iphone
- هل هو آمن/Idempotent؟ نعم.
2. PUT
- Purpose (الغرض): Update an item (or create if not exists).
Sends a full update for a resource. Requires a request body with the updated data.
يتم إرسال تحديث كامل لمورد موجود، أو إنشاؤه إذا لم يكن موجوداً. يجب إرسال بيانات التحديث ضمن جسم الطلب.
- مثال: PUT /v1/users/123
- هل هو آمن/Idempotent؟ نعم.
3. POST
- Purpose (الغرض): Create a new item.
Sends data to create a new resource on the server. Requires a request body.
يتم إرسال بيانات إلى الخادم لإنشاء مورد جديد. يعتمد على وجود جسم للطلب.
- مثال: POST /v1/users
- هل هو آمن/Idempotent؟ لا (قد يؤدي إلى إنشاء موارد مكررة عند التكرار).
4. DELETE
- Purpose (الغرض): Delete an item.
Removes a resource from the server. Usually no body is needed.
يحذف مورداً موجوداً من الخادم. غالباً لا يتطلب إرسال بيانات إضافية.
- مثال: DELETE /v1/users/123
- هل هو آمن/Idempotent؟ نعم.
5. PATCH
- Purpose (الغرض): Partially modify an item.
Updates parts of a resource instead of replacing the whole item.
يقوم بتحديث جزء من المورد بدلاً من استبداله بالكامل. يرسل فقط التعديلات المطلوبة.
- مثال: PATCH /v1/users/123
- هل هو آمن/Idempotent؟ غالباً نعم.
6. HEAD
- Purpose (الغرض): Retrieve headers only (no body).
Same as GET but without the response body. Useful to check if the resource exists.
مثل طلب GET ولكن يعيد فقط الرؤوس (Headers) دون جسم البيانات. يستخدم للتأكد من وجود المورد أو معلوماته دون تحميل كامل البيانات.
- مثال: HEAD /v1/products/iphone
- هل هو آمن/Idempotent؟ نعم.
7. CONNECT
- Purpose (الغرض): Establish a tunnel.
Creates a two-way connection, often used for HTTPS through proxy servers.
يفتح قناة اتصال ثنائية الاتجاه بين العميل والخادم، غالباً لاستخدام بروتوكول HTTPS عبر خوادم وسيطة (Proxy Servers).
- مثال: CONNECT xxx.com:80
- هل هو آمن/Idempotent؟ لا.
8. OPTIONS
- Purpose (الغرض): Discover server capabilities.
Retrieves the HTTP methods and features supported by the server for a resource.
يستعلم عن الإمكانيات والطرق التي يدعمها الخادم للتعامل مع المورد، دون تنفيذ أي عملية فعلية.
- مثال: OPTIONS /v1/users
- هل هو آمن/Idempotent؟ نعم.
9. TRACE
- Purpose (الغرض): Diagnostic testing.
Echoes back the request to help in diagnosing connection problems.
يعيد الطلب كما وصله من العميل، يُستخدم لاختبار المسار والتأكد من الاتصالات بين العميل والخادم (أداة تصحيح).
- مثال: TRACE /index.html
- هل هو آمن/Idempotent؟ نعم.
المصادر
- التصميم والمادة العلمية من: [ByteByteGo](https://www.bytebytego.com/)
- مواصفات بروتوكول HTTP الرسمية: [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231) | 255 |
| 4 | 1743956649971.gif | 152 |
| 5 | 18 Key Design Patterns Every Developer Should Know
Patterns are reusable solutions to common design problems.
They serve as blueprints to build better, more efficient software structures.
---
Creational Patterns (أنماط الإنشاء)
Abstract Factory (Family Creator)
Creates groups of related objects without specifying their concrete classes.
➔ يصنع مجموعات مترابطة من العناصر دون تحديد التفاصيل.
Builder (Lego Master)
Builds complex objects step-by-step, separating construction from representation.
➔ يبني الكائنات تدريجيًا مع فصل طريقة البناء عن شكل النتيجة.
Prototype (Clone Maker)
Creates new objects by copying existing ones.
➔ ينشئ نسخًا جديدة عبر استنساخ كائنات جاهزة.
Singleton (One and Only)
Ensures a class has only one instance, and provides a global point of access to it.
➔ يضمن وجود نسخة وحيدة من الكلاس والتحكم في الوصول إليها.
---
Structural Patterns (أنماط الهيكلة)
Adapter (Universal Plug)
Allows incompatible interfaces to work together.
➔ يربط بين واجهات غير متوافقة لجعلها تعمل معًا.
Bridge (Function Connector)
Separates abstraction from implementation, so they can evolve independently.
➔ يفصل بين تعريف الكائن وطريقة تنفيذه.
Composite (Tree Builder)
Composes objects into tree structures to represent part-whole hierarchies.
➔ ينظم الكائنات في بنية شجرية تجمع البسيط والمعقد.
Decorator (Customizer)
Adds new behavior to objects dynamically without altering their structure.
➔ يضيف ميزات جديدة للكائنات دون تعديل بنيتها.
Facade (One-Stop-Shop)
Provides a unified interface to a set of interfaces in a subsystem.
➔ يقدم واجهة مبسطة تسهل التعامل مع نظام معقد.
Flyweight (Space Saver)
Reduces memory usage by sharing as much data as possible with similar objects.
➔ يوفر المساحة عبر مشاركة الكائنات الصغيرة القابلة لإعادة الاستخدام.
Proxy (Stand-In Actor)
Provides a surrogate or placeholder to control access to another object.
➔ يمثل كائنًا آخر للتحكم في الوصول إليه أو تصرفاته.
---
Behavioral Patterns (أنماط السلوك)
Chain of Responsibility (Request Relay)
Passes a request along a chain of handlers until one handles it.
➔ يمرر الطلب عبر سلسلة من المعالجات حتى تتم معالجته.
Command (Task Wrapper)
Turns a request into an object that encapsulates all related information.
➔ يحول الطلب إلى كائن مستقل لتنفيذ العمليات لاحقًا.
Iterator (Collection Explorer)
Provides a way to access elements of a collection sequentially without exposing its structure.
➔ يتصفح عناصر مجموعة واحدة تلو الأخرى دون كشف بنيتها الداخلية.
Mediator (Communication Hub)
Defines an object that centralizes complex communications between objects.
➔ يسهل الاتصال بين الكائنات عبر نقطة مركزية واحدة.
Memento (Time Capsule)
Captures and restores the previous state of an object without revealing its details.
➔ يحفظ ويسترجع حالة الكائن دون انتهاك خصوصيته الداخلية.
Observer (News Broadcaster)
Defines a dependency between objects so that when one changes, all its dependents are notified.
➔ ينبه الكائنات المرتبطة عندما يحدث تغيير في كائن معين.
Visitor (Skillful Guest)
Adds further operations to objects without modifying them.
➔ يضيف وظائف جديدة لكائنات موجودة دون تغيير بنيتها.
---
ملاحظة إضافية:
الأنماط الإنشائية (Creational) ➔ تركز على كيفية إنشاء الكائنات.
الأنماط الهيكلية (Structural) ➔ تركز على كيفية تركيب الكائنات معًا.
الأنماط السلوكية (Behavioral) ➔ تركز على كيفية تواصل الكائنات وتنظيم سلوكها.
---
المصادر:
الصورة من: ByteByteGo
الوصف بالاعتماد على:
كتاب Design Patterns: Elements of Reusable Object-Oriented Software (GOF)
Refactoring.Guru Design Patterns Guide | 155 |
| 6 | 1744299910735.gif | 98 |
| 7 | اضافه فهرسة للمحتوى يسهل به التنقل
الموقع الرسمي لتعلم markdown
https://www.markdownguide.org/ | 100 |
| 8 | رسم الجداول
الموقع الرسمي لتعلم markdown
https://www.markdownguide.org/ | 129 |
| 9 | رسم المخططات التسلسلية.
الموقع الرسمي لتعلم رسم المخططات
https://mermaid.js.org/intro/
اداة الرسم بالواجهات
https://mermaid.live/edit | 138 |
| 10 | يمكن ايضا رسم المخططات العلائقية للجداول
الموقع الرسمي لتعلم رسم المخططات
https://mermaid.js.org/intro/
اداة الرسم بالواجهات
https://mermaid.live/edit | 107 |
| 11 | No text... | 103 |
| 12 | ايضا يستخدم تنسيق Markdown في التعليقات البرمجية
الموقع الرسمي لتعلم markdown
https://www.markdownguide.org/ | 130 |
| 13 | شرح امثلة بالاكواد متاح بكل انواع اللغات
الموقع الرسمي لتعلم markdown
https://www.markdownguide.org/ | 131 |
| 14 | رسم المخططات يتم بواسطة تنسيق mermaid
الموقع الرسمي لتعلم رسم المخططات
https://mermaid.js.org/intro/
اداة الرسم بالواجهات
https://mermaid.live/edit | 107 |
| 15 | يتم التوثيق بأستخدام ملفات Readme.md
وتستخدم تنسيق markdown
الموقع الرسمي لتعلم markdown
https://www.markdownguide.org/ | 96 |
| 16 | ما هو الترميز الدلالي للإصدارات (Semantic Versioning - SemVer)؟
الترميز الدلالي هو نظام لتسمية نسخ البرامج بهدف إيصال معنى التغييرات التي حدثت في كل إصدار بطريقة واضحة وموحدة.
---
مكونات رقم الإصدار:
يتكوّن رقم الإصدار من ثلاثة أقسام بالشكل التالي:
MAJOR.MINOR.PATCH
شرح كل جزء:
MAJOR (الإصدار الرئيسي):
يتم زيادته عند إجراء تغييرات غير متوافقة مع الإصدارات السابقة (Breaking Changes).
MINOR (الإصدار الثانوي):
يتم زيادته عند إضافة وظائف جديدة بطريقة متوافقة مع الإصدارات السابقة (New Features).
PATCH (الإصلاحات):
يتم زيادته عند إصلاح أخطاء بطريقة لا تكسر التوافق مع الإصدارات السابقة (Bug Fixes).
---
أمثلة على سير العمل:
1. مرحلة التطوير الأولي:
يبدأ المشروع غالبًا بالإصدار 0.1.0.
2. الإصدار المستقر الأول:
عند الوصول إلى نسخة مستقرة جاهزة للاستخدام، يتم الإصدار 1.0.0.
3. التغييرات المستقبلية:
إصلاح خطأ:
إذا احتجنا لإصلاح خلل في نسخة 1.0.0، نحدث إلى 1.0.1.
إضافة ميزة جديدة:
إذا أضفنا وظيفة جديدة متوافقة مع الإصدارات السابقة في نسخة 1.0.3، نحدث إلى 1.1.0.
تغيير كبير غير متوافق:
إذا قدمنا تغييرات كبيرة غير متوافقة مع نسخة 1.2.2، نحدث إلى 2.0.0.
---
الإصدارات الخاصة وما قبل الإطلاق:
الإصدارات قبل الإطلاق (Pre-Release):
تستخدم للإصدارات التجريبية أو قيد الاختبار، مثل:
1.0.0-alpha
1.0.0-beta
1.0.0-rc.1 (Release Candidate)
بيانات البناء (Build Metadata):
يمكن إضافة معلومات إضافية عن البناء بعد علامة +، مثل:
1.0.0+20130313144700
---
ملاحظات إضافية من الصورة:
الإصدارات تُمَر بمراحل تدريجية:
Alpha → Beta → RC1 → RC2 → Release
في الإصدارات الخاصة:
ما بعد الشرطة - يدل على مرحلة ما قبل الإطلاق (مثل -alpha أو -rc).
ما بعد علامة + يدل على بيانات البناء (مثل +123ab).
---
خلاصة سريعة:
---
المصادر:
الصورة من: ByteByteGo
المفهوم من:
الرسمية لمعيار SemVer
وثائق Git و npm | 88 |
| 17 | 1744990567936.gif | 76 |
| 18 | Essential Git Cheatsheet!
🔧 Basic Commands
git init – Initialize a new Git repository.
git clone <repo_url> – Clone a remote repository.
git status – Check the status of your working directory.
git add <file> – Stage changes for commit.
git commit -m "message" – Commit staged changes with a message.
git push – Push your local commits to the remote repository.
git pull – Fetch and merge changes from the remote repo.
git diff – Show changes in the working directory (uncommitted changes).
git diff --staged – Show changes between the staging area and last commit.
🛠️ Branching & Merging
git branch – List branches.
git branch <branch_name> – Create a new branch.
git checkout <branch_name> – Switch to another branch.
git checkout -b <branch_name> – Create and switch to a new branch.
git merge <branch_name> – Merge a branch into the current one.
git branch -d <branch_name> – Delete a branch after merging.
git branch -D <branch_name> – Forcefully delete a branch, even if it hasn’t merged.
🔄 Synchronization
git fetch – Download changes from remote without merging.
git pull --rebase – Fetch and reapply your changes on top of the latest remote changes.
git rebase <branch> – Reapply commits on top of another branch to maintain linear history.
git remote add <name> <url> – Add a new remote repository.
🎯 Advanced Git
git stash – Temporarily save changes without committing.
git stash pop – Reapply stashed changes.
git cherry-pick <commit> – Apply a specific commit to your current branch.
git log --oneline – View simplified commit history.
git reflog – Show the history of your reference changes (e.g., checkout, resets).
git log --graph --decorate --all – Show a visual commit history.
🚨 Undoing Changes
git reset <file> – Unstage a file.
git reset --soft <commit> – Reset to a commit but keep changes in the working directory.
git reset --hard <commit> – Completely reset to a previous commit, discarding changes.
git revert <commit> – Create a new commit that undoes a specific commit.
⚙️ Collaborating with Others
git fork – Fork a repository on GitHub (via UI) to start contributing.
git pull origin <branch> – Pull changes from the original remote branch.
git push origin <branch> – Push your branch to the original repository for collaboration.
---
ملاحظة:
جميع الأوامر مأخوذة من المصادر الرسمية لتوثيق Git مثل:
Pro Git Book
Git Documentation
GitHub Docs | 96 |
| 19 | 1745336705157.gif | 92 |
| 20 | Top 6 Tools to Turn Code into Beautiful Diagrams :
- Diagrams
- Go Diagrams
- Mermaid
- PlantUML
- ASCII diagrams
- Markmap
Over to you: Did we miss anything? What's your favorite? | 95 |
