swift – 2 #döngüler

swift – ders 1 #değişkenler & diziler

değişken tanımlama

değişken tanımladıktan sonra artık var demenize gerek yok. zaten önceki dillerden biliyorsunuz bunu.

sabit değer tanımlama

bunu yazdıktan sonra aşağı init hasan=30 yazamazsınız. bu sabit bir değer oluyor. 20 tanımladıysan kod boyu 20dir o. uğraşmayın daha. bunu niye kullanıyor derseniz bilmiyorum ama pi sayısı gibi düşünün. o sabit çünkü.

değişkeni önceden tanımlama ve dönüştürme

diziler

laravel bulunulan menüye göre menü class bilgisini değiştirme (active yapma)

merhabalar. laravelde app.blade.php sayfamız sabit olduğu için ve bu sayfada genelde menü ve footer gibi sabit kalıplar olduğu için çeşitli yerleri dinamik hale getirmemiz zor hale gelebiliyor.

menüde bildiğiniz üzere bir yere tıklanıldığında ve o sayfa açıldığında o tıklanılan alan farklı bir görünüm alır. bunu laravelde nasıl yaparız aşağıda kısaca anlatıcam.

sayfamızın linki “/bayram/” olsun. hemen app.blade sayfasında menümüzde yer alan bayram linkinin bulunduğu div veya li etiketine gelip

yok linkimiz “bayram/1/edit” diye gidiyorsa

atıyorum link “bayram/ismailulukul” diye gidiyor ve biz ismailulukul yazısını görünce menümüz aktif hale gelsin istiyorsak

hadi kolay gelsin

Error:SSL certificate problem: self signed certificate in certificate chain Hatası Çözümü

Error:SSL certificate problem: self signed certificate in certificate chain hatası alıyoruz bazen curl işlemlerinde. bunu çözmek için aşağıdaki kodu eklemeniz yeterli olacaktır.

Laravel GraphQL kullanımı #2 tablo oluşturma, veri ekleme silme, ilişki işlemleri

evet dersimizin 2bölümüne geçelim. şunu tekrar etmekte fayda görüyorum. benim de öyle ahım şahım bir bilgim yok. sadece videoda gördüğüm uyguladığım çeşitli fonksiyonları size gösteriyorum. işe yarıyor bunu geliştirmek 2 tablodan yüz tabloya çıkarmak sizin hayal gücünüzde.

iki tane tablo oluşturuyoruz. bunları migration ile yapıyoruz. bunun için aşağıdaki kodları kullanın ki modeli oluştururken tablo dosyasını da oluştursun.

bunu yaptığınızda hem model dosyamızı hem de migration klasörü altında 2019_01_02_074138_create_categories_table.php ve 2019_01_02_074147_create_books_table.php dosyamızı kendi oluşturuyor.

şimdi geliyoruz categories_table.php public up fonksiyonu içine

books_table.php içine aşağıdaki kodları yazıyoruz.

php artisan migrate diyerek de bu tabloları veritabanımıza ekliyoruz. env dosyasında veritabanı ayarlarını yapmayı unutmayın.

neyse sonuç olarak book ve categori tablolarımızı oluşturduk. şimdi bunların model dosyalarına gelip ilişki kuruyoruz.

Category.php modelimize gelip;

fonksiyonu yazıyoruz. Book modelimize de gelip;

bunu yazıyoruz. artık tablolarımızdaki ilişkilerimizi kurduk. buna seeder ile rastgele kayıtlar ekleyin 10-20 tane seeder ile yapabilirsiniz kolaydır daha önce anlatmıştık. burayı pas geçiyor ve hepsinde 20-30 veri olduğunu düşünüyorum. artık tablomuz da dolu. bunu da koyduk cebimize. şimdi graphql işlerimize geçelim.

routes/graphql/schema.graphql dosyasını açıp alt tarafa bu iki tablomuzu tanıtalım.

yine aynı dosyada type Query { ile başlayan kısmın içine de aşağıdakileri yazıyoruz.

bakın şimdi demiş olduk ki query kardeşim sana book isimli bir query gelirse onun içinde de bir id değeri olacak git onu alt tarafta type book diye bir şey yazmıştım ya orada yer alan idye göre ara sonuç olarak bulunan değeri göster.

ilkinde ise books diye bir query gelirse ne kadar Book varsa getir. categories içinde gördüğünüz gibi benzer şeyleri yaptık. şimdi graphql sayfamızı açalım ve sorgularımızı yazalım.

sonuçlar gelmiş olmalı. bide find yapalım idye göre

kategoriyi de böyle yapabilirsiniz. şimdi orada iki method daha var. booksByFeatured ve someComplexQuery. bunları tanıtmak gerekirse ilki ile başlayayım. Featured öne çıkarılanlar anlamına gelmekte. Yani tanıtımlarda ilk sırada yer alacak kitaplar veritabanında Featured bölümünde Boolean olarak tanımlanmış yani 0-1 true false. Biz diyeceğiz ki abi sen bana featured değeri 1 olanları getir. nasıl mı yapacağız?

featured değeri true olanları getirdi. böylelikle farklı bir kolonda true false üzerinden işlem yapmayı da öğrendik. şimdi bize like da lazım. içinde a geçenler b geçenler. Bunu da someComplexQuery ile yapacağız. Bunu nasıl yapacağız peki?

someComplexQuery içine bakalım ilk önce search diye bir değişkene string bir veri istiyor karşılığında ise Book tablosunda ne varsa göster diyor. iyi hoş ama book tablosunda bir sürü kolon var hangisinde arama yapıyor?? onu da artisan komutları ile çözüceğiz. burada oluşturduğumuz metod adı ile query adımız aynı olmak zorunda.

Bu dosya app/Http/GraphQL/Queries/ içinde SomeComplexQuery.php olarak oluşuyor. bunun fonksiyon bölümüne sadece şu ufak kodu yazıyoruz.

$args olarak geliyor gönderdiğimiz veriler haberiniz olsun. Aslında böylelikle query oluşturmayı da öğrendik. tabi eminim daha güzel fonksiyonları da vardır ama bildiğim kadarıyla anlatıyorum.

ilişki kurmayı, arama yapmayı, query sorgu oluşturmayı öğrendik. ya dostum iyi hoş diyorsun ama ekleme silme işlemini nasıl yapacağız diyorsun. hemen ona geçelim

Bunun için Mutation adı verdikleri bir method var. bunun içine;

rules yazanlar kontrol işlemi biliyorsunuz. gereklidir 10 kelime olsun yüz kelime olsun gibi validateleri içerir.

az çok okuyorsunuzdur ve ne anlama geldiklerini çözmüşünüzdür. ben bi kere de çalıştırayım gerisi size kalmış. yoruldum çünkü.

id ve name değeri de eklediğimi görmek için. yani bunu ekledim idsi ve ismi bu diyor. basit gördüğünüz gibi. bu query içinde değil mutation içinde bu detaya dikkat tabi.

book kısmını da siz yapabilirsiniz. şimdi bunun videolu halini paylaşan kanalı ve dosyalarını aşağıdaki linklere tıklayarak öğrenebilirsiniz. Andre Madarang abimize kardeşimize bize bunu öğrettiği için teşekkür ederiz. kanal github

Laravel GraphQL kullanımı #1

Öncelikle çok çok fazla bilgiye sahip olmadığımı bilmenizi isterim. Sadece bir kaç videodan sonra hem ben unutmamak hem de benim yaşadığım yaşadığı zorlukları başkası yaşamasın diye ufaktan giriş seviyesinde bildiklerimi yazacağım.

öncelikle laravelini kurunuz 🙂 (alla alla, evet gerekli)

yazıyoruz. laravelimiz kuruluyor. sonra env dosyasına bir tane eli yüzü düzgün veritabanı bilgisi yazın. sonra laravel ile birlikte gelen users tablosunu kurun. onu aşağıdaki kodu yazarak yapabilirsiniz.

yine laravel ile beraber gelen bunun factory’si mevcut. bu factory dediğimiz olayla 10 tane rastgele üye ekliyor. daha önceki konularımda var. ben sadece size çalıştırmasını söylücem yine aşağıdaki kodları yazın.

sonra aşağıdakileri

şimdi siteminizin sonuna /graphql-playground ekleyerek graphql’i test edeceğimiz ortamı açtık.

oraya

oraya bu kodu yazarsak 1 numaralı user’in id name ve email değerlerini getir demiş oluruz.

şimdilik bu kadar. öteki derste artık diğer basit şeyleri gösteririm.

laravel basit cache örneği

10 dk süreli bi cache oluştur ve bunu sonuc değerine ata. bu sonuç değeri bir dizi ve bu dizinin içine uyeler diye bi değişken tanımla ve uyeler tablosundan gelen verilerle doldur. tekrar kodumuza yeniden baktığımızda sonuc diye bir değişken varsa direk view dosyasına yolla eğer yoksa oluştur 10 dakikalık bi tane diyoruz.

laravel seeding ve factory – random kayıt ekleme


factory ile bir sürü kaydı bi anda girebilirsiniz. örnek factory oluşturma;

hemen oluşturulan dosyaya giriyoruz. şöyle bir kod giriyoruz siz kendi tablonuza göre güncelleyin

faker kütüphanesi yoksa yukarıya ekleyin. o otomatik oluşturmamızı sağlıyor. App\urunler yazan yere kendi modelinizi koymayı unutmayın.

ya kardeşim bana başka özellikler lazım kolonlarımda ad soyad felan var dersen https://github.com/fzaninotto/Faker buraya girip fakerin sana neler sağladığını görebilirsin.

kullanmak için basit bir kontroller oluşturun ve oraya

eğer 100 kayıt eklemek istiyorsak aynı anda;

şimdi diyeceksiniz ben her seferinde bunu kontroller ile yazmak zorunda mıyım? tablolarımı sıfırladım yine tekrar tekrar bunu mu tanımlıcam derseniz seed yapısı bizi kurtarıyor.

aşağıda yazıyor ama bilenler için buraya kısayol yapıyorum. controllera yazacağın metni run içine yazıyorsun oluyor bitiyor daha sonra aşağıdaki artisan db seed komutunu yazıp çalıştırıyorsun bu kadar. anlamadıysan aşağıyı oku eminim çözeceksin.

seeder kullanımı

database/seed/databaseseeder.php içinde run fonksiyonu içine basit bi insert cümlesi yazalım daha sonra aşağıdaki komutu yazalım.

yok ya ben kendi seeder dosyamı oluşturucam dersen;

diyorsun. sonra bunun içine bir şeyler yazdıktan sonra bunu çalıştırmadan önce yine DatabaseSeeder.php içine gidip diyoruz ki uruntableseeder diye bişi oluşturdum sana bi emir gelirse bunu da çalıştır.