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

26 Nisan 2022 Salı

NwJs VueJs BulmaCSS JSONdata ile Masaüstü Rehber Uygulaması

 Merhaba, öyle döndüm, böyle döndüm VueJs ile bir masaüstü uygulaması geliştirdim. Bunu yaparken hem JavaScript hem de VueJs üzerine çok şey öğrendim. Şimdi bu öğrendiklerimi sizinle paylaşmak istiyorum. 

Öncelikle NwJs ile uygulama kalıbını oluşturarak başlayalım.


NwJs Yeni Masaüstü Uygulama

Öncelikle NwJs sitesinden en son halini indirelim. Ben ne olur ne olmaz deyip SDK sürümünü indirdim. İndirilen bir zip dosya, bunu herhangi bir yerde açalım.

21 Mart 2022 Pazartesi

VueJs ile Bir Uygulama Yapalım

 Merhaba , VueJs temelleri konusunda çok uzun yazıların ardından işe yarar bir uygulama için kolları sıvayalım.

Bİr sınav uygulaması yapmayı planlıyoruz. Daha önce öğrendiğimiz komponentleri kullanarak uygulamamızı gerçekleştireceğiz. Başlangıç olarak hazırlanan 3 dosyayı indirip bir yere kaydedin lütfen. app.txt , css.txt ve data.txt. Uygulamamızı Vue CLI kullanarak üretelim. Terminalde:

 vue create sinav    

Evet sinav çünkü Vue CLI proje adında Türkçe karakter kabul etmedi. Uygulamayı çalıştıralım test edelim.

 cd sinav                 

 npm run serve       

20 Mart 2022 Pazar

Vue3 (Vue.js versiyon-3) Öğreniyorum - Bölüm 3

 Merhaba bu yazıyı okumaya başlamadan önce okumanız gereken 2 bölüm var.

Vue3 (Vue.js versiyon-3) Öğreniyorum - Bölüm 1

Vue3 (Vue.js versiyon-3) Öğreniyorum - Bölüm 2

Şimdi kaldığımız yerden devam edelim. Alt komponentlerden üst komponentde veri değiştirmenin ikinci yolu olarak Callback Fonksiyonları da kullanabiliriz demiştik. 


Vue Call Back Fonksiyonlar

Alt komponentten üst komponent verilerine müdahale için sağlıklı yol Olay Bildirimi (emit) geçen bölüm anlatmıştık. Call Back fonksiyonları da üst komponent verilerini değiştirmek için alternatif bir yoldur. Önce App komponentinde yaşDeğiştirCB adı ile kullanacağımız Call Back fonksiyonu tanımlayalım.

15 Mart 2022 Salı

Vue3 (Vue.js versiyon-3) Öğreniyorum - Bölüm 2

Okumadıysanız önceki bölümde VueJs versiyon 3 bölüm 1 yazısını okumanız burada anlatılanı daha iyi anlamanıza yardımcı olacaktır.

LifeCycle fonksiyonları, Virtual DOM ve Komponentler gibi daha ileri konulara dalıyoruz bu bölümde.

Hep olduğu gibi bir klasör ekleyerek bağlayalım, adı app7 olsun (en son app6 idi) ve içine şu dosyaları koyalım.

app7/app.js

let vm = Vue.createApp({
  data() {
    return {
      mesaj: "Merhaba Dünya!"
    }
  }
}).mount('#app')

10 Mart 2022 Perşembe

Vue3 (Vue.js versiyon-3) Öğreniyorum

 Merhaba,

Ben bu VueJs öğrenme işine bıkmadım, çok takdir ediyorum bu işi. Bir gün mutlaka bir yerde bana para da kazandırır eminim. Bu güne kadar ne öğrendiysem bir projede kullandım. 

İnternette gezerken güzel bir kurs dökümanı buldum. Şimdiye kadar gördüklerime nazaran daha ayrıntılı bir anlatımı vardı. Kafamda takılan sorulara da cevaaplar vardı. Bu öğrendiklerimi sizinle de paylaşayım dedim. 

Hangisi Daha İyi

Angular , Vue , React az çok bildiğim kadarıyla birbirlerine benziyorlar. Amaçları ve yöntemleri arasında farklar neler acaba? 

18 Nisan 2021 Pazar

NwJs ve VueJs ile Masaüstü Uygulama Geliştirmek - 2

 Merhaba ,


Önceki yazıda NwJs kuruluşunu göstermiştik. Bu sefer VueJs versiyon 3 kullanalım.  https://unpkg.com/vue@next adresinden VueJs versiyon 3 indirebiliriz. Başlamak için helloWorld adında yeni bir klasör oluşturup içine indirdiğimiz vue.global.js dosyasını koyalım. Sonra da package.json , index.html , main.js isminde yeni dosyalar ekleyelim.

helloWorld/package.json
{
    "name": "helloWorld",
    "main": "index.html"
}
helloWorld/index.html
<!DOCTYPE html>
<html>
<head>
    <title>Merhaba Dünya!</title>
    <script src="vue.global.js"></script>
</head>
<body>
    <h1>Merhaba Dünya!</h1>
    <script src="main.js"></script>
</body>
</html>

10 Nisan 2021 Cumartesi

NwJs ve VueJs ile Masaüstü Uygulama Geliştirmek

 Merhaba, bu yazıda VueJs yardımıyla NwJs platformunda masaüstü uygulama geliştirmek için araştırma yapıyorum. Nw.js , Google Chrome ve NodeJs temelleri üzerinde kurulmuş ve masaüstü uygulamaları web teknolojileri kullanarak üretmeyi amaçlayan bir platform. İlgimi çekti ve bir deneyelim bakalım neler yapabiliriz diyerek başladım. Bu yazıda VueJs versiyon 2 kullandım.


NwJs Kurulumu


Ben NwJs sitesindeki yazıya göre kurdum. Bu sayfadan SDK versiyonu zip dosyasını indirelim ve bilgisayarımızda seçtiğimiz bir klasöre içindekileri açalım. Daha sonra bu klasörü sistemimizin PATH ortam değişkenine ekleyelim. Nasıl yaparız bu PATH işini? Sistem -> Gelişmiş Sistem Ayarları -> Ortam değikenleri ile Windows işletim sisteminde yapılıyor. 

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.


11 Temmuz 2020 Cumartesi

VueJs Öğrenmeye Devam

Merhaba ,

Daha önce Vue .js üzerinde çalışma yapmıştım. Bu sefer başka bir kurs üzerinden tekrar sıfırdan başlayarak bilgimizi ilerletmeye devam ediyoruz. Önce ortamı hazırlayalım. Bu bölüm için bir klasör tanımlayalım ve içinde ilk adında bir klasör ekleyerek başlayalım. Bu klasöre denemelerimizi yapmak için index.html adında bir yeni dosya ekleyelim. Favori editörümüzde index.html dosyasını düzenlemek için açalım. Benim favori editörüm Sublime, size de tavsiye ederim. Önce basit temel HTML sayfa yapısını bir tanımlayalım.

ilk/index.html
<!DOCTYPE html>
<html>
    <head>
        <title>VueJs Öğreniyorum</title>
    </head>
    <body>

    </body>
</html>

Ben kodlarımda Türkçe kelimeler kullanmayı seviyorum. Ancak tarayıcılarda sorun yaşamak istemiyorsanız bütün kod yazdığınız dosyaları UTF-8 encoding ile kaydetmelisiniz. Özellikler Windows kullananlarda "yeni dosya" diyerek üretilen dosyalar Türkçe için Wimdows hazretlerinin Türkçe'ye uygun gördüğü encoding formatlarından birinde üretiliyor ve tarayıcılar bu kodlamayı tanımıyor ya da tanıması için kodumuza ekstra ilavelerle tarayıcıya anlatmamız gerekiyor.


22 Haziran 2020 Pazartesi

BackboneJs dedikleri nedir

Selam ,

Önceki yazıyı bitirir bitirmez yeni yazım için sabırsızlıkla başlıyorum. Backbon.js web uygulama iskeleti.

Bu yazımı daha iyi anlayabilmeniz için biraz JavaScript ve biraz da jQuery bilmek yeterli olacaktır. Bu konuda daha önce yazdığım JavaScript'e Giriş ve JavaScript Orta Seviye yazılarım yeterli olacaktır.

Backbone.js ve Vue.js benim en favori JavaScript iskeletlerim. Çünkü anlaması ve kullanması kolay. Backbone.js hakkında da bir yabancı sitede çok yararlı olduğunu düşündüğüm bir döküman buldum ve bunun üzerinden gideceğim.

Backbone.js'de en sevdiğim özellik Node gerekmeden standart bir web sayfası olarak çalıştırabilmek. Node kullanmayacak mıyız? Biraz kullanacağız, ama sadece bize bir server ile test etmek gerektiğinde. O da daha bu yazının çok ilerilerinde olacak.

Backbone.js MVC yapılardan bir tanesi (Model View Controller). Bu yapıdan kısaca bahsedersek, model verilerin saklanması ve işlenmesini sağlar, controller program lojiğini içerir ve view kullanıcıya gösterilen görselleri içerir.


Backbone'da view ve controller parçaları bir arada gibidir. Ayrıca Router denilen bir yapı da var ki bununla tek sayfalık uygulamalar yapılabilir. Bunlar tek bir web sayfasından oluşan uygulamalardır. Bu halleriyle masaüstü uygulamasına benzerler. Bir örnek GMail internet sayfasına bakabilirsiniz.

Backbone temelde şu parçalardan oluşuyor,

  • Olaylar - Nesnelere belirlenen olaylar sonucunda işlemler yapabilme kabiliyeti kazandırır.
  • Modeller - Uygulama verilerini saklar ve bağlantılı lojiği içerir.
  • Kolleksiyonlar - Modellerden oluşan bir topluluk. Model ile belirlenen verileri saklamak için kullanılır.
  • Görseller - Modelleri kullanıcıya göstermek için gereken görsel kodlarını ve kullanıcı etkileşimi için olaylara dayalı lojiği kapsar.
  • Router'lar - Tek sayfalık uygulamalar için kullanılan program yönlendiricileri. Adres olarak değişik değerler vererek aynı sayfa içinde kullanıcıya başka şeylerin gösterilmesini ve işlevlerin değişmesini sağlarlar.

8 Haziran 2020 Pazartesi

JavaScript Orta Seviye

Merhaba,

JavaScript'e Giriş yazımızın ardından şimdi de orta seviyede bir yazıyla öğrenmeye devam ediyoruz. Bu bölümde temel bilgilerden hariç iş yapan kodlar göreceğiz. DOM , JSON , AJAX , jQuery gibi yeni kelimeler göreceğiz.

Başlayalım.



DOM


Document Object Model kelimelerinin baş harflerinden oluşan DOM ile HTML elemanlarına ulaşarak onlar üzerinde JavaScript ile işlemler yaparız. 

DOM neye benziyor derseniz geliştirici araçlarını açtığımızda elements sekmesinde görünen liste DOM'un ta kendisidir. 


Tree ve Branch

Ağaç ve Dal. HTML yapısı XML yapılara benzer. Elemanlar ve onların içlerinde elemanlar vardır. Bu yapı bir ağaca ve dallarına benzer. Bir tane ana eleman vardır html. Onun head ve body dalları vardır. Bunların her biri içinde de kendi dalları vardır. Bu sebepten DOM için bazen DOM Tree denir. 

DOM'u değiştirmek demek, onun bir elemanını seçip birşeylerini değiştirmek demektir ve bu çoğunlukla JavaScript ile yapılır. . 

29 Mayıs 2020 Cuma

Vue.js TEMELLERİ

Pandemi dolu evdekal günlerimde sıkıldıkça yeni bir şeye sarıyorum. JavaScript iskeletler bugünlerde çok popüler. Node Angular React deneyip dururken Vue.js'nin benim programlama mantığıma çok yakın geldiğini gördüm.

Bu yazımda da Vue.js öğrenmeye çalışacağım. Ben böyle yazmadan öğrenemiyorum, gençliğimden beri böyle. Vue.js açık kaynaklı bir JavaScript front-end iskeleti. Eğlenceli bir yapı. Vue , bir MVC uygulamasının görsel tarafını oluşturmak içindir. (Model View Controller - Rails gibi üzerine bir kitap yazılır, ayrı konu). Vue şu sıralar en hızlı yükselen ve en popüler JavaScript kütüphanesi. Benim gönlimde jQuery kütüphanesini salladı. Vue'nin arkasında React'ın arkasındaki Facebook ya da Angular'ın arkasındaki Google gibi koca bir firma yok. Evan You tarafından yazılmış ve arkasında geniş bir açık kaynak topluluğu var.



Kurulum


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.


25 Mayıs 2020 Pazartesi

JavaScript'e Giriş

Merhaba bundan önceki HTML'ye giriş ve CSS'ye giriş yazılarımızda olduğu gibi bu bölümü de okuyabilmeniz için fizik , kimya , biyoloji , matematik ve pedagoji dallarının hepsinde uzman olmanız gerekmiyor, 2 tanesinde uzman olsanız yeter.

Başlıyoruz. Bu bölümde web sayfalarındaki görsel konulardan biraz lojik konularına doğru geçeceğiz. JavaScript web tarayıcı uygulamalarında web sayfaları gösterilirken çalıştırılabilen programlama dillerinden en önemli ve yaygın olanı. Bu yazıda JavaScript dilinin genel bir girişini yapacağız, web sayfası ile etkileşimleri ise daha ileri bölümlerde ele alacağız.



Nasıl çalışır


JavaScript'i denemenin birkaç değişik yolu var. Bunları gördükçe kendinize en uygun olanı tercih edersiniz. Fakat ilk önce JavaScript programı HTML ve CSS ile nasıl bağlı?

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.