1 Mayıs sebebiyle kapalı yollar yüzünden biraz geç başlayan etkinliğe katılan herkese teşekkür ediyorum :)
Yazılım Dilleri’nin ilk etkinliği olan The Code Day etkinliği, bugün benim sunumum ile bugün Gazi Üniversitesi’ndeydi. 25 kişilik bir katılımcı grubunu kabul ettiğimiz bu etkinlikte Microsoft Asp.Net, SQL Server ve Entity Framework konularının anlatıldığı ön oturumun ardından Entity Framework ile gerçekleştirdiğimiz proje ile birçok arkadaşımızın ilk kez ORM araçlarıyla tanışması sırasındaki dikkat ve öğrenme azmi, etkinliğin amacına ulaştığının bir göstergesiydi.
Sadece Gazi Üniversitesi’nden değil, farklı yerlerden de etkinliğe katılım olması benim adıma sevindirici bir durum oldu.
Etkinlik sırasında söz verdiğim sunum ve proje kodları aşağıdaki linklerde yer almaktadır. Etkinliğe katılan ve emeği geçen herkese sonsuz teşekkürler.
Linkler:
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
veysel@ugurkizmaz.com
01.05.2012
|
Gazi Üniversitesi Bilgisayar ve İnternet Topluluğu’nun düzenlediği etkinlik çerçevesinde 1 Mayıs’ta Gazi Üniversitesi Mühendislik Fakültesi’ndeyim. Etkinlik detayları ve afişi aşağıdadır.
1. Bölüm: Genel Anlatım
· Asp.Net nedir? Visual Studio ile Asp.Net projesi nasıl oluşturulur?
· SQL Server nedir? Management Studio nasıl kullanılır?
· ORM ve Entity Framework nedir?
2. Bölüm: Proje Tanımlama
· Proje: Asp.Net, SQL Server ve Entity Framework ile e-ticaret sistemi oluşturma.
· Aşamalar:
o Yapılacak işlemlerin netleştirilmesi
o Kullanılacak teknolojilerin belirlenmesi
o Veritabanı mimarisinin oluşturulması
o Katmanlı mimari ile proje yapısının belirlenmesi
§ Veri erişim katmanının oluşturulması
§ İş katmanının oluşturulması
§ Sunum katmanının oluşturulması
3. Bölüm: Projenin Gerçekleştirilmesi
Eş zamanlı olarak konuşmacı ve katılımcıların projeyi gerçekleştirmesi aşamasıdır.
Notlar
Katılımcıların gelmeden incelemesi istenen konular:
· LINQ to SQL (örneklerin yapılması ve LINQ ile ilgili ön bilginin oluşması)
· Asp.Net Nedir (genel anlamda asp.net nedir, yeni proje nasıl oluşturulur konusunda ön bilgilendirme)
28.04.2012
|
Sharepoint’te oluşturulan bir listeyi Access veritabanı olarak çıktı alabilmekteyiz. Bu işlemin nasıl yapıldığını bir örnek ile inceleyelim.
Kisi isminde bir listemiz olsun. Bu listemizde bir örnek kayıt oluşturalım.
Kaydımızı ve listemizi Access’e aktarmak için List -> Connect & Export ->
Open with Access seçeneğini seçelim.
Seçeneği seçtikten sonra Open in Microsoft Access ekranı açılacak. Yapılacak işlemi seçiyoruz.
1. Link to data on the Sharepoint site: Veriyi Sharepoint sitesinden alacaktır. Sharepoint üzerinde veri ekleme, silme, düzenleme işlemleri yapıldığında aynı işlem access’te de görünecektir.
2. Export a copy of the data: Veri kayıtlarının kopyasını alır.
İlk seçeneği seçip ilerleyelim.
Access üzerinden tablo ve kayıtları aşağıdaki gibi listelendi.
Bu tablo üzerinde bir değişiklik yapıp Save to Sharepoint Site seçeneğini seçersek yapılan değişikikler Sharepoint sitesine gönderilecektir.
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
veysel@ugurkizmaz.com
12.04.2012
|
Sharepoint, Office ailesinin masaüstü uygulamaları ile entegre çalışabilmektedir. Bunun en güzel örneği Calendar ile Outlook entegrasyonudur.
Sharepoint içerisinde oluşturulan takvimi bilgisayarda yüklü outlook ile senkronize şekilde çalıştırabilirsiniz. Bu işlemin nasıl yapıldığını inceleyelim.
Bu işlem için Sharepoint takviminde Calendar Tools -> Calendar -> Connect to Outlook seçeneğinden Outlook’a bağlantı kuruyoruz.
Bağlantı kurarken bizden onay istiyor. Onayı verelim.
Onayı verdikten sonra takvim listesi ile Outlook senkronizasyonunun yapılandırması ekranı karşımıza geliyor. Advanced diyerek gelişmiş yapılandırma ayarlarını yapabiliriz.
Folder Name seçeneğinden takvim olaylarının hangi klasör içerisine yerleşeceğini belirtiyoruz.
Kaydederek işlemimizi tamamlayalım ve outlook içerisinde takvim karşımıza gelecektir.
Sharepoint içerisinde takvime yeni kayıt ekleyelim.
Ekleme işlemini tamamladıktan sonra Connect to Outlook ile senkronizasyonu yeniden sağlayalım.
Bu işlemi yaptığımızda otomatik senkronizasyonu sağlayacaktır.
Kayıt başarıyla outlook içerisine aktarıldı. Şimdi kayıt üzerinde Outlook’ta düzenleme yapalım ve kaydedelim.
Sharepoint ile senkronizasyon için Send/Receive -> Update Folder tıklayıp Sharepoint listesiyle senkronizasyonunu sağlayalım.
Senkronizasyon otomatik olarak gerçekleşti ve toplantı kaydı Outlook’ta ve Sharepoint’te birebir aynı oldu.
Bu yöntemle online Sharepoint üzerinden takviminizi takip edebileceğiniz gibi sürekli senkronize edip offline olarak outlook üzerinden de aynı takvime erişebilirsiniz.
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
veysel@ugurkizmaz.com
12.04.2012
|
Farm Passphrase işleminin nasıl yapıldığından önce ne olduğunu örnek bir senaryo üzerinden inceleyelim.
Sharepoint ile bir uygulama geliştirdiniz. Geliştirdiğiniz uygulamada Sharepoint Server, tek bir sunucu üzerinde çalışmaktadır. Bir süre sonra sistemi kullanan kullanıcı sayısı ve yapılan işlemler arttıkça sunucunuz, sistemin yükünü kaldıramayacak hale gelecektir. Bu noktada sisteme yeni bir Sharepoint sunucusu dahil etmek gerekecektir.
Yeni Sharepoint sunucusunun kurulumunu tamamladınız ve farm içerisine dahil etmek için Sharepoint 2010 Products Configuration Wizart’ı çalıştırdınız. Bu noktada Sharepoint sizden farma dahil olmak için Passphrase isteyecektir. Bu noktada Passphrase bilgisine erişmeniz gerekebilir. Unuttuysanız resetlemek için Powershell üzerinden aşağıdaki komutu yazarak ulaşabilirsiniz.
|
$yeniPassphrase= ConvertTo-SecureString-String"YeniPassphrase"-asPlainText–Force
Set-SPPassPhrase-PassPhrase$yeniPassphrase–Confirm
|
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
12.04.2012
|
Sharepoint ile yazılım geliştirme sürecinde birçok işlemi Visual Studio’da oluşturacağımız bir projede kod ile gerçekleştirebiliyoruz. Bunun yanısıra Sharepoint içerisinde halihazırda bulunan web servisleri üzerinden de birçok işlemi gerçekleştirebilmekteyiz.
Sharepoint’in hazır web servisleri IIS üzerindeki uygulama altında _vti_adm isimli sanal klasörün içerisinde yer almaktadır..
Klasör açıldığında .asmx, .wsdl.aspx ve .disco.aspx uzantılı web servisleri karşımıza gelecektir.
Bu dosya türlerinin ne olduğuna göz atacak olursak,
|
Servis Dosya Türü
|
Açıklama
|
|
*.wsdl.aspx
|
WSDL (Web Services Description Language) servisi
|
|
*.disco.aspx
|
Servis discovery implementasyonunu gerçekleştirir.
|
|
*.asmx
|
Web servisi
|
Bu servislere erişebilmek için http://sunucuadı:port/_vti_bin/ServisAdı.uzantı linkini kullanmaktayız.
Sharepint içerisindeki web servisleri ve açıklamaları aşağıdaki gibidir.
|
Servis
|
İşlem
|
|
_vti_bin/Admin.asmx
|
Admin işlemlerinin web servisi
|
|
_vti_bin/Alerts.asmx
|
Uyarı işlemlerinin web servisi
|
|
_vti_bin/Authentication.asmx
|
Doğrulama işlemlerinin web servisi
|
|
_vti_bin/Copy.asmx
|
Kopyalama işlemlerinin web servisi
|
|
_vti_bin/Dws.asmx
|
Doküman Çalışma Alanının web servisi
|
|
_vti_bin/Forms.asmx
|
Form işlemlerinin web servisi
|
|
_vti_bin/Imaging.asmx
|
Resim Kütüphanelerinin web servisi
|
|
_vti_bin/DspSts.asmx
|
Liste Verisi Alanı işlemlerinin Web Servisi
|
|
_vti_bin/Lists.asmx
|
Liste işlemlerinin web servisi
|
|
_vti_bin/Meetings.asmx
|
Toplantı Çalışma Alanının web servisi
|
|
_vti_bin/People.asmx
|
Kişi işlemlerinin web servisi
|
|
_vti_bin/Permissions.asmx
|
İzin işlemlerinin web servisi
|
|
_vti_bin/sharepointemailws.asmx
|
Dizin Yönetimi işlemlerinin web servisi
|
|
_vti_bin/SiteData.asmx
|
Site Verisi işlemlerinin web servisi
|
|
_vti_bin/Sites.asmx
|
Sitelerin web servisi
|
|
_vti_bin/spsearch.asmx
|
Arama işlemlerinin web servisi
|
|
_vti_bin/usergroup.asmx
|
Kullanıcılar ve Grup işlemlerinin web servisi
|
|
_vti_bin/Versions.asmx
|
Version işlemlerinin web servisi
|
|
_vti_bin/Views.asmx
|
Views işlemlerinin web servisi
|
|
_vti_bin/WebPartPages.asmx
|
Web Part Sayfalarının web servisi
|
|
_vti_bin/Webs.asmx
|
Webs işlemlerinin web servisi
|
|
_vti_bin/Search.asmx
|
MOSS Arama işlemlerinin web servisi
|
Veysel Uğur KIZMAZ
07.04.2012
|
Sharepoint Central Administration üzerinden yüklenen bir solution deploy edilmek istendiğinde bazı durumlarda "A feature with ID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx has already been installed in this farm. Use the force attribute to explicitly re-install the feature" hatası verebilmektedir. Bunun sebebi solutionın düzgün yüklenememesinden ya da bu solutionın farm üzerinde yer almasından kaynaklanmaktadır. Sistemde aynı solution yer almıyorsa solution’ı Sharepoint Management Shell üzerinden deploy etmeniz gerekecektir.
Sharepoint Management Shell’i açıp aşağıdaki kodu yazmanız yeterli olacaktır. Bu kod sayesinde solution’ı deploy etmek için job oluşturacak ve job arkaplanda bu solution istenen site collection’a deploy edecektir.
Not: Birden fazla site collection’a deploy yapmak için her site collection için bu işlemi tekrar yapmanız gerekmektedir.
Kod:
|
stsadm -o deploysolution -name SolutionAdi.wsp -immediate -allowgacdeployment -allowcaspolicies -url http://siteurl -force
|
Veysel Uğur KIZMAZ
05.04.2012
|
Bu makalemizde jQuery ile Browser Eventlarından scroll() eventını inceleyeceğiz.
Konuyu bir örnekleme ile anlatmak istersek, en basit örnek browserda scroll varken hareket ettirdiğimizde uyarı vermesi. Browserda scrollu her hareket ettirdiğimizde ekranda uyarı mesajı çıkmasını sağlayan yazdıran bir örnekle scroll eventını inceleyelim.
|
<html>
<head>
<script src="jquery-1.5.1.js"></script>
<script>
$(window).scroll(function () {
alert("Sayfa Kaydırıldı");
})
</script>
</head>
<body>
<img src="resim.jpg" style="width:2000px;height:2000px"/>
</body>
</html>
|
Sonuç olarak scroll her hareket ettiğinde
Sayfa Kaydırıldı
yazacaktır.
Bu uyarılar yerine başka işlemler de getirilebilir. Örneğin scroll kayması sırasında görünürdeki yeri değişmeyecek elemanların bulunduğu koordinatlar düzenlenebilir.
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
26.03.2012
|
Bu makalemizde jQuery ile Browser Eventlarından resize() eventını inceleyeceğiz.
Konuyu bir örnekleme ile anlatmak istersek, en basit örnek browserın genişliğinin değişmesi olacaktır. Browserın boyutunu her değiştirdiğimizde ekranda yeni eni ve yeni boyu bilgilerini yazdıran bir örnekle resize eventını inceleyelim.
|
<html>
<head>
<title></title>
<script src="jquery-1.5.1.js"></script>
<script type="text/javascript">
$(window).resize(function() {
alert("Pencere Eni : " + $(window).width() + "\nPencere Boyu : " + $(window).height());
});
</script>
</head>
<body>
</body>
</html>
|
Sonuç olarak ekran her değiştiğinde
Pencere Eni : …
Pencere Boyu : …
yazacaktır.
Bu uyarılar yerine sayfanın boyutu değiştiğinde içindeki nesnelerin boyutlarını değiştirebilir ya da daha farklı işlemleri de gerçekleştirebiliriz
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
26.03.2012
|
Bu makalemizde jQuery’de first() ve last() methodlarını inceleyeceğiz.
eq(i) fonksiyonunu, işlem yapılan eleman grubunun i. elemanıyla işlem yapılacağını belirmek için kullanmaktayız demiştik. Örneğin 4 elemanlı bir “div” grubunda:
- elemana eq(0)
- elemana eq(1)
- elemana eq(2)
- elemana eq(3)
diyerek ulaşabiliyor, o elemanla ilgili işlemleri yapabiliyoruz. Peki bu elemanlardan ilkine ulaşmak için eq(0), yani ilk eleman yerine first(), eq(3) yani son eleman yerine last() methodlarını da kullanabiliriz.
first() ve last() methodlarını bir örnekle inceleyelim.
Örnek uygulamamızda 3 adet butonumuz olsun. İlk butona tıkladığımızda “1. butona tıklandı”, 2. butona tıkladığımızda “2. butona tıklandı”, Son butona tıkladığımızda “3. butona tıklandı” uyarısını vermesini sağlayalım.
|
<html>
<head>
<script src="jquery-1.5.1.js"></script>
<script>
$(document).ready(function(){
$("button").first().click(function(){
alert("1. Buton Tıklandı");
});
$("button").eq(1).click(function(){
alert("2. Buton Tıklandı");
});
$("button").last().click(function(){
alert("3. Buton Tıklandı");
});
});
</script>
</head>
<body>
<button>İlk Buton</button>
<button>2. Buton</button>
<button>Son Buton</button>
</body>
</html>
|
Veysel Uğur KIZMAZ
26.03.2012
|