Etkinlik haftası

Bu hafta tam etkinlikler haftası oldu. .NET Architect Advisor 2011 sezonunun ilk toplantıları bu hafta düzenleniyor. Konuşmacılarımız, MCS’in tecrübeli danışmanı ve .NET AA toplantılarının gedikli konuşmacısı Batu Balkanlı ve Veripark’tan Gökhan Çakıroğlu.

Bir diğer önemli etkinlik de cumartesi günü öğlenden sonra Microsoft İstanbul ofisinde gerçekleştirilecek olan Yazgeliştir Gönüllüleri Toplantısı. Bu toplantı her zamanki seminer etkinliklerinden oldukça farklı özellikler barındırıyor. Her ne kadar günün sonunda sevgili Tamer Öz bu sene yazılımcıları bekleyen yenilikler hakkında bir sunum yapacak olsa da, toplantının asıl amacı Yazgeliştir’e gönül veren üyeleri ile Yazgeliştir yönetimini bir araya getirmek ve fikir alış verişini sağlamak.

Bu toplantıda aynı zamanda Yazgeliştir için düşündüğümüz yeniliklerin bazılarını paylaşıyor ve başlatıyor olacağız. Eğer siz de önümüzdeki dönemde Yazgeliştir’de faal olmak ve katkıda bulunmak istiyorsanız bu toplantıyı kaçırmayın . Yazgeliştir’in editörler toplantısı da aynı gün erken saatlerde gerçekleştirilecek. Hafta yoğun, arada iki gün de Bakü’ye gidip geleceğim ki, projeler de yolunda gitsin. Ekmek teknesi topluluk işleriyle yürümüyor.

Uncategorized içinde yayınlandı | Yorum bırakın

SQL Server kilitlerinde garip durum

Karşılaştığımız durum garip ya da bana öyle geliyor. Ortak kaynaklara kilit (lock) koymaması gerektiği halde SQL Server’ın bazı sorguları beklettiğini görüyoruz. Durumu açıklamaya çalışayım. Öncelikle elimizde iki alanı olan bir tablo var:

  • id bigint identity
  • content varbinary(8000)

bu tablodan bir seferde 10 kayıt seçip bunu siliyoruz. Aynı anda başka bir thread’in (ya da uygulama) aynı işi diğer bir 10 kayıt üzerinde de yapabilmesini istiyoruz. Bu yüzden silme sırasında kayıt seviyesinde kilit kullanmak ve okurken de kilitli kayıtları gözardı etmek istiyoruz, böylece kilitlere takılmayacağız. Sorunu oluşturabilmek için demostrasyon maksatlı olarak transaction’ı commit etmiyoruz. İşte sorgu:

set transaction isolation level read committed
begin tran

select top 10 * into #t2temp from T2 with (readpast)
delete from T2 where T2ID in (select T2ID from #t2temp with (nolock))
select * from #t2temp
--commit

Normal şartlarda bu sorguyu farklı Management Studio pencerelerinden çalıştırdığınız zaman herhangi bir sorun olmadan paralel olarak çalışabiliyorlar. Her satır için bir exclusive key lock konuyor ve bir birleriyle çakışmıyorlar. Örneğin üç pencereniz varsa bunlar farklı satırları okuyacağından 30 eXclusive lock ve ayrıca bir takım page ve object IX/IU (intent) lockları ile işlemler gerçekleştirilebiliyor.

Ancak neden olduğunu bilmediğim bazı durumlarda ortak bir satıra kilit koyarak diğer sorguların beklemesine neden olabiliyor. Aynı satırı hiç okumadığı düşünüldüğü zaman nasıl oluyor da aynı satıra kilit koyuyorlar, henüz anlayabilmiş değilim.

Birbirlerini bekler halde kilitlendiklerinde kilitlerin özeti şöyle gözüküyor:

DATABASE	S	52	1
DATABASE	S	53	1
DATABASE	S	56	1
DATABASE	S	57	1
KEY		U	53	1
KEY		U	56	1
KEY		U	57	1
KEY		X	52	10
OBJECT		IX	52	1
OBJECT		IX	53	1
OBJECT		IX	56	1
OBJECT		IX	57	1
PAGE		IU	53	1
PAGE		IU	56	1
PAGE		IU	57	1
PAGE		IX	52	10

son satırda kilitlerin toplam sayısı bulunuyor. Kilitli prosesleri görmek de mümkün:

52	0	MISCELLANEOUS
53	56	LCK_M_U                         	KEY: 8:72057594038648832 (1f001103463f)
56	52	LCK_M_U                         	KEY: 8:72057594038648832 (1f001103463f)
57	56	LCK_M_U                         	KEY: 8:72057594038648832 (1f001103463f)

Gördüğünüz gibi proses 56, proses 52’yi; 53 ve 57 de 56’yı bekliyor. Bu bile garip bir durum, çünkü 52 ve ardından 56 tamamlandığında 53 ve 57 hiç beklemeden tamamlanacak, oysa hepsi aynı anahtarı bekliyor.

Anahtarın içeriğini göremiyoruz, bildiğim kadarıyla böyle bir özellik yok. Ancak ID üzerindeki clustered index’i kaldırırsak doğrudan satır seviyesinde konan kilitten sayfaya ve oradan da veriye ulaşmak mümkün. Önceki denemelerimizde kilitli kaydın diğer sorgularda okunmayan bir kayıt olduğunu gördük. Bu yüzden de neden kilitlendiğini anlayamıyoruz.

Fikri olan varsa beri gelsin.

Bilgisayarlar ve Internet içinde yayınlandı | 2 Yorum

Yazgeliştir gönüllüleri biraraya geliyor

Yazgeliştir topluluğuna katkıda bulunan ve bulunmak isteyen tüm üyelerin biraraya geleceği bir toplantı düzenliyoruz: Yazgeliştir Gönüllüleri Toplantısı. 23 Ekim Cumartesi 13.00’da başlayacak toplantıda yazarlar, editörler ve etkinliklerde bizi destekleyen gönüllülerle buluşacağız. Her zamanki etkinliklerimizden farklı olarak bu toplantıda sunumlar yok, pek teknoloji de konuşmayacağız (ama toplantının sonunda bir teknik sunumumuz var tabii ki..). Bu toplantının amacı öncelikle topluluk yönetimi ile katılımcı üyeler arasında bir bağlantı kurabilmek ve işbirliğini arttırıcı faaliyetleri tartışmak olacak.

Yeni dönemde yazgeliştir değişmeye devam edecek, bu değişimde yer almak isteyen tüm üyelerimizi, fikirlerini paylaşmak, yeni yapı hakkında bilgi almak ve değişimde görev almak üzere toplantıya bekliyoruz. Toplantı İstanbul’da yapılacak, ama özellikle başta Ankara olmak üzere tüm Türkiye’den yazgeliştirde faal görev almak isteyebilecek herkesi bekliyoruz!

Bilgisayarlar ve Internet içinde yayınlandı | Yorum bırakın

Microsoft File Transfer Manager Error 12037

MSDN ve daha bir sürü Microsoft download’u için File Transfer Manager isimli uygulamayı kullanıyorsanız ve hiçbir açıklaması bulunmayan 12037 numaraları mistik hatayı alıyorsanız, opsiyonlarda bulunan HTTPS seçeneğini kaldırın, sorun çözülüyor. 
Uncategorized içinde yayınlandı | Yorum bırakın

TFS Repository’de metin arama

TFS’te saklanan kaynak kodlarında metinsel arama yapmak istediğiniz zaman bu özelliğin sağlanmadığını görüyorsunuz. Maalesef Microsoft kaynak kodları SQL Server’da tutun bir kaynak kod kontrol aracı üretmiş ancak dosya formatını FullText Search’ten faydalanamayacak şekilde düzenlemiş. Nedenini bilmiyorum, ancak 3. parti iki çözüm kullanarak bunu çözmek mümkün:
 
Birinci çözüm Microsoft’un SharePoint Search aracını kullanmak. Kurulumu ile ilgili bilgi bu blogda var: http://weshackett.spaces.live.com/blog/cns!41B731D6A8FE484A!353.entry?sa=14417836.
 
İkinci çözüm bir codeplex projesi: http://tfssearchcode.codeplex.com/.
 
 
 
 
Yazılım mühendisliği içinde yayınlandı | Yorum bırakın

THY sasirtti ve uzdu

Yillardir THY ile ucmayi tercih ettigimi ve milli havayolu olarak hizmeti ve basarilari ile gurur duydugumu her firsatta dile getirdigim bilinir. Ancak bu sefer THY hem sasirtti hem de uzdu! 15 dk kalmasina ragmen kapiya gittigimizde kapi kapanali bayagi olmustu, kapida kimse yoktu. Bizi ucaga alacaklarina valizlerimizi indirmeyi tercih ettiler. Gec kalan biz oldugumuz icin biz kabahatliydik ve itiraz imkanimiz olmadi. Cezamizi odedik ve 3 saat sonraki bir ucus icin tekrar bilet aldik. Macera bundan sonra basladi ve hala devam ediyor..
 
THY indirdigi valizlari almamiz icin 1 saat beklememiz gerektigini belirtti, ancak bir saatten fazla gecmesine ragmen bir turlu valizlerimiz gelmedi. Daha fazla gec kalmamak icin tekrar check-in kontuarina gittik, bize icerde elden aktaracaklarini ve merak etmememizi soylediler. Bes kisiye ait alti valizi birimizin adina kaydedip elden kartlari degistirmek icin birini yolladilar. Onu bekledik ve ilgili islemin yapildigi, merak etmemiz gerektigi bilgisini aldik. Ucaga binerken, demek o ana kadar soylenen "merak etmeyinler" bizi tatmin etmemis ki tekrar sorduk ve binis karti kontrolu yapan gorevli valizlerin ucaga yuklendigini sisteminden bakip teyit etti; icimiz rahatladi..
 
Bosunaymis, valizler Berlin’de cikmadi. THY ofisi bir sonraki ucakla gelir merak etmeyin dedi.. Gidip kayip bagaj kaydi yaptirdik, sonraki ucagi bekledik, gelmedi. Kayip bagajda gorevli Alman cumartesi olmazsa pazar otelinize ulastiririz dedi. Bugun ogrendik ki valizler henuz Istanbul’daymis ve daha bulunamamis. Ustelik kayip bagaj sadece hafta ici ve 9-5 calisiyormus. Daha da kotusu ellerinde 1000 bagaj ve kontrolden cikmis bir sorun varmis, bunu da Polonya’daki THY ofisinden ogrendik.
 
Kiyafetimiz olmadigi icin alisveris yapmak zorunda kaldik. THY bu durumlarda adam basi 50 dolar odermis, ancak bizim alti valizi bir kisiye bagladiklari icin geri kalanlarimiza herhangi bir odeme yapmazmis! THY yer personeli bize acikca yalan soyledi! Yuklendi denilen bagajlar hic yuklenmedi, hatta nerede oldugu bile bilinmiyor! Ustelik elimize gecmeme imkani oldugu halde hepsini bir kisiye baglayarak tazmin hakkimiz da engellenmis oldu! Yalan, dolan ve dalavera bireysel ya da kurumsal, bolgesel baglanti havayolu olmaya niyetli THY icin korkunc bir tecrube yaratti.
 
Umarim valizlerimiz tamamen kaybolmaz, en kisa zamanda buraya ulasir ki artik bundan pek umitli degilim ve THY hatasini telafi etmek icin caba harcar. Korkarim bu da cok umit vaat etmiyor.
Uncategorized içinde yayınlandı | 2 Yorum

Taktik ve Strateji

Takip edenler (evet sanırım birkaç kişi var..) bilirler, ara sıra taktik ve stratejinin arasındaki farkı anlatmaya girişirim. Bir açıklama da Ege Cansen hocanın dünkü köşe yazısından çıktı. Hoca der ki:
 

Yeterince açık sanırım.

Strateji içinde yayınlandı | 2 Yorum

Bulut hakkında endişelerim var..

Galiba yine akıntıya kürek çekiyorum, ama bulut bilişim bana göründüğü kadar güzel gelmiyor! Hatta hayatta hiçbir şeyin göründüğü kadar güzel olamayacağını düşününce bu işte tüm sorunlarınızın çaresi bulut dalgası (ne kadar pastoral!) bana truva atı gibi gelmeye başladı. Paranoyak olduğumu düşünebilirsiniz, ama takip edilmediğimi iddia edemezseniz!!
 
Hoşuma gitmeyen şeylerin başında, tamamıyla büyük üreticiye bağlanma fikri geliyor. Tamam zaten işletim sisteminden araçlara kadar bağımlıyız, ama şimdi operasyon ve veriyi de aynı kaynağa yollamak makul gelmiyor. Mesela Microsoft veya başka bir şirket meselesi değil; bakın bir zamanların özgürlük abidesi Google bugün sahadan yanlışlıkla topladığı network iletişimini yanlışlıkla (!) sakladığı için özür diliyor. Merak etmemek elde değil, acaba yanlışlıkla analiz de ettiler mi!
 
Yarın öbür gün bu şirketlerin yaşayacağı bir ticari ya da hukuki sorunun kurdukları bulut üzerindeki etkisini de düşünmek lazım. Telsim vakasını hatırlayın, zamanın hükümeti ile girdiği tartışma sonrasında aylarca kapsama sorunu yaşanmıştı. Amazon’un başına aynı şey gelir demiyorum, ama ciddi etkileri olan bir tekel davası hizmet seviyesini olumsuz etkiler mi, neden olmasın?!
 
Bu arada, bulutun kobiler üzerindeki olumlu etkisinden konuşuluyor ama kimse küçük boyutlu BT şirketlerinin kurduğu veri merkezlerinden bahsetmiyor. Şu anda bulutu destekleyenler yakın zamana kadar "hosted" hizmetleri öneriyor ve iş ortaklarının veri merkezleri kurmalarını destekliyordu. Bu veri merkezi şirketlerini uzun vadede ciddi sorunlar bekliyor artık.
 
Kurum içi bulut fikri gayet makul duruyor. Özellikle e-devlet hizmetlerini sağlayan kurumlara sağlanacak bir bulut bence makul, tabii ki yine yasal bir kurum tarafından barındırılması koşulu ile. Bu yönde çalışmalar olduğunu duyuyoruz.
 
Önerim, Microsoft gibi ana üreticilerin barındırma işinden çıkarak ürün sağlayıcı olarak yerel bulutların kurulmalarını desteklemeleri ve konsolide bulutlar için altyapıyı geliştirmeleri. Her yerde kobi’lerin güçlenmesinden bahsederken tüm hizmetleri birkaç şirketin bünyesinde toplamaya çalışmak kimsenin yutmayacağı bir ikiyüzlülükten başka birşey değil.
 
Bilgisayarlar ve Internet içinde yayınlandı | Yorum bırakın

twitter.com/keremozsu

Teknoloji, yazılım, BT yönetimi ve yönetişim, ulusal ve daha çok uluslararası politika konularındaki fikirlerim, http://twitter.com/keremozsu adresinde ve ingilizce. Biraz dar geliyor ama alışmaya çalışıyorum.
Bilgisayarlar ve Internet içinde yayınlandı | Yorum bırakın

Zirvenin ardından

Uzundur hazırlandığımız Yazgeliştir Zirvesi’ni tamamlayıp gerçek dünyaya dönüverdik. Güzel bir etkinlik oldu, beklediğimizden az katılımcı olmasına rağmen keyifli ve verimli geçti. Bir açılış ve 12 teknik sunum gerçekleştirildi, 500 kişi kayıt oldu, son hafta 170 kişi geleceğini teyit etti, 106 dinleyici katıldı. En azından yazgeliştir ekibinin bu tarz bir etkinliği kendi kaynakları ile organize edebileceğini görmüş olduk..
 
Katılımcıların değerlendirmeleri çok güzel, çoğunlukla cesaretlendirici övgüler ve tebriklerle dolu; tabii yönlendirici eleştiriler de var. Katılcılarımızın çoğunluğu tam zamanlı çalışanlar, yine çoğunluk yazılım geliştirici olarak çalışıyor, üçte biri bilgisayar mühendisi, bir diğer 1/3 ise programcı olarak beyan etmiş mesleğini. Bu demografik yazgeliştir.com’un hedef kitlesine ulaştığını gösteriyor. Çoğunluk zirvenin yıl içinde ikiden fazla tekrarını istemiş, bu da etkinliğin amacına ulaştığının ispatı.
 
Oturumların da genel olarak başarılı olduğunu söyleyebiliriz. Herşeyden önce tüm konuşmacılar zamanlamaya gayet dikkat etti ve büyük bir etkinliğin planladığı gibi bitirilebileceğini görmüş olduk. Salonları yöneten gönüllü arkadaşlar da bize çok yardımcı oldular, onlara da çok teşekkür ediyorum. 12 teknik oturumun 4 üzerinden değerlendirme ortalaması 3,43! 69 kişinin değerlendirdiği açılış oturumu ise 3,37 not almış. Konuşmacılarımızı tebrik ediyorum, bu ekiple etkinlik düzenlemek bundan sonra çok daha kolay olacak şüphesiz. Bir MVP’miz haricinde tüm konuşmacılarımızın yazgeliştir editörlerinden olması da yazgeliştir ekibinin gücünü gösteriyor.
 
Henüz önümüzdeki dönemin planları netleşmedi tabii, ancak şimdiden söyleyebilirim ki, zirvenin devamı gelecek. Senede ikiyi geçmeyeceğini ve sadece İstanbul’da olacağını tahmin ediyorum, ancak yazgeliştir Ankara’da da faal olmak için çaba harcayacaktır. Zirve için Ankara’dan gelen katılımcılarımıza bunu borçluyuz sanırım. Zirvenin formatında da bazı değişiklikler düşünmek gerekecektir; örneğin üç yerine iki paralel oturum dizisi, özellikle de salon yapısı düşünüldüğünde daha uygun olacaktır. Takvim olarak ilkbahar ve sonbahar ayları daha uygun gözükmekte, ancak gelecek ilkbahar zirvesi Mayıs’tan daha erken olacaktır. Haftaiçi ve haftasonu konusunda biraz tereddütteyiz, sanırım sonbahar zirvesini haftaiçinde görme olasılığınız daha yüksek. İnternet yayınları ile başımız dertte bu yüzden gelecek zirvenin internetten canlı yayınlanması işinde ben yokum, baştan pes ediyorum. Belki kayıt yapabilirsek daha sonra bunları siteden yayınlayabiliriz. Bu arada oturumlar da yakında yazgelistir.com’da yayınlanmış olur.
 
Sanırım 45 dakikalık oturumlar herkesi zorladı, belki gelecek zirvede biraz daha uzatabiliriz, belki bir saat daha uygun olacaktır. Bir de yemek konusu var, gelecek zirvede yemek vermesek, acaba nasıl olur? Yazgeliştir’in bütçesini sandviç ikram ederek harcamak bana anlamsız geliyor, üstelik olağanüstü lezzetli olduğunu söylemek mümkün değil! Sabah 10’dan akşam 5’e hiç yemeksiz de etkinlik nasıl olur ki?!
 
Yorumlarınızı bekliyorum..
 
 
Bilgisayarlar ve Internet içinde yayınlandı | 1 Yorum