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)
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
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
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
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 olurAynı ş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
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
1 Eylül 2010 Çarşamba
How to install umbrello UML Modeller on Ubuntu
Uygulamalar-->Programlama-->Umbrello tiklayarak çalıştırın.
Oluşturulan diagramlara ait kodlarını da çıkartma özelliği var.
29 Ağustos 2010 Pazar
How to install Navicat in Ubuntu 10.04
Uygulamalar-->Ubuntu Yazılım Merkezi arama kısmına 7zip yaz ve programı yükle.
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.
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.
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)
Bloğ oluşturun buttonu tıklayın.http://prntscr.com/izwh
http://prntscr.com/izx3
Google hesabınız varsa giriş yapın yoksa google hesabı oluşturun.
http://prntscr.com/izxi
Blog başlığı yazın ve bloga isim verin mesela ethemsulan gibi.Sonra uygun olup olmadığını kontrol edin.
http://prntscr.com/izy0
Istediğiniz bir tema seçin.
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.
http://prntscr.com/izzb
http://prntscr.com/izzl
http://prntscr.com/j00d
Bende şu an yüklü olmasaydı kutucuğu işaretleyip yüklerdim.
http://prntscr.com/j00r
Windows live writeter Bloglar—>Blog hesabı ekle yi tıklayın.
http://prntscr.com/j017
Başka blog hizmetini seçin.
http://prntscr.com/j01d
Oluşturduğunuz blog adresini girin ve google hesabınızın bilgilerini girin.
http://prntscr.com/j01g
Blogğunuz başlığı nasıl görünsün.Örneğin Mehmet Ethem SULAN benimki.
http://prntscr.com/j01s
Şimdi de kodların resnkli görünmesi için Eklenti Ekle tıklayın.
http://prntscr.com/j01y
Gidilen sayfada Tüm diller kısmını seçin ve ikinci sayfada Source Code Formatter yükleyin.
http://prntscr.com/j02i
Şimdi de bir yazı yayınlamak için Source Code yi tıklayın.
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.
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.
http://prntscr.com/j035
Sol alt köşede Kategori Ekle tıklayıp yazınızın kategirisni belirleyin.
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ğisağlamaktır. IPSEC’te şifreleme ve filtreleme birarada kullanılarak bilgilerin güvenliği sağlanılıyor.
Güvenlik anlaşmaları : Ipsec’in trafiği nasılkoruyacağını belirler.Bu problemin çözümü için internet anahtar değişimprotocolu IKE geliştirilmiştir.IPSEC protocolleri IP datagramlarının gizliliğinikorumak için standart şifreleme algoritmalarınıkullanırlar. IP datagramların koruması için ihtiyaçduyulan bütün bu parametreler bir güvenlikanlaşmasında(security association) saklanılır.Güvenlik anlaşması kaynak ve hedef IP adreslerinitanımladığından çift yönlü IPSEC iletişiminde sadece biryöndeki trafikte koruma sağlayabilir. IPSEC her iki yöndede koruma sağlamak için iki adet tek yönlü güvenlikanlaşmasına ihtiyaç duyar. Güvenlik anlaşması sadece IPSECtrafiğinin nasıl koruyacağını belirler.2 farklı protocol kullanır.Bunlar : AH ve ESPBu protocolleri kullanma amacı : Iletişimin doğruluğunukanıtlamak, bütünlük ve gizliliğinden emin olmak içindir.Tüm IP datagramlarını koruyabileceği gibi sadece daha üstkatmanalrın protocollerini de koruyabilir.Bu durumlariçin karşılık gelen modlar 1. Tünel 2.Taşıma dır.Tünel modunda, ıp datagramını ıpsec protocolunu kullanarakyeni 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ştirilerekiş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ç verinindeğiştirilmesini engellemektir.oluşturulan HMAC, ipsecprotocol başlığına eklenir ve paketin alıcısı, eğer eğergizli anahtara erişimi varsa bu HMAC’ı kontrol edebilir.Gizlilik : Ipsec protokolleri, ip datagramlarının gizliliğinikorumak için standart olarak, simetrik şifreleme algoritmalarıkullanır.Günümüğzde genel olarak 3DES,AES, Blowfish gibigüçlü algoritmalar kullanılır.Ipsec protokollerini karşılıklı olarak kapsülleyip açabileneşlerin gizli anahtarı algoritmaları ve iletişimindeizin verilen ip adreslerini saklamak için bir yöntemeihtiyaçları vardır.Ip datagramlarının korunması için ihtiyaçduyulan bu parametreler bir güvenlik anlaşmasındasaklanılır(SA).Güvenlik anlaşmaları sırayla güvenlikanlaş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 protokol4.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 korumasağlayabilir.Ipsec 2 yönde de koruma sağlamak için 2adet 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ümeş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 protokol2.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 yapabilmekiçin datagramının HMAC’ini hesaplar.HMAC hesaplanırken, gizlianahtar, paketteki kullanıcı verisi ve ip başlığındaki ip adresigibi değişmeyen bölümler temel alınır.Bu bilgi daha sonra paketinAH başlığına eklenir.
TCP/IP protocol takımında, veri iletişimi için nelerin gerekliolduğ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 sadeceveri 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 hmackullanarak paketin bütünlüğünü hem de şifreleme kullanrakpaketin gizliliğini garanti eder.NAT : Ağ adres çeviricisiTCP : Transmission control protocolIP : Internet protocolDNS : Domain Name Systemhttp : Hyper Text Transfer ProtocolHTTPS : Secure httpFTP : File Transfer ProtocolSFTP : Secure FTPSNMP : Simple Network Managment ProtocolDHCP : Dynamic Host Configuration ProtocolNFS : Network File SystemLPD : Line Printer DaemonSMTP : Simple Mail Transfer ProtocolPOP3 : Post Office Protocol 3Telnet : Telecommunication NetworkSLIP : Serial Line Internet ProtocolPPP : Point-to-point ProtocolUDP : User Datagram Protocol
Yönlendirme
1.Static 2.Dinamik 3.Kaynaktan yönlendirme4.Hop by hop yönlendirmeYönlendirme Teknikleri1-En kısa yolu bulma algoritması : Bilgisayar ağlarında ikinokta arasındaki en kısa yolu bulurken ölçüt olarak:a-Bağlantı noktaları arasındaki coğrafi uzaklıkb-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çütebağlı olarak kaynak noktasından varış noktasınaen kısa yolun bulunmasıdır.2.Flooding : Bu yöntemde bir düğüme ulaşan paketinkopyaları çıkarılır ve bu kopyalar paketin geldiğibağlantı(hat) dışındaki tüm bağlantılardan gönderilir.3.Distance Vector Routing : Uzaklık vektörü yönlendirmesidinamik yönlendirme algoritmasıdır. Bu teknikte heryönlendirici bir yönlendirme tablosu tutar.Bu tabloda ağdakiher yönlendirici için bir satır bulunur. Her satırda ilgiliyönlendiricinin tablonun bulunduğu yönlendiriciye olanuzaklığı ve ilgili yönlendirmeye hangi çıkış hattı üzerindenulaşılacağı bilgisi saklanılır.Uzaklık vektörüyönlendirmesinde her yönlendirici(peryodik olarak) herT milisaniyede bir kendi tablosunda bulunan ölçüt değerlerinikomş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=3233q=(p-1)(q-1)=60*52=3120 1<e13120 olacak şekilde 3120ile 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 verilirC=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,DNSTaşıma : TCP, UDPAğ : IP/Arp, ICMP,IGMPFiziksel : 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çinfaydalı 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