الاثنين، 8 أغسطس 2011

شواغر للعمل في الإبداع العربي


مؤخرا قمت و صديق لي بتأسيس شركة في الأردن إسمها الإبداع العربي و نحن نبحث الأن عن شابين حديثين التخرج للإنضمام لفريق العمل يجب أن تتوافر لدى الشباب المهارات التالية
  • القدرة على حل المشاكل و التفكير المنطقي.
  • إتقان مبادئ البرمجة الأساسية.
  • الإلمام بمبادئ البرمجة الكائنية التوجة OOP.
  • المعرفة بالدوت نت تعطي أفضلية بالتوظيف.
  • المعرفة ببرمجة الأيفون تعطي أفضلية بالتوظيف.
 علماً أن من يجتاز المقابلة سيخضع لفترة تجربة وتدريب لمدة ثلاثة أشهر.
فعلى من يرى بنفسه القدرة إرسال سيرتة الذاتية على العنوان التالي omar.qadan[YouKnowWhat]gmail.com


الأحد، 7 أغسطس 2011

التدوين المصغر ومشكلة سيل المعلومات

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

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

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

الثلاثاء، 2 أغسطس 2011

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

قام أخي عماد العشي بنشر الحلقة ٢١ من دوت نت عربي و التي يستضيف فيها الرائع محمد المليجي ليتكلم عن distributed source controls مثل git و mercurial و أنصح بالإستماع لهذه الحلقة حتى من مستخدمي التقنيات الأخرى (غير دوت نت ) لأنهم سيجدون فائدة فيها إن شاء الله.

الاثنين، 1 أغسطس 2011

أي تقنية أستخدم لأبني تطبيقي



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

  • المتطلبات التقنية : الثلاث تقنيات تمتلك القدرات الكافية لبناء التطبيق الذي أريد فأنا لا أتوقع الوصول إلى أكثز من  ١٠٠ ألف مستخدم خلال السنوات الثلاث أو الأربع سنوات التالية.
  • نأتي للكلفة : في حالة الجافا بإمكانك التطوير بأدوات مجانية لكنني أحتاج لخبراء في اللينكس و الخادمات الخاصة بالجافا لأني لا أعرف شيئاً عنها ، أما في المصادر المفتوحة فهي مجانية و يفضل إختيار تقنية مجتمعها كبير و ضخم كي لا تحتاج دعما مدفوعا ، و في حالة الدوت نت فمايكروسوفت تقدم لك حسابا للشركة أو حساب مطور يقدم لك مجموعة ضخمة من البرامج و أدوات التطوير مع الدعم مجاناً لمدة ثلاث سنين بعد ذلك أنت بحاجة إلى دفع حساب msdn بالإضافة إلى كلفة بيئة تشغيل الخدمة أو بإمكانك إستخدام مكتبة ASP.Net MVC المفتوحة المصدر و أدوات mono develop و عندها تستطيع تشغيل دوت نت على لينكس و هناك مشرع ناجح عمل بهذه الطريقة و هي ماي سبيس.
  • الموارد البشرية : و هنا أنا أتكلم عن الوضع في الأردن و نسبة الدخول بين هذه المجتمعات في كل من الجافا و المصادر المفتوحة هناك عدد أقل من التقنيين و بالتالي فمعدل دخولهم أكبر نسبيا أما في حالة الدوت نت فأنت تستطيع الحصول على تقنين بكافة المستويات بدئا من طلاب الجامعات حتى المتقدميين في الخبره فعددهم أكبر نسبيا من التقنيات الأخرى بالأردن. 
النتيجة سأحتاج لحساب الكلفة بعد ثلاث سنوات المجانية في حال أخترت تقنيات مايكروسوفت المدفوعة و إن كنت أرى أن الأفضل بهذه الحاله إستخدام mono وتشغيل برنامج الدوت نت على لينوكس  



الثلاثاء، 7 يونيو 2011

حلقة دوت نت عربي رقم ١٩

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

الاثنين، 16 مايو 2011

إدارة المكتبات البرمجية NuGet

ربما إحدى أهم المميزات التي تعجب المطورين الذين يستكشفون عالم لغة روبي هي عملية إدارة المكتبات البرمجية في نظامك فهناك ما يسمى بال Gem وهي  كال package في جافا أو DLL في الدوت نت حيث هناك موقع واحد يحتوي أحدث المكتبات التي تحتاجها وهو يدار من قبل مجتمع مطوريي روبي و هو موجود على هذا الموقع http://rubygems.org/.

nuget-229x64

لذا حاول الكثيرين نقل هذه التجربة لعالم دوت نت و كان هناك مشروع مثل HornGet الذي كتبت عنه في مدونتي الإنجليزية آو مشروع آوبن راب OpenWrap و مشروع نو Nu وهذا الأخير كان نال إعجاب العديد من مطوري الدوت نت لذا قامت مايكروسوفت بتوظيف الفريق القائم على المشروع و وضع المشروع تحت مظلة CodePlex.org و تم إعادة تسميتة بعد الإطلاق ب Nu Get.

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

كيف يعمل NUGET

  • قم بزيارة الموقع التالي http://nuget.org/ و إضغط على هذا الزر installnugetسيقوم يتحميل إضافة تعمل على أ نسخة من الفيجوال ستديو 2011
  • الأن قم بإنشاء مشروع جديد من File=> New => Project  و إختر Console Application و إختر الإعدادات كما يلي.nuget1
  • تم من Solution Explorer تقوم بإختيار المشروع الذي أتشأته و تختار Add Library Package Reference كما يلي .nuget2
  • فيخرج لك الصندوق التالي إختر Online من يسار الصندوق ثم إبحث عن المكتبة التي تريدها تم إضغط Install فسيتم إضافة المكتبة في ال Referances الخاصة بمشروعك وكمثال أنا قمت بإضافة NLog أداة تعقب سير عمل البرنامج المعروفة.nuget3
  • الطريقة الأخرى لتنزيل المكتبة هو بالذهاب إلى View => Other Windows => package manager console فستظهر لك نافذة بأسفل الفيجوال ستديو و هي سطر أوامر للتعامل مع NuGet كما في الشكل التالي.nuget4

هكذا هو سطر الأوامر وهو يوفر طريقة أسهل لمن يفضلون سطر الأوامر حيث يتضمن ميزة إكمال الأوامر عندما تنقر علر زر Tap في الكيبورد.

image

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

السبت، 30 أبريل 2011

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


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

ثم دار علي الزمان و أقنتنيت جهاز ماك بوك برو Mac Book Pro و هو يعمل بنظام MAC OS X، لأكون منصفا فالجهاز ورائع و القدرات الرسومية في نظام تشغيلة أكثر من قوية ورائعة وهو مالا يستطيع أن ينكره أحد لكن عندما أعمل على جهازي لا أريد أن يوقفني نظام التشغيل عن مل أي شئ أذا كنت تقتني جهاز يعمل علية ماك أو أس ستعرف ما أقصده .

اليوم مثلا كنت أريد أن أعيد تسمية ملف قمت بتحميله من الإنترنت تتفاجئ أنك لن تجد أمر إعادة تسمية في قائمة أوامر النقرة اليمين من الماوس و لا يوجد هذا الأمر في برنامج فايندر Finder و هو الشبية بمستكشف ويندوز  Windows Explorer !! فماذا سأفعل ؟ بحثت فوجدت طريقة لعمل ذلك في هذه التدوينة لكنها لم تعمل معي لكني أستفتد من التعليقات التي قالت أن كل ما تريد هو إختيار الملف المراد إعادة تسميته ثم أضغط زر الرجوع Enter كي تتمكن من إعادة تسميته.

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


حقا أريد أن أفهم لما السير في عكس أساليب الإستخدام في ربما ٨٠ ٪ من برامج العالم ؟!!

يبدو أن رحلتي معه ستكون مؤلمة بلا شك :s