Tag: turkish

  • Elektrikli Araçla Yurt Dışı Yolculuğu

    Elektrikli Araçla Yurt Dışı Yolculuğu

    Elektrikli araçla daha önce kısa yol deneyimim oldu, Ankara ve Tekirdağ arası, 575 km’lik yol. Bununla ilgili deneyimlerimi anlatan bir blog yazım da var. Şimdi o yolu beşe katladım, toplam üç gün sürdü. Geride uzun, huzurlu, çok şükür kazasız belasız, tadında bir hikaye kaldı. Bunu sizlerle paylaşmak istiyorum.

    Zaman zaman sosyal medya paylaşımlarımdan bana ulaşıp tavsiye isteyenler oluyor, tavsiye konusuna en baştan bir açıklama yapmak istiyorum. Bu yazıda bir elektrikli araç tavsiyesi, övgüsü veya karalaması yok. Beklentilerden alışkanlıklara kadar tercihleri belirleyen o kadar fazla parametre var ki, öngörülmesi o kadar zor detaylar var ki, birine araç konusunda tavsiye vermek benim için çok zor. Bizzat kendim için söylüyorum; bir elektrikli araca sahip olarak ne fiyat – performans, ne masraf – tasarruf, ne de ailemin ihtiyaçlarını karşılamak konusunda en ufak bir dezavantajını görmedim. Kullandığım elektrikli araç, ihtiyacım olanın çok daha fazlasını veriyor; ama bir otomobil tutkunu olarak da aklımın bir köşesinde hep bir Mazda 3 AWD veya Lexus IS 300h sahibi olmak, ona uzun yıllar binmek, bakımını bizzat kendim yapmak var. Bazen arzularla ihtiyaçlar, duygularla mantık birbiriyle örtüşmüyor. Ailemin tercihi, mutluluğu için kendi sürüş zevkimden feragat ettim.

    Onun için herhangi bir tavsiye vermek yerine bu yazıyı veri ağırlıklı yazmayı, arada kişisel düşüncelerimi paylaşmayı planladım. Bazı detayların epey yoruma açık olacağını, kimisinin normal karşılayıp duruma sıcak bakacağını, kimisinin ise bu yeni akıllı araçlardan soğuyacağını şimdiden tahmin edebiliyorum.

    İçerik

    Sözlük

    Çok sık tekrarladığım kelimeleri burada kısaltıp anlamını yazıyorum:

    • SC: SuperCharger, Tesla’nın resmi hızlı (DC) şarj istasyonları.
    • MY: Tesla Model Y, şu anda Türkiye’de de satışı olan tek Tesla modeli.
    • AC: Alternating Current, alternatif akım. Araç şarj olurken gelen elektriği doğrusal akıma dönüştürüp bataryaya iletir. Enerji çıkış kapasitesi düşüktür, aracı şarj etmesi uzun sürer.
    • DC: Direct Current, doğrusal akım. Yüksek enerji çıkış kapasitesi vardır, enerji direkt bataryaya iletilir ve şarj etme süresi daha kısadır.

    Hava Durumu, Araç, Sürüş Profili

    Önceki yolculuğum kısa ve yaz sıcağındaydı. Tek aksilik, Ankara’dan Tekirdağ’a giderken Bolu Tüneli’nin kapalı olmasıydı. Bir saat yaz sıcağında trafikte kaldık, sonrasında yokuş aşağı, düşük hızlarda, araç kendini şarj ede ede gitmişti bir süre. Araç BYD Atto 3, LFP bataryalı bir araçtı. Bunlar hep enerji tüketimini etkilediği için baştan belirtme gereği duyuyorum. Bu seferki yol koşullarında şöyle değişiklikler var:

    • Araç MY, uzun menzilli, çift motor, dört çeker, NMC bataryalı.
    • Hava sıcaklığı çoğunlukla 1 – 3 derece arasında, bazen eksi, bazen 8 dereceye kadar çıktı.
    • Kış lastikleri takılı.
    • Kar yağışına denk gelmedik; ama kırağı, yağmur, kaygan yollara denk geldik. Hele Bolu Tüneli’nde 30 metre ötesini göremeyeceğimiz kadar sis vardı.
    • Uzun süreli trafik kitlenmesi veya gümrüklerde bir saati aşan bekleme süresi olmadı.

    Bu yolculukta da öncekinde olduğu gibi yine hız limitlerine uygun gidildi. Yani hız limiti neye izin veriyorsa o hızda gidildi, menzil uzatmak veya tasarruflu olmak için 130 kmh hız limitinin olduğu yerde 100 ile gidilmedi, onu kastediyorum. Ancak yolun durumuna veya trafiğe bağlı olarak zaman zaman hızımızı azaltmak zorunda kaldık. Özellikle kaygan yollarda otonom sürüşü devre dışı bırakıp olabildiğince temkinli ve yavaş kullandım. Düz, sakin ve temiz yollarda, fırsat buldukça otonom sürüşü kullandım, yani toplam yolun %20 – 30’unda yardımcı pilotum benim yerime aracı kullanmış oldu, tabi eller yine direksiyonda.

    Son olarak, uzun molalarda, şarj sırasında veyahut aracı kullanırken klimadan hiçbir kısıntı yapmadık. Ben genelde paltomu çıkararak rahat araç sürmeyi seviyorum, ama beni mayıştıracak kadar fazla sıcağı da sevmiyorum. Genelde 20 – 21 derece tercih ettim, koltuk ve direksiyon ısıtma da kullanıldı.

    Planlama

    Çoğunlukla tarihleri biz seçemiyoruz, çocuğumuzun okul tatili, işyerinden izin alma durumumuz, yolculuğa katılacak bireylerin sağlık durumu zaten epey kısıtlayıcı; ama yine de birkaç kritere bakmak çok önemli. Bunlardan birincisi ve bence en önemlisi geçeceğiniz gümrük kapılarının yoğunluğu. Ben ilk olarak 23 Aralık’ta yola çıkmayı planlamıştım, o tarihte yolda olan bir arkadaşımın 6 saat Sırbistan gümrük kapısında beklediğini duyunca vazgeçtim ve kameralardan yoğunlukları takip ettim. İnternetten gümrük kapılarını izleyebiliyorsunuz, yazının sonunda linkleri paylaştım. Bu yoğunluğun azalması neredeyse üç gün sürdü ve 27’sinde yola çıkmaya karar verdim.

    Rota ve Duraklar

    Almanya’dan Türkiye’ye kadar şu beş ülkeden geçmeyi planladım, çıkış noktamız Berlin, varış noktamız Ankara:

    1. Çekya: Dresden’den çıkıp önce Prag’a, sonra Brno’ya uğruyoruz.
    2. Slovakya: Avusturya’ya yakın bir sınırdan, ama Slovakya içinde kalarak Bratislava’ya uğruyoruz.
    3. Macaristan: Győr‘dan geçip Budapeşte’ye doğru yolumuzu tutuyoruz, ancak Budapeşte’nin içine girmeden Szeged’e kadar ilerliyoruz.
    4. Sırbistan: Röszke Horgos sınır kapısından Sırbistan’a geçiyoruz ve Belgrad’a uğramadan Niš’e kadar devam ediyoruz.
    5. Bulgaristan: Kalotina sınır kapısından Bulgaristan’a geçiyoruz ve önce Sofia’ya, ardından Plovdiv’e uğruyoruz.
    Prag gezisi ve konaklamaları içermeyen, temsili rota.

    İşin doğrusu gezilecek yerlere, kalınacak otellere, yolların kalitesine göre güzergah belirlemek iken; ben rotayı belirleme işini tamamen Tesla’ya bıraktım. En azından şunu biliyordum; Tesla beni menzil anlamında riske atmadan, sadece SC’leri kullanarak Edirne’ye kadar götürecekti. Edirne’den sonra ise önceki şehirlerarası yolculuğumda tecrübe ettiğim gibi Trugo şarj istasyonlarını kullanacaktım ve Ankara’ya kadar otobandan çıkmayacaktım.

    İlk defa ülkeler arası uzun yolculuğa çıkma heyecanım ve biraz da elektrikli aracın yaşattığı tedirginlik yüzünden tek isteğim Ankara’ya sorunsuz varabilmekti. Onun için genelde spontane ilerledi her şey. Gezdiğim yerleri haritada belirtmedim; ama Prag Kalesi’ni es geçmediğim için çok mutluyum. Çekya ayrı bir güzel, Prag ayrı bir güzel, Brno karanlıkta kaldı ama o da ayrı bir güzeldi. Dönüşte muhtelemen farklı bir ülke seçip benzer bir gezi yapmayı planlıyorum. Belki Belgrad, belki Budapeşte, biraz eşime ve çocuklarıma bağlı.

    İnternet

    Almanya’dan satın aldığınız Tesla’nın internet bağlantısı Sırbistan ve Türkiye hariç rotamdaki tüm Avrupa ülkelerinde vardı. Türkiye’deki Tesla sahipleri muhtemelen Avrupa’ya çıktıklarında internete erişemeyecekler. Her iki durumda telefonda internetin olması birçok açıdan gerekli:

    • SC dışında başka bir şarj istasyonuna muhtaç kalırsanız, şarjı başlatabilmek için gerekli.
    • E-vinyet satın almak için gerekli.
    • Olur da navigasyon yardımcı olmazsa ikinci bir navigasyona bakmak için gerekli.
    • Diğer iletişim ihtiyaçlarınız için gerekli.

    Sanırım ilk talihsizlik şu oldu. Sırbistan’da Tesla’nın navigasyonu çalışmayınca, telefonumun internetini aracımla paylaştım, meğer araca güncelleme gelmiş ve beş dakika içinde paketi kemirdiği için telefonumdaki internetimden de oldum. Şimdiki aklım olsa kesinlikle bağlamam ve Google Maps veya Apple Maps offline harita özelliklerini kullanabilmek için yola çıkmadan önce ayarlardım. Aslında Tesla’da bu özellik var ama sanırım sadece aracı satın aldığınız ülkenin haritası önceden indirilmiş oluyor.

    Vinyetler, ENP, HGS

    Bazı ülkelerde otoban ve köprüleri kullanmak için geçiş kartı satın almanız gerekiyor, buna toll veya vinyet deniliyor. Vinyetleri nasıl satın alacağımı araştırırken, fark ettim ki bazı ülkelerde eletrikli araçlara bir istisna getirmişler. Her ülke için ayrı ayrı başvurmak, gerekli evrakları toplayıp elektronik imza ile onaylayıp göndermek gerekiyormuş. Bunlarla uğraşmak için yeterli zamanım olmadı; ama en azından Çekya ve Slovakya’da vinyet almak zorunda kalmazdım.

    Bir diğer önemli konu vinyetlerin geçerlilik süresi. Çoğunlukla günlük vinyet satın alıyorsunuz ve gece saat 00:00 olduğunda tekrar vinyet satın almanız gerekiyor. Yani akşam 11’de Bratislava’dan Macaristan’a girdiniz, o günün son bir saati için bir vinyet, eğer bir saat içinde Macaristan’dan çıkamazsanız ertesi gün için bir vinyet daha satın almalısınız. Üstelik Macaristan vinyetleri en pahalılarından biriydi.

    Ben vinyetleri her ülkenin kendi resmi sitesine girerek online olarak aldım. Vinyet uygulamaları var, bence çok bir işlevi yok, biraz daha pahalıya geliyor; ancak sitelerle ayrı ayrı uğraşmak yerine tek bir yerden tüm vinyetleri satın almak kolaylığı sağlıyor.

    Kolaylık olsun diye yola çıkmadan önce tüm vinyetleri satın almanızı da tavsiye etmem, belki dönmek zorunda kalırsınız, belki gümrükten geçemeyeceksiniz, belki de yorgun olacaksınız ve dinlenmek isteyeceksiniz, ülke değiştirme günleriniz değişecek, her şeye hazırlıklı olmakta fayda var. İnternetiniz olduğu müddetçe vinyet almak oldukça kolay.

    Sırbistan’da vinyet yerine Türkiye’deki gibi bir sistem var. ENP cihazı için başvuruda bulundum ancak cihaz hala elime ulaşmadı. Dolayısıyla otomatik geçiş gişelerini kullanamadım ve her gişede kartla ödeme yapmak zorunda kaldım.

    Son olarak Türkiye’de ücretli otobanları kullanmak için HGS başvurusu yapmak gerekiyor. Eğer ikametiniz Türkiye’de ise, internet üzerinden HGS başvurusu yapıp etiketin adrese gönderilmesini talep edebiliyorsunuz. Onun dışında ilk HGS satış ofisine uğrayıp elden teslim almanız gerekiyor. Ben tabi Türkiye’ye gece geç saatlerde giriş yaptığım için açık bir ofis bulamadım ve hala Edirne’den Tekirdağ’a kadar olan ücretlerin plakaya yazılmasını bekliyorum. Bir borç veya ceza gözükmediği için ödemeyi yapamadım.

    Şarj İstasyonlarının Durumu

    Benim planım mümkün mertebe SC kullanmak, mümkün olmadığı durumlarda Trugo, Aral, Ionity, artık ne bulursam onu kullanmaktı.

    SC’lerin birkaç avantajı var, bazı avantajlar MY kullanıcısı olmama bağlı:

    1. En büyük avantajı elbette kullanım kolaylığı, sadece soketi takmanız yeterli, kendiliğinden şarj etme işlemi başlıyor, ekstra bir efor sarfetmeye, bir yerlere üye olmaya gerek kalmıyor.
    2. İkinci önemli avantajı, Tesla navigasyonu üzerinden SC’ye gitmek istediğinizi belirttiğinizde, bataryaları otomatik olarak ısıtıyor ve bu işlem şarj süresini oldukça kısaltıyor.
    3. SC’ler genelde daha ucuz.
    4. Araç zaten rotayı ona göre çiziyor, çoğunlukla menzil tahminlerinde başarılı.
    5. Bu şarj istasyonlarını tercih eden kullanıcı profili genelde bilinçli ve saygılı. Bazen benim de yeni öğrendiğim şeyler oluyor ve bana nedenini düzgünce söylediklerinde hatamı düzeltmek için elimden geleni yapıyorum. Örneğin eski SC’lerde iki soket var, bazen boş sanıp eski uyumsuz soketi alıyorum, uyarıyorlar. Veya arkada boş soketler olduğunu söylüyorlar, onu kullanırsam şarj hızımızın yarıya düşmek yerine aynı hızda kalacağını, daha kısa sürede şarj işleminin biteceğini anlatıyorlar. Anlayış olunca problemler çok çabuk çözülüyor.

    Dezavantajları:

    1. SC’lerin konumu yol uzatıyor. Çoğunlukla otobandan çıkmak zorundasınız. Ya bir AVM’nin otoparkında, bahçesinde, ya da bir restoran veya otelin otoparkında, çoğunlukla trafiğin yoğun olduğu, bozuk yolların olduğu yerlerde.
    2. 30 dakikalık şarj için 45 dakika beklediğim oldu. Şarj soketine arkadan yanaşıp hakkımı gasp eden de oldu, o da Tesla kullanıcısı değildi. SC tasarımı her marka elektrikli araçların düzgünce park edip soketi kullanmasına elverişli değil, bütün düzeni bozuyor. Olur da Tesla olmayan bir aracın birden fazla park yerini işgal edecek şekilde park ettiğini görürseniz, sebebi kablonun kısalığı, soketin yerinin standart dışı olması. Bence Tesla buna izin vermemeliydi.

    Bu sadece SC eleştirisi değil; ama AVM gibi yerlerde DC şarj istasyonlarının olması bana göre mantıksız. Zaten AVM’ye giden insanın vakti bol, yarım saat değil en az 1 – 2 saat vakit geçirecek çoğu. 10 tane DC şarj istasyonu yerine 100 tane AC şarj soketi koysalar, AVM’nin bile işine gelir sanki. Otobanlarda DC’ye daha çok ihtiyaç var.

    Bu konuda Trugo’nun politikasını ben açıkçası çok başarılı buluyorum. Otobanlardaki -şimdilik hepsinde olmasa da- çoğu Shell istasyonlarında Trugo hızlı şarj istasyonları olduğunu bilmek bana güven veriyor.

    Menzil Anskiyetesi

    Evet gelelim zurnanın zırt dediği yere, hepimizin aklına takılan menzil konusuna. Hesap kitap bölümünü hazırlarken gördüm ki tam 16 kez şarj etmek için durmuşum. Yalan yok. Durdukça durmuşum, canım istedikçe durmuşum, sıkıldıkça durmuşum. Şimdi diyeceksiniz, 3000 km’de 16 kere durduysan, bu araç 200 km bile gidememiş, menzili bu kadar mıymış uzun yolda? Tabi ki değil.

    Benim eskiden beri olan bir huyum var. Göstergelerde benzin uyarı lambası yanar yanmaz hemen gözler benzin istasyonu arardı, halbuki istesem bir 150 km daha yaparım. Öte yandan depoyu asla tam doldurmazdım, yarıdan fazla doldururdum, bu da 300 km yapmama yeterdi.

    Aynı alışkanlık elektriklide de devam ediyor, yenemedim. Biraz da NMC batarya ömrü tedirginliği var, sanırım LFP için bu kadar endişe etmezdim. Her seferinde tahmini %10 – %15 şarj kalacak şekilde bir sonraki şarj istasyonuna doğru yola çıktım. Ve her seferinde en fazla %85 – %90 doldurdum, bazen %60, bir defa da %45 ile yoluma devam ettim.

    Bir benzinli araç ile yola çıkmış olsaydım belki her seferinde yakıt almayacaktım, ama yine 10’dan fazla kez mola vereceğimi tahmin ediyorum, her seferinde de en az yarım saat dinleneceğimi. Ama içten yanmalıda bu bir opsiyonken, elektrikli araçta zorunluluk. Belki yeni batarya teknolojileriyle birlikte menzil 1000 km’ye çıktığında elektrikli araçlar için de opsiyonel olacak ama ben artık çok takılmıyorum o konuya eskisi kadar. Huylu huyundan vazgeçmez, gene 200 km yerine 300 km’de bir şarj ederdim bu sefer.

    Dönüşte 200 – 250 km’de bir değil de, 300 – 350 km’de bir şarj etmeyi deneyebilirim; ama söz veremiyorum. Araçta çocuklar varken mola vermeden uzun süre gitmek zor oluyor. Mola verince de şarj istasyonu bulmuşken kullanırım diye düşünüyorum.

    Maliyet Beklentisi

    Daha önce yapmış olduğum şehirlerarası yolculuklarda maliyetin benzinliye göre fazla arttığını gözlemlemiştim. Bu yolculukta da bir ucuzluk beklentim yoktu. Hem kış koşulları yüzünden, hem de sürüş profilim yüzünden enerji tüketiminin katlanarak artacağını biliyordum.

    Düz bir karşılaştırma hesabı için daha önce defalarca sıla yolculuğu yapmış birisinin Toyota Aygo ile yaptığı son yolculuk ile ilgili paylaştığı verileri kullanacağım, videosunu ayrıca izlemenizi tavsiye ederim:

    1. Videoda Mehmet Asır özetle diyor ki: Gidişte ortalama yakıt tüketimi 5.86lt/100km, dönüşte 6.39lt/100km olmuş. Giderken 100 km’de 8.38 EUR, dönüşte 9.77 EUR masraf yapmış. Bu fiyatları etkileyen bir sürü faktör var, yine sürüş profili, yakıtı aldığın yer, geçtiğin yolun kalitesi vesaire.
    2. Birebir aynı yol, aynı zaman, aynı koşullar, hatta aynı segment araç olmadığı için sağlıklı karşılaştırma olmayacağını biliyorum; ama ben 1 kWh enerjiyi ortalama 0.40 EUR ile satın alsam, toplamda 264.4 EUR masraf yapmış olmam lazım. Paylaştığım Tesla ekranında gördüğünüz gibi 661 kWh enerji tüketimi olmuş, bu veriyi kullanıyorum.
    3. Benim yaptığım km’yi Mehmet Bey yapsaydı, 2776 km için gidişte 232.63 EUR, dönüşte 271.22 EUR tutacaktı.

    Yani ben toplam şarj maliyeti 270 EUR tutsa şaşırmayacaktım, kendimi ona göre hazırlamıştım. Şimdiki aklım olsaydı, Sırbistan ve Bulgaristan’da %100 şarj ederdim, bu hesapları yaparken oralarda şarjın bedava olduğunu bilmiyordum. Zaten bu bedavalar olmasa, kendim açımdan elektrikli araçların ekonomik olduğundan bahsetmek biraz zor. GigaFactory’e yakın bir konumda oturduğum için aracımı fabrikada ücretsiz şarj edebiliyorum. Aracın MTV’si 0 EUR, aracı satın alırken devlet teşviği fırsatını kaçırdım ancak ödediğim faiz %0. Bu detaylarla birlikte elektrikli araç ucuza mı gelir pahalıya mı gelir daha iyi ölçülür. Yoksa sadece 300 km’lik yol için içten yanmalıyla ne kadar masraf yapardım, elektrikliyle ne kadar yapardım diye bakarsak, bir elektriklinin ortalama 238 Wh/km ile çok bir şansı yok. Belki şehir içi tüketim masrafının azlığı toplam maliyeti dengeleyebilirdi, bilmiyorum.

    Bir de bu bedavalar hep böyle kalacak mı? Onun için maliyet beklentisi ile ilgili net bir şey söylemek zor. Otobanda 90 kmh hızla gidip şu kadar menzil, şu kadar masraf yaptım diyenlere de pek kulak asmıyorum.

    Hesap Kitap

    Verileri aşağıda detaylıca vereceğim ancak bir özetini şurada belirteyim:

    • Toplam vinyet ve otoban ücreti: 90.38 EUR. Daha önce dediğim gibi eğer evrakları hazırlayıp başvurabilseydim Çekya ve Slovakya için ücret ödemeyecektim. Türkiye’de HGS ödemelerini TRY hesabım üzerinden yaptım, o günkü kura göre EUR’a çevirdim, diğerleri direkt EUR olarak hesaplanmış şekilde çekildi. Bulgaristan’da da haftasonuna denk geldiğimiz ve gece orada kaldığımız için iki günlük vinyet almak yerine bir haftasonu için aldım.
    • Toplam şarj ücreti: 210.53 EUR. Bunun beklediğimin (270 EUR) çok altında olması beni mutlu etti. Ücretsiz olanları hesaba katmadan, diğer SC’ların ortalaması 0.36 EUR/kWh olmuş.
      • 10.08 + 10.07 + 25.48 + 22.34 + 28.96 + 18.40 + 20.59 + 17.08 = 153 EUR
      • 37.96 + 54.39 + 48.60 + 62.98 + 55.06 + 62.80 + 51.67 + 51.69 = 425.15 kWh
      • 153 ÷ 425.15 = 0.359872986
    • Toplam 603 dakika (10 saat 3 dakika) şarj etmişim ve buna şarja takmak için sırada beklediğim süre dahil değil, farz edelim 2 saat de oraya gitmiş olsun. Buna acayip şaşırdım. Elektrikli araç işine uzak bakan birisi olsam sanki 12 saat elimde soket, ayakta aracı şarj ediyor vaziyette ağaç gibi dikilmişim gibi anlarım. Öyle bir şey olmadı tabi, onun yerine dinlendim, yemek yedim, kahve içtim, gezindim, tuvalete gittim, kısaca zorunlu mola verdim. Vaktin nasıl geçtiğini anlamadım bile.
    • Bunun dışında konaklama, yeme – içme, alışveriş, gezi benzeri masraf kalemleri var; paylaşmama gerek yoktur sanıyorum.

    Vinyetler, Otoban Ücretleri

    Bütün vinyetler online olarak satın alındı, kaynaklar bölümünde nereden aldığımı paylaştım:

    TarihÜlkeSüreÜcretÜcret (EUR)
    27.12.2024Çekya1 GünCZK 2007.95 EUR
    27.12.2024Slovakya1 Gün5.40 EUR5.40 EUR
    27.12.2024Macaristan1 Gün10300 Ft24.95 EUR
    28.12.2024SırbistanSüre Önemsiz2949 RSD25.32 EUR
    28.12.2024Bulgaristan1 Haftasonu9 лв.4.60 EUR
    29.12.2024TürkiyeSüre Önemsiz810.50 TRY22.16 EUR

    Sırbistan’da vinyet yok, onun yerine ENP cihazı satın alıp ENP gişelerini kullanmak veya ilk girişte kart alıp sonrakinde ödeme yapmak var. Türkiye’deki HGS’ye benzer bir sistem:

    İstasyonÜcretÜcret (EUR)
    Putevi Srbije800 RSD6.87 EUR
    JP PUTEVI ALEKS RUDNIC970 RSD8.33 EUR
    EKO SERBIA 1230 NIS 2509 RSD4.37 EUR
    DIMITROVGRAD670 RSD5.75 EUR

    Türkiye’de HGS’yi Tekirdağ’da bir gece dinlendikten sonra aldım. Edirne’den Tekirdağ’a kadar olan ücretli otobanın ücretini bir türlü öğrenemedim. İki haftadır ne bir ceza var, ne de karttan çekim yapıldı. Ama diğerlerini paylaşıyorum:

    Giriş İstasyonuÇıkış İstasyonuÜcret (TL)
    KMO KINALI GİŞESİFATIH ALIN GISESI120,00
    TERMINALTERMINAL9,00
    KARGOKARGO5,50
    ODAYERİKURNAKÖY265,00
    KURNAKÖY ALIN GISESITEM AKYAZI280,00
    TOPAĞAÇ SGSAKINCI (MÜRTED)131,00

    Şarj Ücretleri

    Tabloya geçmeden önce burada bir fotoğraf paylaşmak istiyorum. O fotoğrafı çekerken, uygulamaya yabancı olduğumdan olsa gerek kWh ücretine bakmadan (yani ne kadar pahalı olabilir ki…) işlemi başlatmıştım ve hayatımın en pahalı elektriğini aldığımın farkında değildim:

    Zaten tablodan da ne kadar pahalı olduğunu görebilirsiniz. Onun dışındakiler gayet makul fiyatlardaydı:

    TarihÜlkeİstasyonKapasiteSüreÜcretÜcret (EUR)
    27 Aralık 10:31AlmanyaSC37.96 kWh20 dk17.08 EUR17.08 EUR
    27 Aralık 11:33AlmanyaAral Pulse28.14 kWh22 dk27.29 EUR27.29 EUR
    27 Aralık 13:53ÇekyaSC54.39 kWh36 dkCZK 516.7420.59 EUR
    27 Aralık 17:57ÇekyaSC48.60 kWh42 dkCZK 461.6618.40 EUR
    27 Aralık 21:28SlovakyaSC62.98 kWh63 dk28.96 EUR28.96 EUR
    28 Aralık 00:21MacaristanSC55.06 kWh37 dkHUF 9,139.1322.34 EUR
    28 Aralık 08:46MacaristanSC62.80 kWh44 dkHUF 10,424.9625.48 EUR
    28 Aralık 12:35SırbistanSC61.71 kWh36 dk0 RSD0 EUR
    28 Aralık 15:03SırbistanSC55.52 kWh39 dk0 RSD0 EUR
    28 Aralık 19:32BulgaristanSC44.11 kWh71 dkBGN 0.000 EUR
    28 Aralık 22:24BulgaristanSC39.37 kWh54 dkBGN 0.000 EUR
    29 Aralık 01:50TürkiyeSC51.67 kWh29 dkTRY 366.8210.07 EUR
    29 Aralık 17:00TürkiyeTrugo44.23 kWh32 dkTRY 424.6111.66 EUR
    29 Aralık 19:33TürkiyeTrugo55.69 kWh36 dkTRY 534.6214.68 EUR
    29 Aralık 22:25TürkiyeTrugo14.80 kWh7 dkTRY 142.103.90 EUR
    29 Aralık 23:41TürkiyeSC51.69 kWh35 dkTRY 366.9910.08 EUR

    Yazıya Destek

    Olur da bir gün kendi özgür iradenizle bir elektrikli araç satın almak isterseniz, bu bir Tesla olacaksa referansımı kullanıp indirimden yararlanabilirsiniz:

    Diğer tüm destekleriniz ve sorularınız için iletişim sayfasından veya sosyal medya hesaplarımdan bana ulaşabilirsiniz.

    Kaynaklar

    1. Trugo ve Shell ortaklığı ile ilgili bir kaynak, gelecek planlaması ile ilgili bilgi de mevcut.
    2. Sırbistan gümrük kapısındaki kamera yayınlarını buradan izleyebilirsiniz.
    3. Türkiye ve Bulgaristan sınır kapılarındaki kamera yayınlarını buradan izleyebilirsiniz.
    4. Online vinyet satın alma sayfaları: Çekya, Slovakya, Macaristan, ve Bulgaristan.
    5. Mehmet Asır, Sıla Yolu konusunda epey tecrübeli bir insan, YouTube kanalına bakmanızı öneririm.
    6. Bir başka YouTube yayıncısı, Hüseyin Yoldaş Öztürk, o da benim gibi bir MY kullanıcısı.

    Son Söz

    Şu scooter kullanıyormuşum hissi olmasa aslında elektrikli araçlar güzel de… Şaka bir yana, şuna kanaat getirdim. Bu güzergahta gezilecek, görülecek çok fazla güzel yerler var. Size sorun çıkarmayacak, sizi yarı yolda bırakmayacak, sizi yormayacak; sorun çıkardığında da teknik servisine güvenebileceğimiz bir araç her şeyden daha önemli. Benim tek canımı sıkan, birkaç ülkede şarj istasyonlarının yetersizliğini hissetmek oldu. Resmen benzin kuyruğu gibi sırada bekledik. Onun dışında ne menzil, ne şarj süreleri, hiçbir şey bana problem olarak gözükmedi. Muhtemelen bir Lexus olmadığı sürece Tesla’da kalmaya devam edeceğim. Herkese gönlüne göre bir otomobil dilerim.

  • Elektrikli Araçla İlk Tatilim

    Elektrikli Araçla İlk Tatilim

    Bir haftalık Türkiye tatilimde şehirlerarası yolculuklarda denemek üzere elektrikli araç kiraladım. Şunu gördüm ki, gelecekteki değişim sadece aracın özellikleriyle sınırlı kalmayacak. Kişisel alışkanlıklarımız, beklentilerimiz, yol ve otopark düzenlemeleri, mola yerleri; kısaca yola çıktığımız noktadan varacağımız noktaya kadar uğradığımız veya muhtaç olduğumuz her şeyde bir değişikliğe hazır olmamız gerekiyor.

    Yazımın sonuna geldiğinizde şaşırmayın diye şimdiden belirtmek istiyorum. Ben elektrikli araçları da, içten yanmalı araçları da seviyorum. Mümkün mertebe araç kiralayıp farklı markalar denemeyi de seviyorum. Elbette tercihlerim var; ancak burada bahsetmeyeceğim.

    Ne Planladık?

    Aracı Ankara Esenboğa Havalimanı’ndan teslim aldık, Tekirdağ’a yakın bir bölgede tatilimizi yapıp geri dönmeyi planladık. Haritadan baktığımızda yolla ilgili herhangi bir endişemiz yoktu, zaten bu kadar çok sık kullanılan bir yolda da elektrikli araçla ilgili bir sıkıntı yaşayacaksak bu yazıyı burada kesip konuyu kapatabilirdik, elektrikli araç almak deli cesareti olurdu. Benim beklentim oldukça basitti:

    • Bolu Tüneli’nin gidiş yolu kapalı, alternatif yoldan gidecektik ve şarj istasyonu bulamayabilirdik. Buna rağmen şarj istasyonu denk geldikçe ve ihtiyacım oldukça duracaktım. Başka bir planlama yapmak istemedim.
    • Bir içten yanmalı aracı nasıl kullanıyorsam öyle kullanmaya devam edecektim. Yani menzili uzatacağım diye 120 kmh ile gitmeyi kesinlikle istemiyordum. Hız limitleri ve trafiğin hızına uyum sağlayarak yolculuğumuzu tamamlayacaktık.

    Tek şaşırdığım, alternatif yol hep aşağı eğimli olduğu için, bir de trafik ve viraj nedeniyle hızımızı düşük tutmak zorunda kaldığımız için araç 30 – 35 km boyunca elektrik tüketmedi, tam tersine az da olsa regenerative frenleme sayesinde kendini şarj etti.

    Birinci Sorun: Yazılım

    Kiraladığımız aracın CarPlay entegrasyonu çok kötüydü. Haritayı kaydırmak çalışmıyordu mesela, sağda solda neler var göremiyordum. Ondan daha kötüsü, ters yöndeki şarj istasyonlarını göstermesiydi. Evet, en yakın istasyon o olabilir ama 10 km gidip U dönüşü yapmak, sonra şarj edip tekrar kendi yoluma dönmek yerine, yolumun üzerindeki istasyonları tavsiye etmesini, göstermesini beklediğim çok oldu.

    Bir başka sorun da aracı çalıştırmadan klimayı açamıyor olmamdı. Doğrusu bunu içten yanmalı araçlarda da yaşıyorum; ama elektrikli araçlarda kontak, START düğmesi vesaire bence çok anlamsız ve sembolik artık. Kucağımda bebek ve sırtımda çanta var, sadece klimayı açmak için:

    1. START düğmesine basmam gerekiyor, yetmiyor.
    2. Ayağımla frene basmam gerekiyor, o da yetmiyor.
    3. Koltukta ağırlık sensörü olduğu için sürücü koltuğuna da oturmam gerekiyor.

    Klimayı, camları, radyo veya müziği, hatta kameraları telefondan yönetebiliyor olmak, hatta otomobil için ayrı anahtara ihtiyaç duymuyor olmak ne büyük nimetmiş. Kiraladığımız araçta eSIM desteği olmadığı için uzaktan erişmek de mümkün olmadı. Bu tip şeylerin kıymetini yokluğunda anladım doğrusu. En azından aracın şarja ihtiyacı olup olmadığını, ne kadar yol kat ettiğimi telefondan görebilmek isterdim. Uzaktan erişim, güncel navigasyon verisi ve kaliteli yazılım olmadıktan sonra elektrikli aracın avantajını anlamak da, anlatmak da çok zor.

    Tabelalar, Yönlendirmeler

    Her ne kadar araçlar yazılım teknolojileriyle içiçe hale geldiyse de gözümüz hep yollarda, tabelalarda, ışıklarda. Bir taraftan CarPlay rezaleti ile uğraşırken, öbür taraftan tabelaları takip edip acaba bir sonraki istasyonda şarj edebilecek miyim diye durup durmayacağıma karar vermeye çalışıyordum. Almanya’da tabelalara bakıp elektrikli şarj istasyonu olup olmadığını anlamak mümkün; Türkiye’de ise sadece Dörtdivan’da gördüm şimdilik, o da yetersiz.

    Şehiriçi veya Şehirlerarası

    Evimin park alanında hem AC hem DC şarj istasyonu var. Günlük kullanımda herhangi bir problem yaşamadım. Yakıt ve bakım masraflarının, vergilerin nispeten daha düşük olması şehiriçi kullanım söz konusu olduğunda elektrikli araçları daha avantajlı yapıyor ve bu avantaj Almanya’da Türkiye’ye göre daha belirgin, bu da neden benim elektrikli araç tercih ettiğimi açıklıyor. Ancak çok sık şehirlerarası yolculuk yapan birisi iseniz işin rengi biraz değişiyor. Almanya’da yine çok büyük bir sorun değil; çünkü hem şehiriçi toplu taşıma çok iyi, hem de şehirlerarası elektrikli şarj istasyonu yoğunluğu ülkenin genelinde iyi. Ancak aynı şeyi Türkiye için söylemek şimdilik zor.

    Hesap Kitap

    Aracı şarj edebilmek için beş uygulama yüklemek zorunda kaldım. Türkiye’de en çok memnun kaldığım uygulama Trugo oldu. Bunda Shell ile işbirliği içinde olmalarının oldukça payı var çünkü Almanya’da da zaten Supercharger bulamadığımda Shell istasyonlarını kullanıyorum. Harcamalarımı şöyle özetleyebilirim, sadece şehirlerarası gidiş ve gelişimi kapsıyor:

    TarihSaatKapasiteÜcretŞarj İstasyonu
    22 Ağustos15:08 – 15:3422.80 kWh270.72 TRYPleco
    22 Ağustos18:31 – 18:5419.64 kWh174.80 TRYoncharge
    22 Ağustos19:54 – 20:2626.61 kWh236.83 TRYoncharge
    22 Ağustos21:59 – 22:2624.05 kWh230.88 TRYTrugo
    25 Ağustos11:34 – 12:2848.49 kWh465.48 TRYTrugo
    25 Ağustos14:19 – 15:1043.96 kWh422.05 TRYTrugo
    25 Ağustos16:18 – 16:4526.61 kWh255.46 TRYTrugo

    Giderken Trugo’nun hesaplı olduğunu biraz geç farkettiğim için dönüşte hep genellikle Trugo tercih ettim. DC şarjlarda 1kWh ücreti bu yolculuk sırasında 9.60 TRY idi. Giderken toplam 913.23 TRY, dönerken ise 1142.99 TRY şarj yüklemesi yapmışım. Tabi iki yönde de yola en az 400km menzil gözükecek şekilde şarjlı çıktığımı belirtmeliyim ve ilk şarjlar dahil değil. Benzinliye göre sağlıklı bir karşılaştırma yapabilmek 100 km’de kaç kWh tükettiğine bakmak en iyisi. Bu konuda okuyucular kusura bakmasın, ben zannediyordum ki Tüketim Grafiği yol boyunca ortalama tüketimimi kaydedecek ve ben günlere göre tüketim ortalamasını görebileceğim. Malesef sadece son 50 km verisini gösteriyormuş ve ben Esenboğa Havalimanı’na aracımı bırakmaya gidiyordum en son. Onun için aşağıdaki ekran görüntüsünde görünen 15.5 kWh/100km gerçekçi bir veri değil. Benim ara ara şehirlerarası yolculuğumda gördüğüm sayılar 20 – 22 kWh idi; ama ben 25 ve 30 kWh tüketim için ayrı ayrı hesaplamak istedim:

    • Yolumuz yaklaşık 575 km.
    • En rahat bulunan şarj istasyonu Trugo idi, onun 1kWh DC ücreti 9.60 TRY.
    • Klimalar açık, tüm hız limitlerine uyuldu, yani 130kmh hız limitinin olduğu yerde kaplumbağa gibi 90 ile veya sorumsuz insan gibi 160 ile gitmedik, 130 ile gittik. Tasarruf derdinde olmadık, elbette kurallara da uyduk.
    • 100 km’de 30 kWh tükettiğimizde: 575 / 100 * 30 * 9.60 = 1656 TRY
    • 100 km’de 25 kWh tükettiğimizde: 575 / 100 * 25 * 9.60 = 1380 TRY
    • Hadi bir de şehiriçi için fikir versin diye 15.5 kWh üzerinden iş – ev – şehir merkezine uğrayarak 575 km yaparsak ne kadar tutarmış diye hesaplayalım. Benim eve yakın yerde AC şarj istasyonu var, Trugo değil ama yine de fiyatlar yakın olduğu için onu hesaba katacağım, AC ücreti 6.96 TRY
      • DC tercih edilirse: 575 / 100 * 15.5 * 9.60 = 855.6 TRY
      • AC tercih edilirse: 575 / 100 * 15.5 * 6.96 = 620.31 TRY
    • Son olarak bir önceki seyahatımda benzinli aracımın şehirlerarası yakıt tüketimi 5.9 litre idi. Şu anda Shell’de 95 Oktan benzin litre fiyatı 43 TRY’den fazla. Aynı yolu benzinli araçla gittiğimde yol masrafım: 575 / 100 * 5.9 * 43 = 1458.78 TRY
    • Benzinli araçlarda elektrikli araçların tam aksine şehiriçi yakıt tüketimi daha fazla oluyor. Sadece şehiriçi yakıt tüketimini hatırlamıyorum ama karma tüketim 7.1 litre idi. 575 km’yi iş – ev – şehir merkezine uğrayarak yapsaydım: 575 / 100 * 7.1 * 43 = 1755.48 TRY

    Bu sayılar çok değişken. Ama ben bu tip hesaplamaları arasıra araç kiralayarak veya kendi elektrikli aracımla test ederek şunu tekrarlayabiliyorum, şehiriçi kullanımda tasarruf yaparak şehirlerarası yakıt tüketimini dengeleyebiliyorum.

    Sonuç

    Bir yanım manuel vites, atmosferik motor, hidrolik direksiyon arıyor, otomobil kullanmanın zevkini alarak seyahat etmek istiyorum. Diğer yanım ailemin konforunu düşünüyor ve kendi zevkimden feragat etmek zorunda kalıyorum. Uzun yolda gürültünün ne kadar yorucu bir şey olduğunu elektrikli araç kullanınca fark ettim. Herhalde otonom teknolojiler geliştikçe araç kullanmak diye bir şey kalmayacak. Elektrikli araçların bu tip avantajları zamanla içten yanmalı araçlara entegre edildikçe, o aradığım sürüş zevki iyice yok olacak. İyi mi kötü mü bilemiyorum.

    Şarj istasyonu ağının henüz yeterli seviyede olmadığını göz önünde bulundurmak gerekiyor. Biz tatilimizde Longoz Ormanları’na bu yüzden gidemedik, şarjsız kalma riskini göze almak istemedik. Onun dışında yolların asfalt olmasına özellikle dikkat ettim çünkü aracın altı bildiğiniz bataryadan ibaret. Bozuk köy yollarında taş veya görmediğiniz tümsekliğin bataryaya zarar vermesini istemezdim.

    Son olarak, eğer elektrikli araç almayı düşünüyorsanız, sosyal medya ve forumlardaki fanatik yorumlara gözünüzü kulağınızı kapatsanız hiçbir şey kaybetmezsiniz. Bazı şeyleri zamana bırakmak gerek, geleceğimizi fanatikler değil; deneyimli kullanıcılar, deneyimli servisler, yaşadığımız sıkıntılar ve alışkanlıklarımız belirliyor.

  • Geliştiriciler için Windows 10 Pro

    Geliştiriciler için Windows 10 Pro

    Bu yazıda sözünü ettiğim işletim sistemi ve sürümü Windows 10 Pro’dur. Amacım yazılım geliştiriciler için Windows 10 Pro’nun alternatif bir geliştirme ortamı olduğunu anlatmaktır. Windows 8 değil, Windows 10 Home da değil, sadece Windows 10 Pro. Karar elbette sizin.

    Genel Görünüm

    Uzun süre Linux dağıtımı ve MacOS kullanan birisi olarak ilk Windows izlenimim çok kötüydü. Font rendering Ubuntu’dan bile kötüydü. Masaüstü ortamı KDE’den bile karışıktı. Klavye kısayollarını yeni baştan öğrenmem, alışmam gerekecekti. Ama şu detay beni Windows’ta tutabildi: Laptopu ilk açtığımdan itibaren ihtiyacım olup kuramadığım hiçbir program, eksikliğini hissettiğim hiçbir uygulama, kullanamadığım veya ayarlamak zorunda kaldığım mikrofon, kamera gibi hiçbir donanım olmadı. MacOS’ta olduğu gibi, Windows’u açtığımda kullanıcı hesabı oluşturmak, bulut depolama servisi OneDrive’i bağlamak gibi ilk kurulum ayarlarını yaptım ve bir daha ne format atma gereği duydum, ne de performans sorunu yaşadım.

    Donanım

    Eğer Macbook Pro gibi bir laptop arıyorsanız, gibisini değil aslını alın. Ona da Windows kurabilirsiniz. PC için tavsiye isterseniz:

    • Kurumlarda tercih edilen Thinkpad (Lenovo), Dell, HP gibi markalara öncelik tanıyın.
    • SSD şart, mümkünse 16 GB RAM ve son nesil i7 olsun (Yine Macbook Pro’dan ucuz olabilir).
    • Ekran çözünürlüğüne, kalitesine önem verin.

    Başımdan geçen bir olayı anlatayım. Ben Thinkpad kullanıcısıyım, trende üzerime ve fermuarı açık olduğu için çantamın içine kaynar su döküldü, Thinkpad’i elime aldığımda suyun sıcaklığını hissettim. Laptopu açıp kontrol ettim epey, hiçbir sorun yoktu. O an o laptopun Macbook Pro olduğunu düşünemiyorum.

    Antivirüs Programı

    Yüklü geliyorsa kaldırmanıza gerek yok, gelmiyorsa almanıza gerek yok 🙂 Yine de olsun istiyorsanız, bir zararı yok.

    Terminal ve POSIX Uyumluluğu

    Windows’a yöneltilen eleştirilerin başında POSIX uyumlu olmaması var. İşin doğrusu bu konuda bir sıkıntı çekmedim, çünkü işletim sistemi ne olursa olsun bu zamana kadar hep sanallaştırma kullandım. Yani geliştirme yaptığım ortam her zaman bir Ubuntu LTS sunucusu oldu. Ancak Twitter’daki mesajıma yazılan cevaplardan gördüm ki sanallaştırmayı herkes kullanmıyor. Bana örnek bir sorun gösterilirse çözümü beraber tartışabiliriz. Ancak sanallaştırma bana göre tüm platformlar için en mantıklı çözüm.

    Terminal konusunu ise bir tek Linux dağıtımları becerebiliyor. Ne MacOS, ne de Windows’ta aynı rahatlığı yakalayamadım. Fakat Powershell iş görmüyor mü? Görüyor. Pencere tabları kullanmak isterseniz ConEmu var. KDE’deki Yakuake gibi Quake-style kullanmak isterseniz cmder var. Zsh’siz olmaz derseniz Babun var. Bana Bash yeter derseniz de Git ile birlikte gelen Bash var. Bana bir SSH yeter derseniz Bitvise ve Putty var. Seçenek çok.

    Paket Yöneticileri

    • Windows’ta ilk kullandığım paket yöneticisi Pacman oldu. Archlinux’taki Pacman’ın pek çok parametresini destekliyor.
    • Bir süre Chocolatey kullandım, bu MacOS’taki Bower’a daha yakın bir alternatif.
    • Şuan ise hiçbir paket yöneticisi kullanmıyorum. Masaüstü uygulamalarının bir kısmını Windows Store ile, bir kısmını doğrudan uygulamanın sitesinden indirerek yüklüyorum.

    Git ve Dosyalarda CRLF ve UTF-8 Bom Sorunu

    Git’i grafik arayüzüyle kullanmak isterseniz, çok güzel alternatifler var. Komut satırı tercih ediyorsanız, zaten Bash ile birlikte geliyor, onu kullanabilirsiniz veya Powershell tercih edebilirsiniz. Git’e dair hiçbir alışma problemi yaşamayacaksınız, bir konu hariç.

    Windows’ta yeni bir dosya oluşturup yazmaya başladığınızda, satırbaşı için öntanımlı CRLF yöntemini kullanıyor. Yani dosyalarınızı Unix tabanlı bir işletim sistemi kullanan birisi okumak, açmak veya çalıştırmak istediğinde; veya bir repoya gönderdiğinizde, deploy ettiğinizde bir okuma, derleme, yorumlama problemiyle karşılaşmanız çok büyük olasılık.

    Eğer bir sürüm kontrol sistemi kullanıyorsanız, bu tip sorunların üstesinden gelmek kolay: Dosyalarınızı commitlerken LF’ye zorlamak. Stackoverflow’da çözümü detaylı bir şekilde anlatılıyor. Buna ek olarak bir de kullandığınız editör ve IDE’lerde newline ayarınızı bir seferlik yapmanız gerekir.

    Gelelim UTF-8 Bom sorununa. Bu sorun CRLF’ye göre anlaşılması çok daha zor ve sinsi bir sorun. CRLF ile aynı sorunları yaşıyorsunuz; ancak gözle görünür hiçbir problem yok, o nedenle file encoding’e dikkat etmeniz gerekiyor. BOM hakkında detaylı bilgi için Gökhan Şengün’ün buradaki cevaplarına bir göz atınız.

    Sanallaştırma

    Windows sanallaştırma konusunda gerçekten çok başarılı bir platform. Gerek VMware olsun, gerek Virtualbox, gerekse Hyper-V, elinizin altında çok sayıda alternatif var:

    Henüz yeni kararlı sürüme erişmiş WSL (Windows Subsystem Linux) ile arada ek bir sanallaştırmaya ihtiyaç duymadan UNIX ortamına sahip olabilirsiniz. Ancak henüz web development yapmak için yeterli görünmüyor, terminali kapattığınızda alt sisteme erişimin kapanması gibi bir sorun var.

    • WSL kurulumu çok basit, Windows Store’dan Ubuntu veya Suse diye aratıyorsunuz.
    • Docker desteği çok güzel. Hyper-V ile birlikte kullanıyorsunuz.
    • Virtualbox ile Vagrant kullandığınız zaman, veya Android geliştirme yaparken emülatöre ihtiyaç duyduğunuzda Hyper-V’yi kapatıp bilgisayarı yeniden başlatmak zorundasınız. Bu ilk başlarda canımı sıksa da, artık alıştım. Hyper-V açıp kapatmak için Powershell’i Admin yetkisiyle açıp aşağıdaki komutu kullanabilirsiniz:
    # kapatmak için
    $ bcdedit /set hypervisorlaunchtype off# açmak için
    $ bcdedit /set hypervisorlaunchtype auto
    Bash

    Son Söz

    Önce kısayolları öğrenmekle başlayın, bu sizin işletim sistemine hakimiyetinizi ve iş yapma hızınızı her platformda etkiler. Vim ve Emacs severler üzülmesin, Windows altında çok güzel çalışıyorlar. Bir de 2018 mobil{in|yanın} yılı olacak!.

  • Vagrant ile Proje Geliştirme

    Monolitik yapıda bir web projesinin iskeletini oluşturup, projeyi geliştirmek için bir geliştirme ortamına ihtiyacımız var. Geliştirme ortamını hazırlarken bazı ayrıntıları göz önünde bulundurmak gerekir:

    1. Projede tek başıma mı olacağım? Tek başıma değilsem ekip arkadaşlarım kurulumda sorun yaşarlar mı?
    2. Tek başıma bile olsam, yerelimde yaşamadığım bir sorunu sunucuda yaşarsam bununla nasıl başa çıkacağım veya bu ihtimalın olmaması için ne yapabilirim?
    3. Bağımlılıklarda sürüm çakışması yaşarsam bunu nasıl çözeceğim? Geliştirme ortamımı diğerlerinden nasıl izole edebilirim?
    4. Geliştirme ortamımı yeni baştan kurmak istediğimde, başka bir bilgisayara geçtiğimde, her seferinde kurulum belgesi mi okuyacağım? Ve bu belge her işletim sistemi, her işletim sistemi sürümünde geçerli olabilecek mi?

    Amacımız şudur: 5 tane projemiz de olsa, ekibe sonradan katılıyor da olsak, hızlıca geliştirme ortamına sahip olabilmek ve bu ortamlar arasında kolayca geçiş yapabilmek, gerekirse hızlıca baştan kurabilmek.

    Sanallaştırma

    Vagrant sanallaştırma teknolojilerini kullanarak, kolayca yapılandırılabilir, tekrar tekrar kurulabilir ve taşınabilir geliştirme ortamı sağlayan bir araç. Bu sayede tek komutla geliştirme ortamımız hazırlanacak:

    $ vagrant up
    Bash

    Bu komutun bizim istediğimiz şekilde çalışabilmesi için bilgisayarımıza Vagrant ve bir sanallaştırma çözümü (örneğin VirtualBox) kurmamız, bir de proje dizinimizde Vagrantfile adında bir yapılandırma dosyası oluşturup hazırlamamız gerekiyor. Vagrant hakkında daha fazla bilgiyi şuradan edinebilirsiniz: https://www.vagrantup.com/intro/index.html

    Projelerimde kullandığım Vagrant yapılandırmamı şurada bulabilirsiniz, depoyu forklayıp siz de katkıda bulunabilirsiniz: https://github.com/gkmngrgn/vagrant-skeleton

    # -*- mode: ruby -*-
    # vi: set ft=ruby :
    
    Vagrant.configure("2") do |config|
      config.vm.box = "ubuntu/xenial64"
      config.vm.network "forwarded_port", guest: 8000, host: 8000
      config.vm.provider "virtualbox" do |vb|
        vb.memory = "512"
      end
      config.vm.provision "shell", path: "increase_swap.sh"
      config.vm.provision "shell", path: "update_repositories.sh"
      config.vm.provision "shell", path: "install_java.sh"
      config.vm.provision "shell", path: "install_elasticsearch.sh"
      config.vm.provision "shell", path: "install_nodejs.sh"
      config.vm.provision "shell", path: "install_postgresql.sh"
      config.vm.provision "shell", path: "install_python.sh"
      [...]
    end
    Ruby

    Vagrantfile dosyamızın içeriği çok basit. Bir Ubuntu 16.04 imajıyla sanal bir sunucu oluşturup, bir seferlik provision script’lerini çalıştırarak geliştirme ortamınızı hazırlıyor. Bu örnekte, 512 MB ram’lık sanal sunucumuza 1024 MB’lik SWAP alanı oluşturuyorum, sonrasında Elasticsearch, Nodejs, PostgreSQL gibi proje için gerekli paketleri kuruyorum, proje için veritabanı oluşturuyorum, Python için virtualenv’i hazırlıyorum.

    Sorunlar, Çözümler

    Bu yöntemde şimdiye kadar Windows ve MacOS kullanan geliştirici arkadaşlarda ciddi problem yaşamadık. Bazen sanal sunucunun internet erişiminin olmaması gibi sorunlar yaşadıysak da bir şekilde çözüldü. Fakat tuhaf bir şekilde Linux dağıtımı kullanan arkadaşlarda VirtualBox’un çalışmaması, paketlerin yüklenmemesi gibi sorunlar yaşadık ve onlar da provision script’lerini kendi yerel bilgisayarlarında çalıştırmayı tercih ettiler. Her zaman yaşanan sorunlar değildi; ama yaşandı mı uğraştıran sorunlardı. Diğer konulara değinecek olursak:

    1. Belli ve kurulumu denenmiş Vagrant ve VirtualBox sürümlerini kurulum belgemizde belirtmeye ve geliştiricilere de bu sürümleri kullanmalarını önermeye başladık.
    2. Mikro servisler için geliştirme ortamı hazırlamak monolitik yapıdaki projeler kadar basit olmayabiliyor. Örneğin sanal sunucumuzun içinde Docker kullanarak her bir mikro servis için bir container hazırlamak gerekebiliyor.
    3. Henüz denemedik ama provision script’lerinin bir kez çalıştırılıp, sanal sunucumuzu paketleyip, sonra bu paketi arkadaşlara dağıtmak sorunları biraz azaltabilir. Fakat bu durumda imajın boyutu artıyor ve birinin bu imajları oluşturmak için zaman ayırması gerekiyor.
    4. Değişikliklerin deploy edilmesi süreci kesinklikle geliştirme ortamının içinde değil, dışında olması gerekiyor. Geliştirme ortamının kolayca hazırlanması gibi, deployment ve test süreçlerinin de en baştan hazırlanması çok zaman kazandırır.

  • Emacs’e Nereden Başlamalı?

    Emacs’e Nereden Başlamalı?

    Yazılım dünyasının en eski editörlerinden Emacs, günümüzdeki diğer popüler editörlerden farklı bir kullanma ve öğrenme disiplini istiyor. Bazı temel özelliklerini öğrenmeden editörde bir dosya açmak bile zor. O nedenle Emacs’in kendi içinde gelen tutorial’ını en azından bir kez okumak, öğrendiklerini uygulamak ve birkaç hafta sabırla kullanmak gerekiyor.

    Emacs Linux, Windows ve macOS işletim sistemlerinde çalışıyor. Yükleyip editörü açtığınızda ilk hali muhtemelen arzu ettiğiniz gibi görünmeyecek. Bir yandan Emacs’i öğrenirken, bir yandan da kendi zevkinize göre özelleştirmeye başlamanızı öneriyorum. İnternette yüzlerce Emacs config dosyası bulabilirsiniz, bazı kullanıcılar işi bir adım daha ileriye götürüp SpacemacsStarterKit gibi projelerle kullanıcıların ortalama ihtiyaçlarına göre hazır config dosyaları sunuyorlar. Deneyebilirsiniz; ama bana göre bu iyi bir başlangıç olmaz. Elinizde neredeyse her şeyi yapılandırabileceğiniz bir editör var ve bunu başkalarının zevklerine göre ayarlamak yerine, kendi ihtiyaçlarınızı tespit edip, bu ihtiyaçları başkalarının nasıl çözdüğüne bakarak kendi editörünüzü kendiniz yapılandırmanız daha doğru bir yaklaşım olur.

    Spacemacs’te Emacs’in görünümü bu şekilde.

    Emacs kendine özel bir Lisp yorumlayıcısıyla birlikte geliyor. Config dosyalarınızı bir Lisp script’i yazar gibi hazırlıyorsunuz. Daha önce hiç Lisp yazmadıysanız, buradan başlayabilirsiniz:

    https://learnxinyminutes.com/docs/elisp

    Config dosyası genellikle kullanıcı ev dizininizde ~/emacs.el veya ~/.emacs.d/init.el olarak saklanıyor. Yapılandırma dosyası hakkında daha fazla bilgi almak için okumaya buradan başlayabilirsiniz:

    https://www.gnu.org/software/emacs/manual/html_node/emacs/Init-File.html

    Belgeyi okuyup config dosyası hazırlamak gözünüzü korkutmasın, size açıklayarak küçük bir örnek göstereceğim. Benim config dosyam, önce paketleri kontrol etmek, eğer kurulmamış paket varsa da kurmakla başlıyor. Paketler, editöre ekstra özellik kazandıran kodlar içerir ve bunlar genellikle küçük dosyalardan oluşmazlar, örneğin HTML kodları, içinde CSS ve JavaScript kodu barındırdığında parse etmesi çok zordur, bunun için ek paket kurmak isteyebilirsiniz veya Emacs içinde bir git istemcisi kullanmak isteyebilirsiniz. Helm paketi ile Emacs komut satırını daha da güçlendirmek isteyebilirsiniz:

    (require 'package)
    (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
    (package-initialize)
    (when (not package-archive-contents) (package-refresh-contents))
    (defvar my-packages
      '(auto-complete
        flx-ido
        helm
        helm-ag
        helm-ls-git
        js2-mode
        magit
        markdown-mode
        scss-mode
        web-mode)
      "A list of packages to ensure are installed at launch.")
    (dolist (p my-packages)
      (when (not (package-installed-p p)) (package-install p)))
    Lisp

    Editörü kullandıkça bazı ihtiyaçlar ortaya çıkmaya başlıyor. Örneğin bir projede çok uzun süre çalışıp daha sonra başka bir projeye geçmek istediğimde arka planda açık olan tüm dosya yedeklerini silmek istiyorum. Bunun için `kill-other-buffers` adında bir fonksiyon yazdım ve bu fonksiyonu bir klavye kısayoluna atadım (Ctrl c, k):

    (defun kill-other-buffers ()
     “Kill all other buffers.”
     (interactive)
     (mapc ‘kill-buffer (delq (current-buffer) (buffer-list)))
     (message “All other buffers are killed..”))(global-set-key (kbd “C-c k”) ‘kill-other-buffers)
    Lisp

    Emacs’i olabildiğince sade kullanmaya çalışıyorum. O nedenle menüyü, açılış ekranını kaldırdım, imleç pozisyonunu satır uzunluğunu anlayabilecek şekilde yapılandırdım, fontumu değiştirdim, dosya kaydederken beyaz boşlukların otomatik silinmesini sağladım, parantezlerin otomatik kapatılması gibi birçok ayarı etkinleştirdim:

    (setq-default truncate-lines t)
    (setq inhibit-splash-screen t)
    (menu-bar-mode -1)
    (scroll-bar-mode -1)
    (tool-bar-mode -1)
    (setq visible-bell 1)
    (column-number-mode t)
    (set-face-attribute ‘default nil :font “Fira Code” :height 105 :weight ‘normal :width ‘normal)
    (ido-mode 1)
    (ido-everywhere 1)
    (flx-ido-mode 1)
    (setq ido-enable-flex-matching t)
    (setq ido-use-faces nil)
    (setq-default indent-tabs-mode nil)
    (electric-pair-mode 1)
    (add-hook ‘before-save-hook ‘delete-trailing-whitespace)
    (ac-config-default)
    Lisp

    Editörde dosya açarken, aynı dizinde geçici bir dosya oluşturulduğunu göreceksiniz. Bu dosyaların ortalıkta değil de, başka bir yerde tek bir dizin içinde saklanmasını sağlıyorum:

    (setq backup-directory-alist `((“.*” . ,temporary-file-directory)))
    (setq auto-save-file-name-transforms `((“.*” ,temporary-file-directory t)))
    Lisp

    Son olarak, normalde uzun satırları kırmayı sevmiyorum, tek satırda göstermesi benim için daha iyi; ama metin dosyaları hariç, onlarda uzun satırları kırıp satırbaşıymış gibi göstermesini sağlıyorum:

    (add-hook ‘markdown-mode-hook ‘visual-line-mode)
    (add-hook ‘text-mode-hook ‘visual-line-mode)
    Lisp

    40 yıllık editör için yapılandırmam bundan ibaret. Yapılandırmanızı ne kadar basit tutarsanız o kadar iyi. Eğer Emacs ile ilgileniyorsanız, aşağıdaki linklere de göz atın, istediğiniz zaman yorum yazıp bana soru iletebilirsiniz.

    Kaynaklar

    1. Bilgem Çakır, “Kullandığım Araçlar: Emacs”, https://youtu.be/qXw0ocR_XBI
    2. Üstün Özgür, “Emacs: Özgür Yazılım Devriminin Editörü”, https://youtu.be/FsN3Yp05_aQ
    3. Örnek config dosyası: https://github.com/gkmngrgn/emacs-config/blob/master/init.el
    4. Spacemacs projesi: http://spacemacs.org/
    5. Awesome Emacs: https://github.com/emacs-tw/awesome-emacs