>> جبرائیل GUIMARAES: یہ CS50 ہے.
حیرت انگیز ویب اطلاقات میں خوش آمدید پٹریوں پر روبی کے ساتھ.
تو کسی کے لئے جو ویب میں دلچسپی ہے ترقی کرنے اور ویب سائٹس، ویب
ایپلی کیشنز، پٹریوں پر روبی یہ ہے حیرت انگیز آلہ ہے کہ ٹویٹر، GitHub،
Groupon، اور بہت اچھا کے تمام قسم کے، اور بڑے، ویب ایپلی کیشنز میں استعمال کر رہے ہیں
گزشتہ چند سالوں کے.
اور یہ ایک بہت، بہت اچھا ہے نمایاں کریں، ڈاؤن لوڈ، اتارنا کا آلہ،
یہ نئی ہے کیونکہ.
تو یہ نیا طاقتور کے تمام ہے ٹیکنالوجی میں سے ایک میں شامل کر لیا
آپ کے ساتھ نمٹنے میں مدد ملتی ہے کہ فریم ورک حیرت انگیز چیزیں کے تمام قسم کے.
>> لیکن ایک فریم ورک کیا ہے؟
تو ایک فریم ورک کے بنیادی طور پر ہے تخلیق کرتا ہے کہ کچھ -
آپ کو ایک ویب سائٹ شروع کرنے پر، تو آپ کو شروع کر دیا شروع سے، طرح آپ کو کھولنے
وہاں سے gedit، اور آپ کے تمام کوڈ کے لئے چاہتے ہیں آپ کے اپنے HTML، اور کوڈ کے تمام
پی ایچ پی، آپ سی ایس ایس کے تمام، سب کچھ شروع سے -
یہ صرف بہت کام ہو رہا ہے.
اور ایک فریم ورک لفظی آپ کو دیتا ہے ویب سائٹ کے نصف پہلے ہی کیا.
تو آپ نصف ایک ویب سائٹ کے ساتھ شروع کہ آپ کے لئے وہاں سب کچھ ہے.
ڈیٹا بیس کنکشن کی طرح، اور تمام آپ کو فکر کرنے کی ضرورت ہے کہ چیزوں کی قسم
آپ اسے شروع سے کر رہے ہیں کے بارے میں، آپ کو ان کے بارے میں فکر کرنے کی ضرورت نہیں
کم سطح تفصیلات.
>> لیکن آج ہم میں سے ایک برآمد کرنے کے لئے جا رہے ہیں ویب سائٹ کے اس کے اساتذہ
2017 کی کلاس شاید واقف ہیں.
تو اس ویب سائٹ کے ویب سائٹ ہے کہ میں موسم گرما میں ہماری کلاس کے لئے کیا.
یہ ہے جہاں طالب علموں کو ایک ویب سائٹ پر کیا گیا تھا 2017 کی کلاس میں لاگ ان کریں اور کر سکتے ہیں
ایک دوسرے کے ساتھ بات چیت.
اور پھر یہ ایک نقشہ ہے -
لوگ کہاں ہیں سب،.
اور ہم ایک گانے، نغمے کھیل، ایک کتاب کھیل تھا ہم لوگوں کو گانے، نغمے کو دیکھا اور جہاں
لوگوں کی کتابیں.
وہ پڑھنے کے لئے پسند کیا، کیا وہ سننا پسند.
اور اس کا سب سے دلچسپ حصہ ہے یہ لفظی مجھے تین گھنٹے لیا
اس کا تمام کوڈ کے لئے.
کیونکہ میں سے سب کچھ کرنا تھا تو gedit کے کھولنے کی طرح شروع،، یہ
شاید لیا جائے گا مجھے 20، 30 گھنٹے.
لیکن روبی کے ساتھ پٹریوں پر، کیونکہ سب کچھ پہلے سے ہی میرے لئے قائم کیا گیا تھا،
یہ صرف، مجھے تین یا چار گھنٹے لیا یا اس طرح کچھ.
>> تو پٹریوں پر روبی کیا ہے.
روبی پٹریوں پر، دوبارہ کے طور پر ہم نے پہلے ہی انہوں نے کہا کہ، ایک فریم ورک ہے.
یہ ایک فریم ورک کی ایک تصویر ہے.
تو آپ کی تعمیر شروع کرنے جا رہے ہیں ایک گھر، آپ نے پہلے ہی سے نصف ہے
گھر کیا.
اس فریم ورک ہے.
اور پٹریوں پر روبی ہے بالکل اس طرح.
اور تم شروع، کے طور پر اس کے بارے میں سوچنا چاہئے ایک ویب سائٹ، آپ کو آپ کے ویب شروع
درخواست، ہم نے پہلے ہی ہے اس میں سے نصف وہاں کیا.
لیکن سب سے پہلے، روبی کیا ہے؟
پٹریوں پر روبی ماڈل دیکھیے استعمال کرتا ہے پیرا میٹر ہے جس میں کنٹرولر،، جس میں
ایک بہت دلچسپ ہے -
اور آج کل کی ایپلی کیشنز کی تمام اس طرح کچھ کا استعمال کرتے ہیں.
میں چیزیں الگ کے اس خیال تین حصوں، ماڈل، دیکھیں، اور
کنٹرولر.
ہم ایک چھوٹی سی بات کرنے جا رہے ہیں بعد میں اس کے بارے میں مزید.
>> سب سے پہلے، روبی کیا ہے؟
تو یہ روبی ہے.
اور اس کی علامت ہے روبی نامی زبان بدلیں.
روبی تشریح newish میں سے ایک ہے زبانوں، تو سکرپٹ.
اسے مرتب نہیں ہے کہ ایک زبان کی سی طرح اسے چلانے پر مرتب کی ہے.
تو یہ اچھی بات ہے، کیونکہ صرف پی ایچ پی کی طرح، مثال کے طور پر بھی تشریح ہے، ہے
مرتب نہیں.
اس پورٹیبل کیونکہ یہ اچھی بات ہے.
تو کیا تم صرف کی طرف سے آپ کے کوڈ کو منتقل ایک مشین.
ایک لینکس مشین سے، ایک ونڈوز میک یا ایپل کی مشین، یا مشین،
اس طرح کچھ.
اور آپ کے بارے میں فکر کرنے کی ضرورت نہیں مخصوص میں سے ہر ایک کے بارے میں تفصیلات
آپریٹنگ سسٹم.
یہ ہر جگہ کام کرنے کے لئے جا رہا ہے.
>> اور روبی ہے کہ ایک زبان ہے -
تم لوگوں کو شاید یہ یاد رکھنا.
لوگ لاگو ہیش تقریب کا استعمال کرتے ہیں ہیش کی میز کے لئے C میں
گزشتہ ہفتے اور تمام طرح تھا انقطاع گناہ.
اور پھر چیزوں کے بارے میں فکر اس سٹرنگ میں وہاں، سٹرنگ میں
یہاں، اصل میں چھوٹے یا گیا تھا بڑے، یا تشویش کے ان قسم
کم سطح تفصیلات.
ویسے روبی میں، اگر آپ چاہتے ہیں کو لاگو کرنے کے ایک ہیش میز، یہ بالکل کہ آپ کس طرح ہے
ایک ہیش ٹیبل بنانے کے.
آپ کا کہنا ہے کہ،، اس کے نام ڈکشنری ہے میری متغیر کی، = "Hash.new".
اور پھر لغت ["FOO کو"]، اور جب میں ہوں میری ہیش کی میز پر FOO کو انہوں نے مزید کہا، میں ہوں
صرف FOO کو ہے کہہ.
>> اور پھر میں چاہتا تھا چیک کرنے کے لیے اگر FOO کو تھا، میں صرف کا کہنا ہے کہ
لغت ["FOO کو"] == سچ واپس سچ.
واہ، اور یہ کہ آپ ہیش کی میز ہے.
اس پر عمل درآمد ہے روبی میں ہیش ٹیبل کے.
تو سب وہ کر سکتے ہیں کی خواہش آخری کے لئے روبی کی طرح کچھ کا استعمال کیا ہے
ہفتے کی pset کے، ٹھیک ہے؟
ہم چاہتے ہیں کے لئے وجوہات کی ہر قسم کی ہے روبی کی طرح ایک زبان استعمال کرنے کے لئے.
روبی جواہرات ہے.
منی ایک قسم کے لئے ایک نام ہے روبی کی الئبریری کی.
>> دلچسپ خصوصیات میں سے تو تمام قسم کے آپ کر سکتے ہیں، مثال کے طور پر، اگر میں
میری درخواست ضم کرنے کے لئے چاہتے ہیں.
یہ ہارورڈ 2017 درخواست فیس بک پر شامل کیا گیا تھا.
تو آپ کے ذریعے، میں لاگ ان کر سکتے ہیں فیس بک، اپلی کیشن.
آپ کو ایسا کرنے کے لئے جا رہے ہیں اگر ایسا ہے تو، آپ ایسا نہیں کرتے کچھ بھیجنے کے بارے میں فکر کرنے کی ضرورت
HTTP کے فیس بک کی درخواست، اور انتظار جواب کے لئے، اور مجبور
جواب، اور بلاہ، بلاہ، بلاہ.
تم نے صرف منی ڈاؤن لوڈ، اتارنا آپ کے لئے یہ سب کرتا ہے.
اور پھر آپ کی ضرورت نہیں ہے یہ سب کے بارے میں فکر.
>> مدد اور اس کے بعد بہت آن لائن، کورس کی.
بہت سے، بہت سے، کئی ویب سائٹس ہیں جو کہ دونوں کے ساتھ آپ کی مدد کرنے جا رہے ہیں
روبی اور پٹریوں کے ساتھ.
اور اس کے کوڈ کے لئے بہت مزہ ہے.
آپ فکر کرنا بند کر سکتے ہیں، بالکل کیونکہ ان اتنا مزہ نہیں مسائل کے بارے میں.
پسند ہے تو کچھ چھوٹے یا اوپری کیس، اور پھر یہ کیوں ہے
آپ کو ایک انقطاع غلطی دے، اور تم واقعی بہت میں کودو کر سکتے ہیں
دلچسپ چیزیں.
واقعی ڈاؤن لوڈ، اتارنا کے مسائل میں کودو.
>> تو روبی کو صرف ایک معنی میں کرنے کے لئے سی کی طرح ہے.
تو یہ ہے کہ نہیں ہے اصل میں ایک چھلانگ کی بڑی.
تو اس روبی میں ہمارے پرنٹ اپلی کیشن ہے، کہتے ہیں.
میں، تم بھی پرنٹ استعمال کر سکتے ہیں لگتا ہے لیکن رکھتا سب کا استعمال کرتا ہے.
تو "ہیلو دنیا" رکھتا ہے.
آپ کر سکتے ہیں، یا آپ کو، نہیں کر سکتے تھے encircling خانے
وہاں "ہیلو دنیا".
آپ کو صرف چاہے منتخب کر سکتے ہیں یا اس کا استعمال نہ کرنے.
اور پھر X = "1".
جبکہ لوپ خوبصورت لگ رہا ہے اسی.
یہ صرف کم نحو ہے.
یہ قسم کی کلینر ایک تھوڑا سا ہے.
اور پھر اگر X> 25 رکھتا "بگ!" اور کچھ "چھوٹے" رکھتا ہے.
اور یہ اس معنی میں سی کی طرح ہے.
>> آپ کو اس میں نظر آتے ہیں، تو آپ کر سکتے ہیں نقطہ نظر شاید سمجھ
چل رہا ہے کہ سب کچھ.
لیکن یہ زیادہ طاقتور ہے.
زیادہ طاقتور اس سے بھی زیادہ، کیونکہ، یہ چیزیں ہے کہ نہیں ہیں کر سکتے ہیں -
hackage تھوڑا سا کے کچھ قسم کی.
C میں آپ میں نہیں کر سکتا صرف ایک لائن کے ساتھ کیا.
مثال کے طور پر، "میں # {X} ہوں" رکھتا ہے.
قیمت ڈال کے لئے یہ صرف نحو ہے یہاں X، اور پرنٹ نہیں
کردار ایکس.
C میں آپ فیصد D کرنا پڑا، اور پھر اس کے بعد متغیر x ڈال
یہاں کوما، یا اس طرح کچھ.
>> اور روبی میں ایک آشلپی ہے صرف یہ ہے کہ ایسا کرنے کے لئے.
اور اگر آپ کر سکتے X> 3، اس رکھتا ہے، تو ڈال سب کو ایک لائن پر ہیں.
اور پھر ایک فہرست.
سی کی فہرست میں، ایک صف کی طرح، آپ کے لئے ہے آپ صف کتنا بڑا کے ٹریک یا رکھنے کے
دوسری صورت میں آپ کو ایک انقطاع حاصل غلطی.
آپ کے صف صرف ایک قسم ہے.
تو یہ یا تو چارج کی ایک صف ہے یا integers کے ایک صف.
اس صورت میں، میں یہاں ایک فہرست پیدا کہ سب سے پہلے ہے کہ ایک صف، ہے
عنصر، پھر جان ایک تار ہے، اور چار، دو - ان کے اعداد صحیح ہیں.
اور پھر میں،، فہرست میں شامل کریں بایاں زاویہ بریکٹ، بائیں
زاویہ بریکٹ، تین.
یہ صرف شامل مطلب میری فہرست کے لئے کچھ.
>> تو اس قسم کی زیادہ دلچسپ ہے کیونکہ ہے آپ کے طور پر اس کا استعمال کرنا چاہتا تھا
integers کے صرف ایک سادہ فہرست، تم، مکمل طور پر کر سکتے ہیں.
کہ مکمل طور پر ٹھیک ہے.
بس وہاں integers کے رکھ دیا.
لیکن آپ ہے کہ کچھ کرنا چاہتا تھا زیادہ مجبور، کہ ہے دیگر
چیزوں کو، کہ ہے -
مجھے پتہ نہیں، میں فہرستوں کے تمام قسم کے وہاں، یا اس سے زیادہ ہیں دیگر اشیاء
دلچسپ، آپ کو مکمل طور پر کر سکتے ہیں.
یہ مکمل طور پر ٹھیک ہے.
اور پھر آپ کے ذریعے iterate کرنا چاہتے ہیں تو فہرست، آپ استعمال کر سکتے ہیں
نقطہ نظر کی مزید C-ISH قسم.
کہ لوپ کے لئے ہے، آپ کو شروع کرنے کے لئے ایک متغیر، میں = "1"، یا میں = "0".
اور پھر آپ کو، جانا، اور iterate کے اور عناصر کے تمام حاصل کرنے کے لئے.
>> لیکن آپ بھی اس کا استعمال کر سکتے ہیں مزید روبی کی طرح نقطہ نظر.
وہ صرف ایک list.each کی طرح ہے.
یہ صرف مجھے واپس، کہہ رہا ہے فہرست کے تمام عناصر.
اور ہر عنصر کے ساتھ کیا، elem انہیں فون.
تو یہ میں ہوں کہ صرف ایک نام ہے ہر عنصر کے لئے دے.
اور اب یہ سب کے لئے دوبارہ کرنے جا رہا ہے عناصر، اور elem، یہ جا رہا ہے
ہم تک رسائی حاصل ہے کہ طریقہ وہ ایک عنصر ہے.
تو آپ کو مکمل طور پر رہنا کر سکتے ہیں سی نقطہ نظر، لیکن یہ بھی کام کرتا ہے.
اور یہ ٹھیک ہے، بالکل ایک ہی بات ہے.
>> اور اس کے علاوہ، یہ واقعی ہے، روبی اور ایچ ٹی ایم ایل میں ضم کرنے کے لئے بہت آسان
تم لوگ دلچسپی رکھتے ہیں، کے بعد سے ویب ایپلی کیشنز میں.
ایچ ٹی ایم ایل کو یقینی طور پر کچھ ہے کہ آپ کو ایک بہت استعمال کرنے کے لئے جا رہے ہیں.
اور یہاں آپ کو روبی کرنا چاہتے ہیں تو ایچ ٹی ایم ایل میں، صرف <٪، یہاں شروع.
یہی وجہ ہے کہ یہاں روبی شروع ہوتا ہے، کا مطلب ہے.
اور پھر٪>، قسم کی طرح اس معنی میں پی ایچ پی.
یہاں روبی آپ کر سکتے ہیں اس کے بعد ختم ہو جاتی ہے اور صرف یہاں میں آپ کی تو ڈال.
اور پھر میں نے کچھ متغیر ہے user.logged_in.
روبی میں، ہم عام طور پر یا تو، ان میں شامل تفتیش کے نشان یا فجائیہ
مارک، ایک بینک کے کردار کی طرح، صرف کی قسم پر
ہمارے افعال کے درمیان فرق.
لیکن آپ صرف یہ ہے کہ ڈال آپ خود کے لئے.
یہ تبدیلی ہے کہ کچھ نہیں ہے فعالیت میں کچھ.
>> تو صرف یہ ایک ہے کہ مجھے یاد دلانے کے لئے تقریب - اور روبی میں کام کرتا ہے،
بلکہ سی سے، میں نے پہلے ہی کہا، وہ قوسین کی ضرورت نہیں ہے.
تو اس بات میں کرنا، ہے ایک تقریب، یہ ایک طریقہ ہے.
لیکن اگر آپ کو واضح طور پر کرنے کی ضرورت نہیں وہاں قوسین ڈال دیا.
صارف کے وزٹرز کا ریکارڈ رکھا تو صرف پوچھ اور صارف کے وزٹرز کا ریکارڈ رکھا، اب
ایچ ٹی ایم ایل کو دوبارہ شروع ہوتا ہے.
تو خوش آمدید، اور یہاں میں user.name پرنٹ.
اور یہ کہ یہ ہے.
تو ہے کہ کس طرح، بہت براہ راست آگے ہے آپ کو آپ کے HTML کے ساتھ روبی ضم.
میں نے کہا اور وسائل،، ہیں روبی کے لئے وسائل کے تمام قسم کے.
تم لوگ اس کے بعد اس کو دیکھ سکتے ہیں کیونکہ ویڈیو، اور دونوں
سلائڈ، جا رہے ہیں آن لائن دستیاب ہو.
>> اور اب ریل میں حاصل کرتے ہیں.
ریل محبت ہے.
ریل -
تو روبی ان کی زبان ہے.
ٹھیک ہے، صرف پی ایچ پی کی طرح، صرف ازگر کی طرح.
یہ، سی ایک اعلی سطح کی زبان نہیں ہے سی کی ایک درمیانی، کم سطح کی زبان
روبی آپ کو ضرورت نہیں ہے کہ احساس میموری reallocation کے بارے میں فکر، اور
اشارہ، اور چیزوں کے ان قسم کے.
لیکن ریل اس پروگرام ہے کہ روبی میں لکھا گیا ہے.
اور یہ حاصل کرنے کے لیے، روبی کا استعمال کرتا ہے فریم ورک، آپ کے قابل ہو جائے کرنے کے لئے
خوفناک ویب ایپلی کیشنز کی تعمیر.
>> تو سب سے پہلے آپ پر روبی انسٹال کرنے کی ضرورت آپ کی مشین، لیکن سب سے زیادہ مشینیں
پہلے سے ہی ہے کہ.
اور پھر اس کے اوپر پٹریوں انسٹال.
ہم بعد میں اس بارے میں بات کرنے جا رہے ہیں.
اور کیوں ریل؟
تو MVC، کہ ماڈل دیکھیں کنٹرولر ہم ایک چھوٹی سی کے بارے میں بات
سا، کیونکہ سب کچھ آسان بنا دیتا ہے یہ وہ چیزیں ہیں جو تقسیم
مختلف میں تصوراتی مختلف آپ کی درخواست کے مختلف حصوں.
کم سطح کے مسائل پر خرچ کم وقت، پھر، اور بہت، بہت
ڈاؤن لوڈ، اتارنا حق اب.
میں دلچسپی رکھتے ہیں جو ان تمام لوگوں کے لئے تو شروع منظر، یا کچھ اور میں
کاروبار شروع کرنے، اور لوگوں کی طرح ہیں جو ٹیکنالوجی مارکیٹ میں
اب ان کے اپنے کاروبار شروع واقعی، روبی واقعی پرستار
یہ بہت تیز ہے کیونکہ پٹریوں.
>> تو آپ اپ اور چلانے کچھ حاصل کر سکتے ہیں میں ایک دن سے بھی کم، اور یہ کہ
واقعی ایک بہت مجبور روبی کو استعمال کرنے کی دلیل.
اور 4.0 پٹریوں -
اب یہ تندور سے بہت تازہ ہے.
تو 4.0 پٹریوں -
مجھے لگتا ہے کہ پہلے کی رہائی اس سال مارچ میں تھا.
اور یہ، یہ سب بہت اچھا کیا گیا ہے نئے، ڈاؤن لوڈ، اتارنا خصوصیات میں سے قسم.
تو پٹریوں پر روبی ہے کہ ایک فریم ورک ہے مسلسل سب کے لئے اپ ڈیٹ کیا جا رہا ہے
نئی ٹیکنالوجی کے.
>> میں روبی استعمال کرنے کی کوشش پہلی بار ریل، میں اس مصیبت تھی کیونکہ میں
میری پہلی ویب ایپلیکیشن پیدا، اور یہ بالکل اس طرح دیکھا.
تو اس کے لئے ان تمام فائلوں کی تخلیق کرتا ہے آپ، اور میں نے کیا کوئی اندازہ نہیں تھا -
یہ کیا ہے؟
یہ سب ان فائلوں کو پیدا، اور میں صرف ، ایک سادہ پروگرام تخلیق کرنے کے لئے کرنا چاہتا تھا ایک
سادہ ایچ ٹی ایم ایل کی ویب سائٹ.
اور میں نے بھی کچھ نہیں کر سکتے.
تو میں تھوڑا سا ابیبھوت کیا گیا تھا.
لیکن اس چیزوں میں سے ایک ہے کہ آپ کو ایک بار یہ سمجھ، سب کچھ تو ہو جاتا ہے
زیادہ واضح.
تو سب سے پہلے کی طرف سے ابیبھوت نہ ہو آپ سب سے پہلے میں پیدا کیا کی نظر.
>> تو کیا ہوتا ہے ریل کی تخلیق کرتا ہے ان تمام فائلوں.
تو اس میں سے ایک DOC، دستاویزات ہے.
DB، ڈیٹا بیس ہے کہ سے متعلق ہے.
لب، کہ لائبریریاں لاگ ان ہے.
عوامی، سکرپٹ، اور کچھ چیزیں.
بہت تمام آپ کو فکر کرنے جا رہے ہیں کے بارے میں اپلی کیشن فولڈر وہاں، ہے.
یہ پر مشتمل ہے فولڈر ہے آپ کی درخواست.
دیگر فائلوں کی تمام -
ان میں سے کچھ اہم ہیں، اور آپ ہیں بعد میں اس کے بارے میں جاننے کے لئے جا رہا.
لیکن وہ صرف یہاں ہیں فریم ورک پر مشتمل ہے.
گھر سے تو سب سے پہلے cornerstones میں تم لوگ ٹھیک، تعمیر کر رہے ہیں؟
>> لیکن اپلی کیشن فولڈر -
یہ واقعی اہم ہے.
اور اے پی پی کے فولڈر کے اثاثے ہیں.
اثاثے بہت زیادہ سب کچھ ہے کہ آ رہا ہے.
مثال کے طور پر کے لئے تصاویر، ہے کہ سب کچھ مستحکم ہے کہ ڈاؤن لوڈ کیا جا رہا ہے
اپنی ویب سائٹ پر.
تو تصاویر، جاوا اسکرپٹ، سی ایس ایس -
چیزوں کے ان قسم کے اثاثے ہیں.
کنٹرولرز -
ہم کے بارے میں مزید بات کرنے کے لئے جا رہے ہیں کنٹرولرز، ماڈل، ہیں
اور ایک دوسرے کے شعبوں.
اور مددگار افعال ہیں کہ آپ آپ کے کوڈ پر استعمال کر سکتے ہیں
آپ کو کچھ کرنے میں مدد کرنے کے لئے.
کی طرح کے افعال کے لئے، میں ریکارڈ مثال کے طور پر - user.loggedin.
یہی وجہ ہے کہ یہ شاید آپ کو ایک تقریب ہے آپ کے تمام حصوں میں استعمال کرنے کی ضرورت
درخواست.
تو اگر آپ کی طرح کچھ ڈال کر سکتے ہیں کہ آپ کے مددگار میں.
>> میل کرنے والوں کی -
آپ کو بھیجنے کے لئے جا رہے ہیں ہے آپ کے صارفین کو ایک ای میل، آپ
ایک میلر استعمال کرنا چاہتے ہیں.
اور ماڈل اور خیالات، ہم جا رہے ہیں اب اس حق کے بارے میں بات کرنے کے لئے.
تو ماڈل دیکھیں کنٹرولر، ہے پر روبی کے بنیادی بنیاد
ریل، اور سب سے زیادہ فریم ورک آج کل، ایماندار ہو.
تو پھر، ہم اپنے تمام کوڈ الگ تین مختلف حصوں میں.
ماڈل -
ماڈل بنیادی طور پر ڈیٹا بیس ہے.
یہ ڈیٹا بیس میں چیزوں کو ہینڈل.
>> تو ڈیٹا بیس میں ایک ٹیبل ایک ہے ماڈل کے اندر اندر فائل کی اسی.
تو یہ ایک ٹیبل کی طرح ہے آپ کے صارفین کے لئے.
تو آپ کی طرح کے بارے میں معلومات ذخیرہ کرنے کر رہے رکن کا نام، ان کی ای میلز، ان کے
پتہ، ان کے پاس، اور اس طرح کی چیزیں.
آپ کو ایک فائل میں جا رہے ہیں صارف RB کہا جاتا ماڈل -
روبی کے لئے RB.
اور وہاں آپ کو سب جا رہے ہیں طریقوں اور متغیر کی.
متغیر کے مطابق جا رہے ہیں صارف کا نام، ای میل، اور
سب کچھ.
>> اور آپ کے طریقوں جا رہے ہیں.
اس میں کچھ ہو جائے گا -
اگر آپ یہ معلومات ہینڈل کرنے جا رہے ہیں ڈیٹا بیس میں.
ریل کے ساتھ ایک ماڈل تخلیق کرنے کے لئے، آپ کو صرف ریل پیدا استعمال.
اور، ریل میں آپ چیزوں کو پیدا کرنے کے لئے اصل میں ٹرمینل کی ضرورت ہے.
تو یہ ایک بہت ہی ٹرمینل کی بنیاد پر فریم ورک.
تم بس ٹرمینل میں لاگ ان کریں، اور ریل، ماڈل پیدا کرتے ہیں.
اور ماڈل کے نام کے صارف ہے.
اور میں صرف دو متغیر کرنا چاہتے ہیں، میری ٹیبل میں دو کالم،.
تو اس کا ای میل ہے.
ای میل ایک قسم سٹرنگ ہے.
پاس ورڈ، پاس ورڈ ہے بھی ایک قسم سٹرنگ.
وہ صرف دو چیزیں ہیں.
یہ ایک سادہ صارف کی میز کی طرح ہے.
لیکن آپ کو مکمل طور پر ایک سو ڈال سکتے ہیں اگر تم چاہتے تھے بات ہے.
>> اور ریل کے علاوہ، یہ بہت ہوتا ہے سب کے لئے بہت آسان
ڈیٹا بیس کے تعلقات کی طرح.
تو عام طور پر، آپ میں ٹیبل ہے جب آپ ڈیٹا بیس، وہ بہت زیادہ نہیں ہیں
ایک دوسرے سے آزاد.
کے بارے میں سوچنا.
آپ کو خریدنے اور فروخت کرنے کے لئے چاہتے آن لائن مصنوعات.
ٹھیک ہے، تو آپ کو جہاں آپ کو ایک ویب سائٹ ہے مصنوعات کی خرید و فروخت کرنا چاہتے ہیں.
تو ہر صارف کئی مصنوعات کی ہے کہ اس صارف کو فروخت کرنے کے لئے تیار ہے.
اور ہر صارف بھی بہت سے معاملات ہیں جاری ہیں، یا یہ کہ
اس طرح کچھ.
اور لین دین کر رہے ہیں کسی دوسرے صارف کے ساتھ.
ہر ٹرانزیکشن سے تعلق رکھتا ہے دو مختلف صارفین کے لئے.
خرید اور ہے کہ صارف بیچ رہا ہے کہ صارف.
>> لہذا ان نام نہاد ہیں ڈیٹا بیس کے تعلقات.
اور ہم یہاں بالکل ان مطلوبہ الفاظ کی ہے، بہت سے ہے اور سے تعلق رکھتا ہے.
وہ سب سے زیادہ اہم ہیں.
اور تم صرف کے لئے، کا کہنا ہے کہ جا رہے ہیں مثال کے طور پر، یہ ایک مثال کے طور پر ہے
ہارورڈ 2017 کی ویب سائٹ میں ماڈل.
ایک بار پھر، یہاں کے طالب علموں -
ویب سائٹ، طالب علم پر ہر طالب علم ایک ماڈل، ایک ڈیٹا بیس کی میز ہے.
ہر طالب علم کئی کتابوں تھا آپ کی وجہ سے کہہ سکتے ہیں، آپ کے پسندیدہ ہیں
کتابوں، صحیح.
تو ہر کتاب سے تعلق رکھتا ہے یہاں ایک طالب علم کے نیچے.
اور قابل رسائی منسوب -
کہ صرف ان لوگوں کو، کہہ رہا ہے متغیر ہیں.
ان متغیرات قابل رسائی ہیں اس ماڈل سے.
اور متغیر کے مصنف ہیں کتاب، تفصیل، سٹائل، اور
کتاب کا عنوان.
تو صرف معلومات کتاب کے بارہ میں.
>> اور یہاں میں ایک طریقہ ہے کہ بس سب کچھ قسم.
یہ صرف ہے، تو وضاحت اور یہاں ختم کہہ، یہ ہے میرا طریقہ آتا ہے.
Self.sorted_all.
یہ صرف،، سب کچھ کے مطابق مجھے دے ہے اور یہ کہ آپ پر عملدرآمد کس طرح ہے
چھانٹ رہا ہے الگورتھم، جس میں کافی آسان ہے.
لیکن بنیادی طور پر، یہ ہے کس طرح ایک ماڈل ٹھیک ہے، کی طرح لگتا ہے.
کسی کے بارے میں سوال ہے اس ڈیٹا بیس بات؟
تعلقات؟
یہ واضح ہے؟
جی ہاں.
>> سامعین: آپ کر سکتے ہیں ترتیب الگورتھم؟
>> جبرائیل GUIMARAES: ترتیب الگورتھم، ٹھیک ہے.
آپ روبی نحو کے لئے استعمال کیا جب، یہ واضح ہو رہا ہے.
لیکن بنیادی طور پر، elems Book.all ہے.
تو کتاب میرے ماڈل کا نام ہے.
آپ کو ایک ماڈل بناتے ہیں تو، اس کے ساتھ آتا آپ کے لئے اچھا طریقوں کے تمام قسم کے.
تو dot.all ایک طریقہ ہے کہ تمام کتابیں واپس.
لیکن، تلاش مثال کے طور پر، کے لئے تلاش کریں گے ایک کتاب اور اس کتاب کو واپس، یا
اس طرح کچھ.
اور تو elems سب کچھ ہے.
اور میں صرف elems.sort کہہ رہا ہوں.
ترتیب ایک بلٹ میں روبی تقریب ہے.
>> اور، AB کرتے ہیں.
تو یہ دوبارہ ہے ہے -
آپ کو ترتیب دیں کرنے کے لئے جا رہے ہیں.
لیکن اگر آپ کو حاصل کرنے کے لئے جا رہے ہیں میرے لئے اس دلیل.
اور دلیل کا استعمال کرتا ہے - اس میں سے ایک ہے اصل میں روبی میں مشکل چیزیں،
یہ بات کرتے ہیں.
لیکن تم نے یہ سب کچھ سمجھ میں ایک بار بہت، بہت بدیہی آتا ہے.
تو AB، اس جگہ کہہ رہا ہے میں استعمال کرنے کے لئے جا رہا ہوں ہولڈرز - کی طرح
میں استعمال کرنے کے لئے جا رہا ہوں، متغیر، ہیں A اور B بلایا جا رہا.
اور وہ کتابیں ہیں.
>> ترتیب کا آپس میں موازنہ کرنے کی ضرورت ہے کی وجہ عناصر، وہ یاد ہے؟
تو آپ کو، آپ چیزوں کو حل جب دو عناصر کا آپس میں موازنہ.
میں کہنے جا رہا ہوں کہ ہر وقت آپ کا موازنہ کرنے جا رہے ہیں -
تو اس میں گزر رہا ہوں، ہے ایک دلیل کو حل کرنے.
اور دلیل سب کچھ ہے سے کیا ٹھیک ہے، پر اور یہاں؟
اور اس کی دلیل، صرف کہہ رہی ہے کا موازنہ کرنے کی طرح کس طرح.
ترتیب اسے یہاں کام، لیکن کے ساتھ موازنہ کریں گے ان
الگورتھم کا موازنہ ڈیفالٹ.
میں نے اسے ایک بہت ہی خاص میں آپس میں موازنہ کرنا چاہتے ہیں راستہ، یعنی، جب کتاب
، پیدا کیا گیا تھا جب ہر کتاب پیدا کیا گیا تھا.
>> تو میں کہہ رہا ہوں، سب سے پہلے نام کا کہنا ہے کہ کتاب کے ایک اور نام ہے
B کے طور پر دوسری کتاب، میں طرح حل کرنا چاہتے ہیں اس b.created_at کی بنیاد پر کچھ
عجیب علامت، a.created_at.
اور یہ عجیب علامت آشلپی ہے کے لئے ایک سے بڑا ہے تو
دیگر، واپس 1.
ایک کے برابر ہے دیگر، صفر کو واپس.
ایک سے چھوٹا ہے دیگر، واپس مائنس 1.
تو یہ عجیب نشانی ہے کیا ہے.
>> لیکن یہ ضروری نہیں ہے.
میں تم لوگوں کو حاصل کرنے کے لئے چاہتے ہیں، کا مطلب اب خیال ہے کہ ڈیٹا بیس ہے -
آپ وہاں ماڈل کر سکتے ہیں.
تو آپ کو فکر کرنے کی ضرورت نہیں ہے منسلک اور SQL بیان کا استعمال کرتے ہوئے،
اور اس طرح کی چیزیں.
یہ بھی کے دروازے بنا سکتے ہیں SQL انجکشن اور تمام
سیکورٹی کے مسائل کی طرح.
اس صورت میں، آپ ایسا نہیں کرتے اس کی فکر.
آپ کو صرف book.all طرح کے طریقوں کا استعمال کرتے ہیں.
اور،، کہ کورس کے پس منظر میں آپ کے ڈیٹا بیس کے لئے جا رہا، اور یہ ہے
ایک SQL بیان کو استعمال کرنے کے لئے جا تمام کتابیں حاصل کرنے کے لئے.
لیکن آپ کے لئے نہیں ہے اس کی فکر.
یہ ٹھیک، takeaway ہے ہے؟
>> اور تم ایک belongs_to بیان ہے جب اس طرح، کا مطلب ہے کہ
اگر آپ کو ایک کتاب اعتراض، آپ کے پاس ایک بار اس طالب علم ہے دیکھ سکتے ہیں.
تو جس کے طالب علم اس کتاب ہے؟
تو ہم صرف book.student استعمال، کر سکتے ہیں اور طالب علم کیا ہے آپ کو دیتا ہے.
اور یہ کہ ایک بہت حاصل کرنے کی خصوصیت ہے.
>> ٹھیک ہے، اب دیکھیں.
تو ماڈل انٹرایکٹ کیا ہے ڈیٹا بیس کے ساتھ، ہے نا؟
دیکھیں بنیادی طور پر ایچ ٹی ایم ایل، اور سی ایس ایس، اور کچھ جاوا اسکرپٹ کا.
اور یہ کہ کیا صارف ہے اصل میں دیکھتا ہے.
صارف نہیں ہے آپ کے ڈیٹا بیس کو دیکھنے کے.
انہوں نے سے کچھ اعداد و شمار کو دیکھنے کے لئے جا رہا ہے ڈیٹا بیس ناظر میں سرایت.
پٹریوں پر روبی واقعی اس کرتا ہے کھیتوں کرنے کے لئے آسان.
سب سے پہلے، یہ پہلے سے ہی اس کی تخلیق کی وجہ سے آپ کے لئے، باکس، ایک ترتیب سے باہر.
>> ایک ترتیب کے بنیادی طور پر ایک ایسی چیز ہے -
آپ کے صفحات کے سب سے اوپر پر ایک علامت (لوگو) ہے تو اور، میں، کچھ مینو جانتے ہیں یا نہیں
اس طرح کچھ، کہ آپ کے تمام صفحات میں مشترک ہیں، تو آپ ایسا نہیں کرتے
بہت سے، بہت سے، بہت سے ایچ ٹی ایم ایل پیدا کرنے کی ضرورت تمام فائلوں کو کہ ہے جہاں فائلوں
اسی HTML کوڈ.
میں آپ کو صرف ہو کیونکہ کہ گونگا مطلب مختلف فائلوں میں کوڈ کو بار بار.
یہ یقینی طور پر ایک اچھا نقطہ نظر نہیں ہے.
>> تو پٹریوں پر روبی کی تخلیق آپ کے لئے اس ترتیب.
اور یہ صرف میرے تمام صفحات، کہہ رہا ہے ، یہ HTML کرنے کے لئے اس کے سر پر جا رہے ہیں
یہاں عنوان، اور لوگ ہیں سٹائل شیٹ لنک ٹیگ.
یہاں اپنے تمام سی ایس ایس میں پلگ ان.
یہاں میرے تمام جاوا اسکرپٹ میں پلگ ان اور کچھ میٹا ٹیگ.
کہ وہ صرف کچھ ہے آپ کے لئے خود کار طریقے سے کرتے ہیں.
اور پھر، اب، سر ختم یہاں جسم شروع ہوتا ہے.
اور اب یہ میرا اصل مواد ہے.
میں کی طرح، ایک کچھ کرنا چاہتے تو اگر یہاں مینو، میں حق پر ڈال دیں گے
اس جگہ، یا اس طرح کچھ، اپنے صفحات کی یہ سب مشترکہ تاکہ.
تو ترتیب اشتراک کیا جاتا ہے تمام صفحات کی طرف سے.
>> اب یہاں یہ ہے کہ پیداوار کوئی، کا کہنا ہے کہ کیا معاملہ صفحات یہ صرف، میں ہے
اس کے مواد میں پلگ ان یہاں پیج، ٹھیک ہے؟
اور اب یہ، مثال کے طور پر، ہے جا رہا ہے کہ ایک صفحے کے مواد
اس پیداوار کے بیان میں پلگ خود کار طریقے سے پٹریوں کی طرف سے.
لیکن اس مشترکہ ترتیب ہے تمام صفحات کی طرف سے.
اور یہ ایک صفحے کی ایک مثال ہے.
اور یہ بالکل پیج ہے کہ تمام کتابوں کی فہرست.
تو یہ سب سے اوپر ایک بنیادی ایچ ٹی ایم ایل کی میز ہے.
تو کتابوں کی فہرست، ایک عنوان، مصنف، تفصیل، سٹائل.
>> اور یہاں ہم ایک بار پھر، کچھ، کا استعمال کرتے ہیں روبی نحو، @ books.each -
@ قسم کی ہے کہ آپ متغیر احساس میں عالمی ہے.
اس متغیر اصل میں تھا کنٹرولر میں اعلان کیا جس
آپ ابھی دیکھنے کے لئے جا رہے ہیں.
عطا کے لئے لیکن صرف لے کہ اس @ کتابوں کی ایک فہرست ہے کہ ایک متغیر ہے
کتابوں کی سب.
تو books.each،، اور پھر، یہ ہے صرف آپ کے نام کرنا چاہتے ہیں کس طرح کہہ رہے ہیں
iterators میں سے ہر ایک ہم نہیں ہے تاکہ چار کے بارے میں فکر کرنے کی ضرورت، int میں
بلاہ، بلاہ، بلاہ.
ہم صرف میں سے ہر ایک لے عناصر اور ان کا استعمال.
>> تو یہ کتاب ہے، اور پھر صرف پرنٹ یہاں. book.title، book.author،
book.description، اور بلاہ، بلاہ، بلاہ.
اور یہاں ایک LINK_TO ہے.
تو LINK_TO صرف ایک لنک ٹیگ ہے ایک صارف پر کلک کریں اور کر سکتے ہیں
کسی اور ویب سائٹ پر جاتا ہے.
LINK_TO، کہ خاص طور پر کتاب کو دکھانے کے.
تو صارف میں بہت دلچسپی ہے تو اس کتاب، تو وہ شو پر کلک کر سکتے ہیں.
یا وہ چاہتا ہے، میں ترمیم کریں پر کلک کریں کتاب میں ترمیم کرنے کی.
انہوں نے حذف کرنا چاہتے ہیں یا اگر تباہ ڈیٹا بیس سے کتاب.
ٹھیک ہے، کہ سمجھ میں آتا ہے ہے؟
اچھا.
>> آخر میں، کنٹرولر.
تو بنیادی طور پر کنٹرولر ہے کے درمیان انٹرفیس
ماڈل اور دیکھیں.
تو ماڈل کا حصہ ہے آپ کی ڈیٹا بیس ہے کہ کوڈ -
ڈیٹا بیس میں سے ہر ایک ٹیبل ہے میں متعلقہ فائل
ماڈل، اور اسی طرح کی.
اور کس طرح ماڈل کرتے ہیں اور دیکھیں بات چیت؟
تو، کنٹرولر کے ذریعے.
یہ کیا ایک کنٹرولر کرتا ہے کچھ کے لئے ماڈل کی طرح، مثال کے طور پر،
کے اندر کتاب کی تمام ڈال ایک متغیر کی.
اس طرح، کتابوں @.
>> اور اس کے ساتھ عالمی سطح کرنے کی ضرورت ہے بات یہ ہے کہ میں اس کی وجہ سے ہو رہا ہے
دیکھیں طرف سے حاصل کیا.
اس کے اندر اندر استعمال کیا جا کرنے کے لئے نہیں جا رہا ہے کنٹرولر خود.
اور یہ صرف معلومات سست ہے دیکھیں استعمال کرنے کے لئے کی جا رہی ہے.
مثال کے طور پر، کنٹرولر چیک صارف آن لائن ہے.
اور کس طرح ہے کہ یہ کیا کرتا ہے؟
یہ اصل ماڈل سے پوچھتا ہے ماڈل ہے کیونکہ
صارف کے بارے میں معلومات.
یہ کتابوں، ایک صارفین کی میز ہے میز، دیگر میزیں.
تو کنٹرولر تو پوچھتا ہے صارف آن لائن ہے.
صارف آن لائن، کنٹرولر ہے تو کوکی ڈال کی طرح چیزوں کو ہینڈل،
یا سٹیمپ ڈال کرنے کی کچھ اس طرح، صارف آن لائن ہے کا کہنا ہے کہ.
دوبارہ لاگ ان کرنے کی ضرورت نہیں ہے.
>> اور اس کا نام ایک متغیر لوڈ کرنے کے لئے جا رہا ہے صارف، مثال کے طور پر، کہ
دیکھیں استعمال کر سکتے ہیں.
اور نقطہ نظر یہاں کچھ ڈال کر سکتے ہیں، مثال کے طور پر، user.name خیر مقدم کرتے ہیں.
تو یہ کہا جا رہا ہے، میں خوش آمدید جان، میں خوش آمدید جیمز -
اس طرح کچھ، ٹھیک ہے؟
لہذا ان متغیرات میں سے سب میں استعمال کیا دیکھیں میں لوڈ کیا جا رہا ہے
کنٹرولر اور جا رہے ہیں ماڈل سے نکالا.
>> یہ ایک کنٹرولر کی مثال ہے.
تو ہم، بنیادی طور پر، ہر ایک ہے -
ہم ان چیزوں کے اعمال کو فون.
تو انڈیکس ایک کارروائی ہے.
یہ ایک روبی تقریب ہے.
یہ وہاں میں روبی طریقہ ہے.
لیکن کنٹرولر کالوں کے لئے ان چیزوں کے اعمال.
اور ہر کارروائی ایک راستہ سے متعلق ہے.
مثال کے طور پر تو یہاں اس راستے،، ایک حاصل بیان / کتابوں ہے.
تو آپ harvard2017.com/books پر جاتے ہیں، کیا ہونے جا رہا ہے اس کوڈ کو ہے
بلایا جا رہا.
>> اور ایک فائل ہے -
مجھے اس اصلی فوری کھولنے.
خام فائل نامی ایک فائل ہے.
کھولنے نہیں ہے.
تو خام فائل نامی ایک فائل ہے یہ بنیادی طور پر سے میل کھاتا ہے -
اوہ، اب یہ کھلنے ہے.
یہاں، راستوں.
تو بنیادی طور پر، دباؤ سے میل کھاتا ہے مثال کے طور پر، کے لئے چالو کرنے کے / نئے
کنٹرولر میں کچھ.
نام نہاد اس کنٹرولر ہے ایکٹیویشن کنٹرولر، لیکن یہاں سے باہر،
ہم مثال کے طور پر، کتابوں ہے.
تو میچ -
کنٹرولر، کتب / نئے کتابوں، نئی کارروائی.
تو بنیادی طور پر، بہت براہ راست چیزیں.
>> اور یہاں، آپ / کتابیں حاصل کرنے کے لئے تھا، کتابوں کی ID سلیش،، نئے سلیش
آپ کو اس پر جانے کے لئے جا رہے ہیں وہاں روبی طریقہ.
تو یہاں، کیا اس انڈیکس کر رہا ہے صرف کتاب لاگ ان لوڈنگ ہے.
یہ کہ کچھ ہے -
میں لاگ ان کی کتابوں کی سب لاگ ان کریں.
اور یہ تمام قسم.
تو یہ واپس جا تمام حل کتابیں.
اس ڈیٹا بیس میں، پھر، ہے.
تو اس ماڈل کا ایک طریقہ ہے.
اگر آپ اس طریقے ہونے دیکھا ماڈل میں پیدا.
اب یہ تمام کتابوں لوڈ کر رہا ہے اور ایک متغیر میں ڈال کہ
قول سے دیکھا جا سکتا ہے.
>> آپ کے وسط میں، نہیں کر سکتے ہیں آپ HTML کوڈ، آپ کو فون نہیں کر سکتے ہیں
براہ راست ماڈل سے کچھ، دو وجوہات کی وجہ سے.
سب سے پہلے، سیکورٹی وجوہات کی وجہ سے یہ ہو کرنے کے لئے بہت دلچسپ نہیں ہے
براہ راست کے اندر معلومات لوڈ ڈیٹا بیس میں ہے کہ ہر ایچ ٹی ایم ایل.
اور دوسرا، آپ کو رکھنے کے لئے کوڈ واقعی منظم.
تو بالکل الگ مختلف حصوں.
اس میں تو BookLog.sorted_all، ڈیٹا بیس اور اس میں ڈال دیا جا رہا ہے
کتابیں @ ایک متغیر.
اور اب اس متغیر قابل رسائی ہے آپ ایچ ٹی ایم ایل کوڈ کے اندر اندر.
تو کیا تم صرف کتابوں کی سب ڈال کر سکتے ہیں ہم یہاں، وہاں کیا طرح.
یہ متغیر ہے.
>> فارمیٹ | | اور دوروں کرتے respond_to، یہ روبی نحو کی ایک قسم کے لئے ہے
صارف کے لئے مجھ سے پوچھ رہا ہے تو HTML کوڈ، میں جا رہا ہوں
HTML کوڈ کے ساتھ جواب.
صارف، JSON کوڈ کے ساتھ مجھ سے پوچھتا ہے تو ویب اطلاقات کا استعمال کرتے ہیں کہ کچھ ہے جو
خود کے درمیان بات چیت کرنے کی، وہ عام طور پر JSON یا کسی دوسرے کا استعمال کرتے ہیں
چیز کی طرح.
تو یہ صرف ان کا استعمال کرتے ہوئے جواب دو مختلف فارمیٹس.
لیکن ایک عام صارف کے لئے، اس یہاں کرنے کی ضرورت نہیں کرے گا.
تم صرف کے ساتھ جواب دے گی ایچ ٹی ایم ایل، اور ٹھیک ہے.
تو واقعی فکر نہ کرو کہ اس کے بارے میں زیادہ سے زیادہ.
اس میں کوڈ کا صرف لائن ہے ہماری یہ ایچ ٹی ایم ایل سے لوڈنگ کے طور پر کنٹرول
ڈیٹا بیس، ہے کہ کچھ میں ڈال دیکھیں طرف سے قابل رسائی.
>> اور پھر نئے، تو یہاں میں نے کتابوں کو پیدا کر رہا ہوں.
لیکن کتابیں بنانے کے لئے، میں ایک طالب علم کی ضرورت ہے میں طالب علم کو جاننے کی ضرورت ہے کیونکہ
جن کی کتابیں اس حق، سے تعلق رکھتے ہیں.
طالب علم = طالب @ تو.
طالب علم، ایک بار پھر، ہم کے ساتھ شروع کر رہے ہیں ایک بڑا S ماڈل طالب علم ہے.
ٹھیک ہے، تو یہ، ماڈل طالب علم ہے اس ماڈل کی کتاب لاگ ان ہے.
Student.find، تو میں نے تلاش کرنے کے لئے جا رہا ہوں ایک پیرامیٹرز کی شناخت کا استعمال کرتے ہوئے طالب علم.
params.id، یہ صرف مجھ سے قیمت حاصل کیا جاتا ہے منظور کیا گیا تھا کہ اس ID کے -
اور یو آر ایل.
>> صرف یہ ہے کہ طالب علم کے لئے تلاش کرنے کے لئے جا رہا ہے.
اور سب سے پہلے، ہم چیک کرنے کے لئے جا رہے ہیں طالب علم کے کچھ گانے، نغمے ہے
اور بلاہ، بلاہ، بلاہ.
اور یہ پہلے سے ہی ہینڈل کیس جب طالب علم
مثال کے طور پر، کوئی وجود نہیں ہے.
اور پھر، اور، ہم صرف جواب ایچ ٹی ایم ایل کا استعمال کرتے ہوئے ایک ہی بات.
اور پھر ہم صارف کر سکتے ہیں ان کے گانے، نغمے تخلیق.
تو یہ نئی ہے.
نئے عام طور پر، دو کے لئے استعمال کیا جاتا ہے صارف کچھ پیدا.
اور پھر بنانے کی کارروائی ہے کہ عام طور پر کے لئے استعمال کیا جاتا ہے -
اصل میں ڈیٹا بیس میں گانے ڈال یا اس طرح کچھ.
لیکن اگر آپ کو ریل کا استعمال کرتے ہوئے شروع ایک بار، ان چیزوں پر جا رہے ہیں
بہت زیادہ واضح، زیادہ سے زیادہ.
ٹھیک ہے، ڈاؤن لوڈ، اتارنا.
کوئی سوال اب تک؟
یہ کنٹرولرز کے ساتھ سمجھ میں آتا ہے ہے، ماڈل، کھیتوں -
جی ہاں؟
>> ایک بار پھر آپ ریل درخواست میں -
تو اس کے تمام یہاں پایا جا سکتا ہے.
تو آپ کو اے پی پی، کنٹرولرز، ان ہے میری کنٹرولرز کی تمام ہیں.
تو مثال کے طور پر، کتابوں کو کنٹرول.
یہی وجہ ہے کہ ہم نے ابھی دیکھا ہے.
اور پھر خیالات.
اور ہر کنٹرولر ایک ہے متعلقہ دیکھیں، ٹھیک ہے؟
تو خود بخود جب آپ یہ کہتے یہاں انڈیکس، مثال کے طور پر، یا جب آپ
یہ کتابیں نئی، پھر دیکھیں فون، کتابیں، نئے بلایا جا رہا ہے.
>> تو پٹریوں سب کچھ کرتا ہے خود کار طریقے سے آپ کے لئے.
تو ہر کنٹرولر منسلک ہے دیکھنے اور ماڈل کے تمام -
یہاں میں ایک، دو، تین، چار، پانچ، ماڈل.
لیکن یہ ایک طالب علم ماڈل ہے، لہذا ان متغیر ہیں کہ تمام
طالب علموں کو ہے - لوکلائزیشن، تاریخ پیدائش.
طالب علموں کو تھوڑا سا زیادہ ہے پیچیدہ ہر طالب علم ہے کیونکہ
زیادہ مختلف طریقہ اس سے منسلک ہیں.
لیکن یہ صرف سنبھال رہی ہے تھا کہ میز تمام
ڈیٹا بیس میں طلباء.
>> اور، ٹھیک ہے، پٹریوں کو انسٹال.
ریل نصب، ایماندار ہو، آسان بات نہیں ہے.
لیکن آپ کو سب کچھ ماضی کی ایک بار، یہ بہت، بہت آسان ہے.
تو ریل کو انسٹال، آپ کو صرف کرنے کے لئے جانا ویب سائٹ، rubyandrails.org / ڈاؤن لوڈ، اتارنا
اور وہاں ان کی ہدایات پر عمل کریں.
سب کچھ ڈاؤن لوڈ، اتارنا.
اور تم، آلات میں یا تو یہ کر سکتے ہیں پر CS50 آلات، میں
میک پر ونڈوز،، یا کسی بھی آپریٹنگ آپ کی پسند کا نظام.
پٹریوں پر روبی سب کچھ پر چلتا ہے.
>> مشکلات آپ نے پہلے ہی روبی انسٹال کیا ہے رہے ہیں آپ میک یا ہے -
آلات میں روبی ہے -
مجھے یقین نہیں ہے.
اور پھر آپ صرف اس نصب.
اور آپ کو نیا تخلیق کرنے کے لئے کرنا چاہتے ہیں تو ویب ایپلیکیشن، آپ کو صرف
ریل، نئے، بلاگ کرتے ہیں.
ریل، نیا -
مجھے پتہ نہیں ہے -
آپ کی ویب سائٹ کے نام.
اور یہ اتنا آسان ہے.
>> یہ ان میں سے سب کو پیدا کرنے کے لئے جا رہا ہے فائلوں میں صرف آپ سے ظاہر ہوتا ہے.
لیکن ماڈل، دیکھیں، اور کنٹرولر ہونا نہیں جا رہے ہیں
ابھی تک آبادی.
آپ کو صرف وہاں جانے کے لئے جا رہے ہیں اور ان تین فولڈر آباد.
تو مشکلات، آپ کو ایک ماڈل بنانے کے لئے چاہتے ہیں، مثال کے طور پر، ایک پر عمل درآمد
سب سے پہلے ماڈل.
تو پھر، ہمیشہ چھوٹے کاٹ کرنے کی کوشش ایک وقت میں ایک مسئلہ کی بٹس.
>> اور پھر بنانے کے، کا کہنا ہے کہ آپ کے صارفین کے لئے ایک ماڈل.
یہ پہلی بات ہے آپ صارفین کو ہے تو.
پھر میں نے اسے ایک ماڈل بنانا چاہتے ہیں ہم یہاں سے ظاہر ہوتا ہے کی طرح.
تو پٹریوں، پیدا، ماڈل، صارف، اور ای میلز سٹرنگ - ہم کہ یہاں ہے.
اور صرف جی ہاں، یہ ماڈل بنانے کے.
ریل ماڈل صارف کے ای میل پیدا: سٹرنگ پاس ورڈ: سٹرنگ.
>> اور پھر آپ کو ایک کنٹرولر بنانے کے اس صارف کے ساتھ کرتا ہے.
اور آپ نئے صارفین کی تخلیق کر سکتے ہیں اور چیزوں کے ان قسم.
اور پھر آپ کو پیدا کرنے کے لئے پر منتقل کر سکتے ہیں آپ کی ویب سائٹ کے باقی.
ڈاؤن لوڈ، اتارنا، سوال؟
جی ہاں.
>> سامعین: [اشراوی]
>> جبرائیل GUIMARAES: جی ہاں، جی ہاں، آپ یقینی طور پر نقطہ نظر میں جانا ہے.
یہ ایک بہت اچھا سوال ہے.
تو دیکھیں اصل میں ہے کیا آپ ایچ ٹی ایم ایل پر مشتمل ہے.
تو یہ کیا صارفین کی ہے دیکھنے جا رہے ہیں.
ایک بار پھر، یہاں، یہ ایک ہے ایک نقطہ نظر کی مثال.
یہ HTML کوڈ اور روبی ہے ایک ہی وقت میں کوڈ.
تو روبی کوڈ چیزیں ڈال کرنے کے لئے نہیں ہے ڈیٹا بیس سے، مثال کے طور پر،
کنٹرولر میں لوڈ کیا گیا ہے.
تو اس متغیر کتابیں @، مثال کے طور پر، کتابوں کی سب اور میز ہے
ڈیٹا بیس میں کتابیں.
ہم یہ تھا کہ بات کو یقینی بنایا کنٹرولر میں.
>> اور نقطہ نظر -
آپ کی ویب سائٹ کو بند کر کے صفحات میں سے ہر ایک ہے ایک وابستہ نقطہ نظر ہے کے لئے جا رہا.
آپ کے گھر کے صفحے پر جانے تو اگر، بہت پہلے صفحے، harvard2017.com.
کہ ایک صفحے کو ظاہر کرتا ہے.
اور پھر آپ کی کمی کرنے کے لئے جانا.
یہ ایک کنٹرولر پر جانے کے لئے جا رہا ہے کہ ایک پروفائل کنٹرولر کی.
اور پروفائل کنٹرولر جا رہا ہے آپ دیکھیے View دے.
اور پروفائل دیکھیے ملاحظہ کرنے کے لئے کی جا رہی ہے کسی حد تک اس طرح، لیکن یہ جا رہا ہے
صارف کے بارے میں معلومات ہے، اور نہ کتابوں کے بارے میں.
>> تو یہ HTML کوڈ اور سی ایس ایس اور ان ہے ایک صارف دیکھتا ہے کہ چیزیں
روبی کوڈ کے ساتھ -
کہ اصل میں چیزوں کو پرنٹ ڈیٹا بیس سے.
کہ زیادہ واضح ہے؟
مجھے امید ہے کہ.
>> سامعین: HTML کوڈ استعمال کیا جاتا ہے اصل ویب سائٹ ہے کہ
صارف دیکھتا ہے، لیکن روبی کوڈ ہے کیا ویب سائٹ کے کام کرتا ہے؟
>> جبرائیل GUIMARAES: روبی کوڈ HTML میں تبدیل ہو جاتا ہے.
تو کیا صارف جاتا ہے صرف HTML ٹھیک ہے، ہے؟
یہ صرف HTML ہے.
یہ book.title تبدیل کرنے کے لئے کی جا رہی ہے HTML میں book.title کی قیمت، ٹھیک ہے.
تو اس سرور میں ہے، اور تو یہ کیا کتابیں ہیں پر منحصر ہے
اب سرور میں.
لیکن کیا سرور کو فوری طور پر کریں گے احساس ٹھیک ہے، صرف ایچ ٹی ایم ایل کوڈ ہے.
>> اس قول صرف کی ترتیب دیتا ہے ایچ ٹی ایم ایل کی طرح نظر کیا جا رہا تھا
اور جو متغیر جا رہے ہیں.
ایک پرنٹ باہر کی یہ قسم، ٹھیک ہے.
وہ چیزیں ہیں بنیادی طور پر اوٹ پرنٹ.
وہ ٹھیک ہے، متغیر پرنٹ کرنے کے لئے جا رہے ہیں.
تو صرف ایچ ٹی ایم ایل، وہ کیا ہے -
مصنف، عنوان، تفصیل.
یہ جامد مواد ہے.
اس کو تبدیل کرنے والا نہیں ہے.
یہ صرف سادہ ایچ ٹی ایم ایل کوڈ ہے.
وہ پرنٹ اوٹ ہیں متغیر کے لئے -
منحصر ہے کہ چیزوں کو.
ڈاؤن لوڈ، اتارنا، سوال؟
اچھا؟
جی ہاں.
>> سامعین: میں آپ سب کیا کر رہے تھے لگتا ہے ایک مختلف متن میں ترمیم
ترمیم کے پروگرام.
ہم بھی اس ڈاؤن لوڈ، اتارنا چاہئے؟
>> جبرائیل GUIMARAES: جی ہاں، مجھے یہ پسند ہے ٹیکسٹ ایڈیٹر TextMate کہا جاتا ہے.
اور یہ بہت اچھا ہے.
یہ اچھی طرح سے روبی کے لئے مناسب ہے.
یہ بہت صفائی کے ساتھ رنگ کی چیزیں.
تو TextMate، ٹی ای ایکس ٹی. میں جا رہا ہوں ڈال کرنے کے لئے، پر منعقد -
>> میں نے تم سے gedit استعمال کر سکتے ہیں کا مطلب یا آپ چاہتے ہیں میں کچھ بھی.
لیکن یہ میک کے لئے مخصوص ہے، اور اس کے تمام رکھتا ہے کیونکہ بہت صاف ہے
وہاں آپ کی فائلوں.
اور پٹریوں پر روبی میں، آپ کی ضرورت ہے فائلوں کی ایک بہت سوئچ کرنے کے لئے.
تو یہ بہت سے، بہت سے فائلوں کو صرف ایک فائل سے چلے جاؤ، کود
ایک فائل یا دوسرے.
تو TextMate ایک بہت اچھا میں سے ایک ہے، لیکن کافی مقدار وہاں سے باہر ہیں.
مزید سوالات؟
جی ہاں، ٹھیک ہے؟
>> سامعین: ایک موبائل ترقی ہے پٹریوں پر روبی کے ذریعے؟
>> جبرائیل GUIMARAES: میں نے چیزوں کے بارے میں سنا.
میں نے انہیں استعمال نہیں کیا ہے.
آپ اس پر مزید تحقیق کر سکتے ہیں.
کوئی ہے تو مجھے یقین نہیں ہے وہاں اچھی بات.
جی ہاں، ٹھیک ہے؟
>> سامعین: [اشراوی]
>> جبرائیل GUIMARAES: نہیں پٹریوں، شاید روبی صف.
ایک ٹرمینل ونڈو کھولنے کے اور قسم، "روبی".
جی ہاں، شاید، اور پھر آپ صرف ریل انسٹال کرنے کی ضرورت.
لیکن آپ نئے نصب کرنے کے لئے جا رہے ہیں ، جس میں انتہائی مشورہ 4.0، ریل
آپ روبی 2.0 ڈاؤن لوڈ، اتارنا چاہئے.
وہ بھی نیا ہے.
اور نئے ریل 4.0 کچھ ہے یہ واقعی ڈاؤن لوڈ، اتارنا
اس کے اثاثوں پر کرتا ہے.
یہ اثاثوں ہینڈل.
اثاثے ایک بار پھر، تصاویر، سی ایس ایس فائلوں ہیں اور جاوا سکرپٹ فائلوں.
کہ روبی پر تو ایک واقعی صاف چیز ریل آپ کے لئے ان لوگوں کو سی ایس ایس کے تمام کرتا ہے
ہے کہ آپ فائلوں اور سب کچھ -
یہ صرف ایک میں سب کچھ بنڈل بڑی فائل، کوئی خالی جگہ یا کچھ کے ساتھ،
صارف کرنے کی ضرورت ہے وقت کو کم سے کم کرنے کے لئے آپ سرور سے اس کوڈ کو ڈاؤن لوڈ، اتارنا.
>> آپ کے کمپیوٹر میں دیکھ تو، یہ ہے 15 سی ایس ایس فائلوں کی طرح ہے جا.
یا بہت سے، بہت سے مختلف سی ایس ایس فائلوں.
لیکن دن کے آخر میں، کیا پٹریوں خود کار طریقے سے آپ کے لئے رکھتا ہے ہے
ایک بڑی فائل میں ایک دوسرے کے ساتھ سب کچھ اس کی درخواست کے وقت کو کم تاکہ.
یہ بہت اچھا ہے.
جی ہاں؟
>> سامعین: [اشراوی]
>> جبرائیل GUIMARAES: بالکل.
تو، Google Maps کے انضمام.
یہ گوگل کی طرف سے ایک جاوا سکرپٹ API ہے.
تو میں صرف گوگل کی ویب سائٹ کے لئے گئے تھے.
وہ اس Google Maps کے API اور میں ہے کوڈ کو ڈاؤن لوڈ اور یہ مربوط
میرے خیال میں.
میں وہاں ایسا کرنے کی ضرورت ہے تو کیا ہوا میں حاصل کرنے کے لئے کی ضرورت ہے
ڈیٹا بیس سے مقامات.
کہ کنٹرولر میں کیا گیا تھا.
تو میں کنٹرولر چلا گیا -
جہاں کنٹرولر کی.
کنٹرولر اس طرح دیکھا.
کے مقامات کے تمام ہے طالب علموں کو، ایک بڑا میں یہ سب ڈال
متغیر، ایک بڑی فہرست میں، کہ تمام مقامات ہیں.
>> اور نقطہ نظر میں، کیونکہ جاوا اسکرپٹ API میں کچھ ہے
حق، دیکھنے کے؟
جاوا اسکرپٹ اپنے ایچ ٹی ایم ایل کے اندر اندر چلتا ہے کیونکہ کوڈ، یہ کرنے کے لئے بھیجا جا رہا ہے
صارف کی مشین.
اور نقطہ نظر میں، میں نے اس کے تمام لوڈ گوگل API میں معلومات.
اور اس کے لئے یہ سب کیا مجھے، جو واقعی ڈاؤن لوڈ، اتارنا ہے.
لیکن آپ میں چیزوں کو استعمال کرنا چاہتے ہیں کے آخر میں واپس، اور اس کے لئے، ایک لائبریری کی طرح ہے
مثال کے طور پر، پھر -
فیس بک کے ساتھ انضمام.
، جو بہت سے، بہت کچھ ہے بہت سے اطلاقات آج کل استعمال کر رہے ہیں.
>> تو فیس بک کے ساتھ اپنے انضمام ہے یہ اتنا آسان ہے کیونکہ صرف
پیدا کرنے کے لئے کے مقابلے میں فیس بک کے ساتھ لاگ ان ایک اکاؤنٹ اور بلاہ، بلاہ، بلاہ.
اس کے بعد آپ کو صرف ایک منی کا استعمال کرتے ہیں اور اس کے طور پر آپ منی فائل کرنے کے لئے جا کے طور پر آسان.
منی فائل منی فائل میں کہا جاتا ہے ایک فائل ہے پر آپ کی روبی کے ذریعہ ڈائرکٹری
منصوبے کی پٹریوں.
وہاں جاؤ اور نئے منی کا اضافہ کریں.
اور آپ اسے گوگل پر نظر.
بہت سے، بہت سے، بہت سے جواہرات ہیں.
خاص طور پر کرتا ہے ایک ہے یہ فیس بک انضمام کے لئے.
میں نے اس کا کیا نام اس بات کا یقین نہیں ہوں.
بس یہ گوگل اور تم اس کو تلاش کرنے کے لئے جا.
ٹھیک ہے، مزید سوالات؟
بہت اچھے، آنے کے لئے آپ کا شکریہ.