İçeriğe atla
M. Fehmi ToktayYazılım ve Shopify geliştiricisi

Yazılım ve Shopify geliştiricisi

Yazılım geliştiriyorum

Web siteleri ve uygulamalar, işe özel araçlar, entegrasyonlar ve otomasyon. Bir kısmı e-ticaret tarafında — Shopify'da uygulama ve tema geliştiriyorum — ama tek yaptığım bu değil.

Hepsinin ortak yanı şu: iş yeni bir şey icat etmekle değil, ölçmekle başlıyor.

admin-api graphql
query VaryantDurumu($id: ID!) {
  productVariant(id: $id) {
    sku
    inventoryQuantity
    price
    product {
      title
      vendor
    }
  }
}
1147 → 948pxsatın alma butonu mobilde yukarı taşındı
1811 → 1064pxdetay paneli kapalı başlatılınca
71 → 6kategoriürün türü alanı sadeleştirildi
13markabirlikte çalışılan mağaza

Hepsi gerçek mağazalarda ölçüldü · nasıl ölçüldüğü

Shopify tarafında çalıştığım yüzeyler

Admin GraphQL APIürün, varyant, sipariş, metafield okuma ve yazma
Bulk Operationsbinlerce kayıtlık iş; sonuç JSONL olarak indirilir
Webhooksolay yakalama, HMAC doğrulama, idempotent işleme
OAuth · Billing APIkurulum akışı, kapsam yönetimi, abonelik ücretlendirmesi
App Bridge · Polarisyönetim paneli içinde açılan gömülü arayüz
Liquid · Online Store 2.0bölüm ve blok yazımı, tema editöründen yönetim
Storefront · Ajax APIsepet işlemleri, tema içi dinamik davranış
Metafield · Metaobjectürün künyesi ve yapılandırılmış veri
URL Redirectgeçişlerde yönlendirme haritası
Theme CLIyayınlanmamış temada geliştirme, önizleme, canlıya alma

Binlerce kayıtlık iş nasıl yürür

bulk-operation graphql
mutation {
  bulkOperationRunQuery(
    query: """
    {
      products {
        edges {
          node {
            id
            title
            variants { edges { node { id sku inventoryQuantity } } }
          }
        }
      }
    }
    """
  ) {
    bulkOperation { id status }
    userErrors { field message }
  }
}

Toplu işlem sonucu JSONL dosyası olarak indirilir. Aynı veriyi sayfa sayfa çekmek hem hız limitini yakar hem yarıda kalırsa nereden devam edeceğini bilemezsin.

Nasıl çalışıyorum

  1. 01

    Ne olduğunu ölçerim

    İlk iş mevcut durumu rakamla tespit etmek. Hangi sayfada, hangi adımda, kaç kayıtta sorun var — bu bilinmeden yazılacak kod tahmine dayanır.

  2. 02

    Kapsamı yazılı veririm

    Ne yapılacağı, neyin dışarıda kaldığı ve teslim biçimi baştan yazılır. Sonradan büyüyen iş ikimize de pahalıya patlar.

  3. 03

    Ayrı temada geliştiririm

    Tema işleri yayınlanmamış bir kopyada yazılır, önizleme adresiyle doğrulanır, sonra canlıya alınır. Uygulama işlerinde geliştirme mağazası kullanılır.

  4. 04

    Ölçerek teslim ederim

    Teslimde “yapıldı” demek yetmez; öncesi ve sonrası aynı yöntemle ölçülür. Toplu veri işlerinde eski değerlerin yedeği ve geri alma script'i bırakılır.

Ölçüm örneklerinin tamamı →

Aklınızda bir şey var mı?

Ne yapılması gerektiğini söylemek çoğu zaman kısa sürüyor.