RSS
 

OXIJEN WebOS Framework

19 Jun
OXIJEN WebOS Framework

OXIJEN WebOS Framework

Merhaba,

En son makalemden bu yana biraz zaman geçti. Bu süreç içerisinde hem diğer INTER Network bünyesindeki projelerimle hemde OXIJEN FW üzerinde çalıştım. Bu makale OXIJEN WebOS FW’ü daha iyi anlatabilmem için biraz soru cevap şeklinde olacaktır. :) Sizinde sormak istedikleriniz olursa yorum şeklinde yazabilirsiniz. Zaman buldukça hepsini tek tek okuyorum.

– Piyasada Zend,Cake,CodeIgniter gibi başarılı FW’ler varken neden yeni bir framework yazma gereği duydunuz?

+ INTER Network olarak biz, OXIJEN FW’ü piyasadaki FW’ler ile pek aynı kulvarda görmüyoruz. OXIJEN FW’ün geliştirilme düşüncesindeki ana mantık; WEB 3.0 ile yaygınlaşacak olan Cloud Web Applicationları barındıracak Cross-Based bir Kernel FW geliştirmektir. OXIJEN FW geliştirilirken bazı kısımlarında Unix Core referans alınmıştır.OXIJEN FW’ü bir framework’ten çok bir KERNEL olarak görürseniz geliştireceğiniz Cloud Web App.’larda daha komplike yapıları daha basit mantıklarla çözebilirsiniz.

- Peki, OXIJEN WebOS Framework biz yazılım geliştiricilere nasıl bir yapı sunmaktadır?

+ OXIJEN FW yazılım geliştiricilere Web ortamında, Cloud OS üzerinde yazılım geliştirme imkanı sunmaktadır. En büyük özelliklerinden biri ise Distributed Cloud Web App.’ları bir merkez üzerinden yönetebilmesidir. Yani, OXIJEN FW üzerinde bir uygulama oluşturduğunuzda bunun erişebileceği sistem kaynaklarından, bu uygulamanın bir iç uygulamamı yoksa harici bir sunucu üzerinde barındırılan dış bir uygulamamı olduğunu belirleyebiliyorsunuz ve uygulamanızı oluşturduktan sonra OXIJEN FW sizin yerinize Memory,Process Management’tan Thread-Pool Management’a kadar hepsini başarılı bir şekilde yönetmektedir. Gelişmiş Data Access Layer yapısı ile yüksek performansı bir ihtiyaçtan çok zorunluluk haline getirmektedir.

- İlk bakışta en ağır basan özelliklerini sıralayabilir misiniz?

+ OXIJEN-FW her bir uygulamaya bir OS KERNEL mantığı ile yaklaştığından uygulamalarınızda Process’leriniz, bu process’lerde ihtiyaç duyarsanız kullanabileceğiniz Thread’leriniz ve Framework tarafında size DB Provider bağımsız uygulama geliştirme özelliğinden, User Auth. Management’a ve gelişmiş Virtualization Security Layer’a kadar bir çok özellik sunmaktadır. Parallel Process’lerinizi sizin yerinize yönetir, bir hata oluşursa HDD, DB, SMS* ve Web Service** üzerinden Loglama yapabilir. Multi-Threading ve Thread Pool desteği ile sistem kaynaklarınızı en verimli şekilde kullanır.

* SMS özelliğinin çalışabilmesi için harici bir sağlayıcıdan SMS hizmeti almalısınız.

** Web Service üzerinden loglama yapabilmek adına yetkilendirilmiş harici bir Cloud Server’ı veya kendi yazdığınız bir web service’i log mekanizmasına bağlayabilirsiniz.

*** Default olarak SMS ve Web Service Log sistemi kapalı gelmektedir.

- OXIJEN-FW ücretli bir yazılım mıdır?

+ Express Edition sürümü ücretsiz dağıtılmaktadır. Open Source (GPLv3) olarak dağıtılacak olan Developer Edition sürümünün çalışmaları halen sürmektedir. Bunlar dışında kurumsal ticari uygulama geliştiriciler için Enterprise Edition sürümü mevcuttur.

- Bu sürümler arasındaki farklar nelerdir? Ücretlerin ne kadar olması beklenmektedir?

+ Express Edition -> Free / Developer Edition -> Free (GPLv3) / Enterprise Edition -> Application ve Destek Limitlerine göre değişiklik göstermektedir.

Developer Edition’da bazı Beta ve RC özelliklerde açık olarak gelmektedir. Bu nedenle Developer Edition kullanarak uygulama geliştiren yazılımcılar, olası riskleri göze almayı kabul etmiş sayılmaktadırlar. Express Edition ise Developer Edition’ın Release edilmiş hali diyebiliriz. Enterprise Edition ise CRM/ERP/Business Intelligence v.b. gibi büyük ticari projelerde yüksek performans ve güvenlik sağlayacak bir takım özellikler ile gelmektedir. Bunun dışında ilk security ve general update’ler öncelikli olarak Enterprise Edition üzerine yapılmaktadır. Enterprise Edition kullanan firmalara özel OXIJEN-FW eğitimi ve desteği sağlanmaktadır. Firmaların isteklerine göre OXIJEN-FW için module ve plugin geliştirilmektedir.

- OXIJEN-FW kullanılarak geliştirilmiş Cloud Web App.’larda olası bir güvenlik açığında INTER Network bir destek sağlıyor mu?

+ Sürekli olarak performans ve güvenlik testlerinden geçirilmektedir fakat yinede bir güvenlik açığı söz konusu olursa ve ilgili güvenlik açığının nedeni OXIJEN-FW ise en kısa sürede Security Patch yayınlamakla yükümlüdür. Bunun dışında Enterprise 3 SLA sözleşmesi ile hizmet alan firmalara beyan edilmiş limitler dahilinde zararları karşılanmaktadır. Enterprise Edition close source olarak dağıtıldığından ve diğer sürümlerinden farklı source code yapısı olduğundan güvenlik açığı oluşabilme ihtimalı en düşük sürümdür.

- OXIJEN-FW Enterprise Edition’ın neden Open Source verilmemektedir?

+ Enterprise Edition sürümü üzerinde extreme uygulamalar koşacağından olası güvenlik risklerini minimize ederek ortadan kaldırmak için kaynak kodlarını internette dağıtmamaktayız fakat isteyen her firma kaynak kodlarını inceleme fırsatını* sunmaktayız. Kurumsal olarak geliştireceğiniz uygulamalarda kullanacağınız OXIJEN-FW Enterprise Edition’ın kaynak kodları şifrelenmiş olarak verilmektedir.

* Custom Hashing, Licencing, Encryption v.b. gibi nesnelerin kaynak kodları diğer firmalarında güvenliğini sağlamak için inceleme seviyesinde dahi gösterilmemektedir.

Merak ettikleriniz, sormak istedikleriniz ve düşüncelerinizi bekliyorum.

Saygılarımla.

 
4 Comments

Posted in OXIJEN FW

 

Singleton Pattern

08 Apr

Merhaba Arkadaşlar,

Bu makalemde Creational desenlerden olan Singleton Pattern’ı inceleyeceğiz. Design Pattern’lar arasında en kolayı diyebiliriz.

Kısaca Tasarım Desenleri; Dünyanın farklı yerlerinde programcılar tarafından belirli bir soruna çözüm getirmek amacı ile oluşturulmuş yazılım kalıplarıdır. Dil bağımsızdır. Her hangi bir dilde yazılmış Design Pattern örneğini siz kendi kullandığınız dildede uygulayabilirsiniz.

Singleton Pattern ise object’mizin runtime da tekil olmasını sağlamaktadır. Bu da object’nin bir kere oluşturulup, istediğimiz kadar kullanmamızı sağlıyor. Böylece hem hız kazanıyoruz hem de memory alanından tasarruf etmiş oluyoruz. Data Access Layer’da uygulanabilir bir pattern’dır. Hemen bir örnek ile açıklayalım.

<?php
namespace Patterns{
	final class SingletonPattern{

		private static $object;

		private function __construct(){

		}
		public static function getObject(){
			if(!isset(self::$object)){
				$cls = __CLASS__;
				self::$object = new $cls;
				print("Oluşturdum!<br/>");
			}
			print("Zaten Vardım!<br/>");
			return self::$object;
		}
	}
}

namespace {

	$class  =& \Patterns\SingletonPattern::getObject();
	$class1 =& \Patterns\SingletonPattern::getObject();
	$class2 =& \Patterns\SingletonPattern::getObject();
	$class3 =& \Patterns\SingletonPattern::getObject();
	$class4 =& \Patterns\SingletonPattern::getObject();

	//$class = new \Patterns\SingletonPattern();
}
?>

Ben bir metoda bağlayarak çağırdım siz public static bir instance yaratıp bunun üzerindende nesneyi temsil edebilirsiniz. Nesnemiz new ile yaratılmasını önlemek içinde nesnenin construction(yapıcı metod)’nı private olarak değiştirdik. Böylece eğer yorum satırına aldığım kodu çalıştırmayı denerse biri FATAL ERROR dönecektir.

Kod çalıştığında 1 kez “Oluşturdum!” ve 4 kez “Zaten Vardım!” yazması gerekiyor. Buradanda şunu anlıyoruz 1 kere nesne oluşturulmuş ve diğer 4 nesne oluşturma girişimlerinde daha önceden oluşturulup RAM’e yüklenmiş olan object bize verildi.

Konu hakkında biraz daha bilgi isterseniz http://phpnedir.net/Page_singletonPattern.do buradaki kısa yazımı okuyabilirsiniz.

İyi Çalışmalar.

 

Mozilla Firefox 3.6 Release

17 Mar

Mozilla Firefox

Merhaba,

Bildiğiniz üzere Mozilla Geliştirici Merkezini kısa bir süre önce aktif etmiştik. Buradan son gelişmelere ve bilgilere ulaşabilirsiniz.

Firefox 3.6 ile artık daha hızlı ve daha güvenli bir web deneyimi yaşayabilirsiniz.

http://www.firefox.com adresinden yükleyebilirsiniz. MDC resmi Twitter hesabını takip etmek için tıklayınız

MDC Türkiye Blogu

 
 

Microsoft Tag Beta

15 Mar

Microsoft Tag

Merhaba,

Microsoft Tag projesi ile aynı Nokia Barcode sistemi gibi bir işe girişmiş fakat Microsoft’un ki renkli, kişiselleştirilebilir ve tahmin ettiğiniz gibi iş katmanı olan bir proje. İleri de bir çok ürünün üzerinde görebiliriz. İyide olur gibi. :) Bir sürü yazı yerine sadece ufak bir logo.

Buradan tanıtım videosunu izleyebilirsiniz.

Custom Microsoft Tag

Yukarıda gördüğünüz gibi. (Sol tarafta Microsoft Tag etiketi / Sağ tarafta Nokia Barcode Etiketi)

Buradan yola çıkarak yukarıdaki anlam veremediğiniz logo’da http://www.hakandamar.com ‘un Microsoft Tag hali. :) Bu şekilde linkler, metinler v.s.’i MsTag ile etiketleyebilirsiniz.

Telefonunuza yüklemeniz gereken uygulamayı ister cep telefonunuzdan http://gettag.mobi adresini ziyaret ederek isterseniz de http://www.hakandamar.com/down/msTagSmsService.php buradan telefonunza SMS olarak gönderebilirsiniz.

Telefonunuza yükledikten sonra test etmek için MsTag programını başlatın ve telefonunuzun kamerasını bu yazının üstündeki MsTag’a doğru tutun. O doğru yolu size gösterecektir. :)

Yakında kendi projelerimden bir kaçında kullanacağım. :)

İyi Çalışmalar.

 
No Comments

Posted in Genel

 

Google URL Kısaltma Servisi

08 Mar

Merhaba,

Google’un URL kısaltma servisini kullanmak istiyorsanız aşağıdaki şekilde gerçekleştirebilirsiniz.

<?php
namespace webServices{
	class GoogleURL{

		private static $url;

		public function __construct(){}
		public function __destruct(){}

		public function _get(){
			define("serviceURL","http://ggl-shortener.appspot.com/?url=");
			$url      = serviceURL.urlencode(self::$url);
			$request  = file_get_contents($url);
			$response = (array)json_decode($request);
			$result = "<a href='".$response["short_url"]."' target='_blank'>".$response["short_url"]."</a>";
			return $result;

		}

		public function _set($longURL){
			self::$url = $longURL;
		}
	}
}
?>

Kullanımı;

namespace {
	$shortURL = new \webServices\GoogleURL();
	$shortURL->_set("http://www.hakandamar.com");
	print($shortURL->_get());  //http://goo.gl/7aVg
}

Çıktı olarak yeni bir Tab/Pencere ‘de açılan HTML link kontrolü döner. Link’e göre orjinal URL’e ulaşmakta mümkündür.

İyi Çalışmalar.

 
4 Comments

Posted in PHP

 

Gelişmiş TC Kimlik No Algoritma Kontrolü

08 Mar

Merhaba,

Bildğiniz üzere TC kimlik no sorgulama web servisi açıldıktan bir süre sonra paralı olarak hizmet vermeye başladı. Eğer kullanıcılardan alacağımız TC kimlik no bizim için önemli ise bunun kontrolünü gerçekleştirmemiz gerekmektedir. Bu object ile girilen TC kimlik numarasının algoritmasını kontrol ederek, en azından geçerli bir TC kimlik no mu? değil mi? bunu bilebiliriz.

Eğer web servisi hizmeti alıyorsanız bile geçersiz sorgu istekleri ile ekstra ücret ödemek istemiyorsanız, sorguyu web servisine göndermeden önce bu object ile algoritmasını kontrol etmenizi tavsiye ederim.

TC Kimlik No Controller Object v0.1;

<?php
/**
 * Tc Kimlik No Algoritma Kontrolü
 * @author Hakan DAMAR
 * @link http://www.hakandamar.com
 */
namespace Securty{

	class Controller{

		private static $tcNo;
		protected $errCount;

		public function __construct(){
			// maybe use later...
		}

		protected function _tcNoCheck(){
			//Default Error Counter
			$this->errCount = 0;

			// For Controller
			$isDouble = is_double(self::$tcNo);
			$size     = strlen(self::$tcNo);
			$type     = gettype(self::$tcNo);

			// First Controller
			if(self::$tcNo == "" || self::$tcNo == null || self::$tcNo == 0){
				$this->errCount = 5;
			}else if($size != 11 && $type != "integer"){
				// Data Type Size Controller
				$this->errCount = 1;
			}else if($type == "integer"){
				// Type convert controller
				$this->errCount = 3;
			}else if($isDouble != true) {
				// Data Type Controller
				$this->errCount = 2;
			}else{
				// TC NO's
				$tc1;$tc2;$tc3;$tc4;$tc5;$tc6;
				$tc7;$tc8;$tc9;$tc10;$tc11;

				$tc1 = substr(self::$tcNo,0,1);
				$tc2 = substr(self::$tcNo,1,1);
				$tc3 = substr(self::$tcNo,2,1);
				$tc4 = substr(self::$tcNo,3,1);
				$tc5 = substr(self::$tcNo,4,1);
				$tc6 = substr(self::$tcNo,5,1);
				$tc7 = substr(self::$tcNo,6,1);
				$tc8 = substr(self::$tcNo,7,1);
				$tc9 = substr(self::$tcNo,8,1);
				$tc10 = substr(self::$tcNo,9,1);
				$tc11 = substr(self::$tcNo,10,1);

				//First Algo. Checks
				$algoCheck1 = (($tc1 + $tc3 + $tc5 + $tc7 + $tc9) * 7);
				$algoCheck2 = abs(((($tc2 + $tc4 + $tc6 + $tc8) - $algoCheck1) % 10));
				$algoCheck3 = (($tc1 + $tc2 + $tc3 + $tc4 + $tc5 + $tc6 + $tc7 + $tc8 + $tc9 + $tc10) % 10); 

				if($algoCheck2 != $tc10){
					$this->errCount = 4;
				}

				if($algoCheck3 != $tc11){
					$this->errCount = 4;
				}
			}

			// Error Controller
			$errControl = self::errorHandler($this->errCount);
			if($errControl != 200){ // 200 HTTP OK!
				print($errControl);
				exit;
			}else{
				$result = "<font color='green' size='+2'><b>GEÇERLİ T.C. Kimlik No.</b></font>";
				//$result = true;
				return $result;
			}

		}

		protected function errorHandler(){
			$errID = $this->errCount;
			switch ($errID) {
				case 0:
					$err = 200;
					break;
				case 1:
					$err = "<font color='red' size='+3'><b>T.C. kimlik no 11 haneli olmak zorundadır!</b></font>";
					break;
				case 2:
					$err = "<font color='red' size='+3'><b>T.C. kimlik no sadece sayısal girilmelidir!</b></font>";
					break;
				case 3:
					$err = "<font color='red' size='+3'><b>T.C. kimlik no 0(sıfır) ile başlayamaz ve 11 hane olmak zorundadır!</b></font>";
					break;
				case 4:
					$err = "<font color='red' size='+3'><b>Geçersiz T.C. kimlik no!!!</b></font>";
					break;
				case 5:
					$err = "<font color='red' size='+3'><b>Bu alan boş bırakılamaz!</b></font>";
					break;
				default:
					throw new Exception("<font color='red' size='+3'><b>Beklenmedik bir hata meydana geldi!</b></font>");
				break;
			}
			return $err;
		}

		public function _get(){
			return self::_tcNoCheck();
		}

		public function _set($tcNo){
			self::$tcNo = $tcNo;
		}
	}
}
?>

Kullanımı;

namespace {

	$tcController = new \Securty\Controller();
	$tcController->_set(92108806946);
	print($tcController->_get());

}

Bir kontrol için bu kadar çok kod olması gözünüzü korkutmasın.
1 kontrolü benim pc’im de 0.2ms’de gerçekleştiriyor.
Söz konusu bir server olunca bu süre dahada kısalacaktır.

İyi Çalışmalar.

 
8 Comments

Posted in PHP

 

AzBul.NET | Beta 4 Yayında

25 Feb

Merhaba,

Daha önce Beta 3′nü duyurmuş olduğum AzBul.NET arama motorunun Beta 4 versiyonu bugün yayına alındı.

Yeni özellikler ve değişiklikler aşağıdaki gibidir;

  • Thumb’lar küçültüldü ve 2x kat hızlandırıldı.
  • Sistem genel olarak 5x kat hızlandırıldı.
  • Arama süresi ve sonuç sayısı eklendi.
  • En iyi sonuç sayısı 30′dan 50′ye çıkartıldı.
  • Reklam sisteminin alt yapısı test edildi ve uyumluluğu kontrol edildi.
  • Tasarım TABLE yapısından DIV yapısına geçirildi.
  • Page Speed Score %84′den %92′ye yükseltildi.
  • Fransızca dil seçeneğindeki problem düzeltildi.
  • Yeni eklenecek 9 dil için testler yapıldı.
  • Hizmet veren IP aralığı yükseltildi.
  • Caching yapısı güçlendirildi.
  • Güvenlik arttırıldı.
  • Türkiye için adult arama keyword’leri engellendi.

AzBul.NET’in diğerlerine göre farkı ne?
Azbul.NET size Google gibi 100 milyon sonuç sunmaz ama fazlasına erişebilir. Bunun yerine en iyileştirilmiş 50 sonucu döner. Relase ettiğimizde kullanıcılar siteleri oylayarak sıralamayı değiştirebilecekler.

Web Site URL: http://azbul.net

İyi Çalışmalar.

 
4 Comments

Posted in Genel

 

PHP NameSpace Kullanımı

22 Feb

Merhaba,

Bildiğiniz üzere PHP,  5.3.x versiyonundan itibaren NameSpace ‘i desteklemeye başlamıştı. PHP 6.x ile OOP adına bir çok şeyin yerine oturmasını bekliyorum ve PHP 6′yı sabırsızlıkla bekliyorum.

Öncelikle NameSpace’ler hakkında kısa bir bilgi verelim ve hemen örneklere geçelim. NameSpace yani İsim Alanları 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.

X:\ sürücü altına bir klasör oluşturup herşeyi bunun içine koyduğunuzu düşünün. İçindeki dosya sayısı 1.000′i geçtiğinde veya yaklaştığında, artık içinde bir şey bulmanız zorlaşacaktır. NameSpace’leri PC’ye uyarlarsak. A0023.jpg diye bir dosyanızın olduğunu varsayalım. Bu dosyayı X:\ sürücüsünün içindeki 10,000 dosya içerisinde aramak mı daha kolay? Yoksa X:\ sürüsünün altına X:\Photos\Summer\2009\A0023.jpg diye bir path’te bulmak mı? NameSpace’ler de bu şekilde kodlarımızı ayırmamızı sağlar. Yine WFS(Windows File System)’de olduğu gibi X:\Photos\Summer dizini altına  foo.txt diye bir dosya oluşturabileceğiniz gibi X:\Photos\Summer\2009 dizini altınada aynı isimde bir dosya oluşturanız WFS size karışmayacaktır.

Aynısını NameSpace’e göre açıklarsak; fooPage.php içerisinde  namespace spaceOne {  const fooC = 9; } ve namespace spaceTwo{ const fooC = 7; } diye yazdığımızda ikitane aynı isimde constant olmasına PHP kızmayacaktır. Çünkü farklı namespace’ler de bulunmaktalar. WFS’e göre farklı dizinler diye düşünebilirsiniz.

Şimdi örnek ile namespace kullanımını ve namespace içerisinde farklı bir namespace’i kullanmayı görelim;

<?php
/**
 * PHP | NameSpace
 * @author Hakan DAMAR
 * @link http://www.hakandamar.com
 */
declare(encoding="UTF-8");

namespace mainSpace{

 const conn_open = 1;
 class Connection{}
 function Connect(){}

}

namespace secondSpace{
	const conn_open = "Connected";
	class Connection{}
	function Connect(){}
}

namespace childSpace{
	use secondSpace as ss;
	function getConnectionStatus(){
		$conn_open = ss\conn_open . "!!!";
		return $conn_open;
	}
}

namespace {

	print(\mainSpace\conn_open."<br/>");
	print(\secondSpace\conn_open."<br/>");
	print(\childSpace\getConnectionStatus());

}
?>

Örnektende anlaşılacağı üzere namespace’ler namespace <nameSpace Adi> şeklinde tanımlanır. Peki, en altta isimsiz bir namespace var? O global namespace’dir.
İçerisinde hem diğer namespace’leri çağırabilirsiniz hem de normal PHP kodlarınızı yazmaya devam edebilirsiniz.
En üstteki declare() metodu object’in encoding’ini belirtmek için kullanılmaktadır. enconding haricindeki Diğer property’leri namespace kullanılan sayfalarda kullanılamaz!

Bir de childSpace’de use secondSpace ile seconSpace’i çağırdık ve as ss ile secondSpace ismini ss keyword’ne atadık. Değişken tanımlamak gibi düşünürsek $ss = “secondSpace”; dir.
Bundan dolayıda artık secondSpace’i ss temsil edecektir. Bu nedenle $conn_open variable’ın da secondSpace\conn_open yerine ss\conn_open kullanılmıştır.

NOT: namespace tanımı üzerinde declare(); metodu hariç hiç bir kod olamaz, aksi taktirde PHP Compiler ERROR dönecektir.

İyi Çalışmalar.

 
3 Comments

Posted in PHP

 

Windows 7 Uyumluluk Kontrolü

11 Feb

Merhaba,

Windows 7′yi beta sürecinden beri takip ediyorum ve beğenerek kullanıyorum. Win7 çıkmadan önce geliştirmiş olduğumuz C#.NET uygulamalarınıza Win7 uyumluluk kontrolü eklemek için aşağıdaki kodu kullanabilirsiniz.

-

if (Environment.OSVersion.Version &lt; new Version(6, 1))
{
       MessageBox.Show("Windows 7 İşletim Sistemi Gerekmektedir.",
              "Uyumsuz İşletim Sistemi", MessageBoxButtons.OK,
              MessageBoxIcon.Error);
       return;
}

Version(5,1) olarak değiştirirsenizde Windows XP sürümünü denetleyebilirsiniz.

İyi Çalışmalar.

 
No Comments

Posted in C#

 

IIS7 – Error establishing a database connection Error

10 Feb

MySQL Logo

Merhaba,

Bugün Bloguma girdiğimde HTTP 500 Internet Server Error mesajı ile karşılaştım. Loglardan baktığımda “Error establishing a database connection” hatası ile karşılaştım.

Eğer sizde IIS 7.x üzerinde WordPress kullanıyorsanız, ve yüksek hitiniz var ise aynı problemle karşılaşabilirsiniz. Çözümü basit. Blogunuza özel bir MySQL Login Account’ı açıp wp-confing.php dosyasına bu bilgileri yazarak, blogunuzun bu giriş bilgileri ile MySQL Server’a bağlanmasını sağlayabilirsiniz.

Tek bir hesap oluşturup bütün MySQL DB alt yapısını kullanan yapılarlada da karşılaşabilir. Mümkün mertebe her application için bir mysql login account’ı oluşturunuz.

İyi Çalışmalar.

 
No Comments

Posted in MySQL