• Yapay zekadan makale özeti

    • Bu video, Tayfun Özü Şerikan'ın bir etkinlikte Ruby programlama dili hakkında yaptığı teknik bir sunumdur. Tayfun, İstanbul ve Denizli'de ikamet eden, iki farklı firmayı temsil eden bir web geliştiricisi ve Ruby Türkiye şubesinin bir üyesidir.
    • Sunumda Ruby'nin temel özellikleri, avantajları ve kullanım alanları detaylı şekilde anlatılmaktadır. Video, Tayfun'un kendi kariyer yolculuğunu paylaşmasıyla başlayıp, Ruby'nin okunabilirliği, sadeliği, nesne yönelimli yapısı ve platform bağımsızlığı gibi avantajlarını açıklamaktadır. Daha sonra Ruby'nin syntax'ı, "gems" (kütüphaneler), metaprogramming özelliği ve kurulumu hakkında bilgiler verilmektedir. Son bölümde ise Rails framework'ünün özellikleri, temel gereksinimleri ve Ruby ekosistemindeki popüler kütüphaneler ele alınmaktadır.
    • Sunumda ayrıca Ruby'nin web programlamasındaki kullanımından, Reels ve Sinatra gibi framework'lerden, Ruby'nin çocuklara programlamayı öğretmek için tasarlandığı ve Basecamp firmasının desteğiyle geliştiği gibi konular da işlenmektedir. Video, soru-cevap bölümüyle tamamlanmaktadır.
    00:04Giriş ve Etkinlik Değerlendirmesi
    • Konuşmacı, etkinliği organize eden organizatörlere teşekkür ediyor ve bu tarz etkinliklere daha çok ihtiyaç duyulduğunu belirtiyor.
    • Farklı etkinliklerin devam etmesi ve insanların bir araya gelmeye devam etmesi gerektiğini vurguluyor.
    00:33Konuşmacının Tanıtımı
    • Konuşmacının ismi Tayfun Özü Şerikan ve İstanbul ve Denizli'den ikamet ediyor.
    • İki farklı şirketi temsil ediyor: Lab 23 yazılım firması ve Bfon telekom şirketi.
    00:59Lab 23 Yazılım Firması Hakkında
    • Lab 23, start-up ve yeni kurulan girişimlere yazılımcı desteği sağlayan bir yazılım firmasıdır.
    • Hızlı bir şekilde MVP ürünlerini hayata geçirmek için bir araya gelmişlerdir.
    • Takımları kalabalık olup birçok farklı programlama diliyle uğraşıyor, ancak ön planda olan programlama dili Ruby'dir.
    01:30Bfon Telekom Şirketi ve Kişisel Bilgiler
    • Bfon, telekomünikasyon alanında çalışan bir telekom şirketi olup konuşmacı kendini web geliştirici olarak tanımlıyor.
    • Ruby on Rails dışında JavaScript, mobil teknolojiler ve front-end'e ilgi duyuyor.
    • Tasarımın önemli olduğunu düşünüyor ve iyi bir yazılım projesinin özünde iyi bir tasarlama ve mimari önden çalışılması gerektiğini vurguluyor.
    02:06Ruby Programlama Dili Hakkında Genel Bilgiler
    • Ruby, yazılım geliştiricilerinin mutlu olmasını sağlamak amacıyla geliştirilmiş bir programlama dilidir.
    • Ruby ekosistemi zahmetsiz ve az iş yapma üzerine kurulmuş, tembellik (kod ameleliği yapmaktan kaçınmak) yazılımcıların daha hızlı üretmesini sağlar.
    • Ruby, Eiffel, Ada, Small Talk gibi birçok dilden esinlenerek geliştirilmiş, keyifli bir programlama dili olarak tasarlanmıştır.
    03:36Ruby'nin Özellikleri
    • Programlama dilinin temel mottosu ana dili İngilizceye yakın olmak, okunabilirliği yüksek olmak ve insanların makineye hükmetmesidir.
    • Ruby yorumlanan bir dil olduğundan, okunabilir bir dil yazıldığında hemen çalıştırılabilir ve görülebilir.
    • Ruby'yi çalıştıran interpreter (yorumlayıcı) Matt tarafından geliştirilmiş ve "Mri" olarak adlandırılmıştır.
    04:32Ruby'nin Avantajları
    • Ruby, geliştiricilerin keyif aldığı işi yapmalarını sağlayarak üretkenliği artırır ve iyi iş yapmalarına sebep olur.
    • Ruby'nin hızlı bir learning curve'ü vardır, hızlıca öğrenip bir şeyler yapmaya başlanabilir.
    • Ruby'yi kullanan bir kişi, başka bir dille uğraşsa da her zaman gönlünden Ruby geçer ve geri döner.
    06:00Ruby'nin Sadelik ve Anlaşılabilirlik Özellikleri
    • Ruby sadelik ve anlaşılabilirlik sunar, bu da özellikle yazılım takımlarının bir parçası olan geliştiriciler için çok önemlidir.
    • Anlaşılabilir olmayan kodlar başarısız projelerin özünde yer alır ve yazılan kod zamanla anlaşılmaz hale gelebilir.
    • Ruby, Java kadar hatta bazen Java'dan daha iyi bir object oriented disiplini sunar ve her şey nesnedir.
    08:34Ruby'nin Ekosistemi ve Kullanım Alanları
    • Bir programlama dilini seçerken ekosistemi (topluluk) önemli bir unsurdur, yeni bir programlama diline girdiğinizde kendinizi yalnız hissedebilirsiniz.
    • Ruby, Türkiye'de çok kullanılmamasına rağmen, birçok irili ufaklı start-up, yeni kurulan firma yazılım takımları ve yarışmalar tarafından kullanılmaktadır.
    • Ruby, bir şeyi çabuk hayata geçirmek isteyenler için yardımcı olur ve "hızlı dene, hızlı patla" (fast fail, fast try) prensibini destekler.
    10:28Ruby Dili Hakkında Genel Bilgiler
    • Ruby dilinin syntaxı öğrenmek zor değil, ancak felsefesini anlamak önemlidir.
    • Ruby başlangıçta web programlama için düşünülmüş, ancak Rubymotion ile iOS uygulamaları geliştirilebilmektedir.
    • Ruby, web uygulamalarında (Rails, Sinatra) ve robotik projelerde (Arduino, Raspberry Pi) kullanılmaktadır.
    11:22Ruby'nin Popülerliği ve Cemler
    • GitHub, Ruby ile başlamış ve Ruby'nin yaygınlaşmasında büyük rol oynamıştır.
    • Ruby'nin ölümcül silahlarından biri cemlerdir, bu kütüphane topluluklarıdır.
    • Cemler, daha önce çözülmüş problemleri paket haline getirip bilgisayara kurulan araçlardır.
    13:27Cemlerin Özellikleri
    • Cemler versiyonlarla beraber dağıtılır ve her cem'in bir versiyonu vardır.
    • Semantik versiyonlama, programların gelişim geçmişini gösteren bir sistemdir.
    • Cemleri yönetmek için "gem" adlı araç kullanılır ve Ruby Toolbox sitesi cemleri kategorilere göre sıralar.
    15:43Ruby'nin Temel Özellikleri
    • Ruby primitif değişken tiplerini barındırmaz, bunlar birer nesneye tekabül eder.
    • Ruby'de metotlar runtime'da gelir ve birbirleriyle zincirlenerek kullanılabilir.
    • Ruby'de metaprograming özelliği sayesinde çalışma esnasında metodlar tanımlanabilir ve değiştirilebilir.
    18:12Ruby'yi Deneme ve Kaynaklar
    • Ruby'yi denemek için try.ruby.org adresine gidip interaktif ders alabilirsiniz.
    • Ruby'nin kendisi açık kaynaklı olarak GitHub'ta bulunur.
    • Ruby Türkiye topluluğu, Türkçe destek sunan ve etkinlikler düzenleyen bir topluluktur.
    19:54Ruby Projelerinin Web Sunucusu İhtiyacı
    • Ruby projelerinin web anlamında yayınlanması için bir web sunucusuna ihtiyaç vardır.
    • Tek bir makinede birden fazla Ruby projesi çalıştırılabilir, ancak kabul gören kural tek bir uygulama için tek bir sunucudur.
    • Paylaşımlı hosting iyi bir şey değildir çünkü bir uygulama patlarsa diğer uygulamalara da zarar verebilir, bu nedenle uygulamalar ayrılmış, izole sunuculara yerleştirilmelidir.
    21:07Ruby'nin Çocuklara Programlamayı Öğretme Özellikleri
    • Ruby, çocuklara programlamayı öğretmek üzere tasarlanmış bir dildir ve kolay okunan, kolay öğrenilen bir dil olarak tasarlanmıştır.
    • Ruby ile 10 yaşındaki çocuklar bile production ortamındaki projelere kod yazabilir ve staj yapabilir.
    • Tecrübe, sadece yaş değil, programlama dilini öğrenip çalışan projeler hayata geçirmekle edinilir.
    23:06Uygulama Sunucularının Ayrılması
    • Her uygulama için ayrı bir sunucu olması önemlidir; API sunucusu sadece API işlemleri yapmalı, database sunucusu ayrı olmalıdır.
    • Kuyruk yönetimi gerekiyorsa (örneğin RabbitMQ) ayrı bir kuyruk sunucusu olmalıdır.
    • Tek bir makine bile varsa sanallaştırmayla izole edilebilir ve ayrı IP'lere ait ayrı sunucular faydalıdır.
    24:15Ruby Hosting Altyapısı
    • Ruby hosting altyapısını sağlayan büyük firmalar vardır, örneğin Amazon'un altyapısını kullanan Heroku servisi.
    • Heroku, geliştiricinin üç dakika içinde bir uygulamayı ayaklandırabileceği bir servistir.
    • Sunucuya deployment yapmak zahmetli bir iş olduğundan, sistem adminleriyle sürekli iletişim kurmak gerekir.
    25:13Ruby'nin Kurulumu
    • Ruby'nin farklı yorumlayıcıları vardır (Mri, Iron Ruby) ve performans günümüzde ön plana çıkmıştır.
    • Ruby'nin ilk mottosunun ötesine giderek daha hızlı çalıştırmaya çalışılmıştır.
    • Ruby'nin kurulumu için Linux dağıtımı (Ubuntu Server, Debian) kullanılmalıdır ve Ruby Environment Manager (RVM) gibi araçlar kullanılabilir.
    26:57Rails Framework
    • Rails, Ruby'nin orkestra şefidir ve David adında bir vatandaş tarafından geliştirilmiştir.
    • Rails'ta uygulama geliştirebilmek için temel olarak Ruby bilmeniz gerekir, sadece Rails bilip Ruby bilmeyen insanlar vardır.
    • Rails'ın REST mimarisinin üzerine kurulmuş olması, MVC veya ORM mimarisini bilmek ve Git gibi versiyon kontrol sistemini bilmek önemlidir.
    28:35Rails'ın Güçlü Kılan Özellikleri
    • Rails'ın mottoları vardır ve üretkenlik önemlidir.
    • Rails'ı güçlü kılan şeylerden biri Basecamp firmasıdır.
    • Bir açık kaynaklı projenin başarılı olmasında veya bir dilin seçilmesindeki temel unsur, o dili kullanan ve bununla çalışan firmaların, toplulukların veya kişilerin olmasıdır.
    29:41Java ve Kurumsal Güç
    • Java'nın kurumsal gücü Oracle'dan gelmektedir, bankalar ve finans sektöründeki kişiler Java'ya para yatırırken sadece dilin güçlü olması değil, Oracle'ın kurumsal desteği için de para harcamaktadır.
    • Açık kaynaklı projelerin başarısız olduğu temel nokta, açık kaynaklı olması için değil, ürün geliştirmek için geliştirilmeleridir.
    • Bir teknolojiyi seçerken keyif almak ve sevmek önemli olsa da, özellikle para yatırılacaksa veya iş yapılacaksa, arka planında bulunan firmalara dikkat edilmelidir.
    31:06Rails Teknolojisi
    • Rails'ın mottosu "conversion over configuration" (kullan gerisini düşünme) olup, kullanıcıya ne yapması gerektiğini söylemiş ve kullanıcıyı yönlendirmektedir.
    • Rails stabil olarak gelişmektedir, şu an geldiği versiyon 5.3'tür ve 2. versiyonu hala production'da çalışmaya devam etmektedir.
    • Rails ekosistemi, Active Record ORM, action controller routing, RESTful işlemler, cookie, view katmanında template engine'leri ve JavaScript, CSS gibi araçlar gibi birçok bileşeni barındırmaktadır.
    33:03Ruby Gems ve Ekosistem
    • Ruby ekosisteminde en çok bilinen Gems'ler arasında Deviseater (authentication), Willpaginate (background işlemler), Simple Form (form oluşturma), Ranza (arama işlemleri) ve Caprano (deplo) bulunmaktadır.
    • Ruby ekosistemindeki insanlar Gems'leri kullanır, geliştirir, açık kaynaklı hale getirir ve Ruby Gems'i olarak atar.
    • Ruby Gems'leri kurulumu kolaydır, Ruby'nin olduğu bir bilgisayara Gems install ve Rails new block komutu ile Rails kendi kendine kurup çalışmaya başlar.
    35:11Rails Öğrenme ve Ekosistem
    • Rails öğrenmek için temel kaynaklar için Rails Guys'i kullanmak yeterlidir.
    • Linux yaz kampı ve akademik bilişimlerde Ruby'nin yaygınlaşması için kullanılan topluluklar her yıl yazın ve sonbaharda (kışın) düzenlenmektedir.
    • Rails ekosisteminde çok fazla paket olması çok iyi olduğu anlamına gelmez, az olsun ama sağlam olsun daha iyidir.
    37:36Ekosistem ve Mikro Servisler
    • Ekosistemde "ne yapacağız" diyenlerden olmak önemlidir, "nasıl yapacağız" diyenlerden olmak problem yaratır.
    • Mikro servis mimarisinde modelleri fed tutmak iyidir ama aşırı şişmanlattırmamak gerekir.
    • Rails'ta gelen tek kendini tekrarlayan modellerin içinde kullanılan validasyonlar veya metotlar konsorlere taşınabilir, böylece modeller kırpılabilir.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor