kısaca netleştirelim, qr kodlar deterministik çalışır. içine gömdüğünüz veri, versiyon ve hata düzeltme seviyesi aynıysa üretilen görsel matris de pikseli pikseline aynıdır. yani her qr kod doğası gereği benzersiz olmak zorunda değildir, arkada kafasına göre rastgele id basan bir servis koşmuyor. aynı payload, aynı konfigürasyonla her zaman aynı çıktıyı verir.
çalışma mantığına gelirsek qr kod, veriyi iki boyutlu siyah beyaz bir modül ızgarasına paketleyen açık kaynaklı bir standarttır. japonya'da denso wave mühendisleri bunu doksanlarda fabrikadaki parça takibi için geliştirdi ve patenti kamuya bırakıp açık kaynak yaptılar. süreç birkaç temel bileşenden oluşur:
- konumlandırma: köşelerdeki o üç büyük kare (finder pattern), kameranın kodu hangi açıyla tutarsanız tutun 360 derece algılamasını sağlar. aradaki kesik çizgiler (timing pattern) ise ızgaranın koordinatlarını hesaplatır.
- veri kodlama ve maskeleme: url veya metin ikili sisteme, yani sıfır ve birlere çevrilir. kameranın sensörünü patlatacak devasa beyaz ya da siyah bloklar oluşmasın diye verinin üzerine xor işlemiyle matematiksel bir maske bindirilir.
- hata düzeltme (reed solomon): kodun üzerine kahve döküldüğünde ya da ortasına logo deploy edildiğinde bile çalışmasının sebebi budur. algoritmaya matematiksel bir yedeklilik (redundancy) eklenir. seviyesine göre matrisin neredeyse üçte biri hasar görse bile kamera veriyi hiçbir bug olmadan kurtarır.
her biri birbirinden farklı mı sorusunun cevabı da burada netleşiyor. iki farklı cihazda aynı linki birebir aynı hata düzeltme seviyesiyle koda basarsanız tıpatıp aynı görseli alırsınız. ancak verideki tek bir harfi değiştirirseniz ya da hata toleransını artırayım derseniz, algoritma tüm matrisi baştan aşağı refactor eder ve bambaşka bir desen üretir.
günlük hayatta aynı yere çıkan iki kodun farklı görünmesi ise genellikle pazarlamacıların dinamik qr kod hevesidir. biri doğrudan nihai hedefi kodlarken, diğeri araya analitik kasmak için yönlendirme linki koyar. payload farklı olduğu için matris de farklılaşır, olay bundan ibarettir.
Kaynaklar
-
DENSO WAVE INCORPORATED. Qr Code Features And Overview. Alındığı Yer:
| Arşiv Bağlantısı
-
DENSO WAVE INCORPORATED. Error Correction Feature. Alındığı Yer:
| Arşiv Bağlantısı