لمحة 👀 برمجية – Telegram
لمحة 👀 برمجية
607 subscribers
144 photos
8 videos
13 files
141 links
Download Telegram
اللجنة العلمية CS 22
Containerizing applications using Docker
5 أدوات Docker هتسهل حياتك! 💻🐳🐳

شغل Docker أحيانًا بيبقى معقد، بس في أدوات ممكن تسهل الحوار ده😅

دي قائمة بـ

1. Lazy /jesseduffield/lazydocker
Lazy Docker هي أداة تفاعلية بتشتغل من الterminal وبتسهل إدارة الcontainers وimages Docker من غير ما تكتب cmd طويلة
أهم الميزات:
- متابعة حالة الcontainers وال logs
- إعادة تشغيل، حذف، أو إعادة بناء الcontainers بزر واحد
- مراقبة استهلاك الموارد برسومات ASCII
- الدخول على الـshell الخاص بالcontainers بسهولة

طريقة التثبيت:
لو عندك Mac، ممكن تثبتها كده:
brew install lazydocker
وبعدها:
lazydocker
ودي كمان طريقة باستخدام Docker نفسه:
docker run --rm -it -v \
/var/run/docker.sock:/var/run/docker.sock \
-v /yourpath:/.config/jesseduffield/lazydocker \
lazyteam/lazydocker
(ما تنساش تغير /yourpath بpath الـHome بتاعك).

2. Sliplane
https://sliplane.io/?utm_source=5-awesome-docker-tools
Sliplane منصة مخصصة لتشغيل ونشر ال containers بسهولة وبدون خبرة في DevOps.
أهم الميزات:
- تشغيل الحاويات مباشرةً من GitHub أو Docker Hub
- push operations
- نوتيفيكيشن لل health
- مراقبة logs

الأسعار:
البداية من 7 يورو شهريًا للسيرفر. مناسب جدًا للمشاريع الصغيرة

3. Dive
https://github.com/wagoodman/dive?tab=readme-ov-file
Dive أداة بتسمحلك تستكشف Docker image طبقة بطبقة. هتقدر تشوف كل الملفات اللي اتغيرت أو اتضافت في كل طبقة، وتقدر تكتشف الملفات المكررة أو المساحة المهدرة.
طريقة الاستخدام:
dive <your-image-tag>
كمان ممكن تستخدم الأداة من الحاوية نفسها من غير تثبيت:
alias dive="docker run -ti --rm -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive"
dive <your-image-tag>
الأداة دي مفيدة جدًا لتصغير الimages وتحسينها
4. Orbstack
https://orbstack.dev/
بديل أسرع وأخف لـDocker Desktop

أهم المزايا:
- تطبيق Native لنظام macOS
- أسرع وأقل استهلاك للموارد
- دعم الcontainers بشكل مباشر من غير لـVMs

للأسف الأداة حاليًا متوفرة لنظام macOS فقط، لكنها بديل قوي. (ممكن تستخدم أدوات زي Podman لو بتشتغل على Linux/Windows).
5. Watchtower
https://github.com/containrrr/watchtower
تحديث الcontainers تلقائيًا
طريقة الاستخدام:
docker run -d \
--name watchtower \
-e REPO_USER=username \
-e REPO_PASS=password \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower container_to_watch --debug
الأداة دي مناسبة جدًا الcontainers اللي شغالة عندك لكن مش دايما بتبقي ابديتيد ف هو بيظبط ده

الخلاصة:
الأدوات دي هتسهل عليك التعامل مع Docker بشكل كبير وهتوفر عليك وقت
1
تنوية 👇
إذا كان معك كلمة سر موحده لكل الحسابات فعمل لكل حساب كلمة سر مختلفة 🔐
فعل 2FA Authentication
بأي واحد مز التطبيقات وفي غيرها
صح سيكون متعب من ناحية تأكيد الحساب عندما تسجل دخولك أي مكان لكن أي تفضل
الي معهم ايميل جامعي لن تقبلك ميكروسوفت في github الا اذا فعلتها كذلك تكون معلوماتك متكاملة وتعمل خلفية لل profile تبعك على github
طبعا خدمات Azure Cloud الي مقدمها ميكروسوفت لطالب موقفه كذلك مفتح اليمن محظور بس انا جربت كان معي ايميل جامعي من جامعة أمريكية قبل سنه كانت شغاله لما دخلت بالإيميل تبع جامعتنا غيرت سياستها تمام فخدمات Azure مجانا لمدة شهر تقدر تدخل اذا كان معك credit card وستأخذ واحد دولار فقط والخدمات محدودة وفي limit للأستخدم لو انتهت الشهر تقدر تعمل upgrade
بس نصيحة الي مش شغال .NET يتجه AWS ميكروسوفت متعبة
نظام الحساب الشهري في Azure Cloud (أو أي منصة سحابية مشابهة) ليس عملية بسيطة تقوم بها "دالة" واحدة، بل يعتمد على تصميم معقد ومتكامل يعمل على عدة مستويات.

المكونات الأساسية لنظام الحساب:

1. تجميع البيانات (Data Collection):

يتم تتبع جميع الأنشطة والموارد المستخدمة بواسطة المستخدمين (مثل عدد ساعات تشغيل السيرفرات، كمية البيانات المنقولة، عدد الطلبات، التخزين المستخدم، وغيرها).

يتم تسجيل هذه البيانات في Logs أو Telemetry Systems باستخدام أدوات مثل Azure Monitor أو Application Insights.



2. التخزين والمعالجة:

يتم تخزين البيانات الأولية في قواعد بيانات كبيرة أو مستودعات بيانات مثل Azure Data Lake أو Cosmos DB.

يتم معالجة البيانات باستخدام أدوات تحليل مثل Azure Stream Analytics أو Data Factory لتجميع الاستخدام على فترات زمنية محددة (مثل كل ساعة أو يوم).



3. التحليل والتقييم:

تستخدم الخوارزميات المخصصة لحساب التكلفة بناءً على نموذج التسعير (Pricing Model) الخاص بكل خدمة.

يتم ذلك باستخدام قواعد بيانات تسعير يتم تحديثها باستمرار لتتوافق مع التغييرات في التسعير (مثل التسعير الإقليمي، أو خصومات محددة).



4. التكامل مع النظام المالي:

يتم دمج النتائج المحسوبة مع أنظمة الفوترة (Billing Systems) لتوليد الفواتير.

هذه الأنظمة تدعم آليات مثل تخصيص الفواتير للمستخدمين أو الفرق أو الأقسام.



5. تحديثات مستمرة:

يتم تحديث نظام الحساب باستمرار لضمان دقة العمليات، بما في ذلك معالجة الأخطاء أو البيانات المفقودة.

يتم تطبيق سياسات مثل Retry Policies أو Error Handling للتعامل مع أي حالات فشل.





---

التحديات والحلول:

1. التعامل مع كميات ضخمة من البيانات:

يتم استخدام تقنيات مثل البيانات الموزعة (Distributed Data Systems) ومعالجات البيانات مثل Apache Spark أو Azure Synapse Analytics.



2. ضمان الدقة:

كل عملية تتبع تحتاج إلى سجل دقيق، لذا يتم تنفيذ عمليات Validation وReconciliation.



3. الأداء:

العمليات مكلفة جدًا، لذا يتم تقسيم العمليات إلى Batch Processing (للبيانات التاريخية) وReal-Time Processing (للبيانات الفورية).



4. الأمان:

البيانات الحساسة يتم تأمينها باستخدام Encryption وآليات التحكم في الوصول (Access Control).





---

خلاصة:

نظام الحساب في Azure أو أي خدمة سحابية يعتمد على بنية معمارية متطورة تشمل:

التتبع (Tracking).

التخزين (Storage).

التحليل (Analysis).

التكامل المالي (Integration with Billing Systems).

كل هذه العناصر تعمل معًا لتقديم عملية حساب دقيقة وفعالة، مع ضمان الشفافية والموثوقية للمستخدمين.
👍1
كيف تقوم Azure Cloud بحساب الاشتراك الشهري لكل مستخدم؟ العملية ليست مجرد دالة بسيطة تنتج الناتج مباشرة بل هي عملية معقدة ومكلفة كيف يتم تصميم وتنفيذ هذا النظام فعليا؟

السؤال
Multi-tenancy
ايش هذا الموضوع ايش فائدته شف مثلا جاء لاعندك عميل والعميل قال معي مدرسة في المركز الرئيسي ومعي عدت فروع فرع بنين مثلا وفرع بنات ها طيب انا كمطور يخطر في بالي هذا الموضوع طوالي النظام والواجهه نفس الواجهات في كل الفروع بس تختلف معي البيانات كل فرع ولديه بيانات خاصة به احيانا قد يكون لكل tenant داتابيز منفصله وأحيانا تكون داتابيز للكل بس سيكون في عمود في الجدول ب id لكل مستأجر باللغة الحرفيه وغيرها مثلا الصرافين قد تعمل لهم نظام طبقا لهذا الموضوع جبت لك الموضوع و deep وشوف ايه الفرق مثلا اي الأفضل لو عملت لكل مستأجر داتابيز منفصله لحاله أو أي features تناسب لمتطلبات النظام وإمكانيات المؤسسه
لا يوجد علي الإطلاق ORM يتكامل بشكل مثالي مع مفاهيم ال DDD مثل EF core ⚡️

عظمة في mapping و تمثيل سهل جدا لكل مفاهيم ال ddd ك ال aggregate و ال entity و ال value object و غيرها✨️
جمعة مباركة
أنت عندما تتعلم framework عسى الله الشركة مثلا الي دخلت معها كم عدد الأنظمة الي ستنفذها أي فريمورك يتطلب منك أن تفهمها في أي مجال أنت فيه هل مثلا ميكروسوفت عاجزة عن انها تعمل فريمورك أفضل من باقي الفريم ورك أو جوجل خذ بالك دي سياسات شركات وفي علاقات بينهم وتبادل واحترام وفي معيار بينهم لذلك لاتبحث ايه الأفضل أنت ايه يهمك تدخر فلوس خلاص سيبك من المقارنات واتعلم أي حاجة تجيب لك فلوس ميكروسوفت والله انها بتستخدم منتجات جوجو مثلا Angular تبع جوجل ميكروسوفت بتستخدمها في مشاريعها بينما ميكروسوفت معها فريمورك الي هو Blazor .
فذكر‼️
Full stack Developer هذا مفهوم مستنزف للطاقة البشرية يستعمله بعض اصحاب المشاريع والشركات من أجل التوفير واستغلال الاشخاص وخصوصي ان تسارع التكنولوجيا والتقنيات في هذا المجال اصبح أمر متعب وخصوصاً للخريجين الجدد والمخضرمين القدامى إن موضوع التحديث اليومي ومتابعة الأمور التقنية اليوميه في هذا المجال أمر لا يقدره أرباب العمل للأسف بذات في بلادنا ولايعرفون مقدار التعب الجسدي والنفسي في هذا المجال على حساب صحتك النفسية وحياتك والضغوط التي نواجهها هذه الأيام لذلك نصيحة أن تختص في مجال واحد فقط سواءً كان Frontend or Backend or Mobile
وغيرها
والعمل بقاعدة : يجب أن تعرف كل شيء عن شيء وشيء عن كل شيء

أخيرًا في موضوع جامد ودسم 👀😅 هو ال Event sourcing العنوان معك والباقي عليك بهشتاج #ورط نفسك كان كورس أو أي شيء
لو تكلمنا عن ال Event sourcing لو قلت لك انت الان بتعمل نظام صح و ب تحفظ ال data في الداتابيز البيانات الي بتحفظها لو قلت لك انها ال current state الحاله الي بتحفظ بها البيانات هي الحاله الي هي فيها الآن طيب في عمليات مثلا بتتغير من حين إلى آخر تخيل مثلا اريد احفظ كل العمليات الي بتمر بها مثل من عملية سحب مال من أي صراف الي إلى داخل الحساب داخل البنك في نفس الترانز اكشن اريد احفظ ال history الي حدثت حتى آخر عمليه مثلا دخلت موقع الاكتروني تشتري شيء مثلا اريد احفظ كل عمليات الدفع الي بتمر بها ستقول لي انا بينحفظها انت مثلا في نفس الترانزاكشن الطلب الان مثلا فيه مرحله تحت المعالجة بعدها أصبح approved الطلب انت هنا ستعدل الحاله في الداتابيز طوالي وغيرها من الحالات حتى تتم عملية shipping وستحدث في الداتابيز آخر حاله لطلب وستعرضها كل هذ الهيستوري اريد ان اعمله ياسطى ايش snapshot
ايش بستفيد لو كان نظامي مبني على Event sourcing أو شيء أي عمليات مسجله ك events تقدر ترجع لها متى ماتريد ثانيا لو وقف النظام فجأة تقدر تستعيد النظام إلى حالة ماقبل ان يسقط مثلا ثالثا أنت بتخزن بيانات تقدر تعملها BI وتحللها وتتنبأ للمستقبل عن حالة النظام ومستقبله من خلال البيانات كذلك تقدر من خلالها تقدر تدرس طبيعة العملاء وتقييم وغيرها من التحليل طباعة تقارير بكل بعسسه في النظام ماتضيع كذلك هذا هو جانب حل في الأداء وتحسين في الأنظمة الكبيرة مثلا البنكية وغيرها الذكاء الاصطناعي على ماذا اعتمد هو على history تبعك ياعم الحج بيحفظ كل حدثانت تفعلت مع النظام خوارزميات البحث الي فجأة بحثت في جوجل طلع لك اقترح في يوتيوب
جزء بسيط من عالم يهتم ب تكامل البيانات للماضي والحاضر والمستقبل
1
الي عاده بدأ اعمل نجمة للموضوع بعد فتره وقد مشيت في البرمجة اقرا الموضوع لا تشوش حالك الان عاد انا وغيري مشوش ماقد زبط معي😂 الموضوع صح مواضيع ثقيله ومع الزمن تهضمها
لا تبحث على مراجع بل ابحث على slides تخرج لك ب المختصر المفيد
DEV
writefastthinklater_munichmicroservicemeetup01_2018_180122112635.pdf
Event sourcing بشكل رسومي وسهل
وظف لسلوك ودرب للمهارة
اسأل gpt عنها
👍1
قد مانتكلم عن اشياء أساسية للي عادهم في بداية المشوار لكن لو أردت أن تدر ال database بجذورها ناس تشرح لك صح تنقلك إلى حته ثانيه خالص ليس لدي كورس بل معسكر يبنيك صح في database بالعربي ويفهمك بطريقة اعتقد لن تحصلها لا في جامعات ولا في كورسات سوى مدفوعة أو مجانية ان كنت تريد المعسكر كلمني بنسخة لك ان شاءالله تدعي لي
👍5
Forwarded from الرسمية CS4 Class-22 (أحمد جلال | 𐩱𐩢𐩣𐩵 𐩴𐩡𐩱𐩡)
اعلان فرص عمل عن بعد طبيعة العمل نوعين سهله جدا
1- اما شروحات لكورسات عن بعد (لمن لديه القدرة وعنده خبره في الشرح )
2 - او خدمات مصغرة (نفس فكرة خمسات او مستقل) او تصاميم او انجاز مهام جامعية (كأنهن تكاليف الجامعة) ومشاريع برمجية



حساب التواصل:

تيليجرام :
T.me/TTThiT
واتساب :
wa.me/+967776012378
انستقرام :
https://www.instagram.com/manss_tak