• ks. application programming interface.. yani ne diyor "uygulama programlama arabirimi". demek ki uygulama programlamak icin saglanan arabirimlere grup olarak api deniyormu$.

    misal

    (bkz: win32 api)
    (bkz: vapi)
  • ekşi sözlük'ün sahip olmadığı.
  • ilk kez duyulduğunda veya ilk kez anlamaya çalışıldığında oldukça kompleks ve soyut gelen bir kavram iken, üzerine çalışıp oynanmaya başladığında, size farklı kapılar açıp, yepyeni fikirlere sürükleyen mükemmel bir araçtır: (bkz: application programming interface).

    şimdi yeni başlayanlar için: api 101:

    api aslında bir nevi bir iletişim aracıdır. ve bu iletişimin olacağı ilişki, client-server ilişkisidir.
    bu ikisi arasında iletişimi sağlayan aracı ise api'dır ve request-respond şekilde bir iletişimin kurulmasına vesile olur.

    olayı somut bir şekilde anlamak için çok basit bir örnek vereceğim:
    mesala düşünün, anneannenizin yaptığı çok güzel bir çorba var. ve siz bu çorbanın tarifini istemek için onu arayacaksınız ama çok meşgulsünüz o an. bu yüzden çocuğunuzdan rica ediyorsunuz, diyorsunuz ki işte bu adrese/numaraya bir mesaj atıp bu istediğim çorbanın tarifini sorabilir misin? çocuğunuz da gidiyor ve bu bilgiyi istiyor. ve anneanneniz çocuğunuza bu tarifi yazılı şekilde gönderiyor.

    bu durumda sizin çocuğunuz “api” görevi görüyor yani bir aracı. sizin ricanız bir (bkz: request) ve anneannenizin gönderdiği tarif ise (bkz: json) (bkz: respond).
    ve sizin bu spesifik olarak istediğiniz çorbanın adı ise bir (bkz: id) ve tüm çorbaları değil de, bu istediğiniz çorbanın tarifinin gelmesini sağlıyor.

    api'lar aynı bu örnekteki çocuk gibi çalışır. ona verilen istek yani “request” komutuna göre hangi dataya ulaşılmak istendiğini belirtirler, karşılığında ise bir cevap alırlar ve bu cevabı size iletirler.

    şimdi diyebilirsiniz peki benim bununla ne işim var, yani neden ben kendi kendime ulaşmıyorum da böyle bir aracı kullanıyorum?

    ancak maalesef çok küçük programlarda dediğiniz gibi ulaşılacak tüm bilgileri kendiniz araştırıp ulaşabilecekken, bir çok kapsamlı program için bu yeterli olmayacaktır ve size zaman kaybı ortaya çıkaracaktır.
    bir örnek üzerinden anlatacak olursam, misal düşünün bir web-projesi yapıyorsunuz ve bu projede diyelim ki şu an da tüm dünyada olan shell benzin istasyonların adreslerine tek tek ulaşmanız ve bununla ilgili bilgi göstermeniz gerekiyor.
    gidip tüm dünyadaki her ülkeyi, şehirleri, mahalleleri araştırıp adreslerini mi ayıklayacaksınız? elbette bu mümkün olabilir ama böyle bir şeyi yapmaya çalışmak zaman kaybından başka bir şey olmayacaktır. bunlar yerine (bkz: google maps) api'ına ulaşıp json olarak istenilen datayı alıp sonra çok kısa bir işlemle parse edip kullanıma hazır hale getirebilirsiniz.

    ama diyelim ki siz tüm dünyada shell istasyonlarındaki güncel diesel gas ücretlerini takip edeceğiniz ve bilgi vereceğiniz bir site üzerine çalışıyorsunuz, ve shell istasyonlarının api'i yok. bu durumda ne yaparsınız?

    bu tip durumlar için yazılımcılar kendi gereksinim doğrultularında hazırladıkları api'lari public olacak şekilde ya repository şekilde kullanıma ya da satışa sunmuşlardır.
    aynı şeyi sizin de yapmanız mümkün elbette. bu tip durumlar için ise rapid api sitesini (bkz: rapidapi) kullanabilirsiniz. ulaşılan veya hazırlanan api'lara izin verildiği taktirde siz de aynı şekilde belirli komutlarla data ekleyebilir, değiştirebilir veya çıkartabilirsiniz.

    yalnızca bunlarla da kalmaz, istediğiniz kadar farklı türde api'i bir programda veya web sitenizde kullanabilir ve zaten var olan büyük şirketlerin teknolojilerin nimetlerinden yararlanabilir ve çok daha farklı projeler geliştirebilirsiniz. mesala yukarıda örneklendirdiğimiz bu benzin fiyatlarına dair bilgi veren sitemizde, (bkz: whatsapp) api'i kullanarak, sitedeki benzin fiyatları kullanıcının istediği fiyata düşünce, ona whatsapp üzerinden bildirim veren bir sistem kurmak gibi.

    kısacası hem uğraşması hem kullanması zevki bir teknolojidir, creative becerilerinizi ve bir proje üretme hızınızı arttırır.

    edit: imla
  • şirket içerisinde diğer birimlerin kullanacağı bir api hazırlıyorsanız, mutlaka ama mutlaka hangi parametrelerle api methodlarının çağırıldığını loglayın sevgili suserlar. yoksa bik bik bik bik.... uğraşır durursunuz. bir hata durumu olduğunda, bir iddia ile geldiklerinde, çıkartır masanın üzerine koyarsanız ( loglarınızı ) o zaman kendinizi koruyabilirsiniz.
  • sozlugun sahip olmasi gerekendir. oauth tabanli, sadece suser'lerin faydalanabilecegi bir api gelistirilse cillop olur.
  • web icin backend api gelistirirken route ismi olarak ads, advertisement gibi reklam ile ilgili kelimeler kesinlikle kullanilmamali. cunku browser uzerinde kullanilan ad blocker eklentileri yapilan request'leri blokluyor.

    icinde ads bulunan route'a postman ile sorunsuz gonderilen isteklerin neden browser'dan gonderilince server'a ulasmadigini cozmek icin 45 dakikami heba ettim.

    bir yandan da ad blocker localhost uzerinde iyi ki calisir durumdaymış, proje yayina gitmeden problemi farketmis oldum.
  • ks. active pharmaceutical ingredients
  • yazılımın bileşenlerinin birbiriyle iletişim kurmaları için kullanılan araç.
    kullanıcının programının şirketin veri tabanlarında depolanmış verileri almak için kullandığı komutlar kümesi.
    örneğin flickr'ın api'ı, sadece belirli bir gruptaki bütün fotoğrafları ve bu fotoğraflara ilişkin fotoğrafın byte olarak büyüklüğü, çekildiği yer, fotoğrafı beğenenler gibi özellikleri vermektedir.
  • google ın android cihazlarda geliştirilen konumsal uygulamalar için sağladığı api si can kurtarır. tek şifre ile harita elde edebilir harita üzerinde uygulamalar geliştirebilirsiniz. tek olumsuz yanı api yi uygulamanıza eklediğiniz anda konum bulma ve en kısa rota çizdirme gibi directions api lerinin disable olarak gelmesidir.
    (bu hususa dikkat edin, bu sebepten hazırladığım proje 2 hafta gecikti.)

    hali hazırda konumsal uygulama ve harita analizi üzerine pek fazla uzman bulunmayan güzide ülkemizde, az da olsa programlama bilgisi ile konumsal analiz geliştirebilir ve bu alanda ilerleyebilirsiniz.
  • sistemin sahip olduğu kaynakları, belirlenen şartlar altında, dış dünyaya servis edilmesi.
hesabın var mı? giriş yap