لمحة 👀 برمجية – Telegram
لمحة 👀 برمجية
607 subscribers
144 photos
8 videos
13 files
141 links
Download Telegram
لمحة 👀 برمجية
نظره بسيطه
يفضل كذلك ان في replication حتى ل database
الذكاء الاصطناعي خلا الشركات تسوي شغل جديد ما كان بيكون موجود اصلا مش لانه صعب لكن تكلفته كانت عاليه وما تسوى العايد مع الذكاء الاصطناعي التكلفه قلت وصار  ممكن تنفذ العمل مثال شركة تريد  تحول اكواد موقعها من لغه قديمه الى حديثه الهدف يكون تسريع الموقع عشرين بالميه وهذا يزيد المبيعات اثنين بالميه زياده المبيعات هذي تساوي عشره الف دولار بالسنه لكن تحويل الاكواد بشكل بشري يكلف خمسين الف دولار الشركة  بتفكر تقول ليش ندفع خمسين الف بنحتاج خمس سنين عشان نستفيد والفلوس ممكن نستخدمها في شي ثاني مفيد اكثر فالشركة بتوقف المشروع لكن مع الذكاء الاصطناعي تكلفه تحويل الاكواد ممكن تقل لخمس الف هنا الشركة بتوافق على  تنفذ المشروع لانه بيدفعوا خمس الف ويكسبوا عشره الف سنوي بهذا الطريق الذكاء الاصطناعي خلق عمل جديد وهو شغل الشخص اللي يراقب تحويل الاكواد ويتاكد انها سليمه
👍2
إذا كان مشروعك القادم Data Driven وبتحتاج حاجة تسرع شغلك وتخليك تشتغل بسرعة وتكون جاهز بأقل وقت فبالتأكيد لازم تطلع على Serenity framework هذا الإطار بيقدم لك مجموعة أدوات جاهزة ومتكاملة تتيح لك تبني مشاريع Data Driven بسرعة وكفاءة بس لازم نفهم كويس أن Serenity مش هيكون الأنسب في كل الحالات لو مشروعك مش Data Driven هنا هتواجه صعوبة في استخدامه وستتعب معاه لأنه تم تصميمه خصيصًا للتعامل مع البيانات بكفاءة فالمفتاح هو استخدامه في الأماكن اللي يناسبها عشان تستفيد منه بأقصى قدر.
لمحة 👀 برمجية
Photo
- عمرك سألت نفسك يعني اي big O notation 🧐

ـ دي يعتبر من أهم المفاهيم اللي هيخليك تفهم طلاسم الـ Ds & Algorithms وتفهم يعني اي ألجورزيم كويس أو وحش

- تعالي بقي نبسط الموضوع اكتر
الـ big O بيعبر عن اسوء حالة ممكن توصلها الفانكشن ، أو الـ worst case للفانكشن .. و بتعرف ده عن طريق معادلة رياضية بسيطة ممكن نتكلم عنها بعدين

ـ طيب بعد ما عرفناه ، اي استخدامه بقي ؟😲

ـ قبل ما نشرح استخدامات الـ big o لازم نذكر كم نقطة هيساعدونا في فهم الاستخدامات.. 🔎

ـ هي أن الفانكشن عشان تشتغل بتستهلك وقت وذاكرة من الميموري بتاع الجهاز
واللي ممكن نعبر عنهم
بـ time complexity للوقت
و space complexity للميموري بتاعت الجهاز ..

ـ حلو كده طيب احنا معانا إستخدام وقت و ميموري ، نركز علي اي اكتر ؟! هقولك بسيطة يا باشمهندس

في حالة أن أنت شغال embedded system وقتها هنركز اكتر علي الـ space complexity
لأن الميموري في الأجهزة دي بتكون حجمها صغير ، ما دون ذلك بنركز اكتر علي الـ time complexity والوقت اللي بتستهلكه الفانكشن عشان تتنفذ

- بعد ما فهمنا موضوع الـ time & space complexity نرجع لموضوع الاستخدام

ـ اي هو استخدامه ؟ أظن انت بقيت عارف الإجابة ، بتقيس أداء الفانكشن من حيث استخدام الوقت والميموري .. عشان تحاول تكتب كود يتنفذ بأقل وقت وميموري

ـ وده اللي يفرق بين واحد بيكتب كود وخلاص وشخص تاني عارف اللي بيدور خلف الكواليس وبيطلع كود جودته عالية

ملحوظة للعلم بالشيء : في بعض مسائل الـ problem solving بيديك كود شغال ويطلب منك تحسن الـ big o بتاعته
🔥21👍1👏1
بعد عامين أو ثلاثه أعوام ستدرك ان البرمجة هي مجرد كتابة كود ستبدأ تحس ايه ناقصك بضبط كتبت كود بدأت تدرك انه مش منظم صح بدأت تقسمه وبدأت تتعلم ازي تقسمه إلى مكونات والا أخرى وبدأت تتعلم ال low level design بعد مرحلة من الزمن ستدرك انك لا زلت في مشكله مع الواقع وتحويل الواقع إلى كود يعكس ذلك ستنتقل إلى مرحلة high level design في فرق كبير بين مطور و coder و مهندس برمجيات اليوم بتعبر عن الخوارزميات بكود غدا يمكن صوتيا أو بعد مائة عام تعبر عنها مباشرة بأفكارك اليوم بتتفاعل مع برامج حاسوب وأجهزة غدا سيكون في شيء أخرى خالص التكنلوجيا ليس من هو غني أو ذكي يقدر يواكب هذا التطور بل من يعرف كيف يتكيف معها سيكون في أمان ستتذكر يوما ما كيف كان يعلمك تكتب كود وتضحك هندسة البرمجيات لها معيار طيب من جاء بهذا المعايير كيف جاءت مافيش إجابة في ناس ملهمة مدير شركة ميكروسوفت تقريبا ايش قال التكنلوجيا والتطور لايحترم العادات والتقاليد بل يحترم الابتكار
وشكرا
3👌2
الشاهد:
إننا بنلاقي ناس خبراتها متوسطة في مجال ما ولكن متصدرين المشهد في المجال هذا ومستحوذين على فرص مهولة فيه لأن عندهم قدرة تسويقية جبارة لنفسهم
من 2022 بقول إن سيأتي الوقت اللي لازم الممتاز في مجال ما واجب وفرض عليه انه يكون ممتاز في إنه يبيع نفسه ويسوق اسمه كذلك لأنه زمان كان ممكن يبقى متداري في الفرص الكثير لكن حاليًا الفرص بتقل بشكل ملحوظ والتنافسية بتزيد وبتتجاوز حدودك الجغرافية ومش بس بتنافس بشر هذا كذلك بتنافس أدوات ومنصات ونماذج معقدة واحترافية بشكل مذهل
يارجل المصاريه في ناس عادها تعلمت برمجة واليوم نازل يوتيوب عنده محتوى تعليمي ومعه متابعين كل التوفيق => هذا
لو عكسناها على المحتوى اليمني هل ستحصل كورس أو واحد بيقدم محتوى هادف تعليمي على يوتيوب أو غيرها مع ان شفت على مستوى الوطن العربي مابش ناس تقدم محتوى تعليمي على كافة المستويات مقارنه بالاجانب
الم تلاحظ المصاريه كيف مستحوذه على عالم البرمجيات في كافة المجالات هذا ان في ناس عندها قدره على تسويق نفسها إلى جانب الخبره هذا مهم لي ولك نأخذ العبرة


اتكلم عن شغلك.. سوق لنفسك.
@لمحة على حالة السوق في البرمجة
👍21
Forwarded from اللجنة العلمية CS 22 (ʙʀʜᴏᴏᴍ ⑇)
مجموعه ملخصات برميجه رهيبه باللغة العربية

http://library.eqraatech.com
أهم ال Topics اللي لازم كل Frontend Developer يتعلمها في 2025 ❤️😍

لو نفسك تبقى Frontend Developer شاطر وتتميز في مجالك، الموضوع مش مجرد إنك تعرف تكتب كود وبس! لازم تبقى فاهم أدوات وتقنيات وأساليب تقدر بيها تعمل تجربة مستخدم (User Experience) استثنائية.

ولو عاوزين بوست عن اهم ال Github repo اللي فيها مصادر ليها اكتبولي في الكومنات👌😊

1. Modern JavaScript (ES6+)
الجافاسكريبت لسه هي العمود الفقري لأي شغل Frontend. علشان تبقى متميز ركز على:

- الـ ES6+ Features زي destructuring, spread/rest operators, و template literals.
- مفاهيم متقدمة زي closures, promises, و async/await.
- ال Model programming باستخدام أدوات زي Webpack و Vite.

جرب تعمل مشاريع صغيرة علشان تتاكد انك فهمتها😅

2. Component-Based Frameworks
الفريم ووركس زي React, Vue.js, و Angular مازالت مسيطرة في السوق. اتعلم:

- إزاي تشتغل مع component lifecycle.
- أدوات إدارة الحالة (State Management) زي Redux, Zustand, أو Vuex.
- تقنيات زي Server-side rendering (SSR) و Static site generation (SSG).

📘 ابدأ من الـ official documentation علشان تفهم الأساسيات صح. هتلاقي فيه كل حاجه

3. إتقان React
React بقيت من أكتر المكتبات استخداماً. علشان تشتغل بيها كويس:

- Hooks: زي useState, useEffect, useReducer, و custom hooks.
- Context API: لإدارة الـ global state من غير ما تحتاج مكتبات خارجية.
- Storybook: علشان تبني وتختبر وتوثق الـ UI Components.
- React Query: لتسهيل الـ data fetching والـ caching.
- تحسين الأداء: زي memoization باستخدام React.memo أو useMemo، و lazy loading.

🛠️ اعمل مشروع كامل زي Task Management App باستخدام React. ونفس الموضوع لو هتختار Angular او اي فريم ورك تانيه حاول تدور علي المشابهه ليها فيه

4. Responsive Design و CSS Frameworks
مع التنوع في الأجهزة، الـ Responsive Design ضروري. ركز على:

- الـ Media Queries و CSS Grid/Flexbox.
- Frameworks زي Tailwind CSS, Bootstrap, و Material UI.
- الالتزام بمعايير الوصول (Accessibility).

🎨اعمل موقع بورتفوليو شخصي يكون Fully Responsive.

5. Git و Version Control
التعاون في المشاريع مش ممكن من غير Git. اتعلم:

- الأوامر الأساسية زي clone, branch, merge, و rebase.
- حل مشاكل الـ merge conflicts.
- استخدام منصات زي GitHub لعمل Pull Requests وإدارة المشاريع.

🔗 شارك في مشاريع Open Source علشان تحسن مهاراتك.

6. APIs و Data Handling
علشان تبني ويب أبليكيشن كويس، لازم تفهم APIs كويس:

- RESTful APIs و GraphQL.
- استخدام fetch أو مكتبات زي Axios.
- إدارة الحالة للـ API responses.

🌐 اعمل Weather App باستخدام Public API.

7. Testing و Debugging
ضمان الجودة حاجة أساسية. اتعلم:

- Unit Testing بأدوات زي Jest و Mocha.
- End-to-End Testing باستخدام Cypress أو Playwright.
- تقنيات Debugging في متصفحات الويب.

🛠️ اكتب Tests للـ Components وأنت بتبنيها.

8. تحسين الأداء (Performance Optimization)
المواقع البطيئة بتضايق المستخدمين. حسّن أداءك في:

- Lazy Loading و Code Splitting.
- تحسين الصور واستخدام فورمات زي WebP.
- تحليل الأداء بأدوات زي Lighthouse.

اعمل Audit منتظم للمشاريع علشان تكشف عن أي مشاكل.

9. أساسيات Web Security
احمي مستخدميك واتعلم:

- Cross-Site Scripting (XSS) وطرق منعه.
- Cross-Origin Resource Sharing (CORS) Policies.
- Content Security Policy (CSP).

🔒 تحدي: احمي مشروعك الحالي من المشاكل الأمنية الشائعة.

10. TypeScript
TypeScript بقت مهارة مطلوبة لأي Frontend Developer. ركز على:

- Type Annotations و Interfaces.
- التكامل مع Frameworks زي React و Vue.
- Debugging لتطبيقات TypeScript.

📘 ابدأ من الـ Official TypeScript Documentation.

11. تقنيات CSS المتقدمة
علشان تطور مستواك في التصميم:

- Animations و Transitions.
- مكتبات CSS-in-JS زي Emotion و styled-components.
- الـ Advanced Selectors.

🎨 جرب تعمل Layouts حديثة باستخدام CSS Grid.

12. Build Tools و CI/CD
أتمتة الـ Workflow مهمة جداً. اتعلم:

- Build Tools زي Webpack و Vite.
- Continuous Integration/Continuous Deployment (CI/CD).
- أدوات زي npm Scripts أو Gulp.

🛠️ اعمل CI/CD Pipeline لأي مشروع باستخدام GitHub Actions.

13. Real-Time Communication و WebSockets
للتطبيقات الديناميكية والتفاعلية:

- إزاي WebSockets بيشتغل.
- استخدام مكتبات زي Socket.IO.
- عمل Real-Time Updates في React Apps.

🌐 استخدام عملي: اعمل Chat App Real-Time.

14. Soft Skills
مش كل حاجة تقنية! طوّر:
- مهارات التواصل علشان تشتغل في فريق.
- التفكير النقدي وحل المشاكل.
- إدارة الوقت وتنظيم المهام.

🤝 شارك في Code Reviews والمناقشات الجماعية.

الخلاصة
لو عاوز تكون Frontend Developer محترف وتواكب الجديد، ركز على المواضيع دي. المفتاح هو الاستمرارية، التطبيق العملي، ومتابعة التطورات الجديدة.
#على الماشي
Forwarded from اللجنة العلمية CS 22 (ʙʀʜᴏᴏᴍ ⑇)
Containerizing applications using Docker
اللجنة العلمية 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 و غيرها✨️