18 Eki 2008

Türkiyede ilk internet altyapısı

Bu sene son sınıf olduğumuz için midir nedir ???
en sonunda network ile ilgili ders alabiliyoruz bölümden.İki dönem boyunce Veri iletişimi ve bilgisayar ağları adında dersler alacağız.Dersimize Levent TOKER hocamız vermektedir.Kendisi ülkemizde ilk internet altyapısı kurulurken sistem yöneticiliği yapmış kişidir.
Hocamız anılarını anlatmayı çok sever.Gerçektende deneyimleri bize yol gösteriyor.
Nasıl sistemi kurdukları,fiber kabloları nasıl çektikleri neden Türkiye de ilk internet denilince Ege Üniversitesinin değilde ODTÜ'nün akla geldiğinden bahsediyor.Bu konulardan bahsederkende adını es geçmeyeceği bir kişi var o da Oğuz MANAS hocamız kendisinden ders alma şerefine nail olamadık ama ününü tüm dünya biliyor geçenlerde doğum günüydü bölümümüzde 75. yaş günü kutlandı.Bununla iligili olarak Yeni Asır gazetesi Oğuz Hoca ile bir röportaj yapmış bu içerik oğlu Alphan MANAS'ın web sayfasında bulunmaktadır.1984 yılında yapılmış bir söyleşide internetin Türkiye'ye gelmesini anlatmıştır.

4 Eki 2008

Bayram Tatili

İki aydır yazamamışız neden birincisi 6 hafta staj yaptık iş hayatının zorluğunu öğrendik insanın kendine vakit ayıramamasının ne demek olduğunu yorgun gelip canının hiç birşey yapmak istemeyişini anladık.Sonra da kayseriye gittim teknolojik araçlar açısınından tam bir felaketti internet yok olan yerlerde ise internet hızı çok düşüktü.1 ayın sonunda izmire geri döndüm bayrama bir hafta vardı geri gitmek ise zoruma gitti.Canım 15 saat yolculuğu çekmek istemedi bayramın ilk günü izmirdeydim ikinci günü denizliye gittim bayramın geri kalanı gayet güzel geçti arkadaşlar sağolsunlar misafirlerini iyi ağırladılar :)))
bayram bitti pazartesi okula başlıyoruz mezun olanlara sorduk bizim düşüncemiz bu senenin geçen seneye göre daha rahat olacağıydı ama bu sene daha zor olacakmış :))
neyse okul başlasın teknoloji yazılarımıza geri döneriz....

1 Ağu 2008

JUnit Denemeleri (devam-2)

Test yazmanız debug işinizi hafifletiyor.Ama programda asıl işi yapacağınız testleri yazmanıza yardımı olmuyor.Çünkü onların içini doldurmak size kalıyor burada da işin içine algortima bilgisi giriyor.Program yazmanın en can alıcı noktalasıdır Algoritma oluşturmak.
Şimdi asıl işin yapıldığı yere gelecek olursak
-----sınıf başlangıcı-----
package org.calculator.models;

import java.util.StringTokenizer;
import java.util.Vector;

public class HesapMakinesi {

private int sayi = 0;

public void topla(int eklenen) {
sayi = sayi + (eklenen);
}

public void cikar(int cikarilan) {
sayi = sayi - (cikarilan);

}

public int getHafiza() {
return sayi;
}

public void stringToSonuc(String gelen) {
String islenen = gelen;
String aramaKarakteri = "+-";
Vector sayilar = new Vector();//sayilar parçalanmış halde stringler halinde verktörde tutluyor
StringTokenizer tokenizer = new StringTokenizer(islenen, aramaKarakteri);
while (tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
sayilar.add(token);
}
char isaret = ' ';//isaretine göre işlem yapıyor +(topla) veya -(cikar)
int degisken = 0;//hangi siradaki sayının işlem göreceğini belirtiyor
sayi = Integer.valueOf(sayilar.get(0));//ilk sayının ataması yapılıyor
for (int i = 0; i < islenen.length(); ++i) {

isaret = islenen.substring(i, i + 1).charAt(0);//işaretler char olarak değiştiriliyor.

if (isaret == '+') {
degisken++;
topla(Integer.valueOf(sayilar.get(degisken)));
}
if (isaret == '-') {
degisken++;
cikar(Integer.valueOf(sayilar.get(degisken)));
}
}

}

}
----sınıf bitişi----------

topla() metodu verilen sayıyı sayi değişkenine eklemize yarıyor.
cikar() metodu verilen sayıyı sayi değişkeninden çıkarmamıza yarıyor.
ama bunlar için algoritma yazmamıza bile gerek yok sayıyı değişene sadece sayıyı ekliyor ya da çıkarıyor.İşin zor tarafı bu kadar kolay halledilemeyecek ve sizin yazacağınız metodlar.
stringToSonuc(String gelen) metodu gelen string i StringTokenizer ile parçalar ayırıyor ve
elimizdeki sayıları bir vektöre atmamızı sağlıyor.
sonra for döngüsü ile her bir karakter kontrol edilerek işaretine göre topla() ya da cikar() metotlarına değişken gönderiliyor.işaret lerin char a çevrilmesi sadece if() in içinde Stringleri karşılaştırmamış olmam.Belki bir yol vardır ama string olarak gönderdiğim değişkenlerde hatalar ortaya çıktı if() blogunun içine girmedi o yüzden char a çevirip kontrol ettim.
Bir kaç söz daha ekleyecek olursam.
Algoritma yazmadan önce o işi yapabilecek bir yol mevcut olabilir bu da işiniz kolaylaştırır.
StringTokenizer işimi bayağı kolaylaştırdı.

JUnit Denemeleri (devam)

Örneğe geçmeden önce bir adres verelim.Eclipse ortamına JUnit kütüphanesi eklenmesini bir örnek üzerinde açıklamış.
http://open.ncsu.edu/se/tutorials/junit/

Şimdi benim yaptığım örneğe gelecek olursak.
JUnit Test mantığını kullanarak programda gerekli olacak metotların yazımı işlemi.
Unit testin mantığı basit ve işlevsel program parçaları geliştirmektir.
Örnekte verilecek bir string parçalanarak işaretten sonraki sayının toplanması yada çıkarılması işlemini yapmaktadır.(Basit hesapmakinesi çok çok basit oldu.)
Sadece toplama ve çıkarma yapıyor hata kontrolü bile yapmıyor.
Önce Test Sınıfımız:CalculatorTests.java
------sınıf başlangıcı---------
package org.calculator.tests;

import org.calculator.models.HesapMakinesi;

import junit.framework.TestCase;

public class CalculatorTests extends TestCase {
private HesapMakinesi hmak;

protected void setUp() {
hmak = new HesapMakinesi();
}

public void testTopla() throws Exception {
hmak.topla(new Integer(10));
hmak.topla(new Integer(5));
assertEquals(15, hmak.getHafiza());

}

public void testCikar() throws Exception {
hmak.topla(new Integer(10));
hmak.cikar(new Integer(3));
assertEquals(7, hmak.getHafiza());

}

public void testHesapYap() throws Exception {
hmak.stringToSonuc("3+5-7");
assertEquals(1, hmak.getHafiza());

}

}
-------sınıf bitişi-------
setUp() metodunda programda gerekecek ORTAK nesneler ve değişkenler yaratılıyor.
yazılan testlerin hepsinde kullanan kod parçacıkları varsa refactoring yapılarak setUp() metodunu içine yazılır.
testTopla() verilen sayıların toplanılıp sonuncunu doğru olup olmadığını kontrol ediyor.Doğru ise test başarıyla geçiyor.
testCikar() verilen iki sayılardan birinciden ikincinin çıkarılmasının doğru yapılıp yapılmadığını kontrol ediyor.Sonuç beklenen ile aynı çıktı ise test başarıyla tamamlanıyor.
testHesapYap() girilen string in parçalandığı zaman işaretlerine göre toplanması ve çıkarılması işlemine tabi tutulan değişkenlerin sonucunun doğru olup olmadığını kontrol ediyor.

Bu kodlara bakıp test yazmanın kolay olduğunu düşünebilirsiniz fakat işler ayrıntıda gizli.
Test yazarken assertEquals() metodunun değişkenlerine özenle dikkat etmelisiniz çünkü yazdığınız değişkenlerin hepsini kabul etmiyor aynı zamanda editor sıralamasına göre işlem yapılar assertEquals(boolean expected, boolean actual)şeklindekini seçip assertEquals(byte expected, byte actual) şekline döndüğünüz zaman assertEquals()'i yeniden yazmanız gerekecek cünkü editör değişiklikleri kabul etmiyor.
http://repository.ops4j.org/classic/junit/junit/3.8.1/api/junit/framework/Assert.html


sizinde göreceğiniz gibi 21 adet assertEquals metodu mevcut ve birbirinin yerine kullanılamıyor.

blogspotun bize verdiği yer yetmedi ikinci yazıda devam edeceğim.

28 Tem 2008

ISTANBUL

Gelelim şimdi çalışma hayatına en son tatil demiştik üzerinden 40 gün geçmiş bu 40 günde
Izmir-Didim-Izmir-Kayseri-Istanbul yaptım.Şuan halkbankasında teknolojik mimari bölümünde staj yapmaktayım gayet yararlı bir staj olduğu kanısındayım.Open Source Teknolojiler ve Open Source for Mobile adlı iki tane araştırma raporu hazırladım.Daha 5 haftalık staj sürem var (toplamda 9 hafta olacak) geri kalan 5 haftada tmydb adlı intranette çalışan sitenin eksik olan yerlerini tamamlayacağım (.net 2.0 ile yazılmış)
Ayrıca şu sıralar Eclipse üzerinde Java geliştirmeleri yapmaktayım.
Birim testler (JUnit) ve Java'nın web tarafı ile ilgileniyorum.Ufak tefek bir kaç uygulama geliştirdim fakat çalışmaları derlemek için zamanım olmadı.

Istanbula staj yapmaya geldik diyede hep çalışacak değiliz ya :D:D
haftasonlarında da istanbulun güzelliklerini görüyoruz tarihi geziler yapıyoruz.
Çektiğim fotograflar aşağıdaki linklerde mevcut

link1
link2

INETA SUMMER HIT

2 Ağustos
09.30-12.00 Silverlight 2.0
13.00-15.00 Yazılım Dünyası Nereye?
15.30-18.00 Team Foundation Server

3 Ağustos
09.30-11.00 IE 8.0 Yenilikleri
11.00-12.00 Web 3.0
13.00-14.30 Web Client Software Factory
15.00-17.30 LINQ

Konuşmacılar:
Ali Rıza Babaoğlan
Ali Servet Eyüpoğlu
Coşkun Sunalı
Daron Yöndem
Eralp Erat
Kadir Çamoğlu
Uğur Umutluoğlu

Yer:Yıldız Teknik Üniversitesi, Auditorium


kayıt için tıklayınız

INETA'nın yaz seminerleri ve yeniliklerin tanıtımı.



18 Haz 2008

Tatiiilllll

Sonunda bitti.. bir yılı daha bitirdik..yaşasın son sınıf olduk :)))
izmire geldiğim günü dün gibi hatırlıyorum elimde 3 tane valizle üniversitenin kapısından yurda kadar sürüne sürüne gitmiştim bu yetmezmiş gibi pazar günü geldiğim için yurtta görevli yoktu o sebeple yatak yok yorgan yok.bu sürünmeye başlayacağımızın ilk izlenimleriymiş.daha önceden düzenli bir hayatım vardı sabah erken kalkar gece erken yatardım ama hayat bu, birde bilgisayar mühendisliği öğrencisiyseniz ve uykuyu seviyorsanız geri kalan hayat sizin için pek hoş geçmeyebilir ilk zamanlar uyku daha ağır basıyordu ne olursa olsun 12 de yatıyordum ama kader ağlarını örmüş bir kere illaki sende bilmuh hayatına alışacak geceleri değil gündüzleri bir kaç saatle yetinmeye çalışacaksın diye.bu yazıyı bile yazdığım saati göz önüne alırsak şu an itibari ile alıştığımı söyleyebilirim.ama bugün için işin güzel tarafı yarın öğleden sonra denize girebileceğim.insanın yıllar boyunca her sene tatile gitmesi alışkan yapıyor hayat standartını yükseltiyor ve şimdi bunun acısını çekiyorum bundan 5 sene önce tatile gidiyoruz dediklerinde amaaan her sene gidiyoruz bu senede gitmeyelim derdim ama son 3 yıl iliğimi kemiğimi kuruttu.yaz okulları ( 2 sene boyunca) ve çalışma hayatına yaptığım giriş (2 yıl kadar) tatil tatil diye artık yalvarmaya başladım 3 gün 5 gün bile tatil yapmayı istiyor insan.Bundan sonraki senelerde nasıl olacak bilemiyorum.çalışma hayatına başlamamıza 1 yıl kaldığı düşünülürse ve yıllık izin durumları göz önünde bulundurulacak olursa artık haftasonu bile bi yerlere gitmeyi tatil sayabileceğimiz anlamına geliyor.sanırım bu yaz sondan bir önceki adam akıllı tatil olacak.
8 saatten daha az bir zaman kalmış bekle bizi didim geliyoruuuzzz.(amacımız marmaristi ama bize keleş yaptı yer kalmamış.insan kendi memleketinin istediği yerinde de tatil yapamaz oldu artık.)

13 Haz 2008

Eclipse Ortamında JUnit Testing

Uzun süredir bloga yazamıyordum.Pek yoğun olmasada yorucu bir final dönemi daha bitti.
Artık mstyldrm.tatil.com.tr diyerek tatile girdiğime kendimide inandırmaya çalışıyorum.
Son iki yıl gayet yorucu oldu,iki yazokulu sıkıntısı ve yıl içinde çalışma hayatı bedeni yıpratmış.Bu yeni yeni ortaya çıkıyor.
15 günlük bir tatilim var ardından tekrar çalışma hayatına dönüyorum.Halkbankasında 1 temmuzdan itibaren 3 ay stajer olarak çalışacağım.Hazır tatildeyken uğraşmadığım kafama takılan şeyleri yapmaya başladım.
Hala kafamda Java,C# arasında gidip gelmeler var.Hangisi üzerinde yoğuşacağıma karar veremedim bu yüzden iki tarafıda incelemeye devam ediyorum.Bugün Javada JUnit testing hakkında araştırmalar yaptım ve videolar izledim.Eğer ki sizde JUnit le ilgileyorsanız buradaki linkte güzel bir video hazırlamışlar.Benim ilgimi çekti umarım sizinde ilginizi çeker.

16 May 2008

Neden blog

Yaptıklarını paylaşmak insana farklı hazlar yaşatıyor.Evet işte bunu ben yaptım diyebiliyorsun blogumda genelde kendi yazdığım kodları paylaşmaya , kendi yaşadığım sorunları anlatmaya ve bulduğum çözümleri paylaşmaya çalışıyorum.
Bazen arkadaşlar tarafından eleştiri alıyorum neden sadece teknik konularda yazıyorsun veya neden kendi web siteni yapmıyorsun ..... şeklinde devam ediyor.
Burda herşey hazır ekstra kod yazmanıza gerek yok yeni ileti deyip yazdıklarınızı otomatik olarak paylaşıyorsunuz yer sıkıntınız olmuyor yönetimi kolay.
Kendi sitelerini yapanlar bir kere 1-2 ay sitenin tasarımı kodlaması ile uğraşıyorlar.
Veri tabanı tasarımı ve tutulacak belgelerin yerleştirilmesi sitede gösterimi ayrı bir iş.
Yönetimi sayfanızı yönetmek ayrı bir iştir, genel kullanıcılar sayfaları sadece onların gördükleri kadar olduklarını zannederler ve bu eksik kalmaktadır çünkü yönetim panelini oluşturmak işleri otomatik hale getirmek için yapılanlar görünenden kat be kat fazladır.
Onun için bir bilgisayar mühendisliği öğrencisi olarak insana bazı şeyleri yeniden keşfetmek azap geliyor.Adamlar hazır IDE (integrated development environment ) yapmışlar
Türkçe olarak geliştirme ortamı olarak adlandırabiliriz.Örnek olarak Eclipse, Microsoft Visual Studio ortamları verilebilir.
Bu IDE leri kullanmak veya var olan olanakları değerlendirmemek işi gereksiz yere uzatmaktır.
En az gereklilikle istediklerini yaptırmak bir sistemin ilk unsurudur.Blogspot ta bunlar için yeterli olduğu sürece yazılarıma burada devam edeceğim.

7 May 2008

C# 2005 te ArrayList e Nesne ekleme ve nesnedeki verileri ekrana yazdırma

Kendi oluşturduğumuz nesneleri ArrayList kullanarak saklıyoruz
Sonrasında bu nesneleri foreach le dolaşarak ekrana yazdırıyoruz.


//Nesnemizi tanımlıyoruz

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
class Nesne
{
string ad, soyad;
int numara;
//getter ve setter lar
public int Numara
{
get { return numara; }
set { numara = value; }
}

public string Ad
{
get { return ad; }
set { ad = value; }
}

public string Soyad
{
get { return soyad; }
set { soyad = value; }
}
//constructor
public Nesne(string ad, string soyad, int numara)
{
this.ad = ad;
this.soyad = soyad;
this.numara = numara;
}

//override edilmiş ToString metodu (ekrana yazdırma yapan kısım)
public override string ToString() {
return String.Format("adı : "+this.ad+" soyad : "+this.soyad + " numara : "+this.numara);
}

}

}


//Ana Programımız
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;//ArrayList i kullanmak için sistem kolleksiyonlarını programımıza //eklememiz gerek

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
ArrayList deneme = new ArrayList();
Nesne local = new Nesne("olcay", "yalgın", 1);
Nesne local2 = new Nesne("mustafa", "yıldırım", 2);
Nesne local3 = new Nesne("ozgun", "koca", 3);
Nesne local4 = new Nesne("oguz", "bingul", 4);
deneme.Add(local);
deneme.Add(local2);
deneme.Add(local3);
deneme.Add(local4);

Console.WriteLine("Listeyi Ekrana yaz:");
foreach (Nesne i in deneme)
{
Console.WriteLine(" " + i);

Console.ReadKey();
/* ReadKey i buraya yazarsanız ilkini yazar herhangi bir tuşa bastıkça Array deki verileri yazar.Ama foreach in dışına yazarsanız tüm listeyi ekrana yazar programı bitirmeniz için bir tuşa basmanızı bekler. */
}
}
}
}

24 Nis 2008

STORE PROCEDURE 1


Sql server da store procedure yardımı ile girilecek bilgilerin var olup olmadığı kontrol edilerek veri tabanına ekleyen sorgu.
yukarıdaki tabloyu kullanarak store procedure yardımı ile aynı "altSeviyeAd" girilmemesi için sorgumuza eklenti yapacağız
Sorgumuz:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER Procedure [dbo].[AddHZR_AltSeviye] @altSeviyeKod smallint output, @seviyeKod smallint, @altSeviyeAd nvarchar(30) AS BEGIN
IF NOT EXISTS (SELECT * FROM HZR_AltSeviye WHERE altSeviyeAd=@altSeviyeAd)
INSERT INTO HZR_AltSeviye (seviyeKod, altSeviyeAd) VALUES (@seviyeKod, @altSeviyeAd) SELECT @altSeviyeKod=@@Identity END

burada IF NOT EXIST( ) cşeklinde devam eden satır bizim koşulumuzdur.Aynı "altSeviyeAd" ın var olup olmadığını kontrol ediyor eğer yoksa ekleme yapıyor varsa sorgu bir şey yapmadan sonlanıyor

16 Nis 2008

Yönet2008 den akılda kalanlar

  • Yaptıklarından değil,yapmadıklarından pişman ol.
  • Fikirlerine sahip çık.
  • Yazdıklarını yap,Yaptıklarını yaz,Yazdıklarınıda oku!
  • Yaptığın işe sıkı sarıl.
  • Ancak hiçbir iş yapmayan birisi,hiç hata yapmaz.
  • İyi yapılmış bir iş,iyi söz söylemekten iyidir.


  • Lider, ileride bu iş nasıl olmalıdır sorusunu sorandır.
  • Yönetici,kurallar dahilinde görevini yapandır.
  • Liderliğe giden yol = Fark Yaratmaktır! (Ne farkım var sorusunu sor)

Şablon Değişikliği

Uzun zamandır yeniden düzenlemek istiyordum blogun görüntüsünü
yazıların ekranda enine daha fazla yayılmasını ve bu sayede sayfa uzunluğunun azalmasını istiyordum şimdi oldu.

15 Nis 2008

Yönet2008 sonrası

Perşembe 8 saatlik bir yolculuktan sonra Ankara'ya vardım.
Aşti de yönet2008 den arkadaşlar karşıladı ilginçlikler orda başlamıştı otobüstende indim kafamı bi kaldırdım ortaokul arkadaşım Osman da yönet2008 e katılmış en son 2000 yılında görmüştüm. İkimizde şaşırdık ama güzel bi karşılaşma oldu.
3 günde 9 konuşmacı 5 farklı mekan gördük.
Güzel bir organizasyondu,organizasyon takımında bulunan arkadaşlara bir daha teşekkürler.
Kişisel ve sosyal gelişimim için faydalı bir 4 gün geçirdim Ankarada.
Şunuda anladım o kadar sene Ankara'ya gelip gitmeme rağmen sadece 1 tane arkadaşım varmış orada, kamp bitiminden otobüsüm kalkana kadar ki 4 saatlik sürede yanımda bulunan bi ortaokul arkadaşım olan Hakan'a da teşekkür etmek istiyorum ama bu organizasyon sonunda Türkiye'nin çeşitli yerlerinden olmak üzere bir çok kişi ile tanıştım ve Ankara'daki arkadaş çevrem arttı umarım bu arkadaşlıkla uzun zaman devam eder.

4 Nis 2008

YONET2008

Bilkent Üniversitesi Mühendislik Topluluğu tarafından düzenlenen mühendislik öğrencilerine yönelik yöneticilik ve liderlik kampıdır.
Geçen sene katılmayı başaramasamda bu sene gidiyorum :))

29 Mar 2008

Ajax eklentili ilk Asp.Net örneğim

Dün gece asp.net çalışırken uzun zamandır kafamda bir soru işareti olarak duran Ajax tekniğini kullanmaya çalışmak istedim.Ama bu süreç biraz zorluklarla dolu oldu (tam tahmin ettiğim gibi)
MS Visual Studio 2005 hali hazırda kurulu fakat Ajax eklentilerinide yapmanız gerekmektedir.
Bunun için http://ajax.asp.net sitesindeki video ları izlemekle başladım.
Bu videolar ücretsiz ve siteyede herhangi bir üyelikte gerekmiyor.

Birinci video da Ajax eklentimizi visual studio ya nasıl ekleyeceğimiz ve basit bir tane örnek anlatılmaktadır. video1

İkinci videomuzda ise Ajax control toolkit i nasıl ekleyeceğimiz ve nasıl kullanacağımız anlatılmaktadır.video2

Bu iki video da anlatılanları yaptığımız zaman Visual Studio muz Ajax enabled hale gelmiş oluyor.
Videoların içinde anlatılan bir kaç setup ve zip dosyasını indirmemiz gerekiyor.Bu dosyalar
video1 için ve video2 için buralardan indirilmektedir. Yaptığım örnek bu videolarda anlatıların aynısı olduğu için paylaşmaya gerek duymadım

NOT:ben bu videolardan bir şey anlamam benim ingilizcem yeterli değil diye bir önyargıda bulunmayın. Bende sadece izledim dinlemedim.

13 Mar 2008

notebook

en sonunda bende teknolojiye boyun eğip (:P) notebook aldım.
Datron TW7A
İşlemci, Chipset ve Bellek:
Intel Santa Rosa Core2 Duo T7250 2.0GHZ İşlemci, 2MB Cache, 800MHz FSB
Intel PM965 + ICH8M Chipset
1GB DDR2 667MHz Bellek

Görüntü ve Ses:
15.4" WXGA (1280x800) Glare Type LCD Ekran
512MB Nvidia 8400M TC Ekran Kartı (Sistem Belleğini Kullanarak Maks. 512MB'a Kadar Çıkabilir)
1.3MP Entegre Kamera

Depolama:
160GB SATA 5400rpm Sabit Disk
DVD+-RW Dual Layer Optik Sürücü
4 in 1 (MS/MS PRO/MMC/SD) Bellek Kart okuyucusu

İletişim:
56K Modem V.90/V.92
10/100/1000 Mbps Ethernet
Intel PRO/Wireless 4965 a/b/n Kablosuz Ethernet
Bluetooth

10 Mar 2008

.NET 2005 ve SQLServer Bağlantısı

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection SqlConn = new SqlConnection();//bağlantı nesnemizi oluşturuyoruz
//bağlantımızın özelliklerinin yazıyoruz
//data source : server'imiz
//database : veritabanımız
//uid : kullanıcı adımız sa=system admin password : veritabanına bağlanma sifremiz
SqlConn.ConnectionString = "data source=localhost;database=master;uid=sa;password=sifreniz";

//
SqlCommand Comm = new SqlCommand();
Comm.Connection = SqlConn;
Comm.CommandType = CommandType.Text;

Comm.CommandText = "Select Count(*) From Dil";//Dil tablosundaki kayıt sayısı
try
{
SqlConn.Open();//Bağlantı kurulmasını deniyor.
//Bağlantı kurulmuyorsa ekrana "hata"yazıyor
}
catch(Exception)
{
Response.Write("hata");
}

object oReturn = Comm.ExecuteScalar();

SqlConn.Close();

Response.Write(oReturn.ToString());//sorgumuzdan dönenleri ekrana yazıyoruz

}
}

6 Mar 2008

Yazılım Uzmanı Olamayacağınızın 10 Kanıtı

bu sayfada gürkan yeniçeri ingilizceden türkçeye çevirmiştir.

4 Mar 2008

Yazmak

İnsan ne için yazar?
1.Kendisini iyi hissettirdiği için
2.Gerekli olduğu için

Bu ikisinin karşımı bence yazıyı daha güzel hale getiriyor.
1.Kendisini iyi hissettirdiği için çünkü bilgiyi paylaşmak başkalarına da yararlı olduğunu bilmek bilinç düzeyinde hissedilmese bile bilinçaltı bir şekilde buna inanır.

2.Gerekli olduğu için çünkü
a)Zamanla kendi yazdığımız şeylere bile ihtiyaç duyabiliriz.
b)Mutlaka o anda o bilgiye veya analize ulaşmaya çalışan birileri vardır.

29 Şub 2008

ASP.NET Denemeleri 1

Uzun uğraşlar sonunda asp.net in mantığını anlamaya başladım.
Türkçe kaynaklar aradım fakat istediğim örnekleri bulamadım bende Microsoft'un kendisinin destek verdiği ASP.NET sitesinindeki videoları ve kodları inceleyerek ilk uygulamamı yaptım bu uygulama C# dili ile geliştirilmiştir.Visual Studio 2005 kullanılmıştır.Neden diye sorabilirsiniz çünkü iis(Internet Information Services)i hali hazırda barındırmakta ve ayrıca iis kurmak gibi bir çok faktörden kurtarmaktadır.
İlk sayfamız Default.aspx aspx uzantısı .net teknolojilerinin kullanıldığını göstermektedir.
Default.aspx.cs ise C# kodunu yazdığımız programın arka planda ne yaptını belirten kısımdır.Butona tıkladığımızda veya sayfa yüklendiğinde ne gibi değişiklikler olabileceğini düzenlediğimiz kısımdır.
Default.aspx :

Default.aspx.cs :


burada protected void Button1_Click(object sender, EventArgs e)
butona tıklanıldığı zaman ne yapılacağı belirtilmektedir.EventHandler yardımı ne yapılacağı belirtilir.Ekrana birşeyler yazdırmaktan tutunda altyapıda çalışacak birşeyde burada tetiklenebilir. Zaten sayfalarımızda C# dilini kullandığımız yerde buralardır (.cs uzantısı)
Bu yapıyı derlediğimizde İnternet Explorer'ımızda
bu görüntü karşımıza gelecektir.Butona tıkladığımızda labellarımızın içerikleri değişecektir bu yapıyı default.aspx.cs de sağlıyoruz.


Not:Sayfaya kodların html hallerini koyacaktım ama sorunu daha halledemedim.
Resimlerle idare edin artık :)

28 Şub 2008

Zorunluluklar

Bu yazımın başlığı aslında asp.net denemeleri 1 olacaktı malesef google blog html editörü buna bir türlü izin vermedi o kadar uğraştım.Asp.Net kaynağı giriş düzeyinde pek fazla yoktu üşenmedim Microsoft'un kendi sitesindeki videoları izledim.Örnek yaptım ama kodlar bir türlü sayfada istediğim gibi dizayn edemedim yollar arıyorum ama yakında bulacam inşallah :)

27 Şub 2008

Futbol

Ne demişler futbol şiddettir futbol holiganlıktır...
Ama bunlarla bizim işimiz olmamalı neden futbol eğlencedir futbol güzelliktir
Kaliteli futbol izlenir,beğenilir ama gelin görünki siz böyle önemli bir maça
(dünyanın 1 numaralı derbisine )düzgün bir hakem vermezseniz ve yarın bunun yaptığı hatalara susarsanız bütün bu eğlence ve güzellikler yok olur..Böyle mi gelişecek Türk futbolu size soruyorum..
Bunları yenildiğimiz için söylemiyorum 3 golde güzeldi atanları tebrik ediyorum ama siz saha içinde çifte standart uygularsanız size söyleyecek birşey bulamıyorum...
Lütfen futbolumuzu katletmeyelim...

26 Şub 2008

Visual Studio Denemeleri 1

Visual Studio 2005 kurdum deneme yapıyım dedim uzun zamandır .NET ortamını kullanmamıştım.HelloWorld ile başladım ama çok sade olduğunu düşündüm biraz daha karmaşık yapıyım dedim ve hem sınıf ( Class ) yapısının kullanıldığı değişkenin başka bir sınıfta oluşturulup değer atanması ve bu değeri geri dönderen ama girilen değerin sayısal bir veri olup olmadığını kontrol eden bir yapıya dönüştü..
kaynak kodlar aşağıdadır..

using System;

namespace HelloWorld
{
class Class1 //yeni bir tip
{
int sayi1;//local değişken

public int Sayi1
{
get { return sayi1; }//sayının değer dönderdiği kısım
set { sayi1 = value; }//sayıya değer atanan kısım
}
}//end Class1


class Program
{

static void Main(string[] args)
{
Console.WriteLine("HelloWorld!");
Class1 deneme =new Class1(); //tanımlama işlemi yapılıyor
Console.WriteLine("Lütfen bir sayı giriniz");
try //try blogunun içindeki herhangi bir yerde exception
//oluşması durumunda catch blogu devreye girer.
{
deneme.Sayi1 = Convert.ToInt16(Console.ReadLine());
Console.Write("ekrana yazılan sayı : ");
Console.WriteLine(deneme.Sayi1);
}
catch
{
Console.WriteLine("sayısal bir değer girmediniz!!");
}


Console.ReadKey();
}//end Main
}//end Program
}//end namespace

Visual Studio .NET 2005 ve MSDN resimli kurulumu


Neden kurdum?
Yapmaya başlayacağımız -benim sonradan katıldığım- projede veri tabanı ORM (MS Visio) ile yapılmış bende o yapıyı görebilmek için Microsoft Visio Enterprise Architecture
(ORM desteği var olduğu için Ent.Arc) yüklemem gerekiyordu ama bunu yüklemek içinde hali hazırda Visual Studio kurulmuş olması şarttı.

Bende nasılsa kuracağım bunu resimli halde Web de yayınlayım dedim












Visual Studio nun gereklerini kurduk ama MSDN .NET yazılımcısının en büyük yardımcısıdır bunuda eksik etmeyelim...






25 Şub 2008

Linux ta açılışta NUMLOCK

/etc/rc.d/rc.local dizinin içine

echo "Numlock aktif ediliyor"
for i in 1 2 3 4 5 6;
do
/usr/bin/setleds+num
/dev/null
done


yazılarak login ekranında şifre kısmınıza sayı girmek için her seferinde NumLock a basmanıza gerek kalmaz
Slackware 11.0 kullanırken (en azından deneme yaparken) giriş yaparken en fazla sıkıntı çektiğim konuydu sizinde şifreleriniz harf ve sayı karşımı olursa bunu deneyebilirsiniz
Şifrenizin güvenliği için harf ve sayı hatta !'^+%& gibi işaretleri de kullanmalısınız tabi unutMAMAk kaydıyla :)

KDE masaüstünde kısayollar

ctrl+tab Masaüstleri arası geçiş (yeni birçok linux sürümünde birden fazla masaüstüne izin verilmiştir.)

alt+tab Uygulamalar arası geçiş
alt+f1 Uygulama menüsünü açmak (Windows taki BAŞLAT)
alt+f2 Komut penceresini açmak (Windows taki cmd -command.exe- Terminal ekranı)
alt+f4 Açık olan pencereyi kapatmak
f1 Yardım
f2 Pencerede kelime arama işlemi için
Space Dosyaları seçmek/bırakmak için
ctrl+n Dosya yöneticisini açmak (Windows için explorer -internet explorer değil!- Ubuntu Dolphin)

ctrl+a Tümünü seç
ctrl+t İçinde bulunulan pencereyi terminal de açmak (-o dizinde konumlanmış halde-)

ctrl+w Pencereyi kapatmak
ctrl+c Kopyalama
ctrl+v Yapıştırma

22 Şub 2008

Which Programming Language Are You?

Hangi programlama dilisiniz?
Ben perl'mişim :)


You are Perl. People have a hard time understanding you, but you are always able to help them with almost all of their problems.
Which Programming Language are You?