İnternet ve Sanat

Ta en başından beridir yazılıma sanatçı gözüyle bakılması gerektiğini söyledim. Mimarlıktan sırf  “sanal yapılar” inşaa edebilmek için vazgeçtim. Zira binaların yanında sanal mimari yapılar çizip dururdum. Bunun yanında hepsine kendimden bir şeyler vermeye özen gösterirdim. Bunu yaparken hem günün getirdiği modayı uyguladım, hem de uygulamadım. Ne demek oluyor bu?

Şu an popüler olan her şey, her proje için doğru mudur? Bu yapılar her moda gibi geçici bir akımın bir parçası olamaz mı? Ya da teknolojide neden mutlak doğru olmadığı anlaşılamadı hala?

Genelde ruhunuz, yenilikçiliğiniz pek aranan özelliklerinizden değildir. Etkin bir şekilde istenen şeyi dikkat, onların istediği şeyi yapmalısınız. Yenilikçi fikrinizin firmaya katacağı şeyin önemi yok, bunlara vakit de yok?

Herkes yapmış biz de onlara yaklaşalım mantığının yanında firmaya katmadeğer döndürecek projeler düşünmek her zaman, her kurum için avantaj olacaktır. Çin mantığını mı ele alıyoruz? Yapılmış güzel projeleri klonla, iyi veya kötü klonla fark etmez. Geleceği önemseme. Farklı varyasyonlarıyla piyasayı istila et?

Unutmayın, yazılımcılar da birer sanatçıdır. İçinde estetik olmadığını düşünse de koduna bakıp keyif alıyorsa yanılıyordur. Yaptığı işin geleceğini görsel olarak gözünün önünde canlandırabilenler şanslıdır, diğerleri de bunun için kendisini her an geliştirmeye bakmalıdır.

Bu sebeple internet sitesi dediğimiz şeyi sadece bir görsel olarak değil sanat olarak görmeliyiz. Mühendisler ise sanatın aynı zamanda kullanışlı olmasına dikkat etmeliler. Estetik kullanışlı olmadığında anlamlı olamaz artık günümüz teknolojilerinde. Eskiden (hala bu gibi uygulamalara ton para yatıranlar da var) bir flash sitesine binlerce dolar yatırım yapıp tek katmadeğer kazanamayan firmalar sırf görsele bakıp mutlu olurken, artık insanlar internetin bir gelir kaynağı olduğunu çözdüler ve onu en etkin bir şekilde kullanmaya çalışıyorlar.

Tek arzum şu işin ajanslar tarafından değil de mühendisler tarafından anlaşılıp anlatılmasında. Yoksa yerimizde saymaya devam edeceğiz.

ASP.NET MVC IIS 5.1 Kurulumu

Bir sürelik aradan sonra yeniden bilinmeyenlere döneyim dedim.

Türkçe ASP.NET makalesi az. Hele ki Microsoft yalakçılığı yapmadan yorum yazan az. Bir tane Windows XP ve IIS 5.1 kullananlar için ASP.NET’in sonunda çıkartmış olduğu MVC yapısının kurulumunu anlatan şey bulamamıştım. Tekrar hatırlayalım MVC neydi:

Model View Controller bir design patterndır. Bir ustanın fırçayı vuruş tekniği gibidir. Bir uygulamanın model, view ve controller adında üç temel parça içerisinde geliştirilmesi esasına dayanmaktadır.

- Controller: Uygulamaya gelen talepleri yöneten katmandır. Controller nesneleri içerisinde action adı verilen metotlar bulunur ve bu metotların görevleri gelen talepleri uygun View ve Model nesneleri üzerinden değerlendirmektir. Gelen sayfa talepleri URL bazlı olarak çözümleyerek ilgili action metoduna iletir. Controller içerisinde yer alan action metotları projenin View ve Model bileşenleriyle doğrudan iletişime geçebilir.
- Model: Uygulamanın veriye erişim ve iş mantığını gerçekleştiren nesnelerini saklayan kısmıdır.  LINQ to SQL (.dbml)  ile Entity Framework (.edmx) dosyaları veya DataTable, DataSet, DataReader gibi nesnelerle veri taşıyan tiplerimiz bu katmanda yer almaktadır. Veriye erişim gerektiğinde Controller ve View bu kısımda yer alan nesnelerle iletişime geçebilir.
- View: Projenin UI dosyaları burada yer almaktadır. Master sayfalar, .aspx sayfalar, user control’ler, yani kullanıcının göreceği dosyalar projenin bu kısmında yer alacaktır.

Yani anlayacağınız sisteminizi daha etkili yönetebilmenizi, kodlamanızı daha hızlı yapmanızı, getirdiği routing mekanizması ile URL’lerinizin /Urun/Liste/1 gibi güzel bir hale gelmesine yardımcı olur. Php’de mod rewrite ile halletttiğimiz bu olayı IIS 5.1′de nasıl konfigüre ederiz, asıl konumuz buydu.

1- IIS managerınızı açın
2- Sol taraftan MVC yapısı ile yapılandıracağınız web sitenize sağ tıklayın ve “Properties” kısmına gelin.
3- Daha sonra Virtual Directory sekmesindeki “Configuration” butonuna basın.
4- Burada hali hazırda uygulamanızdaki extension mappinler durur, buradan “Add” butonuna basın “Executable” kısmına “C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll” yazın. Windows başka yerdeyse arayın bulun. Gerçi önceki mappinglere bakacak olursanız orada da vardır, oradan kopyalayın.
5- Extension kısmına “.*” yazın.
6- Check that file exists kısmındaki checki kaldırın.

İşte bu kadar. Unutmayın bu olay test edilirken http://www.asp.net/MVC/download/ adresindeki en güncel eklenti kurulmuştu. Herhangi bir problemi yorum olarak girerseniz cevaplamaya çalışacağım ki güncel tutalım olayımızı.

(MVC tanımlamaları Uğur Umutoğlunun bir makalesinden araklanmıştır.)

İnternetteki ben ben ben ve egoizm sıçraması

Yeni bir teori var internetin yaygınlaşması ile süregelen; “fikrin değerini yitirmesi”. Etrafınıza bir bakın. İnsanların saygı duyduğu ve sözüne güvendiği, takip ettiği insanlar belli bir yaşa gelmiş, ciddi anlamda bir şeyler yapmış ve “her şeyini bilmediğimiz” kimseler. Yani ergenlik dönemlerinden ağızlarından çıkan anlamsız cümleleri takmadığımız ulvi şahıslar. İnternet ile birlikte, maddi durumu çok kötü olmayan ve 1990 yılından sonra doğan tüm çocukların “log”landığını sanırım herkes görebiliyor.

Kız arkadaşını facebook’tan arayan erkek,
Erkek arkadaşına dakikada 8 sms mesajı gönderen eli cep telefonuna yapışmış kız,
Kariyeri peşinde ona buna “linked.in” yapmak için bir tarafını yırtan, ama esasında sandalyesinden bile kalkmayan sözümona kariyerist?,
Mail ile tüm işlerini halletmeye çalışan iş adamı..
vs..

Bunlar beni ürkütüyor. Tamam başlarda iyiydi, “yeni insanlar tanımak, farklı bir sosyalleşme aracı keşfetmek, onu geliştirmek” kulağa iyi geliyordu. Ama şimdi çevreme baktığımda siz diyin freak ben diyim nerd, o desin “kafayı yemiş” birileri oluverdik. Eskiden birbirine benzeyen insanlar olmak için çabalayıp bunu şirin bulurken, şimdi aslında dikkatli baktığımızda hepimiz aynılaşıyoruz gibi geliyor bana. Zihinleri gelişmeyen, ortak görüşler kazanı içinde kavrulan, benzer ama farklı klonlar. Hani “sana çizilen bir kader var, sonun onun dışında olamaz” hadisesi varya, biz onu icat etmişiz bence. Ama bu çizgi görünmez-görünür.

Doğum yapan anne çocuğunun ilkokul, öss maceralarını, kariyer ve askerlik planlarını hatta emeklilik hayallerini daha bebeğini dünyaya getirmeden onun yerine düşler oldu. Anlatacak amma çok şeyim varmış, esas meseleyi kaçırdım. Aslında söyleyeceğim şey tüm bu karmaşada ortaya çıkan bilgi kirliliği içindeki karakterler. Kimin blogunu açsam kendisini “müthiş” gösterme çabası var. Ben kimim bölümüne girince karşımda “Einstein” var gibi hissediyorum ya da hissetmemi istiyor pek çok kişi. Bu da beni irite ediyor. Yani bir kişinin kendisi hakkında bunca şey yazabilmesi.. Ben CV doldururken bile “abartı mı oldu”, “acaba silsem mi” diye diye CV’mi kupkuru hale getiren biri olarak kendim hakkımdaki sayfayı buradan kaldırmaya karar verdim. Zira fikirlerimi birkaç ayda bir de olsa buraya yazmaya çalışıyorum, beni tanımak isteyen kendisi tanısın. Kuru CV’me bakmasın. İnternetten bana iş veren, beni seven biri olursa da artık, beni karşısına alır beni tanımak ister diye umut etmekten başka yapacak bir şey yok. Böbürlenmek, ona buna hava atmaya çalışırken oldukça ezik bir duruma düşmek bana göre değil sanırım, bunu anladım.

Neyse çok konuştum, görüşürüz.

Ne istediğimi biliyorum

Bu güne kadar internet alanında elimi atmadığım şey kalmadı. Yenilerine de el atmak istesem de artık buna pek zamanım yok. Bundan sonra tek yapmak istediğim bir şey var, o da yazılımcıları gerçek anlamda buluşturacak, ortak bir şeyler geliştirmelerine olanak sağlayacak bir platform. Hem sanal hem gerçek anlamda olmalı bu platform. Yok hayır birbirine hava atan, devamlı yabancı terimler konuşup kendisinin farklı ve başarılı olduğunu söylemeye çalışan kişilerden bahsetmiyorum. Ciddi anlamda kafa adamlar. Gerçekten bir şeyi geliştirmeyi seven kişiler. Bu anlamda hem kendini geliştirirken, hem de global anlamda yeni yazılım teknolojileri ortaya çıkarabilecek gerçek anlamda yazılımcılar, mühendisler. Sadece yazılım alanında da olmak zorunda değil. Her dal olabilir.

Hani her yerde gördüğünüz “seo 100 lira, web sitesi 200 lira, baba bu sitenin scripti var mı, adsense ile araba aldım, emeğe saygı” gibi gereksiz cümleler kuran kişiler değil, akademik anlayışa sahip insanlar toplanmalı. Bu kadar kopulmamalı. Web 1.0, Web 2.0 … Web n.0 gibi boş ve sadece etiket olan şeyler değil, arka planı ile uğraşacak kişilerden bahsediyorum.

Var böyle pehlivanlar biliyorum. Umarım karşılaşırız da adam gibi bir şeyler yaparız şu dünya için, yeter bu kadar bencillik. Umarım birileri de destek olur.. Sanmıyorum gerçi.

Yazılımdaki en büyük sır: İstersen her şeyi yapabilirsin!

İstersen her şeyi yapabilirsin!

İstersen her şeyi yapabilirsin!

Evet. Yeteri kadar deneyimi olmayan kişiler bunu pek bilmez ve devamlı kendilerini strese sokarlar gereksiz yere. Ama bu bir gerçektir. Önemli olan iyi analiz yapabilmek, düzenli bir program oluşturmaktır. Gerisi muhakkak gelecektir.

Elbette burada en önemli unsur bu şeyi “ne kadar istediğini” bilmek ile alakalıdır. Bunlardan ders çıkartmak isteyecek arkadaşlara tavsiye şöyle olacaktır ki, sakın kendinize minik hedefler koymayın. Güzel bir projeniz var onun çerçevesini yapın, ana hatlarını belirleyhin, onu ortaya çıkartmaya çalışın. Sakın bunlar yokken içini boyamaya kalkmayın. Anlamsız mı oldu? O halde biraz daha gerçekçi yaklaşalım.

Güzel bir web 2.0 projeniz var. Sizi aynı zaman da potansiye kullanıcıları heyecanlandırıyor. Siz projenin ana kısmını düşündükten sonra, proje planını yaparken hangi Ajax kütüphanelerini kullanacağınızı, hangi css classlarını kullanacağınızı düşerseniz projede kaybolursunuz. Doğru adımlama yapmaya özen göstermelisiniz. Bu projede ilk yapılması gereken adam başına işi hesaplamak, altyapı ihtiyaçlarını belirlemek, projenin benzer örnekleri varsa piyasadaki yerini öğrenip doğru yanlış teorilerini ortaya çıkartmak size oldukça farklı şeyler katacaktır. Daha sonra yazılımsal açıdan adımlamalar yapılmalı. Projenin hangi gün hangi aşamada olması gerektiğini güzelce planladıktan sonra işe girişmelisiniz. Yine “ben kahramanım, her şeye yeterim” diye düşünmemeli, muhakkak ekip çalışmasını hayatınıza katmalısınız. Zira kurumsal işlerin pek çoğu tek başına bir kişinin yapabileceği işler değildir, olsa bile hiçbir kurumsal firma tek bir kişinin büyük bir işi yapmasını arzu etmez. Grup olarak yazılım geliştirmek ise tek başına yazılı mgeliştirmekten çok farklıdır. Doğru kullanıldığında müthilş motive edici olabilirken, yanlış tercihler yüzünden zaman kaybına da yol açabilir. Bu yüzden yol arkadaşlarınızı da dikkatle seçmelisiniz.

O Caritas

Ah Cat Stevens. Senin o zamanlar yaptığın şeye pop deniyorduysa, şimdi pop müzik yaptığı söylenenler ne yapıyor ki? Sendeki o ruh, o samimiyet yok şimdilerde pek çok kişide. Yine hatırlatmalıyım ki hit olmayı başarmış  nadide “latince” şarkılardan biridir. Aslında ilahi gibidir. Dünyanın karmaşasını gördüğünü anlatır Stevens, dünyanının yanıp yıkıldığını anlatır ve “O Caritas” der, merhamet ister.

O caritas, o caritas
nobis semper sit amor..

Ha bir de hatırlatmalıyım bu albümde Cat Stevens her şeyin arkasındaki adamdı. Albümün künyesinde şöyle der:

Cat StevensSpanish guitar, acoustic guitar, electric guitar, electric mandolin, piano, electric piano, Böhm Diamond organ, RMI keyboard, synthesizer, penny whistle, drums, percussion, vocals, backing vocals

Söyledim gitti

İnsan ulaşılamayan şeyleri ister. Bu şeylere ulaştığında yeni ulaşamayacağını düşündüğü  şeyleri ister. Bu devinim insanın en ulaşamayacağı gerçeği olarak gördüğü ölümüne değin sürer gider.

Ölüm Allahın Emri

Arabesk desen değil, türkü desen değil.. Sen nasıl bir şarkısın heyhat. Barış Manço her şarkısı ile farklı, sesi ile farklı ama bu şarkısı apayrı. Hele ki o “of oof ” diyişi yok mu.

Akşam olunca kuşlar dönerken bir hüzün çöker dolar gözlerim
Issız ovaya yağmur inerken bir hüzün çöker dolar gözlerim
Kim aramış kim bulmuş dertlerine çare
Ölüm allah’ın emri ayrılık olmasaydı

Gün batısında sular kararır
Bir hüzün çöker dolar gözlerim
Karlı dağlardan aşan yollarda
Bir hüzün çöker dolar gözlerim
Kim aramış kim bulmuş dertlerine çare
Ölüm Allah’ın emri ayrılık olmasaydı

Yıllarca seni bekledim durdum
Göç vakti geldi artık yoruldum
İstemem tatsın aşk acısını her kim anarsa Barış adını
Kim aramış kim bulmuş dertlerine çare
Ölüm allah’ın emri ayrılık olmasaydı

RDA ile Mobil Cihazlar Üzerinde Uygulama Geliştirme

Türkiye’de pek bilinmeyen bir şey mobil uygulama geliştirme hadisesi. Bu sebeple sessizliğimi bir süreliğine mobil işlemler için bozacağım.

Ben de herkes gibi mobil cihazlara ilk baktığımda “ulen kim kullanır bunu” demiş ve pek küçümsemiştim. Zira bir bilgisayar gibi rahat gelmemişti, yazı yazmak bile çok zordu bir kere. Hem database olsa bile ne kadar büyüklükte bir boyutu kaldırabilecekti ki? Fakat elbette Microsoft bizim için pek çok şey düşünmüştü.

Mobil işlemler hala sınırlı. Elbette bluetooth, wireless gibi pek çok seçenek gelişti. Fakat bunların yaygınlaşması zaman alacaktır. Biz oldukça eski fakat gerek kullanım kolaylığı gerek pratikliği ile oldukça popüler olmuş RDA hususunda ilerleyeceğiz. Bir de merge replication var ama ona değinmeyeceğiz.

Öncelikle RDA nedir onu bir açıklayalım. RDA yani Remote Data Access, bir ana veritabanı ve buna bağlı local veritabanları arasında yapılan işlemleri sağlayan mimaridir. İyi de ne bu şimdi artist misin demeyin örnekle açıklıyorum hemen.

Bir satış temsilcisi düşünün, bu adam günde 50 firma gezecek diyelim. Firmasının sorumluluğu mümkün olduğunca elemanından verim almaktır. İşte burada mobil cihaz devreye girer. Bu adama bir PDA ya da ne varsa verilir. Adam çıkış noktasındaki servera gelir ve mobil cihazını ana servera bağlar. Sonra cihazındaki RDA ile geliştirilmiş uygulamasını açar ve kullanıcı adı şifresi ile “data alma” kısmına gelir. Bu işlem ile sunucudaki en güncel bilgileri alır ve yola koyulur. Bu bilgiler uygulamanın ihtiyaçlarına göre geliştirilir. Adamın satış rotasını çizelgeleyen, noıtlar alabileceği bir arayüz oluşturulabilir. Neyse adam gezer tozar, işlerini halleder şirketine döner. Elinde pek çok data oluşmuştur. Yine başladığı noktaya döner. Server’a cihazını bağlar, bu sefer “data gönderme” olayının gerçekleştiği ekrandan yaptığı tüm aktiviteleri içeren dataları gönderir. Böylece hem cihazı temizlenmiş, hem en son güncel bilgiler ana makineye gönderilmiş olur.

İşte bizim Mobil işlemlerimizde RDA ana mantıkta bunu yapar. Ne kadar güzel değil mi?

Peki nasıl yapar? Bir kere bizim bir IIS’e ihtiyacımız var. Bu abi cihaz ile server arasındaki local bağlantıyı sağlar. Diğer ihtiyacımız şüphesiz Microsoft Sql Server. Bir ana veritabanımız olacak ki ondan gidip bize özel dataları alalım değil mi? Alalım nereye alacağız? Evet bir de mobil cihazlar için biçilmiş kaftan olan Sql Server Compact Edition’a ihtiyacımız var. Bunu da mobil cihazımıza yükledikten sonra olan “helva yapma” hikayesine dönüyor.

RDA Ne Yapıyor?

Helvayı .net ile yapacağımızı söylemiştim. Bu platform bize üç ana fonksiyon sağlıyor. İlk ikisini yukarıda anlattım, hani data al data gönder. İşte bunları Pull ve Push fonksiyonalrı ile yapıyoruz. Pull veritabanından ilgili dataları çekmeye, push ise elimizdekileri sunucuya göndermemizi sağlar. Diğeri de SubmitSql fonksiyonudur. Bu doğrudan sunucu üstünde değişiklik yapmamızı sağlıyor. Bu pek gerekmez, ama gerekebilir de değil mi?

Konuyla ilgili müthiş bir makale zamanında csharpnedir.com’da yayınlanmış. Ben üstten bir değinmek istedim. Belki vakit bulursam pek benzeri olmayan örnekler de eklemek isterim. En azından güncel olsun. 10 yıllık bilgiler değil de son teknoloji nereye geldi öğrenmek lazım değil mi?

Hadi bakalım, iyi oldu bu yazı.

Site Ölçer ile sitenizin her şeyini öğrenin!

Dün bulduğum boş bir vaktimde her zaman aklımda olan orada burada dolaşmadan sitelerimin bilgilerini toparlayabileceğim bir site ölçüm cihazı yazdım. Belki işinize yarar diye sunuyorum. Bir de Alexa Türkiye sırasını ekleyeceğim bunu bana unutturmayın. Eğer bu fonksiyonunu ben yazdım diyorsanız lütfen paylaşın. Zira bu scripti hafif geliştirip sunmayı düşünüyorum.

Şuradan inceleyebilirsiniz:

http://www.abdullahonden.com/siteolcer