Yazılım Mühendisliği: Donanım ve Soyutlama

Поділитися
Вставка
  • Опубліковано 21 гру 2024

КОМЕНТАРІ •

  •  7 років тому +75

    Yarım saatte anlattığınızı 4 yılda anlatamayan hocalar var. Harika harika harika

    •  7 років тому +4

      Tabii ki işini en iyi şekilde yapmaya çalışan hocalarımızı ve öğrencilerimizi bu yorumumun dışında tutuyorum :)

    • @dylnz
      @dylnz 7 років тому +2

      gercekten......

    • @huseyinbaykara2134
      @huseyinbaykara2134 6 років тому +5

      Çoğunun öğretme amacı olmadığından böyleler.

  •  7 років тому +26

    Kardeşim ağzına sağlık. Yağ gibi akıp gidiyor. Dinlerken acayip mutlu oluyorum. Süpersin!

  • @erdemayaz1103
    @erdemayaz1103 7 років тому +6

    İşte muhabbet budur. Helal olsun. Programlama dillerinde, işletim sistemlerinde takılıp kalanları bir kenara bırakıp mühendislik konuşmuşsunuz.

  • @angelist2166
    @angelist2166 7 років тому +5

    Assembly, C ve C++ ile haşır neşir oldum, gömülü sistemlerle de uğraştım ama hiç bir zaman donanım hakkında bu kadar detaylı bilgi sahibi olmadım. Matematik konusunda benim gibi düşünen başkalarıyla karşılaşmak beni çok mutlu etti. Daha iyi bir optimizasyon için Cache'nin bu kadar önemli olduğunu bilmiyordum. Oldukça aydınlatıcı bir video oldu. Çok teşekkürler. Son olarak, ben de bir gün daha verimli programlar yazmak için o birden fazla çekirdekten yararlanmayı düşünüyorum. Parallel computing veya multithreading için çekirdeklerden yararlanmayı öğrenebilirim bir ara. Tekrar teşekkürler bu sürükleyici konuşmanız için. Videolarınızı keyifletakip ediyorum :)

    • @entegreentegre7219
      @entegreentegre7219 6 років тому +1

      eski bilgisayarlarda cacheleri kapatabiliyordun. ölü gibi çalışıyordu o zaman bilgisayar. cache lerin çok büyük önemi var cpu larda.

    • @muhammedyasinhanyasar539
      @muhammedyasinhanyasar539 3 роки тому

      Ben de bu video ile bir tık aydınlanma yaşadım, multithreating konusunda ilerlediniz mi? 3 yıl geçmiş.

  • @arinmis
    @arinmis 3 роки тому +1

    1. sınıfta videoyu izlemiştim, iyiymiş deyip geçmiştim. Şu an 2. sınıfi bitirdim ve yeniden izliyorum. Gerçekten inanılmaz, UA-cam daki benim izlediğim en iyi içerik kesinlikle bu. 30 dakikada aydınlandım. Çok iyi gerçekten çok iyi.

  • @y01cu_yt
    @y01cu_yt Рік тому

    Bilgem hocam, ne kadar da güzel bir anlatımınız var öyle. Videolarınızı teker, teker, tekrar tekrar izledim, izliyorum. Emeğinize sağlık. Mevcut işinizde de muvaffakiyetler diliyorum.

  • @silver5003
    @silver5003 5 років тому +2

    Öncelikle temiz bir türkçe ile konuştuğunuz için teşekkür ederim gerçekten bu dönemde çok değerli. Sizi geç farkettiğim için üzgünüm :(

  •  7 років тому +3

    İzlediğim an bende uyanan hislerden bahsetmek istiyorum.
    İlkin gurur duydum. Bu seviyede donanım mimarisi bilen bir kişi görmek gerçek bir gurur kaynağı oldu
    İkinci olarak kıskandım. Yazılımcı olunca donanım mimarisinin ikinci plana atan güruhtan olduğum için bu bilgi seviyesi imrendirdi.
    Son olarak ta keşke beraber çalışabilsek dedim. Keşke en basitinden bir raspberry pi üretebilsek de bizde bu seviyede donanım + yazılım bilgisine erişebilesek dedim.
    Çok teşekkür ederim bu bilgileri bizimle paylaştığınız için

    • @abdurrahmanuslu4765
      @abdurrahmanuslu4765 5 років тому

      Bir yazılımcının donanıma hakim olması ile raspberry pi üretmenin ne alaksı var.

  • @mervenurkoc3271
    @mervenurkoc3271 5 років тому +2

    İlk kez bu kadar net anladım bilgisayar yazılım ilişkisini. İlham oluyorsunuz. Teşekkürler 🙏

  • @MrCarburettor
    @MrCarburettor 3 роки тому

    Abi tam dosendim yazıyordum "false sharing" ve önbellek optimazyonu BigO yu camdan dışarı atmiyor diye, 17:45 deki açıklamayla yine seninle 100% hemfikir oldum.
    Harika paylaşımlar!! Çok teşekkürler!!

  • @tameravci1
    @tameravci1 6 років тому +1

    Merhaba, gercekten cok guzel anlatmissiniz. Keyifle dinledim. Ben de Amazon Go takiminda Software Engineer olarak calisiyorum- gectigimiz sene Mehul azad sayesinde kisa bir tanisma firsatim olmustu sizinle. Bu kanali bulmak guzel bir surpriz oldu.

  • @SelimAbidin
    @SelimAbidin 7 років тому +4

    Anlattığı konuyla alakalı olarak, Bob Nystrom'un Game Programming Pattern kitabının Data Locality bölümünü okumanızı tavsiye ediyorum. Çok kısa ve yararlı olacaktır. Hatta elinize almışken hepsini okuyun gitsin.

    • @kaanozdogan2355
      @kaanozdogan2355 4 роки тому +2

      hort kitap güzelmiş tavsiye için teşekkürler

  • @engincangocer9962
    @engincangocer9962 Рік тому

    Yaptığınız içeriklerden çokca faydalanıyorum,çok sağolun :)

  • @huseyin3741
    @huseyin3741 6 років тому

    Güzel anlatmışsınız gerçekten. Birçok hocanın geveleyip anlatamadığı önemli noktalar.

  • @ahmetselcuk1400
    @ahmetselcuk1400 2 роки тому

    Abi hakkın ödenmez sen konuş kurban olunur sana 👌✊❤❤

  • @PoyrazAlkan
    @PoyrazAlkan 7 років тому +4

    Hocam .net mimarisi içerisinde oluşturulmuş kurallar bizim bahsettiğiniz seviyelere ulaşmamızı engelliyor.. ben kendimi büyük veri ve yapay zeka konusnda geliştirmek isteyen birisi olarak algoritma ve performans konusunda optimizasyon anlamında daha iyi hale gelmem gerekitiğini düşünüyorum verdiğiniz bilgiler çok kıymetli teşekkür ederim

    • @sametoz8913
      @sametoz8913 7 років тому +1

      ben de .net platformu üzerinde ilerliyorum fakat donanım seviyesine inememek benim de canımı sıkıyor. bir nevi microsoft bize bir kum havuzu vermiş, biz de kazma kürekle oynayıp duruyoruz...
      bu anlayıştan bir an önce dönmek istiyorum, fakat nasıl ilerlemem gerektiğini bilmiyorum. yardımcı olan birisi çıkar belki...

    • @ozkanb
      @ozkanb 7 років тому +1

      Poyraz Alkan yalinkod videosunda bahsetmiş, .net yerine basit C kodu yaz, bunlari assembly ye cevirip assembly'de nasil bir hal alıyor onu incele. Bunlari anlatirkende hangi amacla low level programming yapmak istiyorsunuz bunuda kendime soruyorum açıkçası

    • @PoyrazAlkan
      @PoyrazAlkan 7 років тому +1

      low level programing yapmayı sistem programcılığı ve big data analizi alanında yeni toollar geliştirmek için kullanmak ve c nin c++ ın gücünden yararlanıp platform bağımsız yapılar kurmak için öğrenmek çabasındayım. Tabi ki temel olarak c++ ve c biliyorum fakat benim öğrenmek istediğim nokta, gelişmiş kütüphaneler. Form uygulamaları ve network protokolleri katmanını yönetecek kütüphaneler. Alışmaya başladım. derslere devam ediyorum .

  • @talhaabus
    @talhaabus Рік тому

    Bilgem bey merhaba, videonuza altyazı çıkartıp bu altyazı ile yapay zekanın kısa bir özet çıkartmasını istedim (Deneme amaçlı). Çıktıyı paylaşıyorum:
    1. Sayfa: Donanımın Yazılım Üzerindeki Etkisi
    - Yazılımın performansı, donanımın nasıl çalıştığını anlamakla doğrudan ilişkilidir. Bellek erişimi, CPU kullanımı ve algoritma optimizasyonu, yazılımın performansını etkileyen ana faktörlerdendir.
    - Bellek erişim patternleri ve CPU keşifleri, yazılımın performansını optimize etmek için kritik öneme sahiptir. Ancak, modern programlama dilleri bu konulardaki bilgi eksikliğini gizlemekte ve otomatik bellek yönetimi sunmaktadır.
    - Big O analizi, algoritma performansını değerlendirmede önemli bir araçtır. Ancak, bellek ve CPU optimizasyonu gibi konular da aynı derecede önemlidir.
    2. Sayfa: Soyutlamanın Önemi ve Dezavantajları
    - Soyutlama, kodun daha anlaşılır ve yönetilebilir olmasını sağlar. Bu, kodun belirli bir bölümünü soyutlayarak, bu bölümün detaylarından bağımsız olarak çalışmasını sağlar.
    - Soyutlama, problemi daha küçük parçalara bölerek çözüm sürecini kolaylaştırır. Ancak, soyutlamanın da bazı dezavantajları vardır.
    - Soyutlama kontratlarının doğru bir şekilde tanımlanmaması, hatalara yol açabilir. Bu, kodun bir bölümünün diğer bölümlerle nasıl etkileşimde bulunduğunu tanımlayan "kontratlar"ın eksik veya yanlış tanımlanmasıyla ilgilidir.
    3. Sayfa: Donanım Bilgisi, Soyutlama ve Performans
    - Donanım bilgisi, yazılımın nasıl çalıştığını daha iyi anlamak için kritik öneme sahiptir. Bu bilgi, yazılımın performansını optimize etmek için gerekli olan bellek erişim patternleri gibi konularda yardımcı olabilir.
    - İyi bir soyutlama yeteneği, yazılım geliştiricisinin farklı seviyelerdeki detaylara odaklanabilmesini sağlar. Bu, yazılımın daha etkili ve verimli bir şekilde çalışmasına olanak tanır.
    - Yazılımın sadece teorik bir kavram olmadığını, fiziksel donanımda çalıştığını unutmamak gerekir. Bu, yazılımın performansını etkileyen birçok faktörün donanımla doğrudan ilişkili olduğu anlamına gelir.

  • @nefdulin7988
    @nefdulin7988 7 років тому +1

    Hocam diger videonun altina yazdigim gibi bu konular hakkinda kaynak tavsiyelerinizi merakla bekliyoruz.

  • @sonersivri
    @sonersivri 7 років тому

    Bugünlerde aklıma takılan sorulara cevap veren bir video Teşekkürler

  • @halukcetinoglu9144
    @halukcetinoglu9144 Рік тому

    #777 lean structural abstraction runs on phiysical realities which are a variety of abstraction wthout some certain constraints...

  • @Nhmek
    @Nhmek 7 років тому

    .Net üzerinde geliştirme yapan arkadaşlar framework ün getirdiği handicaptan bahsetmişler.Haklılar.Fakat, olaya framework bazlı değil de codebase olarak bakar isek c#'ta hala güzel özellikler var.Bunlar PInvoke,unsafe code ve işaretçileri.Evet bi c++ değil sizi yeterli bir low level seviyesine taşımıyor ama unmanaged kütüphanelere,kod satırlarına erişim imkanı sunuyor.
    Ayrıca, derleyici dilinden kopmamak amaçlı güzel pluginler var.Mesela ILDASM (IL Disassembler),generate edilen kodu disassemble ederek üretilen assembly dilini görmenize olanak sağlar.Bunu öğrenmeye çalışmak sizi "Ne oluyor arkada acaba?" sorusundan bir nebze olsun uzaklaştırabilir ve soyutlaştırdığınız objelerin aslında derleyici dünyasında nasıl konumlandığını anlayabilirsiniz - anlamaya çalışabilirsiniz- .
    Bu arada videonuz çok bilgilendiriciydi,videolarınızın devamını bekliyorum,uğraşınızın değerli olduğunu düşünüyorum.

    • @drozcan
      @drozcan 6 років тому +2

      Derleyici dilinden kopmamak için ILDASM şart değil, her türlü uygulamada cheat engine, ollydbg gibi debugger işlevi olan yazılımlar kullanılabilir. Fakat .net uygulamalarının bir dezavantajı ise .net modüllerinin yazılan kodu birebir görebilmemize olanak sağlaması, yani ILSpy gibi programlar yardımıyla yazılan kodu tamamen görebiliyor hatta düzenleyebiliyorsunuz. Şu anda kırılamayan bir .net obfuscator yok, dolayısıyla bu kapalı kaynak kod yazmak isteyen birisi için büyük dezavantaj.

  • @demirel16
    @demirel16 7 років тому

    Ço kaliteli videolar yapıyorsunuz. Teşekkürler., başarılar

  • @istanbuldailytrip368
    @istanbuldailytrip368 7 років тому +1

    Merhaba hocam harika bi anlatım olmuş ağzınıza sağlık , bu ve daha önceki videolarınızda bir yazılımcıların neleri bilmesi gerektiğini ve neler üzerinde durmamız gerektiğini çok güzel anlamışsınız , birde bir yazılımcı bunları yaparken hayatından ne kadar feragat eder ne kadar vaktini harcar bunun ile ilgili düşüncelerinizi görüşlerinizi merak ediyorum böyle video olursa harika olur teşekkürler.

  • @postalci95
    @postalci95 4 роки тому +1

    27:48'de bahsedilen egzersizi çevrimiçi olarak yapmanızı sağlayan ve bir sürü derleyici seçeneği sunan Compiler Explorer adında bir platform mevcut: godbolt.org/

  • @muratdndr
    @muratdndr 6 років тому +4

    Adam biliyo... Yalnız; bir insanın bu kadar alt yapısı olduğu halde nasıl bu kadar mütevazı olabilir?

    • @y01cu_yt
      @y01cu_yt Рік тому

      @@mh-ht1ng Ne güzel ifade etmişsiniz.

  • @semihyldz3261
    @semihyldz3261 7 років тому

    Videolar için çok sağolun

  • @okannuryuz1484
    @okannuryuz1484 6 років тому

    Bilgem bey ağzınıza sağlık gene bambaşka bir düşünce tarzı kazandım videonuzdan.
    Benim bi sorum olacak. Asıl işim henüz yazılım değil. Elektrik elektronik mühendisliği öğrencisiyim. Kafamda hibrit devrelerle yapılmış dijital enstrüman veya enstrüman efekt aletleri üretmek var. Bunun için nerelere bakabilirim? Bu yaz c ++ öğrenmeyi hedefliyorum. Onun haricinde audio programming nedir? Nerelerde kullanılır, nasıl başlanabilir gibi soruları kapsayan bir video çekerseniz beni çok mutlu edersiniz 😊
    keyifli, mutlu günler dilerim

  • @entegreentegre7219
    @entegreentegre7219 6 років тому

    intel işlemcilerinin pipeline lardan komutlar işlenirken süreci tahmin etme oranının %95 olduğunu söylüyorlar. Yanlış tahminde işlemleri geri alma cycle süresinin uzun olması. Siz bu konu hakkında ne düşünüyorsunuz?

  • @ArdaKaraduman
    @ArdaKaraduman 7 років тому +1

    'Çoğu zaman bir bakıyorsunuz ki, doğru indikatör Big O değil'
    Buna katılmam mümkün değil. Öncelikle Big O bir indikatör değil, bir notasyon. Ve sadece Zaman boyutu ifade etmekte kullanılmıyor, Uzay boyutunu da ifade edebilirsiniz (bu genelde yapılan bir hata). Verdiğin örnekte, time & space complexity trade off'u yanlış yapılmış bir çözüm gibi duruyor. Big O bir soyutlama değil.
    en.wikipedia.org/wiki/Space%E2%80%93time_tradeoff

    • @aproyazilimas7904
      @aproyazilimas7904 6 років тому

      İyi günler, yaptığınız yorumu araştırdığım halde anlamadım. Rica etsem daha açık anlatabilir misiniz

  • @nuridincersaygili
    @nuridincersaygili 7 років тому

    Konulari ogrenme hakkinda biraz daha detayli bilgi verebilir misiniz? Yazilim gelistirici olarak, donanim hakkinda bilgi sahibi olmak icin cesitli kaynaklardan okumak arastirmak yeterli mi? Bu konuda biraz daha tavsiye verebilir misiniz?
    Tesekkurler

  • @mustafaakifyucel1329
    @mustafaakifyucel1329 7 років тому

    Teşekkürler.

  • @ArdaKaraduman
    @ArdaKaraduman 7 років тому

    Bu arada videolar çok güzel Bilgem, devamı bekliyoruz. Herkes öve öve bitirememiş (aksi düşünülemezdi zaten) ben biraz şeytanın avukatlığını yapayım dedim :)

  • @herturluhalikilimtravel
    @herturluhalikilimtravel 7 років тому +2

    Çok önemli bir konuya değinmişsiniz, teşekkürler.
    Soyutlama önemli olduğu kadar bir o kadar da maliyetli. Konu ile alakalı bir yazıyı paylaşmak isterim:
    www.sandimetz.com/blog/2016/1/20/the-wrong-abstraction

  • @fatihertugral9112
    @fatihertugral9112 6 років тому

    Mükemmel

  • @fatihapaydn7404
    @fatihapaydn7404 7 років тому

    Muhteşem

  • @emremer2
    @emremer2 5 років тому +1

    Üstad, STADIA hakkındaki fikirlerini çok merak ediyorum. ua-cam.com/video/nUih5C5rOrA/v-deo.html
    Geliştiriciler için donanım limitlerini, oyuncular pc ve oyun konsolu limitlerinin kalkabilecek olması müthiş bir gelişme.
    Chrome'da UA-cam açmış, oyun oynayanları izlerken, herhangi bir donanıma ve yazılım install etmeye gerek kalmadan hoop diye izlediğim videodaki oyuna katılabilecek olmak çok heyecan verici.. Senin konu hakkındaki yorumların için bi video yapabilir misin..

  • @dotnetturkiye5581
    @dotnetturkiye5581 6 років тому

    konuk alırsanız çok daha ilgi çekici olur

  • @onurketenci6777
    @onurketenci6777 7 років тому +2

    ulan 30 dk yapmişsin kim izlicek bunu şimdi hee hoca dedii burdann cikicakk sinavdaa nasil izlimm bunu şimdi ben