Tuval, fırça ve boyalar


Masallarla büyür, hikayelerle yaşarız. İyiler ve kötüler vardır, bir de onların gideceği yerler. İkisiyle de özleşleşebilir ancak bunu iyi ve kötü olmadan yaparız. Çünkü ikisi de sıradan olmaktan vazgeçmeyi gerektir. Bir İstatistikçi demişti: Kafası fırında ayakları buzdolabında olan bir adamın ortalama sıcaklığı kabul edilebilir bir düzeydedir. Kabul edilebilir düzeyde yaşarız. İyi olduğumuzu varsayar, kötü olanı dışarıda ararız. Merak etmeyin, kötü olan da aynı şeyi yapmaya devam eder. Bu yüzden kötüler de yaşamaya devam eder, üzülmeden. İyi olanlar kimdir? Gözleri iyi görmeyenler. Gözleri iyi görse hemcinsleri gibi kötü olmaları kaçınılmazdır nitekim. Onlar hikayelere inanmaya devam ederler. Birileri iyidir. Efsanevi düzeyde iyi… Kitaplar böyle söylemiştir…

Yaşamakta olduğumuzun yazılmış veya yazılmamış bir hikaye olduğunu fark etmeyiz. Olasılıkların çokluğu onları sıradan olmaktan çıkarır küçük kafalarımızda. Oysa eğimi belli bir dere yatağındaki suyun akacağı yer de bellidir, hikayesi de bellidir. Bu su çağlayan olmayacaktır. Olmamalıdır da. Çağlayana dönüşmeye çalışan bir dere için iyi ve kötü yoktur, ne kadar su biriktirebildiği ve hızlı aktığı vardır. Dereler günah işleyemez. Dereler de kendi kişisel tarihlerini yaşarlar. Verecekleri hesap olmadığı için de ölmezler. Kurusalar da yatakları bellidir. Adınına ister kadar, ister determinite zinciri deyin sonuç değişmez.

İnsanlar ise iyi ve kötüdürler. Bu yüzden ölürler. Bu yüzden öldürürler. Öldükleri yer zamanla silindiğinen mezar taşlarına isimlerini yazdırırlar. Unutmamak için hikayeler anlatır, unutulmamak için hikayeleşirler. Ama her hikaye gibi onlar da kurgu ürünlerdir. Bir ressamın fırçasından çıkan her nesne gerçek olduğu halde tüm tablo gerçek değildir. Gerçeğin en fazla imgesi olabilir. İşte bu yüzden biyografiler de romandır. Belki romanlar da gizli biyografi parçalarının birleşimi.

Böyle bir düzlemde, gerçek olan bir kaç şey vardır: Tuval, fırça ve boyalar. Boyalardan siyaha kötü, beyaza iyi deriz. Diğer renkler hep ‘tartışmalıdır’. Fırça zaten bize ait değildir, görmeyiz de, eğer resim atelyesinde değilsek. Tuval ve ressam kaldı. Onların hangisinin benliğimiz, hangisinin geri kalanlar olduğunu bilmiyorum. Geri kalanların ise sadece tek bir benlik mi, bir benliğin ürettiği başka tuvaller mi olup olmadığını bilmiyorum. Ya da tüm her şeyin, dışına çıkıp bakamayacağımız bir kurgu olup olmadığını bilmiyorum.

Reklamlar

Post hoc non est propter hoc: Bundan sonra ama bundan ötürü değil


Latince bir deyiş “Post hoc non est propter hoc” yani “Bundan sonra ama bundan ötürü değil” der. Bu deyişi çağımızda kullanacak çok daha fazla yer var. Haberler, dedikodular hatta çevremizdeki insanların davranışlarını değerlendirirken bile olguların ardarda gelmesi ile neden sonuç zinciri kurmakta hiç zorlanmıyoruz.

Esrar içen bir adam düşünün. Bu adam günlerdir esrar içmediği halde arabasının arka koltuklarında pek kullanmadığı bir çantada bir miktar esrar unutuyor, daha sonra trafikte iken başka bir sürücü dikkatsizliğinden ötürü kaza yapıp ölüyor. Kaza yerine gelen gazeteci vaziyeti anladığında attığı haber başlığı ne olacak: Esrar bir can daha aldı. Dorbelli, *Art of Thinking Clearly * adlı kitabında buna benzer bir hikaye anlatıyor ve Düşünme hatalarımızdan birine daha vurgu yapıyor.

İki olay art arda gerçekleştiğinde galiba zihinsel kısa yollarımızın direkt olarak devreye girmesinden olacak hemen ilişki kuruyoruz. Daha da kötüsü aslında art arda gelmeyen olaylar arasında ise hiç bir ilişki kurmama eğilimindeyiz. Oysa tarih ve siyaset bilimi birbiri ile ilgisiz onlarca olayın aynı yerden kurgulanabildiğini veya aynı nedenden kaynaklandığını gösteren bir çok örnekle doludur.

Örneğin CIA’nın zamanında İranda Muhammed Musaddık’ın devrilmesi projesinde aktif rol aldığını itiraf ettiği hatta bu projeye TPAJAX dediği ifade edildi. Şimdi düşünün CIA bu durumu açıklamasaydı Musaddık’ı devirmek için yaptığı girişimleri, çıkan olayları ve iddiaları bizler belki tesadüfi belki de olayların kendi gelişimi içerisinde olağan olarak ele alacaktık.

Ardısıra gerçekleşen olayları yorumlamak sadece uluslararası politikada değil günlük hayatımızda da ortaya çıkıyor. Haberlerde örneğin zerdeçalın baş ağrısına geldiğine dair bir şey okuyoruz. Genellikle Türkçe haber siteleri bu sonuca nereden vardıklarını, hangi araştırmaya dayandıklarını zahmet edip yazmıyorlar. Ancak özellikle Amerika menşeli yayın organları ilgili refeans araştırmanın adını ve hangi dergide yayınlandığını açıkça yazarlar. Şimdi siz haberi duyduktan sonra başınız ağrıdığında zerdaçal aldınız ve kullanıdınız. O gün baş ağrınız dindi. Sebep zerdaçal mıdır? Başka faktörler, hatta tesadüf olabilir mi?

Çocuk psikolojisi ile ilgili de benzer hususlar vardır. Çocuğunuza şöyle davranın şöyle sonuç alırsınız diye onlarca farklı teori ve görüş var. Hepsinin ‘error’ verdiği anlar olmakta. Nitekim gerçeklik mutlak değil. Hele ki konu insan gibi ‘probabilistik’ bir sistemse. Deterministik sistemlerde (örneğin bilgisayar) verilen girdi ile sonuç arasında ilişki olmak zorundadır kural dışı davranışlara, tesadüflere yer yoktur. Ancak probabilistik sistemlerde açıklanamayan bir sürü davranış vardır. Böyle bir durumda hala sebep sonuç zinciri kurmak kolay geliyor mu?

Sebep sonuç zincirlerini kuran sadece bizler değiliz. Bazen ‘uzmanlar’ gerekli algıyı yaratmak için sebep sonuç zincirleri ihdas ederek piyasaya sürerler. Bu durumda gerçek olmayan sebep-sonuç zinciri uzmanlığın da yarattığı halo etkisi ve tekrarla artık ‘hakikat’ oluverir.

Dikkatli olun.

İngilizceyi hızlı ve etkili olarak öğrenme yolu


Aşağıdaki yazı YDS puanı 20 küsür puan olan biri tarafından yazılmıştır. Tabii ki bu eski puanım. Son sınavımda 86 aldım. Nasıl aldığımı ben de bilmiyorum. YDS kitabı yerine bol bol okuma ve İngilizce dinleme ile bunlar oldu galiba. YDS’nin dili ölçmediğini söyleyebilirim. Ancak istediğim İngilizce kitabı sözlüksüz veya sözlüğe çok az bakarak okuyan biri olarak “bildiğim miktarın işimi gördüğünü söylemeliyim. Hatta doktoramda bu özellik “hayatımı kurtardı”.

Hiç bir kursa gitmeden İngilizceyi öğrenmek hayatımın en eğlenceli işi oldu. Yurt dışına çıktığınızda kendi kendinize öğrendiğiniz bir dili sorunsuzca konuşup dostlar edindiğinizde “artık dünya benim” diyorsunuz.

Şimdi yan gelip yatmıyorum. Bir dil “tam bir dünyadır”. Büyük bir keyifle okumaya, öğrenmeye ya denemeye devam ediyorum. Bir dil sırf öğrenmek için değil o dili yaratan koca bir medeniyeti/medeniyetleri sindirmek için öğrenilmelidir.

Sınav teknikleri, formülize gramer tabloları, şıkları eleme metotları… Türk insanının İngilizce öğrenmek yerine “İngilizce’yi halledip” sonra da “takılmak” için çıkardığı “şeytan icatlarıdır”.

Babaannem Türkçe bilmediği için Kürtçe’yi de kendi kendine kitaplardan öğrenmiş, baba dili Kürtçe/Türkçe ana dili ise Türçe olan biri olarak bir dilin “değer” olduğunu özümsedim. Aşağıda serüvenim ve özellikle bana kılavuzluk eden “Fluent Forever” ve “Fluent in 3 months” adlı iki İngilizce kitaptan öğrendiğim özet metotlar var. Artistlik için yazmıyorum. Bir çok arkadaşım kurs olmadan nasıl halletiğimi sordular. Ben de yazdım:

Dil Öğrenmeye Nasıl Karar Verilir?

Bir yabancı dili öğrenmek, herhangi bir şey öğrenmekten çok daha fazlasıdır. Öğrenmek, kayıtlı ve tanımlı bir bilgiyi alıp onu kullanma olgusudur. Bir yemek tarifini öğrenir ve kolayca uygularsınız. Bir yabancı dilde ise tarife bakıp o dili kullanmaya başlamak diye bir durum mümkün değildir. Bu nedenle ülkemizde yıllarca okullarda formüllerle anlatılan ingilizce gramer kalıpları genellikle ‘ezberlenmekte’ ve unutulmaktadır. Hafızada kalsa bile kullanılamamaktadır. Çünkü dil öğrenmenin bir felsefesi vardır. Bu felfesenin ilk kuralı da dilin bir ‘düşünme biçimi’ olduğunu kabul etmektir. Felsefe demişken aklınıza karmaşık kurallar gelmesin. Sadece varsayımlarımızı ve alışkanlıklarımızı değiştirerek dil öğrenmeyi ertelenen ve sıkıcı bir süreç olmaktan keyifli bir hale getirebiliriz. Bu yazıda bunlara değineceğim. Serüvenim öğrendiğim bir kaç dile ve dil öğrenme üzerine okuduğum değerli bir kaç kaynağa dayanıyor. Bunların tamamını aktaracağım.

Bir dili öğrenmeye önce ‘karar verilir’. Saçma gelebilir ancak çoğumuz gerçekte dil öğrenmeye karar vermeyiz. Ya da yanlış şekilde veririz. İngilizce öğrenmek istiyorum şeklinde bir ifade bir karar değil istektir. İki yönden eksiktir. Birincisi: İngilizceyi ne kadar öğrenmek istediğinizle ilgili bir karar vermiş değilsiniz. Bu dili sadece günlük konuşmalar için mi yoksa Amerika’daki bir üniversitede doktora dersi vermek için mi istiyorsunuz. İkincisi: Bu dili ne kadar zamanda öğrenmeniz gerekiyor. Ömrünüzün sonuna kadar dil öğrenmeyi düşünmüyorsanız bunun bir süresi olmalı. Bu süre öğrendiğiniz dile ve anadilinize göre 3 ay ile 1 yıl arasında değişir. Anadili İngilizce olanlar için yabancı bir dilin kaç ‘saatte’ öğrenilebileceğine dair hazırlanmış çalışmalar var. Aslında dillerin öğrenilmesi saatler süren bir olgu. İş sadece günde kaç saat ayırdığınıza dayanıyor. Bu tablolar maalesef ana dili Türkçe olan bizler için geçerli değil. Çünkü dil öğrenme süreleri anadiliniz ile öğrenmek istediğiniz hedef dilinizin yakınlığına göre değişkenlik gösterir. Avrupa’da konuşulan dillerin çoğu ‘Hint-Avrupa’ dil ailesinden olduğundan (daha zeki olduklarından değil kompleks yapmayın) Avrupa’lılar doğal olarak İngilizce’yi bizden daha kolay öğrenirler. Öte yandan biz de kendi dilimize yakın olan (çok da yakın değil) Özbekçe, Kırgızca gibi ‘dilleri’ daha kolay öğreniriz. Dilsel olarak aynı koldan olmasa da Arapça ve Farsça’nın kültürel ve coğrafi yakınlığından ötürü de bir Amerika’lıya göre Arapça ve Farsça’yı daha kolay öğrenebiliriz. Sözü uzatmadan, özetle: Dil öğrenirken bir süreniz olmalı. Bu nedenle karar ‘beyanınız’ şöyle olmalı:

“İngilizce’yi hergün (ama hergün) 2 saat ayırarak 6 ayda, A2 seviyesine kadar getireceğim”

Bu tanımlmamada yer alan A2, A1 gibi kodlar (Avrupa dil düzey kodları) bir dili bilme düzeyi ile ilgili en net ve genel kabul görmüş tanımlardır. Bunlara göz atarak ‘hedef düzeyinizi’ seçmelisiniz. Hefef düzeyinizi neden YDS veya başka bir dil sınavı ile ölçmemeniz gerektiğini anlatacağım.

Ne için öğreniyorsunuz?

Dil öğrenmeye gerçekten karar verdiniz diyelim. Bu kararınızla beraber dili ne için öğrenmek istediğinizi de düşünmelisiniz. Genellikle bu soruya şöyle cevap verilir: İş amaçlı, hobi amaçlı ya da herhangi bir dil sınavı amaçlı öğreniyorum. Bu amaçlar da gerçek amaçlar değildir ve sizi sonuca götürmezler. Amacınız dile dair spefisik bir amaçla ilgili olmalıdır.
İngilizce haberleri anlayabilmek istiyorum, Çince günlük konuşmaları yapabilmek istiyorum ya da Fransızca akademik makale yazabilmek istiyorum gerçek bir istektir. Sınırları belli ve ölçülebilir hedefler yanlızca en önemli hususlara odaklanabilmenizi sağlarlar. Bunun için ne için öğrendiğinizden emin olun.

Kelime Ezberlemeyin, Kelime Öğrenin

Çoğu kişi ezberden şöyle der: Dil öğrenilirken kelime ezberlenmez kelimeler zamanla renilir. Bu iki önerme tek başına doğrudur ancak bir arada doğru değildir. Başka bir deyimle, ‘kelime ezberlenmez’ çünkü ezberlense de unutulur. Öte yanda ‘kelime zamanla öğrenilir’ bu da doğrudur. Ancak siz sadece bir şeyleri okuyup dinleyerek oturduğunuz yerden kelime öğrenmeyi düşünüyorsanız büyük ihtimalle bu yazıyı okuyorsunuzdur:) Kelimelerle ilgili öneri: Eğer herhangi bir metni okurken çoğu kelimeyi anlamıyorsanız “kelimeleri öğrenmelisiniz” yanlız bu öğrenme sadece anlamına bakarak olmayacaktır. Okuduğum ‘dil öğrenme’ kitapları ile kendi harmanım olan metot şu:

1- İngilizce metni okumaya başla. Anlamadığın bir kelime olan cümleyi sonuna kadar oku.
2- Anlamdığın kelimeyi Collins, Oxford veya Merriam-Webster gibi bir sözlükten kontrol et. Neden 1: Önce kelimeyi ingilizce açıklamasından okumak daha faydalıdır. 2: Halen hiç bir Türkçe online sözlük kelimenin cümle içinde geçiş şeklini göstermez dolayısıyla o kelimeyi öğrenmez sadece ezberlersiniz. Hatırlasanız bile asla kullanamazsınız. 3- Neden İngilizce-Türkçe yerine İngilizce-İngilizce sözlük kullanmalısınız başlıklı yazımı okuyune.
3-Anlamadığın kelimenin içinde geçtiği kısa bir cümle kur ancak bilmediğin kelime yerine nokta nokta koy. Bu cümlenin altına kelimenin Türkçe’sini yaz.
4-Daha sonra arka yüze cümleyi tüm olarak yaz ancak Türkçe anlamını yazma.

Örnek: Kelimemiz hardliner: muhafazakar olsun.
Kelime kartının ön yüzü: Hacı Kamil was a _______ old man. (muhafazakar)
Kelime kartının arka yüzü: Hacı Kamil was a harliner, old man.

5- Kelime kartının arka yüzüne dilerseniz hatırlatacak resim, kelimenin okunuşu veya kelimeyi hatırlatacak özellikle saçma sapan kısa bir hikaye yazabilirsiniz. Örneğin bu kartın arkasına “Hacı Kamil sert çizer, muhafazakardır” gibi ilgisiz bir kısa cümle de olabilir. Saçma gelebilir ama işe yarıyor.

6-İnekleme yerine profesyonelce kart oynayın: Aslında şimdi anlatacağım metodun daha kompleks hali SRS (Spaced repetition system) olarak bilinir. Leinter adlı bir bilim adamının icadıdır. Bu sistem kompleks bir sistem olduğundan başka bir yazıya (kısmetse) saklıyorum. Ancak kabaca şöyle anlatayım: İlk yazdığınız kelime kartını ertesi gün kontrol edin yüzü fark etmez, kelimeyi net hatırladıysanız bu kartı 4 gün sonra kontrol etmek üzere ayırın bu karta 4. güne kadar asla bakmayın. Eğer ertesi gün baktığınızda diyelim ki başka bir kartı hatırlamadınız, bu kartı da bir sonraki gün tekrar kontrol edin. 4. gün geldi, 4 gün bakmak üzere ayırdığınız kelimeye bakın, hatırladıysanız 8. gün bakmak üzere ayırın hatırlamadıysanız ertesi gün bir daha bakın. Bu metodun mantığı şu gerçeklik üzerine kuruludur: Beyin her gün gördüğü şeyi değil, tam unutmak üzere iken tekrar hatırladığı kelimeyi hatırlar. Bu nedenle ineklemek yerine tam unutacak iken “şu kelime neydi yaaa” moduna girin. Bu metodu ücretsiz olarak uygulatan ve kelime kartlarını otomatik olarak sizin unutma durumunuza göre tarihlere dağıtan mükemmel uygulama “Anki” yi kullanabilirsiniz. Anki görünüşte çok sıkıcıdır. Kelime kartlarını siz oluşturursunuz. Buna bazı arkadaşlarım, “ya ben niye kartı oluşturayım ki” diyor. Evet kelimeyi siz yazar yazmaz anlamını getirip karta çeviren Lingualeo, Vocabla gibi uygulamlar var. Ancak önermiyorum. O kelimeye efor harcamadıysanız o kelimeyi hatırlamayacaksınız. Hatırlasanız bile o kelime ile cümle kurmayacaksınız. Bir kelimeyi konuşmada kullanmıyorsanız o kelimeyi bildiğiniz düşünmeyin.

Öğrendiğiniz Kelimeleri Kullanın,

Kelimeleri öğrenmeye devam ediyorsunuz. Ben arkadaşlarımın deyimi ile “ingilizceyi halletmiş olmama rağmen” hale öğreniyorum. Sizde de alışkanlık yapacak. Peki kelimeleri nasıl kullanacaksınız. Cevap: Konuşarak ve yazarak. Bu kelimeleri kendi tarzınızla kullanmak onları içselleştirmenin en iyi yoludur. Yazmak için bir blog açabilir ya da bir defter alıp İngilizce günlük tutabilirsiniz. Ciddiye alın. Öğrendiğiniz dile aşık olun, onu gerçekten hayatınıza katın. Konuşmak için ise arkadaşlarınızla günlük 10-15 dakikalık düzenli konuşma seansları yapabilirsiniz. Bir kelimeyi öğrenir öğrenmez burada kullanmak gibi “kaçak yollara” girmeyin. Konuşmanızın akışı içerisinde “ezberlediğiniz değil öğrendiğiniz kelimeler” zaten akacaktır. Akıcı konuşmaya hoş geldiniz.

Dinleyin / İzleyin

Eğer öğrendiğiniz dili her gün en az yarım saat (bu benim limitim herkes kendine göre değiştirebilirsiniz) dinlemiyor iseniz en iyi İngilizce setleri bile boşa gider. Bebeklerin dil öğrenme metodunu kullanın: Dinleyin hem de can kulağı ile (can kulağı ile dinlemeye dair şu yazımı okuyun). Dinlemek için materyal sizin keyfinize kalmış: Altyazılı veya altyazısız (hiç takılmayın altyazılı mı altyazısız mı iyi meselesine) her gün bir dizi izleyebilirsiniz, İngilizce haberleri dinleyebilirsiniz. Ben genellikle izlemek yerine radyo dinlemeyi tercih ediyorum bu durumda gerçekten görsellere kapılıp gitmek yerine “kulağıma iş yaptırıyorum”. Dinlenecek kaynak önerisi ise “Voice of America” ve BBC. Bu kaynakların hem normal hem de basit ingilizce için ayrı sürümleri bile var. Voice of America için “learning english voa” ifadesini Google’a yazarsanız daha yavaş anlatımlı İngilizce ile özenle yazılmış İngilizce haberleri dinleyebilirsiniz.

“Dinliyorum ama anlamıyoruuuuum” modu: Bu mod normaldir. Anlamasanız da dinleyin. Anlıyormuş gibi yapın kendinize (başkasına yapmayın fena bozarlar:). Eğer vazgeçmezseniz kazancak olan sizsiniz bir gün takılmadan İngilizce konuşunca ne dediğimi hatırlarsınız. İngilizce bir söz “Fake it before make it”. Yapana kadar -mış gibi yapın.

Gevezelik Yapın

Benden daha iyi İngilizceleri olduğunu bildiğim bir çok dostum “mükemmeliyetçilikleri” yüzünden İngilizce konuşamıyor. Grameri dibine kadar kullanacağım derseniz konuşmaya hiç bir zaman başlayamazsınız. Ama “konuşacağım” derseniz gramer kendiliğinden öğrenilir ya da öğrenilmez ama hiç sorun yaşamazsınız (Amerikan Senato’suna konuşma yapmayacaksanız tabi). Bir yabancı dili kötü konuşmak “ayıp” değil “sempatik” olabilir. İngilizce gibi dünyada neredeyse herkesin 2. dili olan bir dil, ana dili İngilizce olanlar hariç herkes sonradadan öğrendi. Diğer dilleri öğreniyorsanız Türkçe’yi sonradan öğrenmiş yabancılara duyduğumuz sempatiyi hatırlayın. Yanlış bir telafuz ne kadar da “güzel” oluyor değil mi? Konuşacak kimse yoksa kendi sesinizi kaydedip dinleyebilirsiniz. Ya da italki.com gibi sitelerden konuşacak “adam/kadın” bulabilirsiniz.

Kitap Okuyun

Öğrendiğiniz yabancı dilde hangi seviyede olursanız olun seviyenize uygun kitaplar bulup düzenli olarak yani her gün okuyun. Kitabı elinizden düşürmeyin. Bitirdiğiniz her kitabın size “yeni bir dünyanın kapısını açacak” yerin merdiven basamağı olduğunu bilin.

Ayrıca İngilzice okumalarınızda çok işinizi görecek ve kendi yazdığım bir uygulamadan bahsetmek istiyorum. http://kolay-ingilizce-oku.appspot.com/
Bu uygulama ile istediğiniz metni sözlüksüz olarak okuyup anlamını bilmediğiniz kelimenin üstüne geldiğinizde o kelimenin anlamımını çift tıklayarak görebilirsiniz. Ayrıca bu kelimeyi arşivinize de ekleyebilirsiniz.

Disiplin Örneği Olun

Dil öğrenme ile ilgili başka bir çok tüyo var. Ancak insanlar genellikle bu tüyoyu alıp en fazla bir kaç hafta “gaza gelip” sonra sıkılıp bırakırlar. Bir turistle konuşamayınca kızıp kaldıkları yere geri dönerler ancak kaldıkları yer geriye gitmiştir. Bu nedenle hiç bitmez. Dil öğrenme “disiplin” ister. Bu sıkıcı görünüyor değil mi? Sıkıcı hale getirip getirmemek sizin elinizde. Can sıkıcı sınav kitaplarını alıp gramer ezberlemeye çalışırsanız buna zaten alışabiliyorsanız sorun vardır. Bunun yerine “sevdiğiniz konulardaki sevdiğiniz yabancı dildeki materyallerle” zaman geçirin. Disiplinin anahtarı: sevmek

Deneyimlerinizi Paylaşın

Deneyimlerini paylaşmanın, bilgiyi yaymanın “kutsallığına” ve bereketine inanıyorum. Bu nedenle lütfen kendi deneyimlerinizi herkesle paylaşın. Kendi özelimde, deneyimlerinizi bu satırların yazarına da iletmeniz (e-posta veya yorum kısmından) beni memnun edecektir. Hatta kendi sayfamda da paylaşmaktan memnun olacağım.

SQLServer’da “aritmetic overflow” hatası


SQLServer’da decimal sayı tanımlamalarında zaman zaman bu hatayla karşılaşılır. Rahat olun suçlu microsofttur. DECIMAL(10,2) demek virgülden ÖNCE 10-2=8 hane demek oluyor. Yani cins adamlar onlarca yazılım dilinde bu iş için daha kolay tanım varken neden yazılımcıya eziyet edersin:)

Şimdi aşağıdaki koda bakalım:

declare @t table (long decimal(10,6))

insert into @t VALUES (1000.0),(999.99),(11111.99)

SQL Server burada 11111.99 değerine kadar her şeyi düzgün insert ederken yukarıda tablo kolonu t değerini etmez çünkü virgülden önce 4’ten fazla hane var. Bu kodda decimal(10,6) kısmını long decimal(11,6) olarak değiştirirseniz kodunuz çalışacaktır.

Tecrübe 3: DECLARE kısımlarında tanımladığınız tiplere dikkat.

Int, Float, Double, Decimal… Yazılım’a giriş dersi neden önemlidir.


Yazılım’a giriş derslerinde her nedese ‘String’den önce hep sayısal değerler öğretilir. Hep de hızla geçilir. Integer akılda kalır, float ve decimal farkı hatırlanmaz. Ama gün gelir, parayla pulla ilgili bir uygulamayı yazar/geliştirsiniz işte orada küsüratlar kuruşlar değerli hale geldiğinde ilk derslerde duyduğunuz/okuduğunz şeyler durumu değiştirir.

Hikaye şuradan başlıyor: Daha önce C#‘da hazırlanmış ve parasal işlemlerle ilgili epey kompleks süreçler yürüten kodların veritabanıyla çok ilişkisi olması gerekçesiyle SQL Stored Procedure ile yeniden yazılmıştı.Yazılan bu kodlarda daha önce C#’da float olak tanımlanmış parasal değerler SQLServer’daki Stored Procedure’ler içinde yeni kodlarımızda Decimal(18,6) şeklinde tanımlanmıştı.

Günün birinde, Decimal(18,6)’nın float olmadığını gördük:) Saçma gelebilir ancak kodlarımızda C# tarafında diyelim ki 5.20 gelen (tabii ki 5.19 da gelecek) float değerlerin SQL Stored Procedure tarafında 5.2 olarak hesaplandığını gördük. Sonra da çözümü bulduk.

Biraz da modifiye ederek şu iki satırla öğrendik:


declare @x as float(24);

set @x = 7376.628 - 199.01 - 46.63
--set @x = @x - 199.01 - 46.63

select convert(decimal(10,6),@x)


Yukarıdaki kodları siz de deneyebilirsiniz. float değerinden 24 parametresini kaldırdığınızda ‘küsüratların intikamını’ görebilirsiniz.

Tecrübe: Sayısal değer tiplerini adam yerine koyun:)

Tecrübe 2: SQLServer’da da float var:) Hatta money tipi var.

SQL Server’da süper hızlı arama eklentisi


SQLServer’da bazen işler kolay olmaz. Çok fazla sayıda tablo,view, stored procedure ve fonksiyon olduğu zamanlarda şu kolon neredeydi diye aramak isteyebilirsiniz. Bunun için SQLServer herhangi bir araç sunmaz. Ancak bunun yerine bir ücrtesiz eklenti var. Bu eklenti ile tüm SQL veritabanınızda istediğiniz ifadeyi ‘şak’ diye blursunuz.

Eklentinin adı: SQLSearch
URL: http://www.red-gate.com/products/sql-development/sql-search/

Görüntü:

Python ile Net Bugünkü Değer Hesaplama


Agah A.Ş. tesislerinde kullanmayı düşündüğü bir makine
için dönem başında 11.000 TL yatırım yapmayı
düşünmektedir. İskonto oranı %10 olarak kabul edilmiştir.
Makinenin yıllar itibariyle sağlayacağı nakit girişleri
aşağıda gösterilmektedir.


Y1=2500
Y2=2600
Y3=4000
Y4=6000

Bu durumda projenin Net Bugün değeri ne olur?
Python’da şöyle hesaplarız


import math

YM=11000

IO=0.1

NBD=Y1/(1+IO)+Y2/(math.pow((1+IO),2))+Y3/(math.pow((1+IO),3))+Y4/(math.pow((1+IO),4))-YM

print(NBD)

Sonuç olarak 524 değerini alırız ki bu projemizin net bugünkü değeridir.

R’da tüm korelasyonları toplu göstermek


Verisetiniz içerisinde kaç parametre varsa bunların birbirleri ile ilişkisi için teker teker korelasyonlara bakmanıza gerek yok. R’da bu işlemi topluca yaparak zaman kazanabilirsiniz.

Veri Amerika’nın Wyoming eyaletindeki suç verileri (2013)

  library(xlsx)
  a=xlsx::read.xlsx("wyoming.xls",sheetName = "13tbl8wy"
                    ,as.data.frame = T
                    ,stringAsFactors=F)
  #NA konları sil
  a=a[colSums(!is.na(a)) > 0]
  #correlation pairs
  panel.cor <- function(x, y, digits = 2, prefix = "", cex.cor, ...)
  {
    usr <- par("usr"); on.exit(par(usr))
    par(usr = c(0, 1, 0, 1))
    r <- abs(cor(x, y))
    txt <- format(c(r, 0.123456789), digits = digits)[1]
    txt <- paste0(prefix, txt)
    if(missing(cex.cor)) cex.cor <- 0.8/strwidth(txt)
    text(0.5, 0.5, txt, cex = cex.cor * r)
  }
  pairs(a[1:5], lower.panel = panel.smooth, upper.panel = panel.cor)

#corelation pairs fonksiyonundan sonraki kısımla aşağıdaki gibi koralasyon tablosu elde edebiliyorsunuz.

Gördüğünüz üzere hem korelasyonlar hem grafikler kolayca eşleştirilebiliyor. Bu grafikten ne anlıyoruz. Wyoming için 2013 yılında şehir bazında nüfus ile işlenen şiddet içeren suçlar arasında ciddi ilişki var. O zaman küçük yerler daha güvenli olabilir. Ama kumarbaz yanılgısına düşmeyin. Küçük ihtimaller gelip sizi bulabilir.

Veri Bilimcinin Yol Haritası


Öğrenilecek şeyler çok olunca sadece onların listesini bile düzenli bir yerde tutmak gerekiyor. Yüzlerce farklı kaynaktan, röportajdan ve listeden derlediğim bir kısmını da daha önceden kullandığım ‘şeyler’. İşte veri bilimciliğinde öğrenilmesi gereken şeylerin ‘canlı’ ve yapılandırılmış listesi:

  • Kullanılışlı API’ler:

    • Bu API’ler özellikle sosyal medya madenciliğinde yararlıdır:
    • Facebook API
    • Quandl API (Finansal veri API’si)
    • IBM Watson API
  • Sık kullanılan güncel algoritmalar / modeller / teknolojiler:

    • Bir çok yerde karşınıza çıkacak öğrenilmesi gereken konular:
    • Artificial Neural Network
    • eXtreme Gradient Boosing
    • Elastic Net
    • Vowpal Wabbit
    • Factorization Machines
    • LibFFM
    • Regualized Greedy Forest (RGF)
  • Değerli portaller:

    • Bu portallere ara sıra bakıp, okumalı:
    • AnalyticsVidhya: Hintliler bu işi de kimseye bırakmamış.

    • KDNuggets: Öğrenme kaynakları

    • Özellikle tasvsiye: Kaggle: Açık yarışmalar,StoryCV oluşturma
    • Springboard : Veri bilimciler için iş ilan sitesi
    • DataKind : Gerçek veri bilim problemleri ile uğraşın
  • Veri Kaynakları ve Kaynak Listeleri

  • Kurslar:

  • Veri Görselleştirme Araçları:

  • R /Python Paketleri

    • El altında bulunması gereken R/Python paketleri
    • RVest: Web’den metinsel veri derlemek için
    • Python için RAKE algoritması kütüphanesi. RAKE unsupervized yolla metin sınıflandırma imkanı sağlıyor. Python paketi burada
  • El altı sunumlar:

    ** Bir kaç slaytla dertlere deva olanlar**:

  • Makale Listeleri/ Makaleler:

(CopyPaste ya da ‘phrapase’ etmeden önce bir kez daha düşünün:)

WordPress.com'da ücretsiz bir web sitesi ya da blog oluşturun.

Yukarı ↑