GABRIEL గుయిమారీస్: ఈ CS50 ఉంది. అమేజింగ్ వెబ్ స్వాగతం రూబీ ఆన్ తో. కాబట్టి ఎవరైనా కోసం వెబ్ సన్నద్ధమైంది అభివృద్ధి మరియు తయారీ వెబ్సైట్లు, వెబ్ అప్లికేషన్లు, రూబీ ఆన్ ఈ ఉంది అద్భుతమైన సాధనం ట్విట్టర్, GitHub, Groupon, మరియు నిజంగా nice అన్ని రకాల, మరియు పెద్ద, వెబ్ అప్లికేషన్లు లో ఉపయోగిస్తున్న గత కొన్ని సంవత్సరాల. మరియు అది ఒక నిజంగా చల్లని ఉంది ఫీచర్, ఒక చల్లని సాధనం, కొత్త ఎందుకంటే. కనుక ఇది కొత్త శక్తివంతమైన అన్ని ఉంది సాంకేతిక ఒక చొప్పించిన మీరు వ్యవహరించే సహాయపడే ఫ్రేమ్ అద్భుతమైన అన్ని రకాల. కానీ ఒక ఫ్రేమ్ ఏమిటి? కాబట్టి ఒక ఫ్రేమ్ రప్పించింది సృష్టిస్తుంది ఏదో - మీరు ఒక వెబ్ సైట్ ప్రారంభించినప్పుడు, మీరు ప్రారంభించారు మొదటి నుండి, మీరు తెరిచి అక్కడ gedit, మరియు మీరు అన్ని కోడ్ చేయడం మీ మీ HTML మరియు కోడ్ అన్ని PHP, మీ CSS అన్ని, ప్రతిదీ మొదటి నుండి - కేవలం పని చాలా చేస్తాడు. మరియు ఒక ఫ్రేమ్ వాచ్యంగా మీరు ఇస్తుంది వెబ్సైట్ సగం ఇప్పటికే పూర్తి. కనుక మీరు సగం ఒక వెబ్సైట్ తో మొదలు ఆ మీరు ప్రతిదీ ఉంది. డేటాబేస్ కనెక్షన్లు వంటి, మరియు అన్ని మీరు ఆందోళన విషయాలను రకాల మీరు మొదటి నుండి చేయుచున్నారు ఉంటే గురించి, ఆ గురించి ఆందోళన లేదు తక్కువ స్థాయి వివరాలు. అయితే ఈ రోజు మేము ఒకటి ఎగుమతి చూడాలని వెబ్సైట్లు ఆ మొదటి 2017 తరగతి తెలిసిన. కాబట్టి ఈ వెబ్సైట్ వెబ్సైట్ అని నేను వేసవిలో మా తరగతి చేసినట్టే. ఇది యొక్క పేరు విద్యార్థులు ఒక వెబ్సైట్ ఉంది 2017 తరగతి లాగిన్ కాలేదు ఒకరితో. మరియు ఈ ఒక పటం - ప్రజలు అందరూ,. మరియు మేము ఒక పాటలు గేమ్, ఒక పుస్తకం గేమ్ కలిగి మేము వ్యక్తుల పాటలు చూసిన పేరు ప్రజల పుస్తకాలు. వారు చదవడానికి ఇష్టం, ఏమి వారు వినడానికి. మరియు చాలా ఆసక్తికరమైన భాగం వాచ్యంగా నాకు మూడు గంటల సమయం పట్టింది ఇది అన్ని కోడ్ని. ఎందుకంటే నేను నుండి ప్రతిదీ చేయండి వచ్చింది ఉంటే gedit తెరవబడుతుంది వంటి మొదటి,, ఇది బహుశా స్వీకరించడంతో నాకు 20, 30 గంటల. కానీ రూబీ తో ఆన్ రైల్స్, ఎందుకంటే ప్రతిదీ ఇప్పటికే నాకు ఏర్పాటు చేశారు, అది మాత్రమే, నాకు మూడు లేదా నాలుగు గంటలు పట్టింది లేదా అలాంటిదే. కాబట్టి రూబీ ఆన్ ఏమిటి. రూబీ ఆన్, మళ్ళీ మేము ఇప్పటికే అన్నారు, ఒక ప్రణాళిక. ఈ ఒక ఫ్రేమ్ యొక్క ఒక చిత్రం. కాబట్టి మీరు భవనం ఆరంభమవుతుంది చేస్తున్నారు ఒక ఇల్లు, మీరు ఇప్పటికే సగం కలిగి ఇంటిలో. ఆ ఫ్రేమ్. మరియు రూబీ ఆన్ ఉంది ఖచ్చితంగా ఆ వంటి. మరియు మీరు మొదలు, వంటి ఆలోచించి చేయాలి ఒక వెబ్సైట్, మీరు మీ వెబ్ ప్రారంభం అప్లికేషన్, మేము ఇప్పటికే అది సగం అక్కడ పూర్తి. కానీ మొదటి అన్ని యొక్క, రూబీ ఏమిటి? రూబీ ఆన్ మోడల్ వీక్షణ ఉపయోగించే రూపావళి నియంత్రిక,, ఇది ఒక నిజంగా ఆసక్తికరమైన ఉంది - మరియు రోజుల్లో అప్లికేషన్లు అన్ని అలాంటిదే ఉపయోగించడానికి. లోకి విషయాలు వేరు ఈ ఆలోచన మూడు భాగాలు, మోడల్, వీక్షణ, మరియు నియంత్రిక. మేము కొద్దిగా మాట్లాడటానికి వెళుతున్న ఆ గురించి మరింత. మొదటి, రూబీ ఏమిటి? కాబట్టి ఈ రూబీ ఉంది. మరియు ఈ యొక్క చిహ్నం రూబీ అని భాషను. రూబీ అర్థం newish ఒకటి భాషలు, లిపి. ఇది సంకలనం లేదు ఒక భాష సి వంటి ఇది అమలులోనే సంకలనం యొక్క. కాబట్టి మంచి ఎందుకంటే, కేవలం PHP వంటి, ఉదాహరణకు కూడా అర్దం, ఉంది సంకలనం కాదు. దాని పోర్టబుల్ ఎందుకంటే ఆ బావుంటుంది. కాబట్టి మీరు నుండి మీ కోడ్ పాస్ మరొక యంత్రం. లైనక్సు కంప్యూటరునుండీ, ఒక Windows కు ఒక Mac లేదా ఆపిల్ యంత్రం, లేదా యంత్రం, అలాంటిదే. మరియు మీరు గురించి ఆందోళన అవసరం లేదు నిర్దిష్ట ప్రతి సంబంధించిన వివరాలు ఆపరేటింగ్ వ్యవస్థలు. ఇది ప్రతిచోటా పని చేస్తాడు. మరియు రూబీ ఒక భాష - మీరు అబ్బాయిలు బహుశా ఈ గుర్తు. ప్రజలు అమలు హాష్ ఫంక్షన్ను ఉపయోగించడానికి హాష్ పట్టిక కోసం సి లో గత వారం మరియు అన్ని రకాల సెగ్మెంటేషన్ తప్పులలో. మరియు తర్వాత విషయాలు అని గురించి చింతిస్తూ ఆ స్ట్రింగ్ నేను అక్కడ, స్ట్రింగ్ నేను ఇక్కడ, నిజంగా చిన్న లేదా పెద్ద, లేదా చింతించవలసిన ముఖ్య ఆలోచనలకి తక్కువ స్థాయి వివరాలు. బాగా రూబీ లో, మీరు అనుకుంటే అమలు ఒక హాష్ పట్టిక, ఈ ఎలా మీరు ఉంది ఒక హాష్ పట్టిక సృష్టించడానికి. తెలుగుశాల,, ఆ పేరు నిఘంటువు వార్తలు నా వేరియబుల్, = "Hash.new". ఆపై నిఘంటువు ["foo"], మరియు నేను రెడీ నా హాష్ పట్టిక foo జోడించడం, నేను ఉన్నాను కేవలం foo తేల్చిచెప్పింది. ఆపై నేను కోరుకుంటే తనిఖీ ఉంటే foo ఉంది, నేను కేవలం చెప్పుకోవాలంటే నిఘంటువు ["foo"] == తిరిగి నిజమైన నిజమైన. ఆహా, మరియు మీ హాష్ పట్టిక ఉంది. ఆ అమలు ఉంది రూబీ లో హాష్ పట్టిక. కాబట్టి ప్రతి ఒక్కరూ వారు భావిస్తున్నట్లు గత కోసం రూబీ వంటి ఏదో ఉపయోగిస్తారు వారం యొక్క pset, కుడి? మేము మీరు కారణాల అన్ని రకాల కలిగి రూబీ వంటి భాష ఉపయోగించడానికి. రూబీ రత్నాలు ఉంది. రత్నం ఒక రకమైన కోసం ఒక పేరు రూబీ లో లైబ్రరీ. ఆసక్తికరమైన లక్షణాలను అన్ని రకాల మీరు చూపే, ఉదాహరణకు, నేను నా అప్లికేషన్ ఇంటిగ్రేట్ మీరు. హార్వర్డ్ 2017 అప్లికేషన్ Facebook కు భాగమైనది. కాబట్టి మీరు ద్వారా, లో లాగిన్ Facebook, అనువర్తనానికి. మీరు ఆ చేయబోతున్నామని కాబట్టి, మీరు లేదు కొన్ని పంపడం గురించి ఆందోళన అవసరం HTTP Facebook కు అభ్యర్థనను మరియు వేచి ప్రతిస్పందన కోసం, మరియు బలవంతంగా ప్రతిస్పందన మరియు బ్లా, బ్లా, బ్లా. మీరు కేవలం రత్నం డౌన్లోడ్ ఆ మీరు అన్ని ఆ చేస్తుంది. ఆపై మీరు అవసరం లేదు అన్ని గురించి ఆందోళన. సహాయం మరియు అప్పుడు పుష్కలంగా ఆన్లైన్, కోర్సు. చాలా చాలా, చాలా వెబ్సైట్లు ఉన్నాయి రెండు మీరు సహాయం వెళ్తున్నారు రూబీ మరియు కోళ్లు తో. మరియు అది కోడ్ సరదాగా మా ఉంది. మీరు చింతిస్తూ మానివేయవచ్చు సరిగ్గా ఎందుకంటే ఆ అలా సరదాగా కాదు సమస్యల గురించి. ఇష్టపడితే ఏదో చిన్న ఉంది లేదా అప్పర్ కేస్, ఆపై ఎందుకు ఉంది మీరు విభజన లోపంగా ఇవ్వడం, మరియు మీరు నిజంగా చాలా ప్రవేశిస్తాడు చేయవచ్చు ఆసక్తికరమైన. నిజంగా చల్లని సమస్యలు ప్రవేశిస్తాడు. కాబట్టి రూబీ కేవలం ఒక కోణంలో సి ఎలానో. కాబట్టి ఆ మాత్రం కాదు నిజానికి ఒక జంప్ యొక్క పెద్ద. కాబట్టి ఆ రూబీ లో మా ముద్రణ అప్లికేషన్, ఉంచుతుంది. నేను, మీరు చాలా ముద్రించు భావిస్తున్నానని కానీ ఉంచుతుంది ప్రతి ఒక్కరూ ఉపయోగిస్తుంది ఏమిటి. కాబట్టి కేవలం "హలో వరల్డ్" ఉంచుతుంది. మీరు, లేదా మీరు, కాదు చుట్టిముట్టి కుండలీకరణములలో అక్కడ "హలో వరల్డ్". మీరు ఎంచుకోవచ్చు లేదా ఆ ఉపయోగించకూడదని. ఆపై x = "1". ఒక సమయంలో లూప్ అందంగా కూడా కనిపిస్తుంది చాలా అదే. ఇది కేవలం తక్కువ సింటాక్స్ ఉంది. ఇది రకమైన క్లీనర్ కొద్దిగా. ఆపై ఉంటే x> 25 ఉంచుతుంది "బిగ్!" మరియు మిగతా "చిన్న ..." ఉంచుతుంది. మరియు అది కోణంలో సి ఉంటాము. మీరు విషయంలో చూస్తే, మీరు చేయగలరా విధానం బహుశా అర్థం జరుగుతుందో ప్రతిదీ. కానీ శక్తివంతమైన యొక్క. శక్తివంతులైతే కంటే, ఎందుకంటే, ఇది విషయాలు ఆ లేని చేయవచ్చు - hackage కొద్దిగా రకమైన. సి లో మీరు ఏమి కాదు ఒకటి లైన్ చేయండి. ఉదాహరణకు, "నేను # {x} am" ఉంచుతుంది. విలువ చాలు ఈ వాక్యనిర్మాణం ఇక్కడ x మరియు ప్రింట్ లేదు పాత్ర x. సి లో మీరు శాతం d చేయాలని, మరియు అప్పుడు తర్వాత వేరియబుల్ x జారీ ఇక్కడ కామా, లేదా అలాంటిదే. మరియు రూబీ ఒక సంక్షిప్త లిపి ఉంది ఆ చేయడం కోసం. మరియు మీకు x> 3, ఈ ఉంచుతుంది, కాబట్టి చాలు అన్ని ఒక లైన్ ఉంటే. ఆపై జాబితా. సి లో జాబితాలు, వ్యూహం వంటి, మీరు కలిగి మీ శ్రేణి ఎంత పెద్ద ట్రాక్ లేదా ఉంచడానికి లేకపోతే మీరు సెగ్మెంటేషన్ పొందండి తప్పు. మీ శ్రేణి ఒకే రకమైన ఉంది. కనుక ఇది గాని ఛార్జ్ యొక్క వ్యూహం ఉంది లేదా పూర్ణాంకాల వ్యూహం. ఈ సందర్భంలో, నేను, ఇక్కడ జాబితా రూపొందించినవారు మొదటి కలిగి వ్యూహం, ఉంది మూలకం తర్వాత, జాన్ ఒక స్ట్రింగ్, మరియు నాలుగు, రెండు - ఆ పూర్ణాంకాలుగా. మరియు తర్వాత నేను,, జాబితా జోడించండి ఎడమ కోణ బ్రాకెట్, ఎడమ యాంగిల్ బ్రాకెట్, మూడు. కేవలం కలపవచ్చు అర్థం నా జాబితాకు ఏదో. కనుక ఇది రకమైన ఆసక్తికరమైన ఎందుకంటే మీరు ఈ కోరుకుంటే పూర్ణాంకాల కేవలం ఒక సాధారణ జాబితా, మీరు, పూర్తిగా అనుకొనుట. ఆ పూర్తిగా మంచిది. అక్కడే పూర్ణాంకాల చాలు. కానీ మీరు ఏదో చేయాలని కోరుకుంటే మరింత ఖచ్చితంగా, ఆ ఉంది ఇతర విషయాలు, ఆ ఉంది - నేను తెలియదు, లో జాబితాలు అన్ని రకాల అక్కడ, లేదా ఎక్కువ అని ఇతర వస్తువులు ఆసక్తికరమైన, మీరు పూర్తిగా ఆ చేయవచ్చు. ఇది పూర్తిగా మంచిది. ఆపై మీరు ద్వారా iterate అనుకుంటే జాబితా, మీరు ఉపయోగించవచ్చు విధానం మరింత C-ish రకమైన. ఆ లూప్ ఉంది, మీరు ప్రారంభించడానికి ఒక వేరియబుల్, i = "1", లేదా నేను = "0". ఆపై మీరు, గో మరియు iterate మరియు అంశాలను పొందుతారు. కానీ మీరు కూడా ఈ ఉపయోగించవచ్చు మరింత రూబీ వంటి విధానం. కేవలం list.each వంటిది. నాకు తిరిగి, మాట్లాడుతూ జాబితాలో అన్ని అంశాలను. మరియు ప్రతి మూలకం తో, ELEM కాల్. కాబట్టి ఈ నేను కేవలం పేరు ప్రతి అంశానికి ఇవ్వడం. ఇప్పుడు ఈ అన్ని కోసం పునరావృతం అన్నారు అంశాలు, మరియు ELEM, ఏమైందా వి యాక్సెస్ మార్గం ఆ సింగిల్ మూలకం. కాబట్టి మీరు పూర్తిగా కట్టుబడి కాలేదు సి విధానం, కానీ ఈ చాలా పనిచేస్తుంది. మరియు ఇది సరే, అదే విషయం. మరియు ఆ కంటే ఇతర, ఇది నిజంగా ఉంది, రూబీ మరియు HTML ఇంటిగ్రేట్ నిజంగా సులభం మీరు అబ్బాయిలు ఆసక్తి నుండి వెబ్ అప్లికేషన్లు లో. HTML ఖచ్చితంగా విషయం మీరు చాలా ఉపయోగించడానికి వెళుతున్న. మరియు ఇక్కడ మీరు రూబీ ఉంచాలి కోరుకుంటే HTML లో, కేవలం <%, ఇక్కడ ప్రారంభించండి. ఇక్కడ రూబీ మొదలవుతుంది, అంటే. ఆపై%>, రకమైన వంటి కోణంలో PHP. ఇక్కడ రూబీ మీరు అప్పుడు ముగుస్తుంది మరియు కేవలం ఇక్కడ మీ ఉంటే చాలు. ఆపై నేను కొన్ని వేరియబుల్ user.logged_in. రూబీ, మేము సాధారణంగా, ఆ జోడించండి ప్రశ్నించే మార్క్ లేదా ఆశ్చర్యార్థకం మార్క్, ఒక బ్యాంకు పాత్ర వంటి, కేవలం రకమైన మా విధులు మధ్య తేడా. కానీ మీరు ఉంచారు మీ సొంత కొరకు. ఇది మార్చే ఏదో కాదు కార్యాచరణ ఏదైనా. కాబట్టి ఈ ఒక అని నాకు గుర్తు ఫంక్షన్ - మరియు రూబీ లో విధులు, కాకుండా C కంటే, హ్యాకింగ్ వంటి, వారు కుండలీకరణాలు అవసరం లేదు. కాబట్టి ఆ విషయం లాగిన్, ఆ ఒక ఫంక్షన్, ఒక పద్ధతి ఉంది. కానీ మీరు స్పష్టంగా లేదు అక్కడ కుండలీకరణాలు ఉంచాలి. యూజర్ యొక్క లాగిన్ చేస్తే కేవలం, అడుగుతూ మరియు యూజర్ యొక్క లాగిన్, ఇప్పుడు HTML మళ్లీ ప్రారంభమవుతుంది. కాబట్టి స్వాగతం, మరియు ఇక్కడ నేను user.name ప్రింట్. అంతే. కాబట్టి ఆ ఎలా, అందంగా నేరుగా ముందుకు ఉంది మీరు మీ HTML తో రూబీ ఇంటిగ్రేట్. నేను అన్నాడు వంటి మరియు వనరులు,, ఉన్నాయి రూబీ కోసం వనరులను అన్ని రకాల. మీరు అబ్బాయిలు అన్ని తర్వాత ఈ అప్ చూడవచ్చు వీడియో మరియు రెండు స్లయిడ్లను, వెళ్తున్నారు ఆన్లైన్ అందుబాటులో. ఇప్పుడు యొక్క రైల్స్ పొందడానికి వీలు. పట్టాలు ప్రేమ. రైల్స్ - కాబట్టి రూబీ తన భాష. OK, కేవలం PHP వంటి, కేవలం పైథాన్ ఇష్టం. ఇది, C. అధిక స్థాయి భాష ఇష్టం లేదు లో సి యొక్క ఒక మధ్య, తక్కువ స్థాయి భాష రూబీ మీకు లేదు కోణంలో మెమరీ బదిలీ గురించి ఆందోళన, మరియు గమనికలు మరియు విషయాలు కొన్ని రకాల. కానీ రైల్స్ ఈ కార్యక్రమం అని రూబీ రాశారు. మరియు ఈ చేయడానికి, రూబీ ఉపయోగించే ఫ్రేమ్, మీరు చెయ్యడానికి కోసం అద్భుతంగా వెబ్ అనువర్తనాలను రూపొందించడానికి. కాబట్టి మీరు మొదటి న రూబీ ఇన్స్టాల్ మీ యంత్రం, కానీ చాలా యంత్రాలు ఇప్పటికే ఆ. అది పైన పట్టాలు ఇన్స్టాల్. మేము ఆ మాట్లాడటానికి చూడాలని. ఎందుకు రైల్స్? కాబట్టి MVC, ఆ మోడల్ చూడండి కంట్రోలర్ ఉంది మేము కొద్దిగా గురించి మాట్లాడారు బిట్, ఎందుకంటే ప్రతిదీ సులభమైన చేస్తుంది ఇది అని విషయాలు విభజిస్తుంది వివిధ లోకి సంభావితంగా వివిధ మీ అప్లికేషన్ భాగాలు. తక్కువ స్థాయి సమస్యలు తక్కువ సమయం గడిపాడు, మళ్ళీ, మరియు చాలా, చాలా ప్రముఖ ప్రస్తుతం. ఆసక్తి వారందరికీ కాబట్టి ప్రారంభం సన్నివేశం, లేదా ఏదో లో వ్యాపారాలు ప్రారంభమై, ప్రజలు ఎవరు టెక్నాలజీ విపణిలో ప్రస్తుతం వారి స్వంత వ్యాపార ప్రారంభ నిజంగా, రూబీ నిజంగా అభిమానులు అలా ఫాస్ట్ ఎందుకంటే రైల్స్. కాబట్టి మీరు అప్ మరియు ఏదో పొందవచ్చు ఒక రోజు కంటే తక్కువ, మరియు ఆ నిజంగా చాలా బలవంతపు రూబీ ఉపయోగించడానికి వాదన. మరియు 4.0 రైల్స్ - ఇప్పుడు పొయ్యి నుండి చాలా మంచి పని. కాబట్టి 4.0 రైల్స్ - నేను మొదటి విడుదల మార్చిలో ఈ సంవత్సరం. మరియు అది, ఇది అన్ని నిజంగా nice ఉంది నా కొత్త, చల్లని లక్షణాలను రకాల. కాబట్టి రూబీ ఆన్ ఒక ప్రణాళిక నిరంతరం అన్ని కలిగి నవీకరించబడింది కొత్త టెక్నాలజీ. నేను రూబీ ఉపయోగించడానికి ప్రయత్నించాడు మొదటిసారి పట్టాలు, నేను ఈ ఇబ్బంది ఎందుకంటే నేను నా మొదటి వెబ్ అప్లికేషన్ రూపొందించినవారు, మరియు అది ఖచ్చితంగా ఆ వంటి చూసారు. కనుక ఇది కోసం ఆ ఫైళ్ళను అన్ని సృష్టిస్తుంది మీరు మరియు నేను ఏ ఆలోచన - ఈ ఏమిటి? ఇది అన్ని ఆ ఫైళ్ళను రూపొందించినవారు, మరియు నేను మాత్రమే ఒక సాధారణ ప్రోగ్రామ్ వ్యక్తికాదు ఒక సాధారణ ను. ద్విజులు ఏమీ కాలేదు. నేను కొద్దిగా చూద్దాం. కానీ విషయాలు ఒకటి మీరు ఒకసారి ఇది అర్థం, ప్రతిదీ కాబట్టి అవుతుంది చాలా స్పష్టమైన. కాబట్టి మొదటి లోనయినపుడు లేదు మీరు మొదటి వద్ద సృష్టించండి చూసి. కనుక ఏమి జరుగుతుంది రైల్స్ సృష్టిస్తుంది అన్ని ఆ ఫైళ్ళను. కాబట్టి ఆ ఒకటి డిఓసి, డాక్యుమెంటేషన్ ఉంది. DB, డేటాబేస్ సంబంధించిన. లిబ్, లైబ్రరీల్లో లాగిన్ లో. పబ్లిక్, స్క్రిప్ట్, మరియు కొన్ని విషయాలు. ప్రెట్టీ చాలా మీరు ఆందోళన చూడాలని గురించి అనువర్తనం ఫోల్డర్ అక్కడికి, ఉంది. ఆ కలిగి ఆ ఫోల్డర్ మీ అప్లికేషన్. ఇతర ఫైళ్లు అన్ని - వాటిలో కొన్ని ముఖ్యమైనవి, మరియు మీరు ఉన్నాము ఆ గురించి తెలుసుకోవడానికి వెళ్తున్నారు. కానీ వారు కేవలం ఇక్కడ ఉన్నారు ఫ్రేమ్ కలిగి. ఇంటి కాబట్టి మొదటి మూలస్తంభాల్లో మీరు అబ్బాయిలు OK, నిర్మిస్తున్నారు? కానీ అనువర్తనం ఫోల్డర్ - నిజంగా ముఖ్యం ఒకటి. మరియు అనువర్తనం ఫోల్డర్ ఆస్తులు కలిగి. ఆస్తులు చాలా చక్కని ప్రతిదీ ఉంది ఆ వస్తున్నాయో. ఉదాహరణకు చిత్రాలు, ప్రతి అంశం స్టాటిక్ అని డౌన్లోడ్ చేస్తాడు మీ వెబ్సైట్. కాబట్టి చిత్రాలు, JavaScript, CSS - విషయాలు కొన్ని రకాల ఆస్తులు. నియంత్రికల - మేము గురించి మరింత చర్చ చూడాలని కంట్రోలర్లు, నమూనాలు, ఏవి మరియు రెండవ లో ఖాళీలను. మరియు సహాయకులు విధులు అని మీరు మీ కోడ్ పైగా అన్ని ఉపయోగించవచ్చు మీరు ఏదో సహాయం. వంటి విధులు కోసం, లాగిన్ ఉదాహరణకు - user.loggedin. ఆ బహుశా మీరు ఒక ఫంక్షన్ ఉంది మీ అన్ని ప్రాంతాలలో ఉపయోగించాలి అప్లికేషన్. కాబట్టి మీరు ఇలా ఉంచవచ్చు మీ సహాయక. Mailers - మీరు పంపిన చూడాలని ఉంటే ఆ మీ వినియోగదారులు ఒక ఇమెయిల్, మీరు ఒక మెయిలర్ ఉపయోగించాలనుకుంటున్నాను. మరియు నమూనాలు మరియు వీక్షణలు, మేము చేయబోతున్నామని ఇప్పుడు ఆ గురించి మాట్లాడటానికి. కాబట్టి మోడల్ చూడండి కంట్రోలర్, ఆ న రూబీ ప్రాథమిక మూలస్తంభంగా పట్టాలు, మరియు అత్యంత చట్రాలు రోజుల్లో, నిజాయితీ ఉండాలి. మరలా, మేము మా కోడ్ అన్ని వేరు మూడు వేర్వేరు భాగాలుగా. మోడల్ - మోడల్ ప్రాథమికంగా డేటాబేస్. ఇది డేటాబేస్ లో విషయాలు నిర్వహిస్తుంది. కాబట్టి డేటాబేస్ లో ప్రతి పట్టిక ఒక ఉంది నమూనాగా ఫైలు సంబంధిత. కనుక ఇది ఒక పట్టిక రకంగా మీ వినియోగదారులకు. కాబట్టి మీరు వంటి సమాచారాన్ని నిల్వ చేస్తున్నారు యూజర్ పేరు, వారి ఇమెయిల్స్, వారి చిరునామా, వారి పాస్వర్డ్ను, మరియు ఆ వంటి విషయాలు. మీరు ఒక ఫైల్ లో చూడాలని యూజర్ RB అని మోడల్ - రూబీ కోసం RB. మరియు అక్కడ మీరు అన్ని చూడాలని పద్ధతులు మరియు చరరాశుల. వేరియబుల్స్ అనుగుణంగా వెళ్తున్నారు యూజర్ పేరు, ఇమెయిల్, మరియు ప్రతిదీ. మరియు మీరు పద్ధతులు చూడాలని. ఆ సంబంధించిన ఏదో ఉంటుంది - మీరు ఈ సమాచారం నిర్వహించడానికి చూడాలని డేటాబేస్ లో. కోళ్లు తో ఒక నమూనా సృష్టించడానికి, మీరు కోళ్లు ఉత్పత్తి ఉపయోగించండి. మరియు, రైల్స్ మీరు విషయాలు సృష్టించడానికి నిజానికి టెర్మినల్ అవసరం. కనుక ఇది చాలా టెర్మినల్ ఉంది ఆధారిత కార్యాచరణ ప్రణాళిక. మీరు టెర్మినల్ లాగిన్, మరియు కోళ్లు, మోడల్ ఉత్పత్తి చెయ్యాలి. నమూనాకు పేరు వినియోగదారు. నేను కేవలం రెండు కలిగి వేరియబుల్స్ అనుకుంటే, నా పట్టికలో రెండు నిలువు,. కాబట్టి ఆ ఇమెయిల్ ఉంది. ఇమెయిల్ ఒక రకం స్ట్రింగ్. పాస్వర్డ్, పాస్వర్డ్లు కూడా ఒక రకం స్ట్రింగ్. ఆ రెండు విషయాలు ఉంటాయి. ఇది ఒక సాధారణ యూజర్ పట్టిక ఉంటాము. కానీ మీరు పూర్తిగా ఒక వంద చాలు కాలేదు మీరు కోరుకుంటే విషయము. మరియు కోళ్లు కూడా, ఇది చాలా చేస్తుంది అన్ని కలిగి చాలా సాధారణ డేటాబేస్ సంబంధాల రకాల. కాబట్టి సాధారణంగా, మీరు పట్టికలు ఉన్నప్పుడు మీ డేటాబేస్, వారు చాలా లేదు స్వతంత్ర ఒకదానికొకటి. యొక్క అధికమవుతారు. మీరు కొనుగోలు మరియు విక్రయించదలిచాను ఆన్లైన్ ఉత్పత్తులు. OK, కాబట్టి మీరు పేరు మీరు ఒక వెబ్ సైట్ ఉత్పత్తులు కొనుగోలు మరియు విక్రయించదలిచాను. కాబట్టి ప్రతి వినియోగదారు అనేక ఉత్పత్తులు కలిగి ఈ యూజర్ విక్రయించడానికి సిద్ధంగా ఉంది. ప్రతి వినియోగదారుడు అనేక లావాదేవీలు ఉంది కొనసాగుతున్న, లేదా అలాంటిదే. మరియు లావాదేవీలు మరొక యూజర్ తో. ప్రతి లావాదేవీ చెందినది రెండు వేర్వేరు వినియోగదారులకు. కొనుగోలు మరియు ఆ యూజర్ విక్రయించడం ఆ యూజర్. కాబట్టి ఆ పిలవబడే ఉన్నాయి డేటాబేస్ సంబంధాలు. మరియు ఇక్కడ మేము ఖచ్చితంగా ఆ కీవర్డ్ కలిగి, అనేక ఉంది మరియు చెందుతుంది. ఆ అతి ముఖ్యమైన వ్యక్తులు. మరియు మీరు కేవలం కోసం, చెప్పడానికి వెళుతున్న ఉదాహరణకు, ఈ ఒక యొక్క ఉదాహరణ హార్వర్డ్ 2017 వెబ్సైట్ లో మోడల్. మళ్ళీ, ఇక్కడ విద్యార్థులు - వెబ్సైట్ విద్యార్థి ప్రతి విద్యార్థి ఒక మోడల్, ఒక డేటాబేస్ టేబుల్ ఉంది. ప్రతి విద్యార్థి అనేక పుస్తకాలు కలిగి మీరు ఎందుకంటే చెప్పగల్గినవి, మీ ఇష్టమైన ఏవి పుస్తకాలు, కుడి. కాబట్టి ప్రతి పుస్తకం చెందినది ఇక్కడ ఒక విద్యార్థి డౌన్. మరియు అందుబాటులో కేటాయించండి - కేవలం ఆ, మాట్లాడుతూ వేరియబుల్స్ ఉన్నాయి. ఆ వేరియబుల్స్ అందుబాటులో ఉంటాయి ఈ నమూనా నుండి. మరియు వేరియబుల్స్ రచయిత యొక్క ఉంటాయి పుస్తకం, వివరణ, కళా, మరియు పుస్తకం శీర్షిక. కాబట్టి కేవలం సమాచారం పుస్తకం గురించి. మరియు ఇక్కడ నేను ఒక పద్ధతి కలిగి కేవలం ప్రతిదీ రకాల. కేవలం వార్తలు, కాబట్టి నిర్వచిస్తూ రోదిస్తాడు తనకు, ఇక్కడ నా పద్ధతి వస్తుంది. Self.sorted_all. ఆ కేవలం, ప్రతిదీ క్రమబద్ధీకరించబడతాయి నాకు ఇవ్వండి మరియు మీరు అమలు ఎలా వేరు అల్గోరిథం, ఇది చాలా సులభం. కానీ సాధారణంగా, ఈ ఎంత ఒక మోడల్ OK, కనిపిస్తోంది. ఎవరైనా గురించి ప్రశ్నలు ఉందా ఈ డేటాబేస్ విషయం? సంబంధాలు? స్పష్టం? అవును. ప్రేక్షకులు: మీరు చెయ్యగలరు విధమైన అల్గోరిథం? GABRIEL గుయిమారీస్: విధమైన అల్గోరిథం, OK. మీరు రూబీ సింటాక్స్ ఉపయోగిస్తారు ఎప్పుడు, స్పష్టం చేస్తాడు. కానీ సాధారణంగా, elems Book.all ఉంది. అందువల్ల నా మోడల్ యొక్క పేరు. మీరు ఒక నమూనా సృష్టించడానికి, అది వస్తుంది మీరు nice పద్ధతులు అన్ని రకాల. కాబట్టి dot.all ఒక పద్ధతిగా అన్ని పుస్తకాలు తిరిగి. కానీ, కనుగొనేందుకు ఉదాహరణకు, కోసం అన్వేషణ ఒక పుస్తకం ఆ పుస్తకం తిరిగి, లేదా అలాంటిదే. కాబట్టి elems ప్రతిదీ ఉంది. మరియు నేను elems.sort మాట్లాడుతూ నేను. క్రమీకరించు ఒక అంతర్నిర్మిత రూబీ విధి. మరియు, AB చేయండి. కాబట్టి ఈ మళ్ళీ ఉంది - మీరు క్రమం చూడాలని. కానీ మీరు పొందడానికి వెళుతున్న నాకు ఈ వాదన. మరియు వాదన ఉపయోగిస్తుంది - ఈ ఒకటి నిజానికి రూబీ లో కష్టం విషయాలు, ఈ పనిని. కానీ మీరు ప్రతి విషయం ఒకసారి చాలా, చాలా సహజమైన వస్తుంది. కాబట్టి AB, ఈ స్థలం అని నేను ఉపయోగించే వెళుతున్న హోల్డర్స్ - వంటి నేను ఉపయోగించే వెళుతున్న చలనరాశులు, ఒక అండ్ బి అని కావడం. మరియు ఆ పుస్తకాలు ఉన్నాయి. విధమైన పోల్చడానికి అవసరం కాబట్టి ఎందుకంటే అంశాలు, గుర్తుంచుకోవాలి? కాబట్టి మీరు, మీరు విషయాలు ఇరు రెండు అంశాలను సరిపోల్చండి. నేను వెళుతున్న ప్రతిసారీ మీరు పోల్చి చూడాలని - ఈ నేను ప్రయాణిస్తున్న నేను, ఉంది ఒక వాదన క్రమం. మరియు వాదన ఇదేనా నుండి ఏమి OK, మరియు ఇక్కడ? మరియు ఈ వాదన, కేవలం చెప్తుంటాడు పోల్చడానికి విధమైన ఎలా. తాకవచ్చు ఇక్కడ పని, కానీ తో పోల్చి చేస్తుంది వారి అల్గోరిథం పోల్చడం డిఫాల్ట్. నేను ఒక నిర్దిష్ట లో పోల్చడానికి కావలసిన మార్గం, అవి, ఆడవాళ్లకు , రూపొందించినవారు చేసినప్పుడు ప్రతి పుస్తకం రూపొందించారు. కాబట్టి నేను చెప్పడం నేను, మొదటి పేరు చెప్పటానికి పుస్తకం ఒక మరియు పేరు బి వంటి రెండవ పుస్తకం, నేను విధమైన క్రమం అనుకుంటే ఈ b.created_at ఆధారంగా ఏదో విచిత్రమైన చిహ్నం, a.created_at. మరియు ఆ విచిత్రమైన చిహ్నం షార్ట్హాండ్ కోసం కంటే పెద్దదిగా ఉంటే ఇతర, 1 తిరిగి. ఒక సమానం ఉంటే ఇతర, సున్నా తిరిగి. దాని కంటే తక్కువ ఉంటే ఇతర, తిరిగి మైనస్ 1. తెల్లవార్లూ విచిత్రమైన గుర్తు ఏమిటి. కానీ ముఖ్యం కాదు. నేను మీరు అబ్బాయిలు పొందుటకు కావలసిన, అర్థం ఇప్పుడు ఆలోచన డేటాబేస్ - మీరు అక్కడ మోడల్ కలిగి. కాబట్టి మీరు గురించి ఆందోళన లేదు కనెక్ట్ SQL స్టేట్మెంట్ ఉపయోగించి, మరియు ఆ వంటి విషయాలు. ఇది తలుపులు సృష్టించవచ్చు SQL ఇంజెక్షన్ మరియు అన్ని భద్రతా సమస్యలకు ఎటువంటి. ఈ సందర్భంలో, మీరు లేదు వద్దులే. మీరు book.all వంటి పద్ధతులను ఉపయోగిస్తారు. మరియు,, కోర్సు యొక్క నేపథ్యంలో మీ డేటాబేస్ అన్నారు, మరియు అది ఉంది ఒక SQL ప్రకటన ఉపయోగించడానికి వెళుతున్న అన్ని పుస్తకాలు పొందుటకు. కానీ మీరు లేదు వద్దులే. ఆ సరే, takeaway ఉంది? మరియు మీరు ఒక belongs_to ప్రకటన ఉన్నప్పుడు ఈ వంటి, అని మీరు ఒక పుస్తకం వస్తువు, మీరు ఒకసారి విద్యార్థుల ఏమిటి చూడగలరు. కాబట్టి ఇది విద్యార్ధి ఈ పుస్తకం ఉంది? కాబట్టి మేము కేవలం book.student ఉపయోగించే, మరియు విద్యార్ది ఏమిటో ఇస్తుంది. మరియు ఒక యదార్థ కలిగి ఉంటాయి ఉంది. OK, ఇప్పుడు వీక్షణ. కాబట్టి మోడల్ సంకర్షణ ఏమిటి డేటాబేస్ తో, కుడి? వీక్షణ ప్రాథమికంగా HTML, మరియు CSS, మరియు కొన్ని జావాస్క్రిప్ట్. మరియు ఆ యూజర్ నిజానికి చూస్తాడు. యూజర్ మాత్రం కాదు మీ డేటాబేస్ చూడండి. అతను నుండి కొన్ని డేటా చూడండి వెళుతున్న డేటాబేస్ దర్శని ఎంబెడ్. రూబీ ఆన్ నిజంగా చేస్తుంది ఖాళీలను చేయడానికి సాధారణ. మొదటి, ఇది ఇప్పటికే సృష్టిస్తుంది ఎందుకంటే మీరు కోసం, బాక్స్, ఒక లేఅవుట్ బయటకు. ఒక లేఅవుట్ ప్రాథమికంగా విషయం - మీ పేజీల అన్ని పైన ఒక లోగో ఉంటే మరియు, నేను, కొన్ని మెను తెలుసు లేదా లేదు అలాంటిదే, మీ పేజీలకు ఆ సాధారణ లో వాటా, మీరు లేదు చాలా చాలా, అనేక HTML సృష్టించాలి అన్ని ఫైళ్లు కలిగి ఫైళ్ళను అదే HTML కోడ్. నేను మీరు ఎందుకంటే ఆ మూగ అర్థం వివిధ ఫైళ్లను మధ్య కోడ్ పునరావృత. ఆ ఖచ్చితంగా ఒక మంచి విధానం కాదు. కాబట్టి రూబీ ఆన్ సృష్టిస్తుంది మీరు ఈ లేఅవుట్. మరియు ఈ కేవలం నా పేజీలు సెలవిచ్చుచున్నది ఈ HTML కలిగి ఈ తల వెళ్తున్నారు ఇక్కడ టైటిల్, మరియు ఉంటాయి శైలి షీట్ లింక్ ట్యాగ్. ఇక్కడ నా CSS లో ప్లగ్. ఇక్కడ నా జావాస్క్రిప్ట్ లో ప్లగ్ మరియు కొన్ని మెటా టాగ్. ఆ వారు కేవలం ఏదో ఉంది మీరు కోసం స్వయంచాలకంగా చేయండి. ఆపై, ఇప్పుడు, తల ముగింపు ఇక్కడ శరీరం మొదలవుతుంది. ఇప్పుడు ఈ నా అసలు కంటెంట్ ఉంది. నేను వంటి, ఒక ఏదో చాలు కోరుకున్నారు ఉంటే ఇక్కడ మెను, నేను పైగా ఉంచుతాడు ఈ స్థలం, లేదా అలాంటిదే, నా పేజీల అన్ని ఇది చేసినట్లు కాబట్టి. కాబట్టి లేఅవుట్ భాగస్వామ్యం అన్ని పేజీలు. ఇప్పుడు ఇక్కడ ఆ దిగుబడి కేవలం ఏ, చెప్పారు విషయం పేజీలు ఈ కేవలం, లో ఉంది ఆ కంటెంట్ ప్లగ్ ఇక్కడ పేజీ, OK? ఇప్పుడు ఈ, ఉదాహరణకు, ఉంది చేస్తాడు ఒక పేజీ యొక్క కంటెంట్ ఈ దిగుబడి ప్రకటన ప్లగ్ స్వయంచాలకంగా రైల్స్ ద్వారా. కానీ ఈ భాగస్వామ్యం ఒక లేఅవుట్ ఉంది అన్ని పేజీలు. మరియు ఈ ఒక పేజీ యొక్క ఒక ఉదాహరణ. మరియు ఈ ఖచ్చితంగా పేజీ ఉంది అన్ని దిట్ట. కాబట్టి ఈ టాప్ ఒక ప్రాథమిక HTML పట్టిక ఉంది. కాబట్టి పుస్తకాలు జాబితా, ఒక శీర్షిక, రచయిత, వివరణ, కళా. మరియు ఇక్కడ మేము మళ్ళీ, కొన్ని, ఉపయోగించడానికి రూబీ వాక్యనిర్మాణం, @ books.each-- @ రకమైన అని మీ వేరియబుల్ ఒక కోణంలో ప్రపంచ ఉంది. ఈ వేరియబుల్ నిజానికి ఎందుకంటే నియంత్రిక లో ప్రకటించింది మీరు ప్రస్తుతం చూడండి చూడాలని. మంజూరు కోసం కానీ తీసుకున్న ఈ @ పుస్తకాల జాబితా వేరియబుల్ను ఉంది పుస్తకాల అన్ని. కాబట్టి books.each,, మళ్ళీ, ఈ ఉంది మీరు పేరు ఎలా అనుకుంటున్నారు మాట్లాడుతూ iterators ప్రతి మేము లేదు కాబట్టి నాలుగు గురించి ఆందోళన, నేను Int బ్లా, బ్లా, బ్లా. మేము ప్రతి పడుతుంది అంశాలు మరియు వాటిని ఉపయోగించే. కాబట్టి ఈ పుస్తకం, మరియు అప్పుడు ముద్రణ ఇక్కడ. book.title, book.author, book.description, మరియు బ్లా, బ్లా, బ్లా. మరియు ఇక్కడ ఒక LINK_TO ఉంది. కాబట్టి LINK_TO కేవలం ఒక లింక్ ట్యాగ్ ఉంటుంది ఒక యూజర్ క్లిక్ మరియు ఆ మరో వెబ్సైట్ వెళుతుంది. LINK_TO, ఆ పుస్తకం చూపించు. యూజర్ చాలా ఆసక్తి ఉంటే ఈ పుస్తకం, అప్పుడు అతను ప్రదర్శన క్లిక్ చెయ్యండి. లేదా తనకు ఉంటే, మార్చు క్లిక్ పుస్తకం సవరించడానికి. అతను తొలగించడానికి అనుకొంటే లేదా, నాశనం డేటాబేస్ నుండి పుస్తకం. OK, అర్ధమే లేదు? గుడ్. చివరగా, నియంత్రిక. కాబట్టి ప్రాథమికంగా నియంత్రిక ఉంది మధ్య ఇంటర్ఫేస్ మోడల్ మరియు వీక్షణ. కాబట్టి మోడల్ భాగం మీ డేటాబేస్ కలిగి కోడ్ - డేటాబేస్ లో ప్రతి టేబుల్ ఉంది ఒక ఫైల్ మోడల్, అందువలన న. మరియు ఎలా మోడల్ చేయండి మరియు వీక్షణ సంకర్షణ? కాబట్టి, నియంత్రిక ద్వారా. అంటే ఒక కంట్రోలర్ ఉంది ఏదో కోసం నమూనా వంటి, ఉదాహరణకు, అంతర్గత పుస్తక అన్ని ఉంచాలి ఒక వేరియబుల్. ఈ ఒక వంటి, పుస్తకాలు @. మరియు ఈ తో ప్రపంచ ఉండాలి విషయం ఎందుకంటే చేస్తాడు వీక్షణ చూడండి. ఇది లోపల ఉపయోగించవచ్చు మాత్రం కాదు నియంత్రిక కూడా. మరియు అది కేవలం సమాచారాన్ని తగ్గిస్తుంది వీక్షణ ఉపయోగించడానికి అన్నారు. ఉదాహరణకు, నియంత్రిక తనిఖీలు యూజర్ ఆన్లైన్ ఉంటే. మరియు దానిని ఆ చేస్తుంది? ఇది వాస్తవానికి మోడల్ అడుగుతుంది మోడల్ ఎందుకంటే వినియోగదారు గురించి సమాచారం. ఇది పుస్తకాలు, ఒక వినియోగదారులు టేబుల్ ఉంది పట్టిక, ఇతర పట్టికలు. కాబట్టి నియంత్రిక అడుగుతుంది యూజర్ ఆన్లైన్ ఉంది. యూజర్ ఆన్లైన్, నియంత్రిక ఉంటే ఒక కుకీ పెట్టటం వంటి విషయాలు నిర్వహిస్తుంది, లేదా స్టాంప్ ఉంచాలి అలాంటిదే, యూజర్ ఆన్లైన్ అని చెప్పటానికి. మరలా లాగిన్ అవసరం. మరియు అది అనే వేరియబుల్ లోడ్ చేస్తాడు యూజర్, ఉదాహరణకు, వ్యూ చూడండి. మరియు ఇక్కడ ఏదో, ఉదాహరణకు, user.name స్వాగతం. కాబట్టి చెప్పాను వెళుతున్న, స్వాగతం జాన్, స్వాగతం జేమ్స్ - అలాంటిదే, కుడి? కాబట్టి ఆ వేరియబుల్స్ అన్ని ఉపయోగిస్తారు దృష్టిలో లోడ్ కావడం నియంత్రిక మరియు ఉంటాయని మోడల్ నుండి ఆగింది. ఈ ఒక నియంత్రిక ఉదాహరణ. కాబట్టి మేము, ప్రధానంగా, ప్రతి కలిగి - మేము ఆ విషయాలు చర్యలు కాల్. కాబట్టి ఇండెక్స్ చర్యే. ఇది ఒక రూబీ ఫంక్షన్. ఇది అక్కడ ఒక రూబీ విధానం యొక్క. కానీ నియంత్రిక కాల్స్ కోసం ఆ విషయాలు చర్యలు. మరియు ప్రతి చర్య ఒక మార్గం సంబంధించినది. ఉదాహరణకు ఇక్కడ ఈ మార్గం,, ఒక పొందిన ప్రకటన / పుస్తకాలు ఉంది. కాబట్టి మీరు harvard2017.com/books వెళ్ళండి ఉంటే, ఏ జరిగే అవకాశముంది ఈ కోడ్ ఉంది అని అన్నారు. మరియు ఒక ఫైల్ ఉంది - ఈ నిజమైన శీఘ్ర తెరవండి. ముడి ఫైలు అనే ఫైల్ ఉంది. ఇది తెరవడం కాదు. కాబట్టి ముడి ఫైలు అనే ఫైల్ ఉంది ప్రాథమికంగా సరిపోలే - ఓహ్, ఇప్పుడు అది తెరవడం. ఇక్కడ, మార్గాలు. కాబట్టి ప్రాథమికంగా, ఒక జాతి మ్యాచ్ ఉదాహరణకు, ఆక్టివేషన్ / కొత్త నియంత్రిక లో ఏదో. కాబట్టి అని ఈ నియంత్రిక ఉంది క్రియాశీలతను నియంత్రిక, కానీ ఇక్కడ, మేము ఉదాహరణకు, పుస్తకాలు కలిగి. కాబట్టి సరిపోలే - నియంత్రిక, పుస్తకాలు / కొత్త పుస్తకాలు, కొత్త చర్య. కాబట్టి ప్రాథమికంగా, చాలా సూటిగా విషయాలు. మరియు ఇక్కడ, మీరు / పుస్తకాలు పొందడానికి కలిగి ఉంటే, పుస్తకాల ID స్లాష్,, కొత్త స్లాష్ మీరు ఆ వెళ్ళి చూడాలని అక్కడ రూబీ పద్ధతి. ఇక్కడ, ఈ ఇండెక్స్ చేస్తోంది కేవలం పుస్తకం లోడ్. ఆ ఏదో ఉంది - నేను ఒక లాగ్ పుస్తకాల అన్ని లాగిన్. మరియు అది అన్ని క్రమం. కాబట్టి ఈ తిరిగి వెళుతున్న అన్ని విభజించిన పుస్తకాలు. ఈ డేటాబేస్ లో, మళ్ళీ, ఉంది. కాబట్టి ఈ నమూనా యొక్క ఒక పద్ధతి. మీరు ఈ పద్ధతి చూశారు నమూనాలో రూపొందించినవారు. ఇప్పుడు ఈ అన్ని పుస్తకాలు లోడ్ మరియు ఒక వేరియబుల్ పెట్టటం అని వీక్షణ చూడవచ్చు. మీరు మధ్యలో, కాదు ఎందుకంటే మీ HTML కోడ్, మీరు కాల్ కాదు నేరుగా మోడల్ నుండి ఏదో, రెండు కారణాల ఎందుకంటే. మొదటి, భద్రతా కారణాల కోసం ఎందుకంటే అది నిజంగా ఆసక్తికరమైన కాదు నేరుగా లోపల సమాచారాన్ని లోడ్ డేటాబేస్ లో ఉంది ప్రతి HTML. మరియు రెండవ, మీ ఉంచడానికి కోడ్ నిజంగా నిర్వహించారు. కాబట్టి ఖచ్చితంగా వేరు వివిధ ప్రాంతాల. ఈ లో కాబట్టి BookLog.sorted_all, డేటాబేస్ మరియు ఈ ఉంచి అన్నారు పుస్తకాలు @ వేరియబుల్. ఇప్పుడు ఈ వేరియబుల్ అందుబాటులో ఉంది మీ HTML కోడ్ లోపల. కాబట్టి మీరు పుస్తకాలు అన్ని ఉంచవచ్చు మేము ఇక్కడ, అక్కడ చేశాడు. ఈ చరరాశి. ఫార్మాట్ | | మరియు సందర్శనల చేయండి respond_to, ఈ రూబీ సింటెక్స్ కేవలం ఒక రకమైన కోసం ఉంది యూజర్ కోసం నాకు అడుగుతోంది ఉంటే HTML కోడ్, నేను వెళుతున్న HTML కోడ్ తో స్పందించడం. యూజర్, JSON కోడ్ తో నన్ను అడుగుతాడు వెబ్ అనువర్తనాలను ఉపయోగించడానికి ఏదో ఇది తాము మధ్య సంభాషించడానికి, వారు సాధారణంగా JSON లేదా కొన్ని ఇతర ఉపయోగించడానికి విషయం రకం. కాబట్టి అది కేవలం ఆ ఉపయోగించి స్పందిస్తుంది రెండు వేర్వేరు ఫార్మాట్లలో. కానీ ఒక సాధారణ యూజర్ కోసం, ఈ ఇక్కడ ఉండాలి కాదు. మీరు తో స్పందించడం HTML, మరియు ఆ మంచిది. కాబట్టి నిజంగా ఆందోళన లేదు శర్మలకు. ఈ లో కోడ్ మాత్రమే లైన్ మా ఇది HTML నుండి యొక్క లోడింగ్ వంటి నియంత్రణ డేటాబేస్ ఏదో లో ఉంచడం వీక్షణ ద్వారా. ఆపై కొత్త, ఇక్కడ నేను పుస్తకాలు సృష్టించడం నేను. కానీ పుస్తకాలు సృష్టించడానికి, నేను ఒక విద్యార్థి అవసరం నేను విద్యార్థి తెలుసుకోవాలి ఎందుకంటే దీని పుస్తకాలు ఈ కుడి, చెందిన. విద్యార్థి = విద్యార్థి @ కాబట్టి. విద్యార్థి, మళ్ళీ, మేము ప్రారంభిస్తున్నారు ఒక పెద్ద S మోడల్ విద్యార్థి. సరే, ఈ, మోడల్ విద్యార్థి ఈ మోడల్ పుస్తకం ఉంది. Student.find, నేను కనుగొనేందుకు వెళుతున్న ఒక పారామితులు ID ఉపయోగించి విద్యార్థి. params.id, ఈ కేవలం నాకు విలువని ఉంది ఆమోదించింది ఈ ID యొక్క - మరియు URL. ఆ విద్యార్థి కోసం శోధించండి. మరియు మొదటి, మేము తనిఖీ చూడాలని విద్యార్థి కొన్ని పాటలు కలిగి ఉంటే మరియు బ్లా, బ్లా, బ్లా. మరియు ఈ ఇప్పటికే నిర్వహిస్తుంది కేసు ఉన్నప్పుడు విద్యార్థి ఉదాహరణకు, లేదు. ఆపై, వేరే, మేము స్పందించడం HTML ఉపయోగించి ఇదే. మరియు తర్వాత మేము వినియోగదారు తెలియజేయవచ్చు వారి పాటలు సృష్టించడానికి. కాబట్టి ఈ కొత్త ఉంది. న్యూ సాధారణంగా, వీలు కోసం ఉపయోగిస్తారు యూజర్ ఏదో సృష్టించడానికి. ఆపై సృష్టించడానికి చర్య ఉంది సాధారణంగా కోసం ఉపయోగించబడిన - నిజానికి డేటాబేస్ లో పాటలు చాలు లేదా అలాంటిదే. కానీ మీరు రైల్స్ ఉపయోగించడం ప్రారంభించడానికి, ఆ విషయాలు ఉంటాయని మరింత స్పష్టమైన, చాలా. OK, చల్లని. ఏదైనా ప్రశ్నలు ఇప్పటివరకు? ఇది నియంత్రణలతో అర్ధమే చేస్తుంది, నమూనాలు, ఖాళీలను - అవును? మళ్ళీ మీ రైల్స్ అప్లికేషన్ లో - కాబట్టి ఆ అన్ని ఇక్కడ చూడవచ్చు. కాబట్టి మీరు అనువర్తనం, కంట్రోలర్లు, ఆ కలిగి నా కంట్రోలర్లు అన్ని ఉన్నాయి. ఉదాహరణకు, పుస్తకాలు నియంత్రించడానికి. మేము ఇప్పుడు చూసిన ఒకటి. ఆపై వీక్షణలు. మరియు ప్రతి నియంత్రిక ఒక ఉంది సంబంధం వీక్షణ, కుడి? కాబట్టి స్వయంచాలకంగా మీరు ఈ కాల్ చేసినప్పుడు ఇక్కడ ఇండెక్స్, ఉదాహరణకు, లేదా మీరు ఈ పుస్తకాలు కొత్త, తరువాత వీక్షణ కాల్, పుస్తకాలు, కొత్త అని అన్నారు. కాబట్టి రైల్స్ ప్రతిదీ చేస్తుంది స్వయంచాలకంగా మీరు కోసం. కాబట్టి ప్రతి నియంత్రిక ఒక అనుసంధానించింది వీక్షించడానికి మరియు నమూనాలు అన్ని - ఇక్కడ నేను ఒక రెండు, మూడు, నాలుగు, ఐదు నమూనాలు. కానీ ఈ ఒక విద్యార్థి మోడల్, ఉంది ఆ వేరియబుల్స్ అని అన్ని విద్యార్థులను - స్థానికీకరణ, పుట్టిన తేదీ. విద్యార్థులు కొద్దిగా ఎక్కువ ఉంది క్లిష్టమైన ప్రతి విద్యార్థి ఎందుకంటే మరింత భిన్నమైన పద్ధతిలో దానికి సంబంధించిన. కానీ ఈ కేవలం నిర్వహణ ఉందని పట్టిక అన్ని డేటాబేస్ లో విద్యార్థులు. మరియు, OK, రైల్స్ ఇన్స్టాల్. రైల్స్ సంస్థాపిస్తోంది, నిజాయితీ ఉండాలి, సాధారణ విషయం కాదు. కానీ మీరు ప్రతిదీ గత పొందడానికి, ఇది చాలా, చాలా సులభం. కాబట్టి రైల్స్ ఇన్స్టాల్, మీరు కేవలం వెళ్ళండి వెబ్సైట్, rubyandrails.org / డౌన్లోడ్ మరియు వారి సూచనలను అనుసరించండి. ప్రతిదీ డౌన్లోడ్. మరియు మీరు, ఉపకరణం లో గాని ఆ చేయవచ్చు న CS50 ఉపకరణం, లో Mac లో Windows, లేదా ఏ ఆపరేటింగ్ మీ ఎంపిక విధానం. రూబీ ఆన్ ప్రతిదీ అమలు. ఆడ్స్ మీరు ఇప్పటికే రూబీ ఇన్స్టాల్ ఉంటాయి మీరు ఒక Mac లేదా ఉంటే - ఆటలు లో నేను రూబీ భావిస్తే - నేను ఖచ్చితంగా తెలియదు. ఆపై మీరు కేవలం ఈ ఇన్స్టాల్. మరియు మీరు ఒక కొత్త సృష్టించడానికి కావాలా వెబ్ అప్లికేషన్, మీరు రైల్స్, కొత్త, బ్లాగ్ చేయండి. పట్టాలు, కొత్త - నేను తెలియదు - మీ వెబ్సైట్ పేరు. మరియు అది చాలా సులభం. ఇది ఆ అన్ని సృష్టించడానికి జరగబోతోంది ఫైళ్లు నేను మీరు చూపించారు. అయితే నమూనా, వీక్షణ, మరియు నియంత్రిక మాత్రం లేదు ఇంకా జనాభా. మీరు అక్కడికి వెళ్ళడానికి చూడాలని మరియు ఆ మూడు ఫోల్డర్లను జనసాంద్రత. అసమానత, మీరు మోడల్ సృష్టించాలనుకునే, ఉన్నాయి ఉదాహరణకు, ఒక అమలు మొదటి మోడల్. మరలా, ఎల్లప్పుడూ చిన్న కాటు ప్రయత్నిస్తున్న ఒక సమయంలో సమస్య బిట్స్. ఆపై సృష్టించడానికి, సే తెలియజేయండి మీ వినియోగదారులకు మోడల్. ఆ మొదటి విషయం యూజర్లు ఉంటే. అప్పుడు నేను ఒక మోడల్ సృష్టించాలనుకునే మేము ఇక్కడ చూపించింది వలె. అప్పుడు పట్టాలు, ఉత్పత్తి, మోడల్, వినియోగదారు, మరియు ఇమెయిల్స్ స్ట్రింగ్ - మేము ఇక్కడ కలిగి. మరియు అవును, ఆ మోడల్ సృష్టించడానికి. పట్టాలు మోడల్ వాడుకరి ఇమెయిల్ ఉత్పత్తి: స్ట్రింగ్ పాస్వర్డ్ను: స్ట్రింగ్. ఆపై మీరు ఒక నియంత్రిక సృష్టించడానికి ఆ యూజర్ వ్యవహరిస్తుంది. మరియు మీరు కొత్త వినియోగదారులు సృష్టించడానికి మరియు చేయవచ్చు విషయాలు కొన్ని రకాల చేయడానికి. ఆపై మీరు సృష్టించడం కొనసాగండి మీ వెబ్ సైట్ యొక్క మిగిలిన. కూల్, ప్రశ్నలు? అవును. ప్రేక్షకులు: [వినబడని] GABRIEL గుయిమారీస్: అవును, అవును, మీరు ఖచ్చితంగా వీక్షణ లోకి వెళ్ళాలి. ఒక మంచి ప్రశ్న. కాబట్టి ఏముందీ నిజానికి ఉంది మీ HTML కలిగి. కనుక ఇది వినియోగదారులు ఉంది చూడటానికి వెళ్తున్నారు. మళ్ళీ, ఇక్కడ, ఈ ఒక ఉంది ఒక అభిప్రాయాన్ని ఉదాహరణకు. ఇది HTML కోడ్ మరియు రూబీ ఉంది అదే సమయంలో కోడ్. కాబట్టి రూబీ కోడ్ విషయాలు ఉంచాలి ఉంది డేటాబేస్ నుండి, ఉదాహరణకు, కంట్రోలర్ లోడ్ చేస్తారు. కాబట్టి ఆ వేరియబుల్ పుస్తకాలు @, ఉదాహరణకు, పుస్తకాల అన్ని మరియు టేబుల్ ఉంది డేటాబేస్ పుస్తకాలు. మేము అప్పుడు ఖచ్చితంగా చేసిన నియంత్రిక లో. మరియు వీక్షణ - మీ వెబ్సైట్ ఆఫ్ పేజీల ప్రతి ఉంది ఒక సంబంధం వీక్షణ పొందబోతున్నారు. మీరు హోమ్ పేజీకి వెళ్ళండి చేస్తే, మొట్టమొదటి పేజీ, harvard2017.com. ఒక పేజీ చూపిస్తుంది. ఆపై మీరు ప్రొఫైల్ స్లాష్ వెళ్ళండి. ఒక నియంత్రిక వెళుతున్న ఒక ప్రొఫైల్ నియంత్రిక ఉంది. మరియు ప్రొఫైల్ నియంత్రిక అన్నారు మీరు ప్రొఫైల్ వీక్షణ ఇవ్వాలని. మరియు ప్రొఫైల్ వీక్షణ చూడండి అన్నారు కొంతవరకు ఈ వంటి, కానీ అది వెళుతున్న యూజర్ గురించి సమాచారం, మరియు పుస్తకాల గురించి. కనుక ఇది HTML కోడ్ మరియు CSS మరియు ఆ ఉంది ఒక వాడుకదారుడు చూసే విషయాలు రూబీ కోడ్ తో - వాస్తవానికి విషయాలు ముద్రిస్తుంది డేటాబేస్ నుండి. మరింత స్పష్టం? నేను ఆశిస్తున్నాము. ప్రేక్షకులు: HTML కోడ్ ఉపయోగిస్తారు నిజానికి వెబ్సైట్ చేసే యూజర్ చూస్తాడు, కానీ రూబీ కోడ్ ఉంది ఏ వెబ్సైట్ పని చేస్తుంది? GABRIEL గుయిమారీస్: రూబీ కోడ్ HTML మార్చబడుతుంది కావాలి. కాబట్టి యూజర్ ఏ గెట్స్ మాత్రమే HTML OK, ఉంది? ఇది మాత్రమే HTML ఉంది. ఈ book.title మార్చుకునేందుకు అన్నారు HTML లో book.title విలువ, OK. కాబట్టి ఈ సర్వర్ లో అన్ని, అందువలన ఈ అక్కడ ఏమి పుస్తకాలు ఆధారపడి ప్రస్తుతం సర్వర్ లో. కానీ సర్వర్ వెంటనే ఆ భావన OK, మాత్రమే HTML కోడ్ ఉంది. కానీ వీక్షణ కేవలం యొక్క లేఅవుట్ ఇస్తుంది HTML లాగా ఏమి మరియు వేరియబుల్స్ ఉంటాయని. ఒక ప్రింట్ ఈ రకం, OK. ఆ విషయాలు ఉన్నాయి ప్రధానంగా అవుట్ ప్రింట్. శలవు, వేరియబుల్స్ ప్రింట్ చూడాలని. కాబట్టి మాత్రమే HTML, ఆ ఏమిటి - రచయిత, టైటిల్, వివరణ. ఆ స్థిరమైనది కంటెంట్. మార్పు మాత్రం కాదు. అది సాదా HTML కోడ్ ఉంది. ఆ ప్రింట్ అవుట్లు ఉన్నాయి వేరియబుల్స్ కోసం - ఆధారపడ్డ విషయాలు. కూల్, ప్రశ్నలు? గుడ్? అవును. ప్రేక్షకులు: నేను మీరు అన్ని చేస్తున్న భావిస్తున్నాను వేరే టెక్స్ట్ ఎడిటింగ్ ఎడిటింగ్ ప్రోగ్రాం. మేము కూడా ఆ డౌన్లోడ్ చేయాలి? GABRIEL గుయిమారీస్: అవును, నేను స్థానం టెక్స్ట్ ఎడిటర్ TextMate అని. అది నిజంగా మంచి ఉంది. ఇది రూబీ సరిపోయే యొక్క. ఇది చాలా చక్కగా రంగులు విషయాలు. కాబట్టి TextMate, T-E-X-T. నేను వెళుతున్న ఉంచారు, పట్టు - నేను మీరు gedit ఉపయోగించవచ్చు అర్థం లేదా మీరు ఏదైనా. కానీ ఈ ఈ Mac కోసం ప్రత్యేకమైన మరియు ఇది అన్ని ఉంచుతుంది ఎందుకంటే నిజంగా చక్కగా ఉంది డౌన్ అక్కడ మీ ఫైళ్ళను. మరియు రూబీ ఆన్ లో, మీరు అవసరం ఫైళ్లు చాలా మారడానికి. కనుక ఇది చాలా చాలా ఫైళ్లు కేవలం ఒక ఫైల్ నుండి వెళ్ళి, చేరుకునే ఒక ఫైల్ లేదా ఇతర. కాబట్టి TextMate చాలా మంచి ఒకటి, కానీ పుష్కలంగా అక్కడ ఉన్నాయి. మరిన్ని ప్రశ్నలు? అవును, OK? ప్రేక్షకులు: ఒక మొబైల్ అభివృద్ధి ఉందా రూబీ ఆన్ ద్వారా? GABRIEL గుయిమారీస్: నేను విషయాలు విన్న. నేను వాటిని ఉపయోగించలేదు. మీరు ఆ మరింత పరిశోధన. ఏ ఉంది ఉంటే నేను ఖచ్చితంగా తెలియదు అక్కడ మంచి విషయం. అవును, OK? ప్రేక్షకులు: [వినబడని] GABRIEL గుయిమారీస్: లేదు రైల్స్, బహుశా రూబీ శ్రేణి. ఒక టెర్మినల్ విండో తెరుచుకుంటుంది మరియు రకం, "రూబీ". అవును, బహుశా, మరియు మీరు కేవలం రైల్స్ ఇన్స్టాల్. కానీ మీరు కొత్త ఇన్స్టాల్ చూడాలని ఉంటే , నేను అత్యంత సిఫార్సు ఇది 4.0, రైల్స్ మీరు రూబీ 2.0 డౌన్లోడ్ చేయాలి. ఆ చాలా కొత్త ఒకటి. మరియు కొత్త రైల్స్ 4.0 ఏదో ఉంది నిజంగా చల్లని ఇది ఆస్తులు చేస్తుంది. ఇది ఆస్తులు నిర్వహిస్తోంది. ఆస్తులు మళ్ళీ, చిత్రాలు, CSS ఫైళ్లు మరియు జావాస్క్రిప్ట్ ఫైళ్లు. ఆ రూబీ న ఒకనాటి నిజంగా చక్కగా విషయం పట్టాలు మీరు కోసం ఆ CSS అన్ని ఉంటుంది లేదు మీరు ఫైళ్ళను మరియు ప్రతిదీ - ఇది కేవలం ఒక లోకి ప్రతిదీ ఏకం భారీ ఫైలు ఖాళీలు లేదా ఏదైనా, యూజర్ అవసరం సమయం తగ్గించడానికి మీ సర్వర్ నుండి కోడ్ డౌన్లోడ్. మీరు మీ కంప్యూటర్ లో చూడండి కొట్టాను ఉంది 15 CSS ఫైళ్లు వంటి పొందబోతున్నారు. లేదా అనేక అనేక CSS ఫైళ్లు. కానీ రోజు చివరిలో, ఏమి రైల్స్ స్వయంచాలకంగా మీరు కోసం దానిని చేస్తుంది ఒక భారీ ఫైల్లోకి కలిసి ప్రతిదీ ఇది అభ్యర్థన సమయం తగ్గిస్తుంది కాబట్టి. ఇది నిజంగా చల్లని ఉంది. అవును? ప్రేక్షకులు: [వినబడని] GABRIEL గుయిమారీస్: ఖచ్చితంగా. కాబట్టి, Google Maps ఏకీకరణను. ఆ Google నుండి ఒక జావాస్క్రిప్ట్ API ఉంది. కాబట్టి నేను Google వెబ్సైట్ వెళ్ళాడు. వారు ఈ Google Maps API నాకు కోడ్ డౌన్లోడ్ మరియు ఇంటిగ్రేటెడ్ నా వీక్షణ. నేను అక్కడ అవసరమైన కాబట్టి నేను పొందుటకు ఉంది డేటాబేస్ నుండి స్థానాలను. ఆ నియంత్రిక లో జరిగింది. నేను నియంత్రిక వెళ్లిన - పేరు నియంత్రిక ఉంది. నియంత్రిక ఇలా. స్థానములు అన్ని వచ్చింది విద్యార్థులు, ఒక పెద్ద లోకి ఆ అన్ని చాలు వేరియబుల్, ఒక పెద్ద జాబితా, అని అన్ని కలిగి ఉంది. మరియు దృష్టిలో, ఎందుకంటే జావాస్క్రిప్ట్ API లో ఏదో ఉంది కుడి, వీక్షించడానికి? జావాస్క్రిప్ట్ మీ HTML లోపల నడుస్తుంది ఎందుకంటే కోడ్, ఇది పంపిన చేస్తాడు యూజర్ యొక్క యంత్రం. మరియు దృష్టిలో, ఆ అన్ని లోడ్ Google API లోకి సమాచారం. మరియు అది ఆ అన్ని చేశాడు నాకు, ఇది నిజంగా బాగుంది. కానీ మీరు విషయాలు ఉపయోగించడానికి కావాలా బ్యాక్ ఎండ్, మరియు అది కోసం, ఒక లైబ్రరీ వంటిది ఉదాహరణకు, మళ్ళీ - ఫేస్బుక్ తో అనుసంధానం. ఆ, అనేక, చాలా ఏదో అనేక అనువర్తనాలు రోజుల్లో ఉపయోగిస్తున్నారు. కాబట్టి ఫేస్బుక్ తో మీ సమన్వయాన్ని ఇది చాలా సులభం ఎందుకంటే కేవలం సృష్టించడానికి Facebook కంటే తో లాగిన్ ఒక ఖాతా మరియు బ్లా, బ్లా, బ్లా. అప్పుడు మీరు ఒక రత్నం ఉపయోగించడానికి మరియు అది ఉంది మీ రత్నం ఫైలు వెళుతున్న వంటి సాధారణ. రత్నం ఫైలు రత్నం ఫైలులో అనే ఫైల్ ఉంది మీ రూబీ మూలం డైరెక్టరీ ప్రాజెక్ట్ రైల్స్. అక్కడే వెళ్ళి కొత్త రత్నం జోడించండి. మరియు మీరు Google లో వెతకండి. చాలా చాలా, చాలా రత్నాలు ఉన్నాయి. ప్రత్యేకంగా చేసే ఒక ఉంది ఈ Facebook అనుసంధానం కోసం. నేను ఏ పేరు ఖచ్చితంగా తెలియదు. కేవలం అది గూగుల్ మరియు మీరు ఉన్నాము దానిని కనుగొనేందుకు వెళ్ళడం. OK, ప్రశ్నలు? అద్భుతం, గారూ.