version controling

Version Control Systems or Source Control Systems are very important tool for any developer even if s/he is working alone !!

it is sad that many developers around here do not understand the importance of source controling , mostly they will say ” I am working alone so why i need to add another overhead activity in my work” , or even worse some small teams will say “well we are working on different parts of the project and having a shared folder and that is more than enough for us” !!!!!!!! common !.
May be getting used to develop (during college and school days) without source controling makes it an alien concept which every one around here (oman) is trying to avoid , but the truth is once any one knows the reall benifits of source controling they will never do even the smallest script without using it.
  • for a starter how about having a time machine for your code that will allow you to go back in time to any place in the history of your project coding if you are using version controlling you will be able to go to any previews versions (comits) you have made in the system. so that is a greate backup /restore functionality.
  • Easily Compare any two points in the history, or history with the current version , this is better than the time machine you can very easily know what have changed in any two versions of your code

  • Synchronization : the code will be automatically shared between you and other team members with much better & easier control and access than shared folders
  • Tracking : the code share and synchronization is done with full tracking of who did what (no one can blame you on their mistakes). and that is a million time better than shared folders cause every thing is tracked and protected (to the code lines level )
  • Branching : do you have created a big project which is in production, and need to do small changes to make it usable on different environment , or on slightly different requirements? If yes most probably without version controlling you will do copy the whole project and create a new project and treat them as two different projects. But the fact is you will Need in some point of time to know what changes you have done in the first project two create the second one, or you will need change the new one back to the first one, or change the real system to have the extra features you have added in the second project, all these are possible in version controlling systems using branching feature.

these were some of the features of version controlling maybe in some of the coming posts i will do a comparision between different version controlling tools.

Read More

Voip

 

تعرف على تقنية VOIP

 

 

 

ما هو VOIP ؟

- هي إختصار لـ Voice Over Internet Protocol  .

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

 

كيف تعمل هذه التقنية :

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

 

الإشارة التناظرية

ana.bmp

الإشارةالرقمية

 

 

 

 

 

 

 

 

 

 

ماذا  أحتاج لأستفيد من هذه التقنية :

 

1 أنترنت السريع Broadband Modem

dsl modem.jpg

 

 

 

 

 

2 هاتف تقليدي  + محو ل    ( ATA )

 

SPA2002_thumb.jpg

tele.jpg

+

 

  • (  ATA  )  Analog Telephone Adapter

جهاز يستخدم لتوصيل الهاتف التقليدي بالمودم DSL لإجراء المكالمات عن طريق إستخدام شبكة الأنترنت وميزة هذا الجهاز أنه أرخص من الهواتف التي تدعم تقنية VOIP والتي توصل مباشرة إلى الحاسوب عن طريق منفذ USB .

 

 

 

3 هاتف يعمل بتقنية VOIP

 

نوع من الهواتف التي تدعم تقنية VOIP ويتصل مباشرة عبر منفذ USB للحاسوب

ea1306f824ab9f16.jpg

 

 

 

 

 

 

4- برنامج للإتصال مبنية على بروتوكول (SIP ) مثل : )  Skype )

 

  • مثال من البرامج المجانية التي تستخدم للإتصال عبر الحاسوب بإستخدام سماعات الرأس وكارت الصوت وهناك برامج عديدة مجانية وبرامج يمكن شراؤها .

sky.bmp

 

 

 

 

 

 

 

 

 

 

 

رسم توضيحي مبسط للأجهزة الموصلة :

 

شكل 1

voip-how-it-works-diagram.png

 

 

 

 

  • تحويل الصوت إلى إشـارة رقمية يعني تحولها إلى نوع من أنواع البيانات  (Data ) المرسلة عبر الشبكة أو الأنترنت ومن هنا جاءت فكرت إندماج الشبكيتن المختلفتين تماماً شبكة الحاسب الآلي وشبكة الهاتف بحيث تصبح شبكة واحدة وتسـمى هذه العملية ( Convergence ) والتي أحدثت تقنية IP Telephony

 

 

رسم توضيحي لإندماج شبكتي الهاتف والحاسوب

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

تقنية IP Telephony :

 

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

 

 

 

 

 

 

 

 

 

هناك أربع طرق مختلفة تتيح لك الاتصال بإستخدام تقنية VOIP   :

 

  1. حاسوب إلى حاسوب :

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

 

  1. حاسوب إلى هاتف :

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

 

  1. هاتف إلى حاسوب :

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

 

  1. هاتف إلى هاتف :

عن طريق بوابة (VOIP Gateway ) يمكنك الاتصال مباشرة بأي هاتف في العالم .        

 

 

 

ماهي إيجابيات هذه التقنية :

 

1 - الاتصال الدولي المجاني بأي طرف حول العالم

2- التحدث بأكثر من طرف واحد وفي نفس الوقت

3- التكامل والتوافق بمعنى إمكانك المحادثة عبر الحاسوب والعمل في نفس الوقت مثلاً تصفح الانترنت والبريد الالكتروني أو العمل مع البرامج المختلفة .

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

5- مميزات أخرى لا حصر لها (مثل البريد الصوتي-توجيه مكالمة –مكالمة في الإنتظار-إظهار بيانات المتصل-حظر الإتصال-خدمة عدم الإزعاج…. )

 

 

 

 

==========================

===========

 

أتمنى أني وفقت ولو بشئ يسير في توصيل المعلومة….

        شكرا لصديقي خليل الزدجالي الذي كتب هذه المقالة

Read More

تعلم الجافا : ما هي البرمجة (Programming) ؟


ما هي البرمجة (Programming) ؟


البَرْمَجةُ هي مصدرٌ من الفِعل بَرْمَجَ ( يُبَرْمِجُ بَرْمَجَةً )،نعني بالبرمجةِ أن توضع خطوات وأوامر معينة لأداء غرض معين، ومجموع هذه الخطوات والأوامر تدعى برنامجاً(Program).
وعلى سبيل المثال برنامج يقوم بعمل عصير برتقال، هذا البرنامج بُرْمِجَ بأن يقوم بالخطوات التالية:
1-
أحْضر كأس فارغاً نظيفاً.
2-
ضع ملعقتين (حجمهما متوسط) من مسحوقِ عصيرِالبرتقال فيالكأس الفارغ.
3-
أملاء الكأس بالماءالبارد.
4-
حرِّك المزيج بواسطة الملعقة إلى أن يذوب مسحوق عصير البرتقال في الماء.

نتيجةً من هذا البرنامج هو كأس عصيربرتقال.

هذه الخطوات الأربع هي البرمجة التي بواسطتها يستطيع البرنامج عمل عصير البرتقال كما في مثالنا السابق.

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


إذاً ما هي البرمجة في الحاسوب؟ وما هي لغات البرمجة؟

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


اللغة التي يفهما الحاسوب تُعرف بِلُغَةْ البرمجةوهي:

لغة مصطنعة تكتب بها الأوامر التي يُطلب إلى الحاسب تنفيذها، وتتسم معظملغات البرمجة المستعملة الآن بأنها ذات تراكيب لغوية محدودة سينتاكس و دلالات (سيمانتكس ) ضيقة

ولا تتيح لغات البرمجة المصطنعة حرية التعبير كما في اللغات الطبيعية كالعربية والإنجليزية. (مجمع اللغة العربية).

الحاسوب عبارة عن جهاز رقمي لا يفهم - في الأساس - إلا شيئين 0 و1 (مرور تيار كهربائي1 أو عدمه 0).

ففي بدايات الحاسوب كان التخاطب معه مبنياً على رقمين (0 و1) والذييسمى بلغة الآلة
( Machine language ) وهي

لغة صعبة الحفظ ومعقدة لأبعد الحدود فكل شيء يمثل برقمين فقط، لذلك عُمِلَتْ لغة أسهل من لغة الآلة من ناحية الحفظ والتعامل وأقرب قليلا للغات البشرية وقد سميتبلغة التجميع

Assembly Language

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

ومع إزدياد متطلبات الحاسوب وتوسع المشاريع المقامة عليه كان لا بد من عمل لغة أسهل في التعامل لأقرب من لغة الإنسان فكانت أول لغة برمجة من المستوى
العالي هي لغة فورتران
( Fortran )

ومن ثم تطورت لغات البرمجة وأُدْخِلت فيها التعديلات والتسهيلات وهناك المئات من اللغات البرمجية المشهورة وغير المشهورة.

إذاً هنالك العديدة من اللغات التي يفهما الحاسوب والتي من خلالها يستطيع المبرمج أن يعمل برنامجه ومن أهما:


  • Java
  • C++
  • Delphi
  • C#
  • Paython
  • إلخ….


وهنا حديثنا مختص بلغة البرمجة جافا(Java).


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

كتبها ودقق عليها كل من (حسن عمر المرهون ، خالد المعمري ، علي اللواتي)

Read More

popular posts of OmanDev

Well this post should had came on the new year 1st Jan, but I am too lazy to do this kind of things in their time :) , just now i felt like i am too late so lets do it.

In this post i will list the most popular posts of Omandev (based on google analytics most visited posts) not only for 2008, but also for its entire life cause Omandev started few months before 2008 specificlly in jul 2007. so this time i am covering all the period from jul 2007 til today.

Since the blog still don’t have a lot of posts, it has around 55 posts in english, and 24 posts in arabic, the top posts i will list will be 5 from the english posts and 2 arabic posts, so here we go.

in arabic blog

Read More

أفضل تدوينات مطوروا عمان

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

في هذه التدوينة سأعرض افضل التدوينات ( حسب عدد زيارة الصفحة المسجلة في الجوجل اناليتيكس لدينا) لتدوينات المدونة لعام منذ بداية المدونة الذي كان قبل 2008 بعدة أشهر ،بالتحديد يوليو من 2007
كون المدونة مقسمة إلى مدونتين عربية و انجليزية و كون العربية تحتوي على بضع و عشرون تدوينة و الانجليزية تحتوي على بضع و خمسون تدوينة سأعرض افضل تدونتين للعربية و افضل خمس تدوينات للقسم الإنجليزي من المدونة

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

المدونة الإنجليزية

Read More