RESTful API'lar ve JSON ile RPC

Поделиться
HTML-код
  • Опубликовано: 5 ноя 2021
  • Uzun bir aradan sonra RPC konusuna giriyoruz! REST konsepti ile RESTful API'lar arasındaki ilişki ne? Büyük şirketlerde servisler birbirleriyle neden JSON tabanlı RESTful API'lar üzerinden konuşmaz. Bu bölümde JSON formatının API bağlamında sıkıntılarını ele alıyoruz.
    Linkler:
    * REST doktora tezine yuklenen ekstra anlamlar ve nasil bu duruma geldik twobithistory.org/2020/06/28/...
    * Ornek iki binary encoding formati (Apache Thrift ve Protobuf) ebrary.net/64674/computer_sci...
    ► Kanala Abone olup bildirimleri açmayı unutmayın!
    ► Sorularınızı videolara yorum olarak ekleyin ve tartışalım.
    ► Canlı yayınlardan haberdar olmak için:
    Twitter: / ahmetb 'den beni takip edebilirsiniz.
    Discord: bit.ly/ahmetb-discord üzerinden gruba sorular sorabilirsiniz.
  • НаукаНаука

Комментарии • 33

  • @TarikGuney
    @TarikGuney 2 года назад +18

    Çok güzel haberler Ahmet. Bir yastıkta kocayın! :)

  • @gokturkkarl3679
    @gokturkkarl3679 2 года назад +12

    Çok sevindim abi yeniden video çekmeye başlamana. Yeni video ne zaman gelir plan yaptın mı ?

    • @ahmetb
      @ahmetb  2 года назад +6

      Haftaya. 😇

  • @mertcancam
    @mertcancam 2 года назад +1

    Kanalı bıraktınız diye gerçekten çok üzülmüştüm geri gelmeniz harika haber! Bu arada mutluluklar dilerim:)

  • @manaspecenek
    @manaspecenek 2 года назад +1

    Hayırlı olsun. Video için de teşekkürler :)

  • @mehmetakbey6167
    @mehmetakbey6167 2 года назад +1

    Tebrik ederim, özlettiniz.

  • @mucahitaslancan3282
    @mucahitaslancan3282 2 года назад

    Muluklar dilerim. Kendinide çok özletme, videoların kaliteli içerikler.👏🏼

  • @wexwexexort
    @wexwexexort 2 года назад

    Mutluluklar hocam

  • @RooTHackera
    @RooTHackera 2 года назад

    Ben bu adamı çok sevdim nedense sürekli dinleyesim geliyor :)

  • @abdurrahimbalta1015
    @abdurrahimbalta1015 2 года назад

    Abi hayırlı olsun

  •  2 года назад

    Bayadır içerik bekliyordum, kaliteli içerik bulmak zor :)

    • @ahmetb
      @ahmetb  2 года назад +2

      Discord server'imizda icerik her zaman var. ;)

  • @koksalmis
    @koksalmis 2 года назад +1

    Abi selamlar tebrik ederim :)

  • @EmreAydnsoy
    @EmreAydnsoy 2 года назад

    Mutluluklar :)

  • @mab2278
    @mab2278 2 года назад

    Enfes bir giris olmus.

  • @mustafakorkmaz37
    @mustafakorkmaz37 2 года назад

    efsane geri donmus

  • @berkay-rz5yf
    @berkay-rz5yf 2 года назад

    mutluluklar

  • @gokhanozyazc8783
    @gokhanozyazc8783 2 года назад

    Tebrikler

  • @keremgumus638
    @keremgumus638 2 года назад

    Bak şimdi tüm projemi çevirttiriceksin bana. Genelde bir birim işlemi yapmak için dahi sanki milyon birim iş yapacakmış gibi tasarlamayı sevdiğim için rest'den vazgeçireceksin beni . Bu arada hayırlı olsun , anasayfada yeni video görünce bi sevinmedim değil.

    • @ahmetb
      @ahmetb  2 года назад +2

      “Ne durumlarda REST kullanmaya devam etmeliyiz” bölümü 5 hafta falan sonra gelecek. Ama deneyin ögrenin tabi.

  • @Bkr_C48
    @Bkr_C48 2 года назад +2

    Ben bir projemde backend için nodejs kullanıyorum, hem api geliştirmesi kolay hem mongodb ye bağlamak, redis e bağlamak kolay hem de socketio kütüphanesi ile bidi iletişimi çok rahat yazabildiğim için tercih ettim. Socketio iletişim için bazı kısımlarda bir string gönderirken bazı kısımlarda json gönderiyorum, api iletişimi için ise yalnızca json kullanıyorum. Client olarak android uygulaması yazdım ve json parse yapıyorum. Sizce bunu bırakıp yerine protobuf kullanmam daha mı mantıklı olur? Ben 10larca servise sahip 10larca farklı client i olan bir sistem tasarlamadım, tek bir monolitic server ve tek bir client kullandım.

    • @Bkr_C48
      @Bkr_C48 2 года назад +1

      Nodejs kullanmamda herhangi bir sakınca yokmuş onu gördüm. Nodejs ile de grpc kullanılabilirmiş, burada dil önemli değil, sonuçta bu bir protocol. json veya xml yerine protobuf kullanıyoruz. Yalnızca burada kafama takılan şey şu ki: nodejs de bir nesneyi genellikle karşı tarafa doğrudan gönderebiliyoruz ve json olarak algılanıyor. işlemciye ek yük oluşturmuyor sanırım, ancak protobuf için formatladığımızda işlemciye ek yük oluşturmuyor mu?

    • @schruteman7444
      @schruteman7444 Год назад

      @@Bkr_C48 cevabını aldın mı veya bulabildin mi ?

    • @Bkr_C48
      @Bkr_C48 Год назад +1

      @@schruteman7444 bence küçük projelerde önemli bir avantajı yok, protofuf kullanmanın. Sonuçta bandwith i azaltıyor, ki bandwidth pek önemli değil. Saniyede binlerce istek gelseydi belki mantıklı olurdu. Kendi projelerimde json a devam, sadece başka bir projeye dahil olursam ve orada protobuf var ise protobuf kullanırım.

  • @nurantarlan
    @nurantarlan 2 года назад +2

    PUT/PATCH: güncelle ve POST: yarat olucaktı.
    Bilmeyip, burdan yeni öğrenecekler için yalnış bilgi olmasın istedim.

    • @ahmetb
      @ahmetb  2 года назад

      Emin degilim bu dogru mu.. PUT ile de yaratma yapilan bir cok API var.

    • @nurantarlan
      @nurantarlan 2 года назад +1

      @@ahmetb, anlıyorum. Yalnız şöyle ki, put ile yaratma actions olan api'lar ola bilir, ancak standards post'u yaratma, put'u yenileme için kullanın diyor.
      Yani yaratma için put kullanıla bilir, lakin api specific olur.
      Umarım açıklayıcı ola bildim.

    • @ahmetb
      @ahmetb  2 года назад

      Nerede diyor linkle bakalim. :)

    • @nurantarlan
      @nurantarlan 2 года назад +2

      @@ahmetb, 📎 www.restapitutorial.com/lessons/httpmethods.html
      Buradan bakılabilir (table'da hangi http method hangi crud operation'a denk geliyor belirtilmiş).
      Aslında sizde yanlış aramıyorum, tam tersine paylaştığınız bilgiler çok faydalı ve mümkün oldukça almaya çalışıyorum bu bilgileri sizden, ve bunu için çok teşekkür ederim size (emekleriniz ve sadeliğiniz için) ✌🏻
      Sorun şu ki, bazen belirtidiğim gibi yeni başlayan biri için common'u öğrenip üzerine specific case'leri görmesi daha verimli oluyor, onun için videodakinden farklı bildiğim bir şeyi paylaşmak istedim bu community ile.
      Umarım yanlış anlaşılmamışım ❤

    • @ahmetb
      @ahmetb  2 года назад

      @@nurantarlan videoyu izlememissin. bahsettigin dokuman "Standart" falan degil, milletin uydurdugu bir sey.

  • @plotonic
    @plotonic Год назад

    Cok kisa bir deginmissin ancak OpenAPI 3.0 ve Swagger bu tarz uyumsuzluklari cok büyük oranda hallediyor. Ancak requestlerin/response veri büyüklügü konusunda RESTful API'larin dezavantajlari var.

  • @bewildonline
    @bewildonline Год назад

    sen bir hatayı düzelt daha da birşey istemem
    StreamJsonRpc.ConnectionLostException : The JSON-RPC connection with the remote party was lost before the request could complete. ---> System.OperationCanceledException : İşlem iptal edildi.
    at System.Threading.CancellationToken.ThrowOperationCanceledException()
    at async StreamJsonRpc.MessageHandlerBase.WriteAsync()
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at async StreamJsonRpc.JsonRpc.SendAsync()
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at async StreamJsonRpc.JsonRpc.InvokeCoreAsync()
    --- İç özel durum yığın izlemesi sonu ---
    at async StreamJsonRpc.JsonRpc.InvokeCoreAsync()
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at async StreamJsonRpc.JsonRpc.InvokeCoreAsync[TResult]()
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at async Microsoft.CodeAnalysis.Remote.BrokeredServiceConnection`1.TryInvokeAsync[TService,TResult]()