• lisp benzeri tamamen object oriented, begin end bloklari sebebiyle kendimi yakin hissettigim programlama/scripting dili. python ile pek bir cekisirler
  • modern sabahlar sayesinde şu sıralar dilime pek bi dolanan bir kaiser chiefs şarkısı
    (bkz: sözlerini de yazayım tam olsun)

    (da da daaa, da da daaa)

    (da da daaa, da da daaa)

    let it never be said, that romance is dead
    cos there’s so little else occupying my head
    there is nothing i need except the function to breathe
    but i’m not really fussed, doesn’t matter to me

    ruby, ruby, ruby, ruby
    ahaa-ahaa-aaaa
    do ya, do ya, do ya, do ya
    ahaa-ahaa-aaaa
    know what ya doing, doing to me?
    ahaa-ahaa-aaaa
    ruby, ruby, ruby, ruby
    ahaa-ahaa-aaaa

    due to lack of interest tomorrow is cancelled
    let the clocks be reset and the pendulums held
    cos there’s nothing at all except the space in between
    finding out what you’re called and repeating your name

    ruby, ruby, ruby, ruby
    ahaa-ahaa-aaaa
    do ya, do ya, do ya, do ya
    ahaa-ahaa-aaaa
    know what ya doing, doing to me?
    ahaa-ahaa-aaaa
    ruby, ruby, ruby, ruby
    ahaa-ahaa-aaaa, aaaa

    could it be, could it be that you’re joking with me
    and you don’t really see you with me
    could it be, could it be that you’re joking with me
    and you don’t really see you with me

    [instrumental]

    ruby, ruby, ruby, ruby
    ahaa-ahaa-aaaa
    do ya, do ya, do ya, do ya
    ahaa-ahaa-aaaa
    know what ya doing, doing to me?
    ahaa-ahaa-aaaa
    ruby, ruby, ruby, ruby
    ahaa-ahaa-aaaa
    do ya, do ya, do ya, do ya
    ahaa-ahaa-aaaa (da da da, da da da)
    what ya doing, doing to me?
    ahaa-ahaa-aaaa, aaaa (da da da)
  • güzel bir programlama dili. ancak zannımca oldukça yanlış öğrenilme metodu olan bir dil. zira herkes bir halt varmış gibi ruby on rails için ruby öğrenmeye kasıyor ki ruby on rails benim, en azından an itibariyle, tiksinerek baktığım bir şey. çünkü ruby on rails size ruby on railsçe öğretiyor, eğer ror'un fikrinin dışına çıkarsanız nanaykent'e gönderiyor bir adet dublekse.

    lakin konumuz ruby on rails değil. ruby'nin kendisi benim sistem içinde ayar çekmek (işte şu dosyaları şu şu kurallara göre klasörlere böl, adlarını değiştir gibi) veya sinatra ile küçük web uygulamaları ve prototipleri geliştirmek için kullandığım bir dil. ve güzel bir dil. ben iş gereği java ve c# yazan bir insanım ve az çok gerek pluralsight olsun gerekse lynda.com olsun kendimi yetiştirmeye çalışıyorum. bu net bir "respect mah authoritah" fikri oluşturmak için değil, durumu bilin diye yazdığım bir şey. yoksa lisansım felsefe, yükseğim sosyoloji.

    ruby kullanırken hissettiğim en büyük avantaj yazma hızı. yani java ve c#'ta class tanımlayayım aman efendim işte sql bağlantısı oluşturayım, maven şeyedeyim, yok spring ayarlarını yapayım falan derken sene geçiyor. ruby'de ise bunları orm araçları kullanarak çok hızlı bir biçimde halledebiliyorsunuz. mesela users diye bir tablonuz varsa sequel orm aracı ile bunu dataset haline getirmek şöyle oluyor:

    @database = sequel.connect(postgres://postgres:postgres_sifre@localhost/test)
    users = @database[:users]

    kullanıcı adı ve pass check'i için de:
    users.where(:username=>username, :password=>password).first

    yapıyorsunuz alet yapıyor getiriyor. ha kimisi @'li :'lı sentaksı sevmeyebilir, alışamayabilir. ben sevdim ve alıştım ama bu "süpear dev güzel bişey" demek anlamına gelmiyor.

    şimdi bu dili öğrenmek için benim size naçizane yol haritam şu şekilde olur:
    - sitepoint.com'dan darren jones'un öğrettiği getting started with ruby ile başlayın. darren abi gerçekten eğlenceli ve güzel bir biçimde ruby ve beraberinde sinatra öğretiyor. yani ruby ile yaptığınız bir konsol uygulamasını alıp webe taşıyorsunuz. gayet de alengirli örneklere sahip.
    - sitepoint.com - jump start sinatra kitabını da eğer sinatrayı sevdiyseniz muhakkak edinin. zaten bu ilk dersi almak için aylık 15 dolar verdiğinizde sitepoint'in tüm kütüphanesine de erişiminiz oluyor. 15 doların içinde bunu da alabiliyorsunuz
    - bu noktadan sonra ben pluralsight ve lynda.com'dan ruby ve rails dersleri almışım pekiştirmek için ama çok bir faydasını görmedim a dostlar. lynda ve pluralsight bu konularda beni sıkan bir ders yapısına sahip. array anlatıyor adam ama bunu akılda kalıcı bir şekilde anlatamıyor. ya da ben anlamadım bilmiyorum. teamtreehouse'dan da ders almışım ama onlar da acayip şebelek. yani bizim/benim bu noktadan sonra ihtiyacım olan şey hem pekiştirecek hem de spesifik dertlere çözüm bulan eğitimler oldu ve tam da bu noktadaaaa...
    - tutsplus.com'daki ruby herşeyi. design patternstan tutun rspec eğitimlerine kadar gayet iyi bir biçimde anlatılıyor. jose mata'nın derslerini özellikle tavsiye ederim. bir kere adam işin kolayına kaçmadan, gayet nasıl yapılır, işin doğrusu nedir onu yazarak ve göstererek olaya giriyor.

    bu noktayı aşamadım. eğer aşarsam güncellerim arkadaşlar. lakin diyeceğim şey şu, benim naçizane fikrim bu dönemde bir programcının java veya c# gibi bir c-like dilin yanısıra böyle bir scripting dilini de kullanabilmesinin kendisine acayip fayda sağlayacağı yönünde. bu python olur, ruby olur, perl olur, go olur ne bileyim istediğinizi seçin. ama fazla da kasmayın, ben python öğrenmeye az debelenmedim, öğrenemiyorum abi. ruby ise öyle bir hissiyat yaratmıyor. shotgun diye gem'i olması, işte 'rackup' komutuyla uygulama çalıştırmak gibi abidik şeyleri bile güzel geliyor bana. ama sizin kafanız python ekosistemine yatıyorsa gidin orada yapın. benzer araçlar orada da var. işte sinatra yok, flask var; ror yok django var. yani diyeceğim kendinizi ketlemeyin.

    böyle yani, sorunuz olursa atın yanıtlandırmaya çalışayım.
  • zorunlu olarak bir kac gun ruby'le zaman gecirdim ve alakamin kesildigi bu gun itibariyle kendisini ozleyecegimi farkettim. eglenceli, ne$eli bir yazimi var ve yillar icinde yamana yamana patlamak uzere olan php'ye kar$i open source aleminde native bir object oriented alternatif olarak yerini alabilir, almalidir hatta. boktan bir overloading mekanizmasi olsa da (yani niye boyle yaptiniz lan ne gerek vardi) kusurlariyla sevdim onu.. ev yapacaksan tugla'dan kari alacaksan mugla'dan.
  • ingilizce yakut.
    bir de fifth element'de chris tucker'ın canlandırdığı yavşak vj* vardı ruby rhod diye.
  • web development that doesn't hurt (acıtmayan web geliştirme) diyorlar bunun için. hakkaten gözleri yakmayan bir dil ancak sonradan acıtacak gibi de duruyor. oyuncak gibi bir dil. ne desen kabul ediyor. işin enteresan tarafı, kafadan atsam şöyle desem acaba ne demek istediğimi anlar mı diye olmadık şeyler yazıyorum ve dediğimi anlıyor. tercüman değil arzuhalci.
  • kod yazması son derece zevkli bir dil, anında ufak çözümler üretebiliyorsunuz. naçizane olarak ruby'nin beni bugün kurtardığı bir eziyetten burda bahsetmek istiyorum: düşünün ki babanız yaklaşık 80 arkadaşına kandil kutlaması için sms göndermek istiyor, gsm operatörlerinin toplu mesaj diye bi hizmeti olduğunu duyuyor ve teknolojiden anlayan kişi olarak sizden yardım istiyor. araştırıyorsunuz, gsm operatörünüzün en öküzünden bir mesaj programı hazırladığını ve mesaj göndermek için bunu indirip kurmanız gerektiğini öğreniyorsunuz. telefonların hepsini bir kereye mahsus olmak üzere gsm operatörünün sunucularına program vasıtasıyla elle giriyorsunuz, sonra mesajı yazıp gönderiyorsunuz. başka bir kandilde babanız tekrar aynı hizmeti sizden talep ediyor, fakat programı kullandığınız bilgisayarın internet bağlantısı arızalı, iş yerinizin proxy server'ı da mesaj gönderme programının kullandığı portları bloke etmiş. gsm operatörünüzün web sitesinde mesaj göndermek için bir bölüm olduğunu ve özene bözene girdiğiniz telefon defterini de tanıdığını görüyorsunuz, fakat -mutlaka bi öküzlük yapmalıyım diye düşünmüş olacak ki- sitede bi kerede 10 kişiye mesaj gönderebiliyorsunuz. web sitesi, mesaj gönderme formundaki telefon numarası kutusuna bütün numaraları dolduruyor, sonra da 10'dan fazla kişiye göndermem diye direniyor. ne oluyor, aşağıdakine benzer bir telefon numarası yığınıyla kalakalıyorsunuz:

    05323459827;05329872345;05424569873;05423459823;05323459827;05329872345;05424569873;05423459823;05323459827;05329872345;05424569873;05423459823;

    yapmanız gereken bunu 10'arlık parçalara bölmek. program yazmayı bilmesem, teker teker sayıp onluk parçalara ayırırdım. ama bir coder atasözü'nün dediği gibi "bir iş bir kere bile yapmaya değerse, onu yapan kodu yazmaya da değer". kodu yazdım, telefon numaralarıyla beraber 4 satır sürdü (browser'ınızda daha fazla satıra bölünebilir ama özünde 4 satırdır):

    tels = "05323459827;05329872345;05424569873;05423459823;05323459827;05329872345;05424569873;05423459823;05323459827;05329872345;05424569873;05423459823;05323459827;05329872345;05424569873;05423459823;05323459827;05329872345;05424569873;05423459823;05323459827;05329872345;05424569873;05423459823;".split(";")
    0.step(tels.size, 10) {|i|
    puts tels.slice(i,10).join(";")
    }
  • dedelerin eski cep saatlerine dikkat edenler fark etmiştir. içerisinde 16, 17 veya 21 rubis yazar. bu yazı saat mekanizmasının içerisinde kullanılan yakut parça sayısını simgeler.

    bu yakutlar göz zevki olsun diye değil mekanizmanın aşınmaya maruz kalan parçalarının ömrü daha uzun olsun diye kullanılır. zira bu malzemenin metallar ile çalışma koşullarında sürtünme katsayısı çok düşüktür. örneklemek gerekirse bu katsayı bir çelik-çelik çalışma yüzeyinde 0,58 iken safir-çelik veya yakut-çelik çalışma yüzeyinde 0,10-0,15 civarındadır.

    bazı saatlerde ise yakut yerine yine yakut gibi sert başka taşlar kullanılmıştır. örneğin elmas veya safir. o zaman rubis yerine 17 jewels falan görebilirsiniz saatin iç kadranında veyahut arka yüzünde. özellikle sentetik safirin üretilmesinin icadı ile safirin bu aşınmalı parçalarda kullanılma oranı çok artmıştır.

    (bkz: mekanik saat)
  • bilgisayar ile sohbet havasında kod yazabiliceğiniz programlama dili. kalıplaşmış programlama dilleri aksine, makine dilinden uzak basit bi syntax yapısına sahiptir. web programcılığından robotik uygulamalara, oyun geliştirmeye kadar bir çok farklı alanda kullanılıyor.

    (bkz: rite)
hesabın var mı? giriş yap