31 Temmuz 2012 Salı
ExtJs fayda ve zararlari - Extjs kullansak mi?
ExtJs Çok şık Extjs, çok şık bir javascript frameworküdür. Şık demek istemem, gerçekten göze hitap eden ve business ihtiyaçlarını iyi düzeyde karşılayan bir görselde olmasından dolayıdır. Extjs ile bir proje yaparsanız, insanların "gerçekten" hoşuna gider. Komponent Bazlı Extte oluşturacağınız yapının mimarisi size ait olmakla birlikte, genelde komponent bazlı bir şekilde geliştirmeye çok müsaittir. Data Orinted Ajax isteklerini iyi organize etmesi, data orinted çalışan bir yapıda olması, sizi tasarım konularını nasıl yapacağınızı düşünmekten ziyade, işinizi en hızlı şekilde yapmaya yöneltir. Garip Hatalar.. Extjs de en hızlı şekilde hiç bir şey yapamazsınız. Javascriptte OOP yapıları 20 yıllık tecrübeyle bile biliyor olsanız dahi, Extjs önünüze "a is undefined" gibi bir hata döndürebilir. Bu da milyonlarca satır içinde komik gelebilir size.. Eksik dökümantasyon ve Dökümantasyonda olmayan parametreler (!) Extjs nin paralı desteği var. Ben bu sebeple veya değil, dökümantasyonlarına koyulmamış bir sürü parametre keşfettim bugüne kadar. Bir durum oluyor ve örneğin bir yer gözükmüyor. (extte bu hata çok normal oluyor bir süre sonra..) Foruma girip soruyorsunuz. Bir uzman cevaplıyor. Ancak bahsi geçen parametrenin dökümnatasyonda adı bile geçmiyor... Kısıtlı Örnekler İnternet ortamında genel olarak küçük komponentlerin kullanımını gösteren yerler var ancak, tam bir örnek hiç bir zaman bulamıyorsunuz. Geliştirmesi Zor Ne kadar iyi bilirseniz bilin, Extjs de garip şeylerde zorlanacaksınız. Bir buton koymak için 2 saat harcayablirsiniz, ki bu gayet normal olabiliyor kurmaya çalıştığınız mimariye göre. Saçlarınız dökülebilir, şimdiden uyarıyorum. Sonuç : Extjs kullansak mı? Extjs gerçekten çok şık. Web service mantığında çalışabildiğinden + ajax ile arası iyi olduğundan, kullanmayı tercih ediyorum. Sizlere de ancak, biraz uğraşın bakın bakalım içinden çıkabileceğinizi düşünüyorsanız, veya boşa vakit harcamayacağınızı düşünüyorsanız, kullanın. Devamı için : ExtJs fayda ve zararlari - Extjs kullansak mi?
30 Temmuz 2012 Pazartesi
exe dosyasini windowsta servis olarak install etmek
Bu işlem aslında epey basittir. cmd ekranını yonetici yetkileriyle çalıştırınız. (kısayolu varsa ctrl + shift + tıklayın veya sağ tıklayıp yonetici yetkisiyle çalıştır deyin)
c:/dizine/giden/yol/deneme.exe -d install //bu komut yükler c:/dizine/giden/yol/deneme.exe -d start //bu komut başlatır.Devamı için : exe dosyasini windowsta servis olarak install etmek
25 Temmuz 2012 Çarşamba
komut satirindan mysql'e baglanmadan veritabani (database) olusturmak
mysql ile bağlantı kurmadan, komut satırından, mysql ile ilgili işlemleri aşağıdaki komut ile yapabiliriz.
mysql -uroot -ppass -e 'komut;'bağlantı kurmadan veritabanı oluşturmaca ise şöyle ;
mysql -uroot -ppass -e 'create database if not exist [database_name] default character set = [character_set] collate = [collation_name];';-uroot yerine -u{kullanıcı adınız} ve -ppass yerine -p{şifreniz} yazmayı unutmayınız. Devamı için : komut satirindan mysql'e baglanmadan veritabani (database) olusturmak
komut satırından database olusturmak
mysql'de bir database yaratmak istediğimizde ;
mysql> create database if not exists [database_name];ayrıca şu parametreleri de ekleyebiliriz ;
mysql> create database if not exists [database_name] default character set = [character_set] collate = [collation_name];Örnek;
mysql> create database if not exists gokhan default character set = utf8 collate = utf8_unicode_ci;oluşturduğumuz yada mevcut olan bir veritabanının özelliklerini görmek için;
SHOW CREATE DATABASE [database_name];Devamı için : komut satırından database olusturmak
mysql root sifresini degistirmek
mysql'de root şifresi hiç değiştirilmediyse, aşağıdaki komutla root şifresi edinebiliz;
mysqladmin -u root password [şifre];root şifresini değiştirmek istiyorsak, aşağıdaki komutu kullanabiliriz;
mysql -u root p; mysql> use mysql; mysql> UPDATE user SET password=PASSWORD('şifre') WHERE User="root"; mysql> flush privileges; phpmyadmin şifresini değiştimek için de şu işlemi uygulayabiliriz; mysql> SET PASSWORD FOR root@localhost=PASSWORD("yenişifre"); Devamı için : mysql root sifresini degistirmek
mysql komutları (mysql commands)
Giriş yapmak ;
[mysql_dir]/bin/mysql -u root -pBir database yaratmak (ek olarak default character set ve collate ekleyebilirsiniz) ;
mysql> create database [database_name];Tüm databaseleri listelemek ;
mysql> show databases;Bir database seçmek ;
mysql> use [database_name] ;Seçtiğimiz databasede bulunan tüm tablaları görmek ;
mysql> show tables;Tablonun yapısını görmek ;
mysql> describe [table_name] ;Database silmek ;
mysql> drop database [database_name] ;Tablo silmek ;
mysql> drop table [table_name] ;Tablodaki bütün verileri görmek ;
mysql> SELECT * FROM [table_name];Tablodaki sütunları ve özelliklerini görmek ;
mysql> show columns from [table_name];Tablodaki verileri bir kritere göre listelemek ;
mysql> SELECT * FROM [table_name] WHERE [field_name] = "kriter";Tabloda name sütunundaki veri 'Ahmet' ve phone sütunundaki veri '123123123' olan verileri listelemek ;
mysql> SELECT * FROM [table_name] WHERE name = "Ahmet" AND phone = ""123123123";Tabloda name sütunundaki veri 'Ahmet' olmayan ve phone sütunundaki veri '789789789' olan verileri numara sırasında göre listelemek ;
mysql> SELECT * FROM [table_name] WHERE name != "Ahmet" AND phone = "789789789" ORDER BY phone;Tabloda name sütunundaki veri 'Ahmet' ile başlayan ve phone sütununda '123123123' olan verileri listelemek ;
mysql> SELECT * FROM [table_name] WHERE name = 'Ahmet%' AND phone = "123123123";Tabloda name sütunundaki veri 'Ahmet' ile başlayan ve phone sütununda '123123123' olan verileri 1,5 aralığında (5 adet) listelemek ;
mysql> SELECT * FROM [table_name] WHERE name = 'Ahmet%' AND phone = '123123123' LIMIT 1,5 ;Tabloda rec sütunundaki veri 'a' ile başlayan verileri listelemek ;
mysql> SELECT * FROM [table_name] WHERE rec RLIKE '^a';Bir sütundaki unique verileri listelemek ;
mysql> SELECT DISTINCT [column_name] FROM [table_name];Tabloda belirlediğimiz sütundaki verileri belirleriğimiz bir artma(ascending - ASC) veya azalma(descenging - DESC) sırasına göre listeler;
mysql> SELECT [column_1], [column_2] FROM [table_name] ORDER BY [column_2] ASC;Tablodaki satır sayısını verir ;
mysql> SELECT count(*) FROM [table_name];Sütundaki toplam değeri verir ;
mysql> SELECT SUM(column) FROM [table_name];BUNU TEKRAR YAP. Tabloları join etme ;
mysql> ;Yeni bir kullanıcı yaratıp root olarak giriş yapma ;
mysql -u root -p mysql> use mysql; mysql> INSERT INTO user (Host, User, Password) VALUES ('%', 'username', PASSWORD('password')); mysql> flush privileges; Kullanıcının şifresini değiştirme ; mysql> SET PASSWORD FOR 'user'@'hostname' = PASSWORD('password'); mysql> flush privileges; mysql root password geri almak (mysql server işlemini durduruyoruz, skip-grant-tables yaparak mysql'e root olarak giriş yapıyoruz. yeni şifreyi set ediyoruz, sonra mysql'i restart ediyoruz. ); /etc/init.d/mysql stop mysqld_safe --skip-grant-tables mysql -u root mysql> use mysql; mysql> UPDATE user SET password=PASSWORD("newrootpassword") WHERE User='root'; mysql> flush privileges; mysql> quit /etc/init.d/mysql stop /etc/init.d/mysql start root şifresi hiç değiştirilmediyse, bir şifre vermek için ; mysqladmin -u root password newpassoword ;root şifresini değiştirme ;
mysqladmin -u root oldpassword newpassword ;'ahmet' isimli kullanıcıya "pass" şifresi erişim izni verme;
mysql> use mysql; mysql> grant usage on *.* to ahmet@localhost identified by 'pass'; mysql> flush privileges;Veritabanı için kullanıcıya yetki vermek (2 yolu vardır). ; 1 )
# mysql -u root -p mysql> use mysql; mysql> INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES ('%','databasename','username','Y','Y','Y','Y','Y','N'); mysql> flush privileges; ; 2 ) mysql> grant all privileges on databasename.* to username@localhost; mysql> flush privileges; ;Update işlemi ;
mysql> UPDATE [table_name] SET [column_1] = 'A', [column_2] = 'B' WHERE [field_name] 'user';Tablodan satır silmek ;
mysql> DELETE FROM [table_name] where [phone] = '123123123';Dosya izinlerini güncellemek;
mysql> flush privileges;Tablodan bir sütun silmek ;
mysql> ALTER TABLE [table_name] DROP COLUMN [column_name];Tabloya bir sütun eklemek ;
mysql> ALTER TABLE [table_name] ADD COLUMN [new_column_name] varchar(30);Tablodan bir sütunun ismi değiştirme ;
mysql> ALTER TABLE [table_name] CHANGE [old_column_name] [new_column_name];Bir sütunu unique hale getirmek ;
mysql> ALTER TABLE [table_name] ADD UNIQUE ([column_name]);Tablodaki bir sütunun yapısını düzenlemek (düzenlemeden önce varchar(50) olduğunu varsayalım);
mysql> ALTER TABLE [table_name] MODIFY [column_name] varchar(30);Tablodaki bir sütunun unique keyini kaldırmak ;
mysql> ALTER TABLE [table_name] DROP INDEX [column_name];CSV dosyasını tabloya aktarmak ;
mysql> LOAD DATA INFILE 'filename.csv' REPLACE INTO TABLE [table_name] FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (field1, field2, field3) ;Tüm veritabanlarını yedeklemek ;
mysqldump -u root -p --opt > alldatabase.sql ;Tek bir veritabanını yedeklemek ;
mysqldump -u root -p --databases databasename1 > database1.sql ;Bir veritabanından tek bir tabloyu yedeklemek ;
mysqldump -u root -p databasename tablename > database.table.sql ;Veritabanı içe aktarmak, onarmak ;
mysqldump -u root -p databasename < database.sql ;Tablo oluşturma örneği ;
mysql > CREATE TABLE IF NOT EXISTS `settings` ( `settings_id` int(11) NOT NULL AUTO_INCREMENT, `settings_name` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `status` enum('on','off') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'on', PRIMARY KEY (`settings_id`) ) ; Bu yazı buradaki yazıdan türkçeye çevirilmiştir. Devamı için : mysql komutları (mysql commands)
18 Temmuz 2012 Çarşamba
Ubuntu MongoDb kurulumu (ubuntu mongodb installation)
MongoDb'yi Ubuntumuza kurmak için, öncelikle install edeceğimiz yerin GnuPG (GNU Privacy Guard) (GPG) keyini bilgisayarımıza tanıtıyoruz. Terminale girip;
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10yazmamız gerekiyor. (Bu key, MongoDB'nin kendi internet sitesinde verilmiş.) Sonrasında da, MongoDB'yi indireceğimiz yeri bilgisayarımıza tanıtmamız gerekiyor. Bunun için de /etc/apt/sources.list.d dizinini açıyoruz ve burada 10gen.list adında bir dosya yaratıyoruz (touch komutu ile yapabiliriz). Sonrasında bu dosyayı bir editör ile açıp aşağıdaki satırı ekleyip kaydediyoruz.
deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10genArdından terminale girip sudo apt-get update yapıyoruz. Şimdi sıra geldi MongoDB'yi kurmaya! :D Terminalimizi açıp, aşağıdaki satırı uyguluyoruz, ve MongoDB, Ubuntumuza kurulmuş oluyor.
sudo apt-get install mongodb-10genTerminale mongo yazdığımız zaman MongoDB shell'i karşımıza çıkıyor. Test database'inin test collectionunda deneme yapmamızı sağlıyor ilk açtığımızda. Aşağıdaki satırlarla ufak bir deneme yapabiliriz.
> db.test.save({a:1}) > db.test.find() Bir sonraki yazımda, Ubuntu üzerinde çalışırken MongoDB'yi PHP ile nasıl kullanacağımızı anlatacağım. Devamı için : Ubuntu MongoDb kurulumu (ubuntu mongodb installation)
Kaydol:
Kayıtlar (Atom)