السبت، 6 أبريل، 2013

معنى https و الفرق بينها وبين http و ما هي خدمة ssl

ليست هناك تعليقات:

Https تعني ان هذا الموقع علية حماية .. واي بيانات تكتبها في هذة المواقع لان يوصل لها احد .. كالمواقع التي تحتاج بيانات بنوك او فيسا .. وهكذا .
و
Http هذا موقع عادي .. ليس محمي .. وهذا لايعني انة يمكن ان يسرب البيانات بسهولة .. وكن يمكن ان يخترق هذا الموقع احد المخترقين المحترفين

و
SSl هي الحماية الذي تحدثت عنها في اول نقطة .. وتعرف انها موجودة في هذا الموقع .. عندما تجد حرف S بعد كلمة Http وتكون هكذا HttpS .

اتمني ان ينال شرحي اعجابك
اقرأ المزيد Résuméabuiyad

السبت، 28 يوليو، 2012

[vb6] شرح كيف تبرمج برنامج يقوم بانشاء ملف تنفيذي Exe

هناك 5 تعليقات:

تعلم كيف تبرمج برنامج يقوم بانشاء برنامج Exe




انشاء برنامج جديد من داخل برنامجك
كثيرا ما نرى برامج مثل برامج تصميم الكتب الالكترونية كبرنامج
eBook Workshop عند استخدامك لهذه البرامج وتصميمك كتابك الالكتروني وكتابة النصوص وإضافة الصور التي تريد تقوم بعمل الملف التنفيذي لكتابك الالكتروني والذي يكون أحيانا بصيغة Exe وكثيرا نحن ما نفكر ببرمجة برنامج مثل هذه البرامج أي نقوم ببرمجة مصمم كتب الكترونية يستطيع المستخدم من خلاله تصميم كتاب الكتروني وحفظه بملف تنفيذي Exe لكن دائما المشكلة التي تواجهنا هي كيف نجعل برنامجنا ينشئ ملف جديد من داخله يحمل البيانات التي ادخلها مستخدم برنامجنا انظر إلى هذا المثال:











كما ترى امامك هذا المثال المبرمج بلغة فيجوال بيسيك 6

اذا اردت ان تتعلم كيف تصنع برنامج ينشئ ملفات تنفيذية

فبهذه الحالة اليك هذا المثال هو ذلك المثال الذي بالصور مفتوح المصدر بالسورس كود وهو عبارة عن صانع كتب الكترونية بسيط ومعه ايضا كتاب الكتروني يشرح بالتفصيل كيف تصنع مثل هذا البرنامج

وكود المثال بلغة فيجوال بيسيك6

اليك رابط التحميل


واعدكم قريبا في مرة قادمة ساضع لكم المثال بلغة فيجوال بيسيك دوت نت2010

اقرأ المزيد Résuméabuiyad

الخميس، 26 يوليو، 2012

نظرة عامة عن تحليل الجرائم الالكترونية …وشرح عمل المحققين في جرائم الانترنت

هناك تعليقان (2):

نظرة عامة عن تحليل الجرائم الالكترونية …وشرح عمل المحققين في جرائم الانترنت


مع  تزايد  استخدام الكمبيوترات  وشبكة الانترنت بين البشر  ، تزايدت بشكل سلبي  عمليات  الاحتيال والسرقة ….الخ على الشبكة بين المستخدمين ، وكان لا بد من أن تبدأ المراكز  الأمنية المختصة بقضايا امن المعلومات  بالاهتمام بتخصص الأدلة الجنائية …. حتى يمكن لتلك الجهات التحقق من الجرائم الحاصلة على الشبكة ومن مرتكبيها حتى  يثبتوا إدانتهم فعلاً  حتى تتم عملية المحاكمة على ارض الواقع

تخصص الأدلة الجنائية المتعلقة بالكمبيوترات  تخصص واسع وكبير ويشمل الكثير من المهارات سواء كانت في الاختراق  والحماية  والأساليب المتبعة للتحقيق في جريمة أو المعرفة في تفاصيل الأنظمة وكيف تعمل من الداخل حتى يمكن للمحقق اكتشاف واسترجاع المعلومات التي يمكن أن تفيده في عملية التحقيق وغيرها
وقد لا تخلوا الجرائم الالكترونية  من الاتصال بالويب والاستفادة من خدماتها مثلاً الانترنت أو البريد الالكتروني وتبادل الملفات وخدمة المحادثات بين الأشخاص والمحادثات الهاتفية عبر الانترنت. كل من هذه الخدمات التي تقدمها لنا الويب قد تستخدم بشكل غير لائق أو بأشكال ممنوعة شرعياً، مثلاً عملية تصوير الفتيات من خلال المحادثات عبر برامج المحادثة والتي تسمح بتبادل الصور وملفات الفيديو ثم البدء بعمليات الابتزاز، أو حتى تحميل مواد ممنوعة من مواقع غير مسموح بها والبدء بالمتاجرة بها، وطرق الاستخدام غير الشرعية قد لا تعد ولا تحصى.
من هنا بدأت كثير من المراكز  المتخصصة في أمن المعلومات بتقديم حلول برمجية للمحققين حتى تسهل عليهم في عملهم وتيسر لهم الحصول على المعلومات وتجهيزها في أشكال قابلة للفهم من قبل المحقق حتى يقوم بفهمها واستخراج الأدلة التي تثبت فعل الجريمة. ولكن المحققين المحترفين عليهم أن يكونوا على دراية بالتفاصيل في كل ما يحققون فيه حتى يضمنوا أنهم يقوموا بعملهم  بشكل دقيق وتام ، فالمحقق الذي يعمل على أنظمة الويندوز عليه بتعلم كيف يعمل ذلك النظام، وما هو نظام الملفات في ذلك النظام وكيف يعمل وأين تذهب الملفات المحذوفة فيه، والمحقق المتخصص في التعامل مع الجرائم المتعلقة بالانترنت والتي استخدمت فيها متصفحات الانترنت أو برامج المحادثة عليه معرفة كيفية استرجاع هذه المعلومات بشكل كامل من هذه البرامج وحيث أن هذه البرامج تختلف فيما بينها من الناحية الداخلية وطريقة تخزينها للمعلومات وطريقة تشفير هذه المعلومات ، فإن على المحقق دراسة كل من هذه البرامج على حده حتى يضمن أن سيقوم باسترجاع جميع المعلومات المتعلقة بالقضية.
وفي  مجال الحديث واسع والبرامج التي تستخدم الانترنت كثيرة جداً فسيتم الحديث عن أحد البرامج التي تتعامل مع الاتصال بصفحات الانترنت (متصفح Firefox) وسيتم الحديث عن احد برامج المحادثة (برنامج Yahoo Messenger).
-1فلنعتبر بانك محقق واردت ان تستخرج معلومات من متصفح موزيلا فاير فوكس
من الإصدارة الثالثة من متصفح فايرفوكس لقد تم تغيير طريقة تخزين المعلومات التي يخزنها المتصفح على الجهاز حيث كانت تحتفظ في ملف بصيغة mork وأصبح المتصفح يستخدم قاعدة بيانات SQLite في تخزين هذه المعلومات. وتختلف مواقع هذه الملفات باختلاف نظام التشغيل المستخدم واصدارة النظام حيث لكل نظام مواقع معروفة تستخدمها البرامج في التخزين. الأسطر التالية تبين مواقع تخزين قاعدة البيانات هذه في أنظمة التشغيل ويندوز:
Windows XP
C:\Documents and Settings\<user>\Application Data\Mozilla\Firefox\Profiles\<profile folder>\places.sqlite
Windows Vista -Windows7
C:\Users\<user>\AppData\Roaming\Mozilla\Firefox\Profiles\<profile folder>\places.sqlite

هذه الصورة تبين تركيبة قاعدة بيانات متصفح فاير فوكس
قواعد البيانات هذه تكون بشكل ثنائي binary وتحتاج لكي تعرف تركيبتها أن تدرس بنية هذه الملفات باستخدام أي Hex Editor أو استخدام الطريقة الأسهل وذلك باستخدام أوامر قاعدة بيانات SQLite والتي يمكن من خلالها معرفة بنية القاعدة والجداول التي بداخلها. ويمكن استخدام سطر الأوامر الذي يأتي مع القاعدة SQLite لغرض توضيح تركيبة القاعدة schema أو استخدام أي من البرامج التي تستخدم واجهة رسومية لها وذلك لتسهيل دراسة القاعدة وإيجاد المعلومات التي يمكن استخراجها منها. الشكل رقم 1 يوضح محتوى ملف قاعدة البيانات places.sqlite داخل محرر بالنظام السادس عشر.

المعلومات التي توجد في هذه القاعدة كثيرة ومن أهمها الزيارات التي قام بها المستخدم للمواقع، وعدد الزيارات لكل موقع ووقت وتاريخ هذه الزيارات، ويخزن جميع أسماء المواقع التي تمت زيارتها ويستفيد من تلك المعلومات عن طريق إظهار قائمة منسدلة عندما يقوم المستخدم بكتابة الحرف الأول من الموقع حيث تظهر في تلك القائمة المنسدلة جميع المواقع التي زارها المستخدم وتبدأ بهذا الحرف. كما تخزن هذه القاعدة جميع المواقع والصفحات التي قام المستخدم بوضعها في قائمة المفضلة bookmark.
الصورة توضح قاعدة بيانات places.sqlite داخل أحدى برامج توضيح تركيبة قواعد بيانات SQLite (يسمى SQLite Spy

هناك ملاحظات على هذه القاعدة هي طريقة تخزينها للوقت والتاريخ حيث هي تخزنه بصيغة Microseconds وليس كما بقية الأنظمة والتي تستخدم seconds في تخزين الوقت (تسمى Unix-Time أو POSIX-Time وهي عدد الثواني من اليوم الأول في الشهر الأول من سنة 1970). ولتحويل من طريقة تخزين الوقت في places.sqlite إلى طريقة Unix-Time يجب القسمة على مليون وبعد ذلك يمكن استخدام الدالة datetime في SQLite والتي سوف تقوم بمهمة تحويل هذه الثواني إلى الوقت والتاريخ بشكل نصي.
الصورة توضح الاستعلام الذي يمكن من خلاله الحصول على جميع المواقع التي تمت زيارتها موضحاً وقت وتاريخ الزيارة لكل موق
من خلال هذه الاستعلامات يمكن الحصول على جميع المعلومات المتعلقة بالمعلومات الموجودة في قاعدة بيانات المتصفح فايرفوكس، ولكن بما أن هذا يتطلب وقتاً  لكتابة كل من الاستعلامات حتى يمكن الحصول على النتيجة إضافة لصعوبة تذكر هذه الاستعلامات، فإن كتابة برنامج متخصص في استرجاع هذه المعلومات بكل يسر وسهولة يعتبر أمر ضروري للمحققين حتى تساعدهم في إثبات ما يمكن إثابته على المشتبه به.
من أشهر البرامج المتخصصة في استرجاع معلومات متصفح فايرفوكس هي Firefox 3 Extractor و FoxAnalysis ووظيفة هذين البرامج مشابه لبعضها حيث تقوم باستخراج كل الزيارات التي قام بها المستخدم Histories ومفضلة المستخدم Bookmarks وملفات الكوكيز Cookies والملفات التي قام بتحميلها المستخدم Downloads ومعلومات تسجيل الدخول (اسم المستخدم وكلمات المرور إذا قام المستخدم بحفظها) Logins. إضافة إلى تزويد المحقق بخاصية البحث في تلك المعلومات وحفظ هذه المعلومات وتصديرها على شكل ملفات أكسل أو ملفات CSV.

2-طريقة استخراج  المعلومات من الياهو
عند إجراء المحادثات عبر برامج المحادثة Yahoo! Messenger فقد يحفظ البرنامج هذه المحادثات حتى تستطيع الرجوع إليها فيما بعد إذا احتجتها وذلك على حسب إعداداتك للبرنامج، النسخ السابقة من برنامج المحادثة Yahoo كانت خاصية الحفظ بها مفعلة بالشكل الإفتراضي عند تنصيب البرنامج، بعد ذلك قامت الشركة بإلغاء خاصية الحفظ التلقائية وجعلها على حسب إعدادات المستخدم.
المحادثات في برنامج Yahoo Messenger لا تحفظ بشكل نصي واضح clear text ولكن تحفظ في ملفات ثنائية binary files لها بنية غير موثقة وغير معروفة والغرض من ذلك جعل هذه المحادثات غير مقروءة لأي شخص يريد الإطلاع عليها. ويستطيع المستخدم الذي نتجت منه هذه الملفات استخدام برنامج ال Yahoo Messenger نفسه لكي يقوم بالحصول على النص الواضح من هذه الملفات. الشكل 5 يبن القائمة التي يمكن من خلالها الحصول على المحادثات بشكل واضح.
الصورة توضح كيف يستخرج برنامج الياهو المحادثات المسجلة
طريقة تشفير المحادثات تتم باستخدام أحد أبسط الأساليب على الإطلاق ( المحادثات في برنامج Yahoo Messenger تشفر باستخدام تطبيق عملية XOR المنطقية مع اسم المستخدم) وعندما سُئل فريق العمل عن ذلك ذكروا بأن الغرض الأساسي هي سهولة حفظ المعلومات وليس الغرض تشفيرها عن المستخدم.
مواقع تخزين هذه الملفات قد تختلف باختلاف نسخة برنامج المحادثة ياهو وباختلاف نسخة نظام التشغيل المستخدم ، ففي نظام ويندوز XP فهي تخزن على المسار مختلف عن نظام التشغيل ويندوز 7 فتغيرت هذه المسارات وخزنت في مكان أخر. وأسهل طريقة يمكن أن تحصل على هذه الأماكن وذلك بالاستفادة من وجود الخاصية في برنامج Yahoo Messenger والتي تمكنه من قرائه الرسائل (كما في الشكل 5 ) هي عن طريق مراقبة البرنامج عند تطبيق هذا الأمر ثم تتبع ماذا يقوم به حتى يمكن الحصول على المسار. الشكل (6) يبين كيف يمكن الحصول على المسار من خلال مراقبة البرنامج باستخدام process monitor.
الصورة تبين كيفية الحصول على مسار تخزين ملفات ال حادثة عن طريق مراقبة برنامج الياهو أثناء التسجيل
كما يتضح من الشكل فإن المسار في نظام ويندوز 7 هو التالي:
C:\Users\<username>\AppData\Local\VirtualStore\Program Files\Yahoo!\Messenger\Profiles\<userid>\Archive\Messages\<buddyid>
ويتم تغيير <username> باسم المستخدم للنظام وتغيير <userid> باسم حساب المستخدم في الياهو وتغيير <buddyid> باسم حساب الطرف الآخر في المحادثة، وعند فتح ذلك المجلد سوف نجد جميع المحادثات التي تمت بين هذه الطرفين في ملفات ثنائية بالامتداد .DAT ، كل من هذه الملفات يكون اسمه مكون من تاريخ بدء المحادثة واسم المستخدم والذي سيستخدم كمفتاح في عملية فك تشفير الرسالة المخزنة.
بنية هذه الملفات تتكون من : أربعة بايتات تمثل تاريخ المحادثة ويتم تخزينها ك Unix-time تليها أربعة بايت محجوزة (أو لا يعرف الغرض منها) ثم تليها أربعة بايتات أخرى توضح هل الرسالة قادمة من الطرف الأول صاحب البريد (تكون القيمة صفر) أو أنها قادمة من الطرف الآخر (تكون القيمة واحد) ثم تليها أربعة بايتات توضح عدد بايتات الرسالة (إلى هنا جميع هذه المعلومات تخزن بترميز Little Endianes ) ثم تأتي بعد ذلك الرسالة ويكون عدد بايتاتها معلوم لأن الحقل الذي سبقها كان يحدد عدد بايتات الرسالة، وعندما تنتهي الرسالة تأتي أربعة بايتات أخرى تكون قيمتها صفر وذلك لكي تفصل ما بين كل رسالة ورسالة. الصورة   التالية  يبين كيف يمكن الحصول على الرسالة الأولى التي تم إرسالها من الطرف الأول للطرف الثاني.


هكذا يستطيع المحققين استخراج هذه الرسائل بشكل يدوي، ولكنها عملية متعبة وتستغرق كثير من الوقت لاستخراج الرسائل وفك ترميزها وتحويل الوقت وما إلى ذلك من عمليات. لذلك اللجوء إلى البرامج التي تساعد المحققين أمر مهم جداً. هناك بعض من البرامج التي تقوم بهذه المهمة منها مجاني ومنها تجاري .ويمكن استخدام CoEIA Yahoo Decoder والذي يأتي ضمن برنامج CoEIA Forensics Toolkits والذي يستخرج جميع الرسائل وأوقات هذه الرسائل كما يوضح المرسل والمرسل إليه لكل من الرسائل.
اقرأ المزيد Résuméabuiyad

الأحد، 15 يوليو، 2012

كيف ابدأ تعلم البرمجة - الاسئلة الاكتر شيوعا عن البرمجة .

هناك 5 تعليقات:
كيف ابدأ تعلم البرمجة - الاسئلة الاكثر شيوعا عن البرمجة .


-----------------------------------------------

هذه هي مجموعة من الاسئلة التي يطرحها الكثير ممن يودون بدئ تعلم البرمجة ارجوا ان تفيدكم
 

ماهى البرمجة ؟؟

هي لغة التخاطب بين الإنسان و الآلة تتكون هذه اللغة من العديد من الأوامر لتنفيذ مهمه معينه ...
فما هى الا عملية بسيطة تقوم فيها بكتابة بعض الكلمات للكمبيوتر ليقوم بتنفيذها مثلما تقوم انت بكتابة رسالة لصديقك وارسالها له من على الموبايل
وايضاً هناك ذلك التعريف الطريف :
"البرمجه هى ان تعلم اغبى صديق لديك طريقه كى يحل بها مسائلة ما"

وما مستوى الذكاء المطلوب للبرمجة ؟

قد يظن البعض ان المبرجين ما هم اشخاص ذو عقليات ومهارات خاصة ... ولكنهم فى الحقيقة ما هم الا اناس عاديين وقد يكونوا من غير الموفقين فى دارستهم للاسف
فالبرمجة هى فن قبل ان تكون علم وهى المجال الوحيد الذى قد يتساوى فيه الطالب مع الدكتور بل وقد يزيد عليه حسب خبرته الشخصية ..
فالبرمجة يمكن لاى شخص البدء فيها بكل سلاسة حسب مهارته وقدرته على التعلم وحماسه لها ..

وهل تتطلب لغة انجليزية جيدة ؟

حقيقة فى الوضع الحالى .. لابد لمن يريد ان ينال الريادة ان يكون متقناً للغة الإنجليزية ....
ولكنها ليست مشكلة فى البداية فالانسان لا يولد متعلما ..
والبرمجة ليست كلمات واومر بسيطة يمكنك تعلمها بكل سلاسة دون اي وجود عائق لغوى تماما ... لكن للإحتراف والتميز لابد ان يكون جيدا فى اللغة حتى يكون ملماً بكل جديد ومساير له ..

وهل يجب ان يكون لدى خلفية في الرياضيات جيدة ؟

قد يعتقد البعض ان المبرمجين مهارين جدا فى الرياضيات .. ولكن الحقيقة خلاف ذلك فأنت لاتحتاج للرياضة الا قليلاً وبشكل مبسط جدا .. الا فى بعض البرامج المتخصصة فى ذلك المجال فربما قد تحتاج الى بعض المعادلات البسيطة التى يمكن الحصول عليها بكل سهولة

ومن اين ابدا تعلم لغات البرمجة ؟

هناك قاعدة عصرية تقول : أبدء من حيث انتهى الاخرون او بمعنى اخر لاتعيد اختراع العجله!!!
فلغات البرمجة تتطور بسرعة وبطريقة رهيبة ولا يمكنك مجاراتها الا اذا بدأت بما انتهى اليه الاخرون .. فهناك لغات برمجة عديدة موجدة ولكن التى ظهرت فى الساحة مؤخراً هى لغات الدوت النت واشهرها لغة السى شارب ولغة الفيجوال بيسيك دوت نت او يمكنك البدء بلغة الجافا ان اردت ..

وماهى ايسر الطرق لتعلم لغات البرمجات ؟

ايسر الطرق لتعلم لغات البرمجة هى اخذ دورات متخصصة فى اللغة التى تريد العمل عليها ... ولكن بشرط أن تكون قارىء جيد فتطالع الكتب التى تظهر فى هذا المجال وايضا قراءة المقالات والدروس الموجودة على النت .

وهل يمكن التعلم من على شبكة النت ؟

غالباً نعم .. ولكن فى الفترة الحالية فالعملية قد تكون غير مجدية هذا..فقط فى المواقع العربية ..
فالدروس الموجودة على شبكة النت تكون مختصرة وبسيطة وللمبتدأين عموماًَ ولكن لن تصل بك الى مرحلة الاحتراف ... فيمكنك مطالعة الموجود على الويب حتى تأخذ فكرة جيدة على اللغات ثم تختر اللغة التى تريد ان تتخصص فيها بعد ذلك .
اما اذا كنت تجيد الانجليزيه فمع بعض الدورات المتقدمه يمكنك الوصول الى الاحتراف عن طريق النت ايضا بكل سهولة لكثرة مصادر اللغة الانجليزية لان كل جديد فى مجال البرمجة لا يظهر الا بلغته الام الانجليزية ..

وما هى المدة المطلوب لاتقان اللغة ؟

لايوجد مدة محددة ولكنها تعتمد عليك وعلى شخصيتك وقدرتك على المثابرة والتعلم ... فيمكنك اتقان لغة البرمجة كحد أدنى فى ستة أشهر وعلى الاكثر عامان بأذن الله .

وما هى المدة المطلوبة للانتقال الى لغة اخرى ؟

هذا يعتمد على مهاراتك ومدى اتقانك للغتك الاصلية .. فيمكنك الانتقال الى لغة بعد ذلك فى ظرف اسبوعان ان شاء الله .

وما هى انواع البرمجة ؟

لا يوجد تعريف محدد لانواع لغات البرمجة لانها كلها غالباً مرتبطة ببعضها وباتقانك اى لغة برمجة يمكنك التعامل بسلاسة بأى نوع من الانواع الاخرى بعد اخذك خلفية بسيطة عن اساسيتها ..
ويمكنا لبقول ان انواع لغات البرمجة نسبياً هى :
1- البرمجة العادية
2- برمجة قواعد البيانات
3- برمجة مواقع الويب

وكيف اصل للاحتراف فى البرمجة ؟؟!!

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

ولكن هل توجد اى مصطلحات معقدة !!

لغات البرمجة من العلوم الممتعة جدا واللذيذة فى نفس الوقت ..
لذلك فى البداية لن تجد اى صعوبة فى اى مصطلحات تذكر ... فهى بعض الكلمات الانجلزية السهلة التى يتم كتابتها بترتيب معين ومنطقى ليفهمها الكمبيوتر ويقوم بتنفيذها ..
مثل قطع المعكبات التى يلعب بها ابن اخيك الصغير ليكون بها بيتاً او اى شئ يحبه ..!

هل لابد لى من معرفة لغات البرمجة السابقة ؟؟

كما اتفقنا سابقاً واكرر الكلام مرة اخرى لأهمية الكلام ..
لا يشترط لتعلم لغة برمجة حديثة البدء بلغة برمجة قديمة اوحتى معرفة اللغة التى نشأت عنها وتتطورت منها ..
لانه ببساطة ما وجدت لغة برمجة جديدة الا لتعالج قصور وأوجه العجز فى اللغة القديمة او اضافة بعض التطورات لتساير التطور المذهل والسريع فى المجالات الاخرى ..
قد تجد ان هناك من يصر على بدء التعلم بلغة برمجة قديمة خصوصاً فى مجال الدارسة بالجامعات ..
وذلك لعدة اسباب من وجهة نظره تتضمن ازالة حاجز الخوف الوهمى لدى الطلاب من البرمجة،، او من ناحية تاريخية لمعرفة مدى تطور لغات البرمجة فى سنوات قليلة، او لمقارنة لغات البرمجة المختلفة والوقوف على مدى التطور ..
او ربما من ناحية اخرى وهى عدم توافر الامكانيات المتاحة من اجهزة وبرامج لذلك ..
ولكن بما انك تدرس البرمجة كدارسة حرة وهاوى لها فابدء من حيث انتهى الاخرين ..
اما ادا كان تخصصك الحاسب الالى فلابد ان اهمس فى اذنك انه يجب عليك ان تعرف وتتوسع افقياً وتأخذ فكرة لو بسيطة عن لغات البرمجة الحديثة وتحترف فى لغة واحدة فقط حتى يمكنك نقل برامجك من لغة الى اخرى بكل سهولة دون اى عوائق .
نصيحة هاامة:
 لا تدخل في جدال مع الآخرين عن أي اللغات أفضل ؟ , لأنه لا توجد لغة أفضل ! كل اللغات تحتوي على مميزات عن الأخرى , لكن لا يوجد لغة أفضل من لغة ، المجادلة في أي لغة أفضل هو مجرد ضياع للوقت .
ولم يعد امامك الا ان تحدد هدفك وتختار احدى لغات البرمجة التى تريد دارستها ..
وان كنت انصحك بأن تبدأ بــ:
احدى لغات برمجة بيئة الدوت نت .NET

...............................
اتمنى يا اخواني ان لا تنسوني بكلمة شكر 
مع تحيات مدونة نقطة الاكتشاف - البرمج والتصميم , المواقع الاجتماعية والهواتف الذكية

اقرأ المزيد Résuméabuiyad

الجمعة، 13 يوليو، 2012

اكتشف الفرق بين المطور والمبرمج

هناك 17 تعليقًا:

هل انت مبرمج ام مطور ؟ - اكتشف الفرق بين المطور والمبرمج .




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



• تعريف مبدئي:
المبرمج: هو شخص يقدر الاكواد بشكل جنوني، وجل وقته وكل اهتماماته وتركيزه في كتابتها. أسعد لحظات حياته عندما يقرأ كود لشخص آخر او فك شيفرة مصدرية لتطبيق شهير. يميل المبرمج إلى التصميم منخفض المستوى Low Level Design ككتابة الدوال Functions والبارامترات وكل عبارات التكرار وجمل الشرط التي بداخلها. ويثير غريزته الفطرية الاحتكاك واللعب مع الذاكرة Memory كثيرا.

المطور: الكود يكون شيء ثانوي دائما في حياته، وفكرة الكود هي الأهم. أسوأ لحظات عمره عندما يطلب منه تنقيح كود Code Debugging وقراءته (فهو يكره حتى قراءة الشيفرات التي كتبها!). يميل المطور الى التصميم عالي المستوى High Level Design، ويعطي جل اهتماماته في التصميم الكائني Object Oriented Design او المعماري Architecture Design، كما يحب أن يرى التطبيق من الخارج اكثر من الداخل.


• في البرمجة:
المبرمج: يكتب الكود دائما بطريقة احترافية وممتازة ومختصرة جدا وعالية الكفاءة Optimized أيضا، كما انه يستهلك جميع إمكانيات اللغة بكافة مكتباتها التنفيذية. ولكن لو قرأت شيفراته المصدرية، فهي ليست منظمة ويصعب فهمها او تتبعها (كما لو أنها مخطوطة فرعونية).

المطور: يكتب الكود بطريقة احترافية لكنها اقل اختصارا واقل كفاءة من المبرمج. تنظيمه للشيفرات ممتاز، ولو تقرأ كوده ستفهمه بسرعة (كما لو أنها قصة أطفال).


• في كتابة التعليقات:
المبرمج: ذكرت قبل قليل ان المبرمج دائما ما يستهلك ويستفيد من جميع إمكانيات اللغة، ولكن التعليقات Comments هي الميزة الوحيدة في اللغة التي لا يستخدمها!

المطور: لا يكتب التعليقات وحسب بل يهتم كثيرا في صياغتها وتنسيقها (خاصة في أعلى الملف)، لدرجة أنك قد تجد سطور اللون الأخضر اكثر بكثير من سطور الألوان الأخرى!


• اختيار اللغات:
المبرمج: يحب اللغات ((الغير)) مستخدمة بكثرة والتي يبتعد عنها أكثر الناس، كلغة التجميع Assembly او C، وإن تطور أكثر وأراد ان يخفف الضغط على نفسه، تعامل مع C+‎+‎ أو Delphi.

المطور: يفضل اللغات التي تزيد من إنتاجيته Productivity، لغة Visual Basic هي أول وآخر اهتماماته، والـ Java اختيار ممتاز بالنسبة له أيضا. ولو تعامل مع لغات معقدة اكثر، فتأكد وثق ثقة تامة ان له حاجة ما في نفس يعقوب ولن يستخدمها في مشروعه الحقيقي!




• بيئات التطوير:
المبرمج: المفكرة Notepad اختياره الأول، ويفضل الادوات التي تعمل على DOS Prompt (او حتى التي تحاكيها على Windows Environment).

المطور: Visual Studio 2005 من افضل الخيارات لديه (حاليا)، أو اي بيئة تطوير تزيد من إنتاجيته وتقدم له خدمات 5 نجوم 5‎ Stars.


• نوعية المشاريع:
المبرمج: يعشق المشاريع الدنيا Low Level كمشاريع النظم System Projects، او كتابة المشغلات Devices، او تلك البرامج التي تتعامل مع الموارد System Resources بشكل جريء. كما يعتبر الشخص المناسب لمشاريع الالعاب او الوسائط المتعددة.

المطور: تطبيقات الأعمال Business Applications (والتي ركن من اركانها التعامل مع قاعدة بيانات Database) هي حلمه وشغله الشاغل فقط -ولا يريد سواها. ومع تطور خدمات ويب Web-Services، اصبح من عشاقها.


• في كتابة المستندات Documents:
المبرمج: من عاشر المستحيلات! وقد يقدم استقالته إن طلبت منه ذلك.

المطور: يكره كتابة المستندات (كثيرا)، ولكنه لن يقدم استقالته إن طلب منه ذلك.


• إن سألته سؤال:
المبرمج: يظن أنك تقرأ أفكاره وتفهم كثيرا في الأمور الفنية وقد تسمع عبارات مثل: لا أستطيع ارسال قيمة المؤشر Pointer مع مكتبة DLL بسبب خروجها عن مساحة العنونة Address Space خاصة ان كانت خارج العملية المنفذة Running Process (او حتى بحقن المكتبات DLL Injection) والتي قد تسبب خطأ Fatal Error في حالة تطبيق رد CallBack او اعتمادي على خطف الرسائل Message Hooking بسبب مسالة الـ Protected Mode!

المطور: يحاول قدر الإمكان تبسيط الأمور وعدم التوغل في التفاصيل التقنية (فحتى هو لا يريد)، وقد تسمع منه عبارات مثل: عندما تريد إضافة سجل في جدول العمليات، لابد ان يكون العميل مسجلا في جدول العملاء، والسبب ان احد متطلبات جدول العمليات تعبئة قيمة حقل تمثل رقم العميل.


• في المظهر الخارجي:
المبرمج: تجده صاحب قصات شعر غريبة وليست تقليدية كما لا يحب الملابس الرسمية Uniform.

المطور: يعطي مظهره الخارجي اهتمام لا بأس به، صحيح أنه لا يصل لاهتمام مسئولو خدمات العملاء ولكنه يستعمل العطور أيضا.


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

المطور: يبتسم لك (حتى لو كان لا يطيقك)، وعندما تتحدث معه فلا تنزل عينيه من وجهك.


• أكثر موضوع يتجنبه ولا يفقه:
المبرمج: المواضيع التي تتحدث عن هندسة البرامج وتصميم التطبيقات كنماذج التصميم Design Pattern او حسابات التكلفة Cost Managment او أوقات التسليم Deadlines.

المطور: يقدر المواضيع السابقة ولكنه لا يطيق التحدث عن الأمور الدنيا كالمسجلات في المعالج Registers in the Proccessor ولغة الـ Assembly، او ادارة الذاكرة Memory Managment وتطوير النظم Systems Development، او جتى اجراءات Windows API.


• أكبر عيبوبه:
المبرمج: عنيد وجرئ، ان لم يقتنع في مسالة معينة فلا تتوقع انه سيتنازل من أجلك. التفاوض Negotiation صعب جدا معه.

المطور: يناقشك وقد يحاول اقناعك بحلول اخرى، ولكن ان وجد منك العناد، فسينهي المسالة ويغير كلامه. التفاوض معه بحاجة إلى مغريات وحوافز حتى تكسبه.




                                                                           • أكبر اختلاف بينهما:

المبرمج : هو من يستخدم اكواد التى اعدت له جاهزة دون التوغل فى التقنية ,
اما المطور : هو من يعدل فى بنية الاكواد المقدمة له لابتكار البنية الخاصة به او يقدمها ايضا الى غيره ليعمل بها كمبرمج المبرمج يتعامل على ان 8 = 8 او 5 = 5لكن المطور 8 = 1 +1 +1 +1 +1 +1 +1 +1 ليبحث فى اصولها وجذورها 


أخيرا، هذا السؤال (تهمني إجابته من الجميع)، اين تجد نفسك؟ وهل تظن انك مبرمج أم مطور؟ بالنسبة لي، فأنا مطور Developer وأميل اكثر لتطوير وبناء التطبيقات، كما أني في حالات كثيرة أبتعد أكثر وأجد نفسي محلل Analyst والقيام بمهام التحليل Analyzing، ولكني أكره ((جدا جدا)) مهام المبرمجين وكتابة ألا كواد.



الموضوع منقول من المبرمج تركي العسيري الى هنا للفائدة

 نقطة الاكتشاف -  نصائح وشروحات البرمجة والتصميم
اقرأ المزيد Résuméabuiyad

الخميس، 12 يوليو، 2012

تعلم برنامج blender بسرعة بهذه الدورة السريعة فيديو

هناك تعليقان (2):

تعلم برنامج البلندر باسرع وقت مع هذه الدورة السريعة





من منا لا يخفى عليه البرنامج الشهير بلندر وهذه دورة صغيرة و متواضعة للبرنامج

 

بلندر Blender -  الحلقة الاولى - المقدمة 

 

 

 

  

بلندر Blender -  الحلقة الثانية

 

 

بلندر Blender -  الحلقة الثالثة 




  


 

 بلندر Blender -  الحلقة الرابعة 

 

 

 

آمل من كل قلبي ان تكونوا قد استفدتم من الدورة الصغيرة

اقرأ المزيد Résuméabuiyad

دورة برنامج Unity3D لصناعة الالعاب باللغة العربية و الشرح المفصل فيديو

هناك 11 تعليقًا:
دورة برنامج Unity3D باللغة العربية و الشرح المفصل فيديو

 


 


البرنامج مشهور جدا في عالم برمجة وصناعة الالعاب وهذا موقعه الرسمي
وما يميزه عن كل البامج الاخرى كونه يجمع بين البرمجة والتصميم
وهذه واجهته توضح ماقلته


 


ويمكنك تحميله من هنا 



و متطلبات البرنامج فهي عادية جدا فقط بروسيسور بونتيوم 4 او اكتر 
و كارت شاشة 64 تدعم تقنية الشادر
 


اما الدورة فهي من اليوتيوب لكنني احضرت لكم الرابط :





الحمد والشكر لله 
اقرأ المزيد Résuméabuiyad

الأربعاء، 11 يوليو، 2012

نظام التشغيل الافضل لتعلم البرمجة linux ام windows

هناك تعليق واحد:
ماهو الافضل لتعلم البرمجة linux او windows بالنسبة الى برمجة الويب او التطبيقات


اولا ان كنت تريد تعلم برمجة مواقع الويب 


بالطبع لينكس .. لأن اغلب السيرفرات تستخدم نظام لينكس و ايضا لينكس يدعم الكثير من لغات برمجة الويب , كما أن لينكس مفتوح  المصدر يمكنك الإطلاع على أكواد البرامج لتطور خبرتك و معرفتك البرمجية .. أما الويندوز فهو فكرة جيدة فقط ان كنت تريد برمجة مواقع ويب بلغة ASP.NET و لن تقدر على وصول مستويات أعلى من المتوسطة في اللغات الاخرى و خصوصا في اللغات مفتوحة المصدر  ...

ولكن , 

اذا كنت تريد تعلم ASP.NET ولكن في اللينكس فهذا هو الحل 
هذه منصة تطوير للغات .NET التابعة لميكروسوفت وايضا هي مفتوحة المصدر ^_^
وهي تدعم C#   C++.NET  VB.NET ASP.NET
المهم تدعمها كلها
 تعمل على لينكس و ويندوز والمفاجئة تعمل ايضا على اندرويد و الايفون والاي باد اي يمكنك البرمجة على الهاتف


تانيا ان كنت تريد تعلم برمجة التطبيقات او (البرامج)


بالطبع الويندوز هو الافضل.. فأغلب مستخدمي الحاسوب يستعملون الويندوز كنظام تشغيل 
و 1 في المئة فقط من المستخدمين يستعملون اللينكس واغلبهم الموظفين في الشركات او الشرطة الذين يخشون ان تتجسس ميكروسوفت عليهم , وهؤلاء الموظفين برأيك هل سيستعملون تطبيقك ؟ لا لن يستعملونه سيكتفون فقط بالبرامج المكتبية و البرامج التجارية فقط ناهيك عن قلة مستخدمي اللينكس 

ولكن ,
اذا كنت تريد تعلم برمجة الويندوز ولكن في اللينكس فهذا هو الحل مرة اخرى

هذه منصة تطوير للغات .NET التابعة لميكروسوفت وايضا هي مفتوحة المصدر ^_^
وهي تدعم C#   C++.NET  VB.NET ASP.NET
المهم تدعمها كلها
 تعمل على لينكس و ويندوز والمفاجئة تعمل ايضا على اندرويد و الايفون والاي باد اي يمكنك البرمجة على الهاتف



بالطبع لك حرية الإختيار و لكني أنصحك بلينكس إذا أردت تعلم برمجة ويب والويندوز ان كنت تريد تعلم برمجة التطبيقات..



والحمد لله رب العالمين


اقرأ المزيد Résuméabuiyad

شرح كيفية برمجة محرك بحت php والشرح فيديو

هناك تعليق واحد:

    php درس برمجة محرك بحث ب 

 

 

 

ارجوا ان تضيفوا تعليقا ان افادكم الموضوع

اقرأ المزيد Résuméabuiyad

الثلاثاء، 10 يوليو، 2012

اسطوانة تعلم الخوارزميات 4 دروس فيديو بالعربي - الطريقة الصحيحة لاحتراف البرمجة algorithm

هناك تعليقان (2):


اسطوانة تعلم الخوارزميات 4 دروس فيديو بالعربي - الطريقة الصحيحة لاحتراف البرمجة



تعريف الخوارزميات :


كثيراً مانسمع في عالم البرمجة كلمة خوارزميات أو خوارزمية، ولكن ليس الكثير من يعرف معناها. كثيرٌ من المبرمجين لا يعلمون ماهي الخوارزميات نظرياً ولكن فعلياً يستخدمونها دون أن يعلموا (وأنا واحد منهم)! ، كيف ذلك؟
الخوارزمية تعريفاً هي سلسلة من الخطوات المنطقية المتتالية التي تكتب بشكل منطقي لكي نحل مشكلة معنية، لذلك.. فإن كثيراً من المبرمجين لا يعلمون أن تحليل المشكلة أو التفكير بكيفية برمجة شيء هو خوارزمية بحد ذاته.
كما ان الخوارزميات هي الطريقة الصحيحة للتخطيط لبرنامج ما وانت في وقت فراغ بعيد عن الحاسوب فقط باستعمال ورقة وقلم وهذا اروع مافيها اضافة الى تعلمك التفكير المنطقي .
بعدما عرفنا ماهي الخوارزمية أحب أن اقول ان هذه الاسطوانة موجهة لجميع من تعلم البرمجة ويريد احترافها لأنها تُتيح لك امكانية تحليل الأخطاء بشكل منطقي ! وانا استخدم كلمة خطأ أو مشكلة ولكن لا أعني بها مشكلة أو خطأ بحد ذاته بل أقصد به القضية المطروحة أمامنا.


وهذا مثال بسيط لخوارزمية :

تعريف الاسطوانة :


الاسطوانة غنية عن التعريف كل ما استطيع قوله هو انها ساعدتني فعلا في احتراف البرمجة وانا اكتب خوارزمية دائما كلما اردت البدأ في برمجة تطبيق ما .


والان تحميل الاسطوانة :

رابط سريع جدا 



ولكن قبل ان تحملوا الاسطوانة ترحموا على هذا الشخص وادعوا له :



والحمد لله على نعمة البرمجة >  التفكير / والتصميم > الابداع
اقرأ المزيد Résuméabuiyad