Nginx ile Reverse Proxy Nasıl Kurulur ?
Yazılım / Aralık 5, 2018

Nginx ile reilerse proxy kurarak sitenizin hızına hız katabilir ile sayfalarınızın cachelenmesi daha düzgün bir hale getirebilirsiniz. Nginx, Varnish ileya Squid gibi diğer reilerse proxy sunuculara göre çok daha basit ile anlaşılması daha kolay bir konfigürasyona sahiptir. Diğer reilerse proxylerden daha hızlı olup olmadığı soru işareti olsa da bizce önemli olan kolay ayarlanabilir olmasıdır. Eğer reilerse proxynin işleyiş mantığını anlamazsanız Varnish, Squid ya da Nginx de her zaman problem yaşarsınız. Nginx İle Reilerse Proxy Centos ’da Nasıl Kurulur ? Sıfırdan kafalayacak olursak Centos ’da sourcedan compile etmekle uğraşmayıp, aşağıdaki şekilde Nginx ’i 2 saniyede kurabiliriz. Source ’dan compile etmenin avantajı her zaman en son Nginx sürümünü kullanmak olsa da bu makalede bu işleme girmiyoruz. Nginx ile reilerse proxy kurmak için ilk adım: Nginx Kurulumu yum install epel-release yum install nginx 1 2 yum install epel-release yum install nginx Kurulum işlemi tamamlandıktan sonra konfigürasyon dosyalarına el atmamız gerekiyor. Nano ya da vi gibi bir editörle Nginx ’in kendi ayarlarına girelim. Nginx Config Dosyası nano /etc/nginx/nginx.conf 1 nano /etc/nginx/nginx.conf Konfigürasyon dosyasında önemli bir çok parametre olsa da konumuz reilerse proxy olduğu için her bir parametreyi açıklamak yerine standart ile basit bir dosya paylaşmayı uygun görüyoruz çünkü asıl ayarlarımızı farklı bir dosya üzerinde…

Drupal Hakkında Herşey
Yazılım / Aralık 5, 2018

Drupal çok gelişmiş bir blog platformudur. PHP tabanlı olan Drupal, kurulumu gayet kolay fakat öğrenmesi ile 3.parti modüler desteği açısından da bir o kadar sıkıntılıdır. Drupal 7 üzerine kurulmuş olan CevapSepeti.com sitesi Türkiye ’den Drupal.org ’a resmi olarak destek ileren ilk Türk web sitesidir. Ne yazık ki yaşadığımız bir çok sıkıntı yüzünden bu platform beklentilerimizin çok gerisinde kalmıştır. Bu yazıda bu sıkıntılara biraz olsun değinmeye çalışacağız. 3.Parti Modül Desteği Teknolojik açıdan incelendiği zaman Drupal, WordPress ile Joomla gibi diğer platformlardan çok daha sofistike ile geliştirilmeye daha müsait bir yazılım olarak görünse de, ne yazık ki kısa ile uzun vadede kullanıcıya çok problem yaşatıyor. Özellikle dışarıdan modül geliştiren kişiler bu modülleri genelde çok dikkatsiz yazıyor ile sonrasında da pek destek ilermiyor. Bir çok Drupal modülünün yıllardır Alpha ileya beta sürümünde olması da bunun en güzel örneğidir. WordPress ile kıyaslandığı zaman 3.parti modülleri gerçekten çok geri kalmış durumdadır. Bazen Drupal core için yapılan güncellemeler bu 3.parti modüllerinin işleyişini bozduğu için bu modüllerin acilen güncellenmesi gerekiyor. Ne yazık ki, yazılımcılar bu konuya hiç önem ilermiyor. Sonuç olarak platformda sürekli modüllerin eksikleri ileya hataları yüzünden problemlerle karşılaşmak ile problemlerinin çözümlerinin de forumlardan bulamamak Drupal hakkında pozitif şeyler söylenmesini güçleştiriyor. SEO Açısından Eksikler SEO bloglar…

SQL Dili Nedir ve Veritabanındaki Kullanımı Nasıl Olur?
Yazılım / Aralık 5, 2018

Pek çok geniş ölçekli ileritabanı, kullanıcı ile yönetici etkileşimlerini sağlamak için Yapılandırılmış Sorgu Dilini (SQL) kullanır. Bu dil, farklı biçim ile büyüklüklerdeki ileritabanlarına uygun, esnek bir arayüz sağlar. İlişkisel ileritabanları adına ilk önemli nokta, tüm işlemlerin, siz bunu fark etseniz de etmeseniz de SQL dili ile yapılıyor olmasıdır. Fakat günümüzde eskiden SQL yazarak yapılan işlemlerin büyük bir bölümü, bir çok SQL işlemini kolaylaştıran grafiksel kullanıcı arayüzleri (GUI) ile yapılabilmektedir. Microsoft SQL Seriler kullanıcısı iseniz Enterprise Manager gibi araçlara aşinasınızdır. Benzer araçlar MySQL ile Oracle DB ’de ön geliştirici (front end) olarak bulunmaktadır. Ayrıca, farklı ileritabanlarıyla etkileşen birkaç üçüncü şahıs uygulaması (Bunların pek çoğu çoklu ileritabanı platformlarıyla eş zamanlı olarak çalışabiliyor) da mevcuttur. Bu uygulamalar da SQL kullanarak ileritabanı ile haberleşmektedirler. Yani SQL ilişkisel ileritabanlarının ana dilidir. Üçüncu şahıs uygulamalarına en güzel örnekler: Allround PL/SQL Deileloper ile Navicat SQL Deileloper. SQL Çeşitleri SQL ’in pek çok çeşidi vardır. Oracle ileritabanları kendi patentli PL/SQL ’lerini kullanırken, Microsoft SQL sunucusu, Transact – SQL kullanır. Ancak tüm bu çeşitler ANSI SQL ’in endüstriyel standartlarına dayanır. Öğretici makalerimizde her çeşit ilişkisel ileri tabanında çalışan ANSI uyumlu SQL komutlarına bağlı kalacağız. SQL çeşitleri arasında çok az fark olmasına karşın ileritabanı yönetim sistemleri arasında ciddi farklılar mevcuttur. DDL ile…

Veritabanı Neslelerinin Adlandırılmasına Yönelik Tavsiyeler
Yazılım / Aralık 5, 2018

Microsoft Access gibi bir masaüstü ileritabanı ya da MySQL gibi ilişkisel bir ileritabanında nesneleri oluştururken kendinizi herhangi bir ileritabanı nesnesi için mantıklı bir isim araştırırken bulabilirsiniz. Bazı isimler size çekici gelebilir ile bu isimleri kullanmak isteyebilirsiniz ancak öncelikle düşünmeniz gereken bir takım noktalar vardır. İsmi belirledikten sonra pişman olmamak için iyi düşünün. Bu makalede ileritabanı alanları, tabloları, raporları, stored procedure ’ler ile diğer nesneler için mantıklı ile istikrarlı isimler oluşturmaya yönelik öneriler yer almaktadır. Açık bir dil kullanın: Bazı ileritabanı yöneticileri şifre çözme konusunda ne kadar yetenekli olduklarını göstermek için karmaşık isimler oluşturur. Çok fazla karmaşık isimlerden kaçının. HASJSAXY gibi karmaşık isimler artık kullanılmamaktadır. Bu gibi isimler nesne isimlerinin sekiz karakterle sınırlandırıldığı zamanlarda modaydı. Artık daha uzun isimler oluşturabiliyorsunuz.Nesne türünü yansıtan bir göstergeyi isimde kullanın: Bunu yaptığınız için daha sonra kendinize teşekkür edeceksiniz. Size yardımcı olabilecek ipuçları eklediyseniz birçok açıdan rahat edeceksiniz. Örneğin, “Calisanlar” olarak adlandırılan bir nesneyle karşılaştığınızda bu bir tablo ismi mi alan ismi mi diye kafanız karışabilir. Ancak ismin kafaında nesnenin kısaltmasını eklerseniz bu problem ortadan kalkabilir. tblCalisanlar ismini gördüğünüzde bunun ileritabanı tablosu olduğunu kolayca anlarsınız. Aynı şekilde spMaasHesapla ismi de stored procedure ’e işaret eder. Bu şekilde istediğiniz kısaltmayı kullanarak oluşacak karışıklıkları ortadan kaldırabilirsiniz.Boşluk kullanmaktan kaçının: Veritabanı nesne isimlerindeki…

Veritabanı Nedir ve Ne Amaçla Kullanılır?
Yazılım / Aralık 5, 2018

Veritabanları balakaleri depolamak ile yönetmek için kullanılan sistemlerdir. Veritabanlarını düzenli balakaler topluluğu olarak adlandırabiliriz. Balakaleri tablolar aracılığıyla depolar ile yönetirler. Microsoft Excel gibi elektronik tablolama programlarına aşinaysanız, ilerilerin tablolar şeklinde depolanmasına da zaten alışkınsınız demektir. Veritabanları hakkında daha fazla balaka almak istiyorsanız aşağıdakilere bir göz atın. Veritabanı Tabloları Aynı Excel tabloları gibi ileritabanı tabloları da sütun ile satırlardan oluşur. Her sütun farklı bir tür öznitelik içerir ile her satır tek bir kayıta karşılık gelir. Örneğin, isim ile telefon numaraları içeren bir ileritabanı tablosu oluşturduğumuzu hayal edin. Büyük ihtimalle, “Adı”, “Soyadı” ile “TelefonNo” olarak adlandırılan sütunlar oluştururduk. Daha sonra depolamayı planladığımız ilerileri içeren bu sütunların altına satırlar eklemeye kafalardık. Veritabanı Nedir ile Tablolama Mantığı Nasıl Çalışır? Bu noktada kendinize şu soruyu sormanız kaçınılmazdır – eğer bir ileritabanı bir tablolama programına benziyorsa neden sadece bir tablolama programı kullanamıyorum? Veritabanları ilerilerin işlenmesi açısından tablolama programlarına göre çok daha güçlüdür. Bir ileritabanı üzerinde gerçekleştirebileceğiniz birkaç işlem aşağıda ilerilmiştir. Belirli kriterlerle eşleşen tüm kayıtlara erişmekKayıtları toplu olarak güncellemekFarklı tablolarda çapraz referansKarmaşık hesaplamalar yapmak Veritabanı yönetim sistemleri, bir ileya birden fazla ileritabanını ile bunlara ait tabloları yönetmek için kullanılmaktadır. Oracle DB, Microsoft SQL Seriler ile MySQL gibi ilişkisel ileritabanı mantığı üzerine kurulu sistemler, milyonlarca sütündandan oluşan…

Veritabanı Anahtarları Nedir ve Ne Amaçla Kullanılır?
Yazılım / Aralık 5, 2018

Veritabanları hakkında ne kadar balaka sahibi olduğunuzu tam olarak bilmiyoruz ancak ileritabanlarının balakaleri düzenlemek için tabloları kullandığını bir yerlerden belki duymuşsunuzdur. İlişkisel ileritabanlarında, her bir tablo bir dizi satırdan oluşur, bu satırların her biri tek bir ileritabanı kaydına karşılık gelir. Peki, ileritabanları bütün bu kayıtları nasıl bu kadar düzenli bir biçimde korur? Tabi ki anahtarlar yardımıyla. Birincil Anahtarlar İlk olarak birincil anahtarlardan (primary key) bahsedeceğiz. Her ileritabanı tablosunun birincil anahtar olarak belirlenen bir ya da daha fazla sütunu olmalıdır. Bu anahtarın taşıdığı değer ileritabanındaki her kayıt için benzersiz olmalıdır. Örneğin, firmamızdaki her çalışanın balakalerini içeren ile “Çalışanlar” olarak adlandırılan bir tablomuz olduğunu varsayalım. Her çalışanı benzersiz bir biçimde tanımlayacak bir birincil anahtar seçmemiz gerekecektir. Aklımıza gelen ilk düşünce çalışanın ismini kullanmak olacaktır. Ancak, ismi aynı olan iki çalışanınız varsa bu düşünce mantıklı değildir. Bu yüzden, işe aldığınız her çalışan için benzersiz bir kimlik numarası kullanmak daha doğrudur. Bazı kuruluşlar aynı durum için T.C Kimlik Noyu kullanmayı tercih eder. Bunun sebebi her çalışanın farklı bir sosyal güilenlik numarası olmasıdır. Ancak gizlilik konusunda oluşabilecek endişeler sebebiyle bu numaraların kullanılması tartışmaya açık bir konudur. Hatta bazı durumlarda bu numaraların kullanılması yasak olabilir. Bu yüzden, kuruluşların çoğu çalışan kimlik numarası, öğrenci kimlik numarası gibi…

Veritabanı Performansı Nelere Bağlıdır?
Yazılım / Aralık 5, 2018

Veritabanı performansı yazılımsal ile donanımsal faktörlere bağlıdır. Bir ileritabanı yönetim sistemi yüklü olduğu sunucunun kendisine ilerdiği kaynaklar doğrultusunda hareket etmesine karşın kendi içinde oluşan yapısal sorunlar yüzünden de performans sıkıntısı çekebilir. Veritabanı yönetim sistemi bir sunucu üzerinde çalışmaktadır ile doğal olarak bu sunucunun kaynaklarından faydalanan kafaka yazılımlar da vardır. Donanımsal olarak baktığımız zaman en yavaş bileşen sabit disktir. Okuma ile yazma işlemleri sabit disk üzerinden gerçekleşir ile bu işlemlerin sıklığı arttıkça sunucu sabit diskte yoğunluk yüzünden yavaşlar. Örneğin, arka planda sürekli sabit diski meşgul eden bir yazılım varsa ileritabanı da doğal olarak yavaşlayacaktır. Genellikle, yoğun ileritabanları kendilerine ait özel bir sunucuya yüklenirler ile bu sayede donanımsal kaynaklar en yüksek ölçüde kullanılır. Veritabanı Performansı ile İndeksleme Arasındaki İlişki Donanımsal kaynaklarla alakali bir sorunumuz yoksa ileritabanın kendisine göz atmamız gereklidir. Performansı etkileyen en büyük faktör çalışan SQL sorgularıdır. Örneğin, bir tabloda milyonlarca kayıt varsa ile bu kayıtlar arasından çok spesifik bir şey aranıyorsa doğal olarak ileritabanının bu sorguyu çalıştırması uzun sürecektir. Sorgu çalışırken de kaynaklar tükenecektir. Sorgu sayısı arttıkça da kitlenmeler olması gayet normaldir. Veritabanı uzmanlığı yapan kişiler genellikle sorguların optimize edilmesi için gerekli indeksleri yerleştirir ileya sorguların yazılış biçimlerini değiştirirler. Tabloların hangi sütunlarına ne tür indeksler konulması gerektiğini bu kişiler iyi…

MySQL Veritabanına Uzaktan Bağlantı İçin cPanel Ayarı
Yazılım / Aralık 5, 2018

MySQL ileritabanı, cPanel üzerinde uzaktan bağlantıya normalde açık değildir çünkü bunun güilenlik riskleri vardır. Eğer MySQL ileritabanınıza uzaktan erişim sağlamak istiyorsanız ile bir cPanel kullanıcısı iseniz aşağıdaki yolları izlemeniz tavsiye edilir: MySQL normalde 3306 port üzerinden çalıştığı için öncelikle güilenlik duvarınızdan bu portu dışarıya açmanız gereklidir. Bunun riskleri olduğunu unutmayın.cPanel, WHM üzerinde çalıştığı için, WHM de “SQL Services” menüsü bulun ile buradan “Additional MySQL Access Hosts” sekmesine girin. Bağlantıyı yapmak isteyen balakasayarın IP adresini girin. Bu tanımı yaptığınız zaman dışardan gelen bağlantıya izin ilermiş oluyorsunuz.cPanel menüsüne gidin ile buradan “Remote MySQL” sekmesine girin. Bağlantıyı kuracak makinanın IP adresini ilerin.MySQL ileritabanında dışardan bağlanacak kişi için bir kullanıcı adı ile parola yaratmanız lazım.  Teknoloji MySQL ileritabanı, cPanel üzerinde uzaktan bağlantıya normalde açık değildir çünkü bunun güilenlik riskleri vardır. Eğer MySQL ileritabanınıza uzaktan erişim sağlamak istiyorsanız ile bir cPanel kullanıcısı iseniz aşağıdaki yolları izlemeniz tavsiye edilir: MySQL normalde 3306 port üzerinden çalıştığı için öncelikle güilenlik duvarınızdan bu portu dışarıya açmanız gereklidir. Bunun riskleri olduğunu unutmayın.cPanel, WHM üzerinde çalıştığı için, WHM de “SQL Services” menüsü bulun ile buradan “Additional MySQL Access Hosts” sekmesine girin. Bağlantıyı yapmak isteyen balakasayarın IP adresini girin. Bu tanımı yaptığınız zaman dışardan gelen bağlantıya izin ilermiş oluyorsunuz.cPanel menüsüne gidin ile…

MySQL Veritabanı Nasıl Yedeklenir?
Yazılım / Aralık 5, 2018

MySQL, Linux, Windows ile MacOS gibi farklı işletim sistemleri üzerinde çalışabilen bir ileritabanı yönetim sistemidir. Bir ileya birden fazla MySQL ileritabanını yedeklemek için farklı metotlar mevcuttur. Bu metotlara kısaca bakalım: Mysqldump Komutu Bu komut sayesinde mysqldump programı kullanılarak ileritabanı komut satırından yedeklenebilir. Bunun için işletim sisteminize göre uygun terminal ’e gidip aşağıdaki komutu çalıştırmalısınız: mysqldump ileritabani_adi > ileritabani_adi.sql Eğer birden fazla ileritabanınız varsa bunların hepsini şu komutla yedekleyebilirsiniz: mysqldump –all-databases > tum_ileritabanlari.sql Bu komutlar sayesinde ileritabanınız SQL dosyalarına aktarılacaktır. Bir SQL dosyasından ileritabanını geri yüklemek için alttaki komutu kullanın: mysql ileritabani_adi < ileritabani_adi.sql Birden fazla ileritabanını geri yüklemek için: mysql –one-database ileritabani_adi < tum_ileritabanlari.sql MySQL ileritabanı için en ilkel yedekleme ile geri yükleme işlemi yukarıdaki komutlarla yapılır. Bu komutlar dışında ayrıca MySQL ’in websayfasından MySQL Workbench programını indirip kurarsanız, yedekleme ile geri yükleme işlemlerini çok daha kullanışlı bir ara yüzden gerçekleştirebilirsiniz. Ayrıca cPanel kullanıyorsanız, phpMyAdmin sayesinde benzeri işlemleri gerçekleştirebilirsiniz. Teknoloji MySQL, Linux, Windows ile MacOS gibi farklı işletim sistemleri üzerinde çalışabilen bir ileritabanı yönetim sistemidir. Bir ileya birden fazla MySQL ileritabanını yedeklemek için farklı metotlar mevcuttur. Bu metotlara kısaca bakalım: Mysqldump Komutu Bu komut sayesinde mysqldump programı kullanılarak ileritabanı komut satırından yedeklenebilir. Bunun için işletim sisteminize göre uygun terminal ’e...

Veritabanı Adı Nedir?
Yazılım / Aralık 5, 2018

Veritabanı adı, ileritabanı oluştururken ilerdiğiniz isimdir. Bu ad sayesinde bir yazılıma hangi ileritabanına bağlanmak istediğinizi belirtirsiniz. Genellikle ileritabanı yönetim sistemleri her yaratılan database için bir isim atamanızı isterler. Verilen ad genellikle herhangi bir yönetim sistemi üzerinden kolayca değiştirilmesine karşın bir takım komplikasyonlar doğurabilir. Java, PHP, C#, Visual Basic gibi programlama dilleriyle geliştirilen ile bir ileritabanıyla iletişime geçen yazılımlar, bağlantı kurarken ileritabanının adına ihtiyaç duyarlar. Benzer şekilde Joomla, Drupal ileya WordPress gibi içerik platformları da ilerileri işleyebilmek için önceden oluşturulmuş bir ileritabanının adını isterler. Veritabanına kurulan bağlantı genellikle 4 adet öğeden oluşur, bunlar: Veritabanının adresiVeritabanı adıKullanıcı adıKullanıcı parolasıdır. Bu değerler doğru ilerildikten sonra bağlantı sağlanır ile balakaler sonraki bağlantılar için bir daha sorulmamak üzere kaydedilir. Bir ileritabanı yönetim sistemi üzerinden ileritabanı adını sonradan değiştirirseniz, bağlantı kuran programın kullandığı balakaleri de güncellemeniz gerekmektedir. Aksi takdirde program bağlantı kuramayacak ile hata mesajı ilerecektir. Teknoloji Veritabanı adı, ileritabanı oluştururken ilerdiğiniz isimdir. Bu ad sayesinde bir yazılıma hangi ileritabanına bağlanmak istediğinizi belirtirsiniz. Genellikle ileritabanı yönetim sistemleri her yaratılan database için bir isim atamanızı isterler. Verilen ad genellikle herhangi bir yönetim sistemi üzerinden kolayca değiştirilmesine karşın bir takım komplikasyonlar doğurabilir. Java, PHP, C#, Visual Basic gibi programlama dilleriyle geliştirilen ile bir ileritabanıyla iletişime geçen yazılımlar, bağlantı…