hesabın var mı? giriş yap

  • -follow uplarımız ne durumda. hala feedback alamıyorsak biraz daha push edelim. deadline yaklaşıyor. schedule'un çok gerisinde kaldık. updateler ile ilgili bi meeting set edip finalize edelim artık.

  • anket sonucu tahmin etmeye çalışan insanları göstermiştir. seçim sonuçlarını tahmin etmeyi anlarım da anket sonuçlarını tahmin etmek ne oluyor?

  • üsküdar belediye başkanı hilmi türkmen’in yeğeni cihat türkmen; ilahiyatçı ama gençlik ve spor müdür yardımcısı. keşke liyakattan , kul hakkından da biraz rahatsız olsaymış. yiyin efendiler yiyin, doyuncaya tıksırıncaya çatlayıncaya kadar yiyin!

  • bugün metrobüste paltolu ve robot gibi yürüyen sakallı birisi bindi araca. baktım etrafıma 2-3 kişi var. "yok az kişiyiz patlatmaz" dedim.

    geldiğim piskoloji bu.

  • mülkiyeti kadıköy belediyesi'nde olan ve belediye bütçesine yıllık 25 milyon tl katkı sağlayan marinadır. tabi buradaki rantı gören özelleştirme yüksek kurulu durur mu, lök diye el koydu buraya. sonra da 30 yıllığına ihaleye vermeye karar verdi, koç ve ağaoğlu tarafından verilen teklifler 600-650 milyon dolar civarındaydı geçen sene. sonra koç ihaleden çekildiğini açıkladı vs vs.

    bilenler bilir buranın kamuya açık güzel bir yeşil alanı vardır, yoğurtçu parkından başlayıp bostancı'ya kadar uzanan bisiklet yolu buradan geçer, herkes yürüyüşünü yapar, fenerbahçe parkına geçer.

    koç'un ihaleden çekilmesiyle ağaoğlu'nun heralde baskısıyla başbakanlık özelleştirme idaresince bu boş alana 16.000m2 genişliğindeki alana 7,5 metre (2 katlı) 10 adet otel, restoran, fonksiyonlarının da olduğu bir imar planı getirildi. bu yapılaşmayla bu alan tamamen kamuya kapatılacak gibi gözüküyor ve bu duruma karşı çıkan ve direnen kadıköy belediyesi'nden başka kimse yok. kapalı çarşı'dan, validebağ'a, rumelihisarı'ndan çamlıca'ya her yere beton dökmeye yemin etmiş bu zihniyete karşı mücadele etmek hepimizin görevi gibi gözüküyor.

    daha önce kuşdili çayırı'nı ibb'nin avm fantezisinden çok uzun bir mücadeleyle kurtarılmıştı, yine başarılı bir mücadeleyle kadıköy'ün en güzel yerlerinden biri bu vahşilerden kurtarılabilir.

    bir işe yarayacağından değil ama bilinçlenmek ve paylaşmak adına belediye change.org'dan kampanya başlatmış, detayları anlatmış, bir göz atmakta fayda var.

    change.org/sahilimedokunma

  • eşimden biliyorum, bebeğimiz doğalı beş gün oldu ve beş gündür onu sezaryenle doğuran anne hiç uyumadı. o annenin bundan en ufak bir şikayeti de yok. çok mutlu. anne olmak senin anlayamayacağın bir şey troll kardeşim. bu konuda bari yavşaklık etmeseydin...

    ekleme: başlık bizim başımıza kalmış :/

  • yazılım projeleri için kullanılan versiyonlama sistemidir “git”. bu sistem “github” ile karıştırılmamalıdır.

    github nedir, git nedir? bu başlık altında da çok defa gördüğüm, cevrede de çok defa duyduğuma göre ikisi karıştırılıyor. github ve git birbirinden çok farklı şeyler. github bir depolama servisi iken git ise versiyonlama, diğer adi ile surum kontrol sistemidir. kısaca git demek github demek değildir, biri diğerinin kısaltması değildir. github depolama servisine git versiyonlama servisini kullanarak kodlarınızı gönderip, alabilirsiniz. yani kısaca git bir otobüs ise, github da otobüs durağıdır.

    versiyonlama sistemi nedir? bir yazılım projesi yazdığınızı düşünün. yazılım projesi demek içinde kodların bulunduğu birçok dosya demektir. bu dosyaların içindeki kodlar birbirine bağlı ve ihtiyacı olan kod parçalarıdır. örneğin "dosya a" nin içindeki x kodu "dosya b" nin içindeki y koduna bağlı, birinde yapılan değişiklik bir diğerini etkileyecek niteliktedir. bu durumda kod üzerinde bir değişiklik yaptığımızda tüm projeyi bir bütün olarak ele almalıyız. yani kısaca kodumuzun içinde sadece bir karakter dahi değişse projemizin bir bütün olarak yeni bir versiyonu çıkmış olur. versiyonlama sistemi de bu isleri yönetmemizi sağlayan yardımcı programlardır.

    nedir depolama servisi? üzerinde çalışılan projelerin herhangi bir programlama dili ile yazılmış kaynak kodlarının saklandığı sunuculardır. bir kod yazarsınız, bu kodu github sunucularına yüklersiniz ve github size bir erişim linki verir. bu link üzerinden internet erişiminin olduğu her yerde siz veya başka yazılımcılar bu kodu görebilir, bilgisayarına indirebilir ve değiştirebilir.

    versiyon nedir? versiyon bir projede her bir değişikliğin bir diğerinin üzerine eklenerek artan bir ifadedir. örneğin bir yazılım projesinin versiyonu genelde 1.0.0 ile baslar daha sonra 1.0.1, 1.0.2 olarak ilerler. bu versiyon numarasında her bir ayraç genel ortak anlayışa göre farklı şeyleri ifade eder. genel ortak anlayışa göre (yani bu bu şekilde yapılmak zorunda değildir, ama uyulması faydalıdır) bu versiyon numaraları "major.minor.patch" seklindedir. örneğin bir yazılım projesinde bir hata düzeltilir ise üçüncü kisim yani 0.0.1 olan versiyon 0.0.2 seklinde artar. eğer o projede yapılan değişiklikler daha küçük değişiklikler ise versiyonun ikinci kısmı yani 0.0.2 olan versiyon 0.1.2 seklinde artar. ama yapılan değişikler çok büyük değişiklikler ise ilk kisim artar yani 0.1.2 olan versiyon 1.1.2 olur. yani özetle bir versiyon numarasının ilk kısmı arttıysa o üründe büyük değişiklik yapılmış demektir. son kısmı arttıysa küçük bir bug çözümü, büyük değişiklik yapılmamış demektir.

    simdi bu versiyonlama sistemlerinin bize yararı nedir? öncelikle ilk yararı bu versiyon numaralarını otomatik bir şekilde kendi tanımlamamıza göre yükseltir bu sistemler. ikincisi projemizin bir bütün veya parça parça halinde geçmişini tutar. bu sayede örneğin günün birinde bizim su versiyon numaralı halindeki kodumuz nasıldı dersek o koda birkaç komut ile ulaşabiliriz. yani kodumuzun geçmişteki haline gidebiliriz. bir problem olursa veya bireyler bozulur ise kodumuzu geriye alıp kurtarabiliriz.

    peki geliştirme takımları için yararı nedir bu versiyonlama sistemlerinin? bir projede ayni kod dosyasında, hata ayni kod satırında ayni anda birden fazla geliştirici çalışabilir. ama bu yapılan değişiklikler bir araya geldiğinde ayni dosyada iki farklı paralel versiyon var demektir. örneğin birinci kişi ahmet bir dosyada birçok kodu değiştirmiş olabilir. diğer taraftan ikinci kişi ayşe ise ayni dosyada birçok yeri değiştirmiş olabilir. simdi ahmet’in elindeki dosyada ayşe’nin değişiklikleri yok, ayşe’nin elindeki dosyada da ahmet’in değişiklikleri. bu durumda iki dosyanın birleştirilme işlemi “merge” ciddi bir problem, çünkü bu değişiklik yapılan yerede iki dosyada da farklı satırlar tespit edilmeli, eksik yerler birbirine eklenmeli ve tek bir, yani iki kişinin oluşturduğu değişiklikleri de içeren tek bir dosya yapılmalı. ama bu değişiklikler de kendi içinde birçok nitelik barındırabilir. örneğin ekleme, değiştirme, veya silme gibi. işte bu noktada çok uzun bir kod dosyası ile çalışılıyor ise içinden çıkılamaz bir durum olur. hatta ve hatta, örneğin ayni dosyada ahmet dosya içinde gecen “elma” kelimesini “armut”, diler taraftan da ayşe o “elma” kelimesini “portakal” yaptı ise ne olacak. kimin yaptığı değişikliğe göre tek bir dosya oluşturulacak derken ciddi bir karmasa olur. işte bu noktada versiyonlama sistemleri bu değişiklikleri birleştirme, gerektiğinde uyarma, gerektiğinde geri alma gibi özellikleri sayesinde bu karmaşayı basitleştirirler.

    versiyonlama sistemi denilince sadece git mi var? hayır, geçmişten günümüze birçok sistem kullanıldı, popüler oldu ve kayboldu. git dışında svn, cvs vs. gibi birçok alternatif de var ama günümüzde en popüler git.

    nedir bu git, github ilişkisi? kodumuzu geliştirdik, git ile versiyonlamasini yaptık. kodumuz bilgisayarımızda duruyor, peki takımımızdaki arkadaşlarla, ya da tüm dünya ile nasıl paylaşacağız bu kodumuzu. ya da nasıl yedekleyeceğiz, bilgisayarımıza bir şey olur ise bu kodumuzu nasıl kurtaracağız. iste bu noktada github devreye giriyor. github dan bir proje açıyoruz, github bize bir link veriyor. bu link bizim kod alanımıza erişmek için bir adres oluyor. ama ilk basta bu alanın içi bos. “git” kullanarak bu adrese tüm kodumuzu atıyoruz, ister sadece kendi ekibimiz ile paylaşıyoruz, ister tüm dünyadaki diğer geliştiricilerin inceleyebileceği ve değişiklik yapabileceği şekilde herkese acıyoruz. bilgisayarımıza bir şey olursa, çalınırsa, bozulursa bu github kaynağından tekrar kodumuzu güvenli bir şekilde kaldığımız yerden geri alıyoruz.

    git ile versiyonlamasini yaptığımız kodu sadece github serverlarina mi atmalıyız? hayır, ister github a atarsın, ister amazon code commit, ister gitlab, ister bitbucket olur. bular gibi birçok servis var ve genelde birçoğunda ayni özellikler olsa da fiyat paketleri olarak birbirinden ayrışıyor.

    peki niye github? birçok yazılımcı buraya tercih ediyor çünkü en kalabalık grup burada. ayrıca kodların görülebileceğini web ara yüzüne de herkes çok alıştı, ve gerçekten çok kullanışlı bir ara yüz sunuyor. ayraca github artık geliştiriciler arasında bir facebook gibi oldu diyebiliriz, bunu kimin ne bildiği, kimin ne yazdığı burada acilmiş durumda ve birçok şirket de ise alim süreçlerinde geliştiricilerin github profillerini görmek istiyor.

    nedir bu komut satiri olayı? kodumuzu yazdık, yeni versiyonu oluşturmak istiyoruz, peki bunu nasıl yapacağız. temelde bunun yapmanın iki yolu var, birincisi bir yardımcı program kullanmak. bu programların görsel ara yüzleri var ve bu ara yüz üzerinde birkaç buton tıklaması, birkaç yazı yazma ile bu yeni versiyonu çıkarabiliriz. örneğin bunlar sourcetree, github desktop, ya da kullandığımız kod editörün entegre uygulamaları olabilir.

    neden bu tarz programlar kullanalım? bu programlar genelde bu tıklama ve yazma isini arka planda git komutlarına çevirip bu kodları çalıştırırlar. bazen git komutları çok karışık bir hal alabiliyor, örneğin geçmiş versiyonlardan birinin üzerine yeni bir versiyon oluşturup, ama en yeni versiyondan da birkaç dosyayı bu oluşturulan versiyona eklemek gerekirse. bu durumda uzun uzun komut yazmak yorucu olabiliyor, ve bu tarz programlar bize hem görsel ara yüzleri, hem de işlevleri ile yardımcı olabilirler.

    neden komut satiri kullanalım? komut satiri demek neyi neden yaptığına biliyorsun demek, böylece bu versiyonlama işlemi sırasında daha az hata yapmak ve kontrolün tamamen elinde olması demek. tabi diler taraftan birçok komutu da ezberlemen gerekir. ayrıca komut satiri geliştiriciler arasında iletişimi de kolaylaştırır. örneğin bir grafik ara yüzünde birine bir şey tarif ederken şuraya tıkla, sağ üste bu var, ona tıkla, su kutucuğu doldur gibi ciddi iletişim problemi yasatan tarifler gerektiriyor. komut satırında bir satir komutu sesli veya yazılı olarak diğer geliştiriciye göndermek çoğu zaman çok daha pratik oluyor.

    git ve github öğrenmeye değer mi? tavsiyeden daha çok bu bir zorunluluk diyebilirim. neredeyse her geliştirici bu tarz bir sistemle çalışmak durumunda. hatta sadece kendi projenizi bile geliştiriyor olun bunları veya farklı alternatiflerini kullanın. size en büyük yararı, bir kodunuz bozulduğunda ve “eskiden çalışıyordu simdi ne oldu da çalışmıyor” diye düşünürken iste bu sorunun cevabini çok kolay alabilecek olmanız, gerekirse eski durumuna geri getirmeniz, bilgisayarınızda kodlarınızı kaybettiğinizde arkasından soğuk su içmek zorunda kalmamanız demek.

    bu github arkasında kim var? yakın bir geçmişte github tüm servisleri ile beraber microsoft tarafından satın alindi. eğer bu tarz büyük şirketlerin sunucularında kodunuzu tutmaktan çekiniyorsanız gitlab farklı alternatifleri kullanabilirsiniz. ya da kendi kişisel sunucunuza git sunucusu kurabilirsiniz. ama kendi çalıştığım şirket de dahil olmak üzere milyonlarca dolar değerindeki kodlar bu şirketlerin (microsoft, amazon, google vs.) sunucularında okyanustaki küçük bir balık misali duruyor.

    öğrenmesi ne kadar sürer? bir 8 saat üzerinde çalışmakla rahatlıkla temelini öğrenebilirsiniz. ama tabi bu sure yazılım konusunda tecrübenize bağlı olarak uzayabilir de kısalabilir de. ama temelini öğrendikten sonra size lazım olan ismini lazım olduğu zaman öğrenebilirsiniz. tek seferde tamamen uzman olmanız gerekmez. nasıl yapilirdan daha ziyade bu araçlarla neler yapabileceğinizi bilmek yararlıdır.

    peki nereden öğrenilir bu git, github vs. ? hem bu teknolojilerin kendi sitelerinde, hem youtube da, udemy gibi online eğitim platformlarında türkçe, ingilizce birçok kaynak var.

    bunları kullanırken neye dikkat etmeli? öncelikle neyi neden yaptığınızı bildikten sonra buralarda kodunuz güvende sayılır. birçok durumda kodunuzu geçmişe dondurup kurtarabilirsiniz. riskli hallerde de bu teknolojiler sizi gerektiği şekilde uyarır, uyarıları mutlaka dikkatle okuyun. ama bir durum var ki çok dikkatli okumalısınız, sizi maddi olarak zor duruma sokabilir. amazon web services gibi bulut sistemler bu serverlara bağlanmak için size uzun bir “anahtar” dosyası paylaşırlar. bu dosyayı yanlışlıkla bu gibi versiyonlama sistemine üzerinden paylaşırsanız, diğer taraftan bu tarz dosyaları bu sistemlerde tarayan kotu niyetli kod parçaları tarafından tespit edilebilir, ve bunun sonucunda amazon web service ler üzerinden yapılan illegal bağlantı ve binlerce dolar kullanım faturası ile karşılaşabilirsiniz. bu durumla karşılaşan birçok geliştirici var, kimisi amazon müşteri hizmetlerinin bir defaya mahsus yardımları sayesinde bu faturaları ödemekten kurtulmuş ama siz bu heyecanı yaşamayın. bu dosyaları bu sistemlere atıp, silseniz bile eskiye donuk versiyon da tutulduğundan dolayı yine de açığa çıkarılabilir. o nedenle böyle bir hata yaparsanız mutlaka bu “anahtar” dosyasını cloud service üzerinden iptal edin ve mutlaka cloud servisinize bir fatura alarmı kurun.

  • pek çok şeyden rahatsız olunabilir, sorun değil. bundan rahatsız olunuyor diye kimse sapık veya yobaz olmakla suçlanamaz. rahatsız olabilirsin, doğrudur veya değildir fark etmez yapacak bir şey yoktur. kimsenin ne giyeceğine karışılamayacağı gibi herhangi bir şeyden rahatsız olması da engellenemez. fikrini sözlükte dile getirebilir ancak sokakta gidip de birine tepki gösteremezsin, birilerini kontrol altına almaya çalışamazsın. yaparsan sorun burada başlar.