როგორ ავაშენოთ დინამიური საიტი: 4 ნაბიჯი (სურათებით)

Სარჩევი:

როგორ ავაშენოთ დინამიური საიტი: 4 ნაბიჯი (სურათებით)
როგორ ავაშენოთ დინამიური საიტი: 4 ნაბიჯი (სურათებით)

ვიდეო: როგორ ავაშენოთ დინამიური საიტი: 4 ნაბიჯი (სურათებით)

ვიდეო: როგორ ავაშენოთ დინამიური საიტი: 4 ნაბიჯი (სურათებით)
ვიდეო: როგორ შევქმნათ ელ.ფოსტა gmail.com-ზე 2024, მაისი
Anonim

ამ თემის საკითხები იმდენად ფართო და მრავალფეროვანია შესაძლო მიდგომებით, რომ გარდაუვალ კითხვებზე ნებისმიერი რეალისტური პასუხი მხოლოდ საერთო გზას აჩვენებს.

დღეს ბევრ ადამიანს სურს და იმედი აქვს ააშენოს დინამიური (მონაცემებზე დაფუძნებული) ვებ პრეზენტაციები, რომელთა არქიტექტურა ადვილად შეიცავს ახალ მასალას, გადასინჯვას და ვიზიტორთა ურთიერთქმედებას. wiki როგორ არის დინამიური ვებსაიტი. მიუხედავად იმისა, რომ ხარისხიანი პროექტების მიზანი ყველა გულმოდგინე ადამიანის ხელმიუწვდომელია, შეცდომა იქნება შეაფასოს ის, რაც საბოლოოდ არსებითად რთული ამოცანაა, განსაკუთრებით ნებისმიერი პერსპექტიული პროექტის ტექნიკურ ობიექტებში. უმარტივესი დინამიური ვებ არსებობაც კი მოითხოვს საკმარის უნარებს სხვადასხვა დისციპლინებში.

შეუცვლელი მიზნების მისაღწევად, ვერავინ გადაუხვევს მონაცემთა ბაზის კარგ დიზაინს. ამ დისციპლინაში საკუთარი თავის მომზადება არის მნიშვნელოვანი (მაგრამ არა პრეკლუზიური) სამუშაო. მას შემდეგ რაც შევაჯამებთ პროექტის მიზნებს, უნდა წარმოვიდგინოთ მათი მიღწევის მყარი საშუალებები. შემდეგ ჩვენ გვაქვს პროგრამირების ენები ან ინსტრუმენტები ასარჩევად, იდეალური პროექტის არქიტექტურის ხედვის საფუძველზე.

მთელი სურათის ნახვა თავიდანვე, ყველაზე მნიშვნელოვანი უნარია.

ნაბიჯები

შექმენით დინამიური ვებსაიტი ნაბიჯი 1
შექმენით დინამიური ვებსაიტი ნაბიჯი 1

ნაბიჯი 1. გაანალიზეთ თქვენი ტვინი, თუ რა სახის ინსტრუმენტები და პროცესები შეასრულებს თქვენს მიზნებს

იმის გამო, რომ ნებისმიერი დინამიური ვებ – გვერდის ცენტრალური ბირთვი არის მისი მონაცემთა ბაზა და მონაცემთა დამუშავება, ჩვენი პირველი სასიცოცხლო მიზანია მონაცემთა ბაზის ძრავზე შორს მიმავალი გადაწყვეტილების მიღება. არ არის კარგი იდეა ვიმედოვნოთ, რომ შემთხვევით მივიღებთ ასეთ გადაწყვეტილებას მხოლოდ ერთი შეხედვით, ყველაზე გონივრულ საწყის რეჟიმში.

  • ამ პირველი გადაწყვეტილების სასიცოცხლო დანიშნულებაა დაგეგმოთ ჩვენი პროექტი ისე (ინსტრუმენტებითა და მონაცემთა ბაზის ძრავით), რომელიც დააკმაყოფილებს თქვენს მოთხოვნილებებს მომავალში, სადაც სწორი გადაწყვეტილებების მიღების შემდეგ. ეფექტურად ააშენეთ თქვენი საწყისი საფუძველი, ეფექტურად და ყოველგვარი დაბრკოლების გარეშე. ეს ნიშნავს, რომ იდეალურად მაგალითად, მონაცემთა ბაზის ძრავა, რომელიც თქვენ ირჩევთ, არ არის მარტივი, ან ერთი შეხედვით მარტივი, დღეს განლაგებისთვის; თავიდან ის უნდა იყოს ძრავა, რომელიც დაეხმარება თქვენს შემდგომ დამუშავების მოთხოვნებს.
  • ზოგჯერ კომერციული მოსაზრებები კიდევ უფრო აისახება ასეთ არჩევანზე. რომელი ძრავებია დასწრების ინტენსიური (და ძვირი)? რა ძრავებია პრაქტიკულად უფასო დასწრება იმ განხორციელებებში, რომლებიც უზრუნველყოფენ დამუშავების მიზნებს, რომლებიც თქვენს პროექტს უნდა შეინარჩუნოს? საერთოდ, ნიმუში, რომელიც უნდა დაიცვას არის თქვენი ძრავის არჩევა ორი შესაძლო განლაგებიდან ერთ -ერთიდან გამომდინარე.
  • ამისათვის თქვენ ჯერ უნდა გამოყოთ თქვენი ძირითადი ცხრილის საჭიროებები. პროფესიონალს არც კი დასჭირდება ამ რუქის შედგენა (მიუხედავად იმისა, რომ ასობით ან ათასობით ცხრილი იქნება ჩართული), რადგან ისინი, როგორც წესი, დაუყოვნებლივ დაინახავენ, არის თუ არა არქიტექტურა და სამომავლო საჭიროებები, რომელთა დასახმარებლად დაგჭირდებათ ინტენსიური კითხვა ან წერა. ამის შემდეგ თქვენ აირჩევთ შესაბამის მონაცემთა ბაზას, ამ ზოგადი განწყობიდან გამომდინარე, და შესაძლოა შემდგომ პირად გემოვნებაზე და გამოცდილებაზე დაყრდნობით, როგორც შეიძლება იყოს პროგრამული უზრუნველყოფის განვითარების შესაბამის ინსტრუმენტებთან მუშაობა. MySQL არის ჩვეულებრივი არჩევანი წაკითხვის ინტენსიური განხორციელებისთვის. ბევრი დეველოპერი ეძებს მონაცემთა ბაზებს, როგორიცაა PostgreSQL საიმედო წერის ინტენსიური განხორციელებისთვის. ჩვენ განვავითარებთ ჩვენს დამოკიდებულებას ასეთი სასიცოცხლო საშუალებების მიმართ ფრთხილად კვლევით და პროგრამული უზრუნველყოფის შემუშავების ინდუსტრიის გამოცდილების საფუძველზე. ხარჯების თავიდან აცილება შესაძლებელია, რადგან ძალიან კარგი ინსტრუმენტების უფასო განლაგებაა შესაძლებელი. ის, რასაც ჩვენ ვეძებთ არის ინტენსიური კითხვის ან წერის შესრულება, საიმედოობა, ადმინისტრაციის სიმარტივე და მინიმიზაცია და მზა ინტეგრაცია პროგრამული უზრუნველყოფის შემდგომი განვითარების ინსტრუმენტებთან.
შექმენით დინამიური ვებსაიტი ნაბიჯი 2
შექმენით დინამიური ვებსაიტი ნაბიჯი 2

ნაბიჯი 2. შეარჩიეთ პროგრამული უზრუნველყოფის შემუშავების ინსტრუმენტები

პროგრამული უზრუნველყოფის შემუშავების ინსტრუმენტების არჩევისას გასათვალისწინებელია ორი მოდელი. ვითომდა „მარტივი“ინსტრუმენტები იშვიათად არის ფაქტიურად ადვილი, როდესაც პროექტი აუცილებლად წყვეტს განვითარების და ფუნქციონირების ნიმუშებს, როგორც წესი „მარტივი“ინსტრუმენტები შემოიფარგლება. თუ გსურთ რაიმე "მარტივი" ინსტრუმენტების მიღმა, როგორიცაა ენის ან თარგმანის პარამეტრის ჩართვა დინამიურად გენერირებულ URL- ებში, შეიძლება ბევრად უფრო რთული იყოს "მარტივი" ინსტრუმენტების განხორციელება, რომ შეიძლება დაგჭირდეთ უაღრესად დახვეწილი პროგრამირების უნარი ისევე როგორც შეასრულა მარტივი ნიმუში უფრო რთული საქმეების გაკეთებაში. ჩვენ უნდა დაეუფლონ ჩვენს ინსტრუმენტებს კარგი პროექტების შესაქმნელად. ეს არ გახდის მარტივ ინსტრუმენტებს საუკეთესო არჩევანს, ან ყველაზე დახვეწილ ინსტრუმენტებს რთულ წინადადებას. "მარტივი" განვითარების ხაფანგი ზოგადად მოიცავს შეზღუდვებს, რომელთა გადალახვაც ძალზე ძვირი ჯდება პროექტების გარდაუვალ ევოლუციაში. ასეთი ინსტრუმენტების უზარმაზარი ასორტიმენტი საერთოდ ჩნდება, რომელიც თითქოსდა ამგვარ მოთხოვნილებებს აკმაყოფილებს. მაგრამ ინსტრუმენტების გამძლეობა ამ მიზნის მიღწევის მოჩვენებით ფაქტს ასახავს; და, ზოგადად, ჩვენ ვხვდებით, რომ ყველაზე დახვეწილი და მძლავრი ინსტრუმენტები, კარგი ნიმუშების მიხედვით (ან ობიექტების და ბიბლიოთეკების ხელმისაწვდომობა), არა მხოლოდ ამსუბუქებს პრაქტიკულად გარდაუვალ ხელისშემშლელ ხელისშემშლელ ინსტრუმენტებს, არამედ ასევე გახდის "იქ მისვლას" ბევრად უფრო მარტივ პროცესს. როდესაც ჩვენ განვიხილავთ არსებული ინსტრუმენტების ფარგლებს, ზოგადად ნაკლებად სრულყოფილი მოდელები არის წარმოდგენილი განვითარების საწყის კონცეფციებში და უკეთეს კონცეფციებს გვთავაზობს მოგვიანებით წარმოშობილი ინსტრუმენტები (ან მათ არ ექნებათ შანსი გადარჩნენ უკვე მოგებულ ბაზრებზე). თუ ჩვენ ვირჩევთ ვითომ მარტივ ინსტრუმენტს, მაშინ ჩვენ ვეძებთ განვითარების შაბლონს, რომელიც არის როგორც დამღლელი, ისე საბოლოო დაბრკოლების გარეშე. ნეოფიტის პარადოქსი არის სირთულე იმდენად შორს გზის გასწვრივ, რომ ჩვენ შეგვიძლია აღვიქვათ პროგრამული დაბრკოლებები მოცემულ ინსტრუმენტზე. ზოგი მიიჩნევს, რომ საუკეთესო ინსტრუმენტები ყველაზე მძლავრი და ყველაზე ნაკლებად შემზღუდველია პროექტის მიდგომის თვალსაზრისით. თავისუფლება განავითაროთ ის, რაც გსურთ და გჭირდებათ, ხშირად გულისხმობს ვითომდა მარტივი ინსტრუმენტების ზოგადი მოდელის დარღვევას, რომელთა გამოწვევებმა შეიძლება პრაქტიკულად გაანადგუროს ყველაზე გამოცდილი და დახვეწილი პროგრამული ინჟინრის ტვინი, რადგან ასეთ ობიექტში წარმატების მიღწევა ნიშნავს "უბრალო" მოდელმა გააკეთოს ისეთი რამ, რისი მხარდაჭერაც მას არ გააჩნია. არის თუ არა მაგალითად "Ruby" უფრო ადვილი ინსტრუმენტი, ვიდრე ფუნდამენტური C ++ ან C#? არა ნამდვილად, განსაკუთრებით იმ შემთხვევაში, თუ თქვენ უნდა დაარღვიოთ Ruby– ს მარტივი მოდელი სასიცოცხლო ფუნქციონირების უზრუნველსაყოფად. რუბის მსგავსად, GCC უფასოა Linux და OSX– ისთვის. Ruby ასევე მოდის OSX - თქვენ უბრალოდ უნდა აღმოაჩინოთ ის თქვენს სისტემაში. ვითომ უფრო ადვილი ინსტრუმენტებიდან, ჩემი პირადი არჩევანია რუბი. მართლაც დახვეწილი ინსტრუმენტებიდან C ++ და C# იქნება უზენაესი მეფობა მომავალში; და სიმართლე ის არის, რომ ეს არის ერთადერთი მექანიზმი განვითარებისათვის ხელის შეშლის გარეშე. ასე რომ დაჯექით პირდაპირ და მოემზადეთ სერიოზული შესწავლისთვის, რადგან მიუხედავად თქვენი გზის არჩევისა, თქვენ მოგიწევთ დაეუფლოთ არა მხოლოდ თქვენს ინსტრუმენტებს, არამედ პოტენციურად შემზღუდავ მოდელებს, რომლებითაც ეს ინსტრუმენტები საბოლოოდ დაგაბრკოლებთ. Ruby ალბათ ბევრად უფრო სუფთაა, ვიდრე მისი თითქმის ყველა "მარტივი" თანატოლი. C ++ არის დაუტვირთავი ბრწყინვალების ინსტრუმენტი; და ფაქტობრივად, გამოცდილი გურუები გახდებიან თანასწორი პროექტები ალბათ გაცილებით ნაკლები სირთულეებით ვიდრე ისინი შეძლებენ ერთიდაიგივე მიზნების მიღწევას ვითომდა ადვილი ხელსაწყოთი. საბოლოო ჯამში, დეველოპერები, რომლებიც ამ დაკვირვებისგან თავს არიდებენ, იხდიან გარკვეულ ფასს: ან ირჩევენ ყველაზე ხელსაყრელ "მარტივ" ინსტრუმენტს, ან ნაკლებად აღელვებენ დატვირთვისგან თავისუფლების გამო ყველაზე დახვეწილ ინსტრუმენტში. ამ უკანასკნელ შემთხვევაში, თქვენ დაეუფლებით სწრაფ CGI ობიექტებს, აიღეთ ბურთი და გაიქეცით. უზარმაზარი კონცეფციები ხშირად გამოიყენება მცირე კოდით. დიახ, მარტივი ინსტრუმენტები ერთსა და იმავე პრეტენზიას იძენენ, მაგრამ ჩვენგან მოშორებული ვითომ სირთულეების აბსტრაქციით ისე, რომ მათი ჩვეულებრივ ნიმუშიდან გადახრა წარმოშობს ძალიან რთულ საინჟინრო გამოწვევებს, გარდა C ++ გადაჭრის შესრულების ნაკლოვანებებისა.

შექმენით დინამიური ვებსაიტი ნაბიჯი 3
შექმენით დინამიური ვებსაიტი ნაბიჯი 3

ნაბიჯი 3. ამ კითხვების გადაწყვეტისას ჩვენ აუცილებლად უნდა გამოვიკვლიოთ იმ ბუნების პროექტების შემუშავების ძირითადი მოდელები ან ნიმუშები, რომელთა განხორციელებაც ჩვენ გვსურს

ეს ნიშნავს იმას, რომ მივიღოთ საუკეთესო ლიტერატურა იმ ინსტრუმენტებისთვის, რომელთა შედარებაც გვინდა და მინიმუმ მივცეთ ჩვენს კონცეფციას რაიმე ფორმა, რომლითაც ის შეიძლებოდა მოცემულ ინსტრუმენტებში, სხვებთან შედარებით. სანამ Ruby– ს აირჩევთ, შეგიძლიათ აიღოთ ისეთი მნიშვნელოვანი წიგნები, როგორიცაა „Ruby პროგრამირების ენა“და „სწრაფი ვებ განვითარება რკინიგზით“. თქვენი პირველადი შესწავლა არა მხოლოდ საკმარისად უნდა დაეუფლოს ინსტრუმენტებს, არამედ უნდა წარმოიდგინოს, თუ როგორ შეგიძლიათ იქ მოხვედრა - როგორ შეგიძლიათ უზრუნველყოთ სასურველი ფუნქციონირება თქვენი არჩეული ხელსაწყოთი. ეს დამძიმებული ამოცანაა დამწყებთათვის. თუ თქვენ აპირებთ შეადაროთ ვითომდა ადვილი განვითარების გარემოს საუკეთესოს საუკეთესოს, თქვენ უნდა შეაფასოთ საუკეთესო C ინსტრუმენტებიც. თუ თქვენ ნამდვილად გახდებით გამოცდილი ინჟინერი, თქვენ აირჩევთ C- ს შეზღუდვებისგან თავისუფლებისთვის. მართლა უფრო რთულია C? არა. სინტაქსი სინტაქსია. საბოლოო ჯამში, თქვენ უნდა დაეუფლოთ ერთიდაიგივე ფუნქციონირების გამოხატვას; და სინამდვილეში, C ენების ოჯახი შესანიშნავია. C ++ - ში ჭიშკართან ბრწყინვალედ გაძნელება ის არის, რომ ხელი მოკიდო იმ მოდელებს, რომელთა შექმნაც შეიძლება დაგჭირდეს. პრაქტიკულად 15 წლის წინანდელი პერიოდი იყო შესანიშნავი FastCGI კომპონენტები, რომლებიც ხელმისაწვდომი იყო Borland– ის CPPBuilder– ში - ალბათ მაინც საუკეთესო C ++ Windows– ისთვის. C ინიციატორებსაც კი შეუძლიათ შორს წასვლა ასეთი ობიექტზე ორიენტირებული მიდგომებით, რადგან ფუნქციონირების შენარჩუნების ზოგადი მოდელი ჩაშენებულია იმაში, რაზეც მუშაობთ. თქვენი ნამუშევარი ბევრად უფრო თავისუფალია, ვიდრე Ruby– ში, მაგალითად, ყოველთვის, როდესაც თქვენ შეიძლება დაარღვიოთ ან გადააჭარბოთ Ruby მოდელს თქვენს მიდგომაში. მეორეს მხრივ, Rails scaffolding ტექნიკა აჩქარებს ბევრს ნეოფიტისთვის, თუ და მხოლოდ იმ შემთხვევაში, თუ პროექტი ჯდება Ruby and Rails– ის ზოგად ფორმას. დანერგეთ, მაგალითად, უსაფრთხოების ელემენტარული დებულებები, რომლებიც აღიარებულია Ruby– ს ყველა ინტერფეისში და შემდეგ რაც იცით, თქვენ ხელახლა წერთ ავტომატურად გენერირებული Ruby კოდის ათას სტრიქონს თქვენს ცხრილში. ასე ადვილია? მე ამას ვაკეთებ Windows რედაქტორით, სახელწოდებით NoteTab Pro, რომელიც მუშაობს Ruby პროექტებზე, რომლებიც ცხოვრობენ OSX სისტემაში; და დახვეწილი მაკროები ჩემს გადასინჯვებს ალბათ ერთ წამში აკეთებენ, კოდის ათას ხაზს ადგენენ თითქმის ორჯერ. და მაინც, ეს ეხება შედარებით მარტივ, ძირითად ფუნქციურობას, რომლითაც პროექტი შეზღუდულია. ფაქტია, რომ C ++ - ში ჩვენ შეგვიძლია დავწეროთ ჩვენი საკუთარი ობიექტები, რომლებიც ამ ამოცანებს მართლაც უნივერსალურად უმკლავდებიან - ნურასოდეს მოგიწევთ ამ პროცესის გამეორება. ასე რომ, ეს არის კომპრომისები. საბოლოო ჯამში, ობიექტზე ორიენტირებული C არის ყველაზე ძლიერი და ეფექტური. რაც იმას ნიშნავს, რომ ის ყველაზე ნაკლებად მუშაობს.

შექმენით დინამიური ვებსაიტი ნაბიჯი 4
შექმენით დინამიური ვებსაიტი ნაბიჯი 4

ნაბიჯი 4. პროგრამირების ინსტრუმენტების არჩევის მიუხედავად, არ არსებობს გზა HTML და CSS გონივრულ ოსტატობაზე დამოკიდებულების თავიდან ასაცილებლად

საერთოდ, გამოცდილი დეველოპერები ეყრდნობიან W3C.org– ს სასიცოცხლო მნიშვნელობის მასალას. ვებ გვერდი

ვიდეო - ამ სერვისის გამოყენებით, ზოგიერთი ინფორმაცია შეიძლება გაზიარდეს YouTube- თან

Რჩევები

  • თქვენი ძიების მნიშვნელოვანი ნაწილი იქნება საუკეთესო რესურსების ხელში ჩაგდება. დავიწყებ რუბიდან; და თუ გსურთ იყოთ გამორჩეული, თქვენ უნდა შეაფასოთ ობიექტზე ორიენტირებული C ენები და გარემო, სადაც კარგად დაწერილი პროექტები ყველა თანატოლს შეასრულებს.
  • ამიტომ ვერაფერი ჩაანაცვლებს ამომწურავ შესწავლასა და შეფასებას.

გაფრთხილებები

  • ჭეშმარიტი ინსტრუმენტების დაუფლების შემდგომი დაბრკოლება არის არაპროფესიონალური ქცევა ბევრ ფორუმზე. უზარმაზარი განსხვავებაა პროფესიონალურ ნოუ-ჰაუს და ვითომდა უნარს შორის, რომელსაც ასე ხშირად შეუძლია შორს მიგიყვანოს სწორი გზიდან. ინფორმაციის საუკეთესო წყაროები, როგორც წესი, ყველაზე წარმატებული თანატოლები არიან და არა ვითომდა მარტივი ინსტრუმენტების ოსტატები, რომლებიც უბრალოდ მხარს უჭერენ მათ ხელთ არსებულ ერთ ნიმუშს. მთავარი მიზეზი, რის გამოც თქვენ აპირებთ კითხვების წარდგენას ფორუმებზე, არის ის, რომ თქვენ უნდა გადააჭარბოთ (ამით დაარღვიოთ) ვითომდა მარტივი მიდგომის მოდელი. როდესაც თქვენ აუცილებლად შეხვდებით ამ მოთხოვნილებებს, გჭირდებათ საუკეთესო რჩევა.
  • მაშინ არასოდეს იფიქროთ, რომ ერთი შეხედვით მალსახმობი რეალურად აჩქარებს მუშაობას. ძალიან ხშირად, პირიქით არის ჭეშმარიტი.

გირჩევთ: