Ata Aöf İnternet Programcılığı -2 2024-2025 Final Soruları
https://lolonolo.com/2026/05/01/ata-aof-internet-programciligi-2-2024-2025-final-sorulari/
https://lolonolo.com
Show More Show Less View Video Transcript
0:00
Selamlar. İnternet programcılığı iki
0:02
konularını şöyle bir toparlayıp finaller
0:05
öncesi zihnimizi tamamen
0:06
berraklaştıracağımız bu kapsamlı
0:08
teknoloji rehberine hoş geldiniz. Bugün
0:11
tüm o karmaşık konuları geliştiricinin
0:14
araç kutusu adını verdiğimiz çok pratik
0:16
bir yapı içinde inceleyeceğiz. Amacımız
0:18
kuru kuruya ezber yapmak değil. Bu işin
0:20
mantığını gerçekten kavramak. Hazırsanız
0:23
araç kutumuzu açalım. Tamam. Hemen
0:26
konuya dalalım. Önümüzdeki dakikalarda
0:28
şu dört temel ekosistemi masaya
0:30
yatırıyoruz. C#ARP ve ASPNET mimarisi,
0:34
Python ve Flask çerçevesi, PHP veri
0:37
tabanı operasyonları ve son olarak web
0:40
servisleriyle web 3.0 dünyası. Konuları
0:43
böyle net kutulara ayırmak inanın bana
0:45
sınav anında o bilgileri doğru raftan
0:47
çekip almanızı çok ama çok
0:49
kolaylaştıracak.
0:51
Bölüm 1. CSP ve ASP net mimarisi.
0:55
Geliştirici araç kutumuzun bu ilk devasa
0:58
parçasına yakından bakalım. Eskiden
1:00
işler biraz karışıktı değil mi?
1:02
Eskiil.ASASP
1:04
sayfalarında görsel HTML kodlarıyla
1:07
sunucu kodları adeta Arap saçına dönmüş.
1:10
Aynı dosyanın içine hapsedilmişti.
1:12
Tahmin edersiniz ki proje büyüdükçe bu
1:14
tam bir kaosa yol açıyordu. Peki çözüm
1:17
ne oldu? COD Behind yani arka plan kodu
1:20
harikası. Modern ASP net mimarisi görsel
1:23
tasarımı.ASASPX
1:25
dosyalarına ayırdı. İşin beyni olan
1:27
sunucu kodlarını isex.cs
1:30
dosyalarına taşıdı. Bu arada yeri
1:32
gelmişken hemen hatırlatayım. C#ARP kod
1:35
dosyalarının varsayılan uzantısı her
1:37
zaman nocs'dir. Sınavda karşınıza
1:39
çıkarsa sakın kaçırmayın. Şimdi devasa
1:43
bir web projesi yazdığınızı düşünün.
1:45
içinde yüzlerce hatta binlerce sınıf
1:48
yani klass var. Peki bu isimlerin
1:51
birbiriyle çakışmasını nasıl önlüyoruz?
1:54
İşte burada sahneye namespace yani isim
1:57
uzayı çıkıyor. Bunu kodlarınız için
2:00
devasa bir ofis dolabı sistemi gibi
2:01
düşünün. Her şeyi aynı çekmeceye
2:04
takıştırmak yerine kodları hiyerarşik ve
2:06
mantıksal gruplara ayırıyor. Böylece
2:09
aynı isme sahip iki farklı sınıf farklı
2:11
çekmecelerde hiçbir sorun çıkarmadan
2:13
paşa paşa yaşayabiliyor. Diyelim ki
2:16
projenizi yazdınız ve sıra onu canlıya
2:18
almaya geldi. Peki o sunucunun sürekli
2:21
uyanık kalacağının, sitenizin hep
2:23
ulaşılabilir olacağının garantisi ne?
2:25
İşte SLA yani hizmet düzeyi anlaşması
2:28
tam olarak bu. Bunu müşteri ile hizmet
2:31
sağlayıcı arasında yapılan bağlayıcı
2:33
dijital bir el sıkışma olarak
2:35
görebilirsiniz. Sitenin erişilebilirlik
2:37
şartları bu resmi sözleşmeyile güvence
2:39
altına alınır. Microsoft tarafını
2:42
yavaşça geride bırakırken görsel tarafta
2:44
oyunun kurallarını değiştiren bir
2:46
araçtan, SAS'tan bahsedelim. Standart
2:48
CSS kullanırken bazen duvarlara
2:51
toslarsınız. Çünkü maalesef çok katı bir
2:53
dildir. İşte SAS CSS'in tıkandığı o
2:56
noktalarda devreye giren harika bir
2:58
önderleyicidir. İşin içine değişkenler
3:01
ve döngüler katarak kodlarınızı
3:02
inanılmaz derecede dinamikleştirir.
3:05
İkinci bölüm: Python ve Flask çerçevesi.
3:08
Şimdi tamamen farklı bir vitese
3:10
geçiyoruz. Size klasik bir sınav tuzağı
3:13
sorayım. Acaba Python dilinde sadece
3:16
döngü oluşturmak için sistemde özel
3:19
olarak rezerve edilmiş loop adında bir
3:22
anahtar kelime var mıdır sizce? Koca bir
3:25
hayır. Kesinlikle yok. Lütfen bu tuzağa
3:28
düşmeyin. Python döngüleri kurmak için
3:31
sadece while ve for kelimelerini
3:33
kullanır. Şıklarda loop kelimesini
3:35
görürseniz bunun bir yanıltmaca olduğunu
3:37
hemen fark edip arkanıza bakmadan o
3:39
şükkü eleyin. Şimdi bu ekrandaki uzun
3:42
matematik işlemine bir bakın. Buradaki
3:44
asıl sihir nerede biliyor musunuz? En
3:46
sağdaki o minik ondalık noktada. Bakın
3:49
kural çok basit. Python'da bölme işlemi
3:51
yapıyorsanız sonuç her zaman ama her
3:54
zaman float yani ondalıklı çıkar. Bu
3:56
işlemin matematiksel sonucu tam olarak
3:58
5. Ancak Python bunu ekrana düz bir 5
4:01
olarak değil 5 0 olarak yansıtır.
4:03
Sınavda şıklara ikisini de koyarlar.
4:06
İşin içinde bölme varsa her zaman
4:08
ondalıklı olanı işaretliyoruz. Peki
4:10
Python'la harika web uygulamalarını
4:12
nasıl yapıyoruz? Flask çerçevesiyle.
4:15
Flask kurmak için şu dört maddeli
4:17
kontrol listesini adınız gibi
4:18
bilmelisiniz. 1. Python bilgisayarınızda
4:21
yüklü olacak. 2. Dosya yolu yani PT
4:24
işletim sistemine eklenecek. 3. PIP
4:27
aracıyla kurulum yapılacak ve 4. Koda o
4:29
meşhur from flask import flask satırı
4:32
eklenecek. Ama burada altını kalın kalın
4:34
çizmek istediğim asıl şey şu. Flask
4:36
donanımsal bir işletim sistemi çekirdeğe
4:38
falan değildir. Yani işletim sisteminize
4:41
ekstra bir kernel modülü bir eklenti
4:43
kurmanıza kesinlikle gerek yoktur.
4:46
Python bahsini kapatmadan son bir
4:48
çeldiriciye daha değinelim. C#, Python,
4:51
PHP, Java. Bunlar web dünyasının
4:54
popüler, yüksek seviyeli dilleridir.
4:57
Peki ya assembly? Eğer şıklarda
4:59
Assembly'yi yüksek seviyeli bir web dili
5:02
olarak görürseniz hemen üstünü çizin.
5:04
Assembly donanıma yani makine diline çok
5:07
ama çok yakın çalışan bir dildir.
5:09
İnternet programcılığıyla uzaktan
5:11
yakından alakası yoktur. Geldik 3.
5:14
bölüme. PHP ve veri tabanı işlemleri.
5:17
Sunucu taraflı dillerin bu yaşlı kurdu
5:20
verilerle nasıl konuşuyor ona bakalım.
5:22
PHP'de çok sık birbirine karıştırılan
5:24
iki komut vardır. Header ve require.
5:27
Aslında mantıkları çok farklı. Bir işlem
5:29
sonrasında kullanıcıyı alıp tamamen
5:31
başka bir dış adrese otomatik olarak
5:33
fırlatmak mı istiyorsunuz? O zaman
5:35
header komutunu kullanacaksınız. Yok ben
5:37
dışarıdaki bir veri tabanı ayar
5:39
dosyasını alıp kendi ana sayfama
5:41
gömeceğim, dahil edeceğim diyorsanız o
5:43
zaman kullanacağınız şey require
5:45
fonksiyonudur. Biri dışarı yönlendirir,
5:47
diğeri içeri çeker. Bu kadar net.
5:50
Döngüler konusuna dönersek elinizde
5:52
içinde kaç eleman olduğunu bilmediğiniz
5:54
bir dizi varsa onu eksiksiz okumanın en
5:57
garantili yolu for döngüsüdür. Peki
5:59
klasik bir for döngüsüne ne dersiniz?
6:02
Mesela A değişkeninin 2'den başladığı ve
6:05
12'den küçük olduğu sürece devam ettiği
6:07
bir döngü düşünün. Bu 2'den 11'e kadar
6:10
sayacak demektir. Parmak hesabıyla bile
6:12
saysanız bunun tam 10 tur yani 10 tekrar
6:15
ettiğini rahatça bulursunuz. Veri tabanı
6:17
demişken tüm sektörün üzerinde anlaştığı
6:20
o meşhur standarttan bahsetmemek olmaz.
6:22
Crude baş harflerini ezberleyelim.
6:25
Create yani oluşturma. Read yani okuma,
6:28
update yani güncelleme, delete yani
6:30
silme. Sınavlarda genellikle şıkların
6:33
arasına kurnaz copy yani kopyalamayı
6:36
sıkıştırırlar. Kesin konuşuyorum.
6:38
Kopyalama kurut standardının bir parçası
6:40
değildir. Bu çok bilindik bir sınav
6:43
tuzağıdır. Harika. SQL komutlarımızı
6:45
yazdık diyelim. Peki biz bu kodları
6:48
MySQL sunucusuna nasıl ateşleyeceğiz?
6:50
Nasıl çalıştıracağız? Bunun cevabı tek
6:53
ve çok güçlü bir fonksiyonda gizli. Myoi
6:57
ok işareti query fonksiyonu. Bu ifade
7:00
yazdığınız o sorguların veri tabanında
7:02
gerçekten tetiklenmesini sağlayan
7:04
anahtardır. Zihninize mutlaka not edin.
7:07
Şimdi lütfen çok dikkatli dinleyin.
7:09
Çünkü bu her veri tabanı uzmanının en
7:12
büyük kabusudur. Veri silerken delete
7:15
from sorgusu yazdığınız zaman sonuna
7:17
where yani bir şart cümlesi eklemeyi
7:20
unuttunuz mu? Geçmiş olsun. Tablodaki ne
7:23
var ne yok her şeyi fiziksel olarak
7:25
sildiniz demektir ve inanın bana bunun
7:28
geri dönüşü yoktur. Bu asla ama asla
7:31
yapılmaması gereken bir hatadır. Şartı
7:33
unutmayın. Ve son bölümümüz 4. kısım.
7:37
Web servisleri ve web 3.0. Artık kodlara
7:40
mikroskopla bakmayı bırakıp büyük resme
7:43
internetin nasıl konuştuğuna
7:44
odaklanıyoruz. Bambaşka dillerle
7:47
yazılmış sistemlerin birbiriyle nasıl
7:49
anlaştığını hiç merak ettiniz mi?
7:51
Karşımızda iki ana mimari var. SUAP ve
7:53
REST. Bakın burası çok kritik. SUAP
7:56
verileri XML formatında ileten bir
7:59
mesajlaşma protokolüdür ve platformdan,
8:01
dilden tamamen bağımsızdır. Yani sınavda
8:04
SUAP platforma bağımlıdır diyen bir şık
8:06
görürseniz hemen çizin. Külliyen
8:08
yalandır. Rest ise işin modern yüzüdür.
8:11
ekstra hiçbir karmaşık teknolojiye
8:13
ihtiyaç duymadan doğrudan hepimizin
8:15
bildiği HTTP protokolü üzerinden tıkır
8:18
tıkır çalışır. İnternetin geçirdiği
8:20
evrime dönüp bir bakalım. Web 1.0
8:23
dönemi. Sadece bilgiyi okuduğumuz tek
8:25
yönlü sıkıcı zamanlar. Sonra web 2.0
8:28
fırtınası koptu. Sosyal medya geldi.
8:30
Hepimiz içerik üreticisi olduk ve şimdi
8:33
yepyeni bir ufuk var önümüze. Web 3.0.
8:36
makinelerin verileri anlamsal yani
8:38
semantik olarak işleyebildiği bilginin
8:40
dev şirketlerin tekelinden çıkıp dağıtık
8:43
blok zincirlerine yani tamamen
8:44
merkeziyetsiz bir yapıya taşındığı yeni
8:46
çağ. İşte geldik can alıcı soruya. Web
8:50
3.0 verileri tekil devasa sunuculardan
8:53
söküp alıp tamamen merkeziyetsiz ağlara
8:55
dağıtıyor değil mi? Peki sizce bu akıl
8:58
almaz semantik ve mimari değişim az önce
9:00
üzerine o kadar konuştuğumuz CSARP,
9:03
Python, PHP gibi arka plan dillerinin
9:05
geleceğini nasıl şekillendirecek? Bu
9:07
yeni dünyaya ayak uydurabilecekler mi?
9:10
Geliştiricinin araç kutusunu tam
9:11
teşekküllü olarak donandığımıza göre
9:13
artık finallere hazırsınız demektir. Bu
9:16
rehberin zihninizdeki o karmaşık
9:17
haritayı netleştirdiğini umuyorum.
9:19
Sınavlarınızda hepinize şimdiden devasa
9:21
başarılar diliyorum. Görüşmek üzere.

