watch() ve watchEffect() Vue.js ile Nasıl Kullanılır?

Vue.js 3 dökümantasyonuna bakarken Composotion API’lerde izlemek için iki hook görünce kafam karıştı. Dökümanlarına ilk baktığınızda aradaki farkını hemen kavrayamayabilirsiniz.

Biraz üstüne düştükten sonra temelde aynı ama çok farklı özellikleri olduğunu göreceksiniz. İlk önce arasındaki farkı ortaya koyalım.

Bunun farkını araştırdığınıza göre Vue.js hookları ve en azından watch() kullandığınızı varsayıyorum.

Okumaya devam et

Microservice Veritabanlarında Nasıl Data Tutulmalı? (Eventual Consistency)

Microservice en güzel özelliklerinden biri, birbirinden bağımsız servislerin birbirlerini etkilemeden çalışmasıdır. Bir servis durduğunda her bir service kendi süreçlerine devam etmelidir. Çünkü veritabanına kadar bütün bileşenlerinin diğer servislerle bağlantısı API istekleri haricinde yoktur.

Konuyu daha iyi anlamak için e-ticaret siteleri üzerinden örneklendirmek istiyorum.

Okumaya devam et

Microservice Mimarilerinde Message Broker Üzerinde Message ve Event Farkı

Bu makaleyi okumadan önce mikroserviceler arasındaki iletişim makalemi okumanızı tavsiye ederim.

Microservice mimarilerinde servisler arasında iletişimi asenkron olarak sağlayabiliyoruz. Bu iletişimi sağlarken genellikle kuyruğa gönderdiklerimizin message mı, yoksa event farkında değilizdir.

Okumaya devam et

Microservice’ler Arasında İletişim

Microservice mimari metodolojisi gereği birbirinden ayrı servisler barındırır ama bu servislerinde birbirleri ile konuşmaları gerekmektedir. Bu servislerin kendi aralarında konuşurken en doğru yöntem ile konuşmaları gerekir.

Alışageldiğimiz monolotik mimarilerde, eğer message broker teknolojileri kullanmıyorsak back-end tarafındaki tüm süreçler genellikle senkron olarak istekleri tamamlamaktadır.

Okumaya devam et

S.O.L.I.D. Yazılım Prensipleri

Her yazılımcının bilmesi gereken, yazılım geliştirmenin temel prensipleri olarak kabul edilmektedir.

Geliştirilen yazılımın esnek, yeniden kullanılabilir, sürdürülebilir ve anlaşılır olmasını sağlayan, kod tekrarını önleyen prensiplerdir.

Bu prensipleri üstat Robert C. Martin tarafından öne sürülmüş prensibler bütünüdür.

Okumaya devam et

Web Uygulamalarınız İçin Yeni Bir Cross-Platform Ortamı: Capacitor

PhoneGap ve Cordova’yı eski topraklar bilir. Mobil uygulama ihtiyaçlarını arttığında, benim gibi web uygulama geçmişi köklü olan yazılımcılara, Android Studio ve Xcode üzerinde native uygulama geliştirmek cidden ölüm geliyordu. Çünkü kullandığımız platformlara hiç benzemiyordu.

Mobil uygulamalara teknolojileri ilerledikçe, bizim mesleğin felsefesinde yatan “sorunlara çözüm bulmak” ile cross-platform mobil uygulama geliştirme araçları çıktı. Çok işimize yaramıştı. İlk cross-platform mobil uygulamayı, biletyol projemizde sevgili dostum Mahir Fatih Ünal’la birlikte Cordova+Vue.js ile yapmıştık. Mantık şuydu web sitesi gibi hazırla ve bu platformlar webview içinde, tıpkı tarayıcı açtığımız bir web sitesi gibi çalışıyordu.

Okumaya devam et

zsh: command not found Hatası

Yakın zamanda 7 yıldır kahrımı çeken 2013 model MacBook Pro’mu değiştirdim. 2020 model i9 işlemcili 16″ ekrana sahip MacBook Pro aldım. Bu hızın yanında yenilikler ve bu yeniliklerle alışkanlıklarımdan dolayı tam alışmış değilim.

Bir yazılımcı olarak bilgisayarımıza bir çok yazılım kullanıyoruz ve terminalde bizim için vazgeçilmez bir araçtır.

Okumaya devam et

MariaDB ile Backup ve Restore İşlemleri

Bir çok web sitesi hatta servis sağlayacılar bile verilerini saklamak için MariaDB sunucuları kullanmaktadır. Veriler web sitesinin en değerli varlığıdır ve bunu korumamız gerekmektedir. Korumak içinde en temel yapabileceğimiz işlemlerin başında düzenli olarak verilerimizi yedeklemek geliyor.

Verileriniz web sitesi çökmesi, saldırı veya sistem arızasından dolayı kaybolma riskleri bulunmaktadır.

Bu makalemizde verilerinizi yedekleme ve geri yükleyi öğreneceksiniz.

Okumaya devam et

Flutter ile Versiyonlama

Flutter ile mobil uygulama geliştirirken, beni rahatsız eden konulardan biri Android ve iOS tarafındaki versiyon sürümleri üzerinde düzenleme yapmak.

Yeni sürüm oluşturmak istediğinizde Android ve iOS’da build sürümünü yükseltmeniz gerekiyor. Android klasörü içindeki app/build.gradle ve iOS klasörü içindeki Info.plist dosyalarında düzenleme yapmalısınız. Eğer bunu yapmazsanız mutlak olarak ilgili mağazalara uygulamaları yüklerken versiyonlardan dolayı hata alacaksınız.

Okumaya devam et