Dinamik Web Sitesi Nasıl Kurulur: 4 Adım (Resimlerle)

İçindekiler:

Dinamik Web Sitesi Nasıl Kurulur: 4 Adım (Resimlerle)
Dinamik Web Sitesi Nasıl Kurulur: 4 Adım (Resimlerle)

Video: Dinamik Web Sitesi Nasıl Kurulur: 4 Adım (Resimlerle)

Video: Dinamik Web Sitesi Nasıl Kurulur: 4 Adım (Resimlerle)
Video: E-posta adresi Gmail Hesabı Oluşturma ve E-Mail Gönderme İşlemi 2024, Mayıs
Anonim

Bu konunun sorunları, olası yaklaşımlarda o kadar geniş ve çeşitlidir ki, kaçınılmaz sorulara verilecek herhangi bir gerçekçi yanıt ancak genel yolu gösterebilir.

Günümüzde pek çok insan, mimarileri yeni materyal, revizyon ve ziyaretçi etkileşimini kolayca barındıran dinamik (veri odaklı) web varlıkları oluşturmak istiyor ve umuyor. örneğin wikiHow, dinamik bir web sitesidir. Kaliteli projelerin hedefi tüm gayretli insanların ulaşabileceği bir yerde olsa da, özellikle ileriye dönük herhangi bir projenin teknik nesnelerinde, sonuçta esasen zorlu bir görevin ne olduğunu hafife almak bir hata olur. En basit dinamik web varlıkları bile çeşitli disiplinlerde yeterli beceri gerektirir.

Vazgeçilmez hedeflere ulaşmada hiç kimse iyi bir veritabanı tasarımından sapamaz. Kendimizi yalnızca bu disipline hazırlamak, önemli (ama engelleyici olmayan) bir çalışmadır. Proje hedeflerinin bir özetine sahip olduğumuzda, onlara ulaşmanın sağlam yollarını tasavvur etmeliyiz. Ardından, ideal proje mimarisi vizyonuna dayalı olarak seçeceğimiz programlama dilleri veya araçlarımız var.

Resmin tamamını en baştan görmek, o zaman en hayati beceridir.

adımlar

Dinamik bir Web Sitesi Oluşturun Adım 1
Dinamik bir Web Sitesi Oluşturun Adım 1

Adım 1. Beyninizi, hedeflerinizi gerçekleştirecek ne tür araç ve süreçlerin olduğu konusunda bilgilendirin

Herhangi bir dinamik web varlığının en merkezi çekirdeği, veri tabanı ve veri işleme olduğu için, ilk hayati hedefimiz bir veri tabanı motoru üzerinde geniş kapsamlı bir karar vermektir. Böyle bir kararı gelişigüzel bir şekilde, görünüşte, en makul bir şekilde almayı ummak iyi bir fikir değildir.

  • Bu ilk kararın hayati amacı, projemizi bir gelecek boyunca ihtiyaçlarınızı sonuna kadar destekleyecek şekilde (araçlar ve veritabanı motorları ile) planlamaktır. ilk temeliniz üzerine etkili bir şekilde, verimli bir şekilde ve nihai engel olmadan inşa edin. Bu, ideal olarak, örneğin, seçtiğiniz veritabanı motorunun bugün dağıtılması kolay veya görünüşte basit olmadığı anlamına gelir; baştan aşağı işleme taleplerinizi destekleyecek bir motor olmalıdır.
  • Bazen ticari hususlar bu tür seçimleri daha da etkiler. Hangi motorlar katılım yoğun (ve maliyetli)? Nihai projenizin sürdürmesi gereken işleme hedeflerini sürdüren uygulamalarda hangi motorlar sanal olarak katılımsızdır? Genel olarak izlenecek model, iki olası eğilimden birine dayalı olarak motorunuzu seçmektir.
  • Bunu yapmak için önce temel tablo ihtiyaçlarınızı belirlemelisiniz. Bir profesyonelin bu haritayı oluşturmasına bile gerek yoktur (yüzlerce veya binlerce tablo dahil olsa bile), çünkü genellikle desteklemeniz gereken mimarinin ve gelecekteki ihtiyaçların okuma veya yazma yoğun olup olmadığını hemen göreceklerdir. Daha sonra, ilgili yazılım geliştirme araçlarıyla çalışmanın öngörebileceği gibi, bu genel eğilime ve belki de kişisel zevk ve deneyime dayalı olarak uygun bir veritabanı seçeceksiniz. MySQL, yoğun okuma uygulamaları için olağan seçimdir. Birçok geliştirici, güvenilir yazma yoğun uygulamalar için PostgreSQL gibi veritabanlarına bakar. Dikkatli araştırmalar yaparak ve genel yazılım geliştirme endüstrisinin deneyim havuzundan yararlanarak bu tür hayati araçlara yönelik tutumumuzu geliştiriyoruz. Çok iyi araçların ücretsiz dağıtımları mevcut olduğundan, genellikle masraftan kaçınılabilir. Aradığımız şey, okuma veya yazma yoğun ortamlarda performans, güvenilirlik, yönetim kolaylığı ve en aza indirilmesi ve olası yazılım geliştirme araçlarıyla hazır entegrasyon.
Dinamik Web Sitesi Oluşturun 2. Adım
Dinamik Web Sitesi Oluşturun 2. Adım

Adım 2. Yazılım geliştirme araçlarınızı seçin

Yazılım geliştirme araçlarını seçerken göz önünde bulundurulması gereken iki model vardır. Bir proje kaçınılmaz olarak geliştirme ve işlevsellik kalıplarının dökümünü bozduğunda, "kolay" araçlar genellikle bunlarla sınırlı olduğunda, sözde "kolay" araçlar nadiren aslında kolaydır. Dinamik olarak oluşturulmuş URL'lere bir dil veya çeviri parametresi dahil etmek gibi "kolay" araçların ötesinde bir şey yapmak isterseniz, "kolay" araçlarda bunu başarmak çok daha zor olabilir ve son derece karmaşık programlama becerileri gerektirebilir. daha karmaşık şeyler yapmak için kolay kalıbı kandırmak kadar. İyi projeler inşa etmek için araçlarımıza hakim olmalıyız. Bu, kolay araçları en iyi seçim ya da en karmaşık araçları zor bir önerme yapmaz. "Kolay" geliştirme tuzağı, genellikle projelerin kaçınılmaz evriminde üstesinden gelinmesi çok maliyetli hale gelen sınırlamaları içerir. Görünürde bu tür ihtiyaçları karşılayan çok çeşitli bu tür araçlar genellikle ortaya çıkar. Ancak araçların kalıcılığı, bu amaca ulaşıldığına dair görünürde bir gerçeği ele veriyor; ve bu nedenle, genel olarak, iyi kalıpları (veya nesnelerin ve kitaplıkların mevcudiyetini) takip eden en karmaşık ve güçlü araçların, yalnızca kolay araçların önündeki pratik olarak kaçınılmaz engelleri hafifletmekle kalmayıp, aynı şekilde "oraya ulaşmayı" çok daha basit bir süreç haline getirdiğini görüyoruz. Mevcut araçların kapsamını incelediğimizde, genellikle ilk geliştirme konseptlerinde daha az kapsamlı modeller sunulur ve daha sonra ortaya çıkan araçlar tarafından daha iyi kavramlar sunulur (veya zaten kazanılmış pazarlarda hayatta kalma şansları olmazdı). Sözde kolay bir araç seçersek, aradığımız şey hem kullanışlı hem de nihai engeli olmayan bir geliştirme modelidir. Acemi için paradoks, o zaman, yolun o kadar ilerisini görmenin zorluğudur ki, belirli bir araç setine programlama engellerini algılayabiliriz. Bazı insanlar, en iyi araçların, proje yaklaşımı açısından en güçlü ve en az kısıtlayıcı araçlar olduğuna inanır. İstediğiniz ve ihtiyaç duyduğunuz şeyi geliştirme özgürlüğü, genellikle, görünüşte basit araçların genel modelini kırmak anlamına gelir; bu durumda, zorlukları pratik olarak en deneyimli ve sofistike yazılım mühendisinin beynini kırabilir, çünkü böyle bir nesnede başarılı olmak, "basit" hale getirmek anlamına gelir. model, desteklemek için yerel kapasitesi olmayan bir şey yapar. Örneğin "Ruby" gerçekten temel C++ veya C#'dan daha kolay bir araç mı? Hayır. Pek değil, özellikle de hayati işlevsellik sağlamak için basit Ruby modelini kırmanız gerekiyorsa. Ruby gibi, GCC de Linux ve OSX için ücretsizdir. Ruby ayrıca OSX'te de gelir ― onu sisteminizde keşfetmeniz yeterlidir. İddiaya göre daha kolay araçlardan kişisel seçimim Ruby. Gerçekten gelişmiş araçlardan C++ ve C#, gelecekte çok uzun süre egemenlik sürecek; ve gerçek şu ki, bunlar engelsiz gelişmenin tek araçlarıdır. Bu yüzden dik oturun ve ciddi bir çalışma için hazırlanın, çünkü seçtiğiniz yol ne olursa olsun, yalnızca aletlerinizde değil, aynı zamanda bu araçların sizi eninde sonunda engelleyebileceği potansiyel olarak kısıtlayıcı modellerde de ustalaşmak zorunda kalacaksınız. Ruby muhtemelen neredeyse tüm "kolay" akranlarından çok daha temizdir. C++ engelsiz mükemmellik aracıdır; ve aslında, tecrübeli gurular, muhtemelen aynı hedefleri sözde kolay bir araçla başarabileceklerinden çok daha az zorlukla emsalsiz projeleri ortaya çıkaracaklar. Sonunda, bu gözlemden sapan geliştiriciler bir miktar bedel öderler: ya en elverişli "kolay" aracı seçin ya da en karmaşık araçta yükümlülükten kurtulma konusunda daha az endişe edin. İkinci durumda, Fast CGI nesnelerinde ustalaşır, topu alır ve koşarsınız. Büyük kavramlar genellikle küçük kodlarla uygulanır. Evet, basit araçlar aynı iddiada bulunur, ancak görünüşte zorluğu bizden, genellikle tekil modellerinden sapma, C++'ın çözdüğü performans handikaplarına ek olarak çok zor mühendislik zorlukları oluşturacak şekilde soyutlayarak.

Dinamik bir Web Sitesi Oluşturun Adım 3
Dinamik bir Web Sitesi Oluşturun Adım 3

Adım 3. Bu soruları çözerken, kaçınılmaz olarak, ortaya çıkarmak istediğimiz doğada proje geliştirmenin temel modellerini veya kalıplarını incelememiz gerekir

Bu, karşılaştırmak istediğimiz araçlar için en iyi literatürü elde etmek ve en azından konseptimize, diğerlerine kıyasla belirli bir araç setinde alabileceği bir form vermek anlamına gelir. Örneğin Ruby'yi seçmeden önce, "Ruby Programlama Dili" ve "Rails ile Çevik Web Geliştirme" gibi önemli kitapları alabilirsiniz. İlk çalışmanız sadece araçlarda yeterince uzmanlaşmakla kalmamalı, oraya nasıl ulaşabileceğinizi - seçebileceğiniz araçla istediğiniz işlevselliği nasıl sağlayabileceğinizi de tasavvur etmelidir. Bu, yeni başlayanlar için göz korkutucu bir görevdir. Sözde kolay bir geliştirme ortamını en iyinin en iyisiyle karşılaştıracaksanız, en iyi C araçlarını da değerlendirmeniz gerekecek. Gerçekten deneyimli bir mühendis olacaksanız, sınırlamalardan özgür olduğu için C'yi seçeceksiniz. C gerçekten daha mı zor? Hayır. Sözdizimi sözdizimidir. Sonunda, aynı işlevselliği ifade etmekte ustalaşmak zorundasınız; ve gerçekte, C dil ailesi mükemmeldir. C++'da hemen üstün olmanın zor yanı, üzerine inşa etmeniz gerekebilecek modellere el koymaktır. Neredeyse 15 yıl öncesinden mükemmel bir başlangıç, Borland'ın CPPBuilder'ında bulunan orijinal FastCGI bileşenleriydi - muhtemelen hala Windows için en iyi C++. C inisiyeleri bile bu tür nesne yönelimli yaklaşımlarla çok ileri gidebilir, çünkü işlevselliği sürdürmenin genel modeli, birlikte çalıştığınız şeylerin içine yerleştirilmiştir. Çalışmanız, örneğin yaklaşımınızda Ruby modelini ne zaman kırabilir veya aşabilirseniz, Ruby'de olabileceğinden çok daha serbest akışlıdır. Öte yandan, Rails iskele teknikleri, ancak ve ancak proje Ruby ve Rails'in genel kalıbına uyuyorsa, acemiler için çok işi hızlandırır. Örneğin, tüm Ruby arayüzlerinizde tanınan temel güvenlik hükümlerini tanıtın ve bir sonraki bildiğiniz şey, uygulamanızın pazarlık yaptığı her tablo için otomatik olarak oluşturulmuş bin satırlık Ruby kodunu yeniden yazıyorsunuz. Bu kolay mı? Eh, bunu bir OSX sisteminde bulunan Ruby projelerinde çalışan NoteTab Pro adlı bir Windows editörü ile yapıyorum; ve karmaşık makrolar, revizyonlarımı belki bir saniyede yapar, binlerce kod satırını bunun neredeyse iki katı olacak şekilde özelleştirir. Yine de bu, bir projenin sınırlandırıldığı nispeten basit, temel işlevsellik ile ilgilidir. Gerçek şu ki, C++'da bu görevleri gerçekten evrensel olarak yerine getiren kendi nesnelerimizi yazabiliriz - bu işlemi asla kopyalamanız bile gerekmez. Yani bunlar takaslar. Sonunda, nesne yönelimli C en güçlü ve verimlidir. Bu da en az iş olduğu anlamına gelir.

Dinamik bir Web Sitesi Oluşturun 4. Adım
Dinamik bir Web Sitesi Oluşturun 4. Adım

Adım 4. Programlama araçları seçiminiz ne olursa olsun, makul bir HTML ve CSS ustalığına bağımlı olmaktan kaçınmanın bir yolu yoktur

Genel olarak, deneyimli geliştiriciler, hayati materyal için W3C.org'a güvenirler. web sayfası

Video - Bu hizmet kullanılarak YouTube ile bazı bilgiler paylaşılabilir

İpuçları

  • O zaman arayışınızın hayati bir parçası, en iyi kaynakları elde etmek olacaktır. Ruby ile başlardım; ve eğer mükemmel olmak istiyorsanız, nesne yönelimli C dillerini ve iyi yazılmış projelerin tüm emsallerinden daha iyi performans göstereceği ortamları değerlendirmeniz gerekecek.
  • Bu nedenle hiçbir şey kapsamlı çalışma ve değerlendirmenin yerini alamaz.

Uyarılar

  • Basit araçlarda gerçekten ustalaşmanın bir başka engeli de birçok forumda profesyonel olmayan davranışlardır. Mesleki bilgi birikimi ile sizi çoğu zaman doğru yoldan çok saptırabilen sözde beceri arasında büyük bir fark vardır. En iyi bilgi kaynakları genellikle en başarılı akranlardır, sadece kendilerine sunulan tek bir kalıba bağlı kalmayı savunan sözde basit araçların sözde ustaları değil. Forumlara soru göndermenizin başlıca nedeni, sözde basit yaklaşımın oluşturduğu modeli aşmanız (böylece kırmanız) gerekmesidir. Kaçınılmaz olarak bu ihtiyaçlarla karşılaştığınızda, en iyi tavsiyeye ihtiyacınız var.
  • O zaman, görünen bir kısayolun aslında çalışmayı hızlandırdığını asla düşünmeyin. ÇOK sık, bunun tersi doğrudur.

Önerilen: