26 Ağustos 2008 Salı

SQL Syntax Table

Bu haftasonu birlikte sinemaya gidelim mi?

Statement Syntax
AND / OR SELECT column_name(s)
FROM table_name
WHERE condition
AND|OR condition
ALTER TABLE (add column) ALTER TABLE table_name
ADD column_name datatype
ALTER TABLE (drop column) ALTER TABLE table_name
DROP COLUMN column_name
AS (alias for column) SELECT column_name AS column_alias
FROM table_name
AS (alias for table) SELECT column_name
FROM table_name AS table_alias
BETWEEN SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
CREATE DATABASE CREATE DATABASE database_name
CREATE INDEX CREATE INDEX index_name
ON table_name (column_name)
CREATE TABLE CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
.......
)
CREATE UNIQUE INDEX CREATE UNIQUE INDEX index_name
ON table_name (column_name)
CREATE VIEW CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
DELETE FROM DELETE FROM table_name
(Note: Deletes the entire table!!)

or

DELETE FROM table_name
WHERE condition

DROP DATABASE DROP DATABASE database_name
DROP INDEX DROP INDEX table_name.index_name
DROP TABLE DROP TABLE table_name
GROUP BY SELECT column_name1,SUM(column_name2)
FROM table_name
GROUP BY column_name1
HAVING SELECT column_name1,SUM(column_name2)
FROM table_name
GROUP BY column_name1
HAVING SUM(column_name2) condition value
IN SELECT column_name(s)
FROM table_name
WHERE column_name
IN (value1,value2,..)
INSERT INTO INSERT INTO table_name
VALUES (value1, value2,....)

or

INSERT INTO table_name
(column_name1, column_name2,...)
VALUES (value1, value2,....)

LIKE SELECT column_name(s)
FROM table_name
WHERE column_name
LIKE pattern
ORDER BY SELECT column_name(s)
FROM table_name
ORDER BY column_name [ASC|DESC]
SELECT SELECT column_name(s)
FROM table_name
SELECT * SELECT *
FROM table_name
SELECT DISTINCT SELECT DISTINCT column_name(s)
FROM table_name
SELECT INTO
(used to create backup copies of tables)
SELECT *
INTO new_table_name
FROM original_table_name

or

SELECT column_name(s)
INTO new_table_name
FROM original_table_name

TRUNCATE TABLE
(deletes only the data inside the table)
TRUNCATE TABLE table_name
UPDATE UPDATE table_name
SET column_name=new_value
[, column_name=new_value]
WHERE column_name=some_value
WHERE SELECT column_name(s)
FROM table_name
WHERE condition

Source : http://www.w3schools.com/sql/sql_quickref.asp

25 Ağustos 2008 Pazartesi

C# Dinamic Memory Allocation

The keyword unsafe is used while dealing with pointer, the name reflects the risks that you might face while using them. Let’s see where to place it.

We can declare a whole class as unsafe:

unsafe class Class1

{

//you can use pointers here!

}

Or only some class members can be declared as unsafe:

class Class1

{

//pointer

unsafe int * ptr;

unsafe void MyMethod()

{

//you can use pointers here

}

}

The same applies to other members such as the constructor and the properties.

To declare unsafe local variables in a method, you have to put them in unsafe blocks as the following:

static void Main()

{

//can't use pointers here

unsafe

{

//here you can declare and use pointer

}

//can't use pointers here

}

You can’t declare local variables the same way we used in declaring global variables, to use pointers, and next we will use the operator sizeof, in a “safe” method. We have to put them in an unsafe block.

static void Main()

{

unsafe int * ptri; //Wrong

}

If you got too excited and tried to use unsafe then when you compile the code just by using

csc test.cs

You will experience the following error:

error CS0227: Unsafe code may only appear if compiling with /unsafe

For compiling unsafe code use the /unsafe

csc test.cs /unsafe

In VS.NET go to the project property page and in “configuration properties>build” set Allow Unsafe Code Blocks to True.

After we knew how to declare a block as unsafe we should now learn how to declare and use pointers in it.

Declaring pointers

To declare a pointer of any type all what you have to do is to put ‘*’ after the type name such as

int * ptri;

double * ptrd;

NOTE: If you used to use pointer in C or C++ then be careful that in C# int * ptri, i; ‘*’ applies to the type itself not the variable so ‘i’ is a pointer here, same as arrays.

Using pointers

Using pointers can be demonstrated in the following example:

static void Main()

{

int var1 = 5;

unsafe

{

int * ptr1, ptr2;

ptr1 = &var1;

ptr2 = ptr1;

*ptr2 = 20;

}

Console.WriteLine(var1);

}

The operator ‘&’ means “address of”, so ptr1 will hold the address of var1, ptr2 = ptr1 will assign the address of var1, which ptr1 was holding, to ptr2. Using ‘*’ before the pointer name means “the contain of the address”, so 20 will be written where ptr2 points.

Now var1 value is 20.

sizeof operator

As the name says, sizeof operator will return the number of bytes occupied of the given data type (could also be used for classes and structs, we will see that in part 2)

i.e.

unsafe

{

Console.WriteLine("sbyte: {0}", sizeof(sbyte));

Console.WriteLine("byte: {0}", sizeof(byte));

Console.WriteLine("short: {0}", sizeof(short));

Console.WriteLine("ushort: {0}", sizeof(ushort));

Console.WriteLine("int: {0}", sizeof(int));

Console.WriteLine("uint: {0}", sizeof(uint));

Console.WriteLine("long: {0}", sizeof(long));

Console.WriteLine("ulong: {0}", sizeof(ulong));

Console.WriteLine("char: {0}", sizeof(char));

Console.WriteLine("float: {0}", sizeof(float));

Console.WriteLine("double: {0}", sizeof(double));

Console.WriteLine("decimal: {0}", sizeof(decimal));

Console.WriteLine("bool: {0}", sizeof(bool));

//did i miss something?!

}

the output will be:

sbyte: 1

byte: 1

short: 2

ushort: 2

int: 4

uint: 4

long: 8

ulong: 8

char: 2

float: 4

double: 8

decimal: 16

bool: 1

Great, we don’t have to remember the size of every data type anymore!

That’s it for part one, in the second part I will cover the following subjects:

  • Casting pointers
  • Pointer arithmetic
  • Pointers to classes and structs
  • Optimizing performance by using pointers

16 Ağustos 2008 Cumartesi

C'nin diğer anlamları


Birçoğumuzun ilk göz agrısıdır, bazılarımız ona yürekten bağlıdır ve hem Unix hem de Windows onunla yazılmıştır. İşte C harfinin diğer kullanım alanları:

10 Ağustos 2008 Pazar

Türkiye Beyin Takımı Elemelerine Girdim

İnternette yayınlanan 8 eleme sorusunun tamamını doğru cevaplayıp yolladım ve yarı finale kalmaya hak kazandım. Dün Bilgi Üniversitesi Dolapdere Kampüsünde yapıldı yarı final. Uzun bir yürüyüşten sonra talihsiz dostum Hasanla birlikte nihayet kampüse vardık, oraya giderken de meşhur Kasımpaşa'dan geçtik. Başbakanın çocukluğunu geçirdiği yolları arşınladık. Neyse sınav pek umduğum gibi geçmedi. İki aşamalıydı, ilki kolay, ikincisi zordu ama nedense bana tam tersi geldi. Herhalde kendimi zora fazla koşullandırdım. Neyse, kısacası gelecek yıl tekrar deneyecegim. Şampiyonların dediğine göre bu işler tecrübe işiymiş. İlk girişlerinde pek birşey yapamayıp ta sonraları takıma girmeyi başaranlar çoğunlukta.

4 Ağustos 2008 Pazartesi

ASCII Kod Tablosu

ASCII KODU

Bilgisayara girilecek tüm sayı, sözcük veya karakterlerin önceden 1' ler ve 0’ lar dizisine çevrilmesi gerektiği söylenmişti. Bu işleme kodlama denir.Bilgisayarın içindeki verilere ulaşabilmek için ise, bunun tersi yani, 1’ ler ve 0’ lardan oluşan diziyi harflere ya da 10 tabanlı sayıya çevirmek gerekir. Bu işleme ise kod çözme denir Her harf veya karakterin önceden belirlenen bir KOD’a çevrilmesi gerekir Gelişigüzel kodlamalar kullanışlı değildir, çünkü çeviri çizelgeleri farklı olursa bilgisayarlar veri alış verişi yapamazlar. Bu nedenle bilgisayar yapımcıları, standart bir kod olan ASCII kodunu kullanırlar. ASCII, (American Standart Code for Information Interchange) sözcüklerinin baş harfleridir ve bilgisayar konusundaki standartları geliştiren bir Amerikan kuruluşunun adıdır.

ASCII kodları, her birinin belirli işlevi olan üç gruba ayrılır:

1. Kontrol karakterleri.
2. Simgeler ve sayılar.
3. Harfler.

Kontrol Karakterleri:
Bilgisayara girilecek komutların iletiminde kullanılan kodlardır.

Başlıca Kontrol Karakterleri ASCII kodu

1- Bell (zil işareti) ---> 7
2- Backspace (bir karakterlik geriye dönüş) ---> 8
3- Carriage Return(imleci bir sonraki satır başına döndürür) ---> 13
4- Escape ---> 27
5- Form feed (kağıdın ilerlemesini sağlar) ---> 12
6- Horizontal Tabulation (yatay cetvel) ---> 9
7- Line Feed (satır ilerlemesini sağlar) ---> 10
8- Vertical Tabulation (düşey cetvel) ---> 11

Simgeler ve sayılar
Sayıları 32’ den başlayıp 64 e kadar olan ASCII kodlarıdır.

Harfler
Sayıları 65’ den 127’ ye kadar olan alfabedeki büyük ve küçük harflerle klavye üzerindeki görülebilen diğer semboller için kullanılan kodlardır. 127’ den 255’ e kadar olan kodlar ise standartlaştırılmamış, bazı özel karakterler ve harfler yapımcı için serbest bırakılmıştır. Örneğin, Türkçe karakterler (ğ,ü,ş,ö,ç,ı,l) bu kısımda üretilen karakterlerdir.

İsterseniz bu tabloyu kendiniz elde edebilirsiniz.

-------------------------------------------------------------------

ASCII tablosu için C kodu:

#include
main(){
FILE *fptr=fopen("ascii.dot","w+");
int a;

for(a=0;a<=255;a++)
{

fprintf(fptr,"%d ==> %c\n",a,a);
}
fclose(fptr);
}

Soğuk Füzyon Nedir?

1983 Mart ayı sonlarında Amerika Birleşik Devletleri'nin Utah eyaletinde gerçekleştirilen bir deney, büyük yankılar yaratmış ve füzyon enerjisine yönelik geniş bir ilgi uyandırmıştır

Nükleer füzyon, atom çekirdeklerinin birbirleriyle kaynaştırılmasıdır. Çekirdekler pozitif elektrik yüklü olduklarından ve bu nedenle birbirlerini ittiklerinden proton sayısı az olan çekirdekler daha kolay kaynaştırılabilir. Bu tür çekirdeklere sahip atomlar arasında, hidrojenin izotopları olan döteryum ve tritiyum atomları büyük önem taşımaktadır. Döteryum çekirdeğinde 1 proton ve 1 nötron, tritiyum çekirdeğinde ise 1 proton ve 2 nötron vardır. Bu çekirdekler yaklaştırılıp kaynaştırıldıkları zaman, bazı nükleer reaksiyonlar oluşur.

reaksiyonlardan çok yüksek kinetik enerjilere sahip helyum çekirdekleri ile proton ve nötron tanecikleri çıkmaktadır. Bu ürünler reaksiyonun oluşturulduğu bölmeyi saran ve genellikle lityumdan yapılmış olan bir tabakaya saplanır ve bu sırada enerjilerini ısıya dönüştürürler. Bu tabakayı soğutmak için kullanılan bir sıvı, bu ısıyla buharlaşır ve elektrik üretimi için kullanılır. Bir gr döteryumda 3 x 1023 çekirdek bulunduğu göz önüne alınırsa, 100 megavat-saat enerji üreteceği ortaya çıkar. Döteryum izotopu doğal hidrojen içinde % 0.02 oranında bulunduğuna göre. yaklaşık 80 litre normal sudan bu enerjinin üretilebileceği ve okyanuslarda bulunan döteryum miktarının 10-100 milyon yıllık enerji gereksinimini karşılayacağı saptanabilir. Bu nedenle nükleer füzyona, enerji sorununun kesin çözümü olarak bakılmaktadır. Diğer bir üstünlüğü de herhangi bir radyoaktif artık bırakmamasıdır; çünkü son ürün asal helyum gazıdır. Bu yönleriyle füzyon, son otuz yıldır bilimin önde gelen amaçlarından biri olmuş ve bu uğurda milyarlarca dolar ve maddi değerlerle ölçülemeyecek yoğunlukta emek harcanmıştır.

Soguk Füzyon Düzeneği

Soğuk füzyonun oluşturulduğu düzenek.

Bugüne kadar yapılan çalışmalar ise genellikle "sıcak füzyon" yöntemi çevresinde toplanmıştır. Birbirini iten çekirdekleri kaynaştırabilmek için akla gelen ilk çare, çekirdekleri çok yüksek hızlarla birbirleri üzerine göndermektir. Bunun için de en doğal yol, gazı ısıtmaktır. Yapılan incelemeler, yeterli hızı sağlamak için, döteryum gazının 100 milyon derece mertebesinde bir sıcaklığa ısıtılmasının gerekli olduğunu ortaya koymaktadır. Ayrıca, çekirdeklerin çarpışıp kaynaşma olasılığını artırmak için, bu sıcaklıkta bir gazın belirli bir hacimde ve yoğunlukta, belirli bir süre tutulabilmesi gerekmektedir. Bu işlemler için reaktöre oldukça büyük bir enerji girdisi sağlanmakta ve füzyon reaksiyonlarından çıkan enerji henüz bu girdiyi dahi karşılayamaz halde bulunmaktadır. Tüm bu zorluklara rağmen sıcak füzyon son otuz yılda çok büyük bir aşama kaydetmiş ve beklenmedik bir zorlukla karşılaşılmazsa ikibinli yılların başında enerji üretimine başlayabilecek bir düzeye gelmiştir.

Sıcak füzyon üzerinde çalışmalar sürerken, pek umut vermeyen diğer bir yöntem üzerinde de çok daha mütevazi bir düzeyde bir takım araştırmalar yapılmaktaydı. Öncülüğünü 1940 yılında, tanınmış Sovyet bilim adamı Andrei Sakkarov'un yaptığı bu araştırmalar, müyon adıyla anılan bir taneciğe dayanıyordu. Bu tanecik doğada uzaydan gelen kozmik ışınlar içinde bulu

3 Ağustos 2008 Pazar

Yazık oldu Massa'ya

Helal sana be felippe, o ne çıkıştı ya, ne çılgın adammışsın sen? iki mercedese birden toz yutturdun resmen. Hamit denen o tip neye uğradığını şaşıdı. Son 3 tur kala motorunun patlaması herşeyi mahvetti. aklıma yıllar önce hakkinen'in yasadığı kaza geldi, o kazadan sonra şampiyonluğu micheal'e kaptırmıştı.
Adamım kimi, 3 . lük tabii iyi değil ama hamiltonun onunde bitirmek te iyidir, kendine gel artık, şampiyonsun sen adamım.
ilk galibiyetini alan kovalainen'i ve çaylak glocku tebrik ediyor, başarılarının devamını diliyorum. Toyota takımı bu yıl çok iyi bir gelişme gösterdi. bu hızda dewam ederlerse bence 2 yıl içerisinde BMW Sauber ile yarışabilecek sewiyeye geleceklerdir. Bmw takımının 2 yıl onceki halide boyleydi.
Tabii bu arada Ferrari tekrar Mclareni yakaladı ve her ne kadar galibiyet mclaren in olsa da kırmızı otomobiller performanslarıyla daha öndeydiler ve onumuzdeki yarışlarda çok daha iyi olacaklarını gösterdiler. Hamilton korksun artık. Kimi ve Felipe geliyor.

WHO IS HAMILTON? FORZA KIMI !!!