T-SQL TABLO OLUŞTURMA DML DDL DCL KOMUTLARI

use ISTEKutuphane
GO
CREATE TABLE OduncAl(
YapilanIslemSayisi INT IDENTITY(1,1),
ISTE_no int PRIMARY KEY NOT NULL,
Ad varchar(25) NOT NULL,
Soyad varchar(25) NOT NULL,
AlinanKitapNo int NOT NULL,
AlisTarihi date NOT NULL,
SonIadeTarihi date NOT NULL,
Ceza bit NOT NULL,
KitapYorumu varchar(300) NULL
)
GO
/*ALTER DATABASE ISTEKutuphane
MODIFY FILE
(
NAME=Kitaplik,
SIZE=250MB
);
*/
ALTER TABLE OduncAl --TABLOMUZA SÜTUN EKLEDİK...
ADD
CezaSuresi int DEFAULT(0)

ALTER TABLE OduncAl --TABLOMUZA SÜTUN EKLEDİK...
ADD
CezaSuresiSilinecek int DEFAULT(0)
SELECT *FROM OduncAl
--DROP TABLE OduncAl tablomuzu siler

INSERT INTO OduncAl VALUES(10101,'Gokhan','Guzelkokar',143,'2018-01-06','2018-01-26',0,NULL,NULL,NULL)
INSERT INTO OduncAl VALUES(10105,'Hasan','Selvi',123,'2018-01-06','2018-01-26',0,NULL,NULL,NULL)
INSERT INTO OduncAl VALUES(10145,'Selen','Bakmaz',132,'2018-01-07','2018-01-27',0,NULL,NULL,NULL)
INSERT INTO OduncAl VALUES(10112,'Merve','Soylu',42,'2018-01-06','2018-01-26',0,NULL,NULL,NULL)
INSERT INTO OduncAl VALUES(10162,'Şinasi','Şaşmaz',53,'2018-01-01','2018-01-21',0,NULL,NULL,NULL)
INSERT INTO OduncAl VALUES(10117,'Tahir','Gürsoy',35,'2018-01-06','2018-01-26',0,NULL,NULL,NULL)

--TABLOMUZA VERİLERİMİZİ EKLEDİK

UPDATE OduncAl SET Ceza=1,CezaSuresi=10
WHERE ISTE_no=10101 --GUNCELLEME YAPTIK

/*CREATE LOGIN ISTEKutuphane WITH PASSWORD='LOGIN_SIFRESI'
CREATE USER KutuphaneUser FOR LOGIN ISTEKutuphane;
VERİTABANIMIZA DIŞARIDAN ERİŞEBİLMEK İÇİN

YETKİLENDİRME
GRANT ALL TO KutuphaneUser
GRANT CREATE TABLE TO KutuphaneUser --TABLO YARATMA YETKİSİ
AYNI ŞEKİLDE
DENY CREATE TABLE TABLO OLUŞTURMA YETKİSİNİ KALDIRMA
REVOKE ALL TO PUBLİC --PUBLİC'E VERİLEN TÜM YETKİLERİ KALDIRMA
*/

T-SQL İLE VERİTABANI OLUŞTURMA

CREATE DATABASE ISTEKutuphane
ON PRIMARY --Bu veritabanına ait birincil d
osya grubumuz
(
NAME='Kitaplik',--DOSYAMIZIN ADI
FILENAME='C:\ISTE\Kitaplik.mdf',--DOSYAMIZIN FİZİKSEL ADI
SIZE=15MB,--VERİTABANI BOYUTU
MAXSIZE=30MB,--MAX VERİTABANI BOYUTU
FILEGROWTH=5MB --VERİTABANIMIZIN GENİŞLETİLMESİ GEREKİYORSA 5 ER MB GENİŞLETİLİR
)
LOG ON
(
NAME='ISTELog',
FILENAME='C:\ISTE\Log.ldf',
SIZE=2048KB,
MAXSIZE=500GB,
FILEGROWTH=5MB
)
EXEC sp_helpdb ISTEKutuphane

PHP İLE CAPTCHA YAPIMI

<!--captcha.php -->
<?php
session_start();
$letters=array("a","b","c");
$randomselect=rand(0,2);
$random=rand(10000000,90000000);
$text=$letters[$randomselect].$random;
$_SESSION["captcha"]=$text;
$pic=imagecreatetruecolor(100,30);
$backgroucolor=imagecolorallocate($pic,55,55,55);
$fontcolor=imagecolorallocate($pic,35,255,155);
imagefill($pic,0,0,$backgroucolor);
imagestring($pic,5,5,5,$text,$fontcolor);
header("Cache-Control:no-cache");
header("Content-type:image/png");
imagepng($pic);
imagedestroy($pic);

?>
---------------------------------------------------------------------------
<!-- index.php -->
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form action="dogrula.php" method="POST">
<table border="3">
<tr>
<td>
Please enter in the picture
</td>
<td>
<input type="text" name="captcha">
</td>
</tr>
<tr>
<td colpan="2">
<img src="captcha.php">
</td>
<td>
<input type="submit" name="submit" value="GIRIS">
</td>
</tr>
</table>
</body>
</html>
----------------------------------------------------------------------------------------------------
<!--dogrula.php-->
<?php 
session_start();
if(isset($_REQUEST["captcha"] && $_REQUEST["captcha"]!=""
&& $_SESSION["captcha"]=$_REQUEST["captcha"]){
echo "TRUE";
}
else 
echo "FALSE";
?>

MERKEZ BANKASINDAN ANLIK ALINAN DOLAR KURU İLE TL DÖNÜŞÜMÜ YAPAN PHP PROGRAMI

<!--cek.php -->

<!--Burada merkez bankasından sadece doları çekmek için bir dizi oluşturup o diziye foreach ile ayırdığımız dizinin ilk satırını atıp kullandık...-->

<?php

$linkdolar="http://www.tcmb.gov.tr/kurlar/today.xml";



$data = new SimpleXMLElement($linkdolar,0,true);

$dizi=array();

$dolaralis=array();

foreach ($data as $value)

 {

  array_push($dizi,$value->Isim);

  array_push($dolaralis,$value->ForexSelling);

 }

?>

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

<!-- MerkezBankasi.php -->

<?php

function getir($key){

 if(isset($_POST[$key]) && strlen($_POST[$key])>0)



  return $_POST[$key];

   return false;

}

$dolartl = "";

$miktar = "";

$sonuc = "";

  if(count($_POST)==4)

  {

   $dolartl = getir("dolartl");

 

   $miktar = getir("miktar");

   $secim1 = getir("secim1");

   $secim2 = getir("secim2");

 

   if (!($dolartl  && $miktar && $secim1 && $secim2)) {

   $sonuc="veri girisi hatali";

   }

  else

    {

          if($secim1!=$secim2)

          {

              include "kur.php";

              $kur = new kur($dolartl);

              $tip=$secim1.$secim2;

              $deger=$kur->donustur($tip,$miktar);

              $sonuc=$miktar." ".$secim1."<br>";

              $sonuc.=$deger." ".$secim2;

          }

          else

              $sonuc="secimler ayni!";

    }

  }

?>

<html>

 <head>

  <meta charset="UTF-8">

 </head>

 <body>

  <form method="POST">

   <table border="3">

   <tr>

   <?php include "Cek.php"; ?>

    <td>Dolar</td>

    <td><input type="text" name="dolartl" value="<?php echo $dolaralis[0]; ?>"> </td>

   </tr>

   <tr><td colspan="2"><br></td></tr>

   <tr>

    <td>Miktar:</td>

    <td><input type="text" name="miktar" value="<?php echo $miktar; ?>"></td>

   </tr>

   <tr>

            <td>

                Seçim-1:

            </td>

            <td>

                <input type="radio" name="secim1" value="TL" checked>TL

                <input type="radio" name="secim1" value="$">USD

            </td>

        </tr>

        <tr>

            <td>

                Seçim-2:

            </td>

            <td>

                <input type="radio" name="secim2" value="TL" checked>TL

                <input type="radio" name="secim2" value="$">USD

            </td>

        </tr>

  <?php

        if (strlen($sonuc) > 0)

            echo "<tr><td colspan='2' style='text-align: center;  color: #ff6144;'>" . $sonuc . "</td></tr>";

        ?>

  <tr><td colspan="2" style=text-align:center><input type="submit" value="Cevir"></td></tr>

  </table>

  </form>

 </body>

</html>

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

<!-- kur.php -->



<?php

class kur

{

    public $dolartl;

    public function __construct($dolartl)

    {

        $this->dolartl=$dolartl;



    }

    public function donustur($tip,$miktar)

    {

        switch ($tip)

        {

            case "TL$": return $this->tl2dolar($miktar);

            case "\$TL": return $this->dolar2tl($miktar);

            default: return "Seçimler Uygun Değil!";

        }

    }

    public function tl2dolar($miktar)

    {

        $sonuc=$miktar/$this->dolartl;

        return round($sonuc,2);

    }



    public function dolar2tl($miktar)

    {

        $sonuc=$miktar*$this->dolartl;

        return round($sonuc,2);

    }

}

?>

İŞLETİM SİSTEMLERİ-ÖNEMLİ NOTLAR -1-

ÇOK DÜZEYLİ KUYRUKLAR

1-Bellek büyüklüğü önceliği ve proses türüne göre birbirinden farklı her işlem için ayrı bir hazır kuyruğu bulunmaktadır.

2-Prosesler bu bilgilere göre kalıcı olarak bir kuyruğa atanmaktadır.

3-Her kuyruğun kendine ait bir iş sıralama algoritması bulunur.

ÇOK DÜZEYLİ GERİ BESLEMELİ KUYRUKLAR

1-Prosesler işlemci kullanımlarına kuyruklara yerleşir

2-Her işlemci kullanımında diğre kuyruğa alınır

3-Çok düzeyli kuyrukta işlemler FIFO ile dönüşümlü sıralamanın hibrit yapısı gibidir.

PETRI NETLER

1-Bilgi akışında sistemlerin kontrollerinde ve aynı anda gerçekleşen aktivitelerin olduğu sistemlerin analizinde de ölümcül kilitlenmenin sezilmesi ve giderilmesi için uygulanana yöntemdir.

ÖLÜMCÜL KİLİTLENME

1-Çok prosesli ortamlarda prosesler bellek alanı cpu kullanımı dosyalar giriş çıkış birimlerigibi sonlu sayıdaki kaynaklar için yarışırlar.Bir proses kaynak alamadığında bekleme durumuna geçer.Kaynağı elinde bulunduran diğer proseste bekleme durumunda olabilir.Bu durumda kaynağı bırakamaz ve kaynağı bekleyen proses bekleme durumunda kalır.Yani ölümcül kilitlenme kaynakları paylaşan ve haberleşen proseslerin sonsuza kadar bekleme durumunda kalıp bloke olmasıdır.
Prosesler elindeki kaynakları bırakmadan başka kaynak isterlerse ölümcül kilitlenmeye neden olabilirler.

BİR İPLİK OLUŞTURUP 1 SN SONRA SIGKILL SİNYALİNİ GÖNDERECEK C++ PROGRAMI

#include <iostream>
#include <signal.h>
using namespace std;

void *iplik_islemi( )
{
    while(1)
         cout<<"BEN İPLİK"<<endl;

}
int main( ){
     pthread_t iplik;
     pthread_create(&iplik,NULL,iplik_islemi,NULL);
     sleep(1);
     pthread_kill(iplik,SIGKILL);
     pthread_join(iplik,NULL);



}

KENDİSİNE kill( ) SİSTEM ÇAĞRISIYLA SIGKILL KOMUTUNU GÖNDERİP SONLANAN C++ PROGRAMI

#include <iostream>
#include <signal.h>
using namespace std;

int main( ){
    kill(getpid( ),SIGKILL);
    cout<<"SİNYAL GÖNDERİLDİ..."<<endl;


}

SIGINT İLE CTRL+C KOMUTUNU YAKALAMAK (C++,İSLETİM SİSTEMLERİ)

#include <iostream>
#include <stdlib.h>
#include <signal.h>
#include <windows.h>
using namespace std;
void Sinyal_Yakala(){
    cout<<"Sinyal Yakalandi..."<<endl;
}

int main()
{
    while(true){
    if( signal(SIGINT,Sinyal_Yakala)==SIG_ERR)
cout<<"Sinyal Yakalanamadı..."<<endl;

}
}

BİR İPLİK OLUŞTURAN VE BU İPLİĞİN SONLANMASINI pthread_join( ) SİSTEM ÇAĞRISIYLA BEKLEYEN İPLİK(C++,İSLETİM SİSTEMLERİ)

#include <iostream>
#include <pthread.h>
using namespace std;
void *iplik_islemi(){
    Cout<<"Iplik"<<endl;
}
int main() {
    pthread_t iplik;
    pthread_create(&iplik,NULL,iplik_islemi,NULL);
    cout<<"İpliğin sonlanmasını bekle"<<endl;
    pthread_join(iplik,NULL);
    cout<<"İplik Sonlandı";

}

wait( ) Sistem Çağrısı İle Çocuk Prosesi Bekleme (C++,İSLETİM SİSTEMLERİ)

#include <iostream>
#include <sys/types.h>
#include <sys/wait.h>
using namespace std;

int main( ){
   pid_t pid;
   int statu; //Çocuk prosesin sonlanma değeri
   pid= fork( );
   if(pid==0)
      cout<<"Ben Cocuk Proses"<<endl;
   else
      {
       cout<<"Ben Anne Proses Bekledim..."<<endl;
       wait(&statu);
}


}

clone( ) Çağrısı İle Yeni Proses Oluşturma (C++,İSLETİM SİSTEMLERİ,LİNUX)

#include <sched.h>
#include <stdlib.h>
#include <stdio.h>
#include <malloc.h>

#define STACK_SIZE 1024

int new_process (){
    cout<<"My new process..."<<endl;
    return 1;
}
int main( )
{
    int pid;
    void *stack; //Cocuk prosesin yığın işaretçisi
    stack=malloc(STACK_SIZE); //Bellek alanı alma
    if(stack==0){
       cout<<"Bellek tahsis hatasi"<<endl;
       exit(1);
    }
pid=clone(&new_process,(char*) stack+STACK_SIZE,0,0);//clone-->>İle yeni proses oluşturuldu...
pid=waitpid(pid,NULL,0);//Wait a child process
cout<<"CHILD PROCESS ENDED..."<<endl;
free(stack); //Belleği Bırak

}

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 ...