Website etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Website etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

12 Eylül 2025 Cuma

Rails 7 Denemeler 8

https://ujk-ujk.blogspot.com/2025/09/rails-7-denemeler-8.html
İçindekiler +

 Selam, Rails 7 öğrenmeye devam ediyorum.



Gelişmiş Login İşlemi

Önceki bölümde basit login işlemini gerçekleştirdik. Ancak modern web uygulamalarında kullanıcı tekrar sayfaya geldiğinde eğer bu arada tarayıcısını kapatmış da olsa kendisinin hatırlanmasını bekler. Bu bölümde kalıcı çerezleri (permanent cookies) kullanarak bu işi halledeceğiz. Giriş yapmış kullanıcıları hatırlayarak başlayacağız, bu örneğin Bitbucket ve Github gibi sitelerde karşılaştığımız davranıştır. Daha sonra da Twitter ve Facebook'ta olduğu gibi giriş yaparken bir "Beni Hatırla" seçeneği ekleyeceğiz. 


Beni Hatırla

23 Nisan 2025 Çarşamba

Rails 7 Denemeler 6

https://ujk-ujk.blogspot.com/2025/04/rails-7-denemeler-6.html
İçindekiler +

 

Selam Rails 7 ile uygulama geliştirmeye kaldığımız yerden devam ediyoruz.



Kayıt olma işlemleri

Şu anda çalışan bir User modelimiz mevcut, sırada kullanıcıların kayıt olması için sayfalar hazırlamak var. 

2 Nisan 2025 Çarşamba

Rails 7 Denemeler 5

https://ujk-ujk.blogspot.com/2025/04/rails-7-denemeler-5.html
İçindekiler +


İletişim sayfası

Uygulamamıza İletişim sayfası ekleyerek devam edeceğiz. Öncelikle test rutinlerini ekleyelim. 

test/controllers/static_pages_controller_test.rb

require "test_helper"

class StaticPagesControllerTest < ActionDispatch::IntegrationTest
  ....

  test "should get contact" do
    get static_pages_contact_url
    assert_response :success
    assert_select "title", "İletişim | Yeni App"
  end

end

31 Mart 2025 Pazartesi

Rails 7 Denemeler 4

https://ujk-ujk.blogspot.com/2025/03/rails-7-denemeler-4.html
İçindekiler +

 

Selam bu bölümde Rails uygulamalarımızın görselleriyle uğraşacağız biraz.



Yerleşimi Doldurmak

Yeni App (statik sayfalar) uygulamamızı yaparken stil dosyalarının yerini ve sayfalarımıza yerleşim dosyasında nasıl eklendiğini görmüştük. app/assets/stylesheets/application.css stil dosyamız şu anda boş. Bu bölümde bir CSS framework kullanarak uygulamamıza stiller ekleyeceğiz. Önce yerleşim dosyasında sayfalarımıza bağlantılar koyacağız. Bunları yaparken kısmi (partial) görselleri öğreneceğiz. Sass kütüphanesini kullanacağız. 

24 Mart 2025 Pazartesi

Rails 7 Denemeler 3

https://ujk-ujk.blogspot.com/2025/03/rails-7-denemeler-3.html
İçindekiler +

Selam Rails 7 denemelerine Ruby programlama temellerini göreceğimiz bir bölümle devam ediyoruz. Önceki bölümde yazdığımız "yeni_app" uygulamamız üzerinden devam edeceğiz. 




Rails Aromalı Ruby 

Önceki bölümde Rails açısından önemli olan bazı Ruby programlama teknikleri kullandık. Ruby çok büyük bir programlama dili, neyse ki Rails uygulaması geliştirmek için bilmemiz gerekenler çok da fazla değil. Bu bölümde Rails'de kullanılan Ruby tekniklerine bir göz atacağız. İleride uygulamalar geliştirdikçe Ruby dili hakkında daha geniş bilgileri tekrarlarla öğrenmeye devam edeceğiz. 

22 Mart 2025 Cumartesi

Rails 7 Denemeler 2

https://ujk-ujk.blogspot.com/2025/03/rails-7-denemeler-2.html
İçindekiler +

 Selam Rails 7 ile denemelerimize devam ediyoruz. 


Statik Sayfalar

Bu seferki uygulamamızda biraz daha gelişmiş ve bundan sonraki uygulamalarımıza temel teşkil edecek bir uygulama planlıyoruz. Burada veri tabanına bağlı olmayan statik web sayfaları yapacağız. Statik web sayfalarını Rails yöntemiyle yapmak , bize Rails işleyişini anlamak için çok yararlı olacaktır. 

Rails, veri tabanına dayalı web siteleri yapmak için geliştirilse bile , her uygulamanın statik sayfalara ihtiyacı vardır .Rails ile geliştirilen statik sayfalar ise her ne kadar statik dense de kolayca içlerine dinamik davranışlar eklenebilir. Bu uygulama da ayrıca otomatik testler için de bir giriş yapacağız. 

18 Mart 2025 Salı

Rails 7 Denemeler 1

https://ujk-ujk.blogspot.com/2025/03/rails-7-denemeler-1.html
İçindekiler +

 

Selam RubyOnRails versiyon 7 ile bazı denemeler yaparken framework özelliklerini öğrenmeyi amaçlıyorum. 



RubyOnRails Kurulumu

Rails kullanarak uygulama geliştirirken kullandığımız Ruby ve Rails gem versiyonlarının stabil olması , ileride sıkıntılar yaşamamak için önemli. Bu yüzden kurulumları Ruby Version Manager - rvm ile yapacağız. 

RVM Linux sistemlerde kuruluyor Windows'ta da WSL Ubuntu terminal kullanarak kurulabilir. 

Öncelikle PPA kaynaklarını kullanmak için yüklenmesi gereken paket için konsolda

$ sudo apt-get install software-properties-common

Bu baştaki $ işareti prompt'u ifade için kullanılan bir genel gösterim konsola onu yazmayacağız tabi ki.

Şimdi rvm kaynaklarını sisteme eklemek için konsolda şu iki satırı girelim.

$ sudo apt-add-repository -y ppa:rael-gc/rvm
ve
$ sudo apt-get update

Son olarak rvm kurulumunu yapalım.

$ sudo apt-get install rvm

15 Mart 2025 Cumartesi

Ruby Temelleri 9

https://ujk-ujk.blogspot.com/2025/03/ruby-temelleri-9.html
İçindekiler +

 

Selam, Ruby temellerini öğrenmeye devam ediyoruz.



Örtülü Alıcılar ve Self


-- Her zaman örtülü bir alıcı vardır

Ruby'de bir metod çağırdığımızda, o metodun mutlaka bir alıcısı (gönderildiği nesne) vardır. Eğer bu alıcı net olarak belirtilmiyorsa Ruby bu örtülü alıcıyı self değerinde saklar. class ve module deyimleri de self değerinin işaret ettiği nesneye göre değişir. Bu davranışları anlamak Ruby dilini anlamamızda çok yardımcı olacaktır.

Örneğin bir IRB oturumunu ilk açtığımızda,

>> self
=> main

9 Mart 2025 Pazar

Ruby Temelleri 8

https://ujk-ujk.blogspot.com/2025/03/ruby-temelleri-8.html
İçindekiler +

 Selam Ruby'nin temel tekniklerine kaldığımız yerden devam ediyoruz.



Enumerator Sınıfı

Bir Enımerator elemanlarına iterasyon uygulanabilen bir nesnedir. Bir koşul karşılanana kadar döngüye girmek yerine, nesne gerektiği gibi eleman değerlerini sıralar (enumerates). 

5 Mart 2025 Çarşamba

Ruby Temelleri 7

https://ujk-ujk.blogspot.com/2025/03/ruby-temelleri-7.html
İçindekiler +

 Selam, Ruby temel tekniklerine kaldığımız yerden devam ediyoruz. 



Singleton Sınıflar

Singleton (tekil) sınıfların sadece bir tane oluşum nesnesi olabilir. 

Ruby'de 3 çeşit nesne vardır

  • Class ve Module sınıflarının oluşumu olan sınıflar ve modüller
  • Sınıfların oluşum nesneleri
  • Singleton sınıflar

1 Mart 2025 Cumartesi

Ruby Temelleri 6

https://ujk-ujk.blogspot.com/2025/03/ruby-temelleri-6.html
İçindekiler +

 

Merhaba kaldığımız yerden devam edelim.



Comparable Modülü

Deyim yapısı

include Comparable


Uzay gemisi operatörü (<=>) uyarlamasını yapar. Nesneleri sıralanabilir sınıflara karşılaştırma özelliği eklemekte kullanılır. Sınıfa metodun uyarlaması yapılır.

Aynı sınıf oluşumu olan x ve y nesnelerini alalım.

  • x < y ise , x <=> y negatif bir sayı dönmelidir.
  • x == y ise , x <=> y sıfır dönmelidir.
  • x > y ise , x <=> y pozitif bir sayı dönmelidir

25 Şubat 2025 Salı

Ruby Temelleri 5

https://ujk-ujk.blogspot.com/2025/02/ruby-temelleri-5.html
İçindekiler +

 

Selam , Ruby temel tekniklerine kaldığımız yerden devam ediyoruz.



Metodlar

Metodlar bir kısım aksiyonu tekrar tekrar kullanılması için isimlendirilmiş bloklar içine toplamaya yarar. Aynı şeyleri tekrar tekrar yazmanıza gerek kalmadan yapabilmenizi sağlayarak kodunuzun takibini kolaylaştırır. Bu başlık altında Ruby metodlarının tanımlaması, kullanılması, parametreleri, "yield" ifadelerini göreceğiz. 

16 Şubat 2025 Pazar

Ruby Temelleri 3

https://ujk-ujk.blogspot.com/2025/02/ruby-temelleri-3.html
İçindekiler +

Merhaba, 3. bölümde sınıflarda kalıtım sistemi ile devam ediyoruz.


Sınıflarda kalıtım

-- Deyim yapısı

class AltSınıf < ÜstSınıf
 
end



-- Alt sınıflar

15 Şubat 2025 Cumartesi

Ruby Temelleri 2

https://ujk-ujk.blogspot.com/2025/02/ruby-temelleri-2.html
İçindekiler +

 Selam,

Yazının 2. bölümünde sınıflarla devam ediyoruz.



Sınıflar

Bu kısımla ilgili daha değişik bilgileri tercüme ettiğim Wikibooks/Ruby/Sınıflar sayfasında da bulabilirsiniz.

Bir sınıf tanımlamanın deyim yapısı.

class İsim
    # sınıf davranışını belirleyen bir kısım kod
end


Ruby'de sınıf isimleri, veri tipi olarak sabitlerdir, o yüzden büyük harfle başlamaları gerekir.

10 Şubat 2025 Pazartesi

Ruby Temelleri 1

https://ujk-ujk.blogspot.com/2025/02/ruby-temelleri-1.html
İçindekiler +

Ruby birçok platformda çalışan, açık kaynak, dinamik, nesne temelli, yorumlamalı bir dildir. Basit ve üretken olmak amaçlı geliştirilmiştir. 1995 yılında Yukihiro Matsumoto (Matz) tarafından geliştirilmiştir.

Bu yazıda Ruby'nin temel tekniklerini inceleyeceğiz. Ruby programlama dili hakkında bilgilendirme amaçlayan Wikibooks Ruby Tercümesi de tarafımdan büyük kısmı yapılmış bir tercüme olarak birçok bilgi içeriyor. Okumanızı tavsiye ederim.


Merhaba Dünya

Ruby programlama dilinin bilgisayarınızda kurulu olduğunu kabul ederek ilk programı yazmaya başlayalım. Ben genelde Ubuntu işletim sisteminde ve editör olarak da VSCode editör kullanıyorum.

Şimdi denemelerimizi yapacağımız bir klasör oluşturup içinde ilk programımız olan merhaba.rb dosyasını ekleyelim ve içine şu kodu yazalım:

puts 'Merhaba Dünya!'

14 Ocak 2025 Salı

Go ile Web Uygulaması Yapmak

 Selam bu yazımda Go programlama dili ile web uygulaması yazmasını inceliyorum. 

Bu yazıda şunları görecekmişiz :

  • Kaydetme ve okuma metodlarıyla beraber bir veri yapısı (struct) tanımlamak
  • net/http paketini kullanarak bir web uygulaması yapmak
  • html/template paketi kullanarak HTML şablonları işlemek
  • regexp paketini kullanarak kullanıcının girdiği bilgiyi doğrulamak
  • closure kullanmak

18 Aralık 2024 Çarşamba

Go Programlama Dili - 2

 Selam Go dilini öğrenmeye kaldığım yerden devam ediyorum. Nerede kalmıştık?


Go Operatörleri

Operatörler değişkenlerle ve değerlerle işlemler yapmanızı sağlar. 

Örneğin + operatörü aşağıda örnekte görüldüğü gibi toplamanızı sağlar.

package main
import "fmt"

func main() {
  var a = 15 + 25
  fmt.Println(a)
}

10 Aralık 2024 Salı

Go Programlama Dili

 Selam bu yazımda Go programlama dilini öğrenmeye çalışacağım.

Go popüler bir programlama dilidir. Go bilgisayar programları oluşturmak için kullanılır. 


Go Nedir?

  • Go her platformda çalışan , açık kaynak kodlu bir programlama dilidir. Mesela ben bu yazıyı hazırlarken Windows, WSL üzerinde Ubuntu ve Linux Lite işletim sistemlerinde çalıştım.
  • Go , performansı yüksek uygulamalar geliştirmekte kullanılabilir. 
  • Go , basitliği ve verimliliği ile öne çıkan hızlı, static typed (yani değişken tiplerini bildirmek zorundasınız) ve derlenerek kullanılan bir programlama dilidir.
  • Go , Google'da Robert Griesemer, Rob Pike, ve Ken Thompson tarafından 2007'de geliştirilmiş. 
  • Go'nun deyim yapısı biraz C++ 'a benzer.

25 Mart 2023 Cumartesi

Rails 7 Başlangıç Dökümanı

 Selam Rails versiyon 7 çıktığından beri çok ilgilenemedim. Orjinal Getting Started dökümanından bir başlangıç yapayım dedim. Burada onu paylaşacağım.

Daha önce Windows 10'da Rails 7 kurulumunu sizinle paylaşmıştım. Kurulum için oraya bakabilirsiniz, ben direk uygulamaya geçiyorum. 



Rails 7 Bir Blog Uygulaması Üretmek

Rails jeneratörler (generators) adı verilen bir çok yararlı terminal komutu içerir. Bunlardan biri yeni uygulama üretmek için kullanılır ve bize yeni bir Rails uygulamasında olması gereken tüm dosyaları  üreterek kolayca başlangıç yapmamızı sağlar. 

Ben Windows 10 işletim sistemi kullandığım için Rails 7 için en iyi yöntem olan Ubuntu Terminalinde çalışıyorum. Yeni uygulamamızı üretmek için çalışma klasörümüzde bir terminal açıp şu satırı girelim:


rails new blog

28 Nisan 2022 Perşembe

Windows 10 İçin Rails Kurulumu

 Merhaba. Windows bilgisayarımda Windows 10 64 bit kurduğumdan beri doğru dürüst Ruby On Rails çalıştıramadım. Bu sefer taktım GoRails sitesinde bulduğum bu sayfadaki yönergeleri uyguladım. Birlikte bakalım, umarım size de yardımcı olur.

Windows 10 için Ubuntu kurup orada Rails çalışacağız. İlk önce Windows siteminde Subsystem izinleri için bir PowerShell penceresini yetkili kullanıcı olarak açıyoruz. 

Program arama kutusuna pow yazınca listeye PowerShell geldi. Üzerine sağ tıklayıp Yönetici olarak çalıştır seçerek aktif ediyoruz, kullanacağımız komutlar için yetkili kullanıcı olmalıyız.