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

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. 

10 Şubat 2021 Çarşamba

Rails İle Şirketimizin Faturalarını Takip Edelim

 Merhaba , pandemide uzun zamandır yazmadım. Ama boş durmadım. Uzun zamandır küçük işyerim için faturaları kayıt altına alabileceğim bir uygulama arıyorum. İnternette birkaç hazır site de kullandım ama hiç biri bana uymuyor ben hep onlara uymak zorunda kalıyorum. Ben kendi uygulamamı yaparım dedim. Başladım dönmeye. Önce kodsuz uygulama platformları denedim, AppGyver, Buble, FireBase, AirTable vs. baktım hepsi beni kısıtlıyor bir türlü istediğim gibi olmuyor. Döndüm yine eski ve her zaman dostum RubyOnRails'e. Debelene debelene ortaya bir uygulama çıkardım. Bu yazımda uygulamayı nasıl oluşturduğumu sizinle paylaşacağım. 

Önce veri tabanı tasarımından başlamak lazım. En korktuğum yer burası, eğer veri tabanını yanlış tasarlarsak sonra bir sürü yanlış yollarda boğulabiliriz. Şöyle bir veritabanı tasarladım.


26 Mayıs 2020 Salı

ORTA SEVİYE BİR RAİLS TUTORIAL - 7

Önceki bölümü okumadan buraya geldiyseniz hiç kasmayın geri dönün




Anlık mesajlaşma


Kullanıcılar gönderi yayınlayabiliyor veya diğer kullanıcıların gönderilerini okuyabiliyor. Fakat diğerleri ile iletişim kurma imkanları yok. Kolay ve hızlı olsun diye basit bir mail kutusu kurabiliriz. Ama bu birileriyle iletişim kurmanın çok eski bir yolu. Anlık mesajlaşma hem kullanım olarak rahat hem de geliştirme için daha heyecan verici.

Neyseki Rails gerçek zaman özelliklerini kolayca uygulayabilen Action Cables‘a sahip. Ana prensibi HTTP protokolü yerine WebSockets protokolü kullanması. WebSockets’in ana konsepti bir client-server bağlantısı kurar ve onu açık tutar. Bunun anlamı ilave veri alışverişi yaparken sayfa yeniden yüklenmeyecektir.


27 Nisan 2020 Pazartesi

ORTA SEVİYE BİR RAİLS TUTORIAL - 6


Önceki bölümü okumadan buraya geldiyseniz hiç kasmayın geri dönün

Ana sayfa güncellemesi


Hali hazırda ana sayfada birkaç rastgele gönderi görebiliyoruz. Tüm kolleksiyonlardan birkaç gönderi gösterebilmek için ana sayfayı değiştirelim.

_main_content.html.erb dosyasının içeriğini şöyle değiştirelim:

app/views/pages/index/_main_content.html.erb
<div id="main-content" class="col-sm-9">
    <h3 class="page-name"><%= link_to "Hobi Arkadaşı", hobby_posts_path %></h3>
    <div class="row">
        <%= render @hobby_posts %>
        <%= render no_posts_partial_path(@hobby_posts) %>
    </div><!-- row -->

    <h3 class="page-name"><%= link_to "Çalışma Arkadaşı", study_posts_path %></h3>
    <div class="row">
        <%= render @study_posts %>
        <%= render no_posts_partial_path(@study_posts) %>
    </div><!-- row -->

    <h3 class="page-name"><%= link_to "Takım Arkadaşı", team_posts_path %></h3>
    <div class="row">
        <%= render @team_posts %>
        <%= render no_posts_partial_path(@team_posts) %>
    </div><!-- row -->

</div><!-- ana içerik -->


25 Nisan 2020 Cumartesi

ORTA SEVİYE BİR RAİLS TUTORIAL - 5

Önceki bölümü okumadan buraya geldiyseniz hiç kasmayın geri dönün





Tasarım Değişikliği


Bu yazıda kolleksiyon sayfalarında gönderiler için başka bir stil deneyeceğiz. Ana sayfada kart tasarımını kullanmıştık. Kolleksiyonlarda liste tasarımı kullanalım. Böylece kullanıcı çok daha fazla gönderiyi görebilir ve içlerinde daha etkili gezinebilir.

Görsellerin olduğu posts klasöründe post adında bir alt klasör tanımlayalım ve içne _home_page.html.erb adında bir parça görsel dosyası tanımlayalım.

Daha önce yazdığımız _post.html.erb parça görselindeki kodu kesip buraya yapıştıralım.

app/views/posts/post/_home_page.html.erb
<div class="col-sm-3 single-post-card" id=<%= post_path(post.id) %>>
    <div class="card">
        <div class="card-block">
            <h4 class="post-text">
                <%= truncate( post.title, :length => 60 ) %>
            </h4>
            <div class="post-content">
                <div class="posted-by">Gönderen <%= post.user.name %></div>
                <h3><%= post.title %></h3>
                <p><%= post.content %></p>
                <%= link_to "İlgileniyorum", post_path( post.id ),
                    class: "interested" %>
            </div>
        </div>
    </div><!-- card -->
</div><!-- col-sm-3 -->


21 Nisan 2020 Salı

ORTA SEVİYE BİR RAİLS TUTORIAL - 4

Önceki bölümü okumadan buraya geldiyseniz hiç kasmayın geri dönün




JavaScript Stiller


Ana sayfamız hala sade bir görüntüye sahip. Biraz kontrast yaratmak için gönderileri renklendireceğiz. Fakat CSS yardımıyla sabit renk vermek yerine sayfa her yenilendiğinde başka renk paterni alması için JavaScript kullanacağız (ki öğrenmiş olalım).

assets klasörü altındaki javascripts klasörü içine posts adında bir alt klasör ekleyelim ve içine style.js adında bir yeni dosya ekleyelim. Ayrıca javascripts klasöründeki default .coffee dosyalarını da silebiliriz çünkü kullanmayacağız.

19 Nisan 2020 Pazar

ORTA SEVİYE BİR RAİLS TUTORIAL - 3

Önceki bölümü okumadan buraya geldiyseniz hiç kasmayın geri dönün

Ana Sayfa Listesi


Ana sayfada gönderiler listesi yayınlamak istiyoruz. Bu listede tüm gönderileri kart formatında göstereceğiz.

İşe gönderileri kaydedecek Post modelini tanımlayarak başlıyoruz. Konsolda
rails g model post

ORTA SEVİYE BİR RAİLS TUTORIAL - 2

Önceki bölümü okumadan buraya geldiyseniz hiç kasmayın geri dönün

Gönderiler


Artık blog özelliğini eklemeye başlayabiliriz. Uygulamamızın amacı aynı fikirde olan insanları bir araya getirmek olduğundan, bu mesajların yazarlarının tanımlanması gerekiyor. Bunun için kullanıcı yetkilendirme sistemi gerekiyor (authentication).

Kullanıcı Yetkilendirmesi


Kullanıcı yetkilendirme sistemi kurmak için Devise gem kullanacağız. Kendi kendimize de yetkilendirme sistemi kurabiliriz ama bu çok vakit ve kod alacaktır. Bu kolay bir yol ve Rails topluluğu tarafından çok kullanılıyor.

18 Nisan 2020 Cumartesi

ORTA SEVİYE BİR RAİLS TUTORIAL - 1

Merhaba,

Öğrenirken sizlerle paylaşmaya devam ediyorum. Çoook uzun bir çalışma olacak bu yazı bir sürü bölümlerden oluşuyor. Amacımızda sadece bir yönü öne alarak Ruby on Rails uygulaması yapmak değil görsel stillleri JavaScript kodları vs. ile gelişmiş bir web sitesi tasarımı nasıl yapılır. Santim santim orta seviye bir uygulama nasıl gelişir göreceğiz. Ben bu tutorial'ı freecodecamp'ta buldum. Hadi birlikte devam edelim. 

24 Mart 2019 Pazar

Limnor Veritaban Programlamaya Giriş - 2

Limnor Veritaban Programlamaya Giriş - 2


EasyGrid Kullanarak Veri Girişi Yapmak


EasyGrid'i Kaydedebilir Yapmak


EasyGrid nesnesi veritabanına kolayca veri girebilecek şekilde ayarlanabilir. Yeni bir proje başlatıp formun üzerine bir EasyGrid nesnesi ekleyelim ve veritabanı ile tablo bağlantısını yapalım.


ForReadOnly özelliğini FALSE yapalım.

18 Mart 2019 Pazartesi

Limnor Veritabanı Programlamaya Giriş - 1

Limnor Veritabanı Programlamaya Giriş - 1


Bu yazıda Limnor Kullanım Klavuzu temel alınmıştır.

Bağlantılı Veritabanlarına Giriş


Bağlantılı veritabanları verileri Tablolarda saklar. Bir tablo sütunlardan oluşur, sütunlara bazen Field denir. Örneğin siparişlerin girildiği bir tablo, Order ID, Order Date ve Shipping Address vs. sütunlarına sahip olabilir. Sipariş malzemelerinin olduğu bir tablo da OrderItem ID, Order ID, Product ID, Quantity vs. sütunlara sahip olabilir. 

Tablonun satırlarında veriler saklanır, bunlara Record (kayıt) denir. 

Örnek olarak siparişleri gireceğimiz Order tablosundaki kayıtlar şöyle olabilir.