Kategoriler

PHP ile Hex Renk Kodunun Doğruluğunu Kontrol Etmek

7 yorum

Yakın zamanda hazırladığım filmzeo.com adlı projemde, kullanıcıların renkleri kendileri seçmesi için bir servis hazırladım. Dışarıdan hex değeri alıyor buna göre renklendiriyor. Ancak sadece hex kodu girmeleri gerekiyordu, örneğin “red” ya da renkle alakasız değerler girdiklerinde css’de sorunlara yol açıyordu. Bunun önüne geçmek için girilen renk değerinin hex olup olmadığını doğrulamam gerekiyordu. Ufak bir araştırma sonucunda ise aşağıdaki kodlar ile doğrulama işlemi yaptım. Birgün size de lazım olabilir diye paylaşıyorum.

$color = 'fa6582';
if (ctype_xdigit($color) && (strlen($color) == 6 || strlen($color) == 3)){
   echo 'geçerli hex renk kodu';
} else {
   echo 'geçersiz bir hex kodu';
}

kolay gelsin 🙂

Konuyu görmek için tıklayın

PHP ile Bir Dosyanın Karakter Kodlamasını Öğrenmek

yorum yok

Geçenlerde altyazıları yüklerken aklıma takıldı. Bazı altyazılar UTF-8, bazıları ise ISO-8859-9. Bu yüzden yazdığım kodlar birini düzgün gösterirken diğerini göstermiyordu. Bu yüzden dosyanın hangi karakter kodlamasına ait olduğunu öğrenmem gerekiyordu. Ve şöyle bir kod yazdım;

$open = file_get_contents('test.srt');
$enc = mb_detect_encoding($open, mb_list_encodings(), true);

echo $enc; // örnek çıktı: UTF-8 ya da ISO-8859-9

Peki bunu bulmak benim ne işime yaradı? Bu sayede header ile karakter setini belirleyebildim şu şekilde;

if ($enc == "UTF-8") {
    header('Content-type: text/vtt; charset=utf8');
} else {
    header('Content-type: text/vtt; charset=iso-8859-9');
}

Buda karakter problemlerimi çözmüş oldu. Bir gün böyle bir hata ile karşılaşırsanız artık çözümünü biliyorsunuz, kolay gelsin.

Konuyu görmek için tıklayın

PHP cURL ile JSON Data Göndermek

2 yorum

Bazen API’ler sizden json data göndermenizi isteyebiliyor, bu gibi durumda cURL ile post işleminde ufak birkaç eklemek yapmak gerekiyor. İlgili kod parçacağına aşağıdan bakabilirsiniz. Ayrıca post edilen yerde alma yöntemi de biraz farklı, onuda 2. kısımda bulabilirsiniz 🙂

$data = array("name" => "Tayfun", "age" => "24");                                                                    
$data_string = json_encode($data);                                                                                   
                                                                                                                     
$ch = curl_init('http://localhost/b.php');                                                                      
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: application/json',                                                                                
    'Content-Length: ' . strlen($data_string))                                                                       
);                                                                                                                   
                                                                                                                     
$result = curl_exec($ch);

echo $result;

isteği yaptığımız b.php’de ise json data’yı $_POST ile almaktan biraz daha farklı alıyoruz. Oda şöyle;

$posts = file_get_contents('php://input');
$jsonData = json_decode($posts, true);
print_r($jsonData);

Kolay gelsin 🙂

Konuyu görmek için tıklayın

Malta’da 1. yılım

12 yorum

Bundan 1 sene önce Malta’ya yerleştim. Koca bir sene geçmiş, ama bana çok kısa bir zaman gibi geliyor hala. Daha dün gibi aklımda, gelmeden önce yaptıklarım..

Tabi herkes gibi kanat resmi paylaşarak ülkeyi terk ettim 😀

Konuyu görmek için tıklayın

Eksik olan şeyi bul!

5 yorum

Biliyorum, hayat her zaman güzel geçmiyor, günler bazen çok uzun bazen çok kısa. Bazen çok anlamlı, bazen anlam ararcasına..
Ancak sana düşen şey çok açık ve net, eksik olan parçayı bul ve yerine koy. Böylece kendini yeniden doğmuş hissedeceksin, ya da aslında zaten böyle olduğunu ama uzun zamandır bu kısmını hatırlamadığını fark edeceksin. Belki birileri fark ettirecek, belki sen kendin başaracaksın bunu.

İster birinin yardımıyla, istersen kendi başına olsun. Bu başlı başına bir başarı olacak hayatında.
Şimdi yapman gereken şeyi anladın, eksik olan şeyi bul ve yerine koy!

Biliyorum yapabilirsin!

Sivaslı dedemin de söylediği gibi;
“If you really believe yourself enough, you can do it everything that you want!”
Yani “Kendine yeterince inanırsan, istediğin her şeyi yapabilirsin!”

Konuyu görmek için tıklayın

CSS Flex ile Sticky Footer Yapmak

3 yorum

Bu dersimde son zamanlarda sıkça kullandığım css’in flex özelliğini kullanarak sticky (yapışkan) footer yapımını göstermek istiyorum. Temel anlamda aslında kodlarım şunlardan ibaret;

<body>
<div class="header">header</div>
<div class="content">content</div>
<div class="footer">footer</div>
</body>

<style>
body {
   height: 100%;
   display: flex;
   flex-direction: column;
}
.content {
   flex: 1;
}
</style>

Daha detaylı görmek isterseniz aşağıdaki örneği inceleyebilirsiniz;

See the Pen Sticky footer with CSS Flex – Erbilen.net by Tayfun Erbilen (@tayfunerbilen) on CodePen.

Konuyu görmek için tıklayın

CSS :nth-child() Örnekleri

8 yorum

Daha önce mutlaka :nth-child() filtresini kullanmışsınızdır css yazarken. Ancak bu filtrenin bazı güzel ipuçları var, işimize yarayacak. Bu yazıda size hızlıca bunları göstermek istiyorum. Önce basit bir html yapısı kuralım;

<ul>
  <li>kutu 1</li>
  <li>kutu 2</li>
  <li>kutu 3</li>
  <li>kutu 4</li>
  <li>kutu 5</li>
  <li>kutu 6</li>
  <li>kutu 7</li>
  <li>kutu 8</li>
  <li>kutu 9</li>
  <li>kutu 10</li>
</ul>

<style>
ul, li {
  list-style: none;
  margin: 0;
  padding: 0;
}
ul {
  overflow: hidden;
}
ul li {
  list-style: none;
  float: left;
  width: 100px;
  height: 100px;
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
  border: 1px solid #ccc;
}
</style>

Şimdi gelelim örneklerimize..

İlk 5’i seçmek (:nth-child(-n+5))

Burada 5 yerine kaç yazarsanız ilk o kadarı seçilecektir.

ul li:nth-child(-n+5) {
   background-color: yellow;
}

Son 5’i seçmek (:nth-child(n+6))

Burada dikkat etmeniz gereken son kaçı seçecekseniz her zaman bir fazlasını yazmanız.

ul li:nth-child(n+6) {
   background-color: yellow;
}

3 ile 8 aralığındakileri seçmek (:nth-child(n+3):nth-child(-n+8))

ul li:nth-child(n+3):nth-child(-n+8) {
   background-color: yellow;
}

3’er 3’er seçmek (:nth-child(3n))

Ayrıca odd ve even ile de kullanımı var. Her ikisini de aşağıda gösteriyorum.

ul li:nth-child(3n) {
   background-color: yellow;
}


Her 3’ü ama sadece çift olanlar olsun istersek. Yani her 3’ü seçecek ama çift olan 6. oluyor. Dolayısı ile 3. yü atlayacak 6’yı seçecek 9. yu atlayacak 12’yi seçecek.

ul li:nth-child(3n):nth-child(even) {
   background-color: yellow;
}


Tam tersinde ise tekleri seçecek. Yani 3’ü seçecek 6’yı atlayacak 9’u seçecek…

ul li:nth-child(3n):nth-child(odd) {
   background-color: yellow;
}

4. den başlayıp 3’er 3’er seçmek (:nth-child(3n+4))

Burada eğer 2. den başlayıp 4’er 4’er seçmesini isterseniz 4n+2 demeniz yeterli 🙂

ul li:nth-child(3n+4) {
   background-color: yellow;
}

Daha fazla örnek görmek isterseniz, şuraya bir gözatın: http://nthmaster.com/

Konuyu görmek için tıklayın

Malta’da Yaşamak

16 yorum

Malta’ya yerleşeli neredeyse 1 yıl olacak (27 Mart 2016’dan beri…) Ve tabi ki buraya gelme düşüncesi olan kişiler için biraz yol gösterici nitelikte bir yazı paylaşmak istiyorum.Diyelim ki Malta’ya yerleşmeye karar verdiniz. İş olaylarını vs. bir şekilde hallettiğinizi düşünerek yazıyorum bu yazımı. Eğer iş arayanlar var ise şu yazıma bakabilirler 🙂

Öncelikle genel yaşam ve fiyatlarından bahsedelim.

Ev Kiraları
Kiracı olmak Malta’da ki en kötü şeylerden biri. Bir kere bütün evleri eşyalı kiralıyorsunuz, kira sözleşmeleri genelde 6 ay ve ya 1 yıllık oluyor ve verdiğiniz depozitoyu alabildiğiniz hiç görmedim bugüne kadar. O yüzden tutacağınız evi çok iyi seçin, bunun yazı var, kışı var. Yazın çok sıcak, kışın çok soğuk evler bolca mevcut. Rutubet deseniz genel olarak her yerde var, ve genel olarak Eski evler olduğu için daha çok yeni yapılan evleri tercih etmek isteyebilirsiniz. Penthouse’lar güzel oluyor, ama terası olan büyük evlerde tercih edilebilir. Ev eşyalı olduğu için hiçbir zaman kendi eviniz gibi hissedemeyeceksini, diyelim ki bir değişiklik yaptınız, mesela duvarı boyadınız, çıkarken ev sahibiniz size kene gibi yapışır. Eskisinden çok daha güzel ve farklı bir şey bile olsa, eski kötü haline geri getirmenizi ister vs.. Ayrıca girerken size bir liste imzalatacaklar, evdeki eşyalara dair. Mutlaka iyice kontrol edin, sonra evden çıkarken 30inç’lik tavma eksik diyebiliyorlar 😀 Bizzat başıma geldi, sanki Tava’yı alıp içime soktum, nasıl fantezim varsa artık..

Ortalama kira fiyatları ise Hassiktir be rıfat abi dedirtecek durumda. Tabi ki Avrupa ülkesi olduğu için lütfen euro’yu TL ile çarpıp kendinize fenalık geçirtmeyin 🙂

Ortalama 1 + 1 ev fiyatları (eşyalı tabi ki) genelde 550-650€ arasında değişiyor. Ancak benim tuttuğum 1 + 1 bok gibi olan evim 740 € kirası vardı. Bu 550€’luk evlerde genelde Klima bulunmaz, evet Klimalı olanlar genelde 600-700€ arasında ki evler, ama şansınız yaver giderse yani Malta’da birisi sizi dürtmeye kalkmazsa belki güzel bir tane bulabilirsiniz. Bulamıyor musunuz? Tayfun Emlak burada, gelince arayın beni.

Ha ayrıca kesenize göre 5000€’ya kadar evler mevcut, hodri meydan.

Yemek ve İçecekler Hakkında
Bir kere Malta’lıların kendilerine  has bir yemek kültürleri falan yok. Genel ağırlıklı italyan restoranları mevcut, fast food yerleri fazlasıyla var. Ancak nedense starbucks yok.. Üzgünüm starbucks kısları 🙁 Onun dışında Türk restoranları da var tabi. Mesela bi İstanbul kebab house var, Türkiye’de yemedim ben öyle lessetli Lahmacun’u. Burada herkes lahmacuna Turkish Pizza desede, özünde ne olduğunu biz biliyoruz, yemezler 😀

Gelelim fiyatlara. Kafayı yemeye hazır mıyız?

Geçenlerde ofise 40 lahmacun, 10 ayran sipariş verdik. Fiyat ortalama 130€ falan tuttu. Yani TL’ye çarparsan 520 TL falan. Türkiye’de aynı şeyleri max. 150 TL’ye yerdiniz. Yani hayat biraz pahalı evet, ancak burayı Türkiye ile karşılaştırmakta çok doğru değil, sadece gelecekseniz bunları da göz önünde bulundurun diye anlatıyorum.

Genel olarak içeceklerde Türkiye’ye göre pahalı, mesela kutu kola alıyorsun 330ml’lik. Türkiye muhtemelen 1 TL’dir, burada 1.10 € 😀 Yani TL ile çarpınca insan geriliyor. Ancak gece dışarı çıkıp ölümüne kadar içki içtiğinizde muhtemelen cebinizden en fazla 50€ falan gidecektir, tabi içmeyi bilmeyip parayı sağa sola dağatırsanız bilemem..

Gündüz Hayatı, Gece Hayatı
Valla 1 yıldır Malta’dayım daha gündüz gözüyle görmek nasip olmadı 😀 Ama güzeldir eminim, gidip gezilecek bir çok yeri var, muhtelemen 2 günde gezip bitirirsiniz sonra da öyle ne yapacağım ben diye düşünürsünüz. Temel Reis köyü varmış mesela, Game of Thrones’ın bazı sahnelerinin çekildiği eski kale, Almanya’nın 2. dünya da burayı bombaladığını biliyor muydunuz, başkent’teydi sanırım büyük kilisenin camından girmiş bomba ama şans eseri patlamamış ve kimse ölmemiş. Hala orada bir delik varmış falan 😀

Gece hayatına gelecek olursak, Malta’lılar eğlenmeyi çok seviyor. Eğer oynamayı seviyorsanız, böyle dubtıskıştıs müzikler falan hoşunuza gidiyorsa benim gibi, çooook doğru bir yer olabilir Malta geceleri. Paceville dediğimiz yer büyük bir barlar sokağı gibi, Las Vegas’ın küçük versiyonu, birkaçda Casino var tabi etrafta. Genel olarak gece hayatının döndüğü yerler bu civarlar oluyor. Birde 22. kat var adına gayet yaratıcı şekilde TwentyTwo demişler binanın 😀 Orada bir gece kulübü var, denemenizi tavsiye derim. Ama 12’den sonra gidin tabi ki.

Yaz ayında özellikle dünya’nın her yerinden birileriyle tanışmanız çok mümkün Malta’da. Herkesin gelip tatil yaptığı, bir çok ırkında çalıştığı ortak bir yer. Yani bana 2 sene önce sorsanız bir litvanyalı ile nargile içeceğini düşünüyor musun diye, hayır derdim. Ama daha geçen içtik mesela 🙂 İnsanlarla tanışmayı seven, yeni kültürleri merak eden, başkalarının yaşam tarzlarını görmek isteyen, diğer ülke’de ki insanların da hükümetlere karşı bakış açılarını, yaşam standartlarını, hayat görüşlerini merak eden insanlar için Malta güzel bir buluşma noktası. İnanır mısınız daha geçenlerde Amsterdam’da bu çılgın ingilizcem ile Türkiye’nin jeopolitik konumunu konuşuyorduk bir Hollandalı ile :D. Yani bu gibi şeyler olabiliyor, alışkın olmak gerek.

Irkçılık var mı?
Bu soruyu yazmak aslında sanki beni ırkçı biri yapıyor gibi ancak birkaç kişi sorduğu için söylemek istiyorum. Malta’da ırkçılık yok, yani görünüşünün ne olduğu ilgilendirmiyor kimseyi. Burada Araplarda var, Yahudilerde, Hindularda.. Yani aslında bizim ırktan çok daha garip ırkların olduğu bir yer 😀 O yüzden kapalıyım diye kimsenin seni burada küçümseyeceğini ya da bir zarar vereceğini falan düşünme, öyle bir şey görürsen bi alo de, polislerle birlikte koşa koşa geliriz 🙂

Genel olarak değerlendirmem..
Burası sizin için bir basamak olabilir. Belki çok uzun süre kaldığınızda sıkılabilirsiniz ancak Avrupa deneyimine başlangıç adına iyi bir yer, ayrıca ingilizcenizi geliştirmeniz içinde çok doğru bir yer, öte yandan Avrupa ülkesi olması da diğer ülkelere istediğiniz zaman gitmenizi sağlıyor ki bi hafta sonu italya’ya gidip gezinmek bile, hayatınıza renk katabilir. Ayrıca insanlar görüşlerinin modern olduğu, gece saat kaç olursa olsun bir bayanın tek başına yürüyebileceği, suç oranlarının çok düşük olduğu (polisler sanki sadece alkoliklerle uğraşıyor gibi) bir ülke. Belki yapı itibari ile eski bir ülke gibi görünse de, içinde barındırmış olduğu insanlar bu ülkeyi güzel kılan şeyler. Yoksa mikmişim Malta’sını, bize her yer yaşanacak güzel yer 🙂 Ancak yolunuz düşerse, bana bi Hi demeyi unutmayın.

Kalın sağlıcakla.

Konuyu görmek için tıklayın

Erbilen.net 5. yılını dolduruyor!

13 yorum

Bundan seneler önce ilk kişisel blog tutmaya karar verdiğimde soyadımı içeren erbilen.com adresini almıştım. Uzun bir sürede orada blog tuttuktan sonra hatırlayamadığım sebeplerden domain değiştirdim ve sanırım tayfunerbilen.com domainine geçmiştim.
Bunlardan sonra ise yani yaklaşık 5 sene önce erbilen.net adresini aldım. Mart’ın 5’inde 5. yılını dolduracak olan kişisel bloğum için uzun zamandır yapmadığım değişiklikleri yapmak ve yetiştirmek istiyorum.

Öncelikle şunu belirteyim, prototurk.com domainini uzatıp elimde tutacağım çünkü bir mazimiz var. Ancak artık bu girişime devam etmeyeceğim, onun yerine bloğuma ağırlık vererek gerek kişisel, gerek eğitim ile ilgili içerikleri bu blogta toplayacağım. Biraz daha blog havasından çıkarıp css-tricks tarzında bir şey yapmaya çalışacağım. Bu süreçte zaten sizde değişiklikleri yakından takip edebilirsiniz, gizlimiz saklımız yok 🙂

Evvela yıllar önce responsive kodlamayı öğrenip yıllardır kendi siteme neden uygulamadığımı düşünüyorum. Biliyorum mobilden girince o rezalet görüntüyü bana yakıştırmıyorsunuz, bende kendime yakıştıramıyorum.
Bu yüzden yeni tasarımda mobil ve tablete de çok önem vereceğim. Okunabilirliği en üst düzeyde tutacak ve mümkün olan en sade ve kullanışlı arayüzü bulmaya çalışacağım.

Muhtemelen yine ben tasarlayacağım, biraz daha farklı olması için elimden geleni yapacağım. Ama şuda bir gerçek ki, terzi kendi söküğünü dikemiyor arkadaşlar 🙂

Yine de büyük değişiklikler 5 mart 2017 günü hazır olacak, olmalı! O gün yeni temam, yeni felsefem ve düşüncelerimle tekrar burada görüşmek üzere, beni takip eden herkese çok teşekkür ederim, adamın dibisiniz!

Konuyu görmek için tıklayın

Windows’da SSH Key Oluşturmak

1 yorum

Eğer sizin içinde SSH Key oluşturma zamanı geldiyse ama bu işlemi ilk kez yapacaksanız ve ne yazık ki bir windows kullanıcısı iseniz, bu yazımda sizlere Windows’da kolayca nasıl SSH Key oluşturabileceğinizi göstereceğim.

Öncelikle bu işlem için aşağıdaki linkten PuTTYgen programını indirin.
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Programı çalıştırıp Generate dedikten sonra yüklenen barın yavaş olduğunu fark edeceksiniz, çünkü şifreleme için sizin fare kombinasyonlarınızı kullanıyor. Program üzerinde farenizi rasgele hareket ettirerek işlemi tamamlayın.

Sonuç olarak herşey yolunda gittiyse aşağıdaki ekranla karşılaşacaksınız.

Kırmızı olarak işaretlediğim yeri alıp SSH Key kodunu yazmanız gereken yerde kullanabilirsiniz.
Sarı alanda yazacağınız şifreyi SSH Key i kullandığınız yerde şifre olarak kullanacaksınız.
Mavi alanlarda ise oluşturduğunuz SSH Key dosyalarınızı kaydedeceksiniz. Zira onlara ihtiyacınız olacak!

Konuyu görmek için tıklayın