14:28 aman hocam 😄 (ağzınıza sağlık çok iyi anlatmışsınız.)
@ertanciller19242 жыл бұрын
Elinize sağlık hocam süpersiniz..
@RoyZASTEROiD2 жыл бұрын
Cok sagolun.
@Sncyigido2 жыл бұрын
Değerli bilgileriniz için saolun hocam
@nouchance2 жыл бұрын
Thank you Sir
@oguzhan5432 жыл бұрын
💯💯💯
@mustafagasimzada5477 Жыл бұрын
👍👍
@salihguresken14222 жыл бұрын
👏👏
@cinarmurat2 жыл бұрын
Kapsamlı bir reaktif programlama eğitimi gelir mi hocam?
@kilicarslan59762 жыл бұрын
KİNG!
@yasinclsk2 жыл бұрын
hocam diyelim ki Google ve AWS biz projeyi geliştirdiğimiz esnada her ikisi de hem translate hem de machine learning süreçlerini yönetebilsin. Bizde bu süreci oluşturduğumuz Cloud abstract classı üzerinden IoC container üzerinden Cloud nesnesi aracılığıyla yönetelim. İlerleyen süreçte AWS artık translate hizmeti vermediğini açıkladığını varsayalım. ITranslatable arayüzü oluşturup süreci onun üzerinden yürütmek istediğimizde artık Cloud nesnesi üzerinden Translate methodunu çağıramaz duruma gelicez ve tüm proje üzerinde Cloud nesnesinin kullanıldığı her yerde değişiklik yapmak gerekecek. Aşağıdaki işlemde tüm süreci Cloud nesnesi üzerinden yönettim. public class CloudController : ControllerBase { private Cloud _cloud; public CloudController(Cloud cloud) { _cloud = cloud; } [HttpGet("translate")] public IActionResult Translate(string x) { _cloud.Translate(); return Ok(x); } [HttpGet("maclearn")] public IActionResult MachineLearning(string x) { _cloud.MachineLearning(); return Ok(x); } } Buradaki işlemde de translate işlemini farklı bir arayüz(ITranslatable) ile sağladım. public class CloudController : ControllerBase { private Cloud _cloud; private ITranslatable _translatable; public CloudController(Cloud cloud, ITranslatable translatable) { _cloud = cloud; _translatable = translatable; } [HttpGet("translate")] public IActionResult Translate(string x) { _translatable.Translate(); return Ok(x); } [HttpGet("maclearn")] public IActionResult MachineLearning(string x) { _cloud.MachineLearning(); return Ok(x); } } Bu iki operasyon arasında translate operasyonunu değiştirmek için, "_cloud.Translate()" işlemi yerine "_translatable.Translate()" işlemini kullandım. Büyük bir projede onlarca farklı yerde bu işlemi düzeltmek zor ve maliyetli olur diye düşünüyorum. Mimariyi bu süreçte nasıl daha doğru hale getirebiliriz?
@geziyurdum2 жыл бұрын
Soru : Hocam şimdi dediğiniz gibi iki adet method açısından çok şık ve mantıklı duruyor ancak bu durum şöyle olsaydı Cloud sınıfında 100 adet method olsaydı Google bunlardan 20 sini, AWS bunlardan 50 sini Azure ise 45 ini kapsıyor ve bunlardan arta kalanlarda diğer sınıflarda bir kullanılıyor bir kullanılmıyor olsa idi bu kapsayanlar için tek bir abstract yapıpta kapsamayanların her biri için ayrı ayrı interface tanımlıyor olacaktık nihai hedefe ulaşmak için , ancak haliyle bu durumda Google sınıfı : Cloud ,Ix,Iy,Iz........Ibilmemne gibi epey bir interface yi implemente etmesi best practice veya kod yazımına aykırı bir durum mudur.Biraz karışık oldu ama umarım anlatabilmişimdir derdimi.Şimdiden teşekkürler.
2 жыл бұрын
Evet, öyle olacaktı ve bu durum o ihtiyaca istinaden hiçte best practices yahut kod yazımı açısından aykırı bir durum olmayacaktı. Zaten esas o tarz yoğun operasyonların söz konusu olduğu senaryolar için bu prensipler daha elverişli ortamlar sağlamaktadırlar. Sevgiler...
@omerakkus730 Жыл бұрын
Funda Bismillah
@semihatalay8656 ай бұрын
Liskov adı nereden geliyor diye merak edenler için adını "Barbara Liskov" adlı bilgisayar uzmanı ablamızdan almıştır. İnşallah bir gün biz de milli gururumuz "Gencay Principles" olarak yazılım dunyasında yer edinecegiz :)
6 ай бұрын
Bizim prensibimiz yıllar öncesinde duyuruldu kardeşim... Ameleus :) Adı kanımızda saklı :)
@begumcelik27912 жыл бұрын
Teşekkürler hocam. Bu prensip ile Interface Segregation çok karışıyor ki bunda da çözüm Interface e ayırarak yaptık hatta IMachinelearning interface i olarak ayırsaydık ki ayırabilirdik o zaman tam ISP oluyordu o zaman Cloud diye birşey kalmayacaktı. Burada amaç Cloud gibi bir sınıftan kesinlikle kalıtım alındığı durumlar mı?
2 жыл бұрын
Aslında karışmıyor. Liskov, alt sınıfların kendi aralarında problemsiz yer değiştirebilmesini öneriyor. Bunun için bizler problem yaratabilecek davranışları ayırma ve kullanılacak sınıflara dahil etme yöntemini kullanıyoruz. Burada ISP'den temeldeki farklardan biri niyet bir diğer ise ortak olan davranışlar varsa base'de tutulmasıdır. ISP'de ise farklı yettenekleri farklı arayüzlerle temsil etmek gibi bir niyet var. Evet, Liskov ile paralellik arz edebilir ama zaten prensipler ve hatta pattern'lar içe içedir diyebiliriz. Ayriyeten Liskov, Open/Closed prensibinin de amca oğludur diyebiliriz. Nihayetinde sistemde ITranslatable interface'inin genişletilebilirlik özelliği söz konusu olabilmektedir. Bu açıdan OCP'ye benzerlik göstermektedir. Bir yandan da OCP'ye bakarsanız özünde Dependency Inversion prensibiyle paralel doğrultudadır. .. Felan :) Yani SOLID prensiplerinin hepsi('S' hariç), aşağı yukarı soyutlama konusunda mutabıklardır ve bu soyutlamanın doğru noktada kullanılması konusunda farklarını ortaya koymaktadırlar diyebiliriz. Sevgiler.
@fatihcambel10 ай бұрын
28:17
@ikrtkn2 жыл бұрын
🛠⚒📙✏👍💯🤣
@farukakpnar22655 ай бұрын
CUK
@mehmetsayn5738 ай бұрын
Alet cantasinda gerek olmayan bir aleti cantaya koyma. Yani base classta sub classin kullanmayacagi method ya da property tanimlama. Ahlakli ol.
@aciltedarikdeposu43262 жыл бұрын
EĞİTİME YENİ BAŞLAYAN ARKADAŞLARA HİTABEN ! Onlarca video izledin, x,y,z platformlardan bir çok eğitim satın aldın, aradın taradın günler haftalar aylar geçti hasbel kader buraya geldin sonunda doğru yerdesin👏 Evet şuan Tek Kişilik Dev Kadro GENÇAY YILDIZ👑hocamız ile burası NG AKDEMİ. İzlediğin videolarda anlamadığın bir yer olmayacak garanti veriyorum. Sabırlı ol !! Notlarını güzelce al. Birde senden küçük bir ricamız olacak kanalımızı yani artık senin kanalını başka platformlarda forumlarda işte okulda çevrende her yerde paylaşmanı istiyorum. Çünkü bu kanal memleketin yazılım meselesini kendine görev edinmiş bir kanal. Şu dizelerle birlikte iyi çalışmalar diliyorum. Gidilecek yol uzun, Öğrenecek şey fazla, Yanmak gerek, Sabretmek gerek...