4 Ocak 2013 Cuma

Visual Studio 2010 ve .net 4.0

Evet bugün visual studio 2010 kurulumu yapmış ve 4.0 için hazırlıklarımı tamamlamış olmayı planlıyorum.
Öncelikle kurulu olan Visual Studio 2008 pro versiyonunu kaldırmakla işe başladım. Aynı zamanda sql server 2005 sqlexpress i kaldırdım.Bunları yaparken veri dosyalarınızı yedeklemeyi düşünebilirsiniz. Ayrıca vs 2008 ile ilgili olan birkaç sdk muhtemelen yüklüdür bunlarıda kaldırabilirsiniz.Bir sakıncası olmayacaktır. Yeni kurulumda yeni versiyonlarıda beraberinde gelicektir.

!!! - Eski projelerinizi upgrade etmede daha önceki denemelerimde oldukça başarılı olduğunu gördüğümden eski projeleriniz için endişelenmenize gerek kalmayacağını düşünüyorum. Ama her halükarda eski versiyonu kaldırmamayı da düşünebilirsiniz.

VS 2010 için kullanmayı düşündüğüm bilgisayarın konfigürasyonu;

Centrino Duo işlemci
2GB Ram
130GB HDD

Gelelim kuruluma
.......
Allan Bunları yazıp yazıp bırakmışım buralarda ne karalama ne kelime israfı yaw.
Ayrıca o kadar hızlı geçiyor ki zaman Visual Studio 2012 kullanıyorum. başım dönüyor.

Bir yıl geride kalmış .... Kaldığımız yerden devam 1 yılda nelermi oldu Neler olmadıki... :) yani benim açımdan

Yeni bir iş, yeni bir aşk .... S. Erener

Semfony2 ile ilgili yazılarıma devam etmek istiyorum fakat zaman kısıtı yüzünden biraz zor olacak gibi.

Bu süreçte öğrendiklerim 
Semfony2 mükemmele yakın bir sistem.

Neredeyse komple bir sistem yazdık;
oldukça zorlu bir işti fakat sonuç çok hızlı çalışan birden fazla site ile entegre olan (tabi ücretsiz servis veren) sonuç çıktı ortaya
görselliği konusunda Fatüü yine döktürdü.
asenkron işlemleri php nin getirdiği esneklikten sonuna kadar kullanarak gerçekleştirdik.
Veritabanı tarafında 
Semfony2 saolsun biraz başımı ağrıttı öğrenene kadar ama yok böyle bişey :) MVC sistemini bu kadar sevebileceğimi düşünmemiştim.

oluşturanlara buradan sevgiler.

Peki bu yıl nasıl geçti, .net web services ve Digital Sigange projesi ile geçti.
Bir eczane nöbet sistemi geliştirme fırsatım oldu

Bunları hem windows hemde web tabanlı çalışabilecek hale getirdim
Tabi yazıyoruz ama kullanılması konusunda bildiğiniz üzere CAPEX, OPEX vs.vs. Umarım kullanıma geçirebiliriz.
Şimdi bu sistemi ücretsiz olarak dağıtmak üzere bir site geliştiricez.

Bi isim bulmak lazım. Digital Signage, Free Sigange Ücretsiz Reklam 

Ekran görüntülerini sonraki yazılarda paylaşmak istiyorum

Ara ara yine web üzerine yazmaya devam etmeye çalışacağım fakat okuyucu kitlesi ve dönüşlere bakınca çokta cesaret edemiyorum açıkçası. Günlük gibi bakıyorum blog olayına da artık.

Yeni bir projede görüşmek üzere :)

sevgiler

5 Ocak 2012 Perşembe

PHP ve Framework üzerine - Symfony 2, .../...

Semfony2 dünyası yazılarından birinde daha beraberiz...
Senfonyde konfigürasyonlar
Symfony/app/config/ klasörünün içinde saklanmakta...
Ayrıca hazırladığımız application,bundle lar kendi konfigürasyonlarını saklayabilmekteler.

Bunlar ise genelde(genelde Çünkü kodlarınızı istediğiniz yerde oluşturabilirsiniz)
Symfony/src/KendiİsimUzayınız/Bundleİsmi/Resources/ klaösründe yer almakta...

Başlca konfigrasyon dosyaları
config.yml
(config_test,config_dev gibi isimler alarak çalışma durumunuza göre çeşitlendirip kullnılabilyor.)
$kernel = new AppKernel('dev', true);
ilk açtığınız sayfada app.php,app_dev.php gibi... bu environment durumu parametre olarak geçildiğinde hangi konfigürasyon dosyasının kullanılacağı belirlenmiş ve nabza göre şerbet verilmiş olabiliyor...
Peki neler olabili bu config dosyasının içerisinde...
FrameworkBundle Configuration ("framework")
adresinde tüm referansı bulabilirsiniz...
Ayrıntılarına ilk fırsatta girmek üzere..

1 Ocak 2012 Pazar

PHP ve Framework üzerine - Symfony 2, 4/...

Tekrar merhaba,
Öğrendikçe ısınılan, ısınıldıkça vazgeçilmez olan, vezgeçilmez oldukça daha çok öğrenme arzusu duyurtan Symfony2 ile ilgili yazmaya devam ediyorum... Vay anasını sayın seyirciler...

En son kurulum yaparak symfony2 ile ilgili ilk adımları nasıl atacağımıza özet te olsa bakmıştık.
Buradan dikkat edilmesi gereken noktalar var bunlardan bahsetmeden geçmek sanırım incelediğim bloglarda sinir bozucu bulduğum bazı şeyleri benimde tekrarlamam anlamına geleceğinden,
en başında şunları söylemekte fayda var.

- Konfigürasyon dosyalarınızda, yml vb. boşluklara mutalaka dikkat edin. Tab yerine boşluklar kullanın. Canınız sıkılabilir.

- Direk yml ile entity oluşturuluyormuş hadi yapalım yerine önceden bildiğiniz yönetemlerden gelerek çalışın. Yani veritabanından entitiyleri oluşturmanında yolu var. Önce bunu deneyebilirsiniz. How to generate Entities from an Existing Database işi tersten yapmak böyle bişey :)
Saatlerinizi kurtarabilirsiniz.

- Tamam anladım hadi yapalım deyip yola koyulmadan önce mutlaka dökümanı inceleyin bi çok angaryadan kurtulmuş olacağınıza garanti verebilirim. Heleki daha önce code generator, ve bu tarz çatı yapılar üzerinde çalışmadıysanız...

- Baştan bütün projenizi belirleyin.
İnanın plan yapmak herzaman yolun yarısını bitiriyor. Sonradan düzenleriz not al abi bunu pek burda işe yaramaz... (Tecrübe ... )

Bu küçük naçiz tavsiyelerden sonra gelelim Kurulum sonrası işlemlerin ilk adımına
Bu bölümü ikiye ayırmak istiyorum...
1. Bölüm Bundle diye tabir edilen Uygulama parçaları konfigürasyonları
2. Bölüm kendi yazdığımız bundle veya uygulama konfigürasyonları.
Tabi burda başlık atmak kolay da ayrıntıda işin içyüzü hiçte öyle değil..

Symfony2 de beni ençok şaşırtan konfigürayonların (Kernel,autoload,config gibi dosyaların) elle düzenleniyor olması... Önceki sürümlerinde bu şekilde olması kabule dilebilir.
Fakat şunu kabul etmek lazımki bir ofis içerisinde Symfony geliştiriclerle çalışmayan insanların sadece referans dökümanı verielrek bişeyler yapmasını beklemek kadar zorlayıcı bir tutum olamaz.

Mutlak bir arabirim olmalı, Uygulama,Bundle vs. ayarları buradan yapılabilmeli.

Bunların bi kısmının yerine getirilebildiği Console denilen bir arabirim ile birçok şey yapmak mümkün. Evet sanırım buradan başlayabiliriz...

Console :
Şimdi size anlamsız gelebilecek, ilk bakıştada çok yabancılık çekeceğinizi düşündüğüm konsole ekranının bir kısmını buraya yapıştırarak konuya başlayabilrim. Bi yerden girmek lazım.
Öncelikle konsol kullanabilmek için (windows kullandığınızı varsayıyorum ) php.exe path tanımları içinde yer alması gerekiyor.

Symfony klasörünün içerinde php app/console komutu girildiğinde karşınıza versiyon bilgileri ve komutları listeleyen ekran gelicek.

!!! Bu konuları daha düzenli yazabilmek için bi yol bulmak lazım... Blogger dan nefret ediyorum.. Kod yazmak ve renklendirmek konusunda hiç iyi değil :(

bi sonraki yazıda görüşmek üzere... Umarım birilerinin işine yarar...

16 Aralık 2011 Cuma

PHP ve Framework üzerine - Symfony 2, 3/...

Bu yazılar Symfony2 sitesindeki dökümantasyona bağlı olarak seyredecektir...

Haydi başlayalım ,,,,, nerdenmi tabiki kurulumdan ;

ilk olarka kullandığınız ortama bağlı symfony2 paketini indirmekle başlayabilirsiniz...
Vendorları içeren paketi indirerek web sunucunuzun root klasörüne Symfony olarak
paketimizi açtığımızda

http://localhost/Symfony/web/config.php adresinden configürasyon sayfasına ulaşabilirsiniz.

Configure your Symfony Application online> seçeneği ile interaktif olarak veritabanı parameterelerini ve güvenlik tuzunu düzenleyebilirsiniz...

Ayrıca Sayfaki notta iletildiği üzere bu yapılan düzenlemeler app/config/parameters.ini dosyası üzerine kaydedilmekte, istenirse ellede düzenlenebilmekte, yada değiştirilebilmektedir.

Dosyanın içeriği aşağıdaki gibi... ne işe yaradıkları başlıklarından da anlaşılabilir.

[parameters]
database_driver="pdo_mysql"
database_host="localhost"
database_port=""
database_name="symfony"
database_user="root"
database_password=""
mailer_transport="smtp"
mailer_host="localhost"
mailer_user=""
mailer_password=""
locale="en"
secret="88a23b5ffabfa4d17cda6a107293dbac4"

NOT : Genel olarak php framework veya diğer php uygulamalarında güvenlik için php doyalarımızın mümkün olduğunca azı web yoluyla ulaşılabilir olmalıdır. .htaccess dosyaları apache sunucularda bu işlevi de yerine getirmekte. Çoğunlukla web den ulaşılan klasörler yerine php uygulama dosyaları www klasörlerinin dışında bir yere atılmaktadır.
Symfony2 de ise web isimli klasör dışındaki alanlar güvenli bölgedir ve erişlemez durumda bulunmakta. Böylelikle güvenlik zaafı en aza indirilmeye çalışılmaktadır. Tabi herzaman kullanıcı faktörü ve yazılımcı faktörü işin içinde bulunuyor..

kurulum işlemi kısaca bu kadar...
Sonraki yazıda Uygulama, Environments, Bundle gibi kavramlar üzerinde çalışıyor olacağım.
Mümkün olduğu kadar paylaşmaya çalışacağım ..

PHP ve Framework üzerine , Yii Framework - CakePhp Framework - CodeIgniter Framework - Symfony 2 - 2/....

Testlerim sonunda aslında bana en uygun olanın daha doğrusu ihtiyaçlarımıza en uygun olanın Symfony olduğunu farkettim.
Sebep ;
.net çalışmış birisi olarak gerçekten Symfony'i hazırlayanlara hayranlık duymamak elde değil.... Application, Environmentler, Bundle ..... Hepsinin karşılığı var , gerek javada gerekse .net te
yani object orient mimarisinin ve php yalınlığının tüm nimetlerini kullanmaya çalışmış ve çok emek vermişler.

Bundan sonraki paylaşımlarımda Symfony 2... sürümü ile ilgili yazılar yazmaya çalışacağım. 1.4 sürümü artık son destek aşamasına gelmiş ve bi süre sonra desteği geliştirmesi sonlandırılacağı için (http://www.symfony-project.org/installation) bu sürümü tercih ediyorum. Halbuki 1.4 karşılığı olarak birçok döküman ve kaynak bulmak ki en zengini kendi sitelerinde mevcut...
Zaman varsa, Risk almak herzaman iyidir...

Birsonraki yazıda ilk symfony adımları ile işimize başlayabiriliz...

Bu arada php ve bu tarz framework ile çalışacaksanız , (Özellikle yeni başlayanlar için)

Zend, ACL, ITL, PEAR vb. Apache ve php tabanlı geliştirilmiş eklentileri,

Ayrıca Windows ta çalışacaksanız,
Xamp Wamp Mamp gibi bir apache mysql çalıştırabilen uygulamayı yada
IIS üzerinde php kurmayı denemenizi
sonra bu framework üzerinde çalışmanızı öneririm.

Özellikle , ben şuanki özel durumumdan dolayı yapamıyorum fakat, sanal bir Linux kurup üzerinde gerçek bir web ve mail sunucusu, mysql çalıştırmak, gerçek ortamla paralel işler yapmak hem linux shel öğremenizi, hemde consol ile çalışmanızı sağlayacak, cron job gibi zamanlanmış görevleri test edebilmenize imkan tanıyacaktır.


görüşmek üzere
(tabi okuyan birileri varsa ki bu kadar blogun arasında bu yazı 1 kaç yıl sonra okunacaktır bundan da eminim :) )

14 Aralık 2011 Çarşamba

PHP ve Framework üzerine , Yii Framework - CakePhp Framework - CodeIgniter Framework - Symfony 2

Merhaba,


Bir arkadaşımın php ile yapalım bak onda da frameworkler var. demesi üzerine hazırlayacağımız siteler için frameworkleri incelemeye başladık. Hay incelemez olaydım da diyemiyorum çünkü oldukça verimli bir hafta oldu.

Google'a sordum php frameworkler neler.. Oda bana dediki, bak kardeş şöyle bi liste var
burada özelliklerine göre framework kıyaslamalarıda var bi gözat dedi. Adres : http://www.phpframeworks.com/

İncelediklerim sırası ile
- Yii Framework
- CakePhp Framework
- CodeIgniter Framework
- Symfony 2

Tabi incelemeye başlamadan önce en eskilerden olan symfony framework sitesini inceledim ... aşıır karmaşık geldiği için :) geri adım atmak zamanıdır diyerek plana sadık kaldım... Basit, hızlı kod yazılabilen, bir framework arayışı içindeyiz...

Yii Framework :
İlk olarak hemen Yii framwork indirip
Dökümanlarını kurcalamaya başladım.Ve okuduklarım üzerine Xamp üzerinde kurulum yaptım.
Sonra dökümanları kurcalayarak, gii isminde kod oluşturulabilmesini sağlayan aracı ile veritabanında hazırladığım tablolar için MVC konseptine uygun sayfalar oluşturulmasını sağladım.
SORUN : Hala many-to-many ilişkileri otomatik olarak kullandırtamıyorlar. Php de iyiyseniz bi şekilde aşılabilir fakat benim ihtiyacım olan şey kolaylıkla bu sorunları aşabilen bir yapı olduğundan bir süre inceledikten sonra vazgeçmek oldu ve CakePHP yi denemek üzere Yii ile vedalaştım....

CakePhp Framework :
Aynı şekilde kaynak koldarı indirip , dökümanlardaki anlatıma göre kurulumları düzenledim. Test için sayfalar yaptım Yii ile aynı şekilde kod hazırlamak üzere console kullanımını öğrenerek test etmeye başladım. Tıpkı yii de olduğu gibi karmaşık ilişkili tablolar ile çalışırken ki genelde bu yapılara bol bol ihtiyaç duyacağız.... işlerin pekte yolunda gitmediğini farkettim... Hata olarak ısrar ettim ve sayfalar dolusu döküman ebook inceledim ve vazgeçmem gerektiğini anlayarak bir parça kek alıp yoluma devam etme kararı aldım...

Devamı sonra.... Symfony 2 yi test etmem gerekiyor... Bu kadar ara yeter... ;)

4 Ağustos 2010 Çarşamba

Bir tezin kabulü için, eski genel kabul görmüş tezlere dayandırılmasını beklemek anlamsızdır.

Günümüzde bu beklenti içinde olmak ve kuramlara, tezlere bu yaklaşım tarzıyla bakmak gelenekselciliktir ve dolayısıyla yeni kavramlara kısıtlı bakıldığı için eleştiriyi geçersiz kılar.

Basitçe
bağnazlık; hem bu eleştiriyi kabul etmek, hemde görmezden gelmektir.


KANPINAR

15 Temmuz 2010 Perşembe

Mojo + ASP .net 4.0 + JQuery gel vatandaş geeeel...

yükleme işleminde başarılı olduğunuzu umarak önce mojonun içeriğinden bahstmek istiyorum...

Kaynak kodları incelersek ;

mojoPortal.Web.yyy projesi web sitesi içeriği

mojoPortal.Business
mojoPortal.Data.xxx

mojoPortal.Features.Business
mojoPortal.Features.Data.xxx
mojoPortal.Features.UI.yyy

projelerini göreceğiz.
yyy olan kısımlar 2.0 dan sonrası için net35
xxx olan kısımlarda kullandığınız veritabanına göre isim almaktadır.

Genel olarak yapı bu çekilde.
mojoPortal.Features hali hazırda kullanılabilir olan özellikleri kapsayan projeler ntiers mantığıyla
veritabanı katmanı bussiness ve kullanıcı arabirimi olarak üç bölümden oluşuyor.
Hazırda gelen moduller/özellikler ise;
BingMap
Blog
ContactForm
EventCalendar
FeedManager
FlashModule
Flickr
FolderGallery
Forums
GoogleMap
GoogleTranslate
HtmlInclude
IFrame
ImageGallery
LinkModule
LiveMessenger
Poll
Survey
Twitter
XmlXsl

şeklinde sıralanmaktadır.
İzimleriyle kendini belli eden bu özellikler sayfalarımıza eklenebilmektedir.








14 Temmuz 2010 Çarşamba

Mojo + ASP .net 4.0 + JQuery gel vatandaş geeeel...

Merhaba
Açılış biraz garip oldu ama ne ararsanız var geçektende...
Son haftalarda Mojo yu incelerken çok değşik bakış açıları keşfetme şansım oldu deneyimlerimi daha önce bahsettiğim.net 4.0 (gerçekten yeni özellikler içeriyor, yeri geldikçe değiniriz) paylaşmak istedim.

1
mojoPortal web sitesi : http://www.mojoportal.com/
kaynak kodları ve derlenmiş içerik için : http://mojoportal.codeplex.com/

Benim tavsiyem Visual Studio 2010 üzerinde kaynak kodlarla çalışmanız ama yavaş bir bilglisayar üzerinde çalışacaksanız hazırlığınızı ayrı bir projede yapmak build işlemlerindeki zaman kaybından kurtarmanızı sağlayacaktır.

Joe Audette ki son 6-7 senesini mojoya ayırmış yememiş içmemiş bir CMS sistemi ortaya çıkartmıştır, ilahımızdır ve forumlardan takip ettiğim kadarı ile oldukçada yardım severdir kendisi ; son versiyon kaynak kodlar dururken neden eski sürümlerle çalışasınız. SVN kullanın diye tavsiye ediyor. Bencede bunu yapmak oldukça mantıklı.

Bunun için TortoiseHg en kolayından çözüm sunuyor diye tarif ediyorlar.


TortoiseHg adresi : http://tortoisehg.bitbucket.org/download/index.html

buradan son versiyonunu indirip kurduktan sonra gelelim mojoPortal ın kaynak kodlarını indirmeye.
2-
http://www.mojoportal.com/getting-the-code-with-tortoisehg.aspx adresindede izah edildiği üzere svn kaynağından dosyalrı bir klasöre indirip uygun bir uygun olan solution dosyasını açıyoruz.

Tabiki veritabanı işlemlerinide bu arada halletmemiz gerekiyor. Ben Sql Express 2005 üzerinde mojosvn isimli bir veritabanı oluşturdum ve sa kullanıcısına bir şifre atayarak web.config dosyası içerisindeki bir düzine ( faydalı bişey her türlü veritabanı deteği var) connection string içerisinde SQL Server için olanı gerektiği gibi düzenleyerek işlemleri tamamladım. burada unutulmaması gereken
a- Veritabanı oluştur ve owner ata
b- Kullanıcılara giderek yeni veritabanı için yetkilendirme yap. dbreader,writer,owner ext.

3- gelelim teste....

Hiçbir değişiklik yapmadan bi görelim bakalım diyorsanız ki sanırım ilk denemeler böyle oluyor.
IIS kullanmak en kolay yöntem gibi... IIS manager vasıtası ile default website içerisinde yeni bir sanal klasör oluşturup hedef olarak svnden indirdiğimi klasörü gösteriyor ve browserımızdan
localhost/vDirectoryName i direrek görüntüleyebiliyoruz.

şimdilik sanırım bu kadar yeterli...
Biraz inceledikten sonra çok hoşunuza gideceğine eminim.
Bir süre önceki versiyonları biraz karmaşık olsada içerdiği kendi kontrolleri jquery desteği sayesinde bende ilerisi için ümit vaad eden mojoPortal biraz daha ilgi görürse patlama yapabilir.

görüşmek üzere...
soru ve görüşler için her zamanki gibi
kanpinar@hotmail.com