Google Analytics İzleme

25 Mayıs 2012

Telerik Extensions for ASP.NET MVC - jquery version çakışmasını engelleme


One thing we have to know about after integrating with our app. If we are using any Jquery in our web then might be telerik or our existing jquery plugin stop. This is due to multiple jquery versions in our app. To resolve this issue keep the Telerik version which support our existing JQuery or disable the Telerik Jquery use while registering the telerik components.
Html.Telerik().ScriptRegistrar() replace withHtml.Telerik().ScriptRegistrar().JQuery(false), it will ignore the jquery load from telerik contents.

Kaynak:
http://cloudcomputingdoctor.info/2012/05/15/top-asp-net-mvc-plugin/


23 Mayıs 2012

SharePoint Services does not contain the required InfoPath form template hatası

Publishing Site şablosundaki siteye Infopath formunu publish ederken çıkabilen bir hata:

Went to site settings and activated:
  • Site Collection Features –> Office SharePoint Server Enterprise Site Collection features
  • Site Features –> Office SharePoint Server Enterprise Site features
No good, still no forms library.
More stumbling around, finally figured it out – I need to activate:
  • Site Features –> Team Collaboration Lists

Kaynak:
http://johnliu.net/blog/tag/infopath
http://www.infopathdev.com/forums/p/5770/21574.aspx
http://sharepoint.stackexchange.com/questions/8732/infopath-forms-not-working-when-viewformpageslockdown-enabled

22 Mayıs 2012

Bilişim sisteminiz sizi soyuyor!


Nike gibi dünya markalarının “yalın BT” danışmanı olarak onlara milyonlarca dolar tasarruf ettiren dünyaca ünlü yönetim dahisi ve Yalın Yönetim Enstitüsü Öğretim Görevlisi Steve Bell, Mayıs 2012’de ilk kez Türkiye’ye geliyor.

Aynı zamanda “yalın BT” ifadesine ilk yer veren yayım olma özelliğine sahip Yalın İşletme Sistemleri adlı kitabının da yazarı olan Bell, özellikle ERP (kurumsal kaynak planlaması) sistemleri ve yalın uygulamaları arasındaki ilişkiyi irdeliyor. Bell, ikinci kitabı ile 2011 Dünya Shingo Araştırma Ödülü’ne layık görüldü ve yalın konulu yayınlar arasında “en çok satanlar” arasına girdi.

Bell milyonlarca dolar değerinde tasarruf yaratılmasına katkıda bulunmakla kalmayıp strateji, organizasyonel yapı ve sürdürülebilir gelişim anlamında majör iyileştirmeler sağladığı Nike, State Street Bank, Conway gibi vakaları paylaşacağı Yalın BT Semineri için 24 Mayıs’ta İstanbul’a geliyor. Steve Bell ile İstanbul'a yapacağı ziyaret öncesi Netsis aracılığıyla görüşme fırsatı buldum.

Okurlarımızın Steve Bell’i daha iyi tanıması için bize biraz kendinizden bahseder misiniz?
Yalın düşünceyle ilk defa 1990’larda ERP (Kurumsal Kaynak Planlama) ve MRP (Üretim Kaynakları Planlaması) sistemleri uyarlarken tanıştım. Bir yandan ‘akış’ ve ‘çekiş’ ile ilgili Yalın düşünce terimlerini öğreniyordum, öte yandan yazılımcıların daha fazla planlamayı ve kontrol sistemlerini savunduklarını, karmaşıklıkları yönetmek için de daha fazla karmaşıklık gerektiğini düşündüklerini görüyordum.

Bu arada ERP sistemlerinin de sicilinin o kadar iyi olmadığının farkına vardım. ERP birçok iş sürecinin entegrasyon ve otomasyonunu sağlıyordu, ama aynı zamanda esnekliğin azalmasına, risk ve giderlerin artmasına ve kullanıcının süreçlerini tanımlaması ve iyileştirmesi için gerekli kontrolü kaybetmesine neden oluyordu. Bu nedenle, ERP sistemlerinin uyarlanmasında sürekli iyileştirme ilkelerini uygulamaya başladım ve çalışmalarım başarılı oldu. Kontrol böylece tekrar müşterinin eline geçiyordu. Bu gelişmeler sonucu, 2006 yılında yayımlanan ve Yalın düşünce ile bilişimin yakınsamasını irdeleyen Lean Enterprise Systems (Yalın Kurumsal Sistemler) adlı ilk kitabım ortaya çıktı.

Bu ilk kitabın başarısı, beni kurumların bilgi sistemlerinin organizasyonu konusuna daha derin bir biçimde eğilmeye itti. Böylece geçen yıl Shingo Ödülü’nü alan Lean IT (Yalın Bilişim) adlı ikinci kitap ortaya çıktı. Bu kitap, çevik yazılım geliştirme, bilgi sistemleri servis yönetimi ve proje yönetimi gibi bilişim fonksiyonlarını Yalın bir perspektiften inceliyor.

Şu anda bilgi sistemleri ile kurumun esas işi arasında bir türlü çözülemeyen uyum sorununu araştırıyorum. Bu konudaki Run Grow Transform: Integrating Business and Lean IT (İşlet, Büyüt, Dönüştür: İşle Yalın Bilişimin Entegrasyonu) adlı yeni kitabım 2012 yılı ortalarında yayımlanacak. Bu kitap, Yalın Bilişim’i temel alarak, değer akışı perspektifini kurumun tamamına götürürken, müşteriye yönelik değer akışlarında bilgi sistemlerinin rolünü sorguluyor.

Bunlar dışında aynı zamanda Lean Enterprise Institute (Yalın Kurum Enstitüsü) öğretim görevlisiyim. Burada şu ana kadar edindiğim tecrübeleri mümkün olduğunca çok kişi ve kuruluşla paylaşmaya gayret ediyorum. Sorunlarını çözmelerine yardım etmek amacıyla işletmelere, atölye, seminer, gemba yürüyüşü ve koçluk gibi hizmetler veriyorum.

Faaliyetlerim arasında bir de insani yardım kuruluşlarına Yalın düşüncenin avantajlarını götürmeyi hedefleyen Lean4NGO.org adlı bir organizasyon başlattığımdan bahsetmek isterim. Eşim (Yalın düşünceyi bakımevleri gibi kurumlarla tanıştıran bir hemşire olan) Karen Whitley Bell ile birlikte, kar amacı gütmeyen kurumlar ve sivil toplum kuruluşlarıyla yakın çalışıyoruz. En büyük amacımız, insani yardım kuruluşlarının operasyonel verimlilik ve etkinliğinin artırılmasına yardımcı olarak, piramidin en altındaki insanların yaşamlarının iyileştirilmesine katkıda bulunmak.

Yalın Bilişim nedir?    
‘İşlet Büyüt Dönüştür: İşle Yalın Bilişimin Entegrasyonu’ adlı yakında yayımlanacak son kitabımda yalın bilişimi şöyle tanımlıyorum:
‘İş paydaşları, teknik uzmanlar, tedarikçiler ve müşterilerin işbirliği ve deneyimlemeleri aracılığıyla, son müşteriye değer katmak amacıyla kaliteli bilgiyi, etkili bilgi sistemlerini ve teknoloji ile mümkün olan ürün ve sistemleri sürekli biçimde iyileştirmek ve yenilemek için, sürekli ve hızlı öğrenme uygulaması.’

Bu fikir nasıl doğdu?
İlk soruya verdiğim yanıt bu sorunun cevabına da bir temel oluşturuyor sanırım. Buna ek olarak çevik yazılım geliştirme ve bilgi teknolojileri servis yönetimi adlı iki disiplinin, Bilgi Teknolojileri Altyapı Kütüphanesi (ITIL) sayesinde Yalın ilkeleri bilişime bir süredir uyguladığını söyleyebilirim. Yalın bilişim, bunları ve diğer bilişim topluluklarını işle bir araya getirmeyi, böylece son müşteriye hizmet eden değer akışlarını desteklemeyi amaçlıyor. Örneğin yüksek performanslı bir Çevik ekip yüksek kaliteli yazılımı hızla geliştirebilir, ama hala değer akışı içerisinde müşterinin değer yaratmasını engelleyen sistemik engeller kalabilir. Burada Yalın bilişimin hedefi, bilgi teknolojilerini bütünsel bir bakış açısıyla baştan sona işle bütünleştirmek. Bu aynı zamanda Yalın düşüncenin gereklerinden biri.

"KARMAŞIKLIK YÜZÜNDEN İŞLETMELERİN BİR ÇOĞU GÜNLÜK İŞLERİNE ANCAK YETİŞEBİLİYORLAR"
Kurumsal mantık genellikle, ‘süreç ne kadar zor ve karmaşıksa o kadar iyidir, çünkü sarf edilen çabayı gösterir’ şeklindedir. Bu anlayışı nasıl kırdınız?
Leonardo DaVinci ‘sadelik karmaşıklığın doruğudur’ demiştir. Bence çok doğru bir söz. Sadece teknoloji değil süreçlerin kendilerinin de gereksiz karmaşıklığı, değişim, çeviklik ve inovasyonu engeller. Ekipler müşterinin ne istediğini ve bu isteğin en az zaman, çaba ve israfla nasıl karşılanabileceğini anladıklarında, iyileştirme ve yenileşime odaklanabilirler.
Çevik yazılım geliştirenlerin ‘teknik borç’ adını verdikleri bir kavram var. Değişime direnen karmaşıklık, işletme ve müşterilerinin her gün ödemeye devam ettiği bir borçtur.

İşletmelerin birçoğu, günlük işlerine ancak yetişebiliyor. Bu da tepkisel bir davranış biçimine neden oluyor, etkili yönetişim ve yenileşime vakit kalmıyor. Yalın uygulamalar operasyonel mükemmelliğe erişmeye yardımcı oluyor, böylece bilgi teknolojileri uzmanları proaktif ve yenilikçi olabiliyor. Bu dönüşüm, zaman alan bir süreç. Yalın yolculuğa çıkma kararı, vizyon gerektiren zor bir karar. Vizyona ek olarak, kuruluşu yeni iş yapma yöntemleri aramaya mecbur edecek bir kriz de, bu kararı almaya yardımcı olabiliyor. Yalın düşüncenin bir kuruluşta benimsenme süreci başlayınca, çalışanlar israf keşfettikçe ve bu israfın giderilmesinin operasyonel ve finansal iyileşmelerle sonuçlandığını gördükçe, kurum içinde Yalın düşünce ile ilgili heyecan artıyor.

Makro düzeyde ise, küresel ekonomik krizin,  işletmeleri daha azla daha çok yapmaya yönelterek, Yalın düşüncenin benimsenmesini hızlandırdığı söylenebilir. Yalın düşünceyi benimseyen firmaların sayısı arttıkça ve bunun olumlu yansımaları görüldükçe, yarışta geri kalanlar kendi sorunlarını kavramaya başlıyor ve Yalın düşüncenin bu problemlere uzun vadeli ve kalıcı çözümler getirebileceğinin farkına varıyor. Düşünce tarzının değişmesi, yavaş gerçekleşen bir süreç. Yalın düşünce uzun yıllardır var, ama Yalın Bilişim daha yeni; aşağı yukarı son on yıldır hızla gelişiyor.

Yalın bilişimden ne gibi kazanımlar bekleyebiliriz?
Hız ve kalite artışı, giderlerin azalması (ek kapasite kazandıran israf elenmesi sayesinde), çalışanların tatmin ve motivasyonu, müşterilerin tatmin ve bağlılığı. Bu kazanımlar, Yalın düşüncenin iki temel ilkesiyle bütünleşiyor: sürekli iyileştirme ve insana saygı. Yalın, sürekli öğrenen bir işletme yaratıyor. Bu da kurumların sürdürülebilirliğinin ve rekabet avantajının temeli.
Yalın bilişimin getirdiği kazanımları dünyanın farklı bölgelerinde ve birçok değişik sektörde yaşanan örneklerde görüyoruz. Son zamanlarda özellikle finans sektöründe Yalın bilişim faaliyetlerine sık rastlanıyor. Bu da sürpriz değil, çünkü finans sektörü bilgi teknolojilerine genellikle diğer sektörlere göre daha fazla yatırım yapıyor. ING Netherlands, State Street Corporation ve Nationwide Insurance, Yalın bilişimi benimseyen finans kuruluşlarına üç iyi örnek. Başka sektörlerde ise, Tesco, Solar ve Con-way adlı kuruluşlardan bahsedebiliriz. 2010 yılında yayımlanan Lean IT adlı kitabımda bu konuyla ilgili detaylı vaka çalışmaları var. En yeni kitabım Run Grow Transform: Integrating Business and Lean IT, daha yeni bazı örneklere yer veriyor.

"BÜTÜN SİSTEMLERDE HIZLA ELENEBİLECEK BAZI İSRAFLAR MEVCUT"
Yalın bilişim daha verimli ve hesaplı derken, bahsedilen kazanımlar kısa vadeli mi uzun vadeli mi?
Yalın uygulamalarda farkındalık yaratmak ve yetkinlik oluşturmak için kısa vadede bazı yatırımlar gerekiyor. Öte yandan, bütün süreçlerde hızla elenebilecek bazı bariz israflar mevcut. Bunların elenmesi, artık fazlasıyla benimsenmiş olan, kurumun kalıcı mükemmelliğe ulaşmasını ve yenileşimi önleyen daha zorlu ve sistemik israfların üstesinden gelinebilmesi için ekiplere gerekli motivasyonu sağlar. Sonuç olarak, erken safhalarda hızla yapılan iyileştirmelerin getirdiği kısa vadeli kazanımlar olmasına karşın, Yalın bilişimin uzun vadedeki getirileri, kurumun sürdürülebilirliğine en büyük katkıyı sağlar.

Bütün bunların anlamı, şu ana kadar yapılanların genellikle yanlış olduğu mu?
Tamamen öyle denilemez. Yarım yüzyıldan fazla bir süredir bilgi teknolojileri çözümlerini iş problemlerine uyguluyoruz. Günümüzde daha büyük talepler ve daha fazla karmaşıklıkla karşı karşıyayız. İşletmelerin her zamankinden fazla hız ve çevikliğe gereksinimi var. Son dönemlerde bulut bilişim, sanallaşma, taşınabilirlik, büyük veri analizi, sosyal medya gibi yeni eğilim ve kavramlar ortaya çıktı. Bilgi teknolojileri artık neredeyse müşterilerimize teslim ettiğimiz bütün ürün ve hizmetlerde gömülü. Kendimizi rakiplerimizden farklılaştırmamızın yolu, bilgi teknolojilerinden geçiyor. Sadece ürün ve hizmetin kendinde değil, müşterilerimize sunduğumuz hizmette, onlarla etkileşimimizde, onlar için yarattığımız deneyimde. Bilgi teknolojileri, kurumsal stratejilerde artık lider rolde. Bilgi teknolojilerini de bir iş gibi yönetmek gerekiyor.

Türkiye'deki yalın bilişim uygulamalarını inceleme imkanınız oldu mu?
Yanıtlarımdan birinde dünyanın çeşitli yerlerinden Yalın bilişim örnekleri verdim. Bu ayki Türkiye ziyaretim sırasında Türkiye’den de bazı örnekler görebilmeyi umuyorum. İşletmeler için ERP ve başka yazılım sistemleri sunan kurumsal yazılım firması Netsis’i ziyaret etmeyi planlıyorum. Netsis’le ilgili ilk bilgileri geçen yıl Paris’te yapılan Yalın Bilişim Zirvesi’nde edindim. O zamandan beri bu firmayla detaylı görüşmeler yaptım ve son kitabımda da Yalın deneyimlerine vaka olarak yer verdim. Netsis’in Yalın yolculuğunun beni en çok etkileyen yanı, Yalın düşünceyi ve uygulamalarını sadece yazılım geliştirmede değil bütün organizasyonlarında benimsemiş olmaları. Buna çalışanları, çözüm ortakları ve müşterileri de dahil. Onları ziyaret etmek ve bu deneyimleri ile ilgili daha fazla bilgi edinmek, benim için güzel bir tecrübe olacak.  

Kaynak:
http://ekonomi.haberturk.com/teknoloji/haber/744236-bilisim-sisteminiz-sizi-soyuyor

21 Mayıs 2012

SharePoint Learning Kit for SharePoint 2010 hakkında


Install and Use Sharepoint Learning Kit (SLK) 2010 With Screenshots
http://mstechsharing.blogspot.com/2012/03/sharepoint-learning-kit-2010-slk-2010.html

Learning Gateway Framework
http://www.birliktegelistir.com/projects/learning-gateway-framework.aspx

Learning Gateway Framework Kurulum
http://www.birliktegelistir.com/articles/learning-gateway-framework-kurulum.aspx

SharePoint Learning Kit
http://slk.codeplex.com/

Thoughts on Sharepoint Learning Kit
http://www.pengzhang.ca/blog/2011/09/15/thoughts-on-sharepoint-learning-kit/

DOWNLOAD: SharePoint Learning Kit – a Learning Management System
http://kurtsh.com/2012/05/13/download-sharepoint-learning-kit-a-learning-management-system/

SharePoint Learning Kit Scenario Guide–Whitepaper
http://www.bfcnetworks.com/sharepoint-learning-kit-scenario-guidewhitepaper/

SharePoint Learning Kit
http://www.click2learn.ch/news/Pages/SharepointLearningKit.aspx

SharePoint Learning Kit - Learning Gateway Conference 2010
http://www.slideshare.net/salamandersoft/sharepoint-learning-kit-learning-gateway-conference-2010

Open Source SharePoint Solutions for Education
http://www.slideshare.net/CDHtechconsultants/open-source-sharepoint-solutions-for-education

Introduction to SCORM and SharePoint Learning Kit (SLK)
http://blogs.technet.com/b/industry_insiders/archive/2008/01/29/introduction-to-scorm-and-sharepoint-learning-kit-slk.aspx

SharePoint Learning Kit for SharePoint 2010
http://www.bfcnetworks.com/sharepoint-learning-kit-for-sharepoint-2010/

Richard Willis – SharePoint Learning Kit Coordinator, SalamanderSoft Owner
http://blog.salamandersoft.co.uk/

Assignment List Web Part generates an error during configuration of SharePoint Learning Kit
http://imak47.wordpress.com/2011/01/27/assignment-list-web-part-generates-an-error-during-configuration-of-sharepoint-learning-kit/

Compiling and localizing SharePoint Learning Kit v1.5
http://blog.dabasinskas.net/compiling-and-localizing-sharepoint-learning-kit-for-sharepoint-2010

Creating Content for the SharePoint Learning Kit
http://www.johnkoerner.com/index.php?/archives/40-Creating-Content-for-the-SharePoint-Learning-Kit.html

SharePoint. Useful or useless for corporate learning?
http://blog.sharepointlearn.com/2012/01/24/sharepoint-useful-or-useless-for-corporate-learning/

Sharepoint Learning Kit
http://web.holte.bham.sch.uk/index.php/school/it-services/systems/share-learning-kit

Strategies for Integrating SharePoint into Your Learning Strategy
http://www.trainingindustry.com/learning-technologies/articles/strategies-for-integrating-sharepoint-into-your-learning-strategy.aspx

How to Organise Class Sites for SharePoint Learning Kit – The Basics
http://blog.salamandersoft.co.uk/index.php/2011/06/how-to-organise-class-sites-for-sharepoint-learning-kit-the-basics/

Debugging the SharePoint Learning Kit Frameset and SCORM Interactions
http://blog.salamandersoft.co.uk/index.php/2011/08/debugging-the-sharepoint-learning-kit-frameset-and-scorm-interactions/

http://www.edugeek.net/forums/virtual-learning-platforms/89004-sharepoint-2010-sharepoint-learning-kit-new-setup.html

Install Sharepoint Learning Kit (SLK) 2007 With Screenshots
http://mstechsharing.blogspot.com/2012/03/sharepoint-learning-kit-2007-slk-2007.html

SharePoint and E-Learning Integration
http://trainascope.com/archives/1452

http://blog.sharepointlearn.com/

http://kruismanp.wordpress.com/category/learning-kit/

SharePoint Learning Kit Assignments with Many Learners
http://kernel-dump.blogspot.com/2012/05/sharepoint-learning-kit-assignments.html

Lectora and SharePoint 2010 Learning Kit
http://www.trivantis.com/forum/f120/lectora-sharepoint-2010-learning-kit-11191/
http://www.trivantis.com/

Content Shaper - authoring tool, oriented at assembly, updates and maintenance of the elearning content.
http://www.c-shaper.com/tools.htm





14 Mayıs 2012

Sharepoint 2010 - Benefits and Risk involved in having multiple web applications

Question:
Benefits and Risk involved in having multiple web applications in SharePoint 2010

Answers:
--
Here are some points to consider if you are adding additional web applications to your SharePoint Farm: 

1. IIS setup and configuration is required for the new web application. Additional setup is required if the Web Application needs to load balanced behind a hardware load-balancer like F5 BIG IP. These changes can include VIP setup on the Load balancer for the new web application Host IP address and DNS configuration. 

2. You would need separate content databases for the new web app. These content databases would need to be added into your Farm's SharePoint database backup processes. 

3. Deployment of custom or third-party solutions is much easier in a single web app versus repeating the process across multiple web apps. 

4. Security is easier to manage for a single web application rather than multiple web applications. 

5. Additional Enterprise search configuration is required for the new web application.
--
Multiple web applications provide you a number of benefits. 1) You can have a different URL for the sections you wish to differentiate, intranet.company.com and teams.company.com. 2) You can provide different authentication methods to the content you are accessing. 3) You can apply different policy to the content you are accessing. 4) And the big one, by separating into different web applications you are isolating your content such that if something causes the web application to crash, you don't lose access to everything, just that one web application. 

To address the other points raised - new applications are automatically added to the default content source for search, and as such are automatically part of your crawl. no extra configuration needed. 

Additional content databases are recommended if you are going to be working with a large amount of data, whether it be attached to one web application or several. 

Security is managed at the Site Collection level, not the web application level. 

Yes, you are correct in that you want to keep the size of your content databases below 200GB, mostly for recovery reasons. You need to plan your Site Collections accordingly because you cannot span a Site Collection across multiple databases.
--
Look at http://technet.microsoft.com/en-us/library/cc263199.aspx; there is a diagram for Corporate Portal with Classic Authentication ... where a number of web app urls are listed.
--
In your case I don't think creating multiple webapplication is a good idea, simply think that each webapp will have a different URL, but I think companywide you better follow the same topmost URL. 

I think for different department, it's a good idea to create different sitecollection, so the url will be like mycompany.com\HR, mycompany.com\Finance etc. 

It's better to create separate content DB for each site collection, this will help you to implement a better archival policy in future. 

Having said that, there is no easy way to supply different content DB for different site collections, cause you can only add content DB in the webapp level. 

But there is a trick there. Say you are creating two different site collection as 'HR' and 'Finance', try to follow below steps 

1> before creating these site collection, attach two content DB in the web application, say HR_WSS_Content_DB and Fianance_WSS_Content_DB 
2> Now, other that HR_WSS_Content_DB, make all other content databases as offline in the central admin. 
3> Create ‘HR’ sitecollection, as HR_WSS_Content_DB is the only active DB, the site collection will be created inside it. 
4> Now take HR_WSS_Content_DB offline and make Fianance_ WSS_Content_DB online 
5< Create Finance site collection, it will be created within Fianance_ WSS_Content_DB 

This way you can segregate content DBs for site collection and this is one time job only 

--
Microsoft recommended limit is 200GB per content Database
--
Since SharePoint 200 SP1 the limit has increased from 200gb to 4TB. Having said this no SQL admin would want to have to look after a database that large.
--
The big thing here is application pools. If you look at this link on software boundaries http://technet.microsoft.com/en-us/library/cc262787.aspx you are going to hit the best practice limit of 10 very quickly just having one web application due to the amount of service applications that are available within SharePoint 2010.
--
One thing not mentioned (only touched upon) is that SharePoint groups cannot be referenced across site collections or web apps so if your expecting to have groups of users with access across site collections and web apps then consider using AD groups for this purpose.And where licensing is concerned consider using an AD group for this. You can restrict the people picker to one or more AD groups thus restricting access to the chosen few with user CALS.


Kaynak:

11 Mayıs 2012

Sharepoint 2010 - referans dll dosyalarını ayrı solution paketinde yükleme

Geliştirdiğimiz projenin referans dll'lerin ayrı wsp solution paketi içinde sharepoint'e yüklememiz gerekmektedir. Yoksa geliştirdiğimiz projenin wsp paketi retract yapılınca tüm referans dll'ler de GAC'dan silinmektedir. Bu silinen dll'i kullanan diğer uygulamalar artık çalışmaz olmaktadır. Buna dikkat edilmelidir.

Does this mean for future projects, I do not have to package the same dll's over again?

Yes, correct. It is deployed in that project - problem is if you retract that solution, the dll is also retracted from the GAC and all your other projects will fail. So either you add it to all projects so it is always deployed - or you create a custom "Deployment" feature, which only provisions this DLL and other stuff you always want to have.

Kaynak:


10 Mayıs 2012

CDATA ne işe yarar?


<!DOCTYPE
html
PUBLIC
“-//W3C//DTD XHTML 1.0 Transitional//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<!– HTML 5: <!DOCTYPE html> –>
<html
xmlns=”http://www.w3.org/1999/xhtml”>
<head>

<title>CDATA neden kullanılır? CDATA ne işe yarar?</title>

<script
type=”text/javascript”
src=”myscript.js”></script>
</head>
<body>
<!– cdata xhtml dökümanlarında <script> tagları XML olarak algılanmasın diye kullanılır.
ayrı bir .js içine javascript koyarsan buna gerek kalmaz. –>

<script
type=”text/javascript”>
//<![CDATA[
yetAnotherAlert("This is the second example");

//]]>

</script>
</body>
</html>


Kaynak:
http://cagatay.info/2011/12/02/cdata-ne-ise-yarar/


06 Mayıs 2012

Neden Ciddi Yazılım Üretemiyoruz?


Aslında sorunun “Neden üretemiyoruz?” olması gerekirdi ama, kendimi fazla alan dışına çıkarmak istemediğimden iğneyi kendimize batıralım dedim. Evet “Neden ciddi yazılımlar üretemiyoruz?” sorusunu sormaya başladım. Yazılım sektörünün liderlerinin görüşlerini, kitaplarını okudukça ve yazılıma bakış açılarını gördükçe, yavaş yavaş sorumun cevabına yaklaşmaya başladım.
Öncelikle yazılıma ne olarak bakıyoruz, buradan sorgulamaya başlayabiliriz. Piyasada milyonlarca yazılım var. Bu yazılımlara ulaşmak için ne yapıyoruz? Hemen gidip pasajlardan “CD var oyun var, program var..” diye bağıran emek hırsızlarının ekmeğine yağ sürüyoruz. Aylar, yıllar süren çalışmaların karşılığını korsanlardan üç beş kuruşa satın alıyoruz. Bu ortamı gören kimse yazılım üretmek ister mi? Tabiki istemez. İsteyenler de kalitesizse, alın size kalitesiz yazılım üretimi için bir sebep.
Bir diğer soru, yeterince çalışkan yetiştirildik mi? Üşenmeden sıkılmadan bir işin sonucunu bekleyebiliyor muyuz? Olayın bu yönüne farklı bir alandan bakmak istiyorum aslında. Senelerimizi yiyen bitiren şu test sınav mantığı yokmu? Ham bilgi peşinde değilde, dersanelerde kısa yol kısa çözüm peşinde geçen gençliğimiz yok mu? İşte bu mantık; basma kalıp bilgilerle beynimizi doldurdu, bilgiye ulaşmamızı engelledi, bilmemiz gerekenleri hep pas geçerek seçiciliğimizi törpüledi, bizi kısa yol peşinde koşan tembeller haline getirdi. Maalesef yazılımı da aynı mantıkla öğreniyoruz. Forumlara bir göz atmanız bunu açık açık görmenize yardımcı olacak. “Şu ödevim için örnek kod var mı?”, “Bitirme çalışması için örnek konu var mı?” şeklinde açılmış konuları ve aklıma gelmeyen hazır kod isteklerini forumlarda bolca göreceksiniz. Böyle yetişen yazılımcıların ürettiği yazılımdaki ciddiyeti tahmin edebilirsiniz. O da olmadı dönüyoruz kursların peşinde. Hadi bana yazılım öğret diye. Yazılımcı kendi kendini yetiştiremiyorsa onu kimse yazılımcı yapamaz.
Takım çalışmasında başarılı mıyız? Yönetilmiş olmadan yönetmeye çalışan bireyler, takım çalışmasında başarısız olurlar. Sebebi ise bulunduğu konumu benimseyememiş olması ve gözünü yükseklere(maaşlara) dikmiş olmasıdır. Bu yüzden, kişi bulunduğu konumu kendi konumu olarak görmez ve hep yükseklere gözünü diker. Bu yüzdende yaptığı işe konsantre olamaz. Kafa hep başka yerlerdedir. Bu tarz insanlar takım arkadaşlarından bilgi saklar, aklınca arkadaşlarının kendi seviyesine çıkmasını engellemeye çalır, takım liderlerinden aldığı bilgileri takım arkadaşlarına tam iletmezler ve stres yüklü insanlar haline gelirler. Bir çıkış noktası yakalayıp yükselme peşindedirler. Bu şekildeki yazılımcıların iş kalitesini bir düşünün. Yazılım ekibi kesinlikle paylaşımcı olamlı ve o anda yaptığı işe odaklanmalıdır. Paylaşımcı olmayan takımlar başarısız olur.
Sistematik çalışma prensibine sahip miyiz? Yapılan yazılımlar da kişilere bağlı değil sistemlere bağlı olmalıdır. Kişiler herzaman değişkendir ancak sistemler sabittir. Modüler yapıda ve branşlaşmış çalışma ekipleriyle üretilen işler herzaman kaliteli olmuştur. Kariyer sitelerinde ilk defa iş ilanlarına baktığımda “vay be, insanlar ne kadar çok şek biliyormuş” diyordum hep. Sonraları komedinin farkına varmıştım. Bir yazılımcıdan istenen özellikler; Veritabanı yönetimi, programlama bilgisi, web bilgisi, tasarım bilgisi, sistem bilgisi v.s. Aklına geleni yazmış adamlar. En ilgi çekeni de esnek çalışma koşullarına ayak uydurmak. Artık gece onikide mi biret mesai bilinmez. Unutulmamalıdır ki her fazla mesainin altında bir plansızlık yatar. Her neyse, bunların hepsini yapacak bir kişi daldan dala atlamaktan ve google araması yapmaktan işini yapamaz. Çünkü kişi her konuda tecrübeli olamayacağına göre birsürü sorunla karşılaşacak. Böyle bir proje ne kadar başarılı olabilir ki?
Benimsenmiş yazılım prensiplerini uyguluyor musunuz? Bunların başında gelen çevik  süreçlerdir. Devamında ise temiz kodlama, teste dayalı programlama  gibi teknikler gelmektedir. Bu yöntemler sayesinde üretilen projeler tertemiz ve testleri yapılmış bir şekilde ortaya çıkar. Kodun yeniden düzenlenmesi için tüm yazılımın ayıklanıp incelenmesi gerekmez ve zaman kaybı önlenmiş olur.
Bence yazılım, kesinlikle kuralları olan bir süreçtir. Başarı için bu kurallara uyulması gerekmektedir. Kurallara uymadan yapılan kodlamalar sonucunda sadece çalışan kod yazılmış olunur. Bu yüzden, piyasa koşullarında rekabet edemeyen, sadece çalışan kodlarımız olur.


Kaynak:
http://www.bayramucuncu.com/neden-ciddi-yazilim-uretemiyoruz/

Yazılım geliştiricinin çevik olanı...

...
Agile yaklaşımın temelinde gereklerin geliştirme süreci boyunca değişeceği, dolayısıyla yazılımın artımsal olarak kısa adımlarla geliştirilmesi, müşterilerin ve geliştiricilerin süreç boyunca etkileşimi, yazılımın her anında çalışabilir olması gibi bazı genel fikirler var. Scrum ise bu fikirlerden yola çıkıp geliştirme ve planlama sürecinin nasıl yürütüleceğini ayrıntılı olarak (ve süslü deyimlerle) tanımlayan bir yöntem.
...
http://6kere9.com/blag/2012/02/20/82/


Yazılımcı pazarı


Yazılım geliştirici olarak iş aramak garip biçimde hem çok kolaylaşıyor hem de çok zorlaşıyor. Zorlaşmasının nedeni gereken bilgi ve deneyim seviyesinin sürekli artması. Kolaylaşmasının nedeni ise şirketlerin yazılımcı ihtiyacının bu seviyeden daha hızlı biçimde yükselmesi.

Mesela Amerika gibi güçlü CS (Computer Science, Bilgisayar Bilimleri) bölümlerine sahip üniversitelerin olduğu ve bir yandan da yurtdışından yazılımcı ithal eden bir ülkede, iyi bir yazılımcı bulup işe almak beklenmedik kadar güç bir iş. İlk önce verdikleri astronomik rakamlarla Wall Street ve keyifli ortamıyla üniversiteler bu kitlenin kaymağını topluyor, daha sonra da Google, Apple, Microsoft, Facebook, vb gibi isim sahibi firmalar. Kalanları kapabilmek için de küçük startuplar daha "cool" olma ve gelecekte dünyayı ele geçirme umutları satmakta birbirleriyle yarışmaktalar.

Bu kıran kırana ortamın iş ve işçi arayışını hallice değiştirmiş olması şaşırtıcı değil.

İşverenler başvuru beklemek yerine iyi geliştiricilerin takıldığı ortamlarda araştırma yapıp buldukları potansiyel adaylara görüşme teklifi gönderiyorlar. Büyük çaplı olanlar üniversitelere yerleşip potansiyel sahibi öğrencilerden stajyer kapmaya çalışıyor. Araştırma ortamlarından birisi diğer geliştiricilerin sosyal ağları. LinkedIn gibi profesyonel sosyal ağ siteleri, StackOverflow, TopCoder gibi bilgi paylaşımı ve yarışmalar yapılan siteler, özgür yazılım projelerine ev sahipliği yapan GitHub, GoogleCode gibi siteler belli başlı kaynaklar.

Ancak kendinizi görünür kılmanın en kolay ve etkili yolu bir özgür yazılım projesine katkıda bulunmak. Bu konuda geçen sene başında Javascript'çilerin ismini tanıyacağı bir geliştirici, John Resig İşe alma söz konusu olduğunda, bir Github commit'ini herhangi bir CV'ye tercih ederim diye bir laf etmişti ve epey tartışma yaratmıştı. Bu kapalı kod üreten işlerde çalışanların çok işine gelen bir durum değil. Bir şirkette onbeş yıl çalıştıktan sonra elinizde başkalarına göstermeye izniniz olan herhangi bir örnek kodunuz olmayabilir. Ancak eşitsiz ve acımasız da olsa gidişat bu yönde, çünkü birisinin yazılım becerisini değerlendirmenin en kolay ve hızlı yolu yazdığı koda bakmak. Özgür yazılım projelerinde kişinin test ve belge üretme, diğer geliştiricilerle ve kullanıcılarla birlikte çalışma gibi çok daha önemli özellikleri de bir ayna gibi görülebiliyor.

Tabii ki her projenin görünürlüğü farklı derecede. İş ilanlarından güncel bir derleme yaparsak, mesela Nginx, haproxy, Hadoop, memcache, Redis, MongoDB, puppet, vb gibi özgür yazılımlar epey sık geçiyor. Dolayısıyla bunlar üzerindeki deneyim ve katkılarınız daha çok ilgi çekme şansına sahip. Yazılımların sayfalarında yada şirketlerin mesela performansla ilgili sunumlarında neler kullandıklarını daha yakından görebilirsiniz.

Bir şekilde bağlantıya geçtikten sonraki adım ön eleme. Burada genelde daha önce yaptığınız işler, şirketin neler yaptığı, işin ilginizi çekip çekmediği gibi daha klasik konular konuşulmakta ve mesela şirketin yazılımcılarından biriyle kısa süreli bir telefon görüşmesi yapıp teknik bilginiz değerlendirilmekteydi. Ancak son zamanlarda arttığını gördüğüm bir uygulama daha var. Size bir problem ve bu problemi çözmek için yazılmaya başlanmış bir program gönderiyorlar, birkaç saat içinde programın hatalarını ayıklayıp, yeni özellikler ekleyip, belki bazı kısımları daha düzgün şekilde yeniden yapılandırıp geri gönderiyorsunuz. Programın çalışması kolayca test edilebileceği için şirketin yazılımcılarının incelemesinden önce epey bir eleme yapılabiliyor.

Asıl görüşme kısmı ise neredeyse tamamen Google modeline dönmüş durumda. Yarım gün falan süren, tamamen teknik konulardan oluşan ve tahtada kod yazılan zorlu bir sınav. Ağaç ve graph yapıları, arama ve sıralama, karmaşıklık gibi teorik konular, bildiğiniz programlama dilinin en ince detayları, işletim sistemi, ağ ve bilgisayar mimarisi. Bazı firmalar bu konsepti yalnızca gördükleri kadarıyla taklit ettikleri için, anlamsız derecede zor yada adaletsiz sorular sorabilirler. Bazı firmalar ise üniversite CS eğitiminin üzerinde ve gerçekten etkileyici yanıtlar bekleyebilir. Burada başarılı olmak için günceli takip etmek gerekiyor. Bildiğiniz sıralama algoritmaları Quick, merge ve heapsort'tan ibaret olmasın. Ağaç deyince aklınıza binary tree değil, Suffix tree, R tree, Radix tree, Judy array falan gelsin.

Bu konuları öğrenecek bir dolu kaynak var internette. Mesela AI ClassUdacity ve ML Class özellikle istatistiksel yöntemler ve yapay zeka konusunda çok başarılı kaynaklar. Bir diğer yardımcı da yine özgür yazılımlar. Favori yazılımlarınızın hangi algoritmaları kullandığına baktınız mı hiç? Mesela bellekte bir kopyalama işlemini nasıl en hızlı yaparsınız? eğer glibc kodunu açıp memcpy fonksiyonuna baktıysanız cevabı görmüşsünüzdür :) Ya da mesela onbinlerce bağlantıyı aynı anda yönetebilen bir sunucu nasıl yazılır? Nginx, lighttpd ve Apache gibi özgür yazılımların içinde buna dair ipuçları olsa gerek değil mi?

Bütün bu tantana yalnızca almışken daha iyi elemanı alalım kaygısından ya da beğenilen bir şirkete girmeye çalışmaktan kaynaklanmıyor. Gelişen teknoloji ve artan kullanıcı sayısıyla birlikte işlenen veri inanılmaz boyutlara ulaştı ve bu veriden çıkarılacak anlamlı sonuçlara, en başta reklam sektörü tarafından, çok büyük paralar ödeniyor. Dolayısıyla daha hızlı, daha az kaynak kullanan, daha başarılı sonuç üreten ürünler aslan payını kapıyor. Burada rekabet hem algoritma seviyesinde, hem de o algoritmayı en ideal biçimde gerçekleyeceğiniz uygulama seviyesinde.

Bu düzeye yalnızca dört senelik üniversite eğitimiyle (hele hele ar-ge yapılmayan ve seviyesi düşük üniversitelerde) ya da hobi seviyesinde bir programcılık ilgisiyle gelmek mümkün değil. Mutlaka zorlu problemlerle karşılaşıp bunlara çözümler geliştirmeniz, bir yandan da teorik bilgilerinizi sağlamlaştırmanız lazım.

Böyle bir hedefiniz varsa, stajınızı, çalışacağınız şirketleri, yapacağınız kişisel projeleri dikkatle seçmeniz gerekli. Mesela yüksek maaşlı ancak rutin ve yıpratıcı bir işe girip, uzun bir süre çalıştıktan sonra oraya çakılı kalıp, daha iyi bir noktaya geçme şansınız kalmadığını farkedebilirsiniz. Yaptığınız işin başkaları tarafından görülebilir olmaması ve yeni şeyler öğrenmenizi gerektirmemesi çok tehlikeli kariyer riskleri.


Kaynak:
http://6kere9.com/blag/2012/03/05/83/

Geliştiriciden İşverene Dağıtık Manifesto


Güzel çıkarımlar yapılmış.
Devamı kaynak linkten bakabilirsiniz.

İlgili kaynak:
http://gokmengorgen.net/post/detail/gelistiriciden-isverene-dagitik-manifesto/


Microsoft Office 15, Açık Belge Biçimi 1.2 Destekleyecek


Brüksel'de gerçekleşen ODF Plugfest etkinliğine katılan M$crosoft firması, yeni sürümleri gelicek olan Office 15 ve Office 365 ürünlerinde, Açık Belge Biçimi (ODF) 1.2 sürümünü destekleyeceğini açıkladı. 
Önceki zamanlarda, hali hazırda açık uluslararası standart olarak bulunan ODF'ye (ISO/IEC 26300) karşı, kendi standardını olan OOXML (ISO/IEC 29500) geliştirerek savaşmış fakat şimdilerde ise oldukça geniş kullanıma, birçok üretici ve devlet desteğine sahip olan açık belge biçimini kabul etmiş gözüküyor. 
ODF 1.2 standardı, Libreoffice, Gnumeric, Google Docs, Abiword gibi ofis kullanımında oldukça  yaygın olarak kullanılan yazılımlar tarafından destekleniyor ve aktif olarak kullanılıyor. M$crosoft'un ODF 1.2 desteğini, tahminen bu yaz yapılacak olan teknik ön incelemesinde görebiliriz. 
Hali hazırda, Office 2007 SP1, Office 365, Sharepoint gibi ürünlerinde ODF 1.1 sürümü destekleniyor. 

Kaynak:
http://www.pardus-linux.org/haberler/2012/04/mcrosoft-office-15-a%C3%A7%C4%B1k-belge-bi%C3%A7imi-12-destekleyecek


501 developer olmak

501 developer kavramı; saat 5.01'ı gösterince kodlamayı bırakıp, hayatına vakit ayıran geliştiriciler için kullanılıyor. Yani mesai bitimininden bir dakika sonra iş hayatından kendi hayatına geçmek.


All over the world, developers/testers complaining about making overtime at work. There’re a lot of reasons for that that i agree most of them.

Scott Hanselman started a kind of movement and it call a 501 Developer. It means when time gets 5.01am, developers should leave work and start to their live. They used allusion little bit, please consider this. (; Take a look at The 501 Developer Manifesto. Here is official page and Reddit comments. I totally agree with their idea.

http://www.eksisozluk.com/show.asp?t=501+developer