Değişik Bir Kavram, Idempotent

Değişik Bir Kavram, Idempotent

- 4 mins

Idempotent, Idempotence, Idempotency,… Makalelerde ve özellikle Medium yazılarında sık rastladığım bir kelime. Bu yazı gibi daha çok HTTP ve REST API yazılarında, ya da aşağıdaki gibi tweetlerde karşılaştığım bu kelimeyi tabi ki araştırma gereksinimi duydum.

Idempotent, aslında bizim matematik derslerinde üzerine bastığımız ama onun orda olduğunda farkında olmadığımız bir taş gibi. Google Ngram Viewer grafiğine göre 1920’den bu yana sürekli kullanılan bu kelime aslında birleşik bir kelime. “Idem”, Latince aynı veya eş anlamına gelirken potent de güç anlamına geliyor. Birleşimi de eşgüç veya aynıgüç olarak düşünebiliriz.

Bu terimin 29 Nisan 2017‘den beri kapalı olan Wikipedia‘ya -çare Wikiwand- göre tanımı şöyle:

Idempotence: (/ˌaɪdᵻmˈpoʊtəns/ eye-dəm-poh-təns[citation needed]) is the property of certain operations in mathematics and computer science, that can be applied multiple times without changing the result beyond the initial application.

Yani “Idempotence” matematik ve bilgisayar bilimlerinde, ilk uygulamayı aşmadan sonucu değiştirmeden, birden çok kez uygulanabilen belirli işlemlerin özelliğidir (property). Uygulama alanlarına göre farklı anlamlara da sahip olabiliyor bu kelime.

Bilgisayar biliminde, idempotent terimi, bir veya birkaç kez uygulandığında aynı sonuçları verecek bir operasyonu tanımlamak için daha kapsamlı bir şekilde kullanılmaktadır. Bu, uygulandığı bağlama bağlı olarak farklı bir anlama sahip olabilir. Örneğin, yan etkiler içeren yöntem veya altprogram çağrıları söz konusu olduğunda, değiştirilen durum ilk aramadan sonra aynı kalır. Fonksiyonel programlamada, bir idempotent fonksiyonu, herhangi bir x değeri için f (f (x)) = f (x) özelliğine sahip olan bir işlevdir.

Bu, birçok durumda, bir operasyonun, istenmeyen etkilere neden olmadan, sık sık tekrarlanabileceği veya tekrarlanabileceği anlamına gelen çok kullanışlı bir özelliktir. Idempotent olmayan işlemlerde, algoritmanın, işlemin gerçekleştirilip gerçekleştirilmediğini takip etmesi gerekebilir.

Örnekleri

Bir veritabanında müşterinin adını ve adresini arayan bir işlev genellikle idempotenttir, çünkü bu veritabanı değişmesine neden olmaz. Benzer şekilde, bir müşterinin adresini değiştirmek genellikle temkinlidir, çünkü nihai adresin kaç kez gönderilip gönderilmediği önemli değildir. Bununla birlikte, müşteri için bir araba için bir sipariş vermek genellikle idempotent değildir, çünkü aramanın birkaç kez çalıştırılması birkaç siparişin verilmesine yol açacaktır. Bir siparişin iptal edilmesi idempotenttir, çünkü kaç talep olursa olsun sipariş iptal edilir.

Birçok insanın günlük yaşamlarında karşılaşabileceği uygulamalı örnekler arasında da asansör çağrı butonları ve yaya geçme düğmeleri yer alıyor. Düğmenin ilk etkinleştirilmesi, istek yerine getirilene kadar sistemi istekte bulunan bir duruma taşır. Sistem, aktivasyon sayısına bağlı olarak talebi karşılayacak zamanı ayarlamak için tasarlanmadıkça, ilk aktivasyon ile tatmin edilen talep arasındaki düğmenin sonraki aktivitelerinin bir etkisi yoktur.

Okumak ve İzlemek

Bu yabancı kelimelere İngilizce makalelerde ve yazılarda denk geliyorum genellikle. Arada sırada da yabancı dizilerden duyduğum güzel kelimelere ve kavramlara rastlıyorum. Onlardan biri de: Manhunt: Unabomber

Manhunt: Unabomber

Dizi FBI özel profilleme ajanı Fitz’in, 15 bombalama suçuyla aranan Unabomber’ın tek izi olan yazılarından profilinin çıkarıp ona ulaşmasını konu alıyor. Bu diziden öğrendiğim bir kelime de “idiolect”. “Idiolect” dil biliminde kişilerin kendilerine has farkederek veya farketmeyerek kullandığı dil yapısıdır. Kullanılan kelimeler, noktalama işaretleri, içerik ve hatta yapılan hatalar bile kişi hakkında iyi bir profilleme olanağı sunabilir. Dizinin 1. sezonunun daha ilk 5 bölümünü izledim. Fakat IMDB ve Rotten Tomatoes oranlarına destekte bulunarak izlemenizi tavsiye ederim.

Bir diğer tavsiye edebileceğim bir dizi de Halt And Catch Fire

İşte bu dediğim bir dizi

Dizi 1980’lerin bilişim dünyasında yer alan kişileri konu alıyor. Nedendir bilmiyorum dizinin jeneriğini ve oyuncu kadrosunu çok beğendim. Umarım siz de beğenirsiniz..

Ahmet Sina Ustem

Ahmet Sina Ustem

iOS Developer.

comments powered by Disqus
rss facebook twitter github youtube mail spotify instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora