Sahte Fotoğraf Ayırt Etme Reçetesi

Standard

Sosyal medyada fotoğrafın dikkat çekiciliğinin yazıdan daha etkili olduğu çeşitli çalışmalar ve istatistiklerle gösterilmiştir. Pek çoğumuz kendi deneyimlerimizden de zaten bunu anlayabiliyoruz, ve bundan olsa gerek insanlar, şirketler ve hayran toplama amaçlı açılmış sayfalar da fotoğraf paylaşmayı seviyorlar. Bu makalede size sate fotoğraf ayırt etme konusunda Tevfik Uyar 'ın makalesini paylaşmak istedim..

Devamını Oku..

NoSql ve MongoDB Nedir? MongoDB Kurulumu

Standard

Arkadaşlar selam, bir önceki makalemde homebrew nedir ve homebrew ile mongo kurmayı anlatmıştım sizlere.

Şimdi ise git üzerinden klonlarayarak kopyalama konusuna değineceğim, ama önce nedir bu mongodb oradan başlayalım isterseniz.

NoSql (Not Only SQL) kavramı ile hayatımıza girmiş olan mongodb, C++ ile yazılmış açık kaynaklı ilişkisel olmayan ve önde gelen NoSQL veritabanıdır.
Veriler, JSON döküman yapısında ve hiyerarşik olarak saklanır. Büyük ölçekli uygulamalar için tasarlanmıştır.

Konu konu açıyor, hemen nosql nedir ondan da bahsedelim eksik kalmasın; ilişkisel veritabanları ve modern yazılım geliştirmenin eksiklerini gidermek amacıyla gelmiştir.

NoSQL ile çalışırken alışmış olduğumuz ilişkisel veritabanlarımızdaki gibi verilerimizi satır satır saklamaya ve diğer tablolarla ilişkilendirip tanımlamalarımızı yapmıyoruz.
Veriler JSON ya da XML formatında saklanıyor.
Ancak burada dikkat edilmesi gereken nokta NoSQL, Fire and Forget prensibi ile çalıştığı için bankacılık vb. kritik uygulamalarda kullanılmamalıdır. Aksine verinin 100% önemli olmadığı durumlarda kullanılabilir.

Bu kısa bilgiden sonra isterseniz kuruluma geçelim..

Terminal üzerinde kurulum işlemine başlayalım;

Önce brew install mongo ile veya apt-get install mongo komutları ile mongodb kuralım sisteme..

Dilerseniz aşağıdaki linkten homebrew ile mac üzerinde kurulum yapabilirsiniz, zira apt-get çalışmayacaktır.
Homebrew nedir? Homebrew Kurulumu ve Homebrew ile mongo db kurulumu

Sonra aşağıdaki şekilde mongo php driver kurup tanıtalım sisteme..

$ git clone git://github.com/mongodb/mongo-php-driver.git $ brew install autoconf $ cd mongo-php-driver/ $ phpize $ ./configure $ make $ sudo make install

Devamını Oku..

Homebrew nedir? Homebrew Kurulumu ve Homebrew ile mongo db kurulumu

Standard

Homebrew nedir? Homebrew Mac OS X işletim sistemi üzerinde yazılım kurulumunu kolaylaştıran bir paket yönetim sistemidir. Fink ve Macports a benzer.
Örnek vermek gerekirse bilgisayarınıza mongo db kuracaksınız. Homebrew ile çok kısa ve hızlı şekilde kurabilirsiniz.

Daha uzatmadan direk işe koyulalım ve Homebrew kurulumuna geçelim isterseniz.

Aşaığdaki kodu yazıyoruz konsolumuza ve bize değişiklik olacak dosyaları söyleyip onay isteyecek. Yani örnek çıktımız da kodun altındadır..

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Devamını Oku..

PHP ve MYSQL ile rastgele kayıt çektirmenin yolları

Standard

Aslında herkesin ihtiyacı olan ve sürekli kullanılan rastgele kayıt seçme işlemi için bir çoğumuz SQL içersinde ORDER BY RAND() fonksiyonu kullanarak bu işlemi hallediyoruz. . Ancak veritabanındaki kayıtlar büyüdükçe bu şekilde yapmanız işlemi zorlaştıracak, sayfanızı yavaşlatacaktır. Bu işlem için farklı yöntemleri ele alalım..

Devamını Oku..

HTML5 ve Web Storage

Standard

HTML 5 ile web sayfaları kullanıcıların browserların da local data depolayabilir hale geldi. Bu size sayfalarda bazı dataları saklayabileceğiniz gibi native mobil uygulama yapmak yerine html5 tabanlı yapılan uygulamalarda sqlite olmadan data saklamanıza da olanak tanıyacaktır 😉 Veriler key/value şeklinde saklanıyor ve web sayfaları sadece kendi oluşturdukları verilere erişebiliyorlar.

Web storage Internet Explorer 8+, Firefox, Opera, Chrome, ve Safari tarafından destekleniyor. Internet Explorer 7 ve eski versiyonları desteklemiyor.

Devamını Oku..

PHP ve NameSpace Kullanımı

Standard

Merhaba arkadaşlar,

Bugün hayatımıza php 5.3 ile birlikte giren bir yeniliği geçte olsa size bahsetmek isterim. NameSpace yani yani İsim Alanları..
Peki neye yarar? PHP’de benzer isimdeki class,constant ve function’ları aynı sayfa/proje içerisinde kullanmamızı sağlar ve daha okunabilir ve anlamlı object mimarileri kurmamızı sağlar. Windows File System olarak kafanızda canlandırabilirsiniz. C:\Onur\test.txt dosyasını düşünelim; aynı dosyadan bir tane daha koymamız durumunda hata verecektir ve üzerine yazacaktır ama C:\Tester\test.txt şeklinde koyarsak aynı sürücüde farklı dizinlerde aynı isimde farklı dosyalar olabilir. İşte buradaki Onur ve Tester dizinlerini namespace gibi canlandırabilirsiniz gözünüzde.

Heman bir örnek ile somutlaştırmak istiyorum;

<?php ######----ONUR CANALP----#### ## NAMESPACES ## ## 25.07.2013 ## ############################# // "Personel" isminde bir namespace tanımlıyorum. namespace Personel; // "Personel" namespace'i içinde "Temizlik" sınıfı oluşturuyorum. Class Temizlik { // "Temizlik" sınıfı içinde "oku" isminde bir fonksiyon oluşturuyorum. public function oku() { return 'Personel namespace içindeki Temizlik çalışanları'; } } Class Teknik { // "Feed" sınıfı içinde "oku" isminde bir fonksiyon oluşturuyorum. public function oku() { return 'Personel namespace içindeki Teknik çalışanlar'; } } // "Yoneticiler" isminde bir namespace tanımlıyorum. namespace Yoneticiler; // "Yoneticiler" namespace'i içinde "Temizlik" sınıfı oluşturuyorum. Class Temizlik { // "Temizlik" sınıfı içinde "oku" isminde bir fonksiyon oluşturuyorum. public function oku() { return 'Yöneticiler namespace içindeki Temizlik çalışanlar'; } } Class Teknik { // "Teknik" sınıfı içinde "oku" isminde bir fonksiyon oluşturuyorum. public function oku() { return 'Yöneticiler namespace içindeki teknik çalışanlar'; } } // "Personel" namespace'i içinde bulunan "Temizlik" Sınıfını tanımlıyorum. $temizlik1 = new \Personel\Temizlik; // "Temizlik" namespace'i içinde bulunan "Temizlik" Sınıfını tanımlıyorum. $temizlik2 = new \Yoneticiler\Temizlik; // "Personel" namespace'i içinde bulunan "Teknik" Sınıfını tanımlıyorum. $teknik1 = new \Personel\Teknik; // "Temizlik" namespace'i içinde bulunan "Teknik" Sınıfını tanımlıyorum. $teknik2 = new \Yoneticiler\Teknik; // Sınıfların içinde bulunan fonksiyonları çağırıyoruz ve sonucu ekrana basıyoruz. echo '<p>' . $temizlik1->oku() . '</p>'; echo '<p>' . $temizlik2->oku() . '</p>'; echo '<p>' . $teknik1->oku() . '</p>'; echo '<p>' . $teknik2->oku() . '</p>'; ?>

Devamını Oku..

İki koordinat (latitude / longitude) arasındaki mesafeyi hesaplamak

Standard

Bir çok uygulamada işimize yarayabilecek bi işlemdir bu.. 2 cafe arasındaki mesafeyi bulmak veya kişinin anlık konumu ile xxx mekanın arasındaki mesafe gibi.. Peki bunu nasıl yapıyoruz hiç düşündünüz mü?

Lafı uzatmadan bununla ilgili çok basit fonksiyon paylaşıyorum sizlerle. Bu fonksiyon ile koordinatlar arasındaki mesafeyi farklı formatlarda alabilirsiniz;

<?php function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2) { $theta = $longitude1 - $longitude2; $miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta))); $miles = acos($miles); $miles = rad2deg($miles); $miles = $miles * 60 * 1.1515; $seamiles = $miles * 0.868976242; $feet = $miles * 5280; $yards = $feet / 3; $kilometers = $miles * 1.609344; $meters = $kilometers * 1000; return compact('miles','feet','yards','kilometers','meters','seamiles'); } $point1 = array('lat' => 40.770623, 'long' => -73.964367); $point2 = array('lat' => 40.758224, 'long' => -73.917404); $distance = getDistanceBetweenPointsNew($point1['lat'], $point1['long'], $point2['lat'], $point2['long']); foreach ($distance as $unit => $value) { echo $unit.': '.number_format($value,4).' '; } ?>

Devamını Oku..