# انفورماتيك | Informatic > معرفة عربية لمن يبني البرمجيات ويقود فرقها. مقالات في هندسة البرمجيات، والذكاء الاصطناعي، والقرارات التقنية. Public Ghost content for AI and LLM tooling. Use `/llms-full.txt` for consolidated page and post context. Append `.md` to any post or page URL to get the content in Markdown (for example, `/example-post.md`). ## Pages - [عن المدونة](https://informatic-ar.com/about-blog.md) - أحد أسهل وأسرع الطرق الناجعة في التعلم هو مجالسة من هم أكثر خبرة منك، حقيقة هذا أفضل شيء تحصل عليه في عملك اذا كانوا متواجدين لديك، فهؤلاء الأشخاص قد مروا بكثير من التجارب وقاموا بعمل ما تريد عمله أو تعلم ما تريد أن تتعلمه. فاقضى اكبر وقت تستطيع مع هؤلاء، تعلم منهم من خلال مساعدتهم، واحصل ايضاً على… - [عن انفورماتيك](https://informatic-ar.com/about.md) - خلال العشرين سنة الماضية تغيرت البرمجة كثيراً، تغيرت الأدوات واللغات، وطريقة بناء الأنظمة وتشغيلها، وحتى شكل الفرق والأدوار داخلها. واليوم، مع دخول الذكاء الاصطناعي AI إلى العمل اليومي، تتغير مرة أخرى طريقة تحويل الأفكار إلى منتجات. ومع هذا التغير، نحتاج أن نفهم الخيارات المتاحة أمامنا، ومتى نختار… - [تواصل معنا](https://informatic-ar.com/contact.md) - لديك سؤال، أو ملاحظة، أو تجربة تريد الكتابة عنها؟ يسعدنا أن نسمع منك. - [سياسة التحرير](https://informatic-ar.com/editorial-policy.md) - ما الذي ننشره؟ نركّز على التجارب المباشرة والتحليل والدروس المستفادة في هندسة البرمجيات وقيادة الفرق والذكاء الاصطناعي وصناعة التقنية. المقالات التعليمية السابقة متاحة في الأرشيف؛ النشر الجديد موجّه إلى فهم القرارات ونتائجها. السياق والأدلة توضّح مقالات التجربة المشكلة والقيود والبدائل والقرار والن… - [خطواتك الأولى في دوكر](https://informatic-ar.com/first-steps-in-docker.md) - خطواتك الأولى في دوكر المقدمة تقنية الدوكر Docker تعتبر من التقنيات الحديثة نسبياً إلا أنها أحدثت ضجة كبيرة عند ظهورها، حيث عززت فكرة ال Containerization والتي تسمح لك بتشغيل البرامج (حالياً ال Server-Side Applications) بداخل Container تكون معزولة عن البرامج أو ال Containers الأخرى في نظام التشغيل،… - [البرمجة والأدلة](https://informatic-ar.com/guides.md) - قراءات عملية من مكتبة انفورماتيك. اختر المسار الذي يخدم ما تبنيه، وتحقّق من إصدارات الأدوات قبل تنفيذ أمثلة الأرشيف. الحاويات والتشغيل * مقدمة حول Docker * البداية مع Docker * مشاركة المجلدات * بناء الصور * تشغيل البرامج باستخدام Docker Compose تصميم الكود والبيانات * Repository Pattern باستخدام In… - [للقادة التقنيين](https://informatic-ar.com/leadership.md) - مسار لمن يقود العمل الهندسي: القائد التقني، ومدير الهندسة، والمدير التقني. نبدأ بقراءات من الأرشيف تساعد على فهم تكلفة القرارات وتعقيدها. قراءات للبدء * كيف يتحمل الموقع ملايين الزوار؟ * بناء أنظمة قابلة للتوسع: بين النظرية والتجربة * كيف نفكّر في مشكلات الأداء؟ * مقدمة حول الخدمات المصغّرة * فهم ت… - [تجربة](https://informatic-ar.com/legacy-layout-example.md) - من المهم أن يكون الموقع جاذبا من الناحية البصرية فهو يساعد المتصفح على فهم المحتوى أكثر. - [نشرة انفورماتيك](https://informatic-ar.com/newsletter.md) - قراءات مختارة في هندسة البرمجيات والقرارات التقنية وقيادة الفرق، تصل إلى بريدك عند إصدار النشرة. اشترك في نشرة انفورماتيك سنرسل رسالة لتأكيد بريدك قبل تفعيل الاشتراك. يمكنك إلغاء الاشتراك من الرابط في كل رسالة. لا نستخدم تتبعاً فردياً للقراءة. يمكنك أيضًا متابعة المقالات عبر RSS. - [الخصوصية](https://informatic-ar.com/privacy.md) - المقالات متاحة للقراءة دون إنشاء حساب. يحتفظ خادم الموقع بسجلات تشغيل للمساعدة في اكتشاف الأعطال وحماية الخدمة. نستخدم إحصاءات قراءة المقالات لمعرفة الصفحات الأكثر زيارة وتحسين الموقع. تُجمع بيانات الزيارة دون ملفات تعريف ارتباط، ولا نطلب اسم القارئ أو بريده لهذا الغرض. عند التواصل معنا بالبريد، نت… - [الذكاء الاصطناعي](https://informatic-ar.com/section-ai.md) - [تجارب هندسية](https://informatic-ar.com/section-engineering.md) - [صناعة التقنية](https://informatic-ar.com/section-industry.md) - [قيادة الفرق](https://informatic-ar.com/section-leadership.md) ## Posts - [هل انتهى عصر البرمجة حقاً… أم بدأ عصر مطور المنتجات؟](https://informatic-ar.com/ai-and-product-developer.md) - لم يعد المطلوب أن تعرف كيف تكتب كل شيء، بل أن تعرف ماذا يجب أن يبنى، وكيف تتأكد أنه يعمل، وكيف تطوره وتشغله وتعمل على تحسينه باستمرار. - [الاستضافة والحوسبة السحابية Hosting and Cloud](https://informatic-ar.com/hosting-and-cloud.md) - عندما تقوم بزيارة أي موقع في الانترنت من جهازك الشخصي او الجوال، فالمتصفح Browser (أو التطبيق) الذي تستخدمه سوف يقوم بطلب الصفحة المطلوبة من الجهاز (السيرفر Server) الذي يحتوي ذلك الموقع. وهكذا فكل مواقع الانترنت والتطبيقات التي نزورها يومياً متواجدة على أجهزة (سيرفرات) في منطقة ما في الكرة الأرضية… - [عمل ال Repository Pattern باستخدام ال Interface](https://informatic-ar.com/interface-repository.md) - هذه المقالة ستبين كيف يمكن أن تستخدم ال Interface في جعل الكود قابل للتطوير بسهولة Extensibility، وسوف نأخذ مثال على ال Repository Pattern. في هذه السلسلة سوف نوضح ما يلي: * الفرق بين ال Abstract Class وال Interface * دور ال Interface في قابلية الصيانة Maintainbility * عمل ال Repository باستخدام ال… - [تحويل بيانات من ملف نصي الى اكسل excel باستخدام NotePad++](https://informatic-ar.com/convert-file-csv-excel-notpad.md) - سوف نأخذ في هذه المقالة أحد الطرق لمعالجة الملف وتحويله من شكل الى اخر (اكسل excel)، وذلك باستخدام محرر النصوص NotePad++ بالاضافة الى طريقة استخدام ال regex في البحث والاستبدال المثال الذي سوف نعمل عليه به تجد أن هناك حوالي 500 شركة بمعلومات حولها ولكن طريقة العرض عن طريق الأسطر Row Based والأسهل ه… - [أهمية إدارة الهوية في التطبيقات Identity Management](https://informatic-ar.com/identity-management.md) - كل التطبيقات تحتاج للتعامل مع بيانات المستخدمين وادارتها Identity Management وقد تبدوا العملية من الوهلة الأولى بسيطة، ولا يتم مناقشتها كثيراً في أغلب المشاريع، كونها ليست جزءاً أساسياً من متطلبات المشروع، وانما فقط وسيلة للدخول والحماية. لكن بالرغم من ذلك فال Identity Management يعتبر من أكثر الأج… - [حل مشكلة توليد ملفات CSV بالعربي برمجياً وفتحها بالأكسل Excel](https://informatic-ar.com/csv-arabic-excel.md) - مشكلة ملف ال CSV العربي مع ال Excel كثير من الأحيان نحتاج لتوليد ملفات اكسل شيت Excel برمجياً من داخل المشاريع مثلاً لتصدير بعض التقارير، وبدلاً من أن نقوم باستخدام مكتبات خاصة لكي تولد ملفات Excel فنقوم بعمل ملفات CSV والتي يمكن فتحها بسهولة بواسطة الأكسل، أو حتى يمكن قرائتها بواسطة البرمجيات الأخ… - [دور ال Interface في قابلية الصيانة Maintainability](https://informatic-ar.com/interface-maintainability.md) - واحدة من أهم الأسباب في استخدام ال Interface هو أنه يساعد في جعل الكود أكثر قابلية للصيانة Maintainability، أي الكود المرن في التغيير وليس الذي يحتاج تغييره كاملاً بسبب تغيير بسيط، وبالتالي يضمن هذا الأمر أن الكود يعمل للمستقبل Future Proof Code. فالتطبيقات دائماً تتغير إما بتغيير المتطلبات أو بالإ… - [ما هو الفرق بين ال Abstract class وال Interface في البرمجة؟](https://informatic-ar.com/interface-vs-abstract-classs.md) - استخدام ال Interface وال Abstract Class يضيفان طبقة من ال Abstraction في الكود، والفروقات التي بينهم هي التي تحدد أي Abstraction سوف تفضلها للمشكلة التي تريد حلها. في هذه السلسلة سوف نوضح ما يلي: * الفرق بين ال Abstract Class وال Interface (المقالة الحالية) * دور ال Interface في قابلية الصيانة Main… - [برتوكول الـ HSTS وتطبيقه مع الـ ASP.NET MVC](https://informatic-ar.com/hsts-aspnet-mvc.md) - الـ HSTS او ما يعرف بالـ HTTP Strict-Transport Security هو بروتكول يختص بتنبيه المتصفحات Browsers بإستخدام بروتكول الـ HTTPS وهو مثل الحلقة ما بين تطبيق الذي يعمل على الويب وما بين المتصفح. الـ Header Type لهذا البرتكول ( HSTS ) هو Response وسوف نرى ذلك في المثال القادم. لكن دعنا نشرح بإستفاضة كيفي… - [التعامل مع الـ Caching في الـ ASP.NET Core من خلال Redis](https://informatic-ar.com/aspnet-core-redis-caching.md) - كل البرمجيات لديها بيانات يتم جلبها من قاعدة البيانات، هنالك بيانات يتم جلبها بإستمرار، في البرمجيات الضخمة لابد أن تكون سرعة الإستجابة لجلب هذه البيانات كبيرة ، فالثواني قد تفرق في حال برمجيات المبيعات التي تتعامل بصورة مباشرة من الزبون مثل أمازون أو غيرها من البرمجيات الضخمة. بالتالي عندما يقوم ا… - [مفهوم الـ Automated من خلال GitHub Actions](https://informatic-ar.com/github-actions-automation.md) - بناء البرمجيات الضخمة ليس بالسهولة التي يتصورها البعض، بل تحتاج لقواعد ومجهود متكامل يحقق الإستمرارية بصورة متوازية لمرحلة نشر تلك البرمجيات. CI/CD لا أريد أن أطيل الحديث عن مفهوم الـ Automated فهو ببساطة جعل العمل يحقق الاستمرارية أثناء مرحلة التطوير وأيضا الإستمرارية أثناء مرحلة نشر تلك البرمجيات… - [الـ Concurrency مع الـ ASP.NET Core Web API من خلال ETag Header](https://informatic-ar.com/aspnet-concurrency-etag.md) - جميعنا يعلم أهمية التزامن في البرمجيات فمعظم الـ API حالتها ضعيفة بعد جلبها من المصدر، فإذا كنت تريد ان تحكم سيطرتك على البيانات فبالتالي انت مطالب بعمل إضافي في برمجياتك. نفترض ان لدينا مجموعة بيانات قام المستخدم A بجلبها من قاعدة البيانات، وبعدها بلحظات قام المستخدم B بجلب نفس البيانات لعمل تعديل… - [بناء انظمة قابلة للتوسع , بين النظرية والتجربة](https://informatic-ar.com/scalable-systems-in-practice.md) - شهد التطور الكبير في مجال الانترنت والاجهزة الذكية واللوحية طفرة كبيرة خلال السنين العشر الاخيرة , ادى ذلك لدخول الكثير من المستفيدين لهذه الخدمات لعالم الانترنت ومحاولة نقل اعمالهم الي المنصات , ولم يكتفو فقط بنقل الاعمال بل حتى المتعة entertainment والتواصل الاجتماعي social media platforms واصبحت… - [خريطة لتعلم الـ Vuejs مع بعض النصائح!!](https://informatic-ar.com/vuejs-learning-roadmap.md) - هذه المادة قابلة للتحديث من وقت لآخر... Vuejs عبارة عن مكتبة Front-End تستخدم في برمجة واجهات برمجيات الانترنت, لها مثيلاتها كـ React و Angular في هذه النصوص أود عرض صورة مبسطة وسريعة لتعلم Vuejs. الشئ الأول والذي يتوجب فهمه على أي مطور برميجات انترنت هو أن يجد سبيل او طريقة مناسبة لتعلم لغة JavaSc… - [استخدام ال API Gateway في بناء Microservices](https://informatic-ar.com/api-gateway-microservices.md) - في هذه المقالة سوف نتحدث عن بوابة وواجهة العبور الى ال Backends، ففي التطبيقات الضخمة التقليدية Monolithic يكون هناك رابط واحد Endpoint يمثل بوابة الدخول الى ذلك النظام. بينما في ال Microservices فكل خدمة مصغرة لديها ال Endpoints الخاصة بها، وسوف نتحدث تأثير هذا الأمر على التطبيقات Clients وكيف يفي… - [مقدمة حول ال Microservices](https://informatic-ar.com/microservices.md) - انتشرت في الآونة الأخيرة مفهوم ال Microservices بشكل كبير، عشرات المقالات والدروس التي تتحدث عنها، العديد من المحاضرات والمؤتمرات حولها وفوائدها وعيوبها. وانقسم مجتمع المطورين لفريقين، فريق يرى أنها ليست شيئاً جديداً وأنها مجرد إعادة تسمية Rebranding لمفهوم ال SOA. وفريق يرى عكس ذلك. وبالرغم من كل… - [نظرة على DotNet Core من خلال تصميم نظام حجوزات](https://informatic-ar.com/dotnet-core-booking-system.md) - تحديث 29-05-2020 سأقوم برفع الشفرة المصدرية لنظام الحجوزات على القيت هب هنا دوت نت كور تقنية جديدة من مايكروسوفت تم إصدارها في 2015 وتم كتابة شفرتها من الصفر بحيث أنها لا تقوم بالإعتماد على الـ DotNet Framwork. مميزات الدوت نت كور عديدة جدا ومن أهمها أنها تعتبر Cross platform بحيث يمكن تشغيلها على… - [تطوير الأنظمة وهندسة البرمجيات - Jeff Dean أنموذجاً](https://informatic-ar.com/software-engineering-jeff-dean.md) - حسب ويكيبيديا فإن مطور البرمجيات - Web Developer - يتم تعريفه بأنه شخص متخصص في برمجيات الكمبيوتر يقوم بتصميم النظم لإنجاز المتطلبات التي يحددها محلل النظم، كذلك فإن مهندس البرمجيات - Software Engineer - هو شخص ممارس يقوم بتطبيق النظريات العلمية و الخوارزميات لتصميم أو تنفيذ حلول تقنية لمختلف المجا… - [إجتياز إمتحان الـ #C من مايكروسوفت 70-483.. من الألف للياء](https://informatic-ar.com/csharp-certification-70-483.md) - جلست؛ وإجتزت قبل ستة أيّام، تحديدا يوم 19/9/2019، امتحان Programming in C# 70-438 من قبل مايكروسوفت Microsoft وهذا الإمتحان يتعلق بتحديد مستويات المبرمجين الذين يستخدمون تلك اللغة في برمجة تطبيقاتهم على منصة الدوت نت. في هذه المقالة سأتحدث عن طريقة إجتياز هذا الإمتحان وماهي الإدوات التي ستعينك في إ… - [مفهوم الـ Data Concurrency من خلال الـ Entity Framework](https://informatic-ar.com/entity-framework-concurrency.md) - في هذه المقالة سأتطرق لمفهوم الـ Data Concurrency وقد يكون فيه من الصعوبة في بداية التعامل معه بالنسبة لبعض المطورين، خصوصا أنه قد يتم تطبيقه في بعض التطبيقات خصوصا التطبيقات الحسابية أو تطبيبقات البنوك أو تطبيقات التسوق الإلكتروني. الـ Data Concurrency تنقسم لقسمين وهما: * Pessimistic * Optimistic… - [تثبيت نظام ويندوز للأجهزة عبر الشبكة Windows Deployment Services](https://informatic-ar.com/windows-deployment-services.md) - قبل إسبوع أو أكثر تم تكليفي بمهمة مشروع برمجي جديد لوزارة سيادية في دولة ما وقد تم تسليمي جهاز الخادم Server والأجهزة المساعدة الأخرى.. الخادم يعمل على نظام التشغيل ويندوز سيرفر 2012 Windows Server 2012 R2 ... في فترة من الفترات بعد تسليمي جهاز الخادم طلب مني كمساعدة من قسم آخر (خارج الإطار الرسمي)… - [تشغيل البرامج باستخدام ال Docker Compose](https://informatic-ar.com/docker-compose.md) - تحدثنا سابقاً عن كيفية تشغيل البرامج وال Containers، وكيف يمكن ان تشغل أحد البرامج بدخل ال Containers التي تعمل، وكيف نقوم بتشغيل ال Web Servers، وايضاً كيف نتعامل مع قواعد البيانات Databases، في هذا الموضوع سوف نقوم بكل هذه الخطوات ونشغل أي خدمة بكامل ملحقاتها موقع او ويب سيرفس بالإضافة مع قاعدة ا… - [التعامل مع الإجراءات المخزنة من خلال Dapper في تطبيقات الدوت نت (2)](https://informatic-ar.com/dapper-stored-procedures.md) - في المقالة السابقة تحدثت عن مجموعة من الاساسيات التي توفرها Dapper وهي الـ CRUD وقد شرحت أن Dapper تعتمد على الواجهة IDbConnection وبالتالي في جميع حالات التنفيذ على قاعدة البيانات نقوم بإستخدام الاسلوب Execute أما في حالة الإستعلام نقوم بإستخدام الاسلوب Query مصحوبا بالنوع او الكائن المراد الإستعل… - [مقدمة عن Dapper من خلال بيئة الـ DotNet](https://informatic-ar.com/dapper-introduction.md) - Dapper عبارة عن Micro-ORM وتختص بعملية الوصول لقاعدة البيانات المرتبطة بالمشروع الذي نعمل عليه ،وهي خفيفة الحجم وسهلة التعامل وعالية في الأداء. معظم التطبيقات التي ننشئها تتعامل مع قواعد البيانات؛ بالتالي دائما ما نبحث عن طرق الإتصال بين التطبيق وبين قاعدة البيانات... من خلال الجمل الإستعلامية التي… - [إستدعاء الـ ASP.NET Web API في الـ ASP.NET MVC](https://informatic-ar.com/consuming-aspnet-web-api.md) - ... تحدثتُ في المقالة السابقة لي، عن كيفية تهيئة الـ Service من خلال استخدام منصة الـ ASP.NET Api وعرضت مشروع مبسط يختص بتجديد واصدار جوازات المواطنين، كما عرضت كيفية اختبار الشفرات بإستخدام منصة مايكروسوفت Unit Test لجميع الأساليب التي أنشأناها في فئة التحكم PersonsController وكما اسلفت في تلك الم… - [تشغيل قواعد البيانات في دوكر Database in Docker](https://informatic-ar.com/docker-databases.md) - عملية تنصيب وتشغيل قواعد البيانات بالطريقة التقليدية ليست سهلة وتحتاج للعديد من الخطوات والاعدادات والتأكد من عدم استخدام ال port بواسطة برامج اخرى، في هذا الموضوع سوف نقوم بتشغيل قواعد البيانات في دوكر مثل Microsoft SQL Server وايضاً MySQL ونقوم بتشغيلهم بداخل ال Containers، وسوف ترى كيف أصبحت الع… - [مقدمة حول ال ASP.NET Web API](https://informatic-ar.com/aspnet-web-api-introduction.md) - مقدمة – برتوكول الـ HTTP – عمل صفحة الـ ASP.NET: جميعنا نستخدم الشبكة العنكبوتية (الإنترنت) في جُل معاملاتنا اليومية؛ الرسمية أو الترفيهية، نقوم بالدخول على المواقع الإلكترونية وننتظر نتائج ذلك الدخول، نقوم بحفظ المعلومات واستجلابها عن طريق عناوين الوصول URL التي نقوم بكتابتها في مربع بحث الروابط ف… - [التقدير الخطي Linear Regression خوارزميات تعلم الآلة](https://informatic-ar.com/linear-regression.md) - سميت بهذا الإسم لأنها تفترض أن النتائج الغير معروفة يمكن تقديرها بالإعتماد على معادلة الخط المستقيم y=mx+b لنفترض أن لدينا مجموعة بيانات ممثلة بهذا الجدول وهذا المخطط لأطوال ساق نبتة في عدة أيام مختلفة (طول ساق النبتة (سم اليوم 0.5 الأول 0.9 الثاني 1.5 الثالث 2.3 الخامس 3 السادس مخطط يوضح العلاقة ب… - [بناء نظام جوازات المواطنين باستخدام الـ ASP.NET MVC والـ Unit Tests](https://informatic-ar.com/aspnet-mvc-passports-unit-tests.md) - هل أنت مستعد للعمل هنا؟...ستكتب 1000 سطر برمجي اليوم... لنبدأ يتكون هذا التطبيق من ثلاثة أجزاء..وجميعها سنعمل عليها هنا..يتكون من إنشاء قاعدة البيانات والتطبيق...ويتكون من إنشاء إدارة التطبيق..ويتكون من عمل إختبار الشفرات للتطبيق. مقدمة هذا التطبيق به العديد من الخصائص التي قمت بحذفها منه وذلك تسهي… - [تهيئة محرر النصوص TinyMCE للعمل مع الـ ASP.NET MVC بلغة الـ C#](https://informatic-ar.com/tinymce-aspnet-mvc.md) - كثير من المواقع الإلكترونية دائما ما يكون لديها صفحة لإدراة المحتويات الخاصة بالموقع وخصوصا تلك التي تنشر المقالات والأخبار...خذ فرضا مثل موقعنا هذا (انفورماتيك) فأنت الآن تقرأ هذه النصوص وبها العديد من الخصائص والتنسيقات كحجم الخطوط وعرضها وخواصها بصورة عامة. الصندق النصي TextBox او منطقة النصوص T… - [كيفية تهيئة مكتبة الـ Ninject للعمل مع مشروع الـ ASP.NET MVC](https://informatic-ar.com/ninject-aspnet-mvc.md) - ستحتاج لفيجوال ستديو 2012 او 2013 او 2015 او 2017 لتطبيق المثال الذي سنشرحه هنا. ولقد قمت بإستخدام Visual Studio 2013 Express For Web لتطبيق تلك المكتبة. لو فرضنا لدينا فئة class لحفظ تفاصيل درجة الحرارة C1 ولدى فئة أخري C2 لحساب درجات الحرارة وتعتمد على C1 وتلك الفئات قمت بإستدعائها من الـ Control… - [كيف يمكن عمل وبناء ال Docker Images](https://informatic-ar.com/building-docker-images.md) - في هذا الموضوع سوف نتحدث عن كيفية بناء ال Docker Image وكيف نقوم بوضع موقعنا ك Image ومن ثم نقوم بتشغيلها، وسوف نقوم بالتعامل مع Static Website مكون من ملفات جافا سكربت و HTML ونشغله ك docker container ومن ثم تصفحه بواسطة المتصفح. وأخيراً سوف نتحدث عن ال Dockerfile وكيف يسهل بناء ال Images بسهولة.… - [مشاركة المجلدات في دوكر Docker](https://informatic-ar.com/docker-volumes.md) - أحد المميزات في دوكر Docker هي سهولة تشغيل البرامج بدون خطوات وتعقيدات كثيرة في التنزيل، وهذا الأمر سوف نستخدمه كثيراً لتحميل البرامج التي نحتاجها لاستضافة مواقعنا مثل nginx أو IIS وايضاً لتشغيل أي Command Line Application أخر. في هذا الموضوع سوف نقوم بتشغيل عدة برامج من سطر الأوامر Command Line وم… - [البداية مع دوكر Docker](https://informatic-ar.com/getting-started-docker.md) - سوف نتحدث في هذا الموضوع عن تنزيل دوكر في ويندوز، ولينوكس، ومن ثم نقوم بتشغيل بعض البرمجيات containers عليه مثل Nginx و IIS وسوف نرى كيف أصبحت عملية تنزيل البرمجيات سهلة للغاية وبدون أي اعدادات تذكر، وسوف نوضح الفرق بين ال Linux containers و windows containers وكيف يمكن تحويل دوكر ليعمل على أي منهم… - [مقدمة حول دوكر Docker](https://informatic-ar.com/docker-introduction.md) - المواضيع في السلسلة: 1. مقدمة حول دوكر Docker (الموضوع الحالي) 2. البداية مع دوكر Docker 3. مشاركة المجلدات في دوكر Docker 4. بناء ال Docker Images 5. تشغيل قواعد البيانات في دوكر Database in Docker 6. تشغيل البرامج باستخدام ال Docker Compose يعتبر مشروع دوكر Docker من المشاريع الإبداعية والتي تغير… - [التعقيد للخوارزميات Big O Complexity](https://informatic-ar.com/big-o-complexity.md) - قياس كفاءة أى خوارزمية أو ادائها يعتمد على عدة عوامل: 1-الوقت CPU (time) 2-الذاكرة memory usage 3- المساحة فى الهارد disk usage 4- الشبكة network usage كل هذة العوامل مهمة وسوف نتحدث فى هذة المقالة عن الوقت CPU (time) بداية لنكن حذرين فهناك فرق كبير بين: 1-الاداء Performance :وهى تعرفك كم هو الوقت… - [خوارزمية البحث الثنائى Binary search](https://informatic-ar.com/binary-search.md) - افترض انك تبحث عن شخص فى دليل التليفون وكان اسمة يبدأ بحرف الكاف (بالطريقة التقليدية) فأنت تبدأ بفتح الدليل وتبحث من الصفحة الاولى وتقلب الصفحات الى أن تصل للصحفة التى بها حرف الكاف . لكن كان من الافضل ان تبدأ من منتصف الدليل لانك تعلم أن حرف الكاف ليس من الحروف الاولى فى الترتيب الابجدى افترض انك… - [خوارزمية K-Nearest Neighbor](https://informatic-ar.com/k-nearest-neighbor-algorithm.md) - تخيل أنك تحاول أن تتنبأ من هو الرئيس الذى سوف أنتخبة فى الانتخابات القادمة . أذا أنت لا تعرف أى شىء عنى سوى أين أسكن فمن الأمور المرجح أن تفعلها أنك سوف تنظر إلى جيرانى وتعرف من سينتخبوا؟ هذا هو أساس خوارزمية K-Nearest Neighbour algorithm Nearest Neighbors هى أحد خوارزميات التنبؤ Predictive Model و… - [مقدمة عن بروتوكول ال HTTP](https://informatic-ar.com/http-introduction.md) - أغلب إن لم يكن كل المستخدمين قد سمع بال HTTP من قبل، على الأقل قاموا بكتابته في المتصفحات http:// لفتح المواقع المطلوبة. وبالرغم من الاستخدام المتكرر الا أن كثير من المختصين (مطورين تطبيقات الويب، مختصي الحماية، مدراء الأنظمة) ليست لديهم معلومات كافية حول هذا البروتوكول، والذي أصبحت تعتمد عليه الكث… - [البرمجيات الخبيثة والفيروسات Malicious Software](https://informatic-ar.com/malicious-software.md) - هذه المقالة سوف توضح التسلسل التاريخي للبرامج الخبيثة والفيروسات، وكيف تطورت عبر الزمن، وأنواع هذه البرامج الخبيثة وكيف يعمل أي نوع منها، أيضاً توضح كيف يتم تسمية الفيروسات بهذا الإسم وما هي الأليات لذلك. كيف تطورت البرامج الخبيثة عبر الزمن منذ بدايات القرن ال20 وحتى تاريخ هذه اللحظه وما زال البشر… - [شرح ال Single Responsibility Principle](https://informatic-ar.com/single-responsibility-principle.md) - مفهوم ال Single Responsibility Principle واختصاراً SRP هو من أهم المفاهيم في أساسيات تصميم البرمجيات SOLID، وبنى هذا المفهوم اعتماداً على مفاهيم ال Coupling وال Cohesion وال Separation of Concerns والتي سبق أن تحدثنا عنها سابقاً هنا ماذا تعرف عن ال Coupling وال Cohesion في تصميم البرمجيات؟ محتويات… - [مقدمة لل SOLID](https://informatic-ar.com/solid.md) - ما هو مفهوم ال SOLID ال SOLID هو اختصار لمجموعه من العادات والتي إن قمت باتباعها سوف تحصل على كود أكثر قابلية للصيانة وأسهل في التغيير والتكيف مع متطلبات المشروع المتغيرة Adaptive Code. وليس كما قد يدل الاسم SOLID على أنه شيء يجعل الكود جامد بل بالعكس تماماً، فهذه الأفكار تدور حول كيف يمكن أن يكون… - [ماذا تعرف عن ال Coupling وال Cohesion في تصميم البرمجيات ؟](https://informatic-ar.com/coupling-and-cohesion.md) - ماذا نعني بال Coupling وال Cohesion كثيراً ما نسمع عن هذا المصطلحان وأنه يجب أن تسعى الى أن يكون الكود قليل التداخل Low Coupling وأكثر تجانساً High Cohesion بدون توضيح مناسب لمعناها، في هذه المقالة سوف نوضح هذه المصطلحات والفرق بينهم بشكل مبسط ونوضح طرق مختلفة لتحقيق ال loose coupling عن طريق طرق ا… - [ما هي ال Scalability وكيف يتحمل الموقع ملايين الزوار ؟](https://informatic-ar.com/web-scalability.md) - مقدمة موضوع ال Scalability يعتبر من أهم المواضيع بالنسبة لمطورين الويب خصوصاً هذه الأيام مع تزايد عدد البيانات والمستخدمين سواء في التخزين أو المعالجة أو حتى في الارسال، والطلب على مطورين الويب الذي لديهم خبرة في ال Scalability أصبح اعلى بكثير من مبرمجي الويب بدون أي معرفة أو خبرة بهذا الموضوع. وبا… - [حديث حول ال Internet Explorer Compatibility View](https://informatic-ar.com/internet-explorer-compatibility-view.md) - هذه المرة حديثنا حول متصفح الIE ، فاذا كنت مطور ويب تقوم بصيانة مواقع تعمل على نسخ قديمة من ال IE ، أو تقوم بتطوير مواقع حديثه Modern Web (باستخدام CSS 3/JQuery) ولكنها سوف تعمل ك Intranet Web Applications (لاحظ انترانت وليس انترنت) بمعنى سوف تعمل ضمن الشبكة الداخلية Local Networks في الشركات Enter… - [خوارزميات Error Correction Codes](https://informatic-ar.com/error-correction-codes.md) - هذه الأيام نحن معتادون على الوصول لأجهزة الحاسب كلما كنا في حاجة لها، الأمر لم يكن كذلك بالنسبة ل Richard Hamming الباحث الذي كان يعمل في معامل بل في 1940م، حيث أن جهاز الشركة الذي يحتاجه للعمل يستخدم ايضاً بواسطة أقسام أخرى في الشركة، ولا يستطيع الوصول له الا في عطل اخر الأسبوع Weekends، يمكنك ان… - [ما هو الـ stacktrace؟](https://informatic-ar.com/java-stacktrace.md) - في لغة الجافا، تنقسم ذاكرة الـ JVM إلى عدة أقسام، ومنها ما يسمى بالـ stack. عند استدعاء دالة س (method) فإنه يُنشأ frameبداخله معلومات الدالة س ويوضع هذا الـ frame أعلى الـ stack. وعند الانتهاء من تنفيذ الدالة س، يتم إخراج الـ stack frame الخاص بالدالة س من الـ stack ويرجع مسار التنفيذ (flow of con… - [ما هو ال Hashing ولماذا يجب أن لا يستخدم كوسيلة تشفير Encryption ؟](https://informatic-ar.com/hashing-and-encryption.md) - كثير من الأحيان نجد من يستخدم ال Hashing algorithms كطريقة للتشفير Encyrption وهذا الأمر ليس صحيح (مثلاً استخدام MD5 أو SHA لتشفير البيانات، أو حتى فهم فكرة الHashing على أنها تشفير للبيانات)، فالتشفير يحتاج مفتاح key أو باسورد معين أو حتى بالطرق الكلاسيكية القديمة سوف تحتاج لطريقة معينة (هذه هي ال… - [سلسلة معمل البيوانفورماتيك :الفصل الاول~أين يبدأ نسخ الجينوم؟](https://informatic-ar.com/bioinformatics-genome-replication.md) - بسم الله الرحمن الرحيم والصلاة والسلام على أشرف المرسلين سيدنا محمد صلى الله علية وسلم Bioinformatics Lap الفصل الاول بعنوان أين يبدأ نســــــــــــــــــــــخ الجينوم ( Chapter 1: Where Does DNA Replication Begin ) الهدف من الفصل :ايجاد منطقة بداية النسخ فى البكتريا بمختلف أنواعها ملخص لفقرات الفص… - [حل مشكلة اللغة العربية في النوت باد (كيف يحلها المبرمج)](https://informatic-ar.com/arabic-text-encoding.md) - السلام عليكم ورحمة الله وبركاته إن الحديث عن موضوع ال Unicode وال Encoding يعتبر من الأساسيات الضرورية Fundamental Concepts لأي مبرمج ومهندس برمجيات، واكمالاً لسلسه (أساسيات يجب أن يعرفها اي مبرمج) فقد طرحنا سؤالاً عن مشكلة عامه نراها كثيراً بشكل دوري الا وهي أن النص العربي لا يظهر بشكل مقروء عند ف… - [بنية دروبال – المجلدات وأهم الملفات](https://informatic-ar.com/drupal-files-and-directories.md) - مقدمة: من المهم التعرف على تركيبة دروبال من حيث المجلدات والملفات وما تقدمه من فهم عميق للزائر الجديد لعالم دروبال سواء كان مهتماً بالجوانب التطويرية والبرمجية لدروبال (Back End) أو الجوانب التصميمة والجمالية (Front End)، ولكن قبل البدء بشرح التركيبة الشجرية لدروبال لنتحدث قليلاً عن كيفية الحصول عل… - [دورة أندرويد – إعداد البيئة التطويرية](https://informatic-ar.com/android-course1-lesson2.md) - قبل الخوض في أساسيات برمجة تطبيقات أندرويد، سنقوم بتحميل وتثبيت الأدوات التطويرية اللازمة. بطبيعة الحال، يوجد خيارين لبرمجة تطبيق أندرويد: 1. تثبيت بيئة تطويرية متكاملة (IDE)، حيث تسهل لنا عملية التطوير بشكل كبير وتخفي على المبرمج الكثير من العمليات من compiling و packaging وغيرها، واستبدالها بضغطة… - [دورة أندرويد - مقدمة عن الأندرويد](https://informatic-ar.com/android-course1-lesson1.md) - - ما هو الأندرويد: الأندرويد (Android) هو نظام تشغيل مفتوح المصدر مبني على لب نظام اللينكس Linux kernel. تم بناؤه في بداية الأمر لكي يعمل على أجهزة الهاتف الذكية المدعّمة بتقنية اللمس، ثم تم تطويره تدريجياً لكي يعمل على الأجهزة اللوحية. حالياً، أصبح نظام الأندرويد موجوداً في العديد من الأجهزة؛ وعلى… - [سلسلة دروس تعلم برمجة تطبيقات أندرويد](https://informatic-ar.com/android-course1.md) - -::| بسم الله الرحمن الرحيم |::- [آخر تحديث: السبت 4-1-2013 ~ 05:52PM] يسرني أن أقدم لكم سلسلة دروس تعلم برمجة تطبيقات أندرويد، آملاً أن تزيد من عدد مطوري الأندرويد العرب وتثري المحتوى التقني العربي على الإنترنت. ستكون الدورة على هيئة دروس مكتوبة، كل درس في مقال منفصل على منصة إنفورماتيك. في بداية… - [هل دروبال إطار عمل أم نظام لإدارة المحتوى؟](https://informatic-ar.com/drupal-framework-or-cms.md) - مقدمة: السؤال أعلاه تدور حوله كثير من التساؤلات والإستفسارات خصوصاً من القادمين الجدد لعالم دروبال، ومع كثرة اللغات والتقنيات وأطر العمل أصبحت عملية الإختيار والمفاضلة تحتاج لتمحيص دقيق وتقصى ، وفي إعتقادي أنه تساؤل أساسي ومهم خصوصاً إذا وضعنا في الإعتبار مقولة بيتر نورفق - Peter Norvig : " تعلم ال… - [مقدمة عن دروبال](https://informatic-ar.com/introduction-to-drupal.md) - الفكرة: بدأ دروبال في العام 1999م بواسطة طالب هولندي يدعى دريس بايتيرت (Dries Buytaert) حيث كانت تربطه وثمانية من زملائه داخل السكن الجامعي شبكة لاسلكية ولكن لاحظ دريس أن هذه الشبكة ليست ذات فائدة عملية في تبادل ونقل الملومات فيما بينهم فقرر بناء تطبيق يعمل عبر هذه الشبكة لتبادل المعلومات والملاحظا… - [الطريق إلى شهادة الجافا OCA 1Z0-803](https://informatic-ar.com/oca_1z0-803_java_exam.md) - بدايةً، أشكر الله عز وجل الذي وفقني باجتياز الامتحان وبالتالي الحصول على شهادة الجافا OCA 1Z0-803. سأكتب هنا تقريراً موجزاً عن تجربتي في التحضير لهذا الامتحان وما هي المصادر التي اعتمدتُ عليها، وكيفية التسجيل لهذا الامتحان وما مدى صعوبته. - ما هي شهادة OCA 1Z0-803؟ تقدم شركة Oracle العديد من الشهاد… - [الـ Binary Serialization في الجافا](https://informatic-ar.com/binary_serialization_in_java.md) - السلام عليكم و رحمة الله و بركاته الفهرس : 1. ما هي عملية الـ Serialization ؟ 2. كيف نقوم بها ؟ 3. مثال تطبيقي 4. متى نستخدم transient ؟ 5. الواجهة البديلة Externalizable 6. اختبر قدراتك في الـ Serialization 1. ما هي عملية الـ Serialization ؟ الـ Serialization عبارة عن آلية تسمح بحفظ الكائنات في st… - [اختبر قدراتك في الـ Files, Threads, and Swing](https://informatic-ar.com/test_your_skills_in_java.md) - السلام عليكم قمتُ بكتابة هذا الموضوع نظراً لوجود العديد من الطلبات بخصوص مشاريع صغيرة تسمح للمبتدئين بقياس مدى فهم الأمور التي تعلموها في الجافا. الهدف من هذا المشروع هو إنشاء تطبيق صغير يسمح بإجراء عمليات معينة على حسابات بنكية و يُتيح تخزين بيانات كل عميل في ملف نصي على القرص الصلب. المرحلة الأول… - [الزعيم NoSQL و أحفاده الأربعة](https://informatic-ar.com/nosql.md) - السلام عليكم و رحمة الله و بركاته لمن هذه المقالة ؟ هذه المقالة مُوجهة لكل من تعامل سابقا مع أحد توابع الــ RDBMS و لديه إلمام بمعظم مفاهيم الــ advanced databases. الهدف من هذه المقالة هو التعريف بأهمية NoSQL و مقارنتها ببقية الأنظمة المنافسة لها. الفهرس : 1. تعريف 2. متى ظهر الزعيم ؟ 3. ACID و BA… - [انطلاقه مشروع اعداد كتاب جافا العربي](https://informatic-ar.com/arabic-java-book-project.md) - هل تود المشاركة في اعداد كتاب البرمجة بلغه الجافا العربي ؟ يوماً بعد يوم نرى الكثير من المبتدئين في البرمجة يواجهوا الكثير من المصاعب في تعلم الأساسيات والانتقال للمراحل المتقدمة التي تعطيهم الثقة بأنهم في الطريق الصحيح، وعندما ينتقل ذلك المبتدئ الى مرحلة جيدة بعد عناء الشهور في التعلم وبجهد شاق سو… - [خوارزميات غيرت العالم ( خوازرمية الرانك Page Rank وكيف تعمل)](https://informatic-ar.com/page_rank_algorithm.md) - خوازرمية الرانك Page Rank وكيف تعمل أحد أهم العوامل التي ساهمت لصعود محرك البحث Google على حساب المحركات الآخرى القديمة مثل AltaVista و Lycos هو في استخدام خوارزمية ال Page Rank (على الرغم من أن Google ظهرت بعد أربع سنوات فقط من ظهور تلك المحركات في 1998، ولكنها استطاعت في زمن وجيز اجتيازهم حتى أن… - [الــ Collections في الجافا](https://informatic-ar.com/collections_in_java.md) - السلام عليكم و رحمة الله و بركاته البداية ستكون مع تعريف بسيط و مختصر لهياكل البيانات بشكل عام ثم نأتي بعد ذلك إلى الـ Collections و أهميتها في البرمجة لننتقل إلى التغيرات الجديدة التي أضافها الـ Collections FrameWork من خلال استعراض الـ Hierarchy الجديد و شرح دور مختلف الـ interfaces الموجودة مثل… - [الـ Queues في لغة C](https://informatic-ar.com/queues_in_c.md) - السلام عليكم و رحمة الله و بركاته كنا قد تحدثنا في الجزء الأول من هذه السلسلة عن القوائم المتصلة البسيطة و تحدثنا في الجزء الثاني عن القوائم المزدوجة و انتقلنا بعد ذلك إلى الجزء الثالث لنشرح المكدسات و يسرني أن أبدأ معكم في شرح الجزء الرابع الذي يتعلق بالطوابير (Queues). الفهرس * تعريف * المحاكاة ب… - [الــ Stacks في لغة C](https://informatic-ar.com/stacks_in_c.md) - السلام عليكم و رحمة العلام و بركاته كنا قد تحدثنا في الجزء الأول من هذه السلسلة عن القوائم المتصلة البسيطة و تحدثنا في الجزء الثاني عن القوائم المزدوجة و يسرني أن أبدأ معكم في شرح الجزء الثالث و الذي يتعلق بالمكدسات (Stacks). الفهرس * تعريف * المحاكاة باستخدام المصفوفات * المحاكاة باستخدام القوائم… - [خوارزمية ID3](https://informatic-ar.com/id3_algorithm.md) - بسم الله الرحمن الرحيم ، والصلاة والسلام على اشرف المرسليين سيدنا محمد صلى الله علية وسلم خوارزمية ID3 مقدمة: تتحدث المقالة عن احد خوارزميات تصنيف البيانات وهى خوارزمية ID3 ونستعرض فيها شرح للخوارزمية وكيفية تطبيقها والقصور فيها تعريفها هى عبارة عن خوارزمية تستخدم لتصنيف البيانات –حيث مدخل الخوارزم… - [القوائم المزدوجة في لغة C](https://informatic-ar.com/doubly_linked_list_in_c.md) - السلام عليكم ورحمة الله و بركاته كنا قد تحدثنا في الحلقة الأولى من هذه السلسلة عن القوائم المتصلة البسيطة و يسرني أن أبدأ معكم في شرح الجزء الثاني و الذي يتعلق بالقوائم المزدوجة (Doubly Linked List). الفهرس * تعريف * ͏الإعلان عن القائمة * تهيئة القائمة (إنشاء أول عقدة) * إضافة عقدة جديدة. * حذف عقد… - [خوارزميات غيرت العالم (محركات البحث وكيف يستخرج النتائج المطابقة)](https://informatic-ar.com/search_engine_basics.md) - جميعنا نستخدم محركات البحث عشرات المرات في اليوم الواحد، وقد نضجر في حال لم نستطيع الحصول على ما نريد في أول ثواني بعد عملية البحث، ولكن هل تسائلت يوماً كيف يعمل هذا المحرك وكيف يستخرج النتائج المطابقة التي تريدها؟ هل تسائلت كيف يمكن أن يرتب محرك البحث تلك النتائج بحيث يظهر ذلك المحرك النتائج الأقر… - [القوائم المتصلة في لغة C](https://informatic-ar.com/singly_linked_list_in_c.md) - السلام عليكم و رحمة الله و بركاته هذه هي الحلقة الأولى من سلسلة هياكل البيانات المتقدمة في لغة C حيث سنتطرق للمواضيع التالية تباعا : Singly Linked List Doubly Linked List Stacks Queues و إذا وجدتُ متسعا من الوقت سأكتب عن : Trees Binary Trees Hash tables Graphs هذه هي المقالة الأولى من هذه السلسلة و… - [نظرة سريعة حول Lucene](https://informatic-ar.com/lucene_basics.md) - العديد من البرامج التي نستخدمها بشكل يومي تستخدم خوارزميات سريعة في البحث قد لا ندري عنها، فبدئاً من محرك البحث في على الويب Google أو MSN Search والتي تخرج لك النتائج في غضون ثانية واحدة وأيضا برامج البحث في نظام التشغيل لديك Desktop Search Engine والتي تبحث في الملفات الموجودة لديك على النظام وتخ… ## Optional - [RSS Feed](https://informatic-ar.com/archive/rss/) - [Sitemap](https://informatic-ar.com/sitemap.xml) - [Full content of pages and posts](https://informatic-ar.com/llms-full.txt)