Arda Basoglu
  • Home
  • Blog
  • Links
  • Contact

Kite Surf

8/24/2009

0 Comments

 
Picture
Geçen haftasonu Kilyos'ta ilk kite surf derslerimi aldim. Simdilik sekiz saatlik bir sure oldu ve henuz board da kullanmadim. Biraz daha derse ve pratiğe ihtiyacım var. Dersi Volkite'ta aldım. Bana ders veren de Tayfun hocaydı. Kendisi çok iyi, eğlenceli biri ve öğrenmeme çok yardımcı oldu. Acemilere birşey öğretmek sahiden sabır isteyen bir iş; onu kutluyorum.

İlkönce karada küçük bir kite ile başladık daha sonra 6 metrekare ve 9 metrekarelik kitelarla devam ettik. Kite surf beklediğimden daha zor çıktı doğrusu. Uzaktan göründüğü gibi değilmiş. 8 saatlik ders bile vücudumun heryerinin ağrımasına yetti. Tabi, bu durum benim gibi yeni öğrenenler için geçerli. Tecrübeli sürücüler çok daha az yorulup işin keyfini çıkarıyorlar. Kumların üstünde 10 mt sürüklenmemi de düşünürsek normal tabii :) Bilenler için söyleyeyim, karada kite ı power zone a soktum da :)

Volkite Burç Beach'te. Burç Beach Boğaziçi Üniversitesi'nin bir tesisi. Tesis ücretli ve herkese açık. En iyi ulaşım şekli kendi arabanızla olacaktır çünkü otobüsler seyrek geçiyor ve İstanbul'dan uzak bir mesafede olduğu için yolculuk yorucu olabilir.

Umarım ilerde ilerletmek için daha fazla fırsatım olur.

0 Comments

fixture_replacemet plugin ve primary key olmayan tablo sorunu

8/11/2009

0 Comments

 
Eğer Ruby on Rails ile uygulama geliştiriyorsanız fixture'ları kullanmışsınızdır. Fixture'lar YAML veya CSV biçimindeki metin dosyalarıdır ve test veritabanınızı doldurmak için kullanılır. Bu çok karmaşık olmayan veri tabanı şemaları için uygun ve etkin bir çözümdür.  Ancak, modellerinizin sayısı artıp sisteminiz karmaşık hale gelmeye başlayınca fixture'ları yönetmek zorlaşmaya başlar. Birbirine bağımlı olmaya başlayan fixture'lari birbirini etkilemeyecek şekilde arttırmaya veya düzenlemeye çalışmak vakit alır ve pratik olmaktan çıkarlar. Bu durumda FixtureReplacement gibi bir plugin kullanıp işlerinizi kolaylaştırabilirsiniz.

FixtureReplacement fixture'lardaki dezavantajları ortadan kaldırır. FixtureReplacement naıl kullanıldığını merak ediyorsanız "http://github.com/smtlaissezfaire/fixture-replacement-git/tree/master":http://github.com/smtlaissezfaire/fixture-replacement-git/tree/master adresindeki readme'ye bir göz atın derim. Çok basit bir kullanımı olduğunu göreceksiniz.

Geçenlerde FixtureReplacement kullanırken bir sorunla karşılaştık ama basit bir alternatif yöntem kullanarak bu sıkıntıyı aştık. Problem FixtureReplacement'ın primary key'i olmayan bir tablo için 'create' methodunun çalışmamasıydı. Diğer bir deyişle eğer tablonuzda bir 'id' alanı yok veya modelinizde 'set_primaty_key' ile bir alanı primary key olarak seçmediyseniz ActiveRecord'ın 'create' methodunu kullanan FixtureReplacement bu yüzden hata veriyor. Örneğin,

Kedi tablomuz olsun ve alanları şöyle olsun:

ad, cins,  goz_rengi, tuy_rengi, kilo

Bu modeli FixtureReplacement sunduğu yöntemle (create_model) şu şekilde yaratmaya çalışalım

create_kedi(
:ad => "Sarman",
:cins => "tekir",
:tuy_rengi => "sarı",
:goz_rengi => "ela",
:kilo => "6"
)

Sonuç aşağıdaki hata gibi olacaktır.

ActiveRecord::StatementInvalid: PGError: ERROR:  column "id" does not exist

Bunu şu şekilde de denesek sonuç aynı olurdu

Kedi.create(
:ad => "Sarman",
:cins => "tekir",
:tuy_rengi => "sarı",
:goz_rengi => "ela",
:kilo => "6"
)

veya

kedi = Kedi.new(
:ad => "Sarman",
:cins => "tekir",
:tuy_rengi => "sarı",
:goz_rengi => "ela",
:kilo => "6"
)
kedi.save

Doğrudan SQL kullandığımız zaman bu problemin ortadan kalktığını görüyoruz

sql = "INSERT INTO kedi (ad, cins, goz_rengi, tuy_rengi, kilo) VALUES ('Sarman', 'tekir', 'ela', 'sarı', 6)"
ActiveRecord::Base.connection.execute(sql)

h2. Sonuç

FixtureReplacement kullanıyor ve primary key olmayan bir tablonuz varsa create_model (model yerine kendi modellerinizden birini düşünün create_kedi gibi) metodunu kullanamazsınız. Bunun yerine doğrudan SQL çalşıtırmanız testleriniz sırasında size bir çözüm sağlayacaktır.
0 Comments

    Author

    Arda Basoglu is a digital marketing agency owner, software engineer/developer, musician. Worked for several companies: TWB, BNB Software, PINC Solutions,  hakia, Nurol,  NTV. 

    Archives

    October 2021
    August 2021
    June 2020
    April 2020
    September 2017
    July 2017
    April 2017
    February 2017
    September 2015
    October 2014
    March 2014
    February 2014
    January 2013
    June 2012
    May 2012
    July 2011
    December 2010
    November 2010
    October 2010
    August 2010
    July 2010
    June 2010
    March 2010
    February 2010
    January 2010
    December 2009
    November 2009
    October 2009
    August 2009
    June 2009
    May 2009

    Categories

    All
    Açık Kaynak
    Algorithms
    Avşa
    Big O Notation
    Certbot
    Database
    Ekmek
    Ekonomi
    Encrypting Settings
    Enflasyon
    Google Maps
    Heroku
    Heroku Rake Fixture Yaml Error
    JavaScript
    Mac Os X
    Magento
    .net
    .net Forms Login Progress Bar
    Node
    Node.js
    Node-postgres
    Personal
    Peynir
    Postgresql
    Rack 1.2.1 Utils.rb Error Heroku
    Ruby On Rails
    Windows 7
    Windows Froms
    Windsurfing
    Wordpress
    Yankoltuk

    RSS Feed

Powered by Create your own unique website with customizable templates.