Yeni projeler
Terzinin söküğünü dikemediği gibi bırakın mfyz.com ile ilgilenmeyi, portfolyoma yeni projeleri ekleyecek zaman bile bulamıyorum. Yeni projeler birikti ve birkaçını portfolyoya ekledim.

Zamanın Eskitemediği Bira Tekel Birası konseptiyle dönüş yapan Tekel birası için hazırladığımız zaman makinesi ile facebook bağlantısı ile yüz giydirerek zamanın eskitemediği "şey"lerde yolculuk yapabilirsiniz. Benzer konsept ile tasarlanıp içerikleri oluşturulan Zamanın eskitemediği Blog'daki sorualrı cevaplayarak Tekel Birası t-shirt'leri kazanabilirsiniz.
http://www.tekelbirasi.com vehttp://zamanineskitemedigibira.tekelbirasi.com adresinden iki projeye de ulaşabilirsiniz.

Fritolay için 1. fazını hazırladığımız Hisselitatlar kampanya'sının 2. fazı olan "Seç tadı al parayı" konseptinde ilk fazda önerilen tatları oylayarak her hafta yapılan çekilişle 10.000 lira kazanma şansı yakalayabilir veya anlık 10, 20, 100 kontör kazanabilirsiniz. Hisselitatlar kampanyasının 2. fazına ait sayfaya dahttp://www.tytz.com/hisselitatlar/ adresinden erişebilirsiniz.
Bu projeleri ve geçmiş projelerimi görmek için dehttp://mfyz.net adresindeki portfolyo sayfamı gezebilirsiniz.
20 Ekim Salı ´09   —   3 Yorum

Fluence


2 hafta önce Proximity Istanbul'un organizasyonu ile bir çok blogger ve karikatürist ile Bursa'daki Renault Fabrikası gezisi düzenlendi. Bu projenin ilk aşaması idi tabiki :-) Wanda olarak fluencebirblogolsa.com'u hayata geçirdik ve Türkiye'nin ilk offline blog'u konsepti ile "Fluence bir blog olsa nasıl olurdu?" sorusunun cevabı, Selçuk Erdem, Erdil Yaşaroğlu ve Kaan Sezyum'un yaptığı tasarımlarla bulunmaya çalışıldı. Ortaya fluencebirblogolsa.com'daki 3 tasarım çıktı ve sizin oylarınızla bu tasarım 2. aşamada hayata geçirilecek. Ayrıca oy verirken Selçuk Erdem veya Erdil Yaşaroğlu'ndan e-imzalı karikatür de kazanacaksınız :-)

E şuradan devam edin o zaman :http://www.fluencebirblogolsa.com
Yavaş yavaş ufak tefek parça parça kodlar sunmaya başlıyorum.
http://projeler.mfyz.com/ subdomaini altında yayınlayacağım. Şimdilik ilkel ve sade/basit sayfalarla yakında daha da çoğalacak bir bölüm orası. Sonra şekillendiririm gerekirse.

mfyz.org'u biliyorsunuz (ya da bilmiyorsanız :http://mfyz.org ) çeşitli sosyal ağlarımdaki rss kaynaklarını işleyerek organik bir sayfa yapmıştım. Onun kodlarını paylaştım, hatta birkaç gün içinde nasıl yapıldığını da anlattığım 2 döküman yayınlayacağım.

Test/Demo :http://projeler.mfyz.com/lifestream/demo/

Proje sayfası ve ayrıntılar :
http://projeler.mfyz.com/lifestream/
19 Eylül Salı ´06   —   6 Yorum

Subversion nedir?

Subversion, adından da anlayabileceğiniz gibi sürüm yönetim sistemidir. Dosyaları ortak bir depoda tutup sürüm yönetimi sağlar. Subversion'u (genel kısaltması “SVN”) ile proje geliştirirken projenizin sürümlendirilmesini, global bir geliştirme ortamı sunmak amacı ile kullanırız.

Neden Subversion kullanayım?

Subversion'un proje geliştirirken birçok artısı var. Öncelikle her dosyanızın sürümlerini takip edebiliyorsunuz. En güzeli de subversion size o kadar güzel bir inceleme ortamı sunuyor ki, subversion ile eski sürüm dosyalarınızı, yeni sürümlerde neler değişmiş birebir görebiliyorsunuz. Diff görüntüleyici programlar kullanarak (ki çoğu GUI bazlı subversion clientlarında diff görüntüleyici vardır) son sürümde hangi satırlar eklenmiş hangileri değişmiş. hangi satırlar silinmiş kolaylıkla görebilirsiniz.
Bir diğer güzelliği de editör bazlı görebilmektir. Yani subversion'a atadığınız kullanıcılar veya sisteme ait kullanıcıların subversion'u kullanması iznini vererek. Bu sürümlerdeki değişimlerin kimler tarafında yapıldığını görebilmektir. Mesela bir düzenleme yapıldı ve ya hatalar oluştu ya da kodlar kayboldu, ya da gerçekten güzel bir düzenleme yapıldı, bunu kimin tarafından yapıldığını görebilirsiniz.

Ayrıca kendi dosya transfer protokolü sayesinde herhangi bir ftp gibi bir sunucu kurmanıza gerek kalmayacaktır.

SVN kurulumu

http://subversion.tigris.org/ adresinden işletim sisteminize uygun paketi inidirip kurabilirsiniz.

Debian ve debian tabanlı (mesela ubuntu) sistemlerde kolayca;
apt-get install subversion
komutu ile kurabilirsiniz.

Ben ubuntu'da;
apt-get install subversion subversion-helper-scripts subversion-tools
komutu ile subversion ve subversion araçlarını kolayca kuruyoruz.

SVN kullanımı/komutları



Depo oluşturmak

Yeni bir SVN deposu oluşturmak için svnadmin komutunu kullanırız.
svnadmin create /home/deneme/
Bu komut ile /home/deneme klasörümüzü svn repo'su olarak ayarlayabiliriz. Bu komutu uyguladıktan sonra aşağıdaki ağaç yapısına benzer bir dosya/dizin yapısı oluşacaktır.
/home/deneme/
|-- README.txt
|-- conf
| |-- authz
| |-- passwd
| `-- svnserve.conf
|-- dav
|-- db
| |-- current
| |-- format
| |-- fs-type
| |-- revprops
| | `-- 0
| |-- revs
| | `-- 0
| |-- transactions
| |-- uuid
| `-- write-lock
|-- format
|-- hooks
| |-- post-commit.tmpl
| |-- post-lock.tmpl
| |-- post-revprop-change.tmpl
| |-- post-unlock.tmpl
| |-- pre-commit.tmpl
| |-- pre-lock.tmpl
| |-- pre-revprop-change.tmpl
| |-- pre-unlock.tmpl
| `-- start-commit.tmpl
`-- locks
  |-- db-logs.lock
  `-- db.lock

8 directories, 23 files
Eğer komut hatasız işletilmiş ve bu dosya/dizinler oluşmuşsa svn repomuz oluşmuştur. Buradaki dosya ve dizinlere dokunmamanızı öneririm. Şimdi Herhangi bir dille yazdığımız projemizi bu depoya ekleyelim. Varolan projemizin /tmp/projem dizininin altında olduğunu varsayarsak;
[email protected]:~$ cd /tmp/projem/
[email protected]:/tmp/projem$ mkdir trunk branches tags
proje dizinimizde “trunk”, “branches”, “tags” adlı 3 dizin oluşturuyoruz. Şimdi proje ana (root) dizinimizi trunk dizininin içine taşıyoruz. Projeniz trunk dizini içerisinde yer almalı.

Depoya yeni bir proje eklemek

Dizin/dosyalarımızı yukarıdaki gibi düzenledikten sonra;
[email protected]:/tmp/projem$ svn import /tmp/projem file:///home/deneme/ -m "Proje Adı"
Adding /tmp/projem/trunk
Adding /tmp/projem/trunk/dizinim
Adding /tmp/projem/trunk/dizinim/veri.txt
Adding /tmp/projem/trunk/dizinim/indeks.txt
Adding /tmp/projem/trunk/deneme.php
Adding /tmp/projem/trunk/info.txt
Adding /tmp/projem/trunk/index.php
Adding /tmp/projem/branches
Adding /tmp/projem/tags

Committed revision 1.
yani;
svn import /tmp/projem file:///home/deneme/ -m "Proje Adı"
komutu ile projemizi depomuza ekliyoruz.

Bu işlem sonucunda artık SVN üzerinden çalışabiliriz. Bu komut /tmp/projem dizinini çalışma dizini haline getirmez!

Bu noktadan itibaren geliştirici grubu svn üzerinden sürüm yönetimi ile çalışabilecektir.

SVN'deki bir proje ile çalışmak (geliştirici komutları)

SVN'de yayında olan bir proje ile çalışmanız için öncelikle o projenin son sürüm kopyasını bilgisayarınıza çekmeniz gerekir.
svn checkout file:///home/deneme/trunk proje_calisma_dizinim
komutu ile snv projemizi bulunduğumuz dizinde "proje_calisma_dizinim" adlı dizine (yoksa oluşturulacaktır) kopyalamış oluyoruz.
Bu komutun çıktısını şuna benzeyecektir :
[email protected]:~$ svn checkout file:///home/deneme/trunk proje_calisma_dizinim
A proje_calisma_dizinim/deneme.php
A proje_calisma_dizinim/dizinim
A proje_calisma_dizinim/dizinim/veri.txt
A proje_calisma_dizinim/dizinim/indeks.txt
A proje_calisma_dizinim/info.txt
A proje_calisma_dizinim/index.php
Checked out revision 1.
Şimdi bilgisayarımızdaki proje_calisma_dizinim içerisinde olan projemizde istediğimiz değişikliği yapabiliriz. Yaptıktan sonra yeni sürüm dosyalarımızı sunucuya yüklemek için;
[email protected]:~/proje_calisma_dizinim$ svn commit --message "hatalar düzeltildi"
Sending index.php
Sending info.txt
Transmitting file data ..
Committed revision 2.
yani;
svn commit --message "hatalar düzeltildi"
komutu bize düzenlediğimiz dosyaları otomatik olarak sunucuya yükleyecek ve yeni sürümlere yükseltecektir. Burada sadece değişen dosyalar yüklenecektir. SVN bunu otomatik olarak tespit edip yapacaktır. --message ile yeni sürüme ait notları belirtiriz.

Siz projeyi geliştirirken başka bir geliştirici kod ile oynamış olabilir onun için çalışmaya başlamadan
snv update
komutu ile projeyi son sürüme güncellemiş oluruz.
Unutmayın, svn oturum tutarak çalışır. Yani checkout ile bir svn deposuna bağlanmamışsanız update, commit gibi komutlar bir işe yaramayacaktır. Bu komutlar son bağlantı kurduğunuz SVN deposunda çalışacaktır.

Projeye dosya ekleme, çıkarma, kopyalama ve taşıma işlemlerini;
svn add dosya.txt
svn delete dosya.txt
svn copy orjinal_dosya.txt kopya.txt
svn move eski_dosya.txt yeni_dosya.txt
komutları ile yapabilirsiniz.

Projedeki değişimleri izlemek için;
svn log
komutu ile değişiklik listesini alabilirsiniz.

Subversion, commit işlemi yaparken transferin daha güvenli olması için işlemleri bir günlük (log) dosyasına atar. Sunucuya yükleme işlemi yapıldıktan sonra bu günlük dosyasındaki değişimler uygulanır ve commit işlemi sona erer. Eğer commit işlemi olurken bir aksaklık olursa (bağlantı kopması, elektirik kesilmesi gibi) bu günlük dosyası silinmez ve kalır. Bu günlükteki işlemleri tamamlatmak için;
svn cleanup
komutu uygulanır.

Eğer süreçlerden birisi kitli kalmışsa;
svn status
çıktısında "L" olarak görünen dosyalar kitli kalmıştır, bu da svn cleanup komutu ile çözülür.


SVN hakkında çok geniş bilgi edinmek için Dosyalar bölümündeki dökümanlar klasöründeki
http://www.mfyz.com/dosyalar/Dokumanlar/svn-book-html.tar.bz2 dosyasını indirerek edinebilirsiniz. (SVNBOOK, İngilizce)


Hazırlayan : Mehmet Fatih YILDIZ

Kaynaklar : Belgeler.org SVN kullanım dökümanı

Popüler Etiketler

linux konsol login php apache kurulum css css3 html form radio style date sql diff blog rss javascript js mobile startups opengraph graph api facebook share social wanda mdb2 pear injection iphone notebook laptop lisans license support jquery textarea wordpress cms link plugin less open source google network app developer twitter istatistik insanlar örnek kod code development session firefox download apple portfolio doritos tytz imza signature mail internet statistics sitemap generator kontrol yapıları if while ruffles oyun mfyz table media box optimizasyon internet explorer server iOS webkit web app music newsletter optimization fql seo digital medya htaccess route router mod_rewrite calendar tool button pharma hack chart grafik lifestream dokuman bootstrap html5 browsers kampanya ubuntu ntfs fstab mootools proje meta input ide editor phpstorm jetbrains deployment version control svn git ie browser prepare execute parse xml regex language workspace db database service free macosx url search sosyal ajax xmlhttprequest assets framework select windows www subdomain redirect crossdomain coding osx player applications wireless logo widget mysql subscription spam gimp howto icon ikon xhtml analyse procedure connect job screen terminal cache export switch auth ios ui ux nedir integration icons compile compiler on-the-fly http ipad ipucu subversion ingilizce zaman tebrik mssql pgsql query design kitap object nasıl tarih itunes banner cookie app store store in-app purchase purchase verification storekit itunes connect