Google Analytics İzleme

23 Ağustos 2012

Windows Sürümleri ve Adları


Windows 8 - 15.08.2012


Windows Server 2012 (x64) - 04.09.2012


Microsoft Windows 7 (Enterprise)
Version: 6.1.7601 Service Pack 1 Build 7601
22.07.2009


Microsoft Windows minimum hardware requirements (for x86 versions)
Windows versionProcessorMemoryHard disk
Windows 95[4]25 MHz4 MB~50 MB
Windows 98[5]66 MHz16 MB~200 MB
Windows 2000[6]133 MHz32 MB650 MB
Windows XP[7] (2001)233 MHz64 MB1.5 GB
Windows Vista[8] (2007)800 MHz512 MB15 GB
Windows 7[9] (2009)1 GHz1 GB16 GB
Windows 8[10] (2012)1 GHz1 GB16 GB

Kaynak:
http://en.wikipedia.org/wiki/Software_bloat



22 Ağustos 2012

Eğitim şart mı? BT’de Mesleki Eğitim Üzerine


Mesleki eğitim (professional/vocational training), kurumların sadece İnsan Kaynakları bölümlerinin değil aynı zamanda eğitim alacak kişilerin çalıştığı bölümlerin de sorumluluk alanına giren ve verimli bir şekilde halli hiç de sanıldığı kadar kolay olmayan bir iştir. Bu yazıda verimli bir mesleki eğitimin sahip olması gereken niteliklerinden ve uzunca bir süredir içinde bulunduğum, ülkemizdeki kurumsal Bilişim Teknolojileri (BT) eğitim sektöründen bahsetmek istiyorum.

Her ne kadar İngilizce’deki “education” ve “training” kelimeleri dilimize aynı sözcükle, “eğitim” olarak çevrilse de, aslında ikisi az-çok farklı kavramlardır. Bu konudaki yayınlarda, bu iki kavrama bir de “farkındalık” (awareness) eklenir ve bu üç kavram ile aslında birbirlerini takip eden ama gittikçe daha geniş ve karmaşık hale gelen zihni süreçler ifade edilir. Bu şekilde bir yaklaşımla başladığımızda, farkındalık, kişinin dikkatini çekme, bir olayın, problemin varlığından haberdar etme gibi anlamlar taşır. “Training” ise daha çok, kişiye belli bir işi yapacak şekilde yetkinlik kazandırma ya da onu bir konuda daha verimli hale getirme, olarak tanımlanabilir. “Education” anlamında eğitim ile daha tabi ve zaman yayılmış ve daha karmaşık süreçler kastedilir. Bu anlamda eğitim, kişiye sadece teknik yetkinlik kazandırmaz, o konudaki yaygın bilgi birikimini (body of knowledge) sunar ve eğitimi alan bireyi, konunun sosyal, kişisel vs. boyutları hakkında düşünmeye sevkeder. Karışıklığın önüne geçmek için mesleki eğitim olarak çevrilebilecek olan “training” ya da “professional/vocational training”, çerçevesi çok daha dar olarak belirlenmiş bir konuda, kişilere hızlıca teknik problem çözme kabiliyeti kazandırmayı hedefler. Buna karşılık eğitim ise kişiyi düşünmeye sevkeder ve düşünme için malzemeler sunar. Bu anlamda eğitim, daha çok bir gelişme/geliştirme yani olgunlaşma/olgunlaştırma sürecidir ve bu yüzden de evrimseldir. Dolayısıyla mesleki eğitim daha çok pratik ve uygulamalı olurken, eğitim, hem teorik bilgiyi hem de pratik uygulama becerisini kazandırmayı hedefler. Bu iki kavram arasındaki farkı sanırım en iyi anlatan, Tony Bray’ın “The Training Design Manual” isimli kitabının 35. sayfasında verdiği örnektir. Yazar, kendimizi henüz orta öğretime devam eden bir çocuk sahibi ebeveyn olarak düşünmemizi istiyor ve şu soruyu soruyor: Çocuğunuzun okulda cinsel konularla alakalı “education” mı yoksa “training” mi almasını isterdiniz? Çocuğunuza cinsel “education” yerine cinsel “training” verilmesi durumunda çok farklı tepki vereceğinizi söylüyor yazar. Bu güzel örnek aradaki farkı tamamen açıklıyor.

Biz bu ayrımdan sonra mesleki eğitime odaklanalım ve yazının kalanında eğitim deyince “training”i kastettiğimizi ifade edelim.

Eğitim, kurumlar açısından çok merkezi bir kavram tabiki. İster organizasyon teorileri ve örneğin Öğrenen Organizasyon (Learning Organization) açısından bakın ister Toplam Kalite Yönetimi, TKY (Total Quality Management, TQM) gibi daha sistemli bir noktadan bakın, isterseniz çok daha pratik açıdan bakıp, daha verimli ve üretken çalışanlara sahip olmayı isteyin ya da yeni bir teknolojie geçişten dolayı tamamen zorunluluk olarak görün, eğitim çok önemli. Biz bu gibi durumlarda, genelde gülümseyerek “eğitim şart” deriz; çünkü bu cümle en önemli sloganlarımızdandır.

Uzunca bir süredir BT eğitimleri ile ilgilendiğim ve ciddi miktarda Java ve Yazılım Mühendisliği’nin değişik konularında eğitimler ve eğitim ile ilgili danışmanlıklar verdiğim için (ve dahi ilköğretimde, lisede ve üniversitede, yurt içinde ve dışında eğitim alan çocukların babası da olduğum için, yani eğitime tonla para harcadığım için  gerek “education” gerek ise) “training” anlamında eğitimin pek çok farklı açısıyla ilgileniyorum.

Kurumlar çalışanlarını eğitirler ya da dış eğitim kurumlarından eğitim aldırırlar. Bunu hangi amaçlarla yaparlar? En genelde, şu ya da bu çapta, ama bir şekilde bir “değişim” ihtiyacına cevap olarak eğitim gündeme gelir. En azından değişimle, çalışanın yetkinliklerinde bir değişim hedeflenir. Peki nedir yetkinlik (competence)? Yetkinliğin ne olduğu ile ilgili detay tartışmalara girmeden, konumuz açısından son derece faydalı olan bir tanımından yola çıkarak, teknik eğitimlerin, yetkinlik geliştirmedeki rolüne odaklanabiliriz.

Yetkinlik, kişinin bir konudaki, bilgi, beceri ve davranış ve tutumlarının tamamına verilen isimdir. Yani bir konuda yetkin olmak ya da yetkinlik sahibi olmak, o konuda gerekli teorik bilgiyi bilmek, o konun gerektirdiği yapabilime becerilerine sahip olmak ve bu beceriyi, ihtiyaç olan her noktada yapıcı bir şekilde kullanabilmektir. İngilizce’de knowledge, skill ve attitude/behavior olarak ifade edilir ve genelde KSA olarak kısaltılır. Bu tanım, sosyal ya da psikolojik açıdan çok yeterli olmayabilir, yani örneğin “aşk” konusuna uygulamada çok aydınlatıcı olmayabilir ama bizlerin de içinde bulunduğu teknik konularda güzel bir modeldir. Bilgi/beceri/davranış yani BBD’den oluşan yetkinlik kavramını bir örnekle açıklayalım: Diyelim ki çocuğunuza ya da yeğeninize diş firçalamayı öğretmek istiyorsunuz. Aslında derdiniz sadece “öğretmek” değil, derdiniz, ona bu konuda yetkinlik kazandırmak yani onu diş fırçalamada yetkin hale getirmektir. Nasıl yaparsınız bunu? Öncelikle onunla konuşarak, diş fırçalamanın gerekliliğini ve bu konudaki en temel bilgileri verirsiniz ki bu yetkinliğin “bilgi” kısmına karşılık gelir. Yeterli midir? Tabi ki hayır, çünkü eğittiğiniz kişiye bu konuda bir beceri de kazandırmanız lazımdır. Bunun için onunla birlikte banyoya gider ve ona diş fırçalamada, hem kendiniz yaparak hem de onun yapmasını sağlayarak, bir beceri sağlarsınız. Macunu nasıl sıkacağını, fırçayı dişleri üzerinde nasıl hareket ettireceğini ve sonunda ağzını nasıl çalkalayıp temizleyeceğini hem siz yaparsınız hem de onun bir kere yapmasını sağlarsınız. Dişini bir kere hatasız fırçalayabilen çocuk, bu konudaki gerekli beceriyi de kazanmış demektir. Yeter mi sizce? Yetmez tabi ki. Çünkü önemli olan şey, nihayetinde çocuğun bu beceriyi, hayatına yayması, onu bir alışkanlık haline getirmesi, mesela yatmadan önce ya da yemeklerden sonra dişlerini fırçalamasıdır. Yani, bu beceriyi sürekli bir davranış olarak hayatına yayması ve bunu yaparken de olumlu bir tutum takınmasını beklersiniz. Yani çocuk, dişlerini isteyerek fırçalamalı, bunu temiz bir insan olmanın bir parçası olarak algılamalı vs. Bu da yetkinliğin tutum, motivasyon vb. boyutunu oluşturur.

Şimdi de isterseniz BBD anlamındaki yetkinliği, örneğin bir programcının birim testi (unit test) yetkinliği açısından açıklayalım. Programcıya, daha kaliteli kod yazabilmesinin birim testi yapmaktan nasıl geçtiğinin açıklanması ve programcının bu konuda ikna edilmesi, kullanılan teknolojiye göre birim testinin bileşenlerinin varsa araçlarının, test kodunun yazımının, etiketlerinin (tag) ve örneğin konfigürasyonun, derleme ve çalışma zamanlarının, yani tüm sürecin bileşenleriyle sistematik olarak açıklanması, bilgilendirme sürecini oluşturur. Bu sırada eğer bu yetkinlik teknik bir eğitimle kazandırılıyorsa, eğitmen, muhtemelen “Selam” gibi basit bir kod parçasından başlayarak birkaç farklı karmaşıklıktaki kod için kendi örneklerini çalıştırır ve benzer şekilde sınıftaki katılımcıların da bunu yapmalarını ister. Bu örneklerle katılımcılar yetkinliğin bilgi kısmını halledip yavaş yavaş beceri kısmına doğru ilerlerler. Sonrasında eğitmen, örneklere benzer uygulamaları, katılımcıların kendilerinin yapmasını ister. Yetkinliğin karmaşıklık seviyesine göre bu, bazen sınıfça, eğitmenin önderliğinde yapılır ve katılımcılar önce taklit ederler ve sonrasında kendileri, eğitmeni takip etmeden kendi uygulamalarını gerçekleştirirler. Böylece her katılımcı birim testi için gerekli beceriyi en az bir defa sınfta göstermiş olur. Peki, bir programcının kaliteli kod yazabilmesi için yeterli midir bu yetkinlik? Kesinlike hayır. Programcı, her yazdığı kod için birim testini uygulamalı, bu konuda yapıcı bir tutum geliştirmeli, mesela etrafına da yaymalı vs. ki bu konuda bir davranış ve alışkanlık geliştirmiş olsun.

Şimdi soru şu: Yetkinlik kazandırmak amacıyla çalışanlarımıza aldırdığımız eğitimden ne bekliyoruz? Yani bir eğitimden, örneğin, başka bir programlama dilinde tecrübeli programcıları, Java ile nesne-merkezli programlama yetkinliklerini kazandırmak amacıyla göndereceğimiz bir eğitimden, yukarıda detaylandırdığımız BBD anlamında ne bekliyoruz? Benim acizane cevabım şu: Hiç bir fikrimiz yok  Bu güne kadar, BT eğitimlerinde ne İK bölümlerinin ne de teknik bölümlerin, böyle bir eğitimden ne beklediklerini analitik ve rasyonel bir çerçevede açıklayabildiklerine malesef şahit olamadım. Genelde IK birimlerinin de olduğu eğitim ihtiyaç analizi toplantılarında, yukarıdaki BBD cinsinden açıklamayı ben yapıyorum  Bırakın yatırımın geri dönüşü (ROI) gibi teknik ve çok daha karmaşık ölçümleri, eğitimden gelen kişiden, eğitim sonrasında ne isteyebileceğimizi, istediğimiz şeyi ne kadar sürede ve ne kalitede yapacağını bile tahmin etmekten çok uzakız. Komik ama gerçek bu  Bir kurum, çalışanlarını eğitime gönderir de, eğitimden döndüklerinde ne durumda olacaklarını bilmez mi? Örneğin 5 günlük bir “Java’ya Giriş” isimli eğitimden sonra BBD anlamında bir programcının ne durumda olacağını bilmez mi? Bilmiyorsa, en azından bilene, mesela bana sormaz mı? Ya da sormadan anlattığımda ona göre davranmaz mı? Cevap, hiçbirini yapmaz. Sonra da “Eğitim Şart”ı dilimize pelesenk yaparız. Gıcığım ben bu slogana zaten. Sadece slogan cünkü, içi boş, lafı güzaf malesef. Neden böyle diyorum? Çünkü, ister kelli felli o kurumsal (!) BT kurumlarının ya da devasa BT bölümlerinin olsun ister ufak yazılım evlerinin olsun, eğitim ihtiyaçlarında hep aynı sıkıntıyı çekiyorum. Bir örnekle açıklayayım ama sıkı durun: Cok sık bir şekilde örneğin Cobol ya da Oracle Forms gibi yapılarla senelerini harcamış, bazen benden daha yaşlı programcılara 3 ya da 4 günde Java ile nesne-merkezli programlama öğretmem bekleniyor  Yani, Java’nın nasıl tanım tabanlı (specification-based) ve açık yapıda bir dil olduğundan başlayarak (ki burası çok önemlidir çünkü Java kültürünün çok temel bir parçasıdır ve genelde farklı programlama kültüründen gelenlerin anlamakta zorlandıkları ve bu yüzden de “Hangi Java’yı öğreteceksiniz” şeklinde sorular sordukları bir alandır bu), söz dizimi ve anahtar kelimelerini, kontrol yapılarını ve sonra gelen, pek çok programlama kültürüne göre Java’nın en ayırt edici yönünün ele alındığı sınıf ve nesne yapıları, sonrasında kalıtım, çok şekillilik, soyut yapılar ve arayüzler ve sonrasında sıra dışı durumlar ile temel Java yapılarının halledilip, üzerine torbalar, giriş-çıkış, kanallar ve JDBC’nin ele alınması ve bu konularda bir yetkinlik oluşturmak için 3 olmadı 4 gün, nasıl?  Ve bu konuları gören katılımcıların, bir projede yer almaları, kendilerine verilen programlama görevlerini yerine getirmeleri yani “yetkin” olmaları bekleniyor. Sonra da herkes birbirine soruyor, proje neden gecikti? Ya da Java’nın adı çıkıyor, “Java çok zor” ya da “Java’da kod geliştirmek çok yavaş”  Şaka gibi…

Peki, yukarıdaki konuları kapsayan bir eğitim, ne kadar sürede nasıl bir yetkinlik kazandırabilir? Bu konularla ilgili gerekli bilgi için rahatlıkla 5 güne ihtiyaç vardır. Eğer eğitimde bilgiden beceriye de geçmek istiyorsak ki tabi olan budur, katılımcıların, eğitmenin bilgilendirirken verdiği örneklere benzer örnekleri yapmaları gereklidir ve bu durumda böyle bir eğitim rahatlıkla 10 güne çıkar. Burada dikkat çekilmesi gereken şey, böyle bir eğitimde beceriyi her konuda kazanmanın mümkün olmadığıdır. Sınıfta katılımcıların ne kadar kendi uygulamalarını yapabileceklerini belrileyen en temel şeylerden birisi, sınıfın mevcududur örneğin. Katılımcıların hangi konularda kendi uygulamalarını yapacakları, hangi konularda eğitmenin örnekleriyle yetinip, örneğin eğitim sonrası kendi gayretleriyle beceri kazanmaya yönelik olarak kendi uygulamalarını yapacaklarını belirlemek çok önemlidir.  Ama kesin olan şey şudur ki, 10 günlük böyle bir eğitimde bile katılımcılar, eğitmenin örneklerinin çok iyimser bir tahminle, yaklaşık 3′te birinde kendi uygulamalarını yapabilmektedirler. Burada şunu atlamamalıyız: İster bilgi tarafı ister beceri tarafı olsun, aslolan anlamadır, yani katılımcının anlamasıdır ve katılımcının örnek uygulamayı yapmış olması bile onun konunun her yönünü anladığını göstermez, çünkü burada “training” anlamında bir eğitimden bahsediyoruz. Yani örneğin neden “Java’da mesela kanal yapısı böyle kurgulanmış da .NET’deki gibi şöyle kurgulanmamış” sorusu nefis bir tartışma konusu olmakla birlikte, “training” anlamında bir eğitimin konusu olamaz. Bu olsa olsa, Programlama Dilleri isimli bir master dersinin konusu olabilir ki bu da zaten “education” anlamında bir eğitimle halledilir.

Davranışa gelirsek, sınıf içi eğitimle, yetkinliğin, davranış kısmını kazandırmanın mümkün olmadığını ifade etmek gerekir. Yani sınıf içi eğitim, davranış kazandırmaz, bu çok açık. Peki davranış, tutum nasıl kazandırılır? Tabi ki eğitimin bir parçası olarak ama sınıf eğitiminden sonra yapılacak bir workshop ile davranış kazandırmaya başlarsınız. Yani alınan eğitime uygun içerikte, örneğin 5 günlük bir sürede yapılacak küçük bir proje çalışması ile katılımcılar, bilgilerini kullanma imkanı bulurlar, becerilerini geliştirirler, eksik kalan becerileri tamamlarlar ve davranış olarak da, özellikle eğitmenin liderliğinde, gerek taklit gerek ise tartışma yoluyla davranış geliştirmeye başlarlar, becerilerini her durumda ve hızlıca nasıl yerine getireceklerini öğrenirler. Bu tipik usta-çıraklık ilişkisidir. Ve teknik yetkinlikler ancak ve ancak bu şekilde elde edilirler. Usta-çırak ilişkisine girebilmek için gerekli altyapı ise sınıf eğitimiyle verilir. Bu anlamda sınıf eğitimi bilgi-beceri yoğun, workshop ise beceri-davranış yoğun yapılardır.

Eğitim ile ilgili kitaplarda otoriteler, eğitim hayat döngüsünden bahsederken workshopı da muhakkak dahil ederler. Bunun sebebi de sınıf eğitimiyle, bilgi ve bir miktar beceriye elde edilen kişilerden, projelerin gerektirdiği davranışı göstermeyi beklemenin haksızlık ve yanlış olduğu gerçeğidir. Ülkemizde workshop alışkanlığı çok ama çok azdır. Ben çok az müşterime bunu kabul ettirebiliyorum. Çoğu zaman yukarıda bahsettiğim 10 günlük eğitimi bile 3-4 güne sığdırmam istendiğinden, tabi olarak ben de 10 gün eğitim ve üzerine 5 gün workshop, dolayısıyla 15 gün diyemiyorum. 200 bin TL’lik bir mala birisinin 10 bin veririm demesi gibi bir durum bu   Workshopı yapmamak için en sık söylenen sebep, “zaman yok”tur. Halbuki projenin gecikmesinin en temel sebeplerindendir yetkinlik eksiği. Bir diğer argüman da, “katılımcılar zaten eğitimden sonra projeye girecekler ve orada kod yazacaklar”dır. Bu da farkedileceği gibi, workshopın ne anlama geldiğini anlamamaktan kaynaklanan bir argümandır. Workshopta yazılan kod, gerçek kod değildir ama projede yazılan kod gerçek koddur. Yani söylenen şey, tatbikat yapmadan askerlerin doğrudan savaşa girip gerçek mermileri kullanmaları ya da Tıp öğrencilerinin, ameliyat yapan hocalarını izlemeden doğrudan ameliyata girmesidir. Sonra neden hasta öldü demenin bir anlamı yok bence

Teknik eğitimin, ülkemizdeki yapıldığı haliyle, ciddi problemleri var. Örneğin eğitmen kirliliği, içerik kirliliği, bir ihtiyaç analizi yapmadan eğitim satan ya da alan kurumlar, eğitimi mala indirgeyen dershane mantığındaki eğitim kurumları vs. Bunlara daha sonra değiniriz.

Ama şu bir gerçek: Eğitim şart

Kaynak:
http://www.javaturk.org/?p=576

17 Ağustos 2012

.Net ve ASP.Net Teknolojileri Sürüm ve Adları

Toplu Paket Halinde Gelen Teknolojiler:
ASP.NET 5/MVC 6 and .NET Core (aka dnxcore50)
.NET Core framework is a new light weight cross platform version of .NET that will be supported by Microsoft on Windows, Linux, and Mac. MVC 6 is the unification of previous MVC concepts with those of Web API.
DNX: Dotnet Execution Environment


--

ASP.NET MVC:
MVC 5.0 - ASP.NET and Web Tools 2013.1 for Visual Studio 2012 - 13.11.2013 (ASP.NET 4.5, Microsoft .NET Framework 4.5.1)
ASP.NET MVC 5, Web API 2, Scaffolding and Entity Framework 6 to users of Visual Studio 2012 and Visual Studio 2012 Express for Web
http://www.microsoft.com/en-us/download/details.aspx?id=41532


MVC 4.0 - ASP.NET MVC 4 for Visual Studio 2010 SP1 and Visual Web Developer 2010 SP1 - 26.10.2012 - (for .NET 4, ASP.NET 4)  - http://www.microsoft.com/en-us/download/details.aspx?id=30683
Which .NET framework with MVC 4? : http://stackoverflow.com/questions/12088902/which-net-framework-with-mvc-4

MVC 3.1 - ASP.NET MVC 3 Tools Update - 20.09.2011 - ( for .NET 4, ASP.NET 4 )
http://www.microsoft.com/en-us/download/details.aspx?id=1491

MVC 3.0 - ASP.NET MVC 3 RTM - 12.01.2011 - ( for .NET 4, ASP.NET 4 )

---
ADO.NET Entity Framework:
4.1.10715.0 - ADO.NET Entity Framework 4.1 - Update 1 - 22.07.2011 - ( for .NET 4 )
4.1.10331.0 - ADO.NET Entity Framework 4.1 - 08.04.2011 - ( for .NET 4 )

--
Microsoft Visual Studio:

Microsoft Visual Studio 2015 Update 1
21.11.2015
https://www.microsoft.com/en-us/download/details.aspx?id=49989
https://www.visualstudio.com/en-us/news/vs2015-update1-vs.aspx


Visual Studio 2015 and .NET 4.6
10.07.2015
https://www.microsoft.com/en-us/download/details.aspx?id=48143
http://blogs.msdn.com/b/somasegar/archive/2015/07/20/visual-studio-2015-and-net-4-6-available-for-download.aspx
https://www.visualstudio.com/news/vs2015-vs


.NET Framework 4.5.1 Developer Pack Multi-targeting pack for Visual Studio 2012 - 12.10.2013
https://www.microsoft.com/en-us/download/details.aspx?id=40772
.net framework 4.5.1 missing from Visual Studio 2012: http://stackoverflow.com/questions/25553025/net-framework-4-5-1-missing-from-visual-studio-2012

Visual Studio 2012 Update 1 (Visual Studio 2012.1) - Multi-language -
26.11.2012
http://www.c-sharpcorner.com/news/2139/visual-studio-2012-update-1-now-available.aspx

Visual Studio 2012 and .NET 4.5
15.08.2012
http://blogs.msdn.com/b/somasegar/archive/2012/08/15/visual-studio-2012-and-net-4-5-now-available.aspx
http://blogs.msdn.com/b/somasegar/archive/2012/09/12/visual-studio-2012-and-net-4-5-launch.aspx


2010 SP1 - Microsoft Visual Studio 2010 Service Pack 1 - 03.03.2011 - ( for all editions of Visual Studio 2010 (Express, Professional, Premium, Ultimate, Test Professional )
2010 - Microsoft Visual Studio 2010 Professional - 12.04.2010

--
Microsoft .NET Framework:

4.5 - Microsoft .NET Framework 4.5 - 9.10.2012 - http://www.microsoft.com/en-us/download/details.aspx?id=30653
4.0 - 4.0.30319.1 - Microsoft .NET Framework 4 - 12.04.2010 - (dotnetfx40)
3.5 SP1 - Microsoft .NET Framework 3.5 Service Pack 1 - 18.11.2008 - (dotnetfx35)
3.5 - 3.5.21022.8 - Microsoft .NET Framework 3.5 - 20.11.2007 - (dotNetFx35)
3.0 - 3.0.4506.30 - Microsoft .NET Framework 3.0 - 21.11.2006 - (dotnetfx3)
2.0 SP2 -  - Microsoft .NET Framework 2.0 Service Pack 2 - 16.01.2009 - (NetFx20SP2)
2.0 SP1 -  - Microsoft .NET Framework 2.0 Service Pack 1 - 19.11.2007 - (NetFx20SP1)
2.0 - 2.0.50727.42 - Microsoft .NET Framework 2.0 - 2005-11-07
1.1 - 1.1.4322.573 - Microsoft .NET Framework 1.1 - 2003-04-24
1.0 - 1.0.3705.0 - Microsoft .NET Framework 1.0 - 2002-02-13


Kaynaklar:
.NET Framework
http://en.wikipedia.org/wiki/.NET_Framework




İş Hayatı - IT’de nitelikli işgücü krizi ve çözümü

Webrazzi'de yayınlanan "IT’de nitelikli işgücü krizi ve çözümü" yazısına ilginç ve anlamlı yorumlar yapıldı ve yapılıyor. Kesinlikle sektörümüzü analiz etmeye yarayacaklar yorumlar var :)

IT’de nitelikli işgücü krizi ve çözümü
http://www.webrazzi.com/2012/08/16/itde-nitelikli-isgucu-krizi-ve-cozumu/


15 Ağustos 2012

SharePoint Sürümleri ve Adları


SharePoint Server 2013

15.0.4420.1017 - SharePoint Server 2013 - RTM - 24.10.2012 - https://msdn.microsoft.com/en-us/subscriptions/securedownloads/hh442898.aspx#searchTerm=&ProductFamilyId=492&Languages=en&PageSize=10&PageIndex=0

SharePoint Designer 2013 - RTM - 30.10.2012 - http://www.microsoft.com/en-us/download/details.aspx?id=35491





SharePoint Server 2010

... - SharePoint 2010 - Service Pack 2 - 16.07.2013 - http://blogs.technet.com/b/office_sustained_engineering/archive/2013/07/16/office-2010-and-sharepoint-2010-service-pack-2-availability.aspx

14.0.6029.1000 - SharePoint Server 2010 - Service Pack 1 - June 24, 2011
14.0.4762.1000 - SharePoint Server 2010 - RTM - May 2010


SharePoint Foundation 2010

14.0.6029.1000 - SharePoint Foundation 2010 - Service Pack 1 -
14.0.4762.1000 - SharePoint Foundation 2010 - RTM -

MOSS 2007


12.0.6608.1000 - MOSS2007 - Service Pack 3 - October 24th, 2011
12.0.6421.1000 - MOSS 2007 - Service Pack 2  - April 21, 2009
12.0.6219.1000 - MOSS 2007 - SP1 - December 11, 2007
12.0.4518.1016 - MOSS 2007 - RTM -

Windows SharePoint Services 3.0

12.0.6608.1000 - WSS 3.0 - Service Pack 3 - October 24th, 2011
12.0.6421.1000 - WSS 3.0 - Service Pack 2 - April 21, 2009
12.0.6219.1000 - WSS 3.0 - SP1 - December 11, 2007
12.0.4518.1016 - WSS 3.0 - RTM -


SharePoint Versions
http://www.todd-carter.com/sharepoint-versions/
SharePoint 2010 Versions
https://www.nothingbutsharepoint.com/sites/devwiki/SP2010Admin/Pages/SharePoint%202010%20Versions.aspx
SharePoint 2010 Version Numbers & Downloads
http://www.justgeeking.net/blog/?p=97
Microsoft SharePoint
http://en.wikipedia.org/wiki/Microsoft_SharePoint
How to determine the installed SharePoint version
http://insomniacgeek.com/how-to-determine-the-installed-sharepoint-version/
SharePoint 2010 Build Numbers
http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=224
Compare SharePoint Editions
http://sharepoint.microsoft.com/en-us/buy/pages/editions-comparison.aspx





Sql Server Sürümleri ve Adları



11.0.2100.60 - SQL Server 2012 - RTM - March, 2011

10.50.2500 - SQL Server 2008 R2 - SP1 - July, 2011
10.5.1600 - SQL Server 2008 R2 - RTM - April, 2010


10.00.5500 - SQL Server 2008 - SP3 - October, 2011
10.00.4000 - SQL Server 2008 - SP2 - September, 2010
10.00.2531 - SQL Server 2008 - SP1 - April, 2009
10.00.1600 - SQL Server 2008 - RTM - August 2008

9.00.5000 - SQL Server 2005 - SP4 - December 2010
9.00.4035 - SQL Server 2005 - SP3 - November, 2008
9.00.3042 - SQL Server 2005 - SP2 - March, 2007
9.00.2047 - SQL Server 2005 - SP1 - April, 2006
9.00.1399 - SQL Server 2005 - RTM - January, 2006



Microsoft SQL Server Version List
http://sqlserverbuilds.blogspot.com.tr/


SQL Server Version History
http://blogs.msdn.com/b/pamitt/p/sql_version_history.aspx

How to determine the version and edition of SQL Server and its components
http://support.microsoft.com/kb/321185

Microsoft SQL Server
http://en.wikipedia.org/wiki/Microsoft_SQL_Server


13 Ağustos 2012

Asp.net web form - istemci tarafında disabled yapılan input değerleri asp.net sunucu tarafına taşınmıyor

Jquery ile client tarafında bir textbox'ın value bilgisine yeni değer atayıp sonra disabled yaptım.
Ancak server side tarafında bu textbox'ın text değeri boş geldi.
Bundan dolayı input textbox'ını disabled yapmak yerine readonly yapmak gerekmektedir.

Hata veren örnek kod:

<script type="text/javascript" language="javascript">

        $(document).ready(
            function () {
                fnSetPrivateCourseName();
                $("#<%=cbDidNotGoToCourse.ClientID%>").click(function () {
                    fnSetPrivateCourseName();
                });
            }
        );

        function fnSetPrivateCourseName() {

            if ($("#<%=cbDidNotGoToCourse.ClientID%>")[0].checked) {
                $("#<%=txtPrivateCourseName.ClientID%>").val("Hayır, dershaneye gitmedim");
                $("#<%=txtPrivateCourseName.ClientID%>").attr("disabled", "disabled");
                //$("#<%=txtPrivateCourseName.ClientID%>").attr("readonly", "readonly");
            }
            else {
                $("#<%=txtPrivateCourseName.ClientID%>").val("");
                $("#<%=txtPrivateCourseName.ClientID%>").removeAttr("disabled");
                //$("#<%=txtPrivateCourseName.ClientID%>").removeAttr("readonly");
            }
        }

    </script>

disabled yapmak yerine readonly yapmak gerekmektedir.

Kaynak:
http://stackoverflow.com/questions/7059589/jquery-submit-change-input-value-before-post

Güncelleme: 15.11.2012

Temel html form mimarisine göre Disabled yapılan input değerleri html formundan submit edilmemektedir.

Disabled <input> elements in a form will not be submitted.


HTML <input> disabled Attribute
http://www.w3schools.com/tags/att_input_disabled.asp


JavaScript: Preventing Double Form Submission
http://www.the-art-of-web.com/javascript/doublesubmit/


Attributes for <INPUT ...>
DISABLED
READONLY
http://www.htmlcodetutorial.com/forms/_INPUT_DISABLED.html





mvc 3 - ASP.NET MVC Error Handling Flowchart



Kaynak:
http://www.compiledthoughts.com/2012/02/aspnet-mvc-error-handling-flowchart.html


12 Ağustos 2012

İş Hayatı - Şirketler iş mülakatını stres testi sanıyor


İş mülakatları sırasında bazı insan kaynakları çalışanlarının yargılayıcı ifadeler kullanması tepki çekiyor. GlobalCv Yönetim Kurulu Üyesi Ertan Kirik, mülakatı yapan kişinin sinir bozucu jest ve mimikleri nedeniyle adayların başarısız bir görüşme gerçekleştirdiğini belirterek, "Bir başka hata da adayın sabah aranıp öğlen görüşmeye çağrılması." dedi.
İş hayatına adım atmanın önemli unsurlarından iş mülakatını Türkiye'de şirketler çoğu zaman stres testi olarak algılıyor. İnsan kaynakları çalışanlarının ya da işe alan pozisyondaki kişilerin görüşme sırasında yargılayıcı ifadeler kullanması birçok zaman teknik bilgi ve yeterlilik arayışının önüne geçiyor. Mülakatı yapanın tepeden bakma eğilimi, sinir bozucu jest ve mimikler ise karşısında zaten heyecanla duran adayların başarısız bir görüşme gerçekleştirmesine sebep oluyor. Bu şekilde yapılan iş görüşmelerinin etik bir davranış olmadığı konusunda uyaran uzmanlar, yöneticilerin gelen adaylara karşı nezaketli olması durumunda potansiyellerini daha rahat ölçebileceğini söylüyor. Sağlıklı işe alım sürecinin en önemli etkeninin profesyonel bir iş görüşmesi olduğuna dikkat çeken GlobalCv Yönetim Kurulu üyelerinden Ertan Kirik, açık arayıcı olmak yerine tanımaya yönelik önyargısız sorular sorulmasını tavsiye ediyor.

Uzmanlar mülakat teknikleri arasında yeri olan stres mülakat tekniğinin adaydan karşılaşabileceği stresli durumlarda nasıl tepki vereceğini görmek konusunda bilgi almak için kullanıldığını belirtiyor. Ama Türkiye'de çoğu zaman bilinçsiz uygulanan bu tekniğin adayların sahip olduğu potansiyeli görmesine engel olduğuna dikkat çekiliyor. Kirik'e göre en çok yapılan hatalardan biri de görüşme saatlerine uyulmaması. "Adaylar zamanında çağrılmıyor. Ya da sabah aranıp öğlen gel deniliyor. Ya da İstanbul gibi bir şehrin bir ucundan diğer ucuna bir saatte gelmesi bekleniyor. Gelemeyince de görüşmeyi iptal ediyor." diyen Kirik, Türkiye'nin insan kaynakları konusunda geride olduğu değerlendirmesini yaptı.

Türkiye'de yaşanan yaygın problemlerden biri de iş yaşamı ile dünya görüşlerinin karıştırılması. İşverenlerin personel ararken memleket, dış görünüş gibi değerlendirmeler yaptığını söyleyen Kirik, "Avrupa ülkelerinde çalışan ve işverenin işe bakışı tamamen sonuç odaklı. Bizdeki gibi değil, çok daha profesyonel." dedi. Kirik, firmaların düştüğü en önemli yanlışlardan birini de, "Patron ve diğer yöneticiler kariyerinde ilerleyen bir çalışan için 'Bu bizim evin danasıdır, öküzü olmaz.' fikrinde. Bu kendini geliştirmeye açık bir çalışanı sınırlayabilecek bir tutum." şeklinde açıkladı. Firmalarda staja aldıklarına dosya getir götür işi yapan kişiler olarak baktıklarını, aynı kişiyi ilerde müdür pozisyonunda benimseyemediklerini kaydetti.

Gerçek staj mutlaka yapılmalı

Üniversite öğrencilerinin birçoğunun naylon diye tabir edilen sahte staj yapma yoluna başvurduğunu belirten Kirik, "Para ya da yemek vermiyor gibi ufak tefek şeyler yüzünden stajlar ihmal ediliyor. Biz diyoruz ki özellikle iyi firmaları seçin, getir götür de yapsa oraya girip kendini kabul ettirsin." dedi. Türkiye'de işe alımlarda kişisel ilişkilere çok önem verildiğini hatırlatan Kirik, hedeflenen yerlerle çeşitli sebeplerle aşinalık kazandıracak ilişkiler geliştirilmesini tavsiye ediyor. İş başvurularında iyi bir özgeçmiş (CV) hazırlamanın da profesyonel iş hayatında çok önemli olduğunu vurgulayan Kirik, "CV kişinin vitrinidir. Yapabilenler bir ajansa hazırlatabilir. En azından internette yer alan hazır şablonlardan yararlanılmalı." tavsiyesinde bulundu.

Alıntıdır.

06 Ağustos 2012

mvc 3 ve jquery - Object doesn't support property or method 'split' hatası

MVC 3 Razor projesinde bir formda TinyMCE kullandım. Kaydetme işlemi yaptığımda jquery.validate.min javascript dosyasında
Microsoft JScript runtime error: Object doesn't support property or method 'split' 
şeklinde hata veriyordu. Bunun nedeni TinyMCE'nin kullandığı jQuery eklentisiymiş.

split metod hatası veren TinyMCE nuget versiyonu:

TinyMCE 3.4.7
TinyMCE.jQuery 3.4.7

26.07.2012 tarihinde yeni 3.5.6 sürümü çıkarılmış, indirdim sorun düzeldi.

Kaynaklar:
https://github.com/jzaefferer/jquery-validation/issues/457
http://stackoverflow.com/questions/10981120/jquery-validate-js-javascript-error





ef - The result of a query cannot be enumerated more than once. hatası

Entity framework'de sorgu sonucu birden fazla kez çağrılamamaktadır. Yoksa şu şekilde hata vermektedir:
The result of a query cannot be enumerated more than once.
Sql sonucunu yeni bir değişkende saklayıp, yeni değişken üzerinde işlem yapılmalıdır.

Hata veren örnek kod:


var record = dbContext.ExecuteStoreQuery<SISStudentDeptType>(sqlQuery, sqlParameters);
                if (record.Count() > 0)
                {
                    result = record.Single();
                }


Yukarıda record.Count() ve record.Single() ile iki kere çağrım yapılmakta.

Doğru yazılmış örnek kod:


var record = dbContext.ExecuteStoreQuery<SISStudentDeptType>(sqlQuery, sqlParameters);
                List<SISStudentDeptType> recordList = record.ToList();
                if (recordList.Count > 0)
                {
                    result = recordList[0];
                }



Kaynak:
http://forum.ceturk.com/showthread.php/21670-linqtosql-de-quot-The-query-results-cannot-be-enumerated-more-than-once-quot-hatas%C4%B1

01 Ağustos 2012

Artık Hotmail.com yok, Outlook.com var


Microsoft, adıyla özdeşleşen ve yıllardır kullanıcılara hizmet sunduğu Hotmail.com e-posta servisini Outlook.com olarak değiştirdi.
Dün akşam gerçekleşen yenilikle birlikte Microsoft, uzun bir süredir Hotmail.com adresi üzerinden sunduğu e-posta servisini Outlook.com'a taşıdı. Ancak bu değişiklik sadece bir isim değişiminden ibaret değil. Outlook.com baştan aşağı yenilenmiş bir e-posta deneyimi ile birlikte geldi.
Microsoft, tablet ve masaüstü bilgisayarları tek merkezde toplayan Windows 8'in tanıtımından önce yeni bir adım attı. Microsoft'un popüler e-posta servisi Hotmail yerini Outlook.com'a bırakıyor.

Outlook, Hotmail'in yeniden tasarlanmış hali değil, tamamen sıfırdan oluşturulmuş yeni bir e-posta servisi. Şimdilik Hotmail.com'dan tamamen bağımsız olarak çalışacak bu servis ile Microsoft, Hotmail'in kötü ünvanını silmeyi amaçlıyor.Hotmail kullanıcıları tüm bilgileriyle yeni sisteme otomatikman aktarılacak. Hotmail.com ise yeni yıla kadar kapatılacak.

Outlook, Hotmail'e göre daha sade ve çok daha şık bir arayüze sahip. Hotmail kullanıcıların en büyük derdi olan reklamlar ise Outlook'da karşımıza çıkmıyor. Microsoft, daha önce reklamların yer aldığı bu alanı değerlendirme yoluna gitmiş, sağ taraftaki menüden Facebook, Twitter gibi servislere direk erişim sağlamak mümkün.

Yeni servisin bir diğer özelliği ise tümleşik Skype desteği olacak. Şu an için hazır olmasa da Skype kısa bir süre içinde Outlook'a dahil edilecek.

Microsoft'un bu yeni servisinden hemen yararlanmaya başlayabilirsiniz. İsterseniz Outlook.com adresine giderek yeni bir hesap oluşturun, isterseniz daha önceki Hotmail hesabınızı Outlook'a geçirin. Yeni servisin kapasitesi sınırsız olarak belirtilmiş, tabi Microsoft bu alanı spam e-posta için kullanmaya kalkışanların önüne bir engel koyacaktır mutlaka. Eğer ilk defa Microsoft hesabı alıyorsanız, SkyDrive'dan 7 GB'lık ücretsiz depolama alanı da sizleri bekliyor.

Siz de 'outlook.com' uzantılı bir e-posta adresine sahip olmak istiyorsanız BURAYA TIKLAYIN


26 Temmuz 2012

Sharepoint - İşe yarar resimlerim





Sharepoint 2010 Technology Stack


Sharepoint Server Architecture


Sharepoint Site Architecture



23 Temmuz 2012

Hayattan - Denize nazır, diploman hazır


Üniversiteye yerleştirme sınavlarının sonuçları açıklandı.

Yaklaşık 2 milyon gencin katıldığı sınavda öğrencilerin neredeyse yarısı matematikten hiç puan alamamış. Sekiz senelik eğitimin bakiyesi bu. Yaklaşık 200 bin genç ise sınavın tümünden sıfır puan çekmiş.

Lise eğitimi Türkiye'yi dünyaya rezil ediyor. Okul, sınıf, sıra, akıllı tahta, bedava (tablet) bilgisayar derdimize merhem olmuş değil. Araç ve gereç gerekli ancak derdimize merhem olacak olan öğretmenler, müfredat ve öğretme teknikleridir.

Bir defa iyi donanımlı, motivasyonu yükseltilmiş öğretmenler şart. Çalışma şartları ve maaşlar da dâhil birçok alanda iyileştirme şart. Bu bağlamda öğretmenlerin mesleki formasyonu da geliştirilmeli.

Öğretmenin ömür boyu devlet memuru olarak kalması da büyük bir yanlış. Bu, benim de dahil olduğum tüm memur, bürokratik kadrolar için geçerlidir. Ön kapıdan gireni bir ömrün sonunda arka kapıdan emekli eden sistemden performans beklenemez.

Evet, öğrencilerimizin aldığı lise eğitiminin temeli bu. Bir de geldiği yeri bırakıp girdiği yere bakalım. Her şeye rağmen sözüm ona bir yerleri kazanan öğrencilerin akıbeti var. Bu gençler için 'keşke bir yer kazanmasaydı' diyesim geliyor. Niteliksiz özel ve kamu üniversitesi furyası ile hükümet herkesi bir yere sokmaya çalışıyor. Üniversite deyince akıllarına sadece bina geliyor, zahir! Türkiye bir üniversite mezarlığına dönmüş durumda.

Ama sistem daha akademisyenine lisan öğretemiyor. Oysa örneğin, Almanya'da daha liseyi bitiren genç iki yabancı dili iyi derecede biliyor. Burada onun hocası olacak kişi bozuk plak gibi takılıp kalıyor. Hayat boyu memuriyet statüsü nedeniyle 20-30 sene bir lisan sınavını veremeyip de üniversiteden yardımcı doçent olarak emekli olma hakkı kimseye verilmemeli. Çünkü bırakın kavrayıp içselleştirmeyi, daha okumayı başaramamış bir öğretim üyesinin, bu ülkenin geleceğine kazandıracağı bir genç yoktur.

Nitelikli olarak üniversiteye giren öğrencilerimiz üniversitede alınıp çok yukarılara taşınamıyor. Çeperleri zorlanamıyor. Hocalar donanımsızlık nedeniyle öğrencilerini baskı altına alıyor. Öğrenciler de zaten derslere devam etmiyor. Geçen sene öğrencilerim arasında yaptığım bir anket, ağırlıklı ortalamanın sadece iki dersi düzenli takip ettiklerini, diğer derslere katılma gereği duymadıklarını gösterdi. Ve gördüm ki buna neden olan dersin adı ve içeriği değil, tümüyle öğretim üyesi. Hocaya saygı yoksa derse de girmek gerekmiyor. Hoca bu saygıyı uyandıracak. Ezberci, piyasadan kopuk, eğiticilik formasyonu olmayan, aklı dışarıda, şahsi işlerinde olan bilhassa yaşlı, eski nesil akademisyen tipleri üniversitede gençlerin de önünü kapatmış durumda. Emekli bile olmuyorlar ki gençler yerini doldursun. Derse gelmez, gelse anlatmaz, anlatacak yeni bilgisi de yok. Atamazsınız, satamazsınız.

Evet, öğrencilerimizin ağırlıklı olarak girdiği yerin encamı da böyle. Buradan ancak uzatmalı cahiller ile diplomalı işsizler ordusu çıkar. Üzüntümün kaynağı da bu. Zira onlar sadece biraz daha çok zaman kaybedecek, sadece biraz daha fazla ailelerinin umudunu sömürecek.

Bu şartlarda bir yerleri kazanan öğrencilerden en fazla yüzde 30'una 'iyi bir yer kazanmışsın, git oku' diyebileceğim. Bu yüzden ben üniversite adı vermeyeceğim. Tercihler, üniversite, bölüm ve programın şatafatlı adına ve imajına göre yapılmamalı. Programın içeriği ve bilhassa öğretim kadrosu incelenmeli.

Gençler gidip iyi sunumlar alsın, iyi sorular sorsunlar. Pazarlama yapan gösterişli bayanın gülen yüzünün reklam kokan kısmını bir kenara bıraksınlar. 'Denize nazır, diploman hazır' oyununa gelmesinler.

Bir dahaki yazıda gençlerin geleceğine yön verecek olan mesleki tercihler odaklı yazacağım.



İbrahim Öztürk

Alıntıdır.


18 Temmuz 2012

mvc 3 - decimal tipli field'lerin model validation esnasında binlik ayıracı ile çalışmama hatası

Örneğin;
Fiyat: 11.200
diye yazdığımda decimal tipli field'lerin model validation esnasında binlik ayıracı ile çalışmama hatası oluştu. Nokta ayıracı türkçe kültüründe binlik ayıracı, virgül ise ingilizce kültüründe binlik ayıracı olarak tanımlıdır.
Ancak nedense kültüre uygun şekilde yazsam da hep hata verdi.


Sorun phil haack tarafından da belirtilmiş, bir çözüm belirtmiş.


Kaynak:
Model Binding Decimal Values
http://haacked.com/archive/2011/03/19/fixing-binding-to-decimals.aspx

http://stackoverflow.com/questions/9980104/mvc-3-client-side-validation-model-binding-decimal-value-and-culture-different
https://github.com/jquery/globalize/issues/73
http://msdn.microsoft.com/en-us/library/gg416514(v=vs.108).aspx


Sektörel - Bilişimin devleri belli oldu

Bilişim 500’ün ilk üç şirketi Türk Telekom, Turkcell ve Vodafone oldu.


İnterpromedya’nın bu yıl 13. kez gerçekleştirdiği, Türkiye’de bilişim alanındaki tek kapsamlı araştırma olan Bilişim 500’ün sonuçlarına göre, 2011’de bilgi teknolojileri pazarı yüzde 12,7 büyürken, iletişim teknolojileri pazarı ise yüzde 1,9 küçüldü.

Şirketlerin net satış gelirlerine göre sıralandıkları Bilişim 500’de ilk 10’da yer alanlar sırasıyla Türk Telekom, Turkcell, Vodafone, Avea, TTnet, KVK Teknoloji, Genpa, İndeks Bilgisayar, Teknosa ve HP oldu. Tüm şirketlerin Ar-Ge harcamalarının toplam ciro içindeki payı yüzde 13’e yükseldi. Bilişimcilerin yüzde 65’i nitelikli insan kaynağı sıkıntısı çekiyor.

Türkiye’nin en büyük ilk 500 bilişim şirketinin yanı sıra pazar verilerinin ve CEO’ların 2012 hedeflerinin açıklandığı Bilişim 500 Töreni, 16 Temmuz 2012’de, İstanbul’da gerçekleştirildi. Törende 2011 yılı net satış gelirlerine göre ilk 10’a giren şirketlerin yanı sıra, donanım, yazılım, hizmet ve özel bölüm başlıkları altındaki 67 kategorinin birincilerine plaket sunuldu.

Araştırmaya göre ilk 10’daki şirketler sırasıyla şöyle: Türk Telekom, Turkcell, Vodafone, Avea, TTnet, KVK Teknoloji, Genpa, İndeks Bilgisayar, Teknosa, HP. Öte yandan son üç yılın en fazla büyüyen bilişim şirketi Biotekno ile son üç yılın en iyi performans gösteren şirketi Mobiltel dikkat çekti.

Araştırma bu yıl ilk kez Dijital Türkiye Platformu’nun içerik iş birliği ile gerçekleştirildi. Şirket tipine göre düzenlenen ve dokuz temel kategoride bilgi toplanan araştırmada kategori birincileri şöyle belirlendi: Türkiye merkezli üretici kategorisi: Exper, Uluslararası Türkiye dışı merkezli üreticinin Türkiye temsilcisi/satıcısı kategorisi: NCR, Sistem entegratörü kategorisi : Ericsson, Hizmet sağlayıcı: Digitürk, Telekom şirketi: Türk Telekom, Dağıtıcı kategorisi: KVK Teknoloji, Bayi: Akfa Bilişim, Perakende zinciri: Teknosa, E-ticaret şirketi: Portakal Teknoloji

Bilişim pazarı 2012’de 30 milyar doları aşacak
Araştırmanın Türkiye bilişim pazarına ilişkin ortaya koyduğu veriler, BT donanımı, yazılım ve hizmetleri içeren bilgi teknolojileri pazarının yüzde 12,7 büyüdüğünü; telekom donanımı ve taşıyıcı hizmetleri içeren iletişim teknolojileri pazarının yüzde 1,9 küçüldüğünü ortaya koydu. Bilgi ve iletişim teknolojilerinin toplamı olarak bilişim pazarının ise 2011’de yüzde 2 artışla 29 milyar dolarlık bir büyüklüğe ulaştığı tespit edildi. İnterpromedya yetkilileri, bilişim pazarının 2012’de yüzde 6 büyüyerek 30 milyar doları aşacağını tahmin ediyor. Büyüme tahmini bilgi teknolojileri pazarı özelinde yüzde 14,1 olarak bildirilirken, iletişim teknolojilerinde yüzde 2,6 olarak ortaya kondu.

CEO’lar 2012’de hedef büyüttü
Araştırma kapsamında ayrıca ilk 500’deki 446 bilişim şirketinin CEO’larının katılımıyla bir anket gerçekleştirildi. CEO’ların yüzde 55’i 2012 büyüme hedeflerini artırdıklarını belirtirken, hedeflenen sektörler arasından yüzde 50,4 ile kamu, yüzde 43,7 ile finans, yüzde 41,5 ile telekom ilk üçte yer aldı. Anket sonuçlarına göre şirketlerin yüzde 58’inin ar-ge yatırımı yaptığı tespit edilirken, ar-ge harcamalarının toplam ciro içindeki payının önceki yıla oranla yüzde 1 artışla yüzde 13’e ulaştığı gözlendi. CEO’lar en önemli sorunlarının başında nitelikli insan kaynağı sıkıntısını yüzde 65,2’lik oranla birinci sırada gösterirken, gündemlerinde yer tutan başlıklardan öne çıkanları sırasıyla markalaşma, çevrecilik, yeni sektörlere yatırım, ar-ge ve inovasyon yatırımları, sosyal sorumluluk ve reorganizasyon olarak saydı.

KATEGORİ BİRİNCİLERİ
Türkiye Merkezli Üretici Kategorisi ve Donanım Alt Kategori Birincisi : Exper
Türkiye Merkezli Üretici Yazılım: Turkcell Teknoloji
Türkiye Merkezli Üretici Hizmet: Hobim
Uluslararası Türkiye Dışı Merkezli Üreticinin Türkiye Temsilcisi/Satıcısı Kategorisi ve Donanım Alt Kategori Birincisi : NCR
Uluslararası Türkiye Dışı Merkezli Üreticinin Türkiye Temsilcisi/Satıcısı Yazılım ve Hizmet Alt Kategori Birincisi : SAP
Sistem Entegratörü Kategorisi ve Donanım, Yazılım, Hizmet Alt Kategorileri Birincisi : Ericsson
Hizmet Sağlayıcı: Digitürk
Telekom Şirketi: Türk Telekom
Telekom Şirketi Donanım: Alcatel-Lucent
Dağıtıcı Kategorisi ve Hizmet Alt Kategori Birincisi : KVK Teknoloji
Dağıtıcı Donnaım ve Yazılım Alt Kategori Birincisi : İndeks Bilgisayar
Bayi: Akfa Bilişim
Perakende Zinciri: Teknosa
E-Ticaret Şirkeri: Portakal Teknoloji

DONANIM
Sunucu : İndeks Bilgisayar
Sunucu Sistem Entegratörü: KoçSistem
Masaüstü Bilgisayar ve OEM : Datagate Bilgisayar
Masaüstü Bilgisayar ve OEM Sistem Entegratörü : Sentim Bilişim
Tablet ve Taşınabilir Bilgisayar: İndeks Bilgisayar
Tablet ve Taşınabilir Bilgisayar Sistem Entegratörü: Elips Elektronik
Tablet ve Taşınabilir Bilgisayar Dağıtıcı: İndeks Bilgisayar
Çevre Birimleri: İndeks Bilgisayar
Çevre Birimleri Türkiye Dışı Merkezli Üreticinin Türkiye Temsilcisi / Satıcısı : Bilgitaş Büro Makineleri
Veri yedekleme ve depolama donanımı : İndeks Bilgisayar
Ağ donanımı: Neteks
ATM ve POS Sistemleri: NCR
OT/VT: E-Kart
OT/VT Türkiye Dışı Merkezli Üreticinin Türkiye Temsilcisi / Satıcısı : Perkon
Görüntü ve ses sistemleri: Teknosa
Telekomünikasyon alt yapı donanımı: Ericsson
Telekomününikasyon alt yapı donanımı Türkiye Merkezli Üretici: Türk Prysmian Kablo
PBX santral: Karel
Mobil telefon: Genpa
Çeşitli donanım Türkiye Merkezli Üretici: İnform Elektronik
Tüketim Malzemeleri: Despec

YAZILIM
Güvenlik yazılımı: Infonet
Doküman/arşiv yönetim yazılımı: Hobim
CRM yazılımı:  Bizitek
ERP yazılımı: SAP
ERP yazılımı Türkiye Merkezli Üretici: Workcube
Mobil uygulamalar: Turkcell Teknoloji
Çeşitli iş uygulamaları: Türksat
Sektörel yazılım: Ericsson
Veritabanı yazılımı: Link Plus
Veri ambarı/İş zekası yazılımı: SAP

HİZMET
Danışmanlık : KoçSistem
Danışmanlık Türkiye Dışı Merkezli Üreticinin Türkiye Temsilcisi / Satıcısı : Elsys
Eğitim : İnfopark
Dış kaynak kullanım hizmeti : Bileşim Alternatif Dağıtım Kanalları
Çağrı merkezi hizmeti: Global Bilgi
Kurulum Bakım Destek hizmetleri : Ericsson
Internet hizmeti: Türk Telekom
Sabit telefon hizmeti: Türk Telekom
Alternatif operatör hizmeti: Turkcell Superonline
Barındırma Yönetim Hizmeti: KoçSistem
Mobil telefon hizmeti Operatör: Turkcell
Mobil telefon hizmeti Dağıtıcı: KVK Teknoloji
Katma değerli telekom hizmetleri: Biotekno
Yayın hizmeti: Digitürk

ÖZEL BÖLÜM
B2B e-Ticaret: İndeks Bilgisayar
B2C e-Ticaret: Hızlıal
Donanım İhracatı: Ericsson
Yazılım İhracatı: Ericsson
Hizmet İhracatı: Turkcell Superonline
Ar-Ge: Havelsan

Son Yılda En Fazla Büyüyen Bilişim Şirketi : Biotekno
Son 3 Yılda En İyi Performans Gösteren Bilişim Şirketi: Mobiltel

İlk 500 Bilişim Şirketi İlk 10
1.    Türk Telekom
2.    Turkcell
3.    Vodafone
4.    Avea
5.    TTnet
6.    KVK Teknoloji
7.    Genpa
8.    İndeks Bilgisayar
9.    Teknosa
10.    Hewlett-Packard

Kaynak:
http://finanshaber.mynet.com/detay/ekonomi/bilisimin-devleri-belli-oldu/80340

İş Hayatı - Kovulma korkusu çok çalıştırtıyor

İngiltere’de müdür ve yöneticiler arasında yapılan bir anket oldukça ilginç sonuçlar ortaya koydu.


Çok sayıda çalışan, yöneticilerinin fazla çalıştığını düşünür. İngiltere’de Chartered Managment Enstitüsü’nün 1,334 orta derecede yönetici ve müdür arasında yaptığı anketin sonuçları bu kanıyı doğrular nitelikte.

Ankete katılan yöneticilerin tamamı işlerini kaybetme korkusu nedeniyle gönüllü olarak fazla mesaiye kaldıklarını belirtirken, bu durumun aile yaşantılarını son derece olumsuz etkilediği konusunda da görüş birliği içerisindeler.

Katılımcıların üçte biri üzerlerinde bunaltıcı derece çok iş yükü olduğunu söylerken, aynı oranda katılımcı, daha iyi bir iş buldukları anda mevcut pozisyonlarından istifa edeceklerini ifade etti.

Her ne kadar çok çalışmanın sağlık üzerinde de yadsınamaz etkileri olsa bile, katılımcıların yüzde 43’ü ‘yöneticiler hastalıktan ötürü işe gelmemezlik etmez’ gibi yazılı olmayan bir kural olduğunu vurgulayarak asla hastalık izni kullanmadıklarını belirtti.

SAĞLIK SORUNLARI HAYATIN BİR PARÇASI
Ankete katılanların yüzde 20’si son bir yıl içerisinde depresyon geçirdiklerini ifade ederken, yüzde 60 oranındaki katılımcı da kronik yorgunluk problemi yaşamalarına rağmen uyku sorunu da çektiklerini ifade etti.

Çok çalışmanın hayatlarındaki diğer direkt etkiler sorulduğunda ise üçte iki oranında katılımcı, düzensiz çalışma saatlerinin çocuklarıyla ilişkilerini olumsuz etkilediğini söyledi.

Chartered Managment Enstitüsü’ne göre 2008’de yaşanan mali krizin ardından yöneticiler arasında ‘mevcutluk sendromu’ son derece artırdığı ortaya çıktı.

Mavcutluk sendromu ise yapacak bir iş olmamasına rağmen, üstleri etkilemek ve işe bağlılığını göstermek amacıyla ofiste uzun saatler geçirmek olarak tanımlandı.

Lancaster Üniversitesi Yöneticilik Okulu profesörlerinden Cary Cooper, işte yaşanan yoğun stresin davranış bozuklukları şeklinde kendini gösterdiğini belirtti.

Cooper ayrıca birçok yöneticinin konsantrasyon problemi çektiğini ve çabuk sinirlenen insanlara dönüştüğünün altını çizdi.

Kaynak:
http://finanshaber.mynet.com/detay/dunya/kovulma-korkusu-cok-calistirtiyor/80324

mvc 3 - Modelstate validation işlemi esnasında culture bilgisi değişmeme sorunu

MVC 3 uygulamasını çok dilli yaptım; kullanıcı türkçe ve ingilizce diye dil seçimi yapıyor sonra uygulamada seçilen dile göre culture ve görünüm bilgileri değişiyor. Ancak ModelState validation işlemi esnasında kullanılan culture bilgisi değişmiyor.

Çözüm olarak model binding olmadan önce currentculture ve currentuiculture bilgileri set edilmeliymiş. Dil atamayı yeni attribute tanımı ile sağlamıştım, ancak IAuthorization arayüzünü kullanarak model binding olmadan önce atama yapılması sağlanmış oluyor.


The model binder uses the CurrentCulture, not the CurrentUICulture when parsing dates. Also you haven't shown the code of this CultureAwareAction but chances are that it executes after the model binding so you are setting the culture too late.
If you want to ensure that it executes before model binding you could implement theIAuthorizationFilter interface:


public class CultureAwareActionAttribute : ActionFilterAttribute, IAuthorizationFilter
{
    public void OnAuthorization(AuthorizationContext filterContext)
    {
        // That's for displaying in the UI, the model binder doesn't use it
        Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-MX");

        // That's the important one for the model binder
        Thread.CurrentThread.CurrentCulture = new CultureInfo("es-MX");
    }
}


Kaynak:
http://stackoverflow.com/questions/11022745/how-do-i-enforce-proper-globalization-behavior-for-view-models-containing-date-p?rq=1
http://stackoverflow.com/questions/7202607/mvc3-globalization-need-global-filter-before-model-binding?rq=1
http://stackoverflow.com/questions/10156154/net-mvc-international-dates-model-validation-from-posted-form
http://stackoverflow.com/questions/6629406/mvc3-globalization-not-set-for-modelstate-value-culture


16 Temmuz 2012

"Ben o maili görmedim" tarih oluyor!

Artık ticaret elektronik ortama tam uyum dönemine geçiyor. Artık atılan bir mail yasal bir tebligat haline dönüşebilecek.


Elektronik postayı alan kişi, "ben görmedim" veya "ben okumadım" bahanelerine sığınamayacak.

Bilgi Teknolojileri ve İletişim Kurumu (BTK) Başkanı Tayfun Acarer, 1 Temmuz'da yürürlüğe giren Yeni Türk Ticaret Kanunu'nda (TTK) yer alan Kayıtlı Elektronik Posta (KEP) Sisteminin yasal ve güvenli yeni bir iletişim sistemi olacağını belirterek, ''Resmi, özel ve ticari her türlü belge veya yazı, kurum, kuruluş ve şahıslar arasında yasal, geçerli ve güvenli bir şekilde elektronik olarak paylaşılabilecek'' dedi.

Acarer, Kanun'un ''Tacir olmanın hükümleri'' başlıklı 18. maddesinde tacirler arasındaki ihbar ve ihtarların KEP Sistemi ile de yapılmasına imkan sağlandığını söyledi.

TTK'nın beyanlar, belgeler ve senetler başlıklı 1525. maddesinde KEP Sisteminin kurulması ve işleyişine ilişkin yönetmelik çıkarma yetkisinin BTK'ya verildiğini anımsatan Acarer, BTK tarafından hazırlanan KEP Sistemine İlişkin Usul ve Esaslar Hakkında Yönetmelik'in 25 Ağustos 2011 tarihinde Resmi Gazete'de yayımlanarak yürürlüğe girdiğini anlattı. Aynı tarihte KEP Sistemi ile İlgili Süreçlere ve Teknik Kriterlere İlişkin Tebliğ'in yürürlüğe girdiğini belirten Acarer, ayrıca KEP Rehberi ve Kayıtlı Elektronik Posta Hesabı Adreslerine İlişkin Tebliğ'in de 16 Mayısta yürürlüğe girdiğini, böylece Kayıtlı Elektronik Posta sisteminin hukuki altyapısının hazır olduğunu kaydetti.

KEP SİSTEMİ NE GETİRECEK?
Çıkarılan yönetmelikte KEP Sisteminin ''Elektronik iletilerin, gönderimi ve teslimatı da dahil olmak üzere kullanımına ilişkin olarak hukuki delil sağlayan, elektronik postanın nitelikli şekli'' olarak tanımlandığını anlatan Acarer, KEP Sisteminin işleyişi ve getireceği imkanları şöyle açıkladı:

''KEP Sistemiyle resmi, özel ve ticari her türlü belge veya yazı, kurum, kuruluş ve şahıslar arasında yasal, geçerli ve güvenli bir şekilde elektronik olarak paylaşılabilecek gönderilip alınabilecek. KEP Sistemi, elektronik belge paylaşımı ve iletimi dışında çok çeşitli güvenli arşivleme gibi katma değerli servislerin de sunulabileceği, e-imza ve zaman damgasının yaygın ve yoğun olarak kullanılacağı yasal, geçerli ve güvenli yeni bir iletişim alanı olacak.

KEP Sistemi, bilinen elektronik posta hizmetine ilave olarak elektronik ortamda yapılan gönderilerin; kim tarafından gönderildiğini, gönderimin ne zaman yapıldığını, mesajın karşı tarafa ulaşıp ulaşmadığını, ulaşmışsa ne zaman ulaştığını, mesajın alıcısı tarafından okunup okunmadığını, okunmuşsa ne zaman okunduğunu, kesin olarak tespit edilmesini sağlayacak.''

İNKÂR TARİH OLUYOR
Acarer, işlemi yapan kişinin kimliğinin belirlenmesi, bilgi ve belgenin orjinalinin belirlenmesi, bilgi ve belgede sonradan değişiklik yapılıp yapılmadığının belirlenmesi, gönderilen veya alınan bilgi ve belge üzerinde yapılan işlemin zamanının tespiti, işlemi yapanın işlemi inkar etmesinin önlenmesi, güvenli haberleşmenin sağlanması, gizlilik prensiplerine uyulması, bilgi ve belgelerin güvenli bir ortamda saklanmasının KEP Sisteminin sağladığı imkanlar olduğunu kaydetti.

Kaynak:
http://finanshaber.mynet.com/detay/ekonomi/ben-o-maili-gormedim-tarih-oluyor/80280

15 Temmuz 2012

mvc 3 makale - Multiple types were found that match the controller named hatası

Yonetim adında Area açtım ve HomeController sınıfı ekledim, eklediğimde aşağıdaki hatayı aldım:

Exception Details: System.InvalidOperationException: Multiple types were found that match the controller named 'Home'. This can happen if the route that services this request ('{controller}/{action}/{id}') does not specify namespaces to search for a controller that matches the request. If this is the case, register this route by calling an overload of the 'MapRoute' method that takes a 'namespaces' parameter.

The request for 'Home' has found the following matching controllers:
GsmEgitimi.Web.Controllers.HomeController
GsmEgitimi.Web.Areas.Yonetim.Controllers.HomeController


Çözümü:
Global.asax dosyasında namespace belirterek gerekli çakışmayı engellemiş oluyoruz:


public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new {controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
                , new string[] { "GsmEgitimi.Web.Controllers" }
            );

        }

Kaynak:
http://stackoverflow.com/questions/7842293/multiple-types-were-found-that-match-the-controller-named-home
http://stackoverflow.com/questions/8788014/multiple-types-were-found-that-match-the-controller-named-home-in-two-differ
http://ediblecode.com/blog/dot-net/asp-net-mvc/fixing-multiple-types-were-found-that-match-the-controller-named
http://forums.asp.net/t/1536381.aspx/1?Areas+Duplicated+controller+name
http://metinkacmaz.com/multiple-types-were-found-that-match-the-controller-named-makalesi/143.aspx



13 Temmuz 2012

sql server - yüksek boyutlu sql script dosyalarının çalıştırılması

150 mb gibi yüksek boyutlu sql scriptini Micrsoft SQL Server Management Studio ile çalıştırırken bellek taşma hatası vermekte ve script dosyası çalıştırılamamaktadır.

Bunun için konsol panelinden sqlcmd komutu kullanılmalıdır.
Kullanım örneği:
> sqlcmd -S mssql.domain1.com -i c:\dumpscript.sql -o c:\sonuc.txt -d db1 -U dbuser1 -P Pass1

-S: Sunucu adı
-i: Çalıştırılacak yüksek boyutlu sql script dosyası
-o: Sonuç bilgilerinin yazılacağı text dosyası
-d: Veritabanı adı
-U: Bağlantı için kullanılacak veritabanı kullanıcı adı
-P: Veritabanı kullanıcı adının şifresi

Kaynaklar:


sqlcmd Utility
http://technet.microsoft.com/en-us/library/ms162773.aspx
Run Transact-SQL Script Files Using sqlcmd
http://technet.microsoft.com/en-us/library/ms170572.aspx

http://stackoverflow.com/questions/431913/how-do-you-run-a-300mb-ms-sql-sql-file
http://stackoverflow.com/questions/40814/how-do-i-execute-a-large-sql-script-with-go-commands-from-c

http://serverfault.com/questions/147638/dump-microsoft-sql-server-database-to-an-sql-script
http://blog.sqlauthority.com/2011/05/07/sql-server-2008-2008-r2-create-script-to-copy-database-schema-and-all-the-objects-data-schema-stored-procedure-functions-triggers-tables-views-constraints-and-all-other-database-objects/



12 Temmuz 2012

İşte yeniçağın pazarlama reçetesi!


Unilever, Coca-Cola ve Xerox'un küresel pazarlama yöneticileriyle kısa aralıklarla söyleşi yapınca her birinden "yeniçağın pazarlama kurallarını" şirketleri açısından nasıl yeniden tanımladıklarını, yorumladıklarını dinledim. Marketing Türkiye'de tamamı yayınlanan söyleşilerden aldığım dersleri reçeteleştirdim, paylaşıyorum.

Unilever CMO'su Marc Mathieu: Pazarlamayı adeta yeniden icat ediyoruz

"Pazarlamanın kuralları yazıldığında bugün en şiddetli haliyle hayatımızı etkileyen pek çok şey yoktu. Bu nedenle pazarlamayı yeniden icat etmek gerekiyor." diyen Unilever küresel pazarlama yöneticisi Marc Mathieu, dün olmayan etkili kavram ve oluşumları şöyle tanımlıyor:

Sürdürülebilirlik ortada yoktu.

Gelişen ekonomiler; Brezilya, Hindistan, Çin ve Türkiye var olmaya çalışıyorlardı, potansiyelleri bilinmiyordu.

Teknolojinin de katkısıyla üretenlerle tüketenler arasındaki interaktivite bu boyutta değildi.

Bütün bunların üzerine yeni akımlar doğdu, trendleri belirleyen etkenler değişti. Sıralarsak;

Eskiden Batı'da üretilir Doğu'ya ihraç edilirdi, yani Batı üreten Doğu takip edendi. Şimdi her şey değişti. Doğu'dan rüzgâr daha güçlü esiyor, trendleri Doğu belirliyor.

İnsanların, toplumların değer yargılarını göz ardı ederek dayatılan pazarlama yaklaşımları artık işlemiyor. Bundan böyle en önemlisi değerlere saygı göstermek.

Değerlere saygı göstermek tamam ama daha da önemlisi, tüketicileriniz için değer yaratıyor olmanız. Değer yaratacak işler yapılmalı.

Daha fazla üretmek yerine yeteri kadar üretin çünkü israf, insanları kızdırıyor.

Pazarlamacılar, tüketicilerin sayılar ve harflerle ifade edilen birimler olmadığını, duyguları olan insanlar olduğunu aklından çıkarmamalı.

Sosyal medyanın etkisini küçümsemeyin. Sonuçlar zaten ortada.

Ürün satmak yerine bir hikâye oluşturun ve bu hikâyeyi insanlara anlatın, daha doğrusu başkalarınca anlatılmasını sağlayın.

Hikâyeleri anlatmak için paylaşım kanalları bulun, eğer bulmazsanız siz kendiniz oluşturun.

Ve unutmayınız ki, yeni kavramları moda diyerek takip etmek yenidünya düzeninde ölümcül hatalara neden olur. Yukarda söylenenleri pazarlama yöneticilerinize ezberletin, o da yetmez, şirket DNA'sına işleyin.

Coca-Cola CMO'su Joe Tripodi: Yeni pazarlama çağındayız, kurallar yeniden yazılıyor

Pazarlamacı doğuştan mı olur yoksa sonradan mı olunur tartışmasını başlatabilecek bir pazarlama zekâsına sahip Coca-Cola küresel pazarlama yöneticisi Joe Tripodi. Onun da değişen dünyadan etkilenerek kendine kerteriz aldığı pazarlama kuralları var;

Kafanızı kuma sokamazsınız. Sokaktaki kalabalık yani tüketiciler giderek güçleniyor. Siz ya bu kalabalığı görmez ya da onlardan korkarsanız, kitlenin ruhunu anlayamazsınız. İşte işiniz o zaman biter.

Lider önemli. Mesela bizde verilen hedef 10 yılda 2 katı büyümek olunca yapılan her şeye bir kez daha dönüp bakmak gerekiyor. Bunun adına devrim diyemesek de evrim diyebiliriz. Evrim de ne kadar zor olursa olsun kaçınılmaz oluyor. Gereklerini geç kalmadan yapmalısınız.

Coca-Cola çok sosyal bir şirket olmasına rağmen dahası gerekti. Tüketicilerle olduğumuz kadar distribütörlerimizle de yakın olduk çünkü son yıllarda distribütörlerimizle aramıza mesafe girmişti.

Sürdürülebilirlik hayatımıza girdi. Enerjiden su kaynağına, toplum sağlığından karbon ayak izine kadar her konuda agresif hedefler koyduk. Greenpeace, WWF gibi STK'larla ne işimiz olur derdik, şimdi birlikte çalışıyor, işbirliği yapıyoruz.

Mutluluk temamız hep bizimle birlikte olacak. Pozitif olun.

Şeffaf olmak hiç bu kadar önemli olmamıştı. Müşteriler, satın aldığı ürünün ne olduğunu mutlaka bilmek istiyor.

Çağrı merkezleri bundan böyle şikâyetlere en hızlı şekilde cevap vermek durumunda. Cevap alamayan tüketici şikâyetini başkalarıyla da paylaşıyor, tek şikâyet salgını başlatabiliyor.

Güven duymak, satın almak için en önemli tercih nedeni oldu. Markanızı güvenilir kılın.

Hikâyeleriniz olsun ancak tüketicileriniz artık bu hikâyelerin bir parçası olmak istiyor, hikâyeyi birlikte yazın ve bu kuralı asla unutmayın!

Hata yapmaktan korkmayın, yeter ki hatalarınızdan öğrenin.

Engagement/bağlılık, sadakatin ötesinde bir duygu ve onun yerini alıyor. Müşterilerinizle mutlaka bağlılık oluşturacak yollar, yöntemler bulun.

Değişim öyle hızlı ki ekiple demokratik bir ortamda iş yapmak bazen gecikmelere neden oluyor. Diktatör olun demiyorum ama sonuca ulaşmak için doğrudan iş isteyin, direktif vermekten kaçınmayın.

Xerox CMO'su ve Başkan Yardımcısı Cristina Carone: Markanızı yeniden konumlayın

Bana, "Kendini yeniden tanımlayan, çağın gereklerine ayak uyduran 3 şirket say!" deseniz biri mutlaka Xerox olur. "Hani o bildiğimiz fotokopi makinesi markası mı?" dediğinizi duyar gibiyim. Evet, biz dijat etmeyeli şirkette köprünün altından epey sular akmış. iPhone, iPad ve hatta internetin mucidi de Xerox dersem ne dersiniz? Şirketin DNA'sında buluşçuluk zaten mevcut, bu nedenle dönüşümü de hızlı olmuş. DRUPA'da baskı teknolojileri fuarında geçirdiğim zaman içinde ben de bu değişime hatta dönüşüme tanıklık ettim. Cristina Carone, "Hâlâ dönüşüyoruz." diyor ve dünü değil, geleceği anlatıyor.

Xerox da Unilever ve Coca-Cola gibi hikâyeler anlatıyor;

Teknoloji üreten, icat eden, buluşçu bir şirket olarak yollarına devam ediyor ama icatlarını kendi iş alanlarında değilse kıskanmayıp hizmete sunmak üzere satıyor. Bu modelle icatlarından da kazanıyorlar. Siz de satın!

Yenidünyanın gereklerine dikkat kesiliyor, ihtiyaçlara cevap veren ürün ve hizmetleri bulup sunuyorlar. Tüketici içgörüsünü her zaman dikkate alıyorlar.

Markayı dönüştüğü biçimle yeniden konumluyor ve bu yeni konumun iletişimini yapıyorlar. İletişimin önemine her zaman inanın.

Tüketicilerin insan olduğunu asla unutmayın, işi insanlar için yaptığınızı aklınızdan hiçbir zaman çıkarmayın.

Sosyal medyayı kullanın ancak ürününüzün hitap ettiği kitleye göre iletişim biçiminizi şekillendirin. Herkese aynı mesajı veremezsiniz, ancak farklı mesajlarınız aynı şeyi tekrarlamalı.

Yeniçağın pazarlama reçetesini yazıyorum

Aşağıda yazılanları kaçık ya da damlayla bir yıl boyunca almayacaksınız. Sonsuza değin kepçe ile almanızı öneriyorum. Ancak ara sıra değiştirebilirim. Ama neyi nasıl değiştireceğimi süre giden yaşam, teknoloji ve tüketici ihtiyaçları belirleyecek:

Tüketici dayatmadan hoşlanmıyor.

Bana hikâye anlatma dönemi bitti. Hikâyesi olan ürün ve hizmetleri içselleştirmekte zorlanmıyor, iyi hikâyelerin bir parçası oluveriyorlar.

Hikâyeleri kendi deneyimlerinden çıkarak yazmak ya da yazılırken işin içinde olmak istiyorlar.

En çok güven duymayı çok istiyor.

Şeffaf şirketlerin müşterisi olmak istiyor, sorumluluk sahibi şirketlerin bir parçası olmaktan mutluluk duyuyorlar.

Sadakat yerini engagement/bağlılığa bırakırken şimdiki duygular daha güçlü kaynaklardan beslenmek istiyorlar.

Ve en küçük hatanın bile sosyal medyada çığ gibi büyüyüp markanın başına bela olabildiğini unutmayın!

Günseli Ö. Ocakoğlu

Alıntıdır.

08 Temmuz 2012

sql server - Otomatik guid üretmek (Uniqueidentifier)


SQL Server’da özellikle dağıtık bir veritabanı yapısı (merge replication kullanan tasarımlarda olduğu gibi) tasarlıyorsanız, uniqueidentifier tipini kullanmak istersiniz. Uniqueidentifier tipindeki kolonlarda default değeri NEWID fonksiyonuyla oluşturursunuz. NEWID ile oluşturulan GUID değerlerinin MAC adresi olan network kartlı makinelerde çakışma yapmaması garanti edilmiştir. Böylelikle veritabanları arasında satır aktarımlarında ID çakışmaları sözkonusu olmaz.

Ama eğer uniqueidentifier tipindeki kolonunuzda bir clustered (sıralı) index varsa, önemli bir sorunla karşı karşıyasınız demektir: Oluşturulan her satır, NEWID rassal olarak değer oluşturduğundan ve verinin bu kolona göre sıralı olması gerektiğinden, tablonun herhangi bir yerine insert edilmek zorunda kalabilir. Bu da hem insert performansı üzerinde ve hem de zamanla indeksin yapısını bozduğundan select performansı üzerinde çok kötü bir etki yapacaktır.
SQL 2005′te bu durumu aşmanızı sağlayabilecek bir güzellik var: Kolonun default değeri olarak NEWID fonksiyonu yerine NEWSEQUENTIALID’yi kullanabilirsiniz. Yine bir GUID üretilir. Ama bu yeni değerin özelliği, kolon için önceden oluşturulmuş GUID’lerden büyük olmasının garantilenmesidir. Böylelikle clustered index’te bu kayıt her zaman sona eklenecektir. Yani daha önce bahsi geçen performans sıkıntılarının sebebi ortadan kalkmış olur.

Kaynak:
http://www.webmahsulleriofisi.com/veritabani-2/sql/sql-de-otomatik-guid-uretmek-uniqueidentifier/

07 Temmuz 2012

nopcommerce - veritabanını yeniden sıfırdan yükleme

nopcommerce v2.6 sürümü dosyalarını ftp ile yükledim. Veritabanını silip, yeniden başka ada sahip veritabanında tekrar yüklemem gerekti. Tabi bu adım hiç kategori veya ürün yüklenmemiş yani initial durum için geçerli.
Bunu yapmak için App_Data klasöründeki Settings.txt and InstalledPlugins.txt dosyalarını silip, hosting veya iis panelinden application pool'u yeniden recycle yapmalısınız. Sonra tekrar web adresini çağırdağınızda otomatik veritabanı yükleme işlevi çalışacak. Bu şekilde yeniden veritabanını ve kurulumu sağlamış olursunuz.

Kaynak:
http://www.nopcommerce.com/boards/t/14486/how-to-reinstall-fresh-database-with-sample-data-after-delete-the-existing-database.aspx
http://www.nopcommerce.com/docs/79/installing-nopcommerce.aspx
http://www.nopcommerce.com/docs/80/upgrading-nopcommerce.aspx


06 Temmuz 2012

mvc 3 - telerik mvc extensions grid kontrolünde guid tipinde alanı filitreleme

Telerik grid'de guid tipinde foreign key alanları filitreleme özelliği desteklemiyor.
Hata vermektedir.

Bunun için alternatif olarak guid tipinde değeri viewmodel'de yeni bir property oluşturup bu guid tipini string türüne çevirmek işimizi çözmektedir.

Örnek:
ViewModel'imiz:

public class vmAllocationWithAllFieldsToIndexForGrid
    {
        [DisplayName("Allocation GUID")]
        public Guid AllocationGUID { get; set; }

        [DisplayName("Room Type GUID")]
        public Guid RoomTypeGUID { get; set; }

        // ishak.kulekci 06.07.2012 telerik guid tipli foreign key ile filitreleme yapamıyormuş, string'e çevirmek gerekiyormuş
        [DisplayName("Room Type GUID")]
        public string RoomTypeGUIDWhichConvertString {
            get { return this.RoomTypeGUID.ToString(); }
        }

...
}

View kodumuz:


Html.Telerik().Grid<vmAllocationWithAllFieldsToIndexForGrid>()
 .Name("Grid")

.Columns(
    columns =>
    {
       
        //columns.ForeignKey(r => r.RoomTypeGUID, (List<SelectListItem>)ViewBag.RoomTypeSelectList, "Value", "Text").ReadOnly().Title("Room Type").Width(100);
        columns.ForeignKey(r => r.RoomTypeGUIDWhichConvertString, (List<SelectListItem>)ViewBag.RoomTypeSelectList, "Value", "Text").ReadOnly().Title("Room Type").Width(100);

..
}
)

Kaynaklar:
http://www.telerik.com/community/forums/aspnet-mvc/grid/filtering-and-sorting-on-foreign-key-columns.aspx
http://www.telerik.com/help/aspnet-mvc/telerik-ui-components-grid-troubleshooting.html#ServerError
http://demos.telerik.com/aspnet-mvc/grid/foreignkeycolumn