LOLONOLO Ana Sayfa » blog » auzef » Sunucu Tabanlı Programlama 2024-2025 Final Soruları
auzefSunucu Tabanlı ProgramlamaWeb Tasarım Ve Kodlama

Sunucu Tabanlı Programlama 2024-2025 Final Soruları

Sunucu Tabanlı Programlama 2024-2025 Final Soruları

 
LOLONOLO Ana Sayfa » blog » auzef » Sunucu Tabanlı Programlama 2024-2025 Final Soruları

#1. Laravel’de Middleware handle() fonksiyonunda $next($request) ifadesi aşağıdakilerden hangisine yerleştirilirse, Middleware kontrolcü fonksiyonundan sonra çalışır?

Cevap: B) return $next($request) ifadesinden sonra kod bloğu yazılırsa | Açıklama: Middleware’de `$next($request)` komutu, isteği bir sonraki katmana (veya kontrolcüye) iletir. Bu komuttan önce yazılan kodlar kontrolcüden önce, bu komuttan sonra yazılan kodlar ise kontrolcü çalışıp yanıtı oluşturduktan sonra çalışır.

#2. Laravel’de Middleware (Ara Katman) kavramının temel amacı aşağıdakilerden hangisidir?

Cevap: B) Bir rotaya erişildiğinde kontrolcü fonksiyonu çalıştırılmadan önce veya sonra kod bloğu çalıştırmak | Açıklama: Middleware (Ara Katman), gelen HTTP isteklerini filtrelemek için bir mekanizma sağlar. Temel amacı, bir istek hedefine (kontrolcüye) ulaşmadan önce veya hedeften bir yanıt döndükten sonra belirli işlemleri (kimlik doğrulama, loglama, CORS ayarları vb.) gerçekleştirmektir.

#3. Aşağıdakilerden hangisi Controller sınıfı oluştururken kullanılan –resource parametresinin sağladığı metodlardan biri değildir?

Cevap: D) login | Açıklama: `–resource` parametresi, bir kaynakla ilgili temel CRUD (Create, Read, Update, Delete) işlemleri için `index`, `create`, `store`, `show`, `edit`, `update`, ve `destroy` metotlarını otomatik olarak oluşturur. `login` metodu ise genellikle kimlik doğrulama işlemleri için kullanılır ve standart bir resource metodu değildir.

#4. Laravel’de veri tabanı tablolarını oluşturmak için kullanılan yapı aşağıdakilerden hangisidir?

Cevap: A) Migration | Açıklama: Laravel’de ”Migration” (Taşıma) dosyaları, veritabanı şemasının (tablolar, sütunlar vb.) kod aracılığıyla oluşturulmasını ve yönetilmesini sağlayan bir sürüm kontrol sistemi görevi görür.

#5. Önbellekleme (caching) kullanımının temel amacı aşağıdakilerden hangisidir?

Cevap: D) Aynı sonucu üretmek için her istekte tekrar kaynak tüketimini önleyerek performansı artırmak | Açıklama: Önbellekleme, veritabanı sorgusu gibi zaman alan veya kaynak tüketen işlemlerin sonuçlarını geçici bir süreliğine hızlı erişilebilir bir bellekte saklar. Aynı istek tekrar geldiğinde, işlem yeniden yapılmak yerine sonuç doğrudan önbellekten alınır, bu da performansı önemli ölçüde artırır.

Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.

#6. Laravel’de bir kaydı güncellemek için kontrolcüde aşağıdaki hangi iki metot kullanılır?

Cevap: B) edit ve update | Açıklama: Resource controller yapısında, `edit` metodu güncellenecek kaydın formunu kullanıcıya göstermek için, `update` metodu ise bu formdan gelen verilerle kaydı veritabanında güncellemek için kullanılır.

#7. Laravel’de API sürüm yönetimi için tercih edilen rotalama yaklaşımı aşağıdakilerden hangisidir?

Cevap: E) Route ön ekleri kullanılır (prefix) | Açıklama: API’leri sürümlere ayırmak için en yaygın ve temiz yöntemlerden biri, rota tanımlamalarında ön ek (prefix) kullanmaktır. Örneğin, rotalar `/api/v1/` ve `/api/v2/` gibi ön eklerle gruplandırılarak farklı sürümler yönetilebilir.

HTML yorum etiketi (<!– –>) ile Blade yorum etiketi ({{– –}})

#8. arasındaki fark aşağıdakilerden hangisidir?

Cevap: B) HTML yorumları kaynak kodunda görünürken, Blade yorumları sunucu tarafinda tamamen kaldırılır.

Açıklama: HTML yorumları (“) istemciye gönderilen dosyanın içinde yer alır ve tarayıcının ”kaynağı görüntüle” seçeneğiyle görülebilir. Blade yorumları (`{{– –}}`) ise sunucu tarafında Blade şablon motoru tarafından işlenirken tamamen kaldırılır ve istemciye gönderilen son HTML dosyasına dahil edilmez.

#9. Laravel’de JSON formatında yanıt döndürmek için kontrolcüde aşağıdaki yapılardan hangisi kullanılır?

Cevap: C) return response()->json($data); | Açıklama: Laravel, JSON yanıtları oluşturmak için `response()` yardımcısını sunar. `response()->json($data)` kullanımı, verilen diziyi veya nesneyi JSON formatına dönüştürür ve `Content-Type` başlığını otomatik olarak `application/json` olarak ayarlar. Bu, en doğru ve standart yöntemdir.

#10. HTTP Client ile JSON formatında yanıt almak için aşağıdaki metotlardan hangisi kullanılır?

Cevap: D) json() | Açıklama: Laravel’in HTTP istemcisini kullanarak bir API’den yanıt alındığında, yanıt gövdesinin JSON formatında olduğu biliniyorsa, bu JSON verisini bir PHP dizisine dönüştürmek için yanıt nesnesi üzerinde `.json()` metodu çağrılır.

Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.

#11. MVC’de Model katmanının amacı aşağıdakilerden hangisidir?

Cevap: C) Projenin veri tabanıyla bağlantı kuran katmanıdır ve tablolarla ilişkilendirilir. | Açıklama: MVC (Model-View-Controller) mimarisinde Model katmanı, uygulamanın veri yapısını ve iş mantığını temsil eder. Genellikle veritabanı tablolarıyla etkileşime girerek veri okuma, yazma, güncelleme ve silme gibi işlemleri yönetir.

#12. IP adreslerinden alan adlarına erişim sağlayan sistem aşağıdakilerden hangisidir?

Cevap: A) DNS (Domain Name System) | Açıklama: DNS (Alan Adı Sistemi), insanların okuyabildiği alan adlarını (örneğin, http://www.google.com) makinelerin anlayabildiği IP adreslerine (örneğin, 172.217.16.142) çeviren ve internetin telefon rehberi gibi çalışan sistemdir.

#13. Laravel kütüphanesinin üçüncü temel katmanı olan Tasarım katmanının temel görevi aşağıdakilerden hangisidir?

Cevap: E) İstemciye gönderilecek arayüz dosyalarının dinamik olarak güncellenmesi ve iletilmesi | Açıklama: MVC mimarisindeki Tasarım (View) katmanı, kullanıcıya gösterilecek olan arayüzü oluşturmaktan sorumludur. Bu katman, kontrolcüden gelen verileri alarak HTML dosyaları gibi arayüz dosyalarını dinamik olarak işler ve sonuç olarak istemcinin tarayıcısına gönderir.

#14. HTTP protokolünde en sık kullanılan iki istek metodu aşağıdaki hangisidir?

Cevap: D) GET ve POST | Açıklama: HTTP protokolünde birçok istek metodu bulunsa da, sunucudan veri istemek (sayfa görüntülemek vb.) için `GET` ve sunucuya veri göndermek (form doldurmak vb.) için `POST` metotları en temel ve en sık kullanılan iki metottur.

#15. PHP’de ilişkisel bir dizinin elemanına erişilme biçimi aşağıdakilerden hangisidir?

Cevap: C) $dizi[”anahtar”] | Açıklama: PHP dilinde ilişkisel dizilerdeki (associative arrays) bir elemanın değerine, o elemana ait anahtar (key) değeri kullanılarak köşeli parantez `[]` içinde erişilir. Örneğin: `$dizi[”anahtar”]`.

Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.

<% $degisken %>

#16. Blade’de bir değişkenin değerini güvenli bir şekilde yazdırmak için hangi sözdizimi kullanılır?

Cevap: C) {{ $degisken }}

Açıklama: Laravel’in Blade şablon motorunda, `{{ $degisken }}` sözdizimi, değişkenin içeriğini ekrana yazdırırken olası XSS (Siteler Arası Betik Çalıştırma) saldırılarını önlemek için otomatik olarak HTML karakterlerinden arındırır (escape eder). Bu, güvenli yazdırma yöntemidir.

#17. Laravel Breeze kurulumu sonrasında aşağıdaki hangi URL’ler otomatik olarak oluşturulur?

Cevap: E) /login ve /register | Açıklama: Laravel Breeze başlangıç paketi, bir uygulama için temel kimlik doğrulama (authentication) sistemini kurar. Bu kurulum sonucunda kullanıcı girişi için `/login` ve yeni kullanıcı kaydı için `/register` URL’lerine sahip rotalar ve görünümler otomatik olarak oluşturulur.

#18. DDOS saldırılarına karşı aşağıdaki Laravel özelliklerinden hangisi kullanılabilir?

Cevap: E) Rate Limiting | Açıklama: Rate Limiting (İstek Sınırlandırma), belirli bir zaman diliminde bir IP adresinden veya bir kullanıcıdan gelebilecek istek sayısını kısıtlar. Bu özellik, sunucuyu aşırı yüklemeyi amaçlayan kaba kuvvet (brute-force) ve bazı DDOS (Dağıtık Hizmet Engelleme) saldırı türlerine karşı etkili bir koruma sağlar.

#19. Laravel’in session ve cookie verilerini yönetirken, güvenlik açısından aşağıdakilerden hangisi daha güvenlidir?

Cevap: A) Session, çünkü veriler sunucuda saklanır. | Açıklama: Session (Oturum) verileri sunucu tarafında saklandığı için daha güvenlidir. Tarayıcıda sadece oturumu tanımlayan bir kimlik (ID) saklanır. Cookie (Çerez) verileri ise doğrudan kullanıcının tarayıcısında saklandığı için daha kolay erişilebilir ve manipüle edilebilir, bu da onu daha az güvenli yapar.

#20. Laravel’de süreç yönetimi için kullanılan sınıf aşağıdakilerden hangisidir?

Cevap: A) Process | Açıklama: Laravel, harici komut satırı süreçlerini (external command-line processes) uygulama içinden kolayca çalıştırmak ve yönetmek için `Process` cephesini (facade) ve arkasındaki `IlluminateProcessFactory` sınıfını sağlar.

Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.

Öncesi
TESTi BiTiR, PUANINI GÖR

SONUÇ

Sunucu Tabanlı Programlama 2024-2025 Final Soruları

Sunucu Tabanlı Programlama 2024-2025 Final Soruları

Sunucu Tabanlı Programlama 2024-2025 Final Soruları

İstanbul Üniversitesi Açık ve Uzaktan Eğitim Fakültesi (Auzef)
Açık Öğretim Fakültesi
Bölüm : Web Tasarımı ve Kodlama
2. Sınıf Bahar Dönemi
Sunucu Tabanlı Programlama 2024-2025 Final Soruları

Sunucu Tabanlı Programlama 2024-2025 Final Soruları

Sunucu Tabanlı Programlama: Laravel ve Temel Kavramlar

Sunucu Tabanlı Programlamanın Temelleri

Sunucu tabanlı programlama, web uygulamalarının mantığının ve veri işleme süreçlerinin sunucu üzerinde çalıştırılmasıdır. Bu süreçte temel web protokolleri ve dilleri kullanılır.

  • Ağ Protokolleri: Web sayfalarının sunucu ve istemci arasında transfer edilmesi için HTTP (Hypertext Transfer Protocol) kullanılır. Bu protokolde en sık kullanılan iki istek metodu GET ve POST‘tur. IP adreslerinden alan adlarına erişimi sağlayan sistem ise DNS (Domain Name System)‘dir.
  • PHP Dilinin Temelleri: Sunucu taraflı bir dil olan PHP’de, ilişkisel bir dizinin elemanına erişmek için anahtar değeri köşeli parantezler içinde kullanılır. Yazım şekli şöyledir:
    $dizi["anahtar"]

Laravel ve MVC Mimarisi

Laravel, popüler bir PHP web uygulama çatısıdır ve MVC (Model-View-Controller) mimarisini kullanır.

  • Model Katmanı: Projenin veritabanıyla bağlantı kuran katmanıdır ve genellikle veritabanı tablolarıyla ilişkilendirilir. Veri okuma, yazma ve iş mantığı bu katmanda yer alır.
  • Tasarım (View) Katmanı: Laravel kütüphanesinin üçüncü temel katmanıdır. Temel görevi, istemciye gönderilecek arayüz dosyalarını (HTML) dinamik olarak güncellemek ve iletmektir.
  • Kontrolcü (Controller) Katmanı: Model ve Tasarım katmanları arasındaki iletişimi sağlar, gelen istekleri yönetir ve yanıtları oluşturur.

Laravel’de Rotalama ve Kontrolcüler

Laravel’de kullanıcı istekleri rotalar (routes) aracılığıyla ilgili kontrolcü metotlarına yönlendirilir.

  • Controller Oluşturma: Bir Controller sınıfı oluştururken kullanılan --resource parametresi, CRUD işlemleri için index, store, create, edit, update ve destroy gibi metotları otomatik olarak oluşturur. login metodu bu standart metotlardan biri değildir.
  • Kayıt Güncelleme: Bir kaydı güncellemek için kontrolcüde genellikle iki metot kullanılır: edit metodu güncelleme formunu gösterir, update metodu ise bu formdan gelen verilerle kaydı günceller.
  • API Sürüm Yönetimi: Laravel’de API sürüm yönetimi için tercih edilen rotalama yaklaşımlarından biri, rotaları /api/v1/ gibi gruplayan rota ön ekleri (prefix) kullanmaktır.

Veritabanı İşlemleri ve Şema Yönetimi

Laravel’de veritabanı şeması, Migration (Taşıma) dosyaları kullanılarak yönetilir. Bu dosyalar, veritabanı tablolarını ve sütunlarını kod aracılığıyla oluşturmayı ve güncellemeyi sağlar, bu da bir tür sürüm kontrolü işlevi görür.

Blade Şablon Motoru ve Arayüz

Laravel’in şablon motoru olan Blade, arayüz dosyalarının (view) daha kolay ve güvenli bir şekilde oluşturulmasını sağlar.

  • Yorum Etiketleri: Standart HTML yorum etiketi (<!-- -->) istemciye gönderilen kaynak kodunda görünürken, Blade yorum etiketi ({{-- -->}}) sunucu tarafında işlenirken tamamen kaldırılır ve son HTML’de yer almaz.
  • Değişken Yazdırma: Bir değişkenin değerini güvenlik açıklarına (XSS) karşı korumalı bir şekilde yazdırmak için çift süslü parantez sözdizimi kullanılır:
    {{ $degisken }}

Gelişmiş Laravel Kavramları: Güvenlik ve Performans

  • Middleware (Ara Katman): Temel amacı, bir rotaya erişildiğinde kontrolcü fonksiyonu çalıştırılmadan önce veya sonra bir kod bloğu çalıştırmaktır. Middleware’in kontrolcü fonksiyonundan sonra çalışması isteniyorsa, ilgili kodlar return $next($request) ifadesinden sonra yazılır.
  • Önbellekleme (Caching): Temel amacı, aynı sonucu üreten işlemlerin (örneğin veritabanı sorguları) her istekte tekrar kaynak tüketmesini önleyerek uygulama performansını artırmaktır.
  • Kimlik Doğrulama (Authentication): Laravel Breeze başlangıç paketi kurulduktan sonra, kullanıcı girişi ve kaydı için /login ve /register URL’leri otomatik olarak oluşturulur.
  • Güvenlik Önlemleri: DDOS saldırılarına karşı kullanılabilecek Laravel özelliklerinden biri Rate Limiting‘dir (İstek Sınırlandırma). Oturum (session) ve çerez (cookie) verilerini yönetirken, Session daha güvenlidir, çünkü veriler sunucuda saklanır.
  • HTTP Client ve JSON: Laravel’in HTTP Client’ı ile JSON formatında yanıt almak için .json() metodu kullanılır. Bir kontrolcüden JSON formatında yanıt döndürmek için ise en doğru yöntem şudur:
    return response()->json($data);
  • Süreç Yönetimi: Harici komut satırı süreçlerini yönetmek için Laravel’de kullanılan sınıf Process sınıfıdır.

@lolonolo_com

Sunucu Tabanlı Programlama 2024-2025 Final Soruları

Sunucu Tabanlı Programlama 2024-2025 Final Soruları (1-12)

1- Laravel’de Middleware handle() fonksiyonunda $next($request) ifadesi aşağıdakilerden hangisine yerleştirilirse, Middleware kontrolcü fonksiyonundan sonra çalışır?

A) handle() fonksiyonu yerine after() fonksiyonu kullanılırsa
B) return $next($request) ifadesinden sonra kod bloğu yazılırsa
C) return $next($request) ifadesinden önce kod bloğu yazılırsa
D) return $next($request) ifadesi kullanılmazsa
E) Middleware sınıfının constructor metodunda belirtilirse

Cevap : B) return $next($request) ifadesinden sonra kod bloğu yazılırsa

Açıklama : Middleware’de `$next($request)` komutu, isteği bir sonraki katmana (veya kontrolcüye) iletir. Bu komuttan önce yazılan kodlar kontrolcüden önce, bu komuttan sonra yazılan kodlar ise kontrolcü çalışıp yanıtı oluşturduktan sonra çalışır.

2- Laravel’de Middleware (Ara Katman) kavramının temel amacı aşağıdakilerden hangisidir?

A) Veritabanı sorgularını optimize etmek
B) Bir rotaya erişildiğinde kontrolcü fonksiyonu çalıştırılmadan önce veya sonra kod bloğu çalıştırmak
C) HTTP yanıtlarını sıkıştırmak
D) Yalnızca kullanıcı kimlik doğrulaması yapmak
E) Görünüm (view) dosyalarını işlemek

Cevap : B) Bir rotaya erişildiğinde kontrolcü fonksiyonu çalıştırılmadan önce veya sonra kod bloğu çalıştırmak

Açıklama : Middleware (Ara Katman), gelen HTTP isteklerini filtrelemek için bir mekanizma sağlar. Temel amacı, bir istek hedefine (kontrolcüye) ulaşmadan önce veya hedeften bir yanıt döndükten sonra belirli işlemleri (kimlik doğrulama, loglama, CORS ayarları vb.) gerçekleştirmektir.

3- Aşağıdakilerden hangisi Controller sınıfı oluştururken kullanılan –resource parametresinin sağladığı metodlardan biri değildir?

A) index
B) store
C) destroy
D) login
E) create

Cevap : D) login

Açıklama : `–resource` parametresi, bir kaynakla ilgili temel CRUD (Create, Read, Update, Delete) işlemleri için `index`, `create`, `store`, `show`, `edit`, `update`, ve `destroy` metotlarını otomatik olarak oluşturur. `login` metodu ise genellikle kimlik doğrulama işlemleri için kullanılır ve standart bir resource metodu değildir.

4- Laravel’de veri tabanı tablolarını oluşturmak için kullanılan yapı aşağıdakilerden hangisidir?

A) Migration
B) Route
C) Middleware
D) Factory
E) Seeder

Cevap : A) Migration

Açıklama : Laravel’de “Migration” (Taşıma) dosyaları, veritabanı şemasının (tablolar, sütunlar vb.) kod aracılığıyla oluşturulmasını ve yönetilmesini sağlayan bir sürüm kontrol sistemi görevi görür.

5- Önbellekleme (caching) kullanımının temel amacı aşağıdakilerden hangisidir?

A) Kullanıcı oturumlarını yönetmek
B) Uygulama güvenliğini artırmak
C) Veritabanı bağlantı sayısını azaltmak
D) Aynı sonucu üretmek için her istekte tekrar kaynak tüketimini önleyerek performansı artırmak
E) HTTP isteklerini sıralamak

Cevap : D) Aynı sonucu üretmek için her istekte tekrar kaynak tüketimini önleyerek performansı artırmak

Açıklama : Önbellekleme, veritabanı sorgusu gibi zaman alan veya kaynak tüketen işlemlerin sonuçlarını geçici bir süreliğine hızlı erişilebilir bir bellekte saklar. Aynı istek tekrar geldiğinde, işlem yeniden yapılmak yerine sonuç doğrudan önbellekten alınır, bu da performansı önemli ölçüde artırır.

6- Laravel’de bir kaydı güncellemek için kontrolcüde aşağıdaki hangi iki metot kullanılır?

A) modify ve save
B) edit ve update
C) change ve persist
D) refresh ve commit
E) update ve save

Cevap : B) edit ve update

Açıklama : Resource controller yapısında, `edit` metodu güncellenecek kaydın formunu kullanıcıya göstermek için, `update` metodu ise bu formdan gelen verilerle kaydı veritabanında güncellemek için kullanılır.

7- Laravel’de API sürüm yönetimi için tercih edilen rotalama yaklaşımı aşağıdakilerden hangisidir?

A) Controller sürüm isimlendirmesi yapılır
B) Namespace tanımlamaları kullanılır
C) Model sürüm tanımlamaları yapılır
D) Middleware tanımlamaları kullanılır
E) Route ön ekleri kullanılır (prefix)

Cevap : E) Route ön ekleri kullanılır (prefix)

Açıklama : API’leri sürümlere ayırmak için en yaygın ve temiz yöntemlerden biri, rota tanımlamalarında ön ek (prefix) kullanmaktır. Örneğin, rotalar `/api/v1/` ve `/api/v2/` gibi ön eklerle gruplandırılarak farklı sürümler yönetilebilir.

8- HTML yorum etiketi () ile Blade yorum etiketi ({{– –}}) arasındaki fark aşağıdakilerden hangisidir?

A) HTML yorumları CSS’i etkilerken, Blade yorumları etkilemez
B) HTML yorumları kaynak kodunda görünürken, Blade yorumları sunucu tarafinda tamamen kaldırılır
C) HTML yorumları tarayıcıda görünürken, Blade yorumları görünmez
D) HTML yorumları JavaScript tarafından okunabilirken, Blade yorumları okunamaz
E) HTML yorumları sadece geliştiriciler tarafından görülebilirken, Blade yorumları herkes tarafından görülebilir

Cevap : B) HTML yorumları kaynak kodunda görünürken, Blade yorumları sunucu tarafinda tamamen kaldırılır

Açıklama : HTML yorumları (“) istemciye gönderilen dosyanın içinde yer alır ve tarayıcının “kaynağı görüntüle” seçeneğiyle görülebilir. Blade yorumları (`{{– –}}`) ise sunucu tarafında Blade şablon motoru tarafından işlenirken tamamen kaldırılır ve istemciye gönderilen son HTML dosyasına dahil edilmez.

9- Laravel’de JSON formatında yanıt döndürmek için kontrolcüde aşağıdaki yapılardan hangisi kullanılır?

A) echo json_encode($data);
B) $data->asJson();
C) return response()->json($data);
D) json_encode($data);
E) return $data->toJson();

Cevap : C) return response()->json($data);

Açıklama : Laravel, JSON yanıtları oluşturmak için `response()` yardımcısını sunar. `response()->json($data)` kullanımı, verilen diziyi veya nesneyi JSON formatına dönüştürür ve `Content-Type` başlığını otomatik olarak `application/json` olarak ayarlar. Bu, en doğru ve standart yöntemdir.

10- HTTP Client ile JSON formatında yanıt almak için aşağıdaki metotlardan hangisi kullanılır?

A) parseJson()
B) toJson()
C) asJson()
D) json()
E) getJson()

Cevap : D) json()

Açıklama : Laravel’in HTTP istemcisini kullanarak bir API’den yanıt alındığında, yanıt gövdesinin JSON formatında olduğu biliniyorsa, bu JSON verisini bir PHP dizisine dönüştürmek için yanıt nesnesi üzerinde `.json()` metodu çağrılır.

11- MVC’de Model katmanının amacı aşağıdakilerden hangisidir?

A) Sistemin bileşenlerinin fonksiyonel hale getirildiği katmandır.
B) Projenin yetkilendirmesini sağlayan katmandır.
C) Projenin veri tabanıyla bağlantı kuran katmanıdır ve tablolarla ilişkilendirilir.
D) Sadece veri doğrulaması yapan katmandır.
E) Sistemin kullanıcıyla etkileşiminin sağlandığı katmandır.

Cevap : C) Projenin veri tabanıyla bağlantı kuran katmanıdır ve tablolarla ilişkilendirilir.

Açıklama : MVC (Model-View-Controller) mimarisinde Model katmanı, uygulamanın veri yapısını ve iş mantığını temsil eder. Genellikle veritabanı tablolarıyla etkileşime girerek veri okuma, yazma, güncelleme ve silme gibi işlemleri yönetir.

12- IP adreslerinden alan adlarına erişim sağlayan sistem aşağıdakilerden hangisidir?

A) DNS (Domain Name System)
B) HTTP (Hypertext Transfer Protocol)
C) FTP (File Transfer Protocol)
D) SMTP (Simple Mail Transfer Protocol)
E) HTML (Hypertext Markup Language)

Cevap : A) DNS (Domain Name System)

Açıklama : DNS (Alan Adı Sistemi), insanların okuyabildiği alan adlarını (örneğin, http://www.google.com) makinelerin anlayabildiği IP adreslerine (örneğin, 172.217.16.142) çeviren ve internetin telefon rehberi gibi çalışan sistemdir.

@lolonolo_com

Sunucu Tabanlı Programlama 2024-2025 Final Soruları (13-20)

13- Laravel kütüphanesinin üçüncü temel katmanı olan Tasarım katmanının temel görevi aşağıdakilerden hangisidir?

A) Sunucu güvenliğinin sağlanması
B) Kullanıcı kimlik doğrulama işlemlerinin yapılması
C) Veri tabanı işlemlerinin yönetilmesi
D) İstek yönlendirme ve yönetiminin sağlanması
E) İstemciye gönderilecek arayüz dosyalarının dinamik olarak güncellenmesi ve iletilmesi

Cevap : E) İstemciye gönderilecek arayüz dosyalarının dinamik olarak güncellenmesi ve iletilmesi

Açıklama : MVC mimarisindeki Tasarım (View) katmanı, kullanıcıya gösterilecek olan arayüzü oluşturmaktan sorumludur. Bu katman, kontrolcüden gelen verileri alarak HTML dosyaları gibi arayüz dosyalarını dinamik olarak işler ve sonuç olarak istemcinin tarayıcısına gönderir.

14- HTTP protokolünde en sık kullanılan iki istek metodu aşağıdaki hangisidir?

A) PUSH ve PULL
B) INPUT ve OUTPUT
C) FETCH ve SEND
D) GET ve POST
E) READ ve WRITE

Cevap : D) GET ve POST

Açıklama : HTTP protokolünde birçok istek metodu bulunsa da, sunucudan veri istemek (sayfa görüntülemek vb.) için `GET` ve sunucuya veri göndermek (form doldurmak vb.) için `POST` metotları en temel ve en sık kullanılan iki metottur.

15- PHP’de ilişkisel bir dizinin elemanına erişilme biçimi aşağıdakilerden hangisidir?

A) $dizi(anahtar)
B) $dizi.anahtar
C) $dizi[“anahtar”]
D) $dizi->anahtar
E) dizi.get(“anahtar”)

Cevap : C) $dizi[“anahtar”]

Açıklama : PHP dilinde ilişkisel dizilerdeki (associative arrays) bir elemanın değerine, o elemana ait anahtar (key) değeri kullanılarak köşeli parantez `[]` içinde erişilir. Örneğin: `$dizi[“anahtar”]`.

16- Blade’de bir değişkenin değerini güvenli bir şekilde yazdırmak için hangi sözdizimi kullanılır?

A) {!! $degisken !!}
B) <% $degisken %>
C) {{ $degisken }}
D) ($degisken)
E) {% $degisken %}

Cevap : C) {{ $degisken }}

Açıklama : Laravel’in Blade şablon motorunda, `{{ $degisken }}` sözdizimi, değişkenin içeriğini ekrana yazdırırken olası XSS (Siteler Arası Betik Çalıştırma) saldırılarını önlemek için otomatik olarak HTML karakterlerinden arındırır (escape eder). Bu, güvenli yazdırma yöntemidir.

17- Laravel Breeze kurulumu sonrasında aşağıdaki hangi URL’ler otomatik olarak oluşturulur?

A) /enter ve /exit
B) /auth ve /logout
C) /signin ve /signup
D) /connect ve /disconnect
E) /login ve /register

Cevap : E) /login ve /register

Açıklama : Laravel Breeze başlangıç paketi, bir uygulama için temel kimlik doğrulama (authentication) sistemini kurar. Bu kurulum sonucunda kullanıcı girişi için `/login` ve yeni kullanıcı kaydı için `/register` URL’lerine sahip rotalar ve görünümler otomatik olarak oluşturulur.

18- DDOS saldırılarına karşı aşağıdaki Laravel özelliklerinden hangisi kullanılabilir?

A) Authentication
B) Validation
C) Middleware
D) Encryption
E) Rate Limiting

Cevap : E) Rate Limiting

Açıklama : Rate Limiting (İstek Sınırlandırma), belirli bir zaman diliminde bir IP adresinden veya bir kullanıcıdan gelebilecek istek sayısını kısıtlar. Bu özellik, sunucuyu aşırı yüklemeyi amaçlayan kaba kuvvet (brute-force) ve bazı DDOS (Dağıtık Hizmet Engelleme) saldırı türlerine karşı etkili bir koruma sağlar.

19- Laravel’in session ve cookie verilerini yönetirken, güvenlik açısından aşağıdakilerden hangisi daha güvenlidir?

A) Session, çünkü veriler sunucuda saklanır.
B) İkisi de aynı güvenlik seviyesindedir.
C) Cookie, çünkü veriler şifrelenir.
D) Session, çünkü daha uzun süreli saklanır.
E) Cookie, çünkü tarayıcıda saklanır

Cevap : A) Session, çünkü veriler sunucuda saklanır.

Açıklama : Session (Oturum) verileri sunucu tarafında saklandığı için daha güvenlidir. Tarayıcıda sadece oturumu tanımlayan bir kimlik (ID) saklanır. Cookie (Çerez) verileri ise doğrudan kullanıcının tarayıcısında saklandığı için daha kolay erişilebilir ve manipüle edilebilir, bu da onu daha az güvenli yapar.

20- Laravel’de süreç yönetimi için kullanılan sınıf aşağıdakilerden hangisidir?

A) Process
B) Terminal
C) Executor
D) Shell
E) Command

Cevap : A) Process

Açıklama : Laravel, harici komut satırı süreçlerini (external command-line processes) uygulama içinden kolayca çalıştırmak ve yönetmek için `Process` cephesini (facade) ve arkasındaki `Illuminate\Process\Factory` sınıfını sağlar.

@lolonolo_com

Sunucu Tabanlı Programlama 2024-2025 Final Soruları

Web Tasarım ve Kodlama
Auzef Sunucu Tabanlı Programlama Web Tasarımı ve Kodlama

Auzef Web Tasarımı ve Kodlama 2. sınıf bahar dönemi soruları

Sunucu Tabanlı Programlama 2024-2025 Final Soruları

Editor

Editör