/**
*
* @author Gökhan
*/
import java.io.*;
public class DosyaDonusturucu {
public static int satirDondur(){
int sayac=0;
try{
FileInputStream f=new FileInputStream("A.txt");
try (DataInputStream d = new DataInputStream(f)) {
BufferedReader b=new BufferedReader(new InputStreamReader(d));
while(b.readLine()!=null){
sayac++;
}
}
}
catch(Exception e)
{
System.err.println("Hata" + e.getMessage());
}
return sayac;
}
public static void main(String[] args) {
String [] str=new String[satirDondur()];
try{
FileInputStream f=new FileInputStream("A.txt");
try (DataInputStream d = new DataInputStream(f)) {
BufferedReader b=new BufferedReader(new InputStreamReader(d));
for(int i=0;i<str.length;i++){
str[i]=b.readLine();
System.out.println(str[i]);
}
}
}
catch(Exception e)
{
System.err.println("Hata" + e.getMessage());
}
}
}
Öncelikle oluşturduğumu txt dosyasını java projemize ekledik sonrada txt dosyamızın kaç satırdan oluştuğunu öğrenmek için bir fonksiyon oluşturduk.Bunun nedeni dosyayı okuyacağımız için oluşturacağımız dizinin boyutunu belirlemek.Böylece geriye null değerler dönmeyecektir.Bu yordama gerek kalmadanda array.split kullanarak dosyayı okumamız mümkün...
İYİ ÇALIŞMALAR...
BOOTSTRAP UYGULAMA-1
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" type="text/css" href="css/fontawesome-all.min.css"/>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/>
<link rel="stylesheet" type="text/css" href="css/main.css"/>
<link href="https://fonts.googleapis.com/css?family=Indie+Flower" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Caveat" rel="stylesheet">
<title>CODINGISLIFE</title>
</head>
<body>
<section id="cover">
<div class="container">
<div class="row">
<nav class="navbar navbar-toggleable-sm fixed-top navbar-expand-lg navbar-light bg-green">
<a class="navbar-brand" href="#"><img src="img/logo.png" alt="CODINGISLIFE"/></a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-end" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Code</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">About</a>
</li>
<li class="nav-item">
<a class="nav-link " href="#">Contact</a>
</li>
</ul>
</div>
</nav>
</div>
<div class="row text-center">
<div class="col-sm-12">
<h1>CODINGISLIFE</h1>
</div>
<div class="col-sm-12">
<h2>HOW IS IT GOING ?</h2>
</div>
<div class="col-sm-12">
<a href="#"><button type="buton" class="btn btn-secondary">GO TO CODE</button></a>
</div>
</div>
</div>
</section>
<script src="js/jquery-3.3.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/main.js"></script>
</body>
</html>
-------------------------Main.css------------------------
html,
body,
#cover{
height: 100%;
}
#cover{
background:url('../img/sec.jpg') no-repeat center fixed;
-webkit-background-size:cover;
}
.fixed-top{
max-width: 1140px;
margin:0px auto;
margin-top: 30px;
}
h1{
margin-top:15%;
font-family: 'Indie Flower', cursive;
font-size 45px;
color:#ffffff;
font-style:italic;
}
h2{
font-family: 'Caveat', cursive;
color:#ffffff;
}
.btn-secondary{
background-color: yellow;
color: red;
font-size: 30px;
padding:40x 40px;
}
a.nav-link{
color:white !important;
}
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" type="text/css" href="css/fontawesome-all.min.css"/>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/>
<link rel="stylesheet" type="text/css" href="css/main.css"/>
<link href="https://fonts.googleapis.com/css?family=Indie+Flower" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Caveat" rel="stylesheet">
<title>CODINGISLIFE</title>
</head>
<body>
<section id="cover">
<div class="container">
<div class="row">
<nav class="navbar navbar-toggleable-sm fixed-top navbar-expand-lg navbar-light bg-green">
<a class="navbar-brand" href="#"><img src="img/logo.png" alt="CODINGISLIFE"/></a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-end" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Code</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">About</a>
</li>
<li class="nav-item">
<a class="nav-link " href="#">Contact</a>
</li>
</ul>
</div>
</nav>
</div>
<div class="row text-center">
<div class="col-sm-12">
<h1>CODINGISLIFE</h1>
</div>
<div class="col-sm-12">
<h2>HOW IS IT GOING ?</h2>
</div>
<div class="col-sm-12">
<a href="#"><button type="buton" class="btn btn-secondary">GO TO CODE</button></a>
</div>
</div>
</div>
</section>
<script src="js/jquery-3.3.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/main.js"></script>
</body>
</html>
-------------------------Main.css------------------------
html,
body,
#cover{
height: 100%;
}
#cover{
background:url('../img/sec.jpg') no-repeat center fixed;
-webkit-background-size:cover;
}
.fixed-top{
max-width: 1140px;
margin:0px auto;
margin-top: 30px;
}
h1{
margin-top:15%;
font-family: 'Indie Flower', cursive;
font-size 45px;
color:#ffffff;
font-style:italic;
}
h2{
font-family: 'Caveat', cursive;
color:#ffffff;
}
.btn-secondary{
background-color: yellow;
color: red;
font-size: 30px;
padding:40x 40px;
}
a.nav-link{
color:white !important;
}
Uygulamamızdaki önemli yerler değinelim.İlk olarak section ile başladık çünkü bu uygulamadaki amacımız bir web sitesinin üst kısmını tasarlamak.Daha sonra bunun için konteynır'ı kullandık nedeni belli bir bölge yaratmaktı.Oluşturduğumuz bölgeleri satırlara böldük.Ve en üst tarafta logo ve menü
kısmını tasarlamak için nav etiketini ve gerekli bootstrap.css class'larından faydalandık.Ve daha sonra menumuzu tasarlamak için <li> etiketlerinden faydalandık.Tabi ki burada da bootstraptan faydalandık.Bootstrapsız bu işi yapmaya çalışsaydık,boyutlarından renklerine,renklerinden liste özelliklerine herşeyi ayarlamamız gerekecekti.Size tavsiyem bir önceki yazımızdaki şekilde bootstrap'ı kurup paylaşacağım örnekleri satır satır deneyerek çalıştırıp öğrenmeniz.Giriş düzeyinde anlattım fakat sonraki örneklerde anlatma olmayacak.Önemli olan bu kodları uygulamak.Bootstrap'ı çok iyi bir şekilde öğrenmek istiyorsanız yapmanız gereken tek şey bol örnek.
İYİ ÇALIŞMALAR...
DURUM GEÇİŞ TABLOLARI
Bu yazımızda dün çözdüğümüz örneğin durum geçiş tablosuna göz atacağız.Örneği anlamadan direkt buraya atlamanızı tavsiye etmem.O örnekte durum geçiş şemasını oluşturmuştuk.Bu örnekte ise durum geçiş tablosunu oluşturacağız.
Tablomuzdan kısaca bahsedecek olursak Mevcut durumumuz A=0 B=0' dan başlayalım.Tıpkı bir önceki örnekte olduğu sonraki durumu buluyor.Sonraki durum önceki durum ile aynı idr o durum konumunu koruyordu.Sonraki durum A=0 B=0 konumunu korur.x=1 olduğunda A=0 B=1 01 durumuna geçer.Bu arada Y' değerimizide unutmuyoruz.Anlayacağınız durum geçiş şemasını çizerseniz.Bu tabloyu çıkartmak o kadar da zor değil.Şimdi tek tek A ve B flip flopu için bakalım.
Burada A' x=0'da hangi noktalarda "1" sorusuna cevap arayıp bunları lojik olarak yazacağız.Bunun amacı tabloyu terimler ile ifade edebilmektir.
Bir sonraki yazımızda durum indirgemelere bakmaya çalışacağız.İYİ ÇALIŞMALAR
Tablomuzdan kısaca bahsedecek olursak Mevcut durumumuz A=0 B=0' dan başlayalım.Tıpkı bir önceki örnekte olduğu sonraki durumu buluyor.Sonraki durum önceki durum ile aynı idr o durum konumunu koruyordu.Sonraki durum A=0 B=0 konumunu korur.x=1 olduğunda A=0 B=1 01 durumuna geçer.Bu arada Y' değerimizide unutmuyoruz.Anlayacağınız durum geçiş şemasını çizerseniz.Bu tabloyu çıkartmak o kadar da zor değil.Şimdi tek tek A ve B flip flopu için bakalım.
Burada A' x=0'da hangi noktalarda "1" sorusuna cevap arayıp bunları lojik olarak yazacağız.Bunun amacı tabloyu terimler ile ifade edebilmektir.
Bir sonraki yazımızda durum indirgemelere bakmaya çalışacağız.İYİ ÇALIŞMALAR
ARDIŞIL DEVRE ANALİZİ-2
Bir örnek üzerinden devam edelim.
Örnek
Aşağıda verilen mantık devresi ardışıl bir fonksiyon gerçekleştirmektedir.Devrenin girişi "x" çıkışı "y",durumlar ise "A-B" çiftidir.Durum geçiş şemasını oluşturunuz...
Sorumuzda bize verilen yerler...
Yazımdan dolayı özür diliyorum :) Amacımızın öğrenmek olduğunu düşününce yazının pek öneminin kaldığı söylenemez zaten :)
Çözüm
Öncelikle inceleyeceğimiz 4 durumumuz var.A=0,0,1,1 B=0,1,0,1 değerlerini tek tek incelememiz gerekiyor.Bununla birlikte A=0 B=0 X=0 ve A=0 B=0 X=1 için de ayrı ayrı hesaplamalıyız.Yukarıda yaptığımız tek şey A,B ve X değerlerini yerine koyarak Rb,Sb ve Ra,Sa yı bulmak.Burada bulduğumuz değerlere göre A ve B nin yeni değerlerini buluyoruz.Bu yeni değerlerden durum değişikli olup olmayacağını bulup hangi X ve Y değerlerinde durum değişikliğinde olduğunuda durum dairemizin üzerine yazıyoruz.Örneğin A=0 B=1 Sa=1 Ra=0 ve Sb=0 Rb=1 değerlerini elde ettik.A'nın yeni değeri 1 olacaktır.Çünkü R-S flip flopta set'leme söz konusu.Diğer tarafta B=0 olacaktır.Çünkü bir resetleme söz konusudur.Yeni değerlerimi A=1 B=0 yani 10 durumumuza gideceğiz.Bu duruma hangi X ve Y değerleri ile gittiğimiz okumuzun üzerine yerleştiriyoruz..Birkaç soru çözdükten sonra işiniz gerçekten basit..Bir sonraki yazımızda bu sorunun Durum geçiş tablosunu tasarlayıp bazı işlemler yapacağız.
İYİ ÇALIŞMALAR...
Örnek
Aşağıda verilen mantık devresi ardışıl bir fonksiyon gerçekleştirmektedir.Devrenin girişi "x" çıkışı "y",durumlar ise "A-B" çiftidir.Durum geçiş şemasını oluşturunuz...
Sorumuzda bize verilen yerler...
Yazımdan dolayı özür diliyorum :) Amacımızın öğrenmek olduğunu düşününce yazının pek öneminin kaldığı söylenemez zaten :)
Çözüm
Öncelikle inceleyeceğimiz 4 durumumuz var.A=0,0,1,1 B=0,1,0,1 değerlerini tek tek incelememiz gerekiyor.Bununla birlikte A=0 B=0 X=0 ve A=0 B=0 X=1 için de ayrı ayrı hesaplamalıyız.Yukarıda yaptığımız tek şey A,B ve X değerlerini yerine koyarak Rb,Sb ve Ra,Sa yı bulmak.Burada bulduğumuz değerlere göre A ve B nin yeni değerlerini buluyoruz.Bu yeni değerlerden durum değişikli olup olmayacağını bulup hangi X ve Y değerlerinde durum değişikliğinde olduğunuda durum dairemizin üzerine yazıyoruz.Örneğin A=0 B=1 Sa=1 Ra=0 ve Sb=0 Rb=1 değerlerini elde ettik.A'nın yeni değeri 1 olacaktır.Çünkü R-S flip flopta set'leme söz konusu.Diğer tarafta B=0 olacaktır.Çünkü bir resetleme söz konusudur.Yeni değerlerimi A=1 B=0 yani 10 durumumuza gideceğiz.Bu duruma hangi X ve Y değerleri ile gittiğimiz okumuzun üzerine yerleştiriyoruz..Birkaç soru çözdükten sonra işiniz gerçekten basit..Bir sonraki yazımızda bu sorunun Durum geçiş tablosunu tasarlayıp bazı işlemler yapacağız.
İYİ ÇALIŞMALAR...
ARDIŞIL DEVRE ANALİZİ-1
1-DURUM GEÇİŞ ŞEMASI YÖNTEMİ
2-DURUM GEÇİŞ TABLOSU YÖNTEMİ
3-DURUM DENKLEMLERİ
Sırası ile bu işlemeleri gözden geçirelim...
1-DURUM GEÇİŞ ŞEMASI
Devrenin her bir durumu devre ile durumlar arasındadır.Geçişler ise daireleri birbirine bağlayan yönlü oklar ile gösterilir.Her dairenin içinde ki 2'li sayi dairenin temsil ettiği durumu tanımlar.Geçişleri gösteren oklar üzerine ise söz konusu durum geçişinin hangi girdilerle gerçekleştiği ve çıktının ne olduğu yazılır.Bu gösterim için '/' işareti kullanılır.Kesme işaretinin soluna girdi sağına çıktı yazılır..
Şimdi bir tam toplayıcı devresi üzerinden bellirttiğimiz adımlardan faydalanarak devrenin geçiş şemasını çizelim..
Di eldemizin 0 olduğu,Dj eldemizin 1 olduğu durumdur.İlk satır ile başlayacak olursak bakın A=0,B=0,TOPLAM(SUM)=0 bu durumda elde değerimiz 0 olur.Bu durum Di=0'dan başladı öyle değil mi ? Peki şimdi ne oldu ?Değerimiz 0'dı 0 kaldı.Değerimiz değişmediği için ok'u kendi durumumuza(state) geri döndürüyoruz.Eldemizin 1 olduğu durumlarda da Dj durumumuza geçiyoruz.Yazım kuralımıza bakacak olursak örneğin 1,1/0 A=1 B=1 Toplam=0 Elde=1 olduğundan durum değiştirdik..Otomat dersi alan aslında bunun bir nevi mealy makinesi olduğunu görmüştür.Yukarıda da belirttiğimiz gibi ilk giriş/çıkış şeklinde yazılıyor.
Yazılarımda normal konuşma dilini kullandığımdan noktalama işaretlerini gözden kaçırıyor olabilirim.Bu gibi durumları iletişimden(footer bölümünden) bana bildirebilirseniz mutlu olurum.
İYİ ÇALIŞMALAR...
2-DURUM GEÇİŞ TABLOSU YÖNTEMİ
3-DURUM DENKLEMLERİ
Sırası ile bu işlemeleri gözden geçirelim...
1-DURUM GEÇİŞ ŞEMASI
Devrenin her bir durumu devre ile durumlar arasındadır.Geçişler ise daireleri birbirine bağlayan yönlü oklar ile gösterilir.Her dairenin içinde ki 2'li sayi dairenin temsil ettiği durumu tanımlar.Geçişleri gösteren oklar üzerine ise söz konusu durum geçişinin hangi girdilerle gerçekleştiği ve çıktının ne olduğu yazılır.Bu gösterim için '/' işareti kullanılır.Kesme işaretinin soluna girdi sağına çıktı yazılır..
Şimdi bir tam toplayıcı devresi üzerinden bellirttiğimiz adımlardan faydalanarak devrenin geçiş şemasını çizelim..
Di eldemizin 0 olduğu,Dj eldemizin 1 olduğu durumdur.İlk satır ile başlayacak olursak bakın A=0,B=0,TOPLAM(SUM)=0 bu durumda elde değerimiz 0 olur.Bu durum Di=0'dan başladı öyle değil mi ? Peki şimdi ne oldu ?Değerimiz 0'dı 0 kaldı.Değerimiz değişmediği için ok'u kendi durumumuza(state) geri döndürüyoruz.Eldemizin 1 olduğu durumlarda da Dj durumumuza geçiyoruz.Yazım kuralımıza bakacak olursak örneğin 1,1/0 A=1 B=1 Toplam=0 Elde=1 olduğundan durum değiştirdik..Otomat dersi alan aslında bunun bir nevi mealy makinesi olduğunu görmüştür.Yukarıda da belirttiğimiz gibi ilk giriş/çıkış şeklinde yazılıyor.
Yazılarımda normal konuşma dilini kullandığımdan noktalama işaretlerini gözden kaçırıyor olabilirim.Bu gibi durumları iletişimden(footer bölümünden) bana bildirebilirseniz mutlu olurum.
İYİ ÇALIŞMALAR...
BOOTSTRAP NEDİR ? NASIL KULLANILIR ?
Twitter Bootstrap açık kaynak kodlu, web sayfaları veya uygulamaları geliştirmek için kullanılabilecek araçlar bütünü ve önyüz çatısı. Bootstrap, web sayfaları veya uygulamalarında kullanılabilecek, HTML ve CSS tabanlı tasarım şablonlarını içerir.Bootstrap ile çok basit şekilde profesyonel web sitesi şablonları hazırlayabilirsiniz..
Şimdi bootstrap framework'unu nasıl kullanırız ona değinelim öncelikle buradan bootstrap'ı indiriyoruz.
Daha sonra jquery'i indirip bootstrap'ı indirdiğimiz klasöre atıyoruz.Jquery'de bir javascript kütüphanesidir.Tasarımlarımızı yaparken bize yardımcı olacak.Onuda buradan indirebilirsiniz.
Şimdide nasıl kullanacağımıza bir göz atalım.
Klasörümüz bu şekilde olacak bootstrap klasörünün içinde bir index.html ve css dosyasının içinde main.css adında iki dosyayıda bizim oluşturmamız gerekiyor.Projemizi index.html üzerine ve bootstrap'ın etkisiz olduğu yerde kendi yazdığımız css kodlarını barındıracak bir main.css dosyası..
Daha sonra bu dosyayı brackets'tan açıp kodlarımızı yazmaya başlayalım..
NOT ! ! ! BOOTSTRAP'I öğrenmek için temel bir html ve css bilgisi gerekmektedir.
Yukarıda dosyalarımızı açıp burada index.html sayfasına ilgili css ve script class'larını ekledik.Bildiğiniz üzere css ve script dosyalarımızı index.html sayfasına import etmez isek bu dosyaları kullanamayacağız..
Şimdilik kısa bir giriş yaptık.Merak etmeyin bootstrap'tı en ince ayrıntısına kadar öğreneceksiniz...
İYİ ÇALIŞMALAR...
PHP İLE HAVA DURUMU BOTU
<?php
$sehir=@file_get_contents("http://www.nkfu.com/turkiye-81-il-listesi/");
preg_match_all('@<td width="143">(.*?)</td>@si',$sehir,$sehirler);
function getir($key){
if(isset($_POST[$key]))
return $_POST[$key];
}
if(count($_POST)>0){
$sehirim=getir("sehirr");
$degisecek=["ğ","ı","ş","I","ö","Ç","ç","ü","Ş"];
$yeni=["g","i","s","i","o","C","c","u","S"];
$sehirim=str_replace($degisecek,$yeni,$sehirim);
$veri=@file_get_contents("http://www.mynet.com/havadurumu/asya/turkiye/".$sehirim."");
preg_match_all('@<span class="hvDeg1">(.*?)</span>@si',$veri,$enYuksek);
preg_match_all('@<span class="hvDeg2">(.*?)</span>@si',$veri,$enDusuk);
preg_match_all('@<span class="hvMood">(.*?)</span>@si',$veri,$hvMood);
preg_match_all('@<span class="hvDay">(.*?)</span>@si',$veri,$hvGun); }
?>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form method="POST" >
<select name="sehirr" >
<?php for($i=0;$i<=81;$i++) echo "<option value='".$sehirler[0][$i] = strip_tags($sehirler[0][$i])."'>".$sehirler[0][$i]."</option>";?>
</select>
<input type="submit" value="Göster"></br></br>
</form>
<table border="4" style="margin-left:200px">
<tr><td colspan="6" style="text-align:center"><?php $s=strtoupper($sehirim); echo $s;?> 5 GÜNLÜK HAVA DURUMU</td>
<tr>
<td>GÜNLER</td>
<td><?php echo @$hvGun[0][0]?></td>
<td><?php echo @$hvGun[0][1]?></td>
<td><?php echo @$hvGun[0][2]?></td>
<td><?php echo @$hvGun[0][3]?></td>
<td><?php echo @$hvGun[0][4]?></td>
</tr>
<tr>
<td>DURUM</td>
<td><?php
$durum=strip_tags(str_replace($degisecek,$yeni,$hvMood[0][0]));
if($durum=="Yagisli") echo "<img src='rain.png'/>";
else if($durum=="Parcali Bulutlu") echo "<img src='parcali.png'/>";
else if ($durum=="Kar Yagisli") echo "<img src='kar.png'/>";
else if ($durum=="Hafif Kar Yagisli") echo "<img src='kar.png'/>";
else if ($durum=="Cok Bulutlu") echo "<img src='bulutlu.png'/>";
else if ($durum=="Gunesli") echo "<img src='gunesli.png'/>";
?></br>
<?php echo @$hvMood[0][0] ?>
</td>
<td><?php
$durum=strip_tags(str_replace($degisecek,$yeni,$hvMood[0][1]));
if($durum=="Yagisli") echo "<img src='rain.png'/>";
else if($durum=="Parcali Bulutlu") echo "<img src='parcali.png'/>";
else if ($durum=="Kar Yagisli") echo "<img src='kar.png'/>";
else if ($durum=="Hafif Kar Yagisli") echo "<img src='kar.png'/>";
else if ($durum=="Cok Bulutlu") echo "<img src='bulutlu.png'/>";
else if ($durum=="Gunesli") echo "<img src='gunesli.png'/>";
?></br><?php echo @$hvMood[0][1]?></td>
<td><?php
$durum=strip_tags(str_replace($degisecek,$yeni,$hvMood[0][2]));
if($durum=="Yagisli") echo "<img src='rain.png'/>";
else if($durum=="Parcali Bulutlu") echo "<img src='parcali.png'/>";
else if ($durum=="Kar Yagisli") echo "<img src='kar.png'/>";
else if ($durum=="Hafif Kar Yagisli") echo "<img src='kar.png'/>";
else if ($durum=="Cok Bulutlu") echo "<img src='bulutlu.png'/>";
else if ($durum=="Gunesli") echo "<img src='gunesli.png'/>";
?></br><?php echo @$hvMood[0][2]?></td>
<td><?php
$durum=strip_tags(str_replace($degisecek,$yeni,$hvMood[0][3]));
if($durum=="Yagisli") echo "<img src='rain.png'/>";
else if($durum=="Parcali Bulutlu") echo "<img src='parcali.png'/>";
else if ($durum=="Kar Yagisli") echo "<img src='kar.png'/>";
else if ($durum=="Hafif Kar Yagisli") echo "<img src='kar.png'/>";
else if ($durum=="Cok Bulutlu") echo "<img src='bulutlu.png'/>";
else if ($durum=="Gunesli") echo "<img src='gunesli.png'/>";
?></br><?php echo @$hvMood[0][3]?></td>
<td><?php
$durum=strip_tags(str_replace($degisecek,$yeni,$hvMood[0][4]));
if($durum=="Yagisli") echo "<img src='rain.png'/>";
else if($durum=="Parcali Bulutlu") echo "<img src='parcali.png'/>";
else if ($durum=="Kar Yagisli") echo "<img src='kar.png'/>";
else if ($durum=="Hafif Kar Yagisli") echo "<img src='kar.png'/>";
else if ($durum=="Cok Bulutlu") echo "<img src='bulutlu.png'/>";
else if ($durum=="Gunesli") echo "<img src='gunesli.png'/>";
?></br><?php echo @$hvMood[0][4]?></td>
</tr>
<tr>
<td>EN YÜKSEK SICAKLIK</td>
<td><?php echo @$enYuksek[0][0]?></td>
<td><?php echo @$enYuksek[0][1]?></td>
<td><?php echo @$enYuksek[0][2]?></td>
<td><?php echo @$enYuksek[0][3]?></td>
<td><?php echo @$enYuksek[0][4]?></td>
</tr>
<tr>
<td>EN DÜŞÜK SICAKLIK
<td><?php echo @$enDusuk[0][0]?></td>
<td><?php echo @$enDusuk[0][1]?></td>
<td><?php echo @$enDusuk[0][2]?></td>
<td><?php echo @$enDusuk[0][3]?></td>
<td><?php echo @$enDusuk[0][4]?></td>
</tr>
</table>
</body>
</html>
BELLEK ÇEŞİTLERİ (SALT-OKU BELLEKLER)
1)SALT OKU BELLEKLER
1.1)Salt Oku Bellek (ROM)
Bu bellek tür bellek türene bilgi yazılması, sadece üretim sırasında yapılabilir.Yarı iletken malzemeden bellek yapılırken kullanılan maskeler,belleğin içermesi gereken bilgileri oluşturacak şekilde hazırlanır.
1.2)Programlanabilir Salt Oku Bellek (PROM)
Üretildikleri an bütün gözeleri 0 veya 1 ile yüklü belleklerdir.Her bellek gözesi içinde bir sigorta bulunmaktadır.Bu sigortalar özel bir yöntem ve aygıt aracılığı ile arttırılabilir.Bir gözenin sigortasının atmış olması o gözenin konumunun değişmesi demektir.
1.3)Silinebilir Programlanabilir Salt Oku Bellek
Defalarca okunup silinebilen bu bellekler 3' e ayrılır.Şimdi bunları gözden geçirelim..
1.3.1)EPROM
EPROM'lar üretildiklerinde tüm bellek gözeleri 1 konumundadır.1 konumunda olan gözelerden istenenler,özel yöntemler ve aygıtlarla 0 konumuna geçebilir.Mor ötesi ışığın yarı iletken üzerine belli bir süre tutulması sonunda,tüm gözeler 1 konumuna gelir.Böylece EPROM silinmiş olur.Bu silinme tek bir göze yapılamaz.Tüm bellek silinmiş olur.Tekrar programlanma yeteneği olduğundan ROM'dan pahalıdır.
1.3.2)EEPROM
Silinebilir ve programlanabilir belleklerin en gelişmiş olanı,elektriksel olarak silinebilen salt oku belleklerdir.Bu belleklerde,bellek gözlerine istenen bir değer yazılabilir ve yazılan bu bilgi yeni bir yazmaya kadar kalır.Bellek gözesine yazılan bilgi 0 ve 1'lerden oluşabilir.EEPROM'un silinmesi tüm gözelerin 0'a bağlı olmasıdır.
1.3.3)FLASH
EEPROM'un özel bir biçimidir.Flash belleğe yazmadan önce,veri yazılacak bellek bölgesinin silinmesi gerekir.Daha sonra, yazılacak veriler küme halinde yazılır...
1.1)Salt Oku Bellek (ROM)
Bu bellek tür bellek türene bilgi yazılması, sadece üretim sırasında yapılabilir.Yarı iletken malzemeden bellek yapılırken kullanılan maskeler,belleğin içermesi gereken bilgileri oluşturacak şekilde hazırlanır.
1.2)Programlanabilir Salt Oku Bellek (PROM)
Üretildikleri an bütün gözeleri 0 veya 1 ile yüklü belleklerdir.Her bellek gözesi içinde bir sigorta bulunmaktadır.Bu sigortalar özel bir yöntem ve aygıt aracılığı ile arttırılabilir.Bir gözenin sigortasının atmış olması o gözenin konumunun değişmesi demektir.
1.3)Silinebilir Programlanabilir Salt Oku Bellek
Defalarca okunup silinebilen bu bellekler 3' e ayrılır.Şimdi bunları gözden geçirelim..
1.3.1)EPROM
EPROM'lar üretildiklerinde tüm bellek gözeleri 1 konumundadır.1 konumunda olan gözelerden istenenler,özel yöntemler ve aygıtlarla 0 konumuna geçebilir.Mor ötesi ışığın yarı iletken üzerine belli bir süre tutulması sonunda,tüm gözeler 1 konumuna gelir.Böylece EPROM silinmiş olur.Bu silinme tek bir göze yapılamaz.Tüm bellek silinmiş olur.Tekrar programlanma yeteneği olduğundan ROM'dan pahalıdır.
1.3.2)EEPROM
Silinebilir ve programlanabilir belleklerin en gelişmiş olanı,elektriksel olarak silinebilen salt oku belleklerdir.Bu belleklerde,bellek gözlerine istenen bir değer yazılabilir ve yazılan bu bilgi yeni bir yazmaya kadar kalır.Bellek gözesine yazılan bilgi 0 ve 1'lerden oluşabilir.EEPROM'un silinmesi tüm gözelerin 0'a bağlı olmasıdır.
1.3.3)FLASH
EEPROM'un özel bir biçimidir.Flash belleğe yazmadan önce,veri yazılacak bellek bölgesinin silinmesi gerekir.Daha sonra, yazılacak veriler küme halinde yazılır...
BELLEK
Bilgisayarın çalışmasına yön verecek programı ve programın üzerinde çalışacağı verileri saklamak için bellek kullanılmaktardır.
Eskiden kullanılan bir sürü bellek çeşidi yerini şimdiki zamanlarda kullanılan yarıiletken belleklere bıraktı.Yarı iletken bellekler eskiden kullanılan çekirdek belleklere göre çok daha ucuz ve kullanışlıdır.Yarı iletken bellekler kullanılırken enerjiye ihtiyaç duyarlar ve enerjileri kesilirse çalışmazlar.Bu nedenle yani bilgileri tutmak amacıyla iki tür bellek geliştirilmiştir.
1-Salt Oku Bellekler
2-Oku/Yaz Bellekler
1-Salt Oku Bellekler
Bilgisayarda sürekli kalması istenen bilgilerin saklanması için kullanılan bellek türleridir.Özel amaçlı ve sabit programla çalışan bilgisayarların programları ile bilgisayar açıldığında kullanıcıya hizmet verecek yol verme programları bu tür belleklere yazılmalıdır.Şimdi diyeceksiniz ki madem bu bellekler salt oku bellek biz bunlara nasıl program yazabiliyoruz.Bunlar üretilirken bu programlar özel araçlarla yazılıyor.Anlayacağınız bilgisayarınızın açılması görüntünün ekrana gelmesi klavye tuşlarının algılanması bunlar bedavadan olan şeyler değil.İşte bu gibi programları bilgisayar üreticisi bu bellekleri üretirken ayarlıyor.
2-Oku/Yaz Bellekler
Bilgisayar içindeki kullanıcı programının yazılacağı veya verilerin yazılacağı bellek türü oku/yaz bellektir.İşte bu bellekler biz kullanıcılara hitap ediyor..
Bir sonraki post'umuzda bu belleklerin çeşitlerini inceleyeceğiz.
İYİ ÇALIŞMALAR...
Eskiden kullanılan bir sürü bellek çeşidi yerini şimdiki zamanlarda kullanılan yarıiletken belleklere bıraktı.Yarı iletken bellekler eskiden kullanılan çekirdek belleklere göre çok daha ucuz ve kullanışlıdır.Yarı iletken bellekler kullanılırken enerjiye ihtiyaç duyarlar ve enerjileri kesilirse çalışmazlar.Bu nedenle yani bilgileri tutmak amacıyla iki tür bellek geliştirilmiştir.
1-Salt Oku Bellekler
2-Oku/Yaz Bellekler
1-Salt Oku Bellekler
Bilgisayarda sürekli kalması istenen bilgilerin saklanması için kullanılan bellek türleridir.Özel amaçlı ve sabit programla çalışan bilgisayarların programları ile bilgisayar açıldığında kullanıcıya hizmet verecek yol verme programları bu tür belleklere yazılmalıdır.Şimdi diyeceksiniz ki madem bu bellekler salt oku bellek biz bunlara nasıl program yazabiliyoruz.Bunlar üretilirken bu programlar özel araçlarla yazılıyor.Anlayacağınız bilgisayarınızın açılması görüntünün ekrana gelmesi klavye tuşlarının algılanması bunlar bedavadan olan şeyler değil.İşte bu gibi programları bilgisayar üreticisi bu bellekleri üretirken ayarlıyor.
2-Oku/Yaz Bellekler
Bilgisayar içindeki kullanıcı programının yazılacağı veya verilerin yazılacağı bellek türü oku/yaz bellektir.İşte bu bellekler biz kullanıcılara hitap ediyor..
Bir sonraki post'umuzda bu belleklerin çeşitlerini inceleyeceğiz.
İYİ ÇALIŞMALAR...
BUYRUKLAR
Bilgisayarın nasıl çalıştığını anlatmak üzere verilen örnekten de anlaşıldığı gibi,belli işlemleri bilgisayara yaptırabilmek için,işlemler adımlara ayrıştırılmaktadır.Bilgisayara neyi nasıl yapacağını yani nasıl çalışacağını anlatan adımlara buyruk diyoruz.Buyrukların tarihsel gelişimi üzerinde fazla durmak istemiyorum.Kısaca deyinelim...
Buyruklar başlangıçta 5 bölümden oluşyordu.Bu bölümler Komut-1.İşlenen adresi-2.işlenen adresi-Sonucun adresi ve bir sonraki buyruğun adresi.Bir önceki örneğimizi hatırlayacak olursak X ile Y yi toplamıştık.Bakın yukarıdaki 5 bölümde adımlar şu şekilde ilerliyor.X ve Y toplanıyor sonuc başka bir yere yazılıyor.Daha sonra kalınan buyruk adresinde yola devam ediliyor.Şimdi biz bu işlemleri sadeleştirebildiğimiz kadar sadeleştirip en yalın buyruk tanımını bulalım...
1-İlk olarak belleğimizdeki buyrukların sırayla çalıştığını var sayalım.Böylece bir sonraki buyruğun adresini tutmak zorunda kalmayacağız.
2-X ve Y 'yi toplayıp Z'ye yazdık.Öyle değil mi? peki ya X+Y işlemini x veya y register'ına yazamaz mıyız ?Böylece Sonucun adresine de gerek kalmadı...
3-Bu adımda devreye karşımıza ACC (akümülatör) çıkıyor.Bu X ve Y sayılarının bir tanesini orada depolayabiliriz o halde.Elimizde komut satırımız ACC ve X kaldı.Buyruğumuzun son hali budur.
KOMUT-KÜTÜK ADI-İŞLENEN ADRESİ
Günümüzde de sıfır,bir ve iki adresli buyruklar birlikte kullanılmaktadır...
JSP-JAVABEANS
Şimdi yapacağımız örnekte bir java sınıfı oluşturacağız.Sonrada JSP sayfamızda bulundan formda bu verileri çekip java class yardımı ile başka bir JSP sayfasında göstereceğiz.Yani OOP nimetlerinden faydalanacağız...Örneğimizde basit bir HTML form'u,Set ve Get metodları bulunduran bir java class'ı ve çıktıyı JavaBeans ile görüntüleyecek bir JSP sayfası..Şimdi Java class'ımızdan başlayalım...
package paket;
public class beansClass{
String ad;
String soyad;
String telefon;
int yas;
String cinsiyet;
String ulke;
String tecrube;
String meslek;
String adres;
public void setAdres(String deger){
adres=deger;
}
public void setAdi(String deger){
ad=deger;
}
public void setSoyadi(String deger){
soyad=deger;
}
public void setTelefon(String deger){
telefon=deger;
}
public void setCinsiyet(String deger){
cinsiyet=deger;
}
public void setUlke(String deger){
ulke=deger;
}
public void setTecrube(String deger){
tecrube=deger;
}
public void setYas(int deger){
yas=deger;
}
public String getAdi(){ return ad;}
public String getSoyadi(){ return soyad;}
public String getTelefon(){ return telefon;}
public String getCinsiyet(){ return cinsiyet;}
public String getUlke() {return ulke;}
public int getYas(){ return yas;}
public String getTecrube(){ return tecrube;}
public String getAdres() {return adres;}
}
Bahsettiğimiz üzere classmızda set ve get fonksiyonları bulunuyor.Bu fonksiyonlar ile nesnelerimize istediğimiz işlemlerden sonra bir başka JSP sayfasına aktarabilir.Bu gerçekten harika bir özellik öyle değil mi?Neyse devam edelim.Şimdi HTML formumuzu oluşturalım..
<%--
Document : beansJsp
Created on : 21.Şub.2018, 13:54:32
Author : Gökhan
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form method="post" action="formuAlan.jsp">
<table border="2">
<tr>
<td>Adı : </td>
<td><input type="text" name="adi"/></td>
</tr>
<tr>
<td>Soyadı : </td>
<td><input type="text" name="soyadi"/></td>
</tr>
<tr>
<td>Adresi : </td>
<td><textarea name="adres" cols="20" rows="2" id="adres"></textarea></td>
</tr>
<tr>
<td>Telefon : </td>
<td><input type="text" name="telefon"/></td>
</tr>
<tr>
<td>Cinsiyet : </td>
<td>
<input type="radio" name="cinsiyet" value="Erkek" checked/>ERKEK
<input type="radio" name="cinsiyet" value="Bayan"/>BAYAN
</td>
</tr>
<tr>
<td>Ülke : </td>
<td>
<select name="ulke">
<option value="" selected>Lütfen ülkenizi seçiniz...</option>
<option value="Turkiye">TÜRKİYE</option>
<option value="ABD">ABD</option>
<option value="Peru">PERU</option>
<option value="Şili">ŞİLİ</option>
</td>
</select>
</tr>
<tr>
<td>Tecrübe Yılı</td>
<td>
<select name="tecrube"/>
<option value="">Lütfen tecrübe yılınızı seçiniz...</option>
<option value="0-2 YIL">0-2 YIL</option>
<option value="2-5 YIL">2-5 YIL</option>
<option value="5-7 YIL">5-7 YIL</option>
<option value="7+ YIL">7+ YIL</option>
</select>
</td>
</tr>
<tr>
<td>
<input type ="submit" name="gonder" value="DEĞERLERİ GÖNDER"/>
<input type ="reset" name="sil" value="DEĞERLERİ TEMİZLE"/>
</td>
</tr>
</table>
</form>
</body>
</html>
Daha sonra bizi çıktıya yönlendirecek olan bir JSP sayfasını kodlayalım..İşte JavaBeans'in nimetlerinden burada yararlanıyoruz.
<%--
Document : formuAlan
Created on : 21.Şub.2018, 13:55:52
Author : Gökhan
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<jsp:useBean id="paket" type="paket.beansClass" class="paket.beansClass" scope="session" />
<jsp:setProperty name="paket" property="*"/>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
Formu göstermek için tıklayın-->
<a href="beansFormu.jsp">Beans Formunu Göster </a>
</body>
</html>
package paket;
public class beansClass{
String ad;
String soyad;
String telefon;
int yas;
String cinsiyet;
String ulke;
String tecrube;
String meslek;
String adres;
public void setAdres(String deger){
adres=deger;
}
public void setAdi(String deger){
ad=deger;
}
public void setSoyadi(String deger){
soyad=deger;
}
public void setTelefon(String deger){
telefon=deger;
}
public void setCinsiyet(String deger){
cinsiyet=deger;
}
public void setUlke(String deger){
ulke=deger;
}
public void setTecrube(String deger){
tecrube=deger;
}
public void setYas(int deger){
yas=deger;
}
public String getAdi(){ return ad;}
public String getSoyadi(){ return soyad;}
public String getTelefon(){ return telefon;}
public String getCinsiyet(){ return cinsiyet;}
public String getUlke() {return ulke;}
public int getYas(){ return yas;}
public String getTecrube(){ return tecrube;}
public String getAdres() {return adres;}
}
Bahsettiğimiz üzere classmızda set ve get fonksiyonları bulunuyor.Bu fonksiyonlar ile nesnelerimize istediğimiz işlemlerden sonra bir başka JSP sayfasına aktarabilir.Bu gerçekten harika bir özellik öyle değil mi?Neyse devam edelim.Şimdi HTML formumuzu oluşturalım..
<%--
Document : beansJsp
Created on : 21.Şub.2018, 13:54:32
Author : Gökhan
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form method="post" action="formuAlan.jsp">
<table border="2">
<tr>
<td>Adı : </td>
<td><input type="text" name="adi"/></td>
</tr>
<tr>
<td>Soyadı : </td>
<td><input type="text" name="soyadi"/></td>
</tr>
<tr>
<td>Adresi : </td>
<td><textarea name="adres" cols="20" rows="2" id="adres"></textarea></td>
</tr>
<tr>
<td>Telefon : </td>
<td><input type="text" name="telefon"/></td>
</tr>
<tr>
<td>Cinsiyet : </td>
<td>
<input type="radio" name="cinsiyet" value="Erkek" checked/>ERKEK
<input type="radio" name="cinsiyet" value="Bayan"/>BAYAN
</td>
</tr>
<tr>
<td>Ülke : </td>
<td>
<select name="ulke">
<option value="" selected>Lütfen ülkenizi seçiniz...</option>
<option value="Turkiye">TÜRKİYE</option>
<option value="ABD">ABD</option>
<option value="Peru">PERU</option>
<option value="Şili">ŞİLİ</option>
</td>
</select>
</tr>
<tr>
<td>Tecrübe Yılı</td>
<td>
<select name="tecrube"/>
<option value="">Lütfen tecrübe yılınızı seçiniz...</option>
<option value="0-2 YIL">0-2 YIL</option>
<option value="2-5 YIL">2-5 YIL</option>
<option value="5-7 YIL">5-7 YIL</option>
<option value="7+ YIL">7+ YIL</option>
</select>
</td>
</tr>
<tr>
<td>
<input type ="submit" name="gonder" value="DEĞERLERİ GÖNDER"/>
<input type ="reset" name="sil" value="DEĞERLERİ TEMİZLE"/>
</td>
</tr>
</table>
</form>
</body>
</html>
Daha sonra bizi çıktıya yönlendirecek olan bir JSP sayfasını kodlayalım..İşte JavaBeans'in nimetlerinden burada yararlanıyoruz.
<%--
Document : formuAlan
Created on : 21.Şub.2018, 13:55:52
Author : Gökhan
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<jsp:useBean id="paket" type="paket.beansClass" class="paket.beansClass" scope="session" />
<jsp:setProperty name="paket" property="*"/>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
Formu göstermek için tıklayın-->
<a href="beansFormu.jsp">Beans Formunu Göster </a>
</body>
</html>
Kodumuza dikkatli bakacak olursak
useBean ve setProperty bunları kesinlikle java sayfamıza eklememiz gerekiyor.Bunlar bize bean'imizi kullanmamızı sağlıyor..useBean java classımızın yerini setPropert fonksiyonları kullanmamızı sağlıyor..
Ve şimdide son aşama çıktıları görüntüleme aşaması
<%--
Document : beansFormu
Created on : 21.Şub.2018, 14:01:18
Author : Gökhan
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<jsp:useBean id="paket" type="paket.beansClass" class="paket.beansClass" scope="session"/>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<table border="2">
<tr>
<td>Adı : </td>
<td><%= paket.getAdi() %> </td>
</tr>
<tr>
<td>Soyadı : </td>
<td><%= paket.getSoyadi() %> </td>
</tr>
<tr>
<td>Adresi : </td>
<td><%= paket.getAdres() %> </textarea></td>
</tr>
<tr>
<td>Telefon : </td>
<td><%= paket.getTelefon() %> </td>
</tr>
<tr>
<td>Cinsiyet : </td>
<td>
<%= paket.getCinsiyet() %>
</td>
</tr>
<tr>
<td>Ülke : </td>
<td>
<%= paket.getUlke() %>
</td>
</select>
</tr>
<tr>
<td>Tecrübe Yılı</td>
<td>
<%= paket.getTecrube() %>
</td>
</tr>
</table>
</body>
</html>
Benim en sevdiğim aşama.Burada en güzel kod parçası istisnasız <%=paket.getAd() %>
Yani nesnelerimizi çağırdığımız kod parçası bunu seviyorum.Sizlerde seveceksiniz çünkü ileride gerçekten hayatınızı bile kurtarabilecek bir fonksiyon.
İYİ ÇALIŞMALAR
Kaydol:
Kayıtlar (Atom)
Spring Boot Uygulamasını Heroku üzerinde Deploy Etme
Bu yazımızda sizlere spring boot ile yazılmış basit bir Rest api'nin heroku üzerinde nasıl deploy edebileceğimizi göstereceğim. Önce ...
-
Bu yazımda hobi olarak ilgilendiğim bug bounty'i anlatmaya çalışacağım. Daha sonra bu konu üzerinde kendimizi geliştirmek için neler yap...
-
Flip-Flop doğruluk tabloları girişlerin durumuna bağlı olarak çıkışların ne olması gerektiğini anlatan tablolardır. Kısaca bir doğruluk tabl...