Ötelemeli Sezar Şifreleme Yöntemi

Ötelemeli Sezar Şifreleme Yöntemi,

Bu yöntem; girilen cümlenin her karakteri belirtilen öteleme miktarı sonrasındaki karakter ile değiştirilmesiyle yeni cümle oluşturulmasıdır.

Algoritma:

  • Yöntem uygulanacak cümle kullanıcıdan alınır.
  • Öteleme miktarı kullanıcıdan alınır.
  • Girilen cümledeki her karakter için öteleme ayrı ayrı yapılacağı için cümledeki tüm karakterleri gezmek gerekmektedir. Cümlenin boyutu kadar gezen bir döngü oluşturulur.
  • Döngü içerisinde cümlenin o anki karakterinin ascii karşılığı bulunur.
  • Eğer karakter boşluk ise değiştirilmez. Değil ise Ascii karşılığının 3 sonrası alınır. Eğer üç karşılığı harflerden başka karaktere giderse tekrar alfabenin ilk harfine geri dönülür ve öteleme miktarı kadar öteleme yapılır. ( Büyük ve küçük harf için ayrı ayrı yapılır.)

Okumaya devam et Ötelemeli Sezar Şifreleme Yöntemi

Tekrarlanan Sayılar

Algoritma dersinin sınavında karşıma çıkan soru ve çözümü.

Soru: Bir dizi içerisinde sıralı olarak sayılar (Bir sayıdan birden fazla olabilir.) verilmektedir. Bu verilen sayılar içerisinde en çok tekrar eden sayıyı bulunuz. (En çok tekrar eden sayı sadece bir tane olabilir.)

Örnek:

{1, 2, 2, 3, 3, 4, 5, 5, 5, 5, 6} Bu dizi içerisindeki en çok tekrar eden sayı 5’tir. 4 kere tekrar etmiştir.

{1, 2, 2, 3, 3 } // Hatalı. Bir den fazla aynı sayıda tekrar olamaz.(En çok tekrar için) Bu durumda ilk en çok tekrar eden sayı 2 kabul edilebilir.

 

Okumaya devam et Tekrarlanan Sayılar

Gerçek Zamanlı Doğrulama ( Laravel / Livewire )

Bir inputtaki değeri her değişiklik yapıldığında doğrulamak istersek aşağıdaki iki yöntemden biri uygulanabilir.

Daha önceden aşağıdaki kuralların tanımlandığını varsayalım.

    protected $rules = [
        'title' =>  'required|min:6',
        'body'  =>  'required|min:10'
    ];

Tanımlanan kuralları tüm inputlar güncellendiğinde o inputlara kuralları çalıştırmak istersek aşağıdaki gibi yapabiliriz.

public function updated($degiskenAdi) 
{ 
    $this->validateOnly($degiskenAdi); 
} 

Sadece bir inputtaki değişikliği gerçek zamanlı doğrulamak istersek aşağıdaki yöntem uygulanabilir.

    public function updatedTitle($value)
    {
        $this->validateOnly('title');
    }

Marketler İçin Stok Otomasyon Sistemi – Proje Amacı – Bölüm 1

Merhabalar, yıllar önce öğrencilik zamanlarımda yapmış olduğum stok otomasyon sistemini bir yazı serisi olarak paylaşmayı planlıyorum. Paylaştığım bilgiler; eksik ,hatalı ve/veya güncelliğini yitirmiş olabilir aynı zamanda doğru bir yöntem olmayabilir. O yüzden gördüğünüz eksiklikleri bildirirseniz düzeltebiliriz.

Projenin amacına gelirsek,

Küçük işletmelerden büyük işletmelere kadar bir çok market veya tüketiciler tarafından kullanılan her mağaza içinde barındırdığı ürünlerin çeşitlerini, sayısını tutulması önem arz etmektedir. Bunun nedeni gerek işletme tarafından dışarıdan satın alınacak ürünler için bir liste oluşturmasında gerekse işletmenin tüketicilere sattığı ürünlerin sayısını tutmasında kullanılmaktadır. Böylelikle aşırı miktarda ürün almanın ve tüketicilerin aldığı ürün miktarına, çeşidine göre yeniden stoklara sayısı azalan ürünlerin eklenmesinde bize yardımcı olur.

Ürün ekleme, çıkarma, güncelleme, fatura kesme vb. fonksiyonlara yer verilmiştir.

Aynı zamanda bir markette birden fazla çalışan olmasından kaynaklanan kullanıcı girişleri düzenlenmiş admin tarafından ve admin tarafından izin verilmiş kullanıcılar tarafından farklı kullanıcılar eklenip çıkartılabilir hale getirilmiş bu da bize yönetimde kolaylık sağlamıştır.

Güvenlik açısından da admin tarafından veya admini tarafından izin verilmiş kullanıcılara tarafından belirlenen yönetim izinleri sayesinde başka kullanıcıların kendi alanların olmayan yerlere müdahele edebilmesi engellenmiştir.

Slash(Solidüs) Karakterini Ters Çevirme

Örneğin adres yolu: C:\wamp\www\Proje1 olsun. Bazı durumlarda bu adres yolunda bulunan \ (back slash) karakterini / (forward slash) ‘a çevirmek gerekebilir.

Bu çevirme işlemini iki farklı yoldan yapabilirsiniz.

Yöntem 1:

S = "c:\wamp\www\proje";
S = S.replaceAll("\\\\","/");
System.out.println(S);

Yöntem 2:

String s = "c:\wamp\www\proje";
s = s.replaceAll("\t", "/t");
System.out.println(s);

İki yöntemden birini uyguladığınızda ekrana c:/wamp/www/proje yazdırması beklenmektedir.

Laravel Kurulumu – Laravel 5.1 Öğreniyorum (Not 1)

Merhaba arkadaşlar

Bölüm dersim için geliştirmeye başlayacağım proje için Laravel öğrenmem gerekiyor. Ve öğrendiğim bilgileri ileride kontrol etmek için buraya not alıyorum. Tabii bu vesileyle benim notlarıma siz de ulaşabileceksiniz. Şunu belirtmek isterim ki, buraya aldığım notlarda hata veya eksiklikler olabilir. Bu hata ve eksikleri yorum bölümünden bana ulaştırırsanız sevinirim.

Laravel ile geliştirmeye başlamadan önce kurduğum programlar;

Wamp Server – http://www.wampserver.com/en/

Composer – https://getcomposer.org/

Git – http://git-scm.com/

IDE – (Ben netbeans’i kullanacağım – https://netbeans.org/)

Ayrıca Laravel 5.1 ile ilgili dökümantasyonu http://laravel.com/docs/5.1 adresinden bulabilirsiniz.

Şimdi gelelim Laravel kurulumuna;

Öncelikle Laravel kurulumundan önce makinenize Composer kurduğunuza emin olunuz. Kurmadıysan kurunuz. :)

cmd satırından laravel’i kuracağınız dizine gelerek aşağıdaki komutları girelim. (Ben wamp server’in kullandığı dizini kullanacağım yani cmd satırına cd C:\wamp\www yazdım.)

composer create-project laravel/laravel projeDersi --prefer-dist

Bu komutu girdikten sonra gerekli yüklemeleri yapacak.( Biraz zaman alabilir)

Eğer sizde benim gibi aynı klasör ismini(projeDersi) seçtiyseniz http://localhost/projeDersi/public/ adresine girdiğinizde Laravel açılış ekranının sorunsuz görmeniz gerekmektedir.

Proje sayfamıza girdğimizde sonuna public eklemimiz gerekiyor. Bundan kurtulmak tabii ki mümkün.

public klasöründekileri ana dizine taşıyalım. daha sonra index.php’i notdefterinden açıp /../bootstrap.. olan yerleri /bootsrap… olarak değiştirelim.

Daha sonra hata var mı diye kontrol etmek için http://localhost/projeDersi/ tekrar kontrol edelim.

ORACLE Select İfadesi

Önceki notumda, bir tablo oluşturmuştum ve kayıtları girmiştim. O tablo üzerinden notlarıma devam edelim.

SELECT STATEMENT

Select ifadesi veritabanındaki tablo veya tablolarda bulunan kayıtları getirmede kullanılır.

Söz Dizimi

SELECT ifade

FROM tablo(lar);

Söz diziminde SELECT’ten sonra yer alan ifade kısmına biz belli değerler girebiliriz. Girebileceklerimiz sütun isimleri ve bazı hesaplamalar(ileride bakacağız.). Buraya girilen ifade sonuç tablosunda görüntülecek sütunlardır.

tablo(lar) yerine de kayıtlarına ulaşmak istediğimiz tablo veya tablolar yazılabilir.

Örnek bir kod yazalım.

SELECT *
FROM TAKIM;

Bu sorgu bize Takım tablosuna ait tüm sütunları getirir. Peki bunu nasıl anladık?
Okumaya devam et ORACLE Select İfadesi

ORACLE Tablo Yaratma ve Kayıt Girme – Not Bir

Merhaba sevgili not defterim,

Bugün Oracle giriş yapacağız. Nasıl olacak bende bilmiyorum ama bakalım artık. Bende ilk defa Oracle ile karşı karşıyayım. Ama üstesinden geleceğimize inanıyorum. Bunu biliyorum.

Diyeyim ve başlayayım.

Tablo nedir?

– Neyse iğrenç bir espri yapmayacağım.

Tablo içerisinde ilişkisel veriler yer alan, satır ve sütunlardan oluşan.. şey .. ney diyebilirim. Iı bilemedim. Bir küme ? Olabilir mi ? Olabilir galiba. Evet, evet biraz mantıklı geldi. Bir küme. İçerisinde ilişkisel verilerin yer aldığı bir küme.

Ve şimdi bu tabloyu Oracle’da oluşturalım.

Veee bir sess yankılanır..

Tablo oluşturmak.

Team tablosunu oluştur.

Oluştur tablosunu team.

Create table team

Create table team();

Evet..  Şimdi, takım adında bir tablo oluşturalım. Tabloyu oluşturmadan tablo hakkındaki bilgileri toparlayalım. Tablo ismi team olacak dedik. Bu tamam. Tabloda ne vardı, içinde satır ve sütunlar vardı, ve veriler vardı. Verileri satırlar olarak düşünelim. Verileri tablo oluşturduktan sonra gireceğiz. O yüzden ona şimdi değinmemize gerek yok. Bir de sütun diye bir şey var. O ne ? Sütunlarda o tabloya ait özellikler bulunmaktadır. Yani şöyle diyebiliriz. Tablomuzun adı neydi takım. Bir takımın neyi olur, adı olur, kuruluş yılı, olur başkanı olur… Gibi özellikleri olur. Bu özellikleri de ekleceğiz.

Bizim tablomuzun özellikleri şunlar olsun.

-Takıma adı

-Takım bulunuş Yıl

-Takım başkanı

-Takım ülkesi

-Takım şehri olsun.

 

Ve her şeyimiz tamam, gibi.

O zaman tabloları oluşturmaya başlayalım.

Tablo oluşturmak için kullanılan söz dizimi aşağıdaki gibidir.

create table tabloIsmi(

özellik         özellik veritipi,

özellik         özellik veritipi

);

O zaman bizim tablomuz aşağıdaki gibi olur.

create table takim
(
takim_id number(4) primary key,
takim_adi varchar2(40) not null,
takim_kurulusyili date default(sysdate),
takim_baskani varchar2(40),
takim_ulkesi varchar2(40),
takim_sehri varchar2(40)
)

Şimdi girelen koda gire, tablomuzun adının ve özelliklerini ne olduğunu anlayalım.

create table takim

Burada takım adında bir tablo oluştur demekteydi. O zaman bizim tablomuzun adı : TAKIM

takim_id number(4) primary key

Burada takim_id adında bir özelliğimizin bulunduğu ve ondalıklı sayıları tuttuğu ve primary key olduğunu söylemekte.

 

Primary key?? O da ne ..

– Deli Mühendis bey, belki beni özlemişssinizdir. Ben söyleyeyim mi, bunun cevabını..?

Evet. Söyle bakalım neymiş.

-Geçenlerde birisini gördüm yolda yürürken. Saçları sapsarı gözleri masmavi bakışları çokkk güzel. Beni benden almıştı. O kız benim için bir anda dünyada eşi benzeri olmayan biri haline gelmişti. İşte o eşi benzeri olmayan şeyler veritabanında da var. Primary key olarak girdiğimiz özelliklere girilen verilerden aynısını bulamazsınız. Yani aynı değeri iki kere giremezsiniz. Yani bizim tablomuzda takım_id’si sadece 1 adet 1 değerini alabilir. Bir kere 1 girdiniz mi? O değer kayıtlı mı? Onun üzerine bir tane daha 1 koyamazsınız. Çünkü sizin için biri vardır hayatınızda… Ve başkası hayatınıza giremez. En azından o süreçte. Yani o tabloda.  Bir tabloda bir adet primary key olabilir.

 

Evet.. Ama şaşırdım doğrusu, benim böyle anlatımıma sinirleniyordun. Ama sende böyle cevap verdin.. Duygulandım şuan..

-Haha, deli mühendis bey. Ne delisin ya. Tabi ki benim ağzımdan anlatmadım. Senin ağzından anlattım. Yoksa benim öyle olabilme ihtimalim var mı ? Hahaha. Çok komiksin.

Neyse dersimize devam edelim. Evet aynen dediği gibi..

Bir diğerine bakalım. Şimdi de.

takim_adi varchar2(40) not null,

-sütun işmi takim_adi.

varchar2 .. Bu ise içine karakterlerin girilebileceği anlamına gelmektedir. Buna varchar2 ye number’a veri tipi denmekte. Diğer veri tipleri hakkında bilgileri aşağıda bulabilirsiniz. Yani öyle umut ediyorum bende. Bir aksilik çıkmazsa.

varchar2den sonra gelen not null ise. Bu sütuna veri girmemeyi mi düşündün ? Bence bunu aklından bile geçirmemelisin bir trip atar, ağlar, sızlar ama sana o veriyi girdirtmeyi sağlar..

Yani onu boş bırakamazsın..

Evet. Tablonun diğer sütunlarını tanıtmama gerek yok herhalde onlar size kendini belli eder, diye düşünmekteyim. Olmadı aşağıda yorum alanı.

O zaman diğer veri tiplerine bakalım.

CHAR(Uzunluk)  – İçerisine belirtilen uzunluk kadar veri girilmesini isteyen bir veri tipi. Bakın ne dedim o uzunluk kadar ha az mı girdin yok kabul edemez koyar senin koymadığın kadar karakter yerine bir boşluk.

Yani ne mi dedim?

char(7) diye tanımladın ve içerisinde “deli” girdin yok olur mu eksik girdin ben bunu kabul edemem ve sonuna üç boşluk koyarım der. “deli   ” yapar.

date – içerisinde adından anlaşılacağı üzeri zamanı tutar.

varchar2 – İçerisinde karakter türündeki verileri saklamaktadır.

Daha fazla veri tipi için; DATA TYPES

 

Evet tablomuzu oluşturmuştuk. Şimdi tabloya bir kaç veri girelim de. Tablomuz kendisiyle baş başa kalmasın. Değil mi ?

– Vuhuuuuuu..

– Dememizi mi bekliyorsun ?

… Kayıtları ekleyelim, o zaman. Kayıt eklemek için

insert into tabloIsmi(özellikler)

values(özellikleri girilecek değer) kullanılır. Yani;

insert into takim (takim_id, takim_adi, takim_kurulusyili, takim_baskani, takim_ulkesi, takim_sehri)
values ('1', 'Akhisar Bld.', '08/05/1970', 'Hüseyin Eryüksel', 'Türkiye', 'Manisa');


INSERT INTO TAKIM (TAKIM_ID, TAKIM_ADI, TAKIM_KURULUSYILI, TAKIM_BASKANI, TAKIM_ULKESI, TAKIM_SEHRI) VALUES ('2', 'Balıkesirspor', '06/06/1966', 'Tuna Öztürk', 'Türkiye', 'Balıkesir');
INSERT INTO TAKIM (TAKIM_ID, TAKIM_ADI, TAKIM_KURULUSYILI, TAKIM_BASKANI, TAKIM_ULKESI, TAKIM_SEHRI) VALUES ('3', 'Beşiktaş', '01/03/1903', 'Fikret Orman', 'Türkiye', 'İstanbul');
INSERT INTO TAKIM (TAKIM_ID, TAKIM_ADI, TAKIM_KURULUSYILI, TAKIM_BASKANI, TAKIM_ULKESI, TAKIM_SEHRI) VALUES ('4', 'Bursaspor', '01/06/1963', 'Recep Bölükbaşı', 'Türkiye', 'Bursa');
INSERT INTO TAKIM (TAKIM_ID, TAKIM_ADI, TAKIM_KURULUSYILI, TAKIM_BASKANI, TAKIM_ULKESI, TAKIM_SEHRI) VALUES ('5', 'Erciyesspor', '01/01/1932', 'Ziya Eren', 'Türkiye', 'Kayseri');
INSERT INTO TAKIM (TAKIM_ID, TAKIM_ADI, TAKIM_KURULUSYILI, TAKIM_BASKANI, TAKIM_ULKESI, TAKIM_SEHRI) VALUES ('6', 'Eskişehirspor', '19/06/1945', 'Mesut Hoşcan', 'Türkiye', 'Eskişehir');
INSERT INTO TAKIM (TAKIM_ID, TAKIM_ADI, TAKIM_KURULUSYILI, TAKIM_BASKANI, TAKIM_ULKESI, TAKIM_SEHRI) VALUES ('7', 'Fenerbahçe', '03/05/1907', 'Aziz Yıldırım', 'Türkiye', 'İstanbul');
INSERT INTO TAKIM (TAKIM_ID, TAKIM_ADI, TAKIM_KURULUSYILI, TAKIM_BASKANI, TAKIM_ULKESI, TAKIM_SEHRI) VALUES ('8', 'Galatasaray', '20/10/1905', 'Duygun Yarsuvat', 'Türkiye', 'İstanbul');
INSERT INTO TAKIM (TAKIM_ID, TAKIM_ADI, TAKIM_KURULUSYILI, TAKIM_BASKANI, TAKIM_ULKESI, TAKIM_SEHRI) VALUES ('9', 'Gaziantepspor', '25/02/1969', 'İbrahim Halil Kızıl', 'Türkiye', 'Gaziantep');
INSERT INTO TAKIM (TAKIM_ID, TAKIM_ADI, TAKIM_KURULUSYILI, TAKIM_BASKANI, TAKIM_ULKESI, TAKIM_SEHRI) VALUES ('10', 'Gençlerbirliği', '14/03/1923', 'İlhan Cavcav', 'Türkiye', 'Ankara');
INSERT INTO TAKIM (TAKIM_ID, TAKIM_ADI, TAKIM_KURULUSYILI, TAKIM_BASKANI, TAKIM_ULKESI, TAKIM_SEHRI) VALUES ('11', 'İstanbul Başakşehir', '15/06/1990', 'Göksel Gümüşdağ', 'Türkiye', 'İstanbul');
INSERT INTO TAKIM (TAKIM_ID, TAKIM_ADI, TAKIM_KURULUSYILI, TAKIM_BASKANI, TAKIM_ULKESI, TAKIM_SEHRI) VALUES ('12', 'Karabükspor', '01/01/1969', 'Mustafa Yolbulan', 'Türkiye', 'Karabük');
INSERT INTO TAKIM (TAKIM_ID, TAKIM_ADI, TAKIM_KURULUSYILI, TAKIM_BASKANI, TAKIM_ULKESI, TAKIM_SEHRI) VALUES ('13', 'Kasımpaşa', '01/01/1921', 'Zafer Yıldırım', 'Türkiye', 'İstanbul');
INSERT INTO TAKIM (TAKIM_ID, TAKIM_ADI, TAKIM_KURULUSYILI, TAKIM_BASKANI, TAKIM_ULKESI, TAKIM_SEHRI) VALUES ('14', 'Konyaspor', '01/01/1981', 'Ahmet Şan', 'Türkiye', 'Konya');
INSERT INTO TAKIM (TAKIM_ID, TAKIM_ADI, TAKIM_KURULUSYILI, TAKIM_BASKANI, TAKIM_ULKESI, TAKIM_SEHRI) VALUES ('15', 'Mersin İ.Yurdu', '16/08/1925', 'Ali Kahramanlı', 'Türkiye', 'Mersin');
INSERT INTO TAKIM (TAKIM_ID, TAKIM_ADI, TAKIM_KURULUSYILI, TAKIM_BASKANI, TAKIM_ULKESI, TAKIM_SEHRI) VALUES ('16', 'Rizespor', '19/05/1953', 'Metin Kalkavan', 'Türkiye', 'Rize');
INSERT INTO TAKIM (TAKIM_ID, TAKIM_ADI, TAKIM_KURULUSYILI, TAKIM_BASKANI, TAKIM_ULKESI, TAKIM_SEHRI) VALUES ('17', 'Sivasspor', '09/05/1967', 'Mecnun Otyakmaz', 'Türkiye', 'Sivas');
INSERT INTO TAKIM (TAKIM_ID, TAKIM_ADI, TAKIM_KURULUSYILI, TAKIM_BASKANI, TAKIM_ULKESI, TAKIM_SEHRI) VALUES ('18', 'Trabzonspor', '02/08/1967', 'İbrahim Hacıosmanoğlu', 'Türkiye', 'Trabzon');

 

PHP’yi Kim Delirtti Eğitim Seti

Veee oooo deli ütopyasının en iyi kodlayıcısı. Ki onun karşısında tüm deli ütopyasının koderları tir tir titremekte.

Oooo DELİ MÜHENDİS BEY.

Deli Ütopyasını herkese anlatmak ve deli ütopyasının bilgi seviyesini yükseltmek için bu eğitim setini hazırladı. Okumaya devam et PHP’yi Kim Delirtti Eğitim Seti

Bunlar hep Php için (For Döngüsü) – Not On Bir

S. O. S Aman Hocam yardım hocam kurban olam. S.O.S hipotenüs……….S.O. Amino asitler….. UML. Use Case.. Uçak ateş açtı. 20 canı kaldı.. Off manitayı çaldırlar. Suyum bitti. Gel su alalım.

Ve beyin uzaklaşak gider…

Neyse. Notumuza devam edelim.

Diyelim ki 1 den 100 a kadar. 1 den başlayarak 3’er artıra arttıra sayıları söylememiz istenilsin. Bunu php ile kodlamaya çalışalım. Okumaya devam et Bunlar hep Php için (For Döngüsü) – Not On Bir