أخبار برمجية غير مهمة 1

الخميس 19 أغسطس 2010

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

Alex Payne المبرمج الشاب الذي تزوج حديثاـ والمسؤول عن البنية التحتية ل Twitter API منذ بدايتها، استقال من العمل (اعترف أنه كان قرارا صعبا)، واتجه لتطبيق جديد يعتقد البعض أنه سيكون ثورة جديدة في خدمات البنوك عبر الأنترنت، اسم التطبيق والذي لا يزال قيد التطوير هو banksimple، المبرمج Alex قال أنه سينقل كل خبراته وتجاربه للشركة الجديدة، والتي وظفت بعض المبرمجين الشباب من SF و Portland، لست متأكدا من الللغة المستعملة في التطبيق، لكنها بالتأكيد ستكون مزيجا من Ruby و Scala، أو Rails و Lift إذا ما استعملوا إطار عمل Framework.

بالحديث عن لغة البرمجة Scala، عرفت أن الموقع الشهير Foursquare يستعمل الإطار Lift، في البداية كان موقع foursquare يتعمد على PHP، بطريقة بدائية وأكواد مبعثرة  غير نظيفة (من برمجة شاب هاو غير معروف)، ثم بعدما اشتهر الموقع وتم ضخ الاستثمارات فيه، أعيدت برمجته بالإطار الآنف الذكر، الذي يعتمد على لغة البرمجة Scala، وقد تم ذلك على مراحل بلغت في مجملها 6 أشهر (ومن طرف مبرمج واحد @harryh)، ودائما في نفس الموضوع وعندما سألت المبرمج Alex Payne عن الإطار الذي ينصحني بتعلمه ما بين Django و Rails فكانت إجابته: تعلمهما معا وألق أيضا نظرة على الإطار Lift، كان جوابا غير مباشر منه أنه سيكون من الأفضل لو تعلمت Lift, وإقرأ ما كتبه Rasmus Lerdorf عن الحماية والأمان في موقع Foursquare (لاعتماده على Lift أولا وأخيرا).

Github لمن لا يعرفه تطبيق لمشاركة الأكواد والمشاريع، العمل الجماعي، والمساهمة في مشاريع أخرى مفتوحة المصدر، يعتمد الموقع على Git (نظام لادارة الملفات أكثر خصائص وأسرع من SVN)، يمكنك تطوير مشاريعك بنظام تعدد النسخ، مشاركتها مع مبرمجين آخرين، وضعها للتحميل … الخ  مباشرة من سطر الأوامر، (لمستخدمي Windows استعمل msysgit) . مؤسس الموقع Chris Wanstrath شاب في 24 أو 25 من عمره، مبرمج Ruby/Pyhton … ولغات أخرى، يبدو أن مشروعه الذي انطلق قبل سنتين قد نجح بالفعل، فأرباح الشركة (المكونة من فريق صغير جدا يعملون بطريقة غريبة قد أتحدث عنها في مناسبة أخرى) في ازدياد، وقبل أيام قليلة اطلق الموقع خدمة جديدة للوظائف وفي ظرف أسبوع، تخطت الأرباح 60 ألف دولار، أشير إلى أن المبرمج الشاب الذي يبدو مثل قس هولندي بلحيته الصفراء الكثيفة، يوظف أمهر وأذكى المبرمجين في فريقه، أحدهم باع خدمة Gravatar لشركة WordPress وآخر هو Scott Chacon الشخص الأكثر خبرة في نظام Git ومؤلف كتاب Pro Git.

لا أعرف الكثير من الأسرار عن شركة 37signals لكن لدي موقف من Jason Fried بسبب طريقة تعامله مع  وسائل الإعلام، فهو لا يترك أي فرصة للشهرة كإجراء حوار أو مقابلة، لكن بعد أن يعطيك الموافقة، قد يغيره موقفه بسرعة ويخبرك انه مشغول جدا وقد لا يتمكن من الرد إلا بعد أسابيع طويلة، في حين شريكه David Hasson الذي أجربته معه مقابلة قصيرة منذ أيام، شخص متواضع سهل المنال، ولا يحب المال كما يحبه Jason ، يبدو أن الشركة تجني الكثير من الأرباح وهي توظف مزيدا من الاشخاص من حين لآخر (علما أن فلسفة الشركة هي البقاء صغيرا ما أمكن).

إن أعجبتكم هذه الأخبار الطريفة (والصحيحة بنسبة 99% فلدي مزيد منها).

أسئلة إلى David Hansson مبتكر الإطار Rails

الجمعة 13 أغسطس 2010

لقاء سريع مع مبتكر إطار العمل Rails الدانماركي David Heinemeier Hansson ومؤسس شركة 37signals مع المقاول Jason Fried، شركة 37signals معروفة بمنتجاتها وأفكارها التي غيرت الكثير في صناعة الأنترنت وتطبيقات الويب.

ما هي Rails في جملة مختصرة؟

أداة لصنع أي نوع من التطبيقات، ك Basecamp أو Twitter أو Yellow Pages.

كيف تساعدني Rails في بناء وإنهاء تطبيقاتي؟

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

هل تعتمد Rails على فلسلة أو مفهوم معين؟

Convention over Configuration يعتبر أهم مفهوم نعتمد عليه، لا يجدر بك التفكير في الأشياء التي يقوم بها معظم الناس في معظم الأوقات.

مواقع شهيرة تعتمد Rails؟

Twitter, Groupon, Basecamp, Yellow Pages, Hulu.

هل يمكن تعلم Rails دون المرور على Ruby أولا؟

يمكنك تعلمهما معا في نفس الوقت.

مجتمع Rails؟

قوي ورائع، والكثير من الناس المتحمسين الذين يبذلون الأفضل للإنجاز المهام.

Twitter تركت Rails لصالح Scala، هل هذا صحيح؟

لا،  Twitter تستعمل Scala في أجزاء من بينتها، تماما كما تستعمل Yahoo لغة C/C++ لنفس الغرض، نحن أيضا نستعمل القليل من Erlang في بعض تطبيقاتنا، الخلط بين التقنيات أمر جيد.

Rails3 ثابثة بما يكفي لاستعمالها في بناء التطبيقات؟

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

مستقبل Rails؟

متألق :)

روابط لتعلم Rails

الخميس 12 أغسطس 2010

كتب:

دليل استخدام Docs:

  • Ruby on Rails guides دليل مفصل ومرتب بالأمثلة، لاستعمال Rails في إنشاء تطبيقات ويب.

محررات IDE:

دروس مصورة Podcasts:

  • أشهر موقع مجاني لدروس Rails هو Railscasts

تنصيب Rails على Windows

الأربعاء 11 أغسطس 2010

هذا درس مبسط يشرح طريقة تنصيب إطار العمل الشهير Rails لمستخدمي Windows، معظم المطورين ممن يشاركون (أو مستخدمين عاديين) في تطوير Rails يقومون بذلك على منصة OS X أو *Unix، لذلك اختبارات الثبات Scale وحل المشاكل والأخطاء Debugging يستفيد منها بسرعة أكبر مستعملي هذه الأنظمة. في حين يبقى لمستعملي Windows القبول بما هو متوفر أو الانتقال الى OS X الذي لا يكاد يفارق كل مبرمج يستعمل Ruby أو الإطار Rails

الوقت المحتمل لتطبيق الدرس: من 5 إلى 10 دقائق

الأدوات التي يجب توفيرها:

  • RubyInstaller أسهل وأسرع طريقة لتنصيب Ruby على نظام التشغيل Windows (سنستعمل الإصدار 1.8.7 في هذا الدرس، يمكنك أيضا استعمال الإصدار 1.9.1 المتوافق مع الإصدار Rails 2.3.8)
  • حزمة RubyGem لتنصيب Rails وتطبيقات Ruby الأخرى
  • Sqlite لادارة قواعد البيانات، يمكن استعمال Rails مع أنواع أخرى: MySQL, MangoDB, Cassandra ..

تحميل الأدوات:

مراجعة قبل البدأ:

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

rubyinstaller-1.8.7-p299.exe
rubygems-1.3.7
sqlite3.def
sqlite3.dll
sqlite3.exe

تنصيب Ruby:

قم بتنصيب rubyinstaller بشكل عادي، مع وضع علامة على الخيار الاول كما في الصورة:

بعد انتهاء التنصيب، يمكننا القيام بتجربة سريعة للتأكد انه تم التنصيب بنجاح وتمت اضافة Path الى Environement، مع ملاحظة أنه يمكن إضافة Path يدويا:

C:\Ruby187\bin;

إذهب الى Start ثم Ruby 1.8.7-p299 ثم Start Command Prompt with Ruby واكتب السطر التالي:

ruby -v

سيظهر رقم الإصدار الخاص ب Ruby:

(ان كنت تستعمل حزمة مثل xampp يمكنك كتابة: php -v لمعرفة رقم الإصدار المستعمل في الحزمة)

تنصيب RubyGems:

RubyGems يأتي ضمنيا مع RubyInstaller، لذا يمكنك تجاوز هذه الفقرة، والانتقال الى تنصيب SQlite. ان كنت تستعمل إصدارات أقدم، سيكون عليك التحديث update ولعمل ذلك زر موقع RubyGems

بالنسبة لمجلد RubyGem وبعد فك الضغط، يمكنك وضعه في أي مكان، شخصيا وكي اصل إليه بسرعة، أضيفه إلى المسار: C:\Ruby187
(أنقل المجلد rubygems-1.3.7 إلى هذا المسار)
الان ودائما في نفس النافذة Command Prompt، سننتقل الى المكان الذي وضعنا فيه المجلد:
اكتب:

cd ../..

المؤشر أصبح الان في المسار C:\

ثم ننتقل الى المجلد rubygem عبر الأمر cd:

cd ruby187
cd rubygems-1.3.7

المسار الذي يجب ان تكون فيه في هذه الخطوة هو:

C:\Ruby187\rubygems-1.3.7>

مع ملاحظة أن المسار قد يختلف حسب المكان الذي وضعت فيه المجلد rubygems-1.3.7

لتنصيب RubyGem نكتب الأمر التالي:

ruby setup.rb

ان تم التنصيب بنجاح ستحصل على الرسالة:

RubyGems installed the following executables:
C:/Ruby187/bin/gem

تنصيب SQlite:

قم بنسخ الملفات الثلاث التي تبدأ ب sqlite والتي حملناها أعلاه، الى المجلد:

c:\ruby187\bin

سنستعمل gem لتنصيب SQlite مع Ruby:
في سطر الأوامر دائما (المستعمل من قبل) اكتب السطر التالي:

gem install sqlite3-ruby

ان تم التنصيب بنجاح, ستظهر لك رسالة تبدأ بهذا السطر:

Successfully installed sqlite3-ruby-1.3.1-x86-mingw32
1 gem installed

تنصيب Rails:

سنستعمل gem لتنصيب الإطار Rails، في نفس سطر الأوامر نكتب:

gem install rails

انتظر دقائق قليلة وستظهر لك الرسالة التالية:

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

رمضان كريم

الثلاثاء 10 أغسطس 2010

كل عام وانتم بخير.