26 Aralık 2010 Pazar

How to install .bin and .sh file in Linux(jdk-6u23-linux-i586.bin and netbeans-7.0beta-ml-linux.sh)

Bu örnekte JDK 6u23  .bin uzantılı dosyayı Desktop'a indirdim.

Desktopta indirilen  jdk-6u23-linux-i586.bin dosyasının bulunduğu yere aşağıdaki komut ile gittim.

ubuntu@ethem:~$ cd /home/ubuntu/Desktop/
root@ethem:/home/ubuntu/Desktop# sh jdk-6u23-linux-i586.bin
komutu ile klasöre çıkartıldı.
root@ethem:/home/ubuntu/Desktop# mv jdk1.6.0_23 /usr/lib
ile /usr/lib in altına yani NetBeans'in default olarak JDK'yı aradığı sistem klasörüne ekledim.

Sonra NetBeans 7.0 Beta Desktopa indirdim. Buda .sh uzantılıdır. Hem .sh hem de .bin dosyalar aynı komut yani sh fileName.sh or sh fileName.bin aynı şekildedir.
root@ethem:/home/ubuntu/Desktop# sh netbeans-7.0beta-ml-linux.sh yazınca aşağıdaki resimde görüldüğü gibi bir kurulum ekranı geliyor.

Next ile kuruyoruz.

Dosyalar /usr/local altına atılıyor.

Aşğıdaki resimde görüldüğü gibi kurduk. Netbeans-7.0 beta  klasörüne girip  uninstall.sh çit tıklayıp gelen ekranda Run buttonu tıklayıp kaldırabilirsiniz.

Run tıklandıktan sonra Apache ve GlassFish'i de seçip kaldırabilirsiniz.

20 Aralık 2010 Pazartesi

Ubuntu Tweak Linux'u Kolayca Kullanma Yazilimi

Ubuntu Tweak  .deb paktini indirip çift tıklayarak kurun.
Sonra Applications-->System Tools-->Ubuntu Tweak'i çalıştırın.
Aşağıdaki resimde görüldüğü gibi yapılandırmak istediğinizi seçip unlock buttonu tıklayıp root parolasını girdikten sonra değişikleri kolaylıkla gerçekleştirebilrisiniz. Package Cleaner işime yaradığı için gösterdim. Programlar kaldırınca bazı config dosyaları veya paketler kalıyor. Bu yazılım ubuntu yapılandırmaları için kolaylık sağlalıyor.
 Temizlemek istediğiniz paketleri seçip cleanup buttonu tıklamanız yeterli.

11 Ekim 2010 Pazartesi

Linux'ta Mozilla Thunderbird'i Arka Planda Çalıştırmak

Mozilla Thunderbird'i indirip yükleyin. Ubuntuda Application-->Ubuntu Software Center dan yükleyebilirsiniz.
Thunderbird'i açıp Tool-->Add-ons-->Get-Add-ons arama kısmına minimize on start and close yazıp eklentiyi kurun.
Aynı şekilde Get-Add-ons alanına Minimize To Tray Plus eklentisini de Thunderbird kapandığında Ubuntu da sağ üst köşede görünmesi için kurabilirsiniz. Kurulum tamamlandıktan sonra Extensions-->Preferences-->Always minimize... kutucuğunu işaretleyip kapatın.
Aşağıdaki resimlerde görüldüğü gibi arkaplanda çalışır ve size mesaj geldiğinde uyarırı sizi.

6 Ekim 2010 Çarşamba

Linux'ta Stardict Sözlüğü Babylon

Ubuntu için sudo apt-get install stardict consola yazıp stardict sözlük parogramını yükleyin. Stardict sözlüklerini indirin ve rardan çıkartın. sudo mv /home/ubuntu/Desktop/stardict_sozluk/ /usr/share/stardict/dic/ komut ile share/startdic/dic altına sözlükleri atın. Daha sonra chmod 777 -R  /usr/share/stardict/dic/ komutunu çalıştırınSonra Application-->Accessories-->Stardic sağ alt köşede sağdan ikinci sırada Manage dictionaries den sözlüklerin sırasını düzenleyin ve default gelen sözlükleri kaldırın. Kelime seçtiğiniz de otomatik olarak algılar ve anlamını yazar. Diğer işletim sistemleri için indirin. Stardict open source bir yazılımdır.

4 Ekim 2010 Pazartesi

JavaScript Email Kontrolü

JavaScript Array, Random, isNaN, for while içeren örneğe bakabilirsiniz.

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
        <!-- indexOf("@",0) 0 dan başlar string sonuna kadar tarar.Eğer @ karekterine rastlarsa true yani 1 dönderir.
        Rastalamazsa -1 dönderir-->
        <script language="javascript">
            function adres()
            {
                if(document.forms[0].mail.value.indexOf("@", 0)!=-1 && document.forms[0].mail.value.indexOf(".", 0)!=-1)
                {
                    alert("Maila dresinizi dogru girdiniz");
                    return true;
                }
                alert("Yanlış email formatı");
                return false;
            }
        </script>
    </head>
    <body>
        <form name="formum" action="GidilecekSayfa.jsp" method="POST" onsubmit="return adres()">
            <input type="text" name="mail" value="" />
            <input type="submit" value="Gonder" />
        </form>
    </body>
</html>

JavaScript Form Kontrolü

Ajax javascript objesine bakmak için tıklayın.


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
        <script language="javascript">
<%-- DOM(Document Object Model): Tarayıcı ekranında nesnelerin oluşturduğu hiyerarşidir.
En üstte window yani tarayıcı ekranı var.
Javada da buna benzer bir yapı var.En üstte object nesnesi var.Bütün nesneler object nesnesinden türetilmiştir.
document.forms[tamSayi] ilk formdan başlayarak 0,1,2.. şeklinde temsil edilir.Yani ikinci bir form olsaydı
document.forms[1] ile erişirdim.Başka yol ise document.formIsmi.formaAitEleman şeklinde erişiriz.
--%>
        function kontrol(){
                if(document.birinci.ad.value=='')
                {
                    alert("Ad alanı boş geçilemez");
                    return false;
                }else if(document.birinci.soyad.value=='')
                {
                   alert("Soyad alanı boş geçilemez");
                   return false;
                }else if(!isNaN(document.forms[0].yas.value))
                {
                    alert("Yaşınız sayı olmalı");
                    return false;
                }else{
                    return true;
                }
        }
        </script>
    </head>
    <body>
        <form name="birinci" action="DegerleriKaydet.jsp" method="GET" onsubmit="kontrol()">
            Ad:<input type="text" name="ad" value="" /><br>
            Soyad:<input type="text" name="soyad" value="" /><br>
            Yas:<input type="text" name="yas" value="" /><br>
            <input type="submit" value="Yazdir"/>
        </form>
    </body>
</html>

create custom JavaScript method

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
        <script language="javascript">
            var carpma=new Function("x", "y", "z","return x*y+z;");
            var sonuc=carpma(3,4,6);
            alert("New ile uretilen functionun degeri: "+sonuc);
            function degerToplama(a,b)
            {
                return a+b;
            }
            document.write("Toplama functionun degeri: "+Toplama(45,3));
        </script>
    </head>
    <body>
        
    </body>
</html>

JavaScript:void Method

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
        <script language="javascript">
            function cagirlacakMetot()
            {
                var girilenDeger=prompt("Bir deger girin", "");
                document.write("Girilen deger: "+girilenDeger);
            }
        </script>
    </head>
    <body>
<!-- javascript:void(cagrilacakMetodIsimi(parametre)); şeklinde  var olan bir metodu çağırabilirsiniz-->
        <a href="javascript:void(cagirlacakMetot())">Link tiklayarak metodu cagir</a>
    </body>
</html>

JavaScript Local and Global Instance

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
<!--var ile metod dışında tanımlanan değişken global olur
Aynı şekilde metod içinde tanımlanan değişken local olur.-->
        <script language="javascript">
            var globalDeg=prompt("Global deger gir;", "global");
            document.write("Global fegerimiz: "+globalDeg);
            function localDeg()
            {
                var localDeg=prompt("Local degisken gir:", "local");
                document.write("<br>local ve global degislenler mutlaka var ile tanimlanmalidirlar: "+localDeg);
            }
            localDeg();
        </script>
    </head>
    <body>
    </body>
</html>

JavaScript split(), substring() ve Düzenli İfade Örneği

Java split() metoduna bakabilirsiniz. JavaScript ve java  kullanım açısından benzerdir. Ikisi çok farklı şeylerdir.JavaScript bir script dili iken yani web sayfalarını daha dinamik yapmak için kullanırken java bir platformdur. Java ile web uygulamalarıdan tutun da mobile uygulamalara kadar çeşitli uygulamalar geliştirebilirsiniz.

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
        <script type="text/javascript" language="javascript">
            var string="Ben Keşan kültürünü seviyorum";
            document.write("Bir alt string: "+string.substring(4, 9).bold().fontcolor('red').italics());
            var il="Edirne web sayfasına gider";
            document.write("<br>"+il.link("http://www.edirne.com.tr")+"<br>");
            var isimStringi="Trakya@Bölgesi,Edirne#Keşan";
            var regex=/[#@,]/;
            var parcalar=isimStringi.split(regex);
            var i=0;
            while(i<parcalar.length)
            {
                document.write(i+". eleman: "+parcalar[i]+"<br>");
                i++;
            }
            document.write("<br>'web' kelimesini bulundugu yerin indexi: "+il.search(/web/));
        </script>
    </head>
    <body>
    </body>
</html>

JavaScript to String() Method Override

Java ile taban dönüştürme örneğine bakabilirsiniz.Yazdığım kod toString(radix) metodu gibi taban dönüştürmeyi gerçekleştiriyor


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
    <head>
        <title>JSP Page</title>
        <script type="text/javascript" language="javascript">
            var sayi=8;
            document.write("8 stringe donusturuldu: "+sayi.toString());
            var sayi2=23;
            document.write("<br>Sayi2 2 lik tabana gosterimi: "+sayi2.toString(2));
            document.write("<br>Sayi degiskeni 2 lik tanabda gosterimi: "+sayi.toString(2));
//toString(donusturlecek taban 2-36 arasi) metodu ovverride edilmis.Yani hem sayilari stringe hem de taban donusturuyor.
            document.write("<br>Sayi2 degiskenin 6 lik tabanda gosterimi: "+sayi2.toString(6));
        </script>
    </head>
    <body>
    </body>
</html>

toString metodu hem sayi tabanına dönüştürme hem de var olan sayıyı stringe dönüştürmeyi sağlıyor.

6 Eylül 2010 Pazartesi

How to Changing DNS Server in Ubuntu

Ubuntuda DNS ayarlarını değiştirerek yasaklı sitelere erişilebilir.Youtube gibi siteler.
Sistem—>Tercihler—>Ağ Bağlantıları tıklayarak ağınızı seçip düzenleyi tıklayın.IPV4 Ayarları—>Yöntem—>Sadece Otomatik(DHCP) adreslerini seçin. DNS Sunucuları kısmına aşağıdaki adreslerin arasına virgül koyarak yazuın ve en altta Tüm kullanıcılar tarafından kullanılabiliri seçin ve Uygula tıklayın.
87.118.111.215
81.174.67.134
a1
a2

1 Eylül 2010 Çarşamba

How to install umbrello UML Modeller on Ubuntu

Consola  sudo apt-get install umbrello  yazıp tıklayın.Parola girişi çıkar.Parolanızı girdikten sonra entere basın. Tekrar bir uyarı gelir E/H şeklinde. Consola e veya E yazıp entere basınca umrello kurulumu tamamlanıyor.
umbrello
Uygulamalar-->Programlama-->Umbrello tiklayarak çalıştırın.
umrello
Oluşturulan diagramlara ait kodlarını da çıkartma özelliği var.

29 Ağustos 2010 Pazar

How to install Navicat in Ubuntu 10.04

Bir çok database arayüzleri programları var. Bunların içinde en beğendiğim arayüz  navicattir.  Bir çok database ile ilgili işlemi gerçekleştirmeye yardımcı olan bir programdır. Navicat linux sürümünü indir: http://www.navicat.com/download/download.html
Uygulamalar-->Ubuntu Yazılım Merkezi arama kısmına 7zip yaz ve programı yükle.
7zip
Sonra indirilen .tar.gz dosyasını sağ tıkla ve masaüstüne buraya çıkart seçeneğinden tardan çıkart.Consola
ubuntu@Ethem:~$ cd /home/ubuntu/Masaüstü/
ubuntu@Ethem:~/Masaüstü$ sudo mv navicat9_lite_en.tar.gz /usr/share/
kalın yazılan kodları yaz.
Note: Masaüstünde tardan çıkartıktan sonra dizinin içine girip start_navicat i tıklayıp çalıştırabilirisniz. Yanlışlıkla dizini silmemek için share dizinine almakta fayda var.
Navicat
Sol menude görülen Dosya Sistemi-->Usr-->Share-->Navicat klasörünün içine girin ve start_navicat tıklayıp navicatı çalıştırın. Her sefer buraya girmek yerine start_navicat seçip üst panele taşıyabilirisniz.Tutup panele bırakınca aşağıdaki resim gibi bir pencere çıkar ve bir isim verip kapatın. Bundan sonra sadece üst panelden tıklayıp çalıştırabilirsiniz.
ustpanel
Eğer default resmi benim gibi değiştirmek istiyorsanız sarı Navicat resmi görünen alanı tıklayıp istediğiniz bir resmi seçin.

29 Haziran 2010 Salı

Blog Sitesi Nasıl Yapılır(How to create a blog site)

Şu adresi tıklayın: https://www.blogger.com/start 1
Bloğ oluşturun buttonu tıklayın.http://prntscr.com/izwh
2 http://prntscr.com/izx3
Google hesabınız varsa giriş yapın yoksa google hesabı oluşturun.
3 http://prntscr.com/izxi
Blog başlığı yazın ve bloga isim verin mesela ethemsulan gibi.Sonra uygun olup olmadığını kontrol edin.
4http://prntscr.com/izy0
Istediğiniz bir tema seçin.
5 http://prntscr.com/izyb
Bloğunuza yazı buradan d ayazabilirisniz ama windows live writer aracı kullanmanızı tafsiye ederim.
Msn ile yüklememişseniz http://windowslivewriter.spaces.live.com/ indirin ve yükleyin.
6 http://prntscr.com/izzb
7 http://prntscr.com/izzl
8 http://prntscr.com/j00d
Bende şu an yüklü olmasaydı kutucuğu işaretleyip yüklerdim.
9http://prntscr.com/j00r
Windows live writeter Bloglar—>Blog hesabı ekle yi tıklayın.
10 http://prntscr.com/j017
Başka blog hizmetini seçin.
11http://prntscr.com/j01d
Oluşturduğunuz blog adresini girin ve google hesabınızın bilgilerini girin.
12http://prntscr.com/j01g
Blogğunuz başlığı nasıl görünsün.Örneğin Mehmet Ethem SULAN benimki.
14 http://prntscr.com/j01s
Şimdi de kodların resnkli görünmesi için Eklenti Ekle tıklayın.
15
http://prntscr.com/j01y
Gidilen sayfada Tüm diller kısmını seçin ve ikinci sayfada Source Code Formatter yükleyin.
16 http://prntscr.com/j02i
Şimdi de bir yazı yayınlamak için Source Code yi tıklayın.
17 http://prntscr.com/j02l
hangi dilde kod yazmışsanız onu seçin ve kodunuzu kopyalayıp yapıştırın ve inser ile windows live writer yayınlama sayfasına ekleyin kodunuzu.
18 http://prntscr.com/j02r sol tarfa kodu yapıştırın ve insert buttonu tıklayın.Bu seçilen dile ait ayrılmış isimleri renkelndiriyor.
r http://prntscr.com/j035
Sol alt köşede Kategori Ekle tıklayıp yazınızın kategirisni belirleyin.
13 http://img689.imageshack.us/img689/3284/5de359513a154defb86732d.png
Son olarak yazdığınızı Yukarda belirtilen yayınla tıklayınca bloğunuzda yayınlanır.

19 Haziran 2010 Cumartesi

IPSEC, Yönlendirme Teknikleri, OSI ve TCP Arasındaki Farklar, TC/IP Katmanları

IPSEC(Internet Protocol Security)

IPV4 çıkışında güvenlik ön planda tutulmamıştı. 
Internet’in yaygınlaşmasıyla güvenlik önemli bir hal aldı.
 Asıl IPV6 için çıkartılan IPSEC IPV4’tede kullanmak 
üzere değiştirildi.Asıl çıkış amacı IPV6’da güvenliği
 sağlamaktır. IPSEC’te şifreleme ve filtreleme bir
 arada kullanılarak bilgilerin güvenliği sağlanılıyor.


Güvenlik anlaşmaları : Ipsec’in trafiği nasıl 
koruyacağını belirler.
Bu problemin çözümü için internet anahtar değişim
 protocolu IKE geliştirilmiştir.
IPSEC protocolleri IP datagramlarının gizliliğini 
korumak için standart şifreleme algoritmalarını
 kullanırlar. IP datagramların koruması için ihtiyaç 
duyulan bütün bu parametreler bir güvenlik 
anlaşmasında(security association) saklanılır.
Güvenlik anlaşması kaynak ve hedef IP adreslerini 
tanımladığından çift yönlü IPSEC iletişiminde sadece bir
 yöndeki trafikte koruma sağlayabilir. IPSEC her iki yönde 
de koruma sağlamak için iki adet tek yönlü güvenlik 
anlaşmasına ihtiyaç duyar. Güvenlik anlaşması sadece IPSEC 
trafiğinin nasıl koruyacağını belirler.
2 farklı protocol kullanır.Bunlar : AH ve ESP
Bu protocolleri kullanma amacı : Iletişimin doğruluğunu
 kanıtlamak, bütünlük ve gizliliğinden emin olmak içindir. 
Tüm IP datagramlarını koruyabileceği gibi sadece daha üst
 katmanalrın protocollerini de koruyabilir.Bu durumlar
 için karşılık gelen modlar 1. Tünel 2.Taşıma dır.
Tünel modunda, ıp datagramını ıpsec protocolunu kullanarak 
yeni bir ıp datagramı tarafından tamamen kapsüllenir(wan’lar arasında)
Taşıma modunda ise ip datagramının sadece kullanıcı 
verisi(payload), ipsec protokolü tarafından ip başlığı ile daha 
üst katman protocol başlığı arasına yerleştirilerek 
işlenir(LAN üzerinde yapılan ipsec uygulamaları)
Modlar : http://prntscr.com/hos8


Bütünlük koruma : IPSEC protokolleri ipdatagramının bütünlüğünü 
korumak için hash mesaj doğrulama kodlarını (HMAC) kullanırlar.
MD5 ve SHA gibi hash algoritmaları kullanarak ip datagramını 
ve bir gizli anahtarı temel alan HMAC çıkartılır.Amaç verinin
 değiştirilmesini engellemektir.oluşturulan HMAC, ipsec 
protocol başlığına eklenir ve paketin alıcısı, eğer eğer
 gizli anahtara erişimi varsa bu HMAC’ı kontrol edebilir.
Gizlilik : Ipsec protokolleri, ip datagramlarının gizliliğini 
korumak için standart olarak, simetrik şifreleme algoritmaları
 kullanır.Günümüğzde genel olarak 3DES,AES, Blowfish gibi 
güçlü algoritmalar kullanılır.
Ipsec protokollerini karşılıklı olarak kapsülleyip açabilen
 eşlerin gizli anahtarı algoritmaları ve iletişiminde 
izin verilen ip adreslerini saklamak için bir yönteme 
ihtiyaçları vardır.Ip datagramlarının korunması için ihtiyaç
 duyulan bu parametreler bir güvenlik anlaşmasında 
saklanılır(SA).Güvenlik anlaşmaları sırayla güvenlik 
anlaşmaları vt sinde(SAD) da saklanırlar.
•  Her bir güvenlik anlaşması aşağıdaki parametreleri tanımlar;
1.Oluşan ipsec başlığının hedef ve kaynak ip adresleri.
 Bu adresler, paketleri koruyan ipsec eşlerinin ip adresleridir.
2.Ipsec protokolü(AH veya ESP) bazen sıkıştırmada desteklenir.
3.Ipsec protokolünün kullandığı gizli anahtar ve protokol
4.Günlük parametre dizinini(SPI) : Bu güvenlik anlaşmasını
 belirleyen 32 bit sayı.
•Bazı SAD gerçeklenimleri başka parametrelerinde saklanmasına izin verir.
1.Ipsec modu(tünel ya da taşıma)
2.Cevap ataklarına karşı koruma sağlayan kayan pencerenin büyüklüğü
3.Güvenlik anlaşmasının geçerlilik süresi
•Güvenlik anlaşması kaynak ve hedef ip adresini tanımladığında
 çift yönlü iletişiminde sadece bir yöndeki trafikte koruma
 sağlayabilir.Ipsec 2 yönde de koruma sağlamak için 2
 adet tek yönlü güvenlik anlaşmasına ihtiyaç duyar.
•Güvenlik anlaşması elle yapılandırılması hataya yatkın ve çok da güvenli değil.
•Gizli anahtarın ve şifreleme algoritmaların VPN deki tüm
 eşler arasında paylaşamsı gerekir.
•Ipsec protokol ailesi 2 bağımsız ip protokolünden oluşur.
1.Kimlik kanıtlama başlığı(AH) : 51 nolu protokol
2.Kapsüllenen güvenlik yükü(ESP) : 50 nolu protokol
•AH(Authentication Header)(Kimlik Kanıtlama Başlığı) : 
AH protokolü ip datagramının bütünlüğünü korur.Bunu yapabilmek
 için datagramının HMAC’ini hesaplar.HMAC hesaplanırken, gizli 
anahtar, paketteki kullanıcı verisi ve ip başlığındaki ip adresi
 gibi değişmeyen bölümler temel alınır.Bu bilgi daha sonra paketin 
AH başlığına eklenir.


TCP/IP protocol takımında, veri iletişimi için nelerin gerekli 
olduğunu ve bunların nasıl gerçekleştirileceği tanımlanmıştır.
 Katmanlar ve bu katmanlarda çalışacak(IP, TCP gibi)
 protocoller belirlenmiştir.OSI referans modelindeyse sadece
 veri iletişimi için gerekli olan şeyler belirlenmiştir.
Protocol : Katmanlar arası konuşmayı düzenleyen kurallar topluluğudur.
 AH : Kimlik kanıtlama başlığı
ESP : Kapsüllenen güvenlik yükü.ESP protokolü hem hmac
 kullanarak paketin bütünlüğünü hem de şifreleme kullanrak 
paketin gizliliğini garanti eder.
NAT : Ağ adres çeviricisi
TCP : Transmission control protocol
IP :  Internet protocol
DNS : Domain Name System
http : Hyper Text Transfer Protocol
HTTPS : Secure http
FTP : File Transfer Protocol
SFTP : Secure FTP
SNMP : Simple Network Managment Protocol
DHCP : Dynamic Host Configuration Protocol
NFS : Network File System
LPD : Line Printer Daemon
SMTP : Simple Mail Transfer Protocol
POP3 : Post Office Protocol 3
Telnet : Telecommunication Network
SLIP : Serial Line Internet Protocol
PPP : Point-to-point Protocol
UDP : User Datagram Protocol


Yönlendirme



1.Static   2.Dinamik  3.Kaynaktan yönlendirme  
4.Hop by hop yönlendirme
  Yönlendirme Teknikleri
1-En kısa yolu bulma algoritması : Bilgisayar ağlarında iki
 nokta arasındaki en kısa yolu bulurken ölçüt olarak:
a-Bağlantı noktaları arasındaki coğrafi uzaklık
b-Geçilen düğüm(sekme) sayısı
c-Hatalar üzerinde ortaya çıkan aktarım süreleri, 
gecikme değerleri sonuçta amacımız, kullanılan ölçüte 
bağlı olarak kaynak noktasından varış noktasına
 en kısa yolun bulunmasıdır.
2.Flooding : Bu yöntemde bir düğüme ulaşan paketin 
kopyaları çıkarılır ve bu kopyalar paketin geldiği 
bağlantı(hat) dışındaki tüm bağlantılardan gönderilir.
3.Distance Vector Routing : Uzaklık vektörü yönlendirmesi
 dinamik yönlendirme algoritmasıdır. Bu teknikte her 
yönlendirici bir yönlendirme tablosu tutar.Bu tabloda ağdaki 
her yönlendirici için bir satır bulunur. Her satırda ilgili 
yönlendiricinin tablonun bulunduğu yönlendiriciye olan 
uzaklığı ve ilgili yönlendirmeye hangi çıkış hattı üzerinden 
ulaşılacağı bilgisi saklanılır.Uzaklık vektörü 
yönlendirmesinde her yönlendirici(peryodik olarak) her 
T milisaniyede bir kendi tablosunda bulunan ölçüt değerlerini
 komşularına gönderir ve benzer bir tabloyu da komşusundan alır.


RSA(Anahtar Üretimi)



Örnek: 123 şifreleyip göndermek için  verilen p=61, 
q=53 n=p*q=3233      
q=(p-1)(q-1)=60*52=3120 1<e13120 olacak şekilde 3120 
ile arasında asal 17’yi seçelim. d*17=1(mod 3120) 
olması için d=2753 bulunur.
Açık anahtar (3233, 17) şifreleme c=m^e(mod n) 
Gizli anahtar 2753 deşifreleme m=c^d(mod n)
Bunlar verilir
C=123^17 (mod 3233)=855 bu şifrelenmiş hali. 
855 i deşifrelemek için m=855^2753(mod 3233)=123


TC/IP Katmanları



Uygulama : Telnet,FTP,SMTP,DNS
Taşıma : TCP, UDP
Ağ : IP/Arp, ICMP,IGMP
Fiziksel : Arpnet, LAN

OSI ve TCP Arasındaki Farkla

1.OSI’de özel bir protocol eğilimi yok.Ama TCP/IP protocol kullanır.
2.OSI VE TCP/IP modellerindeki katman sayıları farklıdır.
3.OSI modelinde(oturum ve sunum katmanları hariç) 
bilgisayar ağlarını tartışmak ve tasarlamak için yararlı 
bir başvuru modelidir. TCP/IP yeni ağ tasarımı için 
faydalı bir model olmuştur.
4.OSI’de hizmet, arayüz ve protocollarda net hizmet farkı
 belirlenmiş. TCP/IP net bir ayrım yapmamış.
5.OSI VE TCP hizmet türü


Bağlantı hızları: http://prntscr.com/hosj

18 Haziran 2010 Cuma

SAL ile while Örneği

int toplam=0;

int i=0;

while(i<=10){

i=i+1;

toplam=toplam+i;

}

printf(toplam);

C kodunun SAL karşılığı

.data

toplam:               .word 0

i:                         .word 0

.txt

_while:                bgt            i,10, endwhile

                           add            i,i,1

                           add            toplam, toplam, i

                           b                _whil

endwhile:           put            toplam

                           done