شرح ال Single Responsibility Principle

مفهوم ال Single Responsibility Principle واختصاراً SRP هو من أهم المفاهيم في أساسيات تصميم البرمجيات SOLID، وبنى هذا المفهوم اعتماداً على مفاهيم ال Coupling وال Cohesion وال Separation of Concerns والتي سبق أن تحدثنا عنها سابقاً هنا ماذا تعرف عن ال Coupling وال Cohesion في تصميم البرمجيات؟ ما هو ال SRP ينص هذا المفهوم على أنه […]

مقدمة لل SOLID

ال SOLID هي اختصار لمجموعه من العادات والتي إن قمت باتباعها سوف تحصل على كود أكثر قابلية للصيانة وأسهل في التغيير والتكيف مع متطلبات المشروع المتغيرة Adaptive Code. وليس كما قد يدل الاسم SOLID أو الصورة التي بالمقالة، على أنه شيء يجعل الكود جامد بل بالعكس تماماً، فهذه الأفكار تدور حول كيف يمكن أن يكون الكود […]

ماذا تعرف عن ال Coupling وال Cohesion في تصميم البرمجيات ؟

كثيراً ما نسمع عن هذا المصطلحان وأنه يجب أن تسعى الى أن يكون الكود قليل التداخل Low Coupling وأكثر تجانساً High Cohesion بدون توضيح مناسب لمعناها، في هذه المقالة سوف نوضح هذه المصطلحات والفرق بينهم بشكل مبسط ونوضح طرق مختلفة لتحقيق ال loose coupling عن طريق طرق التصميم  Design Patterns المختلفة. (641) About وجدي عصاممهندس […]

ما هي ال Scalability وكيف يتحمل الموقع ملايين الزوار ؟

مقدمة موضوع ال Scalability يعتبر من أهم المواضيع بالنسبة لمطورين الويب خصوصاً هذه الأيام مع تزايد عدد البيانات والمستخدمين سواء في التخزين أو المعالجة أو حتى في الارسال، والطلب على مطورين الويب الذي لديهم خبرة في ال Scalability أصبح اعلى بكثير من مبرمجي الويب بدون أي معرفة أو خبرة بهذا الموضوع. وبالرغم من تزايد الطلب […]

حديث حول ال Internet Explorer Compatibility View

هذه المرة حديثنا حول متصفح الIE ، فاذا كنت مطور ويب تقوم بصيانة مواقع تعمل على نسخ قديمة من ال IE ، أو تقوم بتطوير مواقع حديثه Modern Web (باستخدام CSS 3/JQuery) ولكنها سوف تعمل ك Intranet Web Applications (لاحظ انترانت وليس انترنت) بمعنى سوف تعمل ضمن الشبكة الداخلية Local Networks في الشركات Enterprise  والمؤسسات، فهذا الموضوع سوف يهمك. […]

خوارزميات Error Correction Codes

هذه الأيام نحن معتادون على الوصول لأجهزة الحاسب كلما كنا في حاجة لها، الأمر لم يكن كذلك بالنسبة ل Richard Hamming الباحث الذي كان يعمل في معامل بل في 1940م، حيث أن جهاز الشركة الذي يحتاجه للعمل يستخدم ايضاً بواسطة أقسام أخرى في الشركة، ولا يستطيع الوصول له الا في عطل اخر الأسبوع Weekends، يمكنك […]

ما هو الـ stacktrace؟

في لغة الجافا، تنقسم ذاكرة الـ JVM إلى عدة أقسام، ومنها ما يسمى بالـ stack. عند استدعاء دالة س (method) فإنه يُنشأ frameبداخله معلومات الدالة س ويوضع هذا الـ frame أعلى الـ stack. وعند الانتهاء من تنفيذ الدالة س، يتم إخراج الـ stack frame الخاص بالدالة س من الـ stack ويرجع مسار التنفيذ (flow of […]

ما هو ال Hashing ولماذا يجب أن لا يستخدم كوسيلة تشفير Encryption ؟

كثير من الأحيان نجد من يستخدم ال Hashing algorithms كطريقة للتشفير Encyrption وهذا الأمر ليس صحيح (مثلاً استخدام MD5 أو SHA لتشفير البيانات، أو حتى فهم فكرة الHashing على أنها تشفير للبيانات) ، فالتشفير يحتاج مفتاح key أو باسورد معين أو حتى بالطرق الكلاسيكية القديمة سوف تحتاج لطريقة معينة (هذه هي الsecret)  حتى تسترجع البيانات […]

سلسلة معمل البيوانفورماتيك :الفصل الاول~أين يبدأ نسخ الجينوم؟

بسم الله الرحمن الرحيم والصلاة والسلام على أشرف المرسلين سيدنا محمد صلى الله علية وسلم   Bioinformatics Lap الفصل الاول بعنوان أين يبدأ نســــــــــــــــــــــخ الجينوم ( Chapter 1: Where Does DNA Replication Begin ) الهدف من الفصل :ايجاد منطقة بداية النسخ فى البكتريا بمختلف أنواعها ملخص لفقرات الفصل: 1-نستعرض فية مقدمة عن عملية النسخ للحمض […]

حل مشكلة اللغة العربية في النوت باد (كيف يحلها المبرمج)

السلام عليكم ورحمة الله وبركاته إن الحديث عن موضوع ال Unicode وال Encoding يعتبر من الأساسيات الضرورية Fundamental Concepts لأي مبرمج ومهندس برمجيات، واكمالاً لسلسه (أساسيات يجب أن يعرفها اي مبرمج) فقد طرحنا سؤالاً عن مشكلة عامه نراها كثيراً بشكل دوري الا وهي أن النص العربي لا يظهر بشكل مقروء عند فتحه في ال Notepad […]

بنية دروبال – المجلدات وأهم الملفات

مقدمة: من المهم التعرف على تركيبة دروبال من حيث المجلدات والملفات وما تقدمه من فهم عميق للزائر الجديد لعالم دروبال سواء كان مهتماً بالجوانب التطويرية والبرمجية لدروبال (Back End) أو الجوانب التصميمة والجمالية (Front End)، ولكن قبل البدء بشرح التركيبة الشجرية لدروبال لنتحدث قليلاً عن كيفية الحصول على الملفات المصدرية لدروبال وكيفية إستخدامه بصورة عامة. […]

دورة أندرويد – إعداد البيئة التطويرية

قبل الخوض في أساسيات برمجة تطبيقات أندرويد، سنقوم بتحميل وتثبيت الأدوات التطويرية اللازمة. بطبيعة الحال، يوجد خيارين لبرمجة تطبيق أندرويد: تثبيت بيئة تطويرية متكاملة (IDE)، حيث تسهل لنا عملية التطوير بشكل كبير وتخفي على المبرمج الكثير من العمليات من compiling و packaging وغيرها، واستبدالها بضغطة زر واحدة. يتوفر العديد من الـ IDE المجانية لبرمجة تطبيقات […]

دورة أندرويد – مقدمة عن الأندرويد

– ما هو الأندرويد: الأندرويد (Android) هو نظام تشغيل مفتوح المصدر مبني على لب نظام اللينكس Linux kernel. تم بناؤه في بداية الأمر لكي يعمل على أجهزة الهاتف الذكية المدعّمة بتقنية اللمس، ثم تم تطويره تدريجياً لكي يعمل على الأجهزة اللوحية. حالياً، أصبح نظام الأندرويد موجوداً في العديد من الأجهزة؛ وعلى سبيل المثال لا الحصر: […]

سلسلة دروس تعلم برمجة تطبيقات أندرويد

-::| بسم الله الرحمن الرحيم |::- [آخر تحديث: السبت 4-1-2013 ~ 05:52PM]   يسرني أن أقدم لكم سلسلة دروس تعلم برمجة تطبيقات أندرويد، آملاً أن تزيد من عدد مطوري الأندرويد العرب وتثري المحتوى التقني العربي على الإنترنت. ستكون الدورة على هيئة دروس مكتوبة، كل درس في مقال منفصل على منصة إنفورماتيك. في بداية الأمر، كنت […]

هل دروبال إطار عمل أم نظام لإدارة المحتوى؟

مقدمة: السؤال أعلاه تدور حوله كثير من التساؤلات والإستفسارات خصوصاً من القادمين الجدد لعالم دروبال، ومع كثرة اللغات والتقنيات وأطر العمل أصبحت عملية الإختيار والمفاضلة تحتاج لتمحيص دقيق وتقصى ، وفي إعتقادي أنه تساؤل أساسي ومهم خصوصاً إذا وضعنا في الإعتبار مقولة بيتر نورفق – Peter Norvig : ” تعلم البرمجة في عشرة سنوات “. مفهوم […]

مقدمة عن دروبال

الفكرة: بدأ دروبال في العام 1999م بواسطة طالب هولندي يدعى دريس بايتيرت (Dries Buytaert) حيث كانت تربطه وثمانية من زملائه داخل السكن الجامعي شبكة لاسلكية ولكن لاحظ دريس أن هذه الشبكة ليست ذات فائدة عملية في تبادل ونقل الملومات فيما بينهم فقرر بناء تطبيق يعمل عبر هذه الشبكة لتبادل المعلومات والملاحظات وتسهيل التواصل فيما بينهم […]

الطريق إلى شهادة الجافا OCA 1Z0-803

بدايةً، أشكر الله عز وجل الذي وفقني باجتياز الامتحان وبالتالي الحصول على شهادة الجافا OCA 1Z0-803. سأكتب هنا تقريراً موجزاً عن تجربتي في التحضير لهذا الامتحان وما هي المصادر التي اعتمدتُ عليها، وكيفية التسجيل لهذا الامتحان وما مدى صعوبته.   – ما هي شهادة OCA 1Z0-803؟ تقدم شركة Oracle العديد من الشهادات في تقنياتها، ومن ضمن هذه […]

الـ Binary Serialization في الجافا

السلام عليكم و رحمة الله و بركاته   الفهرس : ما هي عملية الـ Serialization ؟ كيف نقوم بها ؟ مثال تطبيقي متى نستخدم transient ؟ الواجهة البديلة Externalizable اختبر قدراتك في الـ Serialization   1. ما هي عملية الـ Serialization ؟ الـ Serialization عبارة عن آلية تسمح بحفظ الكائنات في storage medium أي وسيلة […]

اختبر قدراتك في الـ Files, Threads, and Swing

السلام عليكم   قمتُ بكتابة هذا الموضوع نظراً لوجود العديد من الطلبات بخصوص مشاريع صغيرة تسمح للمبتدئين بقياس مدى فهم الأمور التي تعلموها في الجافا. الهدف من هذا المشروع هو إنشاء تطبيق صغير يسمح بإجراء عمليات معينة على حسابات بنكية و يُتيح تخزين بيانات كل عميل في ملف نصي على القرص الصلب.   المرحلة الأولى […]

الزعيم NoSQL و أحفاده الأربعة

السلام عليكم و رحمة الله و بركاته       لمن هذه المقالة ؟ هذه المقالة مُوجهة لكل من تعامل سابقا مع أحد توابع الــ RDBMS و لديه إلمام بمعظم مفاهيم الــ advanced databases. الهدف من هذه المقالة هو التعريف بأهمية NoSQL و مقارنتها ببقية الأنظمة المنافسة لها.   الفهرس : تعريف متى ظهر الزعيم […]