Matematik Öğreniyorum

Matematik bilgim formal olarak sıfır. Tabi daha önceki öğrendiğimiz konuları hayatta kullana kullana sindirdim. Genel olarak tanımlara baktığımda hayatın her alanında olduğu, hayatın matematik olduğu söyleniyor. Bana da bu düşünce çok doğru geliyor. Bizim öğreneceğimiz bunları ifade etmek, kullanmak ve sanatçı olmak. Matematiğin bir sanat kaygısı da içerdiğini okudum.

İnternet’te “matematiğe sıfırdan başlangıç” diye arama yaptığımda genelde forumlarda benim gibi insanların sordukları soruları içeren sayfalara yönlendiriyorum. Yok şu yayınların “mat1 ygs konu anlatımlı” gibi kitaplarını görüyorum. Evet ben bunlara da baktım, baştan başlayarak soru çözme/sınav odaklı.

Matematik

Ben bilginin “sınav” ile ölçülebileceğine inanmıyorum. Mesela İngilizce, halbuki İngilizce okumak, yazmak, konuşmak içindir. Ama sınavlarda aldatıcı, kafa karıştırıcı sorular vardır. Gerçek hayatta sınav yoktur. Uygulama vardır. Sınavlar öğrenimi destekleyici ise yararlıdır. Buna sınav değil de öğretimin bir parçası diyelim. Bir soru üzerinden birçok konuda bilgi verilebilir.

Ben de KPSS, YGS vs.. karışık amaçları olan Matematik Sıfır kitabını sipariş ettim. Oldukça temel konulardan başlıyor. Bu doğal olarak böyle olmak zorunda çünkü Tarih gibi açıp bir bölümünü okuyabileceğiniz bir şey değil matematik. Üst üste binen, eski öğrendiklerinizi kullandığınız bir bilim.

Hele ki bilgisayar programcılarının kesinlikle matematik bilmeleri gerekir. Yani bilmekten kasıt teoride bilme değil. Matematiğin programcılıkta kullanılmadığı alan yok gibidir. Çok ufak yerler bile olsa kesinlikle matematik bilgisi gerekir. İleri seviye matematiği sindirmiş programcılar bilgisayar öğrenmesi (yapay öğrenme), istatistik, karar destek sistemleri gibi onlarca konuda başarılı sonuçlar alırlar.

Hadi bakalım, öğrenelim şu işi.

 

Fazlasını Oku

Çalışmak mı Yaşamak mı?

ÇalışmakAslında çalışma ve yaşama birbirinden tam olarak soyutlanabilen olgular değil. Ben bilişim alanında çalıştığım için bu yönden bakacağım. Örneğin bilgisayar programcısı için ki çoğu diğer iş de böyledir, öğrenme son bulmaz. Peki bu öğrenme nerede ve ne zaman gerçekleşir? Okulda ne dersler yeter ne de haftasonu okumaları. O kadar yönelim, teknik, araştırma, uygulama var olunca bunları çalışırken hem öğrenme hem de tecrübe etme şansı buluyoruz.

Peki bilişimde meslek ayrımları var mı? Evet bazı alanlarında var. Ağ teknolojileri uzmanı, programcı, bilgisayar bakımı ve tamircisi gibi. Şimdi ağ teknolojilerini programlamadan soyutlayabiliriz bir nebze de olsa. Ama programcılığın içine girildiğinde o kadar çok alan açılıyor ki, önüne geçilemez bir karmaşa yaşanıyor.

Ben arayüz kodlayıcısıyım diyemem. Bu sadece HTML + CSS + Javascript ile ilgili değildir. Tamam slide tasarımını aldınız ama buna hareket veren sizsiniz. Mesela kullanıcı slide üzerine geldiğinde otomatik dönme durmalı mı? Slide numaralarının üzerine gelince mi slide değişmeli, yoksa tıklayınca mı?

Arayüz tasarımı ise daha çorba bir durumda.  Grafik tasarımcının İnternet kültürü çok yüksek olmalı, tipografi, renkler, butonlar, linkler konusunda çapraz düşünebilmelidir. Tabi burada işin içine psikoloji ve antropoloji de giriyor. Kullanılabilirlik testleri mevzu bahis oluyor. Bu testleri gerçekleştirmek de ayrı bir uzmanlık.

Bir İnternet servisinin performans ve güvenliği de çok önemli. Burada işin teknik kısmı daha çok öne çıkıyor. Bu bir İnternet projesi ise bu tüm süreçlere pazarlama ve kullanıcı deneyimi de bulaşıyor, yani başından beri göz önünde bulundurulması gerekiyor.

Bazıları “her şeyden biraz bil, bir şeyi çok iyi bil” derler. Oysa ben “sadece bir işi yapan o işin kölesidir” diyorum. Belki çok yanlış bir düşünce ama ülkemizdeki çalışma koşulları gereği bu işin her tarafına bulaştım. Ama sonunda görüyorum ki resmin tamamını görebiliyorum. Bir “Kullanılabilirlik Uzmanı” iş ilanına başvuru yapamam. Bu konuda okudum, yazdım, deneme yaptım ama bu beni “uzman” yapmaz. Adwords, SEO okuyorum ama bu beni SEM (serarch engine marketing) uzman yapmaz.

Back-end kodlama işine girdiğimde belli adımları işleten bir makine operatörü gibi hissederim herhalde. Ama programlamayı seviyorum. Bazen grafik tasarım yapmak da hoşuma gidiyor. Yeni iş fikirlerini düşünmek ve bunların uygulama süreçlerini düşünmeyi de seviyorum. Şimdi ben back-end kod yazılan bir işe girmek istemiyorum. Her gün bir site temalı bir iş yeri de istemiyorum.

Yapılan araştırmalara göre yetenekleri oranında sorumluluk verilen insanlar daha performanslı ve mutlu çalışırlarmış. Şimdi ben bunca kullanılabilirlik merakımı giderirken okuduğum kitaplardan aldığım bilgileri çöpe mi atayım?

Peki bir iş yapıyorum. Buna SEM uzmanı diyelim. Bu benim programlamadan elimi eteğimi çekeceğim anlamına gelmez. Kendime ayırdığım zamanların bir kısmında bu yönde öğrenmeye, uygulamaya devam ederim. Bu da iş ile yaşamı birbirine bağlıyor sıkıca.

Yaşamak için çalışmak yerine, yaşarken çalışmak ya da çalışırken yaşamak daha kulağa hoş geliyor.

Fazlasını Oku

Samsung Galaxy Tab 3 7.0 Deneyimleri

Galaxy Tab 3 7.0Bugün TTNET sözleşmeli olarak elime geçti. Beklentim yavaş bir tabletti. Ne de olsa rayiç bedeli TTNET tarafından 432 TL belirlenmiş. Tabletin ekranı adından da anlaşılabileceği gibi 7 inç. Günlük  ihtiyaçları görmesi bakımından muazzam. Evet bir ipad değil ama 400 TL civarında bir maliyetle edinilebilecek en iyi tabletlerden.

Tek kötü yanı dahili hafızası 8GB. Zaten yarısını Android ve Samsung’un varsayılan olarak yüklü gelen programları kaplıyor. 4 GB boş yer kalıyor. Bu da uygulamalar için yeterli düşüncesindeyim. Kitaplar, ses dosyaları vs.. içerik için 16 GB MicroSD kart fazlasıyla yetecektir.

Öncelikle ben Touchwiz arayüzünü Nova Launcher ile değiştirdim. Hem alışkanlık hem de performans açısından. Web tarayıcı performansı gözüme battı. Yoksa native uygulamalar sorunsuz çalışıyor. Zaten animasyon ölçeklerini sıfırlayarak kullanıyorum.

MicroSD desteği hoş. 7 inç boyut özellikle kitap okumak için harika. Bataryası da yüklü kullanımda 4-5 saat götürüyor. 3,5 saatte şarj oluyor. Maçkoloik yükleyip iddia makinesine de dönüştürebiliyorsunuz 🙂

Tablet Android 4.1 jelly bean ile geliyor. Bunu çok yadırgamadım. 1.2 Ghz çift çekirdek işlemci ve görece güçsüz sayılabilecek bir grafik işlemcisi ile geldiğinden yerinde olmuş. Güncelleme gelmeyeceğini düşünüyorum, bu durumda da cihazı root edip Samsung’un gereksiz programlarını kaldırmak niyetindeyim. Ama şimdilik orjinal hali ile kullanalım bakalım, ne kadar verimli, sonra böyle bir yol denenebilir.

Tablet için “gönül rahatlığı ile alabilirsiniz” diyebilirim.

Fazlasını Oku

PHP Framework İstilası

MVCSon zamanlarda ardı ardı kesilmeyen yeni frameworkler duyuruluyor. Çoğu klasik MVC patterni ile çalışıyor. MVC sanıldığı gibi yeni bir yöntem değil. Mazisi 20-25 sene kadar öncesine gidiyor. MVC üzerinde neden bu kadar durulduğuna da anlam veremiyorum. Koca 25 senede mantık ile sunumu ayırmak için tek bu yöntem mi sunuldu acaba?

Template Engine’ler de yükselişte. Artık yeni framworkler C ile yazılmış extension tabanlı frameworkler. Daha yüksek performans vaat ediyorlar. Mesela Zend Framework MVC’yi opsiyonel olarak sunuyor, kullanmak zorunda değilsiniz. Ben bu frameworklerden rahatsız değildim, keza site inşaasında ortak bir dil oluyorlardı. Yoksa 100 kişiye kod yazdırın, bir o kadar da değişik yöntem de beraberinde gelir. Bazıları berbat, bazıları ise muazzam olur. Ama burada asıl sorun şu; bu kadar framwork çeşitliliği bu ortak dili bozuyor.

Küçük çaplı işlerde işi yokuşa sürdüğünü kendim tecrübe ettim. MVC mantığını kullanıyorsanız, bu mantığa uygun hareket etmelisiniz. Gidip V katmanı içinde veritabanı sorguları varsa bu MVC’nin mantığına terstir. Veya template engine’i Smarty’de template dosyasına {php} kod(); {/php} şeklinde eklemeler yapmak. Biz bunları ne için kullanıyoruz? Mantıkla sunum böyle iç içe geçecekse Template Engine’e ne gere var?

Ben codeigniter ile çalıştım. Ama yalnız başıma, bir ekiple değil. Kodları derliyor, topluyor ve genel anlamda MVC mantığını bilen biri bu kodları rahatça düzenleyebilir. Ama tek başıma bunu kullandığımı ve bana zaman kaybettirdiğini gördüm. Programı değil, programı nasıl yazacağımı da düşünmek zorunda kalıyordum. Bu birkaç kişilik ekiplerin kullanması verimli şeyler değil gibime geldi. Öyle olmayabilir de tabi.

Önemli olan kütüphaneleri zengin, iyi dokümante edilmiş olması, performanslı çalışması ve yaygın olması. Artık iş ilanlarında PHP programcısı yanında şu framework’de geliştirici arıyoruz tarzında ifadeler geçiyor. PHP programcısı mı alıyoruz, yoksa framwork bilen kişi mi?

Fazlasını Oku