الأرشيفات الشهرية: أبريل 2015

دروس فيديو تعليمية في لغة PERL

*

لغة Practical Extracting and Reporting Language:Perl هي لغة برمجة متعددة الاستخدام خاصة بالترسيمات، مرتبطة ب CGI، هذه اللغة ظهرت سنة 1987 على يد لاري وول. Perl لغة مفتوحة المصدر، مرتبطة أساسا بمعالجة المعلومات المرسلة بواسطة الترسيمات.

كان الھدف منھا معالجة النصوص في نظام یونیكس حیث ھناك مسائل من الصعب حلھا بالوسائل المستعملة حینھا.

أما الآن فقد توسع استعمالھا لتصبح الأكثر طلبا لأتمتة.

عادة ما نمیل إلى استعمال أكثر الأدوات انتشارا, وبما أن البیرل متعدد الاستعمالات، بكل تأكید فھو لیس من أجل كل الأعمال. لذلك سنرى أبرز نقاط القوة التي من أجلھا كانت ھذه اللغة متنفس الكثیر من المبرمجین.

*

الدرس الاول | المتغيرات

.

*

لغة البيرل : الدرس الثاني | المصفوفات

.

*

الدرس الثالث | الهاش

.

*

الدرس الرابع | المدخلات و المخرجات

.

*

الدرس الخامس |أدوات الشرط

.

*

الدرس السادس | التكرار ، انشاء ملف بالاكواد

.

*

الدرس السابع | الاستدعاء ، التعبيرات

.

*

*

في المقال السابق استعرضنا مقدمة بسيطة عن mongodb وعن كونها أحد تقنيات قواعد البيانات ذات المصادر المفتوحة والتي تتمتع بقدر كبير من المرونة في التعامل مع البيانات المخزنة وسنتعرف في هذا المقال على إجراء العديد من العمليات علي هذه البيانات باستخدام mongo shell

*

*

إنشاء قاعدة بيانات ومجموعه جديدة:
لا يوجد أمر صريح ولكن الانتقال إلى قاعدة بيانات جديدة ثم إنشاء مجموعة جديدةcollection سوف يتم انشاؤها:

use firstdb

switched to db firstdb

db.createCollection(“firstColl”)

{ “ok” : 1 }

.

وللتأكد من إنشائها

show dbs

admin

firstdb

local

.

ووجود المجموعة collection

show collections

firstColl

system.indexes

.

إدخال بيانات:

db.firstColl.save({“name”:”ahmed”,”age”:”20″})

.

بعض الاستعلامات:
لاستعراض كل البيانات بأحد المجموعات

db.firstColl.find()

{ “_id” : ObjectId(“4f971d088507807d806d9b2f”), “name” : “ahmed”, “age” : “20″ }

{ “_id” : ObjectId(“4f971db78507807d806d9b30″), “name” : “mohammed”, “age” : “30″ }

{ “_id” : ObjectId(“4f971de08507807d806d9b31″), “name” : “mahmoud”, “age” : “40″ }

.

لعرض كل من عمره أكتر من 20

> db.firstColl.find({“age”:{$gt:”20″}})

{ “_id” : ObjectId(“4f971db78507807d806d9b30″), “name” : “mohammed”, “age” : “30″ }

{ “_id” : ObjectId(“4f971de08507807d806d9b31″), “name” : “mahmoud”, “age” : “40″ }

.

عرض الاسماء التي ليس فيها اسم “أحمد”

db.firstColl.find({“name”:{$ne:”ahmed”}})

{ “_id” : ObjectId(“4f971db78507807d806d9b30″), “name” : “mohammed”, “age” : “30″ }

{ “_id” : ObjectId(“4f971de08507807d806d9b31″), “name” : “mahmoud”, “age” : “40″ }

.

تعديل البيانات:

تم تعديل عمر احمد من 20 الي 25

db.firstColl.update({“name”:”ahmed”},{$set:{“age”:”25″}})

> db.firstColl.find()

{ “_id” : ObjectId(“4f971d088507807d806d9b2f”), “name” : “ahmed”, “age” : “25″ }

{ “_id” : ObjectId(“4f971db78507807d806d9b30″), “name” : “mohammed”, “age” : “30″ }

{ “_id” : ObjectId(“4f971de08507807d806d9b31″), “name” : “mahmoud”, “age” : “40″ }

.

حذف البيانات:

تم حذف بيان واحد وهو من يساوي عمره 40

db.firstColl.remove({“age”:”40″})

db.firstColl.find()

{ “_id” : ObjectId(“4f971d088507807d806d9b2f”), “name” : “ahmed”, “age” : “25″ }

{ “_id” : ObjectId(“4f971db78507807d806d9b30″), “name” : “mohammed”, “age” : “30″ }

.

لحذف كل البيانات من مجموعة

db.testColl.find()

{ “_id” : ObjectId(“4f9723828507807d806d9b32″), “id” : 10 }

db.testColl.remove({})

db.testColl.find()

.

حذف المجموعة بأكملها

show collections

firstColl

system.indexes

testColl

db.testColl.drop()

true

show collections

firstColl

system.indexes

.

حذف قاعدة بيانات

db.dropDatabase()

{ “dropped” : “myTest.$cmd”, “ok” : 1 }

show dbs

admin

firstdb

local

.

جدول بسيط يلخص الأوامر الأساسية للتعامل مع قواعد البيانات باستخدام mongodb وما يناظرها من الأوامر مع SQL

mongodb

SQL

db.CreateCollection() Create table
db.coll.save() Insert into
db.coll.find() select
db.coll.update update
db.coll.remove() delete
db.coll.drop() drop

*

يظهر من الجدول الموضح ان mongodb تعتبر بشكل كبير أقرب ما يكون إلى جمل وأوامر sql المعتادة مما يسهل استخدامها استخدام وتطوير قواعد بيانات تعتمد في بنائها على عدم وجود علاقات nosql وتحتاج إلى مواكبة الزيادة المستمرة في حجم البيانات ومما لاشك فيه أن هذه التقنية قيد التطوير والتحديث وقد نجدها في السنوات القليلة القادمة تطغي على قواعد البيانات القائمة على وجود علاقات فيما بينها وسوف نوضح التعامل مع mongodb من خلال أحد لغات البرمجة في المقال القادم بإذن الله.

*

 

ظل مفهوم قواعد البيانات القائمة على علاقات مرتبطاً في ذهن المهتمين بعلوم الحاسب الآلي بأنه هو علم قواعد البيانات في حد ذاته لعقود طويلة من الزمان نظراً لما أحدثه هذا المفهوم من نقلة كبيرة في التعامل مع البيانات وطرق تخزينها واسترجاعها والمحافظة على ثباتها ودقتها بعد إجراء العديد من العمليات المختلفة على هذه البيانات ولكن مؤخراً نظراً لظهور مشكلة تضخم أحجام قواعد البيانات والحاجة المتزايدة إلى التوسع في أماكن التخزين ظهر اتجاه جديد في علم قواعد البيانات وهو تخزين البيانات على أساس ملفات أو وثائق (documents) ، تعتمد في بنائها علي علي json (key-value) ومن احد اهم الانظمة التي تمثل هذا الاتجاه هو mongodb.

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

المزايا:

*

*

  • يتمتع بكافة مزايا المصادر المفتوحة .
  • سهولة تصتيبه.
  • اإجراء عمليات واستعلامات على البيانات بكفاءة عالية تشابه MySQL.
  • مواكبة الزيادة المستمرة في حجم البيانات بالتوسع أفقياً فيما يعرف ب auto-sharding (partitioning) architecture.
  • سرعة إجراء العمليات نتيجة لاعتماد mongodb على تقسيم البيانات على شكل مجموعات collections.
  • تتعامل مع العديد من أنظمة التشغيل ولغات البرمجة مثل :java, javascript, python, Ruby, Scala.
  • توفر العديد من المراجع والمجتمعات الداعمة له.

العيوب:

  • عدم الاستقرار والثبات كتقنية جديدة لقواعد البيانات نظرا لظهورها حديثا وبالتالي فهي ما زالت في فترة  التطوير.
  • عدم وجود علاقات.
  • لا تدعم ACID المعنية بالحفاظ علي ثبات ووحدة البيانات بعد إجراء العديد من عمليات عليها في آن واحد وتعتبر عيب مشترك لكل التقنيات القائمة على فكرة قواعد البيانات التي لا تعتمد على العلاقات في بنائه ولكنها من جهة أخرى تعتمد على نظرية CAP كمحاولة للحفاظ على ثبات البيانات.

*

بعض الشركات الداعمة:
SAP,SourceForge,MTV,Disnyp,Theguardian,Forbes

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

لغة Go

*

*

فيديو توضيحي عن لغه Go البرمجيه الجديده من شركه جوجل ..

*

*

حسنا ، بما أنك تقرأ هذه السطور فأنت أحد ال Geeks (مهووس تقنية) الشغوفين بجوجل ومنتجاتها ، ولا أخفيك سرا فأنا أحد هؤلاء المهوسين ؛ فمنذ عرفت جوجل وإستخدمت منتجاتها وأنا بكل اهتمـام – وبالعامية (هموت وأعرف) – ماهي لغة البرمجة التي تستخدمها جوجل في منتجاتها !

.

قرأت كتباً وتعليمات ومنشورات ، وكل ما يمكن أن يقودني إلى معلومـات مؤكدة وكل ماو صلت إليه ببساطة يتلخص في نقاط :

.

1. جوجل تعشق لغات البرمجة السريعة والخفيفة والقوية أيضا.

2. لغة ( بايثـون python ) ولغة ( الجـافا java ) همـا اللغتين الأساسيتيـن في جوجل.

.

لكن لحظة لنشرح أولاً عن ماذا نتكلم ..

عزيزي القارئ ، أي موقع – مهمـا كان – بالنسبة للبرمجة يتكون من جزئين :

(جـزء السيـرفر  server side ) و ( جزء العميـل client side )

.

مثلا لنفرض موقع آله حاسبة .. الواجهة وما تتعامل معه انت كمستخدم هو جزء العميل وغالبا يتكون من هيكليه له مكتوب بالـ HTML و CSS و JavaScript ..

.

ولكن عندما أجري عملية حسابية 1+5 فإن دور جزء العميل ينتهي هنا ، ويأتي جزء السيرفر فينفذ الكود الذي يكون مثلا PHP او Python الخ ..

.

السؤال هنا : لماذا البايثون و الجافا بالتحديد ؟!

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

.

في هذه الحالة نجد ان Python و Java هما الأفضل بالنسبة لهذة المواصفات، فضـلاً عن كونها لغات سهلة وبسيطة وسريعة التطوير .. وأيضاً خفيفه على السرفر فلهذا كانت من إختيار جوجل .

إنتظر لم تكتمل المعلومة بعد ..

.

أنت لست هنا لتأخذ أن الجافا والبايثون هما اللغتان المعمول بهما في جوجل ، وتذهب بكل حماستك وتبدأ تبرمج وتتعلم هما ! ليس بعد ..

جوجل وخدمـاتها لا يعمل عليها مبرمج واحد فقط ، بل آلاف المُبـرمجيـن .. وأيضا هم لا يتحكمون باللغات التي سبق ذكرها ، لذلك عـمل المطـورون داخل شركة جوجل على إطـلاق لغة برمجة خـاصة من جوجل !!

.

نعم أول لغة برمجة من جوجل .. رحب معي بالوحش الجديد GO

GO Programming Language

اللغة الجديدة من جوجل الرائعة والخيالية في كل شئ ، ككل منتجات جوجل ( او أغلبهـا ) .. وحتى لا أطيــل عليكـم ، لندخل في التفاصيل :

.

مميزات اللغة :

1. مفتوحة المصدر .

2. البرمجة بها ممتعة .

3. أخذت النقاط القوة من لغات مثل c و c++ و java و python .

4. سهلة التعامل وبسيطة التعلم .

5. تدعم كل الأنظمة windows , mac , linux , freeBSD

.

وبلا شك فإن أفضل لغات البرمجة هي اللغات الجديدة التي تأتي متوافقة مع التطور التقنـي وتلبي إحتياجات المبرمج في عصره ..

مقتبس من كلمة من أحد مطوري اللغة في مؤتمر له : ”كل شئ يتطور تكنولوجيـاً إلا لغات البرمجة ، فمازلنا نستخدم اللغات القديمة .. ولذلك أتت فكرة لغة جو “

.

لم أنتظر كثيراً حتى حملت اللغة على Windows وبدأت اعمل بها..

وبالفعل كما قالوا عنها سريعة خفيفه متنوعة ، وأخيراً تشعر بالمتعة وانت تبرمج ، وبالفعل الكثير منها مستوحى من لغات آخرى

والمهم هنا أن جوجل إعتمدت اللغة وبدأت تكتب كل خدمتها عليها ..

.

تجربة شخصية

جربت كتابة أنواع كثيرة من البرامج بها مثلا WEB BOT لبعض المواقع فالسرعة والسهولة هو ما يميز اللغة.

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

هذا إن دلَّ على شئ يدل ان جوجل مهتمه بهذه اللغة  ،، ماذا تنتظر ؟؟ إبدأ وبرمج بها !

الموقع الرئيسي للغة :

www.golang.org

جربها الى جانب لغتك – إن كنت مبرمجاً – وان لم يكن لك تجربة سابقة في البرمجة فستكون بداية مدهشة !!

.

#مصطفى إسماعيل ..

 

*

أطلقت شركة جوجل قبل أربعة أعوام لغة برمجة خاصة بها تُعرف باسم “Go”، وتشترط شركة جوجل بشكل غير أساسي على المتقدمين للعمل لديها إتقان هذه اللغة.

*

لذا يمكن للمهتمين بعتلم هذه اللغة التوجه إلى موقع “http://golang.org” الذي يُقدّم العديد من الأمثلة حول هذه اللغة، مع وجود مستندات كاملة يمكن قرائتها من أجل تعلم كل شيء في اللغة.

*

بعد الدخول إلى الموقع، يوجد مُربع يحتوي على أمثلة جاهزة بالضغط على زر “Run” يتم تنفيذها أمام المستخدم لكي يشاهد النتيجة مباشرةً، ويمكن التعديل على هذه الأمثلة لإخراج أي شيء يرغب به المستخدم، ويمكن الضغط على زر “Documents” من أجل قراءة جميع المستندات المتعقلة بهذه اللغة.

 *

 

ما هي بيرل ؟

بيرل هيإYحدى أقوى لغات برمجة المواقع , و قد بدأت و اشتقت من نظام يونكس المعروف بذلك فهي قوية بدرجة تمكنك من بناء موقع متميز و مفيد.
.
برامج بيرل هي عبارة عن نصوص كتابية “سكربتس” تعطي الأوامر للكومبلير “البرنامج الذي يحلل هذه الأوامر و يشغلها”. تختلف بيرل عن الكثير من لغات برمجة المواقع الأخرى بأنها سهلة جداً للتعلم , سريعة في تنفيذ الأوامر وسهلة الاستخدام بشكل عام حيث أن الأوامر في بيرل قريبة جداً إلى أن تكون كلمات إنجليزية و لذلك فإنك ببساطة قد تتمكن من فهم الأمر من قراءة اسمه فحسب.
*
سوف أبدأ بسرد استخدامات بيرل من الأسهل إلى الأكثر تقدماً …
.

أمثلة على ماذا يمكنك أن تعمل باستخدام بيرل :

.

  • معالج متميز للنماذج.
  • سجل للزوار.
  • عداد للزوار.
  • مرسل بسيط لرسائل الايميل.
  • منتدى.
  • برنامج للتصويت و الاقتراع.
  • برنامج لادارة الاخبار.
  • قائمة بريدية “Mailing List”.
  • استخدام قاعدة بيانات مثل “MySQL”.
  • الاتصال بالشبكات “Networks” او مواقع انترنت اخرى بسهولة و يسر.
  • محرك بحث داخل موقع معين.
  • محرك للبحث داخل الانترنت.
  • محرك بحث متقدم جدا للبحث بطريقة ال “Meta Search”.
  • شبكة بريدية متكاملة مثل “Hotmail” او “Yahoo!”.
  • برنامج للتسوق عبر الانترنت و معالج لارقام بطاقات الائتمان.
  • برنامج لادارة شبكة مواقع كاملة.

*

لماذا بيرل ؟

هنالك العديد من لغات البرمجة التي قد تكون موازية لبيرل و لكن هنالك بعض الميزات التي قد لا توجد في أي لغة أخرى على الإطلاق.
.
قد لا تجد بعض المهام التي تريدها في بيرل نفسها و بالتأكيد سوف تحتاج إلى أن تطورها بنفسك، و لكن لحسن الحظ هنالك ما يزيد عن 6000 مودل موجودة في “CPAN” و يمكنك ببساطة تحميلها و استخدامها , كل ما قد يخطر ببالك ستجده هناك “صانع ملفات الPDF” , “برنامج للتعامل مع الجرافكس” و حتى مودل يسمح لك بارسال “SMS” بواسطة برنامجك الخاص !

.

إحدى مميزات بيرل الأخرى هي فتح و استخدام البرامج الخارجية “.exe” فيمكنك مثلاً استخدام برنامج خاص لإرسال البريد الالكتروني.
.
هنالك مجوعة من المودلز التي تأتي مع بيرل و تعرف باسم “LWP” اختصارا و تسمح لك بفتح الملفات الموجودة على موقع آخر بسهولة.

*
من الأشياء المفيدة في بيرل هي أنك تستطيع أن تتعرف على كل وظائف اللغة من خلال موقع “CPAN” أو باستخدام الكتيب الذي ياتي بصيغة “HTML” سهلة التصفح إذا كنت قد حملت كومبلير بيرل على جهازك و هذا ستتعلمه إن شاء الله.

*

مقدمة إلى لغة perl

.
أولا : إنشاء صفحات الويب :

يجب علينا في البداية أن نعلم أنه عند القيام بإنشاء صفحات الويب فهنالك طريقتين لعمل ذلك:
.
أ / إنشاء صفحات الويب في جهة المستخدم Client – Side Application.

ب/ إنشاء صفحات الويب في جهة السيرفر Server – Side Application.

.

إنشاء صفحات الويب في جهة المستخدم :

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

  • 1/ لغة HTML
  • 2/ لغة DHTML
  • 3/ لغة VBscript
  • 4/ لغة Javascript

إنشاء صفحات الويب في جهة السيرفر ( المزوّد):

هنا يتم إنشاء الصفحات ووضعها على مزود الويب وعند الحاجة إلى هذه الصفحات يتم طلبها من خلال المستضاف ( Clinet ) ومن أهم اللغات المستخدمة في إنشاء هذا النوع من الصفحات :

  • 1/ لغة CGi
  • 2/ لغة ++C
  • 3/ لغة ASP
  • 4/ لغة (Visual Basic )
  • 5 / لغة Perl

.
ولإنشاء صفحات الويب في جهة السيرفر فإننا نحتاج إلى :

1/ مزود ويب يتم وضع ملفات الويب المكتوبة بلغة HTML وملفات ال ( CGI ) عليه .

2/ برامج قادرة على معالجة برامج ال ( CGI ) مثل لغة PERL وذلك إذا كانت ملفات ال ( CGI ) مكتوبة بلغة PERL .

*

ماهي لغة PERL وماذا تعني؟

بالنسبة لكلمة PERL فهي إختصار لـــ Practical Extraction and Report Language، ويطلق على لغة PERL لغة التقارير وذلك لأن هذه اللغة توفر إمكانية إصدار تقارير على صفحة الويب ومن هذه التقارير تقرير يبين عدد المستخدمين الذين قاموا بالدخول وزيارة الصفحة وكذلك إخراج تقارير بالإحصائيات الخاصة بالانترنت.

*

*

لنفترض أنك قد قمت بتحميل كومبلير بيرل , و لقد انتهيت من اعداد سيرفر اباتشي. الآن سيكون عليك ان تفتح المجلد الذي قمت بانزال اباتشي فيه من خلال عملية “Setup” , هل ترى المجلد المسمى “CGI-BIN” ؟
.
ادخل إلى هذا المجلد , بدءاً من الآن سيكون هذا المجلد هو المكان التي تضع ملفات بيرل فيه. هنالك ملف اسمه “printenv.pl” افتحه باستخدام نوتباد او وردباد “احذر من استخدام وورد او فرنت بيج”. اترك الملف للحظة …
.
السطر الأول في برامج بيرل :

أي برنامج في بيرل يجب أن يبدأ بسطر مثل هذا :
.

رمز PHP:
#!/path/to/perl

.
فإذا كنت قد حملت بيرل في C:Perl , فإن هذا السطر يجب أن يكون :
.

رمز PHP:
#!C:/Perl/bin/perl.exe

نظام السطر الأول هذا , يخبر اباتشي عند طلب المستخدم لهذا الملف “عن طريق متصفح الانترنت” ان يشغل بيرل باستخدام هذا البرنامج الذي يتبع “!#” , و سيقوم اباتشي بإرسال هذا الملف الى كومبلير بيرل لتحليله و من ثم يرسل نتيج التحليل إلى المستخدم و التي قد تكون أي شي حسب الأوامر التي يحتويها هذا البرنامج .
.
إذاً عد إلى الملف “printenv.pl” و غير السطر الأول ليناسب مكان كومبلير بيرل في جهازك.
.
شغل الآن أباتشي ،و ستظهر لك واجهة البرنامج مشابهة لبرامج “MS-DOS” القديمة. من ثم قم بفتح “Internet Explorer” او “Netscape Navigator” حسب متصفح الانترنت الذي تستخدمه ,لا تقم بعمل إتصال بالانترنت لأنك تتصل بشبكتك الخاصة.
.
اكتب هذا العنوان و اكبس “Enter” :

.

رمز PHP:
http://localhost/cgi-bin/printenv.pl

.

إذا عملت كل شي بطريقة صحيحة فيجب أن يحصل واحد من الأشياء التالية و كلاهما صحيحين :
.
>> تظهر صفحة تحتوي على

.
رمز Code:
COMSPEC="C:WINDOWSCOMMAND.COM"

DOCUMENT_ROOT="d:/apache group/apache/htdocs"

GATEWAY_INTERFACE="CGI/1.1"

.
>> يطلب منك المتصفح ان تقوم بتحميل الملف

.

أما اذا ظهرت رسالة تقول “Internal Server Error” :

.

فيجب أن تقوم بالتأكد من قيامك بكل شي بطريقة صحيحة , و من ثم :

من قائمة “Start” اختر “Programs” و منها “Apache HTTP Server” و من اختر “Review server log files” ومن ثم اختر “RevieW Error log” افتح الملف باستخدام نوتباد.

.

اذهب إلى نهاية الملف : ماذا كان الخطأ الذي حصل؟ هل هنالك عبارة :

رمز Code:
couldn't spawn child process: d:/apache group/apache/cgi-bin/free.pl

.

هذا الخطأ يعني أنك لم تحدد المسار الصحيح إلى كومبلير بيرل , فتأكد من أن المسار صحيح و صيغة كتابة المسار صحيحة ايضا.

.

طريقة عمل بيرل تتلخص في :

1. يقوم المتصفح بطلب برنامج بيرل “الملف” من السيرفر “في هذه الحالة “اباتشي”

2. يفتح اباتشي الملف و يرسله الى كومبلير بيرل

3. يقوم الكومبلير بتحليل الملف و تنفيذ الاوامر الموجودة بداخله

4. يقوم الكومبلير بارسال نتيجة التحليل الى السيرفر “اباتشي”

5. يرسل اباتشي النتيجة الى المتصفح ليعرضها للمستخدم و في اغلب الاحيان تكون ملف “HTML”

.

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

اذا أردت ان تكتب تطبيقات لتعمل على أجهزة  MAC أو أجهزة I-Phone  و I-Pad هناك رابح وحيد بين لغات البرمجة المعروفة و هو Objective -C و سنتعرف في السطور القادمة على هذه اللغة بشكل عام ..

*

طبعا مع الافتراض أنك على اطلاع بأساسيات البرمجة بشكل عام ، و ما أقصده بالأساسيات هو المعرفة بالتوابع و المصفوفات و الشروط  و و و…

*

ما هي Objective – C

هي لغة برمجة غرضية التوجه …. قد تشبه من حيث المبدأ لغات C++أو الجافا و لكنها تختلف جذريا من حيث الشكل و المضمون عنهما و لمعرفة الفرق بينهما سنعود بالتاريخ الى العام  ١٩٧٢ و هو تاريخ ميلاد لغة C

*

*

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

الاول: هو بناء لغة جديدة على أسس ال C و لكنها تتمتع بخواص و مفردات جديدة مختلفة، و من هذا الخط ظهرت لغات C++,Java, C#  ….. و غيرها.

الثاني: و الذي تمثله ال Objective – Cكان باضافة افكار اللغات الغرضية التوجه و دمجها بلغة C

*

*

إذاً  يمكننا القول أن C++ و Java قد بنيتا كلغات جديدة باساليب جديدةكما يوضح الرسم

*

*

أما Objective -C فهي لغة C نفسها مع الإضافات و التحسينات ،أي يمكن لمستخدم هذه اللغة أن يكتب كود بلغة  Cمن عام ٧٦ و سينفذ دون أي مشاكل و هذا ما لن تستطيع فعله مع اللغات الأخرى.

*

*

إذاً كيف سيستطيع المترجم معرفة الكود القديم من الكود المضاف؟

هذا بسيط هناك العديد من الإشارات التي سنضعها في الكود سيتعرف إليها المترجم على أنها إضافات إلى لغة C الأصلية، مثلاً مثل الأقواس المربعة  [ ] او مثلاً الكلمات المفتاحية التي تبدأ ب الحرفين NS و الكلمات التي تبدأ ب @ و القائمة تطول  ….

*

*

حسناً كل هذا لا يبرر لماذا نستخدم هذه اللغة تحديداً لبرمجة تطبيقات الماك و الآيفون … إذاً لنعد للتاريخ، إن هذه اللغة هي اللغة الأساسية لشركة Next و التي أسسها ستيف جوبز بعد أن ترك Apple في العام ٨٥ و قد بنو باستخدامها نظام التشغيل الخاص بهم NextStep 1.0 و الذي ظهر في العام ٨٩. في العام ٩٦ اشترت Apple هذه الشركة و طورت نظام التشغيل ليصبح ما نعرفه نحن اليوم ب MAC OS 10 و الذي ظهر في العام ٢٠٠١ و لهذا تجد ان استخدام الأحرفNS في معظم الكلمات المفتاحية ‘نما يعني Next Step و هذا يعني أن Mac  OS مبني باستخدام Objective C و هكذا تجد أن تطور أجهزة الماك كلها منذ عام ٢٠٠١ مبني علىObjective C

*

*

*

بعد أن انتهينا من التعريف المختصر، السؤال الذي سيطرح :ما هي أفضل بيئة لكتابة برامج و تطبيقات بلغة Objective – C

الجواب :XCode

*

ما هي XCode

هي مجموعة من الأدوات البرمجية التي وفرتها Apple  لمطوري و مبرمجي Objective C

طريقة التنصيب بسيطة، فقط اتبع التعليمات الموجودة في الويزرد …. طبعا يمكنك الحصول على  Xcode

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

ملاحظة وحيدة: بعد أن تنصب Xcode لا تحاول نقلها أو تغيير مكانها، فهي لن تعمل و ستسبب لك مشكلات أنت في غنى عنها.

سلسلة تعليم Objective-C

*

الدرس الاول – مقدمه في لغة الاوبجكتف سي-Introduction to Objective-C

*

الدرس الثاني – المتغيرات جزء١- variables in objective-c part 1

*

*

الدرس الثالث – استقبال القيم من المستخدم – Objective-C scanf()

*

الدرس الرابع – جزء1 -interface & implementation & method in Objective-C

*

الدرس الرابع – جزء٢ -interface & implementation & method in Objective-C

*

الدرس الخامس — الطرائق — Functions in objective-c

*

الدرس السادس – العداد – For loop in Objective-C

*

الدرس السابع – التكرار – While Loop In Objective-C

*

الدرس الثامن – التكرار – Do While in Objective-C

*

الدرس التاسع – أداة الشرط – if statement in Objective-C

*

الدرس العاشر – السويتش – Switch in Objective-C

*

الدرس الحادي عشر – المصفوفات – Array in Objective-C

*

الدرس الثاني عشر – المصفوفات – Array in Objective-C

*

الدرس الثالث عشر – Conditional Operator

*

الدرس الرابع عشر – #Define

*

*

 

في درس اليوم سنعرف كيفية عمل setup لبرنامج Sql server 2008  بدون أي مشاكل، وللحصول على ذلك اتبع الخطوات الآتية مع العلم أن الخطوات مشروحة بالصور والكتابة ..

*

أولا :-نقوم بتنزيل البرنامج من الرابط الآتي :-http://mediafire.com/?9whdw7q7sr1j8lm وبعد عملية التنزيل اتبع الآتي :
*
نقوم بفتح البرنامج ونضغط على الSQLEXPRAdv_86_ENU كما بالصورة :
*
sql.L2.pic1
*
ننتظر حتى تتم عملية استخراج الملفات من داخل البرنامج
*
sql.L2.pic2
*
بعد ماتتم عملية استخراج الملفات تظهر نافذة التسطيب كما بالشكل :
*
sql.L2.pic3
*
هذه النافذة تحتوي على معلومات إضافية للتخطيط لعملية التثبيت.
اضغط على Installation على اليسار:
*
sql.L2.pic4
*
اضغط : New Installation or add features to an existing installation ستظهر النافذة التالية :
*
sql.L2.pic5
*
ثم بعد ذلك نضغط على زر OK وبعد الضغط ستظهر نافذة تتطلب منك رقم المنتج أو ستكون النسخة للتجريب
بعد وضع رقم المنتج او اختيار نسخة تجربية ستظهر النافذة التالية :
*
sql.L2.pic6
*
نقبل اتفاقية الترخيص ونضغط على زر التالى ستظهر هذه النافذة ويتم بها بعض العمليات التسطيب :
*
sql.L2.pic7
*
كما يقوم برنامج التثبيت بالتأكد من وجود جميع متطلبات عملية تثبيت البرنامج و يجب أن تمر جميع هذه القواعد بدون أي مشاكل حتى يتم السماح بالاستمرار وبعد التاكد من عملية التسطيب بدون مشاكل ستظهر النافذة التالية :
*
sql.L2.pic8
*
في هذه النافذة  نختار الخيار الأول و اضغط التالي ( الخيار الثاني متعلق بشيربوينت في حال احتجت إليه )
*
sql.L2.pic9
*
في هذه النافذة يتم تحديد العناصر المراد تثبيتها من SQL Server و هنا يمكنكم اختيار أي عنصر تريدونه و قمت باختيار الكل لأغراض الشرح. ( في نسخة Express معظم هذه العناصر لن يكون متوفراً )
كما يتم اختيار المجلدات التي سيتم تنزيل البرنامج عليها.
*
sql.L2.pic10
*
هنا يتم التأكد من توافق العناصر المراد تثبيتها مع البيئة التي يعمل عليها برنامج التثبيت.
*
sql.L2.pic12
*
هنا يتم تحديد ال Instance المراد تثبيته و هو إما أن يكون Default ( و يكون اسمه عندئذ MSSQLSERVER ) أو أن يتم تحديد الاسم المراد لل Instance , و هذا الخيار يفيد عند الحاجة إلى تثبيت عدة نسخ SQL Server على نفس الجهاز حيث يمكن استخدام ال Default لنسخة واحدة و الباقي يجب أن تكون Named Instances.
في حالة نسخة ال Express فإن الاسم الافتراضي لها سيكون:SQLEXPRESS
*
sql.L2.pic13
*
وهنا فى هذة النافذة يعمل البرنامج على التاكد من وجود مساحه كافية على الهارد ديسك ام لا؟
*
sql.L2.pic14
*
وعند ظهور هذه الشاشه علينا أن تنوقف قليلا ونفهم ماذا تحتوى هذه الشاشه :-
.
تحتوى الشاشه على بعض المصطلحات فعلينا ان نعرف هذة المصطلحات وهى كالتالى:-
.
SQL Server يعمل باستخدام عدة خدمات Services كل لها وظيفتها:
.
SQL Server Database Engine هي الخدمة الرئيسية و التي تعتبر محرك قاعدة البيانات
SQL Server Agent هي الخدمة المستخدمة لجدولة المهام في SQL Server
SQL Server Analysis Services تفيد في مهام تحليل البيانات OLAP
SQL Server Reporting Services تفيد لاستخدام التقارير
SQL Server Integration Services تفيد في مهام “تحويل” البيانات بين أشكال مختلفة.
Full Text تستخدم في عمليات البحث ضمن النصوص
SQL Server Browser تفيد في حالة استخدام Named Instances
.
هنا يجب تحديد الحساب الذي ستعملمن خلاله هذة الخدمة  او الموصى به هو استخدام اسم مستخدم موجود على شبكة الدومين بصلاحيات عادية و لكن لأغراض التجارب يمكن استخدام Local System و هو يعني المدير على النظام.
اضغط على الزر  use the same account for all SQL Server Services
*
sql.L2.pic15
*
اختر NT Authority\System ثم موافق
اضغط  Collation Tab
*
sql.L2.pic16
*
هذه الصفحة تحدد ال Collation و هو يفيد في وصف طريقة ترتيب الرموز لكل لغة و التشفير الذي سيستخدم لتخزين البيانات التي لا تستخدم Unicode.
*
sql.L2.pic17
*
هنا يتم تحديد طريقة الولوج إلى قاعدة البيانات باستخدام الطريقتين التاليتين:
.
Windows Authentication Mode  حيث يتم التثبت من الهوية باستخدام مستخدم ويندوز نفسه و هي تمتاز بعدم الحاجة إلى إدخال كلمة المرور بل يتم الاعتماد على ويندوز في التثبت من ذلك.
Mixed Mode و يتم استخدام الطريقة الأولى بالاضافة إلى الطريقة التقليدية باستخدام اسم المستخدم/كلمة المرور و اسم المستخدم الافتراضي الذي يستخدمه SQL Server و لها صلاحيات المدير هو:  System Administrator
.
إذا تم اختيار Mixed Mode فيجب تحديد كلمة المرور الخاصة به.
في الأسفل يجب تحديد اسم مستخدم ويندوز على الأقل له صلاحيات المدير.
*
sql.L2.pic18
*
هنا يتم تحديد اسم مستخدم ويندوز لتكون له صلاحية المدير على خدمة الSQL Server Analysis Services
*
sql.L2.pic19
*
هنا يتم تحديد اعدادات SQL Server Reporting Services و سنتركها حالياً على الاعدادات الافتراضية.
*
sql.L2.pic20
*
هنا يمكن تفعيل الخيار الموجود من أجل مساعدة ميكروسوفت و ذلك عن طريق ارسال رسائل الخطأ
*
sql.L2.pic21
*
هنا يتم التأكد أخيراً أن كل الأمور على مايرام قبل البدء بعملية التثبيت.
*
sql.L2.pic22
*
ثم يتم عرض كل التفاصيل التي تم اختيارها في الصفحات السابقة كتأكيد أخير قبل البدء.ثم اضغط Install لتبدأ عملية التثبيت.
وعند الانتهاء من عملية الثبيت تظهر نافذة توضح نجاح العملية إذا حدثت بعض المشاكل فسيتم ذكر ذلك و يمكن الضغط على اللينك الموجود في الصفحة لمعرفة تفاصيل الخطأ
*
sql.L2.pic23
 *
وبعد ذلك نذهب الى قائمة start نقوم بفتح البرنامج كما يلي:
*
sql.L2.pic24
 *
sql.L2.pic24
 *
وبعد الضغط على زر connect تظهر الشاشه الرئيسية كما بالشكل
*
sql.L2.pic25
*
وبهذا نكون انهينا عملية تسطيب البرنامج وفى الدرس القادم نبدا سويا كيفية التعامل مع هذا البرنامج .

 

Page 1 of 1812345»10...Last »