RESTful API'lar ve JSON ile RPC

Поділитися
Вставка
  • Опубліковано 30 вер 2024
  • 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....
    * Ornek iki binary encoding formati (Apache Thrift ve Protobuf) ebrary.net/646...
    ► 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-... üzerinden gruba sorular sorabilirsiniz.

КОМЕНТАРІ • 34

  • @TarikGuney
    @TarikGuney 2 роки тому +19

    Ç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. 😇

  • @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 2 роки тому

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

    • @Bkr_C48
      @Bkr_C48 2 роки тому +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.

  • @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 :)

  • @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.

  • @koksalmis
    @koksalmis 2 роки тому +1

    Abi selamlar tebrik ederim :)

  • @mehmetakbey6167
    @mehmetakbey6167 2 роки тому +1

    Tebrik ederim, özlettiniz.

  • @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]()

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

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

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

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

  • @berkay-rz5yf
    @berkay-rz5yf 2 роки тому

    mutluluklar

  • @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.

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

    Abi hayırlı olsun

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

    Enfes bir giris olmus.

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

    efsane geri donmus

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

    Mutluluklar :)

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

    Mutluluklar hocam

  •  2 роки тому

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

    • @ahmetb
      @ahmetb  2 роки тому +2

      Discord server'imizda icerik her zaman var. ;)

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

    Tebrikler