Yazılım Geliştirici Yetiştirme Kampı 8. Gün C# Entity Framework
Вставка
- Опубліковано 6 жов 2024
- Discord : / discord
Yazılım Geliştirici Yetiştirme Kampı 8. Gün C# Entity Framework
Tam 2 ay boyunca sürecek ve ücretsiz olarak yapacağım Yazılım Geliştirici Yetiştirme Kampı programından en büyük verimi almanız için şimdiden önlemler almanızı ve hazırlık yapmanızı önereceğim tüyoları bu sayfada toplamaya karar verdim.
Bu projeye gösterilen ilginin büyüklüğünü açıkçası beklemiyordum. (Şimdiden 30.000 kaydı geçtik.) Bu da demek oluyor ki muhtemelen Türkiye'de bugüne kadar yapılmış en kalabalık profesyonel yazılım geliştirme eğitimini yapacağız.
Öğrencilerimin heyecanı beni en az onlar kadar motive ediyor. Ben ve ekibim çok iyi hazırlanıyoruz.
➤Yazılım Geliştirici Yetiştirme Kampı ücretsiz mi olacak? Evet, ücretsiz olacak.
➤Yazılım Geliştirici Yetiştirme Kampı nerede yayınlanacak? Kampımız canlı olarak yayınlanacak. Canlı yayın UA-cam kanalımda gerçekleşecek. Yayın saatini kaçırmamak için kanala abone olup hatırlatıcı eklemeyi unutmayınız. Canlı yayın sonrası videolar, ödevler ve testler ise Kodlama.io 'da ( www.kodlama.io/ ) yayınlanacak.
➤Yazılım Geliştirici Yetiştirme Kampının canlı yayın tarihi ne zaman ve saat kaçta başlayacak? Bir canlı yayın süresi ne kadar olacak? Canlı yayın hangi günlerde yapılacak?
Canlı yayın günleri : Çarşamba ve Cumartesi (İlk canlı ders tarihini takip eden her haftanın Çarşamba ve Cumartesi günlerinde devam edecek)
8. canlı yayın tarihi : 3 Şubat Çarşamba
Canlı yayın saati : 21.00
Canlı yayın süresi : 3 ders saati
➤Yazılım Geliştirici Yetiştirme Kamp programı ne kadar sürecek? Ücretsiz olarak vereceğim bu kamp 2 ay boyunca sürecek.
➤Kamp programında neler olacak? Toplam 16 gün/modül/canlı ders yapacağımız kamp programını Kodlama.io 'da detaylı olarak paylaştım. Detaylı kamp programına ulaşmak için bağlantıyı tıklayınız. ( www.kodlama.io/ )
Kamp Programı
8. Gün/Modül/Canlı Ders
C# ile veri tabanı programlama (Entity Framework)
Atölye çalışmaları (Workshop)
Ödevlerin verilmesi
Quiz sistemine yönlendirme
➤Canlı yayın sonrası videolar, ödevler ve testler olacak mı? Olacak ise bunlara nasıl ulaşabilirim? Evet, canlı yayın sonrası videolar, ödevler ve testler olacak. Kodlama.io 'da Yazılım Geliştirici Yetiştirme Kampının içinde bulunan ders programınıza ekleyeceğiz. Canlı yayın sonrası videolar, ödevler ve testlere ulaşmak için bağlantıyı tıklayınız. ( www.kodlama.io/ )
➤Yazılım Geliştirici Yetiştirme Kampından en büyük verimi nasıl alabilirim? Kamp sırasında neler yapmamı önerirsiniz?
1-İki ekranda takip etmeye çalışın. (Bu ekranlardan birinde beni izlerken diğerinde kod yazıp, soru cevap platformumuzdan destek alabilirsiniz. Yardımcı ekran tablet, monitör veya evdeki HDMI destekli TV olabilir.)
2-İkinci ekran yoksa? (Bu durumda bilgisayar ekranınızı ikiye bölebilirsiniz. Windows + Sol Yön tuşuyla mevcut ekranı sola, Windows + sağ yön tuşu ikilisiyle de mevcut diğer ekranı sağa atabilirsiniz. Öncesinde deneyiniz.)
3-Ne kurmalıyım? (Eğitimin ilk günü için bir şey kurmanız gerekmiyor. Online editör kullanacağız. Repl.it ( repl.it/ ) sitesinden bir hesap açmanız yeterlidir. İkinci gün itibariyle Visual Studio kullanacağız. Sizin için bir kurulum videosu hazırladım. ( bit.ly/35p2Qar )
➤Yazılım Geliştirici Yetiştirme Kampından en büyük verimi nasıl alabilirim? Yazılım Geliştirici Yetiştirme Kampına katılmadan önce neler yapmamı önerirsiniz?
Herhangi bir programlama bilgisi tecrübeniz olması gerekmiyor. Fakat temel programlama tecrübenizin olması büyük avantaj sağlar. Bu yüzden aşağıdaki bana ait yine ücretsiz kaynaklara erişiminiz önemlidir.
1-Eğer programlama tecrübeniz ve bilginiz hiç yok veya çok az ise tıklayınız, ( www.kodlama.io... )
2-Yukarıdaki dersi bitirdim ama biraz daha örneğe ihtiyacım var diyorsanız tıklayınız, ( bit.ly/38vpvne )
3-Temel seviyeden daha iyi durumdayım diyorsanız tıklayınız, ( bit.ly/2K1V6DF )
4-İleri seviye olmak üzereyim diyorsanız tıklayınız, ( bit.ly/35x0Mxc )
1:31:20 'de sıkıldığını söyleyen arkadaşa engin hocadan farklı olarak, mesleği bırakmak yerine başka yapıcı bir önerim var; videoları en baştan anlayarak dinle. anlayamadığında durdur ve soru sor. anlamadan izlemeye devam edince çok sıkıcı oluyor. kendi deneyimimdir.
sıkılıyorsa yazılımcı olamaz . Sevmeden Yapılacak iş değildir
Expressionu anlatmak isterim anladığım kadarıyla... Türkçem muhteşem değil, o yüzden bare with me.
Bakın arkadaşlar, Action, Func, Predicate dediğimiz şeyler delegatelerdir.
Action - 16ya kadar input alıp, hiç bir şey geri dönmeyen, sadece bir şey yapan(action) delegatedir
Func - 16ya kadar input alıp, input return eden delegatedir(önce olduğu kadar input type, sonda output/return type yazılır Func gibi)
Predicate - sadece bir input alan ve outputu olan delegatedir.
Tamam, o zaman şu delegate nedir?
Programlamada first class citizen anlayışı vardır. First class citizenleri bir metota argument gibi vere, metottan return edip geri döne, bir değişen tanımlatıla bilir. Yani tüm hakları olan bir obje. Şimdi C# gibi bazı dillerde metotlar bile first class citizendir. Yani metotu return ede, parametre gibi başka bir metota ata, değişene assign ede biliyoruz. Normalde bunu yapmamız mümkün değil:
int Add(a, b)
{
return a + b;
}
gibi bir metotumuz olsun. Normalde var x = Add dememiz mümkün değil. Metotu sadece çağırıp, ondan bir value alırız. var x = Add(1,2) deriz. Amma ben tüm bu metotu çağırmadan(yani () kullanmadan), metotun skeletonunu başka bir metota göndermek isteye bilirim. Ki sonra diğer metotun içinde farklı parametrelerle çağırayım.
Mesela, Multiply metotu yazıp, a*n-i a + a + a.... + a şeklinde hesaplamak istiyorum. Zaten a + a bende olduğu için, Add metotunu Multiplyın içine atmak istiyorum. İşte bunu yapmam için gerekli yapıya delegate denir. Delegate bir metotu işaretleyen, ona referans dura bilen bir yapıdır. Şöyle ki int delegate(a, b) AddFunc = Add diyorum. Artık dilediğim yerde AddFunc(x, y) değerek, bu metotu çağıra bilirim.
int Multiply(AddFunc, n, x)
{
for(int N < x)
AddFunc(n, n);
} yani x defa Add metotunu n parametresi ile çağıra bilirim. İşte Func AddFunc = Add onun aynısı olur. Çünki Func kendisi bir special delegatetir. Yani biz GetAll metotumuza tüm bir metot göndermekteyiz.
TO BE CONTİNUED
Hocam çok güzel ilerliyor her şey hayalimize destek çıktığınız için teşekkürler
ne alemdesin
Ne alemdesin
@@mehmeteserofficial knk lisede staj yapıyordum mezun olunca staj yaptığım yerde çalışmaya devam ettim ve hala devam ediyorum ama c# üzerine değil genellikle web oyunları üzerine çalıştığımız için JavaScript üzerine projeler oluyor genel olarak hayat bok gibi :(
peki şimdi ne alemdesin ?
Hocam gerçekten derslerinizi dinlerken heyecan alarak izliyorum Yazılımcı olamasam bile bu işi sevdirmeye sebep oldunuz tşkler...
İlk izlediğimde tam oturmamıştı. Ancak şimdi başka bir proje için gerçekleştirdiğimde her şey yerine oturdu. Gerçekten çok teşekkür ederim. Bu yayın videoları olmasaydı işim zordu.
Kodları çözümlemeden ziyade mantık oluşturması sebebiyle yaptığınız ders çok yararlı oldu......Teşekkürler
Geç geliyorum, ama çok sağlam ilerliyorum :)
hoca projesini sunar ve anlaşılan şu = şu ana kadar öğrendiğiniz her şeyi otomatik yapan sistem geliştirdik :D
Generic Constraint çalışırken bu bilgileri de edindim :
where T : struct: Tür bağımsızı bir değer tipi olmalıdır.
where T : class: Tür bağımsızı bir referans tipi olmalıdır.
where T : new(): Tür bağımsızı parametresiz bir kurucuya sahip olmalıdır.
where T : : Tür bağımsızı belirtilen temel sınıf olmalı veya ondan türemelidir.
where T : : Tür bağımsızı belirtilen arayüzü uygulamalıdır.
Nefis dersti teşekürler hocam. Emeğinize sağlık.Takipcinizim...
dayan bıragma gendini
@Koa Nehemiah nav klik on dı batın ent get skemmed
bu kurs oncesinde sonrasında cok egitim izledim ama EĞİTMEN olmak bambaşka birşey hele kodlama gibi karışık bir konuda bildiklerini aktarabilmek apayrı bi yetenek. Engin hocayı bu konuda tek geçerim. Net
Projeniz için tebrik ederim hocam hep böyle bi sistem var mı diye düşünürdüm gercege donusmus halini gormek vay be dedirtti
Dersleriniz gerçekten çok faydalı, minnettarım hocam!
Bilginin zekatını vermek vardır ya. Siz ve ekip arkadaşları bunu fazlasıyla yapıyorsunuz. Eğitimlerinizle zaten büyük fayda sağlıyordunuz. DevArchitecture ile bunu taçlandırmışsınız. Size ve ekip arkadaşlarınıza çok teşekkür ediyorum.
Oglum diren. Diren oglum..
Başardınız mı 🙂
resmen sanat yapıyorsunuz hocam bol şans
Bu videoda mı bir önceki videoda mı birisi sıkılıyorum demiş. Bilen birisi de sıkılabiliyor ondan dolayı 1,5'da izleyebilirsiniz. Bazen bir konuşma giriyor araya ondan dolayı. Biraz ilerledikten sonra bu yorumu yaptığım için hangi video bilmiyorum :)
28:00 Generic Repository Design Pattern
garip olan şey şu onlarca Engin Demiroğ videosu izlememe rağmen UA-cam bana sadece boş içerikler öneriyor. Yani akışımız izlediğimiz şeye göre değil izletmek istedikleri şeye göre şekilleniyor...
çok teşekkür ederim hocam emekleriniz için artık bazı şeyler kafamda oturuyor.
Videoyu tamamen izleyip hiçbir şey anlamayan arkadaşlara sesleniyorum. Dersi harfi harfine yaptıktan sonra bir gün sadece kodlarınıza bakın, kendiniz anlamaya çalışın. Sonra dersi tekrar izleyin.
Harikaydi teşekkürler hocam.
1:26:00 .NET Core sürümünü BİLMEYENLER için : windows+r tuşlayın. Açılan çalıştır sekmesine cmd yazın. dotnet --version yazarak bilgisayarınızda kurulu .NET versiyonunu öğrenebilirsiniz.
5.0.401 çıktı. Ancak ben yeni sürümü falan yüklememiştim. Garip.
Teşekkürler bu arada.
northwind değerleri çıkmıyordu. Aşağıdaki iki adımı yaptım.
1.refresh dediktek sonra northwind'i gelmeyen arkadaslar SQL server da new query demeden önce kendimiz bir adet Add New Database eklememiz gerekiyor sonra onun üzerinde new query demeniz yeterli
2.NuGet en güncel yaptım.
Hocam bi önceki derste SingleOrDefault() yerine First() kullansak nasıl olur ? Sonuçta ikisi de bir veriyi getiriyor ve id ye göre getiriyor. Id tek olduğuna göre ilk bulduğu zaten tek değil midir ? Yoksa başka bi mantığı var mıdır ?
Çok güzel.
hocam macte şunu entegre etmek niye bu kadar çetrefilli kod çalıştı ama vakit kaybediyorum ...
Çok teşekkürler hocam iyiki varsınız
sayın hocam mac kullanıcıları ne yapacak, postgresql kurdum nortwind üzerinden bilgi de çekiyorum ancak visual studio ile nasıl entegre çalıştırabileceğimi bulamadım
db kurulumu nu mac deki arkadaslar nasil yapicak hocam onunla alakali bir kaynakvarmi
kendi kendimi yanitliyorum ama ben arastirdim
mac icin sqlpro adinda bir sql uygulamasi var onu indirebilirsiniz
@@mehmetbartu7795 indirip kurunca vs 2019 ile entegre şekilde çalıştırılabiliyor mu? Siz nasıl kullanıyorsunuz?
Benim gibi sonradan izleyen arkadaşlar için söylüyorum, Northwind direkt database olarak gelmiyor, çalıştırdığınız Script büyük bir ihtimalle verileri "master" db'sine attı. Ayrıca, dotnet sürümünüz neyse NuGet'ten o sürümü indirin. Dotnet sürümüm 8'ken 3.1.1'i indirdiğimde hata aldım, versiyon hatası bilginize.
Hocam çok kaliteli bir dersti
Arkadaşlar 1:21:33 de hocanın aradığı şey bende çıkmıyor. İşi bilen birisi yardımcı olursa çok sevinirim
Bende de aynı problem mevcut çözebildiniz mi ?
Merhaba bir sorum olacakta. Ya ben şimdi bu kampa başladım. 7. Gündeyim fakat anlamadığım oturtamadığım yerler oluyor ve zaman ayırmam gerekiyor. Biraz araştırdım, kampa katılım sağlayanlara göre yaşım biraz daha küçük okullar falan da oluyor uzaktan eğitim olduğu için zaman anlamında sıkıntı yaşıyorum yarıyıl tatilinden sonra da daha fazla yaşayacağım bu sıkıntıyı programa ara verip, internette gördüğüm başlangıçta html css dillerini öğrenin başlangıçta kolayla başlamak daha iyi olacaktır gibi yorumlarda aldım. Ama bu kampa ara versem c# ı bırak başka dile geç diller arasında dolaşmak istemiyorum. Kampa ara vermek istemiyorum. Bir şeyler öğrenmek ve githuba, cv me koyabileceğim yeni şeyler yapmak istiyorum. Tavsiyeleriniz neler
Bence eğitime ara verme dönüşü zor olabilir. Hazır başlamışken bitir derim. Zorlanman da çok normal. Bunu hepimiz yaşadık, yaşıyoruz. Araştırma konusunda haklısın. Bu videoların dışında araştırmalar yapmamız gerekiyor. Githubtan projeleri incelememiz gerekiyor. Takıldığın yerler olursa discordtan soru sorabilirsin hatta bana bile özelden sorabilirsin yardımcı olurum
Saolun teşekkürler yardımcı olduğunuz için
@@fundaordek4406 saolun bende aynı şekilde düşündüğüm için şimdiden başlamak istedim. E bazen anlamakta zorlanıyorum ama sıkılmıyorum seviyorum uğraşmayı saolun tavsiyeleriniz için. Pes etmek yok
@@bilgekagan2215 Devam edebildin mi? Bence arkadaşlar fazla zorlamış. Ben de tam bu derste bıraktım kampla beraber ilerlemeyi. Bir süre sonra 3. dersten başladım ve şu anda haftada 1 ders şeklinde daha sağlam ilerliyorum. İyi ki de kendimi zorlayıp kampla beraber ilerlemeye çalışmamışım. Yoksa bir çok mevzu havada kalacaktı benim için.
Genel olarak dersi anladım fakat şuan tekrar yaparken Expression un mantığını tam kavrayamadım yardımcı olabilecek biri var mı acaba
discord hesabınız varsa anlatabilirim isterseniz
ben de aynı soruyu kendime sordum. Anladıysanız bana da ufak bir özetle bilgi verir misiniz lütfen?
2:21 de EfProductDal kizardi
Engin hocam mükemmelsiniz (Bin kere like atabilsem atacam)
sql indirilirken hata alıyorum sizce neden
mükemmeldi..
👍😊
❤
Hocam bir sorum var soracak kimse bulamadım o yüzden size sormak istedim. Ben entity framework' ün migration araçını kullanmak istiyorum. İnternetten baktım fakat property ler için dataannoation kullanılmış. Acaba dışarıdan bir validasyon ile ef migration kullanılabilir mi. Mesela fluent validation ile migration kullanabilir miyiz. Umarım anlatabilmişimdir. Şimdiden teşekkür ederim.
Merhaba cevaba ulaşamadıysanız anladığım kadarıyla yardımcı olmaya çalışayım. öncelikle fluen apiyi data annotationa güvenmedğimiz ve single responsibilty'i çiğnememek amacıyla kullanırız migration için böle bir gereklilik yok diyelim ki property üzerinde değişiklik yaptık yada annotatin veya fluent ile bir şart ekledik 'requiered' gibi. yapman gereken tek şey entityframeworkcore.tool paketini nuget üzerinden kurmak ve package mange console üzerinde şunu yazmak (add- migration- istediğimad) migration oluşacaktır ardından update-database yaz tabi katmanlı mimari kullanıyorsan dataacces katmanına gelip sağ tıklayıp set startup project olarak işaretlemeyi unutma kolay gelsin.
çok kalp
Güzel.
3 yıldan sonra ben 8 kurmuş oldum :D
+1
36:35 2:24:37
en sonunda dün 6 ay önce aldığım hatadan dolayı açılamayan projemi yeniden yazdım
Geride kaldigim son ders
26.14
1:26:00
9.gün
2:09:17
Kampı benim gibi sonradan izleyen var mı ? :')
merhaba , ne durumdasibiz simdi?
@@ilkinsuleymanov3604 bir şirkette stajyer iken başlamıştım. Şu an kendimi çok daha fazla geliştirdim ama bu kurs gerçekten çok iyiydi. Olayı tam anlamıyla kavramama yardımcı oldu
@@ilkinsuleymanov3604 Stajyerken başladığım kamp, beni çok farklı konumlara kadar götürdü. Çok başarılı bir kamptı kesinlikle sonuna kadar izle. Şu an güzel bir maaşla backend developer olarak çalışmaktayım.
1:30:52
1:37:00