Modeli Tanımlama – SEO Hizmeti Sunma – SEO Hizmeti – SEO Hizmeti Ücretleri – SEO Hizmeti Yaptırma
Bütçe Değişimi
Bu çalışmadaki kavramları göstermenin bir yolu olarak, evrimsel bir örnek olarak bir uygulama oluşturmaya karar verdik. Seçtiğimiz uygulama bir gider izleyici ve biz buna PocketChange adını veriyoruz. Bu noktada, PocketChange’in gereksinimlerini kısaca tanıtarak başlayacağız. Ardından, gider ve hesap bilgilerini veritabanında depolamak için kullanacağımız veri modelimizi tanımlayacağız.
Bundan sonra, kullanıcı arabirimi için bazı XHTML şablonlarını kodlamaya başlayacağız, ardından ekran mantığını ve kullanıcı girişini işleyen Scala parçacıkları (işleme kodu) tanımlayacağız. Son olarak, bazı AJAX özellikleri ekleyerek PocketChange’i bir Web 2.0 uygulaması haline getirmenin ne kadar kolay olduğunu size biraz anlatacağız.
Değişimi Takip Etme
Gösterilen PocketChange, harcamalarınızı izleyecek, harcadığınızın toplamını tutacak ve işlemleri etiketlerle düzenlemenize ve verileri görselleştirmenize olanak tanır. Bu kitabın sonraki bölümlerinde, AJAX çizelgesi oluşturma ve hesap başına birden çok kişiye izin verme (girişleri güncellemek için Comet’i kullanma) gibi birkaç eğlenceli özellik ekleyeceğiz. Her şeyden önce, arayüzü yalın, ortalama ve temiz tutmak istiyoruz.
Uygulamamızın tasarımı için Önce Görüntüle şablonunu kullanacağız, çünkü Lift’in şablonlama, görünümler ve parçacıklar aracılığıyla sunum ve mantığı ayırması, İlk Görüntüle’ye çok iyi uyum sağlıyor. Lift’in şablon oluşturma ve mantığa yaklaşımının ardındaki tasarım kararları hakkında mükemmel bir makale için, David Pollak’ın “Önce Lift View” makalesini okuyun. Bu sayfadaki örnek kodun biraz eski olduğunu unutmayın; İşin ilginç yanı, David’in, Lift’i kullanımı bu kadar kolay hale getiren muhakemesi ve kararlarıdır.
Unutulmaması gereken bir diğer önemli nokta da, bu bölümde aplikasyonu hızlıca inceleyeceğiz ve birçok detaya kısaca değineceğiz. Her şeyin daha eksiksiz ele alındığı bölümlere birçok referans sağlayacağız; Bu bölümün amacı size sadece Lift’in tadına bakmaktır, bu nedenle bir şeyin nasıl çalıştığı hakkında daha fazla bilgi edinmek istiyorsanız ileriyi okumaktan çekinmeyin.
Ek olarak, PocketChange uygulamasının tamamı için tam kaynak kodu GitHub’da mevcuttur. PocketChange git deposunun kendi sürümünü aşağıdaki komutla çekebilirsiniz (git’in kurulu olduğunu varsayarak).
Modeli Tanımlama
Atacağımız ilk adım, uygulamamız için kullanacağımız veritabanı varlıklarını tanımlamak olacaktır. Aşağıdaki öğeler, kategorilere ayrılmış bir gider izleyicinin temel işlevlerini kapsar:
- Kullanıcı: Uygulamanın bir kullanıcısını temsil eder
- Hesap: Belirli bir gider hesabını temsil eder (Kullanıcı başına birden fazla desteklemek istiyoruz.)
- Gider: Belirli bir hesaba bağlı belirli bir gider işlemini temsil eder.
- Etiket: Daha sonra arama yapmak ve raporlamak için her bir gideri kategorize etmemizi de sağlar.
Listelemede gösterildiği gibi kullanıcıyla başlayacağız. Bu, doğrudan git deposundan çekebileceğiniz kaynak dosyasından alınır. Kullanıcı yönetimi için ihtiyaç duyduğumuz şeylerin çoğunu işlemek için Lift’in MegaProtoUser sınıfından da yararlanıyoruz.
Örneğin, sadece gördüğünüz kodla, sitemiz için kayıt, kayıp şifre ve giriş sayfaları dahil olmak üzere eksiksiz bir kullanıcı yönetimi işlevi de tanımlıyoruz.
Araştırma modeli nedir
Araştırma modeli örneği
Tarama modeli nedir
Makalede araştırma modeli nedir
Betimsel tarama modeli nedir
Araştırma modeli ve deseni aynı şey mi
Araştırma Modelleri nelerdir
Nicel araştırma modelleri
Eşlik eden Site Haritası menüleri, User.siteMap’e yapılan tek bir çağrı ile oluşturulur. Gördüğünüz gibi kullanıcı yönetimi sayfaları için oluşturulan XHTML’yi birkaç basit tanımla özelleştirebiliriz; MetaMegaProtoUser için özelleştirme potansiyeli de kapsamlıdır.
Belirli bir kullanıcının tüm hesaplarını (ayrıca kullanıcının yönetebileceği ve görüntüleyebileceği hesapların yanı sıra) almak için User sınıfına birkaç yardımcı program yöntemi eklediğimizi unutmayın. GitHub’daki kaynakta tanımlanmış olmalarına rağmen, bu bölümde AccountAdmin ve AccountViewer sınıflarını ele almıyoruz.
Temsil ettikleri işlevsellik, burada ele alacağımız diğer sınıflara çok benzer, yani hiçbir şey kaçırmıyorsunuz. Bir kullanıcının sahip olduğu hesaplara basit erişim için, sahip kimliğine göre bir sorgu yapmak için MetaMapper.findAll yöntemini de (MetaMapper’ı MetaMegaProtoUser aracılığıyla genişleten Kullanıcı tekilinde bulunur) kullanırız.
Listeleme’de gösterildiği gibi, Hesap varlığının tanımlanması biraz daha karmaşıktır. Burada Long birincil anahtarı olan bir sınıf tanımlıyoruz ve bazı alanlar hesaplarla ilişkilendiriliyor. Nesne ilişkisi birleştirmeleri için bazı yardımcı yöntemler de tanımlıyoruz. Gider ve Etiket varlıkları (bazı yardımcı varlıklarla birlikte) buna uygundur, bu nedenle burada bunları ele almayacağız.
İlk Şablonunuzu Oluşturma
Bir sonraki adımımız, bu verileri kullanıcıya nasıl sunacağımızı bulmak. Sitede bir karşılama mesajı veya hesap bakiyelerinin bir özetini ve kullanıcı oturum açtıysa yeni harcamaların girilebileceği bir yeri gösteren bir ana sayfa da göstermek istiyoruz.
Liste, bu işlevi işlemek için temel bir şablonu gösterir. Şablonu index.html olarak kaydedeceğiz. Bir baş unsurumuz olduğunu ancak gövdemizin olmadığını fark ettiniz mi? Bu XHTML, peki bu nasıl çalışıyor?
Bu şablon, kendisini bir ana şablona (/templates_hidden/default.html) yerleştirmek için <lift:surround> etiketini kullanır; Lift aslında, ana şablonun baş öğesi içindeki şablonumuzdaki baş etiketinin içeriğini dahil etmek için kafa birleştirme adı verilen şeyi yapar.
<lift:HomePage.summary> ve <lift:AddEntry.addentry> etiketleri, snippet tanımlarıdır. Parçacıklar, perde arkasındaki gerçek sayfa mantığını kontrol eden Scala kodudur; onları bir sonraki bölümde ele alacağız.
Gördüğünüz gibi, şablonumuzda hiçbir kontrol mantığı yok, sadece iyi biçimlendirilmiş XML ve jQuery datePicker işlevini etkinleştirmek için biraz JavaScript var.
Artık bir şablonumuz olduğuna göre, siteyle fiilen bir şeyler yapabilmek için özeti yazmalı ve Entry snippet’lerini eklemeliyiz. İlk olarak, Listeleme’de gösterilen özet snippet’e bakalım. Yer kazanmak için standart Lift içe aktarmalarını atladık, ancak java.util.Date’i ve tüm model sınıflarımızı özel olarak içe de aktarılmıştır.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)