AUZEF Sunucu Tabanlı Programlama Çıkmış Sorular
İstanbul Üniversitesi AUZEF Sunucu Tabanlı Programlama dersinin vize, final ve bütünleme sınavlarına hazırlanmak için 78 soruluk havuz: çıkmış sınav sorularını cevaplarıyla çöz, yanlış yaptıklarını tekrar et, yolda sesli dinle.
Sunucu Tabanlı Programlama konu özeti
Ders, sunucu tarafında çalışan web programlamayı anlatır: internetin ve web'in temelleri, PHP dili, MVC mimarisi ve Laravel çatısının rota, migration, Eloquent, Blade, güvenlik ve performans özellikleri işlenir.
İnternet ve web temelleri
- ARPANET, DARPA tarafından geliştirildi; 1969'daki ilk aşamada 4 üniversite ve araştırma merkezini bağladı.
- WWW, World Wide Web demektir; belgeleri köprü metinleriyle bağlayan sistemi 1989'da Tim Berners-Lee geliştirdi.
- TCP/IP modeli 4 katmandır: uygulama, taşıma, internet ve ağ erişimi. OSI'nin 7 katmanının sadeleştirilmiş hâlidir.
- URL sırası: protocol://hostname:port/path/filename.
- localhost (127.0.0.1) kişinin kendi bilgisayarındaki yerel sunucuyu gösterir; XAMPP, WAMP gibi araçlarla test yapılır.
- SSL sertifikası veriyi şifreler; HTTP'ye eklenince HTTPS olur.
Mimari yaklaşımlar: MVC ve SOA
- MVC projeyi Model, View, Controller katmanlarına ayırır; modüler yapı, ekip çalışması, yeniden kullanım ve bakım kolaylığı sağlar.
- Model katmanı veriyi okuma, yazma, güncelleme, silme ve iş kurallarından sorumludur; yalnızca kullanıcı girişiyle sınırlı değildir.
- Veri tabanı şemasını otomatik oluşturmak MVC'nin değil, migration araçlarının işidir.
- MVC'nin dezavantajı dik öğrenme eğrisidir; yeni başlayanlara karmaşık gelebilir.
- SOA, birbirinden bağımsız geliştirilen ve çoğunlukla HTTP ile hizmet sunan servislerden oluşur; monolitik yapıdan farklıdır.
PHP temelleri
- PHP, 1994'te Rasmus Lerdorf tarafından HTML'ye gömülebilen sunucu taraflı betik dili olarak tasarlandı; amacı dinamik web uygulamalarıdır.
- İndeksli dizi köşeli parantezle oluşturulur: $dizi = ["a", "b", "c"]; indeks 0'dan başlar.
- array_merge() birden çok diziyi tek dizide birleştirir.
- switch-case, tek değişkenin değerine göre farklı komut çalıştırır; if-elseif-else zincirine alternatiftir ve break ile çıkılır.
Laravel rotalar ve Blade
- Rotalar Route sınıfıyla tanımlanır: Route::get('/', function () { return view('welcome'); }); POST için Route::post().
- Rotaya name() ile ad verilir; route('ad') ile çağrılır, URL değişse bile çağrılar bozulmaz.
- Blade, View katmanının varsayılan şablon motorudur; @if, @foreach ve {{ $degisken }} ile dinamik veriyi HTML'ye yerleştirir.
Veri tabanı: migration ve Eloquent
- Migration veri tabanı şemasını kodla yönetir; up() tablo oluşturma veya değiştirmeyi, down() geri almayı tanımlar.
- Tam sayı sütunu $table->integer('sutun_adi') ile tanımlanır; string(), text(), boolean() diğer tiplerdir.
- Eloquent'te tüm kayıtlar Model::all() ile alınır; koşul gerekirse where()->get() kullanılır.
- Bire-çok ilişkide ana modelde (Yazar) hasMany(), ters yönde (Kitap) belongsTo() yazılır.
- Veri tabanı bağlantı değerleri (DB_HOST, DB_DATABASE, DB_USERNAME, DB_PASSWORD) .env dosyasında tutulur.
Güvenlik, önbellek ve gerçek zamanlılık
- Rate Limiting (Throttle), bir IP'nin belirli sürede yapabileceği istek sayısını sınırlar; DDoS ve kaba kuvvet saldırılarını hafifletir.
- Önbellek sık kullanılan veriyi hızlı okumak için saklar; verinin ne kadar süre (TTL) tutulacağı dikkatle belirlenmelidir.
- Süre yanlış seçilirse kullanıcılar eski veriyi görebilir.
- Event Broadcasting, sunucu değişikliklerini WebSocket üzerinden sayfa yenilemeden tarayıcıya iletir; Laravel Echo, Pusher, Reverb ile çalışır.
Önemli kavramlar
- hasMany
- Eloquent'te bire-çok ilişkide ana modele yazılan ilişki metodudur.
- belongsTo
- Bire-çok ilişkide çocuk modelde ters yönü belirten metottur.
- Migration
- Veri tabanı şemasını kodla yöneten dosyadır; up() ve down() metotlarını içerir.
- .env
- Ortama özgü hassas ayarların, örneğin veri tabanı erişim bilgilerinin tutulduğu yapılandırma dosyasıdır.
- Blade
- Laravel'in View katmanında kullanılan varsayılan şablon motorudur.
- Rate Limiting
- Belirli sürede bir IP'den gelebilecek istek sayısına üst sınır koyan korumadır.
- Event Broadcasting
- Sunucudaki olayları WebSocket ile tarayıcıya anında ileten gerçek zamanlı yayın yapısıdır.
- SOA
- Bağımsız, yeniden kullanılabilir servislerden oluşan yazılım mimarisidir.
- HTTPS
- SSL sertifikasıyla şifrelenmiş, HTTP'nin güvenli sürümüdür.
- localhost
- Bilgisayarın kendi yerel sunucusuna erişmek için kullanılan alan adıdır (127.0.0.1).
- TCP/IP
- 4 katmanlı ağ modelidir; OSI modelinin sadeleştirilmiş hâlidir.
- TTL
- Önbelleğe alınan verinin ne kadar süre saklanacağını belirleyen süredir.
Sınav ipuçları
- hasMany ana modelde, belongsTo çocuk modelde kullanılır; yönü karıştırmamak gerekir.
- up() ileri yönlü işlemleri, down() geri almayı tanımlar.
- Şema oluşturma migration'ın işidir, MVC'nin yararları arasında sayılmaz.
- TCP/IP 4 katmanlıdır, OSI 7 katmanlıdır; sayıları karıştırmamak gerekir.
- Model katmanı yalnızca kullanıcı girişini değil, tüm verinin yönetimini kapsar.
Hangi sınavların soruları var?
Sunucu Tabanlı Programlama örnek sorular
Aşağıdaki sorular dersin konularından derlenmiştir; cevabı görmek için "Cevabı gör"e dokunun. Tüm soruları uygulamada çözebilirsiniz.
1. Laravel'de yazar ile kitap arasında, bir yazarın birden çok kitaba sahip olabildiği bir ilişki kurulacaksa Yazar model sınıfına hangi ilişki metodu yazılır?
- hasManyThrough
- hasMany
- hasOne
- belongsToMany
- belongsTo
Cevabı gör
Doğru cevap: B) hasMany
Eloquent ORM'de bir kaydın başka tabloda birçok kayıtla eşleştiği bire-çok ilişkisinde, ana modelde (Yazar) hasMany() kullanılır. Kitap modelinde ise ters yönü belirten belongsTo() yazılır.
2. Web geliştirmede geçen "localhost" ifadesi neyi belirtir?
- Uzak bir sunucuya bağlanmak için kullanılan IP adresini
- Google'a ait bir localhost sunucusuna yapılan bağlantıyı
- Bilgisayarın kendi yerel sunucusuna erişmek için kullanılan genel bir alan adını
- Yalnızca Windows işletim sisteminde çalışan bir sunucuyu
- İnternette yer alan herhangi bir web sitesini
Cevabı gör
Doğru cevap: C) Bilgisayarın kendi yerel sunucusuna erişmek için kullanılan genel bir alan adını
localhost (127.0.0.1), kişinin kendi bilgisayarındaki yerel sunucuyu gösteren standart alan adıdır. Geliştiriciler siteleri yayına almadan önce XAMPP, WAMP gibi araçlarla bu adreste test eder.
3. MVC yapısı kullanılan bir projede Model katmanıyla ilgili aşağıdakilerden hangisi yanlıştır?
- Her model çoğunlukla bir veri tabanı tablosuna karşılık gelir.
- ORM teknolojisiyle çeşitli sorgular SQL yazmadan çalıştırılabilir.
- Model, projeyi veri tabanına bağlayan katmandır.
- Model katmanı yalnızca kullanıcı girişi işlemlerini yürütür.
- Modeller, varlık ilişki diyagramıyla belirlenen bağlantıları barındırır.
Cevabı gör
Doğru cevap: D) Model katmanı yalnızca kullanıcı girişi işlemlerini yürütür.
Model katmanı veri okuma, yazma, güncelleme, silme ve iş kurallarından sorumludur. Yalnızca kullanıcı girişiyle sınırlı değildir; ürün, sipariş, yorum gibi tüm verilerin yönetimini kapsar.
4. MVC mimarisinin getirdiği yararlar sayılırken aşağıdakilerden hangisi bu listeye dahil edilemez?
- Yeniden kullanılabilirlik
- Veri tabanı şemalarını otomatik olarak oluşturma
- Kolay bakım ve geliştirme
- Paralel geliştirme
- Modülerlik ve ayrışma
Cevabı gör
Doğru cevap: B) Veri tabanı şemalarını otomatik olarak oluşturma
MVC bir tasarım desenidir; projeyi modüllere ayırır, ekip üyelerinin eş zamanlı çalışmasına izin verir, kodun yeniden kullanımını ve bakımı kolaylaştırır. Veri tabanı şemalarını otomatik oluşturmak ise MVC'nin değil, framework'lerdeki migration araçlarının işidir.
5. PHP hangi amaçla geliştirilmiştir?
- Veritabanı yönetmek
- Oyun geliştirmek
- Mobil uygulamalar oluşturmak
- Masaüstü uygulamaları geliştirmek
- Dinamik web uygulamaları gerçekleştirebilmek
Cevabı gör
Doğru cevap: E) Dinamik web uygulamaları gerçekleştirebilmek
PHP, 1994'te Rasmus Lerdorf tarafından HTML içine gömülebilen, sunucu tarafında çalışan bir betik dili olarak tasarlanmıştır. Temel amacı, kullanıcı isteklerine anında yanıt veren dinamik web siteleri ve uygulamaları oluşturmaktır.
6. Tipik bir web adresinde bileşenler hangi sırayla bulunur?
- hostname://port:protocol/path/filename
- filename://hostname:port/protocol/path
- protocol://port:hostname/filename/path
- hostname://protocol:port/path/filename
- protocol://hostname:port/path/filename
Cevabı gör
Doğru cevap: E) protocol://hostname:port/path/filename
Standart bir URL önce protokolle başlar, ardından "//" ve sunucu adı gelir. Gerekiyorsa port numarası eklenir; sonra dizin yolu ve dosya adı yer alır. Örnek: https://www.ornek.com:8080/dosyalar/resim.jpg
7. Laravel'de bir migration içinde tam sayı tutacak bir sütun tanımlamak istenirse tabloya hangi metotla ekleme yapılır?
- digit()
- integer()
- number()
- numeric()
- int()
Cevabı gör
Doğru cevap: B) integer()
Laravel'in Blueprint sınıfında tam sayı sütunu $table->integer('sutun_adi') ile tanımlanır. Diğer yaygın tipler string(), text() ve boolean() metotlarıdır.
8. TCP/IP mimarisi kaç katmandan oluşur?
- 5
- 2
- 1
- 4
- 3
Cevabı gör
Doğru cevap: D) 4
TCP/IP modeli, 7 katmanlı OSI modelinin sadeleştirilmiş hâlidir ve 4 katmandan oluşur: uygulama, taşıma, internet ve ağ erişimi.
9. Laravel'de rotalara ad verilmesinin amacı nedir?
- Rotaların güvenliğini sağlamak
- Rotaları gizlemek
- Rotaları sonradan kolaylıkla çağırabilmek
- Rotaların çalışma hızını yükseltmek
- Rotaları önbelleğe alabilmek
Cevabı gör
Doğru cevap: C) Rotaları sonradan kolaylıkla çağırabilmek
Rotaya name() ile verilen ad sayesinde URL'yi tekrar tekrar yazmak yerine route('ad') ile çağrı yapılır. URL sonradan değişse bile adla yapılan çağrılar bozulmaz.
10. Bir Eloquent modeli üzerinden, herhangi bir koşul koymadan tablodaki tüm satırları koleksiyon olarak elde etmek için hangi metot çağrılır?
- select()
- get()
- all()
- retrieve()
- fetch()
Cevabı gör
Doğru cevap: C) all()
Eloquent'te koşulsuz biçimde tüm kayıtları çekmenin en kısa yolu modelin statik all() metodudur; örneğin User::all(). Koşul eklenecekse where()->get() kullanılır.
Bu dersi alan bölümler
Nasıl çalışmalı?
Önce "Vize (hepsi)" ya da "Final (hepsi)" ile geçmiş yılların sorularını çözün; aynı konular sınavlarda sık tekrarlanır. Yanlış yaptığınız sorular "Yanlışlar" bölümünde birikir, sınavdan önce onları yeniden çözün. Yolda ya da ev işi yaparken "Sesli Dinle" ile soruları ve cevaplarını dinleyebilirsiniz.
Sık sorulan sorular
AUZEF Sunucu Tabanlı Programlama çıkmış sorular nerede?
Mobil Defter'de AUZEF Sunucu Tabanlı Programlama dersinin vize, final ve bütünleme hazırlığı için 78 sorusu var (2026 Vize, 2026 Final, 2025 Vize, 2025 Final). Soruları cevaplarıyla test olarak çözebilir, yanlışlarını ayrıca tekrar edebilir ve sesli dinleyebilirsin.
AUZEF Sunucu Tabanlı Programlama vize soruları ve final soruları ayrı çözülebilir mi?
Evet. Uygulamada "Vize (hepsi)" ve "Final (hepsi)" düğmeleriyle yalnız o sınavın sorularını, yıl düğmeleriyle de tek bir yılın sınavını çözebilirsin.
AUZEF Sunucu Tabanlı Programlama çıkmış sorular PDF olarak indirilebilir mi?
Ayrı bir PDF dosyası yerine uygulamadaki "Kağıda yazdır" düğmesi dersin bütün sorularını ve cevap anahtarını yazdırılabilir sayfa olarak hazırlar; telefonda ya da bilgisayarda "PDF olarak kaydet" seçeneğiyle PDF yapabilirsin.
AUZEF Sunucu Tabanlı Programlama ders notları ve konu özeti var mı?
Evet. Bu sayfada dersin konu özeti var; uygulamadaki "Konu özeti" düğmesiyle özetin tamamını okuyabilir ya da sesli dinleyebilirsin.
AUZEF Sunucu Tabanlı Programlama soruları ücretli mi?
Hayır, ücretsiz. Ad, cep telefonu ve bölümünle bir dakikada üye olup bütün sorulara, yanlışlar listesine ve sesli dinlemeye erişebilirsin.
2. sınıf Bahar diğer dersler
- Acil Müdahale Teknikleri çıkmış sorular
- Akıl ve Eylem çıkmış sorular
- Aktif ve Sağlıklı Yaşlanma çıkmış sorular
- Anadolu’nun Tarihi Coğrafyası çıkmış sorular
- Antik Yunan Sosyal Tarihi çıkmış sorular
- Arapça Iv çıkmış sorular
- Bakım ve Sosyal Hizmet çıkmış sorular
- Bankacılık ve Kambiyo İşlemleri çıkmış sorular
- Bankalarda Fon Yönetimi çıkmış sorular
- Beylikler Devri Mimarisi ve Sanatı çıkmış sorular
- Bilgisayar Organizasyonu çıkmış sorular
- Bilişsel ve Dil Gelişimi çıkmış sorular
- Bireysel Emeklilik ve Sosyal Güvenlik Sistemi çıkmış sorular
- Bloglar ve Blog Yazarlığı çıkmış sorular